From 6ea1a8f840b020d304a9eae1543ff8e0fb1f85d8 Mon Sep 17 00:00:00 2001 From: Wayne Warthen Date: Wed, 19 Feb 2020 13:02:01 -0800 Subject: [PATCH] Update biosldr.z80 --- Source/CPM3/biosldr.z80 | 42 +++++++++++++++++++++++++++-------------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/Source/CPM3/biosldr.z80 b/Source/CPM3/biosldr.z80 index 87d3ff6a..2068d5f7 100644 --- a/Source/CPM3/biosldr.z80 +++ b/Source/CPM3/biosldr.z80 @@ -55,34 +55,47 @@ boot: if cmdline -boot1: ld (stksav),sp ld sp,stack - ld de,prompt +boot1: + ld de,msgunit call writestr - call cin - push af call cout - ld de,crlf - call writestr pop af - ld sp,(stksav) - sub '0' jr c,boot1 cp 10 ; !!! Need to test against max disk unit num !!! jr nc,boot1 - 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 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 else @@ -331,7 +344,8 @@ mult8_noadd: djnz mult8_loop 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,'$' dpb$start: @@ -506,4 +520,4 @@ dtabuf ds 512 ; sector buffer stack equ $ stksav dw 0 - end \ No newline at end of file + end