home *** CD-ROM | disk | FTP | other *** search
-
- ~ COW.MSE, Lee Bradley, 17 Nov 90
- ~
- ~ Myz80 version, 2/20/93
- ~
- ~ Note: Changed all uses of '" to 34. The Z80 interpreter is not smart enuf
- ~ to handle '".
-
- 1000 y : ~ set delay parameter
- #C; ~ turn cursor off
- #D,y.2*;
- #Z; #P,22,28; "COW, Myz80 Version 0.1" #D,y.2*; ~ announce program
- #P,22,1; #E; ~ clear the line
- #P,12,8; ~ ask how long a run they want
- "How many " '" !' "cow frames" '" !' " do you want? " #O; ?
- #P,12,1; #D,y.; #E; ~ clear the line
- #C; r : ~ set repetitions
- 0 1 - d: ~ initialze "color"
-
- (
- r. ^ r. 1 - r : ~ main loop
- #Z; ~ clear screen between frames
- 0 j : ~ initialize row
- (
- 15 j. - ^ ~ loop on row
- 8 i : ~ initialize col
- (
- 47 i. - ^ ~ loop on col
- d. 1 + 7 \ d : ~ change "color"
- #P,j.1+,i.; " ( )"
- #P,j.2+,i.; " (" #A,12; "oo" #A,0; ")"
- #P,j.3+,i.; " /-------\/"
- #P,j.4+,i.; " / | "d. 48 + !' " ||"
- #P,j.5+,i.; " * ||----||"
- #P,j.6+,i.; " ** **"
- i. 19 + i : ~ bump col
- #D,y.10/;
- )
- j. 7 + j : ~ bump row
- )
- #D,y.3*;
- )
-
- #P,22,28; "COW, Myz80 Version 0.1" #D,y.;
- #P,22,1;
- #O; ~ turn cursor back on
-
- ~ macros follow ...
-
- $D ~ delay macro
- 1% w : ( w. ^ w. 1 - w : ) @
-
- $P ~ position cursor macro (Myz80)
- 2% ' + 1% ' + '= '[ '@ - !' !' !' !' @
-
- $Z ~ clear screen (Myz80) (esc +)
- '+ '[ '@ - !' !' @
-
- $C ~ cursor off macro (Myz80) (esc " 6)
- '6 34 '[ '@ - !' !' !' @
-
- $O ~ cursor on macro (Myz80) (esc " 3)
- '3 34 '[ '@ - !' !' !' @
-
- $A ~ attribute macro (Myz80) (esc G 0-8)
- 1% '0 + 'G '[ '@ - !' !' !' @ ~ 0=nml, 1=unl, 2=dim, 4=rev, 8=blk
-
- $E ~ erase to end of line (Myz80) (^X)
- 'X '@ - !' @
-