ZX81 Listing for pim.p


ZX81 program listing for PICTURE IN MOTION*SLR/2021

PICTURE IN MOTION*SLR/2021 (pim.p)

This is an updated version of “The Picture” written in assembly using a line drawing routine by Simeon Dwyer. This version uses a double buffer to move the boat.


SYSTEM VARIABLES

PROG  : 16509
D-FILE: 18603
VARS  : 19396
E-LINE: 19397
STKBOT: 19397
STKEND: 19397


LEGEND

9999 means line number
PRINT means treat as KEYWORD P


PROGRAM LISTING

   1 REM /P BY STEVEN REID 2021 
* * PICTURE IN MOTION * *
30208   5  6ORND6QRND6RRNDLN +
INKEY$RETURN QASN ,INKEY$LN ?
INKEY$5  6ORND5RINKEY$LN 1INKEY$
EQRND6ORND5 STEP INKEY$LN 1
INKEY$LN ?INKEY$USRNDBTAB ö
INKEY$URRNDXMRRNDRETURN RETURN
TAB VAL RNDYñMSRND?VAL RNDURRNDW
MRRNDRETURN  TAB VAL RNDY MSRND?
VAL RND?>=£ORND MU?7?UPRND MV?7?
UORND MW?7?UPRND MX?7FAST LN ??
LPRINT ?1INKEY$GOSUB RND5¹?ñ
NOT òGOSUB KTAN )¹?E£RNDñNOT ò
GOSUB KTAN )Z?5??Y-ñ5 GOSUB SX
TAB ?INKEY$TAN úñ  M?INKEY$EORND
ùF?NEW ??6?INKEY$U?INKEY$?LN B
INKEY$LN Vò???=YñCOS LN X÷INKEY$
X?: " ?L4IF TAN  -A-P-RND-ôôùô!ô
úõùõù÷ùö÷!!!ô!ô!ò÷ò÷òöòöôõCOPY ;
AXAWARDRD2D2D;BKAK!K!H"H"K"K£,7,
7W7V7K£COPY LN /PIUM?ACS ?TAB Q
PILN ?PITAN UO?ACS ?""CHR$ RND
LIST UP?ACS ?""CHR$ ILIST Y MQ?U
O?ACS ZMO?KõYñMQ?UP?ACS ZMP?K!UQ
?ACS INT MQ?5¹?7)5 UP?RETURN  Cô
?;(CLEAR )  UO??;6R?TAN ER?UQ?
RETURN  C$RETURN ñC-RETURN òC3
RETURN óCCTAN SIN ?TAN ACS ·?
TAN INT ?TAN ACS ??TAN NOT ?TAN
ACS *?TAN INPUT ÷?TAN ER?UQ?
RETURN  C$RETURN ñC-RETURN òC3
RETURN óCCTAN ·?TAN ACS SIN ?
TAN ??TAN ACS INT ?TAN *?TAN
ACS NOT ?TAN INPUT ÷?TAN TAN UY?
?URND?(MPI?UZ??UINKEY$?(M??5??Qñ
UPI?ACS ?C$YCOPY M??UPI?GOSUB ?M
PI?U???UPI?ACS B(M??UY?M??UZ?M??
?UINKEY$?(C??VAL U??MP?WM??U??MO
?LN ùPIU??ACS ?43U???U?? M??U???
UPI?(ACS B?U?? M??/$UPI?ACS B?U?
? M??AT (Q5M?ACS :TAN UU?MO?UV?M
P?LN ùPITAN UY??URND?(MPI?UZ??U
INKEY$?(M??5??QñACS ?C$YCOPY M??
U??GOSUB ?M??UPI??U??ACS B(M??UZ
?M??UY?M???URND?(C8?VAL U??MO?WM
??U??MP?LN ùPIU??ACS ?43U???U?? 
M??UPI??U??(ACS B?U?? M??/$U??
ACS B?U?? M??AT (Q5M?ACS :TAN 5M
?ACS EXP UU?MY?UW?MRND?UV?MZ?UX?
MINKEY$?UV??UX?(GOSUB ??UU??UW
?(GOSUB ?)S)UW??UU?( AND J?LN
B??J?UX??UV?( AND COPY PILN B??
COPY PIUV??UX?MZ??MINKEY$?UU??UW
?MY??MRND?TAN CHR$ RNDRETURN RND
Kú5??)  ?;CHR$ RND5¸?)  ?RZ
GOSUB ?CHR$  5??)  ?;5¸?)  ?RZ
GOSUB ?ZRETURN  C3?UT?5  ?FAST
SGN ;(CLEAR ö÷ACS XACS WKòACS
CLEAR (PLOT ACS ?COS ?GOSUB ??
TAN                         óöù£
(<-;0369CFILNQTWZINKEY$?????????
?????????????????
30841 ????
   0                            
 
   0                            
 
   0                            
 
   0                            
 
   0                            
 
   0                            
 
   0                            
 
   0                            
 
   0                            
 
   0                            
 
   0                            
 
   0                            
 
   0                            
 
   0                            
 
   0                            
 
   0                            
 
   0                            
 
   0                            
 
   0                            
 
   0                            
 
   0                            
 
   0                            
 
   0                            
 
30208  RAND USR 16569
   3 STOP
   4 SAVE "PIM"
   5 RUN