Skip to content
Tomasz Sterna edited this page Aug 1, 2023 · 3 revisions

Color Graphic Interface Adaptor

Graphics

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:

Carrion's 121 Colors Frenzy-Pic-Kurosawa+4

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.

Text modes

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.

Full saturation colors

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

Tiled playfields

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.

Sprites

Yes.

Details: TBD