]> cloudbase.mooo.com Git - ddt180.git/commitdiff
Some cosmetic changes and minor optimizations
authorLeo C <erbl259-lmu@yahoo.de>
Thu, 4 Apr 2019 21:04:02 +0000 (23:04 +0200)
committerLeo C <erbl259-lmu@yahoo.de>
Thu, 4 Apr 2019 21:04:02 +0000 (23:04 +0200)
ddt180.z80

index 220c07485a3b105a066155cea4dba57345ffae43..60c588a5b160929895dca0da94c1f005bc03fde8 100644 (file)
@@ -146,9 +146,7 @@ conbuf:
        ld sp,stack\r
        exx\r
        ld de,ddtz_base\r
-       or a\r
-       sbc hl,de\r
-       add hl,de\r
+       call cp_hl_de\r
        jr c,l0079h\r
        ex de,hl\r
 l0079h:\r
@@ -214,6 +212,11 @@ CMDTAB:
        dw      cmd_Y           ;examine [and substitute] Y variables\r
        dw      cmd_Z           ;Zap (fill) memory with a byte string\r
 \r
+ERROR:\r
+       ld hl,(error_func)\r
+exe_hl:\r
+       call CALL_HL\r
+       ;fall thru\r
 mainloop:\r
        ld sp,stack\r
        ld hl,p_msg_error\r
@@ -223,6 +226,7 @@ mainloop:
        call bp_clr_temporary\r
        ld hl,(cmd_rpt)\r
        ld de,mainloop\r
+       ld (cmd_rpt),de\r
        call cp_hl_de\r
        ld a,'>'\r
        call outchar\r
@@ -231,8 +235,6 @@ mainloop:
        call get_line\r
        call skipbl\r
        jr z,exe_hl\r
-       ld hl,mainloop\r
-       ld (cmd_rpt),hl\r
        inc de\r
        sub '@'\r
        jr c,ERROR\r
@@ -247,12 +249,6 @@ mainloop:
        ld l,a\r
        jr exe_hl\r
 \r
-ERROR:\r
-       ld hl,(error_func)\r
-exe_hl:\r
-       call CALL_HL\r
-       jr mainloop\r
-\r
 ;-------------------------------------------------------------------------------\r
 \r
 p_msg_error:\r
@@ -261,7 +257,7 @@ p_msg_error:
        ;fall thru\r
 crlf:\r
        call    pstr_inl\r
-       db      CR,LF+80h\r
+       dc      CR,LF\r
        call inchar\r
        ld a,0\r
        ld (con_col),a\r
@@ -431,7 +427,6 @@ pstr:
        and a\r
        ret z\r
        call outchar\r
-       and a\r
        ret m\r
        jr pstr\r
 \r
@@ -470,11 +465,11 @@ inchar:
        ld c,BDOS_CSTAT\r
        call ddtz_bdos\r
        and a\r
-       jr z,l0284h\r
+       jr z,inch1\r
        ld c,BDOS_CIN\r
        call ddtz_bdos\r
        scf\r
-l0284h:\r
+inch1:\r
        pop bc\r
        pop de\r
        pop hl\r
@@ -531,12 +526,13 @@ skipbl:
        or a\r
        ret\r
 \r
+;-------------------------------------------------------------------------------\r
+\r
 next_arg:\r
        call skipbl\r
        cp ','\r
        ret nz\r
-       inc de\r
-       call skipbl\r
+       call skipbl0\r
        cp a\r
        ret\r
 \r
@@ -580,8 +576,8 @@ sub_hl_a1:
 sub_hl_a:\r
        push    bc\r
        ld      c,a\r
-       ld      b,0\r
-       or      a\r
+       xor     a\r
+       ld      b,a\r
        sbc     hl,bc\r
        pop     bc\r
        ret\r
@@ -693,7 +689,7 @@ l030ch:
 sub_0318h:\r
        push bc\r
        res 7,b\r
-       defb 03eh               ;ld a,nn\r
+       defb 03eh               ;ld a,nn: swallow push bc\r
 sub_031ch:\r
        push bc\r
        push de\r
@@ -1096,6 +1092,7 @@ do_factor:
        ret nc\r
        inc de\r
        ld hl,(BDOS+1)\r
+       dec hl\r
        cp 'T'\r
        ret z\r
        ld hl,(high_load)\r
@@ -2137,11 +2134,11 @@ cmd_X:
        jp nc,p_cpustat0\r
        call assert_eol\r
        ld a,b\r
-       cp 01eh\r
+       cp 30\r
        jr z,l0c5fh\r
-       cp 01fh\r
+       cp 31\r
        jr z,l0c4fh\r
