MARIAdigitizer (for Atari 7800) - c0pperdragon/LumaCode GitHub Wiki

The MARIAdigitizer is a small board to be used in the Atari 7800 console to create a LumaCode video signal by sniffing the relevant signals inside the machine and re-creating the intended video output.

Mod kit

The kit consists of the board that sits under the MARIA chip, and a cable with a detachable RCA jack.

kit

Installation

After removing the MARIA chip, insert the mod board in its socket and put the MARIA on top (look at the notch to get the orientation right).

Use the RCA jack to bring the lumacode signal to a convient location either on the case or maybe in the spot where the RF modulator normally sits, reusing the holes in the case.

For a complete solution audio also needs to be taken care of. You will need to use your own judgement on how to do this as this is not in the scope of this instructions. There are some YouTube tutorials available as well as commercial products.

Compatiblity with 2600 cartridges

The MARIAdigitizer not only monitors all signals that are sent to the MARIA chip, but also all signals for the TIA. It will detect the mode in which the machine is running (7800 mode or 2600 mode) and replicates the internal behaviour of the relevant video chip. The lumacode signal is then either 2600 compatible and basically identical to what the TIAdigitizer in an Atari 2600 would generate. Or it has a different format to allow for the higher resolution and color depth of native 7800 games.

Upscaling the lumacode signal

The new output signal is not directly usable with a TV or monitor. You need an upscaler compatible with the Atari 7800 flavor of lumacode to create HDMI. One possibility is the RGBtoHDMI Mono & Lumacode.

Currently the RGBtoHDMI software does not support the 7800 mode out of the box. You need to add a few extra files to the SDcard in the RGBtoHDMI: atari7800_extra_files.zip Copy the content of the archive directly on top of the files of the usual RGBtoHDMI software.

Details on color encoding

The Atari 7800 console can generate a total of 256 colors with a horizontal resolution of 320. The encoding is relatively straight-forward. Every pixel needs 8 bits that are split up in the usual pairs of bits that can be transfered by one voltage sample each. See the general description of lumacode on how this works. To handle the unusually high amount of data necessary for each line while not exceeding the usual sample rate, the encoder makes use of much more than the usually visible horizontal area of the screen. Horizontal sync pulses are extremely narrowed down, so regular TVs may not be able to properly show the raw lumacode signal as a black & white image. A compatible upscaler will be able to cope with that.