Browse Source

Minor Cosmetic Tweaks

patch
Wayne Warthen 4 years ago
parent
commit
756f538a70
  1. 67
      Source/HBIOS/hbios.asm
  2. 2
      Source/HBIOS/std.asm
  3. 2
      Source/HDIAG/util.asm
  4. 2
      Source/ver.inc
  5. 2
      Source/ver.lib

67
Source/HBIOS/hbios.asm

@ -514,20 +514,9 @@ HBX_ROM:
OR A ; SET FLAGS
JP P,HBX_ROM ; BIT 7 INDICATES RAM
OUT (MPCL_ROM),A ; ENSURE ROM PAGE OUT OF MEMORY BEFORE SWITCH
;
HBX_MMMSK .EQU $+1 ; FORCE TOP 32K ; MASK POPULATED
; SEE MBC RUNTIME MEMORY SIZE ADJUSTMENT
HBX_MBCMSK .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
;#ENDIF
;
;#IF (RAMSIZE == 1024)
; XOR %00010000 ; TOP 32K IS ALWAYS IN FIRST CHIP
;#ENDIF
;
OUT (MPCL_RAM),A ; SET RAM PAGE SELECTOR
JR HBX_RAMX
HBX_ROM:
@ -1273,6 +1262,9 @@ Z280_INITZ:
LD A,1
OUT (MPGENA),A
#ENDIF
;
; AT THIS POINT, RAM SHOULD BE AVAILABLE IN THE COMMON BANK
; (TOP 32K).
;
DIAG(%00000011)
;
@ -1314,16 +1306,34 @@ Z280_INITZ:
LD BC,HBX_SIZ
LDIR
;
; RUNTIME MEMORY SIZE ADJUSTMENT
; THIS IS WHERE WE SHOULD PROBE FOR THE ACTUAL NUMBER OF RAM
; BANKS AVAILABLE IN THE SYSTEM. THE PROBE CODE WOULD NEED
; TO BE COPIED TO AND RUN FROM THE COMMON RAM BANK.
;
; MBC RUNTIME MEMORY SIZE ADJUSTMENT
;
; THE MBC RAM BOARD CAN CONTAIN 1 OR 2 RAM CHIPS. THEY CAN BE
; EITHER 128K OR 512K EACH. SO THE MBC RAM BAORD CAN HAVE A
; TOTAL OF 128K, 256K, 512K, OR 1024K. THE COMMON (HIMEM) RAM
; IS ALWAYS MAPPED TO THE LAST 32K OF THE FIRST CHIP ON THE BOARD.
; IF THERE ARE TWO CHIPS ON THE BOARD, THIS MEANS THE COMMON
; BANK WILL APPEAR IN THE "MIDDLE" OF THE PHYSICAL RAM BANKS.
; ROMWBW NEEDS THE COMMON BANK TO BE AT THE LAST BANK OF PHYSICAL
; RAM IN ORDER TO HAVE SEQUENTIAL RAM BANKS AVAILABLE FOR THE
; RAM DISK. TO WORK AROUND THIS, WE FLIP THE HIGH BIT OF THE
; BANK ID FOR AN MBC SYSTEM IFF IT HAS 2 CHIPS (256K OR 1024K).
; THE CODE BELOW GENERATES THE CORRECT MASK TO ACCOMPLISH THIS
; AND THEN POKES THE MASK INTO AN XOR INSTRUCTION IN THE MBC
; MEMORY MANAGER.
;
#IF (MEMMGR == MM_MBC)
LD HL,HCB + HCB_RAMBANKS ; IN NUMBER OF RAMBANKS DETECTED FOR MBC
LD HL,CB_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)
JR Z,MBC_SINGLE ; CALCULATE THE LAST BANK MASK (BANKS/2)
RRA ; 256K = %00000100, 1024K = %00010000
MB128512:
LD (HBX_MMMSK),A
MBC_SINGLE:
LD (HBX_MBCMSK),A
#ENDIF
;
; IF APPBOOT, RESTORE CURRENT BANK ID
@ -1349,6 +1359,7 @@ MB128512:
LD DE,0
LD BC,$8000
CALL HBX_BNKCPY
;
#IF (1)
;
; POPULATE THE CRITICAL RAM BANK NUMBERS.
@ -1379,6 +1390,7 @@ CB_IDS: LD (HL),A ; POPULATE CB_BIDCOM
DEC A
SUB TOT_RAM_RB
LD (HL),A
;
#ENDIF
;
; TRANSITION TO HBIOS IN RAM BANK
@ -2091,7 +2103,7 @@ HB_Z280BUS1:
CALL PRTSTRD
.TEXT "KB ROM, $"
;
LD HL,(HCB + HCB_RAMBANKS) ; GET NUMBER OF BANKS IN L
LD HL,(CB_RAMBANKS) ; GET NUMBER OF BANKS IN L
LD H,0 ; CALCULATE RAM SIZE
ADD HL,HL
ADD HL,HL ; X4
@ -2103,6 +2115,18 @@ HB_Z280BUS1:
CALL PRTSTRD
.TEXT "KB RAM$"
;
#IF 0
;
; DIAGNOSTIC DISPLAY OF BANK IDS IN HCB
;
CALL PRTSTRD
.TEXT ", BANK IDS:$"
LD DE,CB_BIDCOM
LD A,8
CALL PRTHEXBUF
;
#ENDIF
;
#IF (CPUFAM == CPU_Z280)
CALL NEWLINE
PRTS("Z280: $")
@ -3568,8 +3592,9 @@ SYS_GETCPUINFO:
; E: COUNT OF RAM BANKS
;
SYS_GETMEMINFO:
LD D,ROMSIZE / 32
LD A,(HCB + HCB_RAMBANKS)
LD A,(CB_ROMBANKS)
LD D,A
LD A,(CB_RAMBANKS)
LD E,A
XOR A
RET

2
Source/HBIOS/std.asm

@ -507,7 +507,7 @@ BID_ROMN .EQU (BID_ROM0 + ((ROMSIZE / 32) - 1))
BID_RAMN .EQU (BID_RAM0 + ((RAMSIZE / 32) - 1))
;
BID_RAMD0 .EQU BID_RAM0 ; FIRST RAM DRIVE BANK ^ RAM
BID_RAMDN .EQU BID_RAMN - 8 ; LAST RAM DRIVE BANK | DRIVE
BID_RAMDN .EQU BID_RAMN - TOT_RAM_RB ; LAST RAM DRIVE BANK | DRIVE
; ; OS BUFFERS CP/M3? -+ THESE
; ; OS BUFFERS CP/M3? | MAKE
; ; OS BUFFERS CP/M3? | UP

2
Source/HDIAG/util.asm

@ -14,7 +14,7 @@ prtstr:
call cout ; display character
jr prtstr ; loop till done
;
; Print a string from a lookup table pointed to by HL, entry A
; Print a string from a lookup table pointed to by HL, index A
; with a prefix string at DE. HL, DE, and A are trashed.
;
prtstrtbl:

2
Source/ver.inc

@ -2,4 +2,4 @@
#DEFINE RMN 1
#DEFINE RUP 1
#DEFINE RTP 0
#DEFINE BIOSVER "3.1.1-pre.118"
#DEFINE BIOSVER "3.1.1-pre.119"

2
Source/ver.lib

@ -3,5 +3,5 @@ rmn equ 1
rup equ 1
rtp equ 0
biosver macro
db "3.1.1-pre.118"
db "3.1.1-pre.119"
endm

Loading…
Cancel
Save