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