4-bit GUI (testing) Now with WS2812B RGB LED test example
Rayman
Posts: 14,768
Here's a look at what a 4-bit GUI might look like... Uses Prop2 V13.
I think this font looks OK, but maybe I'll try others...
Driver code comes from Chip and Ozpropdev mostly, but some of the stuff is mine.
Supports 4 different resolutions (I think). Screenshot is SVGA (800x600)
Update: Now supports usb mouse with cursor and drawing, see posts later on below.
Update2: Now has a mostly working paint demo
Update3: GuiTest#6 now has the basic GUI elements needed for simple application including variable fonts, buttons, check boxes, option buttons and group boxes.
Update4: GuiTest#8 hopefully has everything needed for basic app. Switched palette to named colors in HTML3.2
I think this font looks OK, but maybe I'll try others...
Driver code comes from Chip and Ozpropdev mostly, but some of the stuff is mine.
Supports 4 different resolutions (I think). Screenshot is SVGA (800x600)
Update: Now supports usb mouse with cursor and drawing, see posts later on below.
Update2: Now has a mostly working paint demo
Update3: GuiTest#6 now has the basic GUI elements needed for simple application including variable fonts, buttons, check boxes, option buttons and group boxes.
Update4: GuiTest#8 hopefully has everything needed for basic app. Switched palette to named colors in HTML3.2
Comments
SymbOS
-Is a full multi-tasking OS (Z80) with networking and windowed GUI
-Runs on Amstrad CPC and MSX
-Very low memory requirements (as little as 128k)
-extensive documentation (some stuff may be in German)
-still actively being developed
http://www.symbos.de/
GOS for Atari 8bit
-a full multi-tasking OS (6502) with a windowed GUI
-inspired by SymbOS
-Uses many of the techniques used by SymbOS to run fast and small
-Active development
http://atari8.co.uk/gui/
If something like either of these can be built on the P2 then we will have something profoundly new !!
-Modern hardware (Yes, it is a microcontroller but it is modern ;-)
-A functional OS and GUI that is NOT Linux
-A tiny, complete system that maker's can learn quickly !!
Maybe this should be called Nano Computing ;-)
That SymbOS screenshots with shades of lime or shades of orange looks interesting...
BTW I had to cut/paste ProgoCoFont.txt into ypur code as there is no ProgoCo.dat file in the zip file.
Ok, I think it now includes the .dat file
just kidding:)
https://androidarts.com/palette/16pal.htm
Have to change the names though...
Also, it looks like the higher the dot clock, the better it looks.
Maybe can go 113 MHz with real chip and do even better.
Also added that other palette to see how it looks...
Changed from nightblue to white and now all the 1024x768 modes work.
My fill rectangle routine is using wrbyte for now, but wondering if paying a price for that simplicity...
They are quite smart, once you give them a signal they can work with, but it does make 'small steps' testing harder.
Think this palette is going to work OK.
Another option would be to use the palette the MS Paint uses to make it simpler to create BMP resources...
Or turn people onto paint.net. I had missed that one, and now I use it constantly.
Only had to move cogs from 0&1 to 6&7 (because VGA needs to be on cog 0).
It's amazing that there was not a single variable overlap.
How are you guys interfacing USB?
Think I just need to do some integration and limiting to get x and y position values ...
You can even paint black by pushing left button and white with right button.
I should synchronize draws with vertical refresh, but think this is OK for now...
Good progress !
Can you modify the heading to include USB, and post a moving progress summary in the first post ?
eg I think the tested is
VGA (640x480)
1024x768
FS USB Mouse -> Pixel X.Y.Toggle
Needs how many COGS ( c0+c6+c7) ?
Close to having both keyboard and mouse at same time with two instances of USB.
But, only the last thing plugged in works now.
I think it's all the hub variables at the very end of the USB code.
That might be a problem, have to figure out how to deal with that...
Phase two was to get the host multi-instance friendly, but I haven't had a chance to get to it yet...
Do you have a 2.4GHz wireless keyboard/mouse combo? If both support the boot protocol, the demo should do both at the same time with a single host. I have a Microsoft Wireless 5000 combo and this one I got for $20 from WalMart that I use for testing:
Onn Wireless Keyboard and Mouse
Both use a full-speed dongle, and the mouse works in the GUI with the mouse & keyboard output going to the serial terminal.
Great work!
Maybe I'll just live with mouse only for now.
Or, I can unplug mouse and plug in keyboard, if needed.
Good enough for now...
But now, the code looks inefficient. There must be a better way to compare x and y with old values and see if either one has changed?