Dottori Kun 'test PCB' by SEGA
I bought this board inexpensively, not quite knowing what it was. It was listed as a 'Sega Test PCB' and described something like 'a board that can be used to test an arcade monitor'. Sounds good, I thought as I am working on an arcade monitor or two at the moment.
When it arrived I researched it by the numbers printed on the board and learned it was Dottori Kun, a 'test PCB' which was included with Sega's Jamma cabinets such as Blast City so that they qualified as complete units. It was a simple, inexpensive board with a very basic 'game' on it and meant to be thrown out by the Operator when they installed their latest and greatest JAMMA arcade game in the cabinet.
And that's exactly what happened, most of them were simply tossed, making it now a bit of a rare curiosity. Although made in 1990 the hardware was very minimal and so the game used was based on a Sega arcade game 'Head On' from 1979, which was also copied by Atari for the 2600 as 'Dodge Em'. Sound familiar?
While researching I stumbled across Chris Covell's fantastic page 'Dottori-Kun tech info and hacking' where he describes the hardware in great detail and even offers his own enhancement to the Sega game, 'DOTTORI-MAN Jr.' Fascinated, I desoldered the original PROM, installing a socket and made an EPROM with the 'hacked' game. Terrific!
So impressed, I was inspired to try and write some simple code for the PCB myself. The only drawbacks being I am not a programmer and haven't attempted to program anything in machine code for about 35 years or so - but I always like to give things a try... I decided to write a program to do what I originally thought the board would do - to generate test patterns for an Arcade Monitor.
More research, and I stumbled upon a great page for 'beginners' like me - 'Learn Multi platform Z80 Assembly Programming... With Vampires!' I followed the tutorials on this page exactly at first, using the WinApe assembler and emulator then gradually branched out, starting to write routines to run on the Dottori Kun PCB. These could be assembled in WinApe but not emulated there as the hardware is different, no problem though as the assembled programs could be tested in MAME before writing the final version to an EPROM to run on the actual hardware.
To test the board (and the monitor) I made up a 'Missile Command cabinet to Jamma' adaptor and placed the Dottori Kun PCB in a space near the game board connector so it would reach. My program only uses the coin, start and buttons 1 and 2 because there is no joystick in Missile Command. Reading the trackball is way beyond the scope of this project though I might build a standalone trackball to joystick converter one day...
The program generates a checkerboard pattern, crosshatch, crosshatch with circle, dots, white screen which can be changed to solid colours or a colourbar pattern (albeit horizontal rather than vertical bars) or a game screen mockup (Dottori Vaders, hopefully coming soon) which can be changed from Black and White to a 'cellophane effect' of coloured strips. It also has a button test and generates on-screen text, from an ascii character string.
The ASCII text, character data and a couple of the patterns (Crosshatch with circle and Game Screen mockup) are prewritten and stored on the EPROM in addition to the assembled program code. It isn't a perfect test pattern generator, as Chris' page explains the active picture area of Dottori Kun is not a full screen image but it was a worthwhile exercise nonetheless.
Asm103.asm Dottori TPG Assembly listing
14479a.103 Dottori TPG Hex file
'Dottori Vaders' is just a game screen mockup and doesn't run - yet but it does look good, doesn't it? It is a nod to Taito's own 'Test PCB' which they included with their (Egret?) cabinets - 'Mini Vaders' - would anyone have one which they would like to sell or donate? Yes, I know the monitor needs alignment!
This little mod is a Bank-Switching ROM, just a 32k x 8 EPROM with the upper two address lines lifted from the socket and set by a DIP switch, effectively dividing it into 4 banks of 8k each. It's pretty basic and needs to have the programs written to it first but it saves swapping the eprom to select a different program. I obviously wouldn't switch it while running as the program would crash. It's important to be up to the final program version before committing it to the EPROM...
Web Resources (External Links) -
Dottori-Kun tech info and hacking - Chris Covell
Learn Multiplatform Z80 Assembly Programming... With Vampires!
All images and text on this website are Copyright.
Contact: jbtech at telstra dot com