Bare Bones Test Program idea?

From: Kev <KKlopp_at_erols.com>
Date: Thu Feb 28 2002 - 08:14:54 EST

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