[FYI] VGA, 128xH/P, quad cog, per cell colour ("Rainy Day" release)
kuroneko
Posts: 3,623
Not something I particularly wanted to do but as there was at least one request I did it anyway. It offered certain challenges so wasn't a total loss. The usual feature list applies:
References
- per cell colour (foreground and background)
- monochrome mode (when you're short on hub memory)
'' mailbox layout (128xH, full colour) '' '' long[par][0]: screen: [!Z]:addr = 16:16 -> zero (accepted) '' long[par][1]: font: size:[!Z]:addr = 8:8:16 -> zero (accepted) '' long[par][2]: colours: c/a:[!Z]:addr = 1:15:16 -> zero (accepted), optional colour [buffer] '' long[par][3]: frame indicator/sync lock '' '' colour [buffer] format '' '' - (%0--//--0) address (full colour, word array) '' - (%1--//---) colour value (waitvid 2 colour VGA format)And for the indexed version:
'' mailbox layout (128xP, full/indexed colour) '' '' long[par][0]: [!Z]:addr = 16:16 -> zero (accepted) screen buffer [command] '' long[par][1]: size:[!Z]:addr = 8:8:16 -> zero (accepted) font descriptor [parameter] '' long[par][2]: [!Z]:addr = 16:16 -> zero (accepted) cursor location [unused] '' long[par][3]: frame indicator/sync lock '' '' colour [buffer] format '' '' - (%0--//--0) address (full colour, word array) '' - (%1--//---) colour value (waitvid 2 colour VGA format) '' '' background palette format '' '' - %%RGB-RGB-RGB-RGB-, MSB holds index 0 (waitvid 4 colour VGA format)The indexed driver has both 8x8 and 8x12 modes enabled which gives you text resolutions of 128x96 and 128x64 respectively. The 128xH driver is limited to mode 8x12 (128x64). Note that the command interface has changed for the indexed version (due to added cursor support).
References
- [thread=138654]VGA, 100xH/P, dual cog, per cell colour (full/indexed)[/thread]
- [thread=136666]VGA, 50xH, single cog, per cell colour ("Despair and Hope" release)[/thread]
- [thread=136617]Yet another 50 column VGA text driver (single cog)[/thread]
Comments
I don't know why but this driver appears clearer than the 100xH/P one. ie the text appears sharper. Perhaps its the native monitor resolution, or perhaps the higher refresh rate locks on better, or maybe its just having the entire ascii alphabet in neat columns.
regardless, brilliant work...
That's a lot of characters... Does it need 2 bytes for every character (one for character, one for color)?
Are the two color bytes, one for foreground and one for background?
If there were a way to reduce the color bits from 16 to 2 or 3 (4 or 8 possible combinations), you could save a lot of memory...
Is this what the P version will do?