, ,

The prototype of the video board is working great. However, during some tests I found out, that there may be an easy way to implement a simple graphics mode in addition to normal text mode for which the module was designed. The original version of the macro used in AVR source code keeps displaying 8-bit wide chunks of ASCII characters stored in FLASH memory. The contents of RAM decides which character is to be displayed at current position (bytes in RAM are essentialy indexes for bitmap font tables in FLASH). If we use the contents of RAM without decoding it trough lookup tables in FLASH but just displaying them directly on the screen, we`ll get a simple way of displaying bitmap graphics ! Of course the AVR code has to be upgraded with some new routines, but it wouldn`t be too hard, as new code will require just some minor changes and timming adjustments. First of all, there should be some switching mechanism implemented in the Atmega that will toggle it`s operation between text and graphics. In the graphics mode it will differently interpret the input data from Z80 and place it in RAM. The display routines should be faster, as there will be no FLASH access at all. I`ll probably use the video RAM space over the screen buffer for implementing communication between AVR and Z80, as mentoined in earlier posts. The 2K SRAM built into Atmega328 will theoretically allow to use graphics resolution of 160×100 pixels. Seems not very much, but you could see some example uses of a special CGA mode in early PCs. It is exactly 160×100 (with some colors too, but that`s not the point ..), check out how nice it looks !