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
;--------------------------------------------------------------------
; rounded div 32 by 16 bit
;
-; HLDE: Dividend (x)
+; DEHL: Dividend (x)
; BC: Divisor (y)
; return:
; HLDE: Rounded Quotient (q)