The screen shots that are from my games were taken using a digitiser card plugged into a PC. Most commercially available digitisers are designed for TV and video use and are generally not suitable for use with video games since video games use a different video standard. To get around this I bought a video digitiser kit and modified the circuit so that it could be used to digitise video games. The conversion modifications are given below.
The digitiser captures a single monochrome frame at a time such that each colour is captured in turn individually from different frames. This necessitates a static video image so that the three frames (R,G,B) can be captured and combined into a single colour image. There are a number of ways to freeze the image so a screen shot can be taken:-
- Check the DIP switches
There may be a freeze DIP switch, making life really easy!
- Use the processor HALT or BUSREQ/HOLD or RDY/WAIT/DACK pins.
Attach a stiff pull-up/pull-down (say 100 Ohms) to stop the CPU. One of four things will happen:-
The pin has been tied directly to a supply rail or is not open-collector so you can't force it active. If the CPU is socketed then you can bend the pin out to get around the problem otherwise you'll have to use a different pin.
- The game resets and clears the screen.
The CPU has stopped properly but a watchdog has kicked in reseting the whole system. Somewhere on the board they'll be a jumper or pad set that can be used to turn off the watchdog. If you can't find one, then you're stuffed.
- The screen gets corrupted, the game crashes or resets
The game uses the pin for something and messing with it screws up the game.
- The game freezes.
- Use the processor RESET pin
This is a last resort method. Attach a direct pull-down ONLY for no longer than 1 second to force reset. One of two things will happen.
- The game is held in reset but the screen clears or corrupts.
Some part of the video circuitry has been reset along with the CPU. You're stuffed.
- The game is held in reset
Digitiser Conversion Modfications
The basic digitiser is a Maplin/Velleman K8100 Video Digitiser Kit. In it's native form the digitiser is designed for use with TV and video and has the following input characteristics:
||512 x 512 pixels
||RGB (1v p-p)
I'm still not quite sure if video games obey any real standard, though I did measure the line rate and it came out at around 15.6KHz.
Set the card to RGB VCR mode according to the instructions supplied with the card and then procede as follows.
- Lift pin 7 of IC1 (LM1881)
- Connect pad 7 of IC1 (LM1881) to pad 5 of IC1 (LM1881)
Changes the START line to be VSYNC rather than ODD/EVEN as the image is not interlaced on video games.
- Change R7 from 680K to 1M+820K in series
Changes the VSYNC detector in the LM1881 to be compatible with the none serrated vertical sync. pulse used on video games.
- Remove C2 (100pF)
- Remove IC12 (4046B)
The on-board PLL doesn't work properly with none-serrated vertical sync. and so removing these components stabilizes and fixes the 10MHz reference clock.
- Remove IC9 (74HC161)
- Remove IC10 (74HC161)
- Connect pad 15 of IC10 to pad 16 of IC10
Disables the 32-line delay before sampling begins. Some video games use these lines for the image.
- Remove IC15 (RAM)
- Lift pin 9 of IC18 (74HC161)
- Connect pin 9 of IC18 (74HC161) to pad 16 of IC18 (74HC161)
- Lift pin 9 of IC19 (74HC161)
- Connect pin 9 of IC19 (74HC161) to pad 16 of IC19 (74HC161)
Stops the vertical sync. pulse reseting the line counters at the end of the field (originally for the next interlace field). This is required as the digitiser expected there to be more than 256 lines per field to flip over the counters but video games (seem) to have less than 256 lines per field(?). The second RAM chip is removed as it isn't required and causes interference.
- Lift pin 5 of IC1 (LM1881)
- Connect pad 5 of IC1 (LM1881) to pad 1 of IC1 (LM1881)
Changes the black level restoration pulse to be HSYNC as the fixed-length pulse provided by the LM1881 is too long for some games and overlaps the image.
- Remove L2
The colour trap filter for colour composite signals is not required and causes moire. Removing L2 removes the colour trap filtering.
- Remove R4
Changes the input level from 1V (p-p) to the maximum of 1.7V (p-p) as video
games seem to output around 0-3V.
- Add 1K resistor between pins 6 & 2 of the 9-way D-connector
- Add 1K resistor between pins 7 & 3 of the 9-way D-connector
- Add 1K resistor between pins 8 & 4 of the 9-way D-connector
Surface mount resistors fit very well for this. The resistors provide a measure of termination for the video input lines as I have 3 metre input cables. Some games couldn't cope with the full 82R termination and so this was a compromise but it still eliminates most of the ghosting.
- Change C5 from 4.7uF to 47uF and mount on reverse of PCB
- Add a 100R resistor between the GND track and wiper of RV1 (1K pot)
Boosts the black restoration voltage reference supply capeability and tailors it more for the 1.55V nominal value.
- Change C10 from 0.1uF to 2x1uF in parallel (one on top, one on reverse)
Elliminates most of the input DC level "saturation".
- Remove R3
- Remove R13
- Stick a 1K pot (as RV1) upside down next to RV1 with the screw protruding
- Connect track-1 of the pot to GND
- Connect track-3 of the pot to R13 edge connector end
- Connect wiper-2 of the pot to R13 TDA end
Effectively adds a brightness control to the input signal.
The WinGrab software supplied for the digitiser expects an interlaced image but since IC15 is removed the interlaced line is black. The image that WinGrab displays is hence interleved with a black lines. As it turns out, this is quite handy as it makes setting the black level easier - the black level is set such that the scan lines are just visible against the black interlace lines. The black interlace lines can be removed with Paint Shop Pro (supplied with the digitiser) by
resizing the image from 512 x 512 to 512 x 256 since this removes alternate lines. The black level doesn't need adjusting much in practice and the brightness control is sufficient to compensate for the various drive circuits used in video games. It's usually a good idea to keep the white level vissibly less than white to garantee not saturating the ADC (or use the colour test mode if
the game has one). I use the colour map feature on Paint Shop Pro to ensure my highest colour saturation for any of the three colours is between 230 and 250. All the shots for a game are taken with the same settings. The raw images produced are 24-bit true colour .BMP's that I reduce to 256 colour palatised .GIF's to save disk space.