mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 14:11:48 -06:00
Whitespace changes (crlf)
This commit is contained in:
@@ -112,11 +112,11 @@ CVDU_VDAQRY:
|
||||
LD HL,0 ; EXTRACTION OF CURRENT BITMAP DATA NOT SUPPORTED YET
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
|
||||
|
||||
CVDU_VDARES:
|
||||
LD A,$0E ; ATTRIBUTE IS STANDARD WHITE ON BLACK
|
||||
LD (CVDU_ATTR),A ; SAVE IT
|
||||
|
||||
|
||||
LD DE,0 ; ROW = 0, COL = 0
|
||||
CALL CVDU_XY ; SEND CURSOR TO TOP LEFT
|
||||
LD A,' ' ; BLANK THE SCREEN
|
||||
@@ -124,7 +124,7 @@ CVDU_VDARES:
|
||||
CALL CVDU_FILL ; DO IT
|
||||
LD DE,0 ; ROW = 0, COL = 0
|
||||
CALL CVDU_XY ; SEND CURSOR TO TOP LEFT
|
||||
|
||||
|
||||
XOR A
|
||||
RET
|
||||
|
||||
@@ -133,15 +133,15 @@ CVDU_VDADEV:
|
||||
LD E,0 ; E := PHYSICAL UNIT IS ALWAYS ZERO
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
|
||||
|
||||
CVDU_VDASCS:
|
||||
CALL PANIC ; NOT IMPLEMENTED (YET)
|
||||
|
||||
|
||||
CVDU_VDASCP:
|
||||
CALL CVDU_XY ; SET CURSOR POSITION
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
|
||||
|
||||
CVDU_VDASAT:
|
||||
; INCOMING IS: -----RUB (R=REVERSE, U=UNDERLINE, B=BLINK)
|
||||
; TRANSFORM TO: -RUB----
|
||||
@@ -158,7 +158,7 @@ CVDU_VDASAT:
|
||||
LD (CVDU_ATTR),A ; AND SAVE THE RESULT
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
|
||||
|
||||
CVDU_VDASCO:
|
||||
; INCOMING IS: IBGRIBGR (I=INTENSITY, B=BLUE, G=GREEN, R=RED)
|
||||
; TRANSFORM TO: ----RGBI (DISCARD BACKGROUND COLOR IN HIGH NIBBLE)
|
||||
@@ -175,13 +175,13 @@ CVDU_VDASCO1:
|
||||
LD (CVDU_ATTR),A ; AND SAVE THE RESULT
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
|
||||
|
||||
CVDU_VDAWRC:
|
||||
LD A,E ; CHARACTER TO WRITE GOES IN A
|
||||
CALL CVDU_PUTCHAR ; PUT IT ON THE SCREEN
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
|
||||
|
||||
CVDU_VDAFIL:
|
||||
LD A,E ; FILL CHARACTER GOES IN A
|
||||
EX DE,HL ; FILL LENGTH GOES IN DE
|
||||
@@ -197,7 +197,7 @@ CVDU_VDACPY:
|
||||
POP BC ; RECOVER LENGTH IN BC
|
||||
LD DE,(CVDU_POS) ; PUT DEST IN DE
|
||||
JP CVDU_BLKCPY ; DO A BLOCK COPY
|
||||
|
||||
|
||||
CVDU_VDASCR:
|
||||
LD A,E ; LOAD E INTO A
|
||||
OR A ; SET FLAGS
|
||||
@@ -246,7 +246,7 @@ CVDU_WRX:
|
||||
;----------------------------------------------------------------------
|
||||
; READ M8563 REGISTERS
|
||||
; CVDU_RD READS VDU REGISTER SPECIFIED IN C AND RETURNS VALUE IN A
|
||||
; CVDU_RDX READS VDU REGISTER PAIR SPECIFIED BY C, C+1
|
||||
; CVDU_RDX READS VDU REGISTER PAIR SPECIFIED BY C, C+1
|
||||
; AND RETURNS VALUE IN HL
|
||||
;----------------------------------------------------------------------
|
||||
;
|
||||
@@ -317,7 +317,7 @@ CVDU_CRTINIT1:
|
||||
; ASSUMES THAT VDU RAM SIZE IS SET FOR 64KB ABOVE
|
||||
; A. WRITE ZERO TO ADDRESS $0000
|
||||
; B. WRITE NON-ZERO TO ADDRESS $0100
|
||||
; C. CHECK THE VALUE IN ADDRESS $0000; IF IT CHANGED,
|
||||
; C. CHECK THE VALUE IN ADDRESS $0000; IF IT CHANGED,
|
||||
; 16K DRAM CHIPS INSTALLED; IF NOT, 64K DRAM CHIPS INSTALLED
|
||||
; IF 16KB RAM DETECTED, ADJUST VDU REGISTERS APPROPRIATELY
|
||||
;
|
||||
@@ -367,7 +367,7 @@ CVDU_LOADFONT:
|
||||
LD (CVDU_STACK),SP ; SAVE STACK
|
||||
LD HL,(CVDU_STACK) ; AND SHIFT IT
|
||||
LD DE,$2000 ; DOWN 4KB TO
|
||||
CCF ; CREATE A
|
||||
CCF ; CREATE A
|
||||
SBC HL,DE ; DECOMPRESSION BUFFER
|
||||
LD SP,HL ; HL POINTS TO BUFFER
|
||||
EX DE,HL ; START OF STACK BUFFER
|
||||
@@ -475,19 +475,19 @@ CVDU_FILL:
|
||||
POP DE ; RECOVER FILL COUNT
|
||||
LD A,(CVDU_ATTR) ; SET ATTRIBUTE VALUE FOR ATTRIBUTE FILL
|
||||
JR CVDU_FILL1 ; DO ATTRIBUTE FILL AND RETURN
|
||||
|
||||
|
||||
CVDU_FILL1:
|
||||
LD B,A ; SAVE REQUESTED FILL VALUE
|
||||
|
||||
|
||||
; CHECK FOR VALID FILL LENGTH
|
||||
LD A,D ; LOAD D
|
||||
OR E ; OR WITH E
|
||||
RET Z ; BAIL OUT IF LENGTH OF ZERO SPECIFIED
|
||||
|
||||
|
||||
; POINT TO BUFFER LOCATION TO START FILL
|
||||
LD C,18 ; UPDATE ADDRESS REGISTER PAIR
|
||||
CALL CVDU_WRX ; DO IT
|
||||
|
||||
|
||||
; SET MODE TO BLOCK WRITE
|
||||
LD C,24 ; BLOCK MODE CONTROL REGISTER
|
||||
CALL CVDU_RD ; GET CURRENT VALUE
|
||||
@@ -499,7 +499,7 @@ CVDU_FILL1:
|
||||
LD C,31 ; DATA REGISTER
|
||||
CALL CVDU_WR ; DO IT
|
||||
DEC DE ; REFLECT ONE CHARACTER WRITTEN
|
||||
|
||||
|
||||
; LOOP TO DO BULK WRITE (UP TO 255 BYTES PER LOOP)
|
||||
EX DE,HL ; NOW USE HL FOR COUNT
|
||||
LD C,30 ; BYTE COUNT REGISTER
|
||||
@@ -527,7 +527,7 @@ CVDU_SCROLL:
|
||||
LD A,' ' ; CHAR VALUE TO FILL NEW EXPOSED LINE
|
||||
LD HL,0 ; SOURCE ADDRESS OF CHARACER BUFFER
|
||||
CALL CVDU_SCROLL1 ; SCROLL CHARACTER BUFFER
|
||||
|
||||
|
||||
; SCROLL THE ATTRIBUTE BUFFER
|
||||
LD A,(CVDU_ATTR) ; ATTRIBUTE VALUE TO FILL NEW EXPOSED LINE
|
||||
LD HL,$800 ; SOURCE ADDRESS OF ATTRIBUTE BUFFER
|
||||
@@ -535,7 +535,7 @@ CVDU_SCROLL:
|
||||
|
||||
CVDU_SCROLL1:
|
||||
PUSH AF ; SAVE FILL VALUE FOR NOW
|
||||
|
||||
|
||||
; SET MODE TO BLOCK COPY
|
||||
LD C,24 ; BLOCK MODE CONTROL REGISTER
|
||||
CALL CVDU_RD ; GET CURRENT VALUE
|
||||
@@ -563,13 +563,13 @@ CVDU_SCROLL2:
|
||||
|
||||
; LOOP TILL DONE WITH ALL LINES
|
||||
DJNZ CVDU_SCROLL2 ; REPEAT FOR ALL LINES
|
||||
|
||||
|
||||
; SET MODE TO BLOCK WRITE TO CLEAR NEW LINE EXPOSED BY SCROLL
|
||||
LD C,24 ; BLOCK MODE CONTROL REGISTER
|
||||
CALL CVDU_RD ; GET CURRENT VALUE
|
||||
AND $7F ; CLEAR BIT 7 FOR FILL MODE
|
||||
CALL CVDU_WR ; DO IT
|
||||
|
||||
|
||||
; SET VALUE TO WRITE
|
||||
POP AF ; RESTORE THE FILL VALUE PASSED IN
|
||||
LD C,31 ; DATA REGISTER
|
||||
@@ -579,7 +579,7 @@ CVDU_SCROLL2:
|
||||
LD A,CVDU_COLS - 1 ; SET WRITE COUNT TO LINE LENGTH - 1 (1 CHAR ALREADY WRITTEN)
|
||||
LD C,30 ; WORD COUNT REGISTER
|
||||
CALL CVDU_WR ; DO IT
|
||||
|
||||
|
||||
RET
|
||||
;
|
||||
;----------------------------------------------------------------------
|
||||
@@ -591,7 +591,7 @@ CVDU_RSCROLL:
|
||||
LD A,' ' ; CHAR VALUE TO FILL NEW EXPOSED LINE
|
||||
LD HL,$0 + ((CVDU_ROWS - 1) * CVDU_COLS) ; SOURCE ADDRESS OF CHARACER BUFFER
|
||||
CALL CVDU_RSCROLL1 ; SCROLL CHARACTER BUFFER
|
||||
|
||||
|
||||
; SCROLL THE ATTRIBUTE BUFFER
|
||||
LD A,(CVDU_ATTR) ; ATTRIBUTE VALUE TO FILL NEW EXPOSED LINE
|
||||
LD HL,$800 + ((CVDU_ROWS - 1) * CVDU_COLS) ; SOURCE ADDRESS OF ATTRIBUTE BUFFER
|
||||
@@ -599,7 +599,7 @@ CVDU_RSCROLL:
|
||||
|
||||
CVDU_RSCROLL1:
|
||||
PUSH AF ; SAVE FILL VALUE FOR NOW
|
||||
|
||||
|
||||
; SET MODE TO BLOCK COPY
|
||||
LD C,24 ; BLOCK MODE CONTROL REGISTER
|
||||
CALL CVDU_RD ; GET CURRENT VALUE
|
||||
@@ -629,7 +629,7 @@ CVDU_RSCROLL2:
|
||||
CALL CVDU_WR ; DO IT
|
||||
|
||||
DJNZ CVDU_RSCROLL2 ; REPEAT FOR ALL LINES
|
||||
|
||||
|
||||
; SET FILL DESTINATION (USING HL PASSED IN)
|
||||
LD C,18 ; UPDATE ADDRESS (DESTINATION) REGISTER
|
||||
CALL CVDU_WRX ; DO IT
|
||||
@@ -639,7 +639,7 @@ CVDU_RSCROLL2:
|
||||
CALL CVDU_RD ; GET CURRENT VALUE
|
||||
AND $7F ; CLEAR BIT 7 FOR FILL MODE
|
||||
CALL CVDU_WR ; DO IT
|
||||
|
||||
|
||||
; SET VALUE TO WRITE
|
||||
POP AF ; RESTORE THE FILL VALUE PASSED IN
|
||||
LD C,31 ; DATA REGISTER
|
||||
@@ -649,7 +649,7 @@ CVDU_RSCROLL2:
|
||||
LD A,CVDU_COLS - 1 ; SET WRITE COUNT TO LINE LENGTH - 1 (1 CHAR ALREADY WRITTEN)
|
||||
LD C,30 ; WORD COUNT REGISTER
|
||||
CALL CVDU_WR ; DO IT
|
||||
|
||||
|
||||
RET
|
||||
;
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
@@ -295,7 +295,7 @@ DB_CONTD:
|
||||
JP DB_BLKRD ;
|
||||
|
||||
DB_END:
|
||||
RET
|
||||
RET
|
||||
;
|
||||
; PRINT THE nTH STRING IN A LIST OF STRINGS WHERE EACH IS TERMINATED BY $
|
||||
; C REGISTER CONTAINS THE INDEX TO THE STRING TO BE DISPLAYED.
|
||||
@@ -322,7 +322,7 @@ PRTIDXMSK1:
|
||||
POP BC
|
||||
;
|
||||
; PRINT THE nTH STRING IN A LIST OF STRINGS WHERE EACH IS TERMINATED BY $
|
||||
; A REGISTER DEFINES THE nTH STRING IN THE LIST TO PRINT AND DE POINTS
|
||||
; A REGISTER DEFINES THE nTH STRING IN THE LIST TO PRINT AND DE POINTS
|
||||
; TO THE START OF THE STRING LIST.
|
||||
;
|
||||
; SLOW BUT IMPROVES CODE SIZE, READABILITY AND ELIMINATES THE NEED HAVE
|
||||
@@ -410,7 +410,7 @@ XREGDMP:
|
||||
LD A,'@'
|
||||
CALL COUT
|
||||
POP AF
|
||||
|
||||
|
||||
PUSH BC
|
||||
LD BC,(REGDMP_PC)
|
||||
CALL PRTHEXWORD ; PC
|
||||
@@ -434,7 +434,7 @@ XREGDMP:
|
||||
CALL PC_COLON
|
||||
LD BC,(REGDMP_SP)
|
||||
CALL PRTHEXWORD ; SP
|
||||
|
||||
|
||||
CALL PC_COLON
|
||||
PUSH IX
|
||||
POP BC
|
||||
@@ -454,7 +454,7 @@ XREGDMP:
|
||||
POP AF
|
||||
|
||||
;LD SP,(RD_STKSAV) ; BACK TO ORIGINAL STACK FRAME
|
||||
|
||||
|
||||
JP $FFFF ; RETURN, $FFFF IS DYNAMICALLY UPDATED
|
||||
REGDMP_RET .EQU $-2 ; RETURN ADDRESS GOES HERE
|
||||
;
|
||||
@@ -666,8 +666,8 @@ DELAY_INIT:
|
||||
#IF (BIOS == BIOS_UNA)
|
||||
LD C,$F8 ; UNA BIOS GET PHI FUNCTION
|
||||
RST 08 ; RETURNS SPEED IN HZ IN DE:HL
|
||||
LD B,4 ; DIVIDE MHZ IN DE:HL BY 100000H
|
||||
DELAY_INIT0:
|
||||
LD B,4 ; DIVIDE MHZ IN DE:HL BY 100000H
|
||||
DELAY_INIT0:
|
||||
SRL D ; ... TO GET APPROX CPU SPEED IN
|
||||
RR E ; ...MHZ. THROW AWAY HL, AND
|
||||
DJNZ DELAY_INIT0 ; ...RIGHT SHIFT DE BY 4.
|
||||
@@ -772,13 +772,13 @@ DIV16:
|
||||
DIV16A:
|
||||
SCF
|
||||
RL C
|
||||
RLA
|
||||
ADC HL,HL
|
||||
SBC HL,DE
|
||||
JR NC,DIV16B
|
||||
ADD HL,DE
|
||||
DEC C
|
||||
DIV16B:
|
||||
RLA
|
||||
ADC HL,HL
|
||||
SBC HL,DE
|
||||
JR NC,DIV16B
|
||||
ADD HL,DE
|
||||
DEC C
|
||||
DIV16B:
|
||||
DJNZ DIV16A ; LOOP AS NEEDED
|
||||
LD B,A ; AC -> BC
|
||||
LD A,H ; SET ZF
|
||||
@@ -985,7 +985,7 @@ SUB32:
|
||||
RET
|
||||
;
|
||||
; INC32 (HL)
|
||||
; INCREMENT 32 BIT BINARY AT ADDRESS
|
||||
; INCREMENT 32 BIT BINARY AT ADDRESS
|
||||
;
|
||||
INC32HL:
|
||||
INC (HL)
|
||||
|
||||
@@ -47,40 +47,40 @@ VDU_BLNK .EQU VDU_NOBL ; DEFAULT BLINK RATE
|
||||
TERMENABLE .SET TRUE ; INCLUDE TERMINAL PSEUDODEVICE DRIVER
|
||||
;
|
||||
#IF (VDUSIZ=V80X24)
|
||||
DLINES .EQU 24
|
||||
DLINES .EQU 24
|
||||
DROWS .EQU 80
|
||||
DSCANL .EQU 10
|
||||
#ENDIF
|
||||
#IF (VDUSIZ=V80X25)
|
||||
DLINES .EQU 25
|
||||
DLINES .EQU 25
|
||||
DROWS .EQU 80
|
||||
DSCANL .EQU 10
|
||||
#ENDIF
|
||||
#IF (VDUSIZ=V80X30)
|
||||
DLINES .EQU 30
|
||||
DLINES .EQU 30
|
||||
DROWS .EQU 80
|
||||
DSCANL .EQU 8
|
||||
#ENDIF
|
||||
#IF (VDUSIZ=V80X25B)
|
||||
DLINES .EQU 25
|
||||
DLINES .EQU 25
|
||||
DROWS .EQU 80
|
||||
DSCANL .EQU 12
|
||||
#ENDIF
|
||||
#IF (VDUSIZ=V80X24B)
|
||||
DLINES .EQU 24
|
||||
DLINES .EQU 24
|
||||
DROWS .EQU 80
|
||||
DSCANL .EQU 12
|
||||
#ENDIF
|
||||
;
|
||||
#IF VDU_CSTY=VDU_BLOK
|
||||
VDU_R10 .EQU (VDU_BLNK + $00)
|
||||
VDU_R10 .EQU (VDU_BLNK + $00)
|
||||
VDU_R11 .EQU DSCANL-1
|
||||
#ENDIF
|
||||
;
|
||||
#IF VDU_CSTY=VDU_ULIN
|
||||
VDU_R10 .EQU (VDU_BLNK + DSCANL-1)
|
||||
VDU_R10 .EQU (VDU_BLNK + DSCANL-1)
|
||||
VDU_R11 .EQU DSCANL-1
|
||||
#ENDIF
|
||||
#ENDIF
|
||||
;
|
||||
;======================================================================
|
||||
; VDU DRIVER - INITIALIZATION
|
||||
@@ -127,7 +127,7 @@ VDU_INIT1:
|
||||
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
;
|
||||
;======================================================================
|
||||
; VDU DRIVER - VIDEO DISPLAY ADAPTER (VDA) FUNCTIONS
|
||||
;======================================================================
|
||||
@@ -165,7 +165,7 @@ VDU_VDAQRY:
|
||||
LD HL,0 ; EXTRACTION OF CURRENT BITMAP DATA NOT SUPPORTED
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
|
||||
|
||||
VDU_VDARES:
|
||||
LD DE,0
|
||||
LD (VDU_OFFSET),DE
|
||||
@@ -202,26 +202,26 @@ VDU_VDASCS:
|
||||
|
||||
XOR A
|
||||
RET
|
||||
|
||||
|
||||
VDU_VDASCP:
|
||||
CALL VDU_XY
|
||||
XOR A
|
||||
RET
|
||||
|
||||
|
||||
VDU_VDASAT:
|
||||
XOR A
|
||||
RET
|
||||
|
||||
|
||||
VDU_VDASCO:
|
||||
XOR A
|
||||
RET
|
||||
|
||||
|
||||
VDU_VDAWRC:
|
||||
LD A,E
|
||||
CALL VDU_PUTCHAR
|
||||
XOR A
|
||||
RET
|
||||
|
||||
|
||||
VDU_VDAFIL:
|
||||
LD A,E ; FILL CHARACTER GOES IN A
|
||||
EX DE,HL ; FILL LENGTH GOES IN DE
|
||||
@@ -236,9 +236,9 @@ VDU_VDACPY:
|
||||
POP BC ; RECOVER LENGTH IN BC
|
||||
LD DE,(VDU_POS) ; PUT DEST IN DE
|
||||
JP VDU_BLKCPY ; DO A BLOCK COPY
|
||||
|
||||
|
||||
RET
|
||||
|
||||
|
||||
VDU_VDASCR:
|
||||
LD A,E ; LOAD E INTO A
|
||||
OR A ; SET FLAGS
|
||||
@@ -293,7 +293,7 @@ VDU_WRREGX:
|
||||
;----------------------------------------------------------------------
|
||||
; READ SY6845 REGISTERS
|
||||
; VDU_RDREG READS VDU REGISTER SPECIFIED IN C AND RETURNS VALUE IN A
|
||||
; VDU_RDREGX READS VDU REGISTER PAIR SPECIFIED BY C, C+1
|
||||
; VDU_RDREGX READS VDU REGISTER PAIR SPECIFIED BY C, C+1
|
||||
; AND RETURNS VALUE IN HL
|
||||
;----------------------------------------------------------------------
|
||||
;
|
||||
@@ -398,13 +398,13 @@ VDU_PUTCHAR:
|
||||
INC HL ; NEW CURSOR POSITION
|
||||
LD C,14 ; CURSOR POSITION REGISTER PAIR
|
||||
CALL VDU_WRREGX ; DO IT
|
||||
|
||||
|
||||
LD A,31 ; PREP VDU FOR DATA R/W
|
||||
OUT (VDU_REG),A
|
||||
CALL VDU_WAITRDY ; WAIT FOR VDU TO BE READY
|
||||
LD A,B
|
||||
OUT (VDU_RAMWR),A ; OUTPUT CHAR TO VDU
|
||||
|
||||
|
||||
RET
|
||||
;
|
||||
;----------------------------------------------------------------------
|
||||
@@ -431,7 +431,7 @@ VDU_FILL:
|
||||
OUT (VDU_REG),A
|
||||
VDU_FILL1:
|
||||
LD A,D ; CHECK NUMBER OF FILL CHARS LEFT
|
||||
OR E
|
||||
OR E
|
||||
RET Z ; ALL DONE, RETURN
|
||||
CALL VDU_WAITRDY ; WAIT FOR VDU TO BE READY
|
||||
LD A,B
|
||||
@@ -481,7 +481,7 @@ VDU_BLKCPY1: ; VIDEO RAM -> BUFFER COPY LOOP
|
||||
OUT (VDU_REG),A ; DO IT
|
||||
LD HL,VDU_BUF ; HL POINTS TO WORK BUFFER
|
||||
LD C,VDU_RAMWR ; LOAD C WITH VDU WRITE REGISTER
|
||||
|
||||
|
||||
VDU_BLKCPY2: ; BUFFER -> VIDEO RAM COPY LOOP
|
||||
CALL VDU_WAITRDY ; WAIT FOR VDU
|
||||
OUTI ; WRITE BYTE, DEC B, INC HL
|
||||
@@ -501,7 +501,7 @@ VDU_SCROLL:
|
||||
LD (VDU_OFFSET),HL
|
||||
LD C,12
|
||||
CALL VDU_WRREGX
|
||||
|
||||
|
||||
; FILL EXPOSED LINE
|
||||
LD HL,(VDU_POS)
|
||||
PUSH HL
|
||||
@@ -512,7 +512,7 @@ VDU_SCROLL:
|
||||
CALL VDU_FILL
|
||||
POP HL
|
||||
LD (VDU_POS),HL
|
||||
|
||||
|
||||
; ADJUST CURSOR POSITION AND RETURN
|
||||
LD HL,(VDU_OFFSET)
|
||||
LD DE,(VDU_POS)
|
||||
@@ -543,7 +543,7 @@ VDU_RSCROLL:
|
||||
CALL VDU_FILL
|
||||
POP HL
|
||||
LD (VDU_POS),HL
|
||||
|
||||
|
||||
; ADJUST CURSOR POSITION AND RETURN
|
||||
LD HL,(VDU_OFFSET)
|
||||
LD DE,(VDU_POS)
|
||||
@@ -566,7 +566,7 @@ VDU_BUF .FILL 256,0 ; COPY BUFFER
|
||||
; CCIR 625/50 VERSION (USED IN MOST OF THE WORLD)
|
||||
; JUMPER K1 2-3, K2 1-2 FOR 2MHz CHAR CLOCK
|
||||
;
|
||||
; THE CCIR 625/50 TELEVISION STANDARD HAS 625 LINES INTERLACED AT 50 FIELDS PER SECOND. THIS WORKS
|
||||
; THE CCIR 625/50 TELEVISION STANDARD HAS 625 LINES INTERLACED AT 50 FIELDS PER SECOND. THIS WORKS
|
||||
; OUT AS 50 FIELDS OF 312.5 LINES PER SECOND NON-INTERLACED AS USED HERE.
|
||||
; HORIZONTAL LINE WIDTH IS 64uS. FOR A 2 MHz CHARACTER CLOCK (R0+1)/2000000 = 64uS
|
||||
; NEAREST NUMBER OF LINES IS 312 = (R4+1) * (R9+1) + R5.
|
||||
@@ -658,7 +658,7 @@ VDU_INIT6845:
|
||||
.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 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)
|
||||
@@ -680,7 +680,7 @@ VDU_INIT6845:
|
||||
.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 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)
|
||||
|
||||
@@ -70,12 +70,12 @@ VGA_89BIT .EQU VGA_8BIT
|
||||
#ENDIF
|
||||
;
|
||||
#IF VGA_CSTY=VGA_BLOK
|
||||
VGA_R10 .EQU (VGA_BLNK + $00)
|
||||
VGA_R10 .EQU (VGA_BLNK + $00)
|
||||
VGA_R11 .EQU VGA_SCANL-1
|
||||
#ENDIF
|
||||
;
|
||||
#IF VGA_CSTY=VGA_ULIN
|
||||
VGA_R10 .EQU (VGA_BLNK + VGA_SCANL-1)
|
||||
VGA_R10 .EQU (VGA_BLNK + VGA_SCANL-1)
|
||||
VGA_R11 .EQU VGA_SCANL-1
|
||||
#ENDIF
|
||||
;
|
||||
@@ -85,7 +85,7 @@ TERMENABLE .SET TRUE ; INCLUDE TERMINAL PSEUDODEVICE DRIVER
|
||||
;
|
||||
; DRIVER UTILIZES THE MULTIPLE DISPLAY WINDOW FEATURE OF THE CRTC TO ACCOMPLISH
|
||||
; FULL SCREEN SCROLLING WITHOUT THE NEED TO MOVE DISPLAY RAM BYTES.
|
||||
;
|
||||
;
|
||||
; SCREEN 1 IMPLICITLY STARTS AT PHYSICAL ROW 0
|
||||
; SCREEN 1 RAM ADDRESS POINTER POINTS TO SCREEN OFFSET (R12/R13)
|
||||
; SCREEN 2 ROW DEFINES WHERE BUFFER BYTE 0 WILL BE DISPLAYED (R18)
|
||||
@@ -179,13 +179,13 @@ VGA_VDAQRY:
|
||||
LD HL,0 ; EXTRACTION OF CURRENT BITMAP DATA NOT SUPPORTED YET
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
|
||||
|
||||
VGA_VDARES:
|
||||
LD A,$07 ; ATTRIBUTE IS STANDARD WHITE ON BLACK
|
||||
LD (VGA_ATTR),A ; SAVE IT
|
||||
XOR A ; ZERO (REVERSE, UNDERLINE, BLINK)
|
||||
LD (VGA_RUB),A ; SAVE IT
|
||||
|
||||
|
||||
LD DE,0 ; ROW = 0, COL = 0
|
||||
CALL VGA_XY ; SEND CURSOR TO TOP LEFT
|
||||
LD A,' ' ; BLANK THE SCREEN
|
||||
@@ -193,10 +193,10 @@ VGA_VDARES:
|
||||
CALL VGA_FILL ; DO IT
|
||||
LD DE,0 ; ROW = 0, COL = 0
|
||||
CALL VGA_XY ; SEND CURSOR TO TOP LEFT
|
||||
|
||||
|
||||
LD HL,$0404 | VGA_89BIT; SET VIDEO ENABLE BIT
|
||||
CALL VGA_SETCFG ; DO IT
|
||||
|
||||
|
||||
XOR A
|
||||
RET
|
||||
|
||||
@@ -205,15 +205,15 @@ VGA_VDADEV:
|
||||
LD E,0 ; E := PHYSICAL UNIT IS ALWAYS ZERO
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
|
||||
|
||||
VGA_VDASCS:
|
||||
CALL PANIC ; NOT IMPLEMENTED (YET)
|
||||
|
||||
|
||||
VGA_VDASCP:
|
||||
CALL VGA_XY ; SET CURSOR POSITION
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
|
||||
|
||||
VGA_VDASAT:
|
||||
; INCOMING IS: -----RUB (R=REVERSE, U=UNDERLINE, B=BLINK)
|
||||
;
|
||||
@@ -222,7 +222,7 @@ VGA_VDASAT:
|
||||
LD A,E
|
||||
LD (VGA_RUB),A ; SAVE IT
|
||||
JR VGA_VDASCO2 ; IMPLEMENT SETTING
|
||||
|
||||
|
||||
VGA_VDASCO:
|
||||
; INCOMING IS: IBGRIBGR (I=INTENSITY, B=BLUE, G=GREEN, R=RED)
|
||||
; TRANSFORM TO: -RGBIRGB (DISCARD INTENSITY BIT IN HIGH NIBBLE)
|
||||
@@ -269,13 +269,13 @@ VGA_VDASCO2:
|
||||
VGA_VDASCO3:
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
|
||||
|
||||
VGA_VDAWRC:
|
||||
LD A,E ; CHARACTER TO WRITE GOES IN A
|
||||
CALL VGA_PUTCHAR ; PUT IT ON THE SCREEN
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
|
||||
|
||||
VGA_VDAFIL:
|
||||
LD A,E ; FILL CHARACTER GOES IN A
|
||||
EX DE,HL ; FILL LENGTH GOES IN DE
|
||||
@@ -291,7 +291,7 @@ VGA_VDACPY:
|
||||
POP BC ; RECOVER LENGTH IN BC
|
||||
LD DE,(VGA_POS) ; PUT DEST IN DE
|
||||
JP VGA_BLKCPY ; DO A BLOCK COPY
|
||||
|
||||
|
||||
VGA_VDASCR:
|
||||
LD A,E ; LOAD E INTO A
|
||||
OR A ; SET FLAGS
|
||||
@@ -522,7 +522,7 @@ VGA_LOADFONT:
|
||||
LD (VGA_STACK),SP ; SAVE STACK
|
||||
LD HL,(VGA_STACK) ; AND SHIFT IT
|
||||
LD DE,$2000 ; DOWN 4KB TO
|
||||
CCF ; CREATE A
|
||||
CCF ; CREATE A
|
||||
SBC HL,DE ; DECOMPRESSION BUFFER
|
||||
LD SP,HL ; HL POINTS TO BUFFER
|
||||
EX DE,HL ; START OF STACK BUFFER
|
||||
@@ -543,7 +543,7 @@ VGA_LOADFONT2:
|
||||
INC HL ; NEXT FONT BYTE
|
||||
INC DE ; NEXT MEM BYTE
|
||||
DJNZ VGA_LOADFONT2
|
||||
|
||||
|
||||
LD BC,16-VGA_SCANL ; MOVE TO NEXT
|
||||
EX DE,HL ; 16 BYTE
|
||||
ADD HL,BC ; CHARACTER
|
||||
@@ -586,7 +586,7 @@ VGA_XY2IDX:
|
||||
CALL MULT8 ; MULTIPLY TO GET ROW OFFSET
|
||||
LD E,A ; GET COLUMN BACK
|
||||
ADD HL,DE ; ADD IT IN
|
||||
|
||||
|
||||
LD DE,(VGA_OFF) ; SCREEN OFFSET
|
||||
ADD HL,DE ; ADJUST
|
||||
;
|
||||
@@ -651,7 +651,7 @@ VGA_FILL:
|
||||
LD HL,(VGA_POS) ; GET CURRENT POSITION
|
||||
SLA L ; MULTIPLY BY 2
|
||||
RL H ; ... 2 BYTES PER CHAR
|
||||
|
||||
|
||||
VGA_FILL1:
|
||||
; FILL ONE POSITION (CHAR & ATTR)
|
||||
LD C,VGA_HI ; C := VGA ADR HI
|
||||
@@ -669,7 +669,7 @@ VGA_FILL1:
|
||||
#ENDIF
|
||||
LD A,(VGA_ATTR) ; GET CUR ATTR
|
||||
OUT (C),A ; OUTPUT ATTR
|
||||
|
||||
|
||||
; CHECK COUNT
|
||||
DEC DE ; DECREMENT COUNT
|
||||
LD A,D ; TEST FOR
|
||||
@@ -755,7 +755,7 @@ VGA_SCROLL6:
|
||||
LD (VGA_POS),HL ; SAVE IT
|
||||
LD C,14 ; CURSOR 1 POS REG
|
||||
CALL VGA_REGWRX ; COMMIT
|
||||
|
||||
|
||||
RET
|
||||
;
|
||||
;----------------------------------------------------------------------
|
||||
@@ -822,13 +822,13 @@ VGA_BLKCPY:
|
||||
SLA C
|
||||
RL B
|
||||
PUSH BC ; COUNT ==> TOS
|
||||
|
||||
|
||||
; ADJUST HL & DE FOR SCREEN OFFSET/WRAP
|
||||
CALL VGA_BLKCPY4 ; DO HL
|
||||
EX DE,HL ; SWAP
|
||||
CALL VGA_BLKCPY4 ; DO OTHER
|
||||
EX DE,HL ; SWAP BACK
|
||||
|
||||
|
||||
VGA_BLKCPY1:
|
||||
#IF (VGA_NICE)
|
||||
CALL VGA_WAITSB ; WAIT FOR RETRACE
|
||||
@@ -842,7 +842,7 @@ VGA_BLKCPY1:
|
||||
INC C ; C := VGA_DATA
|
||||
IN A,(C) ; A := (HL)
|
||||
|
||||
; COPY TO DESTINATION
|
||||
; COPY TO DESTINATION
|
||||
LD C,VGA_HI ; C := VGA_HI
|
||||
OUT (C),D ; VGA_HI := SOURCE HI (H)
|
||||
INC C ; C := VGA_LO
|
||||
@@ -945,7 +945,7 @@ REGS_VGA:
|
||||
.DB 18,-1 ; S2 ROW - 1
|
||||
.DB 27,12 ; VERT SYNC POS ADJ
|
||||
.DB 30,$01 | $08 ; CTL 1, 2 WINDOWS & ENABLE R27 VSYNC FINE ADJ
|
||||
|
||||
|
||||
.DB $FF ; END MARKER
|
||||
#ENDIF
|
||||
#IF (VGASIZ=V80X30)
|
||||
@@ -966,7 +966,7 @@ REGS_VGA:
|
||||
.DB 10,VGA_R10 ; CURSOR START & CURSOR BLINK
|
||||
.DB 11,VGA_R11 ; CURSOR END
|
||||
.DB 12,0 ; SCRN 1 START (HI)
|
||||
.DB 13,0 ; SCRN 1 START (LO)
|
||||
.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
|
||||
@@ -990,7 +990,7 @@ REGS_VGA:
|
||||
.DB 10,VGA_R10 ; CURSOR START & CURSOR BLINK
|
||||
.DB 11,VGA_R11 ; CURSOR END
|
||||
.DB 12,0 ; SCRN 1 START (HI)
|
||||
.DB 13,0 ; SCRN 1 START (LO)
|
||||
.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
|
||||
@@ -998,7 +998,7 @@ REGS_VGA:
|
||||
#ENDIF
|
||||
#IF (VGASIZ=V80X60)
|
||||
;===============================================================================
|
||||
; 80x60X8 60hz REGISTER VALUES
|
||||
; 80x60X8 60hz REGISTER VALUES
|
||||
;===============================================================================
|
||||
;
|
||||
REGS_VGA:
|
||||
@@ -1014,7 +1014,7 @@ REGS_VGA:
|
||||
.DB 10,VGA_R10 ; CURSOR START & CURSOR BLINK
|
||||
.DB 11,VGA_R11 ; CURSOR END
|
||||
.DB 12,0 ; SCRN 1 START (HI)
|
||||
.DB 13,0 ; SCRN 1 START (LO)
|
||||
.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
|
||||
|
||||
Reference in New Issue
Block a user