Loading...
 

DPC

see Bank Switching

There are two 4K program banks, a 2K display bank, and the DPC chip. The bankswitching itself is the same as the F8 scheme (hotspots at $1FF8 and $1FF9). DPC chip access is mapped to $1000 - $1080 ($1000 - $103F is read port, $1040 - $107F is write port).

The DPC chip is a special data processor created David P. Crane to help boost the capabilities of the Atari 2600. The DPC chip provides 8 data fetchers, random number generation, 3 music channels, and line-drawing capabilities. The chip's main use was in Activision's Pitfall 2 game.

The data fetchers, which are self-decrementing pointers, provide access to a separate 2K data bank. This bank is mainly used to store display data that can be retrieved using the data fetchers.

Three (3) of the data fetchers can be used to mix together 3 square waves into a 4-bit waveform, which can be read thru a special register and played thru one of the two Atari sound channels.

For complete details on the DPC chip see David P. Crane's United States Patent Number 4,644,495.

Examples

Pitfall II

Read Registers ($1000-$103F)

AddrNameDescription
00-03 RANDOMx Random Numbers
04 SOUNDDRAW0 Line/Music Fetchers
05 SOUNDDRAW1 Line/Music Fetchers
06 SOUND0 Line/Music Fetchers
07 SOUND1 Line/Music Fetchers
08-0F DFxDATA Display Data
10-17 DFxDATAW Display Data (ANDed with Flag)
18-1F DFxDATAWSWP Display Data Nibbles Swapped (ANDed with Flag)
20-27 DFxDATAWREV Display Data Bits Reversed (ANDed with Flag)
28-2F DFxDATAWROR Display Data Rotated Right (ANDed with Flag)
30-37 DFxDATAWROL Display Data Rotated Left (ANDed with Flag)
38-3F DFxFLAG Flag values

Write Registers ($1040-$107F)

AddrNameDescription
40-47 DFxTOP Define top of data
48-4F DFxBOT Define bottom of data
50-57 DFxLOW Define low address of graphics
58-5F DFxHIGH Define high address of graphics
60-67 MOVAMTx Line drawing
68-6F Unused
70-77 RRESETx Random number reset
78-7F Unused