mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 14:11:48 -06:00
Add 80x30 screen format to VGA3 driver
This commit is contained in:
@@ -142,6 +142,7 @@ NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM)
|
||||
TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .EQU TMSMODE_NONE ; TMS: DRIVER MODE: TMSMODE_[SCG/N8]
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VGASIZ .EQU V80X30 ; VGA: DISPLAY FORMAT [V80X24|V80X30]
|
||||
;
|
||||
SPKENABLE .EQU FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM)
|
||||
;
|
||||
|
||||
@@ -97,6 +97,7 @@ NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM)
|
||||
TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .EQU TMSMODE_SCG ; TMS: DRIVER MODE: TMSMODE_[SCG/N8]
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VGASIZ .EQU V80X25 ; VGA: DISPLAY FORMAT [V80X25|V80X30]
|
||||
;
|
||||
SPKENABLE .EQU FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM)
|
||||
;
|
||||
|
||||
@@ -100,6 +100,7 @@ NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM)
|
||||
TMSENABLE .EQU TRUE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .EQU TMSMODE_N8 ; TMS: DRIVER MODE: TMSMODE_[SCG/N8]
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VGASIZ .EQU V80X25 ; VGA: DISPLAY FORMAT [V80X25|V80X30]
|
||||
;
|
||||
SPKENABLE .EQU FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM)
|
||||
;
|
||||
|
||||
@@ -100,6 +100,7 @@ NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM)
|
||||
TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .EQU TMSMODE_SCG ; TMS: DRIVER MODE: TMSMODE_[SCG/N8]
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VGASIZ .EQU V80X25 ; VGA: DISPLAY FORMAT [V80X25|V80X30]
|
||||
;
|
||||
SPKENABLE .EQU FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM)
|
||||
;
|
||||
|
||||
@@ -277,13 +277,13 @@ SER_7372800_8N1 .EQU SER_BAUD7372800 | SER_DATA8 | SER_PARNONE | SER_STOP1
|
||||
;
|
||||
TERMENABLE .EQU FALSE ; TERM PSEUDO DEVICE, WILL AUTO-ENABLE IF A VDA IS ENABLED
|
||||
;
|
||||
; ECB-VDU MODES
|
||||
; VIDEO MODES
|
||||
;
|
||||
V80X24 .EQU 0
|
||||
V80X25 .EQU 1
|
||||
V80X30 .EQU 2
|
||||
V80X25B .EQU 3
|
||||
V80X24B .EQU 4
|
||||
V80X24 .EQU 0 ; ECB-VDU
|
||||
V80X25 .EQU 1 ; ECB-VDU, ECB-VGA3
|
||||
V80X30 .EQU 2 ; ECB-VDU, ECB-VGA3
|
||||
V80X25B .EQU 3 ; ECB-VDU
|
||||
V80X24B .EQU 4 ; ECB-VDU
|
||||
;
|
||||
; KEYBOARD LAYOUTS
|
||||
;
|
||||
|
||||
@@ -21,8 +21,16 @@ VGA_HI .EQU VGA_BASE + $05 ; BOARD RAM HI ADDRESS
|
||||
VGA_LO .EQU VGA_BASE + $06 ; BOARD RAM LO ADDRESS
|
||||
VGA_DAT .EQU VGA_BASE + $07 ; BOARD RAM BYTE R/W
|
||||
;
|
||||
#IF (VGASIZ=V80X25)
|
||||
VGA_ROWS .EQU 25
|
||||
VGA_COLS .EQU 80
|
||||
VGA_SCANL .EQU 16
|
||||
#ENDIF
|
||||
#IF (VGASIZ=V80X30)
|
||||
VGA_ROWS .EQU 30
|
||||
VGA_COLS .EQU 80
|
||||
VGA_SCANL .EQU 16
|
||||
#ENDIF
|
||||
;
|
||||
#DEFINE DEFREGS REGS_VGA
|
||||
;
|
||||
@@ -134,7 +142,7 @@ VGA_VDARES:
|
||||
LD DE,0 ; ROW = 0, COL = 0
|
||||
CALL VGA_XY ; SEND CURSOR TO TOP LEFT
|
||||
LD A,' ' ; BLANK THE SCREEN
|
||||
LD DE,$800 ; FILL ENTIRE BUFFER
|
||||
LD DE,(VGA_ROWS*VGA_COLS) ; FILL ENTIRE BUFFER
|
||||
CALL VGA_FILL ; DO IT
|
||||
LD DE,0 ; ROW = 0, COL = 0
|
||||
CALL VGA_XY ; SEND CURSOR TO TOP LEFT
|
||||
@@ -514,7 +522,7 @@ VGA_XY2IDX1:
|
||||
RET ; RETURN
|
||||
;
|
||||
;----------------------------------------------------------------------
|
||||
; WRITE VALUE IN A TO CURRENT VDU BUFFER POSTION, ADVANCE CURSOR
|
||||
; WRITE VALUE IN A TO CURRENT VDU BUFFER POSITION, ADVANCE CURSOR
|
||||
;----------------------------------------------------------------------
|
||||
;
|
||||
VGA_PUTCHAR:
|
||||
@@ -829,8 +837,9 @@ VGA_RUB .DB 0 ; REVERSE/UNDERLINE/BLINK (-----RUB)
|
||||
; BIT 1: FG GREEN
|
||||
; BIT 0: FG BLUE
|
||||
;
|
||||
#IF (VGASIZ=V80X25)
|
||||
;===============================================================================
|
||||
; DEFAULT REGISTER VALUES
|
||||
; 80x25 REGISTER VALUES
|
||||
;===============================================================================
|
||||
;
|
||||
REGS_VGA:
|
||||
@@ -852,7 +861,31 @@ REGS_VGA:
|
||||
.DB 30,$01 | $08 ; CTL 1, 2 WINDOWS & ENABLE R27 VSYNC FINE ADJ
|
||||
|
||||
.DB $FF ; END MARKER
|
||||
#ENDIF
|
||||
#IF (VGASIZ=V80X30)
|
||||
;===============================================================================
|
||||
; 80x30 REGISTER VALUES
|
||||
;===============================================================================
|
||||
;
|
||||
REGS_VGA:
|
||||
.DB 0,100 - 1 ; HORZ TOT - 1
|
||||
.DB 1,80 ; HORZ DISP
|
||||
.DB 2,80 + 2 ; HORZ DISP + HORZ FP
|
||||
.DB 3,44 ; VERT SW, HORZ SW
|
||||
.DB 4,33 - 1 ; VERT TOT - 1
|
||||
.DB 5,13 ; VERT TOT ADJ
|
||||
.DB 6,30 ; VERT DISP
|
||||
.DB 7,30 + 0 ; VERT DISP + VERT FP ROWS
|
||||
.DB 9,16 - 1 ; CHAR HEIGHT - 1
|
||||
.DB 10,109 ; CURSOR START & CURSOR BLINK
|
||||
.DB 11,14 ; CURSOR END
|
||||
.DB 12,0 ; SCRN 1 START (HI)
|
||||
.DB 13,0 ; SCRN 1 START (LO)
|
||||
.DB 18,-1 ; S2 ROW - 1
|
||||
.DB 27,0 ; VERT SYNC POS ADJ
|
||||
.DB 30,$01 | $08 ; CTL 1, 2 WINDOWS & ENABLE R27 VSYNC FINE ADJ
|
||||
.DB $FF ; END MARKER
|
||||
#ENDIF
|
||||
;==================================================================================================
|
||||
; VGA DRIVER - INSTANCE DATA
|
||||
;==================================================================================================
|
||||
|
||||
Reference in New Issue
Block a user