Re: Bare Bones Test Program idea?

From: John Robertson <jrr_at_flippers.com>
Date: Thu Feb 28 2002 - 11:31:14 EST

<x-html>
<html>
Someone's been busy! <br><br>
You don't need the line INCLUDE Z80.POD until we figure out the Z80QT, as
that activates the features as far as I know...Add a <br><br>
!DATE LAST MODIFIED <br><br>
at the top, you loose sight of which edits work otherwise, the switch
test in the GALAGA script works fine by the way, clip and edit it...plus
you need to create some error message routines. The examples, again in
Galaga.s work as a good template.<br><br>
I was going to get a student to type in the Guided Fault programs in the
next week or two...That is also a template for building programs. Does
everyone know what I am talking about or do I need to scan in another
book? The title is:<br><br>
<b>Application Information B0138 How to Use the 9010A for Guided Fault
Isolation.<br><br>
</b>I suspect it needs to be scanned in...20 pages. Unfortunately my text
recognition software (ISIS) can't figure out the Dot Matrix type that was
used for the program listing...<br><br>
John:-#)#<br><br>
At 08:14 AM 28/02/2002 -0500, Kev wrote:<br><br>
<blockquote type=cite class=cite cite>I wanted to see if the group is
interested in developing a &quot;standard&quot;<br>
program design for the 9010A.<br><br>
Attached is a layout, that is a kluge of features I liked in Asteroids
&amp;<br>
Galaga test programs and the beginings of a Donkey Kong Jr test
program.<br><br>
It will not run but it may be helpful as a consistent starting point
for<br>
programs we write.<br><br>
Any &amp; all suggestions/comments appreciated.<br><br>
Kev<br><br>
! *GAMENAME Test Routine<br>
! Use in CPU Z80 processor socket<br><br>
INCLUDE &quot;Z80.POD&quot;<br><br>
SETUP<br><br>
&nbsp;&nbsp; TRAP ACTIVE FORCE LINE NO<br>
&nbsp;&nbsp; TRAP ACTIVE INTERRUPT NO<br><br>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br>
!<br>
! MAIN LOOP ROUTINE<br><br>
! Proposed standard<br>
! 1 = RAM Test<br>
! 2 = ROM Test<br>
! 3 = SND Test<br>
! 4 = I/O Test<br>
! 5 = DIP Test<br>
! 6 = PROBE Test<br>
! 0 = Run UUT<br>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br>
!<br><br>
PROGRAM 0<br>
&nbsp;&nbsp; DPY-*GAMENAME TST<br>
&nbsp;&nbsp; DPY-+-PRESS CONT<br>
&nbsp;&nbsp; STOP<br><br>
MAINLOOP:<br>
&nbsp;&nbsp; DPY-MNU 1=RAM 2=ROM 3=SND 4=IO 5=DIP<br>
&nbsp;&nbsp; IF REG1 = 1 GOTO 1<br>
&nbsp;&nbsp; IF REG1 = 2 GOTO 2<br>
&nbsp;&nbsp; IF REG1 = 3 GOTO 3<br>
&nbsp;&nbsp; IF REG1 = 4 GOTO 4<br>
&nbsp;&nbsp; IF REG1 = 5 GOTO 5<br>
&nbsp;&nbsp; IF REG1 = 6 GOTO 6<br>
&nbsp;&nbsp; IF REG1 = 0 GOTO A<br>
&nbsp;&nbsp; GOTO MAINLOOP<br><br>
<br><br>
1: LABEL 1<br>
&nbsp;&nbsp; EXECUTE PROGRAM TSTRAM<br>
&nbsp;&nbsp; GOTO MAINLOOP<br>
2: LABEL 2<br>
&nbsp;&nbsp; EXECUTE PROGRAM TSTROM<br>
&nbsp;&nbsp; GOTO MAINLOOP<br>
3: LABEL 3<br>
&nbsp;&nbsp; EXECUTE PROGRAM TSTSND<br>
&nbsp;&nbsp; GOTO MAINLOOP<br>
4: LABEL 4<br>
&nbsp;&nbsp; EXECUTE PROGRAM TSTIO<br>
&nbsp;&nbsp; GOTO MAINLOOP<br>
5: LABEL 5<br>
&nbsp;&nbsp; EXECUTE PROGRAM TSTDIP<br>
&nbsp;&nbsp; GOTO MAINLOOP<br>
6: LABEL 6<br>
&nbsp;&nbsp; EXECUTE PROGRAM TSTPRB<br>
&nbsp;&nbsp; GOTO MAINLOOP<br><br>
A: LABEL A<br>
&nbsp;&nbsp; EXECUTE PROGRAM TSTRUN<br>
&nbsp;&nbsp; GOTO MAINLOOP<br><br>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br>
!<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; !RAM TEST<br><br>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br>
!<br><br>
PROGRAM TSTRAM<br>
&nbsp;&nbsp; DPY-TESTING PGM RAM R3 M3#<br>
&nbsp;&nbsp; RAM SHORT @ 4000-43FF<br>
&nbsp;&nbsp; DPY-+-PRESS CONT#<br>
&nbsp;&nbsp; STOP<br><br>
<br>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br>
!<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; !ROM TEST<br><br>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br>
!<br><br>
PROGRAM TSTROM<br><br>
0: LABEL 0<br>
&nbsp;&nbsp; DPY-ROM VERSION 1 OR 2 ? /1<br>
&nbsp;&nbsp; IF REG1 = 1 GOTO 1<br>
&nbsp;&nbsp; IF REG1 = 2 GOTO 2<br>
&nbsp;&nbsp; GOTO 0<br>
2: LABEL 2<br>
&nbsp;&nbsp; DPY-TESTING ROM F1<br>
&nbsp;&nbsp; ROM TEST @ 6800-6FFF SIG 53C9<br>
&nbsp;&nbsp; DPY-TESTING ROM D E1<br>
&nbsp;&nbsp; ROM TEST @ 7000-77FF SIG 3D7A<br>
&nbsp;&nbsp; DPY-TESTING ROM C1<br>
&nbsp;&nbsp; ROM TEST @ 7800-7FFF SIG 232F<br>
&nbsp;&nbsp; DPY-TESTING VECTOR ROM NP3<br>
&nbsp;&nbsp; ROM TEST @ 5000-57FF SIG CBED<br>
&nbsp;&nbsp; GOTO F<br>
1: LABEL 1<br>
F: LABEL F<br>
&nbsp;&nbsp; DPY-ROM TEST COMPLETE<br>
&nbsp;&nbsp; STOP<br><br>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br>
!<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; !SND TEST<br><br>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br>
!<br><br>
PROGRAM TSTSND<br><br>
&nbsp;&nbsp; REG1 = 40<br>
&nbsp;&nbsp; DPY-Rivet SND. CONT=NEXT<br>
&nbsp;&nbsp; DPY-+ SND%1#<br>
0: LABEL 0<br>
&nbsp;&nbsp; WRITE @7C00 = 05<br>
&nbsp;&nbsp; IF REG1 = 25 GOTO 1<br>
&nbsp;&nbsp; GOTO 0<br>
1: LABEL 1<br>
&nbsp;&nbsp; REG1 = 40<br>
&nbsp;&nbsp; DPY-Springs SND. CONT=NEXT SND%1#<br>
2: LABEL 2<br>
&nbsp;&nbsp; WRITE @ 7C00 = 0A<br>
&nbsp;&nbsp; IF REG1 = 25 GOTO 3<br>
&nbsp;&nbsp; GOTO 2<br>
3: LABEL 3<br>
&nbsp;&nbsp; REG1 = 40<br>
&nbsp;&nbsp; DPY-JUMP SND. CONT=NEXT<br>
&nbsp;&nbsp; DPY-+ SND%1#<br>
4: LABEL 4<br>
&nbsp;&nbsp; WRITE @ 7D01 = FF<br>
&nbsp;&nbsp; IF REG1 = 25 GOTO 5<br>
&nbsp;&nbsp; GOTO 4<br>
5: LABEL 5<br>
&nbsp;&nbsp; REG1 = 40<br>
&nbsp;&nbsp; DPY-STOMP SND.CONT=NEXT<br>
&nbsp;&nbsp; DPY-+ SND%1#<br>
6: LABEL 6<br>
&nbsp;&nbsp; WRITE @ 7D02 = FF<br>
&nbsp;&nbsp; IF REG1 = 25 GOTO 7<br>
&nbsp;&nbsp; GOTO 6<br>
7: LABEL 7<br>
&nbsp;&nbsp; REG1 = 40<br>
&nbsp;&nbsp; DPY-COIN SND. CONT=<br>
&nbsp;&nbsp; DPY-+NEXT SND%1#<br>
8: LABEL 8<br>
&nbsp;&nbsp; WRITE @ 7D03 = FF<br>
&nbsp;&nbsp; IF REG1 = 25 GOTO 9<br>
&nbsp;&nbsp; GOTO 8<br>
9: LABEL 9<br>
&nbsp;&nbsp; REG1 = 40<br>
&nbsp;&nbsp; DPY-PRIZE SND. CONT=NEXT<br>
&nbsp;&nbsp; DPY-+ SND%1#<br>
A: LABEL A<br>
&nbsp;&nbsp; WRITE @ 7D05 = FF<br>
&nbsp;&nbsp; IF REG1 = 25 GOTO B<br>
&nbsp;&nbsp; GOTO A<br>
B: LABEL B<br>
&nbsp;&nbsp; REG1 = 40<br>
&nbsp;&nbsp; DPY-DEAD SND. CONT=NEXT SND%1#<br>
C: LABEL C<br>
&nbsp;&nbsp; WRITE @ 7D80 = FF<br>
&nbsp;&nbsp; IF REG1 = 25 GOTO F<br>
&nbsp;&nbsp; GOTO C<br>
F: LABEL F<br>
&nbsp;&nbsp; REG1 = 40<br>
&nbsp;&nbsp; DPY-SND TESTS COMPLETE. PRESS<br>
&nbsp;&nbsp; DPY-+ CONT%1#<br>
&nbsp;&nbsp; STOP<br><br>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br>
!<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; !I/O TEST<br><br>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br>
!<br><br>
PROGRAM TSTIO<br>
&nbsp;&nbsp; STOP<br><br>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br>
!<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; !DIP SWITCH TEST<br>
!<br>
! For the DIP Test I was imagining a All on &amp; All off test<br>
! Perhaps a on/off/on/off/on/off/on/off then reverse test would be
better?<br>
!<br>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br>
!<br><br>
PROGRAM TSTDIP<br>
&nbsp;&nbsp; STOP<br><br>
<br>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br>
!<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; !PROBE TEST<br><br>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br>
!<br><br>
PROGRAM TSTPRB<br><br>
&nbsp;&nbsp; SYNC ADDRESS<br>
&nbsp;&nbsp; DPY-PLACE PROBE ON POINTS<br>
&nbsp;&nbsp; DPY-+ SHOWN.#<br>
&nbsp;&nbsp; STOP<br>
&nbsp;&nbsp; DPY-FLIP 5J-6.#<br>
&nbsp;&nbsp; STOP<br>
&nbsp;&nbsp; REGB = 1<br>
&nbsp;&nbsp; REG9 = 7D82<br>
&nbsp;&nbsp; REGB = 40<br>
&nbsp;&nbsp; EXECUTE PROGRAM 65<br>
&nbsp;&nbsp; STOP<br><br>
PROGRAM 65&nbsp;&nbsp; 116 BYTES<br><br>
&nbsp;&nbsp; READ PROBE<br>
&nbsp;&nbsp; REG1 = REGB<br>
1: LABEL 1<br>
&nbsp;&nbsp; IF REG8 = 0 GOTO 2<br>
&nbsp;&nbsp; READ @ REG9<br>
&nbsp;&nbsp; GOTO 3<br>
2: LABEL 2<br>
&nbsp;&nbsp; WRITE @ REG9 = REGA<br>
3: LABEL 3<br>
&nbsp;&nbsp; DEC REG1<br>
&nbsp;&nbsp; IF REG1 &gt; 0 GOTO 1<br>
&nbsp;&nbsp; READ PROBE<br>
&nbsp;&nbsp; REG0 = REG0 AND 7F<br>
&nbsp;&nbsp; IF REG0 = REGB GOTO 4<br>
&nbsp;&nbsp; DPY-+CNT BAD.<br>
&nbsp;&nbsp; GOTO 5<br>
4: LABEL 4<br>
&nbsp;&nbsp; DPY-+ OK.<br>
5: LABEL 5<br>
&nbsp;&nbsp; DPY-+COUNT @0=@B#<br>
&nbsp;&nbsp; STOP<br><br>
<br>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br>
!<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; !RUN UUT TEST<br><br>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br>
!<br><br>
PROGRAM TSTRUN<br><br>
&nbsp;&nbsp; DPY-RUNNING BOARD<br>
&nbsp;&nbsp; RUN UUT<br>
&nbsp;&nbsp; STOP</blockquote></html>

</x-html>
Received on Thu Feb 28 09:14:07 2002

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