#define PREFIXPROMPT 0 ; C DOTSTATUS -- display system status HEADLESS DOTSTATUS,DOCOLON DW lit,11H,EMIT ; send XON DW CR ; IF PREFIXPROMPT=1 DW STATE,FETCH,ZEROEQUAL,qbran DEST DOT1 DW XISQUOTE DB 2,'> ' ; for prefix prompt amforth style EVEN DW ITYPE ; ENDIF DOT1: DW EXIT ; C PROMPT -- prompt user HEADLESS PROMPT,DOCOLON ; IF PREFIXPROMPT!=1 ; DW CR ; DW STATE,FETCH,ZEROEQUAL,qbran ; DEST PROMPT1 DW XISQUOTE DB 3,' ok' ; for amforth style EVEN DW ITYPE ; ENDIF PROMPT1:DW EXIT ;C QUIT -- R: i*x -- interpret from kbd ; L0 LP ! R0 RP! 0 STATE ! ; BEGIN ; xon EMIT ; TIB DUP TIBSIZE ACCEPT ; xoff EMIT SPACE ; INTERPRET ; CR STATE @ 0= IF ." OK" THEN ; AGAIN ; HEADER QUIT,4,'quit',DOCOLON DW L0,LP,STORE DW RZERO,RPSTORE,lit,0,STATE,STORE QUIT1: DW STATE,FETCH,ZEROEQUAL,qbran DEST QUIT2 DW DOTSTATUS QUIT2: DW TIB,DUP,TIBSIZE,ACCEPT DW CR ; DW lit,13H,EMIT ; send XOFF ; DW SPACE DW INTERPRET DW PROMPT DW bran DEST QUIT1 PUBLIC QUITIP QUITIP equ QUIT+2