View Full Version : Awsome New VGA Terminal!
I just rolled out this quick new terminal today that demostrates the power of my 2 and 4 color bitmap drivers. They aren't very fast at printing characters since spin has to draw every pixel, however, using the 2 color driver at 640x240 resolution you can get 80x15 characters on screen that are actually readable!!! Using only one cog!
Additionally everything displays cleanly so there are no tearing pixels, etc.
Try it out!
Also if you play with the resolution and the character default scaling constants in the drivers you can fit more stuff on screen. However the readablity becomesˇhorrible if you go to small. You can also make stuff bigger to fitˇless on screen.
I'll be uploading everything here to the obex too.
12-17-2009, 11:56 AM
Can you explain that a bit more as it sounds very interesting.
Is it a spin or pasm driver?
When you say characters that already exists but you are using bitmaps instead of characters or something?
Ballpark 640x240=153,000 bits so clearly that won't fit so what are the compromises - bitmap tiles or something?
There's a PASM driver which runs the display outputting 640x480 video. The pasm driver is pretty much the barebones version of what you would need to do bitmapped vga. (The driver also is optimized to be modded for doing other things during the vertical sync time.)
That said, the driver just displays an array of longs where each bit is a pixel and there are two colors for the entire screen. Or for the four color version every two bits is one pixel and there are four colors fot the whole screen.
The driver can take alot of different display resolutions since I have it implementing scaling. There are 144 to 192 possible resolutions between the 2 and 4 color versions.
Ontop of all this is some spin code for plotting pixels on the screen. Then ontop of that is some spin code for ploting characters on screen using the internal ROM characters. The function that does that also has the ability to scale the characters down so that they are much smaller.
Then the new stuff which I just made are the character printing functions which treat the whole screen as a terminal as allow you to print characters to it.
Also, 640x240 = 153,600 / 32 = 4,800 Longs =ˇ60% of system memory.ˇ(A smaller resolution will take up less memory)
Post Edited (Kye) : 12/17/2009 5:42:47 AM GMT
Don't get this driver confused with being efficent at using your memory. Since its a bitmapped driver however it can fit more characters on screen than regular tile drivers that use only one cog since it can scale the characters being displayed.
Also since its a bitmap you can clear the terminal at any time and draw lines and stuff. However you still will be limited to 2 or 4 colors for the whole screen.