The Graphics ROM (GROM) is an 2048 x 8-bit ROM, GI part number RO-3-9503. The CP1610 sees GROM at addresses $3000-$37FF. The Graphics ROM contains the default character set and is used by the STIC to render characters to the screen as directed by the program. The Graphics ROM also includes decoding logic to allow the Graphics RAM to interface to the STIC.
The GROM actually implements three address decoding modes:
- The CPU-access memory map. GROM is visible at $3000 - $37FF, and GRAM is visible at $3800 - $3FFF
- The display generation memory maps:
- Color Stack mode: GROM is visible at $0000 - $07FF. GRAM is visible at $0800 - $0FFF. Addresses are fully decoded.
- Foreground/Background mode: Same as Color Stack, except address bits 9 and 10 get ignored. Thus, only the first 64 cards of GROM are available. (GRAM only holds 64 cards, so there is no difference there.)
The GROM uses the STIC's VBlank Interrupt to switch to the CPU-access memory map. The CPU's BUSAK signal switches the GROM back to the display-generation memory map. The GROM looks at the BAR' and DWS' signals from the STIC to choose between Color Stack and Foreground/Background decoding. If both of these signals pulse positive together, the GROM switches to Foreground/Background mode until the next interrupt.