CGIA
The goal for X65 display capabilities is "C64-like but moar!"
The unique feel of C64 graphics is due to its restrictions, such as:
- fixed color palette
- limited number of colors in color-cell
TED builds on and streamlines VIC-II in a neat set of text/graphics modes with extended color palette. It is capable of displaying pictures like the following:
FLI modes above require careful beam-chasing. This can be achieved in hardware - there is a purpose-built chip of the era: ANTIC. It's display list is responsible for creating each raster/character line on screen without CPU intervention.
The idea is to combine ANTIC's screen generation with TED's modes interpretation and color palette - aptly named CGIA, after an unreleased Atari chip combining ANTIC+GTIA chips in one integrated circuit.
Connecting BBS and FujiNet requires ANSI-capable screen with 80 columns.
ANTIC's double/full-width characters are replaced by full/half-width characters, giving 40x25 and 80x25 text mode screen. (50 rows modes can be achieved using interlace trick with custom display lists)
TED's character attributes are enough to have ANSI-like experience. Exception: flashing-bit - full screen of flashing characters is not useful but annoying, so hardware support for flashing characters is not useful. This bit can have more use as the C64-like hi-res switch.
Due to how composite video signal is constructed in VIC-II/TED, there are no full saturation colors (only full brightness color). This affects text mode UI, as there are no full red/green colors used for error/success signalling. We have 8 black colors though. There is a control bit, that turns 6 of them into full saturation colors.
0,0 | 0,1 | 0,2 | 0,3 | 0,4 | 0,5 | 0,6 | 0,7 |
---|---|---|---|---|---|---|---|
#000 |
#f00 |
#ff0 |
#0f0 |
#0ff |
#00f |
#f0f |
#000 |
40x25 text mode characters are 8x8px squares. In multi-color text mode they work just fine as tiles.
With ANTIC's support for changing screen memory address in each display list instruction (LMS Modifier) and fine horizontal/vertical scrolling it should be enough to realize tiled playfield with ease.
Yes.
Details: TBD