I wanted to see if the group is interested in developing a "standard"
program design for the 9010A.
Attached is a layout, that is a kluge of features I liked in Asteroids &
Galaga test programs and the beginings of a Donkey Kong Jr test program.
It will not run but it may be helpful as a consistent starting point for
programs we write.
Any & all suggestions/comments appreciated.
Kev
! *GAMENAME Test Routine
! Use in CPU Z80 processor socket
INCLUDE "Z80.POD"
SETUP
TRAP ACTIVE FORCE LINE NO
TRAP ACTIVE INTERRUPT NO
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! MAIN LOOP ROUTINE
! Proposed standard
! 1 = RAM Test
! 2 = ROM Test
! 3 = SND Test
! 4 = I/O Test
! 5 = DIP Test
! 6 = PROBE Test
! 0 = Run UUT
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
PROGRAM 0
DPY-*GAMENAME TST
DPY-+-PRESS CONT
STOP
MAINLOOP:
DPY-MNU 1=RAM 2=ROM 3=SND 4=IO 5=DIP
IF REG1 = 1 GOTO 1
IF REG1 = 2 GOTO 2
IF REG1 = 3 GOTO 3
IF REG1 = 4 GOTO 4
IF REG1 = 5 GOTO 5
IF REG1 = 6 GOTO 6
IF REG1 = 0 GOTO A
GOTO MAINLOOP
1: LABEL 1
EXECUTE PROGRAM TSTRAM
GOTO MAINLOOP
2: LABEL 2
EXECUTE PROGRAM TSTROM
GOTO MAINLOOP
3: LABEL 3
EXECUTE PROGRAM TSTSND
GOTO MAINLOOP
4: LABEL 4
EXECUTE PROGRAM TSTIO
GOTO MAINLOOP
5: LABEL 5
EXECUTE PROGRAM TSTDIP
GOTO MAINLOOP
6: LABEL 6
EXECUTE PROGRAM TSTPRB
GOTO MAINLOOP
A: LABEL A
EXECUTE PROGRAM TSTRUN
GOTO MAINLOOP
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
!RAM TEST
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
PROGRAM TSTRAM
DPY-TESTING PGM RAM R3 M3#
RAM SHORT @ 4000-43FF
DPY-+-PRESS CONT#
STOP
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
!ROM TEST
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
PROGRAM TSTROM
0: LABEL 0
DPY-ROM VERSION 1 OR 2 ? /1
IF REG1 = 1 GOTO 1
IF REG1 = 2 GOTO 2
GOTO 0
2: LABEL 2
DPY-TESTING ROM F1
ROM TEST @ 6800-6FFF SIG 53C9
DPY-TESTING ROM D E1
ROM TEST @ 7000-77FF SIG 3D7A
DPY-TESTING ROM C1
ROM TEST @ 7800-7FFF SIG 232F
DPY-TESTING VECTOR ROM NP3
ROM TEST @ 5000-57FF SIG CBED
GOTO F
1: LABEL 1
F: LABEL F
DPY-ROM TEST COMPLETE
STOP
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
!SND TEST
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
PROGRAM TSTSND
REG1 = 40
DPY-Rivet SND. CONT=NEXT
DPY-+ SND%1#
0: LABEL 0
WRITE @7C00 = 05
IF REG1 = 25 GOTO 1
GOTO 0
1: LABEL 1
REG1 = 40
DPY-Springs SND. CONT=NEXT SND%1#
2: LABEL 2
WRITE @ 7C00 = 0A
IF REG1 = 25 GOTO 3
GOTO 2
3: LABEL 3
REG1 = 40
DPY-JUMP SND. CONT=NEXT
DPY-+ SND%1#
4: LABEL 4
WRITE @ 7D01 = FF
IF REG1 = 25 GOTO 5
GOTO 4
5: LABEL 5
REG1 = 40
DPY-STOMP SND.CONT=NEXT
DPY-+ SND%1#
6: LABEL 6
WRITE @ 7D02 = FF
IF REG1 = 25 GOTO 7
GOTO 6
7: LABEL 7
REG1 = 40
DPY-COIN SND. CONT=
DPY-+NEXT SND%1#
8: LABEL 8
WRITE @ 7D03 = FF
IF REG1 = 25 GOTO 9
GOTO 8
9: LABEL 9
REG1 = 40
DPY-PRIZE SND. CONT=NEXT
DPY-+ SND%1#
A: LABEL A
WRITE @ 7D05 = FF
IF REG1 = 25 GOTO B
GOTO A
B: LABEL B
REG1 = 40
DPY-DEAD SND. CONT=NEXT SND%1#
C: LABEL C
WRITE @ 7D80 = FF
IF REG1 = 25 GOTO F
GOTO C
F: LABEL F
REG1 = 40
DPY-SND TESTS COMPLETE. PRESS
DPY-+ CONT%1#
STOP
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
!I/O TEST
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
PROGRAM TSTIO
STOP
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
!DIP SWITCH TEST
!
! For the DIP Test I was imagining a All on & All off test
! Perhaps a on/off/on/off/on/off/on/off then reverse test would be better?
!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
PROGRAM TSTDIP
STOP
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
!PROBE TEST
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
PROGRAM TSTPRB
SYNC ADDRESS
DPY-PLACE PROBE ON POINTS
DPY-+ SHOWN.#
STOP
DPY-FLIP 5J-6.#
STOP
REGB = 1
REG9 = 7D82
REGB = 40
EXECUTE PROGRAM 65
STOP
PROGRAM 65 116 BYTES
READ PROBE
REG1 = REGB
1: LABEL 1
IF REG8 = 0 GOTO 2
READ @ REG9
GOTO 3
2: LABEL 2
WRITE @ REG9 = REGA
3: LABEL 3
DEC REG1
IF REG1 > 0 GOTO 1
READ PROBE
REG0 = REG0 AND 7F
IF REG0 = REGB GOTO 4
DPY-+CNT BAD.
GOTO 5
4: LABEL 4
DPY-+ OK.
5: LABEL 5
DPY-+COUNT @0=@B#
STOP
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
!RUN UUT TEST
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
PROGRAM TSTRUN
DPY-RUNNING BOARD
RUN UUT
STOP
Received on Thu Feb 28 08:17:21 2002
This archive was generated by hypermail 2.1.8 : Tue Dec 02 2003 - 18:40:40 EST