diff --git a/Source/HBIOS/hbios.asm b/Source/HBIOS/hbios.asm index 03a58402..7dd55ba6 100644 --- a/Source/HBIOS/hbios.asm +++ b/Source/HBIOS/hbios.asm @@ -273,7 +273,7 @@ CB_DIAGLVL .DB DIAGLVL ; ROMWBW HBIOS DIAGNOSTIC LEVEL CB_HEAP .DW 0 CB_HEAPTOP .DW 0 ; -; STANDARD BANK ID'S START AT $D8 +; STANDARD BANK ID'S START AT $D8. DEFAULT VALUES FOR 512KB SYSTEM WITH NO RESERVED BANKS ; .FILL (HCB + $D8 - $),0 ; @@ -1060,6 +1060,7 @@ HB_IVT0F: JP HB_BADINT \ .DB 0 ;================================================================================================== ; HB_START: +; #IFDEF APPBOOT #IF (MEMMGR == MM_Z280) LD A,%00000001 @@ -1076,7 +1077,7 @@ HB_START: Z280_BOOTERR .TEXT "\r\n\r\n*** Application mode boot not supported under Z280 native memory management!!!\r\n\r\n$" #ENDIF #ENDIF - +; DI ; NO INTERRUPTS IM 1 ; INTERRUPT MODE 1 ; @@ -1337,6 +1338,38 @@ Z280_INITZ: LD DE,0 LD BC,$8000 CALL HBX_BNKCPY +#IF (1) +; +; POPULATE THE CRITICAL RAM BANK NUMBERS. +; +; ASSUME THAT CB_RAMBANKS IS THE NUMBER OF 32K RAM BANKS THAT HAS BEEN SET EITHER +; AT ASSEMBLY TIME OR BY PROBING THE ACTUAL AVAILABLE MEMORY (NOT IMPLEMENTED YET). +; + call dbg + LD A,(CB_RAMBANKS) ; CALCULATE START + DEC A ; RAMBANK AFTER + ADD A,($80 + (PLT_RAM_R / 32)) ; RESERVED BANKS +; + LD HL,CB_BIDCOM + LD B,4 +CB_IDS: LD (HL),A ; POPULATE CB_BIDCOM + INC HL ; POPULATE CB_BIDUSR + DEC A ; POPULATE CB_BIDBIOS + DJNZ CB_IDS ; POPULATE CB_BIDAUX + + LD A,(CB_BIDUSR) + LD (HB_SRCBNK),A ; POPULATE HB_SRCBNK + LD (HB_DSTBNK),A ; POPULATE HB_DSTBNK +; + LD A,+($80 + (PLT_RAM_R / 32)) ; POPULATE CB_BIDRAMD0 ; START RAMBANK + LD (HL),A + INC HL +; + LD A,(CB_RAMBANKS) ; POPULATE CB_BIDRAMDN ; END RAMBANK + DEC A + SUB TOT_RAM_RB + LD (HL),A +#ENDIF ; ; TRANSITION TO HBIOS IN RAM BANK ; diff --git a/Source/HBIOS/std.asm b/Source/HBIOS/std.asm index 1c52024d..2bde16ac 100644 --- a/Source/HBIOS/std.asm +++ b/Source/HBIOS/std.asm @@ -488,9 +488,6 @@ SYSTIM .SET TM_Z280 ; ; MEMORY BANK CONFIGURATION ; -RAMSIZE .SET 0 -;PLT_RAM_R .SET 0 ; 0K ; RESERVED RAM FOR EACH PLATFORM IS DEFINED IN ITS CONFIG FILE -;PLT_ROM_R .SET 0 ; 0K ; RESERVED ROM FOR EACH PLATFORM IS DEFINED IN ITS CONFIG FILE WBW_ROM_R .EQU 128 ; 128K ; RESERVED ROM REQUIRED FOR ROMWBW WBW_RAM_R .EQU 256 ; 256K ; RESERVED RAM REQUIRED FOR ROMWBW TOT_ROM_RB .EQU (PLT_ROM_R + WBW_ROM_R)/32 ; TOTAL ROM BANKS RESERVED