]> cloudbase.mooo.com Git - z180-stamp-cpm3.git/commitdiff
seldsk bugfix: allways store relativ drive to @RDRV
authorLeo C <erbl259-lmu@yahoo.de>
Tue, 26 Apr 2016 09:08:27 +0000 (11:08 +0200)
committerLeo C <erbl259-lmu@yahoo.de>
Tue, 26 Apr 2016 09:08:27 +0000 (11:08 +0200)
cbios/bioskrnl.180
cbios/utils.180

index 6ead6c30de271089f48c6530f36808349a4c4277..daa4610e69045b9a83866c5be1e9f24bbbd707b2 100644 (file)
@@ -444,19 +444,21 @@ seldsk:
        or      h\r
        ret     z               ; if no entry in table, no disk\r
 \r
-       ld      a,e             ; examine login bit\r
-       and     1\r
-       ret     nz\r
-\r
-       push    ix\r
-       ld      ix,(@xdph)\r
-       ld      a,(ix-2)\r
-       ld      (@RDRV),a       ; get relative drive\r
-       ld      l,(ix-6)        ; get address of LOGIN routine\r
-       ld      h,(ix-5)\r
-       ex      (sp),ix\r
-       pop     de\r
+       bit     0,e             ; login bit to zero flag\r
+       ex      de,hl\r
+       ld      hl,-2           ; get relative drive\r
+       add     hl,de\r
+       ld      a,(hl)\r
+       ld      (@RDRV),a\r
+       jr      nz,notfirst     ; examine login bit\r
+       ld      hl,-6\r
+       add     hl,de\r
+       ld      a,(hl)\r
+       inc     hl\r
+       ld      h,(hl)\r
+       ld      l,a\r
        call    ipchl           ; call LOGIN\r
+notfirst:\r
        ld      hl,(@xdph)      ; recover DPH pointer\r
        ret\r
 \r
index 8157abab67fa83073137b0b48d8d7e3514c54394..d9300aad93c50e214af57644d741eeece7418b24 100644 (file)
@@ -99,7 +99,7 @@ add_hla:
 ;--------------------------------------------------------------------
 ; rounded div 32 by 16 bit
 ;
-;      HLDE:   Dividend (x)
+;      DEHL:   Dividend (x)
 ;      BC:     Divisor  (y)
 ;    return:
 ;      HLDE:   Rounded Quotient (q)