]> cloudbase.mooo.com Git - ddt180.git/commitdiff
Move most data sections to program end.
authorLeo C <erbl259-lmu@yahoo.de>
Tue, 9 Aug 2016 20:30:45 +0000 (22:30 +0200)
committerLeo C <erbl259-lmu@yahoo.de>
Tue, 9 Aug 2016 20:30:45 +0000 (22:30 +0200)
ddt180.z80

index 623c553aef136948fad6965fe56b74d4130070be..ec59e039c91d64026ea23cb2ce02926a6922d0b3 100644 (file)
@@ -90,39 +90,39 @@ current_cseg        defl    $
 \r
 \r
 stack:\r
-reg.l2:        db      000h            ;0046   00      .\r
-reg.h2:        db      000h            ;0047   00      .\r
-reg.e2:        db      000h            ;0048   00      .\r
-reg.d2:        db      000h            ;0049   00      .\r
-reg.c2:        db      000h            ;004a   00      .\r
-reg.b2:        db      000h            ;004b   00      .\r
-reg.f2:        db      000h            ;004c   00      .\r
-reg.a2:        db      000h            ;004d   00      .\r
-l004eh:        db      000h            ;004e   00      .\r
-reg.i: db      000h            ;004f   00      .\r
-reg.iy:        dw      0000h           ;0050   00      .\r
-reg.ix:        dw      0000h           ;0052   00      .\r
-reg.f: db      000h            ;0054   00      .\r
-reg.a: db      000h            ;0055   00      .\r
-reg.c: db      000h            ;0056   00      .\r
-reg.b: db      000h            ;0057   00      .\r
-reg.e: db      000h            ;0058   00      .\r
-reg.d: db      000h            ;0059   00      .\r
-reg.l: db      000h            ;005a   00      .\r
-reg.h: db      000h            ;005b   00      .\r
-reg_sp:        dw      TPA             ;005c   00 01   .\r
+reg.l2:        db      000h\r
+reg.h2:        db      000h\r
+reg.e2:        db      000h\r
+reg.d2:        db      000h\r
+reg.c2:        db      000h\r
+reg.b2:        db      000h\r
+reg.f2:        db      000h\r
+reg.a2:        db      000h\r
+l004eh:        db      000h\r
+reg.i: db      000h\r
+reg.iy:        dw      0000h\r
+reg.ix:        dw      0000h\r
+reg.f: db      000h\r
+reg.a: db      000h\r
+reg.c: db      000h\r
+reg.b: db      000h\r
+reg.e: db      000h\r
+reg.d: db      000h\r
+reg.l: db      000h\r
+reg.h: db      000h\r
+reg_sp:        dw      TPA\r
 reg.iff:\r
-       db      0f3h            ;005e   f3      .\r
-       db      0c3h            ;005f   c3      .\r
-REG.PC:        dw      TPA             ;0060   00 01   .\r
-l0062h:        dw      0000h           ;0062   00 00   .\r
-offs.@:        dw      0               ;0064   00 00   .\r
+       db      0f3h\r
+       db      0c3h\r
+REG.PC:        dw      TPA\r
+l0062h:        dw      0000h\r
+offs.@:        dw      0\r
 \r
-CMD_ERR:dw     l0146h          ;0066   46 01   F .\r
-cmd_rpt:dw     mainloop        ;0068   bd 00   . .\r
+CMD_ERR:dw     l0146h\r
+cmd_rpt:dw     mainloop\r
 \r
 conbuf:\r
-       db      CONBUF_SIZE     ;006a   50      P\r
+       db      CONBUF_SIZE\r
 \r
        ld sp,stack             ;006b   31 46 00        1 F .\r
        exx                     ;006e   d9      .\r
@@ -202,33 +202,33 @@ exe_hl:
        jr mainloop             ;010d   18 ae   . .\r
 \r
 CMDTAB:\r
-       defw cmd_@              ;0110   92 0d   . .\r
-       defw cmd_A              ;0112   fe 11   . .\r
-       defw cmd_B              ;0114   6d 07   m .\r
-       defw cmd_C              ;0116   17 21   . !\r
-       defw cmd_D              ;0118   48 0f   H .\r
-       defw ERROR              ;011a   07 01   . .\r
-       defw cmd_F              ;011c   af 0f   . .\r
-       defw cmd_G              ;011e   31 07   1 .\r
-       defw cmd_H              ;0120   3d 0e   = .\r
-       defw cmd_I              ;0122   a3 0d   . .\r
-       defw ERROR              ;0124   07 01   . .\r
-       defw ERROR              ;0126   07 01   . .\r
-       defw cmd_L              ;0128   cd 18   . .\r
-       defw cmd_M              ;012a   19 0e   . .\r
-       defw ERROR              ;012c   07 01   . .\r
-       defw cmd_O              ;012e   c7 0d   . .\r
-       defw ERROR              ;0130   07 01   . .\r
-       defw cmd_Q              ;0132   84 0e   . .\r
-       defw cmd_R              ;0134   62 10   b .\r
-       defw cmd_S              ;0136   5a 0d   Z .\r
-       defw cmd_T              ;0138   1e 21   . !\r
-       defw ERROR              ;013a   07 01   . .\r
-       defw cmd_V              ;013c   ea 0d   . .\r
-       defw cmd_W              ;013e   a0 11   . .\r
-       defw cmd_X              ;0140   f1 0b   . .\r
-       defw cmd_Y              ;0142   b2 0b   . .\r
-       defw cmd_Z              ;0144   ba 0e   . .\r
+       dw      cmd_@           ;0110   92 0d   . .\r
+       dw      cmd_A           ;0112   fe 11   . .\r
+       dw      cmd_B           ;0114   6d 07   m .\r
+       dw      cmd_C           ;0116   17 21   . !\r
+       dw      cmd_D           ;0118   48 0f   H .\r
+       dw      ERROR           ;011a   07 01   . .\r
+       dw      cmd_F           ;011c   af 0f   . .\r
+       dw      cmd_G           ;011e   31 07   1 .\r
+       dw      cmd_H           ;0120   3d 0e   = .\r
+       dw      cmd_I           ;0122   a3 0d   . .\r
+       dw      ERROR           ;0124   07 01   . .\r
+       dw      ERROR           ;0126   07 01   . .\r
+       dw      cmd_L           ;0128   cd 18   . .\r
+       dw      cmd_M           ;012a   19 0e   . .\r
+       dw      ERROR           ;012c   07 01   . .\r
+       dw      cmd_O           ;012e   c7 0d   . .\r
+       dw      ERROR           ;0130   07 01   . .\r
+       dw      cmd_Q           ;0132   84 0e   . .\r
+       dw      cmd_R           ;0134   62 10   b .\r
+       dw      cmd_S           ;0136   5a 0d   Z .\r
+       dw      cmd_T           ;0138   1e 21   . !\r
+       dw      ERROR           ;013a   07 01   . .\r
+       dw      cmd_V           ;013c   ea 0d   . .\r
+       dw      cmd_W           ;013e   a0 11   . .\r
+       dw      cmd_X           ;0140   f1 0b   . .\r
+       dw      cmd_Y           ;0142   b2 0b   . .\r
+       dw      cmd_Z           ;0144   ba 0e   . .\r
 \r
 l0146h:\r
        ld a,'?'                ;0146   3e 3f   > ?\r
@@ -445,8 +445,7 @@ outchar:
        pop de                  ;026f   d1      .\r
        pop hl                  ;0270   e1      .\r
        ret                     ;0271   c9      .\r
