|
by cfh@provide.net, 01/18/02. Copyright 2001-2002 all rights reserved.
The basic idea is this. First use a "real time" operating system. Windows is not ideal for this, as a 2 ms update time is needed, and Windows can only guarentee 10 ms (the short update time is a requirement of the pin 2000 watchdog circuit on the driver board). So Linux would work well. Write a program in your favorite language to interface to the pin 2000 driver board, through the parallel port. Draw graphics through a standard monitor card (use a VGA or better style monitor, as there are no monitor drivers for the CGA monitor Williams used). Mount the computer and monitor in the pinball 2000 cabinet. Modify the playfield as desired.
Parallel Cable interfacing.
Parallel Port Bits and Function. The driver board can be controlled through the use of the PC parallel port registers. The parallel port Data register is used for data exchange, and the Status register is not used at all. The Control register is used to control the index register clock and Decode output enable function. It is also used to control the direction of the driver board buffer. Note that parallel ports are generally at 956dec(3BCh) for LPT1 and 888dec(378h) for LPT2.
The driver board index register is a writable latch. This holds the location number of the required board I/O register.
Any writes to these locations will result in no action.
The Writing/Reading Sequence.
Write Data to the Driver Board Sequence.
Read Data from Board Sequence.
Special Function Register and Controls. The blanking circuit can be disabled during development by shorting the pins 1 & 3 on connector J1. This should be done under extreme care since any stalled operation of the I/O can cause electrical and/or game feature damage to occur. This blanking signal is feed back to the parallel interface cable for use with future expansions on pin 26 of the parallel port cable connection.
Zero Cross.
Lamp Test Mode. By setting the lamp test mode bit to a value of "0" will cause the lamp matrix to function in test mode for missing bulbs or burned out lamps. When the column is activated and the rows are activated any lamp that is missing within the activated column will be indicated by a value of a "1" in the corresponding lamptest register read. A required delay time from column and row activation to reading the lamp test register is 150uS. By setting the lamp mode bit to a value of "1" will allow the lamp matrix to function normally as well as allow for indication of a shorted lamp position. This is done by reading the a value of "0" in the corresponding lamptest register read. A required delay time from column and row activation to reading the lamp test register is 300uS.
Fuse Test.
00 Switch-Coin (Read)
D0-coin1 High indicates switch input closure to GND.
D1-coin2 "
D2-coin3 "
D3-coin4 "
D4-coin5 "
D5-coin6 "
D6-coin7 "
D7-coin8 "
01 Switch-Flipper (Read)
D0- Cabinet Flipper1 High indicates switch input closure to GND.
D1- Cabinet Flipper2 "
D2- Cabinet Flipper3 "
D3- Cabinet Flipper4 "
D4- Cabinet Flipper5 "
D5- Cabinet Flipper6 "
D6- Cabinet Flipper7 "
D7- Cabinet Flipper8 "
02 Switch-Dip (Read)
D0- Dip Switch1 High indicates switch input closure to GND.
D1- Dip Switch2 "
D2- Dip Switch3 "
D3- Dip Switch4 "
D4- Not Used Read back is high
D5- Not Used "
D6- Not Used "
D7- Not Used "
03 Switch-EOS/Diag. (Read)
D0- Diagnostic1 High indicates switch input closure to GND.
D1- Diagnostic2 "
D2- Diagnostic3 "
D3- Diagnostic4 "
D4- E.O.S.1 "
D5- E.O.S.2 "
D6- E.O.S.3 "
D7- E.O.S.4 "
04 Switch-Row (Read)
D0- ROW1 High indicates switch closure to active column
D1- ROW2 "
D2- ROW3 "
D3- ROW4 "
D4- ROW5 "
D5- ROW6 "
D6- ROW7 "
D7- ROW8 "
05 Switch-Col (Write) (Blanking trigger)
D0- COLUMN1 Low to active column
D1- COLUMN2 "
D2- COLUMN3 "
D3- COLUMN4 "
D4- COLUMN5 "
D5- COLUMN6 "
D6- COLUMN7 "
D7- COLUMN8 "
06 Lamp Row-A (Write)
D0- ROW1 High to activate row
D1- ROW2 "
D2- ROW3 "
D3- ROW4 "
D4- ROW5 "
D5- ROW6 "
D6- ROW7 "
D7- ROW8 "
07 Lamp Row-B (Write)
D0- ROW1 High to activate row
D1- ROW2 "
D2- ROW3 "
D3- ROW4 "
D4- ROW5 "
D5- ROW6 "
D6- ROW7 "
D7- ROW8 "
08 Lamp Col (Write)
D0- COLUMN1 High to activate column driver
D1- COLUMN2 "
D2- COLUMN3 "
D3- COLUMN4 "
D4- COLUMN5 "
D5- COLUMN6 "
D6- COLUMN7 "
D7- COLUMN8 "
09 Solenoid-C (Write)(no diode tie backs)
D0- Solenoid Opt 1 High to activate solenoid driver (output low)
D1- Solenoid Opt 2 "
D2- Solenoid Opt 3 "
D3- Solenoid Opt 4 "
D4- Solenoid Opt 5 "
D5- Solenoid Opt 6 "
D6- Solenoid Opt 7 "
D7- Solenoid Opt 8 "
0A Solenoid-B (Write)
D0- Solenoid B1 High to activate solenoid driver (output low)
D1- Solenoid B2 "
D2- Solenoid B3 "
D3- Solenoid B4 "
D4- Solenoid B5 "
D5- Solenoid B6 "
D6- Solenoid B7 "
D7- Solenoid B8 "
0B Solenoid-A (Write)
D0- Solenoid A1 High to activate solenoid driver (output low)
D1- Solenoid A2 "
D2- Solenoid A3 "
D3- Solenoid A4 "
D4- Solenoid A5 "
D5- Solenoid A6 "
D6- Solenoid A7 "
D7- Solenoid A8 "
0C Solenoid-Flipper (Write)
D0- Solenoid Flip1 High to activate solenoid driver (output low)
D1- Solenoid Flip2 "
D2- Solenoid Flip3 "
D3- Solenoid Flip4 "
D4- Solenoid Flip5 "
D5- Solenoid Flip6 "
D6- Solenoid Flip7 "
D7- Solenoid Flip8 "
0D Solenoid-D (Write)(no diode tie backs)
D0- Solenoid Flash 1 High to activate solenoid driver (output low)
D1- Solenoid Flash 2 "
D2- Solenoid Flash 3 "
D3- Solenoid Flash 4 "
D4- Health LED High turns LED on
D5- Power Relay Control High turns on relay
D6- Coin Counter High turns counter on
D7- Lamp Test Control High = use mode, Low = test mode
0E Solenoid-Logic (Write) (very low current sink)
D0- Solenoid Logic 1 High to activate logic driver (output low)
D1- Solenoid Logic 2 "
D2- Solenoid Logic 3 "
D3- Solenoid Logic 4 "
D4- Solenoid Logic 5 "
D5- Solenoid Logic 6 "
D6- Solenoid Logic 7 "
D7- Solenoid Logic 8 "
0F Switch-System (Read)
D0- Not Used Read back is high
D1- " "
D2- " "
D3- " "
D4- Ticket Notch Signal a notch in the ticket (For dispencer kit)
D5- Ticket Low Signal low level of tickets (For dispencer kit)
D6- Blanking High indicates outputs enabled
D7- Zero Cross LOW indicates Zero Cross has occurred.
10 Lamp matrix A diagnostic
D0- Row1
D1- Row2 In test mode a "1" will
D2- Row3 indicate a missing or burned
D3- Row4 out lamp.
D4- Row5
D5- Row6 In operation mode a "1" will
D6- Row7 indicate a shorted lamp position.
D7- Row8
11 Lamp matrix B diagnostic
D0- Row1
D1- Row2 In test mode a "1" will
D2- Row3 indicate a missing or burned
D3- Row4 out lamp.
D4- Row5
D5- Row6 In operation mode a "1" will
D6- Row7 indicate a shorted lamp position.
D7- Row8
12 Fuse A diagnostic
D0- Fuse 50V Flipper 1 (F104) High ("1") indicates blown fuse
D1- Fuse 50V Flipper 2 (F105) "
D2- Fuse 50V Flipper 3 (F106) "
D3- Fuse 50V Flipper 4 (F107) "
D4- Fuse 50V Solenoid1 (F103) "
D5- Fuse 50V Solenoid 2 (F102) "
D6- Fuse 50V Solenoid 3 (F101) "
D7- Fuse 50V Solenoid 4 (F100) "
13 Fuse B diagnostic
D0- Fuse 20V (F109) High ("1") indicates blown fuse
D1- Fuse 50V main (F110) "
D2- Fuse Lamp Matrix B (F112) "
D3- Fuse Lamp Matrix A (F111) "
D4- Not Used Read back is high
D5- " "
D6- " "
D7- " "
End of document. * Go to Pin2000 Repair document Part One * Go to the Pin Fix-It Index at http://marvin3m.com/fix.htm * Go to Marvin's Marvelous Mechanical Museum at http://marvin3m.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||