mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 14:11:48 -06:00
Cleanup
This commit is contained in:
@@ -27,7 +27,6 @@
|
||||
; ToDo:
|
||||
; 1) Do something to prevent assigning slices when device does not support them
|
||||
; 2) ASSIGN C: causes drive map to be reinstalled unnecessarily
|
||||
; 3) Need to find a way to verify RomWBW under CP/M 3
|
||||
;_______________________________________________________________________________
|
||||
;
|
||||
;===============================================================================
|
||||
@@ -106,7 +105,6 @@ init:
|
||||
ld (cpmver),hl ; save it
|
||||
ld a,l ; low byte
|
||||
cp $30 ; CP/M 3.0?
|
||||
jp nc,initcpm3 ; handle CP/M 3.0 or greater
|
||||
;
|
||||
; get location of config data and verify integrity
|
||||
ld hl,stamp ; HL := adr or RomWBW zero page stamp
|
||||
@@ -146,6 +144,11 @@ init:
|
||||
inc hl ; ... into DE to get
|
||||
ld d,(hl) ; ... DPB map pointer
|
||||
ld (dpbloc),de ; and save it
|
||||
;
|
||||
; test for CP/M 3 and branch if so
|
||||
ld a,(cpmver) ; low byte of cpm version
|
||||
cp $30 ; CP/M 3.0?
|
||||
jp nc,initcpm3 ; handle CP/M 3.0 or greater
|
||||
;
|
||||
; make a local working copy of the drive map
|
||||
ld hl,(maploc) ; copy from CBIOS drive map
|
||||
|
||||
@@ -131,7 +131,7 @@ STPSIZ .EQU $ - STPIMG
|
||||
;
|
||||
; The following section contains key information and addresses for the
|
||||
; RomWBW CBIOS. A pointer to the start of this section is stored with
|
||||
; with the ZPX data in page zero at $44 (see above).
|
||||
; with the CBX data in page zero at $44 (see above).
|
||||
;
|
||||
CBX:
|
||||
DEVMAPADR .DW DEVMAP ; DEVICE MAP ADDRESS
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
extrn dph0
|
||||
extrn @dtbl,@ctbl
|
||||
|
||||
include ver.inc
|
||||
|
||||
bdos equ 5
|
||||
|
||||
if banked
|
||||
@@ -25,14 +27,11 @@ tpa$bank equ 0
|
||||
?init:
|
||||
call ?mvinit
|
||||
|
||||
; Clear reserved area in page zero
|
||||
xor a
|
||||
ld hl,40h
|
||||
ld b,10h
|
||||
init$1:
|
||||
ld (hl),a
|
||||
inc hl
|
||||
djnz init$1
|
||||
; Install RomWBW CBIOS stamp in page zero
|
||||
ld hl,stpimg
|
||||
ld de,stploc
|
||||
ld bc,stpsiz
|
||||
ldir
|
||||
|
||||
if banked
|
||||
|
||||
@@ -382,12 +381,13 @@ read:
|
||||
ld c,20
|
||||
jp bdos
|
||||
|
||||
|
||||
signon$msg db 13,10,'CP/M v3.0'
|
||||
if banked
|
||||
db ' [BANKED]'
|
||||
endif
|
||||
db ' for RomWBW HBIOS v2.9.2',13,10,13,10,0
|
||||
db ' on HBIOS v'
|
||||
biosver
|
||||
db 13,10,13,10,0
|
||||
|
||||
ccp$msg db 13,10,'BIOS Err on '
|
||||
ccp$msg$drv db '?'
|
||||
@@ -401,4 +401,27 @@ fcb$nr db 0,0,0
|
||||
@bootdu db 0
|
||||
hdspv db 2 ; slices per volume for hard disks (must be >= 1)
|
||||
|
||||
; RomWBW CBIOS page zero stamp starts at $40
|
||||
; $40-$41: Marker ('W', ~'W')
|
||||
; $42-$43: Version bytes: major/minor, update/patch
|
||||
; $44-$45: CBIOS Extension Info address
|
||||
;
|
||||
stploc equ 40h
|
||||
stpimg db 'W',~'W' ; marker
|
||||
db rmj << 4 | rmn ; first byte of version info
|
||||
db rup << 4 | rtp ; second byte of version info
|
||||
dw cbx ; address of cbios ext data
|
||||
stpsiz equ $ - stpimg
|
||||
|
||||
;
|
||||
; The following section contains key information and addresses for the
|
||||
; RomWBW CBIOS. A pointer to the start of this section is stored with
|
||||
; with the CBX data in page zero at $44 (see above).
|
||||
;
|
||||
cbx:
|
||||
devmapadr dw 0 ; device map address
|
||||
drvtbladr dw @dtbl ; drive map address (filled in later)
|
||||
dphtbladr dw dph0 ; dpb map address
|
||||
cbxsiz equ $ - cbx
|
||||
;
|
||||
end
|
||||
|
||||
7
Source/CPM3/ver.inc
Normal file
7
Source/CPM3/ver.inc
Normal file
@@ -0,0 +1,7 @@
|
||||
rmj equ 2
|
||||
rmn equ 9
|
||||
rup equ 2
|
||||
rtp equ 0
|
||||
biosver macro
|
||||
db "2.9.2-pre.21"
|
||||
endm
|
||||
Reference in New Issue
Block a user