-con_col:\r
-       db      0               ;0272   00      .\r
+\r
 inchar:\r
        push hl                 ;0273   e5      .\r
        push de                 ;0274   d5      .\r
@@ -806,12 +805,12 @@ tab_eq_le_ge:
        db      '=<>',0\r
 \r
 tab_func_eqlege:\r
-       defw do_op_eq           ;0423   da 03   . .\r
-       defw do_op_lt           ;0425   e4 03   . .\r
-       defw do_op_gt           ;0427   e8 03   . .\r
-       defw do_op_le           ;0429   e2 03   . .\r
-       defw do_op_ge           ;042b   ea 03   . .\r
-       defw do_op_ne           ;042d   de 03   . .\r
+       dw      do_op_eq        ;0423   da 03   . .\r
+       dw      do_op_lt        ;0425   e4 03   . .\r
+       dw      do_op_gt        ;0427   e8 03   . .\r
+       dw      do_op_le        ;0429   e2 03   . .\r
+       dw      do_op_ge        ;042b   ea 03   . .\r
+       dw      do_op_ne        ;042d   de 03   . .\r
 \r
 do_subexpr:\r
        call do_factor          ;042f   cd e4 04        . . .\r
@@ -966,15 +965,15 @@ tab_op_a:
        DB      '+-*/%&!#',0\r
 \r
 tblf_opa:\r
-       defw doop_add           ;04cb   4c 04   L .\r
-       defw doop_sub           ;04cd   50 04   P .\r
-       defw doop_mlt           ;04cf   55 04   U .\r
-       defw doop_div           ;04d1   6a 04   j .\r
-       defw doop_mod           ;04d3   6f 04   o .\r
-       defw doop_and           ;04d5   96 04   . .\r
-       defw doop_or            ;04d7   9e 04   . .\r
-       defw doop_xor           ;04d9   a6 04   . .\r
-       defw 0                  ;04db   00 00   . .\r
+       dw      doop_add        ;04cb   4c 04   L .\r
+       dw      doop_sub        ;04cd   50 04   P .\r
+       dw      doop_mlt        ;04cf   55 04   U .\r
+       dw      doop_div        ;04d1   6a 04   j .\r
+       dw      doop_mod        ;04d3   6f 04   o .\r
+       dw      doop_and        ;04d5   96 04   . .\r
+       dw      doop_or         ;04d7   9e 04   . .\r
+       dw      doop_xor        ;04d9   a6 04   . .\r
+       dw      0               ;04db   00 00   . .\r
 \r
 fact_factor:\r
        call do_factor          ;04dd   cd e4 04        . . .\r
@@ -1351,33 +1350,33 @@ b_06e9_start:
        DB      0\r
 \r
 b_0709_start:\r
-       defw reg.a              ;0709   55 00   U .\r
-       defb 000h               ;070b   00      .\r
-       defw reg.c              ;070c   56 00   V .\r
-       defb 001h               ;070e   01      .\r
-       defw reg.e              ;070f   58 00   X .\r
-       defb 001h               ;0711   01      .\r
-       defw reg.l              ;0712   5a 00   Z .\r
-       defb 001h               ;0714   01      .\r
-       defw reg_sp             ;0715   5c 00   \ .\r
-       defb 001h               ;0717   01      .\r
-       defw REG.PC             ;0718   60 00   ` .\r
-       defb 002h               ;071a   02      .\r
-       defw reg.a2             ;071b   4d 00   M .\r
-       defb 000h               ;071d   00      .\r
-       defw reg.c2             ;071e   4a 00   J .\r
-       defb 001h               ;0720   01      .\r
-       defw reg.e2             ;0721   48 00   H .\r
-       defb 001h               ;0723   01      .\r
-       defw reg.l2             ;0724   46 00   F .\r
-       defb 001h               ;0726   01      .\r
-       defw reg.ix             ;0727   52 00   R .\r
-       defb 001h               ;0729   01      .\r
-       defw reg.iy             ;072a   50 00   P .\r
-       defb 001h               ;072c   01      .\r
-       defw reg.i              ;072d   4f 00   O .\r
-       defb 000h               ;072f   00      .\r
-       defb 000h               ;0730   00      .\r
+       dw      reg.a           ;0709   55 00   U .\r
+       db      000h            ;070b   00      .\r
+       dw      reg.c           ;070c   56 00   V .\r
+       db      001h            ;070e   01      .\r
+       dw      reg.e           ;070f   58 00   X .\r
+       db      001h            ;0711   01      .\r
+       dw      reg.l           ;0712   5a 00   Z .\r
+       db      001h            ;0714   01      .\r
+       dw      reg_sp          ;0715   5c 00   \ .\r
+       db      001h            ;0717   01      .\r
+       dw      REG.PC          ;0718   60 00   ` .\r
+       db      002h            ;071a   02      .\r
+       dw      reg.a2          ;071b   4d 00   M .\r
+       db      000h            ;071d   00      .\r
+       dw      reg.c2          ;071e   4a 00   J .\r
+       db      001h            ;0720   01      .\r
+       dw      reg.e2          ;0721   48 00   H .\r
+       db      001h            ;0723   01      .\r
+       dw      reg.l2          ;0724   46 00   F .\r
+       db      001h            ;0726   01      .\r
+       dw      reg.ix          ;0727   52 00   R .\r
+       db      001h            ;0729   01      .\r
+       dw      reg.iy          ;072a   50 00   P .\r
+       db      001h            ;072c   01      .\r
+       dw      reg.i           ;072d   4f 00   O .\r
+       db      000h            ;072f   00      .\r
+       db      000h            ;0730   00      .\r
 \r
 cmd_G:\r
        sub a                   ;0731   97      .\r
@@ -1664,9 +1663,6 @@ l0938h:
        ex af,af'               ;093f   08      .\r
        ret                     ;0940   c9      .\r
 \r
-l0941h:\r
-       db      0               ;0941   00      .\r
-\r
 sub_0942h:\r
        ex af,af'               ;0942   08      .\r
        res 7,a                 ;0943   cb bf   . .\r
@@ -1872,110 +1868,6 @@ l0ab0h:
        ld (iy+007h),d          ;0ab4   fd 72 07        . r .\r
        ret                     ;0ab7   c9      .\r
 \r
