Browse Source
Merge pull request #75 from wwarthen/master
BPBIOS Updates
pull/78/head
b1ackmai1er
6 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with
43 additions and
9 deletions
-
Source/BPBIOS/@WBW Z3ENV.txt
-
Source/BPBIOS/hbios.z80
-
Source/BPBIOS/romwbw-mk4.lib
-
Source/BPBIOS/romwbw-sim.lib
-
Source/HBIOS/asci.asm
-
Source/HBIOS/hbios.asm
|
|
|
@ -75,7 +75,7 @@ should be consulted to understand these. The build process used here |
|
|
|
produces several different configurations which can be loaded at runtime. |
|
|
|
The original distributed memory segment configuration occupies the top |
|
|
|
of memory which, unfortunately, conflicts with the RomWBW HBIOS need to |
|
|
|
occupt this space. |
|
|
|
occupy this space. |
|
|
|
|
|
|
|
Although RomWBW HBIOS is implemented in it's own dedicated memory bank, it |
|
|
|
requires a small proxy at the top of memory which acts as a mechansim to |
|
|
|
|
|
|
|
@ -194,6 +194,9 @@ HBX_ROM: |
|
|
|
|
|
|
|
IF MK4 |
|
|
|
RLCA |
|
|
|
JR NC,HBX_BNKSEL1 |
|
|
|
XOR 00100001B |
|
|
|
HBX_BNKSEL1: |
|
|
|
RLCA |
|
|
|
RLCA |
|
|
|
OUT0 (CPU_BBR),A |
|
|
|
|
|
|
|
@ -26,15 +26,15 @@ HBCLK EQU YES ; HBIOS clock driver |
|
|
|
; |
|
|
|
; Set HB_IODEV to appropriate console device |
|
|
|
; |
|
|
|
HB_IODEV EQU 0 |
|
|
|
HB_IODEV EQU 0 ; Assume we want to use first HBIOS serial device |
|
|
|
; |
|
|
|
; Set HB_HDDEV to appropriate hard disk driver |
|
|
|
; |
|
|
|
HB_HDDEV EQU 2 |
|
|
|
HB_HDDEV EQU 2 ; Assumes disk device #2 is first hard disk device |
|
|
|
; |
|
|
|
; Set HB_MDDEV to appropriate memory disk driver |
|
|
|
; |
|
|
|
HB_MDDEV EQU 0 |
|
|
|
HB_MDDEV EQU 0 ; Assumes disk device #0 is ROM disk device |
|
|
|
; |
|
|
|
; RAM/ROM disk sizes expressed as count of 2K blocks |
|
|
|
; |
|
|
|
@ -66,3 +66,17 @@ MEMTOP EQU 0FFE0H - 1 ; Start of HBIOS 32 byte control block |
|
|
|
ELSE |
|
|
|
MEMTOP EQU HBLOC - 1 ; Start of HBIOS 512 byte proxy |
|
|
|
ENDIF |
|
|
|
|
|
|
|
IF INTPXY |
|
|
|
HB_EI MACRO |
|
|
|
ENDM |
|
|
|
HB_DI MACRO |
|
|
|
ENDM |
|
|
|
ELSE |
|
|
|
HB_EI MACRO |
|
|
|
EI |
|
|
|
ENDM |
|
|
|
HB_DI MACRO |
|
|
|
DI |
|
|
|
ENDM |
|
|
|
ENDIF |
|
|
|
|
|
|
|
@ -26,15 +26,15 @@ HBCLK EQU YES ; HBIOS clock driver |
|
|
|
; |
|
|
|
; Set HB_IODEV to appropriate console device |
|
|
|
; |
|
|
|
HB_IODEV EQU 0 |
|
|
|
HB_IODEV EQU 0 ; Assume we want to use first HBIOS serial device |
|
|
|
; |
|
|
|
; Set HB_HDDEV to appropriate hard disk driver |
|
|
|
; |
|
|
|
HB_HDDEV EQU 2 |
|
|
|
HB_HDDEV EQU 2 ; Assumes disk device #2 is first hard disk device |
|
|
|
; |
|
|
|
; Set HB_MDDEV to appropriate memory disk driver |
|
|
|
; |
|
|
|
HB_MDDEV EQU 0 |
|
|
|
HB_MDDEV EQU 0 ; Assumes disk device #0 is ROM disk device |
|
|
|
; |
|
|
|
; RAM/ROM disk sizes expressed as count of 2K blocks |
|
|
|
; |
|
|
|
@ -66,3 +66,17 @@ MEMTOP EQU 0FFE0H - 1 ; Start of HBIOS 32 byte control block |
|
|
|
ELSE |
|
|
|
MEMTOP EQU HBLOC - 1 ; Start of HBIOS 512 byte proxy |
|
|
|
ENDIF |
|
|
|
|
|
|
|
IF INTPXY |
|
|
|
HB_EI MACRO |
|
|
|
ENDM |
|
|
|
HB_DI MACRO |
|
|
|
ENDM |
|
|
|
ELSE |
|
|
|
HB_EI MACRO |
|
|
|
EI |
|
|
|
ENDM |
|
|
|
HB_DI MACRO |
|
|
|
DI |
|
|
|
ENDM |
|
|
|
ENDIF |
|
|
|
|
|
|
|
@ -520,8 +520,10 @@ ASCI_INITGO: |
|
|
|
INC C ; ... STAT REG, B IS STILL 0 |
|
|
|
#IF (INTMODE > 0) |
|
|
|
LD A,$08 ; SET RIE BIT ON |
|
|
|
OUT (C),A ; WRITE STAT REG |
|
|
|
#ELSE |
|
|
|
XOR A ; CLEAR RIE/TIE |
|
|
|
#ENDIF |
|
|
|
OUT (C),A ; WRITE STAT REG |
|
|
|
LD A,$0E ; BUMP TO |
|
|
|
ADD A,C ; ... ASEXT REG |
|
|
|
LD C,A ; PUT IN C FOR I/O, B IS STILL 0 |
|
|
|
|
|
|
|
@ -775,6 +775,7 @@ HB_START: |
|
|
|
; MASK OFF TIMER INTERRUPTS |
|
|
|
XOR A |
|
|
|
OUT0 (Z180_TCR),A |
|
|
|
OUT0 (Z180_ITC),A |
|
|
|
|
|
|
|
; SET DEFAULT CPU CLOCK MULTIPLIERS (XTAL / 2) |
|
|
|
; |
|
|
|
@ -905,7 +906,7 @@ HB_START1: ; BNKCALL ARRIVES HERE, BUT NOW RUNNING IN RAM BANK |
|
|
|
LD ($0039),HL |
|
|
|
#ELSE |
|
|
|
; RETI ($ED, $4D) IF NON-INTERRUPT MODE |
|
|
|
LD HL,($0038) |
|
|
|
LD HL,$0038 |
|
|
|
LD (HL),$ED |
|
|
|
INC HL |
|
|
|
LD (HL),$4D |
|
|
|
|