mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 22:43:15 -06:00
Compare commits
2 Commits
v3.3.0-dev
...
v3.3.0-dev
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9358299f14 | ||
|
|
d445c4a015 |
@@ -5,6 +5,7 @@ Version 3.3
|
||||
- A?C: Support for SD PIO
|
||||
- A?C: Support for Z80-Retro SD interface
|
||||
- WBW: Support per-drive floppy configuration
|
||||
- WBW: Support for Bill Shen's VGARC
|
||||
|
||||
Version 3.2.1
|
||||
-------------
|
||||
|
||||
@@ -3808,6 +3808,7 @@ the RomWBW HBIOS configuration.
|
||||
- WDC Floppy Disk Controller w/ 3.5" HD Drives
|
||||
- Onboard IDE Hard Disk Interface Module
|
||||
- PPIDE Hard Disk Interface Module
|
||||
- VGARC Video & Keyboard Module
|
||||
- Serial baud rate is usually determined by hardware for ACIA and
|
||||
SIO interfaces
|
||||
|
||||
@@ -3831,6 +3832,7 @@ the RomWBW HBIOS configuration.
|
||||
- WDC Floppy Disk Controller w/ 3.5" HD Drives
|
||||
- Onboard IDE Hard Disk Interface Module
|
||||
- PPIDE Hard Disk Interface Module
|
||||
- VGARC Video & Keyboard Module
|
||||
- Serial baud rate is usually determined by hardware for ACIA and
|
||||
SIO interfaces
|
||||
|
||||
@@ -3854,6 +3856,7 @@ the RomWBW HBIOS configuration.
|
||||
- WDC Floppy Disk Controller w/ 3.5" HD Drives
|
||||
- Onboard IDE Hard Disk Interface Module
|
||||
- PPIDE Hard Disk Interface Module
|
||||
- VGARC Video & Keyboard Module
|
||||
- Serial baud rate is usually determined by hardware for ACIA and
|
||||
SIO interfaces
|
||||
|
||||
@@ -3923,6 +3926,6 @@ may be discovered by RomWBW in your system.
|
||||
| USB-FIFO | Char | FT232H-based ECB USB FIFO |
|
||||
| VDU | Video | MC6845 Family Video Display Controller |
|
||||
| VGA | Video | HD6445CP4-based Video Display Controller |
|
||||
| VRC | Video | VGARC Video Display Controller s |
|
||||
| VRC | Video | VGARC Video Display Controller |
|
||||
| YM | Audio | YM2612 Programmable Sound Generator |
|
||||
| Z2U | Char | Zilog Z280 CPU Built-in Serial Ports |
|
||||
|
||||
@@ -11,8 +11,8 @@ echo Preparing compressed font files...
|
||||
lzsa -f2 -r font8x8u.bin font8x8c.bin || exit /b
|
||||
lzsa -f2 -r font8x11u.bin font8x11c.bin || exit /b
|
||||
lzsa -f2 -r font8x16u.bin font8x16c.bin || exit /b
|
||||
|
||||
lzsa -f2 -r fontcgau.bin fontcgac.bin || exit /b
|
||||
lzsa -f2 -r fontvgarcu.bin fontvgarcc.bin || exit /b
|
||||
|
||||
fonttool font8x8u.bin > font8x8u.asm || exit /b
|
||||
fonttool font8x11u.bin > font8x11u.asm || exit /b
|
||||
@@ -20,6 +20,7 @@ fonttool font8x16u.bin > font8x16u.asm || exit /b
|
||||
fonttool font8x8c.bin > font8x8c.asm || exit /b
|
||||
fonttool font8x11c.bin > font8x11c.asm || exit /b
|
||||
fonttool font8x16c.bin > font8x16c.asm || exit /b
|
||||
|
||||
fonttool fontcgau.bin > fontcgau.asm || exit /b
|
||||
fonttool fontcgac.bin > fontcgac.asm || exit /b
|
||||
fonttool fontvgarcu.bin > fontvgarcu.asm || exit /b
|
||||
fonttool fontvgarcc.bin > fontvgarcc.asm || exit /b
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
OBJECTS = \
|
||||
font8x8u.asm font8x11u.asm font8x16u.asm fontcgau.asm \
|
||||
font8x8c.asm font8x11c.asm font8x16c.asm fontcgac.asm
|
||||
font8x8u.asm font8x11u.asm font8x16u.asm fontcgau.asm fontvgarcu.asm \
|
||||
font8x8c.asm font8x11c.asm font8x16c.asm fontcgac.asm fontvgarcc.asm
|
||||
|
||||
OTHERS = font8x8c.bin font8x11c.bin font8x16c.bin fontcgac.bin
|
||||
OTHERS = font8x8c.bin font8x11c.bin font8x16c.bin fontcgac.bin fontvgarcc.bin
|
||||
|
||||
TOOLS = ../../Tools
|
||||
|
||||
@@ -26,5 +26,8 @@ font8x16c.bin: font8x16u.bin
|
||||
fontcgac.bin: fontcgau.bin
|
||||
$(BINDIR)/lzsa -f2 -r $< $@
|
||||
|
||||
fontvgarcc.bin: fontvgarcu.bin
|
||||
$(BINDIR)/lzsa -f2 -r $< $@
|
||||
|
||||
%.asm: %.bin
|
||||
$(BINDIR)/bin2asm $< > $@
|
||||
|
||||
BIN
Source/Fonts/fontvgarcu.bin
Normal file
BIN
Source/Fonts/fontvgarcu.bin
Normal file
Binary file not shown.
@@ -55,7 +55,7 @@ TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|MSX|MSX9958|MSXKBD|COLECO]
|
||||
MKYENABLE .SET FALSE ; MSX 5255 PPI KEYBOARD COMPATIBLE DRIVER (REQUIRES TMS VDA DRIVER)
|
||||
VRCENABLE .SET TRUE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
|
||||
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
|
||||
;
|
||||
AY38910ENABLE .SET FALSE ; AY: AY-3-8910 / YM2149 SOUND DRIVER
|
||||
AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC]
|
||||
|
||||
@@ -63,7 +63,7 @@ TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|MSX|MSX9958|MSXKBD|COLECO]
|
||||
MKYENABLE .SET FALSE ; MSX 5255 PPI KEYBOARD COMPATIBLE DRIVER (REQUIRES TMS VDA DRIVER)
|
||||
VRCENABLE .SET TRUE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
|
||||
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
|
||||
;
|
||||
AY38910ENABLE .SET FALSE ; AY: AY-3-8910 / YM2149 SOUND DRIVER
|
||||
AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC]
|
||||
|
||||
@@ -24,7 +24,8 @@ endif
|
||||
|
||||
include $(TOOLS)/Makefile.inc
|
||||
|
||||
FONTS := font8x11c.asm font8x11u.asm font8x16c.asm font8x16u.asm font8x8c.asm font8x8u.asm fontcgac.asm fontcgau.asm
|
||||
FONTS := font8x11c.asm font8x11u.asm font8x16c.asm font8x16u.asm font8x8c.asm font8x8u.asm \
|
||||
fontcgac.asm fontcgau.asm fontvgarcc.asm fontvgarcu.asm
|
||||
|
||||
ifeq ($(CPUFAM),2)
|
||||
TASM=$(BINDIR)/uz80as -t hd64180
|
||||
|
||||
@@ -634,7 +634,6 @@ ANSI_BEL:
|
||||
ANSI_BS:
|
||||
LD A,(ANSI_COL) ; GET CURRENT COLUMN
|
||||
DEC A ; BACK IT UP BY ONE
|
||||
;RET C ; IF CARRY, MARGIN EXCEEDED, ABORT
|
||||
RET M ; IF CARRY, MARGIN EXCEEDED, ABORT
|
||||
LD (ANSI_COL),A ; SAVE NEW COLUMN
|
||||
JP ANSI_XY ; UDPATE CURSOR AND RETURN
|
||||
|
||||
@@ -20,7 +20,7 @@ CPUFAM .EQU CPU_Z280 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
HBIOS_MUTEX .EQU FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
USELZSA2 .EQU TRUE ; ENABLE FONT COMPRESSION
|
||||
USELZSA2 .EQU FALSE ; ENABLE FONT COMPRESSION
|
||||
TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ)
|
||||
;
|
||||
BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
|
||||
|
||||
@@ -6225,6 +6225,16 @@ FONTCGA:
|
||||
.ECHO " CGA"
|
||||
#ENDIF
|
||||
;
|
||||
#IFDEF USEFONTVGARC
|
||||
FONTVGARC:
|
||||
#IF USELZSA2
|
||||
#INCLUDE "fontvgarcc.asm"
|
||||
#ELSE
|
||||
#INCLUDE "fontvgarcu.asm"
|
||||
#ENDIF
|
||||
.ECHO " VGARC"
|
||||
#ENDIF
|
||||
;
|
||||
SIZ_FONTS .EQU $ - ORG_FONTS
|
||||
.ECHO " occupy "
|
||||
.ECHO SIZ_FONTS
|
||||
|
||||
@@ -70,17 +70,33 @@ KBD_INIT:
|
||||
LD (KBD_REPEAT),A ; SAVE IT
|
||||
LD A,KBD_DEFSTATE ; GET DEFAULT STATE
|
||||
LD (KBD_STATE),A ; SAVE IT
|
||||
|
||||
;
|
||||
LD A,(IY+KBD_MODE) ; GET KBD MODE BYTE
|
||||
CP KBDMODE_VRC ; VRC?
|
||||
JR Z,KBD_INIT1 ; IF SO, MUST ASSUME PRESENT
|
||||
;
|
||||
LD A,$AA ; CONTROLLER SELF TEST
|
||||
CALL KBD_PUTCMD ; SEND IT
|
||||
CALL KBD_GETDATA ; CONTROLLER SHOULD RESPOND WITH $55 (ACK)
|
||||
|
||||
;
|
||||
CP $55 ; IS IT THERE?
|
||||
JR Z,KBD_INIT1 ; IF SO, CONTINUE
|
||||
PRTS(" NOT PRESENT$") ; DIAGNOSE PROBLEM
|
||||
RET ; BAIL OUT
|
||||
|
||||
;
|
||||
KBD_INIT1:
|
||||
PRTS(" MODE=$") ; TAG
|
||||
LD A,(IY+KBD_MODE) ; GET MODE VALUE
|
||||
LD DE,KBD_STR_MODEPS2
|
||||
CP KBDMODE_PS2
|
||||
JR Z,KBD_INIT2
|
||||
LD DE,KBD_STR_MODEVRC
|
||||
CP KBDMODE_VRC
|
||||
JR Z,KBD_INIT2
|
||||
LD DE,KBD_STR_MODEUNK
|
||||
KBD_INIT2:
|
||||
CALL WRITESTR
|
||||
;
|
||||
LD A,$60 ; SET COMMAND REGISTER
|
||||
CALL KBD_PUTCMD ; SEND IT
|
||||
; LD A,$60 ; XLAT ENABLED, MOUSE DISABLED, NO INTS
|
||||
@@ -89,11 +105,6 @@ KBD_INIT1:
|
||||
|
||||
CALL KBD_GETDATA ; GOBBLE UP $AA FROM POWER UP, AS NEEDED
|
||||
|
||||
; LD A,$AE ; COMMAND = ENABLE KEYBOARD
|
||||
; CALL KBD_PUTCMD ; SEND IT
|
||||
; LD A,$A7 ; COMMAND = DISABLE MOUSE
|
||||
; CALL KBD_PUTCMD ; SEND IT
|
||||
|
||||
CALL KBD_RESET ; RESET THE KEYBOARD
|
||||
CALL KBD_SETLEDS ; UPDATE LEDS BASED ON CURRENT TOGGLE STATE BITS
|
||||
CALL KBD_SETRPT ; UPDATE REPEAT RATE BASED ON CURRENT SETTING
|
||||
@@ -178,7 +189,7 @@ KBD_PUTCMD:
|
||||
; PUT A CMD BYTE FROM A TO THE KEYBOARD INTERFACE WITH TIMEOUT
|
||||
;
|
||||
LD E,A ; SAVE INCOMING VALUE IN E
|
||||
LD A,(KBD_MODE) ; GET MODE BYTE
|
||||
LD A,(IY+KBD_MODE) ; GET MODE BYTE
|
||||
CP KBDMODE_VRC ; VGARC KEYBOARD?
|
||||
JR Z,KBD_PUTCMD2 ; BAIL OUT
|
||||
LD B,KBD_WAITTO ; SETUP TO LOOP
|
||||
@@ -208,7 +219,7 @@ KBD_PUTDATA:
|
||||
; PUT A DATA BYTE FROM A TO THE KEYBOARD INTERFACE WITH TIMEOUT
|
||||
;
|
||||
LD E,A ; SAVE INCOMING VALUE IN E
|
||||
LD A,(KBD_MODE) ; GET MODE BYTE
|
||||
LD A,(IY+KBD_MODE) ; GET MODE BYTE
|
||||
CP KBDMODE_VRC ; VGARC KEYBOARD?
|
||||
JR Z,KBD_PUTDATA2 ; BAIL OUT
|
||||
LD B,KBD_WAITTO ; SETUP TO LOOP
|
||||
@@ -690,11 +701,21 @@ KBD_DECNEW: ; START NEW KEYPRESS (CLEAR ALL STATUS BITS)
|
||||
LD (KBD_STATUS),A ; CLEAR STATUS
|
||||
JP KBD_DEC1 ; RESTART THE ENGINE
|
||||
;
|
||||
; DRIVER DATA
|
||||
;
|
||||
KBD_STR_MODEPS2 .TEXT "PS2$"
|
||||
KBD_STR_MODEVRC .TEXT "VRC$"
|
||||
KBD_STR_MODEUNK .TEXT "???$"
|
||||
;
|
||||
;
|
||||
;
|
||||
#IF (KBDKBLOUT == KBD_US)
|
||||
;
|
||||
;__________________________________________________________________________________________________
|
||||
;
|
||||
; MAPPING TABLES US/ENGLISH
|
||||
;__________________________________________________________________________________________________
|
||||
;
|
||||
KBD_MAPSTD: ; SCANCODE IS INDEX INTO TABLE TO RESULTANT LOOKUP KEYCODE
|
||||
.DB $FF,$E8,$FF,$E4,$E2,$E0,$E1,$EB,$FF,$E9,$E7,$E5,$E3,$09,'`',$FF
|
||||
.DB $FF,$B4,$B0,$FF,$B2,'q','1',$FF,$FF,$FF,'z','s','a','w','2',$FF
|
||||
@@ -731,7 +752,9 @@ KBD_MAPNUMPAD: ; KEYCODE TRANSLATION FROM NUMPAD RANGE TO STD ASCII/KEYCODES
|
||||
.DB $F3,$F7,$F5,$F8,$FF,$F9,$F2,$F6,$F4,$F0,$F1,$2F,$2A,$2D,$2B,$0D
|
||||
.DB $31,$32,$33,$34,$35,$36,$37,$38,$39,$30,$2E,$2F,$2A,$2D,$2B,$0D
|
||||
#ENDIF
|
||||
;
|
||||
#IF (KBDKBLOUT == KBD_DE)
|
||||
;
|
||||
;__________________________________________________________________________________________________
|
||||
;
|
||||
; MAPPING TABLES GERMAN
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
; WARNING: This code does not seem to be working on Z280. WBW - 5/3/2023
|
||||
;
|
||||
; Size-optimized LZSA2 decompressor by spke & uniabis (134 bytes)
|
||||
;
|
||||
|
||||
@@ -21,8 +21,8 @@ VRC_KBDST .EQU $F5
|
||||
VRC_ROWS .EQU 48
|
||||
VRC_COLS .EQU 64
|
||||
;
|
||||
#DEFINE USEFONT8X8
|
||||
#DEFINE VRC_FONT FONT8X8
|
||||
#DEFINE USEFONTVGARC
|
||||
#DEFINE VRC_FONT FONTVGARC
|
||||
;
|
||||
TERMENABLE .SET TRUE ; INCLUDE TERMINAL PSEUDODEVICE DRIVER
|
||||
;
|
||||
@@ -63,7 +63,7 @@ VRC_INIT1:
|
||||
CALL VRC_CRTINIT ; SETUP THE VGARC CHIP REGISTERS
|
||||
CALL VRC_LOADFONT ; LOAD FONT DATA FROM ROM TO VGARC STORAGE
|
||||
CALL VRC_VDARES ; RESET
|
||||
;CALL KBD_INIT ; INITIALIZE KEYBOARD DRIVER
|
||||
CALL KBD_INIT ; INITIALIZE KEYBOARD DRIVER
|
||||
|
||||
; ADD OURSELVES TO VDA DISPATCH TABLE
|
||||
LD BC,VRC_FNTBL ; BC := FUNCTION TABLE ADDRESS
|
||||
@@ -283,9 +283,14 @@ VRC_LOADFONT:
|
||||
LD HL,VRC_FONT ; START OF FONT DATA
|
||||
#ENDIF
|
||||
;
|
||||
#IF 0
|
||||
; THIS APPROACH TO LOADING FONTS IS BEST (FASTEST), BUT IS
|
||||
; CAUSING ARTIFACTS ON THE DISPLAYED FONTS WHEN RUN ON A
|
||||
; Z280. IT IS NOT CLEAR WHAT THE PROBLEM IS (POSSIBLY
|
||||
; Z280 BUG), BUT FOR NOW WE AVOID THIS AND USE AN
|
||||
; ALTERNATIVE APPROACH BELOW.
|
||||
LD DE,0+(128*8)-1 ; LENGTH OF FONT DATA - 1
|
||||
ADD HL,DE ; ADD TO HL
|
||||
; LD HL,ENDFONT-1
|
||||
LD BC,VRC_FONTBASE+3 ; WORK BACKWARDS
|
||||
OTDR ; DO 4 PAGES
|
||||
DEC C
|
||||
@@ -295,6 +300,24 @@ VRC_LOADFONT:
|
||||
DEC C
|
||||
OTDR
|
||||
DEC C
|
||||
#ENDIF
|
||||
;
|
||||
#IF 1
|
||||
; ALTERNATIVE APPROACH TO LOADING FONTS. THIS ONE AVOIDS
|
||||
; THE USE OF OTDR WHICH SEEMS TO CAUSE PROBLEMS ON Z280.
|
||||
LD B,0
|
||||
LD C,VRC_FONTBASE
|
||||
VRC_LOADFONT1:
|
||||
LD A,(HL)
|
||||
OUT (C),A
|
||||
INC HL
|
||||
INC B
|
||||
JR NZ,VRC_LOADFONT1
|
||||
INC C
|
||||
LD A,C
|
||||
CP VRC_FONTBASE + 4
|
||||
JR NZ,VRC_LOADFONT1
|
||||
#ENDIF
|
||||
;
|
||||
#IF USELZSA2
|
||||
LD HL,(VRC_STACK) ; ERASE DECOMPRESS BUFFER
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#DEFINE RMN 3
|
||||
#DEFINE RUP 0
|
||||
#DEFINE RTP 0
|
||||
#DEFINE BIOSVER "3.3.0-dev.9"
|
||||
#DEFINE BIOSVER "3.3.0-dev.11"
|
||||
#define rmj RMJ
|
||||
#define rmn RMN
|
||||
#define rup RUP
|
||||
|
||||
@@ -3,5 +3,5 @@ rmn equ 3
|
||||
rup equ 0
|
||||
rtp equ 0
|
||||
biosver macro
|
||||
db "3.3.0-dev.9"
|
||||
db "3.3.0-dev.11"
|
||||
endm
|
||||
|
||||
Reference in New Issue
Block a user