-       cp 01dh\r
+       cp 29\r
        jp z,ERROR\r
        ex de,hl\r
        ld hl,t_reg_names\r
@@ -2258,38 +2255,38 @@ sub_0caeh:
        ret\r
 \r
 t_reg_names:\r
-       DC      'BC'''\r
-       DC      'DE'''\r
-       DC      'HL'''\r
-       DC      'BC'\r
-       DC      'DE'\r
-       DC      'HL'\r
-       DC      'A'''\r
-       DC      'B'''\r
-       DC      'C'''\r
-       DC      'D'''\r
-       DC      'E'''\r
-       DC      'H'''\r
-       DC      'L'''\r
-       DC      'A'\r
-       DC      'B'\r
-       DC      'C'\r
-       DC      'D'\r
-       DC      'E'\r
-       DC      'H'\r
-       DC      'L'\r
-       DC      'IX'\r
-       DC      'IY'\r
-       DC      'SP'\r
-       DC      'PC'\r
-       DC      'X'\r
-       DC      'Y'\r
-       DC      'S'\r
-       DC      'P'\r
-       DC      'I'\r
-       DC      'IP'\r
-       DC      'F'''\r
-       DC      'F'\r
+       DC      'BC'''          ;0\r
+       DC      'DE'''          ;1\r
+       DC      'HL'''          ;2\r
+       DC      'BC'            ;3\r
+       DC      'DE'            ;4\r
+       DC      'HL'            ;5\r
+       DC      'A'''           ;6\r
+       DC      'B'''           ;7\r
+       DC      'C'''           ;8\r
+       DC      'D'''           ;9\r
+       DC      'E'''           ;10\r
+       DC      'H'''           ;11\r
+       DC      'L'''           ;12\r
+       DC      'A'             ;13\r
+       DC      'B'             ;14\r
+       DC      'C'             ;15\r
+       DC      'D'             ;16\r
+       DC      'E'             ;17\r
+       DC      'H'             ;18\r
+       DC      'L'             ;19\r
+       DC      'IX'            ;20\r
+       DC      'IY'            ;21\r
+       DC      'SP'            ;22\r
+       DC      'PC'            ;23\r
+       DC      'X'             ;24\r
+       DC      'Y'             ;25\r
+       DC      'S'             ;26\r
+       DC      'P'             ;27\r
+       DC      'I'             ;28\r
+       DC      'IP'            ;29\r
+       DC      'F'''           ;30\r
+       DC      'F'             ;31\r
        DB      0\r
 \r
 b_0cfa_start:\r
@@ -2417,7 +2414,6 @@ msg_@:
 ;      Input a byte from port\r
 \r
 cmd_I:\r
-       ld hl,cmd_I\r
        ld (cmd_rpt),hl\r
        ld hl,(last_I)\r
        call get_lastarg_def\r
@@ -2437,7 +2433,6 @@ cmd_I:
 ;      Output a byte to a port\r
 \r
 cmd_O:\r
-       ld hl,cmd_O\r
        ld (cmd_rpt),hl\r
        ld hl,(last_O_val)\r
        call get_arg_def\r
@@ -2646,7 +2641,7 @@ l0e96h:
        add hl,bc\r
 l0ea7h:\r
        ld bc,16\r
-       and a\r
+       and a                   ;clear carry\r
        call sub_0f58h\r
        pop hl\r
        pop bc\r
@@ -2783,7 +2778,6 @@ l0f42h:
 ;      Display memory in hex and ASCII\r
 \r
 cmd_D:\r
-       ld hl,cmd_D\r
        ld (cmd_rpt),hl\r
        ld hl,(last_D)\r
        ld bc,128\r
@@ -3379,6 +3373,7 @@ p_max_high:
        call pstr_inl\r
        DC      '  Top = '\r
        ld hl,(BDOS+1)\r
+       dec hl\r
        call out_hl\r
        jp crlf\r
 \r
@@ -4619,7 +4614,6 @@ test_paren_close:
 ;      List disassembled code\r
 \r
 cmd_L:\r
-       ld hl,cmd_L\r
        ld (cmd_rpt),hl\r
        call expr\r
        jr nc,l18dbh\r
@@ -5890,7 +5884,6 @@ l2113h:
 ;     trace over Calls [No list] [Jumps only] /.While./.Until.\r
 \r
 cmd_C:\r
-       ld hl,cmd_C\r
        ld a,1\r
        jr cmd_tc\r
 \r
@@ -5902,7 +5895,6 @@ cmd_C:
 \r
 cmd_T:\r
        xor a\r
-       ld hl,cmd_T\r
 cmd_tc:\r
        ld (cmd_rpt),hl\r
        ld (trace_call_flag),a\r