Disclaimer: This information is provided as is. There may be errors in this information. You may use this information only if you agree that Minimalist / Coinop.org, its employees, and noted authors will never be held responsible for any damage, injury, death, mayhem, etc. caused by errors in the information. When working with high voltage, never work alone and always follow safety precautions.

Document Title: [Rally-X Tech.html (html file)]

Rally-X Pinouts and memory map

Rally-X Pinouts and memory map

Rally-X Pinouts

Submitted by Paul T. (aq929@torfree.net)


Logic Board I, part. no. A082-91385-C000
 
                        PARTS SIDE  |  SOLDER SIDE
------------------------------------|--------------------------------------
                      (+5V) Gnd | A | 1 | Gnd (+5V)
--------------------------------|---|---|----------------------------------
                      (+5V) Gnd | B | 2 | Gnd (+5V)
--------------------------------|---|---|----------------------------------
                            +5V | C | 3 | +5V
--------------------------------|---|---|----------------------------------
                            +5V | D | 4 | +5V
--------------------------------|---|---|----------------------------------
               (?) Credit Mult. | E | 5 | Power Credit Mult. (?)
--------------------------------|---|---|----------------------------------
                     (Not Used) | F | 6 | Coin Meter
--------------------------------|---|---|----------------------------------
                       Coin Sw. | H | 7 | NC (?)*
--------------------------------|---|---|----------------------------------
                       1P Start | J | 8 | 2P Start
--------------------------------|---|---|----------------------------------
                          P1 Up | K | 9 | P2 Up
--------------------------------|---|---|----------------------------------
                        P1 Down | L | 10| P2 Down
--------------------------------|---|---|----------------------------------
                       P1 Right | M | 11| P2 Right
--------------------------------|---|---|----------------------------------
                        P1 Left | N | 12| P2 Left
--------------------------------|---|---|----------------------------------
                       P1 Smoke | P | 13| P2 Smoke
--------------------------------|---|---|----------------------------------
                     Credit Sw. | R | 14| Test Pos.
--------------------------------|---|---|----------------------------------
                                | S | 15| Gnd (Cocktail only)
--------------------------------|---|---|----------------------------------
                   (Common) Gnd | T | 16| Gnd (Monitor)
--------------------------------|---|---|----------------------------------
                            Red | U | 17| Green
--------------------------------|---|---|----------------------------------
                           Blue | V | 18| Comp. Sync
---------------------------------------------------------------------------
                           Spkr | W | 19| Spkr
--------------------------------|---|---|----------------------------------
                           +12V | X | 20| +12V
--------------------------------|---|---|----------------------------------
                     (+12V) Gnd | Y | 21| Gnd (+12V)
--------------------------------|---|---|----------------------------------
                     (+12V) Gnd | Z | 22| Gnd (+12V)
---------------------------------------------------------------------------
 
* NC may *not* mean "No Care" for this pinout.  I can't figure out what it
does exactly, but it does have traces in the schematic similar to the other
buttons, controls, and switches.  Elsewhere on the schematic (pin F) there
is a "N.C." which is, I'm sure, a "No Care" pin.

Rally-X Memory Map

A000h is a data port. Its bit-structure is as follows:
bit
0 LSB   credits (related, not only the "button")
1       drop smoke
2       move left       player 1
3       move right      player 1 
4       move up         player 1
5       move down       player 1
6       dont know
7       dont know
A100h is another data port, I only know about bit 0 which means reset the machine.

There are more ports, not used as frequently as these two: A080, A181 (has to do something with timers).

Now a little about the scroll. The most important Scroll variables are stored forward from 8050. The scroll is a combo between hard & soft: it paints new regions by soft but the "move" is done just changing screen offset. The appropiate screen offset for each frame is stored at 8056 and 8057, that is, (8057<<8)+8056. However, during the intro screen this address contains trash, so I guess there must be kinda flag hidden out there in the memory to indicate wether the offset stored in 8056 is actually an offset or just nonsense.

About the graphics... well the machine maintains two (four) screen regions. The main ones are located at 0x8400-0x8800 for the sprite code and 0x8800-0x8c00 for the attributes of each sprite. The 2 MSB's of each attribute tell if the sprite must be printed X-flipped, Y-flipped, XY-flipped or just as-is. Most of the remaining bits refer to the color, but there's some more I have no clue about.