Re: Fluke Tests for Pacman

From: John Robertson <jrr_at_flippers.com>
Date: Thu Jan 17 2002 - 19:21:06 EST

<x-html>
<html>
Thanks Kev,<br><br>
&nbsp;I'll post my Pacman/Ms/Clone test setup for folks to edit...I
rather like it but it needs work...who;s next?<br><br>
<font face="Courier New, Courier" size=4>! Bally-Midway Pac/MsPacman Test
Routine<br><br>
INCLUDE &quot;Z80.POD&quot;<br><br>
SETUP&nbsp;&nbsp; <br><br>
&nbsp;&nbsp; TRAP ACTIVE FORCE LINE NO&nbsp;&nbsp; <br>
&nbsp;&nbsp; TRAP ACTIVE INTERRUPT NO<br><br>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br><br>
PROGRAM MAIN<br>
&nbsp;&nbsp; RUN UUT 32CE ! WRITE &quot;MADE BY NAMCO&quot; ON
SCREEN<br>
&nbsp;&nbsp; BUS TEST<br>
DOTS:<br>
&nbsp;&nbsp; REGE = 10<br>
&nbsp;&nbsp; DPY-PUTS A YELLOW DOT IN EACH CORNER<br><br>
&nbsp;&nbsp; WRITE @4040 = REGE<br>
&nbsp;&nbsp; WRITE @405F = REGE<br>
&nbsp;&nbsp; WRITE @43A0 = REGE<br>
&nbsp;&nbsp; WRITE @43BF = REGE<br><br>
INC REGE<br><br>
IF REGE = 17 GOTO DOTS<br><br>
&nbsp;&nbsp; <br>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&nbsp;&nbsp;
<br>
&nbsp;&nbsp; ! MAIN TEST ROUTINE<br><br>
&nbsp;&nbsp; DPY-#<br>
&nbsp;&nbsp; DPY-BUS TEST&nbsp;&nbsp; <br>
&nbsp;&nbsp; EX DELAY&nbsp;&nbsp; <br>
&nbsp;&nbsp; BUS TEST&nbsp;&nbsp; <br>
&nbsp;&nbsp; DPY-#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp; DPY-WHICH GAME ARE YOU TESTING?<br>
&nbsp;&nbsp; EX DELAY<br><br>
MAINLOOP:<br>
&nbsp;&nbsp; DPY-0 PACMAN, 1 MS, 2 CLONE MS \1<br>
&nbsp;&nbsp; EX DELAY<br><br>
&nbsp;&nbsp; IF REG1 &gt; 2 GOTO MAINLOOP&nbsp;&nbsp; <br>
&nbsp;&nbsp; IF REG1 = 0 GOTO PACTEST<br>
&nbsp;&nbsp; IF REG1 = 1 GOTO MSTEST&nbsp;&nbsp; <br>
&nbsp;&nbsp; IF REG1 = 2 GOTO CLONETEST<br><br>
PACTEST:&nbsp;&nbsp; <br><br>
&nbsp;&nbsp; EX PACMANROM&nbsp;&nbsp; <br>
&nbsp;&nbsp; GOTO COMMON<br><br>
MSTEST:&nbsp;&nbsp; <br>
&nbsp;&nbsp; EX MSROM&nbsp;&nbsp; <br>
&nbsp;&nbsp; GOTO COMMON<br><br>
CLONETEST:<br>
&nbsp;&nbsp; EX CLONEROM&nbsp; <br>
&nbsp;&nbsp; GOTO COMMON<br>
&nbsp;&nbsp; <br>
COMMON:&nbsp;&nbsp; <br>
&nbsp;&nbsp; DPY-#RAM TESTS&nbsp;&nbsp; <br>
&nbsp;&nbsp; EX DELAY&nbsp;&nbsp; <br>
&nbsp;&nbsp; <br>
&nbsp;&nbsp; DPY-#TESTING RAM AT 4H AND 4L&nbsp;&nbsp; <br>
&nbsp;&nbsp; EX&nbsp; RAM4HLTEST&nbsp;&nbsp; <br>
&nbsp;&nbsp; <br>
&nbsp;&nbsp; DPY-#TESTING RAM AT 4J AND 4M&nbsp;&nbsp; <br>
&nbsp;&nbsp; EX&nbsp;&nbsp; RAM4JMTEST&nbsp;&nbsp; <br>
&nbsp;&nbsp; <br>
&nbsp;&nbsp; DPY-#TESTING RAM AT 4K AND 4N&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp; EX&nbsp;&nbsp; RAM4KNTEST&nbsp;&nbsp; <br>
&nbsp;&nbsp; <br>
&nbsp;&nbsp; DPY-#ALL RAM TESTS COMPLETE&nbsp;&nbsp; <br>
&nbsp;&nbsp; EX DELAY&nbsp;&nbsp; <br>
&nbsp;&nbsp; <br>
&nbsp;&nbsp; DPY-TESTING DIP SWITCHES&nbsp;&nbsp; <br>
&nbsp;&nbsp; EX DELAY&nbsp;&nbsp; <br>
&nbsp;&nbsp; <br>
&nbsp;&nbsp; DPY-PRESS CONT TO STEP&nbsp;&nbsp; <br>
&nbsp;&nbsp; EX DELAY&nbsp;&nbsp; <br>
&nbsp;&nbsp; <br>
&nbsp;&nbsp; REG2=0&nbsp;&nbsp; <br>
&nbsp;&nbsp; REGF=67FF<br><br>
SWITCHLOOP:&nbsp;&nbsp; <br>
&nbsp;&nbsp; INC REGF&nbsp;&nbsp; <br>
&nbsp;&nbsp; INC REG2&nbsp;&nbsp; <br>
&nbsp;&nbsp; READ @REGF&nbsp;&nbsp; <br>
&nbsp;&nbsp; IF REGE AND 1 &gt;0 GOTO SW6KOFF&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp; GOTO SW6KON<br><br>
NEXTSW:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp; IF REGE AND 2 &gt;0 GOTO SW6JOFF&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp; GOTO SW6JON<br><br>
ADDTEST:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp; IF REGF &gt;6807 GOTO CONT&nbsp;&nbsp; <br>
&nbsp;&nbsp; GOTO SWITCHLOOP<br>
&nbsp;&nbsp; <br>
SW6KON:&nbsp;&nbsp; <br>
&nbsp;&nbsp; DPY-#&nbsp;&nbsp; <br>
&nbsp;&nbsp; DPY-6K NUMBER $2 ON&nbsp;&nbsp; <br>
&nbsp;&nbsp; STOP&nbsp;&nbsp; <br>
&nbsp;&nbsp; GOTO NEXTSW<br>
&nbsp;&nbsp; <br>
SW6JON:&nbsp;&nbsp; <br>
&nbsp;&nbsp; IF REGF=6807 GOTO CONT&nbsp;&nbsp; <br>
&nbsp;&nbsp; DPY-#&nbsp;&nbsp; <br>
&nbsp;&nbsp; DPY-6J NUMBER $2 ON <br>
&nbsp;&nbsp; STOP <br>
&nbsp;&nbsp; GOTO ADDTEST<br>
&nbsp;&nbsp; <br>
SW6KOFF:&nbsp;&nbsp; <br>
&nbsp;&nbsp; DPY-#&nbsp;&nbsp; <br>
&nbsp;&nbsp; DPY-6K NUMBER $2 OFF&nbsp;&nbsp; <br>
&nbsp;&nbsp; STOP&nbsp;&nbsp; <br>
&nbsp;&nbsp; GOTO NEXTSW<br>
&nbsp;&nbsp; <br>
SW6JOFF:&nbsp;&nbsp; <br>
&nbsp;&nbsp; IF REGF=6807 GOTO CONT&nbsp;&nbsp; <br>
&nbsp;&nbsp; DPY-#&nbsp;&nbsp; <br>
&nbsp;&nbsp; DPY-6J NUMBER $2 OFF&nbsp; <br>
&nbsp;&nbsp; STOP&nbsp;&nbsp; <br>
&nbsp;&nbsp; GOTO ADDTEST<br>
&nbsp;&nbsp; <br>
CONT:&nbsp;&nbsp; <br>
&nbsp;&nbsp; DPY-#&nbsp;&nbsp; <br>
&nbsp;&nbsp; DPY-DIP TEST COMPLETE&nbsp;&nbsp; <br>
&nbsp;&nbsp; EX DELAY&nbsp;&nbsp; <br>
&nbsp;&nbsp; DPY-ATTEMPTING TO RUN SECTION&nbsp;&nbsp; <br>
&nbsp;&nbsp; RUN UUT&nbsp;&nbsp; <br>
&nbsp;&nbsp; EX DELAY&nbsp;&nbsp; <br>
&nbsp;&nbsp; DPY-COMPLETE<br>
&nbsp;&nbsp; <br>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br>
&nbsp;&nbsp; !DELAY ROUTINE<br>
&nbsp;&nbsp; <br>
PROGRAM DELAY<br>
REG1=40<br>
0:<br>
DEC REG1<br>
IF REG1 &gt;0 GOTO 0<br><br>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&nbsp;&nbsp;
<br>
&nbsp;&nbsp; ! PACMAN ROM TEST<br><br>
PROGRAM PACMANROM&nbsp;&nbsp; <br>
&nbsp;&nbsp; DPY-#&nbsp;&nbsp; <br>
&nbsp;&nbsp; DPY-TESTING FOR LATEST ROM REVISION&nbsp;&nbsp; <br>
&nbsp;&nbsp; WRITE @ 0000 = 0&nbsp;&nbsp; <br>
&nbsp;&nbsp; WRITE @ 3FFF = 11<br>
&nbsp;&nbsp; <br>
WAIT:&nbsp;&nbsp; <br>
&nbsp;&nbsp; READ @ REGF&nbsp;&nbsp; <br>
&nbsp;&nbsp; IF REGE = B0 GOTO WAIT&nbsp;&nbsp; <br>
&nbsp;&nbsp; <br>
&nbsp;&nbsp; READ @ 300D&nbsp;&nbsp; <br>
&nbsp;&nbsp; IF REGE = 58 GOTO NEXTBYTE<br>
&nbsp;&nbsp; GOTO BADROM<br>
&nbsp;&nbsp; <br>
NEXTBYTE:<br>
&nbsp;&nbsp; READ @ 300C&nbsp;&nbsp; <br>
&nbsp;&nbsp; IF REGE = 3A GOTO GOODROM&nbsp;&nbsp; <br>
&nbsp;&nbsp; GOTO BADROM<br>
&nbsp;&nbsp; <br>
BADROM:<br>
&nbsp;&nbsp; DPY-#ROM CHECKSUM ERROR OR OLD REV&nbsp;&nbsp; <br>
&nbsp;&nbsp; !STOP&nbsp;&nbsp; <br>
&nbsp;&nbsp; DPY-TESTING 6E ROM<br>
&nbsp;&nbsp; ROM @ 0-0FFF SIG 8B1A <br>
&nbsp;&nbsp; DPY-TESTING 6F ROM<br>
&nbsp;&nbsp; ROM @ 1000-1FFF SIG 8859<br>
&nbsp;&nbsp; DPY-TESTING 6H ROM<br>
&nbsp;&nbsp; ROM @ 2000-2FFF SIG 1934<br>
&nbsp;&nbsp; DPY-TESTING 6J ROM<br>
&nbsp;&nbsp; ROM @ 3000-3FFF SIG 0A4B <br>
&nbsp;&nbsp; GOTO MAINEND<br>
&nbsp;&nbsp; <br>
GOODROM:<br>
&nbsp;&nbsp; DPY-#ROM CHECKSUM OK&nbsp;&nbsp; <br>
&nbsp;&nbsp; EX DELAY&nbsp;&nbsp; <br>
&nbsp;&nbsp; GOTO MAINEND<br>
&nbsp;&nbsp; <br>
MAINEND:<br><br>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&nbsp;&nbsp;
<br>
&nbsp;&nbsp; ! MS PACMAN ROM TEST<br><br>
PROGRAM MSROM<br>
&nbsp;&nbsp; DPY-#&nbsp;&nbsp; <br>
&nbsp;&nbsp; DPY-WHAT ROM DO YOU HAVE&nbsp;&nbsp; <br>
&nbsp;&nbsp; EX DELAY<br>
SPEEDLOOP:&nbsp;&nbsp; <br>
&nbsp;&nbsp; DPY-0=NORMAL&nbsp; 1=SPEED UP \1&nbsp;&nbsp; <br>
&nbsp;&nbsp; IF REG1=0 GOTO NORMALTEST&nbsp;&nbsp; <br>
&nbsp;&nbsp; IF REG1=1 GOTO SPEEDTEST&nbsp;&nbsp; <br>
&nbsp;&nbsp; IF REG1&gt;1 GOTO SPEEDLOOP<br>
&nbsp;<br>
NORMALTEST:<br>
&nbsp;&nbsp; EX NORMAL&nbsp;&nbsp; <br>
&nbsp;&nbsp; GOTO TESTEND<br>
SPEEDTEST:&nbsp;&nbsp; <br>
&nbsp;&nbsp; EX SPEED&nbsp;&nbsp; <br>
&nbsp;&nbsp; GOTO TESTEND<br>
TESTEND:<br><br>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br>
&nbsp;&nbsp; !ROM TEST FOR NORMAL SPEED<br>
&nbsp;&nbsp; <br>
PROGRAM NORMAL<br><br>
DPY-TESTING NORMAL SPEED ROM<br>
ROM @ 0-0FFF SIG F241<br><br>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&nbsp;&nbsp;
<br>
&nbsp;&nbsp; !ROM TEST FOR SPEED UP ROM<br>
&nbsp;&nbsp; <br>
PROGRAM SPEED<br><br>
DPY-TESTING SPEED UP ROM<br>
ROM @ 0-0FFF SIG 7E69<br><br>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&nbsp;&nbsp;
<br>
&nbsp;&nbsp; ! CLONE ROM TEST&nbsp; Regular Speed<br>
&nbsp;&nbsp; <br>
PROGRAM CLONEROM<br><br>
DPY-TESTING PROCESSOR ROM<br>
ROM @ 0-3FFF SIG DB91<br>
DPY-TESTING 7H/J ROM<br>
ROM @ 8000-8FFF SIG 7DE1<br>
DPY-TESTING 7K-2716 ROM<br>
ROM @ 9000-97FF SIG 862A<br>
DPY-TESTING 7K-2732 ROM<br>
ROM @ 9000-9FFF SIG 06B5<br><br>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br>
&nbsp;&nbsp; ! RAM 4H &amp; 4L TEST<br>
&nbsp;&nbsp; <br>
PROGRAM RAM4HLTEST<br><br>
&nbsp;&nbsp; WRITE @ 4000 = 0&nbsp;&nbsp; <br>
&nbsp;&nbsp; WRITE @ 43FF = 11<br>
&nbsp;&nbsp; <br>
WAIT:<br>
&nbsp;&nbsp; READ @ REGF&nbsp;&nbsp; <br>
&nbsp;&nbsp; IF REGE = B0 GOTO WAIT&nbsp;&nbsp; <br>
&nbsp;&nbsp; IF REGE = B1 GOTO WAIT&nbsp;&nbsp; <br>
&nbsp;&nbsp; IF REGE = B2 GOTO WAIT&nbsp;&nbsp; <br><br>
&nbsp;&nbsp; IF REGE = C0 GOTO RAM4HLOK&nbsp;&nbsp; <br>
&nbsp;&nbsp; GOTO RAM4HLBAD<br>
&nbsp;&nbsp; <br>
RAM4HLOK:<br>
&nbsp;&nbsp; DPY-#RAM 4L AND 4H TEST OK&nbsp;&nbsp; <br>
&nbsp;&nbsp; EX DELAY&nbsp;&nbsp; <br>
&nbsp;&nbsp; GOTO RAM4HLEND<br>
&nbsp;&nbsp; <br>
RAM4HLBAD:&nbsp;&nbsp; <br>
&nbsp;&nbsp; RAM LONG @ 4000 - 43FF<br>
RAM4HLEND:<br>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br>
&nbsp;&nbsp; ! RAM 4J &amp; 4M TEST<br>
&nbsp;&nbsp; <br>
PROGRAM RAM4JMTEST&nbsp;&nbsp; <br>
&nbsp;&nbsp; WRITE @ 4400 = 0&nbsp;&nbsp; <br>
&nbsp;&nbsp; WRITE @ 47FF = 11<br><br>
WAIT:<br>
&nbsp;&nbsp; READ @ REGF&nbsp;&nbsp; <br>
&nbsp;&nbsp; IF REGE = B0 GOTO WAIT&nbsp;&nbsp; <br>
&nbsp;&nbsp; IF REGE = B1 GOTO WAIT&nbsp;&nbsp; <br>
&nbsp;&nbsp; IF REGE = B2 GOTO WAIT&nbsp;&nbsp; <br>
&nbsp;&nbsp; <br>
&nbsp;&nbsp; IF REGE = C0 GOTO RAM4JMOK&nbsp;&nbsp; <br>
&nbsp;&nbsp; GOTO RAM4JMBAD<br>
&nbsp;&nbsp; <br>
RAM4JMOK:<br>
&nbsp;&nbsp; DPY-#RAMS 4J AND 4M OK&nbsp;&nbsp; <br>
&nbsp;&nbsp; EX DELAY&nbsp;&nbsp; <br>
&nbsp;&nbsp; GOTO RAM4JMEND<br>
&nbsp;&nbsp; <br>
RAM4JMBAD:<br>
&nbsp;&nbsp; RAM LONG @ 4400 - 47FF<br>
RAM4JMEND:<br><br>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br>
&nbsp;&nbsp; ! RAM 4K &amp; 4N TEST<br>
&nbsp;&nbsp; <br>
PROGRAM RAM4KNTEST<br>
&nbsp;&nbsp; WRITE @ 4C00 = 0&nbsp;&nbsp; <br>
&nbsp;&nbsp; WRITE @ 4FFF = 11<br>
&nbsp;&nbsp; <br>
WAIT:<br>
&nbsp;&nbsp; READ @ REGF&nbsp;&nbsp; <br>
&nbsp;&nbsp; IF REGE = B0 GOTO WAIT&nbsp;&nbsp; <br>
&nbsp;&nbsp; IF REGE = B1 GOTO WAIT&nbsp;&nbsp; <br>
&nbsp;&nbsp; IF REGE = B2 GOTO WAIT<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp; IF REGE = C0 GOTO RAM4KNOK&nbsp;&nbsp; <br>
&nbsp;&nbsp; GOTO RAM4KNBAD<br>
&nbsp;&nbsp; <br>
RAM4KNOK:<br>
&nbsp;&nbsp; DPY-#RAM 4N AND 4K OK&nbsp;&nbsp; <br>
&nbsp;&nbsp; EX DELAY&nbsp;&nbsp; <br>
&nbsp;&nbsp; GOTO RAM4KNEND<br>
&nbsp;&nbsp; <br>
RAM4KNBAD:&nbsp;&nbsp; <br>
&nbsp;&nbsp; RAM LONG @ 4C00 - 4FFF<br>
RAM4KNEND:<br><br>
<br>
</font></html>

</x-html>
Received on Thu Jan 17 16:35:57 2002

This archive was generated by hypermail 2.1.8 : Tue Dec 02 2003 - 18:40:39 EST