Graphical Operating System for the Propeller
Dr_Acula
Posts: 5,484
This is some very preliminary work from the full color tile thread.
Rather than describe this too much, the Youtube video is here http://www.youtube.com/watch?v=0NTXOG_HfVY
This is a hybrid of PotatoDOS (The potatohead operating system) and Kye's video driver code, with active input from a number of others including Ariba (a smaller video driver).
My apologies for the shaky video. Some of the photos on the photo album got me a little excited!
Anyway, technical details. This is an operating system that has small icons and larger icons. Hit the left or right arrow keys (or soon to be, mouse) and the icons scroll left or right. The second icon is enlarged. Hit Enter and that runs the appropriate program.
Right now, there are three programs on the SD card - CP/M (booring!), Kyedos (very useful) and a photo album - photo.bin
The video shows the photo album being selected. The key here is that the operating system program is using virtually the entire hub ram for the video buffer. Hence the code itself is extremely simple. But what happens when you select an icon is that it runs another binary. So it does not matter about trying to fit lots of code into the operating system. Keep the OS simple, and put the clever things in the programs you run.
The photo album again uses the arrow keys. When it gets to the end, it does a reboot and goes back to the operating system.
You can run Kyedos, and do some text based work like transfer files. Or run CP/M and do some word processing.
Max screen resolution for photos is 160x120 and this is thanks to some amazing code that Kye wrote in the last couple of days. That is 19k, and with the keyboard and video driver, we have 556 longs free.
Behind the scenes, Potatohead http://forums.parallax.com/showthread.php?t=127123 is working on two things - firstly, getting this working on a TV screen, and secondly, working on tiles where most of the screen is black. What this means is that icons would be smaller, less blocky and still it would all fit in the propeller memory.
On a VGA screen the whole thing does look rather blocky and is best viewed from a distance. There is potential to shrink the pixel size and put a much smaller picture in the middle of the screen and it would look better. However, TV is where this is going to really shine, as there are many TV displays that are 5-7" across that would end up the perfect resolution at 160x120.
And of course, the code is slow! Many things can be done to fix this, including reading in lines at a time rather than individual bytes, and maybe even moving things to PASM.
My graphic art skills are not that great - one thing I am finding is that taking real pictures and shrinking them to the 64 propeller colors does not look as good as taking cartoons and shrinking them. So for icons, cartoons may be a better source of pictures.
If people are interested in pushing this further, I'll post code etc in the tile driver thread.
Ain't the propeller an amazing chip?!
Rather than describe this too much, the Youtube video is here http://www.youtube.com/watch?v=0NTXOG_HfVY
This is a hybrid of PotatoDOS (The potatohead operating system) and Kye's video driver code, with active input from a number of others including Ariba (a smaller video driver).
My apologies for the shaky video. Some of the photos on the photo album got me a little excited!
Anyway, technical details. This is an operating system that has small icons and larger icons. Hit the left or right arrow keys (or soon to be, mouse) and the icons scroll left or right. The second icon is enlarged. Hit Enter and that runs the appropriate program.
Right now, there are three programs on the SD card - CP/M (booring!), Kyedos (very useful) and a photo album - photo.bin
The video shows the photo album being selected. The key here is that the operating system program is using virtually the entire hub ram for the video buffer. Hence the code itself is extremely simple. But what happens when you select an icon is that it runs another binary. So it does not matter about trying to fit lots of code into the operating system. Keep the OS simple, and put the clever things in the programs you run.
The photo album again uses the arrow keys. When it gets to the end, it does a reboot and goes back to the operating system.
You can run Kyedos, and do some text based work like transfer files. Or run CP/M and do some word processing.
Max screen resolution for photos is 160x120 and this is thanks to some amazing code that Kye wrote in the last couple of days. That is 19k, and with the keyboard and video driver, we have 556 longs free.
Behind the scenes, Potatohead http://forums.parallax.com/showthread.php?t=127123 is working on two things - firstly, getting this working on a TV screen, and secondly, working on tiles where most of the screen is black. What this means is that icons would be smaller, less blocky and still it would all fit in the propeller memory.
On a VGA screen the whole thing does look rather blocky and is best viewed from a distance. There is potential to shrink the pixel size and put a much smaller picture in the middle of the screen and it would look better. However, TV is where this is going to really shine, as there are many TV displays that are 5-7" across that would end up the perfect resolution at 160x120.
And of course, the code is slow! Many things can be done to fix this, including reading in lines at a time rather than individual bytes, and maybe even moving things to PASM.
My graphic art skills are not that great - one thing I am finding is that taking real pictures and shrinking them to the 64 propeller colors does not look as good as taking cartoons and shrinking them. So for icons, cartoons may be a better source of pictures.
If people are interested in pushing this further, I'll post code etc in the tile driver thread.
Ain't the propeller an amazing chip?!
Comments
Here in the UK they seem to be about £50, so that will be about $20 to the rest of the Universe.
Looks like an Android clone for the Prop. Who will make the first Prop based mobile phone? All wee need is a GSM module.
Just think how great it will be on the PropII, which will easily do 320x240 bitmapped