COLD CTAN* boot TAN* SUP COS* UNUSED SIN* SLOW-I/O CC FAST-I/O -PI TEXT do:8 IN PI U256/ CORDIC PING TASKS SCREEN# NAMES DRAW2 do:7 DRAW1 ENVIRONMENT? SCREEN2 ENDCASE SCREEN1 ENDOF FIX2 OF MAKESCREEN2 CASE GUI WORD XKEY skip XCURSOR AFT CURSOR NEXT INITCURSOR FOR CBUF BOUNDS XX J YY I >COLOR LEAVE GCLS UNLOOP (BOX) +LOOP VLINE LOOP HLINE ?DO ARROW DO CPIXEL +loop BPIXEL loop CPIXEL ?do 40X16 do 32X16 FIND 48X24 EXPECT SET-VIDEO SPAN COLS CONVERT ROWS -ROLL TOP-MARGIN ROLL LEFT-MARGIN ALIAS UL WWORDS ARCTG LSHIFT ARCCTG RSHIFT HIP M*/ CORT>POLAR M*/MOD PI/2 TU/MOD POLAR TU* DU. COMPILE DU.R [COMPILE] D2/ *. DU2/ *- D2* BINARY MU/MOD ?#S */ C" */MOD c" M/ @EXECUTE M* FORTH M- VOCABULARY M+ SEAL DMAX ALSO DMIN PREVIOUS DU< ONLY D< ORDER D= VOCS D0= .WID D- !WID D0> DEMO D0< G 2ROT NEXTBUF 2OVER BUF 2SWAP THRU 2R@ LOAD 2R> LIST 2>R SCR 2VARIABLE BLOCK 2CONSTANT BUFFER 2LITERAL FLUSH 2LIT SAVE-BUFFERS UMAX buf>adr UMIN bufbase -ROT blk>sadr TUCK \ NIP EMPTY-BUFFERS U> REFILL > UPDATE SM/REM maxbuf do:6 buflist 0<> maxblk 0> do:5 ERASE RESTORE-INPUT BLANK SAVE-INPUT DV! OUT VVALUE KEYTEST DDEFER keytest 'ADR BOTH TO both VALUE PARALLEL IS SERIAL DEFER TS [CHAR] INITSERIAL ['] ?RS PSCR GET-ORDER GSCR WORDLIST FLOPCARD VLINK CDEMO FORTH-WORDLIST CLINE HAT MIX USER SC usr SCRAMBLE CONSTANT BYE VARIABLE BROWN DOES> YELLOW CREATE DARKCYAN ; CYAN : DARKMAGENTA :NONAME MAGENTA POSTPONE DARKRED RECURSE RED REVEAL DARKGREEN COMPILE-ONLY GREEN IMMEDIATE DARKBLUE !lex BLUE HEAD, WHITE x GREY LAST PAGE ?UNIQUE CLS ] SEE do] SSEE DEFINITIONS ADR> SET-CURRENT >BODY GET-CURRENT >ADR CURRENT >NAME S" WORDS ." .ID ABORT" DUMP ,C" DM+ ( _TYPE .( ?CSP PARSE !CSP CHAR .S LITERAL REPEAT COMPILE, AGAIN , UNTIL C, WHILE ALLOT ELSE ' AHEAD QUIT IF EVALUATE MARK EVAL RESOLVE SOURCE-ID THEN BLK BEGIN DELIMIT MARKER SOURCE marker [ SET-ORDER do[ do:4 find CONTEXT UM* vsi / WID? MOD SAME? /MOD NAME> FM/MOD parse UM/MOD delimit DABS ?STACK WITHIN abort" MIN ABORT MAX THROW < CATCH U< ACCEPT BL do:3 ACTIVATE TAP BUILD ? AWAKE . SLEEP U. STOP D. 'S .R 2 U.R 1 D.R do:2 S.R GGET d" GPUT s" WIN1 do" TX! CR ?RX TYPE PAUSE SPACES WAKE SPACE wake .CHARS PASS NUF? pass SIGN TF #> TID #S TOS # FOLLOWER HOLD STATUS DIGIT WINDOW <# UP NUMBER? +loop >NUMBER loop DIGIT? next PACK MOVEC> -TRAILING MOVE>C FILL MOVE PICK CMOVE AT CARD@ AT-XY CARD! >BACKGROUND 2! >BG 2@ >FOREGROUND DECIMAL >FG HEX KEY BASE@* P?RX * PAD FALSE HERE BLACK DP -2 #IN -1 >IN TRUE BASE + DPL UM+ CSP XOR HLD OR V1 AND XVEC 0= STATE 0< ?KEY S>D '?KEY SWAP EMIT OVER 'EMIT DUP DEPTH DROP >CHAR NOP COUNT SP! +! SP@ ABS R> DNEGATE R@ D+ >R ROT RP! D2* RP@ 32* @ 16* C@ 8* ! 4* C! 2* if U2/ else 2/ lit UM2* EXECUTE ALIGNED EXIT ALIGN CELLS CHARS = - NEGATE INVERT NOT 2DUP 2DROP ?DUP 2- CELL- 1- CHAR- 2+ CELL+ 1+ CHAR+ 0