mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 14:11:48 -06:00
Update vdu.asm
This commit is contained in:
@@ -567,152 +567,10 @@ VDU_POS .DW 0 ; CURRENT DISPLAY POSITION
|
||||
VDU_OFFSET .DW 0 ; CURRENT DISPLAY POSITION
|
||||
VDU_BUF .FILL 256,0 ; COPY BUFFER
|
||||
;
|
||||
#IF (VDUSIZ=V80X24)
|
||||
;==================================================================================================
|
||||
; VDU DRIVER - SY6845 REGISTER INITIALIZATION -80x24 10x8
|
||||
;==================================================================================================
|
||||
; ECB-VDU VIDEO MODE DESCRIPTION
|
||||
;==================================================================================================\
|
||||
;
|
||||
VDU_INIT6845:
|
||||
.DB 07FH ; R0 TOTAL NUMBER OF HORIZONTAL CHARACTERS (DETERMINES HSYNC)
|
||||
.DB DROWS ; R1 NUMBER OF HORIZONTAL CHARACTERS DISPLAYED (80 COLUMNS)
|
||||
.DB 060H ; R2 HORIZONTAL SYNC POSITION
|
||||
.DB 00CH ; R3 SYNC WIDTHS
|
||||
.DB 01EH ; R4 VERTICAL TOTAL (TOTAL CHARS IN A FRAME 30-1)
|
||||
.DB 002H ; R5 VERTICAL TOTAL ADJUST (
|
||||
.DB DLINES ; R6 VERTICAL DISPLAYED (24 ROWS)
|
||||
.DB 01AH ; R7 VERTICAL SYNC
|
||||
.DB 078H ; R8 MODE B7=0 TRANSPARENT UPDATE DURING BLANKING
|
||||
; B6=1 PIN 34 IS UPDATE STROBE
|
||||
; B5=1 DELAY CURSOR 1 CHARACTER
|
||||
; B4=1 DELAY DISPLAY ENABLE 1 CHARACTER
|
||||
; B3=1 TRANSPARENT MEMORY ADDRESSING
|
||||
; B2=0 RAM STRAIGHT BINARY ADDRESSING
|
||||
; B1,B0=0 NON-INTERLACE
|
||||
.DB DSCANL-1 ; R9 SCAN LINE (LINES PER CHAR AND SPACING -1)
|
||||
.DB VDU_R10 ; R10 CURSOR START RASTER
|
||||
.DB VDU_R11 ; R11 CURSOR END RASTER
|
||||
.DB 00H ; R12 START ADDRESS HI
|
||||
.DB 00H ; R13 START ADDRESS LO
|
||||
.DB 00H ; R14 CURSOR ADDRESS HI
|
||||
.DB 00H ; R15 CURSOR ADDRESS LO
|
||||
;
|
||||
#ENDIF
|
||||
#IF (VDUSIZ=V80X25)
|
||||
;==================================================================================================
|
||||
; VDU DRIVER - SY6845 REGISTER INITIALIZATION -80x25 10x8
|
||||
;==================================================================================================
|
||||
VDU_INIT6845:
|
||||
.DB 07FH ; R0 TOTAL NUMBER OF HORIZONTAL CHARACTERS (DETERMINES HSYNC)
|
||||
.DB DROWS ; R1 NUMBER OF HORIZONTAL CHARACTERS DISPLAYED =80
|
||||
.DB 060H ; R2 HORIZONTAL SYNC POSITION
|
||||
.DB 00CH ; R3 SYNC WIDTHS
|
||||
.DB 01EH ; R4 VERTICAL TOTAL (TOTAL CHARS IN A FRAME 30-1)
|
||||
.DB 002H ; R5 VERTICAL TOTAL ADJUST (
|
||||
.DB DLINES ; R6 VERTICAL DISPLAYED (25 ROWS)
|
||||
.DB 01BH ; R7 VERTICAL SYNC
|
||||
.DB 078H ; R8 MODE B7=0 TRANSPARENT UPDATE DURING BLANKING
|
||||
; ; B6=1 PIN 34 IS UPDATE STROBE
|
||||
; ; B5=1 DELAY CURSOR 1 CHARACTER
|
||||
; ; B4=1 DELAY DISPLAY ENABLE 1 CHARACTER
|
||||
; ; B3=1 TRANSPARENT MEMORY ADDRESSING
|
||||
; ; B2=0 RAM STRAIGHT BINARY ADDRESSING
|
||||
; ; B1,B0=0 NON-INTERLACE
|
||||
.DB DSCANL-1 ; R9 SCAN LINE (LINES PER CHAR AND SPACING -1)
|
||||
.DB VDU_R10 ; R10 CURSOR START RASTER
|
||||
.DB VDU_R11 ; R11 CURSOR END RASTER
|
||||
.DB 00H ; R12 START ADDRESS HI
|
||||
.DB 00H ; R13 START ADDRESS LO
|
||||
.DB 00H ; R14 CURSOR ADDRESS HI
|
||||
.DB 00H ; R15 CURSOR ADDRESS LO
|
||||
;
|
||||
#ENDIF
|
||||
#IF (VDUSIZ=V80X30)
|
||||
;==================================================================================================
|
||||
; VDU DRIVER - SY6845 REGISTER INITIALIZATION -80x30 8x8
|
||||
;==================================================================================================
|
||||
VDU_INIT6845:
|
||||
.DB 07FH ; R0 TOTAL NUMBER OF HORIZONTAL CHARACTERS (DETERMINES HSYNC)
|
||||
.DB DROWS ; R1 NUMBER OF HORIZONTAL CHARACTERS DISPLAYED =80
|
||||
.DB 060H ; R2 HORIZONTAL SYNC POSITION
|
||||
.DB 00CH ; R3 SYNC WIDTHS
|
||||
.DB 26H ; R4 VERTICAL TOTAL (TOTAL CHARS IN A FRAME -1) (39-1)
|
||||
.DB 00H ; R5 VERTICAL TOTAL ADJUST (
|
||||
.DB DLINES ; R6 VERTICAL DISPLAYED (30 ROWS)
|
||||
.DB 22H ; R7 VERTICAL SYNC
|
||||
.DB 078H ; R8 MODE B7=0 TRANSPARENT UPDATE DURING BLANKING
|
||||
; ; B6=1 PIN 34 IS UPDATE STROBE
|
||||
; ; B5=1 DELAY CURSOR 1 CHARACTER
|
||||
; ; B4=1 DELAY DISPLAY ENABLE 1 CHARACTER
|
||||
; ; B3=1 TRANSPARENT MEMORY ADDRESSING
|
||||
; ; B2=0 RAM STRAIGHT BINARY ADDRESSING
|
||||
; ; B1,B0=0 NON-INTERLACE
|
||||
.DB DSCANL-1 ; R9 SCAN LINE (LINES PER CHAR AND SPACING -1)
|
||||
.DB VDU_R10 ; R10 CURSOR START RASTER
|
||||
.DB VDU_R11 ; R11 CURSOR END RASTER
|
||||
.DB 00H ; R12 START ADDRESS HI
|
||||
.DB 00H ; R13 START ADDRESS LO
|
||||
.DB 00H ; R14 CURSOR ADDRESS HI
|
||||
.DB 00H ; R15 CURSOR ADDRESS LO
|
||||
;
|
||||
#ENDIF
|
||||
#IF (VDUSIZ=V80X25B)
|
||||
;==================================================================================================
|
||||
; VDU DRIVER - SY6845 REGISTER INITIALIZATION -80x25 12x8 TO SUIT BLOCK GRAPHICS
|
||||
;==================================================================================================
|
||||
VDU_INIT6845:
|
||||
.DB 07FH ; R0 TOTAL NUMBER OF HORIZONTAL CHARACTERS (DETERMINES HSYNC)
|
||||
.DB DROWS ; R1 NUMBER OF HORIZONTAL CHARACTERS DISPLAYED =80
|
||||
.DB 060H ; R2 HORIZONTAL SYNC POSITION
|
||||
.DB 00CH ; R3 SYNC WIDTHS
|
||||
.DB 19H ; R4 VERTICAL TOTAL (TOTAL CHARS IN A FRAME -1) (312/DLINES)-1
|
||||
.DB 00H ; R5 VERTICAL TOTAL ADJUST (312-(R4+1)*DSCANL)
|
||||
.DB DLINES ; R6 VERTICAL DISPLAY
|
||||
.DB 019H ; R7 VERTICAL SYNC (DLINES .. R4)
|
||||
.DB 078H ; R8 MODE B7=0 TRANSPARENT UPDATE DURING BLANKING
|
||||
; ; B6=1 PIN 34 IS UPDATE STROBE
|
||||
; ; B5=1 DELAY CURSOR 1 CHARACTER
|
||||
; ; B4=1 DELAY DISPLAY ENABLE 1 CHARACTER
|
||||
; ; B3=1 TRANSPARENT MEMORY ADDRESSING
|
||||
; ; B2=0 RAM STRAIGHT BINARY ADDRESSING
|
||||
; ; B1,B0=0 NON-INTERLACE
|
||||
.DB DSCANL-1 ; R9 SCAN LINE (LINES PER CHAR AND SPACING -1)
|
||||
.DB VDU_R10 ; R10 CURSOR START RASTER
|
||||
.DB VDU_R11 ; R11 CURSOR END RASTER
|
||||
.DB 00H ; R12 START ADDRESS HI
|
||||
.DB 00H ; R13 START ADDRESS LO
|
||||
.DB 00H ; R14 CURSOR ADDRESS HI
|
||||
.DB 00H ; R15 CURSOR ADDRESS LO
|
||||
;
|
||||
#ENDIF
|
||||
#IF (VDUSIZ=V80X24B)
|
||||
;==================================================================================================
|
||||
; VDU DRIVER - SY6845 REGISTER INITIALIZATION -80x24 12x8 TO SUIT BLOCK GRAPHICS
|
||||
;==================================================================================================
|
||||
VDU_INIT6845:
|
||||
.DB 07FH ; R0 TOTAL NUMBER OF HORIZONTAL CHARACTERS (DETERMINES HSYNC)
|
||||
.DB DROWS ; R1 NUMBER OF HORIZONTAL CHARACTERS DISPLAYED =80
|
||||
.DB 060H ; R2 HORIZONTAL SYNC POSITION
|
||||
.DB 00CH ; R3 SYNC WIDTHS
|
||||
.DB 19H ; R4 VERTICAL TOTAL (TOTAL CHARS IN A FRAME -1) (312/DLINES)-1
|
||||
.DB 00H ; R5 VERTICAL TOTAL ADJUST (312-(R4+1)*DSCANL)
|
||||
.DB DLINES ; R6 VERTICAL DISPLAY
|
||||
.DB 018H ; R7 VERTICAL SYNC (DLINES .. R4)
|
||||
.DB 078H ; R8 MODE B7=0 TRANSPARENT UPDATE DURING BLANKING
|
||||
; ; B6=1 PIN 34 IS UPDATE STROBE
|
||||
; ; B5=1 DELAY CURSOR 1 CHARACTER
|
||||
; ; B4=1 DELAY DISPLAY ENABLE 1 CHARACTER
|
||||
; ; B3=1 TRANSPARENT MEMORY ADDRESSING
|
||||
; ; B2=0 RAM STRAIGHT BINARY ADDRESSING
|
||||
; ; B1,B0=0 NON-INTERLACE
|
||||
.DB DSCANL-1 ; R9 SCAN LINE (LINES PER CHAR AND SPACING -1)
|
||||
.DB VDU_R10 ; R10 CURSOR START RASTER
|
||||
.DB VDU_R11 ; R11 CURSOR END RASTER
|
||||
.DB 00H ; R12 START ADDRESS HI
|
||||
.DB 00H ; R13 START ADDRESS LO
|
||||
.DB 00H ; R14 CURSOR ADDRESS HI
|
||||
.DB 00H ; R15 CURSOR ADDRESS LO
|
||||
;
|
||||
#ENDIF
|
||||
; CCIR 625/50 VERSION (USED IN MOST OF THE WORLD)
|
||||
; JUMPER K1 2-3, K2 1-2 FOR 2MHz CHAR CLOCK
|
||||
;
|
||||
@@ -723,7 +581,127 @@ VDU_INIT6845:
|
||||
; 15625 / 312 = 50.08 FIELDS PER SECOND (NEAR ENOUGH-DGG)
|
||||
;
|
||||
;
|
||||
; .DB 078H ; R8 MODE B7=0 TRANSPARENT UPDATE DURING BLANKING
|
||||
; ; B6=1 PIN 34 IS UPDATE STROBE
|
||||
; ; B5=1 DELAY CURSOR 1 CHARACTER
|
||||
; ; B4=1 DELAY DISPLAY ENABLE 1 CHARACTER
|
||||
; ; B3=1 TRANSPARENT MEMORY ADDRESSING
|
||||
; ; B2=0 RAM STRAIGHT BINARY ADDRESSING
|
||||
; ; B1,B0=0 NON-INTERLACE
|
||||
VDU_INIT6845:
|
||||
#IF (VDUSIZ=V80X24)
|
||||
;==================================================================================================
|
||||
; VDU DRIVER - SY6845 REGISTER INITIALIZATION -80x24 10x8
|
||||
;==================================================================================================
|
||||
;
|
||||
.DB 07FH ; R0 TOTAL NUMBER OF HORIZONTAL CHARACTERS (DETERMINES HSYNC)
|
||||
.DB DROWS ; R1 NUMBER OF HORIZONTAL CHARACTERS DISPLAYED (80 COLUMNS)
|
||||
.DB 060H ; R2 HORIZONTAL SYNC POSITION
|
||||
.DB 00CH ; R3 SYNC WIDTHS
|
||||
.DB 01EH ; R4 VERTICAL TOTAL (TOTAL CHARS IN A FRAME 30-1)
|
||||
.DB 002H ; R5 VERTICAL TOTAL ADJUST (
|
||||
.DB DLINES ; R6 VERTICAL DISPLAYED (24 ROWS)
|
||||
.DB 01AH ; R7 VERTICAL SYNC
|
||||
.DB 078H ; R8 MODE
|
||||
.DB DSCANL-1 ; R9 SCAN LINE (LINES PER CHAR AND SPACING -1)
|
||||
.DB VDU_R10 ; R10 CURSOR START RASTER
|
||||
.DB VDU_R11 ; R11 CURSOR END RASTER
|
||||
.DB 00H ; R12 START ADDRESS HI
|
||||
.DB 00H ; R13 START ADDRESS LO
|
||||
.DB 00H ; R14 CURSOR ADDRESS HI
|
||||
.DB 00H ; R15 CURSOR ADDRESS LO
|
||||
#ENDIF
|
||||
#IF (VDUSIZ=V80X25)
|
||||
;==================================================================================================
|
||||
; VDU DRIVER - SY6845 REGISTER INITIALIZATION -80x25 10x8
|
||||
;==================================================================================================
|
||||
;
|
||||
.DB 07FH ; R0 TOTAL NUMBER OF HORIZONTAL CHARACTERS (DETERMINES HSYNC)
|
||||
.DB DROWS ; R1 NUMBER OF HORIZONTAL CHARACTERS DISPLAYED =80
|
||||
.DB 060H ; R2 HORIZONTAL SYNC POSITION
|
||||
.DB 00CH ; R3 SYNC WIDTHS
|
||||
.DB 01EH ; R4 VERTICAL TOTAL (TOTAL CHARS IN A FRAME 30-1)
|
||||
.DB 002H ; R5 VERTICAL TOTAL ADJUST (
|
||||
.DB DLINES ; R6 VERTICAL DISPLAYED (25 ROWS)
|
||||
.DB 01BH ; R7 VERTICAL SYNC
|
||||
.DB 078H ; R8 MODE
|
||||
.DB DSCANL-1 ; R9 SCAN LINE (LINES PER CHAR AND SPACING -1)
|
||||
.DB VDU_R10 ; R10 CURSOR START RASTER
|
||||
.DB VDU_R11 ; R11 CURSOR END RASTER
|
||||
.DB 00H ; R12 START ADDRESS HI
|
||||
.DB 00H ; R13 START ADDRESS LO
|
||||
.DB 00H ; R14 CURSOR ADDRESS HI
|
||||
.DB 00H ; R15 CURSOR ADDRESS LO
|
||||
#ENDIF
|
||||
#IF (VDUSIZ=V80X30)
|
||||
;==================================================================================================
|
||||
; VDU DRIVER - SY6845 REGISTER INITIALIZATION -80x30 8x8
|
||||
;==================================================================================================
|
||||
;
|
||||
.DB 07FH ; R0 TOTAL NUMBER OF HORIZONTAL CHARACTERS (DETERMINES HSYNC)
|
||||
.DB DROWS ; R1 NUMBER OF HORIZONTAL CHARACTERS DISPLAYED =80
|
||||
.DB 060H ; R2 HORIZONTAL SYNC POSITION
|
||||
.DB 00CH ; R3 SYNC WIDTHS
|
||||
.DB 26H ; R4 VERTICAL TOTAL (TOTAL CHARS IN A FRAME -1) (39-1)
|
||||
.DB 00H ; R5 VERTICAL TOTAL ADJUST (
|
||||
.DB DLINES ; R6 VERTICAL DISPLAYED (30 ROWS)
|
||||
.DB 22H ; R7 VERTICAL SYNC
|
||||
.DB 078H ; R8 MODE
|
||||
.DB DSCANL-1 ; R9 SCAN LINE (LINES PER CHAR AND SPACING -1)
|
||||
.DB VDU_R10 ; R10 CURSOR START RASTER
|
||||
.DB VDU_R11 ; R11 CURSOR END RASTER
|
||||
.DB 00H ; R12 START ADDRESS HI
|
||||
.DB 00H ; R13 START ADDRESS LO
|
||||
.DB 00H ; R14 CURSOR ADDRESS HI
|
||||
.DB 00H ; R15 CURSOR ADDRESS LO
|
||||
#ENDIF
|
||||
#IF (VDUSIZ=V80X25B)
|
||||
;==================================================================================================
|
||||
; VDU DRIVER - SY6845 REGISTER INITIALIZATION -80x25 12x8 TO SUIT BLOCK GRAPHICS
|
||||
;==================================================================================================
|
||||
;
|
||||
.DB 07FH ; R0 TOTAL NUMBER OF HORIZONTAL CHARACTERS (DETERMINES HSYNC)
|
||||
.DB DROWS ; R1 NUMBER OF HORIZONTAL CHARACTERS DISPLAYED =80
|
||||
.DB 060H ; R2 HORIZONTAL SYNC POSITION
|
||||
.DB 00CH ; R3 SYNC WIDTHS
|
||||
.DB 19H ; R4 VERTICAL TOTAL (TOTAL CHARS IN A FRAME -1) (312/DLINES)-1
|
||||
.DB 00H ; R5 VERTICAL TOTAL ADJUST (312-(R4+1)*DSCANL)
|
||||
.DB DLINES ; R6 VERTICAL DISPLAY
|
||||
.DB 019H ; R7 VERTICAL SYNC (DLINES .. R4)
|
||||
.DB 078H ; R8 MODE
|
||||
.DB DSCANL-1 ; R9 SCAN LINE (LINES PER CHAR AND SPACING -1)
|
||||
.DB VDU_R10 ; R10 CURSOR START RASTER
|
||||
.DB VDU_R11 ; R11 CURSOR END RASTER
|
||||
.DB 00H ; R12 START ADDRESS HI
|
||||
.DB 00H ; R13 START ADDRESS LO
|
||||
.DB 00H ; R14 CURSOR ADDRESS HI
|
||||
.DB 00H ; R15 CURSOR ADDRESS LO
|
||||
#ENDIF
|
||||
#IF (VDUSIZ=V80X24B)
|
||||
;==================================================================================================
|
||||
; VDU DRIVER - SY6845 REGISTER INITIALIZATION -80x24 12x8 TO SUIT BLOCK GRAPHICS
|
||||
;==================================================================================================
|
||||
;
|
||||
.DB 07FH ; R0 TOTAL NUMBER OF HORIZONTAL CHARACTERS (DETERMINES HSYNC)
|
||||
.DB DROWS ; R1 NUMBER OF HORIZONTAL CHARACTERS DISPLAYED =80
|
||||
.DB 060H ; R2 HORIZONTAL SYNC POSITION
|
||||
.DB 00CH ; R3 SYNC WIDTHS
|
||||
.DB 19H ; R4 VERTICAL TOTAL (TOTAL CHARS IN A FRAME -1) (312/DLINES)-1
|
||||
.DB 00H ; R5 VERTICAL TOTAL ADJUST (312-(R4+1)*DSCANL)
|
||||
.DB DLINES ; R6 VERTICAL DISPLAY
|
||||
.DB 018H ; R7 VERTICAL SYNC (DLINES .. R4)
|
||||
.DB 078H ; R8 MODE
|
||||
.DB DSCANL-1 ; R9 SCAN LINE (LINES PER CHAR AND SPACING -1)
|
||||
.DB VDU_R10 ; R10 CURSOR START RASTER
|
||||
.DB VDU_R11 ; R11 CURSOR END RASTER
|
||||
.DB 00H ; R12 START ADDRESS HI
|
||||
.DB 00H ; R13 START ADDRESS LO
|
||||
.DB 00H ; R14 CURSOR ADDRESS HI
|
||||
.DB 00H ; R15 CURSOR ADDRESS LO
|
||||
;
|
||||
#ENDIF
|
||||
;
|
||||
;;==================================================================================================
|
||||
; VDU DRIVER - INSTANCE DATA
|
||||
;==================================================================================================
|
||||
;
|
||||
|
||||
Reference in New Issue
Block a user