public ?mltio,?flush,?mov,?tim,?bnksl,?stbnk,?xmov\r
\r
extrn bs$stack\r
- extrn _b0call\r
+ extrn _b0hlcall\r
\r
\r
; BIOS Jump vector.\r
?ioctl jp ioctl ;\r
\r
\r
- rept 48\r
+ rept 32\r
db '|'\r
endm\r
boot$stack:\r
out0 (cbr),a\r
ld a,USR$CBAR\r
out0 (cbar),a\r
- ld sp,boot$stack\r
+ ld sp,bs$stack\r
\r
call hwinit ; first time hardware initialisation\r
\r
cseg ; following in resident memory\r
\r
boot$1:\r
+ ld sp,boot$stack\r
call set$jumps\r
call ?ldccp ; fetch CCP for first time\r
jp ccp\r
ld a,(hl)\r
ld (@RDRV),a\r
jr nz,notfirst ; examine login bit\r
- ld hl,-6\r
+\r
+ ld hl,-6 ; call LOGIN\r
add hl,de\r
ld a,(hl)\r
inc hl\r
ld h,(hl)\r
ld l,a\r
- ld (bs$stack),sp\r
- ld sp,bs$stack\r
- call ijphl ; call LOGIN\r
- ld sp,(bs$stack)\r
+ call _b0hlcall\r
+\r
notfirst:\r
ld hl,(@xdph) ; recover DPH pointer\r
ret\r
; extended disk parameter header (XDPH).\r
\r
read:\r
- ld (bs$stack),sp\r
- ld sp,bs$stack\r
ld a,1\r
ld (@op),a\r
ld ix,(@xdph) ; get drive descriptor pointer\r
ld l,(ix-8) ; get read routine entry\r
ld h,(ix-7)\r
- call ijphl ; call LOGIN\r
- ld sp,(bs$stack)\r
+\r
+ call _b0hlcall\r
ret\r
\r
; WRITE\r
; extended disk parameter header (XDPH).\r
\r
write:\r
- ld (bs$stack),sp\r
- ld sp,bs$stack\r
ld a,2\r
ld (@op),a\r
ld ix,(@xdph) ; get drive descriptor pointer\r
ld l,(ix-10) ; get write routine entry\r
ld h,(ix- 9)\r
- call ijphl ; call LOGIN\r
- ld sp,(bs$stack)\r
+\r
+ call _b0hlcall\r
ret\r
\r
\r