Browse Source

Slightly better handling of low HBIOS heap memory

CBIOS reports *** HBIOS Heap Overflow, when the HBIOS is big (i.e. lots of included drivers)

Trigger build failure when CCP will not fit in heap.
Slightly more informative CBIOS error message
patch
b1ackmai1er 3 years ago
parent
commit
e7ab778929
  1. 5
      Source/CBIOS/cbios.asm
  2. 10
      Source/HBIOS/hbios.asm

5
Source/CBIOS/cbios.asm

@ -2381,7 +2381,7 @@ INIT3:
;
ERR_BIOMEM:
CALL NEWLINE2 ; FORMATTING
LD DE,STR_BIOMEM ; HBIOS HEAP MEM OVERFLOW
LD DE,STR_HEAPOVF ; HBIOS HEAP MEM OVERFLOW
CALL WRITESTR ; TELL THE USER
CALL PANIC ; AND GRIND TO A SCREACHING HALT
;
@ -3436,7 +3436,7 @@ STR_INITRAMDISK .DB "Formatting RAMDISK...$"
STR_LDR2 .DB "\r\n"
STR_LDR .DB "\r\n $"
STR_DPHINIT .DB "Configuring Drives...$"
STR_HEAPOVF .DB " *** Insufficient Memory ***$"
STR_HEAPOVF .DB " *** Insufficient HBIOS Heap Memory ***$"
STR_INVMED .DB " *** Invalid Device ID ***$"
STR_VERMIS .DB 7,"*** WARNING: HBIOS/CBIOS Version Mismatch ***$"
STR_MEMFREE .DB " Disk Buffer Bytes Free$"
@ -3444,7 +3444,6 @@ STR_CPM .DB "CP/M-80 v2.2$"
STR_ZSDOS .DB "ZSDOS v1.1$"
STR_TPA1 .DB ", $"
STR_TPA2 .DB "K TPA$"
STR_BIOMEM .DB "*** HBIOS Heap Overflow ***$"
#IFDEF PLTUNA
INIBUF .FILL 512,0 ; LOCATION OF TEMP WORK BUF DURING INIT (512 BYTES)

10
Source/HBIOS/hbios.asm

@ -7305,6 +7305,16 @@ SLACK .EQU BNKTOP - $
.ECHO "HBIOS space remaining: "
.ECHO SLACK
.ECHO " bytes.\n"
#IF (SLACK<0)
.ECHO "*** ERROR: HBIOS too big.\n"
!!! ; FORCE AN ASSEMBLY ERROR
#ENDIF
;
#IF (CCP_SIZ > SLACK)
.ECHO "*** ERROR: Insufficient space for CBIOS Cache.\n"
!!! ; FORCE AN ASSEMBLY ERROR
#ENDIF
;
#IFDEF ROMBOOT
#IF (ROMSIZE > 0)

Loading…
Cancel
Save