DPC+ expands upon the capabilities of the DPC chip found in Pitfall II. The original DPC supported two 4K banks and 2K of Display Data (holds graphics and other data). DPC+ expands that to six 4K banks and 4K of Display Data and adds some new features such as "Fast Fetcher" mode. Some DPC features are not supported by the DPC+ (mostly those not used by Pitfall II).
This demo shows off all the features of DPC+, with the exception of custom ARM code. I plan to release that demo next weekend. For in depth information on the features, read the comments at the start of DPCplus.asm as well as the comments in DPCplus.h.
Your code should result in a 29K BIN file. It should then be merged with DPC+.arm, which contains the custom bank switching code, to result in a 32K BIN file. When merging, the DPC+.arm file must come first.
With the exception of custom ARM code, Stella also supports DPC+ so you can test and debug your programs via Stella. Use version 3.1.2 or higher.
This code includes 6 demos, one for each 4K bank. Use GAME SELECT to cycle between the demos.
Demo 0 - Data Fetcher Demo
- Shows how to use the Data Fetchers in both "Windowed" and "non-windowed" modes.
- Joystick moves sprite, fire button changes image (unless qualified, "joystick" refers to the left joystick)
- Joystick disables voices via fire, right and/or down
- Right Joystick selects waveforms. Fire, up, down, left, right
- sprites are used to display the amplitude in real time
- Draws an asymmetrical playfield where the playfield data is repeated over multiple lines
- Joystick up/down controls the fractional increment amount
- Shows off the 32 bit random number generator
- Joystick left to select prior set of random numbers
- Joystick right to select next set of random numbers
- Fire to reset the generator to the initial random seed
- Unlike the DPC cartridge, the DPC+ Display Data ends up in RAM and can be modified at run time.
- Joystick to move snowman - notice when he moves on/off screen he is masked to smoothly enter/exit the display. (compare with Demo 0)
- Fire to flip snowman - this shows the difference between DFxWRITE and DFxPUSH.
- Shows how to enable "Fast Fetch" mode, which overloads LDA # allowing you to read DPC+ registers in 2 cycles instead of 4
- 29 TIA updates every 2 scanlines.
- use both joysticks to move helicopters
DPC+ Demo source code
DPCplus Demo.zip 36.32KB 511 downloads
DPC+ Demo, ready for Harmony and Stella
DPC+ demo.bin 32KB 548 downloads