GTIAdigitizer (for Atari 8bit) - c0pperdragon/LumaCode GitHub Wiki

The GTIAdigitizer is a small board to be used in Atari 8-bit machines to create a LumaCode video signal by sniffing the relevant signals inside the machine and re-creating the intended video output. IMG_20230629_154819_3

Mod kit

The kit consists of the board that sits under the GTIA chip, and a cable with alligator clips to attach to the existing RCA jack.

Mod kit

Installation

After removing the GTIA chip, insert the mod board in its socket and put the GTIA on top. Atari_1

Use the cable to attach it to the RCA jack of the obsolete RF output port. You will need to first cut the internal connection from the RF modulator to the jack. When directly using the clips for a solderless install, you may have to leave the lid of the RF can open. When you have the tools for soldering, you should directly solder the wires to the jack.

Atari_4

Upscaling the lumacode signal

The new output signal is not directly usable with a TV or monitor. You need a compatible upscaler to create HDMI. One possibility is the RGBtoHDMI with analog input.

Details on color encoding

The Atari 8-bit computers can generate at total 256 colors: 16 hues, each of which can be shown in one of 16 luminosities. This would require a total of 8 bits of information needed for every pixel. But because of the way the colors are generated by the Atari internally, every two consecutive pixels share the same hue. So only a total of 12 bit is needed for every pair of pixels. These 12 bit will be encoded in the LumaCode signal with 6 samples (each transfering 2 bits). Grouping always two samples together (high bits first) to form a 4-bit number, three such numbers encode the data for a pixel pair in the following order: HUE, LUM1, LUM2

Default RGB values used by RGBtoHDMI for PAL

hue lum: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 000000 0d0d0d 191919 262626 343434 434343 535353 626262 6e6e6e 7f7f7f 939393 a6a6a6 b9b9b9 cfcfcf e5e5e5 ffffff
1 330000 400300 4c1000 5a1d00 672a00 763900 864900 96590b a16517 b37628 c6893b d99d4f ecb062 ffc577 ffdc8e fff6a8
2 420000 4f0000 5b0000 690d00 761a08 852917 953926 a54936 b05542 c26653 d57967 e88d7a fba08d ffb5a3 ffccb9 ffe6d3
3 440000 510000 5d0004 6b0812 78151f 87242e 97343e a7444e b24f59 c4616b d7747e ea8791 fd9aa4 ffb0ba ffc6d1 ffe0ea
4 3f002a 4b0036 580043 650050 720c5d 811b6c 912a7c a13a8c ad4698 be57a9 d16bbc e57ecf f891e3 ffa7f8 ffbdff ffd7ff
5 300052 3d005f 4a006b 570079 640b86 731a95 832aa5 933ab5 9e45c0 b057d2 c36ae5 d67df8 e990ff ffa6ff ffbcff ffd6ff
6 1a006e 27007a 330087 410494 4e11a1 5d20b0 6d30c0 7d40d0 884bdc 9a5ded ad70ff c083ff d396ff e9acff ffc2ff ffdcff
7 00006e 00057a 001187 0c1e94 192ca1 283bb0 384bc0 485ad0 5466dc 6578ed 788bff 8b9eff 9fb1ff b4c7ff cbddff e5f7ff
8 000952 00155f 00226b 002f79 033c86 124b95 225ba5 326bb5 3d77c0 4f88d2 629be5 75aff8 88c2ff 9ed7ff b5eeff cfffff
9 00182a 002436 003143 003e50 004b5d 045b6c 146a7c 247a8c 2f8698 4197a9 54abbc 67becf 7ad1e3 90e7f8 a6fdff c0ffff
10 002700 003300 004004 004d12 005a1f 00692e 0e793e 1e894e 2a9559 3ba66b 4eb97e 62cd91 75e0a4 8af5ba a1ffd1 bbffea
11 002b00 003800 004400 005100 005f00 0f6e00 1f7e00 2f8d0b 3b9917 4cab28 5fbe3b 72d14f 86e462 9bfa77 b2ff8e ccffa8
12 002500 003100 003e00 0a4b00 185800 276700 377700 468700 529300 64a40b 77b71e 8acb32 9dde45 b3f35a c9ff71 e3ff8b
13 001900 0d2500 193200 263f00 344c00 435b00 536b00 627b00 6e8700 7f9801 93ab14 a6be27 b9d23b cfe750 e5fe67 ffff81
14 1c0800 281500 352100 422f00 503c00 5f4b00 6e5b00 7e6b00 8a7600 9b880b af9b1e c2ae32 d5c145 ebd75a ffed71 ffff8b
15 330000 400300 4c1000 5a1d00 672a00 763900 864900 96590b a16517 b37628 c6893b d99d4f ecb062 ffc577 ffdc8e fff6a8

Default RGB values used by RGBtoHDMI for NTSC

