OSDN Git Service

Trying to work out trace routines blindly.
[fig-forth-6809/fig-forth-6809.git] / fig6800to6809dumb.asm
index 6b58c26..23c3403 100644 (file)
@@ -1,6 +1,13 @@
        OPT PRT
 
 * fig-FORTH FOR 6809, converted by unintelligent conversion from 6800 source.
+
+* To do: 
+* 4 IO routines -- OK?
+* adjust ram locations -- OK?
+* then add trace routines
+* then try in emulator
+
 * ASSEMBLY SOURCE LISTING
 
 * RELEASE 1
@@ -48,6 +55,7 @@
 *   PEMIT  ( word # 182 )
 *   PKEY   (        183 )
 *   PQTERM (        184 )
+* Note: PCR, also. (PRTCR)
 *
 *  The FORTH words for disc related I/O follow the model
 *  of the FORTH Interest Group, but have not been
 
 
 *
-NBLK   EQU     4       ; # of disc buffer blocks for virtual memory
-MEMEND EQU     132*NBLK+$3000  ; end of ram
+NBLK   EQU     4       # of disc buffer blocks for virtual memory
+* MEMEND       EQU     132*NBLK+$3000 end of ram
+MEMEND EQU     132*NBLK+$5000+132 end of ram with some breathing room (32K Coco)
 *  each block is 132 bytes in size,
 *  holding 128 characters
 *
-MEMTOP EQU     $3FFF   ; absolute end of all ram
-ACIAC  EQU     $FBCE   ; the ACIA control address and
-ACIAD  EQU     ACIAC+1 ; data address for PROTO
+* MEMTOP       EQU     $3FFF   absolute end of all ram
+MEMTOP EQU     $7FFF   putative absolute end of all ram (32K Coco)
+* No ACIA in Coco (how sad).
+* ACIAC        EQU     $FBCE   the ACIA control address and
+* ACIAD        EQU     ACIAC+1 data address for PROTO
        PAGE
-*  MEMORY MAP for this 16K system:
+*  MEMORY MAP for this 16K system (32K Coco):
 *  ( positioned so that systems with 4k byte write-
 *   protected segments can write protect FORTH )
 *
+* Read below and calculate it yourself:
 * addr.                contents                pointer init by
 * **** ******************************* ******* ******
 * 3FFF                                         HI
@@ -93,8 +105,8 @@ ACIAD        EQU     ACIAC+1 ; data address for PROTO
 *                                      <== W
 *      the VIRTUAL FORTH MACHINE
 *
-* 1004 <<< WARM START ENTRY >>>
-* 1000 <<< COLD START ENTRY >>>
+* 1004 (3004) <<< WARM START ENTRY >>>
+* 1000 (3000) <<< COLD START ENTRY >>>
 *
 * >>>>>> memory from here down must be RAM <<<<<<
 *  FFE RETURN STACK base               <== RP  RINIT
@@ -134,27 +146,31 @@ ACIAD     EQU     ACIAC+1 ; data address for PROTO
 * RP points to second free byte (first free word) in return stack
 * SP (hardware SP) points to first free byte in data stack
 *
-*      when A ANDB hold one 16 bit FORTH data word,
+*      when A AND B hold one 16 bit FORTH data word,
 *      A contains the high byte, B, the low byte.
 ***
 
 
 
 
-       ORG     $E0     ; variables
+*      ORG     $E0     variables
+       ORG     $1300   variables
+PGBASE EQU     *
+PGBDP  EQU     PGBASE/$100
+       SETDP   PGBDP
 
 
-N      RMB     10      used as scratch by (FIND),ENCLOSE,CMOVE,EMIT,KEY,
+N      RMB     10      used as scratch by (FIND),ENCLOSE,CMOVE,EMIT,KEY,
 *                              SP@,SWAP,DOES>,COLD
 
 
 *      These locations are used by the TRACE routine :
 
-TRLIM  RMB     1       the count for tracing without user intervention
-TRACEM RMB     1       non-zero = trace mode
-BRKPT  RMB     2       the breakpoint address at which
-*                      the program will go into trace mode
-VECT   RMB     2       vector to machine code
+TRLIM  RMB     1       the count for tracing without user intervention
+TRACEM RMB     1       non-zero = trace mode
+BRKPT  RMB     2       the breakpoint address at which
+*                      the program will go into trace mode
+VECT   RMB     2       vector to machine code
 *      (only needed if the TRACE routine is resident)
 
 
@@ -162,12 +178,19 @@ VECT      RMB     2       ; vector to machine code
 *      Starting at $OOFO:
 
 
-W      RMB     2       the instruction register points to 6800 code
-IP     RMB     2       the instruction pointer points to pointer to 6800 code
-RP     RMB     2       the return stack pointer
-UP     RMB     2       the pointer to base of current user's 'USER' table
+W      RMB     2       the instruction register points to 6800 code
+IP     RMB     2       the instruction pointer points to pointer to 6800 code
+RP     RMB     2       the return stack pointer
+UP     RMB     2       the pointer to base of current user's 'USER' table
 *              ( altered during multi-tasking )
 *
+* For the tracer:
+       RMB 4
+TRASP  RMB 2
+TRAVEC RMB 2
+TRAA   RMB 1
+TRAB   RMB 1
+*
        PAGE
 *      This system is shown with one user, but additional users
 *      may be added by allocating additional user tables:
@@ -178,34 +201,35 @@ UP        RMB     2       ; the pointer to base of current user's 'USER' table
 *      COLD start and WARM start:
 *      [ names correspond to FORTH words of similar (no X) name ]
 *
-       ORG     $100
-UORIG  RMB     6       ; 3 reserved variables
-XSPZER RMB     2       ; initial top of data stack for this user
-XRZERO RMB     2       ; initial top of return stack
-XTIB   RMB     2       ; start of terminal input buffer
-XWIDTH RMB     2       ; name field width
-XWARN  RMB     2       ; warning message mode (0 = no disc)
-XFENCE RMB     2       ; fence for FORGET
-XDP    RMB     2       ; dictionary pointer
-XVOCL  RMB     2       ; vocabulary linking
-XBLK   RMB     2       ; disc block being accessed
-XIN    RMB     2       ; scan pointer into the block
-XOUT   RMB     2       ; cursor position
-XSCR   RMB     2       ; disc screen being accessed ( O=terminal )
-XOFSET RMB     2       ; disc sector offset for multi-disc
-XCONT  RMB     2       ; last word in primary search vocabulary
-XCURR  RMB     2       ; last word in extensible vocabulary
-XSTATE RMB     2       ; flag for 'interpret' or 'compile' modes
-XBASE  RMB     2       ; number base for I/O numeric conversion
-XDPL   RMB     2       ; decimal point place
+*      ORG     $100
+       ORG     $1400
+UORIG  RMB     6       3 reserved variables
+XSPZER RMB     2       initial top of data stack for this user
+XRZERO RMB     2       initial top of return stack
+XTIB   RMB     2       start of terminal input buffer
+XWIDTH RMB     2       name field width
+XWARN  RMB     2       warning message mode (0 = no disc)
+XFENCE RMB     2       fence for FORGET
+XDP    RMB     2       dictionary pointer
+XVOCL  RMB     2       vocabulary linking
+XBLK   RMB     2       disc block being accessed
+XIN    RMB     2       scan pointer into the block
+XOUT   RMB     2       cursor position
+XSCR   RMB     2       disc screen being accessed ( O=terminal )
+XOFSET RMB     2       disc sector offset for multi-disc
+XCONT  RMB     2       last word in primary search vocabulary
+XCURR  RMB     2       last word in extensible vocabulary
+XSTATE RMB     2       flag for 'interpret' or 'compile' modes
+XBASE  RMB     2       number base for I/O numeric conversion
+XDPL   RMB     2       decimal point place
 XFLD   RMB     2       
-XCSP   RMB     2       current stack position, for compile checks
+XCSP   RMB     2       current stack position, for compile checks
 XRNUM  RMB     2       
 XHLD   RMB     2       
-XDELAY RMB     2       carriage return delay count
-XCOLUM RMB     2       carriage width
-IOSTAT RMB     2       last acia status from write/read
-       RMB     2       ( 4 spares! )
+XDELAY RMB     2       carriage return delay count
+XCOLUM RMB     2       carriage width
+IOSTAT RMB     2       last acia status from write/read
+       RMB     2       ( 4 spares! )
        RMB     2       
        RMB     2       
        RMB     2       
@@ -221,15 +245,15 @@ IOSTAT    RMB     2       ; last acia status from write/read
 *
 XUSE   RMB     2
 XPREV  RMB     2
-       RMB     4       ( spares )
+       RMB     4       ( spares )
 
        PAGE
 *  These things, up through the lable 'REND', are overwritten
 *  at time of cold load and should have the same contents
 *  as shown here:
 *
-       FCB     $C5     immediate
-       FCC     4,FORTH
+       FCB     $C5     immediate
+       FCC     'FORT'  ; 'FORTH'
        FCB     $C8
        FDB     NOOP-7
 FORTH  FDB     DODOES,DOVOC,$81A0,TASK-7
@@ -238,7 +262,7 @@ FORTH       FDB     DODOES,DOVOC,$81A0,TASK-7
        FCC     "(C) Forth Interest Group, 1979"
 
        FCB     $84
-       FCC     3,TASK
+       FCC     'TAS'   ; 'TASK'
        FCB     $CB
        FDB     FORTH-8
 TASK   FDB     DOCOL,SEMIS
@@ -246,9 +270,10 @@ TASK       FDB     DOCOL,SEMIS
 REND   EQU     *       ( first empty location in dictionary )
 
        PAGE
+* Check the addresses yourself:
 *    The FORTH program ( address $1000 to $27FF ) is written
 *    so that it can be in a ROM, or write-protected if desired
-       ORG     $1000
+       ORG     $3000
 
 * ######>> screen 3 <<
 *
@@ -261,38 +286,45 @@ ORIG      NOP
 **  W A R M   E N T R Y  **
 ***************************
        NOP
-       JMP     WENT    warm-start code, keeps current dictionary intact
+       JMP     WENT    warm-start code, keeps current dictionary intact
 
 *
 ******* startup parmeters **************************
 *
-       FDB     $6800,0000      ; cpu & revision
-       FDB     0       ; topmost word in FORTH vocabulary
-BACKSP FDB     $7F     ; backspace character for editing
-UPINIT FDB     UORIG   ; initial user area
-SINIT  FDB     ORIG-$D0        ; initial top of data stack
-RINIT  FDB     ORIG-2  initial top of return stack
-       FDB     ORIG-$D0        terminal input buffer
-       FDB     31      ; initial name field width
-       FDB     0       ; initial warning mode (0 = no disc)
-FENCIN FDB     REND    ; initial fence
-DPINIT FDB     REND    ; cold start value for DP
+RPTIB  EQU     $200            Give us more room to breath.
+SBUMPR EQU     $10             Bumper area for stacks.
+*
+       FDB     $6800,6809      cpu & revision
+       FDB     0       topmost word in FORTH vocabulary
+BACKSP FDB     $7F     backspace character for editing
+UPINIT FDB     UORIG   initial user area
+* SINIT        FDB     ORIG-$D0        initial top of data stack
+SINIT  FDB     ORIG-RPTIB-SBUMPR*2
+* RINIT        FDB     ORIG-2  initial top of return stack
+RINIT  FDB     ORIG-SBUMPR
+*      FDB     ORIG-$D0        terminal input buffer
+       FDB     ORIG-RPTIB-SBUMPR
+       FDB     31      initial name field width
+       FDB     0       initial warning mode (0 = no disc)
+FENCIN FDB     REND    initial fence
+DPINIT FDB     REND    cold start value for DP
 VOCINT FDB     FORTH+8 
-COLINT FDB     132     initial terminal carriage width
-DELINT FDB     4       initial carriage return delay
+COLINT FDB     132     initial terminal carriage width
+DELINT FDB     4       initial carriage return delay
 ****************************************************
 *
        PAGE
 *
 * ######>> screen 13 <<
-PULABX PULS A          ; 24 cycles until 'NEXT'
+* Calculate the cycles yourself:
+PULABX PULS A          24 cycles until 'NEXT'
        PULS B
-STABX  STA     0,X     16 cycles until 'NEXT'
+STABX  STA     0,X     16 cycles until 'NEXT'
        STB     1,X
        BRA     NEXT
-GETX   LDA     0,X     18 cycles until 'NEXT'
+GETX   LDA     0,X     18 cycles until 'NEXT'
        LDB     1,X
-PUSHBA PSHS B          8 cycles until 'NEXT'
+PUSHBA PSHS B          8 cycles until 'NEXT'
        PSHS A
 
 
@@ -300,25 +332,109 @@ PUSHBA   PSHS B          ; 8 cycles until 'NEXT'
 *
 * "NEXT" takes 38 cycles if TRACE is removed,
 *
-* and 95 cycles if NOT tracing.
+* and 95 cycles if NOT tracing. (Way bogus numbers by now.)
 *
 * = = = = = = =   t h e   v i r t u a l   m a c h i n e   = = = = =
 *                                                                 =
 NEXT   LDX     IP
-       LEAX 1,X                pre-increment mode
+       LEAX 1,X                pre-increment mode
        LEAX 1,X
        STX     IP
-NEXT2  LDX     0,X     get W which points to CFA of word to be done
+NEXT2  LDX     0,X     get W which points to CFA of word to be done
 NEXT3  STX     W
-       LDX     0,X     get VECT which points to executable code
+       LDX     0,X     get VECT which points to executable code
 *                                                                 =
 * The next instruction could be patched to JMP TRACE              =
 * if a TRACE routine is available:                                =
 *                                                                 =
-       JMP     0,X
+* Or add the TRACE routine in-line, since we are assembling it.
+       TST TRACEM
+       BEQ NEXTGO
+       STX TRAVEC
+       TFR S,X ; Mechanical! Mechanical! (So the funn 6800 stack didn't beach us.)
+       STX TRASP
+       LDA #':'
+       JSR PEMIT
+       LDA #' '
+       JSR PEMIT
+       LDX W
+       LEAX -1,X 
+       LEAX -1,X ; allocation link
+       LEAX -1,X ; last char
+       LDA #31
+NAMTST LEAX -1,X ; length byte?
+       LDB 0,X
+       BMI NAMTDN
+       DECA
+       BNE NAMTST
+NAMTDN ANDB #31 ; It's the length byte whether it wants to be or not.
+NAMSHW LEAX 1,X
+       LDA 0,X
+       JSR PEMIT
+       DECB
+       BNE NAMSHW
+* show the virtual registers
+* TOO MUCH OUTPUT! Have to trim this.
+       LDA #' '
+       JSR PEMIT
+       LDA #'@'
+       LDX #TRAVEC
+       JSR PHEX4F
+       TFR DP,A
+       LDB #(W-PGBASE)
+       TFR D,X
+       LDA #'W'
+       JSR PHEX4F
+       LDA #'I'
+       JSR PHEX4F
+       LDA #'R'
+       JSR PHEX4F
+       LDA #'U'
+       JSR PHEX4F
+       TFR DP,A
+       LDB #(W-TRASP)
+       TFR D,X
+       LDA #'S'
+       BSR PHEX4F
+       LDA #'>'
+       TFR S,X 
+       BSR PHEX4F
+       LDA #' '
+       BSR PHEX4F
+* 
+       JSR PCR
+       LDX TRAVEC
+*
+NEXTGO JMP     0,X
        NOP
-*      JMP     TRACE   ; ( an alternate for the above )
+*      JMP     TRACE   ( an alternate for the above )
+*                                                                 =
 *                                                                 =
+*DBG
+PHEX4F JSR PEMIT
+       BSR PHEXX2
+       BSR PHEXX2
+       LDA #' '
+       JSR PEMIT
+       RTS
+PHEXX2 LDA 0,X
+       LSRA
+       LSRA
+       LSRA
+       LSRA
+       JSR PHEXD
+       LDA 0,X
+       JSR PHEXD
+       LEAX 1,X
+       RTS
+PHEXD  ANDA #$0F
+       CMPA #10
+       BLO PHEXDH
+       ADDA #7 ; 'A'-'9'+1
+PHEXDH ADDA #'0'
+       JSR PEMIT
+       RTS
+*DBG
 * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
 
 
@@ -326,9 +442,9 @@ NEXT3       STX     W
 *
 * ======>>  1  <<
        FCB     $83
-       FCC     2,LIT   ; NOTE: this is different from LITERAL
+       FCC     'LI'    ; 'LIT' :       NOTE: this is different from LITERAL
        FCB     $D4
-       FDB     0       link of zero to terminate dictionary scan
+       FDB     0       link of zero to terminate dictionary scan
 LIT    FDB     *+2
        LDX     IP
        LEAX 1,X
@@ -340,7 +456,7 @@ LIT FDB     *+2
 *
 * ######>> screen 14 <<
 * ======>>  2  <<
-CLITER FDB     *+2      (this is an invisible word, with no header)
+CLITER FDB     *+2      (this is an invisible word, with no header)
        LDX     IP
        LEAX 1,X
        STX     IP
@@ -350,27 +466,27 @@ CLITER    FDB     *+2      ; (this is an invisible word, with no header)
 *
 * ======>>  3  <<
        FCB     $87
-       FCC     6,EXECUTE
+       FCC     'EXECUT'        ; 'EXECUTE'
        FCB     $C5
        FDB     LIT-6
 EXEC   FDB     *+2
        TFR S,X
-       LDX     0,X     get code field address (CFA)
-       LEAS 1,S                pop stack
+       LDX     0,X     get code field address (CFA)
+       LEAS 1,S                pop stack
        LEAS 1,S
        JMP     NEXT3
 *
 * ######>> screen 15 <<
 * ======>>  4  <<
        FCB     $86
-       FCC     5,BRANCH
+       FCC     'BRANC' ; 'BRANCH'
        FCB     $C8
        FDB     EXEC-10
-BRAN   FDB     ZBYES   Go steal code in ZBRANCH
+BRAN   FDB     ZBYES   Go steal code in ZBRANCH
 *
 * ======>>  5  <<
        FCB     $87
-       FCC     6,0BRANCH
+       FCC     '0BRANC'        ; '0BRANCH'
        FCB     $C8
        FDB     BRAN-9
 ZBRAN  FDB     *+2
@@ -386,7 +502,7 @@ ZBRAN       FDB     *+2
 * End of unintelligent ABA conversion.
        BNE     ZBNO
        BCS     ZBNO
-ZBYES  LDX     IP      Note: code is shared with BRANCH, (+LOOP), (LOOP)
+ZBYES  LDX     IP      Note: code is shared with BRANCH, (+LOOP), (LOOP)
        LDB     3,X
        LDA     2,X
        ADDB    IP+1
@@ -394,8 +510,8 @@ ZBYES       LDX     IP      ; Note: code is shared with BRANCH, (+LOOP), (LOOP)
        STB     IP+1
        STA     IP
        JMP     NEXT
-ZBNO   LDX     IP      no branch. This code is shared with (+LOOP), (LOOP).
-       LEAX 1,X                jump over branch delta
+ZBNO   LDX     IP      no branch. This code is shared with (+LOOP), (LOOP).
+       LEAX 1,X                jump over branch delta
        LEAX 1,X
        STX     IP
        JMP     NEXT
@@ -403,36 +519,36 @@ ZBNO      LDX     IP      ; no branch. This code is shared with (+LOOP), (LOOP).
 * ######>> screen 16 <<
 * ======>>  6  <<
        FCB     $86
-       FCC     5,(LOOP)
+       FCC     '(LOOP' ; '(LOOP)'
        FCB     $A9
        FDB     ZBRAN-10
 XLOOP  FDB     *+2
        CLRA
-       LDB     #1      get set to increment counter by 1
-       BRA     XPLOP2  go steal other guy's code!
+       LDB     #1      get set to increment counter by 1
+       BRA     XPLOP2  go steal other guy's code!
 *
 * ======>>  7  <<
        FCB     $87
-       FCC     6,(+LOOP)
+       FCC     '(+LOOP'        ; '(+LOOP)'
        FCB     $A9
        FDB     XLOOP-9
-XPLOOP FDB *+2 Note: +LOOP has an un-signed loop counter
-       PULS A  get increment
+XPLOOP FDB *+2 Note: +LOOP has an un-signed loop counter
+       PULS A  get increment
        PULS B
 XPLOP2 TSTA
-       BPL     XPLOF   forward looping
+       BPL     XPLOF   forward looping
        BSR     XPLOPS
        ORCC #1
        SBCB    5,X
        SBCA    4,X
        BPL     ZBYES
-       BRA     XPLONO  fall through
+       BRA     XPLONO  fall through
 *
 * the subroutine :
 XPLOPS LDX     RP
-       ADDB    3,X     add it to counter
+       ADDB    3,X     add it to counter
        ADCA    2,X
-       STB     3,X     store new counter value
+       STB     3,X     store new counter value
        STA     2,X
        RTS
 *
@@ -441,20 +557,20 @@ XPLOF     BSR     XPLOPS
        SBCA    4,X
        BMI     ZBYES
 *
-XPLONO LEAX 1,X                done, don't branch back
+XPLONO LEAX 1,X                done, don't branch back
        LEAX 1,X
        LEAX 1,X
        LEAX 1,X
        STX     RP
-       BRA     ZBNO    use ZBRAN to skip over unused delta
+       BRA     ZBNO    use ZBRAN to skip over unused delta
 *
 * ######>> screen 17 <<
 * ======>>  8  <<
        FCB     $84
-       FCC     3,(DO)
+       FCC     '(DO'   ; '(DO)'
        FCB     $A9
        FDB     XPLOOP-10
-XDO    FDB     *+2     This is the RUNTIME DO, not the COMPILING DO
+XDO    FDB     *+2     This is the RUNTIME DO, not the COMPILING DO
        LDX     RP
        LEAX -1,X
        LEAX -1,X
@@ -484,32 +600,32 @@ I FDB     *+2
 * ######>> screen 18 <<
 * ======>>  10  <<
        FCB     $85
-       FCC     4,DIGIT
+       FCC     'DIGI'  ; 'DIGIT'
        FCB     $D4
        FDB     I-4
-DIGIT  FDB     *+2     NOTE: legal input range is 0-9, A-Z
+DIGIT  FDB     *+2     NOTE: legal input range is 0-9, A-Z
        TFR S,X
        LDA     3,X
-       SUBA    #$30    ascii zero
-       BMI     DIGIT2  IF LESS THAN '0', ILLEGAL
+       SUBA    #$30    ascii zero
+       BMI     DIGIT2  IF LESS THAN '0', ILLEGAL
        CMPA    #$A
-       BMI     DIGIT0  IF '9' OR LESS
+       BMI     DIGIT0  IF '9' OR LESS
        CMPA    #$11
-       BMI     DIGIT2  if less than 'A'
+       BMI     DIGIT2  if less than 'A'
        CMPA    #$2B
-       BPL     DIGIT2  if greater than 'Z'
-       SUBA    #7      translate 'A' thru 'F'
+       BPL     DIGIT2  if greater than 'Z'
+       SUBA    #7      translate 'A' thru 'F'
 DIGIT0 CMPA    1,X
-       BPL     DIGIT2  if not less than the base
-       LDB     #1      set flag
-       STA     3,X     store digit
-DIGIT1 STB     1,X     store the flag
+       BPL     DIGIT2  if not less than the base
+       LDB     #1      set flag
+       STA     3,X     store digit
+DIGIT1 STB     1,X     store the flag
        JMP     NEXT
 DIGIT2 CLRB
        LEAS 1,S
-       LEAS 1,S        pop bottom number
+       LEAS 1,S        pop bottom number
        TFR S,X
-       STB     0,X     make sure both bytes are 00
+       STB     0,X     make sure both bytes are 00
        BRA     DIGIT1
 *
 * ######>> screen 19 <<
@@ -532,36 +648,36 @@ DIGIT2    CLRB
 *
 * ======>>  11  <<
        FCB     $86
-       FCC     5,(FIND)
+       FCC     '(FIND' ; '(FIND)'
        FCB     $A9
        FDB     DIGIT-8
 PFIND  FDB     *+2
        NOP
        NOP
-PD     EQU     N       ptr to dict word being checked
+PD     EQU     N       ptr to dict word being checked
 PA0    EQU     N+2
 PA     EQU     N+4
 PCT    EQU     N+6     ; PC in 6800 source
        LDX     #PD
        LDB     #4
-PFIND0 PULS A          loop to get arguments
+PFIND0 PULS A          loop to get arguments
        STA     0,X
        LEAX 1,X
        DECB
        BNE     PFIND0
 *
        LDX     PD
-PFIND1 LDB     0,X     get count dict count
+PFIND1 LDB     0,X     get count dict count
        STB     PCT
        ANDB    #$3F
        LEAX 1,X
-       STX     PD      update PD
+       STX     PD      update PD
        LDX     PA0
-       LDA     0,X     get count from arg
+       LDA     0,X     get count from arg
        LEAX 1,X
-       STX     PA      intialize PA
+       STX     PA      intialize PA
        PSHS B ; sim CBA
-       CMPA ,S+                compare lengths
+       CMPA ,S+                compare lengths
        BNE     PFIND4
 PFIND2 LDX     PA
        LDA     0,X
@@ -571,14 +687,14 @@ PFIND2    LDX     PA
        LDB     0,X
        LEAX 1,X
        STX     PD
-       TSTB            is dict entry neg. ?
+       TSTB            is dict entry neg. ?
        BPL     PFIND8
-       ANDB    #$7F    clear sign
+       ANDB    #$7F    clear sign
        PSHS B ; sim CBA
        CMPA ,S+
        BEQ     FOUND
-PFIND3 LDX     0,X     get new link
-       BNE     PFIND1  continue if link not=0
+PFIND3 LDX     0,X     get new link
+       BNE     PFIND1  continue if link not=0
 *
 *      not found :
 *
@@ -589,14 +705,14 @@ PFIND8    PSHS B ; sim CBA
        CMPA ,S+
        BEQ     PFIND2
 PFIND4 LDX     PD
-PFIND9 LDB     0,X     scan forward to end of this name
+PFIND9 LDB     0,X     scan forward to end of this name
        LEAX 1,X
        BPL     PFIND9
        BRA     PFIND3
 *
 *      found :
 *
-FOUND  LDA     PD      compute CFA
+FOUND  LDA     PD      compute CFA
        LDB     PD+1
        ADDB    #4
        ADCA    #0
@@ -618,7 +734,7 @@ FOUND       LDA     PD      ; compute CFA
 * ######>> screen 20 <<
 * ======>>  12  <<
        FCB     $87
-       FCC     6,ENCLOSE
+       FCC     'ENCLOS'        ; 'ENCLOSE'
        FCB     $C5
        FDB     PFIND-9
 * NOTE :
@@ -627,7 +743,7 @@ FOUND       LDA     PD      ; compute CFA
 * NC  "     "   to Next Character to start next enclose at
 ENCLOS FDB     *+2
        LEAS 1,S
-       PULS B          now, get the low byte, for an 8-bit delimiter
+       PULS B          now, get the low byte, for an 8-bit delimiter
        TFR S,X
        LDX     0,X
        CLR     N
@@ -635,7 +751,7 @@ ENCLOS      FDB     *+2
 ENCL2  LDA     0,X
        BEQ     ENCL6
        PSHS B ; sim CBA
-       CMPA ,S+                CHECK FOR DELIM
+       CMPA ,S+                CHECK FOR DELIM
        BNE     ENCL3
        LEAX 1,X
        INC     N
@@ -644,12 +760,12 @@ ENCL2     LDA     0,X
 ENCL3  LDA     N       found first char.
        PSHS A
        CLRA
-       PSHS A 
+       PSHS A
 *      wait for a delimiter or a NUL
 ENCL4  LDA     0,X
        BEQ     ENCL7
        PSHS B ; sim CBA
-       CMPA ,S+                ckech for delim.
+       CMPA ,S+                ckech for delim.
        BEQ     ENCL5
        LEAX 1,X
        INC     N
@@ -684,7 +800,7 @@ ENCL8       LDB     N       save NC
 *
 * ======>>  13  <<
        FCB     $84
-       FCC     3,EMIT
+       FCC     'EMI'   ; 'EMIT'
        FCB     $D4
        FDB     ENCLOS-10
 EMIT   FDB     *+2
@@ -699,7 +815,7 @@ EMIT        FDB     *+2
 *
 * ======>>  14  <<
        FCB     $83
-       FCC     2,KEY
+       FCC     'KE'    ; 'KEY'
        FCB     $D9
        FDB     EMIT-7
 KEY    FDB     *+2
@@ -711,7 +827,7 @@ KEY FDB     *+2
 *
 * ======>>  15  <<
        FCB     $89
-       FCC     8,?TERMINAL
+       FCC     '?TERMINA'      ; '?TERMINAL'
        FCB     $CC
        FDB     KEY-6
 QTERM  FDB     *+2
@@ -721,7 +837,7 @@ QTERM       FDB     *+2
 *
 * ======>>  16  <<
        FCB     $82
-       FCC     1,CR
+       FCC     'C'     ; 'CR'
        FCB     $D2
        FDB     QTERM-12
 CR     FDB     *+2
@@ -731,7 +847,7 @@ CR  FDB     *+2
 * ######>> screen 22 <<
 * ======>>  17  <<
        FCB     $85
-       FCC     4,CMOVE source, destination, count
+       FCC     'CMOV'  ; 'CMOVE' :     source, destination, count
        FCB     $C5
        FDB     CR-5
 CMOVE  FDB     *+2     takes ( 43+47*count cycles )
@@ -763,7 +879,7 @@ CMOV3       JMP     NEXT
 * ######>> screen 23 <<
 * ======>>  18  <<
        FCB     $82
-       FCC     1,U*
+       FCC     'U'     ; 'U*'
        FCB     $AA
        FDB     CMOVE-8
 USTAR  FDB     *+2
@@ -798,7 +914,7 @@ USTAR4      LEAS 1,S                dump counter
 * ######>> screen 24 <<
 * ======>>  19  <<
        FCB     $82
-       FCC     1,U/
+       FCC     'U'     ; 'U/'
        FCB     $AF
        FDB     USTAR-5
 USLASH FDB     *+2
@@ -835,7 +951,7 @@ USL5        LEAS 1,S
 * ######>> screen 25 <<
 * ======>>  20  <<
        FCB     $83
-       FCC     2,AND
+       FCC     'AN'    ; 'AND'
        FCB     $C4
        FDB     USLASH-5
 AND    FDB     *+2
@@ -848,7 +964,7 @@ AND FDB     *+2
 *
 * ======>>  21  <<
        FCB     $82
-       FCC     1,OR
+       FCC     'O'     ; 'OR'
        FCB     $D2
        FDB     AND-6
 OR     FDB     *+2
@@ -861,7 +977,7 @@ OR  FDB     *+2
 *      
 * ======>>  22  <<
        FCB     $83
-       FCC     2,XOR
+       FCC     'XO'    ; 'XOR'
        FCB     $D2
        FDB     OR-5
 XOR    FDB     *+2
@@ -875,7 +991,7 @@ XOR FDB     *+2
 * ######>> screen 26 <<
 * ======>>  23  <<
        FCB     $83
-       FCC     2,SP@
+       FCC     'SP'    ; 'SP@'
        FCB     $C0
        FDB     XOR-6
 SPAT   FDB     *+2
@@ -886,18 +1002,19 @@ SPAT     FDB     *+2
 *
 * ======>>  24  <<
        FCB     $83
-       FCC     2,SP!
+       FCC     'SP'    ; 'SP!'
        FCB     $A1
        FDB     SPAT-6
 SPSTOR FDB     *+2
        LDX     UP
        LDX     XSPZER-UORIG,X
-* Potential problem area? ******
-       TFR X,S         watch it ! X and S are not equal.
+* Potential problem area? No. ******
+       TFR X,S         watch it ! X and S are not equal -- on 6800.
+* But they are on 6809, and that's what we want here.
        JMP     NEXT
 * ======>>  25  <<
        FCB     $83
-       FCC     2,RP!
+       FCC     'RP'    ; 'RP!'
        FCB     $A1
        FDB     SPSTOR-6
 RPSTOR FDB     *+2
@@ -907,7 +1024,7 @@ RPSTOR     FDB     *+2
 *
 * ======>>  26  <<
        FCB     $82
-       FCC     1,;S
+       FCC     ';'     ; ';S'
        FCB     $D3
        FDB     RPSTOR-6
 SEMIS  FDB     *+2
@@ -921,7 +1038,7 @@ SEMIS      FDB     *+2
 * ######>> screen 27 <<
 * ======>>  27  <<
        FCB     $85
-       FCC     4,LEAVE
+       FCC     'LEAV'  ; 'LEAVE'
        FCB     $C5
        FDB     SEMIS-5
 LEAVE  FDB     *+2
@@ -934,7 +1051,7 @@ LEAVE      FDB     *+2
 *
 * ======>>  28  <<
        FCB     $82
-       FCC     1,>R
+       FCC     '>'     ; '>R'
        FCB     $D2
        FDB     LEAVE-8
 TOR    FDB     *+2
@@ -950,7 +1067,7 @@ TOR        FDB     *+2
 *
 * ======>>  29  <<
        FCB     $82
-       FCC     1,R>
+       FCC     'R'     ; 'R>'
        FCB     $BE
        FDB     TOR-5
 FROMR  FDB     *+2
@@ -975,7 +1092,7 @@ R  FDB     *+2
 * ######>> screen 28 <<
 * ======>>  31  <<
        FCB     $82
-       FCC     1,0=
+       FCC     '0'     ; '0='
        FCB     $BD
        FDB     R-4
 ZEQU   FDB     *+2
@@ -990,7 +1107,7 @@ ZEQU2      TFR S,X
 *
 * ======>>  32  <<
        FCB     $82
-       FCC     1,0<
+       FCC     '0'     ; '0<'
        FCB     $BC
        FDB     ZEQU-5
 ZLESS  FDB     *+2
@@ -1019,7 +1136,7 @@ PLUS      FDB     *+2
 *
 * ======>>  34  <<
        FCB     $82
-       FCC     1,D+
+       FCC     'D'     ; 'D+'
        FCB     $AB
        FDB     PLUS-4
 DPLUS  FDB     *+2
@@ -1040,7 +1157,7 @@ DPLUS2    LDA     3,X
 *
 * ======>>  35  <<
        FCB     $85
-       FCC     4,MINUS
+       FCC     'MINU'  ; 'MINUS'
        FCB     $D3
        FDB     DPLUS-5
 MINUS  FDB     *+2
@@ -1054,7 +1171,7 @@ MINUS3    JMP     NEXT
 *
 * ======>>  36  <<
        FCB     $86
-       FCC     5,DMINUS
+       FCC     'DMINU' ; 'DMINUS'
        FCB     $D3
        FDB     MINUS-8
 DMINUS FDB     *+2
@@ -1074,7 +1191,7 @@ DMINX     JMP     NEXT
 * ######>> screen 30 <<
 * ======>>  37  <<
        FCB     $84
-       FCC     3,OVER
+       FCC     'OVE'   ; 'OVER'
        FCB     $D2
        FDB     DMINUS-9
 OVER   FDB     *+2
@@ -1085,7 +1202,7 @@ OVER      FDB     *+2
 *
 * ======>>  38  <<
        FCB     $84
-       FCC     3,DROP
+       FCC     'DRO'   ; 'DROP'
        FCB     $D0
        FDB     OVER-7
 DROP   FDB     *+2
@@ -1095,7 +1212,7 @@ DROP      FDB     *+2
 *
 * ======>>  39  <<
        FCB     $84
-       FCC     3,SWAP
+       FCC     'SWA'   ; 'SWAP'
        FCB     $D0
        FDB     DROP-7
 SWAP   FDB     *+2
@@ -1113,7 +1230,7 @@ SWAP      FDB     *+2
 *
 * ======>>  40  <<
        FCB     $83
-       FCC     2,DUP
+       FCC     'DU'    ; 'DUP'
        FCB     $D0
        FDB     SWAP-7
 DUP    FDB     *+2
@@ -1126,7 +1243,7 @@ DUP       FDB     *+2
 * ######>> screen 31 <<
 * ======>>  41  <<
        FCB     $82
-       FCC     1,+!
+       FCC     '+'     ; '+!'
        FCB     $A1
        FDB     DUP-6
 PSTORE FDB     *+2
@@ -1144,7 +1261,7 @@ PSTORE    FDB     *+2
 *
 * ======>>  42  <<
        FCB     $86
-       FCC     5,TOGGLE
+       FCC     'TOGGL' ; 'TOGGLE'
        FCB     $C5
        FDB     PSTORE-5
 TOGGLE FDB     DOCOL,OVER,CAT,XOR,SWAP,CSTORE
@@ -1164,7 +1281,7 @@ AT        FDB     *+2
 *
 * ======>>  44  <<
        FCB     $82
-       FCC     1,C@
+       FCC     'C'     ; 'C@'
        FCB     $C0
        FDB     AT-4
 CAT    FDB     *+2
@@ -1189,7 +1306,7 @@ STORE     FDB     *+2
 *
 * ======>>  46  <<
        FCB     $82
-       FCC     1,C!
+       FCC     'C'     ; 'C!'
        FCB     $A1
        FDB     STORE-4
 CSTORE FDB     *+2
@@ -1237,7 +1354,7 @@ SEMI      FDB     DOCOL,QCSP,COMPIL,SEMIS,SMUDGE,LBRAK
 * ######>> screen 34 <<
 * ======>>  49  <<
        FCB     $88
-       FCC     7,CONSTANT
+       FCC     'CONSTAN'       ; 'CONSTANT'
        FCB     $D4
        FDB     SEMI-4
 CON    FDB     DOCOL,CREATE,SMUDGE,COMMA,PSCODE
@@ -1248,7 +1365,7 @@ DOCON     LDX     W
 *
 * ======>>  50  <<
        FCB     $88
-       FCC     7,VARIABLE
+       FCC     'VARIABL'       ; 'VARIABLE'
        FCB     $C5
        FDB     CON-11
 VAR    FDB     DOCOL,CON,PSCODE
@@ -1260,7 +1377,7 @@ DOVAR     LDA     W
 *
 * ======>>  51  <<
        FCB     $84
-       FCC     3,USER
+       FCC     'USE'   ; 'USER'
        FCB     $D2
        FDB     VAR-11
 USER   FDB     DOCOL,CON,PSCODE
@@ -1302,7 +1419,7 @@ THREE     FDB     DOCON
 *
 * ======>>  56  <<
        FCB     $82
-       FCC     1,BL
+       FCC     'B'     ; 'BL'
        FCB     $CC
        FDB     THREE-4
 BL     FDB     DOCON   ascii blank
@@ -1310,7 +1427,7 @@ BL        FDB     DOCON   ascii blank
 *
 * ======>>  57  <<
        FCB     $85
-       FCC     4,FIRST
+       FCC     'FIRS'  ; 'FIRST'
        FCB     $D4
        FDB     BL-5
 FIRST  FDB     DOCON
@@ -1318,7 +1435,7 @@ FIRST     FDB     DOCON
 *
 * ======>>  58  <<
        FCB     $85
-       FCC     4,LIMIT ( the end of memory +1 )
+       FCC     'LIMI'  ; 'LIMIT' :     ( the end of memory +1 )
        FCB     $D4
        FDB     FIRST-8
 LIMIT  FDB     DOCON
@@ -1326,7 +1443,7 @@ LIMIT     FDB     DOCON
 *
 * ======>>  59  <<
        FCB     $85
-       FCC     4,B/BUF (bytes/buffer)
+       FCC     'B/BU'  ; 'B/BUF' :     (bytes/buffer)
        FCB     $C6
        FDB     LIMIT-8
 BBUF   FDB     DOCON
@@ -1334,7 +1451,7 @@ BBUF      FDB     DOCON
 *
 * ======>>  60  <<
        FCB     $85
-       FCC     4,B/SCR (blocks/screen)
+       FCC     'B/SC'  ; 'B/SCR' :     (blocks/screen)
        FCB     $D2
        FDB     BBUF-8
 BSCR   FDB     DOCON
@@ -1343,7 +1460,7 @@ BSCR      FDB     DOCON
 *
 * ======>>  61  <<
        FCB     $87
-       FCC     6,+ORIGIN
+       FCC     '+ORIGI'        ; '+ORIGIN'
        FCB     $CE
        FDB     BSCR-8
 PORIG  FDB     DOCOL,LIT,ORIG,PLUS
@@ -1352,7 +1469,7 @@ PORIG     FDB     DOCOL,LIT,ORIG,PLUS
 * ######>> screen 36 <<
 * ======>>  62  <<
        FCB     $82
-       FCC     1,S0
+       FCC     'S'     ; 'S0'
        FCB     $B0
        FDB     PORIG-10
 SZERO  FDB     DOUSER
@@ -1360,7 +1477,7 @@ SZERO     FDB     DOUSER
 *
 * ======>>  63  <<
        FCB     $82
-       FCC     1,R0
+       FCC     'R'     ; 'R0'
        FCB     $B0
        FDB     SZERO-5
 RZERO  FDB     DOUSER
@@ -1368,7 +1485,7 @@ RZERO     FDB     DOUSER
 *
 * ======>>  64  <<
        FCB     $83
-       FCC     2,TIB
+       FCC     'TI'    ; 'TIB'
        FCB     $C2
        FDB     RZERO-5
 TIB    FDB     DOUSER
@@ -1376,7 +1493,7 @@ TIB       FDB     DOUSER
 *
 * ======>>  65  <<
        FCB     $85
-       FCC     4,WIDTH
+       FCC     'WIDT'  ; 'WIDTH'
        FCB     $C8
        FDB     TIB-6
 WIDTH  FDB     DOUSER
@@ -1384,7 +1501,7 @@ WIDTH     FDB     DOUSER
 *
 * ======>>  66  <<
        FCB     $87
-       FCC     6,WARNING
+       FCC     'WARNIN'        ; 'WARNING'
        FCB     $C7
        FDB     WIDTH-8
 WARN   FDB     DOUSER
@@ -1392,7 +1509,7 @@ WARN      FDB     DOUSER
 *
 * ======>>  67  <<
        FCB     $85
-       FCC     4,FENCE
+       FCC     'FENC'  ; 'FENCE'
        FCB     $C5
        FDB     WARN-10
 FENCE  FDB     DOUSER
@@ -1400,7 +1517,7 @@ FENCE     FDB     DOUSER
 *
 * ======>>  68  <<
        FCB     $82
-       FCC     1,DP    points to first free byte at end of dictionary
+       FCC     'D'     ; 'DP' :        points to first free byte at end of dictionary
        FCB     $D0
        FDB     FENCE-8
 DICPT  FDB     DOUSER  ; DP in 6800 source
@@ -1408,7 +1525,7 @@ DICPT     FDB     DOUSER  ; DP in 6800 source
 *
 * ======>>  68.5  <<
        FCB     $88
-       FCC     7,VOC-LINK
+       FCC     'VOC-LIN'       ; 'VOC-LINK'
        FCB     $CB
        FDB     DICPT-5
 VOCLIN FDB     DOUSER
@@ -1416,7 +1533,7 @@ VOCLIN    FDB     DOUSER
 *
 * ======>>  69  <<
        FCB     $83
-       FCC     2,BLK
+       FCC     'BL'    ; 'BLK'
        FCB     $CB
        FDB     VOCLIN-11
 BLK    FDB     DOUSER
@@ -1424,7 +1541,7 @@ BLK       FDB     DOUSER
 *
 * ======>>  70  <<
        FCB     $82
-       FCC     1,IN    scan pointer for input line buffer
+       FCC     'I'     ; 'IN' :        scan pointer for input line buffer
        FCB     $CE
        FDB     BLK-6
 IN     FDB     DOUSER
@@ -1432,7 +1549,7 @@ IN        FDB     DOUSER
 *
 * ======>>  71  <<
        FCB     $83
-       FCC     2,OUT
+       FCC     'OU'    ; 'OUT'
        FCB     $D4
        FDB     IN-5
 OUT    FDB     DOUSER
@@ -1440,7 +1557,7 @@ OUT       FDB     DOUSER
 *
 * ======>>  72  <<
        FCB     $83
-       FCC     2,SCR
+       FCC     'SC'    ; 'SCR'
        FCB     $D2
        FDB     OUT-6
 SCR    FDB     DOUSER
@@ -1449,7 +1566,7 @@ SCR       FDB     DOUSER
 *
 * ======>>  73  <<
        FCB     $86
-       FCC     5,OFFSET
+       FCC     'OFFSE' ; 'OFFSET'
        FCB     $D4
        FDB     SCR-6
 OFSET  FDB     DOUSER
@@ -1457,7 +1574,7 @@ OFSET     FDB     DOUSER
 *
 * ======>>  74  <<
        FCB     $87
-       FCC     6,CONTEXT       points to pointer to vocab to search first
+       FCC     'CONTEX'        ; 'CONTEXT' :   points to pointer to vocab to search first
        FCB     $D4
        FDB     OFSET-9
 CONTXT FDB     DOUSER
@@ -1465,7 +1582,7 @@ CONTXT    FDB     DOUSER
 *
 * ======>>  75  <<
        FCB     $87
-       FCC     6,CURRENT       points to ptr. to vocab being extended
+       FCC     'CURREN'        ; 'CURRENT' :   points to ptr. to vocab being extended
        FCB     $D4
        FDB     CONTXT-10
 CURENT FDB     DOUSER
@@ -1473,7 +1590,7 @@ CURENT    FDB     DOUSER
 *
 * ======>>  76  <<
        FCB     $85
-       FCC     4,STATE 1 if compiling, 0 if not
+       FCC     'STAT'  ; 'STATE' :     1 if compiling, 0 if not
        FCB     $C5
        FDB     CURENT-10
 STATE  FDB     DOUSER
@@ -1481,7 +1598,7 @@ STATE     FDB     DOUSER
 *
 * ======>>  77  <<
        FCB     $84
-       FCC     3,BASE  number base for all input & output
+       FCC     'BAS'   ; 'BASE' :      number base for all input & output
        FCB     $C5
        FDB     STATE-8
 BASE   FDB     DOUSER
@@ -1489,7 +1606,7 @@ BASE      FDB     DOUSER
 *
 * ======>>  78  <<
        FCB     $83
-       FCC     2,DPL
+       FCC     'DP'    ; 'DPL'
        FCB     $CC
        FDB     BASE-7
 DPL    FDB     DOUSER
@@ -1497,7 +1614,7 @@ DPL       FDB     DOUSER
 *
 * ======>>  79  <<
        FCB     $83
-       FCC     2,FLD
+       FCC     'FL'    ; 'FLD'
        FCB     $C4
        FDB     DPL-6
 FLD    FDB     DOUSER
@@ -1505,7 +1622,7 @@ FLD       FDB     DOUSER
 *
 * ======>>  80  <<
        FCB     $83
-       FCC     2,CSP
+       FCC     'CS'    ; 'CSP'
        FCB     $D0
        FDB     FLD-6
 CSP    FDB     DOUSER
@@ -1513,7 +1630,7 @@ CSP       FDB     DOUSER
 *
 * ======>>  81  <<
        FCB     $82
-       FCC     1,R#
+       FCC     'R'     ; 'R#'
        FCB     $A3
        FDB     CSP-6
 RNUM   FDB     DOUSER
@@ -1521,7 +1638,7 @@ RNUM      FDB     DOUSER
 *
 * ======>>  82  <<
        FCB     $83
-       FCC     2,HLD
+       FCC     'HL'    ; 'HLD'
        FCB     $C4
        FDB     RNUM-5
 HLD    FDB     DOCON
@@ -1529,7 +1646,7 @@ HLD       FDB     DOCON
 *
 * ======>>  82.5  <<== SPECIAL
        FCB     $87
-       FCC     6,COLUMNS       line width of terminal
+       FCC     'COLUMN'        ; 'COLUMNS' :   line width of terminal
        FCB     $D3
        FDB     HLD-6
 COLUMS FDB     DOUSER
@@ -1538,7 +1655,7 @@ COLUMS    FDB     DOUSER
 * ######>> screen 38 <<
 * ======>>  83  <<
        FCB     $82
-       FCC     1,1+
+       FCC     '1'     ; '1+'
        FCB     $AB
        FDB     COLUMS-10
 ONEP   FDB     DOCOL,ONE,PLUS
@@ -1546,7 +1663,7 @@ ONEP      FDB     DOCOL,ONE,PLUS
 *
 * ======>>  84  <<
        FCB     $82
-       FCC     1,2+
+       FCC     '2'     ; '2+'
        FCB     $AB
        FDB     ONEP-5
 TWOP   FDB     DOCOL,TWO,PLUS
@@ -1554,7 +1671,7 @@ TWOP      FDB     DOCOL,TWO,PLUS
 *
 * ======>>  85  <<
        FCB     $84
-       FCC     3,HERE
+       FCC     'HER'   ; 'HERE'
        FCB     $C5
        FDB     TWOP-5
 HERE   FDB     DOCOL,DICPT,AT
@@ -1562,7 +1679,7 @@ HERE      FDB     DOCOL,DICPT,AT
 *
 * ======>>  86  <<
        FCB     $85
-       FCC     4,ALLOT
+       FCC     'ALLO'  ; 'ALLOT'
        FCB     $D4
        FDB     HERE-7
 ALLOT  FDB     DOCOL,DICPT,PSTORE
@@ -1577,7 +1694,7 @@ COMMA     FDB     DOCOL,HERE,STORE,TWO,ALLOT
 *
 * ======>>  88  <<
        FCB     $82
-       FCC     1,C,
+       FCC     'C'     ; 'C,'
        FCB     $AC
        FDB     COMMA-4
 CCOMM  FDB     DOCOL,HERE,CSTORE,ONE,ALLOT
@@ -1627,7 +1744,7 @@ GREAT     FDB     DOCOL,SWAP,LESS
 *
 * ======>>  93  <<
        FCB     $83
-       FCC     2,ROT
+       FCC     'RO'    ; 'ROT'
        FCB     $D4
        FDB     GREAT-4
 ROT    FDB     DOCOL,TOR,SWAP,FROMR,SWAP
@@ -1635,7 +1752,7 @@ ROT       FDB     DOCOL,TOR,SWAP,FROMR,SWAP
 *
 * ======>>  94  <<
        FCB     $85
-       FCC     4,SPACE
+       FCC     'SPAC'  ; 'SPACE'
        FCB     $C5
        FDB     ROT-6
 SPACE  FDB     DOCOL,BL,EMIT
@@ -1643,7 +1760,7 @@ SPACE     FDB     DOCOL,BL,EMIT
 *
 * ======>>  95  <<
        FCB     $83
-       FCC     2,MIN
+       FCC     'MI'    ; 'MIN'
        FCB     $CE
        FDB     SPACE-8
 MIN    FDB     DOCOL,OVER,OVER,GREAT,ZBRAN
@@ -1654,7 +1771,7 @@ MIN2      FDB     DROP
 *
 * ======>>  96  <<
        FCB     $83
-       FCC     2,MAX
+       FCC     'MA'    ; 'MAX'
        FCB     $D8
        FDB     MIN-6
 MAX    FDB     DOCOL,OVER,OVER,LESS,ZBRAN
@@ -1665,7 +1782,7 @@ MAX2      FDB     DROP
 *
 * ======>>  97  <<
        FCB     $84
-       FCC     3,-DUP
+       FCC     '-DU'   ; '-DUP'
        FCB     $D0
        FDB     MAX-6
 DDUP   FDB     DOCOL,DUP,ZBRAN
@@ -1676,7 +1793,7 @@ DDUP2     FDB     SEMIS
 * ######>> screen 39 <<
 * ======>>  98  <<
        FCB     $88
-       FCC     7,TRAVERSE
+       FCC     'TRAVERS'       ; 'TRAVERSE'
        FCB     $C5
        FDB     DDUP-7
 TRAV   FDB     DOCOL,SWAP
@@ -1689,7 +1806,7 @@ TRAV2     FDB     OVER,PLUS,CLITER
 *
 * ======>>  99  <<
        FCB     $86
-       FCC     5,LATEST
+       FCC     'LATES' ; 'LATEST'
        FCB     $D4
        FDB     TRAV-11
 LATEST FDB     DOCOL,CURENT,AT,AT
@@ -1697,7 +1814,7 @@ LATEST    FDB     DOCOL,CURENT,AT,AT
 *
 * ======>>  100  <<
        FCB     $83
-       FCC     2,LFA
+       FCC     'LF'    ; 'LFA'
        FCB     $C1
        FDB     LATEST-9
 LFA    FDB     DOCOL,CLITER
@@ -1707,7 +1824,7 @@ LFA       FDB     DOCOL,CLITER
 *
 * ======>>  101  <<
        FCB     $83
-       FCC     2,CFA
+       FCC     'CF'    ; 'CFA'
        FCB     $C1
        FDB     LFA-6
 CFA    FDB     DOCOL,TWO,SUB
@@ -1715,7 +1832,7 @@ CFA       FDB     DOCOL,TWO,SUB
 *
 * ======>>  102  <<
        FCB     $83
-       FCC     2,NFA
+       FCC     'NF'    ; 'NFA'
        FCB     $C1
        FDB     CFA-6
 NFA    FDB     DOCOL,CLITER
@@ -1725,7 +1842,7 @@ NFA       FDB     DOCOL,CLITER
 *
 * ======>>  103  <<
        FCB     $83
-       FCC     2,PFA
+       FCC     'PF'    ; 'PFA'
        FCB     $C1
        FDB     NFA-6
 PFA    FDB     DOCOL,ONE,TRAV,CLITER
@@ -1736,7 +1853,7 @@ PFA       FDB     DOCOL,ONE,TRAV,CLITER
 * ######>> screen 40 <<
 * ======>>  104  <<
        FCB     $84
-       FCC     3,!CSP
+       FCC     '!CS'   ; '!CSP'
        FCB     $D0
        FDB     PFA-6
 SCSP   FDB     DOCOL,SPAT,CSP,STORE
@@ -1744,7 +1861,7 @@ SCSP      FDB     DOCOL,SPAT,CSP,STORE
 *
 * ======>>  105  <<
        FCB     $86
-       FCC     5,?ERROR
+       FCC     '?ERRO' ; '?ERROR'
        FCB     $D2
        FDB     SCSP-7
 QERR   FDB     DOCOL,SWAP,ZBRAN
@@ -1756,7 +1873,7 @@ QERR3     FDB     SEMIS
 *      
 * ======>>  106  <<
        FCB     $85
-       FCC     4,?COMP
+       FCC     '?COM'  ; '?COMP'
        FCB     $D0
        FDB     QERR-9
 QCOMP  FDB     DOCOL,STATE,AT,ZEQU,CLITER
@@ -1766,7 +1883,7 @@ QCOMP     FDB     DOCOL,STATE,AT,ZEQU,CLITER
 *
 * ======>>  107  <<
        FCB     $85
-       FCC     4,?EXEC
+       FCC     '?EXE'  ; '?EXEC'
        FCB     $C3
        FDB     QCOMP-8
 QEXEC  FDB     DOCOL,STATE,AT,CLITER
@@ -1776,7 +1893,7 @@ QEXEC     FDB     DOCOL,STATE,AT,CLITER
 *
 * ======>>  108  <<
        FCB     $86
-       FCC     5,?PAIRS
+       FCC     '?PAIR' ; '?PAIRS'
        FCB     $D3
        FDB     QEXEC-8
 QPAIRS FDB     DOCOL,SUB,CLITER
@@ -1786,7 +1903,7 @@ QPAIRS    FDB     DOCOL,SUB,CLITER
 *
 * ======>>  109  <<
        FCB     $84
-       FCC     3,?CSP
+       FCC     '?CS'   ; '?CSP'
        FCB     $D0
        FDB     QPAIRS-9
 QCSP   FDB     DOCOL,SPAT,CSP,AT,SUB,CLITER
@@ -1796,7 +1913,7 @@ QCSP      FDB     DOCOL,SPAT,CSP,AT,SUB,CLITER
 *
 * ======>>  110  <<
        FCB     $88
-       FCC     7,?LOADING
+       FCC     '?LOADIN'       ; '?LOADING'
        FCB     $C7
        FDB     QCSP-7
 QLOAD  FDB     DOCOL,BLK,AT,ZEQU,CLITER
@@ -1807,7 +1924,7 @@ QLOAD     FDB     DOCOL,BLK,AT,ZEQU,CLITER
 * ######>> screen 41 <<
 * ======>>  111  <<
        FCB     $87
-       FCC     6,COMPILE
+       FCC     'COMPIL'        ; 'COMPILE'
        FCB     $C5
        FDB     QLOAD-11
 COMPIL FDB     DOCOL,QCOMP,FROMR,TWOP,DUP,TOR,AT,COMMA
@@ -1831,7 +1948,7 @@ RBRAK     FDB     DOCOL,CLITER
 *
 * ======>>  114  <<
        FCB     $86
-       FCC     5,SMUDGE
+       FCC     'SMUDG' ; 'SMUDGE'
        FCB     $C5
        FDB     RBRAK-4
 SMUDGE FDB     DOCOL,LATEST,CLITER
@@ -1841,7 +1958,7 @@ SMUDGE    FDB     DOCOL,LATEST,CLITER
 *
 * ======>>  115  <<
        FCB     $83
-       FCC     2,HEX
+       FCC     'HE'    ; 'HEX'
        FCB     $D8
        FDB     SMUDGE-9
 HEX    FDB     DOCOL
@@ -1852,7 +1969,7 @@ HEX       FDB     DOCOL
 *
 * ======>>  116  <<
        FCB     $87
-       FCC     6,DECIMAL
+       FCC     'DECIMA'        ; 'DECIMAL'
        FCB     $CC
        FDB     HEX-6
 DEC    FDB     DOCOL
@@ -1864,7 +1981,7 @@ DEC       FDB     DOCOL
 * ######>> screen 42 <<
 * ======>>  117  <<
        FCB     $87
-       FCC     6,(;CODE)
+       FCC     '(;CODE'        ; '(;CODE)'
        FCB     $A9
        FDB     DEC-10
 PSCODE FDB     DOCOL,FROMR,TWOP,LATEST,PFA,CFA,STORE
@@ -1872,7 +1989,7 @@ PSCODE    FDB     DOCOL,FROMR,TWOP,LATEST,PFA,CFA,STORE
 *
 * ======>>  118  <<
        FCB     $C5     immediate
-       FCC     4,;CODE
+       FCC     ';COD'  ; ';CODE'
        FCB     $C5
        FDB     PSCODE-10
 SEMIC  FDB     DOCOL,QCSP,COMPIL,PSCODE,SMUDGE,LBRAK,QSTACK
@@ -1882,7 +1999,7 @@ SEMIC     FDB     DOCOL,QCSP,COMPIL,PSCODE,SMUDGE,LBRAK,QSTACK
 * ######>> screen 43 <<
 * ======>>  119  <<
        FCB     $87
-       FCC     6,<BUILDS
+       FCC     '<BUILD'        ; '<BUILDS'
        FCB     $D3
        FDB     SEMIC-8
 BUILDS FDB     DOCOL,ZERO,CON
@@ -1890,7 +2007,7 @@ BUILDS    FDB     DOCOL,ZERO,CON
 *
 * ======>>  120  <<
        FCB     $85
-       FCC     4,DOES>
+       FCC     'DOES'  ; 'DOES>'
        FCB     $BE
        FDB     BUILDS-10
 DOES   FDB     DOCOL,FROMR,TWOP,LATEST,PFA,STORE
@@ -1920,7 +2037,7 @@ DODOES    LDA     IP
 * ######>> screen 44 <<
 * ======>>  121  <<
        FCB     $85
-       FCC     4,COUNT
+       FCC     'COUN'  ; 'COUNT'
        FCB     $D4
        FDB     DOES-8
 COUNT  FDB     DOCOL,DUP,ONEP,SWAP,CAT
@@ -1928,7 +2045,7 @@ COUNT     FDB     DOCOL,DUP,ONEP,SWAP,CAT
 *
 * ======>>  122  <<
        FCB     $84
-       FCC     3,TYPE
+       FCC     'TYP'   ; 'TYPE'
        FCB     $C5
        FDB     COUNT-8
 TYPE   FDB     DOCOL,DDUP,ZBRAN
@@ -1943,7 +2060,7 @@ TYPE4     FDB     SEMIS
 *
 * ======>>  123  <<
        FCB     $89
-       FCC     8,-TRAILING
+       FCC     '-TRAILIN'      ; '-TRAILING'
        FCB     $C7
        FDB     TYPE-7
 DTRAIL FDB     DOCOL,DUP,ZERO,XDO
@@ -1959,7 +2076,7 @@ DTRAL4    FDB     XLOOP
 *
 * ======>>  124  <<
        FCB     $84
-       FCC     3,(.")
+       FCC     '(."'   ; '(.")'
        FCB     $A9
        FDB     DTRAIL-12
 PDOTQ  FDB     DOCOL,R,TWOP,COUNT,DUP,ONEP
@@ -1968,7 +2085,7 @@ PDOTQ     FDB     DOCOL,R,TWOP,COUNT,DUP,ONEP
 *
 * ======>>  125  <<
        FCB     $C2     immediate
-       FCC     1,."
+       FCC     '.'     ; '."'
        FCB     $A2
        FDB     PDOTQ-7
 DOTQ   FDB     DOCOL
@@ -1985,7 +2102,7 @@ DOTQ2     FDB     SEMIS
 * ######>> screen 45 <<
 * ======>>  126  <<== MACHINE DEPENDENT
        FCB     $86
-       FCC     5,?STACK
+       FCC     '?STAC' ; '?STACK'
        FCB     $CB
        FDB     DOTQ-5
 QSTACK FDB     DOCOL,CLITER
@@ -2020,7 +2137,7 @@ QSTAC3    FDB     SEMIS
 * ######>> screen 46 <<
 * ======>>  128  <<
        FCB     $86
-       FCC     5,EXPECT
+       FCC     'EXPEC' ; 'EXPECT'
        FCB     $D4
        FDB     QSTACK-9
 EXPECT FDB     DOCOL,OVER,PLUS,OVER,XDO
@@ -2048,7 +2165,7 @@ EXPEC6    FDB     EMIT,XLOOP
 *
 * ======>>  129  <<
        FCB     $85
-       FCC     4,QUERY
+       FCC     'QUER'  ; 'QUERY'
        FCB     $D9
        FDB     EXPECT-9
 QUERY  FDB     DOCOL,TIB,AT,COLUMS
@@ -2076,7 +2193,7 @@ NULL3     FDB     SEMIS
 * ######>> screen 47 <<
 * ======>>  133  <<
        FCB     $84
-       FCC     3,FILL
+       FCC     'FIL'   ; 'FILL'
        FCB     $CC
        FDB     NULL-4
 FILL   FDB     DOCOL,SWAP,TOR,OVER,CSTORE,DUP,ONEP
@@ -2085,7 +2202,7 @@ FILL      FDB     DOCOL,SWAP,TOR,OVER,CSTORE,DUP,ONEP
 *
 * ======>>  134  <<
        FCB     $85
-       FCC     4,ERASE
+       FCC     'ERAS'  ; 'ERASE'
        FCB     $C5
        FDB     FILL-7
 ERASE  FDB     DOCOL,ZERO,FILL
@@ -2093,7 +2210,7 @@ ERASE     FDB     DOCOL,ZERO,FILL
 *
 * ======>>  135  <<
        FCB     $86
-       FCC     5,BLANKS
+       FCC     'BLANK' ; 'BLANKS'
        FCB     $D3
        FDB     ERASE-8
 BLANKS FDB     DOCOL,BL,FILL
@@ -2101,7 +2218,7 @@ BLANKS    FDB     DOCOL,BL,FILL
 *
 * ======>>  136  <<
        FCB     $84
-       FCC     3,HOLD
+       FCC     'HOL'   ; 'HOLD'
        FCB     $C4
        FDB     BLANKS-9
 HOLD   FDB     DOCOL,LIT,$FFFF,HLD,PSTORE,HLD,AT,CSTORE
@@ -2109,7 +2226,7 @@ HOLD      FDB     DOCOL,LIT,$FFFF,HLD,PSTORE,HLD,AT,CSTORE
 *
 * ======>>  137  <<
        FCB     $83
-       FCC     2,PAD
+       FCC     'PA'    ; 'PAD'
        FCB     $C4
        FDB     HOLD-7
 PAD    FDB     DOCOL,HERE,CLITER
@@ -2120,7 +2237,7 @@ PAD       FDB     DOCOL,HERE,CLITER
 * ######>> screen 48 <<
 * ======>>  138  <<
        FCB     $84
-       FCC     3,WORD
+       FCC     'WOR'   ; 'WORD'
        FCB     $C4
        FDB     PAD-6
 WORD   FDB     DOCOL,BLK,AT,ZBRAN
@@ -2137,7 +2254,7 @@ WORD3     FDB     IN,AT,PLUS,SWAP,ENCLOS,HERE,CLITER
 * ######>> screen 49 <<
 * ======>>  139  <<
        FCB     $88
-       FCC     7,(NUMBER)
+       FCC     '(NUMBER'       ; '(NUMBER)'
        FCB     $A9
        FDB     WORD-7
 PNUMB  FDB     DOCOL
@@ -2154,7 +2271,7 @@ PNUMB4    FDB     FROMR
 *
 * ======>>  140  <<
        FCB     $86
-       FCC     5,NUMBER
+       FCC     'NUMBE' ; 'NUMBER'
        FCB     $D2
        FDB     PNUMB-11
 NUMB   FDB     DOCOL,ZERO,ZERO,ROT,DUP,ONEP,CAT,CLITER
@@ -2174,7 +2291,7 @@ NUMB3     FDB     SEMIS
 *
 * ======>>  141  <<
        FCB     $85
-       FCC     4,-FIND
+       FCC     '-FIN'  ; '-FIND'
        FCB     $C4
        FDB     NUMB-9
 DFIND  FDB     DOCOL,BL,WORD,HERE,CONTXT,AT,AT
@@ -2186,7 +2303,7 @@ DFIND2    FDB     SEMIS
 * ######>> screen 50 <<
 * ======>>  142  <<
        FCB     $87
-       FCC     6,(ABORT)
+       FCC     '(ABORT'        ; '(ABORT)'
        FCB     $A9
        FDB     DFIND-8
 PABORT FDB     DOCOL,ABORT
@@ -2194,7 +2311,7 @@ PABORT    FDB     DOCOL,ABORT
 *
 * ======>>  143  <<
        FCB     $85
-       FCC     4,ERROR
+       FCC     'ERRO'  ; 'ERROR'
        FCB     $D2
        FDB     PABORT-10
 ERROR  FDB     DOCOL,WARN,AT,ZLESS
@@ -2211,7 +2328,7 @@ ERROR2    FDB     HERE,COUNT,TYPE,PDOTQ
 *
 * ======>>  144  <<
        FCB     $83
-       FCC     2,ID.
+       FCC     'ID'    ; 'ID.'
        FCB     $AE
        FDB     ERROR-8
 IDDOT  FDB     DOCOL,PAD,CLITER
@@ -2227,7 +2344,7 @@ IDDOT     FDB     DOCOL,PAD,CLITER
 * ######>> screen 51 <<
 * ======>>  145  <<
        FCB     $86
-       FCC     5,CREATE
+       FCC     'CREAT' ; 'CREATE'
        FCB     $C5
        FDB     IDDOT-6
 CREATE FDB     DOCOL,DFIND,ZBRAN
@@ -2251,7 +2368,7 @@ CREAT2    FDB     HERE,DUP,CAT,WIDTH,AT,MIN
 * ######>> screen 52 <<
 * ======>>  146  <<
        FCB     $C9     immediate
-       FCC     8,[COMPILE]
+       FCC     '[COMPILE'      ; '[COMPILE]'
        FCB     $DD
        FDB     CREATE-9
 BCOMP  FDB     DOCOL,DFIND,ZEQU,ZERO,QERR,DROP,CFA,COMMA
@@ -2259,7 +2376,7 @@ BCOMP     FDB     DOCOL,DFIND,ZEQU,ZERO,QERR,DROP,CFA,COMMA
 *
 * ======>>  147  <<
        FCB     $C7     immediate
-       FCC     6,LITERAL
+       FCC     'LITERA'        ; 'LITERAL'
        FCB     $CC
        FDB     BCOMP-12
 LITER  FDB     DOCOL,STATE,AT,ZBRAN
@@ -2269,7 +2386,7 @@ LITER2    FDB     SEMIS
 *
 * ======>>  148  <<
        FCB     $C8     immediate
-       FCC     7,DLITERAL
+       FCC     'DLITERA'       ; 'DLITERAL'
        FCB     $CC
        FDB     LITER-10
 DLITER FDB     DOCOL,STATE,AT,ZBRAN
@@ -2280,7 +2397,7 @@ DLITE2    FDB     SEMIS
 * ######>> screen 53 <<
 * ======>>  149  <<
        FCB     $89
-       FCC     8,INTERPRET
+       FCC     'INTERPRE'      ; 'INTERPRET'
        FCB     $D4
        FDB     DLITER-11
 INTERP FDB     DOCOL
@@ -2307,7 +2424,7 @@ INTER7    FDB     QSTACK,BRAN
 * ######>> screen 54 <<
 * ======>>  150  <<
        FCB     $89
-       FCC     8,IMMEDIATE
+       FCC     'IMMEDIAT'      ; 'IMMEDIATE'
        FCB     $C5
        FDB     INTERP-12
 IMMED  FDB     DOCOL,LATEST,CLITER
@@ -2317,7 +2434,7 @@ IMMED     FDB     DOCOL,LATEST,CLITER
 *
 * ======>>  151  <<
        FCB     $8A
-       FCC     9,VOCABULARY
+       FCC     'VOCABULAR'     ; 'VOCABULARY'
        FCB     $D9
        FDB     IMMED-12
 VOCAB  FDB     DOCOL,BUILDS,LIT,$81A0,COMMA,CURENT,AT,CFA
@@ -2333,7 +2450,7 @@ DOVOC     FDB     TWOP,CONTXT,STORE
 *
 * ======>>  153  <<
        FCB     $8B
-       FCC     10,DEFINITIONS
+       FCC     'DEFINITION'    ; 'DEFINITIONS'
        FCB     $D3
        FDB     VOCAB-13
 DEFIN  FDB     DOCOL,CONTXT,AT,CURENT,STORE
@@ -2351,7 +2468,7 @@ PAREN     FDB     DOCOL,CLITER
 * ######>> screen 55 <<
 * ======>>  155  <<
        FCB     $84
-       FCC     3,QUIT
+       FCC     'QUI'   ; 'QUIT'
        FCB     $D4
        FDB     PAREN-4
 QUIT   FDB     DOCOL,ZERO,BLK,STORE
@@ -2365,14 +2482,14 @@ QUIT2   FDB     RPSTOR,CR,QUERY,INTERP,STATE,AT,ZEQU
        FDB     QUIT3-*
        FDB     PDOTQ
        FCB     3
-       FCC     3, OK
+       FCC     ' OK'   ; ' OK'
 QUIT3  FDB     BRAN
        FDB     QUIT2-*
 *      FDB     SEMIS   ( never executed )
 *
 * ======>>  156  <<
        FCB     $85
-       FCC     4,ABORT
+       FCC     'ABOR'  ; 'ABORT'
        FCB     $D4
        FDB     QUIT-7
 ABORT  FDB     DOCOL,SPSTOR,DEC,QSTACK,DRZERO,CR,PDOTQ
@@ -2387,11 +2504,14 @@ ABORT   FDB     DOCOL,SPSTOR,DEC,QSTACK,DRZERO,CR,PDOTQ
 * bootstrap code... moves rom contents to ram :
 * ======>>  157  <<
        FCB     $84
-       FCC     3,COLD
+       FCC     'COL'   ; 'COLD'
        FCB     $C4
        FDB     ABORT-8
 COLD   FDB     *+2
-CENT   LDS     #REND-1 top of destination
+* CENT LDS     #REND-1 top of destination on 6800
+CENT   LDA #PGBDP
+       TFR A,DP
+       LDS     #REND   top of destination on 6809
        LDX     #ERAM   top of stuff to move
 COLD2  LEAX -1,X
        LDA     0,X
@@ -2399,7 +2519,9 @@ COLD2     LEAX -1,X
        CMPX    #RAM
        BNE     COLD2
 *
-       LDS     #XFENCE-1       put stack at a safe place for now
+*      LDS     #XFENCE-1       put stack at a safe place for now -- 6800
+* But only matters if we're interrupted.
+       LDS     #XFENCE         put stack at a safe place for now -- 6809
        LDX     COLINT
        STX     XCOLUM
        LDX     DELINT
@@ -2412,7 +2534,8 @@ COLD2     LEAX -1,X
        STX     XFENCE
 
 
-WENT   LDS     #XFENCE-1       top of destination
+* WENT LDS     #XFENCE-1       top of destination -- 6800
+WENT   LDS     #XFENCE         top of destination -- 6809
        LDX     #FENCIN         top of stuff to move
 WARM2  LEAX -1,X
        LDA     0,X
@@ -2420,6 +2543,10 @@ WARM2    LEAX -1,X
        CMPX    #SINIT
        BNE     WARM2
 *
+* Don't get faked out.
+* This is just a safe place for the stack if we're interrupted.
+* ABORT sends us through RP! and then SP!
+* And SP! loads S through X, which is just fine for the 6809, too.
        LDS     SINIT
        LDX     UPINIT
        STX     UP              init user ram pointer
@@ -2443,14 +2570,14 @@ RAM     FDB     $3000,$3000,0,0
        
 * ======>>  (152)  <<
        FCB     $C5     immediate
-       FCC     4,FORTH
+       FCC     'FORT'  ; 'FORTH'
        FCB     $C8
        FDB     NOOP-7
 RFORTH FDB     DODOES,DOVOC,$81A0,TASK-7
        FDB     0
        FCC     "(C) Forth Interest Group, 1979"
        FCB     $84
-       FCC     3,TASK
+       FCC     'TAS'   ; 'TASK'
        FCB     $CB
        FDB     FORTH-8
 RTASK  FDB     DOCOL,SEMIS
@@ -2460,7 +2587,7 @@ ERAM      FCC     "David Lion"
 * ######>> screen 57 <<
 * ======>>  158  <<
        FCB     $84
-       FCC     3,S->D
+       FCC     'S->'   ; 'S->D'
        FCB     $C4
        FDB     COLD-7
 STOD   FDB     DOCOL,DUP,ZLESS,MINUS
@@ -2480,7 +2607,7 @@ STAR      FDB     *+2
 *
 * ======>>  160  <<
        FCB     $84
-       FCC     3,/MOD
+       FCC     '/MO'   ; '/MOD'
        FCB     $C4
        FDB     STAR-4
 SLMOD  FDB     DOCOL,TOR,STOD,FROMR,USLASH
@@ -2495,7 +2622,7 @@ SLASH     FDB     DOCOL,SLMOD,SWAP,DROP
 *
 * ======>>  162  <<
        FCB     $83
-       FCC     2,MOD
+       FCC     'MO'    ; 'MOD'
        FCB     $C4
        FDB     SLASH-4
 MOD    FDB     DOCOL,SLMOD,DROP
@@ -2503,7 +2630,7 @@ MOD       FDB     DOCOL,SLMOD,DROP
 *
 * ======>>  163  <<
        FCB     $85
-       FCC     4,*/MOD
+       FCC     '*/MO'  ; '*/MOD'
        FCB     $C4
        FDB     MOD-6
 SSMOD  FDB     DOCOL,TOR,USTAR,FROMR,USLASH
@@ -2511,7 +2638,7 @@ SSMOD     FDB     DOCOL,TOR,USTAR,FROMR,USLASH
 *
 * ======>>  164  <<
        FCB     $82
-       FCC     1,*/
+       FCC     '*'     ; '*/'
        FCB     $AF
        FDB     SSMOD-8
 SSLASH FDB     DOCOL,SSMOD,SWAP,DROP
@@ -2519,7 +2646,7 @@ SSLASH    FDB     DOCOL,SSMOD,SWAP,DROP
 *
 * ======>>  165  <<
        FCB     $85
-       FCC     4,M/MOD
+       FCC     'M/MO'  ; 'M/MOD'
        FCB     $C4
        FDB     SSLASH-5
 MSMOD  FDB     DOCOL,TOR,ZERO,R,USLASH
@@ -2528,7 +2655,7 @@ MSMOD     FDB     DOCOL,TOR,ZERO,R,USLASH
 *
 * ======>>  166  <<
        FCB     $83
-       FCC     2,ABS
+       FCC     'AB'    ; 'ABS'
        FCB     $D3
        FDB     MSMOD-8
 ABS    FDB     DOCOL,DUP,ZLESS,ZBRAN
@@ -2538,7 +2665,7 @@ ABS2      FDB     SEMIS
 *
 * ======>>  167  <<
        FCB     $84
-       FCC     3,DABS
+       FCC     'DAB'   ; 'DABS'
        FCB     $D3
        FDB     ABS-6
 DABS   FDB     DOCOL,DUP,ZLESS,ZBRAN
@@ -2550,21 +2677,21 @@ DABS2   FDB     SEMIS
 * Disc primatives :
 * ======>>  168  <<
        FCB     $83
-       FCC     2,USE
+       FCC     'US'    ; 'USE'
        FCB     $C5
        FDB     DABS-7
 USE    FDB     DOCON
        FDB     XUSE
 * ======>>  169  <<
        FCB     $84
-       FCC     3,PREV
+       FCC     'PRE'   ; 'PREV'
        FCB     $D6
        FDB     USE-6
 PREV   FDB     DOCON
        FDB     XPREV
 * ======>>  170  <<
        FCB     $84
-       FCC     3,+BUF
+       FCC     '+BU'   ; '+BUF'
        FCB     $C6
        FDB     PREV-7
 PBUF   FDB     DOCOL,CLITER
@@ -2577,7 +2704,7 @@ PBUF2     FDB     DUP,PREV,AT,SUB
 *
 * ======>>  171  <<
        FCB     $86
-       FCC     5,UPDATE
+       FCC     'UPDAT' ; 'UPDATE'
        FCB     $C5
        FDB     PBUF-7
 UPDATE FDB     DOCOL,PREV,AT,AT,LIT,$8000,OR,PREV,AT,STORE
@@ -2585,7 +2712,7 @@ UPDATE    FDB     DOCOL,PREV,AT,AT,LIT,$8000,OR,PREV,AT,STORE
 *
 * ======>>  172  <<
        FCB     $8D
-       FCC     12,EMPTY-BUFFERS
+       FCC     'EMPTY-BUFFER'  ; 'EMPTY-BUFFERS'
        FCB     $D3
        FDB     UPDATE-9
 MTBUF  FDB     DOCOL,FIRST,LIMIT,OVER,SUB,ERASE
@@ -2593,7 +2720,7 @@ MTBUF     FDB     DOCOL,FIRST,LIMIT,OVER,SUB,ERASE
 *
 * ======>>  173  <<
        FCB     $83
-       FCC     2,DR0
+       FCC     'DR'    ; 'DR0'
        FCB     $B0
        FDB     MTBUF-16
 DRZERO FDB     DOCOL,ZERO,OFSET,STORE
@@ -2601,7 +2728,7 @@ DRZERO    FDB     DOCOL,ZERO,OFSET,STORE
 *
 * ======>>  174  <<== system dependant word
        FCB     $83
-       FCC     2,DR1
+       FCC     'DR'    ; 'DR1'
        FCB     $B1
        FDB     DRZERO-6
 DRONE  FDB     DOCOL,LIT,$07D0,OFSET,STORE
@@ -2610,7 +2737,7 @@ DRONE     FDB     DOCOL,LIT,$07D0,OFSET,STORE
 * ######>> screen 59 <<
 * ======>>  175  <<
        FCB     $86
-       FCC     5,BUFFER
+       FCC     'BUFFE' ; 'BUFFER'
        FCB     $D2
        FDB     DRONE-6
 BUFFER FDB     DOCOL,USE,AT,DUP,TOR
@@ -2626,7 +2753,7 @@ BUFFR3    FDB     R,STORE,R,PREV,STORE,FROMR,TWOP
 * ######>> screen 60 <<
 * ======>>  176  <<
        FCB     $85
-       FCC     4,BLOCK
+       FCC     'BLOC'  ; 'BLOCK'
        FCB     $CB
        FDB     BUFFER-9
 BLOCK  FDB     DOCOL,OFSET,AT,PLUS,TOR
@@ -2644,7 +2771,7 @@ BLOCK5    FDB     FROMR,DROP,TWOP
 * ######>> screen 61 <<
 * ======>>  177  <<
        FCB     $86
-       FCC     5,(LINE)
+       FCC     '(LINE' ; '(LINE)'
        FCB     $A9
        FDB     BLOCK-8
 PLINE  FDB     DOCOL,TOR,CLITER
@@ -2655,7 +2782,7 @@ PLINE     FDB     DOCOL,TOR,CLITER
 *
 * ======>>  178  <<
        FCB     $85
-       FCC     4,.LINE
+       FCC     '.LIN'  ; '.LINE'
        FCB     $C5
        FDB     PLINE-9
 DLINE  FDB     DOCOL,PLINE,DTRAIL,TYPE
@@ -2663,7 +2790,7 @@ DLINE     FDB     DOCOL,PLINE,DTRAIL,TYPE
 *
 * ======>>  179  <<
        FCB     $87
-       FCC     6,MESSAGE
+       FCC     'MESSAG'        ; 'MESSAGE'
        FCB     $C5
        FDB     DLINE-8
 MESS   FDB     DOCOL,WARN,AT,ZBRAN
@@ -2676,13 +2803,13 @@ MESS    FDB     DOCOL,WARN,AT,ZBRAN
        FDB     MESS4-*
 MESS3  FDB     PDOTQ
        FCB     6
-       FCC     6,err # 
+       FCC     'err # '        ; 'err # '
        FDB     DOT
 MESS4  FDB     SEMIS
 *
 * ======>>  180  <<
        FCB     $84
-       FCC     3,LOAD  input:scr #
+       FCC     'LOA'   ; 'LOAD' :      input:scr #
        FCB     $C4
        FDB     MESS-10
 LOAD   FDB     DOCOL,BLK,AT,TOR,IN,AT,TOR,ZERO,IN,STORE
@@ -2692,7 +2819,7 @@ LOAD      FDB     DOCOL,BLK,AT,TOR,IN,AT,TOR,ZERO,IN,STORE
 *
 * ======>>  181  <<
        FCB     $C3
-       FCC     2,-->
+       FCC     '--'    ; '-->'
        FCB     $BE
        FDB     LOAD-7
 ARROW  FDB     DOCOL,QLOAD,ZERO,IN,STORE,BSCR
@@ -2706,65 +2833,102 @@ ARROW  FDB     DOCOL,QLOAD,ZERO,IN,STORE,BSCR
 *    called by words 13 through 16 in the dictionary.
 *
 * ======>>  182  << code for EMIT
-PEMIT  STB     N       save B
-       STX     N+1     save X
-       LDB     ACIAC
-       BITB    #2      check ready bit
-       BEQ     PEMIT+4 if not ready for more data
-       STA     ACIAD
-       LDX     UP
-       STB     IOSTAT-UORIG,X
-       LDB     N       recover B & X
-       LDX     N+1
-       RTS             only A register may change
+*    character to output in A
+* Coco:
+PEMIT  PSHS Y,U,DP
+       CLRB
+       TFR B,DP
+       JSR [$A002]
+       PULS Y,U,DP,PC
+*
+* PEMIT        STB     N       save B
+*      STX     N+1     save X
+*      LDB     ACIAC
+*      BITB    #2      check ready bit
+*      BEQ     PEMIT+4 if not ready for more data
+*      STA     ACIAD
+*      LDX     UP
+*      STB     IOSTAT-UORIG,X
+*      LDB     N       recover B & X
+*      LDX     N+1
+*      RTS             only A register may change
 *  PEMIT       JMP     $E1D1   for MIKBUG
 *  PEMIT       FCB     $3F,$11,$39     for PROTO
 *  PEMIT       JMP     $D286 for Smoke Signal DOS
 *
 * ======>>  183  << code for KEY
-PKEY   STB     N
-       STX     N+1
-       LDB     ACIAC
-       ASRB
-       BCC     PKEY+4  no incoming data yet
-       LDA     ACIAD
-       ANDA    #$7F    strip parity bit
-       LDX     UP
-       STB     IOSTAT+1-UORIG,X
-       LDB     N
-       LDX     N+1
-       RTS
+* Returns input character in A
+* Coco:
+PKEY   PSHS Y,U,DP
+       CLRB
+       TFR B,DP
+       LDA #$CF a cursor
+       LDB [$0088] (locate) save
+       STA [$0088]
+PKEYBZ JSR [$A000]
+       BEQ PKEYBZ
+       STB [$0088] restore
+       PULS Y,U,DP,PC
+*
+* PKEY STB     N
+*      STX     N+1
+*      LDB     ACIAC
+*      ASRB
+*      BCC     PKEY+4  no incoming data yet
+*      LDA     ACIAD
+*      ANDA    #$7F    strip parity bit
+*      LDX     UP
+*      STB     IOSTAT+1-UORIG,X
+*      LDB     N
+*      LDX     N+1
+*      RTS
 *  PKEY        JMP     $E1AC   for MIKBUG
 *  PKEY        FCB     $3F,$14,$39     for PROTO
 *  PKEY        JMP     $D289 for Smoke Signal DOS
 *
 * ######>> screen 64 <<
 * ======>>  184  << code for ?TERMINAL
-PQTER  LDA     ACIAC   Test for 'break'  condition
-       ANDA    #$11    mask framing error bit and
-*                      input buffer full
-       BEQ     PQTER2
-       LDA     ACIAD   clear input buffer
-       LDA     #01
-PQTER2 RTS
+* Returns flag in A (non-zero if BREAK).
+* Coco:
+PQTER  PSHS Y,U,DP
+       CLRB
+       TFR B,DP
+       JSR [$A000]
+       CLRB
+       CMPA #3 break key
+       BNE PQTERN
+       INCB
+       EXG A,B
+PQTERN PULS Y,U,DP,PC
+*
+* PQTER        LDA     ACIAC   Test for 'break'  condition
+*      ANDA    #$11    mask framing error bit and
+**                     input buffer full
+*      BEQ     PQTER2
+*      LDA     ACIAD   clear input buffer
+*      LDA     #01
+*PQTER2        RTS
 
 
        PAGE
 *
 * ======>>  185  << code for CR
+* Coco:
 PRTCR  LDA     #$D     carriage return ; PCR in 6800 source
-       BSR     PEMIT
-       LDA     #$A     line feed
-       BSR     PEMIT
-       LDA     #$7F    rubout
-       LDX     UP
-       LDB     XDELAY+1-UORIG,X
-PCR2   DECB
-       BMI     PQTER2  return if minus
-       PSHS B          save counter
-       BSR     PEMIT   print RUBOUTs to delay.....
-       PULS B
-       BRA     PCR2    repeat
+       BRA     PEMIT   Let PEMIT return
+*
+*      BSR     PEMIT
+*      LDA     #$A     line feed
+*      BSR     PEMIT
+*      LDA     #$7F    rubout
+*      LDX     UP
+*      LDB     XDELAY+1-UORIG,X
+* PCR2 DECB
+*      BMI     PQTER2  return if minus
+*      PSHS B          save counter
+*      BSR     PEMIT   print RUBOUTs to delay.....
+*      PULS B
+*      BRA     PCR2    repeat
 
 
        PAGE
@@ -2772,7 +2936,7 @@ PCR2      DECB
 * ######>> screen 66 <<
 * ======>>  187  <<
        FCB     $85
-       FCC     4,?DISC
+       FCC     '?DIS'  ; '?DISC'
        FCB     $C3
        FDB     ARROW-6
 QDISC  FDB     *+2
@@ -2781,7 +2945,7 @@ QDISC     FDB     *+2
 * ######>> screen 67 <<
 * ======>>  189  <<
        FCB     $8B
-       FCC     10,BLOCK-WRITE
+       FCC     'BLOCK-WRIT'    ; 'BLOCK-WRITE'
        FCB     $C5
        FDB     QDISC-8
 BWRITE FDB     *+2
@@ -2790,7 +2954,7 @@ BWRITE    FDB     *+2
 * ######>> screen 68 <<
 * ======>>  190  <<
        FCB     $8A
-       FCC     9,BLOCK-READ
+       FCC     'BLOCK-REA'     ; 'BLOCK-READ'
        FCB     $C4
        FDB     BWRITE-14
 BREAD  FDB     *+2
@@ -2800,7 +2964,7 @@ BREAD     FDB     *+2
 * mass memory,located between $3210 & $3FFF in ram.
 * ======>>  190.1  <<
        FCB     $82
-       FCC     1,LO
+       FCC     'L'     ; 'LO'
        FCB     $CF
        FDB     BREAD-13
 LO     FDB     DOCON
@@ -2808,7 +2972,7 @@ LO        FDB     DOCON
 *
 * ======>>  190.2  <<
        FCB     $82
-       FCC     1,HI
+       FCC     'H'     ; 'HI'
        FCB     $C9
        FDB     LO-5
 HI     FDB     DOCON
@@ -2817,14 +2981,14 @@ HI      FDB     DOCON
 * ######>> screen 69 <<
 * ======>>  191  <<
        FCB     $83
-       FCC     2,R/W
+       FCC     'R/'    ; 'R/W'
        FCB     $D7
        FDB     HI-5
 RW     FDB     DOCOL,TOR,BBUF,STAR,LO,PLUS,DUP,HI,GREAT,ZBRAN
        FDB     RW2-*
        FDB     PDOTQ
        FCB     8
-       FCC     8, Range ?
+       FCC     ' Range ?'      ; ' Range ?'
        FDB     QUIT
 RW2    FDB     FROMR,ZBRAN
        FDB     RW3-*
@@ -2842,7 +3006,7 @@ TICK      FDB     DOCOL,DFIND,ZEQU,ZERO,QERR,DROP,LITER
 *
 * ======>>  193  <<
        FCB     $86
-       FCC     5,FORGET
+       FCC     'FORGE' ; 'FORGET'
        FCB     $D4
        FDB     TICK-4
 FORGET FDB     DOCOL,CURENT,AT,CONTXT,AT,SUB,CLITER
@@ -2857,7 +3021,7 @@ FORGET    FDB     DOCOL,CURENT,AT,CONTXT,AT,SUB,CLITER
 * ######>> screen 73 <<
 * ======>>  194  <<
        FCB     $84
-       FCC     3,BACK
+       FCC     'BAC'   ; 'BACK'
        FCB     $CB
        FDB     FORGET-9
 BACK   FDB     DOCOL,HERE,SUB,COMMA
@@ -2865,7 +3029,7 @@ BACK      FDB     DOCOL,HERE,SUB,COMMA
 *
 * ======>>  195  <<
        FCB     $C5
-       FCC     4,BEGIN
+       FCC     'BEGI'  ; 'BEGIN'
        FCB     $CE
        FDB     BACK-7
 BEGIN  FDB     DOCOL,QCOMP,HERE,ONE
@@ -2873,7 +3037,7 @@ BEGIN     FDB     DOCOL,QCOMP,HERE,ONE
 *
 * ======>>  196  <<
        FCB     $C5
-       FCC     4,ENDIF
+       FCC     'ENDI'  ; 'ENDIF'
        FCB     $C6
        FDB     BEGIN-8
 ENDIF  FDB     DOCOL,QCOMP,TWO,QPAIRS,HERE
@@ -2882,7 +3046,7 @@ ENDIF     FDB     DOCOL,QCOMP,TWO,QPAIRS,HERE
 *
 * ======>>  197  <<
        FCB     $C4
-       FCC     3,THEN
+       FCC     'THE'   ; 'THEN'
        FCB     $CE
        FDB     ENDIF-8
 THEN   FDB     DOCOL,ENDIF
@@ -2890,7 +3054,7 @@ THEN      FDB     DOCOL,ENDIF
 *
 * ======>>  198  <<
        FCB     $C2
-       FCC     1,DO
+       FCC     'D'     ; 'DO'
        FCB     $CF
        FDB     THEN-7
 DO     FDB     DOCOL,COMPIL,XDO,HERE,THREE
@@ -2898,7 +3062,7 @@ DO        FDB     DOCOL,COMPIL,XDO,HERE,THREE
 *
 * ======>>  199  <<
        FCB     $C4
-       FCC     3,LOOP
+       FCC     'LOO'   ; 'LOOP'
        FCB     $D0
        FDB     DO-5
 LOOP   FDB     DOCOL,THREE,QPAIRS,COMPIL,XLOOP,BACK
@@ -2906,7 +3070,7 @@ LOOP      FDB     DOCOL,THREE,QPAIRS,COMPIL,XLOOP,BACK
 *
 * ======>>  200  <<
        FCB     $C5
-       FCC     4,+LOOP
+       FCC     '+LOO'  ; '+LOOP'
        FCB     $D0
        FDB     LOOP-7
 PLOOP  FDB     DOCOL,THREE,QPAIRS,COMPIL,XPLOOP,BACK
@@ -2914,7 +3078,7 @@ PLOOP     FDB     DOCOL,THREE,QPAIRS,COMPIL,XPLOOP,BACK
 *
 * ======>>  201  <<
        FCB     $C5
-       FCC     4,UNTIL ( same as END )
+       FCC     'UNTI'  ; 'UNTIL' :     ( same as END )
        FCB     $CC
        FDB     PLOOP-8
 UNTIL  FDB     DOCOL,ONE,QPAIRS,COMPIL,ZBRAN,BACK
@@ -2923,7 +3087,7 @@ UNTIL     FDB     DOCOL,ONE,QPAIRS,COMPIL,ZBRAN,BACK
 * ######>> screen 74 <<
 * ======>>  202  <<
        FCB     $C3
-       FCC     2,END
+       FCC     'EN'    ; 'END'
        FCB     $C4
        FDB     UNTIL-8
 END    FDB     DOCOL,UNTIL
@@ -2931,7 +3095,7 @@ END       FDB     DOCOL,UNTIL
 *
 * ======>>  203  <<
        FCB     $C5
-       FCC     4,AGAIN
+       FCC     'AGAI'  ; 'AGAIN'
        FCB     $CE
        FDB     END-6
 AGAIN  FDB     DOCOL,ONE,QPAIRS,COMPIL,BRAN,BACK
@@ -2939,7 +3103,7 @@ AGAIN     FDB     DOCOL,ONE,QPAIRS,COMPIL,BRAN,BACK
 *
 * ======>>  204  <<
        FCB     $C6
-       FCC     5,REPEAT
+       FCC     'REPEA' ; 'REPEAT'
        FCB     $D4
        FDB     AGAIN-8
 REPEAT FDB     DOCOL,TOR,TOR,AGAIN,FROMR,FROMR
@@ -2948,7 +3112,7 @@ REPEAT    FDB     DOCOL,TOR,TOR,AGAIN,FROMR,FROMR
 *
 * ======>>  205  <<
        FCB     $C2
-       FCC     1,IF
+       FCC     'I'     ; 'IF'
        FCB     $C6
        FDB     REPEAT-9
 IF     FDB     DOCOL,COMPIL,ZBRAN,HERE,ZERO,COMMA,TWO
@@ -2956,7 +3120,7 @@ IF        FDB     DOCOL,COMPIL,ZBRAN,HERE,ZERO,COMMA,TWO
 *
 * ======>>  206  <<
        FCB     $C4
-       FCC     3,ELSE
+       FCC     'ELS'   ; 'ELSE'
        FCB     $C5
        FDB     IF-5
 ELSE   FDB     DOCOL,TWO,QPAIRS,COMPIL,BRAN,HERE
@@ -2965,7 +3129,7 @@ ELSE      FDB     DOCOL,TWO,QPAIRS,COMPIL,BRAN,HERE
 *
 * ======>>  207  <<
        FCB     $C5
-       FCC     4,WHILE
+       FCC     'WHIL'  ; 'WHILE'
        FCB     $C5
        FDB     ELSE-7
 WHILE  FDB     DOCOL,IF,TWOP
@@ -2974,7 +3138,7 @@ WHILE     FDB     DOCOL,IF,TWOP
 * ######>> screen 75 <<
 * ======>>  208  <<
        FCB     $86
-       FCC     5,SPACES
+       FCC     'SPACE' ; 'SPACES'
        FCB     $D3
        FDB     WHILE-8
 SPACES FDB     DOCOL,ZERO,MAX,DDUP,ZBRAN
@@ -2986,7 +3150,7 @@ SPACE3    FDB     SEMIS
 *
 * ======>>  209  <<
        FCB     $82
-       FCC     1,<#
+       FCC     '<'     ; '<#'
        FCB     $A3
        FDB     SPACES-9
 BDIGS  FDB     DOCOL,PAD,HLD,STORE
@@ -2994,7 +3158,7 @@ BDIGS     FDB     DOCOL,PAD,HLD,STORE
 *
 * ======>>  210  <<
        FCB     $82
-       FCC     1,#>
+       FCC     '#'     ; '#>'
        FCB     $BE
        FDB     BDIGS-5
 EDIGS  FDB     DOCOL,DROP,DROP,HLD,AT,PAD,OVER,SUB
@@ -3002,7 +3166,7 @@ EDIGS     FDB     DOCOL,DROP,DROP,HLD,AT,PAD,OVER,SUB
 *
 * ======>>  211  <<
        FCB     $84
-       FCC     3,SIGN
+       FCC     'SIG'   ; 'SIGN'
        FCB     $CE
        FDB     EDIGS-5
 SIGN   FDB     DOCOL,ROT,ZLESS,ZBRAN
@@ -3030,7 +3194,7 @@ DIG2      FDB     CLITER
 *
 * ======>>  213  <<
        FCB     $82
-       FCC     1,#S
+       FCC     '#'     ; '#S'
        FCB     $D3
        FDB     DIG-4
 DIGS   FDB     DOCOL
@@ -3041,7 +3205,7 @@ DIGS2     FDB     DIG,OVER,OVER,OR,ZEQU,ZBRAN
 * ######>> screen 76 <<
 * ======>>  214  <<
        FCB     $82
-       FCC     1,.R
+       FCC     '.'     ; '.R'
        FCB     $D2
        FDB     DIGS-5
 DOTR   FDB     DOCOL,TOR,STOD,FROMR,DDOTR
@@ -3049,7 +3213,7 @@ DOTR      FDB     DOCOL,TOR,STOD,FROMR,DDOTR
 *
 * ======>>  215  <<
        FCB     $83
-       FCC     2,D.R
+       FCC     'D.'    ; 'D.R'
        FCB     $D2
        FDB     DOTR-5
 DDOTR  FDB     DOCOL,TOR,SWAP,OVER,DABS,BDIGS,DIGS,SIGN
@@ -3058,7 +3222,7 @@ DDOTR     FDB     DOCOL,TOR,SWAP,OVER,DABS,BDIGS,DIGS,SIGN
 *
 * ======>>  216  <<
        FCB     $82
-       FCC     1,D.
+       FCC     'D'     ; 'D.'
        FCB     $AE
        FDB     DDOTR-6
 DDOT   FDB     DOCOL,ZERO,DDOTR,SPACE
@@ -3081,7 +3245,7 @@ QUEST     FDB     DOCOL,AT,DOT
 * ######>> screen 77 <<
 * ======>>  219  <<
        FCB     $84
-       FCC     3,LIST
+       FCC     'LIS'   ; 'LIST'
        FCB     $D4
        FDB     QUEST-4
 LIST   FDB     DOCOL,DEC,CR,DUP,SCR,STORE,PDOTQ
@@ -3098,7 +3262,7 @@ LIST2     FDB     CR,I,THREE
 *
 * ======>>  220  <<
        FCB     $85
-       FCC     4,INDEX
+       FCC     'INDE'  ; 'INDEX'
        FCB     $D8
        FDB     LIST-7
 INDEX  FDB     DOCOL,CR,ONEP,SWAP,XDO
@@ -3113,7 +3277,7 @@ INDEX3    FDB     XLOOP
 *
 * ======>>  221  <<
        FCB     $85
-       FCC     4,TRIAD
+       FCC     'TRIA'  ; 'TRIAD'
        FCB     $C4
        FDB     INDEX-8
 TRIAD  FDB     DOCOL,THREE,SLASH,THREE,STAR
@@ -3132,7 +3296,7 @@ TRIAD3    FDB     XLOOP
 * ######>> screen 78 <<
 * ======>>  222  <<
        FCB     $85
-       FCC     4,VLIST
+       FCC     'VLIS'  ; 'VLIST'
        FCB     $D4
        FDB     TRIAD-8
 VLIST  FDB     DOCOL,CLITER
@@ -3151,7 +3315,7 @@ VLIST2    FDB     DUP,IDDOT,SPACE,SPACE,PFA,LFA,AT
 *
 * ======>>  XX  <<
        FCB     $84
-       FCC     3,NOOP
+       FCC     'NOO'   ; 'NOOP'
        FCB     $D0
        FDB     VLIST-8
 NOOP   FDB     NEXT    a useful no-op