-bp_tab:\r
-       rept BP_CNT\r
-        rept BP_SIZE\r
-         db    0\r
-        endm\r
-       endm\r
-\r
-expr_p1:\r
-       defw expr_buf           ;0b18   1c 0b   . .\r
-expr_p2:\r
-       defw expr_buf           ;0b1a   1c 0b   . .\r
-\r
-expr_buf:\r
-current_cseg   defl    $ - current_cseg\r
-       .phase  current_phase + current_cseg\r
-\r
-start:\r
-       LD      SP,ldr_end+(stack-ddtz_base)\r
-       LD      DE,signon               ;ldr_end+(expr_buf-ddtz_base)\r
-       LD      C,BDOS_PSTR\r
-       CALL    BDOS\r
-\r
-       xor     a\r
-       dec     a\r
-       jp      po,reloc\r
-       ld      de,msgz80\r
-       LD      C,BDOS_PSTR\r
-       CALL    BDOS\r
-       jp      0\r
-\r
-reloc:\r
-       LD      HL,ldr_end+ddtz_size    ;start of reloc bitmap\r
-       ld      bc,0108h                ;init bit counter\r
-\r
-       EXX\r
-       LD      HL,(BDOS+1)\r
-       LD      (ldr_end+1),HL\r
-       LD      BC,ddtz_size-1\r
-       LD      D,B\r
-       LD      E,0FFH\r
-       INC     DE                      ;size rounded up to next page boundary\r
-       INC     BC                      ;ddtz_size\r
-       OR      A\r
-       SBC     HL,DE                   ;BDOS - size\r
-       LD      (BDOS+1),HL             ;-> new BDOS entry\r
-\r
-       push    hl\r
-       PUSH    BC\r
-       ld      de,ldr_end\r
-       sbc     hl,de\r
-       EX      DE,HL                   ;-> DE\r
-       LD      HL,ldr_size\r
-       add     hl,bc\r
-       ld      b,h\r
-       ld      c,l\r
-       LD      HL,TPA\r
-reloc_lp:\r
-       EXX\r
-       djnz    reloc_nl\r
-       ld      b,c                     ;reload bit counter\r
-       LD      e,(HL)                  ;get next 8 relocation bits\r
-       INC     HL\r
-reloc_nl:\r
-       sla     e\r
-       EXX\r
-       JR      NC,reloc_next\r
-       DEC     HL\r
-       LD      A,(HL)\r
-       ADD     A,E\r
-       LD      (HL),A\r
-       INC     HL\r
-       LD      A,(HL)\r
-       ADC     A,D\r
-       LD      (HL),A\r
-reloc_next:\r
-       cpi\r
-       jp      pe,reloc_lp\r
-       dec     hl\r
-\r
-       POP     BC\r
-       pop     de\r
-       EX      DE,HL\r
-       ADD     HL,BC\r
-       EX      DE,HL\r
-       DEC     DE\r
-       LDDR\r
-       LD      HL,conbuf+2-ddtz_base\r
-       ADD     HL,DE\r
-       JP      (HL)\r
-\r
-current_phase  defl    $\r
-       .dephase\r
-current_cseg   defl    $\r
-\r
-       ds      EXPR_BUF_SIZE - ($ - expr_buf)\r
-expr_bufe:\r
-\r
-msg_Y:\r
-       dc      'Yn'            ;0b9c   59 ee   Y n.\r
-reg_Y:\r
-       rept    YREG_CNT\r
-        dw     0\r
-       endm\r
-\r
 cmd_Y:\r
        call get.decdigit       ;0bb2   cd 1d 06        . . .\r
        jr c,l0bc3h             ;0bb5   38 0c   8 .\r
@@ -2178,70 +2070,70 @@ b_0cc3_start:
        DB      0\r
 \r
 b_0cfa_start:\r