hue lum: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 000000 0d0d0d 191919 262626 343434 434343 535353 626262 6e6e6e 7f7f7f 939393 a6a6a6 b9b9b9 cfcfcf e5e5e5 ffffff
1 001600 0d2300 192f00 263d00 344a00 435900 536900 627900 6e8400 7f960d 93a920 a6bc34 b9cf47 cfe55c e5fb73 ffff8d
2 1d0500 291200 361e00 432b00 513900 604800 6f5800 7f6700 8b7308 9c8519 b0982d c3ab40 d6be53 ecd469 ffea7f ffff99
3 340000 400000 4d0c00 5a1900 672600 763600 86450f 96551f a2612a b3723c c6864f d99962 edac75 ffc28b ffd8a1 fff2bb
4 3f0000 4c0000 580006 660a13 731721 822630 92363f a2464f ad515b bf636c d27680 e58993 f89ca6 ffb2bc ffc9d2 ffe3ec
5 3d0022 4a002e 56003b 640148 710e55 801d64 902d74 a03d84 ab4890 bd5aa1 d06db4 e380c8 f693db ffa9f0 ffbfff ffd9ff
6 2e004f 3b005c 470068 540076 620d83 711c92 812ca2 903bb2 9c47bd ae59cf c16ce2 d47ff5 e792ff fda8ff ffbeff ffd8ff
7 15006c 220078 2e0085 3b0792 4914a0 5823af 6833be 7743ce 834eda 9560eb a873ff bb86ff ce99ff e4afff fac5ff ffdfff
8 000071 04007e 11078a 1e1598 2b22a5 3a31b4 4a41c4 5a51d4 655cdf 776ef1 8a81ff 9d94ff b0a7ff c6bdff ddd3ff f7edff
9 00005e 000d6b 001977 022685 0f3492 1e43a1 2e53b1 3e63c1 4a6ecc 5b80de 6e93f1 82a6ff 95b9ff aacfff c1e5ff dbffff
10 001237 001e44 002b50 00385d 00466b 0b557a 1a648a 2a7499 3680a5 4791b7 5aa5ca 6eb8dd 81cbf0 96e1ff adf7ff c7ffff
11 002004 002c10 00391d 00462a 005338 036347 127257 228266 2e8e72 3f9f83 53b297 66c6aa 79d9bd 8fefd3 a5ffe9 bfffff
12 002700 003300 004000 004d00 005b04 086a13 187923 288932 34953e 45a650 58ba63 6ccd76 7fe089 94f69f abffb5 c5ffcf
13 002600 003200 003f00 004c00 0c5900 1b6800 2b7800 3b8809 469414 58a526 6bb839 7ecb4c 91df5f a7f475 bdff8c d7ffa5
14 001c00 002900 0c3500 194300 275000 365f00 466f00 557f00 618a00 739c10 86af23 99c236 acd549 c2eb5f d8ff75 f2ff8f
15 110d00 1d1900 2a2600 373300 444000 535000 635f00 736f00 7f7b00 908c11 a39f24 b7b338 cac64b dfdc60 f6f277 ffff91

Installation in the special 800XL SECAM (Rose).

This machine is a very rare french variant of the 800XL which uses the equally rare FGTIA chip. Unfortunately the pinout is very different from the regular GTIA/CTIA, so installation is more involved. You will need to solder the GTIAdigitizer on top of the FGTIA, but in a pretty unusual way. Also take care to identify the FGTIA correctly. It is labeled U20 and sits nearer to the center of the main board than usual.

  1. Cut away the legs 1 - 7 of the GTIAdigitizer (counting always starts at the notch and goes counter-clockwise).
  2. Place the GTIAdigitzer on top of the FGTIA so that it is rotated 180 degrees and its pin 30 sits on top of pin 1 of the FGTIA. That means, it will hang over the left side of the FGTIA by 9 pins. This will bring its pins 30 - 40 in alignment with pins 1 - 11 of the FGTIA. With the exception of pin 31, which is not connected, these pins now already get the correct signals.
  3. On the other side, pins 8 - 11 of the GTIAdigitizer should be on top of FGTIA pins 37 - 40. These pins are not connected in the GTIAdigitizer and are mainly used as mechanical stabilization and to bring signals up for later use.
  4. Solder the aforementioned pins to the FGTIA. Note that pins 1 - 7 of the GTIAdigitizer have been cut away and will not be soldered.
  5. On the top side of the GTIAdigtizer, forward some signals that are brought up from below through an internally unconnected pin. Solder wires between the top holes of these pins:
Signal GTIAdigitizer GTIAdigitizer
GND 11 3
HALT 31 26
FO0 10 29
  1. The remaining signals need to be wired directly from the FGTIA below to the GTIAdigitizer above. Take care to not mix up the pin numbering, as the orientation of the two components is different now. Use this wiring table:
Signal FGTIA pin GTIAdigitzer pin
VCC 36 27
AN0 27 18
AN1 28 19
AN2 29 20
D0 17 7
D1 16 6
D2 15 5
D3 14 4
A0 13 2
A1 12 1