![]() |
The ASICCRT manages the complete CRT signal generation. Out of an external 16 MHz clock the dot-, row- and frame clocks are generated. Out of them the CRT synchronization signals and control signals for VRAM are built up. Accesses of the CPU to the VRAM are synchronized via the RAMFREE signal, so no interferences are visible on the screen. For the frame generation the VRAM data is buffered and forwarded to the character generation ROM. The output data of the character generation ROM is converted by a shift register into a serial data stream. This data stream is added to the synchronization signals and the the result is the CRT video signal. The ASICCRT supports monochrome text presentation of 80 x 25 characters. The single characters are built of a matrix of 8 x 10 dots. First I planned to integrate a switchable graphical mode of 640 x 250 dots, but this must be ommitted because of a resource shortage in the used CPLD. Instead I added support for a switchable 7 or 8 bit character set. When using the 7 bit character set, the most significant bit can be used for highlighted character representation. If the bit is set, the respective character is displayed highlighted. The VRAM is separated from the system data bus by a 74ACT245. The CPU must write the screen data into the VRAM. This is inserted into the address space starting at $FC0000. Because the ASICCRT for resource reasons doesn’t contain a separate address counter for the VRAM, the addressng of single screen rows is somewhat strange: |
|
![]() |
The CPU can access the VRAM for reading and writing. Besides the ASICCRT generates a cursor. The CPU can set the cursor position through an access to the VRAM address plus $8000. To position the cursor in row 2 under character 2 the CPU must access address $FC8081 ($FC0081 plus $8000). The access can be reading or writing. The equivalent schematic of the ASICCRT can be downloaded here. The interim character generator is available here. The character generator will be changed within the context of the further development, especially regarding the German character set. |