Browse Source

Fix for CP/M 3 Floppy Boot

- CP/M 3 ldrbios had not been properly updated for device type id change.
- ASSIGN command was not handling DPB's correctly due to device type id change.
pull/372/head v3.4.0-dev.9
Wayne Warthen 2 years ago
parent
commit
b175808a92
  1. 11
      Source/Apps/assign.asm
  2. 3
      Source/CPM3/biosldr.z80
  3. 2
      Source/ver.inc
  4. 2
      Source/ver.lib

11
Source/Apps/assign.asm

@ -32,6 +32,7 @@
; Use CPM3 BDOS direct BIOS call to get DRVTBL adr ; Use CPM3 BDOS direct BIOS call to get DRVTBL adr
; 2023-06-19 [WBW] Update for revised DIODEVICE API ; 2023-06-19 [WBW] Update for revised DIODEVICE API
; 2023-09-19 [WBW] Added CHUSB & CHSD device support ; 2023-09-19 [WBW] Added CHUSB & CHSD device support
; 2023-10-13 [WBW] Fixed DPH creation to select correct DPB
;_______________________________________________________________________________ ;_______________________________________________________________________________
; ;
; ToDo: ; ToDo:
@ -665,10 +666,10 @@ makdphwbw: ; determine appropriate dpb (WBW mode, unit number in A)
jr makdph0 ; jump ahead jr makdph0 ; jump ahead
makdph00: makdph00:
ld e,6 ; assume floppy ld e,6 ; assume floppy
cp $10 ; floppy?
cp $01 ; floppy?
jr z,makdph0 ; yes, jump ahead jr z,makdph0 ; yes, jump ahead
ld e,3 ; assume ram floppy ld e,3 ; assume ram floppy
cp $20 ; ram floppy?
cp $02 ; ram floppy?
jr z,makdph0 ; yes, jump ahead jr z,makdph0 ; yes, jump ahead
ld e,4 ; everything else is assumed to be hard disk ld e,4 ; everything else is assumed to be hard disk
jr makdph0 ; yes, jump ahead jr makdph0 ; yes, jump ahead
@ -1935,13 +1936,13 @@ stack .equ $ ; stack top
; Messages ; Messages
; ;
indent .db " ",0 indent .db " ",0
msgban1 .db "ASSIGN v1.7 for RomWBW CP/M ",0
msgban1 .db "ASSIGN v1.8 for RomWBW CP/M ",0
msg22 .db "2.2",0 msg22 .db "2.2",0
msg3 .db "3",0 msg3 .db "3",0
msbban2 .db ", 19-Sep-2023",0
msbban2 .db ", 13-Oct-2023",0
msghb .db " (HBIOS Mode)",0 msghb .db " (HBIOS Mode)",0
msgub .db " (UBIOS Mode)",0 msgub .db " (UBIOS Mode)",0
msgban3 .db "Copyright 2021, Wayne Warthen, GNU GPL v3",0
msgban3 .db "Copyright 2023, Wayne Warthen, GNU GPL v3",0
msguse .db "Usage: ASSIGN D:[=[{D:|<device>[<unitnum>]:[<slicenum>]}]][,...]",13,10 msguse .db "Usage: ASSIGN D:[=[{D:|<device>[<unitnum>]:[<slicenum>]}]][,...]",13,10
.db " ex. ASSIGN (display all active assignments)",13,10 .db " ex. ASSIGN (display all active assignments)",13,10
.db " ASSIGN /? (display version and usage)",13,10 .db " ASSIGN /? (display version and usage)",13,10

3
Source/CPM3/biosldr.z80

@ -346,8 +346,7 @@ read:
ld b,17h ; HBIOS DEVICE function ld b,17h ; HBIOS DEVICE function
rst 08 ; Do it, D=device type rst 08 ; Do it, D=device type
ld a,d ; put in accum ld a,d ; put in accum
and 0F0h ; isolate high bits
cp 10h ; floppy?
cp 01h ; floppy?
jr nz,read2 ; if not, do LBA i/o jr nz,read2 ; if not, do LBA i/o
; Floppy I/O ; Floppy I/O

2
Source/ver.inc

@ -2,7 +2,7 @@
#DEFINE RMN 4 #DEFINE RMN 4
#DEFINE RUP 0 #DEFINE RUP 0
#DEFINE RTP 0 #DEFINE RTP 0
#DEFINE BIOSVER "3.4.0-dev.8"
#DEFINE BIOSVER "3.4.0-dev.9"
#define rmj RMJ #define rmj RMJ
#define rmn RMN #define rmn RMN
#define rup RUP #define rup RUP

2
Source/ver.lib

@ -3,5 +3,5 @@ rmn equ 4
rup equ 0 rup equ 0
rtp equ 0 rtp equ 0
biosver macro biosver macro
db "3.4.0-dev.8"
db "3.4.0-dev.9"
endm endm

Loading…
Cancel
Save