diff --git a/Doc/ChangeLog.txt b/Doc/ChangeLog.txt index 0fb3666e..64140634 100644 --- a/Doc/ChangeLog.txt +++ b/Doc/ChangeLog.txt @@ -37,6 +37,8 @@ Version 2.9.2 - S?G: Added support for BQ4845 RTC (bqrtc.asm) - PMS: Added 80x30 video mode to VGA3 driver - PMS: Added 80x43 video mode +- PMS: Added font compression option +- PMS: Added a "safe mode" startup w/ minimal device support Version 2.9.1 ------------- diff --git a/ReadMe.txt b/ReadMe.txt index ce7088c4..82bb4378 100644 --- a/ReadMe.txt +++ b/ReadMe.txt @@ -7,7 +7,7 @@ *********************************************************************** Wayne Warthen (wwarthen@gmail.com) -Version 2.9.2-pre.25, 2020-01-06 +Version 2.9.2-pre.26, 2020-01-17 https://www.retrobrewcomputers.org/ RomWBW is a ROM-based implementation of CP/M-80 2.2 and Z-System for diff --git a/Source/BL/ver.inc b/Source/BL/ver.inc index ed96d795..e45e1d81 100644 --- a/Source/BL/ver.inc +++ b/Source/BL/ver.inc @@ -2,4 +2,4 @@ #DEFINE RMN 9 #DEFINE RUP 2 #DEFINE RTP 0 -#DEFINE BIOSVER "2.9.2-pre.25" +#DEFINE BIOSVER "2.9.2-pre.26" diff --git a/Source/CBIOS/ver.inc b/Source/CBIOS/ver.inc index ed96d795..e45e1d81 100644 --- a/Source/CBIOS/ver.inc +++ b/Source/CBIOS/ver.inc @@ -2,4 +2,4 @@ #DEFINE RMN 9 #DEFINE RUP 2 #DEFINE RTP 0 -#DEFINE BIOSVER "2.9.2-pre.25" +#DEFINE BIOSVER "2.9.2-pre.26" diff --git a/Source/CPM3/ver.inc b/Source/CPM3/ver.inc index 6fea63ae..d7963369 100644 --- a/Source/CPM3/ver.inc +++ b/Source/CPM3/ver.inc @@ -3,5 +3,5 @@ rmn equ 9 rup equ 2 rtp equ 0 biosver macro - db "2.9.2-pre.25" + db "2.9.2-pre.26" endm diff --git a/Source/Fonts/fonts.txt b/Source/Fonts/fonts.txt index ca44c0f7..2f720b44 100644 --- a/Source/Fonts/fonts.txt +++ b/Source/Fonts/fonts.txt @@ -19,7 +19,7 @@ To reduce the size of the HBIOS image, fonts can be compressed by using the USEZ Use the following in your custom configuration to turn on font compression: -USEZLSA2 .SET TRUE +USELZSA2 .SET TRUE Compressed fonts are created using lzsa utility. diff --git a/Source/HBIOS/cvdu.asm b/Source/HBIOS/cvdu.asm index eb7e19d5..9ee98c40 100644 --- a/Source/HBIOS/cvdu.asm +++ b/Source/HBIOS/cvdu.asm @@ -27,6 +27,9 @@ CVDU_DATA .EQU CVDU_BASE + $0C ; READ/WRITE M8563 DATA CVDU_ROWS .EQU 25 CVDU_COLS .EQU 80 ; +#DEFINE USEFONT8X16 +#DEFINE CVDU_FONT FONT8X16 +; TERMENABLE .SET TRUE ; INCLUDE TERMINAL PSEUDODEVICE DRIVER ; ;====================================================================== @@ -360,7 +363,7 @@ CVDU_LOADFONT: LD C,18 ; UPDATE ADDRESS REGISTER PAIR CALL CVDU_WRX ; DO IT -#IF USEZLSA2 +#IF USELZSA2 LD (CVDU_STACK),SP ; SAVE STACK LD HL,(CVDU_STACK) ; AND SHIFT IT LD DE,$2000 ; DOWN 4KB TO @@ -387,7 +390,7 @@ CVDU_LOADFONT1: OR E ; FOR COUNTER EXHAUSTED JR NZ,CVDU_LOADFONT1 ; LOOP TILL DONE -#IF USEZLSA2 +#IF USELZSA2 LD HL,(CVDU_STACK) ; ERASE DECOMPRESS BUFFER LD SP,HL ; BY RESTORING THE STACK RET ; DONE diff --git a/Source/HBIOS/hbios.asm b/Source/HBIOS/hbios.asm index dbc5f317..acf72111 100644 --- a/Source/HBIOS/hbios.asm +++ b/Source/HBIOS/hbios.asm @@ -2929,59 +2929,43 @@ SIZ_NEC .EQU $ - ORG_NEC ; ; FONTS AREA ; -ORG_FONTHI .EQU $ +ORG_FONTS .EQU $ ; -; DO WE NEED AN 8X16 FONT? + .ECHO "FONTS" ; -#IF ((VGAENABLE | CVDUENABLE)) - #IF (VGAENABLE & ((VGASIZ=V80X25) | (VGASIZ=V80X30))) -VGA_FONT: - #ENDIF - #IF (CVDUENABLE) -CVDU_FONT: - #ENDIF - #IF USEZLSA2 - #INCLUDE "font8x16c.asm" +#IFDEF USEFONT8X8 +FONT8X8: + #IF USELZSA2 + #INCLUDE "font8x8c.asm" #ELSE - #INCLUDE "font8x16u.asm" + #INCLUDE "font8x8u.asm" #ENDIF - .ECHO "8X16 " + .ECHO " 8X8" #ENDIF ; -; DO WE NEED AN 8X11 FONT? -; -#IF (VGAENABLE) - #IF (VGASIZ=V80X43)) -VGA_FONT: - #IF USEZLSA2 - #INCLUDE "font8x11c.asm" +#IFDEF USEFONT8X11 +FONT8X11: + #IF USELZSA2 + #INCLUDE "font8x11c.asm" #ELSE - #INCLUDE "font8x11u.asm" + #INCLUDE "font8x11u.asm" #ENDIF - .ECHO "8X11 " - #ENDIF + .ECHO " 8X11" #ENDIF ; -; DO WE NEED AN 8X8 FONT? -; -#IF (VGAENABLE | TMSENABLE) - #IF ((VGAENABLE & (VGASIZ=V80X60))) -VGA_FONT: - #ENDIF - #IF (TMSENABLE) -TMS_FONT: - #ENDIF - #IF USEZLSA2 - #INCLUDE "font8x8c.asm" +#IFDEF USEFONT8X16 +FONT8X16: + #IF USELZSA2 + #INCLUDE "font8x16c.asm" #ELSE - #INCLUDE "font8x8u.asm" + #INCLUDE "font8x16u.asm" #ENDIF - .ECHO "8X8 " + .ECHO " 8X16" #ENDIF ; -SIZ_FONTHI .EQU $ - ORG_FONTHI - .ECHO "FONTS occupy " - .ECHO SIZ_FONTHI +SIZ_FONTS .EQU $ - ORG_FONTS + .ECHO " occupy " + .ECHO SIZ_FONTS .ECHO " bytes.\n" ; #IF (CVDUENABLE | VGAENABLE) @@ -3156,9 +3140,9 @@ SIZ_CTC .EQU $ - ORG_CTC #INCLUDE "dsky.asm" #ENDIF ; -; INCLUDE ZLSA2 decompression engine if required. +; INCLUDE LZSA2 decompression engine if required. ; -#IF ((VGAENABLE | CVDUENABLE | TMSENABLE) & USEZLSA2) +#IF ((VGAENABLE | CVDUENABLE | TMSENABLE) & USELZSA2) #INCLUDE "unlzsa2s.asm" #ENDIF ; diff --git a/Source/HBIOS/std.asm b/Source/HBIOS/std.asm index c0ae4357..4a51624c 100644 --- a/Source/HBIOS/std.asm +++ b/Source/HBIOS/std.asm @@ -298,7 +298,7 @@ V80X60 .EQU 6 ; ECB-VGA3 ; ; FONTS ; -USEZLSA2 .EQU FALSE ; USE COMPRESSED FONTS. +USELZSA2 .EQU FALSE ; USE COMPRESSED FONTS. ; ; KEYBOARD LAYOUTS ; diff --git a/Source/HBIOS/tms.asm b/Source/HBIOS/tms.asm index cdd9c626..2fb8b48a 100644 --- a/Source/HBIOS/tms.asm +++ b/Source/HBIOS/tms.asm @@ -42,6 +42,9 @@ TMS_PPIX .EQU 0 ; PPI CONTROL PORT TMS_ROWS .EQU 24 TMS_COLS .EQU 40 ; +#DEFINE USEFONT8X8 +#DEFINE TMS_FONT FONT8X8 +; TERMENABLE .SET TRUE ; INCLUDE TERMINAL PSEUDODEVICE DRIVER ; ; TMS_IODELAY IS USED TO ADD RECOVERY TIME TO TMS9918 ACCESSES @@ -367,7 +370,7 @@ TMS_LOADFONT: LD HL,$800 CALL TMS_WR -#IF USEZLSA2 +#IF USELZSA2 LD (TMS_STACK),SP ; SAVE STACK LD HL,(TMS_STACK) ; AND SHIFT IT LD DE,$2000 ; DOWN 4KB TO @@ -395,7 +398,7 @@ TMS_LOADFONT1: OR E JR NZ,TMS_LOADFONT1 ; -#IF USEZLSA2 +#IF USELZSA2 LD HL,(TMS_STACK) ; ERASE DECOMPRESS BUFFER LD SP,HL ; BY RESTORING THE STACK RET ; DONE diff --git a/Source/HBIOS/ver.inc b/Source/HBIOS/ver.inc index ed96d795..e45e1d81 100644 --- a/Source/HBIOS/ver.inc +++ b/Source/HBIOS/ver.inc @@ -2,4 +2,4 @@ #DEFINE RMN 9 #DEFINE RUP 2 #DEFINE RTP 0 -#DEFINE BIOSVER "2.9.2-pre.25" +#DEFINE BIOSVER "2.9.2-pre.26" diff --git a/Source/HBIOS/vga.asm b/Source/HBIOS/vga.asm index f5da706c..5a285376 100644 --- a/Source/HBIOS/vga.asm +++ b/Source/HBIOS/vga.asm @@ -41,24 +41,32 @@ VGA_ROWS .EQU 25 VGA_COLS .EQU 80 VGA_SCANL .EQU 16 VGA_89BIT .EQU VGA_8BIT +#DEFINE USEFONT8X16 +#DEFINE VGA_FONT FONT8X16 #ENDIF #IF (VGASIZ=V80X30) VGA_ROWS .EQU 30 VGA_COLS .EQU 80 VGA_SCANL .EQU 16 VGA_89BIT .EQU VGA_8BIT +#DEFINE USEFONT8X16 +#DEFINE VGA_FONT FONT8X16 #ENDIF #IF (VGASIZ=V80X43) VGA_ROWS .EQU 43 VGA_COLS .EQU 80 VGA_SCANL .EQU 11 VGA_89BIT .EQU VGA_8BIT +#DEFINE USEFONT8X11 +#DEFINE VGA_FONT FONT8X11 #ENDIF #IF (VGASIZ=V80X60) VGA_ROWS .EQU 60 VGA_COLS .EQU 80 VGA_SCANL .EQU 8 VGA_89BIT .EQU VGA_8BIT +#DEFINE USEFONT8X8 +#DEFINE VGA_FONT FONT8X8 #ENDIF ; #IF VGA_CSTY=VGA_BLOK @@ -510,7 +518,7 @@ VGA_LOADFONT: LD HL,$7000 | VGA_89BIT ; CLEAR FONT PAGE NUM CALL VGA_SETCFG -#IF USEZLSA2 +#IF USELZSA2 LD (VGA_STACK),SP ; SAVE STACK LD HL,(VGA_STACK) ; AND SHIFT IT LD DE,$2000 ; DOWN 4KB TO @@ -547,7 +555,7 @@ VGA_LOADFONT2: LD HL,$7070 | VGA_89BIT ; SET FONT PAGE NUM TO 7 CALL VGA_SETCFG -#IF USEZLSA2 +#IF USELZSA2 LD HL,(VGA_STACK) ; ERASE DECOMPRESS BUFFER LD SP,HL ; BY RESTORING THE STACK RET ; DONE