mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 22:43:15 -06:00
Support Font Data in ROM
Video soft font data was occupying a large amount of space in the HBIOS bank. This change moves the font data to a ROM bank by default. Thanks and credit to @b1ackmai1er who provided much of the code that originated this change. Co-Authored-By: b1ackmai1er <39449559+b1ackmai1er@users.noreply.github.com>
This commit is contained in:
@@ -7,49 +7,68 @@
|
||||
; FONTS.
|
||||
;
|
||||
; FOR NOW, WE ARE JUST INCLUDING 3 FONTS AND THEY ARE NOT COMPRESSED.
|
||||
; THESE THREE FONTS SHOULD ALWAYS RESULT IN AN 8K BINARY.
|
||||
;
|
||||
#INCLUDE "std.asm"
|
||||
;
|
||||
COMP .EQU $80 ; BIT MASK FOR COMPRESSED FONT
|
||||
RAW .EQU $00 ; BIT MASK FOR RAW FONT
|
||||
;
|
||||
; FONT INCLUSION CONTROLS. THE FMT_XXX SETTING CONTROLS WHETHER THE
|
||||
; FONT DATA WILL BE COMPRESSED OR NOT. GENERALLY, COMPRESSED IS USED
|
||||
; TO SAVE SPACE. THE 6X8 FONT IS AN EXCEPTION BECAUSE IT IS USED BY
|
||||
; THE TMS DRIVER WHICH RELOADS THE FONT ON-THE-FLY DURING SYSTEM
|
||||
; OPERATION. SEE TMS.ASM.
|
||||
;
|
||||
USEFONT6X8 .EQU TRUE
|
||||
FMT_6X8 .EQU RAW
|
||||
;
|
||||
USEFONT8X8 .EQU TRUE
|
||||
USEFONT8X11 .EQU FALSE
|
||||
FMT_8X8 .EQU COMP
|
||||
;
|
||||
USEFONT8X11 .EQU TRUE
|
||||
FMT_8X11 .EQU COMP
|
||||
;
|
||||
USEFONT8X16 .EQU TRUE
|
||||
FMT_8X16 .EQU COMP
|
||||
;
|
||||
.ORG FONTS_LOC
|
||||
;
|
||||
; FONT LOCATION MAP
|
||||
;
|
||||
#IF USEFONT6X8
|
||||
.DB FONTID_6X8
|
||||
.DB FONTID_6X8 | FMT_6X8
|
||||
.DW FONT6X8
|
||||
#ENDIF
|
||||
;
|
||||
#IF USEFONT8X8
|
||||
.DB FONTID_8X8
|
||||
.DB FONTID_8X8 | FMT_8X8
|
||||
.DW FONT8X8
|
||||
#ENDIF
|
||||
;
|
||||
#IF USEFONT8X11
|
||||
.DB FONTID_8X11
|
||||
.DB FONTID_8X11 | FMT_8X11
|
||||
.DW FONT8X11
|
||||
#ENDIF
|
||||
;
|
||||
#IF USEFONT8X16
|
||||
.DB FONTID_8X16
|
||||
.DB FONTID_8X16 | FMT_8X16
|
||||
.DW FONT8X16
|
||||
#ENDIF
|
||||
;
|
||||
.DB 0 ; END OF TABLE
|
||||
;
|
||||
;
|
||||
; INCLUDE ACTUAL FONT FILES
|
||||
;
|
||||
#IF USEFONT6X8
|
||||
.ECHO "FONT6X8: "
|
||||
FONT6X8:
|
||||
#INCLUDE "font6x8u.asm"
|
||||
#IF (FMT_6X8 == COMP)
|
||||
.ECHO "COMPRESSED "
|
||||
#INCLUDE "font6x8c.asm"
|
||||
#ELSE
|
||||
.ECHO "RAW "
|
||||
#INCLUDE "font6x8u.asm"
|
||||
#ENDIF
|
||||
.ECHO $ - FONT6X8
|
||||
.ECHO " BYTES\n"
|
||||
#ENDIF
|
||||
@@ -57,7 +76,13 @@ FONT6X8:
|
||||
#IF USEFONT8X8
|
||||
.ECHO "FONT8X8: "
|
||||
FONT8X8:
|
||||
#INCLUDE "font8x8u.asm"
|
||||
#IF (FMT_8X8 == COMP)
|
||||
.ECHO "COMPRESSED "
|
||||
#INCLUDE "font8x8c.asm"
|
||||
#ELSE
|
||||
.ECHO "RAW "
|
||||
#INCLUDE "font8x8u.asm"
|
||||
#ENDIF
|
||||
.ECHO $ - FONT8X8
|
||||
.ECHO " BYTES\n"
|
||||
#ENDIF
|
||||
@@ -65,7 +90,13 @@ FONT8X8:
|
||||
#IF USEFONT8X11
|
||||
.ECHO "FONT8X11: "
|
||||
FONT8X11:
|
||||
#INCLUDE "font8x11u.asm"
|
||||
#IF (FMT_8X11 == COMP)
|
||||
.ECHO "COMPRESSED "
|
||||
#INCLUDE "font8x11c.asm"
|
||||
#ELSE
|
||||
.ECHO "RAW "
|
||||
#INCLUDE "font8x11u.asm"
|
||||
#ENDIF
|
||||
.ECHO $ - FONT8X11
|
||||
.ECHO " BYTES\n"
|
||||
#ENDIF
|
||||
@@ -73,7 +104,13 @@ FONT8X11:
|
||||
#IF USEFONT8X16
|
||||
.ECHO "FONT8X16: "
|
||||
FONT8X16:
|
||||
#INCLUDE "font8x16u.asm"
|
||||
#IF (FMT_8X16 == COMP)
|
||||
.ECHO "COMPRESSED "
|
||||
#INCLUDE "font8x16c.asm"
|
||||
#ELSE
|
||||
.ECHO "RAW "
|
||||
#INCLUDE "font8x16u.asm"
|
||||
#ENDIF
|
||||
.ECHO $ - FONT8X16
|
||||
.ECHO " BYTES\n"
|
||||
#ENDIF
|
||||
|
||||
Reference in New Issue
Block a user