-       defb 003h               ;0cfa   03      .\r
-       defw reg.c2             ;0cfb   4a 00   J .\r
-       defb 003h               ;0cfd   03      .\r
-       defw reg.e2             ;0cfe   48 00   H .\r
-       defb 003h               ;0d00   03      .\r
-       defw reg.l2             ;0d01   46 00   F .\r
-       defb 003h               ;0d03   03      .\r
-       defw reg.c              ;0d04   56 00   V .\r
-       defb 003h               ;0d06   03      .\r
-       defw reg.e              ;0d07   58 00   X .\r
-       defb 003h               ;0d09   03      .\r
-       defw reg.l              ;0d0a   5a 00   Z .\r
-       defb 000h               ;0d0c   00      .\r
-       defw reg.a2             ;0d0d   4d 00   M .\r
-       defb 000h               ;0d0f   00      .\r
-       defw reg.b2             ;0d10   4b 00   K .\r
-       defb 000h               ;0d12   00      .\r
-       defw reg.c2             ;0d13   4a 00   J .\r
-       defb 000h               ;0d15   00      .\r
-       defw reg.d2             ;0d16   49 00   I .\r
-       defb 000h               ;0d18   00      .\r
-       defw reg.e2             ;0d19   48 00   H .\r
-       defb 000h               ;0d1b   00      .\r
-       defw reg.h2             ;0d1c   47 00   G .\r
-       defb 000h               ;0d1e   00      .\r
-       defw reg.l2             ;0d1f   46 00   F .\r
-       defb 000h               ;0d21   00      .\r
-       defw reg.a              ;0d22   55 00   U .\r
-       defb 000h               ;0d24   00      .\r
-       defw reg.b              ;0d25   57 00   W .\r
-       defb 000h               ;0d27   00      .\r
-       defw reg.c              ;0d28   56 00   V .\r
-       defb 000h               ;0d2a   00      .\r
-       defw reg.d              ;0d2b   59 00   Y .\r
-       defb 000h               ;0d2d   00      .\r
-       defw reg.e              ;0d2e   58 00   X .\r
-       defb 000h               ;0d30   00      .\r
-       defw reg.h              ;0d31   5b 00   [ .\r
-       defb 000h               ;0d33   00      .\r
-       defw reg.l              ;0d34   5a 00   Z .\r
-       defb 003h               ;0d36   03      .\r
-       defw reg.ix             ;0d37   52 00   R .\r
-       defb 003h               ;0d39   03      .\r
-       defw reg.iy             ;0d3a   50 00   P .\r
-       defb 003h               ;0d3c   03      .\r
-       defw reg_sp             ;0d3d   5c 00   \ .\r
-       defb 003h               ;0d3f   03      .\r
-       defw REG.PC             ;0d40   60 00   ` .\r
-       defb 003h               ;0d42   03      .\r
-       defw reg.ix             ;0d43   52 00   R .\r
-       defb 003h               ;0d45   03      .\r
-       defw reg.iy             ;0d46   50 00   P .\r
-       defb 003h               ;0d48   03      .\r
-       defw reg_sp             ;0d49   5c 00   \ .\r
-       defb 003h               ;0d4b   03      .\r
-       defw REG.PC             ;0d4c   60 00   ` .\r
-       defb 000h               ;0d4e   00      .\r
-       defw reg.i              ;0d4f   4f 00   O .\r
-       defb 003h               ;0d51   03      .\r
-       defw l004eh             ;0d52   4e 00   N .\r
-       defb 000h               ;0d54   00      .\r
-       defw reg.f2             ;0d55   4c 00   L .\r
-       defb 000h               ;0d57   00      .\r
-       defw reg.f              ;0d58   54 00   T .\r
+       db      003h            ;0cfa   03      .\r
+       dw      reg.c2          ;0cfb   4a 00   J .\r
+       db      003h            ;0cfd   03      .\r
+       dw      reg.e2          ;0cfe   48 00   H .\r
+       db      003h            ;0d00   03      .\r
+       dw      reg.l2          ;0d01   46 00   F .\r
+       db      003h            ;0d03   03      .\r
+       dw      reg.c           ;0d04   56 00   V .\r
+       db      003h            ;0d06   03      .\r
+       dw      reg.e           ;0d07   58 00   X .\r
+       db      003h            ;0d09   03      .\r
+       dw      reg.l           ;0d0a   5a 00   Z .\r
+       db      000h            ;0d0c   00      .\r
+       dw      reg.a2          ;0d0d   4d 00   M .\r
+       db      000h            ;0d0f   00      .\r
+       dw      reg.b2          ;0d10   4b 00   K .\r
+       db      000h            ;0d12   00      .\r
+       dw      reg.c2          ;0d13   4a 00   J .\r
+       db      000h            ;0d15   00      .\r
+       dw      reg.d2          ;0d16   49 00   I .\r
+       db      000h            ;0d18   00      .\r
+       dw      reg.e2          ;0d19   48 00   H .\r
+       db      000h            ;0d1b   00      .\r
+       dw      reg.h2          ;0d1c   47 00   G .\r
+       db      000h            ;0d1e   00      .\r
+       dw      reg.l2          ;0d1f   46 00   F .\r
+       db      000h            ;0d21   00      .\r
+       dw      reg.a           ;0d22   55 00   U .\r
+       db      000h            ;0d24   00      .\r
+       dw      reg.b           ;0d25   57 00   W .\r
+       db      000h            ;0d27   00      .\r
+       dw      reg.c           ;0d28   56 00   V .\r
+       db      000h            ;0d2a   00      .\r
+       dw      reg.d           ;0d2b   59 00   Y .\r
+       db      000h            ;0d2d   00      .\r
+       dw      reg.e           ;0d2e   58 00   X .\r
+       db      000h            ;0d30   00      .\r
+       dw      reg.h           ;0d31   5b 00   [ .\r
+       db      000h            ;0d33   00      .\r
+       dw      reg.l           ;0d34   5a 00   Z .\r
+       db      003h            ;0d36   03      .\r
+       dw      reg.ix          ;0d37   52 00   R .\r
+       db      003h            ;0d39   03      .\r
+       dw      reg.iy          ;0d3a   50 00   P .\r
+       db      003h            ;0d3c   03      .\r
+       dw      reg_sp          ;0d3d   5c 00   \ .\r
+       db      003h            ;0d3f   03      .\r
+       dw      REG.PC          ;0d40   60 00   ` .\r
+       db      003h            ;0d42   03      .\r
+       dw      reg.ix          ;0d43   52 00   R .\r
+       db      003h            ;0d45   03      .\r
+       dw      reg.iy          ;0d46   50 00   P .\r
+       db      003h            ;0d48   03      .\r
+       dw      reg_sp          ;0d49   5c 00   \ .\r
+       db      003h            ;0d4b   03      .\r
+       dw      REG.PC          ;0d4c   60 00   ` .\r
+       db      000h            ;0d4e   00      .\r
+       dw      reg.i           ;0d4f   4f 00   O .\r
+       db      003h            ;0d51   03      .\r
+       dw      l004eh          ;0d52   4e 00   N .\r
+       db      000h            ;0d54   00      .\r
+       dw      reg.f2          ;0d55   4c 00   L .\r
+       db      000h            ;0d57   00      .\r
+       dw      reg.f           ;0d58   54 00   T .\r
 \r
 cmd_S:\r
        ld hl,(last_S)          ;0d5a   2a 90 0d        * . .\r
@@ -2273,8 +2165,6 @@ l0d8ah:
        call sub_0ef8h          ;0d8b   cd f8 0e        . . .\r
        jr l0d60h               ;0d8e   18 d0   . .\r
 \r
-last_S:\r
-       defw TPA                ;0d90   00 01   . .\r
 cmd_@:\r
        call assert_eol         ;0d92   cd d6 02        . . .\r
        ld hl,msg_offset        ;0d95   21 a0 0d        ! . .\r
@@ -2285,8 +2175,6 @@ cmd_@:
 msg_offset:\r
        dc      '@'             ;0da0   c0      .\r
 \r
-last_I:\r
-       defw 0                  ;0da1   00 00   . .\r
 cmd_I:\r
        ld hl,cmd_I             ;0da3   21 a3 0d        ! . .\r
        ld (cmd_rpt),hl         ;0da6   22 68 00        " h .\r
@@ -2303,10 +2191,6 @@ cmd_I:
        call out.bin.b          ;0dbe   cd c7 01        . . .\r
        jp crlf                 ;0dc1   c3 a3 02        . . .\r
 \r
-last_O_addr:\r
-       dw      0               ;0dc4   00      .\r
-last_O_val:\r
-       db      0               ;0dc6   00      .\r
 cmd_O:\r
        ld hl,cmd_O             ;0dc7   21 c7 0d        ! . .\r
        ld (cmd_rpt),hl         ;0dca   22 68 00        " h .\r
@@ -2419,9 +2303,6 @@ l0e5eh:
        call out.ascii          ;0e7d   cd 34 02        . 4 .\r
        jp crlf                 ;0e80   c3 a3 02        . . .\r
 \r
-cmd_Q_jopt:\r
-       db      -1              ;0e83   ff      .\r
-\r
 cmd_Q:\r
        ld a,(de)               ;0e84   1a      .\r
        sub 'J'                 ;0e85   d6 4a   . J\r
@@ -2483,9 +2364,6 @@ l0ed3h:
        pop hl                  ;0ed3   e1      .\r
        ret                     ;0ed4   c9      .\r
 \r
-last_D:\r
-       dw      TPA\r
-\r
 sub_0ed7h:\r
        push    hl              ;0ed7   e5 d5   . .\r
        push    de\r
@@ -2897,9 +2775,6 @@ l1111h:
        cp 01ah                 ;111d   fe 1a   . .\r
        ret                     ;111f   c9      .\r
 \r
-cmdR_rindex:\r
-       db      0               ;1120   00      .\r
-\r
 read_sector:\r
        push hl                 ;1121   e5      .\r
        push de                 ;1122   d5      .\r
@@ -2967,11 +2842,6 @@ msg_high:
 msg_max:\r
        DC      '  Max = '\r
 \r
-high_load:\r
-       defw TPA                ;119c   00 01   . .\r
-max_load:\r
-       defw TPA                ;119e   00 01   . .\r
-\r
 cmd_W:\r
        call get_arg_range      ;11a0   cd 7d 03        . } .\r
        call assert_eol         ;11a3   cd d6 02        . . .\r
@@ -3082,13 +2952,6 @@ l1259h:
        ld sp,(l1262h)          ;125c   ed 7b 62 12     . { b .\r
        jr l1211h               ;1260   18 af   . .\r
 \r
-l1262h:\r
-       dw      0               ;1262   00 00   .\r
-last_A:\r
-       dw      TPA             ;1264   00 01   .\r
-cmd_A_prev:\r
-       dw      TPA             ;1266   00 01   . .\r
-\r
 sub_1268h:\r
        call skipbl             ;1268   cd bf 02        . . .\r
        ld hl,t_MNEMONICS       ;126b   21 c6 1e        ! . .\r
@@ -3113,161 +2976,161 @@ CALL_HL:
        jp (hl)                 ;1288   e9      .\r
 \r
 b_1289_start:\r
-       defw as.ADC_SBC         ;ADC    1289    51 15   Q .\r
-       defb 088h               ;       128b    88      .\r
-       defw as.ADD             ;ADD    128c    71 15   q .\r
-       defb 080h               ;       128e    80      .\r
-       defw as.AND_CP_OR_SUB_XOR ;AND  128f    a8 15   . .\r
-       defb 0a0h               ;       1291    a0      .\r
-       defw as.BITOP           ;BIT    1292    09 16   . .\r
-       defb 040h               ;       1294    40      @\r
-       defw as.CALL            ;CALL   1295    2d 16   - .\r
-       defb 0c4h               ;       1297    c4      .\r
-       defw as.opc.noarg       ;CCF    1298    3b 15   ; .\r
-       defb 03fh               ;       129a    3f      ?\r
-       defw as.AND_CP_OR_SUB_XOR ;CP   129b    a8 15   . .\r
-       defb 0b8h               ;       129d    b8      .\r
-       defw gen.opc.ED2        ;CPD    129e    44 15   D .\r
-       defb 0a9h               ;       12a0    a9      .\r
-       defw gen.opc.ED2        ;CPDR   12a1    44 15   D .\r
-       defb 0b9h               ;       12a3    b9      .\r
-       defw gen.opc.ED2        ;CPI    12a4    44 15   D .\r
-       defb 0a1h               ;       12a6    a1      .\r
-       defw gen.opc.ED2        ;CPIR   12a7    44 15   D .\r
-       defb 0b1h               ;       12a9    b1      .\r
-       defw as.opc.noarg       ;CPL    12aa    3b 15   ; .\r
-       defb 02fh               ;       12ac    2f      /\r
-       defw as.opc.noarg       ;DAA    12ad    3b 15   ; .\r
-       defb 027h               ;       12af    27      '\r
-       defw as.DEC_INC         ;DEC    12b0    98 17   . .\r
-       defb 005h               ;       12b2    05      .\r
-       defw as.opc.noarg       ;DI     12b3    3b 15   ; .\r
-       defb 0f3h               ;       12b5    f3      .\r
-       defw as.DJNZ            ;DJNZ   12b6    99 16   . .\r
-       defb 010h               ;       12b8    10      .\r
-       defw as.opc.noarg       ;EI     12b9    3b 15   ; .\r
-       defb 0fbh               ;       12bb    fb      .\r
-       defw as.EX              ;EX     12bc    49 17   I .\r
-       defb 0e3h               ;       12be    e3      .\r
-       defw as.opc.noarg       ;EXX    12bf    3b 15   ; .\r
-       defb 0d9h               ;       12c1    d9      .\r
-       defw as.opc.noarg       ;HALT   12c2    3b 15   ; .\r
-       defb 076h               ;       12c4    76      v\r
-       defw as.IM              ;IM     12c5    b4 16   . .\r
-       defb 046h               ;       12c7    46      F\r
-       defw as.IN              ;IN     12c8    ed 16   . .\r
-       defb 040h               ;       12ca    40      @\r
-       defw as.DEC_INC         ;INC    12cb    98 17   . .\r
-       defb 004h               ;       12cd    04      .\r
-       defw gen.opc.ED2        ;IND    12ce    44 15   D .\r
-       defb 0aah               ;       12d0    aa      .\r
-       defw gen.opc.ED2        ;INDR   12d1    44 15   D .\r
-       defb 0bah               ;       12d3    ba      .\r
-       defw gen.opc.ED2        ;INI    12d4    44 15   D .\r
-       defb 0a2h               ;       12d6    a2      .\r
-       defw gen.opc.ED2        ;INIR   12d7    44 15   D .\r
-       defb 0b2h               ;       12d9    b2      .\r
-       defw as.JP              ;JP     12da    53 16   S .\r
-       defb 0c2h               ;       12dc    c2      .\r
-       defw as.JR              ;JR     12dd    a0 16   . .\r
-       defb 020h               ;       12df    20\r
-       defw as.LD              ;LD     12e0    52 13   R .\r
-       defb 040h               ;       12e2    40      @\r
-       defw gen.opc.ED2        ;LDD    12e3    44 15   D .\r
-       defb 0a8h               ;       12e5    a8      .\r
-       defw gen.opc.ED2        ;LDDR   12e6    44 15   D .\r
-       defb 0b8h               ;       12e8    b8      .\r
-       defw gen.opc.ED2        ;LDI    12e9    44 15   D .\r
-       defb 0a0h               ;       12eb    a0      .\r
-       defw gen.opc.ED2        ;LDIR   12ec    44 15   D .\r
-       defb 0b0h               ;       12ee    b0      .\r
-       defw gen.opc.ED2        ;NEG    12ef    44 15   D .\r
-       defb 044h               ;       12f1    44      D\r
-       defw as.opc.noarg       ;NOP    12f2    3b 15   ; .\r
-       defb 000h               ;       12f4    00      .\r
-       defw as.AND_CP_OR_SUB_XOR ;OR   12f5    a8 15   . .\r
-       defb 0b0h               ;       12f7    b0      .\r
-       defw gen.opc.ED2        ;OTDR   12f8    44 15   D .\r
-       defb 0bbh               ;       12fa    bb      .\r
-       defw gen.opc.ED2        ;OTIR   12fb    44 15   D .\r
-       defb 0b3h               ;       12fd    b3      .\r
-       defw as.OUT             ;OUT    12fe    21 17   ! .\r
-       defb 041h               ;       1300    41      A\r
-       defw gen.opc.ED2        ;OUTD   1301    44 15   D .\r
-       defb 0abh               ;       1303    ab      .\r
-       defw gen.opc.ED2        ;OUTI   1304    44 15   D .\r
-       defb 0a3h               ;       1306    a3      .\r
-       defw as.POP_PUSH        ;POP    1307    d9 16   . .\r
-       defb 0c1h               ;       1309    c1      .\r
-       defw as.POP_PUSH        ;PUSH   130a    d9 16   . .\r
-       defb 0c5h               ;       130c    c5      .\r
-       defw as.BITOP           ;RES    130d    09 16   . .\r
-       defb 080h               ;       130f    80      .\r
-       defw as.RET             ;RET    1310    45 16   E .\r
-       defb 0c0h               ;       1312    c0      .\r
-       defw gen.opc.ED2        ;RETI   1313    44 15   D .\r
-       defb 04dh               ;       1315    4d      M\r
-       defw gen.opc.ED2        ;RETN   1316    44 15   D .\r
-       defb 045h               ;       1318    45      E\r
-       defw as.SHIFTOP ;RL     1319    d5 15   . .\r
-       defb 010h               ;       131b    10      .\r
-       defw as.opc.noarg       ;RLA    131c    3b 15   ; .\r
-       defb 017h               ;       131e    17      .\r
-       defw as.SHIFTOP         ;RLC    131f    d5 15   . .\r
-       defb 000h               ;       1321    00      .\r
-       defw as.opc.noarg       ;RLCA   1322    3b 15   ; .\r
-       defb 007h               ;       1324    07      .\r
-       defw gen.opc.ED2        ;RLD    1325    44 15   D .\r
-       defb 06fh               ;       1327    6f      o\r
-       defw as.SHIFTOP         ;RR     1328    d5 15   . .\r
-       defb 018h               ;       132a    18      .\r
-       defw as.opc.noarg       ;RRA    132b    3b 15   ; .\r
-       defb 01fh               ;       132d    1f      .\r
-       defw as.SHIFTOP         ;RRC    132e    d5 15   . .\r
-       defb 008h               ;       1330    08      .\r
-       defw as.opc.noarg       ;RRCA   1331    3b 15   ; .\r
-       defb 00fh               ;       1333    0f      .\r
-       defw gen.opc.ED2        ;RRD    1334    44 15   D .\r
-       defb 067h               ;       1336    67      g\r
-       defw as.RST             ;RST    1337    ca 16   . .\r
-       defb 0c7h               ;       1339    c7      .\r
-       defw as.ADC_SBC         ;SBC    133a    51 15   Q .\r
-       defb 098h               ;       133c    98      .\r
-       defw as.opc.noarg       ;SCF    133d    3b 15   ; .\r
-       defb 037h               ;       133f    37      7\r
-       defw as.BITOP           ;SET    1340    09 16   . .\r
-       defb 0c0h               ;       1342    c0      .\r
-       defw as.SHIFTOP         ;SLA    1343    d5 15   . .\r
-       defb 020h               ;       1345    20\r
-       defw as.SHIFTOP         ;SRA    1346    d5 15   . .\r
-       defb 028h               ;       1348    28      (\r
-       defw as.SHIFTOP         ;SRL    1349    d5 15   . .\r
-       defb 038h               ;       134b    38      8\r
-       defw as.AND_CP_OR_SUB_XOR ;SUB  134c    a8 15   . .\r
-       defb 090h               ;       134e    90      .\r
-       defw as.AND_CP_OR_SUB_XOR ;XOR  134f    a8 15   . .\r
-       defb 0a8h               ;       1351    a8      .\r
-\r
-       defw as.IN0             ;IN0\r
-       defb 000h               ;\r
-       defw as.MLT             ;MLT\r
-       defb 04ch               ;\r
-       defw gen.opc.ED2        ;OTDM\r
-       defb 08bh               ;\r
-       defw gen.opc.ED2        ;OTDMR\r
-       defb 09bh               ;\r
-       defw gen.opc.ED2        ;OTIM\r
-       defb 083h               ;\r
-       defw gen.opc.ED2        ;OTIMR\r
-       defb 093h               ;\r
-       defw as.OUTO            ;OUT0\r
-       defb 001h               ;\r
-       defw gen.opc.ED2        ;SLP\r
-       defb 076h               ;\r
-       defw as.TST             ;TST\r
-       defb 004h               ;\r
-       defw as.TSTIO           ;TSTIO\r
-       defb 074h               ;\r
+       dw      as.ADC_SBC              ;ADC    1289    51 15   Q .\r
+       db      088h                    ;       128b    88      .\r
+       dw      as.ADD                  ;ADD    128c    71 15   q .\r
+       db      080h                    ;       128e    80      .\r
+       dw      as.AND_CP_OR_SUB_XOR    ;AND    128f    a8 15   . .\r
+       db      0a0h                    ;       1291    a0      .\r
+       dw      as.BITOP                ;BIT    1292    09 16   . .\r
+       db      040h                    ;       1294    40      @\r
+       dw      as.CALL                 ;CALL   1295    2d 16   - .\r
+       db      0c4h                    ;       1297    c4      .\r
+       dw      as.opc.noarg            ;CCF    1298    3b 15   ; .\r
+       db      03fh                    ;       129a    3f      ?\r
+       dw      as.AND_CP_OR_SUB_XOR    ;CP     129b    a8 15   . .\r
+       db      0b8h                    ;       129d    b8      .\r
+       dw      gen.opc.ED2             ;CPD    129e    44 15   D .\r
+       db      0a9h                    ;       12a0    a9      .\r
+       dw      gen.opc.ED2             ;CPDR   12a1    44 15   D .\r
+       db      0b9h                    ;       12a3    b9      .\r
+       dw      gen.opc.ED2             ;CPI    12a4    44 15   D .\r
+       db      0a1h                    ;       12a6    a1      .\r
+       dw      gen.opc.ED2             ;CPIR   12a7    44 15   D .\r
+       db      0b1h                    ;       12a9    b1      .\r
+       dw      as.opc.noarg            ;CPL    12aa    3b 15   ; .\r
+       db      02fh                    ;       12ac    2f      /\r
+       dw      as.opc.noarg            ;DAA    12ad    3b 15   ; .\r
+       db      027h                    ;       12af    27      '\r
+       dw      as.DEC_INC              ;DEC    12b0    98 17   . .\r
+       db      005h                    ;       12b2    05      .\r
+       dw      as.opc.noarg            ;DI     12b3    3b 15   ; .\r
+       db      0f3h                    ;       12b5    f3      .\r
+       dw      as.DJNZ                 ;DJNZ   12b6    99 16   . .\r
+       db      010h                    ;       12b8    10      .\r
+       dw      as.opc.noarg            ;EI     12b9    3b 15   ; .\r
+       db      0fbh                    ;       12bb    fb      .\r
+       dw      as.EX                   ;EX     12bc    49 17   I .\r
+       db      0e3h                    ;       12be    e3      .\r
+       dw      as.opc.noarg            ;EXX    12bf    3b 15   ; .\r
+       db      0d9h                    ;       12c1    d9      .\r
+       dw      as.opc.noarg            ;HALT   12c2    3b 15   ; .\r
+       db      076h                    ;       12c4    76      v\r
+       dw      as.IM                   ;IM     12c5    b4 16   . .\r
+       db      046h                    ;       12c7    46      F\r
+       dw      as.IN                   ;IN     12c8    ed 16   . .\r
+       db      040h                    ;       12ca    40      @\r
+       dw      as.DEC_INC              ;INC    12cb    98 17   . .\r
+       db      004h                    ;       12cd    04      .\r
+       dw      gen.opc.ED2             ;IND    12ce    44 15   D .\r
+       db      0aah                    ;       12d0    aa      .\r
+       dw      gen.opc.ED2             ;INDR   12d1    44 15   D .\r
+       db      0bah                    ;       12d3    ba      .\r
+       dw      gen.opc.ED2             ;INI    12d4    44 15   D .\r
+       db      0a2h                    ;       12d6    a2      .\r
+       dw      gen.opc.ED2             ;INIR   12d7    44 15   D .\r
+       db      0b2h                    ;       12d9    b2      .\r
+       dw      as.JP                   ;JP     12da    53 16   S .\r
+       db      0c2h                    ;       12dc    c2      .\r
+       dw      as.JR                   ;JR     12dd    a0 16   . .\r
+       db      020h                    ;       12df    20\r
+       dw      as.LD                   ;LD     12e0    52 13   R .\r
+       db      040h                    ;       12e2    40      @\r
+       dw      gen.opc.ED2             ;LDD    12e3    44 15   D .\r
+       db      0a8h                    ;       12e5    a8      .\r
+       dw      gen.opc.ED2             ;LDDR   12e6    44 15   D .\r
+       db      0b8h                    ;       12e8    b8      .\r
+       dw      gen.opc.ED2             ;LDI    12e9    44 15   D .\r
+       db      0a0h                    ;       12eb    a0      .\r
+       dw      gen.opc.ED2             ;LDIR   12ec    44 15   D .\r
+       db      0b0h                    ;       12ee    b0      .\r
+       dw      gen.opc.ED2             ;NEG    12ef    44 15   D .\r
+       db      044h                    ;       12f1    44      D\r
+       dw      as.opc.noarg            ;NOP    12f2    3b 15   ; .\r
+       db      000h                    ;       12f4    00      .\r
+       dw      as.AND_CP_OR_SUB_XOR    ;OR     12f5    a8 15   . .\r
+       db      0b0h                    ;       12f7    b0      .\r
+       dw      gen.opc.ED2             ;OTDR   12f8    44 15   D .\r
+       db      0bbh                    ;       12fa    bb      .\r
+       dw      gen.opc.ED2             ;OTIR   12fb    44 15   D .\r
+       db      0b3h                    ;       12fd    b3      .\r
+       dw      as.OUT                  ;OUT    12fe    21 17   ! .\r
+       db      041h                    ;       1300    41      A\r
+       dw      gen.opc.ED2             ;OUTD   1301    44 15   D .\r
+       db      0abh                    ;       1303    ab      .\r
+       dw      gen.opc.ED2             ;OUTI   1304    44 15   D .\r
+       db      0a3h                    ;       1306    a3      .\r
+       dw      as.POP_PUSH             ;POP    1307    d9 16   . .\r
+       db      0c1h                    ;       1309    c1      .\r
+       dw      as.POP_PUSH             ;PUSH   130a    d9 16   . .\r
+       db      0c5h                    ;       130c    c5      .\r
+       dw      as.BITOP                ;RES    130d    09 16   . .\r
+       db      080h                    ;       130f    80      .\r
+       dw      as.RET                  ;RET    1310    45 16   E .\r
+       db      0c0h                    ;       1312    c0      .\r
+       dw      gen.opc.ED2             ;RETI   1313    44 15   D .\r
+       db      04dh                    ;       1315    4d      M\r
+       dw      gen.opc.ED2             ;RETN   1316    44 15   D .\r
+       db      045h                    ;       1318    45      E\r
+       dw      as.SHIFTOP              ;RL     1319    d5 15   . .\r
+       db      010h                    ;       131b    10      .\r
+       dw      as.opc.noarg            ;RLA    131c    3b 15   ; .\r
+       db      017h                    ;       131e    17      .\r
+       dw      as.SHIFTOP              ;RLC    131f    d5 15   . .\r
+       db      000h                    ;       1321    00      .\r
+       dw      as.opc.noarg            ;RLCA   1322    3b 15   ; .\r
+       db      007h                    ;       1324    07      .\r
+       dw      gen.opc.ED2             ;RLD    1325    44 15   D .\r
+       db      06fh                    ;       1327    6f      o\r
+       dw      as.SHIFTOP              ;RR     1328    d5 15   . .\r
+       db      018h                    ;       132a    18      .\r
+       dw      as.opc.noarg            ;RRA    132b    3b 15   ; .\r
+       db      01fh                    ;       132d    1f      .\r
+       dw      as.SHIFTOP              ;RRC    132e    d5 15   . .\r
+       db      008h                    ;       1330    08      .\r
+       dw      as.opc.noarg            ;RRCA   1331    3b 15   ; .\r
+       db      00fh                    ;       1333    0f      .\r
+       dw      gen.opc.ED2             ;RRD    1334    44 15   D .\r
+       db      067h                    ;       1336    67      g\r
+       dw      as.RST                  ;RST    1337    ca 16   . .\r
+       db      0c7h                    ;       1339    c7      .\r
+       dw      as.ADC_SBC              ;SBC    133a    51 15   Q .\r
+       db      098h                    ;       133c    98      .\r
+       dw      as.opc.noarg            ;SCF    133d    3b 15   ; .\r
+       db      037h                    ;       133f    37      7\r
+       dw      as.BITOP                ;SET    1340    09 16   . .\r
+       db      0c0h                    ;       1342    c0      .\r
+       dw      as.SHIFTOP              ;SLA    1343    d5 15   . .\r
+       db      020h                    ;       1345    20\r
+       dw      as.SHIFTOP              ;SRA    1346    d5 15   . .\r
+       db      028h                    ;       1348    28      (\r
+       dw      as.SHIFTOP              ;SRL    1349    d5 15   . .\r
+       db      038h                    ;       134b    38      8\r
+       dw      as.AND_CP_OR_SUB_XOR    ;SUB    134c    a8 15   . .\r
+       db      090h                    ;       134e    90      .\r
+       dw      as.AND_CP_OR_SUB_XOR    ;XOR    134f    a8 15   . .\r
+       db      0a8h                    ;       1351    a8      .\r
+\r
+       dw      as.IN0                  ;IN0\r
+       db      000h                    ;\r
+       dw      as.MLT                  ;MLT\r
+       db      04ch                    ;\r
+       dw      gen.opc.ED2             ;OTDM\r
+       db      08bh                    ;\r
+       dw      gen.opc.ED2             ;OTDMR\r
+       db      09bh                    ;\r
+       dw      gen.opc.ED2             ;OTIM\r
+       db      083h                    ;\r
+       dw      gen.opc.ED2             ;OTIMR\r
+       db      093h                    ;\r
+       dw      as.OUTO                 ;OUT0\r
+       db      001h                    ;\r
+       dw      gen.opc.ED2             ;SLP\r
+       db      076h                    ;\r
+       dw      as.TST                  ;TST\r
+       db      004h                    ;\r
+       dw      as.TSTIO                ;TSTIO\r
+       db      074h                    ;\r
 \r
 as.TST:\r
        call arg.r_HL_A         ;\r
@@ -3409,7 +3272,7 @@ l13d4h:
        jp z,ERROR              ;13e9   ca 07 01        . . .\r
 l13ech:\r
        ld b,a                  ;13ec   47      G\r
-       jp as.opc.noarg ;13ed   c3 3b 15        . ; .\r
+       jp as.opc.noarg         ;13ed   c3 3b 15        . ; .\r
 l13f0h:\r
        call arg.IDX_displcmnt  ;13f0   cd 55 18        . U .\r
        jr nc,l1413h            ;13f3   30 1e   0 .\r
@@ -4182,9 +4045,6 @@ test_paren_close:
        inc de                  ;18ca   13      .\r
        ret                     ;18cb   c9      .\r
 \r
-prefix_ixiy:\r
-       db      0               ;18cc   00      .\r
-\r
 cmd_L:\r
        ld hl,cmd_L             ;18cd   21 cd 18        ! . .\r
        ld (cmd_rpt),hl         ;18d0   22 68 00        " h .\r
@@ -4355,50 +4215,50 @@ l19edh:
 \r
 ; DD/FD 3 byte (ix+d)/(iy+d)\r
 b_19ef_start:\r
-       defb 034h               ;19ef   34      4\r
-       defb 035h               ;19f0   35      5\r
-       defb 036h               ;19f1   36      6\r
-       defb 046h               ;19f2   46      F\r
-       defb 04eh               ;19f3   4e      N\r
-       defb 056h               ;19f4   56      V\r
-       defb 05eh               ;19f5   5e      ^\r
-       defb 066h               ;19f6   66      f\r
-       defb 06eh               ;19f7   6e      n\r
-       defb 070h               ;19f8   70      p\r
-       defb 071h               ;19f9   71      q\r
-       defb 072h               ;19fa   72      r\r
-       defb 073h               ;19fb   73      s\r
-       defb 074h               ;19fc   74      t\r
-       defb 075h               ;19fd   75      u\r
-       defb 077h               ;19ff   77      w\r
-       defb 07eh               ;1a00   7e      ~\r
-       defb 086h               ;1a01   86      .\r
-       defb 08eh               ;1a02   8e      .\r
-       defb 096h               ;1a03   96      .\r
-       defb 09eh               ;1a04   9e      .\r
-       defb 0a6h               ;1a05   a6      .\r
-       defb 0aeh               ;1a06   ae      .\r
-       defb 0b6h               ;1a07   b6      .\r
-       defb 0beh               ;1a08   be      .\r
-       defb 0                  ;1a09   00      .\r
+       db      034h            ;19ef   34      4\r
+       db      035h            ;19f0   35      5\r
+       db      036h            ;19f1   36      6\r
+       db      046h            ;19f2   46      F\r
+       db      04eh            ;19f3   4e      N\r
+       db      056h            ;19f4   56      V\r
+       db      05eh            ;19f5   5e      ^\r
+       db      066h            ;19f6   66      f\r
+       db      06eh            ;19f7   6e      n\r
+       db      070h            ;19f8   70      p\r
+       db      071h            ;19f9   71      q\r
+       db      072h            ;19fa   72      r\r
+       db      073h            ;19fb   73      s\r
+       db      074h            ;19fc   74      t\r
+       db      075h            ;19fd   75      u\r
+       db      077h            ;19ff   77      w\r
+       db      07eh            ;1a00   7e      ~\r
+       db      086h            ;1a01   86      .\r
+       db      08eh            ;1a02   8e      .\r
+       db      096h            ;1a03   96      .\r
+       db      09eh            ;1a04   9e      .\r
+       db      0a6h            ;1a05   a6      .\r
+       db      0aeh            ;1a06   ae      .\r
+       db      0b6h            ;1a07   b6      .\r
+       db      0beh            ;1a08   be      .\r
+       db      0                       ;1a09   00      .\r
 \r
 ; DD/FD 2 byte\r
 l1a0ah:\r
-       defb 009h               ;1a0a   09      .\r
-       defb 019h               ;1a0b   19      .\r
-       defb 021h               ;1a0c   21      !\r
-       defb 022h               ;1a0d   22      "\r
-       defb 023h               ;1a0e   23      #\r
-       defb 029h               ;1a0f   29      )\r
-       defb 02ah               ;1a10   2a      *\r
-       defb 02bh               ;1a11   2b      +\r
-       defb 039h               ;1a12   39      9\r
-       defb 0e1h               ;1a13   e1      .\r
-       defb 0e3h               ;1a14   e3      .\r
-       defb 0e5h               ;1a15   e5      .\r
-       defb 0e9h               ;1a16   e9      .\r
-       defb 0f9h               ;1a17   f9      .\r
-       defb 0                  ;1a18   00      .\r
+       db      009h            ;1a0a   09      .\r
+       db      019h            ;1a0b   19      .\r
+       db      021h            ;1a0c   21      !\r
+       db      022h            ;1a0d   22      "\r
+       db      023h            ;1a0e   23      #\r
+       db      029h            ;1a0f   29      )\r
+       db      02ah            ;1a10   2a      *\r
+       db      02bh            ;1a11   2b      +\r
+       db      039h            ;1a12   39      9\r
+       db      0e1h            ;1a13   e1      .\r
+       db      0e3h            ;1a14   e3      .\r
+       db      0e5h            ;1a15   e5      .\r
+       db      0e9h            ;1a16   e9      .\r
+       db      0f9h            ;1a17   f9      .\r
+       db      0                       ;1a18   00      .\r
 \r
 disas_pfx.ED:\r
        inc iy                  ;1a19   fd 23   . #\r
@@ -5265,15 +5125,6 @@ t__C_:
        DC      '(C)'\r
        DB      0\r
 \r
-isprefix_ixiy:\r
-       db      0               ;1ff8   00      .\r
-last_L:\r
-       dw      TPA             ;1ff9   00 01   .\r
-l1ffbh:\r
-       dw      0               ;1ffb   00 00   .\r
-l1ffdh:\r
-       db      0               ;1ffd   00      .\r
-\r
 sub_1ffeh:\r
        ld hl,(REG.PC)          ;1ffe   2a 60 00        * ` .\r
        ld a,h                  ;2001   7c      |\r
@@ -5561,17 +5412,173 @@ l21dah:
        ret                     ;21e1   c9      .\r
 \r
 b_21e2_start:\r
-       db      0               ;21e2   00      .\r
+       db      0\r
 trace_call_flag:\r
-       db      0               ;1=call, 0=trace  21e3  00      .\r
+       db      0               ;1=call, 0=trace\r
 trace_UW_flag:\r
-       db      0               ;0 or 'U' or 'W' 21e4   00      .\r
+       db      0               ;0 or 'U' or 'W'\r
 trace_count:\r
-       dw      0               ;21e5   00 00   .\r
+       dw      0\r
 trace_N_flag:\r
-       db      0               ;0 if 'N'  21e7 00      .\r
+       db      0               ;0 if 'N'\r
 trace_J_flag:\r
-       db      0               ;0 if 'J'  21e8 00      .\r
+       db      0               ;0 if 'J'\r
+\r
+;-------------------------------------------------------------------------------\r
+\r
+con_col:\r
+       db      0\r
+\r
+l0941h:\r
+       db      0\r
+\r
+bp_tab:\r
+       rept BP_CNT\r
+        rept BP_SIZE\r
+         db    0\r
+        endm\r
+       endm\r
+\r
+expr_p1:\r
+       dw      expr_buf\r
+expr_p2:\r
+       dw      expr_buf\r
+\r
+expr_buf:\r
+current_cseg   defl    $ - current_cseg\r
+       .phase  current_phase + current_cseg\r
+\r
+start:\r
+       LD      SP,ldr_end+(stack-ddtz_base)\r
+       LD      DE,signon               ;ldr_end+(expr_buf-ddtz_base)\r
+       LD      C,BDOS_PSTR\r
+       CALL    BDOS\r
+\r
+       xor     a\r
+       dec     a\r
+       jp      po,reloc\r
+       ld      de,msgz80\r
+       LD      C,BDOS_PSTR\r
+       CALL    BDOS\r
+       jp      0\r
+\r
+reloc:\r
+       LD      HL,ldr_end+ddtz_size    ;start of reloc bitmap\r
+       ld      bc,0108h                ;init bit counter\r
+\r
+       EXX\r
+       LD      HL,(BDOS+1)\r
+       LD      (ldr_end+1),HL\r
+       LD      BC,ddtz_size-1\r
+       LD      D,B\r
+       LD      E,0FFH\r
+       INC     DE                      ;size rounded up to next page boundary\r
+       INC     BC                      ;ddtz_size\r
+       OR      A\r
+       SBC     HL,DE                   ;BDOS - size\r
+       LD      (BDOS+1),HL             ;-> new BDOS entry\r
+\r
+       push    hl\r
+       PUSH    BC\r
+       ld      de,ldr_end\r
+       sbc     hl,de\r
+       EX      DE,HL                   ;-> DE\r
+       LD      HL,ldr_size\r
+       add     hl,bc\r
+       ld      b,h\r
+       ld      c,l\r
+       LD      HL,TPA\r
+reloc_lp:\r
+       EXX\r
+       djnz    reloc_nl\r
+       ld      b,c                     ;reload bit counter\r
+       LD      e,(HL)                  ;get next 8 relocation bits\r
+       INC     HL\r
+reloc_nl:\r
+       sla     e\r
+       EXX\r
+       JR      NC,reloc_next\r
+       DEC     HL\r
+       LD      A,(HL)\r
+       ADD     A,E\r
+       LD      (HL),A\r
+       INC     HL\r
+       LD      A,(HL)\r
+       ADC     A,D\r
+       LD      (HL),A\r
+reloc_next:\r
+       cpi\r
+       jp      pe,reloc_lp\r
+       dec     hl\r
+\r
+       POP     BC\r
+       pop     de\r
+       EX      DE,HL\r
+       ADD     HL,BC\r
+       EX      DE,HL\r
+       DEC     DE\r
+       LDDR\r
+       LD      HL,conbuf+2-ddtz_base\r
+       ADD     HL,DE\r
+       JP      (HL)\r
+\r
+current_phase  defl    $\r
+       .dephase\r
+current_cseg   defl    $\r
+\r
+       ds      EXPR_BUF_SIZE - ($ - expr_buf)\r
+expr_bufe:\r
+\r
+msg_Y:\r
+       dc      'Yn'\r
+reg_Y:\r
+       rept    YREG_CNT\r
+        dw     0\r
+       endm\r
+\r
+last_S:\r
+       dw      TPA\r
+\r
+last_I:\r
+       dw      0\r
+\r
+last_O_addr:\r
+       dw      0\r
+last_O_val:\r
+       db      0\r
+\r
+cmd_Q_jopt:\r
+       db      -1\r
+\r
+last_D:\r
+       dw      TPA\r
+\r
+cmdR_rindex:\r
+       db      0\r
+\r
+high_load:\r
+       dw      TPA\r
+max_load:\r
+       dw      TPA\r
+\r
+l1262h:\r
+       dw      0\r
+last_A:\r
+       dw      TPA\r
+cmd_A_prev:\r
+       dw      TPA\r
+\r
+prefix_ixiy:\r
+       db      0\r
+\r
+isprefix_ixiy:\r
+       db      0\r
+last_L:\r
+       dw      TPA\r
+l1ffbh:\r
+       dw      0\r
+l1ffdh:\r
+       db      0\r
 \r
 ddtz_size      equ     $-ddtz_base\r
 ddtz_end:\r