To create the display mode on the A8s it alternates between two different GTIA graphics modes to get the colours or the shades. To simulate this on the 7800 two palettes of 12 colours each are used. The first palette contains shades of grey and the second palette contains a selection of the darkest colours. The end result is 13 shades of 13 colours or a total of 169 colours in MARIA 160B mode. The base colours chosen exist in both the PAL and NTSC palettes. This means that games will only need one set of image data and a detection routine to fill the palette accordingly. The downside is that there are some duplicates of red in PAL. However, I think that's an acceptable loss given the ROM saving.
I'm going to call this new mode on the 7800 "160C" which stands for "160 Colour". It also follows on from the original MARIA display names of 160A and 160B. Boring I know
The vertical resolution of the image is fixed by MARIA. MARIA allows a Display List List (DLL) to cross one page boundary. This means the maximum space allocated to the DLL is 512 bytes (when correctly aligned). Each DLL entry is 3 bytes in size so there are 170 zone entries (of variable size) available. A PAL display needs 4 zone entries at the top and bottom of the screen to centre the display, which leaves 162 zone entries for a video image. Another 2 zone entries are expanded to 16 pixels which leaves the final image height at 160 pixels. Because the graphics mode needs two DLL entries per "line" the final height comes out at 80 pixels.
The horizontal resolution of the images is 126 pixels for this demo. However given sufficient tweaking or more RAM available in the system it would be possible to use the full width of 160 pixels.
There are no emulator screenshots because the emulators don't do it justice (well... er... they can't actually handle it correctly). The current 7800 emulators don't know anything about blending consecutive TV lines so the images look very poor. However these are the bitmap images passed into my conversion tool :-
The demo displays all 6 images first and then it moves into a mode where the images are displayed a second time but the zone DL pointers in the DLL entries for the chroma/luma are swapped on every frame. This removes the thin black line but flickers on PAL.
Here's the binary :-
demox.bin 128K
119 downloadsI'm including the A78 file but it doesn't do the graphics mode justice
demox.a78 128.13K
109 downloadsYou'll need the following for use on a CC2 :-
78SC_POK 78BIOS
As mentioned in this thread it doesn't actually use POKEY it was just a cut and paste to create an entry in my CC2 menu file.
Many thanks to sh3-rg and nonner242 for their assistance in getting this project done. Special thanks to Crazyace for planting the seed too
The demo works fine in PAL and NTSC.
I'm also going to experiment with 169 shades of grey and the 320B modes when I get some time.














