I've attached a new screenie at bottom, in 40 columns, showing off what got done.
PotatoText01.ZIP
This whole VCS on Propeller thing is escalating. More on another thread later, but that's the reason for punting on this right now. Text only is excellent, and useful. Mouse pointer can come later. The hooks and core graphics capability is there now.
I got stuck on this and it took way longer then I thought. Got it done though! 80 characters in color on composite video is a big stretch. Only some color combinations work well, but there is the S-video option. When I get my next capture device in, I'm going to run the S-video and check it out. Hoping it looks really good.
Eric Ball did a very nice starter Propeller video signal template. I have struggled and continue to struggle with getting the signal characteristics I want, but there is more progress than not, so I'm feeling good about that.
This driver has an 80x25 text display memory, uses an Atari font in RAM, and has a word per character for color definition. All in all, a nice memory foot print for this kind of thing, and lots of color choices. Was going to go with just a byte and use a palette, but doing that kind of thing is a lot more expensive than I realized. So, the lesson learned on Propeller is don't go for color indirection. It's too slow for useful resolutions, or takes too many COGs. One or the other will occur. (unless I'm missing something, who knows?)
The cool thing about this driver is that most of the functions are live and can be changed after the driver is launched. Acts just like a graphics chip does and that's just fun. There are a few more things to add to the live functionality, but no worries there. Easy to do.
Display modes are 16, 32, 40, 64 and 80 x 25 text display, with 256 character re-definable font in RAM. Signal characteristics are:
"Scan Doubled" interlaced 200 line vertical display. This really helps with clarity on the color. It was surprising to me how much impact doing this had.
Non-interlaced 200 line display.
Color burst on, or off for getting the most out of a display device. If you don't need color, or maybe just need intensities, this is the way to go.
Two color per screen mode for speed and smaller run time memory foot print.
Interlaced video screens shown. 40, 64 and 80 columns.
Here's the code archive. Viewable as text, or with the downloadable IDE.
The last bit of functionality to go into this thing is a mouse pointer object. I did the video using 4 color mode on the Propeller video generator hardware. Text only uses two, leaving two for the mouse to use anywhere on the screen. So, that will end up working just like a sprite does. The font is converted from a 1 bit per pixel to a 2 bit per pixel bit stream on the fly, using a 256 entry table. %01001111 = 01000001010101 Color 00 = background, color 01 = foreground for text. The other two colors will be used by the mouse pointer and will be consistent across the entire screen.
It's really fun to play with video displays like this. Almost like building one's own graphics chips.
One other thing is the Atari font and readability. I tried some others, and they display way more artifacts than the Atari one does. That kind of thick, two pixels almost anywhere style really plays out well on higher resolution TV displays.
I just got done uploading the other screen captures. One is two color mode, blue on white, showing off the Atari font at high character densities. The other is a color screen, with the color burst turned off. The final is a monochrome screen, with no color burst. Very high quality.
- Read more...
- 0 comments
- 1,606 views