The Lynx cartridge interface has numerous scars of its past as a tape drive. Data are accessed indirectly through a shift register and counter. Pin 1 is on the right side of the game card with the label facing towards you.

Pins 2-9: 8-Bit bidirectional data bus.Pin 10: Active low chipselect, strobed on reads or writes to $FCB2.Pin 27: Active low chipselect, strobed on reads or writes to $FCB3.Pin 31: Supply for the 4069 Hex Inverter used for the soft power control in the Lynx. This is usually connected to Pin 33 in game cards so the Lynx only powers on when a card is inserted.Pin 32: General Purpose IO controlled by $FD8A.4 (Direction- 0 = Input, 1 = Output) and $FD8B.4 (Driver / Input State). After reset this pin is HIGH on early Lynx revisions and LOW on later ones.Pin 34: Switchable power supply controlled by $FD8B.1 (0 = Supply Enabled, 1 = Disabled)

Reading and Writing

The block and offset pins are combined to yield an address with the lower address lines being specified by the offset, and the upper address lines specified by the block select.

The Block pins are driven by a 74164 shift register, new data may be shifted into it by setting $FD8B.1 to the bit to shift and then setting $FD87.0 low and then high (rising edge). The offset pins are connected to a 744040 (12-Bit Counter) which is incremented on each read or write to $FCB2 or $FCB3 and cleared by setting $FD87.0 high.

Pins 3-8: Several clocks of varying frequency and amplitude. While these are important for controlling the LCD, they're not very useful for extracting pixel data.Pin 9: Idles low, rising edge signifies the end of the current line.Pins 11-16: These differential clocks toggle when the Pixel Data pins should be latched (DDR). The three pairs correspond to the three drawing columns of the LCD (see TIMING section).Pin 21: Lowers at the beginning of vertical blank, the exact timing of this depends upon the LCD configuration (see TIMING section).Pins 22-24: These vary with the state of the contrast knob.

Note that there is a difference in this interface depending upon the revision of MIKEY. BUT- it seems to only pertain to the magic LCD timing signals and not to the actual pixel clocking.

Pixel Timing

The Lynx's 160x102 display is a bit of an oddity when compared to other portable consoles of its era- the LCD timing is programmable. HBL and VBL frequencies are chosen by two of the eight system timers (Timer 0 for HBL and 2 for VBL). Therefore many games will use whatever refresh rate is convenient for them.

Sending data to the LCD panel itself is also quite interesting, the screen is divided into three 160-triad (RGB element) wide columns as shown below:

Pixel data is latched in a given column when its differential clock toggles (so a toggle on pins 11 and 12 would latch a pixel in Column A). A total of three latches are required to fill an entire pixel's worth of RGB data (4-Bits per latch, 12-Bit color).

Color order is identical to that of the triads on the LCD panel: Red is latched first, then green, and finally blue.

Note that no overlap is present in the three column clocks. They will always perform their 480 toggles in order ever line. First A, then B, and finally C. Some delay is present after the final column has finished before the next line begins.

The start of a line may be determined by the rising edge of Pin 9 (HBL). A total of 105 lines are sent each frame, the first three of which should be ignored (vertical blank).

Pin 21 will lower at the beginning of VBL, but only after the display has been initialized by the game software. So the startup screen displayed during the decyrption process will have no proper vertical blank generation. This still works since the LCD will wrap around after 105 lines worth of data.

While the original Lynx has its buttons and directional pad right on the mainboard, the later (and more compact) Lynx has moved them to a plastic membrane. This interfaces with the mainboard using a 14-Pin ribbon.

The pinout for the ribbon connector is given below, traced from a C104126-001 REV.A membrane.

Directions are listed according to their use in the console's right-handed (default) orientation. All buttons aside from the soft power on/off switch are active-high (shorted with pin fourteen when pressed).

Pin 7: Briefly connecting this pin with pin six will turn the console on, while connecting it to pin fourteen will do the opposite. This alters a small feedback loop made using some inverters which controls whether or not to enable the Power MOSFET.

Disclaimer

All of this behavior has been verified using real Lynx hardware, but that does not necessarily mean it's correct!.

This information has been reproduced here with permission from Osman Celimli.

♥ Did we get something wrong or you have something to contribute? Please tell us about it!

Did you like what you just read? Please take a moment to see how you can support Atari Gamer. With your help we can keep this retro gaming website going and develop new content! Or just check out what else we have for you...