Home » Personal collection » Acorn DFS disks » dfs_box03_disk08b_rq_forth_toolkit.scp » 060-079

060-079

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Personal collection » Acorn DFS disks » dfs_box03_disk08b_rq_forth_toolkit.scp
Filename: 060-079
Read OK:
File size: 2800 bytes
Load address: 5000
Exec address: 5000
Duplicates

There is 1 duplicate copy of this file in the archive:

File contents
( Turtle Graphics         Load )                                  decimal  061 071 thru   exit                                                                                                                                       This is the Load Block          for the Turtle Graphics                                                                                                                                                                                                                                    ( Turtle Graphics         1/11 )                                  decimal                                                         variable HEADING                variable B-COL  ( background )  variable F-COL  ( foreground )  variable T-ST   ( turtle     )  variable P-ST   ( pen        )                                : MODE 22 emit emit ;   ( n __ )                                : PLOT              ( x y n __ )   25 emit emit swap unpack emit   emit unpack emit emit ;                                      ( Turtle Graphics         2/11 )                                  decimal                                                       : SETCOL   ( logical actual __ )   19 emit swap emit emit          0 emit 0 emit 0 emit ;                                       : IS-BLACK   0 setcol ;         : IS-RED     1 setcol ;         : IS-GREEN   2 setcol ;         : IS-YELLOW  3 setcol ;         : IS-BLUE    4 setcol ;         : IS-MAGENTA 5 setcol ;         : IS-CYAN    6 setcol ;         : IS-WHITE   7 setcol ;         ( Turtle Graphics         3/11 )                                  decimal                                                       : GCOL     ( logical action __ )   18 emit emit emit ;                                          : INK             ( logical __ )   dup f-col ! 0 gcol ;                                         : PAPER           ( logical __ )   dup b-col ! 128 + 0 gcol ;                                                                                                                                   ( Turtle Graphics         4/11 )  decimal                       : QUAD                             180 /mod 2 mod                  if negate endif  dup abs 90 >   if dup 90 mod 2* - endif ;                                   : DEGRAD 31416 180 */ ;                                         : SIN   ( degrees __ 10000*sin )   quad degrad dup dup 4 1 do      3 pick 10000 */ i 2* dup 1+ *   / 3 pick 10000 */ negate dup    >r + r> loop drop swap drop ;                                : COS 90 + sin ;                ( Turtle Graphics         5/11 )  decimal                                                       : TURTLE                  ( __ )   t-st @ if heading @ sin dup     17 10000 */ swap 47 10000 */    heading @ cos dup 17 10000 */   swap 47 10000 */ 2 pick 4       pick - 5 pick 3 pick + negate   f-col @ 4 gcol                  p-st @ if 8 else 9 endif plot   2 pick 2* negate 5 pick 2*      p-st @ if 8 else 9 endif plot   4 roll - rot rot + swap         p-st @ if 81 else 9 endif       plot f-col @ 0 gcol endif ;  ( Turtle Graphics         6/11 )  decimal                       : HIDETURTLE              ( __ )   t-st @                          if turtle 0 t-st ! endif ;   : SHOWTURTLE              ( __ )   t-st @ not                      if 1 t-st ! turtle endif ;                                   : FACE            ( degrees __ )   turtle heading ! turtle ;                                    : NORTH   0 face ;              : EAST   90 face ;              : SOUTH 180 face ;              : WEST  270 face ;              ( Turtle Graphics         7/11 )  decimal                                                       : FORWARD               ( n __ )   turtle dup heading @ sin        10000 */ swap heading @ cos     10000 */ p-st @ 8 + plot        turtle ;                     : BACK                  ( n __ )   negate forward ;                                             : RIGHT           ( degrees __ )   turtle heading @ + 360 mod      heading ! turtle ;           : LEFT            ( degrees __ )   negate right ;               ( Turtle Graphics         8/11 )  decimal                       : PENUP                   ( __ )   p-st @ if turtle 0 p-st !       turtle endif ;                                               : PENDOWN                 ( __ )   p-st @ not if turtle 1 p-st !   turtle endif ;                                               : SETPOS              ( x y __ )   turtle p-st @ 4 + plot turtle   ;                                                            : HOME                    ( __ )   640 512 setpos ;             ( Turtle Graphics         9/11 )  decimal                       : WINDOW      ( n1 n2 n3 n4 __ )   28 5 0 do emit loop ;        : (DRAW)                ( n __ )   mode        0 paper  1 ink      0 heading ! 0 p-st ! 0 p-st !   home pendown showturtle ;                                    : DRAW2    ( 2-colour drawings )   4 (draw) 28 39 31 0 window      0 is-black 1 is-white ;      : DRAW4    ( 4-colour drawings )   5 (draw) 28 19 31 0 window      0 is-white 1 is-red             2 is-blue  3 is-green ;      ( Turtle Graphics        10/11 )                                  decimal                                                       : FD forward ;          ( n __ ): BK back ;             ( n __ ): LT left ;       ( degrees __ ): RT right ;      ( degrees __ )                                : NH north ;              ( __ ): SH south ;              ( __ ): ET east ;               ( __ ): WT west ;               ( __ )                                : DOT 4 fd 4 bk ;         ( __ )                                ( Turtle Graphics        11/11 )                                  decimal                                                       : TRIANGLE              ( n __ )   3 0 do dup fd 120 rt loop       drop ;                       : SQUARE                ( n __ )   4 0 do dup fd 90 rt loop        drop ;                       : PENTAGON              ( n __ )   5 0 do dup fd 72 rt loop        drop ;                       : HEXAGON               ( n __ )   6 0 do dup fd 60 rt loop        drop ;                       ( Turtle Demonstration    Load )                                  decimal  073 079 thru   exit                                                                                                                                       This is the Load Block          for the Turtle Graphics         Demonstration                                                                                                                                                                                                              ( Turtle Demonstration     1/7 )                                  decimal                                                       : (C-CURVE)     ( n degrees __ )   over 17 <                       if   nh rt fd                   else >r 13860 19601 */ dup           r@ 45 - (c-curve)               r> 45 + (c-curve)          endif ;                                                      : C-CURVE                 ( __ )   draw2 hideturtle                penup 200 bk pendown            480 0 (c-curve) ;            ( Turtle Demonstration     2/7 )  decimal                                                       : (D-CURVE)   ( s n degrees __ )   over 17 <                       if   nh rt fd                   else >r 13860 19601 */               >r 45 * -1 r> 1 over            r@ 6 pick - (d-curve)           r> 4 pick + (d-curve)      endif drop ;                                                 : DRAGON-CURVE            ( __ )   draw2 hideturtle                penup 200 bk pendown            1 480 0 (d-curve) ;          ( Turtle Demonstration     3/7 )                                  decimal                                                       : (NESTED-TRIANGLES)    ( n __ )   dup 17 <                        if drop exit endif              3 0 do                          dup 2/ (nested-triangles)       dup fd 120 rt loop drop ;                                    : NESTED-TRIANGLES        ( __ )   draw2 hideturtle                penup 500 300 setpos pendown    512 (nested-triangles) ;                                     ( Turtle Demonstration     4/7 )  decimal                       : (SNOW)                ( n __ )   dup 17 <                        if   fd                         else 2/ dup dup 60 rt (snow)         60 lt (snow)                    60 lt (snow) 60 rt         endif ;                                                      : SNOWFLAKE               ( __ )   draw2 hideturtle                penup 256 bk pendown            0 is-cyan  60 lt                6 0 do 256 (snow) 60 rt loop    ;                            ( Turtle Demonstration     5/7 )                                  decimal                                                       : POLY          ( n degrees __ )   begin                             over fd dup rt                ?escape until drop drop ;                                    : POLYSPI       ( n degrees __ )   over 17 <                       if drop drop exit endif         over fd dup rt                  swap 8 - swap polyspi ;                                                                      ( Turtle Demonstration     6/7 )                                  decimal                                                       : (TRISPI)              ( n __ )   dup 1300 >                      if drop exit endif              3 0 do dup fd 122 rt loop       16 + (trispi) ;                                              : TRISPI                  ( __ )   draw2 hideturtle                1 is-yellow  16 (trispi) ;                                                                                                   ( Turtle Demonstration     7/7 )                                  decimal                                                       : LJ      ( X-coeff Y-coeff __ )   draw2 hideturtle penup 0        begin                             over over * cos 30 /            512 +                           over 5 pick * sin 30 /          640 +                           swap setpos pendown             2+ dup 360 >                  until                           drop drop drop ;                                             
00000000  28 20 54 75 72 74 6c 65  20 47 72 61 70 68 69 63  |( Turtle Graphic|
00000010  73 20 20 20 20 20 20 20  20 20 4c 6f 61 64 20 29  |s         Load )|
00000020  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000040  20 20 64 65 63 69 6d 61  6c 20 20 30 36 31 20 30  |  decimal  061 0|
00000050  37 31 20 74 68 72 75 20  20 20 65 78 69 74 20 20  |71 thru   exit  |
00000060  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
000000e0  20 20 20 20 20 54 68 69  73 20 69 73 20 74 68 65  |     This is the|
000000f0  20 4c 6f 61 64 20 42 6c  6f 63 6b 20 20 20 20 20  | Load Block     |
00000100  20 20 20 20 20 66 6f 72  20 74 68 65 20 54 75 72  |     for the Tur|
00000110  74 6c 65 20 47 72 61 70  68 69 63 73 20 20 20 20  |tle Graphics    |
00000120  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000200  28 20 54 75 72 74 6c 65  20 47 72 61 70 68 69 63  |( Turtle Graphic|
00000210  73 20 20 20 20 20 20 20  20 20 31 2f 31 31 20 29  |s         1/11 )|
00000220  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000240  20 20 64 65 63 69 6d 61  6c 20 20 20 20 20 20 20  |  decimal       |
00000250  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000280  20 20 76 61 72 69 61 62  6c 65 20 48 45 41 44 49  |  variable HEADI|
00000290  4e 47 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |NG              |
000002a0  20 20 76 61 72 69 61 62  6c 65 20 42 2d 43 4f 4c  |  variable B-COL|
000002b0  20 20 28 20 62 61 63 6b  67 72 6f 75 6e 64 20 29  |  ( background )|
000002c0  20 20 76 61 72 69 61 62  6c 65 20 46 2d 43 4f 4c  |  variable F-COL|
000002d0  20 20 28 20 66 6f 72 65  67 72 6f 75 6e 64 20 29  |  ( foreground )|
000002e0  20 20 76 61 72 69 61 62  6c 65 20 54 2d 53 54 20  |  variable T-ST |
000002f0  20 20 28 20 74 75 72 74  6c 65 20 20 20 20 20 29  |  ( turtle     )|
00000300  20 20 76 61 72 69 61 62  6c 65 20 50 2d 53 54 20  |  variable P-ST |
00000310  20 20 28 20 70 65 6e 20  20 20 20 20 20 20 20 29  |  ( pen        )|
00000320  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000340  3a 20 4d 4f 44 45 20 32  32 20 65 6d 69 74 20 65  |: MODE 22 emit e|
00000350  6d 69 74 20 3b 20 20 20  28 20 6e 20 5f 5f 20 29  |mit ;   ( n __ )|
00000360  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000380  3a 20 50 4c 4f 54 20 20  20 20 20 20 20 20 20 20  |: PLOT          |
00000390  20 20 20 20 28 20 78 20  79 20 6e 20 5f 5f 20 29  |    ( x y n __ )|
000003a0  20 20 20 32 35 20 65 6d  69 74 20 65 6d 69 74 20  |   25 emit emit |
000003b0  73 77 61 70 20 75 6e 70  61 63 6b 20 65 6d 69 74  |swap unpack emit|
000003c0  20 20 20 65 6d 69 74 20  75 6e 70 61 63 6b 20 65  |   emit unpack e|
000003d0  6d 69 74 20 65 6d 69 74  20 3b 20 20 20 20 20 20  |mit emit ;      |
000003e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000400  28 20 54 75 72 74 6c 65  20 47 72 61 70 68 69 63  |( Turtle Graphic|
00000410  73 20 20 20 20 20 20 20  20 20 32 2f 31 31 20 29  |s         2/11 )|
00000420  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000440  20 20 64 65 63 69 6d 61  6c 20 20 20 20 20 20 20  |  decimal       |
00000450  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000480  3a 20 53 45 54 43 4f 4c  20 20 20 28 20 6c 6f 67  |: SETCOL   ( log|
00000490  69 63 61 6c 20 61 63 74  75 61 6c 20 5f 5f 20 29  |ical actual __ )|
000004a0  20 20 20 31 39 20 65 6d  69 74 20 73 77 61 70 20  |   19 emit swap |
000004b0  65 6d 69 74 20 65 6d 69  74 20 20 20 20 20 20 20  |emit emit       |
000004c0  20 20 20 30 20 65 6d 69  74 20 30 20 65 6d 69 74  |   0 emit 0 emit|
000004d0  20 30 20 65 6d 69 74 20  3b 20 20 20 20 20 20 20  | 0 emit ;       |
000004e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000500  3a 20 49 53 2d 42 4c 41  43 4b 20 20 20 30 20 73  |: IS-BLACK   0 s|
00000510  65 74 63 6f 6c 20 3b 20  20 20 20 20 20 20 20 20  |etcol ;         |
00000520  3a 20 49 53 2d 52 45 44  20 20 20 20 20 31 20 73  |: IS-RED     1 s|
00000530  65 74 63 6f 6c 20 3b 20  20 20 20 20 20 20 20 20  |etcol ;         |
00000540  3a 20 49 53 2d 47 52 45  45 4e 20 20 20 32 20 73  |: IS-GREEN   2 s|
00000550  65 74 63 6f 6c 20 3b 20  20 20 20 20 20 20 20 20  |etcol ;         |
00000560  3a 20 49 53 2d 59 45 4c  4c 4f 57 20 20 33 20 73  |: IS-YELLOW  3 s|
00000570  65 74 63 6f 6c 20 3b 20  20 20 20 20 20 20 20 20  |etcol ;         |
00000580  3a 20 49 53 2d 42 4c 55  45 20 20 20 20 34 20 73  |: IS-BLUE    4 s|
00000590  65 74 63 6f 6c 20 3b 20  20 20 20 20 20 20 20 20  |etcol ;         |
000005a0  3a 20 49 53 2d 4d 41 47  45 4e 54 41 20 35 20 73  |: IS-MAGENTA 5 s|
000005b0  65 74 63 6f 6c 20 3b 20  20 20 20 20 20 20 20 20  |etcol ;         |
000005c0  3a 20 49 53 2d 43 59 41  4e 20 20 20 20 36 20 73  |: IS-CYAN    6 s|
000005d0  65 74 63 6f 6c 20 3b 20  20 20 20 20 20 20 20 20  |etcol ;         |
000005e0  3a 20 49 53 2d 57 48 49  54 45 20 20 20 37 20 73  |: IS-WHITE   7 s|
000005f0  65 74 63 6f 6c 20 3b 20  20 20 20 20 20 20 20 20  |etcol ;         |
00000600  28 20 54 75 72 74 6c 65  20 47 72 61 70 68 69 63  |( Turtle Graphic|
00000610  73 20 20 20 20 20 20 20  20 20 33 2f 31 31 20 29  |s         3/11 )|
00000620  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000640  20 20 64 65 63 69 6d 61  6c 20 20 20 20 20 20 20  |  decimal       |
00000650  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000680  3a 20 47 43 4f 4c 20 20  20 20 20 28 20 6c 6f 67  |: GCOL     ( log|
00000690  69 63 61 6c 20 61 63 74  69 6f 6e 20 5f 5f 20 29  |ical action __ )|
000006a0  20 20 20 31 38 20 65 6d  69 74 20 65 6d 69 74 20  |   18 emit emit |
000006b0  65 6d 69 74 20 3b 20 20  20 20 20 20 20 20 20 20  |emit ;          |
000006c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
000006e0  3a 20 49 4e 4b 20 20 20  20 20 20 20 20 20 20 20  |: INK           |
000006f0  20 20 28 20 6c 6f 67 69  63 61 6c 20 5f 5f 20 29  |  ( logical __ )|
00000700  20 20 20 64 75 70 20 66  2d 63 6f 6c 20 21 20 30  |   dup f-col ! 0|
00000710  20 67 63 6f 6c 20 3b 20  20 20 20 20 20 20 20 20  | gcol ;         |
00000720  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000740  3a 20 50 41 50 45 52 20  20 20 20 20 20 20 20 20  |: PAPER         |
00000750  20 20 28 20 6c 6f 67 69  63 61 6c 20 5f 5f 20 29  |  ( logical __ )|
00000760  20 20 20 64 75 70 20 62  2d 63 6f 6c 20 21 20 31  |   dup b-col ! 1|
00000770  32 38 20 2b 20 30 20 67  63 6f 6c 20 3b 20 20 20  |28 + 0 gcol ;   |
00000780  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000800  28 20 54 75 72 74 6c 65  20 47 72 61 70 68 69 63  |( Turtle Graphic|
00000810  73 20 20 20 20 20 20 20  20 20 34 2f 31 31 20 29  |s         4/11 )|
00000820  20 20 64 65 63 69 6d 61  6c 20 20 20 20 20 20 20  |  decimal       |
00000830  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000840  3a 20 51 55 41 44 20 20  20 20 20 20 20 20 20 20  |: QUAD          |
00000850  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000860  20 20 20 31 38 30 20 2f  6d 6f 64 20 32 20 6d 6f  |   180 /mod 2 mo|
00000870  64 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |d               |
00000880  20 20 20 69 66 20 6e 65  67 61 74 65 20 65 6e 64  |   if negate end|
00000890  69 66 20 20 64 75 70 20  61 62 73 20 39 30 20 3e  |if  dup abs 90 >|
000008a0  20 20 20 69 66 20 64 75  70 20 39 30 20 6d 6f 64  |   if dup 90 mod|
000008b0  20 32 2a 20 2d 20 65 6e  64 69 66 20 3b 20 20 20  | 2* - endif ;   |
000008c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
000008e0  3a 20 44 45 47 52 41 44  20 33 31 34 31 36 20 31  |: DEGRAD 31416 1|
000008f0  38 30 20 2a 2f 20 3b 20  20 20 20 20 20 20 20 20  |80 */ ;         |
00000900  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000920  3a 20 53 49 4e 20 20 20  28 20 64 65 67 72 65 65  |: SIN   ( degree|
00000930  73 20 5f 5f 20 31 30 30  30 30 2a 73 69 6e 20 29  |s __ 10000*sin )|
00000940  20 20 20 71 75 61 64 20  64 65 67 72 61 64 20 64  |   quad degrad d|
00000950  75 70 20 64 75 70 20 34  20 31 20 64 6f 20 20 20  |up dup 4 1 do   |
00000960  20 20 20 33 20 70 69 63  6b 20 31 30 30 30 30 20  |   3 pick 10000 |
00000970  2a 2f 20 69 20 32 2a 20  64 75 70 20 31 2b 20 2a  |*/ i 2* dup 1+ *|
00000980  20 20 20 2f 20 33 20 70  69 63 6b 20 31 30 30 30  |   / 3 pick 1000|
00000990  30 20 2a 2f 20 6e 65 67  61 74 65 20 64 75 70 20  |0 */ negate dup |
000009a0  20 20 20 3e 72 20 2b 20  72 3e 20 6c 6f 6f 70 20  |   >r + r> loop |
000009b0  64 72 6f 70 20 73 77 61  70 20 64 72 6f 70 20 3b  |drop swap drop ;|
000009c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
000009e0  3a 20 43 4f 53 20 39 30  20 2b 20 73 69 6e 20 3b  |: COS 90 + sin ;|
000009f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000a00  28 20 54 75 72 74 6c 65  20 47 72 61 70 68 69 63  |( Turtle Graphic|
00000a10  73 20 20 20 20 20 20 20  20 20 35 2f 31 31 20 29  |s         5/11 )|
00000a20  20 20 64 65 63 69 6d 61  6c 20 20 20 20 20 20 20  |  decimal       |
00000a30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000a60  3a 20 54 55 52 54 4c 45  20 20 20 20 20 20 20 20  |: TURTLE        |
00000a70  20 20 20 20 20 20 20 20  20 20 28 20 5f 5f 20 29  |          ( __ )|
00000a80  20 20 20 74 2d 73 74 20  40 20 69 66 20 68 65 61  |   t-st @ if hea|
00000a90  64 69 6e 67 20 40 20 73  69 6e 20 64 75 70 20 20  |ding @ sin dup  |
00000aa0  20 20 20 31 37 20 31 30  30 30 30 20 2a 2f 20 73  |   17 10000 */ s|
00000ab0  77 61 70 20 34 37 20 31  30 30 30 30 20 2a 2f 20  |wap 47 10000 */ |
00000ac0  20 20 20 68 65 61 64 69  6e 67 20 40 20 63 6f 73  |   heading @ cos|
00000ad0  20 64 75 70 20 31 37 20  31 30 30 30 30 20 2a 2f  | dup 17 10000 */|
00000ae0  20 20 20 73 77 61 70 20  34 37 20 31 30 30 30 30  |   swap 47 10000|
00000af0  20 2a 2f 20 32 20 70 69  63 6b 20 34 20 20 20 20  | */ 2 pick 4    |
00000b00  20 20 20 70 69 63 6b 20  2d 20 35 20 70 69 63 6b  |   pick - 5 pick|
00000b10  20 33 20 70 69 63 6b 20  2b 20 6e 65 67 61 74 65  | 3 pick + negate|
00000b20  20 20 20 66 2d 63 6f 6c  20 40 20 34 20 67 63 6f  |   f-col @ 4 gco|
00000b30  6c 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |l               |
00000b40  20 20 20 70 2d 73 74 20  40 20 69 66 20 38 20 65  |   p-st @ if 8 e|
00000b50  6c 73 65 20 39 20 65 6e  64 69 66 20 70 6c 6f 74  |lse 9 endif plot|
00000b60  20 20 20 32 20 70 69 63  6b 20 32 2a 20 6e 65 67  |   2 pick 2* neg|
00000b70  61 74 65 20 35 20 70 69  63 6b 20 32 2a 20 20 20  |ate 5 pick 2*   |
00000b80  20 20 20 70 2d 73 74 20  40 20 69 66 20 38 20 65  |   p-st @ if 8 e|
00000b90  6c 73 65 20 39 20 65 6e  64 69 66 20 70 6c 6f 74  |lse 9 endif plot|
00000ba0  20 20 20 34 20 72 6f 6c  6c 20 2d 20 72 6f 74 20  |   4 roll - rot |
00000bb0  72 6f 74 20 2b 20 73 77  61 70 20 20 20 20 20 20  |rot + swap      |
00000bc0  20 20 20 70 2d 73 74 20  40 20 69 66 20 38 31 20  |   p-st @ if 81 |
00000bd0  65 6c 73 65 20 39 20 65  6e 64 69 66 20 20 20 20  |else 9 endif    |
00000be0  20 20 20 70 6c 6f 74 20  66 2d 63 6f 6c 20 40 20  |   plot f-col @ |
00000bf0  30 20 67 63 6f 6c 20 65  6e 64 69 66 20 3b 20 20  |0 gcol endif ;  |
00000c00  28 20 54 75 72 74 6c 65  20 47 72 61 70 68 69 63  |( Turtle Graphic|
00000c10  73 20 20 20 20 20 20 20  20 20 36 2f 31 31 20 29  |s         6/11 )|
00000c20  20 20 64 65 63 69 6d 61  6c 20 20 20 20 20 20 20  |  decimal       |
00000c30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000c40  3a 20 48 49 44 45 54 55  52 54 4c 45 20 20 20 20  |: HIDETURTLE    |
00000c50  20 20 20 20 20 20 20 20  20 20 28 20 5f 5f 20 29  |          ( __ )|
00000c60  20 20 20 74 2d 73 74 20  40 20 20 20 20 20 20 20  |   t-st @       |
00000c70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000c80  20 20 20 69 66 20 74 75  72 74 6c 65 20 30 20 74  |   if turtle 0 t|
00000c90  2d 73 74 20 21 20 65 6e  64 69 66 20 3b 20 20 20  |-st ! endif ;   |
00000ca0  3a 20 53 48 4f 57 54 55  52 54 4c 45 20 20 20 20  |: SHOWTURTLE    |
00000cb0  20 20 20 20 20 20 20 20  20 20 28 20 5f 5f 20 29  |          ( __ )|
00000cc0  20 20 20 74 2d 73 74 20  40 20 6e 6f 74 20 20 20  |   t-st @ not   |
00000cd0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000ce0  20 20 20 69 66 20 31 20  74 2d 73 74 20 21 20 74  |   if 1 t-st ! t|
00000cf0  75 72 74 6c 65 20 65 6e  64 69 66 20 3b 20 20 20  |urtle endif ;   |
00000d00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000d20  3a 20 46 41 43 45 20 20  20 20 20 20 20 20 20 20  |: FACE          |
00000d30  20 20 28 20 64 65 67 72  65 65 73 20 5f 5f 20 29  |  ( degrees __ )|
00000d40  20 20 20 74 75 72 74 6c  65 20 68 65 61 64 69 6e  |   turtle headin|
00000d50  67 20 21 20 74 75 72 74  6c 65 20 3b 20 20 20 20  |g ! turtle ;    |
00000d60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000d80  3a 20 4e 4f 52 54 48 20  20 20 30 20 66 61 63 65  |: NORTH   0 face|
00000d90  20 3b 20 20 20 20 20 20  20 20 20 20 20 20 20 20  | ;              |
00000da0  3a 20 45 41 53 54 20 20  20 39 30 20 66 61 63 65  |: EAST   90 face|
00000db0  20 3b 20 20 20 20 20 20  20 20 20 20 20 20 20 20  | ;              |
00000dc0  3a 20 53 4f 55 54 48 20  31 38 30 20 66 61 63 65  |: SOUTH 180 face|
00000dd0  20 3b 20 20 20 20 20 20  20 20 20 20 20 20 20 20  | ;              |
00000de0  3a 20 57 45 53 54 20 20  32 37 30 20 66 61 63 65  |: WEST  270 face|
00000df0  20 3b 20 20 20 20 20 20  20 20 20 20 20 20 20 20  | ;              |
00000e00  28 20 54 75 72 74 6c 65  20 47 72 61 70 68 69 63  |( Turtle Graphic|
00000e10  73 20 20 20 20 20 20 20  20 20 37 2f 31 31 20 29  |s         7/11 )|
00000e20  20 20 64 65 63 69 6d 61  6c 20 20 20 20 20 20 20  |  decimal       |
00000e30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000e60  3a 20 46 4f 52 57 41 52  44 20 20 20 20 20 20 20  |: FORWARD       |
00000e70  20 20 20 20 20 20 20 20  28 20 6e 20 5f 5f 20 29  |        ( n __ )|
00000e80  20 20 20 74 75 72 74 6c  65 20 64 75 70 20 68 65  |   turtle dup he|
00000e90  61 64 69 6e 67 20 40 20  73 69 6e 20 20 20 20 20  |ading @ sin     |
00000ea0  20 20 20 31 30 30 30 30  20 2a 2f 20 73 77 61 70  |   10000 */ swap|
00000eb0  20 68 65 61 64 69 6e 67  20 40 20 63 6f 73 20 20  | heading @ cos  |
00000ec0  20 20 20 31 30 30 30 30  20 2a 2f 20 70 2d 73 74  |   10000 */ p-st|
00000ed0  20 40 20 38 20 2b 20 70  6c 6f 74 20 20 20 20 20  | @ 8 + plot     |
00000ee0  20 20 20 74 75 72 74 6c  65 20 3b 20 20 20 20 20  |   turtle ;     |
00000ef0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000f00  3a 20 42 41 43 4b 20 20  20 20 20 20 20 20 20 20  |: BACK          |
00000f10  20 20 20 20 20 20 20 20  28 20 6e 20 5f 5f 20 29  |        ( n __ )|
00000f20  20 20 20 6e 65 67 61 74  65 20 66 6f 72 77 61 72  |   negate forwar|
00000f30  64 20 3b 20 20 20 20 20  20 20 20 20 20 20 20 20  |d ;             |
00000f40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000f60  3a 20 52 49 47 48 54 20  20 20 20 20 20 20 20 20  |: RIGHT         |
00000f70  20 20 28 20 64 65 67 72  65 65 73 20 5f 5f 20 29  |  ( degrees __ )|
00000f80  20 20 20 74 75 72 74 6c  65 20 68 65 61 64 69 6e  |   turtle headin|
00000f90  67 20 40 20 2b 20 33 36  30 20 6d 6f 64 20 20 20  |g @ + 360 mod   |
00000fa0  20 20 20 68 65 61 64 69  6e 67 20 21 20 74 75 72  |   heading ! tur|
00000fb0  74 6c 65 20 3b 20 20 20  20 20 20 20 20 20 20 20  |tle ;           |
00000fc0  3a 20 4c 45 46 54 20 20  20 20 20 20 20 20 20 20  |: LEFT          |
00000fd0  20 20 28 20 64 65 67 72  65 65 73 20 5f 5f 20 29  |  ( degrees __ )|
00000fe0  20 20 20 6e 65 67 61 74  65 20 72 69 67 68 74 20  |   negate right |
00000ff0  3b 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |;               |
00001000  28 20 54 75 72 74 6c 65  20 47 72 61 70 68 69 63  |( Turtle Graphic|
00001010  73 20 20 20 20 20 20 20  20 20 38 2f 31 31 20 29  |s         8/11 )|
00001020  20 20 64 65 63 69 6d 61  6c 20 20 20 20 20 20 20  |  decimal       |
00001030  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001040  3a 20 50 45 4e 55 50 20  20 20 20 20 20 20 20 20  |: PENUP         |
00001050  20 20 20 20 20 20 20 20  20 20 28 20 5f 5f 20 29  |          ( __ )|
00001060  20 20 20 70 2d 73 74 20  40 20 69 66 20 74 75 72  |   p-st @ if tur|
00001070  74 6c 65 20 30 20 70 2d  73 74 20 21 20 20 20 20  |tle 0 p-st !    |
00001080  20 20 20 74 75 72 74 6c  65 20 65 6e 64 69 66 20  |   turtle endif |
00001090  3b 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |;               |
000010a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
000010c0  3a 20 50 45 4e 44 4f 57  4e 20 20 20 20 20 20 20  |: PENDOWN       |
000010d0  20 20 20 20 20 20 20 20  20 20 28 20 5f 5f 20 29  |          ( __ )|
000010e0  20 20 20 70 2d 73 74 20  40 20 6e 6f 74 20 69 66  |   p-st @ not if|
000010f0  20 74 75 72 74 6c 65 20  31 20 70 2d 73 74 20 21  | turtle 1 p-st !|
00001100  20 20 20 74 75 72 74 6c  65 20 65 6e 64 69 66 20  |   turtle endif |
00001110  3b 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |;               |
00001120  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00001140  3a 20 53 45 54 50 4f 53  20 20 20 20 20 20 20 20  |: SETPOS        |
00001150  20 20 20 20 20 20 28 20  78 20 79 20 5f 5f 20 29  |      ( x y __ )|
00001160  20 20 20 74 75 72 74 6c  65 20 70 2d 73 74 20 40  |   turtle p-st @|
00001170  20 34 20 2b 20 70 6c 6f  74 20 74 75 72 74 6c 65  | 4 + plot turtle|
00001180  20 20 20 3b 20 20 20 20  20 20 20 20 20 20 20 20  |   ;            |
00001190  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
000011c0  3a 20 48 4f 4d 45 20 20  20 20 20 20 20 20 20 20  |: HOME          |
000011d0  20 20 20 20 20 20 20 20  20 20 28 20 5f 5f 20 29  |          ( __ )|
000011e0  20 20 20 36 34 30 20 35  31 32 20 73 65 74 70 6f  |   640 512 setpo|
000011f0  73 20 3b 20 20 20 20 20  20 20 20 20 20 20 20 20  |s ;             |
00001200  28 20 54 75 72 74 6c 65  20 47 72 61 70 68 69 63  |( Turtle Graphic|
00001210  73 20 20 20 20 20 20 20  20 20 39 2f 31 31 20 29  |s         9/11 )|
00001220  20 20 64 65 63 69 6d 61  6c 20 20 20 20 20 20 20  |  decimal       |
00001230  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001240  3a 20 57 49 4e 44 4f 57  20 20 20 20 20 20 28 20  |: WINDOW      ( |
00001250  6e 31 20 6e 32 20 6e 33  20 6e 34 20 5f 5f 20 29  |n1 n2 n3 n4 __ )|
00001260  20 20 20 32 38 20 35 20  30 20 64 6f 20 65 6d 69  |   28 5 0 do emi|
00001270  74 20 6c 6f 6f 70 20 3b  20 20 20 20 20 20 20 20  |t loop ;        |
00001280  3a 20 28 44 52 41 57 29  20 20 20 20 20 20 20 20  |: (DRAW)        |
00001290  20 20 20 20 20 20 20 20  28 20 6e 20 5f 5f 20 29  |        ( n __ )|
000012a0  20 20 20 6d 6f 64 65 20  20 20 20 20 20 20 20 30  |   mode        0|
000012b0  20 70 61 70 65 72 20 20  31 20 69 6e 6b 20 20 20  | paper  1 ink   |
000012c0  20 20 20 30 20 68 65 61  64 69 6e 67 20 21 20 30  |   0 heading ! 0|
000012d0  20 70 2d 73 74 20 21 20  30 20 70 2d 73 74 20 21  | p-st ! 0 p-st !|
000012e0  20 20 20 68 6f 6d 65 20  70 65 6e 64 6f 77 6e 20  |   home pendown |
000012f0  73 68 6f 77 74 75 72 74  6c 65 20 3b 20 20 20 20  |showturtle ;    |
00001300  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00001320  3a 20 44 52 41 57 32 20  20 20 20 28 20 32 2d 63  |: DRAW2    ( 2-c|
00001330  6f 6c 6f 75 72 20 64 72  61 77 69 6e 67 73 20 29  |olour drawings )|
00001340  20 20 20 34 20 28 64 72  61 77 29 20 32 38 20 33  |   4 (draw) 28 3|
00001350  39 20 33 31 20 30 20 77  69 6e 64 6f 77 20 20 20  |9 31 0 window   |
00001360  20 20 20 30 20 69 73 2d  62 6c 61 63 6b 20 31 20  |   0 is-black 1 |
00001370  69 73 2d 77 68 69 74 65  20 3b 20 20 20 20 20 20  |is-white ;      |
00001380  3a 20 44 52 41 57 34 20  20 20 20 28 20 34 2d 63  |: DRAW4    ( 4-c|
00001390  6f 6c 6f 75 72 20 64 72  61 77 69 6e 67 73 20 29  |olour drawings )|
000013a0  20 20 20 35 20 28 64 72  61 77 29 20 32 38 20 31  |   5 (draw) 28 1|
000013b0  39 20 33 31 20 30 20 77  69 6e 64 6f 77 20 20 20  |9 31 0 window   |
000013c0  20 20 20 30 20 69 73 2d  77 68 69 74 65 20 31 20  |   0 is-white 1 |
000013d0  69 73 2d 72 65 64 20 20  20 20 20 20 20 20 20 20  |is-red          |
000013e0  20 20 20 32 20 69 73 2d  62 6c 75 65 20 20 33 20  |   2 is-blue  3 |
000013f0  69 73 2d 67 72 65 65 6e  20 3b 20 20 20 20 20 20  |is-green ;      |
00001400  28 20 54 75 72 74 6c 65  20 47 72 61 70 68 69 63  |( Turtle Graphic|
00001410  73 20 20 20 20 20 20 20  20 31 30 2f 31 31 20 29  |s        10/11 )|
00001420  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00001440  20 20 64 65 63 69 6d 61  6c 20 20 20 20 20 20 20  |  decimal       |
00001450  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00001480  3a 20 46 44 20 66 6f 72  77 61 72 64 20 3b 20 20  |: FD forward ;  |
00001490  20 20 20 20 20 20 20 20  28 20 6e 20 5f 5f 20 29  |        ( n __ )|
000014a0  3a 20 42 4b 20 62 61 63  6b 20 3b 20 20 20 20 20  |: BK back ;     |
000014b0  20 20 20 20 20 20 20 20  28 20 6e 20 5f 5f 20 29  |        ( n __ )|
000014c0  3a 20 4c 54 20 6c 65 66  74 20 3b 20 20 20 20 20  |: LT left ;     |
000014d0  20 20 28 20 64 65 67 72  65 65 73 20 5f 5f 20 29  |  ( degrees __ )|
000014e0  3a 20 52 54 20 72 69 67  68 74 20 3b 20 20 20 20  |: RT right ;    |
000014f0  20 20 28 20 64 65 67 72  65 65 73 20 5f 5f 20 29  |  ( degrees __ )|
00001500  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00001520  3a 20 4e 48 20 6e 6f 72  74 68 20 3b 20 20 20 20  |: NH north ;    |
00001530  20 20 20 20 20 20 20 20  20 20 28 20 5f 5f 20 29  |          ( __ )|
00001540  3a 20 53 48 20 73 6f 75  74 68 20 3b 20 20 20 20  |: SH south ;    |
00001550  20 20 20 20 20 20 20 20  20 20 28 20 5f 5f 20 29  |          ( __ )|
00001560  3a 20 45 54 20 65 61 73  74 20 3b 20 20 20 20 20  |: ET east ;     |
00001570  20 20 20 20 20 20 20 20  20 20 28 20 5f 5f 20 29  |          ( __ )|
00001580  3a 20 57 54 20 77 65 73  74 20 3b 20 20 20 20 20  |: WT west ;     |
00001590  20 20 20 20 20 20 20 20  20 20 28 20 5f 5f 20 29  |          ( __ )|
000015a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
000015c0  3a 20 44 4f 54 20 34 20  66 64 20 34 20 62 6b 20  |: DOT 4 fd 4 bk |
000015d0  3b 20 20 20 20 20 20 20  20 20 28 20 5f 5f 20 29  |;         ( __ )|
000015e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00001600  28 20 54 75 72 74 6c 65  20 47 72 61 70 68 69 63  |( Turtle Graphic|
00001610  73 20 20 20 20 20 20 20  20 31 31 2f 31 31 20 29  |s        11/11 )|
00001620  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00001640  20 20 64 65 63 69 6d 61  6c 20 20 20 20 20 20 20  |  decimal       |
00001650  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00001680  3a 20 54 52 49 41 4e 47  4c 45 20 20 20 20 20 20  |: TRIANGLE      |
00001690  20 20 20 20 20 20 20 20  28 20 6e 20 5f 5f 20 29  |        ( n __ )|
000016a0  20 20 20 33 20 30 20 64  6f 20 64 75 70 20 66 64  |   3 0 do dup fd|
000016b0  20 31 32 30 20 72 74 20  6c 6f 6f 70 20 20 20 20  | 120 rt loop    |
000016c0  20 20 20 64 72 6f 70 20  3b 20 20 20 20 20 20 20  |   drop ;       |
000016d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000016e0  3a 20 53 51 55 41 52 45  20 20 20 20 20 20 20 20  |: SQUARE        |
000016f0  20 20 20 20 20 20 20 20  28 20 6e 20 5f 5f 20 29  |        ( n __ )|
00001700  20 20 20 34 20 30 20 64  6f 20 64 75 70 20 66 64  |   4 0 do dup fd|
00001710  20 39 30 20 72 74 20 6c  6f 6f 70 20 20 20 20 20  | 90 rt loop     |
00001720  20 20 20 64 72 6f 70 20  3b 20 20 20 20 20 20 20  |   drop ;       |
00001730  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001740  3a 20 50 45 4e 54 41 47  4f 4e 20 20 20 20 20 20  |: PENTAGON      |
00001750  20 20 20 20 20 20 20 20  28 20 6e 20 5f 5f 20 29  |        ( n __ )|
00001760  20 20 20 35 20 30 20 64  6f 20 64 75 70 20 66 64  |   5 0 do dup fd|
00001770  20 37 32 20 72 74 20 6c  6f 6f 70 20 20 20 20 20  | 72 rt loop     |
00001780  20 20 20 64 72 6f 70 20  3b 20 20 20 20 20 20 20  |   drop ;       |
00001790  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000017a0  3a 20 48 45 58 41 47 4f  4e 20 20 20 20 20 20 20  |: HEXAGON       |
000017b0  20 20 20 20 20 20 20 20  28 20 6e 20 5f 5f 20 29  |        ( n __ )|
000017c0  20 20 20 36 20 30 20 64  6f 20 64 75 70 20 66 64  |   6 0 do dup fd|
000017d0  20 36 30 20 72 74 20 6c  6f 6f 70 20 20 20 20 20  | 60 rt loop     |
000017e0  20 20 20 64 72 6f 70 20  3b 20 20 20 20 20 20 20  |   drop ;       |
000017f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001800  28 20 54 75 72 74 6c 65  20 44 65 6d 6f 6e 73 74  |( Turtle Demonst|
00001810  72 61 74 69 6f 6e 20 20  20 20 4c 6f 61 64 20 29  |ration    Load )|
00001820  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00001840  20 20 64 65 63 69 6d 61  6c 20 20 30 37 33 20 30  |  decimal  073 0|
00001850  37 39 20 74 68 72 75 20  20 20 65 78 69 74 20 20  |79 thru   exit  |
00001860  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
000018e0  20 20 20 20 20 54 68 69  73 20 69 73 20 74 68 65  |     This is the|
000018f0  20 4c 6f 61 64 20 42 6c  6f 63 6b 20 20 20 20 20  | Load Block     |
00001900  20 20 20 20 20 66 6f 72  20 74 68 65 20 54 75 72  |     for the Tur|
00001910  74 6c 65 20 47 72 61 70  68 69 63 73 20 20 20 20  |tle Graphics    |
00001920  20 20 20 20 20 44 65 6d  6f 6e 73 74 72 61 74 69  |     Demonstrati|
00001930  6f 6e 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |on              |
00001940  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00001a00  28 20 54 75 72 74 6c 65  20 44 65 6d 6f 6e 73 74  |( Turtle Demonst|
00001a10  72 61 74 69 6f 6e 20 20  20 20 20 31 2f 37 20 29  |ration     1/7 )|
00001a20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00001a40  20 20 64 65 63 69 6d 61  6c 20 20 20 20 20 20 20  |  decimal       |
00001a50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00001a80  3a 20 28 43 2d 43 55 52  56 45 29 20 20 20 20 20  |: (C-CURVE)     |
00001a90  28 20 6e 20 64 65 67 72  65 65 73 20 5f 5f 20 29  |( n degrees __ )|
00001aa0  20 20 20 6f 76 65 72 20  31 37 20 3c 20 20 20 20  |   over 17 <    |
00001ab0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001ac0  20 20 20 69 66 20 20 20  6e 68 20 72 74 20 66 64  |   if   nh rt fd|
00001ad0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001ae0  20 20 20 65 6c 73 65 20  3e 72 20 31 33 38 36 30  |   else >r 13860|
00001af0  20 31 39 36 30 31 20 2a  2f 20 64 75 70 20 20 20  | 19601 */ dup   |
00001b00  20 20 20 20 20 20 20 20  72 40 20 34 35 20 2d 20  |        r@ 45 - |
00001b10  28 63 2d 63 75 72 76 65  29 20 20 20 20 20 20 20  |(c-curve)       |
00001b20  20 20 20 20 20 20 20 20  72 3e 20 34 35 20 2b 20  |        r> 45 + |
00001b30  28 63 2d 63 75 72 76 65  29 20 20 20 20 20 20 20  |(c-curve)       |
00001b40  20 20 20 65 6e 64 69 66  20 3b 20 20 20 20 20 20  |   endif ;      |
00001b50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00001b80  3a 20 43 2d 43 55 52 56  45 20 20 20 20 20 20 20  |: C-CURVE       |
00001b90  20 20 20 20 20 20 20 20  20 20 28 20 5f 5f 20 29  |          ( __ )|
00001ba0  20 20 20 64 72 61 77 32  20 68 69 64 65 74 75 72  |   draw2 hidetur|
00001bb0  74 6c 65 20 20 20 20 20  20 20 20 20 20 20 20 20  |tle             |
00001bc0  20 20 20 70 65 6e 75 70  20 32 30 30 20 62 6b 20  |   penup 200 bk |
00001bd0  70 65 6e 64 6f 77 6e 20  20 20 20 20 20 20 20 20  |pendown         |
00001be0  20 20 20 34 38 30 20 30  20 28 63 2d 63 75 72 76  |   480 0 (c-curv|
00001bf0  65 29 20 3b 20 20 20 20  20 20 20 20 20 20 20 20  |e) ;            |
00001c00  28 20 54 75 72 74 6c 65  20 44 65 6d 6f 6e 73 74  |( Turtle Demonst|
00001c10  72 61 74 69 6f 6e 20 20  20 20 20 32 2f 37 20 29  |ration     2/7 )|
00001c20  20 20 64 65 63 69 6d 61  6c 20 20 20 20 20 20 20  |  decimal       |
00001c30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00001c60  3a 20 28 44 2d 43 55 52  56 45 29 20 20 20 28 20  |: (D-CURVE)   ( |
00001c70  73 20 6e 20 64 65 67 72  65 65 73 20 5f 5f 20 29  |s n degrees __ )|
00001c80  20 20 20 6f 76 65 72 20  31 37 20 3c 20 20 20 20  |   over 17 <    |
00001c90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001ca0  20 20 20 69 66 20 20 20  6e 68 20 72 74 20 66 64  |   if   nh rt fd|
00001cb0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001cc0  20 20 20 65 6c 73 65 20  3e 72 20 31 33 38 36 30  |   else >r 13860|
00001cd0  20 31 39 36 30 31 20 2a  2f 20 20 20 20 20 20 20  | 19601 */       |
00001ce0  20 20 20 20 20 20 20 20  3e 72 20 34 35 20 2a 20  |        >r 45 * |
00001cf0  2d 31 20 72 3e 20 31 20  6f 76 65 72 20 20 20 20  |-1 r> 1 over    |
00001d00  20 20 20 20 20 20 20 20  72 40 20 36 20 70 69 63  |        r@ 6 pic|
00001d10  6b 20 2d 20 28 64 2d 63  75 72 76 65 29 20 20 20  |k - (d-curve)   |
00001d20  20 20 20 20 20 20 20 20  72 3e 20 34 20 70 69 63  |        r> 4 pic|
00001d30  6b 20 2b 20 28 64 2d 63  75 72 76 65 29 20 20 20  |k + (d-curve)   |
00001d40  20 20 20 65 6e 64 69 66  20 64 72 6f 70 20 3b 20  |   endif drop ; |
00001d50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00001d80  3a 20 44 52 41 47 4f 4e  2d 43 55 52 56 45 20 20  |: DRAGON-CURVE  |
00001d90  20 20 20 20 20 20 20 20  20 20 28 20 5f 5f 20 29  |          ( __ )|
00001da0  20 20 20 64 72 61 77 32  20 68 69 64 65 74 75 72  |   draw2 hidetur|
00001db0  74 6c 65 20 20 20 20 20  20 20 20 20 20 20 20 20  |tle             |
00001dc0  20 20 20 70 65 6e 75 70  20 32 30 30 20 62 6b 20  |   penup 200 bk |
00001dd0  70 65 6e 64 6f 77 6e 20  20 20 20 20 20 20 20 20  |pendown         |
00001de0  20 20 20 31 20 34 38 30  20 30 20 28 64 2d 63 75  |   1 480 0 (d-cu|
00001df0  72 76 65 29 20 3b 20 20  20 20 20 20 20 20 20 20  |rve) ;          |
00001e00  28 20 54 75 72 74 6c 65  20 44 65 6d 6f 6e 73 74  |( Turtle Demonst|
00001e10  72 61 74 69 6f 6e 20 20  20 20 20 33 2f 37 20 29  |ration     3/7 )|
00001e20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00001e40  20 20 64 65 63 69 6d 61  6c 20 20 20 20 20 20 20  |  decimal       |
00001e50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00001e80  3a 20 28 4e 45 53 54 45  44 2d 54 52 49 41 4e 47  |: (NESTED-TRIANG|
00001e90  4c 45 53 29 20 20 20 20  28 20 6e 20 5f 5f 20 29  |LES)    ( n __ )|
00001ea0  20 20 20 64 75 70 20 31  37 20 3c 20 20 20 20 20  |   dup 17 <     |
00001eb0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001ec0  20 20 20 69 66 20 64 72  6f 70 20 65 78 69 74 20  |   if drop exit |
00001ed0  65 6e 64 69 66 20 20 20  20 20 20 20 20 20 20 20  |endif           |
00001ee0  20 20 20 33 20 30 20 64  6f 20 20 20 20 20 20 20  |   3 0 do       |
00001ef0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001f00  20 20 20 64 75 70 20 32  2f 20 28 6e 65 73 74 65  |   dup 2/ (neste|
00001f10  64 2d 74 72 69 61 6e 67  6c 65 73 29 20 20 20 20  |d-triangles)    |
00001f20  20 20 20 64 75 70 20 66  64 20 31 32 30 20 72 74  |   dup fd 120 rt|
00001f30  20 6c 6f 6f 70 20 64 72  6f 70 20 3b 20 20 20 20  | loop drop ;    |
00001f40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00001f60  3a 20 4e 45 53 54 45 44  2d 54 52 49 41 4e 47 4c  |: NESTED-TRIANGL|
00001f70  45 53 20 20 20 20 20 20  20 20 28 20 5f 5f 20 29  |ES        ( __ )|
00001f80  20 20 20 64 72 61 77 32  20 68 69 64 65 74 75 72  |   draw2 hidetur|
00001f90  74 6c 65 20 20 20 20 20  20 20 20 20 20 20 20 20  |tle             |
00001fa0  20 20 20 70 65 6e 75 70  20 35 30 30 20 33 30 30  |   penup 500 300|
00001fb0  20 73 65 74 70 6f 73 20  70 65 6e 64 6f 77 6e 20  | setpos pendown |
00001fc0  20 20 20 35 31 32 20 28  6e 65 73 74 65 64 2d 74  |   512 (nested-t|
00001fd0  72 69 61 6e 67 6c 65 73  29 20 3b 20 20 20 20 20  |riangles) ;     |
00001fe0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00002000  28 20 54 75 72 74 6c 65  20 44 65 6d 6f 6e 73 74  |( Turtle Demonst|
00002010  72 61 74 69 6f 6e 20 20  20 20 20 34 2f 37 20 29  |ration     4/7 )|
00002020  20 20 64 65 63 69 6d 61  6c 20 20 20 20 20 20 20  |  decimal       |
00002030  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002040  3a 20 28 53 4e 4f 57 29  20 20 20 20 20 20 20 20  |: (SNOW)        |
00002050  20 20 20 20 20 20 20 20  28 20 6e 20 5f 5f 20 29  |        ( n __ )|
00002060  20 20 20 64 75 70 20 31  37 20 3c 20 20 20 20 20  |   dup 17 <     |
00002070  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002080  20 20 20 69 66 20 20 20  66 64 20 20 20 20 20 20  |   if   fd      |
00002090  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000020a0  20 20 20 65 6c 73 65 20  32 2f 20 64 75 70 20 64  |   else 2/ dup d|
000020b0  75 70 20 36 30 20 72 74  20 28 73 6e 6f 77 29 20  |up 60 rt (snow) |
000020c0  20 20 20 20 20 20 20 20  36 30 20 6c 74 20 28 73  |        60 lt (s|
000020d0  6e 6f 77 29 20 20 20 20  20 20 20 20 20 20 20 20  |now)            |
000020e0  20 20 20 20 20 20 20 20  36 30 20 6c 74 20 28 73  |        60 lt (s|
000020f0  6e 6f 77 29 20 36 30 20  72 74 20 20 20 20 20 20  |now) 60 rt      |
00002100  20 20 20 65 6e 64 69 66  20 3b 20 20 20 20 20 20  |   endif ;      |
00002110  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00002140  3a 20 53 4e 4f 57 46 4c  41 4b 45 20 20 20 20 20  |: SNOWFLAKE     |
00002150  20 20 20 20 20 20 20 20  20 20 28 20 5f 5f 20 29  |          ( __ )|
00002160  20 20 20 64 72 61 77 32  20 68 69 64 65 74 75 72  |   draw2 hidetur|
00002170  74 6c 65 20 20 20 20 20  20 20 20 20 20 20 20 20  |tle             |
00002180  20 20 20 70 65 6e 75 70  20 32 35 36 20 62 6b 20  |   penup 256 bk |
00002190  70 65 6e 64 6f 77 6e 20  20 20 20 20 20 20 20 20  |pendown         |
000021a0  20 20 20 30 20 69 73 2d  63 79 61 6e 20 20 36 30  |   0 is-cyan  60|
000021b0  20 6c 74 20 20 20 20 20  20 20 20 20 20 20 20 20  | lt             |
000021c0  20 20 20 36 20 30 20 64  6f 20 32 35 36 20 28 73  |   6 0 do 256 (s|
000021d0  6e 6f 77 29 20 36 30 20  72 74 20 6c 6f 6f 70 20  |now) 60 rt loop |
000021e0  20 20 20 3b 20 20 20 20  20 20 20 20 20 20 20 20  |   ;            |
000021f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002200  28 20 54 75 72 74 6c 65  20 44 65 6d 6f 6e 73 74  |( Turtle Demonst|
00002210  72 61 74 69 6f 6e 20 20  20 20 20 35 2f 37 20 29  |ration     5/7 )|
00002220  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00002240  20 20 64 65 63 69 6d 61  6c 20 20 20 20 20 20 20  |  decimal       |
00002250  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00002280  3a 20 50 4f 4c 59 20 20  20 20 20 20 20 20 20 20  |: POLY          |
00002290  28 20 6e 20 64 65 67 72  65 65 73 20 5f 5f 20 29  |( n degrees __ )|
000022a0  20 20 20 62 65 67 69 6e  20 20 20 20 20 20 20 20  |   begin        |
000022b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000022c0  20 20 20 20 20 6f 76 65  72 20 66 64 20 64 75 70  |     over fd dup|
000022d0  20 72 74 20 20 20 20 20  20 20 20 20 20 20 20 20  | rt             |
000022e0  20 20 20 3f 65 73 63 61  70 65 20 75 6e 74 69 6c  |   ?escape until|
000022f0  20 64 72 6f 70 20 64 72  6f 70 20 3b 20 20 20 20  | drop drop ;    |
00002300  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00002320  3a 20 50 4f 4c 59 53 50  49 20 20 20 20 20 20 20  |: POLYSPI       |
00002330  28 20 6e 20 64 65 67 72  65 65 73 20 5f 5f 20 29  |( n degrees __ )|
00002340  20 20 20 6f 76 65 72 20  31 37 20 3c 20 20 20 20  |   over 17 <    |
00002350  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002360  20 20 20 69 66 20 64 72  6f 70 20 64 72 6f 70 20  |   if drop drop |
00002370  65 78 69 74 20 65 6e 64  69 66 20 20 20 20 20 20  |exit endif      |
00002380  20 20 20 6f 76 65 72 20  66 64 20 64 75 70 20 72  |   over fd dup r|
00002390  74 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |t               |
000023a0  20 20 20 73 77 61 70 20  38 20 2d 20 73 77 61 70  |   swap 8 - swap|
000023b0  20 70 6f 6c 79 73 70 69  20 3b 20 20 20 20 20 20  | polyspi ;      |
000023c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00002400  28 20 54 75 72 74 6c 65  20 44 65 6d 6f 6e 73 74  |( Turtle Demonst|
00002410  72 61 74 69 6f 6e 20 20  20 20 20 36 2f 37 20 29  |ration     6/7 )|
00002420  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00002440  20 20 64 65 63 69 6d 61  6c 20 20 20 20 20 20 20  |  decimal       |
00002450  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00002480  3a 20 28 54 52 49 53 50  49 29 20 20 20 20 20 20  |: (TRISPI)      |
00002490  20 20 20 20 20 20 20 20  28 20 6e 20 5f 5f 20 29  |        ( n __ )|
000024a0  20 20 20 64 75 70 20 31  33 30 30 20 3e 20 20 20  |   dup 1300 >   |
000024b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000024c0  20 20 20 69 66 20 64 72  6f 70 20 65 78 69 74 20  |   if drop exit |
000024d0  65 6e 64 69 66 20 20 20  20 20 20 20 20 20 20 20  |endif           |
000024e0  20 20 20 33 20 30 20 64  6f 20 64 75 70 20 66 64  |   3 0 do dup fd|
000024f0  20 31 32 32 20 72 74 20  6c 6f 6f 70 20 20 20 20  | 122 rt loop    |
00002500  20 20 20 31 36 20 2b 20  28 74 72 69 73 70 69 29  |   16 + (trispi)|
00002510  20 3b 20 20 20 20 20 20  20 20 20 20 20 20 20 20  | ;              |
00002520  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00002540  3a 20 54 52 49 53 50 49  20 20 20 20 20 20 20 20  |: TRISPI        |
00002550  20 20 20 20 20 20 20 20  20 20 28 20 5f 5f 20 29  |          ( __ )|
00002560  20 20 20 64 72 61 77 32  20 68 69 64 65 74 75 72  |   draw2 hidetur|
00002570  74 6c 65 20 20 20 20 20  20 20 20 20 20 20 20 20  |tle             |
00002580  20 20 20 31 20 69 73 2d  79 65 6c 6c 6f 77 20 20  |   1 is-yellow  |
00002590  31 36 20 28 74 72 69 73  70 69 29 20 3b 20 20 20  |16 (trispi) ;   |
000025a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00002600  28 20 54 75 72 74 6c 65  20 44 65 6d 6f 6e 73 74  |( Turtle Demonst|
00002610  72 61 74 69 6f 6e 20 20  20 20 20 37 2f 37 20 29  |ration     7/7 )|
00002620  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00002640  20 20 64 65 63 69 6d 61  6c 20 20 20 20 20 20 20  |  decimal       |
00002650  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00002680  3a 20 4c 4a 20 20 20 20  20 20 28 20 58 2d 63 6f  |: LJ      ( X-co|
00002690  65 66 66 20 59 2d 63 6f  65 66 66 20 5f 5f 20 29  |eff Y-coeff __ )|
000026a0  20 20 20 64 72 61 77 32  20 68 69 64 65 74 75 72  |   draw2 hidetur|
000026b0  74 6c 65 20 70 65 6e 75  70 20 30 20 20 20 20 20  |tle penup 0     |
000026c0  20 20 20 62 65 67 69 6e  20 20 20 20 20 20 20 20  |   begin        |
000026d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000026e0  20 20 20 20 20 6f 76 65  72 20 6f 76 65 72 20 2a  |     over over *|
000026f0  20 63 6f 73 20 33 30 20  2f 20 20 20 20 20 20 20  | cos 30 /       |
00002700  20 20 20 20 20 35 31 32  20 2b 20 20 20 20 20 20  |     512 +      |
00002710  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002720  20 20 20 20 20 6f 76 65  72 20 35 20 70 69 63 6b  |     over 5 pick|
00002730  20 2a 20 73 69 6e 20 33  30 20 2f 20 20 20 20 20  | * sin 30 /     |
00002740  20 20 20 20 20 36 34 30  20 2b 20 20 20 20 20 20  |     640 +      |
00002750  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002760  20 20 20 20 20 73 77 61  70 20 73 65 74 70 6f 73  |     swap setpos|
00002770  20 70 65 6e 64 6f 77 6e  20 20 20 20 20 20 20 20  | pendown        |
00002780  20 20 20 20 20 32 2b 20  64 75 70 20 33 36 30 20  |     2+ dup 360 |
00002790  3e 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |>               |
000027a0  20 20 20 75 6e 74 69 6c  20 20 20 20 20 20 20 20  |   until        |
000027b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000027c0  20 20 20 64 72 6f 70 20  64 72 6f 70 20 64 72 6f  |   drop drop dro|
000027d0  70 20 3b 20 20 20 20 20  20 20 20 20 20 20 20 20  |p ;             |
000027e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00002800
060-079.m0
060-079.m1
060-079.m2
060-079.m4
060-079.m5