Browse Source

Update biosldr.z80

pull/90/head
Wayne Warthen 6 years ago
parent
commit
6ea1a8f840
  1. 42
      Source/CPM3/biosldr.z80

42
Source/CPM3/biosldr.z80

@ -55,34 +55,47 @@ boot:
if cmdline if cmdline
boot1:
ld (stksav),sp ld (stksav),sp
ld sp,stack ld sp,stack
ld de,prompt
boot1:
ld de,msgunit
call writestr call writestr
call cin call cin
push af push af
call cout call cout
ld de,crlf
call writestr
pop af pop af
ld sp,(stksav)
sub '0' sub '0'
jr c,boot1 jr c,boot1
cp 10 ; !!! Need to test against max disk unit num !!! cp 10 ; !!! Need to test against max disk unit num !!!
jr nc,boot1 jr nc,boot1
ld (unit),a ld (unit),a
ld de,msgslc
call writestr
call cin
push af
call cout
pop af
sub '0'
jr c,boot1
cp 10
jr nc,boot1
ld (slice),a
ld de,crlf
call writestr
ld sp,(stksav)
ld bc,0F9E0h ; HBIOS func: set boot info ld bc,0F9E0h ; HBIOS func: set boot info
ld d,a ; Unit
ld e,0 ; Slice
ld l,0 ; Bank
ld a,(unit) ; get unit
ld d,a ; put in D
ld a,(slice) ; get slice
ld e,a ; put in E
ld l,0 ; Bank is always zero
call 0FFF0h ; do it call 0FFF0h ; do it
else else
@ -331,7 +344,8 @@ mult8_noadd:
djnz mult8_loop djnz mult8_loop
ret ret
prompt db 13,10,'Boot CP/M 3 from Disk Unit: $'
msgunit db 13,10,13,10,'Boot CP/M 3 from Disk Unit: $'
msgslc db ' Slice: $'
crlf db 13,10,'$' crlf db 13,10,'$'
dpb$start: dpb$start:
@ -506,4 +520,4 @@ dtabuf ds 512 ; sector buffer
stack equ $ stack equ $
stksav dw 0 stksav dw 0
end
end

Loading…
Cancel
Save