Browse Source

Update hbios.asm

pull/247/head
b1ackmai1er 4 years ago
parent
commit
3582fcedc5
  1. 27
      Source/HBIOS/hbios.asm

27
Source/HBIOS/hbios.asm

@ -515,18 +515,17 @@ HBX_ROM:
JP P,HBX_ROM ; BIT 7 INDICATES RAM
OUT (MPCL_ROM),A ; ENSURE ROM PAGE OUT OF MEMORY BEFORE SWITCH
;
PUSH HL ; FORCE TOP 32K
LD HL,(HCB + HCB_RAMBANKS) ; TO BE IN FIRST CHIP
SRL L
XOR L ; MAYBE PRECALCULATE THIS
POP HL ; AT INITIALIZATION
HBX_MMMSK .EQU $+1 ; FORCE TOP 32K ; MASK POPULATED
XOR %00000000 ; TO BE IN FIRST CHIP ; DURING INITIALIZATION
;
;#IF (RAMSIZE == 256)
; XOR %00000100 ; TOP 32K IS ALWAYS IN FIRST CHIP ; 256K = 8 banks = 00001000
; XOR %00000100 ; TOP 32K IS ALWAYS IN FIRST CHIP
;#ENDIF
;
;#IF (RAMSIZE == 1024)
; XOR %00010000 ; TOP 32K IS ALWAYS IN FIRST CHIP ; 1024K = 32 banks = 00100000
; XOR %00010000 ; TOP 32K IS ALWAYS IN FIRST CHIP
;#ENDIF
;
OUT (MPCL_RAM),A ; SET RAM PAGE SELECTOR
@ -534,7 +533,7 @@ HBX_ROM:
HBX_ROM:
OUT (MPCL_RAM),A ; ENSURE RAM PAGE OUT OF MEMORY BEFORE SWITCH
OUT (MPCL_ROM),A ; SET ROM PAGE SELECTOR
;
HBX_RAMX:
;
#IF (INTMODE == 1)
@ -1315,6 +1314,18 @@ Z280_INITZ:
LD BC,HBX_SIZ
LDIR
;
; RUNTIME MEMORY SIZE ADJUSTMENT
;
#IF (MEMMGR == MM_MBC)
LD HL,HCB + HCB_RAMBANKS ; IN NUMBER OF RAMBANKS DETECTED FOR MBC
LD A,%11101011 ; IS 4 (128KB) OR 16 (512KB) THEN
AND (HL) ; ZERO THE LAST BANK MASK OTHERWISE
JR Z,MB128512 ; CALCULATE THE LAST BANK MASK (BANKS/2)
RRA ; 256K = %00000100, 1024K = %00010000
MB128512:
LD (HBX_MMMSK),A
#ENDIF
;
; IF APPBOOT, RESTORE CURRENT BANK ID
;
#IFDEF APPBOOT

Loading…
Cancel
Save