home *** CD-ROM | disk | FTP | other *** search
- : PRINT-DIGIT ( X / Y / DIGIT -> NEXTX / Y )
- 3 + >R 2DUP R>
- SPRITE-AREA SWAP GET-SPRITE-CTRL-BLOCK >R>
- SPRITE-AREA SWAP 2SWAP 8 PUT-SPRITE
- SPRITE-AREA R> SPRITE-SIZE
- DROP 1 << SWAP >R + R>
- ;
-
- : PRINT-ZEROS ( X / Y / NUMBER -> )
- 10000000 /MOD SWAP >R PRINT-DIGIT R>
- 1000000 /MOD SWAP >R PRINT-DIGIT R>
- 100000 /MOD SWAP >R PRINT-DIGIT R>
- 10000 /MOD SWAP >R PRINT-DIGIT R>
- 1000 /MOD SWAP >R PRINT-DIGIT R>
- 100 /MOD SWAP >R PRINT-DIGIT R>
- 10 /MOD SWAP >R PRINT-DIGIT R>
- PRINT-DIGIT
- 2DROP
- ;
-
- : PRINT-NO-ZEROS ( X / Y / NUMBER -> )
- 10000000 /MOD SWAP >R -DUP IF PRINT-DIGIT THEN R>
- 1000000 /MOD SWAP >R -DUP IF PRINT-DIGIT THEN R>
- 100000 /MOD SWAP >R -DUP IF PRINT-DIGIT THEN R>
- 10000 /MOD SWAP >R -DUP IF PRINT-DIGIT THEN R>
- 1000 /MOD SWAP >R -DUP IF PRINT-DIGIT THEN R>
- 100 /MOD SWAP >R -DUP IF PRINT-DIGIT THEN R>
- 10 /MOD SWAP >R -DUP IF PRINT-DIGIT THEN R>
- PRINT-DIGIT
- 2DROP
- ;
-
- : PRINT-NUMBER ( X / Y / NUMBER / FLAG -> )
- IF
- PRINT-ZEROS
- ELSE
- PRINT-NO-ZEROS
- THEN
- ;
-