~ Z80.MSE
4 s: ~ Number of seconds to pause
125 N: ~ N = number of cycles in 1 second, where 1 cycle is
~ the time it takes to execute w. 1- w: s. ^
#S,s.; ~ Pause s seconds
26 !' ~ Clear the screen
"!Z80.MSE (2/2/85)!"
#S,s.; ~ Pause s seconds
26 !' ~ Clear the screen
~ The program draws Z80 Mouse .
8 0 1- R: C: ~ Establish offsets
'Z G: ~ Establish plotting graphic
#Z; ~ Draw Z
'8 G: ~ New graphic
#E; ~ Draw 8
'0 G: ~ New graphic
#R; ~ Draw 0
'M G: ~ New graphic
#M; ~ Draw Mouse
#P,03,10; " Z80 Mouse "
#P,05,10; " (2/2/85) "
#P,19,58; " L + L "
~ End of main program
$Z ~ The letter Z's data
#H,10,3,10; #H,11,9,2; #H,12,8,2; #H,13,7,2; #H,14,6,2;
#H,15,5,2; #H,16,4,2; #H,17,3,2; #H,18,2,2; #H,19,1,21;
@
$E ~ The number 8's data
#H,18,19,2; #H,17,18,2; #Q,16,18; #H,15,18,2; #H,14,20,2;
#H,13,19,2; #Q,12,19; #H,11,19,2; #H,10,21,5; #H,11,26,2;
#Q,12,27; #H,13,25,2; #H,14,24,2; #H,15,26,2; #Q,16,27;
#H,17,26,2; #H,18,25,2; #H,19,23,11;
@
$R ~ The number 0's data
#Q,19,34; #Q,18,34; #H,17,32,2; #H,16,31,2; #H,15,30,2;
#Q,14,30; #H,13,30,2; #H,12,31,2; #H,11,32,2; #H,10,34,2;
#H,11,36,2; #H,12,37,2; #H,13,38,2; #Q,14,39; #H,15,38,2;
#H,16,37,2; #H,17,36,2; #Q,18,35; #H,19,34,13;
@
$M ~ The Mouse !
#Q,19,46; #H,18,46,4; #H,17,43,3; #K,14,42,3; #Q,13,43;
#H,12,44,2; #H,11,46,2; #Q,12,48; #Q,10,48; #Q,9,49; #H,8,46,2;
#Q,8,49; #H,7,44,2; #H,7,48,2; #H,6,43,2; #Q,6,50; #H,5,42,2;
#H,4,42,2; #Q,3,44; #H,2,45,3; #H,3,48,3; #Q,2,51; #H,1,52,2;
#K,2,54,2; #H,3,55,3; #H,2,58,3; #Q,3,61; #H,4,62,2; #H,5,62,2;
#H,6,61,2; #H,6,55,2; #H,7,56,2; #H,7,60,2; #Q,8,55; #H,8,58,2;
#Q,9,55; #Q,10,56; #H,11,55,2; #Q,12,54; #Q,12,58; #Q,13,59; #K,14,60,2;
#Q,16,59; #H,17,57,3; #Q,17,62; #H,18,54,8; #H,19,50,4;
@
$Q ~ Shorthand !
#P,1%,2%; G. !'
@
$P ~ Position cursor at row 1% R. +
~ col 2% C. +
27 !' "=" 1% R. 32 ++ !'
2% C. 32 ++ !'
@
$H ~ Draws a 3% unit horizontal line (from left to right) from 1%,2%
2% c: ~ c holds column
3% w:
(w. ^ #Q,1%,c.; w. 1- w: c. 1+ c:)
@
$K ~ Draws a 3% unit vertical line (from top down) from 1%,2%
1% r: ~ r holds the row
3% w:
(w. ^ #Q,r.,2%; w. 1- w: r. 1+ r:)
@
$S ~ Pause 1% second(s)
N. 1% * w: ( w. 1- w: w. ^ )
@