]> cloudbase.mooo.com Git - ddt180.git/blobdiff - ddt180.z80
Bugfix test_alphanum/test_numeral, command Q
[ddt180.git] / ddt180.z80
index d925422f87e20e3e885e7e6e819c68b2f344f4d8..122748d161aa820e17d27a33c012cfdf130fb5ef 100644 (file)
@@ -58,7 +58,7 @@ BDOS_SETDMA   equ     26      ;Set DMA Address
 \r
 ; ddtz specific definitions\r
 \r
-STACK_SIZE     equ     64      ;ddtz internal stack\r
+STACK_SIZE     equ     80      ;ddtz internal stack\r
 CONBUF_SIZE    equ     80      ;Size of console input buffer\r
 EXPR_BUF_SIZE  equ     128     ;expressen buffer for conditional breakpoints\r
 BP_CNT         equ     12      ;Number of breakpoints\r
@@ -135,7 +135,7 @@ reg.pc:     dw      TPA
 var.$: dw      0000h\r
 var.@: dw      0\r
 \r
-error_func:dw  l0146h\r
+error_func:dw  p_msg_error\r
 cmd_rpt:dw     mainloop\r
 \r
 conbuf:\r
@@ -212,7 +212,7 @@ CMDTAB:
 \r
 mainloop:\r
        ld sp,stack\r
-       ld hl,l0146h\r
+       ld hl,p_msg_error\r
        ld (error_func),hl\r
        ld hl,(reg.pc)\r
        ld (var.$),hl\r
@@ -249,7 +249,7 @@ exe_hl:
        call CALL_HL\r
        jr mainloop\r
 \r
-l0146h:\r
+p_msg_error:\r
        call    pstr_inl\r
        dc      '?'\r
        ;fall thru\r
@@ -547,7 +547,7 @@ chk_stack:
        push de\r
        ld hl,0\r
        add hl,sp\r
-       ld de,stack-40\r
+       ld de,stack-(STACK_SIZE-28)\r
        call cp_hl_de\r
        pop de\r
        pop hl\r
@@ -1243,19 +1243,17 @@ fs_nxtsym:
        inc     b\r
        push    hl                      ;symtbl ptr\r
        push    de                      ;inpsym ptr\r
-fs_2:\r
+fs_nxtchar:\r
        ld      a,(de)\r
        djnz    fs_3\r
-       cp      a,':'\r
-       jr      nz,fs_21\r
-       inc     de\r
-       pop     hl\r
-       jr      fs_cont_1\r
-\r
-fs_21:\r
        call    test_sym_char\r
        jr      z,fs_cont\r
        pop     hl                      ;inpsym ptr (discard)\r
+       inc     de\r
+       cp      a,':'\r
+       jr      z,fs_cont_1\r
+       dec     de\r
+\r
        pop     hl                      ;symtbl ptr\r
        inc     hl\r
        ld      a,(hl)                  ;symval h\r
@@ -1265,12 +1263,13 @@ fs_21:
        or      a                       ;clear carry\r
        pop     bc\r
        ret\r
+\r
 fs_3:\r
        inc     de\r
        dec     hl\r
        xor     (hl)\r
        and     c\r
-       jr      z,fs_2\r
+       jr      z,fs_nxtchar\r
 fs_cont:                               ;start over\r
        pop     de                      ;inpsym ptr\r
 fs_cont_1:\r
@@ -2593,7 +2592,7 @@ sub_0ed7h:
        push    de\r
        push bc\r
 l0edah:\r
-       call get_char_upper\r
+       ld a,(de)\r
        cp (hl)\r
        jr nz,l0ee2h\r
        inc de\r
@@ -2844,6 +2843,7 @@ sub_1012h:
        cp '.'\r
        ret z\r
        ld c,'?'\r
+       call toupper\r
        cp '*'\r
        ret\r
 \r
@@ -3216,18 +3216,21 @@ test_sym_char:
 ; return nc if valid alfanumeric char\r
 \r
 test_alphanum:\r
-       cp      'z'+1\r
+       cp      'z'\r
+       ret     z\r
        ccf\r
        ret     c\r
        cp      'a'\r
        ret     nc\r
-       cp      'Z'+1\r
+       cp      'Z'\r
+       ret     z\r
        ccf\r
        ret     c\r
        cp      '?'\r
        ret     nc\r
 test_numeral:\r
-       cp      '9'+1\r
+       cp      '9'\r
+       ret     z\r
        ccf\r
        ret     c\r
        cp      '0'\r
@@ -3364,7 +3367,7 @@ cmda_lpend:
        jr cmda_loop\r
 \r
 cmda_restart:\r
-       call l0146h\r
+       call p_msg_error\r
        ld sp,(l1262h)\r
        jr cmda_loop\r
 \r