signature_howto.pdf

(289 KB) Pobierz
Works.PDF
How Atari Signature Analysis Works
Written by Phillip Eaton - inbox@phillipeaton.com
*Comments and feedback welcome & appreciated*
Revision 1.1 – 2001-09-20
Updated contact links
Minor text changes
Revision 1.0 - 1999-12-26
Initial Release
Introduction
Ever wondered what all those 4-digit ‘signatures’ are, that are dotted around the Atari circuit
diagrams? They are used for diagnosing game PCB faults with an Atari CAT Box. They are
useful because, armed with a CAT Box and a game PCB and no technical knowledge (so
Atari say) you can diagnose most PCB faults down to IC level. Atari have issued signature
analysis information for their game PCBs since Battlezone.
How is a signature created? If you send a known stream of data through a game board starting
from the processor address bus, the data will ripple through the circuits in a repeatable
pattern. By testing for that pattern at various locations against the known patterns – the Atari-
provided signatures – you can isolate component faults.
So what’s a CAT Box, then? A CAT Box is a Computer Assisted Troubleshooter, which is in a
box. This was manufactured and sold by Atari from 1981 See Figure 1. To use the CAT Box,
you remove the game PCB processor, and plug a connector from the CAT Box onto the game,
using the ribbon connector and plug. On the older Atari PCBs, e.g. Missile Command,
Centipede, the plug connects to a 50-way fine-pitch edge connector. On newer games, e.g.
those using a Z80 such as Dig Dug, there is a convertor ‘Pod’ which is also required, which
plugs into the processsor socket – see later.
Figure 1 Atari CAT Box Control Panel
1
38748219.001.png
Basically, the CAT Box has it’s own processor which then can control the game PCB address &
data bus, using the PCB’s clock signal. It can then be used to address individual areas of the
board for checking individual components, using the knobs and switches on the CAT Box
control panel.
So now you know what a CAT Box is, you have a problem – you don’t have one. So why should
you bother reading any further? Well, you might want to read on because you’re interested,
but there are other reasons. Although the CAT Box is a 6502 processor-based piece of kit, the
signature analysis bit is almost totally separate from the processor, and you could implement it
quite easily with some simple discrete 74-series logic counters and buffers, and some
seven-segment LED’s.
As well as faultfinding PCBs, signature analysis is especially useful for checking out the
integrity of ROM images for games – all you need is eight 4-hexdigit signatures, and the image
to test.
The ROM-IDENTifier program written by Lescot Thierry uses this information in reverse. By
using a 32-bit signature created from a ROM, it then looks up the signature in its database of
known signatures and thus can identify which ROM you have just tested. (However, if your
image is corrupt, it will not be identifiable.)
The easy and absolute way to check the integrity of an image is to do a binary compare of the
sources using Windiff.EXE or MS-DOS FC.EXE, but you might not have a known-good image...
Signature Analysis Theory
Signature analysis relies on the same mathematical theory as Cyclic Redundancy Checking
(CRC). A signature is pretty much the same thing as a Cyclic Redundancy Checksum. In my
experience, this is used in communications systems to check for integrity of received data at
the end of a communication link.
The general idea is to feed the data you want to send through a CRC creator as you are
sending it, and then append the calculated CRC to the end of the message. Then, as the
receiver reads the data, it also runs it through the CRC creator. If the calculated CRC and
received CRCs are the same, the data has transferred correctly.
The CRC creator can be implemented in software, as is usual in data communications, or
hardware, as in the case of the CAT Box.
CAT Box Hardware
Address Counter
Firstly, there is a 16-bit counter which is connected to the address bus and, when enabled by
the CAT Box processor, continually cycles around the address space from $0000 to $FFFF. This
is shown in Figure 2.
2
Figure 2 CAT Box Counter Circuitry
This is implemented by four cascaded 4-bit counters on two 74LS393 ICs. The 74LS244 ICs
are used as buffers onto the address bus. (Note there appears to be a bug in the Atari diagram
– the second counter on IC B5 appears to be cascading itself! If you understand the diagram,
you should be able to spot the easy fix.)
Why is discrete hardware used to cycle round the address bus, when the CAT Box has its own
6502 processor, and can address all of the PCBs address space anyway? This is due to the way
that the signature checking works - see further on.
Start, Stop, Clock and Data Probes
The next part of the circuit is the Start, Stop, Clock and Data probe inputs, shown in Figure 3
and Figure 4.
3
38748219.002.png
Figure 3 Start, Stop and Clock Probes
4
38748219.003.png
Figure 4 Data Probe
Consider the case where you want to check the signature of a ROM that is still plugged into the
PCB. This IC will occupy a certain position in the address space of the PCB. When the 16-bit
address counter cycles through the address space, for a period, the ROM will be enabled and
then disabled. This will happen once per cycle of the counter.
When testing the signature, you would connect:
Start and Stop probes to the Chip Enable line of the ROM.
Clock probe to the clock signal used to clock the data in and out of the ROM.
Data probe to one of the eight data lines of the ROM. (The Atari signature analysis only
works on 1 bit stream at a time, so eight are be required for a complete ROM.)
Note that the Data probe is also used as a logic probe by the CAT Box hardware through the
LM339 comparitors and the ‘0’ and ‘1’ LED’s.
Using D-Type latches, the Start and Stop probes control the Run/Stop signal that engages the
signature analysis calculation hardware.
We can see now why the processor cannot be used to address each location and and test
individually. Using the processor would involve using the address and data lines for the
instruction fetch & execute cycle, which would reset the Start and Stop part of the circuit, and
thus would confuse the signature.
Signature Analysis Calculation Hardware
Here, the 74LS193 counter is used to clock each piece of data collected by the Data probe (the
SRDATA signal) into the 74LS164 cascaded shift register signature ‘memory’.
Whilst the ROM under test is enabled the Start and Stop probes allow the LS193 counter to be
clocked by the Clock probe. This circuitry is shown in Figure 5.
5
38748219.004.png
Zgłoś jeśli naruszono regulamin