~ 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. ^ )

@