+++ /dev/null
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- -=\r
-;=- Tauron VGA Utilities Version 3.0 -=\r
-;=- Released September 20, 1998 -=\r
-;=- -=\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-;=- All Rights Reserved. =-= that you put my name some- -=\r
-;=- =-= where in your credits. -=\r
-;=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- I assume no responsibility whatsoever for any effect that this package, -=\r
-;=- the information contained therein or the use thereof has on you, your -=\r
-;=- sanity, computer, spouse, children, pets or anything else related to -=\r
-;=- you or your existance. No warranty is provided nor implied with this -=\r
-;=- source code. -=\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-TEXTCLEAR PROC\r
- PUSH BP\r
- MOV BP,SP\r
-\r
- MOV AX,0B800H\r
- MOV ES,AX\r
- XOR DI,DI\r
-\r
- MOV AH,byte ptr [bp+4]\r
- MOV AL,' '\r
- MOV CX,Mode.width_bytes\r
- CLD\r
- REP STOSW\r
-\r
- POP BP\r
- RET 2\r
-TEXTCLEAR ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-CLEAR_B8000H PROC\r
- PUSH BP\r
- MOV BP,SP\r
- PUSHA\r
-\r
- MOV AX,0B800H\r
- MOV ES,AX\r
- XOR DI,DI\r
-\r
- MOV AX,WORD PTR [BP+4]\r
- CLD\r
- MOV CX,Mode.width_bytes\r
- REP STOSW\r
-\r
- POPA\r
- POP BP\r
- RET 2\r
-CLEAR_B8000H ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-; Mode 0Dh clear screen\r
-CLEAR0DH PROC\r
- PUSH BP\r
- MOV BP,SP\r
-\r
- MOV AX,0A000H\r
- MOV ES,AX\r
- XOR DI,DI\r
-\r
- MOV CX,2000H\r
-CLEAR_LOOP:\r
- MOV DX,03CEH\r
- MOV AX,0FF08H\r
- OUT DX,AX\r
-\r
- MOV EAX,0\r
- XCHG DWORD PTR ES:[DI],EAX\r
-\r
- MOV DX,03C4H\r
- MOV AH,BYTE PTR [BP+4]\r
- MOV AL,2\r
- OUT DX,AX\r
-\r
- MOV DWORD PTR ES:[DI],0FFFFFFFFH\r
-\r
- MOV AX,0F02H\r
- OUT DX,AX\r
-\r
- MOV DX,03CEH\r
- MOV AX,0FF08h\r
- OUT DX,AX\r
-\r
- ADD DI,4\r
- LOOP CLEAR_LOOP\r
-\r
- POP BP\r
- RET 2\r
-CLEAR0DH ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-; Mode 0Eh clear screen\r
-CLEAR0EH PROC\r
- PUSH BP\r
- MOV BP,SP\r
-\r
- MOV AX,0A000H\r
- MOV ES,AX\r
- XOR DI,DI\r
-\r
- MOV CX,4000H\r
-CLEAR_LOOP2:\r
- MOV DX,03CEH\r
- MOV AX,0FF08H\r
- OUT DX,AX\r
-\r
- MOV EAX,0\r
- XCHG DWORD PTR ES:[DI],EAX\r
-\r
- MOV DX,03C4H\r
- MOV AH,BYTE PTR [BP+4]\r
- MOV AL,2\r
- OUT DX,AX\r
-\r
- MOV DWORD PTR ES:[DI],0FFFFFFFFH\r
-\r
- MOV AX,0F02H\r
- OUT DX,AX\r
-\r
- MOV DX,03CEH\r
- MOV AX,0FF08h\r
- OUT DX,AX\r
-\r
- ADD DI,4\r
- LOOP CLEAR_LOOP2\r
-\r
- POP BP\r
- RET 2\r
-CLEAR0EH ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-CLEAR11H PROC\r
- MOV AX,0A000H\r
- MOV ES,AX\r
- XOR DI,DI\r
-\r
- MOV AX,0FFFFH\r
- CLD\r
- MOV CX,4B00H\r
- REP STOSW\r
- RET\r
-CLEAR11H ENDP\r
-\r
-; 0d 0e 11 have bytes /2\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-PLANARCLEAR PROC\r
- PUSH BP\r
- MOV BP,SP\r
-\r
- MOV AX,0A000H\r
- MOV ES,AX\r
- XOR DI,DI\r
-\r
- MOV CX,Mode.width_bytes\r
- SHR CX,1\r
-CLEAR_LOOP3:\r
-\r
- MOV DX,03CEH\r
- MOV AX,0FF08H\r
- OUT DX,AX\r
-\r
- MOV AX,0\r
- XCHG WORD PTR ES:[DI],AX\r
-\r
- MOV DX,03C4H\r
- MOV AH,byte ptr [bp+4]\r
- MOV AL,2\r
- OUT DX,AX\r
-\r
- MOV WORD PTR ES:[DI],0FFFFH\r
-\r
- MOV AX,0F02H\r
- OUT DX,AX\r
-\r
- MOV DX,03CEH\r
- MOV AX,0FF08h\r
- OUT DX,AX\r
-\r
- ADD DI,2\r
- LOOP CLEAR_LOOP3\r
-\r
- POP BP\r
- RET 2\r
-PLANARCLEAR ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-CLEAR13H PROC\r
- PUSH BP\r
- MOV BP,SP\r
-\r
- MOV AX,0A000H\r
- MOV ES,AX\r
- XOR DI,DI\r
-\r
- MOV AL,byte ptr [bp+4]\r
- MOV AH,AL\r
- CLD\r
- MOV CX,8000H\r
- REP STOSW\r
-\r
- POP BP\r
- RET 2\r
-CLEAR13H ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-UNCHAINEDCLEAR PROC\r
- PUSH BP\r
- MOV BP,SP\r
-\r
- mov dx, 03C4h ; 03c4h\r
- mov al, 2 ; Map Mask Register\r
- out dx, al\r
- inc dx\r
- mov al,00001111B ; Select all planes to write to\r
- out dx, al ; Doing this to clear all planes at once\r
-\r
- mov ax,0A000H\r
- mov es, ax\r
- XOR DI,DI ; set es:di = Screen Mem\r
- mov ah,byte ptr [bp+4] ; move the color into ah\r
- mov al,ah ; copy the value to al\r
- mov cx,Mode.width_bytes ; Number of words\r
- SHR CX,1\r
- cld\r
- rep stosw ; clear it\r
-\r
- POP BP\r
- RET 2\r
-UNCHAINEDCLEAR ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
+++ /dev/null
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- -=\r
-;=- Tauron VGA Utilities Version 3.0 -=\r
-;=- Released September 20, 1998 -=\r
-;=- -=\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-;=- All Rights Reserved. =-= that you put my name some- -=\r
-;=- =-= where in your credits. -=\r
-;=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- I assume no responsibility whatsoever for any effect that this package, -=\r
-;=- the information contained therein or the use thereof has on you, your -=\r
-;=- sanity, computer, spouse, children, pets or anything else related to -=\r
-;=- you or your existance. No warranty is provided nor implied with this -=\r
-;=- source code. -=\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-; 3C4H, 03H\r
-; Bit positions for font maps:\r
-;\r
-; +--7--+--6--+--5--+--4--+--3--+--2--+--1--+--0--+\r
-; | | | SAH | SBH | SA | SB |\r
-; +-----+-----+-----+-----+-----+-----+-----+-----+\r
-;\r
-; SA - bits 1, 0 of Character Map A\r
-; SAH - bit 2 (high order) of Charcter Map A\r
-;\r
-; SB - bits 1, 0 of Character Map B\r
-; SBH - bit 2 (high order) of Charcter Map B\r
-;\r
-\r
-; Points to fonts for Map A Memory Address\r
-DFM_MAPA_FONT1 EQU 00H ; 0K\r
-DFM_MAPA_FONT2 EQU 04H ; 16K\r
-DFM_MAPA_FONT3 EQU 08H ; 32K\r
-DFM_MAPA_FONT4 EQU 0CH ; 48K\r
-DFM_MAPA_FONT5 EQU 20H ; 8K\r
-DFM_MAPA_FONT6 EQU 24H ; 24K\r
-DFM_MAPA_FONT7 EQU 28H ; 40K\r
-DFM_MAPA_FONT8 EQU 2CH ; 56K\r
-\r
-; Points to fonts for Map B\r
-DFM_MAPB_FONT1 EQU 00H ; 0K\r
-DFM_MAPB_FONT2 EQU 01H ; 16K\r
-DFM_MAPB_FONT3 EQU 02H ; 32K\r
-DFM_MAPB_FONT4 EQU 03H ; 48K\r
-DFM_MAPB_FONT5 EQU 10H ; 8K\r
-DFM_MAPB_FONT6 EQU 11H ; 24K\r
-DFM_MAPB_FONT7 EQU 12H ; 40K\r
-DFM_MAPB_FONT8 EQU 13H ; 56K\r
-\r
-\r
-; To set dual font mode, just set the character map select register to point\r
-; to 2 different fonts. There can be up to 8 fonts resident in memory at\r
-; once but only 2 can be active at a time.\r
-;\r
-; ** NOTE ** If you set both font maps the same you are no longer in dual font\r
-; mode. But what this allows you to do is to put up to 8 fonts in VGA memory\r
-; and switch between them at any time.\r
-;\r
-; Both fonts were made with my font editor. I just read the BIOS and \r
-; modified the second font so a solid line goes through the middle of it.\r
-;\r
-; This procedure sets up dual font mode and loads 2 fonts into video memory.\r
-SETDUAL PROC\r
-\r
- ; Sequencer address\r
- MOV DX,SEQ_ADDR\r
-\r
- ; 2 different font maps\r
- MOV AH,DFM_MAPA_FONT1\r
- OR AH,DFM_MAPB_FONT5\r
-\r
- ; Sequencer register\r
- MOV AL,03H\r
-\r
- ; Send it\r
- OUT DX,AX\r
-\r
- ; Load font 1 into 0K\r
- PUSH 16 ; Bytes per character\r
- PUSH 0 ; Offset of font in Video Memory\r
- PUSH 0A000H\r
- PUSH OFFSET FONT1 ; Offset of Font in our Data Segment\r
- PUSH DS\r
- CALL LOADFONT\r
-\r
- ; Load font 2 into 8K\r
- PUSH 16 ; Bytes per character\r
- PUSH 0 ; Offset of font in Video Memory\r
- PUSH 0A200H\r
- PUSH OFFSET FONT2 ; Offset of Font in our Data Segment\r
- PUSH DS\r
- CALL LOADFONT\r
-\r
- RET\r
-SETDUAL ENDP\r
-\r
-; This procedure reset the character map select register to point to only\r
-; one font.\r
-UNSETDUAL PROC\r
-\r
- ; Set both fonts to point to font 1\r
- MOV DX,SEQ_ADDR\r
- MOV AX,0003H\r
- OUT DX,AX\r
-\r
- RET\r
-UNSETDUAL ENDP\r
-\r
-; In dual font modes, the palette is in effect half of what it is. The \r
-; bottom 8 colors for the first font, and the top 8 colors for the second \r
-; font.\r
-;\r
-; What I do here is to set them to the same 8 colors.\r
-; Black, Blue, Green, Red, Purple, Yellow, Light Gray, and White\r
-;\r
-SETDUALPALETTE PROC\r
-\r
- PUSH 0\r
- PUSH 0\r
- PUSH 0\r
- PUSH 0\r
- CALL SETPAL\r
-\r
- PUSH 42\r
- PUSH 0\r
- PUSH 0\r
- PUSH 1\r
- CALL SETPAL\r
-\r
- PUSH 0\r
- PUSH 42\r
- PUSH 0\r
- PUSH 2\r
- CALL SETPAL\r
-\r
- PUSH 42\r
- PUSH 42\r
- PUSH 0\r
- PUSH 3\r
- CALL SETPAL\r
-\r
- PUSH 0\r
- PUSH 0\r
- PUSH 42\r
- PUSH 4\r
- CALL SETPAL\r
-\r
- PUSH 21\r
- PUSH 63\r
- PUSH 63\r
- PUSH 5\r
- CALL SETPAL\r
-\r
- PUSH 42\r
- PUSH 42\r
- PUSH 42\r
- PUSH 6\r
- CALL SETPAL\r
-\r
- PUSH 63\r
- PUSH 63\r
- PUSH 63\r
- PUSH 7\r
- CALL SETPAL\r
-\r
- PUSH 0\r
- PUSH 0\r
- PUSH 0\r
- PUSH 8\r
- CALL SETPAL\r
-\r
- PUSH 42\r
- PUSH 0\r
- PUSH 0\r
- PUSH 9\r
- CALL SETPAL\r
-\r
- PUSH 0\r
- PUSH 42\r
- PUSH 0\r
- PUSH 10\r
- CALL SETPAL\r
-\r
- PUSH 42\r
- PUSH 42\r
- PUSH 0\r
- PUSH 11\r
- CALL SETPAL\r
-\r
- PUSH 0\r
- PUSH 0\r
- PUSH 42\r
- PUSH 12\r
- CALL SETPAL\r
-\r
- PUSH 21\r
- PUSH 63\r
- PUSH 63\r
- PUSH 13\r
- CALL SETPAL\r
-\r
- PUSH 42\r
- PUSH 42\r
- PUSH 42\r
- PUSH 14\r
- CALL SETPAL\r
-\r
- PUSH 63\r
- PUSH 63\r
- PUSH 63\r
- PUSH 15\r
- CALL SETPAL\r
-\r
- RET\r
-SETDUALPALETTE ENDP\r
-\r
-DUALTEST PROC\r
-\r
- MOV SI,OFFSET MODE03H\r
- CALL SETMODE\r
-\r
- CALL SETDUAL\r
- CALL SETDUALPALETTE\r
-\r
- PUSH 1FH \r
- CALL TEXTCLEAR\r
-\r
- ; Attribute to print text in.\r
- ;\r
- ; In dual font mode, attrubute bit 3 is the deciding factor as to which\r
- ; font is printed. 0001X111B where X is 0 for font 1 or 1 for font 2.\r
- ; The Charcter Map Select Register determines where font 1 and font 2\r
- ; reside.\r
- ; 00011111B - Font 2, Blue Background, with color 7 text.\r
- MOV ATT, 1Fh \r
-\r
- MOV BX,5\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_D\r
- CALL PRINTSTRING\r
- MOV BX,6\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_E\r
- CALL PRINTSTRING\r
- MOV BX,7\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_F\r
- CALL PRINTSTRING\r
-\r
- ; 00010111B - Font 1, Blue Background, with color 7 text.\r
- MOV ATT, 17h\r
-\r
- MOV BX,0\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_D\r
- CALL PRINTSTRING\r
- MOV BX,1\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_E\r
- CALL PRINTSTRING\r
- MOV BX,2\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_F\r
- CALL PRINTSTRING\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
-\r
- CALL UNSETDUAL\r
- RET\r
-DUALTEST ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
+++ /dev/null
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- Created with FEDIT written by Kinfira (Jeffrey Morgan) -=\r
-;=- -=\r
-;=- Tauron VGA Utilities Version 1.0 -=\r
-;=- Released June 14, 1998 -=\r
-;=- -=\r
-;=- Font Width: 8 -=\r
-;=- Font Height: 16 -=\r
-;=- Bytes per character: 16 -=\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,07EH,081H,0A5H,081H,081H,0BDH,099H,081H,081H,07EH,000H,000H,000H,000H\r
-DB 000H,000H,07EH,0FFH,0DBH,0FFH,0FFH,0C3H,0E7H,0FFH,0FFH,07EH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,06CH,0FEH,0FEH,0FEH,0FEH,07CH,038H,010H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,010H,038H,07CH,0FEH,07CH,038H,010H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,018H,03CH,03CH,0E7H,0E7H,0E7H,099H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,018H,03CH,07EH,0FFH,0FFH,07EH,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,018H,03CH,03CH,018H,000H,000H,000H,000H,000H,000H\r
-DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0E7H,0C3H,0C3H,0E7H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH\r
-DB 000H,000H,000H,000H,000H,03CH,066H,042H,042H,066H,03CH,000H,000H,000H,000H,000H\r
-DB 0FFH,0FFH,0FFH,0FFH,0FFH,0C3H,099H,0BDH,0BDH,099H,0C3H,0FFH,0FFH,0FFH,0FFH,0FFH\r
-DB 000H,000H,01EH,00EH,01AH,032H,078H,0CCH,0CCH,0CCH,0CCH,078H,000H,000H,000H,000H\r
-DB 000H,000H,03CH,066H,066H,066H,066H,03CH,018H,07EH,018H,018H,000H,000H,000H,000H\r
-DB 000H,000H,03FH,033H,03FH,030H,030H,030H,030H,070H,0F0H,0E0H,000H,000H,000H,000H\r
-DB 000H,000H,07FH,063H,07FH,063H,063H,063H,063H,067H,0E7H,0E6H,0C0H,000H,000H,000H\r
-DB 000H,000H,000H,018H,018H,0DBH,03CH,0E7H,03CH,0DBH,018H,018H,000H,000H,000H,000H\r
-DB 000H,080H,0C0H,0E0H,0F0H,0F8H,0FEH,0F8H,0F0H,0E0H,0C0H,080H,000H,000H,000H,000H\r
-DB 000H,002H,006H,00EH,01EH,03EH,0FEH,03EH,01EH,00EH,006H,002H,000H,000H,000H,000H\r
-DB 000H,000H,018H,03CH,07EH,018H,018H,018H,018H,07EH,03CH,018H,000H,000H,000H,000H\r
-DB 000H,000H,066H,066H,066H,066H,066H,066H,066H,000H,066H,066H,000H,000H,000H,000H\r
-DB 000H,000H,07FH,0DBH,0DBH,0DBH,07BH,01BH,01BH,01BH,01BH,01BH,000H,000H,000H,000H\r
-DB 000H,07CH,0C6H,060H,038H,06CH,0C6H,0C6H,06CH,038H,00CH,0C6H,07CH,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,000H,0FEH,0FEH,0FEH,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,018H,03CH,07EH,018H,018H,018H,018H,07EH,03CH,018H,07EH,000H,000H,000H\r
-DB 000H,000H,018H,03CH,07EH,018H,018H,018H,018H,018H,018H,018H,000H,000H,000H,000H\r
-DB 000H,000H,018H,018H,018H,018H,018H,018H,018H,07EH,03CH,018H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,018H,00CH,0FEH,00CH,018H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,030H,060H,0FEH,060H,030H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0C0H,0C0H,0C0H,0C0H,0FEH,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,028H,06CH,0FEH,06CH,028H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,010H,038H,038H,07CH,07CH,0FEH,0FEH,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,0FEH,0FEH,07CH,07CH,038H,038H,010H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,018H,03CH,03CH,03CH,018H,018H,018H,000H,018H,018H,000H,000H,000H,000H\r
-DB 000H,066H,066H,066H,024H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,06CH,06CH,0FEH,06CH,06CH,06CH,0FEH,06CH,06CH,000H,000H,000H,000H\r
-DB 018H,018H,07CH,0C6H,0C2H,0C0H,07CH,006H,086H,0C6H,07CH,018H,018H,000H,000H,000H\r
-DB 000H,000H,000H,000H,0C2H,0C6H,00CH,018H,030H,060H,0C6H,086H,000H,000H,000H,000H\r
-DB 000H,000H,038H,06CH,06CH,038H,076H,0DCH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,030H,030H,030H,060H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,00CH,018H,030H,030H,030H,030H,030H,030H,018H,00CH,000H,000H,000H,000H\r
-DB 000H,000H,030H,018H,00CH,00CH,00CH,00CH,00CH,00CH,018H,030H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,066H,03CH,0FFH,03CH,066H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,018H,018H,07EH,018H,018H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,018H,018H,018H,030H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,0FEH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,018H,018H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,002H,006H,00CH,018H,030H,060H,0C0H,080H,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,0C6H,0CEH,0D6H,0D6H,0E6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,018H,038H,078H,018H,018H,018H,018H,018H,018H,07EH,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,006H,00CH,018H,030H,060H,0C0H,0C6H,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,006H,006H,03CH,006H,006H,006H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,00CH,01CH,03CH,06CH,0CCH,0FEH,00CH,00CH,00CH,01EH,000H,000H,000H,000H\r
-DB 000H,000H,0FEH,0C0H,0C0H,0C0H,0FCH,00EH,006H,006H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,038H,060H,0C0H,0C0H,0FCH,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,0FEH,0C6H,006H,006H,00CH,018H,030H,030H,030H,030H,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,0C6H,0C6H,07CH,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,0C6H,0C6H,07EH,006H,006H,006H,00CH,078H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,018H,018H,000H,000H,000H,018H,018H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,018H,018H,000H,000H,000H,018H,018H,030H,000H,000H,000H,000H\r
-DB 000H,000H,000H,006H,00CH,018H,030H,060H,030H,018H,00CH,006H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,0FEH,000H,000H,0FEH,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,060H,030H,018H,00CH,006H,00CH,018H,030H,060H,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,0C6H,00CH,018H,018H,018H,000H,018H,018H,000H,000H,000H,000H\r
-DB 000H,000H,000H,07CH,0C6H,0C6H,0DEH,0DEH,0DEH,0DCH,0C0H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,010H,038H,06CH,0C6H,0C6H,0FEH,0C6H,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 000H,000H,0FCH,066H,066H,066H,07CH,066H,066H,066H,066H,0FCH,000H,000H,000H,000H\r
-DB 000H,000H,03CH,066H,0C2H,0C0H,0C0H,0C0H,0C0H,0C2H,066H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,0F8H,06CH,066H,066H,066H,066H,066H,066H,06CH,0F8H,000H,000H,000H,000H\r
-DB 000H,000H,0FEH,066H,062H,068H,078H,068H,060H,062H,066H,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,0FEH,066H,062H,068H,078H,068H,060H,060H,060H,0F0H,000H,000H,000H,000H\r
-DB 000H,000H,03CH,066H,0C2H,0C0H,0C0H,0DEH,0C6H,0C6H,066H,03AH,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,0C6H,0C6H,0FEH,0C6H,0C6H,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 000H,000H,03CH,018H,018H,018H,018H,018H,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,01EH,00CH,00CH,00CH,00CH,00CH,0CCH,0CCH,0CCH,078H,000H,000H,000H,000H\r
-DB 000H,000H,0E6H,066H,06CH,06CH,078H,078H,06CH,066H,066H,0E6H,000H,000H,000H,000H\r
-DB 000H,000H,0F0H,060H,060H,060H,060H,060H,060H,062H,066H,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0EEH,0FEH,0FEH,0D6H,0C6H,0C6H,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0E6H,0F6H,0FEH,0DEH,0CEH,0C6H,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 000H,000H,038H,06CH,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,06CH,038H,000H,000H,000H,000H\r
-DB 000H,000H,0FCH,066H,066H,066H,07CH,060H,060H,060H,060H,0F0H,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,0D6H,0DEH,07CH,00CH,00EH,000H,000H\r
-DB 000H,000H,0FCH,066H,066H,066H,07CH,06CH,066H,066H,066H,0E6H,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,0C6H,060H,038H,00CH,006H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,07EH,07EH,05AH,018H,018H,018H,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,06CH,038H,010H,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,0C6H,0C6H,0C6H,0D6H,0D6H,0FEH,06CH,06CH,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,06CH,06CH,038H,038H,06CH,06CH,0C6H,0C6H,000H,000H,000H,000H\r
-DB 000H,000H,066H,066H,066H,066H,03CH,018H,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,0FEH,0C6H,086H,00CH,018H,030H,060H,0C2H,0C6H,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,03CH,030H,030H,030H,030H,030H,030H,030H,030H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,080H,0C0H,0E0H,070H,038H,01CH,00EH,006H,002H,000H,000H,000H,000H\r
-DB 000H,000H,03CH,00CH,00CH,00CH,00CH,00CH,00CH,00CH,00CH,03CH,000H,000H,000H,000H\r
-DB 010H,038H,06CH,0C6H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,0FFH,000H,000H\r
-DB 030H,030H,018H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,078H,00CH,07CH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,0E0H,060H,060H,078H,06CH,066H,066H,066H,066H,0DCH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,07CH,0C6H,0C0H,0C0H,0C0H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,01CH,00CH,00CH,03CH,06CH,0CCH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,07CH,0C6H,0FEH,0C0H,0C0H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,038H,06CH,064H,060H,0F0H,060H,060H,060H,060H,0F0H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,076H,0CCH,0CCH,0CCH,0CCH,0CCH,07CH,00CH,0CCH,078H,000H\r
-DB 000H,000H,0E0H,060H,060H,06CH,076H,066H,066H,066H,066H,0E6H,000H,000H,000H,000H\r
-DB 000H,000H,018H,018H,000H,038H,018H,018H,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,006H,006H,000H,00EH,006H,006H,006H,006H,006H,006H,066H,066H,03CH,000H\r
-DB 000H,000H,0E0H,060H,060H,066H,06CH,078H,078H,06CH,066H,0E6H,000H,000H,000H,000H\r
-DB 000H,000H,038H,018H,018H,018H,018H,018H,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0ECH,0FEH,0D6H,0D6H,0D6H,0D6H,0D6H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0DCH,066H,066H,066H,066H,066H,066H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,07CH,0C6H,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0DCH,066H,066H,066H,066H,066H,07CH,060H,060H,0F0H,000H\r
-DB 000H,000H,000H,000H,000H,076H,0CCH,0CCH,0CCH,0CCH,0CCH,07CH,00CH,00CH,01EH,000H\r
-DB 000H,000H,000H,000H,000H,0DCH,076H,062H,060H,060H,060H,0F0H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,07CH,0C6H,060H,038H,00CH,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,010H,030H,030H,0FCH,030H,030H,030H,030H,036H,01CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0CCH,0CCH,0CCH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,066H,066H,066H,066H,066H,03CH,018H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0C6H,0C6H,0C6H,0D6H,0D6H,0FEH,06CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0C6H,06CH,038H,038H,038H,06CH,0C6H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,07EH,006H,00CH,0F8H,000H\r
-DB 000H,000H,000H,000H,000H,0FEH,0CCH,018H,030H,060H,0C6H,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,00EH,018H,018H,018H,070H,018H,018H,018H,018H,00EH,000H,000H,000H,000H\r
-DB 000H,000H,018H,018H,018H,018H,000H,018H,018H,018H,018H,018H,000H,000H,000H,000H\r
-DB 000H,000H,070H,018H,018H,018H,00EH,018H,018H,018H,018H,070H,000H,000H,000H,000H\r
-DB 000H,000H,076H,0DCH,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,010H,038H,06CH,0C6H,0C6H,0C6H,0FEH,000H,000H,000H,000H,000H\r
-DB 000H,000H,03CH,066H,0C2H,0C0H,0C0H,0C0H,0C2H,066H,03CH,00CH,006H,07CH,000H,000H\r
-DB 000H,000H,0CCH,0CCH,000H,0CCH,0CCH,0CCH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,00CH,018H,030H,000H,07CH,0C6H,0FEH,0C0H,0C0H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,010H,038H,06CH,000H,078H,00CH,07CH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,0CCH,0CCH,000H,078H,00CH,07CH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,060H,030H,018H,000H,078H,00CH,07CH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,038H,06CH,038H,000H,078H,00CH,07CH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,03CH,066H,060H,060H,066H,03CH,00CH,006H,03CH,000H,000H,000H\r
-DB 000H,010H,038H,06CH,000H,07CH,0C6H,0FEH,0C0H,0C0H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,000H,07CH,0C6H,0FEH,0C0H,0C0H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,060H,030H,018H,000H,07CH,0C6H,0FEH,0C0H,0C0H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,066H,066H,000H,038H,018H,018H,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,018H,03CH,066H,000H,038H,018H,018H,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,060H,030H,018H,000H,038H,018H,018H,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,0C6H,0C6H,010H,038H,06CH,0C6H,0C6H,0FEH,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 038H,06CH,038H,000H,038H,06CH,0C6H,0C6H,0FEH,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 018H,030H,060H,000H,0FEH,066H,060H,07CH,060H,060H,066H,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0CCH,076H,036H,07EH,0D8H,0D8H,06EH,000H,000H,000H,000H\r
-DB 000H,000H,03EH,06CH,0CCH,0CCH,0FEH,0CCH,0CCH,0CCH,0CCH,0CEH,000H,000H,000H,000H\r
-DB 000H,010H,038H,06CH,000H,07CH,0C6H,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,000H,07CH,0C6H,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,060H,030H,018H,000H,07CH,0C6H,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,030H,078H,0CCH,000H,0CCH,0CCH,0CCH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,060H,030H,018H,000H,0CCH,0CCH,0CCH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,000H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,07EH,006H,00CH,078H,000H\r
-DB 000H,0C6H,0C6H,000H,038H,06CH,0C6H,0C6H,0C6H,0C6H,06CH,038H,000H,000H,000H,000H\r
-DB 000H,0C6H,0C6H,000H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,018H,018H,03CH,066H,060H,060H,060H,066H,03CH,018H,018H,000H,000H,000H,000H\r
-DB 000H,038H,06CH,064H,060H,0F0H,060H,060H,060H,060H,0E6H,0FCH,000H,000H,000H,000H\r
-DB 000H,000H,066H,066H,03CH,018H,07EH,018H,07EH,018H,018H,018H,000H,000H,000H,000H\r
-DB 000H,0F8H,0CCH,0CCH,0F8H,0C4H,0CCH,0DEH,0CCH,0CCH,0CCH,0C6H,000H,000H,000H,000H\r
-DB 000H,00EH,01BH,018H,018H,018H,07EH,018H,018H,018H,018H,018H,0D8H,070H,000H,000H\r
-DB 000H,018H,030H,060H,000H,078H,00CH,07CH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,00CH,018H,030H,000H,038H,018H,018H,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,018H,030H,060H,000H,07CH,0C6H,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,018H,030H,060H,000H,0CCH,0CCH,0CCH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,076H,0DCH,000H,0DCH,066H,066H,066H,066H,066H,066H,000H,000H,000H,000H\r
-DB 076H,0DCH,000H,0C6H,0E6H,0F6H,0FEH,0DEH,0CEH,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 000H,03CH,06CH,06CH,03EH,000H,07EH,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,038H,06CH,06CH,038H,000H,07CH,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,030H,030H,000H,030H,030H,060H,0C0H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,0FEH,0C0H,0C0H,0C0H,0C0H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,0FEH,006H,006H,006H,006H,000H,000H,000H,000H,000H\r
-DB 000H,0C0H,0C0H,0C2H,0C6H,0CCH,018H,030H,060H,0CEH,093H,006H,00CH,01FH,000H,000H\r
-DB 000H,0C0H,0C0H,0C2H,0C6H,0CCH,018H,030H,066H,0CEH,09AH,03FH,006H,00FH,000H,000H\r
-DB 000H,000H,018H,018H,000H,018H,018H,018H,03CH,03CH,03CH,018H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,033H,066H,0CCH,066H,033H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0CCH,066H,033H,066H,0CCH,000H,000H,000H,000H,000H,000H\r
-DB 011H,044H,011H,044H,011H,044H,011H,044H,011H,044H,011H,044H,011H,044H,011H,044H\r
-DB 055H,0AAH,055H,0AAH,055H,0AAH,055H,0AAH,055H,0AAH,055H,0AAH,055H,0AAH,055H,0AAH\r
-DB 0DDH,077H,0DDH,077H,0DDH,077H,0DDH,077H,0DDH,077H,0DDH,077H,0DDH,077H,0DDH,077H\r
-DB 018H,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 018H,018H,018H,018H,018H,018H,018H,0F8H,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 018H,018H,018H,018H,018H,0F8H,018H,0F8H,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 036H,036H,036H,036H,036H,036H,036H,0F6H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 000H,000H,000H,000H,000H,000H,000H,0FEH,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 000H,000H,000H,000H,000H,0F8H,018H,0F8H,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 036H,036H,036H,036H,036H,0F6H,006H,0F6H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 036H,036H,036H,036H,036H,036H,036H,036H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 000H,000H,000H,000H,000H,0FEH,006H,0F6H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 036H,036H,036H,036H,036H,0F6H,006H,0FEH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 036H,036H,036H,036H,036H,036H,036H,0FEH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 018H,018H,018H,018H,018H,0F8H,018H,0F8H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,0F8H,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 018H,018H,018H,018H,018H,018H,018H,01FH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 018H,018H,018H,018H,018H,018H,018H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,0FFH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 018H,018H,018H,018H,018H,018H,018H,01FH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 000H,000H,000H,000H,000H,000H,000H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 018H,018H,018H,018H,018H,018H,018H,0FFH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 018H,018H,018H,018H,018H,01FH,018H,01FH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 036H,036H,036H,036H,036H,036H,036H,037H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 036H,036H,036H,036H,036H,037H,030H,03FH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,03FH,030H,037H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 036H,036H,036H,036H,036H,0F7H,000H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0FFH,000H,0F7H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 036H,036H,036H,036H,036H,037H,030H,037H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 000H,000H,000H,000H,000H,0FFH,000H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 036H,036H,036H,036H,036H,0F7H,000H,0F7H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 018H,018H,018H,018H,018H,0FFH,000H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 036H,036H,036H,036H,036H,036H,036H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0FFH,000H,0FFH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 000H,000H,000H,000H,000H,000H,000H,0FFH,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 036H,036H,036H,036H,036H,036H,036H,03FH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 018H,018H,018H,018H,018H,01FH,018H,01FH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,01FH,018H,01FH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 000H,000H,000H,000H,000H,000H,000H,03FH,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 036H,036H,036H,036H,036H,036H,036H,0FFH,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 018H,018H,018H,018H,018H,0FFH,018H,0FFH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 018H,018H,018H,018H,018H,018H,018H,0F8H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,01FH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH\r
-DB 000H,000H,000H,000H,000H,000H,000H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH\r
-DB 0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H\r
-DB 00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH\r
-DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,076H,0DCH,0D8H,0D8H,0D8H,0DCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0FCH,0C6H,0FCH,0C6H,0C6H,0FCH,0C0H,0C0H,0C0H,000H,000H\r
-DB 000H,000H,0FEH,0C6H,0C6H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,080H,0FEH,06CH,06CH,06CH,06CH,06CH,06CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,0FEH,0C6H,060H,030H,018H,030H,060H,0C6H,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,07EH,0D8H,0D8H,0D8H,0D8H,0D8H,070H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,066H,066H,066H,066H,066H,07CH,060H,060H,0C0H,000H,000H,000H\r
-DB 000H,000H,000H,000H,076H,0DCH,018H,018H,018H,018H,018H,018H,000H,000H,000H,000H\r
-DB 000H,000H,000H,07EH,018H,03CH,066H,066H,066H,03CH,018H,07EH,000H,000H,000H,000H\r
-DB 000H,000H,000H,038H,06CH,0C6H,0C6H,0FEH,0C6H,0C6H,06CH,038H,000H,000H,000H,000H\r
-DB 000H,000H,038H,06CH,0C6H,0C6H,0C6H,06CH,06CH,06CH,06CH,0EEH,000H,000H,000H,000H\r
-DB 000H,000H,01EH,030H,018H,00CH,03EH,066H,066H,066H,066H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,07EH,0DBH,0DBH,0DBH,07EH,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,003H,006H,07EH,0CFH,0DBH,0F3H,07EH,060H,0C0H,000H,000H,000H,000H\r
-DB 000H,000H,01CH,030H,060H,060H,07CH,060H,060H,060H,030H,01CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,07CH,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,0FEH,000H,000H,0FEH,000H,000H,0FEH,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,018H,018H,07EH,018H,018H,000H,000H,0FFH,000H,000H,000H,000H\r
-DB 000H,000H,000H,030H,018H,00CH,006H,00CH,018H,030H,000H,07EH,000H,000H,000H,000H\r
-DB 000H,000H,000H,00CH,018H,030H,060H,030H,018H,00CH,000H,07EH,000H,000H,000H,000H\r
-DB 000H,000H,00EH,01BH,01BH,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 018H,018H,018H,018H,018H,018H,018H,018H,0D8H,0D8H,0D8H,070H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,018H,018H,000H,07EH,000H,018H,018H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,076H,0DCH,000H,076H,0DCH,000H,000H,000H,000H,000H,000H\r
-DB 000H,038H,06CH,06CH,038H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,018H,018H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,000H,018H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,00FH,00CH,00CH,00CH,00CH,00CH,0ECH,06CH,06CH,03CH,01CH,000H,000H,000H,000H\r
-DB 000H,0D8H,06CH,06CH,06CH,06CH,06CH,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,070H,098H,030H,060H,0C8H,0F8H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,07CH,07CH,07CH,07CH,07CH,07CH,07CH,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
+++ /dev/null
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- Created with FEDIT written by Kinfira (Jeffrey Morgan) -=\r
-;=- -=\r
-;=- Tauron VGA Utilities Version 1.0 -=\r
-;=- Released June 14, 1998 -=\r
-;=- -=\r
-;=- Font Width: 8 -=\r
-;=- Font Height: 16 -=\r
-;=- Bytes per character: 16 -=\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,07EH,081H,0A5H,081H,081H,0BDH,099H,081H,081H,07EH,000H,000H,000H,000H\r
-DB 000H,000H,07EH,0FFH,0DBH,0FFH,0FFH,0C3H,0E7H,0FFH,0FFH,07EH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,06CH,0FEH,0FEH,0FEH,0FEH,07CH,038H,010H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,010H,038H,07CH,0FEH,07CH,038H,010H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,018H,03CH,03CH,0E7H,0E7H,0E7H,099H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,018H,03CH,07EH,0FFH,0FFH,07EH,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,018H,03CH,03CH,018H,000H,000H,000H,000H,000H,000H\r
-DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0E7H,0C3H,0C3H,0E7H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH\r
-DB 000H,000H,000H,000H,000H,03CH,066H,042H,042H,066H,03CH,000H,000H,000H,000H,000H\r
-DB 0FFH,0FFH,0FFH,0FFH,0FFH,0C3H,099H,0BDH,0BDH,099H,0C3H,0FFH,0FFH,0FFH,0FFH,0FFH\r
-DB 000H,000H,01EH,00EH,01AH,032H,078H,0CCH,0CCH,0CCH,0CCH,078H,000H,000H,000H,000H\r
-DB 000H,000H,03CH,066H,066H,066H,066H,03CH,018H,07EH,018H,018H,000H,000H,000H,000H\r
-DB 000H,000H,03FH,033H,03FH,030H,030H,030H,030H,070H,0F0H,0E0H,000H,000H,000H,000H\r
-DB 000H,000H,07FH,063H,07FH,063H,063H,063H,063H,067H,0E7H,0E6H,0C0H,000H,000H,000H\r
-DB 000H,000H,000H,018H,018H,0DBH,03CH,0E7H,03CH,0DBH,018H,018H,000H,000H,000H,000H\r
-DB 000H,080H,0C0H,0E0H,0F0H,0F8H,0FEH,0F8H,0F0H,0E0H,0C0H,080H,000H,000H,000H,000H\r
-DB 000H,002H,006H,00EH,01EH,03EH,0FEH,03EH,01EH,00EH,006H,002H,000H,000H,000H,000H\r
-DB 000H,000H,018H,03CH,07EH,018H,018H,018H,018H,07EH,03CH,018H,000H,000H,000H,000H\r
-DB 000H,000H,066H,066H,066H,066H,066H,066H,066H,000H,066H,066H,000H,000H,000H,000H\r
-DB 000H,000H,07FH,0DBH,0DBH,0DBH,07BH,01BH,01BH,01BH,01BH,01BH,000H,000H,000H,000H\r
-DB 000H,07CH,0C6H,060H,038H,06CH,0C6H,0C6H,06CH,038H,00CH,0C6H,07CH,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,000H,0FEH,0FEH,0FEH,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,018H,03CH,07EH,018H,018H,018H,018H,07EH,03CH,018H,07EH,000H,000H,000H\r
-DB 000H,000H,018H,03CH,07EH,018H,018H,018H,018H,018H,018H,018H,000H,000H,000H,000H\r
-DB 000H,000H,018H,018H,018H,018H,018H,018H,018H,07EH,03CH,018H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,018H,00CH,0FEH,00CH,018H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,030H,060H,0FEH,060H,030H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0C0H,0C0H,0C0H,0C0H,0FEH,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,028H,06CH,0FEH,06CH,028H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,010H,038H,038H,07CH,07CH,0FEH,0FEH,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,0FEH,0FEH,07CH,07CH,038H,038H,010H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,018H,03CH,03CH,03CH,018H,018H,018H,000H,018H,018H,000H,000H,000H,000H\r
-DB 000H,066H,066H,066H,024H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,06CH,06CH,0FEH,06CH,06CH,06CH,0FEH,06CH,06CH,000H,000H,000H,000H\r
-DB 018H,018H,07CH,0C6H,0C2H,0C0H,07CH,006H,086H,0C6H,07CH,018H,018H,000H,000H,000H\r
-DB 000H,000H,000H,000H,0C2H,0C6H,00CH,018H,030H,060H,0C6H,086H,000H,000H,000H,000H\r
-DB 000H,000H,038H,06CH,06CH,038H,076H,0DCH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,030H,030H,030H,060H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,00CH,018H,030H,030H,030H,030H,030H,030H,018H,00CH,000H,000H,000H,000H\r
-DB 000H,000H,030H,018H,00CH,00CH,00CH,00CH,00CH,00CH,018H,030H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,066H,03CH,0FFH,03CH,066H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,018H,018H,07EH,018H,018H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,018H,018H,018H,030H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,0FEH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,018H,018H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,002H,006H,00CH,018H,030H,060H,0C0H,080H,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,0C6H,0CEH,0D6H,0D6H,0E6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,018H,038H,078H,018H,018H,018H,018H,018H,018H,07EH,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,006H,00CH,018H,030H,060H,0C0H,0C6H,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,006H,006H,03CH,006H,006H,006H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,00CH,01CH,03CH,06CH,0CCH,0FEH,00CH,00CH,00CH,01EH,000H,000H,000H,000H\r
-DB 000H,000H,0FEH,0C0H,0C0H,0C0H,0FCH,00EH,006H,006H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,038H,060H,0C0H,0C0H,0FCH,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,0FEH,0C6H,006H,006H,00CH,018H,030H,030H,030H,030H,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,0C6H,0C6H,07CH,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,0C6H,0C6H,07EH,006H,006H,006H,00CH,078H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,018H,018H,000H,000H,000H,018H,018H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,018H,018H,000H,000H,000H,018H,018H,030H,000H,000H,000H,000H\r
-DB 000H,000H,000H,006H,00CH,018H,030H,060H,030H,018H,00CH,006H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,0FEH,000H,000H,0FEH,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,060H,030H,018H,00CH,006H,00CH,018H,030H,060H,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,0C6H,00CH,018H,018H,018H,000H,018H,018H,000H,000H,000H,000H\r
-DB 000H,000H,000H,07CH,0C6H,0C6H,0DEH,0DEH,0DEH,0DCH,0C0H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,010H,038H,06CH,0C6H,0C6H,0FFH,0C6H,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 000H,000H,0FCH,066H,066H,066H,07CH,0FFH,066H,066H,066H,0FCH,000H,000H,000H,000H\r
-DB 000H,000H,03CH,066H,0C2H,0C0H,0C0H,0FFH,0C0H,0C2H,066H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,0F8H,06CH,066H,066H,066H,0FFH,066H,066H,06CH,0F8H,000H,000H,000H,000H\r
-DB 000H,000H,0FEH,066H,062H,068H,078H,0FFH,060H,062H,066H,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,0FEH,066H,062H,068H,078H,0FFH,060H,060H,060H,0F0H,000H,000H,000H,000H\r
-DB 000H,000H,03CH,066H,0C2H,0C0H,0C0H,0FFH,0C6H,0C6H,066H,03AH,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,0C6H,0C6H,0FEH,0FFH,0C6H,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 000H,000H,03CH,018H,018H,018H,018H,0FFH,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,01EH,00CH,00CH,00CH,00CH,0FFH,0CCH,0CCH,0CCH,078H,000H,000H,000H,000H\r
-DB 000H,000H,0E6H,066H,06CH,06CH,078H,0FFH,06CH,066H,066H,0E6H,000H,000H,000H,000H\r
-DB 000H,000H,0F0H,060H,060H,060H,060H,0FFH,060H,062H,066H,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0EEH,0FEH,0FEH,0D6H,0FFH,0C6H,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0E6H,0F6H,0FEH,0DEH,0FFH,0C6H,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 000H,000H,038H,06CH,0C6H,0C6H,0C6H,0FFH,0C6H,0C6H,06CH,038H,000H,000H,000H,000H\r
-DB 000H,000H,0FCH,066H,066H,066H,07CH,0FFH,060H,060H,060H,0F0H,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,0C6H,0C6H,0C6H,0FFH,0C6H,0D6H,0DEH,07CH,00CH,00EH,000H,000H\r
-DB 000H,000H,0FCH,066H,066H,066H,07CH,0FFH,066H,066H,066H,0E6H,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,0C6H,060H,038H,0FFH,006H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,07EH,07EH,05AH,018H,018H,0FFH,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,0C6H,0C6H,0C6H,0FFH,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,0C6H,0C6H,0C6H,0FFH,0C6H,06CH,038H,010H,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,0C6H,0C6H,0C6H,0FFH,0D6H,0FEH,06CH,06CH,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,06CH,06CH,038H,0FFH,06CH,06CH,0C6H,0C6H,000H,000H,000H,000H\r
-DB 000H,000H,066H,066H,066H,066H,03CH,0FFH,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,0FEH,0C6H,086H,00CH,018H,0FFH,060H,0C2H,0C6H,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,03CH,030H,030H,030H,030H,0FFH,030H,030H,030H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,080H,0C0H,0E0H,070H,0FFH,01CH,00EH,006H,002H,000H,000H,000H,000H\r
-DB 000H,000H,03CH,00CH,00CH,00CH,00CH,0FFH,00CH,00CH,00CH,03CH,000H,000H,000H,000H\r
-DB 010H,038H,06CH,0C6H,000H,000H,000H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,0FFH,000H,000H,000H,000H,000H,0FFH,000H,000H\r
-DB 030H,030H,018H,000H,000H,000H,000H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,078H,00CH,07CH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,0E0H,060H,060H,078H,06CH,066H,066H,066H,066H,0DCH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,07CH,0C6H,0C0H,0C0H,0C0H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,01CH,00CH,00CH,03CH,06CH,0CCH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,07CH,0C6H,0FEH,0C0H,0C0H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,038H,06CH,064H,060H,0F0H,060H,060H,060H,060H,0F0H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,076H,0CCH,0CCH,0CCH,0CCH,0CCH,07CH,00CH,0CCH,078H,000H\r
-DB 000H,000H,0E0H,060H,060H,06CH,076H,066H,066H,066H,066H,0E6H,000H,000H,000H,000H\r
-DB 000H,000H,018H,018H,000H,038H,018H,018H,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,006H,006H,000H,00EH,006H,006H,006H,006H,006H,006H,066H,066H,03CH,000H\r
-DB 000H,000H,0E0H,060H,060H,066H,06CH,078H,078H,06CH,066H,0E6H,000H,000H,000H,000H\r
-DB 000H,000H,038H,018H,018H,018H,018H,018H,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0ECH,0FEH,0D6H,0D6H,0D6H,0D6H,0D6H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0DCH,066H,066H,066H,066H,066H,066H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,07CH,0C6H,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0DCH,066H,066H,066H,066H,066H,07CH,060H,060H,0F0H,000H\r
-DB 000H,000H,000H,000H,000H,076H,0CCH,0CCH,0CCH,0CCH,0CCH,07CH,00CH,00CH,01EH,000H\r
-DB 000H,000H,000H,000H,000H,0DCH,076H,062H,060H,060H,060H,0F0H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,07CH,0C6H,060H,038H,00CH,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,010H,030H,030H,0FCH,030H,030H,030H,030H,036H,01CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0CCH,0CCH,0CCH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,066H,066H,066H,066H,066H,03CH,018H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0C6H,0C6H,0C6H,0D6H,0D6H,0FEH,06CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0C6H,06CH,038H,038H,038H,06CH,0C6H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,07EH,006H,00CH,0F8H,000H\r
-DB 000H,000H,000H,000H,000H,0FEH,0CCH,018H,030H,060H,0C6H,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,00EH,018H,018H,018H,070H,018H,018H,018H,018H,00EH,000H,000H,000H,000H\r
-DB 000H,000H,018H,018H,018H,018H,000H,018H,018H,018H,018H,018H,000H,000H,000H,000H\r
-DB 000H,000H,070H,018H,018H,018H,00EH,018H,018H,018H,018H,070H,000H,000H,000H,000H\r
-DB 000H,000H,076H,0DCH,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,010H,038H,06CH,0C6H,0C6H,0C6H,0FEH,000H,000H,000H,000H,000H\r
-DB 000H,000H,03CH,066H,0C2H,0C0H,0C0H,0C0H,0C2H,066H,03CH,00CH,006H,07CH,000H,000H\r
-DB 000H,000H,0CCH,0CCH,000H,0CCH,0CCH,0CCH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,00CH,018H,030H,000H,07CH,0C6H,0FEH,0C0H,0C0H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,010H,038H,06CH,000H,078H,00CH,07CH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,0CCH,0CCH,000H,078H,00CH,07CH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,060H,030H,018H,000H,078H,00CH,07CH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,038H,06CH,038H,000H,078H,00CH,07CH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,03CH,066H,060H,060H,066H,03CH,00CH,006H,03CH,000H,000H,000H\r
-DB 000H,010H,038H,06CH,000H,07CH,0C6H,0FEH,0C0H,0C0H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,000H,07CH,0C6H,0FEH,0C0H,0C0H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,060H,030H,018H,000H,07CH,0C6H,0FEH,0C0H,0C0H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,066H,066H,000H,038H,018H,018H,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,018H,03CH,066H,000H,038H,018H,018H,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,060H,030H,018H,000H,038H,018H,018H,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,0C6H,0C6H,010H,038H,06CH,0C6H,0C6H,0FEH,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 038H,06CH,038H,000H,038H,06CH,0C6H,0C6H,0FEH,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 018H,030H,060H,000H,0FEH,066H,060H,07CH,060H,060H,066H,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0CCH,076H,036H,07EH,0D8H,0D8H,06EH,000H,000H,000H,000H\r
-DB 000H,000H,03EH,06CH,0CCH,0CCH,0FEH,0CCH,0CCH,0CCH,0CCH,0CEH,000H,000H,000H,000H\r
-DB 000H,010H,038H,06CH,000H,07CH,0C6H,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,000H,07CH,0C6H,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,060H,030H,018H,000H,07CH,0C6H,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,030H,078H,0CCH,000H,0CCH,0CCH,0CCH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,060H,030H,018H,000H,0CCH,0CCH,0CCH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,000H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,07EH,006H,00CH,078H,000H\r
-DB 000H,0C6H,0C6H,000H,038H,06CH,0C6H,0C6H,0C6H,0C6H,06CH,038H,000H,000H,000H,000H\r
-DB 000H,0C6H,0C6H,000H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,018H,018H,03CH,066H,060H,060H,060H,066H,03CH,018H,018H,000H,000H,000H,000H\r
-DB 000H,038H,06CH,064H,060H,0F0H,060H,060H,060H,060H,0E6H,0FCH,000H,000H,000H,000H\r
-DB 000H,000H,066H,066H,03CH,018H,07EH,018H,07EH,018H,018H,018H,000H,000H,000H,000H\r
-DB 000H,0F8H,0CCH,0CCH,0F8H,0C4H,0CCH,0DEH,0CCH,0CCH,0CCH,0C6H,000H,000H,000H,000H\r
-DB 000H,00EH,01BH,018H,018H,018H,07EH,018H,018H,018H,018H,018H,0D8H,070H,000H,000H\r
-DB 000H,018H,030H,060H,000H,078H,00CH,07CH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,00CH,018H,030H,000H,038H,018H,018H,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,018H,030H,060H,000H,07CH,0C6H,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,018H,030H,060H,000H,0CCH,0CCH,0CCH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,076H,0DCH,000H,0DCH,066H,066H,066H,066H,066H,066H,000H,000H,000H,000H\r
-DB 076H,0DCH,000H,0C6H,0E6H,0F6H,0FEH,0DEH,0CEH,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 000H,03CH,06CH,06CH,03EH,000H,07EH,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,038H,06CH,06CH,038H,000H,07CH,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,030H,030H,000H,030H,030H,060H,0C0H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,0FEH,0C0H,0C0H,0C0H,0C0H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,0FEH,006H,006H,006H,006H,000H,000H,000H,000H,000H\r
-DB 000H,0C0H,0C0H,0C2H,0C6H,0CCH,018H,030H,060H,0CEH,093H,006H,00CH,01FH,000H,000H\r
-DB 000H,0C0H,0C0H,0C2H,0C6H,0CCH,018H,030H,066H,0CEH,09AH,03FH,006H,00FH,000H,000H\r
-DB 000H,000H,018H,018H,000H,018H,018H,018H,03CH,03CH,03CH,018H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,033H,066H,0CCH,066H,033H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0CCH,066H,033H,066H,0CCH,000H,000H,000H,000H,000H,000H\r
-DB 011H,044H,011H,044H,011H,044H,011H,044H,011H,044H,011H,044H,011H,044H,011H,044H\r
-DB 055H,0AAH,055H,0AAH,055H,0AAH,055H,0AAH,055H,0AAH,055H,0AAH,055H,0AAH,055H,0AAH\r
-DB 0DDH,077H,0DDH,077H,0DDH,077H,0DDH,077H,0DDH,077H,0DDH,077H,0DDH,077H,0DDH,077H\r
-DB 018H,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 018H,018H,018H,018H,018H,018H,018H,0F8H,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 018H,018H,018H,018H,018H,0F8H,018H,0F8H,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 036H,036H,036H,036H,036H,036H,036H,0F6H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 000H,000H,000H,000H,000H,000H,000H,0FEH,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 000H,000H,000H,000H,000H,0F8H,018H,0F8H,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 036H,036H,036H,036H,036H,0F6H,006H,0F6H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 036H,036H,036H,036H,036H,036H,036H,036H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 000H,000H,000H,000H,000H,0FEH,006H,0F6H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 036H,036H,036H,036H,036H,0F6H,006H,0FEH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 036H,036H,036H,036H,036H,036H,036H,0FEH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 018H,018H,018H,018H,018H,0F8H,018H,0F8H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,0F8H,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 018H,018H,018H,018H,018H,018H,018H,01FH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 018H,018H,018H,018H,018H,018H,018H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,0FFH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 018H,018H,018H,018H,018H,018H,018H,01FH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 000H,000H,000H,000H,000H,000H,000H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 018H,018H,018H,018H,018H,018H,018H,0FFH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 018H,018H,018H,018H,018H,01FH,018H,01FH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 036H,036H,036H,036H,036H,036H,036H,037H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 036H,036H,036H,036H,036H,037H,030H,03FH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,03FH,030H,037H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 036H,036H,036H,036H,036H,0F7H,000H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0FFH,000H,0F7H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 036H,036H,036H,036H,036H,037H,030H,037H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 000H,000H,000H,000H,000H,0FFH,000H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 036H,036H,036H,036H,036H,0F7H,000H,0F7H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 018H,018H,018H,018H,018H,0FFH,000H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 036H,036H,036H,036H,036H,036H,036H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0FFH,000H,0FFH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 000H,000H,000H,000H,000H,000H,000H,0FFH,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 036H,036H,036H,036H,036H,036H,036H,03FH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 018H,018H,018H,018H,018H,01FH,018H,01FH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,01FH,018H,01FH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 000H,000H,000H,000H,000H,000H,000H,03FH,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 036H,036H,036H,036H,036H,036H,036H,0FFH,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 018H,018H,018H,018H,018H,0FFH,018H,0FFH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 018H,018H,018H,018H,018H,018H,018H,0F8H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,01FH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH\r
-DB 000H,000H,000H,000H,000H,000H,000H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH\r
-DB 0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H\r
-DB 00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH\r
-DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,076H,0DCH,0D8H,0D8H,0D8H,0DCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0FCH,0C6H,0FCH,0C6H,0C6H,0FCH,0C0H,0C0H,0C0H,000H,000H\r
-DB 000H,000H,0FEH,0C6H,0C6H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,080H,0FEH,06CH,06CH,06CH,06CH,06CH,06CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,0FEH,0C6H,060H,030H,018H,030H,060H,0C6H,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,07EH,0D8H,0D8H,0D8H,0D8H,0D8H,070H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,066H,066H,066H,066H,066H,07CH,060H,060H,0C0H,000H,000H,000H\r
-DB 000H,000H,000H,000H,076H,0DCH,018H,018H,018H,018H,018H,018H,000H,000H,000H,000H\r
-DB 000H,000H,000H,07EH,018H,03CH,066H,066H,066H,03CH,018H,07EH,000H,000H,000H,000H\r
-DB 000H,000H,000H,038H,06CH,0C6H,0C6H,0FEH,0C6H,0C6H,06CH,038H,000H,000H,000H,000H\r
-DB 000H,000H,038H,06CH,0C6H,0C6H,0C6H,06CH,06CH,06CH,06CH,0EEH,000H,000H,000H,000H\r
-DB 000H,000H,01EH,030H,018H,00CH,03EH,066H,066H,066H,066H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,07EH,0DBH,0DBH,0DBH,07EH,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,003H,006H,07EH,0CFH,0DBH,0F3H,07EH,060H,0C0H,000H,000H,000H,000H\r
-DB 000H,000H,01CH,030H,060H,060H,07CH,060H,060H,060H,030H,01CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,07CH,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,0FEH,000H,000H,0FEH,000H,000H,0FEH,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,018H,018H,07EH,018H,018H,000H,000H,0FFH,000H,000H,000H,000H\r
-DB 000H,000H,000H,030H,018H,00CH,006H,00CH,018H,030H,000H,07EH,000H,000H,000H,000H\r
-DB 000H,000H,000H,00CH,018H,030H,060H,030H,018H,00CH,000H,07EH,000H,000H,000H,000H\r
-DB 000H,000H,00EH,01BH,01BH,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 018H,018H,018H,018H,018H,018H,018H,018H,0D8H,0D8H,0D8H,070H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,018H,018H,000H,07EH,000H,018H,018H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,076H,0DCH,000H,076H,0DCH,000H,000H,000H,000H,000H,000H\r
-DB 000H,038H,06CH,06CH,038H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,018H,018H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,000H,018H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,00FH,00CH,00CH,00CH,00CH,00CH,0ECH,06CH,06CH,03CH,01CH,000H,000H,000H,000H\r
-DB 000H,0D8H,06CH,06CH,06CH,06CH,06CH,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,070H,098H,030H,060H,0C8H,0F8H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,07CH,07CH,07CH,07CH,07CH,07CH,07CH,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
+++ /dev/null
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- -=\r
-;=- Tauron VGA Utilities Version 3.0 -=\r
-;=- Released September 20, 1998 -=\r
-;=- -=\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-;=- All Rights Reserved. =-= that you put my name some- -=\r
-;=- =-= where in your credits. -=\r
-;=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- I assume no responsibility whatsoever for any effect that this package, -=\r
-;=- the information contained therein or the use thereof has on you, your -=\r
-;=- sanity, computer, spouse, children, pets or anything else related to -=\r
-;=- you or your existance. No warranty is provided nor implied with this -=\r
-;=- source code. -=\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-.MODEL SMALL\r
-.386\r
-JUMPS\r
-LOCALS\r
-.STACK 200h\r
-.DATA\r
-\r
-ATTRCON_ADDR EQU 03C0H\r
-MISC_ADDR EQU 03C2H\r
-VGAENABLE_ADDR EQU 03C3H\r
-SEQ_ADDR EQU 03C4H\r
-GRACON_ADDR EQU 03CEH\r
-CRTC_ADDR EQU 03D4H\r
-STATUS_ADDR EQU 03DAH\r
-\r
-; Videomode defines\r
-VMODE_00H EQU 00H\r
-VMODE_01H EQU 00H\r
-VMODE_02H EQU 03H\r
-VMODE_03H EQU 03H\r
-VMODE_04H EQU 04H\r
-VMODE_05H EQU 04H\r
-VMODE_06H EQU 06H\r
-VMODE_07H EQU 07H\r
-VMODE_0DH EQU 0DH\r
-VMODE_0EH EQU 0EH\r
-VMODE_0FH EQU 0FH\r
-VMODE_10H EQU 10H\r
-VMODE_11H EQU 11H\r
-VMODE_12H EQU 12H\r
-VMODE_13H EQU 13H\r
-VMODE_CHAIN4 EQU 14H\r
-VMODE_MODE_X EQU 15H\r
-VMODE_MODE_A EQU 16H\r
-VMODE_MODE_B EQU 17H\r
-VMODE_MODE_C EQU 18H\r
-VMODE_MODE_D EQU 19H\r
-VMODE_MODE_E EQU 1AH\r
-VMODE_MODE_F EQU 1BH\r
-VMODE_MODE_G EQU 1CH\r
-VMODE_MODE_H EQU 1DH\r
-VMODE_MODE_I EQU 1EH\r
-VMODE_MODE_J EQU 1FH\r
-VMODE_MODE_K EQU 20H\r
-VMODE_MODE_L EQU 21H\r
-VMODE_MODE_M EQU 22H\r
-VMODE_MODE_N EQU 23H\r
-\r
-;These next four lines must be included for the text mode stuff to work.\r
-oldmode db ?\r
-oldmisc db ?\r
-oldmask db ?\r
-oldmem db ?\r
-\r
-PALETTE LABEL BYTE\r
-DB 0, 0, 0, 0, 0, 42, 0, 42, 0, 0, 42, 42, 42, 0, 0, 42, 0, 42\r
-DB 42, 21, 0, 42, 42, 42, 21, 21, 21, 21, 21, 63, 21, 63, 21, 21, 63, 63\r
-DB 63, 21, 21, 63, 21, 63, 63, 63, 21, 63, 63, 63, 0, 0, 0, 5, 5, 5\r
-DB 8, 8, 8, 11, 11, 11, 14, 14, 14, 17, 17, 17, 20, 20, 20, 24, 24, 24\r
-DB 28, 28, 28, 32, 32, 32, 36, 36, 36, 40, 40, 40, 45, 45, 45, 50, 50, 50\r
-DB 56, 56, 56, 63, 63, 63, 0, 0, 63, 16, 0, 63, 31, 0, 63, 47, 0, 63\r
-DB 63, 0, 63, 63, 0, 47, 63, 0, 31, 63, 0, 16, 63, 0, 0, 63, 16, 0\r
-DB 63, 31, 0, 63, 47, 0, 63, 63, 0, 47, 63, 0, 31, 63, 0, 16, 63, 0\r
-DB 0, 63, 0, 0, 63, 16, 0, 63, 31, 0, 63, 47, 0, 63, 63, 0, 47, 63\r
-DB 0, 31, 63, 0, 16, 63, 31, 31, 63, 39, 31, 63, 47, 31, 63, 55, 31, 63\r
-DB 63, 31, 63, 63, 31, 55, 63, 31, 47, 63, 31, 39, 63, 31, 31, 63, 39, 31\r
-DB 63, 47, 31, 63, 55, 31, 63, 63, 31, 55, 63, 31, 47, 63, 31, 39, 63, 31\r
-DB 31, 63, 31, 31, 63, 39, 31, 63, 47, 31, 63, 55, 31, 63, 63, 31, 55, 63\r
-DB 31, 47, 63, 31, 39, 63, 45, 45, 63, 49, 45, 63, 54, 45, 63, 58, 45, 63\r
-DB 63, 45, 63, 63, 45, 58, 63, 45, 54, 63, 45, 49, 63, 45, 45, 63, 49, 45\r
-DB 63, 54, 45, 63, 58, 45, 63, 63, 45, 58, 63, 45, 54, 63, 45, 49, 63, 45\r
-DB 45, 63, 45, 45, 63, 49, 45, 63, 54, 45, 63, 58, 45, 63, 63, 45, 58, 63\r
-DB 45, 54, 63, 45, 49, 63, 0, 0, 28, 7, 0, 28, 14, 0, 28, 21, 0, 28\r
-DB 28, 0, 28, 28, 0, 21, 28, 0, 14, 28, 0, 7, 28, 0, 0, 28, 7, 0\r
-DB 28, 14, 0, 28, 21, 0, 28, 28, 0, 21, 28, 0, 14, 28, 0, 7, 28, 0\r
-DB 0, 28, 0, 0, 28, 7, 0, 28, 14, 0, 28, 21, 0, 28, 28, 0, 21, 28\r
-DB 0, 14, 28, 0, 7, 28, 14, 14, 28, 17, 14, 28, 21, 14, 28, 24, 14, 28\r
-DB 28, 14, 28, 28, 14, 24, 28, 14, 21, 28, 14, 17, 28, 14, 14, 28, 17, 14\r
-DB 28, 21, 14, 28, 24, 14, 28, 28, 14, 24, 28, 14, 21, 28, 14, 17, 28, 14\r
-DB 14, 28, 14, 14, 28, 17, 14, 28, 21, 14, 28, 24, 14, 28, 28, 14, 24, 28\r
-DB 14, 21, 28, 14, 17, 28, 20, 20, 28, 22, 20, 28, 24, 20, 28, 26, 20, 28\r
-DB 28, 20, 28, 28, 20, 26, 28, 20, 24, 28, 20, 22, 28, 20, 20, 28, 22, 20\r
-DB 28, 24, 20, 28, 26, 20, 28, 28, 20, 26, 28, 20, 24, 28, 20, 22, 28, 20\r
-DB 20, 28, 20, 20, 28, 22, 20, 28, 24, 20, 28, 26, 20, 28, 28, 20, 26, 28\r
-DB 20, 24, 28, 20, 22, 28, 0, 0, 16, 4, 0, 16, 8, 0, 16, 12, 0, 16\r
-DB 16, 0, 16, 16, 0, 12, 16, 0, 8, 16, 0, 4, 16, 0, 0, 16, 4, 0\r
-DB 16, 8, 0, 16, 12, 0, 16, 16, 0, 12, 16, 0, 8, 16, 0, 4, 16, 0\r
-DB 0, 16, 0, 0, 16, 4, 0, 16, 8, 0, 16, 12, 0, 16, 16, 0, 12, 16\r
-DB 0, 8, 16, 0, 4, 16, 8, 8, 16, 10, 8, 16, 12, 8, 16, 14, 8, 16\r
-DB 16, 8, 16, 16, 8, 14, 16, 8, 12, 16, 8, 10, 16, 8, 8, 16, 10, 8\r
-DB 16, 12, 8, 16, 14, 8, 16, 16, 8, 14, 16, 8, 12, 16, 8, 10, 16, 8\r
-DB 8, 16, 8, 8, 16, 10, 8, 16, 12, 8, 16, 14, 8, 16, 16, 8, 14, 16\r
-DB 8, 12, 16, 8, 10, 16, 11, 11, 16, 12, 11, 16, 13, 11, 16, 15, 11, 16\r
-DB 16, 11, 16, 16, 11, 15, 16, 11, 13, 16, 11, 12, 16, 11, 11, 16, 12, 11\r
-DB 16, 13, 11, 16, 15, 11, 16, 16, 11, 15, 16, 11, 13, 16, 11, 12, 16, 11\r
-DB 11, 16, 11, 11, 16, 12, 11, 16, 13, 11, 16, 15, 11, 16, 16, 11, 15, 16\r
-DB 11, 13, 16, 11, 12, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\r
-DB 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 63, 63\r
-\r
-; Must be included for any videomode to be set.\r
-include modes.inc\r
-\r
-MAIN_MSG LABEL BYTE\r
-DB 'Tauron VGA Utilities v3.0',13,10\r
-DB 'Copyright (c) 1998 Jeffrey Morgan. All Rights Reserved.',13,10\r
-DB 'Select a video mode to test: (Modes with a ! are not implemented)',13,10\r
-DB 'Key Videomode (Modes with a % are unchained)',13,10\r
-DB '================================================================================'\r
-DB ' 0) 00H, 01H -- 40 x 25 x 16 %F) Mode D -- 360 x 200 x 256',13,10\r
-DB ' 1) Mode L -- 40 x 43 x 16 %G) Mode E -- 360 x 240 x 256',13,10\r
-DB ' 2) Mode M -- 40 x 50 x 16 %H) Mode F -- 360 x 350 x 256',13,10\r
-DB '!3) 07H -- 80 x 25 x 2 %I) Mode G -- 360 x 400 x 256',13,10\r
-DB ' 4) 02H, 03H -- 80 x 25 x 16 %J) Mode H -- 360 x 480 x 256',13,10\r
-DB ' 5) Mode J -- 80 x 43 x 16 K) 06H -- 640 x 200 x 2',13,10\r
-DB ' 6) Mode K -- 80 x 50 x 16 !L) 0FH -- 640 x 350 x 2',13,10 \r
-DB ' 7) 04H, 05H -- 320 x 200 x 4 M) 11H -- 640 x 480 x 2',13,10 \r
-DB ' 8) 0DH -- 320 x 200 x 16 N) 0EH -- 640 x 200 x 16',13,10\r
-DB ' 9) 13H -- 320 x 200 x 256 O) 10H -- 640 x 350 x 16',13,10\r
-DB '%A) Chain 4 -- 320 x 200 x 256 P) Mode I -- 640 x 400 x 16',13,10\r
-DB '%B) Mode X -- 320 x 240 x 256 Q) 12H -- 640 x 480 x 16',13,10\r
-DB '%C) Mode A -- 320 x 350 x 256',13,10\r
-DB '%D) Mode B -- 320 x 400 x 256 R) Dual Font Test',13,10\r
-DB '%E) Mode C -- 320 x 480 x 256',13,10\r
-DB '===============================================================================',13,10\r
-DB 'Hit ',39,'ESC',39,' to exit. Press a key [0-9 or A-O]>$'\r
-\r
-TEXTMSG_1 DB 218,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,191,0\r
-TEXTMSG_2 DB 179,'Text Mode: 00H ',179,0 ; +13\r
-TEXTMSG_3 DB 179,'Width: 80 Height: 25',179,0 ; +8\r
-TEXTMSG_4 DB 179,'Bytes per screen: 4000',179,0 ; +19\r
-TEXTMSG_5 DB 179,'Number of pages: 8 ',179,0\r
-TEXTMSG_6 DB 192,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,217,0\r
-\r
-TEXTMSG_7 DB 218,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,191,0\r
-TEXTMSG_8 DB 179,'Text Mode J ',179,0 ; +11\r
-TEXTMSG_9 DB 179,'Width: 80 Height: 43',179,0 ; +21, +22\r
-TEXTMSG_A DB 179,'Bytes per screen: 3440',179,0 ; +19, +20, +21, +22\r
-TEXTMSG_B DB 179,'Number of pages: 8 ',179,0\r
-TEXTMSG_C DB 192,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,217,0\r
-\r
-TEXTMSG_D DB 218,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,191,0\r
-TEXTMSG_E DB 179,' DUAL FONT MODE ',179,0 ;\r
-TEXTMSG_F DB 192,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,217,0\r
-\r
-FONT_8x8_OFF DW ?\r
-FONT_8x14_OFF DW ?\r
-\r
-; Attribute for text charcters\r
-ATT DB 1FH\r
-\r
-FONT1 LABEL BYTE\r
-include font1.asm\r
-FONT2 LABEL BYTE\r
-include font2.asm\r
-.CODE\r
-\r
-IODELAY MACRO\r
- REPT 8\r
- JMP $+2\r
- ENDM\r
-ENDM\r
-\r
-Start:\r
- MOV AX,@DATA\r
- MOV DS,AX\r
-\r
- ; This must be here to ensure that the fonts are properly found because\r
- ; the location of the fonts in ROM is different on every VGA BIOS.\r
- ; Get location of the fonts for Modes J and K\r
- MOV AH,11h\r
- MOV AL,30h\r
- MOV BH,03h\r
- INT 10H\r
- MOV FONT_8x8_OFF,BP\r
-\r
- ; Get location of the fonts for Modes 00H, 01H, 02H, 03H, and 07H\r
- MOV AH,11h\r
- MOV AL,30h\r
- MOV BH,06h\r
- INT 10H\r
- MOV FONT_8x14_OFF,BP\r
-\r
- ; Reset the mode and clear the screen\r
- MOV AX,0003H\r
- INT 10H\r
-\r
- ; Print out the message\r
- MOV DX,OFFSET MAIN_MSG\r
- MOV AH,9\r
- INT 21H\r
-\r
-MAIN_LOOP:\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
-\r
- CMP AL,27\r
- JE QUIT_PROGRAM\r
-\r
- CMP AL,'0'\r
- JE MODE_00_TEST\r
-\r
- CMP AL,'1'\r
- JE MODE_L_TEST\r
-\r
- CMP AL,'2'\r
- JE MODE_M_TEST\r
-\r
- CMP AL,'4'\r
- JE MODE_03_TEST\r
-\r
- CMP AL,'5'\r
- JE MODE_J_TEST\r
-\r
- CMP AL,'6'\r
- JE MODE_K_TEST\r
-\r
- CMP AL,'7'\r
- JE MODE_04_TEST\r
-\r
- CMP AL,'8'\r
- JE MODE_0D_TEST\r
-\r
- CMP AL,'9'\r
- JE MODE_13_TEST\r
-\r
- CMP AL,'a'\r
- JE MODE_C4_TEST\r
- CMP AL,'A'\r
- JE MODE_C4_TEST\r
-\r
- CMP AL,'b'\r
- JE MODE_X_TEST\r
- CMP AL,'B'\r
- JE MODE_X_TEST\r
-\r
- CMP AL,'c'\r
- JE MODE_A_TEST\r
- CMP AL,'C'\r
- JE MODE_A_TEST\r
-\r
- CMP AL,'d'\r
- JE MODE_B_TEST\r
- CMP AL,'D'\r
- JE MODE_B_TEST\r
-\r
- CMP AL,'e'\r
- JE MODE_C_TEST\r
- CMP AL,'E'\r
- JE MODE_C_TEST\r
-\r
- CMP AL,'f'\r
- JE MODE_D_TEST\r
- CMP AL,'F'\r
- JE MODE_D_TEST\r
-\r
- CMP AL,'g'\r
- JE MODE_E_TEST\r
- CMP AL,'G'\r
- JE MODE_E_TEST\r
-\r
- CMP AL,'h'\r
- JE MODE_F_TEST\r
- CMP AL,'H'\r
- JE MODE_F_TEST\r
-\r
- CMP AL,'i'\r
- JE MODE_G_TEST\r
- CMP AL,'I'\r
- JE MODE_G_TEST\r
-\r
- CMP AL,'j'\r
- JE MODE_H_TEST\r
- CMP AL,'J'\r
- JE MODE_H_TEST\r
-\r
- CMP AL,'k'\r
- JE MODE_06_TEST\r
- CMP AL,'K'\r
- JE MODE_06_TEST\r
-\r
- CMP AL,'m'\r
- JE MODE_11_TEST\r
- CMP AL,'M'\r
- JE MODE_11_TEST\r
-\r
- CMP AL,'n'\r
- JE MODE_0E_TEST\r
- CMP AL,'N'\r
- JE MODE_0E_TEST\r
-\r
- CMP AL,'o'\r
- JE MODE_10_TEST\r
- CMP AL,'O'\r
- JE MODE_10_TEST\r
-\r
- CMP AL,'p'\r
- JE MODE_I_TEST\r
- CMP AL,'P'\r
- JE MODE_I_TEST\r
-\r
- CMP AL,'q'\r
- JE MODE_12_TEST\r
- CMP AL,'Q'\r
- JE MODE_12_TEST\r
-\r
- CMP AL,'r'\r
- JE DUAL_TEST\r
- CMP AL,'R'\r
- JE DUAL_TEST\r
- JMP MAIN_LOOP\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_00_TEST:\r
- PUSH VMODE_00H\r
- CALL SETVIDEOMODE\r
-\r
- CALL TEXTTEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_03_TEST:\r
- PUSH VMODE_03H\r
- CALL SETVIDEOMODE\r
-\r
- CALL TEXTTEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_04_TEST:\r
- PUSH VMODE_04H\r
- CALL SETVIDEOMODE\r
-\r
- PUSH 0AAAAH\r
- CALL CLEAR_B8000H\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_06_TEST:\r
- PUSH VMODE_06H\r
- CALL SETVIDEOMODE\r
-\r
- PUSH 0FFFFH\r
- CALL CLEAR_B8000H\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_0D_TEST:\r
- PUSH VMODE_0DH\r
- CALL SETVIDEOMODE\r
-\r
- PUSH 12\r
- CALL CLEAR0DH\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_0E_TEST:\r
- PUSH VMODE_0EH\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_10_TEST:\r
- PUSH VMODE_10H\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_11_TEST:\r
- PUSH VMODE_11H\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_12_TEST:\r
- PUSH VMODE_12H\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_13_TEST:\r
- PUSH VMODE_13H\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_I_TEST:\r
- PUSH VMODE_MODE_I\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_C4_TEST:\r
- PUSH VMODE_CHAIN4\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_X_TEST:\r
- PUSH VMODE_MODE_X\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_A_TEST:\r
- PUSH VMODE_MODE_A\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_B_TEST:\r
- PUSH VMODE_MODE_B\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_C_TEST:\r
- PUSH VMODE_MODE_C\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_D_TEST:\r
- PUSH VMODE_MODE_D\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_E_TEST:\r
- PUSH VMODE_MODE_E\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_F_TEST:\r
- PUSH VMODE_MODE_F\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_G_TEST:\r
- PUSH VMODE_MODE_G\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_H_TEST:\r
- PUSH VMODE_MODE_H\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_J_TEST:\r
- PUSH VMODE_MODE_J\r
- CALL SETVIDEOMODE\r
-\r
- CALL TEXTTEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_K_TEST:\r
- PUSH VMODE_MODE_K\r
- CALL SETVIDEOMODE\r
-\r
- CALL TEXTTEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_L_TEST:\r
- PUSH VMODE_MODE_L\r
- CALL SETVIDEOMODE\r
-\r
- CALL TEXTTEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_M_TEST:\r
- PUSH VMODE_MODE_M\r
- CALL SETVIDEOMODE\r
-\r
- CALL TEXTTEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-DUAL_TEST:\r
- CALL DUALTEST\r
-\r
-RESET:\r
- ; Reset the mode and clear the screen\r
- MOV AX,0003H\r
- INT 10H\r
-\r
- ; Print out the message\r
- MOV DX,OFFSET MAIN_MSG\r
- MOV AH,9\r
- INT 21H\r
- JMP MAIN_LOOP\r
-\r
-; ====================== New Video Mode ====================================\r
-QUIT_PROGRAM:\r
- ; Set the BIOS mode 03h\r
- MOV AX,0003H\r
- INT 10H\r
-\r
- ; Exit to DOS\r
- MOV AX,4C00H\r
- INT 21H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-LOADFONT PROC\r
- PUSH BP\r
- MOV BP,SP\r
- PUSHA\r
- mov dx,GRACON_ADDR ;get graphics port\r
- mov al,5 ;get write mode reg\r
- out dx,al ;select the reg\r
- IODELAY ;delay a bit\r
- inc dx ;change DX\r
- in al,dx ;get value\r
- IODELAY ;pause\r
- mov [oldmode],al ;store it\r
- dec dx ;restore DX\r
- mov al,6 ;get misc reg\r
- out dx,al ;select the reg\r
- IODELAY ;delay a bit\r
- inc dx ;change DX\r
- in al,dx ;get value\r
- IODELAY ;pause\r
- mov [oldmisc],al ;store it\r
- dec dx ;restore DX\r
- mov dx,SEQ_ADDR ;get sequencer port\r
- mov al,2 ;get map mask reg\r
- out dx,al ;select the reg\r
- IODELAY ;delay a bit\r
- inc dx ;change DX\r
- in al,dx ;get value\r
- IODELAY ;pause\r
- mov [oldmask],al ;store it\r
- dec dx ;restore DX\r
- mov al,4 ;get memory selector reg\r
- out dx,al ;select the reg\r
- IODELAY ;delay a bit\r
- inc dx ;change DX\r
- in al,dx ;get value\r
- IODELAY ;pause\r
- mov [oldmem],al ;store it\r
-\r
- mov dx,GRACON_ADDR ;select graphics port\r
- mov al,5 ;get write mode reg\r
- mov ah,[oldmode] ;get old value\r
- and ah,0fch ;mask it\r
- out dx,ax ;set new value\r
- IODELAY ;pause\r
- mov al,6 ;get misc reg\r
- mov ah,[oldmisc] ;get old value\r
- and ah,0f1h ;mask it\r
- or ah,4 ;set a flag\r
- out dx,ax ;set it\r
- IODELAY ;pause\r
- mov dx,SEQ_ADDR ;select sequencer port\r
- mov al,2 ;get mask reg\r
- mov ah,4 ;get new value\r
- out dx,ax ;set it\r
- IODELAY ;pause\r
- mov al,4 ;get memory reg\r
- mov ah,[oldmem] ;get old value\r
- or ah,4 ;set flag\r
- out dx,ax ;set value\r
- IODELAY ;pause\r
-\r
- PUSH DS\r
- PUSH ES\r
-\r
- MOV AX,[BP+8]\r
- MOV ES,AX\r
- MOV DI,[BP+10]\r
-\r
- MOV AX,[BP+4]\r
- MOV DS,AX\r
- MOV SI,[BP+6]\r
-\r
-@@LOOP1:\r
- PUSH DI\r
- MOV CL,[BP+12]\r
-@@LOOP2:\r
- MOVSB\r
- DEC CL\r
- JNZ @@LOOP2\r
-\r
- MOV CL,32\r
- SUB CL,byte ptr [BP+12]\r
-@@LOOP3:\r
- MOV AX,00H\r
- STOSB\r
- DEC CL\r
- JNZ @@LOOP3\r
-\r
- POP DI\r
- ADD DI,32\r
-\r
- DEC CH\r
- JNZ @@LOOP1\r
-\r
- POP ES\r
- POP DS\r
-\r
- mov dx,GRACON_ADDR ;get graphics port\r
- mov al,5 ;get 1st reg\r
- mov ah,[oldmode] ;get old value\r
- out dx,ax ;set it\r
- IODELAY ;pause\r
- mov al,6 ;get 2nd reg\r
- mov ah,[oldmisc] ;get old value\r
- out dx,ax ;set it\r
- IODELAY ;pause\r
- mov dx,SEQ_ADDR ;get seq port\r
- mov al,2 ;get 3rd reg\r
- mov ah,[oldmask] ;get old value\r
- out dx,ax ;set it\r
- IODELAY ;pause\r
- mov al,4 ;get 4th reg\r
- mov ah,[oldmem] ;get old value\r
- out dx,ax ;set it\r
- IODELAY ;pause\r
-\r
- POPA\r
- POP BP\r
- RET 10\r
-LOADFONT ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-include clear.asm\r
-include modes.asm\r
-include tests.asm\r
-include dual.asm\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-END Start\r
+++ /dev/null
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- -=\r
-;=- Tauron VGA Utilities Version 3.0 -=\r
-;=- Released September 20, 1998 -=\r
-;=- -=\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-;=- All Rights Reserved. =-= that you put my name some- -=\r
-;=- =-= where in your credits. -=\r
-;=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- I assume no responsibility whatsoever for any effect that this package, -=\r
-;=- the information contained therein or the use thereof has on you, your -=\r
-;=- sanity, computer, spouse, children, pets or anything else related to -=\r
-;=- you or your existance. No warranty is provided nor implied with this -=\r
-;=- source code. -=\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-SETVIDEOMODE PROC\r
- PUSH BP\r
- MOV BP,SP\r
-\r
- MOV AX,word ptr [BP+4]\r
- MOV Mode.videomode, AX\r
- CMP AX,VMODE_00H\r
- JE SET00H\r
- CMP AX,VMODE_03H\r
- JE SET03H\r
- CMP AX,VMODE_04H\r
- JE SET04H\r
- CMP AX,VMODE_06H\r
- JE SET06H\r
-; CMP AX,VMODE_07H\r
-; JE SET07H\r
- CMP AX,VMODE_0DH\r
- JE SET0DH\r
- CMP AX,VMODE_0EH\r
- JE SET0EH\r
-; CMP AX,VMODE_0FH\r
-; JE SET0FH\r
- CMP AX,VMODE_10H\r
- JE SET10H\r
- CMP AX,VMODE_11H\r
- JE SET11H\r
- CMP AX,VMODE_12H\r
- JE SET12H\r
- CMP AX,VMODE_13H\r
- JE SET13H\r
- CMP AX,VMODE_CHAIN4\r
- JE SETCHAIN4\r
- CMP AX,VMODE_MODE_X\r
- JE SETMODE_X\r
- CMP AX,VMODE_MODE_A\r
- JE SETMODE_A\r
- CMP AX,VMODE_MODE_B\r
- JE SETMODE_B\r
- CMP AX,VMODE_MODE_C\r
- JE SETMODE_C\r
- CMP AX,VMODE_MODE_D\r
- JE SETMODE_D\r
- CMP AX,VMODE_MODE_E\r
- JE SETMODE_E\r
- CMP AX,VMODE_MODE_F\r
- JE SETMODE_F\r
- CMP AX,VMODE_MODE_G\r
- JE SETMODE_G\r
- CMP AX,VMODE_MODE_H\r
- JE SETMODE_H\r
- CMP AX,VMODE_MODE_I\r
- JE SETMODE_I\r
- CMP AX,VMODE_MODE_J\r
- JE SETMODE_J\r
- CMP AX,VMODE_MODE_K\r
- JE SETMODE_K\r
- CMP AX,VMODE_MODE_L\r
- JE SETMODE_L\r
- CMP AX,VMODE_MODE_M\r
- JE SETMODE_M\r
- JMP SET_OUT\r
-\r
-SET00H:\r
- MOV SI,OFFSET MODE00H\r
- CALL SETMODE\r
-\r
- PUSH 16 ; Bytes per character\r
- PUSH 0 ; Offset of font in Video Memory\r
- PUSH 0A000H\r
- PUSH FONT_8x14_OFF ; Offset of Font in BIOS\r
- PUSH 0C000H\r
- CALL LOADFONT\r
- CALL SETPALETTE16\r
- MOV Mode.mode_width,40;\r
- MOV Mode.mode_height,25;\r
- MOV Mode.width_bytes,1000;\r
- MOV Mode.colors,16;\r
- MOV Mode.attrib,TVU_TEXT;\r
- JMP SET_OUT\r
-\r
-SET03H:\r
- MOV SI,OFFSET MODE03H\r
- CALL SETMODE\r
-\r
- PUSH 16 ; Bytes per character\r
- PUSH 0 ; Offset of font in Video Memory\r
- PUSH 0A000H\r
- PUSH FONT_8x14_OFF ; Offset of Font in BIOS\r
- PUSH 0C000H\r
- CALL LOADFONT\r
-; CALL SETPALETTE16\r
- MOV Mode.mode_width,80;\r
- MOV Mode.mode_height,25;\r
- MOV Mode.width_bytes,2000;\r
- MOV Mode.colors,16;\r
- MOV Mode.attrib,TVU_TEXT;\r
- JMP SET_OUT\r
-\r
-SET04H:\r
- MOV SI,OFFSET MODE04H\r
- CALL SETMODE\r
- CALL SETPALETTE4\r
- MOV Mode.mode_width,320;\r
- MOV Mode.mode_height,200;\r
- MOV Mode.width_bytes,65535;\r
- MOV Mode.colors,4;\r
- MOV Mode.attrib,TVU_GRAPHICS;\r
- OR Mode.attrib,TVU_B8000_ADDR\r
- JMP SET_OUT\r
-\r
-SET06H:\r
- MOV SI,OFFSET MODE06H\r
- CALL SETMODE\r
- CALL SETPALETTE4\r
- MOV Mode.mode_width,640;\r
- MOV Mode.mode_height,200;\r
- MOV Mode.width_bytes,16384;\r
- MOV Mode.colors,4;\r
- MOV Mode.attrib,TVU_GRAPHICS;\r
- OR Mode.attrib,TVU_B8000_ADDR\r
- OR Mode.attrib,TVU_PLANAR\r
- JMP SET_OUT\r
-\r
-SET07H:\r
- MOV SI,OFFSET MODE07H\r
- CALL SETMODE\r
-\r
- PUSH 16 ; Bytes per character\r
- PUSH 0 ; Offset of font in Video Memory\r
- PUSH 0A000H\r
- PUSH FONT_8x14_OFF ; Offset of Font in BIOS\r
- PUSH 0C000H\r
- CALL LOADFONT\r
- MOV Mode.mode_width,80;\r
- MOV Mode.mode_height,25;\r
- MOV Mode.width_bytes,2000;\r
- MOV Mode.colors,2;\r
- MOV Mode.attrib,TVU_TEXT\r
- OR Mode.attrib,TVU_MONOCHROME\r
- JMP SET_OUT\r
-\r
-SET0DH:\r
- MOV SI,OFFSET MODE0DH\r
- CALL SETMODE\r
- CALL SETPALETTE16\r
- MOV Mode.mode_width,320;\r
- MOV Mode.mode_height,200;\r
- MOV Mode.width_bytes,8000;\r
- MOV Mode.colors,16;\r
- MOV Mode.attrib,TVU_GRAPHICS;\r
- OR Mode.attrib,TVU_PLANAR\r
- JMP SET_OUT\r
-\r
-SET0EH:\r
- MOV SI,OFFSET MODE0EH\r
- CALL SETMODE\r
- CALL SETPALETTE16\r
- MOV Mode.mode_width,640;\r
- MOV Mode.mode_height,200;\r
- MOV Mode.width_bytes,16000;\r
- MOV Mode.colors,16;\r
- MOV Mode.attrib,TVU_GRAPHICS;\r
- OR Mode.attrib,TVU_PLANAR\r
- JMP SET_OUT\r
-\r
-SET0FH:\r
- MOV SI,OFFSET MODE0FH\r
- CALL SETMODE\r
- MOV Mode.mode_width,640;\r
- MOV Mode.mode_height,350;\r
- MOV Mode.width_bytes,28000;\r
- MOV Mode.colors,2;\r
- MOV Mode.attrib,TVU_GRAPHICS\r
- OR Mode.attrib,TVU_MONOCHROME\r
- JMP SET_OUT\r
-\r
-SET10H:\r
- MOV SI,OFFSET MODE10H\r
- CALL SETMODE\r
- CALL SETPALETTE16\r
- MOV Mode.mode_width,640;\r
- MOV Mode.mode_height,350;\r
- MOV Mode.width_bytes,28000;\r
- MOV Mode.colors,16;\r
- MOV Mode.attrib,TVU_GRAPHICS;\r
- OR Mode.attrib,TVU_PLANAR\r
- JMP SET_OUT\r
-\r
-SET11H:\r
- MOV SI,OFFSET MODE11H\r
- CALL SETMODE\r
- CALL SETPALETTE16\r
- MOV Mode.mode_width,640;\r
- MOV Mode.mode_height,480;\r
- MOV Mode.width_bytes,38400;\r
- MOV Mode.colors,2;\r
- MOV Mode.attrib,TVU_GRAPHICS;\r
- OR Mode.attrib,TVU_PLANAR\r
- JMP SET_OUT\r
-\r
-SET12H:\r
- MOV SI,OFFSET MODE12H\r
- CALL SETMODE\r
- CALL SETPALETTE16\r
- MOV Mode.mode_width,640\r
- MOV Mode.mode_height,480\r
- MOV Mode.width_bytes,38400\r
- MOV Mode.colors,16\r
- MOV Mode.attrib,TVU_GRAPHICS\r
- OR Mode.attrib,TVU_PLANAR\r
- JMP SET_OUT\r
-\r
-SET13H:\r
- MOV SI,OFFSET MODE13H\r
- CALL SETMODE\r
- CALL SETPALETTE256\r
- MOV Mode.mode_width,320;\r
- MOV Mode.mode_height,200;\r
- MOV Mode.width_bytes,64000;\r
- MOV Mode.colors,256;\r
- MOV Mode.attrib,TVU_GRAPHICS;\r
- JMP SET_OUT\r
-\r
-SETCHAIN4:\r
- MOV SI,OFFSET CHAIN4\r
- CALL SETMODE\r
- CALL SETPALETTE256\r
- MOV Mode.mode_width,320;\r
- MOV Mode.mode_height,200;\r
- MOV Mode.width_bytes,16000;\r
- MOV Mode.colors,256;\r
- MOV Mode.attrib,TVU_GRAPHICS;\r
- OR Mode.attrib,TVU_UNCHAINED\r
- JMP SET_OUT\r
-\r
-SETMODE_X:\r
- MOV SI,OFFSET CHAIN4\r
- CALL SETMODE\r
-\r
- MOV DX,MISC_ADDR\r
- MOV AX,0E3H\r
- OUT DX,AL\r
-\r
- MOV DX,CRTC_ADDR\r
-\r
- ; turn off write protect\r
- MOV AX,02C11H\r
- OUT DX,AX\r
- ; vertical total\r
- MOV AX,00D06H\r
- OUT DX,AX\r
- ; overflow register\r
- MOV AX,03E07H\r
- OUT DX,AX\r
- ; vertical retrace start\r
- MOV AX,0EA10H\r
- OUT DX,AX\r
- ; vertical retrace end AND wr.prot\r
- MOV AX,0AC11H\r
- OUT DX,AX\r
- ; vertical display enable end\r
- MOV AX,0DF12H\r
- OUT DX,AX\r
- ; start vertical blanking\r
- MOV AX,0E715H\r
- OUT DX,AX\r
- ; end vertical blanking\r
- MOV AX,00616H\r
- OUT DX,AX\r
-\r
- CALL SETPALETTE256\r
- MOV Mode.mode_width,320;\r
- MOV Mode.mode_height,240;\r
- MOV Mode.width_bytes,19200;\r
- MOV Mode.colors,256;\r
- MOV Mode.attrib,TVU_GRAPHICS\r
- OR Mode.attrib,TVU_UNCHAINED\r
- JMP SET_OUT\r
-\r
-SETMODE_A:\r
- MOV SI,OFFSET CHAIN4\r
- CALL SETMODE\r
-\r
- ; turn off double scanning mode\r
- MOV DX,CRTC_ADDR\r
- MOV AX,9\r
- OUT DX,AL\r
- INC DX\r
- IN AL,DX\r
- AND AL,0E0h\r
- OUT DX,AL\r
-\r
- ; change the vertical resolution flags to 350\r
- MOV DX,03CCH\r
- IN AL,DX\r
- AND AL,02Fh\r
- OR AL,80h\r
- MOV DX,MISC_ADDR\r
- OUT DX,AL\r
-\r
- MOV DX,CRTC_ADDR\r
- ; turn off write protect\r
- MOV AX,02C11H\r
- OUT DX,AX\r
- ; vertical total\r
- MOV AX,0BF06H\r
- OUT DX,AX\r
- ; overflow register\r
- MOV AX,01F07H\r
- OUT DX,AX\r
- ; vertical retrace start\r
- MOV AX,08310H\r
- OUT DX,AX\r
- ; vertical retrace end AND wr.prot\r
- MOV AX,08511H\r
- OUT DX,AX\r
- ; vertical display enable end\r
- MOV AX,05D12H\r
- OUT DX,AX\r
- ; start vertical blanking\r
- MOV AX,06315H\r
- OUT DX,AX\r
- ; end vertical blanking\r
- MOV AX,0BA16H\r
- OUT DX,AX\r
-\r
- CALL SETPALETTE256\r
-\r
- MOV Mode.mode_width,320;\r
- MOV Mode.mode_height,350;\r
- MOV Mode.width_bytes,28000;\r
- MOV Mode.colors,256;\r
- MOV Mode.attrib,TVU_GRAPHICS\r
- OR Mode.attrib,TVU_UNCHAINED\r
- JMP SET_OUT\r
-\r
-SETMODE_B:\r
- MOV SI,OFFSET CHAIN4\r
- CALL SETMODE\r
-\r
- ; turn off double scanning mode\r
- MOV DX,CRTC_ADDR\r
- MOV AX,9\r
- OUT DX,AL\r
- INC DX\r
- IN AL,DX\r
- AND AL,0E0h\r
- OUT DX,AL\r
-\r
- ; change the vertical resolution flags to 400\r
- MOV DX,03CCH\r
- IN AL,DX\r
- AND AL,02Fh\r
- OR AL,40h\r
- MOV DX,MISC_ADDR\r
- OUT DX,AL\r
-\r
- CALL SETPALETTE256\r
-\r
- MOV Mode.mode_width,320;\r
- MOV Mode.mode_height,400;\r
- MOV Mode.width_bytes,32000;\r
- MOV Mode.colors,256;\r
- MOV Mode.attrib,TVU_GRAPHICS\r
- OR Mode.attrib,TVU_UNCHAINED\r
- JMP SET_OUT\r
-\r
-SETMODE_C:\r
- MOV SI,OFFSET CHAIN4\r
- CALL SETMODE\r
-\r
- ; turn off double scanning mode\r
- MOV DX,CRTC_ADDR\r
- MOV AX,9\r
- OUT DX,AL\r
- INC DX\r
- IN AL,DX\r
- AND AL,0E0h\r
- OUT DX,AL\r
-\r
- ; change the vertical resolution flags to 480\r
- MOV DX,03CCH\r
- IN AL,DX\r
- AND AL,02Fh\r
- OR AL,0C0h\r
- MOV DX,MISC_ADDR\r
- OUT DX,AL\r
-\r
- MOV DX,CRTC_ADDR\r
- ; turn off write protect\r
- MOV AX,02C11H\r
- OUT DX,AX\r
- ; vertical total\r
- MOV AX,00D06H\r
- OUT DX,AX\r
- ; overflow register\r
- MOV AX,03E07H\r
- OUT DX,AX\r
- ; vertical retrace start\r
- MOV AX,0EA10H\r
- OUT DX,AX\r
- ; vertical retrace end AND wr.prot\r
- MOV AX,0AC11H\r
- OUT DX,AX\r
- ; vertical display enable end\r
- MOV AX,0DF12H\r
- OUT DX,AX\r
- ; start vertical blanking\r
- MOV AX,0E715H\r
- OUT DX,AX\r
- ; end vertical blanking\r
- MOV AX,00616H\r
- OUT DX,AX\r
-\r
- CALL SETPALETTE256\r
-\r
- MOV Mode.mode_width,320;\r
- MOV Mode.mode_height,480;\r
- MOV Mode.width_bytes,38400;\r
- MOV Mode.colors,256;\r
- MOV Mode.attrib,TVU_GRAPHICS\r
- OR Mode.attrib,TVU_UNCHAINED\r
- JMP SET_OUT\r
-\r
-SETMODE_D:\r
- MOV SI,OFFSET MODE13H\r
- CALL SETMODE\r
-\r
- ; Turn off Chain 4\r
- MOV DX,SEQ_ADDR\r
- MOV AX,0604H\r
- OUT DX,AX\r
- ; Activate a synchronous reset\r
- MOV AX,0100H\r
- OUT DX,AX\r
- ; Select 28 mhz pixel clock\r
- MOV DX,MISC_ADDR\r
- MOV AL,067H\r
- OUT DX,AL\r
- ; Release synchronous reset\r
- MOV DX,SEQ_ADDR\r
- MOV AX,0300H\r
- OUT DX,AX\r
-\r
- ; change the vertical resolution flags to 400\r
- MOV DX,03CCH\r
- IN AL,DX\r
- AND AL,02Fh\r
- OR AL,40h\r
- MOV DX,MISC_ADDR\r
- OUT DX,AL\r
- CALL SETPALETTE256\r
-\r
- MOV DX,CRTC_ADDR\r
- ; turn off write protect\r
- MOV AX,02C11H\r
- OUT DX,AX\r
-\r
- MOV AX,06B00H\r
- OUT DX,AX\r
- MOV AX,05901H\r
- OUT DX,AX\r
- MOV AX,05A02H\r
- OUT DX,AX\r
- MOV AX,08E03H\r
- OUT DX,AX\r
- MOV AX,05E04H\r
- OUT DX,AX\r
- MOV AX,08A05H\r
- OUT DX,AX\r
- MOV AX,00008H\r
- OUT DX,AX\r
- MOV AX,0C009H\r
- OUT DX,AX\r
- MOV AX,0000AH\r
- OUT DX,AX\r
- MOV AX,0000BH\r
- OUT DX,AX\r
- MOV AX,0000CH\r
- OUT DX,AX\r
- MOV AX,0000DH\r
- OUT DX,AX\r
- MOV AX,0000EH\r
- OUT DX,AX\r
- MOV AX,0000FH\r
- OUT DX,AX\r
- MOV AX,0AC11H\r
- OUT DX,AX\r
- MOV AX,02D13H\r
- OUT DX,AX\r
- MOV AX,00014H\r
- OUT DX,AX\r
- MOV AX,0E317H\r
- OUT DX,AX\r
- MOV AX,0FF18H\r
- OUT DX,AX\r
-\r
- CALL SETPALETTE256\r
-\r
- MOV Mode.mode_width,360;\r
- MOV Mode.mode_height,200;\r
- MOV Mode.width_bytes,18000;\r
- MOV Mode.colors,256;\r
- MOV Mode.attrib,TVU_GRAPHICS\r
- OR Mode.attrib,TVU_UNCHAINED\r
- JMP SET_OUT\r
-\r
-\r
-SETMODE_E:\r
- MOV SI,OFFSET MODE13H\r
- CALL SETMODE\r
-\r
- ; Turn off Chain 4\r
- MOV DX,SEQ_ADDR\r
- MOV AX,0604H\r
- OUT DX,AX\r
- ; Activate a synchronous reset\r
- MOV AX,0100H\r
- OUT DX,AX\r
- ; Select 28 mhz pixel clock\r
- MOV DX,MISC_ADDR\r
- MOV AL,067H\r
- OUT DX,AL\r
- ; Release synchronous reset\r
- MOV DX,SEQ_ADDR\r
- MOV AX,0300H\r
- OUT DX,AX\r
-\r
- ; change the vertical resolution flags to 480\r
- MOV DX,03CCH\r
- IN AL,DX\r
- AND AL,02Fh\r
- OR AL,0C0h\r
- MOV DX,MISC_ADDR\r
- OUT DX,AL\r
- CALL SETPALETTE256\r
-\r
- MOV DX,CRTC_ADDR\r
- ; turn off write protect\r
- MOV AX,02C11H\r
- OUT DX,AX\r
-\r
- MOV AX,06B00H\r
- OUT DX,AX\r
- MOV AX,05901H\r
- OUT DX,AX\r
- MOV AX,05A02H\r
- OUT DX,AX\r
- MOV AX,08E03H\r
- OUT DX,AX\r
- MOV AX,05E04H\r
- OUT DX,AX\r
- MOV AX,08A05H\r
- OUT DX,AX\r
- MOV AX,00D06H\r
- OUT DX,AX\r
- MOV AX,03E07H\r
- OUT DX,AX\r
- MOV AX,00008H\r
- OUT DX,AX\r
- MOV AX,0C009H\r
- OUT DX,AX\r
- MOV AX,0000AH\r
- OUT DX,AX\r
- MOV AX,0000BH\r
- OUT DX,AX\r
- MOV AX,0000DH\r
- OUT DX,AX\r
- MOV AX,0000CH\r
- OUT DX,AX\r
- MOV AX,0000EH\r
- OUT DX,AX\r
- MOV AX,0000FH\r
- OUT DX,AX\r
- MOV AX,0EA10H\r
- OUT DX,AX\r
- MOV AX,0AC11H\r
- OUT DX,AX\r
- MOV AX,0DF12H\r
- OUT DX,AX\r
- MOV AX,02D13H\r
- OUT DX,AX\r
- MOV AX,00014H\r
- OUT DX,AX\r
- MOV AX,0E715H\r
- OUT DX,AX\r
- MOV AX,00616H\r
- OUT DX,AX\r
- MOV AX,0E317H\r
- OUT DX,AX\r
- MOV AX,0FF18H\r
- OUT DX,AX\r
-\r
- CALL SETPALETTE256\r
-\r
- MOV Mode.mode_width,360;\r
- MOV Mode.mode_height,240;\r
- MOV Mode.width_bytes,21600;\r
- MOV Mode.colors,256;\r
- MOV Mode.attrib,TVU_GRAPHICS\r
- OR Mode.attrib,TVU_UNCHAINED\r
- JMP SET_OUT\r
-\r
-SETMODE_F:\r
- MOV SI,OFFSET MODE13H\r
- CALL SETMODE\r
-\r
- ; Turn off Chain 4\r
- MOV DX,SEQ_ADDR\r
- MOV AX,0604H\r
- OUT DX,AX\r
- ; Activate a synchronous reset\r
- MOV AX,0100H\r
- OUT DX,AX\r
- ; Select 28 mhz pixel clock\r
- MOV DX,MISC_ADDR\r
- MOV AL,067H\r
- OUT DX,AL\r
- ; Release synchronous reset\r
- MOV DX,SEQ_ADDR\r
- MOV AX,0300H\r
- OUT DX,AX\r
-\r
- ; change the vertical resolution flags to 350\r
- MOV DX,03CCH\r
- IN AL,DX\r
- AND AL,02Fh\r
- OR AL,080h\r
- MOV DX,MISC_ADDR\r
- OUT DX,AL\r
- CALL SETPALETTE256\r
-\r
- MOV DX,CRTC_ADDR\r
- ; turn off write protect\r
- MOV AX,02C11H\r
- OUT DX,AX\r
-\r
- MOV AX,06B00H\r
- OUT DX,AX\r
- MOV AX,05901H\r
- OUT DX,AX\r
- MOV AX,05A02H\r
- OUT DX,AX\r
- MOV AX,08E03H\r
- OUT DX,AX\r
- MOV AX,05E04H\r
- OUT DX,AX\r
- MOV AX,08A05H\r
- OUT DX,AX\r
- MOV AX,0BF06H\r
- OUT DX,AX\r
- MOV AX,01F07H\r
- OUT DX,AX\r
- MOV AX,00008H\r
- OUT DX,AX\r
- MOV AX,04009H\r
- OUT DX,AX\r
- MOV AX,0000AH\r
- OUT DX,AX\r
- MOV AX,0000BH\r
- OUT DX,AX\r
- MOV AX,0000DH\r
- OUT DX,AX\r
- MOV AX,0000CH\r
- OUT DX,AX\r
- MOV AX,0000EH\r
- OUT DX,AX\r
- MOV AX,0000FH\r
- OUT DX,AX\r
- MOV AX,08310H\r
- OUT DX,AX\r
- MOV AX,08511H\r
- OUT DX,AX\r
- MOV AX,05D12H\r
- OUT DX,AX\r
- MOV AX,02D13H\r
- OUT DX,AX\r
- MOV AX,00014H\r
- OUT DX,AX\r
- MOV AX,06315H\r
- OUT DX,AX\r
- MOV AX,0BA16H\r
- OUT DX,AX\r
- MOV AX,0E317H\r
- OUT DX,AX\r
- MOV AX,0FF18H\r
- OUT DX,AX\r
-\r
- CALL SETPALETTE256\r
-\r
- MOV Mode.mode_width,360;\r
- MOV Mode.mode_height,350;\r
- MOV Mode.width_bytes,31500;\r
- MOV Mode.colors,256;\r
- MOV Mode.attrib,TVU_GRAPHICS\r
- OR Mode.attrib,TVU_UNCHAINED\r
- JMP SET_OUT\r
-\r
-SETMODE_G:\r
- MOV SI,OFFSET MODE13H\r
- CALL SETMODE\r
-\r
- ; Turn off Chain 4\r
- MOV DX,SEQ_ADDR\r
- MOV AX,0604H\r
- OUT DX,AX\r
- ; Activate a synchronous reset\r
- MOV AX,0100H\r
- OUT DX,AX\r
- ; Select 28 mhz pixel clock\r
- MOV DX,MISC_ADDR\r
- MOV AL,067H\r
- OUT DX,AL\r
- ; Release synchronous reset\r
- MOV DX,SEQ_ADDR\r
- MOV AX,0300H\r
- OUT DX,AX\r
-\r
- ; change the vertical resolution flags to 400\r
- MOV DX,03CCH\r
- IN AL,DX\r
- AND AL,02Fh\r
- OR AL,040h\r
- MOV DX,MISC_ADDR\r
- OUT DX,AL\r
-\r
- MOV DX,CRTC_ADDR\r
- ; turn off write protect\r
- MOV AX,02C11H\r
- OUT DX,AX\r
-\r
- MOV AX,06B00H\r
- OUT DX,AX\r
- MOV AX,05901H\r
- OUT DX,AX\r
- MOV AX,05A02H\r
- OUT DX,AX\r
- MOV AX,08E03H\r
- OUT DX,AX\r
- MOV AX,05E04H\r
- OUT DX,AX\r
- MOV AX,08A05H\r
- OUT DX,AX\r
- MOV AX,00008H\r
- OUT DX,AX\r
- MOV AX,04009H\r
- OUT DX,AX\r
- MOV AX,0000AH\r
- OUT DX,AX\r
- MOV AX,0000BH\r
- OUT DX,AX\r
- MOV AX,0000DH\r
- OUT DX,AX\r
- MOV AX,0000CH\r
- OUT DX,AX\r
- MOV AX,0000EH\r
- OUT DX,AX\r
- MOV AX,0000FH\r
- OUT DX,AX\r
- MOV AX,0AC11H\r
- OUT DX,AX\r
- MOV AX,02D13H\r
- OUT DX,AX\r
- MOV AX,00014H\r
- OUT DX,AX\r
- MOV AX,0E317H\r
- OUT DX,AX\r
- MOV AX,0FF18H\r
- OUT DX,AX\r
-\r
- CALL SETPALETTE256\r
-\r
- MOV Mode.mode_width,360;\r
- MOV Mode.mode_height,400;\r
- MOV Mode.width_bytes,36000;\r
- MOV Mode.colors,256;\r
- MOV Mode.attrib,TVU_GRAPHICS\r
- OR Mode.attrib,TVU_UNCHAINED\r
- JMP SET_OUT\r
-\r
-SETMODE_H:\r
-\r
- MOV SI,OFFSET MODE13H\r
- CALL SETMODE\r
-\r
- ; Turn off Chain4\r
- MOV DX,SEQ_ADDR\r
- MOV AX,0604H\r
- OUT DX,AX\r
-\r
- ; Activate a synchronous reset\r
- MOV AX,0100H\r
- OUT DX,AX\r
-\r
- ; Select 28 mhz pixel clock\r
- MOV DX,MISC_ADDR\r
- MOV AL,067H\r
- OUT DX,AL\r
-\r
- ; Release synchronous reset\r
- MOV DX,SEQ_ADDR\r
- MOV AX,0300H\r
- OUT DX,AX\r
-\r
- ; change the vertical resolution flags to 480\r
- MOV DX,03CCH\r
- IN AL,DX\r
- AND AL,02Fh\r
- OR AL,0C0h\r
- MOV DX,MISC_ADDR\r
- OUT DX,AL\r
-\r
-\r
- MOV DX,CRTC_ADDR\r
- ; turn off write protect\r
- MOV AX,02C11H\r
- OUT DX,AX\r
-\r
- MOV AX,06B00H\r
- OUT DX,AX\r
- MOV AX,05901H\r
- OUT DX,AX\r
- MOV AX,05A02H\r
- OUT DX,AX\r
- MOV AX,08E03H\r
- OUT DX,AX\r
- MOV AX,05E04H\r
- OUT DX,AX\r
- MOV AX,08A05H\r
- OUT DX,AX\r
- MOV AX,00D06H\r
- OUT DX,AX\r
- MOV AX,03E07H\r
- OUT DX,AX\r
- MOV AX,00008H\r
- OUT DX,AX\r
- MOV AX,04009H\r
- OUT DX,AX\r
- MOV AX,0000AH\r
- OUT DX,AX\r
- MOV AX,0000BH\r
- OUT DX,AX\r
- MOV AX,0000DH\r
- OUT DX,AX\r
- MOV AX,0000CH\r
- OUT DX,AX\r
- MOV AX,0000EH\r
- OUT DX,AX\r
- MOV AX,0000FH\r
- OUT DX,AX\r
- MOV AX,0EA10H\r
- OUT DX,AX\r
- MOV AX,0AC11H\r
- OUT DX,AX\r
- MOV AX,0DF12H\r
- OUT DX,AX\r
- MOV AX,02D13H\r
- OUT DX,AX\r
- MOV AX,00014H\r
- OUT DX,AX\r
- MOV AX,0E715H\r
- OUT DX,AX\r
- MOV AX,00616H\r
- OUT DX,AX\r
- MOV AX,0E317H\r
- OUT DX,AX\r
- MOV AX,0FF18H\r
- OUT DX,AX\r
-\r
- CALL SETPALETTE256\r
-\r
- MOV Mode.mode_width,360;\r
- MOV Mode.mode_height,480;\r
- MOV Mode.width_bytes,43200;\r
- MOV Mode.colors,256;\r
- MOV Mode.attrib,TVU_GRAPHICS\r
- OR Mode.attrib,TVU_UNCHAINED\r
- JMP SET_OUT\r
-\r
-SETMODE_I:\r
- MOV SI,OFFSET MODE10H\r
- CALL SETMODE\r
-\r
- MOV DX,03CCH\r
- IN AL,DX\r
- AND AL,03FH\r
- OR AL,40H\r
-\r
- MOV DX,03C2H\r
- OUT DX,AL\r
-\r
- MOV DX,CRTC_ADDR\r
- MOV AX,9C10H\r
- OUT DX,AX\r
- IODELAY\r
-\r
- MOV AX,8311H\r
- OUT DX,AX\r
- IODELAY\r
-\r
- MOV AX,8F12H\r
- OUT DX,AX\r
- IODELAY\r
-\r
- MOV AX,9615H\r
- OUT DX,AX\r
- IODELAY\r
-\r
- MOV AX,0B916H\r
- OUT DX,AX\r
- IODELAY\r
-\r
- CALL SETPALETTE16\r
- MOV Mode.mode_width,640;\r
- MOV Mode.mode_height,400;\r
- MOV Mode.width_bytes,32000;\r
- MOV Mode.colors,16;\r
- MOV Mode.attrib,TVU_GRAPHICS\r
- OR Mode.attrib,TVU_PLANAR\r
- JMP SET_OUT\r
-\r
-SETMODE_J:\r
- MOV SI,OFFSET MODEJ\r
- CALL SETMODE\r
- CALL SETPALETTE16\r
-\r
- PUSH 8 ; Bytes per character\r
- PUSH 0 ; Offset of font in Video Memory\r
- PUSH 0A000H\r
- PUSH FONT_8x8_OFF ; Offset of Font in BIOS\r
- PUSH 0C000H\r
- CALL LOADFONT\r
-\r
- MOV Mode.mode_width,80;\r
- MOV Mode.mode_height,43;\r
- MOV Mode.width_bytes,3440;\r
- MOV Mode.colors,16;\r
- MOV Mode.attrib,TVU_TEXT\r
- JMP SET_OUT\r
-\r
-SETMODE_K:\r
- MOV SI,OFFSET MODEK\r
- CALL SETMODE\r
- CALL SETPALETTE16\r
-\r
- PUSH 8 ; Bytes per character\r
- PUSH 0 ; Offset of font in Video Memory\r
- PUSH 0A000H\r
- PUSH FONT_8x8_OFF ; Offset of Font in BIOS\r
- PUSH 0C000H\r
- CALL LOADFONT\r
-\r
- MOV Mode.mode_width,80;\r
- MOV Mode.mode_height,50;\r
- MOV Mode.width_bytes,4000;\r
- MOV Mode.colors,16;\r
- MOV Mode.attrib,TVU_TEXT\r
- JMP SET_OUT\r
-\r
-SETMODE_L:\r
- MOV SI,OFFSET MODE_L\r
- CALL SETMODE\r
- CALL SETPALETTE16\r
-\r
- PUSH 8 ; Bytes per character\r
- PUSH 0 ; Offset of font in Video Memory\r
- PUSH 0A000H\r
- PUSH FONT_8x8_OFF ; Offset of Font in BIOS\r
- PUSH 0C000H\r
- CALL LOADFONT\r
-\r
- MOV Mode.mode_width,40;\r
- MOV Mode.mode_height,43;\r
- MOV Mode.width_bytes,3440;\r
- MOV Mode.colors,16;\r
- MOV Mode.attrib,TVU_TEXT\r
- JMP SET_OUT\r
-\r
-SETMODE_M:\r
- MOV SI,OFFSET MODEM\r
- CALL SETMODE\r
- CALL SETPALETTE16\r
-\r
- PUSH 8 ; Bytes per character\r
- PUSH 0 ; Offset of font in Video Memory\r
- PUSH 0A000H\r
- PUSH FONT_8x8_OFF ; Offset of Font in BIOS\r
- PUSH 0C000H\r
- CALL LOADFONT\r
-\r
- MOV Mode.mode_width,40;\r
- MOV Mode.mode_height,50;\r
- MOV Mode.width_bytes,4000;\r
- MOV Mode.colors,16;\r
- MOV Mode.attrib,TVU_TEXT\r
-\r
-SET_OUT:\r
-\r
- POP BP\r
- RET 2\r
-SETVIDEOMODE ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
- PUBLIC SETMODE\r
-SETMODE PROC\r
-\r
- ; Send MISC regs\r
- MOV DX,MISC_ADDR\r
- MOV AL,[SI]\r
- OUT DX,AL\r
- IODELAY\r
- INC SI\r
-\r
- MOV DX,STATUS_ADDR\r
- MOV AL,[SI]\r
- OUT DX,AL\r
- IODELAY\r
- INC SI\r
-\r
- ; Send SEQ regs\r
- MOV CX,0\r
-REG_LOOP:\r
- MOV DX,SEQ_ADDR\r
- MOV AL,CL\r
- OUT DX,AL\r
- IODELAY\r
-\r
- MOV DX,SEQ_ADDR\r
- INC DX\r
- MOV AL,[SI]\r
- OUT DX,AL\r
- IODELAY\r
- INC SI\r
- INC CX\r
- CMP CL,5\r
- JL REG_LOOP\r
-\r
- ; Clear Protection bits\r
- MOV AH,0EH\r
- MOV AL,11H\r
- AND AH,7FH\r
- MOV DX,CRTC_ADDR\r
- OUT DX,AX\r
- IODELAY\r
-\r
- ; Send CRTC regs\r
- MOV CX,0\r
-REG_LOOP2:\r
- MOV DX,CRTC_ADDR\r
- MOV AL,CL\r
- OUT DX,AL\r
- IODELAY\r
-\r
- MOV DX,CRTC_ADDR\r
- INC DX\r
- MOV AL,[SI]\r
- OUT DX,AL\r
- IODELAY\r
-\r
- INC SI\r
- INC CX\r
- CMP CL,25\r
- JL REG_LOOP2\r
-\r
- ; Send GRAPHICS regs\r
- MOV CX,0\r
-REG_LOOP3:\r
- MOV DX,GRACON_ADDR\r
- MOV AL,CL\r
- OUT DX,AL\r
- IODELAY\r
-\r
- MOV DX,GRACON_ADDR\r
- INC DX\r
- MOV AL,[SI]\r
- OUT DX,AL\r
- IODELAY\r
-\r
- INC SI\r
- INC CX\r
- CMP CL,9\r
- JL REG_LOOP3\r
-\r
- MOV DX,STATUS_ADDR\r
- IN AL,DX\r
- IODELAY\r
-\r
- ; Send ATTRCON regs\r
- MOV CX,0\r
-REG_LOOP4:\r
- MOV DX,ATTRCON_ADDR\r
- IN AX,DX\r
-\r
- MOV AL,CL\r
- OUT DX,AL\r
- IODELAY\r
-\r
- MOV AL,[SI]\r
- OUT DX,AL\r
- IODELAY\r
-\r
- INC SI\r
- INC CX\r
- CMP CL,21\r
- JL REG_LOOP4\r
-\r
- MOV AL,20H\r
- OUT DX,AL\r
- IODELAY\r
-\r
- RET\r
-SETMODE ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-; Assumes [bp+4] = color\r
-; Assumes [bp+6] = r value\r
-; Assumes [bp+8] = g value\r
-; Assumes [bp+10] = b value\r
- PUBLIC SETPAL\r
-SETPAL PROC\r
- PUSH BP\r
- MOV BP,SP\r
- PUSHA\r
-\r
- MOV AX,WORD PTR [BP+4]\r
- ; Send color\r
- MOV DX,03C8H\r
- OUT DX,AL\r
-\r
- ; Write R value\r
- MOV DX,03C9H\r
- MOV AL,BYTE PTR [BP+6]\r
- OUT DX,AL\r
-\r
- ; Write G value\r
- MOV DX,03C9H\r
- MOV AL,BYTE PTR [BP+8]\r
- OUT DX,AL\r
-\r
- ; Write B value\r
- MOV DX,03C9H\r
- MOV AL,BYTE PTR [BP+10]\r
- OUT DX,AL\r
-\r
- POPA\r
- POP BP\r
- RET 8\r
-SETPAL ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-SETPALETTE4 PROC\r
- PUSH 0\r
- PUSH 0\r
- PUSH 0\r
- PUSH 0\r
- CALL SETPAL\r
-\r
- PUSH 42\r
- PUSH 42\r
- PUSH 0\r
- PUSH 1\r
- CALL SETPAL\r
-\r
- PUSH 42\r
- PUSH 0\r
- PUSH 42\r
- PUSH 2\r
- CALL SETPAL\r
-\r
- PUSH 63\r
- PUSH 63\r
- PUSH 63\r
- PUSH 3\r
- CALL SETPAL\r
-\r
- RET\r
-SETPALETTE4 ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-SETPALETTE16 PROC\r
-\r
- MOV SI,OFFSET PALETTE\r
- MOV CX,16\r
- MOV DX,0\r
-PAL_LOOP:\r
- PUSH WORD PTR [SI+2]\r
- PUSH WORD PTR [SI+1]\r
- PUSH WORD PTR [SI]\r
- PUSH DX\r
- CALL SETPAL\r
-\r
- INC DX\r
- ADD SI,3\r
- LOOP PAL_LOOP\r
-\r
- RET\r
-SETPALETTE16 ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-SETPALETTE256 PROC\r
-\r
- MOV SI,OFFSET PALETTE\r
- MOV CX,256\r
- MOV DX,0\r
-PAL_LOOP2:\r
- PUSH WORD PTR [SI+2]\r
- PUSH WORD PTR [SI+1]\r
- PUSH WORD PTR [SI]\r
- PUSH DX\r
- CALL SETPAL\r
-\r
- INC DX\r
- ADD SI,3\r
- LOOP PAL_LOOP2\r
-\r
- RET\r
-SETPALETTE256 ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
+++ /dev/null
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- -=\r
-;=- Tauron VGA Utilities Version 3.0 -=\r
-;=- Released September 20, 1998 -=\r
-;=- -=\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-;=- All Rights Reserved. =-= that you put my name some- -=\r
-;=- =-= where in your credits. -=\r
-;=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- I assume no responsibility whatsoever for any effect that this package, -=\r
-;=- the information contained therein or the use thereof has on you, your -=\r
-;=- sanity, computer, spouse, children, pets or anything else related to -=\r
-;=- you or your existance. No warranty is provided nor implied with this -=\r
-;=- source code. -=\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- VGA register variables for the various videomodes -=\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-; Same as Mode 01H\r
-MODE00H DB 67H, 00H, 03H,08H,03H,00H,02H\r
- DB 2DH,27H,28H,90H,2BH,0A0H,0BFH,1FH,00H,4FH,06H,07H,00H,00H,00H,31H\r
- DB 9CH,8EH,8FH,14H,1FH,96H,0B9H,0A3H,0FFH\r
- DB 00H,00H,00H,00H,00H,10H,0EH,00H,0FFH\r
- DB 00H,01H,02H,03H,04H,05H,14H,07H,38H,39H,3AH,3BH,3CH,3DH,3EH,3FH\r
- DB 0CH,00H,0FH,08H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-; Same as Mode 02H\r
-MODE03H DB 67H, 00H, 03H,00H,03H,00H,02H\r
- DB 5FH,4FH,50H,82H,55H,81H,0BFH,1FH,00H,4FH,0EH,0FH,00H,00H,00H,00H\r
- DB 9CH,0EH,8FH,28H,01H,96H,0B9H,0A3H,0FFH\r
- DB 00H,00H,00H,00H,00H,10H,0EH,00H,0FFH\r
- DB 00H,01H,02H,03H,04H,05H,14H,07H,38H,39H,3AH,3BH,3CH,3DH,3EH,3FH\r
- DB 0CH,00H,0FH,08H,00H\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-; Same as Mode 05H\r
-MODE04H DB 63H, 00H, 03H,09H,03H,00H,02H\r
- DB 2DH,27H,28H,90H,2BH,80H,0BFH,1FH,00H,0C1H,00H,00H,00H,00H,00H,31H\r
- DB 9CH,8EH,8FH,14H,00H,96H,0B9H,0A2H,0FFH\r
- DB 00H,00H,00H,00H,00H,30H,0FH,00H,0FFH\r
- DB 00H,3BH,3DH,3FH,02H,04H,06H,07H,10H,11H,12H,13H,14H,15H,16H,17H\r
- DB 01H,00H,03H,00H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-MODE06H DB 63H, 00H, 03H,01H,01H,00H,06H\r
- DB 5FH,4FH,50H,82H,54H,80H,0BFH,1FH,00H,0C1H,00H,00H,00H,00H,00H,00H\r
- DB 9CH,8EH,8FH,28H,00H,96H,0B9H,0C2H,0FFH\r
- DB 00H,00H,00H,00H,00H,00H,0DH,00H,0FFH\r
- DB 00H,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH\r
- DB 01H,00H,01H,00H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-MODE07H DB 066H, 00H, 03H,00H,03H,00H,02H\r
- DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH\r
- DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH\r
- DB 00H,00H,00H,00H,00H,10H,0AH,00H,0FFH\r
- DB 00H,08H,08H,08H,08H,08H,08H,08H,10H,18H,18H,18H,18H,18H,18H,18H\r
- DB 0EH,00H,0FH,00H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-MODE0DH DB 063H, 00H, 03H,09H,0FH,00H,06H\r
- DB 2DH,27H,28H,90H,2BH,80H,0BFH,1FH,00H,0C0H,00H,00H,00H,00H,00H,31H\r
- DB 9CH,8EH,8FH,14H,00H,96H,0B9H,0E3H,0FFH\r
- DB 00H,00H,00H,00H,00H,10H,05H,00H,0FFH\r
- DB 00H,01H,02H,03H,04H,05H,14H,07H,38H,39H,3AH,3BH,3CH,3DH,3EH,3FH\r
- DB 01H,00H,0FH,00H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-MODE0EH DB 63H, 00H, 03H,01H,0FH,00H,06H\r
- DB 5FH,4FH,50H,82H,54H,80H,0BFH,1FH,00H,0C0H,00H,00H,00H,00H,00H,59H\r
- DB 9CH,8EH,8FH,28H,00H,96H,0B9H,0E3H,0FFH\r
- DB 00H,00H,00H,00H,00H,00H,05H,0FH,0FFH\r
- DB 00H,01H,02H,03H,04H,05H,14H,07H,38H,39H,3AH,3BH,3CH,3DH,3EH,3FH\r
- DB 01H,00H,0FH,00H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-MODE0FH DB 0A2H, 00H, 03H,01H,0FH,00H,06H\r
- DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH\r
- DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH\r
- DB 00H,00H,00H,00H,00H,00H,05H,05H,0FFH\r
- DB 00H,08H,00H,00H,18H,18H,00H,00H,00H,08H,00H,00H,00H,18H,00H,00H\r
- DB 0BH,00H,05H,00H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-MODE10H DB 0A3H, 00H, 03H,01H,0FH,00H,06H\r
- DB 5FH,4FH,50H,82H,54H,80H,0BFH,1FH,00H,40H,00H,00H,00H,00H,00H,00H\r
- DB 83H,85H,5DH,28H,0FH,63H,0BAH,0E3H,0FFH\r
- DB 00H,00H,00H,00H,00H,00H,05H,0FH,0FFH\r
- DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09H,0AH,0BH,0CH,0DH,0EH,0FH\r
- DB 01H,00H,0FH,00H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-MODE11H DB 063H, 00H, 03H,01H,0FH,00H,06H\r
- DB 5FH,4FH,50H,82H,54H,80H,0BH,3EH,00H,40H,00H,00H,00H,00H,00H,59H\r
- DB 0EAH,8CH,0DFH,28H,0FH,0E7H,004H,0C3H,0FFH\r
- DB 00H,00H,00H,00H,00H,00H,05H,05H,0FFH\r
- DB 00H,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH\r
- DB 01H,00H,0FH,00H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-MODE12H DB 063H, 00H, 03H,01H,0FH,00H,06H\r
- DB 5FH,4FH,50H,82H,54H,80H,0BH,3EH,00H,40H,00H,00H,00H,00H,00H,59H\r
- DB 0EAH,8CH,0DFH,28H,00H,0E7H,04H,0E3H,0FFH\r
- DB 00H,00H,00H,00H,00H,00H,05H,0FH,0FFH\r
- DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09H,0AH,0BH,0CH,0DH,0EH,0FH\r
- DB 01H,00H,0FH,00H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-MODE13H DB 63H, 00H, 03H,01H,0FH,00H,0EH\r
- DB 5FH,4FH,50H,82H,54H,80H,0BFH,1FH,00H,41H,00H,00H,00H,00H,00H,00H\r
- DB 9CH,0EH,8FH,28H,40H,96H,0B9H,0A3H,0FFH\r
- DB 00H,00H,00H,00H,00H,40H,05H,0FH,0FFH\r
- DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09H,0AH,0BH,0CH,0DH,0EH,0FH\r
- DB 41H,00H,0FH,00H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-CHAIN4 DB 63H, 00H, 03H,01H,0FH,00H,06H\r
- DB 5FH,4FH,50H,82H,54H,80H,0BFH,1FH,00H,41H,00H,00H,00H,00H,00H,00H\r
- DB 9CH,0EH,8FH,28H,00H,96H,0B9H,0E3H,0FFH\r
- DB 00H,00H,00H,00H,00H,40H,05H,0FH,0FFH\r
- DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09H,0AH,0BH,0CH,0DH,0EH,0FH\r
- DB 41H,00H,0FH,00H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-MODEJ DB 63H, 00H, 03H,01H,03H,00H,02H\r
- DB 5FH,4FH,50H,82H,55H,81H,0BFH,1FH,00H,47H,06H,07H,00H,00H,00H\r
- DB 00H,83H,85H,57H,28H,1FH,60H,0B8H,0A3H,0FFH\r
- DB 00H,00H,00H,00H,00H,10H,0EH,00H,0FFH\r
- DB 00H,01H,02H,03H,04H,05H,14H,07H,10H,11H,3AH,3BH,3CH,3DH,3EH,3FH\r
- DB 0CH,00H,0FH,00H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-MODEK DB 63H, 00H, 03H,01H,03H,00H,02H\r
- DB 5FH,4FH,50H,82H,55H,81H,0BFH,1FH,00H,47H,06H,07H,00H,00H,00H\r
- DB 00H,9CH,8EH,8FH,28H,1FH,96H,0B9H,0A3H,0FFH\r
- DB 00H,00H,00H,00H,00H,10H,0EH,00H,0FFH\r
- DB 00H,01H,02H,03H,04H,05H,14H,07H,10H,11H,3AH,3BH,3CH,3DH,3EH,3FH\r
- DB 0CH,00H,0FH,00H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-\r
-MODE_L DB 67H, 00H, 03H,08H,03H,00H,02H\r
- DB 2DH,27H,28H,90H,2BH,0A0H,0BFH,1FH,00H,47H,06H,07H,00H,00H,00H\r
- DB 31H,83H,85H,57H,14H,1FH,60H,0B8H,0A3H,0FFH\r
- DB 00H,00H,00H,00H,00H,10H,0EH,00H,0FFH\r
- DB 00H,01H,02H,03H,04H,05H,14H,07H,10H,11H,3AH,3BH,3CH,3DH,3EH,3FH\r
- DB 0CH,00H,0FH,00H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-MODEM DB 67H, 00H, 03H,08H,03H,00H,02H\r
- DB 2DH,27H,28H,90H,2BH,0A0H,0BFH,1FH,00H,47H,06H,07H,00H,00H,00H,31H\r
- DB 9CH,8EH,8FH,14H,1FH,96H,0B9H,0A3H,0FFH\r
- DB 00H,00H,00H,00H,00H,10H,0EH,00H,0FFH\r
- DB 00H,01H,02H,03H,04H,05H,14H,07H,38H,39H,3AH,3BH,3CH,3DH,3EH,3FH\r
- DB 0CH,00H,0FH,00H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-; Videomode Structure Definition\r
-VMODE STRUC\r
- videomode DW ? ; Videomode Number\r
- mode_width DW ? ; Width in pixels\r
- mode_height DW ? ; height in pixels\r
- width_bytes DW ? ; Number of bytes per screen\r
- colors DW ? ; Number of colors\r
- attrib DW ? ; Videomode attributes\r
-VMODE ENDS\r
-\r
-; Videomode attributes\r
-TVU_TEXT EQU 0001h\r
-TVU_GRAPHICS EQU 0002h\r
-TVU_MONOCHROME EQU 0004h\r
-TVU_PLANAR EQU 0008h\r
-TVU_UNCHAINED EQU 0010h\r
-TVU_B8000_ADDR EQU 0020h\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-; Videomode Info Structure\r
-MODE VMODE <MODE03H, 80, 25, 2000, 16, TVU_TEXT>\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
+++ /dev/null
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- -=\r
-;=- Tauron VGA Utilities Version 3.0 -=\r
-;=- Released September 20, 1998 -=\r
-;=- -=\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-;=- All Rights Reserved. =-= that you put my name some- -=\r
-;=- =-= where in your credits. -=\r
-;=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- I assume no responsibility whatsoever for any effect that this package, -=\r
-;=- the information contained therein or the use thereof has on you, your -=\r
-;=- sanity, computer, spouse, children, pets or anything else related to -=\r
-;=- you or your existance. No warranty is provided nor implied with this -=\r
-;=- source code. -=\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-PIXEL PROC\r
- PUSH BP\r
- MOV BP,SP\r
- PUSHA\r
-\r
- TEST Mode.attrib,TVU_PLANAR\r
- JNZ PLANAR_PIXEL\r
- CMP Mode.videomode,VMODE_13H\r
- JE MODE_13H_PIXEL\r
-\r
-; Unchained Modes Pixel\r
- MOV AX,0A000H ; video memory segment number\r
- MOV ES,AX ; place it in es\r
-\r
- MOV DX,03C4H\r
- MOV AL,2\r
- OUT DX,AL\r
- INC DX\r
-\r
- MOV AL,1\r
- MOV CX,word ptr [bp+4]\r
- AND CX,3\r
- SHL AL,CL\r
- OUT DX,AL\r
-\r
- XOR DI,DI\r
-\r
-; Calculate the Offset\r
- mov ax,Mode.mode_width ; width / 4\r
- SHR AX,2\r
- mul word ptr [bp+6] ; (Y * (width / 4))\r
- mov bx,word ptr [bp+4] ; (X / 4) + (Y * (width / 4))\r
- shr bx,2\r
- add ax,bx\r
-; Done!\r
-\r
- ADD DI,AX\r
- mov ah,byte ptr [bp+8] ; move the Color into ah\r
- mov es:[di],ah ; move the value to the screen\r
- JMP PIXEL_OUT\r
-\r
-PLANAR_PIXEL:\r
- MOV AX,0A000H ; video memory segment number\r
- MOV ES,AX ; place it in es\r
-\r
- MOV BX,word ptr [bp+4] ; X Value\r
- MOV CX,BX\r
- MOV AX,word ptr [bp+6] ; Y Value\r
- MOV SI,80\r
- MUL SI\r
- SHR BX,3 ; /8\r
- ADD AX,BX\r
- MOV DI,AX\r
-\r
- AND CL,7\r
- XOR CL,7\r
- MOV AH,1\r
-\r
- SHL AH,CL\r
-\r
- MOV DX,03CEH\r
- MOV AL,8\r
- OUT DX,AX\r
-\r
- MOV AL,0\r
- XCHG ES:[DI],AL\r
-\r
- MOV DX,03C4H\r
- MOV AH,byte ptr [bp+8]\r
- MOV AL,2\r
- OUT DX,AX\r
-\r
- MOV BYTE PTR ES:[DI],0FFh\r
-\r
- MOV AX,0F02H\r
- OUT DX,AX\r
-\r
- MOV DX,03CEH\r
- MOV AX,0FF08h\r
- OUT DX,AX\r
- JMP PIXEL_OUT\r
-\r
-MODE_13H_PIXEL:\r
-\r
- MOV AX,0A000H ; video memory segment number\r
- MOV ES,AX ; place it in es\r
- XOR DI,DI\r
-\r
-; Calculate the Offset\r
- mov ax,Mode.mode_width ; width\r
- mul word ptr [bp+6] ; (Y * width))\r
- mov bx,word ptr [bp+4] ; (X + (Y * width))\r
- add ax,bx\r
-; Done!\r
-\r
- ADD DI,AX\r
- mov ah,byte ptr [bp+8] ; move the Color into ah\r
- mov es:[di],ah ; move the value to the screen\r
-\r
-PIXEL_OUT:\r
-\r
- POPA\r
- POP BP\r
- RET 6\r
-PIXEL ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-HLINE PROC\r
- PUSH BP\r
- MOV BP,SP\r
- PUSHA\r
-\r
- MOV CX,WORD PTR [BP+4]\r
-HLINE_LOOP:\r
- PUSH WORD PTR [BP+10] ; Color\r
- PUSH WORD PTR [BP+8] ; Y value\r
- PUSH CX ; X value\r
- CALL PIXEL\r
- INC CX\r
- CMP CX,WORD PTR [BP+6]\r
- JLE HLINE_LOOP\r
-\r
- POPA\r
- POP BP\r
- RET 8\r
-HLINE ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-VLINE PROC\r
- PUSH BP\r
- MOV BP,SP\r
- PUSHA\r
-\r
- MOV CX,WORD PTR [BP+4]\r
-VLINE_LOOP:\r
- PUSH WORD PTR [BP+10] ; Color\r
- PUSH CX ; Y value\r
- PUSH WORD PTR [BP+8] ; X value\r
- CALL PIXEL\r
- INC CX\r
- CMP CX,WORD PTR [BP+6]\r
- JLE VLINE_LOOP\r
-\r
- POPA\r
- POP BP\r
- RET 8\r
-VLINE ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-DRAWRECT PROC\r
- PUSH BP\r
- MOV BP,SP\r
-\r
- PUSH WORD PTR [BP+12]\r
- PUSH WORD PTR [BP+6]\r
- PUSH WORD PTR [BP+8]\r
- PUSH WORD PTR [BP+4]\r
- CALL HLINE\r
-\r
- PUSH WORD PTR [BP+12]\r
- PUSH WORD PTR [BP+10]\r
- PUSH WORD PTR [BP+8]\r
- PUSH WORD PTR [BP+4]\r
- CALL HLINE\r
-\r
- PUSH WORD PTR [BP+12]\r
- PUSH WORD PTR [BP+4]\r
- PUSH WORD PTR [BP+10]\r
- PUSH WORD PTR [BP+6]\r
- CALL VLINE\r
-\r
- PUSH WORD PTR [BP+12]\r
- PUSH WORD PTR [BP+8]\r
- PUSH WORD PTR [BP+10]\r
- PUSH WORD PTR [BP+6]\r
- CALL VLINE\r
-\r
- POP BP\r
- RET 10\r
-DRAWRECT ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-FILLRECT PROC\r
- PUSH BP\r
- MOV BP,SP\r
- PUSHA\r
-\r
- MOV CX,WORD PTR [BP+6]\r
-HLINE_LOOP2:\r
- PUSH WORD PTR [BP+12] ; Color\r
- PUSH CX ; Y1 value\r
- PUSH WORD PTR [BP+8] ; X2 value\r
- PUSH WORD PTR [BP+4] ; X1 value\r
- CALL HLINE\r
-\r
- INC CX\r
- CMP CX,WORD PTR [BP+10] ; Y2 value\r
- JLE HLINE_LOOP2\r
-\r
- POPA\r
- POP BP\r
- RET 10\r
-FILLRECT ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-MODETEST PROC\r
- PUSH BP\r
- MOV BP,SP\r
- SUB SP,2\r
-\r
- TEST Mode.attrib,TVU_PLANAR\r
- JNZ PLANAR_CLEAR\r
- CMP Mode.videomode,VMODE_13H\r
- JNE UNCHAINED_CLEAR\r
-\r
- PUSH 0\r
- CALL CLEAR13H\r
- JMP CLEAROUT\r
-\r
-PLANAR_CLEAR:\r
- PUSH 0\r
- CALL PLANARCLEAR\r
- JMP CLEAROUT\r
-\r
-UNCHAINED_CLEAR:\r
- PUSH 0\r
- CALL UNCHAINEDCLEAR\r
-\r
-CLEAROUT:\r
-\r
- PUSH 15\r
-\r
- MOV AX,Mode.mode_height\r
- DEC AX\r
- PUSH AX\r
-\r
- MOV AX,Mode.mode_width\r
- DEC AX\r
- PUSH AX\r
-\r
- PUSH 0\r
- PUSH 0\r
- CALL DRAWRECT\r
-\r
- MOV CX,50\r
-LINE_LOOP:\r
- PUSH 15\r
- PUSH CX\r
- PUSH 10\r
- PUSH 0\r
- CALL HLINE\r
- ADD CX,50\r
-\r
- PUSH 15\r
- PUSH CX\r
- PUSH 25\r
- PUSH 0\r
- CALL HLINE\r
- ADD CX,50\r
-\r
- CMP CX,Mode.mode_height\r
- JLE LINE_LOOP\r
-\r
- MOV CX,40\r
-LINE_LOOP2:\r
- PUSH 15\r
- PUSH CX\r
- PUSH 15\r
- PUSH 0\r
- CALL VLINE\r
- ADD CX,40\r
-\r
- PUSH 15\r
- PUSH CX\r
- PUSH 30\r
- PUSH 0\r
- CALL VLINE\r
- ADD CX,40\r
-\r
- CMP CX,Mode.mode_width\r
- JLE LINE_LOOP2\r
-\r
- CMP Mode.colors,16\r
- JE SETBLOCK16\r
- CMP Mode.colors,256\r
- JE SETBLOCK256\r
-\r
- MOV AX,Mode.mode_width\r
- SUB AX,420\r
- MOV DI,AX\r
- ADD DI,200\r
- MOV BX,Mode.mode_height\r
- SUB BX,220\r
- MOV SI,BX\r
- ADD SI,200\r
-\r
- PUSH 0 ; Color\r
- PUSH SI ; Y2\r
- PUSH DI ; X2\r
- PUSH BX ; Y1\r
- PUSH AX ; X1\r
- CALL FILLRECT\r
- ADD AX,200\r
- ADD DI,200\r
- PUSH 15 ; Color\r
- PUSH SI ; Y2\r
- PUSH DI ; X2\r
- PUSH BX ; Y1\r
- PUSH AX ; X1\r
- CALL FILLRECT\r
-\r
- MOV AX,Mode.mode_width\r
- SUB AX,420\r
- MOV DI,AX\r
- ADD DI,400\r
- MOV BX,Mode.mode_height\r
- SUB BX,220\r
- MOV SI,BX\r
- ADD SI,200\r
-\r
- PUSH 15 ; Color\r
- PUSH SI ; Y2\r
- PUSH DI ; X2\r
- PUSH BX ; Y1\r
- PUSH AX ; X1\r
- CALL DRAWRECT\r
-\r
- JMP BLOCKOUT\r
-SETBLOCK16:\r
-\r
- MOV AX,Mode.mode_width\r
- SUB AX,522\r
- MOV DI,AX\r
- ADD DI,64\r
-\r
- MOV BX,Mode.mode_height\r
- SUB BX,135\r
- MOV SI,BX\r
- ADD SI,64\r
- MOV CX,0\r
- MOV DX,0\r
-LINE1_LOOP1:\r
-\r
- PUSH DX ; Color\r
- PUSH SI ; Y2\r
- PUSH DI ; X2\r
- PUSH BX ; Y1\r
- PUSH AX ; X1\r
- CALL FILLRECT\r
- ADD AX,64\r
- ADD DI,64\r
- INC CX\r
- INC DX\r
- CMP CX,8\r
- JL LINE1_LOOP1\r
-\r
- MOV AX,Mode.mode_width\r
- SUB AX,522\r
- MOV DI,AX\r
- ADD DI,64\r
- ADD SI,64\r
- ADD BX,64\r
- MOV CX,0\r
-LINE1_LOOP2:\r
-\r
- PUSH DX ; Color\r
- PUSH SI ; Y2\r
- PUSH DI ; X2\r
- PUSH BX ; Y1\r
- PUSH AX ; X1\r
- CALL FILLRECT\r
- ADD AX,64\r
- ADD DI,64\r
- INC CX\r
- INC DX\r
- CMP CX,8\r
- JL LINE1_LOOP2\r
-\r
- MOV AX,Mode.mode_width\r
- SUB AX,522\r
- MOV DI,Mode.mode_width\r
- SUB DI,10\r
- MOV BX,Mode.mode_height\r
- SUB BX,135\r
- MOV SI,Mode.mode_height\r
- SUB SI,7\r
- PUSH 15 ; Color\r
- PUSH SI ; Y2\r
- PUSH DI ; X2\r
- PUSH BX ; Y1\r
- PUSH AX ; X1\r
- CALL DRAWRECT\r
- JMP BLOCKOUT\r
-\r
-SETBLOCK256:\r
-\r
- MOV WORD PTR [BP-2],0\r
- MOV BX,Mode.mode_height\r
- SUB BX,165\r
- MOV SI,BX\r
- ADD SI,10\r
- MOV DX,0\r
-LINE2_LOOP2:\r
-\r
- MOV AX,Mode.mode_width\r
- SUB AX,165\r
- MOV DI,Mode.mode_width\r
- SUB DI,155\r
-\r
- MOV CX,0\r
-LINE2_LOOP1:\r
-\r
- PUSH DX ; Color\r
- PUSH SI ; Y2\r
- PUSH DI ; X2\r
- PUSH BX ; Y1\r
- PUSH AX ; X1\r
- CALL FILLRECT\r
- ADD AX,10\r
- ADD DI,10\r
- INC CX\r
- INC DX\r
- CMP CX,16\r
- JL LINE2_LOOP1\r
-\r
- ADD BX,10\r
- ADD SI,10\r
- INC WORD PTR [BP-2]\r
- CMP WORD PTR [BP-2],16\r
- JL LINE2_LOOP2\r
-\r
- MOV AX,Mode.mode_width\r
- SUB AX,165\r
- MOV DI,Mode.mode_width\r
- SUB DI,5\r
- MOV BX,Mode.mode_height\r
- SUB BX,165\r
- MOV SI,Mode.mode_height\r
- SUB SI,5\r
- PUSH 15 ; Color\r
- PUSH SI ; Y2\r
- PUSH DI ; X2\r
- PUSH BX ; Y1\r
- PUSH AX ; X1\r
- CALL DRAWRECT\r
-\r
-BLOCKOUT:\r
- ADD SP,2\r
- POP BP\r
- RET\r
-MODETEST ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-PUTCHAR PROC\r
- PUSH BP\r
- MOV BP,SP\r
- SUB SP,2\r
- PUSHA\r
-\r
- CMP Mode.videomode,VMODE_00H\r
- JE SET2\r
- CMP Mode.videomode,VMODE_MODE_L\r
- JE SET2\r
- CMP Mode.videomode,VMODE_MODE_M\r
- JE SET2\r
- MOV BYTE PTR [BP-2],160\r
- JMP NOSET2\r
-SET2:\r
- MOV BYTE PTR [BP-2],80\r
- JMP NOSET2\r
-NOSET2:\r
-\r
- MOV AX,0B800h\r
- MOV ES,AX\r
-\r
- MOV AX,WORD PTR [BP+6] ; Y value\r
- MOV BL,BYTE PTR [BP-2]\r
- MUL BL\r
- SHL WORD PTR [BP+4],1\r
- ADD AX,WORD PTR [BP+4] ; X value\r
- MOV DI,AX\r
- MOV AH,ATT\r
- MOV AL,BYTE PTR [BP+8] ; character\r
- CLD\r
- STOSW\r
-\r
- POPA\r
- ADD SP,2\r
- POP BP\r
- RET 6\r
-PUTCHAR ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-PRINTSTRING PROC\r
-\r
-TEXT_LOOP:\r
- XOR DX,DX\r
- MOV DL,BYTE PTR [SI]\r
- PUSH DX\r
- PUSH BX\r
- PUSH AX\r
- CALL PUTCHAR\r
-\r
- INC AX\r
- INC SI\r
- CMP BYTE PTR [SI],0\r
- JNE TEXT_LOOP\r
- RET\r
-PRINTSTRING ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-TEXTTEST PROC\r
- PUSH 1FH\r
- CALL TEXTCLEAR\r
-\r
- MOV AH,2h\r
- MOV BH,0\r
- MOV DX,Mode.mode_height\r
- MOV DH,DL\r
- MOV DL,0\r
- INT 10h\r
-\r
- CMP Mode.videomode,VMODE_00H\r
- JE SET_TEXT1\r
- CMP Mode.videomode,VMODE_MODE_J\r
- JE SET_TEXT2\r
- CMP Mode.videomode,VMODE_MODE_K\r
- JE SET_TEXT3\r
- CMP Mode.videomode,VMODE_MODE_L\r
- JE SET_TEXT4\r
- CMP Mode.videomode,VMODE_MODE_M\r
- JE SET_TEXT5\r
- ; Mode 03h\r
- MOV TEXTMSG_2+13,'3'\r
- MOV TEXTMSG_3+8,'8'\r
- MOV TEXTMSG_4+19,'4'\r
- JMP NOSET\r
-SET_TEXT1:\r
- ; Mode 00h\r
- MOV TEXTMSG_2+13,'0'\r
- MOV TEXTMSG_3+8,'4'\r
- MOV TEXTMSG_4+19,'2'\r
- JMP NOSET\r
-SET_TEXT2:\r
- ; Mode J\r
- MOV TEXTMSG_8+11,'J'\r
- MOV TEXTMSG_9+21,'4'\r
- MOV TEXTMSG_9+22,'3'\r
- MOV TEXTMSG_A+19,'3'\r
- MOV TEXTMSG_A+20,'4'\r
- MOV TEXTMSG_A+21,'4'\r
- MOV TEXTMSG_A+22,'0'\r
- JMP NOSET\r
-SET_TEXT3:\r
- ; Mode K\r
- MOV TEXTMSG_8+11,'K'\r
- MOV TEXTMSG_9+21,'5'\r
- MOV TEXTMSG_9+22,'0'\r
- MOV TEXTMSG_A+19,'4'\r
- MOV TEXTMSG_A+20,'0'\r
- MOV TEXTMSG_A+21,'0'\r
- MOV TEXTMSG_A+22,'0'\r
- JMP NOSET\r
-SET_TEXT4:\r
- ; Mode L\r
- MOV TEXTMSG_8+11,'L'\r
- MOV TEXTMSG_9+8,'4'\r
- MOV TEXTMSG_9+21,'4'\r
- MOV TEXTMSG_9+22,'3'\r
- MOV TEXTMSG_A+19,'3'\r
- MOV TEXTMSG_A+20,'4'\r
- MOV TEXTMSG_A+21,'4'\r
- MOV TEXTMSG_A+22,'0'\r
- JMP NOSET\r
-SET_TEXT5:\r
- ; Mode M\r
- MOV TEXTMSG_8+11,'M'\r
- MOV TEXTMSG_9+8,'4'\r
- MOV TEXTMSG_9+21,'5'\r
- MOV TEXTMSG_9+22,'0'\r
- MOV TEXTMSG_A+19,'4'\r
- MOV TEXTMSG_A+20,'0'\r
- MOV TEXTMSG_A+21,'0'\r
- MOV TEXTMSG_A+22,'0'\r
-NOSET:\r
-\r
- CMP Mode.videomode,VMODE_00H\r
- JE WRITE1\r
- CMP Mode.videomode,VMODE_03H\r
- JE WRITE1\r
- CMP Mode.videomode,VMODE_MODE_J\r
- JE WRITE2\r
- JMP WRITE2\r
-\r
-WRITE1:\r
- MOV BX,0\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_1\r
- CALL PRINTSTRING\r
- MOV BX,1\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_2\r
- CALL PRINTSTRING\r
- MOV BX,2\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_3\r
- CALL PRINTSTRING\r
- MOV BX,3\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_4\r
- CALL PRINTSTRING\r
- MOV BX,4\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_5\r
- CALL PRINTSTRING\r
- MOV BX,5\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_6\r
- CALL PRINTSTRING\r
- JMP WRITEOUT\r
-\r
-WRITE2:\r
- MOV BX,0\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_7\r
- CALL PRINTSTRING\r
- MOV BX,1\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_8\r
- CALL PRINTSTRING\r
- MOV BX,2\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_9\r
- CALL PRINTSTRING\r
- MOV BX,3\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_A\r
- CALL PRINTSTRING\r
- MOV BX,4\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_B\r
- CALL PRINTSTRING\r
- MOV BX,5\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_C\r
- CALL PRINTSTRING\r
-WRITEOUT:\r
- RET\r
-TEXTTEST ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
+++ /dev/null
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- -=\r
-//=- Tauron VGA Utilities Version 3.0 -=\r
-//=- Released September 20, 1998 -=\r
-//=- -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-//=- All Rights Reserved. =-= that you put my name some- -=\r
-//=- =-= where in your credits. -=\r
-//=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- I assume no responsibility whatsoever for any effect that this package, -=\r
-//=- the information contained therein or the use thereof has on you, your -=\r
-//=- sanity, computer, spouse, children, pets or anything else related to -=\r
-//=- you or your existance. No warranty is provided nor implied with this -=\r
-//=- source code. -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-#include <stdlib.h>\r
-#include <stdio.h>\r
-#include <conio.h>\r
-#include <dos.h>\r
-#include "tauron.h"\r
-\r
-void TextClear(char attrib)\r
-{\r
- unsigned int bytes = Mode.width_bytes;\r
- asm {\r
- MOV AX,0B800H\r
- MOV ES,AX\r
- XOR DI,DI\r
-\r
- MOV AH,attrib\r
- MOV AL,' '\r
- MOV CX,bytes\r
- CLD\r
- REP STOSW\r
- }\r
-}\r
-\r
-void Clear04H()\r
-{\r
- unsigned int bytes = Mode.width_bytes;\r
- asm {\r
- MOV AX,0B800H\r
- MOV ES,AX\r
- XOR DI,DI\r
-\r
- MOV AX,0AAAAH\r
- CLD\r
- MOV CX,bytes\r
- REP STOSW\r
- }\r
-}\r
-\r
-void Clear06H()\r
-{\r
- unsigned int bytes = Mode.width_bytes;\r
- asm {\r
- MOV AX,0B800H\r
- MOV ES,AX\r
- XOR DI,DI\r
-\r
- MOV AX,0FFFFH\r
- CLD\r
- MOV CX,bytes\r
- REP STOSW\r
- }\r
-}\r
-\r
-void Clear0DH(char color)\r
-{\r
- unsigned int bytes = Mode.width_bytes/2;\r
- asm {\r
- MOV AX,0A000H\r
- MOV ES,AX\r
- XOR DI,DI\r
-\r
- MOV CX,bytes\r
- }\r
-CLEAR_LOOP:\r
- asm {\r
- MOV DX,03CEH\r
- MOV AX,0FF08H\r
- OUT DX,AX\r
-\r
- MOV AX,0\r
- XCHG WORD PTR ES:[DI],AX\r
-\r
- MOV DX,03C4H\r
- MOV AH,color\r
- MOV AL,2\r
- OUT DX,AX\r
-\r
- MOV WORD PTR ES:[DI],0FFFFH\r
-\r
- MOV AX,0F02H\r
- OUT DX,AX\r
-\r
- MOV DX,03CEH\r
- MOV AX,0FF08h\r
- OUT DX,AX\r
-\r
- ADD DI,2\r
- LOOP CLEAR_LOOP\r
- }\r
-}\r
-\r
-void PlanarClear(char Color)\r
-{\r
- unsigned int bytes = Mode.width_bytes/2;\r
- asm {\r
- MOV AX,0A000H\r
- MOV ES,AX\r
- XOR DI,DI\r
-\r
- MOV CX,bytes\r
- }\r
-CLEAR_LOOP:\r
- asm {\r
- MOV DX,03CEH\r
- MOV AX,0FF08H\r
- OUT DX,AX\r
-\r
- MOV AX,0\r
- XCHG WORD PTR ES:[DI],AX\r
-\r
- MOV DX,03C4H\r
- MOV AH,Color\r
- MOV AL,2\r
- OUT DX,AX\r
-\r
- MOV WORD PTR ES:[DI],0FFFFH\r
-\r
- MOV AX,0F02H\r
- OUT DX,AX\r
-\r
- MOV DX,03CEH\r
- MOV AX,0FF08h\r
- OUT DX,AX\r
-\r
- ADD DI,2\r
- LOOP CLEAR_LOOP\r
- }\r
-}\r
-\r
-void Clear13H(char Color)\r
-{\r
- asm {\r
- MOV AX,0A000H\r
- MOV ES,AX\r
- XOR DI,DI\r
-\r
- MOV AL,Color\r
- MOV AH,AL\r
- CLD\r
- MOV CX,8000H\r
- REP STOSW\r
- }\r
-}\r
-\r
-void UnchainedClear(char Color)\r
-{\r
- unsigned int bytes = Mode.width_bytes/2;\r
- asm {\r
- mov dx, 03C4h // 03c4h\r
- mov al, 2 // Map Mask Register\r
- out dx, al\r
- inc dx\r
- mov al,00001111B // Select all planes to write to\r
- out dx, al // Doing this to clear all planes at once\r
-\r
- mov ax,0A000H\r
- mov es, ax\r
- XOR DI,DI // set es:di = Screen Mem\r
- mov ah,Color // move the color into ah\r
- mov al,ah // copy the value to al\r
- mov cx,bytes // Number of words\r
- cld\r
- rep stosw // clear it\r
- }\r
-}\r
+++ /dev/null
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- -=\r
-//=- Tauron VGA Utilities Version 3.0 -=\r
-//=- Released September 20, 1998 -=\r
-//=- -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-//=- All Rights Reserved. =-= that you put my name some- -=\r
-//=- =-= where in your credits. -=\r
-//=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- I assume no responsibility whatsoever for any effect that this package, -=\r
-//=- the information contained therein or the use thereof has on you, your -=\r
-//=- sanity, computer, spouse, children, pets or anything else related to -=\r
-//=- you or your existance. No warranty is provided nor implied with this -=\r
-//=- source code. -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-// 3C4H, 03H\r
-// Bit positions for font maps:\r
-//\r
-// +--7--+--6--+--5--+--4--+--3--+--2--+--1--+--0--+\r
-// | | | SAH | SBH | SA | SB |\r
-// +-----+-----+-----+-----+-----+-----+-----+-----+\r
-//\r
-// SA - bits 1, 0 of Character Map A\r
-// SAH - bit 2 (high order) of Charcter Map A\r
-//\r
-// SB - bits 1, 0 of Character Map B\r
-// SBH - bit 2 (high order) of Charcter Map B\r
-//\r
-#include <string.h>\r
-#include <stdlib.h>\r
-#include <stdio.h>\r
-#include <conio.h>\r
-#include <dos.h>\r
-#include "tauron.h"\r
-#include "font1.h"\r
-#include "font2.h"\r
-extern unsigned char mode03h[62];\r
-void LoadFonts();\r
-\r
-// Points to fonts for Map A Memory Address\r
-#define DFM_MAPA_FONT1 0x00 // 0K\r
-#define DFM_MAPA_FONT2 0x04 // 16K\r
-#define DFM_MAPA_FONT3 0x08 // 32K\r
-#define DFM_MAPA_FONT4 0x0C // 48K\r
-#define DFM_MAPA_FONT5 0x20 // 8K\r
-#define DFM_MAPA_FONT6 0x24 // 24K\r
-#define DFM_MAPA_FONT7 0x28 // 40K\r
-#define DFM_MAPA_FONT8 0x2C // 56K\r
-\r
-// Points to fonts for Map B\r
-#define DFM_MAPB_FONT1 0x00 // 0K\r
-#define DFM_MAPB_FONT2 0x01 // 16K\r
-#define DFM_MAPB_FONT3 0x02 // 32K\r
-#define DFM_MAPB_FONT4 0x03 // 48K\r
-#define DFM_MAPB_FONT5 0x10 // 8K\r
-#define DFM_MAPB_FONT6 0x11 // 24K\r
-#define DFM_MAPB_FONT7 0x12 // 40K\r
-#define DFM_MAPB_FONT8 0x13 // 56K\r
-\r
-\r
-// To set dual font mode, just set the character map select register to point\r
-// to 2 different fonts. There can be up to 8 fonts resident in memory at\r
-// once but only 2 can be active at a time.\r
-//\r
-// ** NOTE ** If you set both font maps the same you are no longer in dual font\r
-// mode. But what this allows you to do is to put up to 8 fonts in VGA memory\r
-// and switch between them at any time.\r
-//\r
-// Both fonts were made with my font editor. I just read the BIOS and\r
-// modified the second font so a solid line goes through the middle of it.\r
-//\r
-// This procedure sets up dual font mode and loads 2 fonts into video memory.\r
-void SetDual()\r
-{\r
- outport(SEQ_ADDR, ((DFM_MAPA_FONT1 | DFM_MAPB_FONT5) << 8) | 0x03);\r
-\r
- // Load font 1 into 0K and font 2 into 8K\r
- LoadFonts();\r
-}\r
-\r
-// This procedure reset the character map select register to point to only\r
-// one font.\r
-void UnSetDual()\r
-{\r
- outport(0x3C4,0x0003);\r
-}\r
-\r
-// In dual font modes, the palette is in effect half of what it is. The \r
-// bottom 8 colors for the first font, and the top 8 colors for the second \r
-// font.\r
-//\r
-// What I do here is to set them to the same 8 colors.\r
-// Black, Blue, Green, Red, Purple, Yellow, Light Gray, and White\r
-//\r
-void SetDualPalette()\r
-{\r
- // Font 1\r
- setpal( 0, 0, 0, 0);\r
- setpal( 1, 0, 0, 42);\r
- setpal( 2, 0, 42, 0);\r
- setpal( 3, 0, 42, 42);\r
- setpal( 4, 42, 0, 0);\r
- setpal( 5, 63, 63, 21);\r
- setpal( 6, 42, 42, 42);\r
- setpal( 7, 63, 63, 63);\r
- // Font 2\r
- setpal( 8, 0, 0, 0);\r
- setpal( 9, 0, 0, 42);\r
- setpal(10, 0, 42, 0);\r
- setpal(11, 0, 42, 42);\r
- setpal(12, 42, 0, 0);\r
- setpal(13, 63, 63, 21);\r
- setpal(14, 42, 42, 42);\r
- setpal(15, 63, 63, 63);\r
-}\r
-\r
-void pchar(int x, int y, char c, char att)\r
-{\r
- char far *vidmem;\r
- int off;\r
-\r
- // Make a pointer to the font\r
- vidmem = (char far *)MK_FP( 0xB800, 0x0000);\r
- off = y * 160 + x * 2;\r
- vidmem += off;\r
- *vidmem++ = c;\r
- *vidmem = att;\r
-}\r
-\r
-void print(int x, int y, char *Text, char attrib)\r
-{\r
- for (int i = 0; i < strlen(Text); i++)\r
- pchar(x++,y,Text[i],attrib);\r
-}\r
-\r
-void DualTest()\r
-{\r
- SetMode((unsigned int)&mode03h);\r
- TextClear(0x1F);\r
- SetDual();\r
- SetDualPalette();\r
-\r
- /* ** NOTE ** when trying to print text on the screen, do not use the printf\r
- * text functions. For some reason they do not select the proper VGA font.\r
- */\r
-\r
- print(0,0,"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿",0x17);\r
- print(0,1,"³ DUAL FONT MODE ³",0x17);\r
- print(0,2,"ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ",0x17);\r
-\r
- print(0,4,"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿",0x1F);\r
- print(0,5,"³ DUAL FONT MODE ³",0x1F);\r
- print(0,6,"ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ",0x1F);\r
-\r
- getch();\r
- UnSetDual();\r
- textcolor(7);\r
- textbackground(0);\r
-}\r
-\r
-\r
-void LoadFonts()\r
-{\r
- char far *vidmem;\r
- int l = 0;\r
- unsigned char oldmode,oldmisc,oldmem,oldmask;\r
- unsigned char newmode,newmisc,newmem;\r
-\r
- // Make a pointer to the font\r
- vidmem = (char far *)MK_FP( 0xA000, 0x0000);\r
-\r
- // Store the OLD 'Mode Register' value\r
- outportb(GRACON_ADDR,5);\r
- oldmode = inportb(GRACON_ADDR+1);\r
- // Store the OLD 'Miscellaneous Register' value\r
- outportb(GRACON_ADDR,6);\r
- oldmisc = inportb(GRACON_ADDR+1);\r
- // Store the OLD 'Mask Map' value\r
- outportb(SEQ_ADDR,2);\r
- oldmask = inportb(SEQ_ADDR+1);\r
- // Store the OLD 'Memory Mode' value\r
- outportb(SEQ_ADDR,4);\r
- oldmem = inportb(SEQ_ADDR+1);\r
-\r
- // Write the NEW 'Mode Register' value\r
- newmode = (oldmode & 0xFC);\r
- outport(GRACON_ADDR, (newmode << 8) | 0x05);\r
- // Write the NEW 'Miscellaneous Register' value\r
- newmisc = ((oldmisc & 0xF1)|4);\r
- outport(GRACON_ADDR, (newmisc << 8) | 0x06);\r
- // Write the NEW 'Mask Map' value\r
- outport(SEQ_ADDR, 0x0402);\r
- // Write the NEW 'Memory Mode' value\r
- newmem = (oldmem | 4);\r
- outport(SEQ_ADDR, (newmem << 8) | 0x04);\r
-\r
- // Copy the font from BIOS\r
- l = 0;\r
- for (int i = 0; i < 256; i++)\r
- {\r
- for (int j = 0; j < 16; j++)\r
- {\r
- *vidmem++ = Font1[l++];\r
- }\r
- for (int k = 0; k < 16; k++)\r
- {\r
- *vidmem++ = 0x00;\r
- }\r
- }\r
-\r
- vidmem = (char far *)MK_FP( 0xA000, 0x2000);\r
- l = 0;\r
- for (int i = 0; i < 256; i++)\r
- {\r
- for (int j = 0; j < 16; j++)\r
- {\r
- *vidmem++ = Font2[l++];\r
- }\r
- for (int k = 0; k < 16; k++)\r
- {\r
- *vidmem++ = 0x00;\r
- }\r
- }\r
-\r
- // Write the OLD 'Mode Register' value\r
- outport(GRACON_ADDR, (oldmode << 8) | 0x05);\r
- // Write the OLD 'Miscellaneous Register' value\r
- outport(GRACON_ADDR, (oldmisc << 8) | 0x06);\r
- // Write the OLD 'Mask Map' value\r
- outport(SEQ_ADDR,(oldmask << 8) | 0x02);\r
- // Write the OLD 'Memory Mode' value\r
- outport(SEQ_ADDR, (oldmem << 8) | 0x04);\r
-}\r
-\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
\ No newline at end of file
+++ /dev/null
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- Created with FEDIT written by Kinfira (Jeffrey Morgan) -=\r
-//=- -=\r
-//=- Tauron VGA Utilities Version 1.0 -=\r
-//=- Released June 14, 1998 -=\r
-//=- -=\r
-//=- Font Width: 8 -=\r
-//=- Font Height: 16 -=\r
-//=- Bytes per character: 16 -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-char Font1[] = {\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07E,0x081,0x0A5,0x081,0x081,0x0BD,0x099,0x081,0x081,0x07E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07E,0x0FF,0x0DB,0x0FF,0x0FF,0x0C3,0x0E7,0x0FF,0x0FF,0x07E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x06C,0x0FE,0x0FE,0x0FE,0x0FE,0x07C,0x038,0x010,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x010,0x038,0x07C,0x0FE,0x07C,0x038,0x010,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x018,0x03C,0x03C,0x0E7,0x0E7,0x0E7,0x099,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x018,0x03C,0x07E,0x0FF,0x0FF,0x07E,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x018,0x03C,0x03C,0x018,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0E7,0x0C3,0x0C3,0x0E7,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,\r
-0x000,0x000,0x000,0x000,0x000,0x03C,0x066,0x042,0x042,0x066,0x03C,0x000,0x000,0x000,0x000,0x000,\r
-0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0C3,0x099,0x0BD,0x0BD,0x099,0x0C3,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,\r
-0x000,0x000,0x01E,0x00E,0x01A,0x032,0x078,0x0CC,0x0CC,0x0CC,0x0CC,0x078,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03C,0x066,0x066,0x066,0x066,0x03C,0x018,0x07E,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03F,0x033,0x03F,0x030,0x030,0x030,0x030,0x070,0x0F0,0x0E0,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07F,0x063,0x07F,0x063,0x063,0x063,0x063,0x067,0x0E7,0x0E6,0x0C0,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x018,0x018,0x0DB,0x03C,0x0E7,0x03C,0x0DB,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x080,0x0C0,0x0E0,0x0F0,0x0F8,0x0FE,0x0F8,0x0F0,0x0E0,0x0C0,0x080,0x000,0x000,0x000,0x000,\r
-0x000,0x002,0x006,0x00E,0x01E,0x03E,0x0FE,0x03E,0x01E,0x00E,0x006,0x002,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x03C,0x07E,0x018,0x018,0x018,0x018,0x07E,0x03C,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x066,0x066,0x066,0x066,0x066,0x066,0x066,0x000,0x066,0x066,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07F,0x0DB,0x0DB,0x0DB,0x07B,0x01B,0x01B,0x01B,0x01B,0x01B,0x000,0x000,0x000,0x000,\r
-0x000,0x07C,0x0C6,0x060,0x038,0x06C,0x0C6,0x0C6,0x06C,0x038,0x00C,0x0C6,0x07C,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FE,0x0FE,0x0FE,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x03C,0x07E,0x018,0x018,0x018,0x018,0x07E,0x03C,0x018,0x07E,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x03C,0x07E,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x07E,0x03C,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x018,0x00C,0x0FE,0x00C,0x018,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x030,0x060,0x0FE,0x060,0x030,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0C0,0x0C0,0x0C0,0x0C0,0x0FE,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x028,0x06C,0x0FE,0x06C,0x028,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x010,0x038,0x038,0x07C,0x07C,0x0FE,0x0FE,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x0FE,0x0FE,0x07C,0x07C,0x038,0x038,0x010,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x03C,0x03C,0x03C,0x018,0x018,0x018,0x000,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x066,0x066,0x066,0x024,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x06C,0x06C,0x0FE,0x06C,0x06C,0x06C,0x0FE,0x06C,0x06C,0x000,0x000,0x000,0x000,\r
-0x018,0x018,0x07C,0x0C6,0x0C2,0x0C0,0x07C,0x006,0x086,0x0C6,0x07C,0x018,0x018,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x0C2,0x0C6,0x00C,0x018,0x030,0x060,0x0C6,0x086,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x038,0x06C,0x06C,0x038,0x076,0x0DC,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x030,0x030,0x030,0x060,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x00C,0x018,0x030,0x030,0x030,0x030,0x030,0x030,0x018,0x00C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x030,0x018,0x00C,0x00C,0x00C,0x00C,0x00C,0x00C,0x018,0x030,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x066,0x03C,0x0FF,0x03C,0x066,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x018,0x018,0x07E,0x018,0x018,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x018,0x018,0x018,0x030,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FE,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x002,0x006,0x00C,0x018,0x030,0x060,0x0C0,0x080,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x0C6,0x0CE,0x0D6,0x0D6,0x0E6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x038,0x078,0x018,0x018,0x018,0x018,0x018,0x018,0x07E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x006,0x00C,0x018,0x030,0x060,0x0C0,0x0C6,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x006,0x006,0x03C,0x006,0x006,0x006,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x00C,0x01C,0x03C,0x06C,0x0CC,0x0FE,0x00C,0x00C,0x00C,0x01E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0FE,0x0C0,0x0C0,0x0C0,0x0FC,0x00E,0x006,0x006,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x038,0x060,0x0C0,0x0C0,0x0FC,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0FE,0x0C6,0x006,0x006,0x00C,0x018,0x030,0x030,0x030,0x030,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x07E,0x006,0x006,0x006,0x00C,0x078,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x018,0x018,0x000,0x000,0x000,0x018,0x018,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x018,0x018,0x000,0x000,0x000,0x018,0x018,0x030,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x006,0x00C,0x018,0x030,0x060,0x030,0x018,0x00C,0x006,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x0FE,0x000,0x000,0x0FE,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x060,0x030,0x018,0x00C,0x006,0x00C,0x018,0x030,0x060,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x0C6,0x00C,0x018,0x018,0x018,0x000,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x07C,0x0C6,0x0C6,0x0DE,0x0DE,0x0DE,0x0DC,0x0C0,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x010,0x038,0x06C,0x0C6,0x0C6,0x0FE,0x0C6,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0FC,0x066,0x066,0x066,0x07C,0x066,0x066,0x066,0x066,0x0FC,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03C,0x066,0x0C2,0x0C0,0x0C0,0x0C0,0x0C0,0x0C2,0x066,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0F8,0x06C,0x066,0x066,0x066,0x066,0x066,0x066,0x06C,0x0F8,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0FE,0x066,0x062,0x068,0x078,0x068,0x060,0x062,0x066,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0FE,0x066,0x062,0x068,0x078,0x068,0x060,0x060,0x060,0x0F0,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03C,0x066,0x0C2,0x0C0,0x0C0,0x0DE,0x0C6,0x0C6,0x066,0x03A,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x0C6,0x0C6,0x0FE,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03C,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x01E,0x00C,0x00C,0x00C,0x00C,0x00C,0x0CC,0x0CC,0x0CC,0x078,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0E6,0x066,0x06C,0x06C,0x078,0x078,0x06C,0x066,0x066,0x0E6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0F0,0x060,0x060,0x060,0x060,0x060,0x060,0x062,0x066,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0EE,0x0FE,0x0FE,0x0D6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0E6,0x0F6,0x0FE,0x0DE,0x0CE,0x0C6,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x038,0x06C,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x06C,0x038,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0FC,0x066,0x066,0x066,0x07C,0x060,0x060,0x060,0x060,0x0F0,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0D6,0x0DE,0x07C,0x00C,0x00E,0x000,0x000,\r
-0x000,0x000,0x0FC,0x066,0x066,0x066,0x07C,0x06C,0x066,0x066,0x066,0x0E6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x0C6,0x060,0x038,0x00C,0x006,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07E,0x07E,0x05A,0x018,0x018,0x018,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x06C,0x038,0x010,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0D6,0x0D6,0x0FE,0x06C,0x06C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x06C,0x06C,0x038,0x038,0x06C,0x06C,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x066,0x066,0x066,0x066,0x03C,0x018,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0FE,0x0C6,0x086,0x00C,0x018,0x030,0x060,0x0C2,0x0C6,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03C,0x030,0x030,0x030,0x030,0x030,0x030,0x030,0x030,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x080,0x0C0,0x0E0,0x070,0x038,0x01C,0x00E,0x006,0x002,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03C,0x00C,0x00C,0x00C,0x00C,0x00C,0x00C,0x00C,0x00C,0x03C,0x000,0x000,0x000,0x000,\r
-0x010,0x038,0x06C,0x0C6,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FF,0x000,0x000,\r
-0x030,0x030,0x018,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x078,0x00C,0x07C,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0E0,0x060,0x060,0x078,0x06C,0x066,0x066,0x066,0x066,0x0DC,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x07C,0x0C6,0x0C0,0x0C0,0x0C0,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x01C,0x00C,0x00C,0x03C,0x06C,0x0CC,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x07C,0x0C6,0x0FE,0x0C0,0x0C0,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x038,0x06C,0x064,0x060,0x0F0,0x060,0x060,0x060,0x060,0x0F0,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x076,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x07C,0x00C,0x0CC,0x078,0x000,\r
-0x000,0x000,0x0E0,0x060,0x060,0x06C,0x076,0x066,0x066,0x066,0x066,0x0E6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x018,0x000,0x038,0x018,0x018,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x006,0x006,0x000,0x00E,0x006,0x006,0x006,0x006,0x006,0x006,0x066,0x066,0x03C,0x000,\r
-0x000,0x000,0x0E0,0x060,0x060,0x066,0x06C,0x078,0x078,0x06C,0x066,0x0E6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x038,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0EC,0x0FE,0x0D6,0x0D6,0x0D6,0x0D6,0x0D6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0DC,0x066,0x066,0x066,0x066,0x066,0x066,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0DC,0x066,0x066,0x066,0x066,0x066,0x07C,0x060,0x060,0x0F0,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x076,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x07C,0x00C,0x00C,0x01E,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0DC,0x076,0x062,0x060,0x060,0x060,0x0F0,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x07C,0x0C6,0x060,0x038,0x00C,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x010,0x030,0x030,0x0FC,0x030,0x030,0x030,0x030,0x036,0x01C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x066,0x066,0x066,0x066,0x066,0x03C,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0C6,0x0C6,0x0C6,0x0D6,0x0D6,0x0FE,0x06C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0C6,0x06C,0x038,0x038,0x038,0x06C,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07E,0x006,0x00C,0x0F8,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0FE,0x0CC,0x018,0x030,0x060,0x0C6,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x00E,0x018,0x018,0x018,0x070,0x018,0x018,0x018,0x018,0x00E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x018,0x018,0x018,0x000,0x018,0x018,0x018,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x070,0x018,0x018,0x018,0x00E,0x018,0x018,0x018,0x018,0x070,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x076,0x0DC,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x010,0x038,0x06C,0x0C6,0x0C6,0x0C6,0x0FE,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03C,0x066,0x0C2,0x0C0,0x0C0,0x0C0,0x0C2,0x066,0x03C,0x00C,0x006,0x07C,0x000,0x000,\r
-0x000,0x000,0x0CC,0x0CC,0x000,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x00C,0x018,0x030,0x000,0x07C,0x0C6,0x0FE,0x0C0,0x0C0,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x010,0x038,0x06C,0x000,0x078,0x00C,0x07C,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0CC,0x0CC,0x000,0x078,0x00C,0x07C,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x060,0x030,0x018,0x000,0x078,0x00C,0x07C,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x038,0x06C,0x038,0x000,0x078,0x00C,0x07C,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x03C,0x066,0x060,0x060,0x066,0x03C,0x00C,0x006,0x03C,0x000,0x000,0x000,\r
-0x000,0x010,0x038,0x06C,0x000,0x07C,0x0C6,0x0FE,0x0C0,0x0C0,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x000,0x07C,0x0C6,0x0FE,0x0C0,0x0C0,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x060,0x030,0x018,0x000,0x07C,0x0C6,0x0FE,0x0C0,0x0C0,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x066,0x066,0x000,0x038,0x018,0x018,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x018,0x03C,0x066,0x000,0x038,0x018,0x018,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x060,0x030,0x018,0x000,0x038,0x018,0x018,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x0C6,0x0C6,0x010,0x038,0x06C,0x0C6,0x0C6,0x0FE,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x038,0x06C,0x038,0x000,0x038,0x06C,0x0C6,0x0C6,0x0FE,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x018,0x030,0x060,0x000,0x0FE,0x066,0x060,0x07C,0x060,0x060,0x066,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0CC,0x076,0x036,0x07E,0x0D8,0x0D8,0x06E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03E,0x06C,0x0CC,0x0CC,0x0FE,0x0CC,0x0CC,0x0CC,0x0CC,0x0CE,0x000,0x000,0x000,0x000,\r
-0x000,0x010,0x038,0x06C,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x060,0x030,0x018,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x030,0x078,0x0CC,0x000,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x060,0x030,0x018,0x000,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x000,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07E,0x006,0x00C,0x078,0x000,\r
-0x000,0x0C6,0x0C6,0x000,0x038,0x06C,0x0C6,0x0C6,0x0C6,0x0C6,0x06C,0x038,0x000,0x000,0x000,0x000,\r
-0x000,0x0C6,0x0C6,0x000,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x018,0x018,0x03C,0x066,0x060,0x060,0x060,0x066,0x03C,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x038,0x06C,0x064,0x060,0x0F0,0x060,0x060,0x060,0x060,0x0E6,0x0FC,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x066,0x066,0x03C,0x018,0x07E,0x018,0x07E,0x018,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x0F8,0x0CC,0x0CC,0x0F8,0x0C4,0x0CC,0x0DE,0x0CC,0x0CC,0x0CC,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x00E,0x01B,0x018,0x018,0x018,0x07E,0x018,0x018,0x018,0x018,0x018,0x0D8,0x070,0x000,0x000,\r
-0x000,0x018,0x030,0x060,0x000,0x078,0x00C,0x07C,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x00C,0x018,0x030,0x000,0x038,0x018,0x018,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x018,0x030,0x060,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x018,0x030,0x060,0x000,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x076,0x0DC,0x000,0x0DC,0x066,0x066,0x066,0x066,0x066,0x066,0x000,0x000,0x000,0x000,\r
-0x076,0x0DC,0x000,0x0C6,0x0E6,0x0F6,0x0FE,0x0DE,0x0CE,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x03C,0x06C,0x06C,0x03E,0x000,0x07E,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x038,0x06C,0x06C,0x038,0x000,0x07C,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x030,0x030,0x000,0x030,0x030,0x060,0x0C0,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x0FE,0x0C0,0x0C0,0x0C0,0x0C0,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x0FE,0x006,0x006,0x006,0x006,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x0C0,0x0C0,0x0C2,0x0C6,0x0CC,0x018,0x030,0x060,0x0CE,0x093,0x006,0x00C,0x01F,0x000,0x000,\r
-0x000,0x0C0,0x0C0,0x0C2,0x0C6,0x0CC,0x018,0x030,0x066,0x0CE,0x09A,0x03F,0x006,0x00F,0x000,0x000,\r
-0x000,0x000,0x018,0x018,0x000,0x018,0x018,0x018,0x03C,0x03C,0x03C,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x033,0x066,0x0CC,0x066,0x033,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0CC,0x066,0x033,0x066,0x0CC,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x011,0x044,0x011,0x044,0x011,0x044,0x011,0x044,0x011,0x044,0x011,0x044,0x011,0x044,0x011,0x044,\r
-0x055,0x0AA,0x055,0x0AA,0x055,0x0AA,0x055,0x0AA,0x055,0x0AA,0x055,0x0AA,0x055,0x0AA,0x055,0x0AA,\r
-0x0DD,0x077,0x0DD,0x077,0x0DD,0x077,0x0DD,0x077,0x0DD,0x077,0x0DD,0x077,0x0DD,0x077,0x0DD,0x077,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x0F8,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x018,0x018,0x018,0x018,0x018,0x0F8,0x018,0x0F8,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x0F6,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FE,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x000,0x000,0x000,0x000,0x000,0x0F8,0x018,0x0F8,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x036,0x036,0x036,0x036,0x036,0x0F6,0x006,0x0F6,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x000,0x000,0x000,0x000,0x000,0x0FE,0x006,0x0F6,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x036,0x036,0x036,0x036,0x036,0x0F6,0x006,0x0FE,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x0FE,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x018,0x018,0x018,0x018,0x018,0x0F8,0x018,0x0F8,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0F8,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x01F,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FF,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x01F,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x0FF,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x018,0x018,0x018,0x018,0x018,0x01F,0x018,0x01F,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x037,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x036,0x036,0x036,0x036,0x036,0x037,0x030,0x03F,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x03F,0x030,0x037,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x036,0x036,0x036,0x036,0x036,0x0F7,0x000,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0FF,0x000,0x0F7,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x036,0x036,0x036,0x036,0x036,0x037,0x030,0x037,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x000,0x000,0x000,0x000,0x000,0x0FF,0x000,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x036,0x036,0x036,0x036,0x036,0x0F7,0x000,0x0F7,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x018,0x018,0x018,0x018,0x018,0x0FF,0x000,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0FF,0x000,0x0FF,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FF,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x03F,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x018,0x018,0x018,0x018,0x018,0x01F,0x018,0x01F,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x01F,0x018,0x01F,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x03F,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x0FF,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x018,0x018,0x018,0x018,0x018,0x0FF,0x018,0x0FF,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x0F8,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x01F,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,\r
-0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,\r
-0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,\r
-0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x076,0x0DC,0x0D8,0x0D8,0x0D8,0x0DC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0FC,0x0C6,0x0FC,0x0C6,0x0C6,0x0FC,0x0C0,0x0C0,0x0C0,0x000,0x000,\r
-0x000,0x000,0x0FE,0x0C6,0x0C6,0x0C0,0x0C0,0x0C0,0x0C0,0x0C0,0x0C0,0x0C0,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x080,0x0FE,0x06C,0x06C,0x06C,0x06C,0x06C,0x06C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x0FE,0x0C6,0x060,0x030,0x018,0x030,0x060,0x0C6,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x07E,0x0D8,0x0D8,0x0D8,0x0D8,0x0D8,0x070,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x066,0x066,0x066,0x066,0x066,0x07C,0x060,0x060,0x0C0,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x076,0x0DC,0x018,0x018,0x018,0x018,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x07E,0x018,0x03C,0x066,0x066,0x066,0x03C,0x018,0x07E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x038,0x06C,0x0C6,0x0C6,0x0FE,0x0C6,0x0C6,0x06C,0x038,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x038,0x06C,0x0C6,0x0C6,0x0C6,0x06C,0x06C,0x06C,0x06C,0x0EE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x01E,0x030,0x018,0x00C,0x03E,0x066,0x066,0x066,0x066,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x07E,0x0DB,0x0DB,0x0DB,0x07E,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x003,0x006,0x07E,0x0CF,0x0DB,0x0F3,0x07E,0x060,0x0C0,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x01C,0x030,0x060,0x060,0x07C,0x060,0x060,0x060,0x030,0x01C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x0FE,0x000,0x000,0x0FE,0x000,0x000,0x0FE,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x018,0x018,0x07E,0x018,0x018,0x000,0x000,0x0FF,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x030,0x018,0x00C,0x006,0x00C,0x018,0x030,0x000,0x07E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x00C,0x018,0x030,0x060,0x030,0x018,0x00C,0x000,0x07E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x00E,0x01B,0x01B,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x0D8,0x0D8,0x0D8,0x070,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x018,0x018,0x000,0x07E,0x000,0x018,0x018,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x076,0x0DC,0x000,0x076,0x0DC,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x038,0x06C,0x06C,0x038,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x018,0x018,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x018,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x00F,0x00C,0x00C,0x00C,0x00C,0x00C,0x0EC,0x06C,0x06C,0x03C,0x01C,0x000,0x000,0x000,0x000,\r
-0x000,0x0D8,0x06C,0x06C,0x06C,0x06C,0x06C,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x070,0x098,0x030,0x060,0x0C8,0x0F8,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x07C,0x07C,0x07C,0x07C,0x07C,0x07C,0x07C,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000\r
-}; \r
+++ /dev/null
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- Created with FEDIT written by Kinfira (Jeffrey Morgan) -=\r
-//=- -=\r
-//=- Tauron VGA Utilities Version 1.0 -=\r
-//=- Released June 14, 1998 -=\r
-//=- -=\r
-//=- Font Width: 8 -=\r
-//=- Font Height: 16 -=\r
-//=- Bytes per character: 16 -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-char Font2[] = {\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07E,0x081,0x0A5,0x081,0x081,0x0BD,0x099,0x081,0x081,0x07E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07E,0x0FF,0x0DB,0x0FF,0x0FF,0x0C3,0x0E7,0x0FF,0x0FF,0x07E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x06C,0x0FE,0x0FE,0x0FE,0x0FE,0x07C,0x038,0x010,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x010,0x038,0x07C,0x0FE,0x07C,0x038,0x010,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x018,0x03C,0x03C,0x0E7,0x0E7,0x0E7,0x099,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x018,0x03C,0x07E,0x0FF,0x0FF,0x07E,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x018,0x03C,0x03C,0x018,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0E7,0x0C3,0x0C3,0x0E7,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,\r
-0x000,0x000,0x000,0x000,0x000,0x03C,0x066,0x042,0x042,0x066,0x03C,0x000,0x000,0x000,0x000,0x000,\r
-0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0C3,0x099,0x0BD,0x0BD,0x099,0x0C3,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,\r
-0x000,0x000,0x01E,0x00E,0x01A,0x032,0x078,0x0CC,0x0CC,0x0CC,0x0CC,0x078,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03C,0x066,0x066,0x066,0x066,0x03C,0x018,0x07E,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03F,0x033,0x03F,0x030,0x030,0x030,0x030,0x070,0x0F0,0x0E0,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07F,0x063,0x07F,0x063,0x063,0x063,0x063,0x067,0x0E7,0x0E6,0x0C0,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x018,0x018,0x0DB,0x03C,0x0E7,0x03C,0x0DB,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x080,0x0C0,0x0E0,0x0F0,0x0F8,0x0FE,0x0F8,0x0F0,0x0E0,0x0C0,0x080,0x000,0x000,0x000,0x000,\r
-0x000,0x002,0x006,0x00E,0x01E,0x03E,0x0FE,0x03E,0x01E,0x00E,0x006,0x002,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x03C,0x07E,0x018,0x018,0x018,0x018,0x07E,0x03C,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x066,0x066,0x066,0x066,0x066,0x066,0x066,0x000,0x066,0x066,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07F,0x0DB,0x0DB,0x0DB,0x07B,0x01B,0x01B,0x01B,0x01B,0x01B,0x000,0x000,0x000,0x000,\r
-0x000,0x07C,0x0C6,0x060,0x038,0x06C,0x0C6,0x0C6,0x06C,0x038,0x00C,0x0C6,0x07C,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FE,0x0FE,0x0FE,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x03C,0x07E,0x018,0x018,0x018,0x018,0x07E,0x03C,0x018,0x07E,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x03C,0x07E,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x07E,0x03C,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x018,0x00C,0x0FE,0x00C,0x018,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x030,0x060,0x0FE,0x060,0x030,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0C0,0x0C0,0x0C0,0x0C0,0x0FE,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x028,0x06C,0x0FE,0x06C,0x028,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x010,0x038,0x038,0x07C,0x07C,0x0FE,0x0FE,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x0FE,0x0FE,0x07C,0x07C,0x038,0x038,0x010,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x03C,0x03C,0x03C,0x018,0x018,0x018,0x000,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x066,0x066,0x066,0x024,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x06C,0x06C,0x0FE,0x06C,0x06C,0x06C,0x0FE,0x06C,0x06C,0x000,0x000,0x000,0x000,\r
-0x018,0x018,0x07C,0x0C6,0x0C2,0x0C0,0x07C,0x006,0x086,0x0C6,0x07C,0x018,0x018,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x0C2,0x0C6,0x00C,0x018,0x030,0x060,0x0C6,0x086,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x038,0x06C,0x06C,0x038,0x076,0x0DC,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x030,0x030,0x030,0x060,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x00C,0x018,0x030,0x030,0x030,0x030,0x030,0x030,0x018,0x00C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x030,0x018,0x00C,0x00C,0x00C,0x00C,0x00C,0x00C,0x018,0x030,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x066,0x03C,0x0FF,0x03C,0x066,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x018,0x018,0x07E,0x018,0x018,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x018,0x018,0x018,0x030,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FE,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x002,0x006,0x00C,0x018,0x030,0x060,0x0C0,0x080,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x0C6,0x0CE,0x0D6,0x0D6,0x0E6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x038,0x078,0x018,0x018,0x018,0x018,0x018,0x018,0x07E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x006,0x00C,0x018,0x030,0x060,0x0C0,0x0C6,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x006,0x006,0x03C,0x006,0x006,0x006,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x00C,0x01C,0x03C,0x06C,0x0CC,0x0FE,0x00C,0x00C,0x00C,0x01E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0FE,0x0C0,0x0C0,0x0C0,0x0FC,0x00E,0x006,0x006,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x038,0x060,0x0C0,0x0C0,0x0FC,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0FE,0x0C6,0x006,0x006,0x00C,0x018,0x030,0x030,0x030,0x030,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x07E,0x006,0x006,0x006,0x00C,0x078,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x018,0x018,0x000,0x000,0x000,0x018,0x018,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x018,0x018,0x000,0x000,0x000,0x018,0x018,0x030,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x006,0x00C,0x018,0x030,0x060,0x030,0x018,0x00C,0x006,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x0FE,0x000,0x000,0x0FE,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x060,0x030,0x018,0x00C,0x006,0x00C,0x018,0x030,0x060,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x0C6,0x00C,0x018,0x018,0x018,0x000,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x07C,0x0C6,0x0C6,0x0DE,0x0DE,0x0DE,0x0DC,0x0C0,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x010,0x038,0x06C,0x0C6,0x0C6,0x0FF,0x0C6,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0FC,0x066,0x066,0x066,0x07C,0x0FF,0x066,0x066,0x066,0x0FC,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03C,0x066,0x0C2,0x0C0,0x0C0,0x0FF,0x0C0,0x0C2,0x066,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0F8,0x06C,0x066,0x066,0x066,0x0FF,0x066,0x066,0x06C,0x0F8,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0FE,0x066,0x062,0x068,0x078,0x0FF,0x060,0x062,0x066,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0FE,0x066,0x062,0x068,0x078,0x0FF,0x060,0x060,0x060,0x0F0,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03C,0x066,0x0C2,0x0C0,0x0C0,0x0FF,0x0C6,0x0C6,0x066,0x03A,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x0C6,0x0C6,0x0FE,0x0FF,0x0C6,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03C,0x018,0x018,0x018,0x018,0x0FF,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x01E,0x00C,0x00C,0x00C,0x00C,0x0FF,0x0CC,0x0CC,0x0CC,0x078,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0E6,0x066,0x06C,0x06C,0x078,0x0FF,0x06C,0x066,0x066,0x0E6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0F0,0x060,0x060,0x060,0x060,0x0FF,0x060,0x062,0x066,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0EE,0x0FE,0x0FE,0x0D6,0x0FF,0x0C6,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0E6,0x0F6,0x0FE,0x0DE,0x0FF,0x0C6,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x038,0x06C,0x0C6,0x0C6,0x0C6,0x0FF,0x0C6,0x0C6,0x06C,0x038,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0FC,0x066,0x066,0x066,0x07C,0x0FF,0x060,0x060,0x060,0x0F0,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x0FF,0x0C6,0x0D6,0x0DE,0x07C,0x00C,0x00E,0x000,0x000,\r
-0x000,0x000,0x0FC,0x066,0x066,0x066,0x07C,0x0FF,0x066,0x066,0x066,0x0E6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x0C6,0x060,0x038,0x0FF,0x006,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07E,0x07E,0x05A,0x018,0x018,0x0FF,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0FF,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0FF,0x0C6,0x06C,0x038,0x010,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0FF,0x0D6,0x0FE,0x06C,0x06C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x06C,0x06C,0x038,0x0FF,0x06C,0x06C,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x066,0x066,0x066,0x066,0x03C,0x0FF,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0FE,0x0C6,0x086,0x00C,0x018,0x0FF,0x060,0x0C2,0x0C6,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03C,0x030,0x030,0x030,0x030,0x0FF,0x030,0x030,0x030,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x080,0x0C0,0x0E0,0x070,0x0FF,0x01C,0x00E,0x006,0x002,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03C,0x00C,0x00C,0x00C,0x00C,0x0FF,0x00C,0x00C,0x00C,0x03C,0x000,0x000,0x000,0x000,\r
-0x010,0x038,0x06C,0x0C6,0x000,0x000,0x000,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FF,0x000,0x000,0x000,0x000,0x000,0x0FF,0x000,0x000,\r
-0x030,0x030,0x018,0x000,0x000,0x000,0x000,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x078,0x00C,0x07C,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0E0,0x060,0x060,0x078,0x06C,0x066,0x066,0x066,0x066,0x0DC,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x07C,0x0C6,0x0C0,0x0C0,0x0C0,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x01C,0x00C,0x00C,0x03C,0x06C,0x0CC,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x07C,0x0C6,0x0FE,0x0C0,0x0C0,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x038,0x06C,0x064,0x060,0x0F0,0x060,0x060,0x060,0x060,0x0F0,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x076,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x07C,0x00C,0x0CC,0x078,0x000,\r
-0x000,0x000,0x0E0,0x060,0x060,0x06C,0x076,0x066,0x066,0x066,0x066,0x0E6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x018,0x000,0x038,0x018,0x018,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x006,0x006,0x000,0x00E,0x006,0x006,0x006,0x006,0x006,0x006,0x066,0x066,0x03C,0x000,\r
-0x000,0x000,0x0E0,0x060,0x060,0x066,0x06C,0x078,0x078,0x06C,0x066,0x0E6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x038,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0EC,0x0FE,0x0D6,0x0D6,0x0D6,0x0D6,0x0D6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0DC,0x066,0x066,0x066,0x066,0x066,0x066,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0DC,0x066,0x066,0x066,0x066,0x066,0x07C,0x060,0x060,0x0F0,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x076,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x07C,0x00C,0x00C,0x01E,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0DC,0x076,0x062,0x060,0x060,0x060,0x0F0,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x07C,0x0C6,0x060,0x038,0x00C,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x010,0x030,0x030,0x0FC,0x030,0x030,0x030,0x030,0x036,0x01C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x066,0x066,0x066,0x066,0x066,0x03C,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0C6,0x0C6,0x0C6,0x0D6,0x0D6,0x0FE,0x06C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0C6,0x06C,0x038,0x038,0x038,0x06C,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07E,0x006,0x00C,0x0F8,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0FE,0x0CC,0x018,0x030,0x060,0x0C6,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x00E,0x018,0x018,0x018,0x070,0x018,0x018,0x018,0x018,0x00E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x018,0x018,0x018,0x000,0x018,0x018,0x018,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x070,0x018,0x018,0x018,0x00E,0x018,0x018,0x018,0x018,0x070,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x076,0x0DC,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x010,0x038,0x06C,0x0C6,0x0C6,0x0C6,0x0FE,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03C,0x066,0x0C2,0x0C0,0x0C0,0x0C0,0x0C2,0x066,0x03C,0x00C,0x006,0x07C,0x000,0x000,\r
-0x000,0x000,0x0CC,0x0CC,0x000,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x00C,0x018,0x030,0x000,0x07C,0x0C6,0x0FE,0x0C0,0x0C0,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x010,0x038,0x06C,0x000,0x078,0x00C,0x07C,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0CC,0x0CC,0x000,0x078,0x00C,0x07C,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x060,0x030,0x018,0x000,0x078,0x00C,0x07C,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x038,0x06C,0x038,0x000,0x078,0x00C,0x07C,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x03C,0x066,0x060,0x060,0x066,0x03C,0x00C,0x006,0x03C,0x000,0x000,0x000,\r
-0x000,0x010,0x038,0x06C,0x000,0x07C,0x0C6,0x0FE,0x0C0,0x0C0,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x000,0x07C,0x0C6,0x0FE,0x0C0,0x0C0,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x060,0x030,0x018,0x000,0x07C,0x0C6,0x0FE,0x0C0,0x0C0,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x066,0x066,0x000,0x038,0x018,0x018,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x018,0x03C,0x066,0x000,0x038,0x018,0x018,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x060,0x030,0x018,0x000,0x038,0x018,0x018,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x0C6,0x0C6,0x010,0x038,0x06C,0x0C6,0x0C6,0x0FE,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x038,0x06C,0x038,0x000,0x038,0x06C,0x0C6,0x0C6,0x0FE,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x018,0x030,0x060,0x000,0x0FE,0x066,0x060,0x07C,0x060,0x060,0x066,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0CC,0x076,0x036,0x07E,0x0D8,0x0D8,0x06E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03E,0x06C,0x0CC,0x0CC,0x0FE,0x0CC,0x0CC,0x0CC,0x0CC,0x0CE,0x000,0x000,0x000,0x000,\r
-0x000,0x010,0x038,0x06C,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x060,0x030,0x018,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x030,0x078,0x0CC,0x000,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x060,0x030,0x018,0x000,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x000,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07E,0x006,0x00C,0x078,0x000,\r
-0x000,0x0C6,0x0C6,0x000,0x038,0x06C,0x0C6,0x0C6,0x0C6,0x0C6,0x06C,0x038,0x000,0x000,0x000,0x000,\r
-0x000,0x0C6,0x0C6,0x000,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x018,0x018,0x03C,0x066,0x060,0x060,0x060,0x066,0x03C,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x038,0x06C,0x064,0x060,0x0F0,0x060,0x060,0x060,0x060,0x0E6,0x0FC,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x066,0x066,0x03C,0x018,0x07E,0x018,0x07E,0x018,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x0F8,0x0CC,0x0CC,0x0F8,0x0C4,0x0CC,0x0DE,0x0CC,0x0CC,0x0CC,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x00E,0x01B,0x018,0x018,0x018,0x07E,0x018,0x018,0x018,0x018,0x018,0x0D8,0x070,0x000,0x000,\r
-0x000,0x018,0x030,0x060,0x000,0x078,0x00C,0x07C,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x00C,0x018,0x030,0x000,0x038,0x018,0x018,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x018,0x030,0x060,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x018,0x030,0x060,0x000,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x076,0x0DC,0x000,0x0DC,0x066,0x066,0x066,0x066,0x066,0x066,0x000,0x000,0x000,0x000,\r
-0x076,0x0DC,0x000,0x0C6,0x0E6,0x0F6,0x0FE,0x0DE,0x0CE,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x03C,0x06C,0x06C,0x03E,0x000,0x07E,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x038,0x06C,0x06C,0x038,0x000,0x07C,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x030,0x030,0x000,0x030,0x030,0x060,0x0C0,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x0FE,0x0C0,0x0C0,0x0C0,0x0C0,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x0FE,0x006,0x006,0x006,0x006,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x0C0,0x0C0,0x0C2,0x0C6,0x0CC,0x018,0x030,0x060,0x0CE,0x093,0x006,0x00C,0x01F,0x000,0x000,\r
-0x000,0x0C0,0x0C0,0x0C2,0x0C6,0x0CC,0x018,0x030,0x066,0x0CE,0x09A,0x03F,0x006,0x00F,0x000,0x000,\r
-0x000,0x000,0x018,0x018,0x000,0x018,0x018,0x018,0x03C,0x03C,0x03C,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x033,0x066,0x0CC,0x066,0x033,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0CC,0x066,0x033,0x066,0x0CC,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x011,0x044,0x011,0x044,0x011,0x044,0x011,0x044,0x011,0x044,0x011,0x044,0x011,0x044,0x011,0x044,\r
-0x055,0x0AA,0x055,0x0AA,0x055,0x0AA,0x055,0x0AA,0x055,0x0AA,0x055,0x0AA,0x055,0x0AA,0x055,0x0AA,\r
-0x0DD,0x077,0x0DD,0x077,0x0DD,0x077,0x0DD,0x077,0x0DD,0x077,0x0DD,0x077,0x0DD,0x077,0x0DD,0x077,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x0F8,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x018,0x018,0x018,0x018,0x018,0x0F8,0x018,0x0F8,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x0F6,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FE,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x000,0x000,0x000,0x000,0x000,0x0F8,0x018,0x0F8,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x036,0x036,0x036,0x036,0x036,0x0F6,0x006,0x0F6,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x000,0x000,0x000,0x000,0x000,0x0FE,0x006,0x0F6,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x036,0x036,0x036,0x036,0x036,0x0F6,0x006,0x0FE,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x0FE,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x018,0x018,0x018,0x018,0x018,0x0F8,0x018,0x0F8,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0F8,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x01F,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FF,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x01F,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x0FF,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x018,0x018,0x018,0x018,0x018,0x01F,0x018,0x01F,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x037,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x036,0x036,0x036,0x036,0x036,0x037,0x030,0x03F,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x03F,0x030,0x037,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x036,0x036,0x036,0x036,0x036,0x0F7,0x000,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0FF,0x000,0x0F7,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x036,0x036,0x036,0x036,0x036,0x037,0x030,0x037,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x000,0x000,0x000,0x000,0x000,0x0FF,0x000,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x036,0x036,0x036,0x036,0x036,0x0F7,0x000,0x0F7,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x018,0x018,0x018,0x018,0x018,0x0FF,0x000,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0FF,0x000,0x0FF,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FF,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x03F,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x018,0x018,0x018,0x018,0x018,0x01F,0x018,0x01F,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x01F,0x018,0x01F,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x03F,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x0FF,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x018,0x018,0x018,0x018,0x018,0x0FF,0x018,0x0FF,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x0F8,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x01F,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,\r
-0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,\r
-0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,\r
-0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x076,0x0DC,0x0D8,0x0D8,0x0D8,0x0DC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0FC,0x0C6,0x0FC,0x0C6,0x0C6,0x0FC,0x0C0,0x0C0,0x0C0,0x000,0x000,\r
-0x000,0x000,0x0FE,0x0C6,0x0C6,0x0C0,0x0C0,0x0C0,0x0C0,0x0C0,0x0C0,0x0C0,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x080,0x0FE,0x06C,0x06C,0x06C,0x06C,0x06C,0x06C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x0FE,0x0C6,0x060,0x030,0x018,0x030,0x060,0x0C6,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x07E,0x0D8,0x0D8,0x0D8,0x0D8,0x0D8,0x070,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x066,0x066,0x066,0x066,0x066,0x07C,0x060,0x060,0x0C0,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x076,0x0DC,0x018,0x018,0x018,0x018,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x07E,0x018,0x03C,0x066,0x066,0x066,0x03C,0x018,0x07E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x038,0x06C,0x0C6,0x0C6,0x0FE,0x0C6,0x0C6,0x06C,0x038,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x038,0x06C,0x0C6,0x0C6,0x0C6,0x06C,0x06C,0x06C,0x06C,0x0EE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x01E,0x030,0x018,0x00C,0x03E,0x066,0x066,0x066,0x066,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x07E,0x0DB,0x0DB,0x0DB,0x07E,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x003,0x006,0x07E,0x0CF,0x0DB,0x0F3,0x07E,0x060,0x0C0,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x01C,0x030,0x060,0x060,0x07C,0x060,0x060,0x060,0x030,0x01C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x0FE,0x000,0x000,0x0FE,0x000,0x000,0x0FE,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x018,0x018,0x07E,0x018,0x018,0x000,0x000,0x0FF,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x030,0x018,0x00C,0x006,0x00C,0x018,0x030,0x000,0x07E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x00C,0x018,0x030,0x060,0x030,0x018,0x00C,0x000,0x07E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x00E,0x01B,0x01B,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x0D8,0x0D8,0x0D8,0x070,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x018,0x018,0x000,0x07E,0x000,0x018,0x018,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x076,0x0DC,0x000,0x076,0x0DC,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x038,0x06C,0x06C,0x038,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x018,0x018,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x018,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x00F,0x00C,0x00C,0x00C,0x00C,0x00C,0x0EC,0x06C,0x06C,0x03C,0x01C,0x000,0x000,0x000,0x000,\r
-0x000,0x0D8,0x06C,0x06C,0x06C,0x06C,0x06C,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x070,0x098,0x030,0x060,0x0C8,0x0F8,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x07C,0x07C,0x07C,0x07C,0x07C,0x07C,0x07C,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000\r
-};\r
+++ /dev/null
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- -=\r
-//=- Tauron VGA Utilities Version 3.0 -=\r
-//=- Released September 20, 1998 -=\r
-//=- -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-//=- All Rights Reserved. =-= that you put my name some- -=\r
-//=- =-= where in your credits. -=\r
-//=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- I assume no responsibility whatsoever for any effect that this package, -=\r
-//=- the information contained therein or the use thereof has on you, your -=\r
-//=- sanity, computer, spouse, children, pets or anything else related to -=\r
-//=- you or your existance. No warranty is provided nor implied with this -=\r
-//=- source code. -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-#include <stdlib.h>\r
-#include <stdio.h>\r
-#include <conio.h>\r
-#include <dos.h>\r
-#include "tauron.h"\r
-\r
-void MainScreen()\r
-{\r
- clrscr();\r
- printf("Tauron VGA Utilities v3.0\n"\r
- "Copyright (c) 1998 Jeffrey Morgan. All Rights Reserved.\n");\r
- textcolor(12);\r
- cprintf("Modes with a ! are not implemented Modes with a % are unchained\r\n");\r
- textcolor(7);\r
- printf("Select a video mode to test:\n"\r
- "Key Videomode Key Videomode\n"\r
- "================================================================================"\r
- " 0) 00H, 01H -- 40 x 25 x 16 %F) Mode D -- 360 x 200 x 256\n"\r
- " 1) Mode L -- 40 x 43 x 16 %G) Mode E -- 360 x 240 x 256\n"\r
- " 2) Mode M -- 40 x 50 x 16 %H) Mode F -- 360 x 350 x 256\n"\r
- "!3) 07H -- 80 x 25 x 2 %I) Mode G -- 360 x 400 x 256\n"\r
- " 4) 02H, 03H -- 80 x 25 x 16 %J) Mode H -- 360 x 480 x 256\n"\r
- " 5) Mode J -- 80 x 43 x 16 K) 06H -- 640 x 200 x 2\n"\r
- " 6) Mode K -- 80 x 50 x 16 !L) 0FH -- 640 x 350 x 2\n"\r
- " 7) 04H, 05H -- 320 x 200 x 4 M) 11H -- 640 x 480 x 2\n"\r
- " 8) 0DH -- 320 x 200 x 16 N) 0EH -- 640 x 200 x 16\n"\r
- " 9) 13H -- 320 x 200 x 256 O) 10H -- 640 x 350 x 16\n"\r
- "%A) Chain 4 -- 320 x 200 x 256 P) Mode I -- 640 x 400 x 16\n"\r
- "%B) Mode X -- 320 x 240 x 256 Q) 12H -- 640 x 480 x 16\n"\r
- "%C) Mode A -- 320 x 350 x 256\n"\r
- "%D) Mode B -- 320 x 400 x 256 R) Dual Font Test\n"\r
- "%E) Mode C -- 320 x 480 x 256\n"\r
- "===============================================================================\n"\r
- "Hit 'ESC' to exit. Press a key [0-9 or A-O]>");\r
-}\r
-\r
-void SetMode03h()\r
-{\r
- asm MOV AX,0003H\r
- asm INT 10H\r
-}\r
-\r
-void main()\r
-{\r
- int ok, key;\r
- ok = 1;\r
- MainScreen();\r
- while (ok)\r
- {\r
- if( (key = getch()) == 0 )\r
- key = 256 * getch();\r
- switch( key )\r
- {\r
- case Escape : ok = 0; break;\r
-\r
- case '0' :\r
- SetVideoMode(MODE00H); TextTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case '1':\r
- SetVideoMode(MODE_L); TextTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case '2':\r
- SetVideoMode(MODE_M); TextTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case '4' :\r
- SetVideoMode(MODE03H); TextTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case '5':\r
- SetVideoMode(MODE_J); TextTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case '6':\r
- SetVideoMode(MODE_K); TextTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case '7':\r
- SetVideoMode(MODE04H); Clear04H(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case '8' :\r
- SetVideoMode(MODE0DH); Clear0DH(12); /*ModeTest();*/ getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case '9':\r
- SetVideoMode(MODE13H); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'a': case 'A':\r
- SetVideoMode(CHAIN4); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'b': case 'B':\r
- SetVideoMode(MODE_X); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'c': case 'C':\r
- SetVideoMode(MODE_A); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'd': case 'D':\r
- SetVideoMode(MODE_B); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'e': case 'E':\r
- SetVideoMode(MODE_C); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'f': case 'F':\r
- SetVideoMode(MODE_D); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'g': case 'G':\r
- SetVideoMode(MODE_E); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'h': case 'H':\r
- SetVideoMode(MODE_F); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'i': case 'I':\r
- SetVideoMode(MODE_G); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'j': case 'J':\r
- SetVideoMode(MODE_H); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'k': case 'K':\r
- SetVideoMode(MODE06H); Clear06H(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'm': case 'M':\r
- SetVideoMode(MODE11H); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'n': case 'N':\r
- SetVideoMode(MODE0EH); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'o': case 'O':\r
- SetVideoMode(MODE10H); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'p': case 'P':\r
- SetVideoMode(MODE_I); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'q': case 'Q':\r
- SetVideoMode(MODE12H); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'r': case 'R':\r
- SetVideoMode(MODE03H); DualTest();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- default : break;\r
- }\r
- }\r
- asm MOV AX,0003h\r
- asm int 10h\r
-}\r
+++ /dev/null
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- -=\r
-//=- Tauron VGA Utilities Version 3.0 -=\r
-//=- Released September 20, 1998 -=\r
-//=- -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-//=- All Rights Reserved. =-= that you put my name some- -=\r
-//=- =-= where in your credits. -=\r
-//=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- I assume no responsibility whatsoever for any effect that this package, -=\r
-//=- the information contained therein or the use thereof has on you, your -=\r
-//=- sanity, computer, spouse, children, pets or anything else related to -=\r
-//=- you or your existance. No warranty is provided nor implied with this -=\r
-//=- source code. -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-#include <stdlib.h>\r
-#include <stdio.h>\r
-#include <conio.h>\r
-#include <dos.h>\r
-#include "tauron.h"\r
-#include "modes_c.inc"\r
-#include "palette.inc"\r
-\r
-void setpalette4();\r
-void setpalette16();\r
-void setpalette256();\r
-Vmode Mode;\r
-\r
-#define SEQ_ADDR 0x03C4\r
-#define GRACON_ADDR 0x03CE\r
-#define CRTC_ADDR 0x03D4\r
-\r
-void ReadBIOSfont(int fontnum, int bytesperchar)\r
-{\r
- char far *biosfont,*vidmem;\r
- struct REGPACK reg;\r
- unsigned char oldmode,oldmisc,oldmem,oldmask;\r
- unsigned char newmode,newmisc,newmem;\r
-\r
- // get the location of the font stroed in BIOS\r
- reg.r_ax = 0x1130;\r
- reg.r_bx = fontnum << 8;\r
- intr(0x10, ®);\r
-\r
- // Make a pointer to the font\r
- biosfont = (char far *)MK_FP( reg.r_es, reg.r_bp);\r
- vidmem = (char far *)MK_FP( 0xA000, 0x0000);\r
-\r
- // Store the OLD 'Mode Register' value\r
- outportb(GRACON_ADDR,5);\r
- oldmode = inportb(GRACON_ADDR+1);\r
- // Store the OLD 'Miscellaneous Register' value\r
- outportb(GRACON_ADDR,6);\r
- oldmisc = inportb(GRACON_ADDR+1);\r
- // Store the OLD 'Mask Map' value\r
- outportb(SEQ_ADDR,2);\r
- oldmask = inportb(SEQ_ADDR+1);\r
- // Store the OLD 'Memory Mode' value\r
- outportb(SEQ_ADDR,4);\r
- oldmem = inportb(SEQ_ADDR+1);\r
-\r
- // Write the NEW 'Mode Register' value\r
- newmode = (oldmode & 0xFC);\r
- outport(GRACON_ADDR, (newmode << 8) | 0x05);\r
- // Write the NEW 'Miscellaneous Register' value\r
- newmisc = ((oldmisc & 0xF1)|4);\r
- outport(GRACON_ADDR, (newmisc << 8) | 0x06);\r
- // Write the NEW 'Mask Map' value\r
- outport(SEQ_ADDR, 0x0402);\r
- // Write the NEW 'Memory Mode' value\r
- newmem = (oldmem | 4);\r
- outport(SEQ_ADDR, (newmem << 8) | 0x04);\r
-\r
- // Copy the font from BIOS\r
- for (int i = 0; i < 256; i++)\r
- {\r
- for (int j = 0; j < bytesperchar; j++)\r
- {\r
- *vidmem++ = *biosfont++;\r
- }\r
- for (int k = 0; k < 32-bytesperchar; k++)\r
- {\r
- *vidmem++ = 0x00;\r
- }\r
- }\r
-\r
- // Write the OLD 'Mode Register' value\r
- outport(GRACON_ADDR, (oldmode << 8) | 0x05);\r
- // Write the OLD 'Miscellaneous Register' value\r
- outport(GRACON_ADDR, (oldmisc << 8) | 0x06);\r
- // Write the OLD 'Mask Map' value\r
- outport(SEQ_ADDR,(oldmask << 8) | 0x02);\r
- // Write the OLD 'Memory Mode' value\r
- outport(SEQ_ADDR, (oldmem << 8) | 0x04);\r
-}\r
-\r
-void SetMode(unsigned int regs)\r
-{\r
- asm {\r
- MOV SI, regs\r
-\r
- // Send MISC regs\r
- MOV DX,MISC_ADDR\r
- MOV AL,[SI]\r
- OUT DX,AL\r
- INC SI\r
-\r
- MOV DX,STATUS_ADDR\r
- MOV AL,[SI]\r
- OUT DX,AL\r
- INC SI\r
-\r
- // Send SEQ regs\r
- MOV CX,0\r
-REG_LOOP:\r
- MOV DX,SEQ_ADDR\r
- MOV AL,CL\r
- OUT DX,AL\r
-\r
- MOV DX,SEQ_ADDR\r
- INC DX\r
- MOV AL,[SI]\r
- OUT DX,AL\r
-\r
- INC SI\r
- INC CX\r
- CMP CL,5\r
- JL REG_LOOP\r
-\r
- // Clear Protection bits\r
- MOV AH,0EH\r
- MOV AL,11H\r
- AND AH,7FH\r
- MOV DX,CRTC_ADDR\r
- OUT DX,AX\r
-\r
- // Send CRTC regs\r
- MOV CX,0\r
-REG_LOOP2:\r
- MOV DX,CRTC_ADDR\r
- MOV AL,CL\r
- OUT DX,AL\r
-\r
- MOV DX,CRTC_ADDR\r
- INC DX\r
- MOV AL,[SI]\r
- OUT DX,AL\r
-\r
- INC SI\r
- INC CX\r
- CMP CL,25\r
- JL REG_LOOP2\r
-\r
- // Send GRAPHICS regs\r
- MOV CX,0\r
-REG_LOOP3:\r
- MOV DX,GRACON_ADDR\r
- MOV AL,CL\r
- OUT DX,AL\r
-\r
- MOV DX,GRACON_ADDR\r
- INC DX\r
- MOV AL,[SI]\r
- OUT DX,AL\r
-\r
- INC SI\r
- INC CX\r
- CMP CL,9\r
- JL REG_LOOP3\r
-\r
- MOV DX,STATUS_ADDR\r
- IN AL,DX\r
-\r
- // Send ATTRCON regs\r
- MOV CX,0\r
-REG_LOOP4:\r
- MOV DX,ATTRCON_ADDR\r
- IN AX,DX\r
-\r
- MOV AL,CL\r
- OUT DX,AL\r
-\r
- MOV AL,[SI]\r
- OUT DX,AL\r
-\r
- INC SI\r
- INC CX\r
- CMP CL,21\r
- JL REG_LOOP4\r
-\r
- MOV AL,20H\r
- OUT DX,AL\r
- }\r
-}\r
-\r
-void SetVideoMode(int mode)\r
-{\r
- Mode.mode = mode;\r
- if (mode == MODE00H) // 40 x 25 x 16\r
- {\r
- SetMode((unsigned int)&mode00h);\r
- setpalette16();\r
- ReadBIOSfont(6,16);\r
-\r
- Mode.width = 40;\r
- Mode.height = 25;\r
- Mode.width_bytes = 1000;\r
- Mode.colors = 16;\r
- Mode.attrib = TVU_TEXT;\r
- }\r
- else if (mode == MODE03H) // 80 x 25 x 16\r
- {\r
- SetMode((unsigned int)&mode03h);\r
- setpalette16();\r
- ReadBIOSfont(6,16);\r
-\r
- Mode.width = 80;\r
- Mode.height = 25;\r
- Mode.width_bytes = 2000;\r
- Mode.colors = 16;\r
- Mode.attrib = TVU_TEXT;\r
- }\r
- else if (mode == MODE04H) // 320 x 200 x 4\r
- {\r
- SetMode((unsigned int)&mode04h);\r
- setpalette4();\r
-\r
- Mode.width = 320;\r
- Mode.height = 200;\r
- Mode.width_bytes = 8192;\r
- Mode.colors = 4;\r
- Mode.attrib = TVU_GRAPHICS;\r
- }\r
- else if (mode == MODE06H) // 640 x 200 x 2\r
- {\r
- SetMode((unsigned int)&mode06h);\r
-\r
- Mode.width = 640;\r
- Mode.height = 200;\r
- Mode.width_bytes = 8192;\r
- Mode.colors = 2;\r
- Mode.attrib = TVU_GRAPHICS;\r
- }\r
- else if (mode == MODE07H) // 80 x 25 x 2\r
- {\r
- SetMode((unsigned int)&mode07h);\r
-\r
- Mode.width = 80;\r
- Mode.height = 25;\r
- Mode.width_bytes = 2000;\r
- Mode.colors = 2;\r
- Mode.attrib = TVU_TEXT | TVU_MONOCHROME;\r
- }\r
- else if (mode == MODE0DH) // 320 x 200 x 16\r
- {\r
- SetMode((unsigned int)&mode0Dh);\r
- setpalette16();\r
-\r
- Mode.width = 320;\r
- Mode.height = 200;\r
- Mode.width_bytes = 8000;\r
- Mode.colors = 16;\r
- Mode.attrib = TVU_GRAPHICS | TVU_PLANAR;\r
- }\r
- else if (mode == MODE0EH) // 640 x 200 x 16\r
- {\r
- SetMode((unsigned int)&mode0Eh);\r
- setpalette16();\r
-\r
- Mode.width = 640;\r
- Mode.height = 200;\r
- Mode.width_bytes = 16000;\r
- Mode.colors = 16;\r
- Mode.attrib = TVU_GRAPHICS | TVU_PLANAR;\r
- }\r
- else if (mode == MODE0FH) // 640 x 350 x 2\r
- {\r
- SetMode((unsigned int)&mode0Fh);\r
-\r
- Mode.width = 640;\r
- Mode.height = 350;\r
- Mode.width_bytes = 28000;\r
- Mode.colors = 2;\r
- Mode.attrib = TVU_GRAPHICS | TVU_MONOCHROME;\r
- }\r
- else if (mode == MODE10H) // 640 x 350 x 16\r
- {\r
- SetMode((unsigned int)&mode10h);\r
- setpalette16();\r
-\r
- Mode.width = 640;\r
- Mode.height = 350;\r
- Mode.width_bytes = 28000;\r
- Mode.colors = 16;\r
- Mode.attrib = TVU_GRAPHICS | TVU_PLANAR;\r
- }\r
- else if (mode == MODE11H) // 640 x 480 x 2\r
- {\r
- SetMode((unsigned int)&mode11h);\r
-\r
- Mode.width = 640;\r
- Mode.height = 480;\r
- Mode.width_bytes = 38400u;\r
- Mode.colors = 2;\r
- Mode.attrib = TVU_GRAPHICS | TVU_PLANAR;\r
- }\r
- else if (mode == MODE12H) // 640 x 480 x 16\r
- {\r
- SetMode((unsigned int)&mode12h);\r
- setpalette16();\r
-\r
- Mode.width = 640;\r
- Mode.height = 480;\r
- Mode.width_bytes = 38400u;\r
- Mode.colors = 16;\r
- Mode.attrib = TVU_GRAPHICS | TVU_PLANAR;\r
- }\r
- else if (mode == MODE13H) // 320 x 200 x 256\r
- {\r
- SetMode((unsigned int)&mode13h);\r
- setpalette256();\r
-\r
- Mode.width = 320;\r
- Mode.height = 200;\r
- Mode.width_bytes = 64000u;\r
- Mode.colors = 256;\r
- Mode.attrib = TVU_GRAPHICS;\r
- }\r
- else if (mode == CHAIN4) // unchained 320 x 200 x 256\r
- {\r
- SetMode((unsigned int)&modeC4);\r
- setpalette256();\r
-\r
- Mode.width = 320;\r
- Mode.height = 200;\r
- Mode.width_bytes = 16000;\r
- Mode.colors = 256;\r
- Mode.attrib = TVU_GRAPHICS | TVU_UNCHAINED;\r
- }\r
- else if (mode == MODE_X) // unchained 320 x 240 x 256\r
- {\r
- SetMode((unsigned int)&modeC4);\r
-\r
- outportb(MISC_ADDR,0xE3);\r
- // turn off write protect\r
- outport(CRTC_ADDR,0x2C11);\r
- // vertical total\r
- outport(CRTC_ADDR,0x0D06);\r
- // overflow register\r
- outport(CRTC_ADDR,0x3E07);\r
- // vertical retrace start\r
- outport(CRTC_ADDR,0xEA10);\r
- // vertical retrace end AND wr.prot\r
- outport(CRTC_ADDR,0xAC11);\r
- // vertical display enable end\r
- outport(CRTC_ADDR,0xDF12);\r
- // start vertical blanking\r
- outport(CRTC_ADDR,0xE715);\r
- // end vertical blanking\r
- outport(CRTC_ADDR,0x0616);\r
-\r
- setpalette256();\r
- Mode.width = 320;\r
- Mode.height = 240;\r
- Mode.width_bytes = 19200;\r
- Mode.colors = 256;\r
- Mode.attrib = TVU_GRAPHICS | TVU_UNCHAINED;\r
- }\r
- else if (mode == MODE_A) // unchained 320 x 350 x 256\r
- {\r
- SetMode((unsigned int)&modeC4);\r
-\r
- // turn off double scanning mode\r
- outportb(CRTC_ADDR,9);\r
- outportb(CRTC_ADDR+1,inportb(CRTC_ADDR+1) & ~0x1F);\r
- // change the vertical resolution flags to 350\r
- outportb(MISC_ADDR,(inportb(0x3CC) & ~0xC0) | 0x80);\r
- // turn off write protect\r
- outport(CRTC_ADDR,0x2C11);\r
- // vertical total\r
- outport(CRTC_ADDR,0xBF06);\r
- // overflow register\r
- outport(CRTC_ADDR,0x1F07);\r
- // vertical retrace start\r
- outport(CRTC_ADDR,0x8310);\r
- // vertical retrace end AND wr.prot\r
- outport(CRTC_ADDR,0x8511);\r
- // vertical display enable end\r
- outport(CRTC_ADDR,0x5D12);\r
- // start vertical blanking\r
- outport(CRTC_ADDR,0x6315);\r
- // end vertical blanking\r
- outport(CRTC_ADDR,0xBA16);\r
-\r
- setpalette256();\r
- Mode.width = 320;\r
- Mode.height = 350;\r
- Mode.width_bytes = 28000u;\r
- Mode.colors = 256;\r
- Mode.attrib = TVU_GRAPHICS | TVU_UNCHAINED;\r
- }\r
- else if (mode == MODE_B) // unchained 320 x 400 x 256\r
- {\r
- SetMode((unsigned int)&modeC4);\r
- // turn off double scanning mode\r
- outportb(CRTC_ADDR,9);\r
- outportb(CRTC_ADDR+1,inportb(CRTC_ADDR+1) & ~0x1F);\r
- // change the vertical resolution flags to 400\r
- outportb(MISC_ADDR,(inportb(0x3CC) & ~0xC0) | 0x40);\r
-\r
- setpalette256();\r
- Mode.width = 320;\r
- Mode.height = 400;\r
- Mode.width_bytes = 32000;\r
- Mode.colors = 256;\r
- Mode.attrib = TVU_GRAPHICS | TVU_UNCHAINED;\r
- }\r
- else if (mode == MODE_C) // unchained 320 x 480 x 256\r
- {\r
- SetMode((unsigned int)&modeC4);\r
-\r
- // turn off double scanning mode\r
- outportb(CRTC_ADDR,9);\r
- outportb(CRTC_ADDR+1,inportb(CRTC_ADDR+1) & ~0x1F);\r
- // change the vertical resolution flags to 480\r
- outportb(MISC_ADDR,(inportb(0x3CC) & ~0xC0) | 0xC0);\r
- // turn off write protect\r
- outport(CRTC_ADDR,0x2C11);\r
- // vertical total\r
- outport(CRTC_ADDR,0x0D06);\r
- // overflow register\r
- outport(CRTC_ADDR,0x3E07);\r
- // vertical retrace start\r
- outport(CRTC_ADDR,0xEA10);\r
- // vertical retrace end AND wr.prot\r
- outport(CRTC_ADDR,0xAC11);\r
- // vertical display enable end\r
- outport(CRTC_ADDR,0xDF12);\r
- // start vertical blanking\r
- outport(CRTC_ADDR,0xE715);\r
- // end vertical blanking\r
- outport(CRTC_ADDR,0x0616);\r
-\r
- setpalette256();\r
- Mode.width = 320;\r
- Mode.height = 480;\r
- Mode.width_bytes = 38400u;\r
- Mode.colors = 256;\r
- Mode.attrib = TVU_GRAPHICS | TVU_UNCHAINED;\r
- }\r
- else if (mode == MODE_D) // unchained 360 x 200 x 256\r
- {\r
- SetMode((unsigned int)&mode13h);\r
-\r
- // Turn off Chain 4\r
- outport(SEQ_ADDR,0x0604);\r
- // Activate a synchronous reset\r
- outport(SEQ_ADDR,0x0100);\r
- // Select 28 mhz pixel clock\r
- outportb(MISC_ADDR,0xE7);\r
- // Release synchronous reset\r
- outport(SEQ_ADDR,0x0300);\r
-\r
- // change the vertical resolution flags to 400\r
- outportb(MISC_ADDR,(inportb(0x3CC) & ~0xC0) | 0x40);\r
-\r
- // turn off write protect\r
- outport(CRTC_ADDR,0x2C11);\r
-\r
- outport(CRTC_ADDR,0x6B00);\r
- outport(CRTC_ADDR,0x5901);\r
- outport(CRTC_ADDR,0x5A02);\r
- outport(CRTC_ADDR,0x8E03);\r
- outport(CRTC_ADDR,0x5E04);\r
- outport(CRTC_ADDR,0x8A05);\r
- outport(CRTC_ADDR,0x0008);\r
- outport(CRTC_ADDR,0xC009);\r
- outport(CRTC_ADDR,0x000A);\r
- outport(CRTC_ADDR,0x000B);\r
- outport(CRTC_ADDR,0x000C);\r
- outport(CRTC_ADDR,0x000D);\r
- outport(CRTC_ADDR,0x000E);\r
- outport(CRTC_ADDR,0x000F);\r
- outport(CRTC_ADDR,0xAC11);\r
- outport(CRTC_ADDR,0x2D13);\r
- outport(CRTC_ADDR,0x0014);\r
- outport(CRTC_ADDR,0xE317);\r
- outport(CRTC_ADDR,0xFF18);\r
-\r
- setpalette256();\r
- Mode.width = 360;\r
- Mode.height = 200;\r
- Mode.width_bytes = 18000u;\r
- Mode.colors = 256;\r
- Mode.attrib = TVU_GRAPHICS | TVU_UNCHAINED;\r
- }\r
- else if (mode == MODE_E) // unchained 360 x 240 x 256\r
- {\r
- SetMode((unsigned int)&mode13h);\r
-\r
- // Turn off Chain 4\r
- outport(SEQ_ADDR,0x0604);\r
- // Activate a synchronous reset\r
- outport(SEQ_ADDR,0x0100);\r
- // Select 28 mhz pixel clock\r
- outportb(MISC_ADDR,0xE7);\r
- // Release synchronous reset\r
- outport(SEQ_ADDR,0x0300);\r
-\r
- // change the vertical resolution flags to 480\r
- outportb(MISC_ADDR,(inportb(0x3CC) & ~0xC0) | 0xC0);\r
-\r
- // turn off write protect\r
- outport(CRTC_ADDR,0x2C11);\r
-\r
- outport(CRTC_ADDR,0x6B00);\r
- outport(CRTC_ADDR,0x5901);\r
- outport(CRTC_ADDR,0x5A02);\r
- outport(CRTC_ADDR,0x8E03);\r
- outport(CRTC_ADDR,0x5E04);\r
- outport(CRTC_ADDR,0x8A05);\r
- outport(CRTC_ADDR,0x0D06);\r
- outport(CRTC_ADDR,0x3E07);\r
- outport(CRTC_ADDR,0x0008);\r
- outport(CRTC_ADDR,0xC009);\r
- outport(CRTC_ADDR,0x000A);\r
- outport(CRTC_ADDR,0x000B);\r
- outport(CRTC_ADDR,0x000C);\r
- outport(CRTC_ADDR,0x000D);\r
- outport(CRTC_ADDR,0x000E);\r
- outport(CRTC_ADDR,0x000F);\r
- outport(CRTC_ADDR,0xEA10);\r
- outport(CRTC_ADDR,0xAC11);\r
- outport(CRTC_ADDR,0xDF12);\r
- outport(CRTC_ADDR,0x2D13);\r
- outport(CRTC_ADDR,0x0014);\r
- outport(CRTC_ADDR,0xE715);\r
- outport(CRTC_ADDR,0x0616);\r
- outport(CRTC_ADDR,0xE317);\r
- outport(CRTC_ADDR,0xFF18);\r
-\r
- setpalette256();\r
- Mode.width = 360;\r
- Mode.height = 240;\r
- Mode.width_bytes = 21600;\r
- Mode.colors = 256;\r
- Mode.attrib = TVU_GRAPHICS | TVU_UNCHAINED;\r
- }\r
- else if (mode == MODE_F) // unchained 360 x 350 x 256\r
- {\r
- SetMode((unsigned int)&mode13h);\r
-\r
- // Turn off Chain 4\r
- outport(SEQ_ADDR,0x0604);\r
- // Activate a synchronous reset\r
- outport(SEQ_ADDR,0x0100);\r
- // Select 28 mhz pixel clock\r
- outportb(MISC_ADDR,0xE7);\r
- // Release synchronous reset\r
- outport(SEQ_ADDR,0x0300);\r
-\r
- // change the vertical resolution flags to 350\r
- outportb(MISC_ADDR,(inportb(0x3CC) & ~0xC0) | 0x80);\r
-\r
- // turn off write protect\r
- outport(CRTC_ADDR,0x2C11);\r
-\r
- outport(CRTC_ADDR,0x6B00);\r
- outport(CRTC_ADDR,0x5901);\r
- outport(CRTC_ADDR,0x5A02);\r
- outport(CRTC_ADDR,0x8E03);\r
- outport(CRTC_ADDR,0x5E04);\r
- outport(CRTC_ADDR,0x8A05);\r
- outport(CRTC_ADDR,0xBF06);\r
- outport(CRTC_ADDR,0x1F07);\r
- outport(CRTC_ADDR,0x0008);\r
- outport(CRTC_ADDR,0x4009);\r
- outport(CRTC_ADDR,0x000A);\r
- outport(CRTC_ADDR,0x000B);\r
- outport(CRTC_ADDR,0x000C);\r
- outport(CRTC_ADDR,0x000D);\r
- outport(CRTC_ADDR,0x000E);\r
- outport(CRTC_ADDR,0x000F);\r
- outport(CRTC_ADDR,0x8310);\r
- outport(CRTC_ADDR,0x8511);\r
- outport(CRTC_ADDR,0x5D12);\r
- outport(CRTC_ADDR,0x2D13);\r
- outport(CRTC_ADDR,0x0014);\r
- outport(CRTC_ADDR,0x6315);\r
- outport(CRTC_ADDR,0xBA16);\r
- outport(CRTC_ADDR,0xE317);\r
- outport(CRTC_ADDR,0xFF18);\r
-\r
- setpalette256();\r
- Mode.width = 360;\r
- Mode.height = 350;\r
- Mode.width_bytes = 31500;\r
- Mode.colors = 256;\r
- Mode.attrib = TVU_GRAPHICS | TVU_UNCHAINED;\r
- }\r
- else if (mode == MODE_G) // unchained 360 x 400 x 256\r
- {\r
- SetMode((unsigned int)&mode13h);\r
-\r
- // Turn off Chain 4\r
- outport(SEQ_ADDR,0x0604);\r
- // Activate a synchronous reset\r
- outport(SEQ_ADDR,0x0100);\r
- // Select 28 mhz pixel clock\r
- outportb(MISC_ADDR,0xE7);\r
- // Release synchronous reset\r
- outport(SEQ_ADDR,0x0300);\r
-\r
- // change the vertical resolution flags to 400\r
- outportb(MISC_ADDR,(inportb(0x3CC) & ~0xC0) | 0x40);\r
-\r
- // turn off write protect\r
- outport(CRTC_ADDR,0x2C11);\r
-\r
- outport(CRTC_ADDR,0x6B00);\r
- outport(CRTC_ADDR,0x5901);\r
- outport(CRTC_ADDR,0x5A02);\r
- outport(CRTC_ADDR,0x8E03);\r
- outport(CRTC_ADDR,0x5E04);\r
- outport(CRTC_ADDR,0x8A05);\r
- outport(CRTC_ADDR,0x0008);\r
- outport(CRTC_ADDR,0x4009);\r
- outport(CRTC_ADDR,0x000A);\r
- outport(CRTC_ADDR,0x000B);\r
- outport(CRTC_ADDR,0x000C);\r
- outport(CRTC_ADDR,0x000D);\r
- outport(CRTC_ADDR,0x000E);\r
- outport(CRTC_ADDR,0x000F);\r
- outport(CRTC_ADDR,0xAC11);\r
- outport(CRTC_ADDR,0x2D13);\r
- outport(CRTC_ADDR,0x0014);\r
- outport(CRTC_ADDR,0xE317);\r
- outport(CRTC_ADDR,0xFF18);\r
-\r
- setpalette256();\r
- Mode.width = 360;\r
- Mode.height = 400;\r
- Mode.width_bytes = 36000u;\r
- Mode.colors = 256;\r
- Mode.attrib = TVU_GRAPHICS | TVU_UNCHAINED;\r
- }\r
- else if (mode == MODE_H) // unchained 360 x 480 x 256\r
- {\r
- SetMode((unsigned int)&mode13h);\r
-\r
- // Turn off Chain 4\r
- outport(SEQ_ADDR,0x0604);\r
- // Activate a synchronous reset\r
- outport(SEQ_ADDR,0x0100);\r
- // Select 28 mhz pixel clock\r
- outportb(MISC_ADDR,0xE7);\r
- // Release synchronous reset\r
- outport(SEQ_ADDR,0x0300);\r
-\r
- // change the vertical resolution flags to 480\r
- outportb(MISC_ADDR,(inportb(0x3CC) & ~0xC0) | 0xC0);\r
-\r
- // turn off write protect\r
- outport(CRTC_ADDR,0x2C11);\r
-\r
- outport(CRTC_ADDR,0x6B00);\r
- outport(CRTC_ADDR,0x5901);\r
- outport(CRTC_ADDR,0x5A02);\r
- outport(CRTC_ADDR,0x8E03);\r
- outport(CRTC_ADDR,0x5E04);\r
- outport(CRTC_ADDR,0x8A05);\r
- outport(CRTC_ADDR,0x0D06);\r
- outport(CRTC_ADDR,0x3E07);\r
- outport(CRTC_ADDR,0x0008);\r
- outport(CRTC_ADDR,0x4009);\r
- outport(CRTC_ADDR,0x000A);\r
- outport(CRTC_ADDR,0x000B);\r
- outport(CRTC_ADDR,0x000C);\r
- outport(CRTC_ADDR,0x000D);\r
- outport(CRTC_ADDR,0x000E);\r
- outport(CRTC_ADDR,0x000F);\r
- outport(CRTC_ADDR,0xEA10);\r
- outport(CRTC_ADDR,0xAC11);\r
- outport(CRTC_ADDR,0xDF12);\r
- outport(CRTC_ADDR,0x2D13);\r
- outport(CRTC_ADDR,0x0014);\r
- outport(CRTC_ADDR,0xE715);\r
- outport(CRTC_ADDR,0x0616);\r
- outport(CRTC_ADDR,0xE317);\r
- outport(CRTC_ADDR,0xFF18);\r
-\r
- setpalette256();\r
- Mode.width = 360;\r
- Mode.height = 480;\r
- Mode.width_bytes = 43200u;\r
- Mode.colors = 256;\r
- Mode.attrib = TVU_GRAPHICS | TVU_UNCHAINED;\r
- }\r
- else if (mode == MODE_I) // 640 x 400 x 16\r
- {\r
- SetMode((unsigned int)&mode10h);\r
- asm {\r
-\r
- MOV DX,03CCH\r
- IN AL,DX\r
- AND AL,03FH\r
- OR AL,40H\r
-\r
- MOV DX,03C2H\r
- OUT DX,AL\r
-\r
- MOV DX,CRTC_ADDR\r
- MOV AX,9C10H\r
- OUT DX,AX\r
-\r
- MOV AX,8311H\r
- OUT DX,AX\r
-\r
- MOV AX,8F12H\r
- OUT DX,AX\r
-\r
- MOV AX,9615H\r
- OUT DX,AX\r
-\r
- MOV AX,0B916H\r
- OUT DX,AX\r
- }\r
- setpalette16();\r
- Mode.width = 640;\r
- Mode.height = 400;\r
- Mode.width_bytes = 32000;\r
- Mode.colors = 16;\r
- Mode.attrib = TVU_GRAPHICS | TVU_PLANAR;\r
- }\r
- else if (mode == MODE_J) // 80 x 43 x 16\r
- {\r
- SetMode((unsigned int)&modeJ);\r
- ReadBIOSfont(3,8);\r
-\r
- Mode.width = 80;\r
- Mode.height = 43;\r
- Mode.width_bytes = 3440;\r
- Mode.colors = 16;\r
- Mode.attrib = TVU_TEXT;\r
- }\r
- else if (mode == MODE_K) // 80 x 50 x 16\r
- {\r
- SetMode((unsigned int)&modeK);\r
- ReadBIOSfont(3,8);\r
-\r
- Mode.width = 80;\r
- Mode.height = 50;\r
- Mode.width_bytes = 4000;\r
- Mode.colors = 16;\r
- Mode.attrib = TVU_TEXT;\r
- }\r
- else if (mode == MODE_L) // 40 x 43 x 16\r
- {\r
- SetMode((unsigned int)&modeL);\r
- ReadBIOSfont(3,8);\r
-\r
- Mode.width = 40;\r
- Mode.height = 43;\r
- Mode.width_bytes = 4000;\r
- Mode.colors = 16;\r
- Mode.attrib = TVU_TEXT;\r
- }\r
- else if (mode == MODE_M) // 40 x 50 x 16\r
- {\r
- SetMode((unsigned int)&modeM);\r
- ReadBIOSfont(3,8);\r
-\r
- Mode.width = 40;\r
- Mode.height = 50;\r
- Mode.width_bytes = 4000;\r
- Mode.colors = 16;\r
- Mode.attrib = TVU_TEXT;\r
- }\r
-}\r
-\r
-void setpal(int color, char r, char g, char b)\r
-{\r
- asm {\r
- // Send color\r
- MOV AX,color\r
- MOV DX,03C8H\r
- OUT DX,AL\r
-\r
- // Write R value\r
- MOV DX,03C9H\r
- MOV AL,r\r
- OUT DX,AL\r
-\r
- // Write G value\r
- MOV DX,03C9H\r
- MOV AL,g\r
- OUT DX,AL\r
-\r
- // Write B value\r
- MOV DX,03C9H\r
- MOV AL,b\r
- OUT DX,AL\r
- }\r
-}\r
-\r
-void setpalette4()\r
-{\r
- setpal( 0, 0, 0, 0);\r
- setpal( 1, 0, 42, 42);\r
- setpal( 2, 42, 0, 42);\r
- setpal( 3, 63, 63, 63);\r
-}\r
-\r
-void setpalette16()\r
-{\r
- int j = 0;\r
- for (int i = 0; i < 48; i+=3)\r
- {\r
- setpal(j, Pal[i], Pal[i+1], Pal[i+2]);\r
- j++;\r
- }\r
-}\r
-\r
-void setpalette256()\r
-{\r
- int j = 0;\r
- for (int i = 0; i < 768; i+=3)\r
- {\r
- setpal(j, Pal[i], Pal[i+1], Pal[i+2]);\r
- j++;\r
- }\r
-}\r
+++ /dev/null
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- -=\r
-//=- Tauron VGA Utilities Version 3.0 -=\r
-//=- Released September 20, 1998 -=\r
-//=- -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-//=- All Rights Reserved. =-= that you put my name some- -=\r
-//=- =-= where in your credits. -=\r
-//=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- I assume no responsibility whatsoever for any effect that this package, -=\r
-//=- the information contained therein or the use thereof has on you, your -=\r
-//=- sanity, computer, spouse, children, pets or anything else related to -=\r
-//=- you or your existance. No warranty is provided nor implied with this -=\r
-//=- source code. -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- VGA register variables for the various videomodes -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-// Same as Mode 01H\r
-unsigned char mode00h[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
- 0x67, 0x00, 0x03,0x08,0x03,0x00,0x02,\r
-// CRTC regs\r
-0x2D,0x27,0x28,0x90,0x2B,0xA0,0xBF,0x1F,0x00,0x4F,0x06,0x07,0x00,0x00,0x00,\r
-0x31,0x9C,0x8E,0x8F,0x14,0x1F,0x96,0xB9,0xA3,0xFF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x10,0x0E,0x00,0xFF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,0x10,0x11,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,\r
-0x0C,0x00,0x0F,0x08,0x00\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-\r
-// Same as Mode 02H\r
-unsigned char mode03h[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
- 0x67, 0x00, 0x03,0x00,0x03,0x00,0x02,\r
-// CRTC regs\r
-0x5F,0x4F,0x50,0x82,0x55,0x81,0xBF,0x1F,0x00,0x4F,0x0E,0x0F,0x00,0x00,0x00,\r
-0x00,0x9C,0x0E,0x8F,0x28,0x01,0x96,0xB9,0xA3,0xFF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x10,0x0E,0x00,0xFF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,0x10,0x11,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,\r
-0x0C,0x00,0x0F,0x08,0x00\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-// Same as Mode 05,\r
-unsigned char mode04h[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
- 0x63, 0x00, 0x03,0x09,0x03,0x00,0x02,\r
-// CRTC regs\r
-0x2D,0x27,0x28,0x90,0x2B,0x80,0x0BF,0x1F,0x00,0x0C1,0x00,0x00,0x00,0x00,0x00,\r
-0x31,0x9C,0x8E,0x8F,0x14,0x00,0x96,0xB9,0x0A2,0xFF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x30,0x0F,0x00,0xFF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x3B,0x3D,0x3F,0x02,0x04,0x06,0x07,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,\r
-0x01,0x00,0x03,0x00,0x00\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-unsigned char mode06h[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
- 0x63, 0x00, 0x03,0x01,0x01,0x00,0x06,\r
-// CRTC regs\r
-0x5F,0x4F,0x50,0x82,0x54,0x80,0x0BF,0x1F,0x00,0x0C1,0x00,0x00,0x00,0x00,0x00,\r
-0x00,0x9C,0x8E,0x8F,0x28,0x00,0x96,0xB9,0x0C2,0xFF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x00,0x0D,0x00,0xFF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,\r
-0x01,0x00,0x01,0x00,0x00\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-unsigned char mode07h[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
- 0x066, 0x00, 0x03,0x00,0x03,0x00,0x02,\r
-// CRTC regs\r
-0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,\r
-0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x10,0x0A,0x00,0xFF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x10,0x18,0x18,0x18,0x18,0x18,0x18,0x18,\r
-0x0E,0x00,0x0F,0x00,0x00\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-unsigned char mode0Dh[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
- 0x063, 0x00, 0x03,0x09,0x0F,0x00,0x06,\r
-// CRTC regs\r
-0x2D,0x27,0x28,0x90,0x2B,0x80,0x0BF,0x1F,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,\r
-0x31,0x9C,0x8E,0x8F,0x14,0x00,0x96,0xB9,0xE3,0xFF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x10,0x05,0x00,0xFF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,0x10,0x11,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,\r
-0x01,0x00,0x0F,0x00,0x00\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-unsigned char mode0Eh[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
- 0x63, 0x00, 0x03,0x01,0x0F,0x00,0x06,\r
-// CRTC regs\r
-0x5F,0x4F,0x50,0x82,0x54,0x80,0x0BF,0x1F,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,\r
-0x59,0x9C,0x8E,0x8F,0x28,0x00,0x96,0xB9,0xE3,0xFF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0F,0xFF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,0x08,0x11,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,\r
-0x01,0x00,0x0F,0x00,0x00\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-unsigned char mode0Fh[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
- 0x0A2, 0x00, 0x03,0x01,0x0F,0x00,0x06,\r
-// CRTC regs\r
-0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,\r
-0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x05,0xFF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x08,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x18,0x00,0x00,\r
-0x0B,0x00,0x05,0x00,0x00\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-unsigned char mode10h[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
- 0x0A3, 0x00, 0x03,0x01,0x0F,0x00,0x06,\r
-// CRTC regs\r
-0x5F,0x4F,0x50,0x82,0x54,0x80,0x0BF,0x1F,0x00,0x40,0x00,0x00,0x00,0x00,0x00,\r
-0x00,0x83,0x85,0x5D,0x28,0x0F,0x63,0x0BA,0xE3,0xFF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0F,0xFF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,\r
-0x01,0x00,0x0F,0x00,0x00\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-unsigned char mode11h[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
- 0xE3, 0x00, 0x03,0x01,0x0F,0x00,0x06,\r
-// CRTC regs\r
-0x5F,0x4F,0x50,0x82,0x54,0x80,0x0B,0x3E,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x59,\r
-0xEA,0x8C,0x0DF,0x28,0x0F,0x0E7,0x004,0x0C3,0xFF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x05,0xFF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x08,0x3F,0x3F,0x18,0x18,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,\r
-0x01,0x00,0x0F,0x00,0x00\r
-\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-unsigned char mode12h[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
- 0xE3, 0x00, 0x03,0x01,0x0F,0x00,0x06,\r
-// CRTC regs\r
-0x5F,0x4F,0x50,0x82,0x54,0x80,0x0B,0x3E,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x59,\r
-0xEA,0x8C,0x0DF,0x28,0x00,0x0E7,0x04,0xE3,0xFF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0F,0xFF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,\r
-0x01,0x00,0x0F,0x00,0x00\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-unsigned char mode13h[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
- 0x63, 0x00, 0x03,0x01,0x0F,0x00,0x0E,\r
-// CRTC regs\r
-0x5F,0x4F,0x50,0x82,0x54,0x80,0x0BF,0x1F,0x00,0x41,0x00,0x00,0x00,0x00,0x00,\r
-0x00,0x9C,0x0E,0x8F,0x28,0x40,0x96,0xB9,0x0A3,0xFF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0F,0xFF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,\r
-0x41,0x00,0x0F,0x00,0x00\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-unsigned char modeC4[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
- 0x63, 0x00, 0x03,0x01,0x0F,0x00,0x06,\r
-// CRTC regs\r
-0x5F,0x4F,0x50,0x82,0x54,0x80,0x0BF,0x1F,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,\r
-0x9C,0x0E,0x8F,0x28,0x00,0x96,0xB9,0xE3,0xFF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0F,0xFF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,\r
-0x41,0x00,0x0F,0x00,0x00\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-unsigned char modeJ[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
- 0xa3, 0x00, 0x03,0x01,0x03,0x00,0x02,\r
-// CRTC regs\r
-0x5F,0x4F,0x50,0x82,0x55,0x81,0xBF,0x1F,0x00,0x47,0x0E,0x0F,0x00,0x00,0x00,\r
-0x00,0x83,0x85,0x57,0x28,0x1F,0x60,0xB8,0xA3,0xFF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x10,0x0E,0x00,0xFF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,0x10,0x11,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,\r
-0x0C,0x00,0x0F,0x00,0x00\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-unsigned char modeK[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
- 0x63, 0x00, 0x03,0x01,0x03,0x00,0x02,\r
-// CRTC regs\r
-0x5F,0x4F,0x50,0x82,0x55,0x81,0xBF,0x1F,0x00,0x47,0x0E,0x0F,0x00,0x00,0x00,\r
-0x00,0x9C,0x8E,0x8F,0x28,0x1F,0x96,0xB9,0xA3,0xFF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x10,0x0E,0x00,0xFF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,0x10,0x11,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,\r
-0x0C,0x00,0x0F,0x00,0x00\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-unsigned char modeL[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
-0x67,0x00,0x03,0x08,0x03,0x00,0x02,\r
-// CRTC regs\r
-0x2D,0x27,0x28,0x90,0x2B,0x0A0,0x0BF,0x1F,0x00,0x47,0x06,0x07,0x00,0x00,0x00,\r
-0x31,0x83,0x85,0x57,0x14,0x1F,0x60,0x0B8,0x0A3,0x0FF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x10,0x0E,0x00,0x0FF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,0x10,0x11,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,\r
-0x0C,0x00,0x0F,0x00,0x00,\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-\r
-unsigned char modeM[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
-0x67,0x00,0x03,0x08,0x03,0x00,0x02,\r
-// CRTC regs\r
-0x2D,0x27,0x28,0x90,0x2B,0x0A0,0x0BF,0x1F,0x00,0x47,0x06,0x07,0x00,0x00,0x00,0x31,\r
-0x9C,0x8E,0x8F,0x14,0x1F,0x96,0x0B9,0x0A3,0x0FF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x10,0x0E,0x00,0x0FF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,\r
-0x0C,0x00,0x0F,0x00,0x00,\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
+++ /dev/null
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- -=\r
-//=- Tauron VGA Utilities Version 3.0 -=\r
-//=- Released September 20, 1998 -=\r
-//=- -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-//=- All Rights Reserved. =-= that you put my name some- -=\r
-//=- =-= where in your credits. -=\r
-//=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- I assume no responsibility whatsoever for any effect that this package, -=\r
-//=- the information contained therein or the use thereof has on you, your -=\r
-//=- sanity, computer, spouse, children, pets or anything else related to -=\r
-//=- you or your existance. No warranty is provided nor implied with this -=\r
-//=- source code. -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-char Pal[768] = {\r
- 0, 0, 0, 0, 0, 42, 0, 42, 0, 0, 42, 42, 42, 0, 0, 42, 0, 42,\r
-42, 21, 0, 42, 42, 42, 21, 21, 21, 21, 21, 63, 21, 63, 21, 21, 63, 63,\r
-63, 21, 21, 63, 21, 63, 63, 63, 21, 63, 63, 63, 0, 0, 0, 5, 5, 5,\r
- 8, 8, 8, 11, 11, 11, 14, 14, 14, 17, 17, 17, 20, 20, 20, 24, 24, 24,\r
-28, 28, 28, 32, 32, 32, 36, 36, 36, 40, 40, 40, 45, 45, 45, 50, 50, 50,\r
-56, 56, 56, 63, 63, 63, 0, 0, 63, 16, 0, 63, 31, 0, 63, 47, 0, 63,\r
-63, 0, 63, 63, 0, 47, 63, 0, 31, 63, 0, 16, 63, 0, 0, 63, 16, 0,\r
-63, 31, 0, 63, 47, 0, 63, 63, 0, 47, 63, 0, 31, 63, 0, 16, 63, 0,\r
- 0, 63, 0, 0, 63, 16, 0, 63, 31, 0, 63, 47, 0, 63, 63, 0, 47, 63,\r
- 0, 31, 63, 0, 16, 63, 31, 31, 63, 39, 31, 63, 47, 31, 63, 55, 31, 63,\r
-63, 31, 63, 63, 31, 55, 63, 31, 47, 63, 31, 39, 63, 31, 31, 63, 39, 31,\r
-63, 47, 31, 63, 55, 31, 63, 63, 31, 55, 63, 31, 47, 63, 31, 39, 63, 31,\r
-31, 63, 31, 31, 63, 39, 31, 63, 47, 31, 63, 55, 31, 63, 63, 31, 55, 63,\r
-31, 47, 63, 31, 39, 63, 45, 45, 63, 49, 45, 63, 54, 45, 63, 58, 45, 63,\r
-63, 45, 63, 63, 45, 58, 63, 45, 54, 63, 45, 49, 63, 45, 45, 63, 49, 45,\r
-63, 54, 45, 63, 58, 45, 63, 63, 45, 58, 63, 45, 54, 63, 45, 49, 63, 45,\r
-45, 63, 45, 45, 63, 49, 45, 63, 54, 45, 63, 58, 45, 63, 63, 45, 58, 63,\r
-45, 54, 63, 45, 49, 63, 0, 0, 28, 7, 0, 28, 14, 0, 28, 21, 0, 28,\r
-28, 0, 28, 28, 0, 21, 28, 0, 14, 28, 0, 7, 28, 0, 0, 28, 7, 0,\r
-28, 14, 0, 28, 21, 0, 28, 28, 0, 21, 28, 0, 14, 28, 0, 7, 28, 0,\r
- 0, 28, 0, 0, 28, 7, 0, 28, 14, 0, 28, 21, 0, 28, 28, 0, 21, 28,\r
- 0, 14, 28, 0, 7, 28, 14, 14, 28, 17, 14, 28, 21, 14, 28, 24, 14, 28,\r
-28, 14, 28, 28, 14, 24, 28, 14, 21, 28, 14, 17, 28, 14, 14, 28, 17, 14,\r
-28, 21, 14, 28, 24, 14, 28, 28, 14, 24, 28, 14, 21, 28, 14, 17, 28, 14,\r
-14, 28, 14, 14, 28, 17, 14, 28, 21, 14, 28, 24, 14, 28, 28, 14, 24, 28,\r
-14, 21, 28, 14, 17, 28, 20, 20, 28, 22, 20, 28, 24, 20, 28, 26, 20, 28,\r
-28, 20, 28, 28, 20, 26, 28, 20, 24, 28, 20, 22, 28, 20, 20, 28, 22, 20,\r
-28, 24, 20, 28, 26, 20, 28, 28, 20, 26, 28, 20, 24, 28, 20, 22, 28, 20,\r
-20, 28, 20, 20, 28, 22, 20, 28, 24, 20, 28, 26, 20, 28, 28, 20, 26, 28,\r
-20, 24, 28, 20, 22, 28, 0, 0, 16, 4, 0, 16, 8, 0, 16, 12, 0, 16,\r
-16, 0, 16, 16, 0, 12, 16, 0, 8, 16, 0, 4, 16, 0, 0, 16, 4, 0,\r
-16, 8, 0, 16, 12, 0, 16, 16, 0, 12, 16, 0, 8, 16, 0, 4, 16, 0,\r
- 0, 16, 0, 0, 16, 4, 0, 16, 8, 0, 16, 12, 0, 16, 16, 0, 12, 16,\r
- 0, 8, 16, 0, 4, 16, 8, 8, 16, 10, 8, 16, 12, 8, 16, 14, 8, 16,\r
-16, 8, 16, 16, 8, 14, 16, 8, 12, 16, 8, 10, 16, 8, 8, 16, 10, 8,\r
-16, 12, 8, 16, 14, 8, 16, 16, 8, 14, 16, 8, 12, 16, 8, 10, 16, 8,\r
- 8, 16, 8, 8, 16, 10, 8, 16, 12, 8, 16, 14, 8, 16, 16, 8, 14, 16,\r
- 8, 12, 16, 8, 10, 16, 11, 11, 16, 12, 11, 16, 13, 11, 16, 15, 11, 16,\r
-16, 11, 16, 16, 11, 15, 16, 11, 13, 16, 11, 12, 16, 11, 11, 16, 12, 11,\r
-16, 13, 11, 16, 15, 11, 16, 16, 11, 15, 16, 11, 13, 16, 11, 12, 16, 11,\r
-11, 16, 11, 11, 16, 12, 11, 16, 13, 11, 16, 15, 11, 16, 16, 11, 15, 16,\r
-11, 13, 16, 11, 12, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 63, 63\r
-};\r
+++ /dev/null
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- -=\r
-//=- Tauron VGA Utilities Version 3.0 -=\r
-//=- Released September 20, 1998 -=\r
-//=- -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-//=- All Rights Reserved. =-= that you put my name some- -=\r
-//=- =-= where in your credits. -=\r
-//=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- I assume no responsibility whatsoever for any effect that this package, -=\r
-//=- the information contained therein or the use thereof has on you, your -=\r
-//=- sanity, computer, spouse, children, pets or anything else related to -=\r
-//=- you or your existance. No warranty is provided nor implied with this -=\r
-//=- source code. -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-#ifndef __TAURON_H__\r
-#define __TAURON_H__\r
-\r
-// VGA register port addresses\r
-#define ATTRCON_ADDR 0x03C0\r
-#define MISC_ADDR 0x03C2\r
-#define VGAENABLE_ADDR 0x03C3\r
-#define SEQ_ADDR 0x03C4\r
-#define GRACON_ADDR 0x03CE\r
-#define CRTC_ADDR 0x03D4\r
-#define STATUS_ADDR 0x03DA\r
-\r
-// Video mode numbers\r
-#define MODE00H 0x00\r
-#define MODE01H 0x00\r
-#define MODE02H 0x03\r
-#define MODE03H 0x03\r
-#define MODE04H 0x04\r
-#define MODE05H 0x05\r
-#define MODE06H 0x06\r
-#define MODE07H 0x07\r
-#define MODE0DH 0x0D\r
-#define MODE0EH 0x0E\r
-#define MODE0FH 0x0F\r
-#define MODE10H 0x10\r
-#define MODE11H 0x11\r
-#define MODE12H 0x12\r
-#define MODE13H 0x13\r
-#define CHAIN4 0x14\r
-#define MODE_X 0x15\r
-#define MODE_A 0x16\r
-#define MODE_B 0x17\r
-#define MODE_C 0x18\r
-#define MODE_D 0x19\r
-#define MODE_E 0x1A\r
-#define MODE_F 0x1B\r
-#define MODE_G 0x1C\r
-#define MODE_H 0x1D\r
-#define MODE_I 0x1E\r
-#define MODE_J 0x1F\r
-#define MODE_K 0x20\r
-#define MODE_L 0x21\r
-#define MODE_M 0x22\r
-\r
-// Keypresses\r
-#define Escape 0x001b\r
-\r
-// Videomode attributes\r
-#define TVU_TEXT 0x0001\r
-#define TVU_GRAPHICS 0x0002\r
-#define TVU_MONOCHROME 0x0004\r
-#define TVU_PLANAR 0x0008\r
-#define TVU_UNCHAINED 0x0010\r
-\r
-// Videomode Info Structure\r
-struct Vmode {\r
- int mode; // Videomode Number\r
- int width; // Width in pixels\r
- int height; // Height in pixels\r
- unsigned int width_bytes; // Number of bytes per screen\r
- int colors; // Number of colors\r
- int attrib; // Videomode attributes\r
-};\r
-\r
-extern Vmode Mode;\r
-\r
-// MODES.CPP Function Prototypes\r
-void SetVideoMode(int mode);\r
-void ReadBIOSfont(int fontnum, int bytesperchar);\r
-void SetMode(unsigned int regs);\r
-void setpal(int color, char r, char g, char b);\r
-\r
-// CLEAR.CPP Function Prototypes\r
-void TextClear(char attrib);\r
-void PlanarClear(char Color);\r
-void UnchainedClear(char Color);\r
-void Clear13H(char color);\r
-void Clear04H();\r
-void Clear06H();\r
-void Clear0DH(char color);\r
-\r
-// TESTS.CPP Function Prototypes\r
-void ModeTest();\r
-void TextTest();\r
-\r
-// DUAL.CPP Function Prototypes\r
-void DualTest();\r
-\r
-#endif
\ No newline at end of file
+++ /dev/null
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- -=\r
-//=- Tauron VGA Utilities Version 3.0 -=\r
-//=- Released September 20, 1998 -=\r
-//=- -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-//=- All Rights Reserved. =-= that you put my name some- -=\r
-//=- =-= where in your credits. -=\r
-//=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- I assume no responsibility whatsoever for any effect that this package, -=\r
-//=- the information contained therein or the use thereof has on you, your -=\r
-//=- sanity, computer, spouse, children, pets or anything else related to -=\r
-//=- you or your existance. No warranty is provided nor implied with this -=\r
-//=- source code. -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-#include <stdlib.h>\r
-#include <stdio.h>\r
-#include <conio.h>\r
-#include "tauron.h"\r
-#define ABS(a) ((a < 0) ? -a : a)\r
-#define SGN(a) ((a < 0) ? -1 : 1)\r
-\r
-void Pixel13H(int x, int y, char color)\r
-{\r
- int width = Mode.width;\r
- asm {\r
- MOV AX,0A000H // video memory segment number\r
- MOV ES,AX // place it in es\r
-\r
- MOV DX,03C4H\r
- MOV AL,2\r
- OUT DX,AL\r
- INC DX\r
-\r
- MOV AL,1\r
- MOV CX,x\r
- AND CX,3\r
- SHL AL,CL\r
- OUT DX,AL\r
-\r
- XOR DI,DI\r
-\r
-// Calculate the Offset\r
- mov ax,width // width\r
- mul y // (Y * width))\r
- mov bx,x // (X + (Y * width))\r
- add ax,bx\r
-// Done!\r
-\r
- ADD DI,AX\r
- mov ah,color // move the Color into ah\r
- mov es:[di],ah // move the value to the screen\r
- }\r
-}\r
-\r
-void pixel(int x, int y, char color)\r
-{\r
- int width = Mode.width;\r
- if (Mode.mode == MODE13H)\r
- Pixel13H(x,y,color);\r
- else if (Mode.attrib & TVU_UNCHAINED) {\r
- asm {\r
- MOV AX,0A000H // video memory segment number\r
- MOV ES,AX // place it in es\r
-\r
- MOV DX,03C4H\r
- MOV AL,2\r
- OUT DX,AL\r
- INC DX\r
-\r
- MOV AL,1\r
- MOV CX,x\r
- AND CX,3\r
- SHL AL,CL\r
- OUT DX,AL\r
-\r
- XOR DI,DI\r
-\r
-// Calculate the Offset\r
- mov ax,width // width / 4\r
- SHR AX,2\r
- mul y // (Y * (width / 4))\r
- mov bx,x // (X / 4) + (Y * (width / 4))\r
- shr bx,2\r
- add ax,bx\r
-// Done!\r
-\r
- ADD DI,AX\r
- mov ah,color // move the Color into ah\r
- mov es:[di],ah // move the value to the screen\r
- }}\r
- else if (Mode.attrib & TVU_PLANAR)\r
- {\r
- asm {\r
- MOV AX,0A000H // video memory segment number\r
- MOV ES,AX // place it in es\r
-\r
- MOV BX,x // X Value\r
- MOV CX,BX\r
- MOV AX,y // Y Value\r
- MOV SI,80\r
- MUL SI\r
- SHR BX,3 // /8\r
- ADD AX,BX\r
- MOV DI,AX\r
-\r
- AND CL,7\r
- XOR CL,7\r
- MOV AH,1\r
-\r
- SHL AH,CL\r
-\r
- MOV DX,03CEH\r
- MOV AL,8\r
- OUT DX,AX\r
-\r
- MOV AL,0\r
- XCHG ES:[DI],AL\r
-\r
- MOV DX,03C4H\r
- MOV AH,color\r
- MOV AL,2\r
- OUT DX,AX\r
-\r
- MOV BYTE PTR ES:[DI],0FFh\r
-\r
- MOV AX,0F02H\r
- OUT DX,AX\r
-\r
- MOV DX,03CEH\r
- MOV AX,0FF08h\r
- OUT DX,AX\r
- }}\r
-}\r
-\r
-// This is Bresenham's Line Drawing Algorithm\r
-void drawline(int x1, int y1, int x2, int y2, char col)\r
-{\r
- int d, x, y, ax, ay, sx, sy, dx, dy;\r
-\r
- dx = x2-x1;\r
- ax = ABS(dx) << 1;\r
- sx = SGN(dx);\r
- dy = y2-y1;\r
- ay = ABS(dy) << 1;\r
- sy = SGN(dy);\r
-\r
- x = x1;\r
- y = y1;\r
- if( ax > ay )\r
- {\r
- d = ay - (ax >> 1);\r
- while( x != x2 )\r
- {\r
- pixel( x, y, col );\r
- if( d >= 0 )\r
- {\r
- y += sy;\r
- d -= ax;\r
- }\r
- x += sx;\r
- d += ay;\r
- }\r
- }\r
- else\r
- {\r
- d = ax - (ay >> 1);\r
- while( y != y2 )\r
- {\r
- pixel( x, y, col );\r
- if( d >= 0 )\r
- {\r
- x += sx;\r
- d -= ay;\r
- }\r
- y += sy;\r
- d += ax;\r
- }\r
- }\r
- return;\r
-}\r
-\r
-void drawrect(int x1, int y1, int x2, int y2, char color)\r
-{\r
- drawline(x1,y1,x2,y1,color);\r
- drawline(x1,y2,x2,y2,color);\r
- drawline(x1,y1,x1,y2,color);\r
- drawline(x2,y1,x2,y2+1,color);\r
-}\r
-\r
-void hline(int x1, int x2, int y, char color)\r
-{\r
- drawline(x1,y,x2,y,color);\r
-}\r
-\r
-void vline(int y1, int y2, int x, char color)\r
-{\r
- drawline(x,y1,x,y2,color);\r
-}\r
-\r
-void fillrect(int x1, int y1, int x2, int y2, char color)\r
-{\r
- for (int i = y1; i < y2; i++)\r
- hline(x1,x2,i,color);\r
-}\r
-\r
-void ModeTest()\r
-{\r
- if (Mode.mode == MODE13H)\r
- {\r
- Clear13H(0);\r
- }\r
- else if (Mode.attrib & TVU_PLANAR)\r
- {\r
- PlanarClear(0);\r
- }\r
- else if (Mode.attrib & TVU_UNCHAINED)\r
- {\r
- UnchainedClear(0);\r
- }\r
-\r
- /* Print mode stats\r
- *\r
- */\r
-\r
- drawrect(0,0,Mode.width-1,Mode.height-1,15);\r
- for (int i = 50; i < Mode.height; i += 100)\r
- {\r
- hline(0,10,i,15);\r
- hline(0,25,i+50,15);\r
- }\r
-\r
- for (int i = 40; i < Mode.width; i += 80)\r
- {\r
- vline(0,15,i,15);\r
- vline(0,30,i+40,15);\r
- }\r
-\r
- if (Mode.colors == 2)\r
- {\r
- int x,y;\r
- x = Mode.width - 420;\r
- y = Mode.height - 220;\r
- fillrect(x,y,x+200,y+200,0);\r
- x+=200;\r
- fillrect(x,y,x+200,y+200,15);\r
- drawrect(x-200,y,x+200,y+200,15);\r
- }\r
- else if (Mode.colors == 16)\r
- {\r
- int x,y;\r
- x = Mode.width - 522;\r
- y = Mode.height - 135;\r
- for (int i = 0; i < 8; i++)\r
- {\r
- fillrect(x,y,x+64,y+64,i);\r
- x+=64;\r
- }\r
- x = Mode.width - 522;\r
- y += 64;\r
- for (int i = 8; i < 16; i++)\r
- {\r
- fillrect(x,y,x+64,y+64,i);\r
- x+=64;\r
- }\r
- drawrect(x-512,y-64,x,y+64,15);\r
- }\r
- else if (Mode.colors == 256)\r
- {\r
- int x,y,k;\r
- x = Mode.width - 165;\r
- y = Mode.height - 165;\r
- k = 0;\r
- for (int i = 0; i < 16; i++)\r
- {\r
- for (int j = 0; j < 16; j++)\r
- {\r
- fillrect(x,y,x+10,y+10,k);\r
- x+=10;\r
- k++;\r
- }\r
- x = Mode.width - 165;\r
- y += 10;\r
- }\r
- drawrect(Mode.width - 165,Mode.height - 165,Mode.width -5,Mode.height - 5,15);\r
- }\r
-}\r
-\r
-void TextTest()\r
-{\r
- TextClear(0x1F);\r
- gotoxy(1,1);\r
- if (Mode.mode == MODE00H)\r
- {\r
- // ** NOTE ** the gotoxy's here are a hack so that i could use the\r
- // standard C functions to program this mode. Normally you would just\r
- // calculate the proper address and display the text but since DOS still\r
- // thinks we are in mode 03h (it checks the BIOS), this is necessary.\r
- gotoxy(1,1);\r
- printf("ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿\n");\r
- gotoxy(41,1);\r
- printf("³Text Mode: 00H ³\n");\r
- gotoxy(1,2);\r
- printf("³Width: 40 Height: 25³\n");\r
- gotoxy(41,2);\r
- printf("³Bytes per screen: 2000³\n");\r
- gotoxy(1,3);\r
- printf("³Number of pages: 8 ³\n");\r
- gotoxy(41,3);\r
- printf("ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ\n");\r
- }\r
- else if (Mode.mode == MODE03H)\r
- {\r
- printf("ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿\n");\r
- printf("³Text Mode: 03H ³\n");\r
- printf("³Width: 80 Height: 25³\n");\r
- printf("³Bytes per screen: 4000³\n");\r
- printf("³Number of pages: 8 ³\n");\r
- printf("ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ\n");\r
- }\r
- else if (Mode.mode == MODE_J)\r
- {\r
- printf("ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿\n");\r
- printf("³Text Mode K ³\n");\r
- printf("³Width: 80 Height: 43³\n");\r
- printf("³Bytes per screen: 3440³\n");\r
- printf("³Number of pages: 8 ³\n");\r
- printf("ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ\n");\r
- }\r
- else if (Mode.mode == MODE_K)\r
- {\r
- printf("ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿\n");\r
- printf("³Text Mode K ³\n");\r
- printf("³Width: 80 Height: 50³\n");\r
- printf("³Bytes per screen: 4000³\n");\r
- printf("³Number of pages: 8 ³\n");\r
- printf("ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ\n");\r
- }\r
- else if (Mode.mode == MODE_L)\r
- {\r
- // ** NOTE ** the gotoxy's here are a hack so that i could use the\r
- // standard C functions to program this mode. Normally you would just\r
- // calculate the proper address and display the text but since DOS still\r
- // thinks we are in mode 03h (it checks the BIOS), this is necessary.\r
- printf("ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿\n");\r
- gotoxy(41,1);\r
- printf("³Text Mode L ³\n");\r
- gotoxy(1,2);\r
- printf("³Width: 40 Height: 43³\n");\r
- gotoxy(41,2);\r
- printf("³Bytes per screen: 3440³\n");\r
- gotoxy(1,3);\r
- printf("³Number of pages: 8 ³\n");\r
- gotoxy(41,3);\r
- printf("ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ\n");\r
- }\r
- else if (Mode.mode == MODE_M)\r
- {\r
- // ** NOTE ** the gotoxy's here are a hack so that i could use the\r
- // standard C functions to program this mode. Normally you would just\r
- // calculate the proper address and display the text but since DOS still\r
- // thinks we are in mode 03h (it checks the BIOS), this is necessary.\r
- printf("ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿\n");\r
- gotoxy(41,1);\r
- printf("³Text Mode K ³\n");\r
- printf("³Width: 40 Height: 50³\n");\r
- gotoxy(1,2);\r
- gotoxy(41,2);\r
- printf("³Bytes per screen: 4000³\n");\r
- gotoxy(1,3);\r
- printf("³Number of pages: 8 ³\n");\r
- gotoxy(41,3);\r
- printf("ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ\n");\r
- }\r
-}\r
+++ /dev/null
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- -=\r
-=- Tauron VGA Utilities Version 3.0 -=\r
-=- Released September 20, 1998 -=\r
-=- Font Editor Docs -=\r
-=- -=\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-=- All Rights Reserved. =-= that you put my name some- -=\r
-=- =-= where in your credits. -=\r
-=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- I assume no responsibility whatsoever for any effect that this package, -=\r
-=- the information contained therein or the use thereof has on you, your -=\r
-=- sanity, computer, spouse, children, pets or anything else related to -=\r
-=- you or your existance. No warranty is provided nor implied with this -=\r
-=- source code. -=\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-A mouse is required to run this program.\r
-\r
-On the main screen is a blue box with a white solid line surrounding it.\r
-This is the MAIN EDIT BOX. Inside of this box is where the font is created.\r
-Left click with the mouse to turn a bit on, right click with the mouse to\r
-turn a bit off.\r
-\r
-In the bottom left corner there is the ACTIONS box. Inside is all of the\r
-options that you have available. **NOTE** The delete this character action\r
-is not operational.\r
-\r
- Update this character -- This action puts the curently edited character\r
- into its final font position. There is a charcter buffer and a character\r
- list. When editing you are editing the buffer. If you don't want to keep\r
- the current changes, then don't hit update character. But if you do want to\r
- keep the changes, then hit update character before hitting anything else. If\r
- you don't the cnages will be lost.\r
-\r
- Display next character -- Hit the left or right arrows to go up or down the\r
- list character list. As you display each character, it is editable and you\r
- must hit update character if you want to save the changes.\r
-\r
- Goto character -- Goes to a certain character in the list.\r
-\r
- Read font from BIOS -- Read in a font from the BIOS which can now be\r
- edited.\r
-\r
- Add a character -- Adds a charcter to the end of the list. No more than\r
- 256 characters can be added.\r
-\r
- Delete a character -- Not operational\r
-\r
- Dump font to FONT.ASM -- This dumps the font to a text file ready to be\r
- assembled with an assembler.\r
-\r
-\r
-Along the bottom of the screen is a menu bar with choices:\r
-Alt+N New This creates a new font with dimensions you specify.\r
-\r
-Alt+O Open Opens a file. Careful using the dialog as it may no be\r
- intuitive at first glance.\r
-\r
-Alt+S Save Savess a file. Careful using the dialog as it may no be\r
- intuitive at first glance.\r
-\r
-Alt+A About Opens a window containing information about the program.\r
- Also has contact information\r
-\r
-Alt+X Exit Exits the program. This does not prompt you to save the file\r
- you are working on so be careful.\r
-\r
-\r
-\r
-Here is the structure for the files saved in binary :\r
-Header 7 bytes 'KINFIRA'\r
-Width Word\r
-Height Word\r
-Number of characters Word\r
-Bytes per character Word\r
-\r
-The rest of the file is the font saved in bitwise form.\r
-For example: This is a partial text dump from an 8x14 font from BIOS\r
-Every byte (8 bits) is one scanline. Notice there are 14 bytes per character\r
-DB 000H,000H,07EH,081H,0A5H,081H,081H,0BDH,099H,081H,07EH,000H,000H,000H\r
-\r
-If this font was say a 16x14 font, every word (16 bits) would be a scanline.\r
-Take the same line as above, represented as a 16 bit wide font:\r
-\r
-DB 000H,000H, <====== First scanline\r
- 000H,000H, <====== Second scanline\r
- 000H,07EH,\r
- 000H,081H,\r
- 000H,0A5H,\r
- and so on...\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
+++ /dev/null
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- -=\r
-=- Tauron VGA Utilities Version 3.0 -=\r
-=- Released September 20, 1998 -=\r
-=- -=\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-=- All Rights Reserved. =-= that you put my name some- -=\r
-=- =-= where in your credits. -=\r
-=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- I assume no responsibility whatsoever for any effect that this package, -=\r
-=- the information contained therein or the use thereof has on you, your -=\r
-=- sanity, computer, spouse, children, pets or anything else related to -=\r
-=- you or your existance. No warranty is provided nor implied with this -=\r
-=- source code. -=\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-The code in this package will switch video modes on any standard VGA video\r
-card. This is accomplished by programming the VGA Registers directly.\r
-\r
-##############################################################################\r
-#### Mode 07H and Mode 0FH are still being worked on. ####\r
-##############################################################################\r
-\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- Files included in this package: -= -=\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= -=\r
-=- Assembly version compiles with TASM 4.1 and TLINK 7.0 -=\r
-=- C version compiles with Borland C++ 5.01 -=\r
-=- -=\r
-=- README.TXT You are reading it. -=\r
-=- WHATSNEW.TXT Whats new in this version -=\r
-=- USAGE.TXT How to use these routines. Also -=\r
-=- contains a complete list of the -=\r
-=- videomodes supported. -=\r
-=- -=\r
-=- MAIN.EXE Assembly version executable demo -=\r
-=- MAINC.EXE C version executable demo -=\r
-=- FEDIT.EXE Font editor -=\r
-=- FEDIT.TXT Docs for the font editor -=\r
-=- -=\r
-=- ASM_SRC The assembly source directory -=\r
-=- +->MAIN.ASM The Main source file -=\r
-=- +->MODES.ASM The mode switching file -=\r
-=- +->CLEAR.ASM The clear screen routines -=\r
-=- +->TESTS.ASM The videomode tests -=\r
-=- +->DUAL.ASM The dual font setup and test -=\r
-=- +->FONT1.ASM Font 1 for dual font test -=\r
-=- +->FONT2.ASM Font 2 for dual font test -=\r
-=- +->MODES.INC The includes for each videomode -=\r
-=- -=\r
-=- C_SRC The C source directory -=\r
-=- +->MAINC.CPP The main source file -=\r
-=- +->MODES.CPP The mode switching file -=\r
-=- +->CLEAR.CPP The clear screen routines -=\r
-=- +->TESTS.CPP The videomode tests -=\r
-=- +->TAURON.H The main header file -=\r
-=- +->FONT1.H Font 1 for dual font test -=\r
-=- +->FONT2.H Font 2 for dual font test -=\r
-=- +->MODES_C.INC The includes for each videomode -=\r
-=- +->PALETTE.INC The standard palette -=\r
-=- -=\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-When running the demo:\r
-\r
- In graphics modes, there is a vertical line every 40 pixels with a longer\r
- vertical line every 80 pixels.\r
-\r
- I have not yet figured out how to program modes 04H, 05H, or 06H. Once\r
- the mode is set, I only clear the mode to a specified color.\r
-\r
-\r
-\r
-The VGA BIOS must be called once at the beginning of the routines so that we\r
-know where the fonts are stored. Once this information is known we no longer\r
-need the BIOS.\r
-\r
-The reason for starting this package is that I am writing an Operating\r
-System. (There are a lot of us out there I know.) I wanted to be able to\r
-program standard VGA cards for my OS.\r
-\r
-This is not a graphics library although there are some clear screen and pixel\r
-routines around. It only sets the video mode. This works in real mode as\r
-well as protected mode. To use it in protected mode you will have to modify\r
-it to suit your own needs.\r
-\r
-The use of the fonts stored in BIOS ROM is now included. We are using what is\r
-already built into the VGA BIOS.\r
-\r
-\r
-E-mail: kinfira@hotmail.com\r
-Homepage: http://home.onestop.net/kinfira/\r
-\r
-Drop me a line if you find this package useful.\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=-= Credits: =-= =-=\r
-=-=-=-=-=-=-=-=-= =-=\r
-=-= A great book: "Programmer's Guide to the EGA, VGA, and Super VGA =-=\r
-=-= Cards" 3rd Edition Richard F. Ferraro ISBN 0-201-62490-7 =-=\r
-=-= Addison-Wesley Publishing Company. =-=\r
-=-= =-=\r
-=-= A very excellent book: "Programmer's Guide to the EGA & VGA Cards" =-=\r
-=-= Richard F. Ferraro ISBN 0-201-12692-3 =-=\r
-=-= Addison-Wesley Publishing Company. =-=\r
-=-= =-=\r
-=-= Anthony A.J. Williams for writing MODES.ASM, which I used to help =-=\r
-=-= write the Text Mode routine. I specifically used the SetFont =-=\r
-=-= procedure which was instrumental in getting the code for Mode 03h =-=\r
-=-= working. =-=\r
-=-= =-=\r
-=-= Boone (boone@ucsd.edu) for the docs on programming the VGA Registers. =-=\r
-=-= =-=\r
-=-= I also used a really great program called TWEAK to get some of the =-=\r
-=-= values for the non-standard modes. =-=\r
-=-= =-=\r
-=-= Denthor of ASPHYXIA for his trainer on Chain-4 Mode. =-=\r
-=-= =-=\r
-=-= Robert Schmidt <robert@stud.unit.no> for the great doc in PCGPE 1.0 =-=\r
-=-= about Mode X. This helped a great deal. =-=\r
-=-= =-=\r
-=-= Michael Abrash for his super excellent VGA articles on everything, =-=\r
-=-= plus all of his books and public domain code. =-=\r
-=-= =-=\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- Revision History: -=\r
-=-=-=-=-=-=-=-=-=-=-=-=\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-Version 3.0 released September 20, 1998\r
- I added 2 new text modes, 40x43 and 40x50. Also I have added a new dual\r
- font test which uses 2 of the VGA's 8 font maps.\r
-\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-Version 2.1 released July 5, 1998\r
- The only change is that in the C version, the routine to read fronts from\r
- BIOS is now working. This routine reads a font from the BIOS and places\r
- it in memory for use in a textmode.\r
-\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-Version 2.0 released June 22, 1998\r
- I have added more videomodes. I have also written a version of the\r
- source in C. So the routines are available in Assembly and C. I have\r
- also written some documentation for the font editor. So now the only\r
- modes that are not implemented are the monochrome modes which will still\r
- be worked on.\r
-\r
-\r
-Tauron VGA Utilities\r
-Version 1.0 released June 14, 1998\r
- I changed the name because that other was a little too long. B->\r
- I have packaged in a small font editor. I have also rearranged the mode\r
- numbers and added a few more video modes that will be implemented.\r
-\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-Source code for switching videomodes without using BIOS\r
-Version 4.1 released May 28, 1998\r
-\r
-New in this version:\r
- We call a BIOS function to find out where in memory the fonts are stored.\r
- Since this is different on every cards' VGA BIOS, it is absolutely\r
- necessary so that in text modes, the proper fonts are displayed.\r
-\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-Version 4.0 released March 5, 1998\r
-\r
-New in this version:\r
- All VGA Modes are supported! Plus Chain-4 Mode, ModeX, ModeA,\r
- ModeB and ModeC. Modes 07H and 0FH are still being worked on.\r
-\r
- Use of Fonts stored in ROM.\r
- Custom Font data stored in system memory is no longer needed.\r
-\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-Version 3.0 released January 2, 1998\r
- Includes Modes 03h, 10h, 12h, and 13h plus Chain-4 Mode, ModeX, ModeA,\r
- ModeB and ModeC.\r
-\r
-New in this version: Mode 10h (640x350x16), Mode C (640x400x16)\r
-\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-Version 2.5 not released\r
- Includes Modes 03h, 12h, and 13h plus Chain-4 Mode, ModeX, ModeA, and\r
- ModeB.\r
-\r
-New in this version: VGA register data takes up less space.\r
-\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-Version 2.1 released Nov. 21, 1997\r
- Includes Modes 03h, 12h, and 13h plus Chain-4 Mode, ModeX, ModeA, and\r
- ModeB.\r
-\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-Version 2.0 released Nov. 10, 1997\r
- Includes Modes 03h, 12h, and 13h plus Chain-4 Mode and ModeX.\r
-\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-Version 1.5 released late Oct. 1997\r
- Includes Modes 03h, 12h, and 13h. Fully functional\r
-\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-Version 1.1 released in Oct. 12, 1997\r
- Includes Mode 13h, Mode 03h finally works. Realized that I needed to reset\r
- the text mode font.\r
-\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-Version 1.0 released in Oct. 7, 1997\r
- Included Mode 13h, Mode 03h partially. (Did not have setfont routine)\r
-\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
+++ /dev/null
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- -=\r
-=- Tauron VGA Utilities Version 3.0 -=\r
-=- Released September 20, 1998 -=\r
-=- -=\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-=- All Rights Reserved. =-= that you put my name some- -=\r
-=- =-= where in your credits. -=\r
-=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- I assume no responsibility whatsoever for any effect that this package, -=\r
-=- the information contained therein or the use thereof has on you, your -=\r
-=- sanity, computer, spouse, children, pets or anything else related to -=\r
-=- you or your existance. No warranty is provided nor implied with this -=\r
-=- source code. -=\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-** Note ** This code does not update BIOS when in real mode. So if you need\r
-that particular functionality, you will have to add this yourself.\r
-\r
-\r
- Use MODE NUMBER to set the video mode with the procedure provided.\r
-\r
- A star (*) next to the mode number indicates that it is not yet\r
- implemented.\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- Currently supported Video Modes: -= MODE NUMBER =-= Type -=\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- -= =-= -=\r
-=- 00H,01H -- 40 x 25 x 16 -= 00H,01H =-= Text -=\r
-=- -= =-= -=\r
-=- 02H,03H -- 80 x 25 x 16 -= 02H,03H =-= Text -=\r
-=- -= =-= -=\r
-=- 04H,05H -- 320 x 200 x 4 -= 04H,05H =-= Graphics -=\r
-=- -= =-= -=\r
-=- 06H -- 640 x 200 x 2 -= 06H =-= Graphics -=\r
-=- -= =-= -=\r
-=- 07H -- 80 x 25 x 2 (Monochrome) -= * 07H =-= Text -=\r
-=- -= =-= -=\r
-=- 0DH -- 320 x 200 x 16 -= 0DH =-= Graphics -=\r
-=- -= =-= -=\r
-=- 0EH -- 640 x 200 x 16 -= 0EH =-= Graphics -=\r
-=- -= =-= -=\r
-=- 0FH -- 640 x 350 x 2 (Monochrome) -= * 0FH =-= Graphics -=\r
-=- -= =-= -=\r
-=- 10H -- 640 x 350 x 16 -= 10H =-= Graphics -=\r
-=- -= =-= -=\r
-=- 11H -- 640 x 480 x 2 -= 11H =-= Graphics -=\r
-=- -= =-= -=\r
-=- 12H -- 640 x 480 x 16 -= 12H =-= Graphics -=\r
-=- -= =-= -=\r
-=- 13H -- 320 x 200 x 256 -= 13H =-= Graphics -=\r
-=- -= =-= -=\r
-=- Chain 4 -- unchained 320 x 200 x 256 -= 14H =-= Graphics -=\r
-=- -= =-= -=\r
-=- Mode X -- unchained 320 x 240 x 256 -= 15H =-= Graphics -=\r
-=- -= =-= -=\r
-=- Mode A -- unchained 320 x 350 x 256 -= 16H =-= Graphics -=\r
-=- -= =-= -=\r
-=- Mode B -- unchained 320 x 400 x 256 -= 17H =-= Graphics -=\r
-=- -= =-= -=\r
-=- Mode C -- unchained 320 x 480 x 256 -= 18H =-= Graphics -=\r
-=- -= =-= -=\r
-=- Mode D -- unchained 360 x 200 x 256 -= 19H =-= Graphics -=\r
-=- -= =-= -=\r
-=- Mode E -- unchained 360 x 240 x 256 -= 1AH =-= Graphics -=\r
-=- -= =-= -=\r
-=- Mode F -- unchained 360 x 350 x 256 -= 1BH =-= Graphics -=\r
-=- -= =-= -=\r
-=- Mode G -- unchained 360 x 400 x 256 -= 1CH =-= Graphics -=\r
-=- -= =-= -=\r
-=- Mode H -- unchained 360 x 480 x 256 -= 1DH =-= Graphics -=\r
-=- -= =-= -=\r
-=- Mode I -- 640 x 400 x 16 -= 1EH =-= Graphics -=\r
-=- -= =-= -=\r
-=- Mode J -- 80 x 43 x 16 -= 1FH =-= Text -=\r
-=- -= =-= -=\r
-=- Mode K -- 80 x 50 x 16 -= 20H =-= Text -=\r
-=- -= =-= -=\r
-=- Mode K -- 40 x 43 x 16 -= 21H =-= Text -=\r
-=- -= =-= -=\r
-=- Mode K -- 40 x 50 x 16 -= 22H =-= Text -=\r
-=- -= =-= -=\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-\r
-To set a video mode using the procedure I already have written:\r
-\r
-PUSH *VALUE* ; Where value is the mode number\r
-CALL SETVIDEOMODE\r
-\r
-and thats it the videomode gets set.\r
-\r
-Once the video mode is set, you can program each video mode as normal.\r
-\r
-Just remember, you can't rely on BIOS so if you need the palette set to the\r
-proper values, you need to set them yourself.\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-If you want to use this code in your programs, all you need is which ever\r
-mode you want from MODES.INC and also the procedure SETMODE.\r
-\r
-Just\r
-\r
-MOV SI, OFFSET *MODE* ; Where mode is the mode from MODES.INC\r
-CALL SETMODE\r
-\r
-If you want the unchained modes, you also need a bit of code from the\r
-SETVIDEOMODE procedure in MAIN.ASM.\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-I have also included some source for clearing the screen and plotting pixels.\r
-If you notice that since all of the chained modes use the same memory\r
-structure the same code can be used to program all with only a few\r
-modifications. This also goes for the planar modes 10h, 12h, Mode C, etc.\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
+++ /dev/null
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- -=\r
-=- Tauron VGA Utilities Version 3.0 -=\r
-=- Released September 20, 1998 -=\r
-=- -=\r
-=- What new with this release??? -=\r
-=- -=\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-=- All Rights Reserved. =-= that you put my name some- -=\r
-=- =-= where in your credits. -=\r
-=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- I assume no responsibility whatsoever for any effect that this package, -=\r
-=- the information contained therein or the use thereof has on you, your -=\r
-=- sanity, computer, spouse, children, pets or anything else related to -=\r
-=- you or your existance. No warranty is provided nor implied with this -=\r
-=- source code. -=\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
- I added 2 new text modes, 40x43 and 40x50.\r
-\r
- There is now a dual font test. What this does is load 2 fonts into VGA\r
- memory and display text from both fonts on the screen at the same time.\r
- This is possible by reprogramming the charcter map select register. You\r
- can have up to 8 fonts present in memory at any time but can only use 2\r
- at a time.\r
-\r
- I was trying to add some more high-res video modes but so far they don't\r
- quite work. I'm shooting for 720x200 first just to see if I can make it\r
- work.\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
+++ /dev/null
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- -=\r
-;=- Tauron VGA Utilities Version 3.0 -=\r
-;=- Released September 20, 1998 -=\r
-;=- -=\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-;=- All Rights Reserved. =-= that you put my name some- -=\r
-;=- =-= where in your credits. -=\r
-;=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- I assume no responsibility whatsoever for any effect that this package, -=\r
-;=- the information contained therein or the use thereof has on you, your -=\r
-;=- sanity, computer, spouse, children, pets or anything else related to -=\r
-;=- you or your existance. No warranty is provided nor implied with this -=\r
-;=- source code. -=\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-TEXTCLEAR PROC\r
- PUSH BP\r
- MOV BP,SP\r
-\r
- MOV AX,0B800H\r
- MOV ES,AX\r
- XOR DI,DI\r
-\r
- MOV AH,byte ptr [bp+4]\r
- MOV AL,' '\r
- MOV CX,Mode.width_bytes\r
- CLD\r
- REP STOSW\r
-\r
- POP BP\r
- RET 2\r
-TEXTCLEAR ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-CLEAR_B8000H PROC\r
- PUSH BP\r
- MOV BP,SP\r
- PUSHA\r
-\r
- MOV AX,0B800H\r
- MOV ES,AX\r
- XOR DI,DI\r
-\r
- MOV AX,WORD PTR [BP+4]\r
- CLD\r
- MOV CX,Mode.width_bytes\r
- REP STOSW\r
-\r
- POPA\r
- POP BP\r
- RET 2\r
-CLEAR_B8000H ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-; Mode 0Dh clear screen\r
-CLEAR0DH PROC\r
- PUSH BP\r
- MOV BP,SP\r
-\r
- MOV AX,0A000H\r
- MOV ES,AX\r
- XOR DI,DI\r
-\r
- MOV CX,2000H\r
-CLEAR_LOOP:\r
- MOV DX,03CEH\r
- MOV AX,0FF08H\r
- OUT DX,AX\r
-\r
- MOV EAX,0\r
- XCHG DWORD PTR ES:[DI],EAX\r
-\r
- MOV DX,03C4H\r
- MOV AH,BYTE PTR [BP+4]\r
- MOV AL,2\r
- OUT DX,AX\r
-\r
- MOV DWORD PTR ES:[DI],0FFFFFFFFH\r
-\r
- MOV AX,0F02H\r
- OUT DX,AX\r
-\r
- MOV DX,03CEH\r
- MOV AX,0FF08h\r
- OUT DX,AX\r
-\r
- ADD DI,4\r
- LOOP CLEAR_LOOP\r
-\r
- POP BP\r
- RET 2\r
-CLEAR0DH ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-; Mode 0Eh clear screen\r
-CLEAR0EH PROC\r
- PUSH BP\r
- MOV BP,SP\r
-\r
- MOV AX,0A000H\r
- MOV ES,AX\r
- XOR DI,DI\r
-\r
- MOV CX,4000H\r
-CLEAR_LOOP2:\r
- MOV DX,03CEH\r
- MOV AX,0FF08H\r
- OUT DX,AX\r
-\r
- MOV EAX,0\r
- XCHG DWORD PTR ES:[DI],EAX\r
-\r
- MOV DX,03C4H\r
- MOV AH,BYTE PTR [BP+4]\r
- MOV AL,2\r
- OUT DX,AX\r
-\r
- MOV DWORD PTR ES:[DI],0FFFFFFFFH\r
-\r
- MOV AX,0F02H\r
- OUT DX,AX\r
-\r
- MOV DX,03CEH\r
- MOV AX,0FF08h\r
- OUT DX,AX\r
-\r
- ADD DI,4\r
- LOOP CLEAR_LOOP2\r
-\r
- POP BP\r
- RET 2\r
-CLEAR0EH ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-CLEAR11H PROC\r
- MOV AX,0A000H\r
- MOV ES,AX\r
- XOR DI,DI\r
-\r
- MOV AX,0FFFFH\r
- CLD\r
- MOV CX,4B00H\r
- REP STOSW\r
- RET\r
-CLEAR11H ENDP\r
-\r
-; 0d 0e 11 have bytes /2\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-PLANARCLEAR PROC\r
- PUSH BP\r
- MOV BP,SP\r
-\r
- MOV AX,0A000H\r
- MOV ES,AX\r
- XOR DI,DI\r
-\r
- MOV CX,Mode.width_bytes\r
- SHR CX,1\r
-CLEAR_LOOP3:\r
-\r
- MOV DX,03CEH\r
- MOV AX,0FF08H\r
- OUT DX,AX\r
-\r
- MOV AX,0\r
- XCHG WORD PTR ES:[DI],AX\r
-\r
- MOV DX,03C4H\r
- MOV AH,byte ptr [bp+4]\r
- MOV AL,2\r
- OUT DX,AX\r
-\r
- MOV WORD PTR ES:[DI],0FFFFH\r
-\r
- MOV AX,0F02H\r
- OUT DX,AX\r
-\r
- MOV DX,03CEH\r
- MOV AX,0FF08h\r
- OUT DX,AX\r
-\r
- ADD DI,2\r
- LOOP CLEAR_LOOP3\r
-\r
- POP BP\r
- RET 2\r
-PLANARCLEAR ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-CLEAR13H PROC\r
- PUSH BP\r
- MOV BP,SP\r
-\r
- MOV AX,0A000H\r
- MOV ES,AX\r
- XOR DI,DI\r
-\r
- MOV AL,byte ptr [bp+4]\r
- MOV AH,AL\r
- CLD\r
- MOV CX,8000H\r
- REP STOSW\r
-\r
- POP BP\r
- RET 2\r
-CLEAR13H ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-UNCHAINEDCLEAR PROC\r
- PUSH BP\r
- MOV BP,SP\r
-\r
- mov dx, 03C4h ; 03c4h\r
- mov al, 2 ; Map Mask Register\r
- out dx, al\r
- inc dx\r
- mov al,00001111B ; Select all planes to write to\r
- out dx, al ; Doing this to clear all planes at once\r
-\r
- mov ax,0A000H\r
- mov es, ax\r
- XOR DI,DI ; set es:di = Screen Mem\r
- mov ah,byte ptr [bp+4] ; move the color into ah\r
- mov al,ah ; copy the value to al\r
- mov cx,Mode.width_bytes ; Number of words\r
- SHR CX,1\r
- cld\r
- rep stosw ; clear it\r
-\r
- POP BP\r
- RET 2\r
-UNCHAINEDCLEAR ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
+++ /dev/null
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- -=\r
-;=- Tauron VGA Utilities Version 3.0 -=\r
-;=- Released September 20, 1998 -=\r
-;=- -=\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-;=- All Rights Reserved. =-= that you put my name some- -=\r
-;=- =-= where in your credits. -=\r
-;=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- I assume no responsibility whatsoever for any effect that this package, -=\r
-;=- the information contained therein or the use thereof has on you, your -=\r
-;=- sanity, computer, spouse, children, pets or anything else related to -=\r
-;=- you or your existance. No warranty is provided nor implied with this -=\r
-;=- source code. -=\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-; 3C4H, 03H\r
-; Bit positions for font maps:\r
-;\r
-; +--7--+--6--+--5--+--4--+--3--+--2--+--1--+--0--+\r
-; | | | SAH | SBH | SA | SB |\r
-; +-----+-----+-----+-----+-----+-----+-----+-----+\r
-;\r
-; SA - bits 1, 0 of Character Map A\r
-; SAH - bit 2 (high order) of Charcter Map A\r
-;\r
-; SB - bits 1, 0 of Character Map B\r
-; SBH - bit 2 (high order) of Charcter Map B\r
-;\r
-\r
-; Points to fonts for Map A Memory Address\r
-DFM_MAPA_FONT1 EQU 00H ; 0K\r
-DFM_MAPA_FONT2 EQU 04H ; 16K\r
-DFM_MAPA_FONT3 EQU 08H ; 32K\r
-DFM_MAPA_FONT4 EQU 0CH ; 48K\r
-DFM_MAPA_FONT5 EQU 20H ; 8K\r
-DFM_MAPA_FONT6 EQU 24H ; 24K\r
-DFM_MAPA_FONT7 EQU 28H ; 40K\r
-DFM_MAPA_FONT8 EQU 2CH ; 56K\r
-\r
-; Points to fonts for Map B\r
-DFM_MAPB_FONT1 EQU 00H ; 0K\r
-DFM_MAPB_FONT2 EQU 01H ; 16K\r
-DFM_MAPB_FONT3 EQU 02H ; 32K\r
-DFM_MAPB_FONT4 EQU 03H ; 48K\r
-DFM_MAPB_FONT5 EQU 10H ; 8K\r
-DFM_MAPB_FONT6 EQU 11H ; 24K\r
-DFM_MAPB_FONT7 EQU 12H ; 40K\r
-DFM_MAPB_FONT8 EQU 13H ; 56K\r
-\r
-\r
-; To set dual font mode, just set the character map select register to point\r
-; to 2 different fonts. There can be up to 8 fonts resident in memory at\r
-; once but only 2 can be active at a time.\r
-;\r
-; ** NOTE ** If you set both font maps the same you are no longer in dual font\r
-; mode. But what this allows you to do is to put up to 8 fonts in VGA memory\r
-; and switch between them at any time.\r
-;\r
-; Both fonts were made with my font editor. I just read the BIOS and \r
-; modified the second font so a solid line goes through the middle of it.\r
-;\r
-; This procedure sets up dual font mode and loads 2 fonts into video memory.\r
-SETDUAL PROC\r
-\r
- ; Sequencer address\r
- MOV DX,SEQ_ADDR\r
-\r
- ; 2 different font maps\r
- MOV AH,DFM_MAPA_FONT1\r
- OR AH,DFM_MAPB_FONT5\r
-\r
- ; Sequencer register\r
- MOV AL,03H\r
-\r
- ; Send it\r
- OUT DX,AX\r
-\r
- ; Load font 1 into 0K\r
- PUSH 16 ; Bytes per character\r
- PUSH 0 ; Offset of font in Video Memory\r
- PUSH 0A000H\r
- PUSH OFFSET FONT1 ; Offset of Font in our Data Segment\r
- PUSH DS\r
- CALL LOADFONT\r
-\r
- ; Load font 2 into 8K\r
- PUSH 16 ; Bytes per character\r
- PUSH 0 ; Offset of font in Video Memory\r
- PUSH 0A200H\r
- PUSH OFFSET FONT2 ; Offset of Font in our Data Segment\r
- PUSH DS\r
- CALL LOADFONT\r
-\r
- RET\r
-SETDUAL ENDP\r
-\r
-; This procedure reset the character map select register to point to only\r
-; one font.\r
-UNSETDUAL PROC\r
-\r
- ; Set both fonts to point to font 1\r
- MOV DX,SEQ_ADDR\r
- MOV AX,0003H\r
- OUT DX,AX\r
-\r
- RET\r
-UNSETDUAL ENDP\r
-\r
-; In dual font modes, the palette is in effect half of what it is. The \r
-; bottom 8 colors for the first font, and the top 8 colors for the second \r
-; font.\r
-;\r
-; What I do here is to set them to the same 8 colors.\r
-; Black, Blue, Green, Red, Purple, Yellow, Light Gray, and White\r
-;\r
-SETDUALPALETTE PROC\r
-\r
- PUSH 0\r
- PUSH 0\r
- PUSH 0\r
- PUSH 0\r
- CALL SETPAL\r
-\r
- PUSH 42\r
- PUSH 0\r
- PUSH 0\r
- PUSH 1\r
- CALL SETPAL\r
-\r
- PUSH 0\r
- PUSH 42\r
- PUSH 0\r
- PUSH 2\r
- CALL SETPAL\r
-\r
- PUSH 42\r
- PUSH 42\r
- PUSH 0\r
- PUSH 3\r
- CALL SETPAL\r
-\r
- PUSH 0\r
- PUSH 0\r
- PUSH 42\r
- PUSH 4\r
- CALL SETPAL\r
-\r
- PUSH 21\r
- PUSH 63\r
- PUSH 63\r
- PUSH 5\r
- CALL SETPAL\r
-\r
- PUSH 42\r
- PUSH 42\r
- PUSH 42\r
- PUSH 6\r
- CALL SETPAL\r
-\r
- PUSH 63\r
- PUSH 63\r
- PUSH 63\r
- PUSH 7\r
- CALL SETPAL\r
-\r
- PUSH 0\r
- PUSH 0\r
- PUSH 0\r
- PUSH 8\r
- CALL SETPAL\r
-\r
- PUSH 42\r
- PUSH 0\r
- PUSH 0\r
- PUSH 9\r
- CALL SETPAL\r
-\r
- PUSH 0\r
- PUSH 42\r
- PUSH 0\r
- PUSH 10\r
- CALL SETPAL\r
-\r
- PUSH 42\r
- PUSH 42\r
- PUSH 0\r
- PUSH 11\r
- CALL SETPAL\r
-\r
- PUSH 0\r
- PUSH 0\r
- PUSH 42\r
- PUSH 12\r
- CALL SETPAL\r
-\r
- PUSH 21\r
- PUSH 63\r
- PUSH 63\r
- PUSH 13\r
- CALL SETPAL\r
-\r
- PUSH 42\r
- PUSH 42\r
- PUSH 42\r
- PUSH 14\r
- CALL SETPAL\r
-\r
- PUSH 63\r
- PUSH 63\r
- PUSH 63\r
- PUSH 15\r
- CALL SETPAL\r
-\r
- RET\r
-SETDUALPALETTE ENDP\r
-\r
-DUALTEST PROC\r
-\r
- MOV SI,OFFSET MODE03H\r
- CALL SETMODE\r
-\r
- CALL SETDUAL\r
- CALL SETDUALPALETTE\r
-\r
- PUSH 1FH \r
- CALL TEXTCLEAR\r
-\r
- ; Attribute to print text in.\r
- ;\r
- ; In dual font mode, attrubute bit 3 is the deciding factor as to which\r
- ; font is printed. 0001X111B where X is 0 for font 1 or 1 for font 2.\r
- ; The Charcter Map Select Register determines where font 1 and font 2\r
- ; reside.\r
- ; 00011111B - Font 2, Blue Background, with color 7 text.\r
- MOV ATT, 1Fh \r
-\r
- MOV BX,5\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_D\r
- CALL PRINTSTRING\r
- MOV BX,6\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_E\r
- CALL PRINTSTRING\r
- MOV BX,7\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_F\r
- CALL PRINTSTRING\r
-\r
- ; 00010111B - Font 1, Blue Background, with color 7 text.\r
- MOV ATT, 17h\r
-\r
- MOV BX,0\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_D\r
- CALL PRINTSTRING\r
- MOV BX,1\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_E\r
- CALL PRINTSTRING\r
- MOV BX,2\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_F\r
- CALL PRINTSTRING\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
-\r
- CALL UNSETDUAL\r
- RET\r
-DUALTEST ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
+++ /dev/null
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- Created with FEDIT written by Kinfira (Jeffrey Morgan) -=\r
-;=- -=\r
-;=- Tauron VGA Utilities Version 1.0 -=\r
-;=- Released June 14, 1998 -=\r
-;=- -=\r
-;=- Font Width: 8 -=\r
-;=- Font Height: 16 -=\r
-;=- Bytes per character: 16 -=\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,07EH,081H,0A5H,081H,081H,0BDH,099H,081H,081H,07EH,000H,000H,000H,000H\r
-DB 000H,000H,07EH,0FFH,0DBH,0FFH,0FFH,0C3H,0E7H,0FFH,0FFH,07EH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,06CH,0FEH,0FEH,0FEH,0FEH,07CH,038H,010H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,010H,038H,07CH,0FEH,07CH,038H,010H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,018H,03CH,03CH,0E7H,0E7H,0E7H,099H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,018H,03CH,07EH,0FFH,0FFH,07EH,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,018H,03CH,03CH,018H,000H,000H,000H,000H,000H,000H\r
-DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0E7H,0C3H,0C3H,0E7H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH\r
-DB 000H,000H,000H,000H,000H,03CH,066H,042H,042H,066H,03CH,000H,000H,000H,000H,000H\r
-DB 0FFH,0FFH,0FFH,0FFH,0FFH,0C3H,099H,0BDH,0BDH,099H,0C3H,0FFH,0FFH,0FFH,0FFH,0FFH\r
-DB 000H,000H,01EH,00EH,01AH,032H,078H,0CCH,0CCH,0CCH,0CCH,078H,000H,000H,000H,000H\r
-DB 000H,000H,03CH,066H,066H,066H,066H,03CH,018H,07EH,018H,018H,000H,000H,000H,000H\r
-DB 000H,000H,03FH,033H,03FH,030H,030H,030H,030H,070H,0F0H,0E0H,000H,000H,000H,000H\r
-DB 000H,000H,07FH,063H,07FH,063H,063H,063H,063H,067H,0E7H,0E6H,0C0H,000H,000H,000H\r
-DB 000H,000H,000H,018H,018H,0DBH,03CH,0E7H,03CH,0DBH,018H,018H,000H,000H,000H,000H\r
-DB 000H,080H,0C0H,0E0H,0F0H,0F8H,0FEH,0F8H,0F0H,0E0H,0C0H,080H,000H,000H,000H,000H\r
-DB 000H,002H,006H,00EH,01EH,03EH,0FEH,03EH,01EH,00EH,006H,002H,000H,000H,000H,000H\r
-DB 000H,000H,018H,03CH,07EH,018H,018H,018H,018H,07EH,03CH,018H,000H,000H,000H,000H\r
-DB 000H,000H,066H,066H,066H,066H,066H,066H,066H,000H,066H,066H,000H,000H,000H,000H\r
-DB 000H,000H,07FH,0DBH,0DBH,0DBH,07BH,01BH,01BH,01BH,01BH,01BH,000H,000H,000H,000H\r
-DB 000H,07CH,0C6H,060H,038H,06CH,0C6H,0C6H,06CH,038H,00CH,0C6H,07CH,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,000H,0FEH,0FEH,0FEH,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,018H,03CH,07EH,018H,018H,018H,018H,07EH,03CH,018H,07EH,000H,000H,000H\r
-DB 000H,000H,018H,03CH,07EH,018H,018H,018H,018H,018H,018H,018H,000H,000H,000H,000H\r
-DB 000H,000H,018H,018H,018H,018H,018H,018H,018H,07EH,03CH,018H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,018H,00CH,0FEH,00CH,018H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,030H,060H,0FEH,060H,030H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0C0H,0C0H,0C0H,0C0H,0FEH,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,028H,06CH,0FEH,06CH,028H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,010H,038H,038H,07CH,07CH,0FEH,0FEH,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,0FEH,0FEH,07CH,07CH,038H,038H,010H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,018H,03CH,03CH,03CH,018H,018H,018H,000H,018H,018H,000H,000H,000H,000H\r
-DB 000H,066H,066H,066H,024H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,06CH,06CH,0FEH,06CH,06CH,06CH,0FEH,06CH,06CH,000H,000H,000H,000H\r
-DB 018H,018H,07CH,0C6H,0C2H,0C0H,07CH,006H,086H,0C6H,07CH,018H,018H,000H,000H,000H\r
-DB 000H,000H,000H,000H,0C2H,0C6H,00CH,018H,030H,060H,0C6H,086H,000H,000H,000H,000H\r
-DB 000H,000H,038H,06CH,06CH,038H,076H,0DCH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,030H,030H,030H,060H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,00CH,018H,030H,030H,030H,030H,030H,030H,018H,00CH,000H,000H,000H,000H\r
-DB 000H,000H,030H,018H,00CH,00CH,00CH,00CH,00CH,00CH,018H,030H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,066H,03CH,0FFH,03CH,066H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,018H,018H,07EH,018H,018H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,018H,018H,018H,030H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,0FEH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,018H,018H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,002H,006H,00CH,018H,030H,060H,0C0H,080H,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,0C6H,0CEH,0D6H,0D6H,0E6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,018H,038H,078H,018H,018H,018H,018H,018H,018H,07EH,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,006H,00CH,018H,030H,060H,0C0H,0C6H,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,006H,006H,03CH,006H,006H,006H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,00CH,01CH,03CH,06CH,0CCH,0FEH,00CH,00CH,00CH,01EH,000H,000H,000H,000H\r
-DB 000H,000H,0FEH,0C0H,0C0H,0C0H,0FCH,00EH,006H,006H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,038H,060H,0C0H,0C0H,0FCH,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,0FEH,0C6H,006H,006H,00CH,018H,030H,030H,030H,030H,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,0C6H,0C6H,07CH,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,0C6H,0C6H,07EH,006H,006H,006H,00CH,078H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,018H,018H,000H,000H,000H,018H,018H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,018H,018H,000H,000H,000H,018H,018H,030H,000H,000H,000H,000H\r
-DB 000H,000H,000H,006H,00CH,018H,030H,060H,030H,018H,00CH,006H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,0FEH,000H,000H,0FEH,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,060H,030H,018H,00CH,006H,00CH,018H,030H,060H,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,0C6H,00CH,018H,018H,018H,000H,018H,018H,000H,000H,000H,000H\r
-DB 000H,000H,000H,07CH,0C6H,0C6H,0DEH,0DEH,0DEH,0DCH,0C0H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,010H,038H,06CH,0C6H,0C6H,0FEH,0C6H,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 000H,000H,0FCH,066H,066H,066H,07CH,066H,066H,066H,066H,0FCH,000H,000H,000H,000H\r
-DB 000H,000H,03CH,066H,0C2H,0C0H,0C0H,0C0H,0C0H,0C2H,066H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,0F8H,06CH,066H,066H,066H,066H,066H,066H,06CH,0F8H,000H,000H,000H,000H\r
-DB 000H,000H,0FEH,066H,062H,068H,078H,068H,060H,062H,066H,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,0FEH,066H,062H,068H,078H,068H,060H,060H,060H,0F0H,000H,000H,000H,000H\r
-DB 000H,000H,03CH,066H,0C2H,0C0H,0C0H,0DEH,0C6H,0C6H,066H,03AH,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,0C6H,0C6H,0FEH,0C6H,0C6H,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 000H,000H,03CH,018H,018H,018H,018H,018H,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,01EH,00CH,00CH,00CH,00CH,00CH,0CCH,0CCH,0CCH,078H,000H,000H,000H,000H\r
-DB 000H,000H,0E6H,066H,06CH,06CH,078H,078H,06CH,066H,066H,0E6H,000H,000H,000H,000H\r
-DB 000H,000H,0F0H,060H,060H,060H,060H,060H,060H,062H,066H,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0EEH,0FEH,0FEH,0D6H,0C6H,0C6H,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0E6H,0F6H,0FEH,0DEH,0CEH,0C6H,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 000H,000H,038H,06CH,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,06CH,038H,000H,000H,000H,000H\r
-DB 000H,000H,0FCH,066H,066H,066H,07CH,060H,060H,060H,060H,0F0H,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,0D6H,0DEH,07CH,00CH,00EH,000H,000H\r
-DB 000H,000H,0FCH,066H,066H,066H,07CH,06CH,066H,066H,066H,0E6H,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,0C6H,060H,038H,00CH,006H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,07EH,07EH,05AH,018H,018H,018H,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,06CH,038H,010H,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,0C6H,0C6H,0C6H,0D6H,0D6H,0FEH,06CH,06CH,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,06CH,06CH,038H,038H,06CH,06CH,0C6H,0C6H,000H,000H,000H,000H\r
-DB 000H,000H,066H,066H,066H,066H,03CH,018H,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,0FEH,0C6H,086H,00CH,018H,030H,060H,0C2H,0C6H,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,03CH,030H,030H,030H,030H,030H,030H,030H,030H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,080H,0C0H,0E0H,070H,038H,01CH,00EH,006H,002H,000H,000H,000H,000H\r
-DB 000H,000H,03CH,00CH,00CH,00CH,00CH,00CH,00CH,00CH,00CH,03CH,000H,000H,000H,000H\r
-DB 010H,038H,06CH,0C6H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,0FFH,000H,000H\r
-DB 030H,030H,018H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,078H,00CH,07CH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,0E0H,060H,060H,078H,06CH,066H,066H,066H,066H,0DCH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,07CH,0C6H,0C0H,0C0H,0C0H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,01CH,00CH,00CH,03CH,06CH,0CCH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,07CH,0C6H,0FEH,0C0H,0C0H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,038H,06CH,064H,060H,0F0H,060H,060H,060H,060H,0F0H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,076H,0CCH,0CCH,0CCH,0CCH,0CCH,07CH,00CH,0CCH,078H,000H\r
-DB 000H,000H,0E0H,060H,060H,06CH,076H,066H,066H,066H,066H,0E6H,000H,000H,000H,000H\r
-DB 000H,000H,018H,018H,000H,038H,018H,018H,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,006H,006H,000H,00EH,006H,006H,006H,006H,006H,006H,066H,066H,03CH,000H\r
-DB 000H,000H,0E0H,060H,060H,066H,06CH,078H,078H,06CH,066H,0E6H,000H,000H,000H,000H\r
-DB 000H,000H,038H,018H,018H,018H,018H,018H,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0ECH,0FEH,0D6H,0D6H,0D6H,0D6H,0D6H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0DCH,066H,066H,066H,066H,066H,066H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,07CH,0C6H,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0DCH,066H,066H,066H,066H,066H,07CH,060H,060H,0F0H,000H\r
-DB 000H,000H,000H,000H,000H,076H,0CCH,0CCH,0CCH,0CCH,0CCH,07CH,00CH,00CH,01EH,000H\r
-DB 000H,000H,000H,000H,000H,0DCH,076H,062H,060H,060H,060H,0F0H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,07CH,0C6H,060H,038H,00CH,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,010H,030H,030H,0FCH,030H,030H,030H,030H,036H,01CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0CCH,0CCH,0CCH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,066H,066H,066H,066H,066H,03CH,018H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0C6H,0C6H,0C6H,0D6H,0D6H,0FEH,06CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0C6H,06CH,038H,038H,038H,06CH,0C6H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,07EH,006H,00CH,0F8H,000H\r
-DB 000H,000H,000H,000H,000H,0FEH,0CCH,018H,030H,060H,0C6H,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,00EH,018H,018H,018H,070H,018H,018H,018H,018H,00EH,000H,000H,000H,000H\r
-DB 000H,000H,018H,018H,018H,018H,000H,018H,018H,018H,018H,018H,000H,000H,000H,000H\r
-DB 000H,000H,070H,018H,018H,018H,00EH,018H,018H,018H,018H,070H,000H,000H,000H,000H\r
-DB 000H,000H,076H,0DCH,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,010H,038H,06CH,0C6H,0C6H,0C6H,0FEH,000H,000H,000H,000H,000H\r
-DB 000H,000H,03CH,066H,0C2H,0C0H,0C0H,0C0H,0C2H,066H,03CH,00CH,006H,07CH,000H,000H\r
-DB 000H,000H,0CCH,0CCH,000H,0CCH,0CCH,0CCH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,00CH,018H,030H,000H,07CH,0C6H,0FEH,0C0H,0C0H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,010H,038H,06CH,000H,078H,00CH,07CH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,0CCH,0CCH,000H,078H,00CH,07CH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,060H,030H,018H,000H,078H,00CH,07CH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,038H,06CH,038H,000H,078H,00CH,07CH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,03CH,066H,060H,060H,066H,03CH,00CH,006H,03CH,000H,000H,000H\r
-DB 000H,010H,038H,06CH,000H,07CH,0C6H,0FEH,0C0H,0C0H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,000H,07CH,0C6H,0FEH,0C0H,0C0H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,060H,030H,018H,000H,07CH,0C6H,0FEH,0C0H,0C0H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,066H,066H,000H,038H,018H,018H,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,018H,03CH,066H,000H,038H,018H,018H,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,060H,030H,018H,000H,038H,018H,018H,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,0C6H,0C6H,010H,038H,06CH,0C6H,0C6H,0FEH,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 038H,06CH,038H,000H,038H,06CH,0C6H,0C6H,0FEH,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 018H,030H,060H,000H,0FEH,066H,060H,07CH,060H,060H,066H,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0CCH,076H,036H,07EH,0D8H,0D8H,06EH,000H,000H,000H,000H\r
-DB 000H,000H,03EH,06CH,0CCH,0CCH,0FEH,0CCH,0CCH,0CCH,0CCH,0CEH,000H,000H,000H,000H\r
-DB 000H,010H,038H,06CH,000H,07CH,0C6H,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,000H,07CH,0C6H,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,060H,030H,018H,000H,07CH,0C6H,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,030H,078H,0CCH,000H,0CCH,0CCH,0CCH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,060H,030H,018H,000H,0CCH,0CCH,0CCH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,000H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,07EH,006H,00CH,078H,000H\r
-DB 000H,0C6H,0C6H,000H,038H,06CH,0C6H,0C6H,0C6H,0C6H,06CH,038H,000H,000H,000H,000H\r
-DB 000H,0C6H,0C6H,000H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,018H,018H,03CH,066H,060H,060H,060H,066H,03CH,018H,018H,000H,000H,000H,000H\r
-DB 000H,038H,06CH,064H,060H,0F0H,060H,060H,060H,060H,0E6H,0FCH,000H,000H,000H,000H\r
-DB 000H,000H,066H,066H,03CH,018H,07EH,018H,07EH,018H,018H,018H,000H,000H,000H,000H\r
-DB 000H,0F8H,0CCH,0CCH,0F8H,0C4H,0CCH,0DEH,0CCH,0CCH,0CCH,0C6H,000H,000H,000H,000H\r
-DB 000H,00EH,01BH,018H,018H,018H,07EH,018H,018H,018H,018H,018H,0D8H,070H,000H,000H\r
-DB 000H,018H,030H,060H,000H,078H,00CH,07CH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,00CH,018H,030H,000H,038H,018H,018H,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,018H,030H,060H,000H,07CH,0C6H,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,018H,030H,060H,000H,0CCH,0CCH,0CCH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,076H,0DCH,000H,0DCH,066H,066H,066H,066H,066H,066H,000H,000H,000H,000H\r
-DB 076H,0DCH,000H,0C6H,0E6H,0F6H,0FEH,0DEH,0CEH,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 000H,03CH,06CH,06CH,03EH,000H,07EH,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,038H,06CH,06CH,038H,000H,07CH,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,030H,030H,000H,030H,030H,060H,0C0H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,0FEH,0C0H,0C0H,0C0H,0C0H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,0FEH,006H,006H,006H,006H,000H,000H,000H,000H,000H\r
-DB 000H,0C0H,0C0H,0C2H,0C6H,0CCH,018H,030H,060H,0CEH,093H,006H,00CH,01FH,000H,000H\r
-DB 000H,0C0H,0C0H,0C2H,0C6H,0CCH,018H,030H,066H,0CEH,09AH,03FH,006H,00FH,000H,000H\r
-DB 000H,000H,018H,018H,000H,018H,018H,018H,03CH,03CH,03CH,018H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,033H,066H,0CCH,066H,033H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0CCH,066H,033H,066H,0CCH,000H,000H,000H,000H,000H,000H\r
-DB 011H,044H,011H,044H,011H,044H,011H,044H,011H,044H,011H,044H,011H,044H,011H,044H\r
-DB 055H,0AAH,055H,0AAH,055H,0AAH,055H,0AAH,055H,0AAH,055H,0AAH,055H,0AAH,055H,0AAH\r
-DB 0DDH,077H,0DDH,077H,0DDH,077H,0DDH,077H,0DDH,077H,0DDH,077H,0DDH,077H,0DDH,077H\r
-DB 018H,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 018H,018H,018H,018H,018H,018H,018H,0F8H,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 018H,018H,018H,018H,018H,0F8H,018H,0F8H,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 036H,036H,036H,036H,036H,036H,036H,0F6H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 000H,000H,000H,000H,000H,000H,000H,0FEH,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 000H,000H,000H,000H,000H,0F8H,018H,0F8H,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 036H,036H,036H,036H,036H,0F6H,006H,0F6H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 036H,036H,036H,036H,036H,036H,036H,036H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 000H,000H,000H,000H,000H,0FEH,006H,0F6H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 036H,036H,036H,036H,036H,0F6H,006H,0FEH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 036H,036H,036H,036H,036H,036H,036H,0FEH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 018H,018H,018H,018H,018H,0F8H,018H,0F8H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,0F8H,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 018H,018H,018H,018H,018H,018H,018H,01FH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 018H,018H,018H,018H,018H,018H,018H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,0FFH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 018H,018H,018H,018H,018H,018H,018H,01FH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 000H,000H,000H,000H,000H,000H,000H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 018H,018H,018H,018H,018H,018H,018H,0FFH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 018H,018H,018H,018H,018H,01FH,018H,01FH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 036H,036H,036H,036H,036H,036H,036H,037H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 036H,036H,036H,036H,036H,037H,030H,03FH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,03FH,030H,037H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 036H,036H,036H,036H,036H,0F7H,000H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0FFH,000H,0F7H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 036H,036H,036H,036H,036H,037H,030H,037H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 000H,000H,000H,000H,000H,0FFH,000H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 036H,036H,036H,036H,036H,0F7H,000H,0F7H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 018H,018H,018H,018H,018H,0FFH,000H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 036H,036H,036H,036H,036H,036H,036H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0FFH,000H,0FFH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 000H,000H,000H,000H,000H,000H,000H,0FFH,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 036H,036H,036H,036H,036H,036H,036H,03FH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 018H,018H,018H,018H,018H,01FH,018H,01FH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,01FH,018H,01FH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 000H,000H,000H,000H,000H,000H,000H,03FH,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 036H,036H,036H,036H,036H,036H,036H,0FFH,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 018H,018H,018H,018H,018H,0FFH,018H,0FFH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 018H,018H,018H,018H,018H,018H,018H,0F8H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,01FH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH\r
-DB 000H,000H,000H,000H,000H,000H,000H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH\r
-DB 0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H\r
-DB 00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH\r
-DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,076H,0DCH,0D8H,0D8H,0D8H,0DCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0FCH,0C6H,0FCH,0C6H,0C6H,0FCH,0C0H,0C0H,0C0H,000H,000H\r
-DB 000H,000H,0FEH,0C6H,0C6H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,080H,0FEH,06CH,06CH,06CH,06CH,06CH,06CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,0FEH,0C6H,060H,030H,018H,030H,060H,0C6H,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,07EH,0D8H,0D8H,0D8H,0D8H,0D8H,070H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,066H,066H,066H,066H,066H,07CH,060H,060H,0C0H,000H,000H,000H\r
-DB 000H,000H,000H,000H,076H,0DCH,018H,018H,018H,018H,018H,018H,000H,000H,000H,000H\r
-DB 000H,000H,000H,07EH,018H,03CH,066H,066H,066H,03CH,018H,07EH,000H,000H,000H,000H\r
-DB 000H,000H,000H,038H,06CH,0C6H,0C6H,0FEH,0C6H,0C6H,06CH,038H,000H,000H,000H,000H\r
-DB 000H,000H,038H,06CH,0C6H,0C6H,0C6H,06CH,06CH,06CH,06CH,0EEH,000H,000H,000H,000H\r
-DB 000H,000H,01EH,030H,018H,00CH,03EH,066H,066H,066H,066H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,07EH,0DBH,0DBH,0DBH,07EH,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,003H,006H,07EH,0CFH,0DBH,0F3H,07EH,060H,0C0H,000H,000H,000H,000H\r
-DB 000H,000H,01CH,030H,060H,060H,07CH,060H,060H,060H,030H,01CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,07CH,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,0FEH,000H,000H,0FEH,000H,000H,0FEH,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,018H,018H,07EH,018H,018H,000H,000H,0FFH,000H,000H,000H,000H\r
-DB 000H,000H,000H,030H,018H,00CH,006H,00CH,018H,030H,000H,07EH,000H,000H,000H,000H\r
-DB 000H,000H,000H,00CH,018H,030H,060H,030H,018H,00CH,000H,07EH,000H,000H,000H,000H\r
-DB 000H,000H,00EH,01BH,01BH,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 018H,018H,018H,018H,018H,018H,018H,018H,0D8H,0D8H,0D8H,070H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,018H,018H,000H,07EH,000H,018H,018H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,076H,0DCH,000H,076H,0DCH,000H,000H,000H,000H,000H,000H\r
-DB 000H,038H,06CH,06CH,038H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,018H,018H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,000H,018H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,00FH,00CH,00CH,00CH,00CH,00CH,0ECH,06CH,06CH,03CH,01CH,000H,000H,000H,000H\r
-DB 000H,0D8H,06CH,06CH,06CH,06CH,06CH,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,070H,098H,030H,060H,0C8H,0F8H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,07CH,07CH,07CH,07CH,07CH,07CH,07CH,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
+++ /dev/null
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- Created with FEDIT written by Kinfira (Jeffrey Morgan) -=\r
-;=- -=\r
-;=- Tauron VGA Utilities Version 1.0 -=\r
-;=- Released June 14, 1998 -=\r
-;=- -=\r
-;=- Font Width: 8 -=\r
-;=- Font Height: 16 -=\r
-;=- Bytes per character: 16 -=\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,07EH,081H,0A5H,081H,081H,0BDH,099H,081H,081H,07EH,000H,000H,000H,000H\r
-DB 000H,000H,07EH,0FFH,0DBH,0FFH,0FFH,0C3H,0E7H,0FFH,0FFH,07EH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,06CH,0FEH,0FEH,0FEH,0FEH,07CH,038H,010H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,010H,038H,07CH,0FEH,07CH,038H,010H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,018H,03CH,03CH,0E7H,0E7H,0E7H,099H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,018H,03CH,07EH,0FFH,0FFH,07EH,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,018H,03CH,03CH,018H,000H,000H,000H,000H,000H,000H\r
-DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0E7H,0C3H,0C3H,0E7H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH\r
-DB 000H,000H,000H,000H,000H,03CH,066H,042H,042H,066H,03CH,000H,000H,000H,000H,000H\r
-DB 0FFH,0FFH,0FFH,0FFH,0FFH,0C3H,099H,0BDH,0BDH,099H,0C3H,0FFH,0FFH,0FFH,0FFH,0FFH\r
-DB 000H,000H,01EH,00EH,01AH,032H,078H,0CCH,0CCH,0CCH,0CCH,078H,000H,000H,000H,000H\r
-DB 000H,000H,03CH,066H,066H,066H,066H,03CH,018H,07EH,018H,018H,000H,000H,000H,000H\r
-DB 000H,000H,03FH,033H,03FH,030H,030H,030H,030H,070H,0F0H,0E0H,000H,000H,000H,000H\r
-DB 000H,000H,07FH,063H,07FH,063H,063H,063H,063H,067H,0E7H,0E6H,0C0H,000H,000H,000H\r
-DB 000H,000H,000H,018H,018H,0DBH,03CH,0E7H,03CH,0DBH,018H,018H,000H,000H,000H,000H\r
-DB 000H,080H,0C0H,0E0H,0F0H,0F8H,0FEH,0F8H,0F0H,0E0H,0C0H,080H,000H,000H,000H,000H\r
-DB 000H,002H,006H,00EH,01EH,03EH,0FEH,03EH,01EH,00EH,006H,002H,000H,000H,000H,000H\r
-DB 000H,000H,018H,03CH,07EH,018H,018H,018H,018H,07EH,03CH,018H,000H,000H,000H,000H\r
-DB 000H,000H,066H,066H,066H,066H,066H,066H,066H,000H,066H,066H,000H,000H,000H,000H\r
-DB 000H,000H,07FH,0DBH,0DBH,0DBH,07BH,01BH,01BH,01BH,01BH,01BH,000H,000H,000H,000H\r
-DB 000H,07CH,0C6H,060H,038H,06CH,0C6H,0C6H,06CH,038H,00CH,0C6H,07CH,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,000H,0FEH,0FEH,0FEH,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,018H,03CH,07EH,018H,018H,018H,018H,07EH,03CH,018H,07EH,000H,000H,000H\r
-DB 000H,000H,018H,03CH,07EH,018H,018H,018H,018H,018H,018H,018H,000H,000H,000H,000H\r
-DB 000H,000H,018H,018H,018H,018H,018H,018H,018H,07EH,03CH,018H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,018H,00CH,0FEH,00CH,018H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,030H,060H,0FEH,060H,030H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0C0H,0C0H,0C0H,0C0H,0FEH,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,028H,06CH,0FEH,06CH,028H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,010H,038H,038H,07CH,07CH,0FEH,0FEH,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,0FEH,0FEH,07CH,07CH,038H,038H,010H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,018H,03CH,03CH,03CH,018H,018H,018H,000H,018H,018H,000H,000H,000H,000H\r
-DB 000H,066H,066H,066H,024H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,06CH,06CH,0FEH,06CH,06CH,06CH,0FEH,06CH,06CH,000H,000H,000H,000H\r
-DB 018H,018H,07CH,0C6H,0C2H,0C0H,07CH,006H,086H,0C6H,07CH,018H,018H,000H,000H,000H\r
-DB 000H,000H,000H,000H,0C2H,0C6H,00CH,018H,030H,060H,0C6H,086H,000H,000H,000H,000H\r
-DB 000H,000H,038H,06CH,06CH,038H,076H,0DCH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,030H,030H,030H,060H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,00CH,018H,030H,030H,030H,030H,030H,030H,018H,00CH,000H,000H,000H,000H\r
-DB 000H,000H,030H,018H,00CH,00CH,00CH,00CH,00CH,00CH,018H,030H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,066H,03CH,0FFH,03CH,066H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,018H,018H,07EH,018H,018H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,018H,018H,018H,030H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,0FEH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,018H,018H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,002H,006H,00CH,018H,030H,060H,0C0H,080H,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,0C6H,0CEH,0D6H,0D6H,0E6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,018H,038H,078H,018H,018H,018H,018H,018H,018H,07EH,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,006H,00CH,018H,030H,060H,0C0H,0C6H,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,006H,006H,03CH,006H,006H,006H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,00CH,01CH,03CH,06CH,0CCH,0FEH,00CH,00CH,00CH,01EH,000H,000H,000H,000H\r
-DB 000H,000H,0FEH,0C0H,0C0H,0C0H,0FCH,00EH,006H,006H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,038H,060H,0C0H,0C0H,0FCH,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,0FEH,0C6H,006H,006H,00CH,018H,030H,030H,030H,030H,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,0C6H,0C6H,07CH,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,0C6H,0C6H,07EH,006H,006H,006H,00CH,078H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,018H,018H,000H,000H,000H,018H,018H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,018H,018H,000H,000H,000H,018H,018H,030H,000H,000H,000H,000H\r
-DB 000H,000H,000H,006H,00CH,018H,030H,060H,030H,018H,00CH,006H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,0FEH,000H,000H,0FEH,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,060H,030H,018H,00CH,006H,00CH,018H,030H,060H,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,0C6H,00CH,018H,018H,018H,000H,018H,018H,000H,000H,000H,000H\r
-DB 000H,000H,000H,07CH,0C6H,0C6H,0DEH,0DEH,0DEH,0DCH,0C0H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,010H,038H,06CH,0C6H,0C6H,0FFH,0C6H,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 000H,000H,0FCH,066H,066H,066H,07CH,0FFH,066H,066H,066H,0FCH,000H,000H,000H,000H\r
-DB 000H,000H,03CH,066H,0C2H,0C0H,0C0H,0FFH,0C0H,0C2H,066H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,0F8H,06CH,066H,066H,066H,0FFH,066H,066H,06CH,0F8H,000H,000H,000H,000H\r
-DB 000H,000H,0FEH,066H,062H,068H,078H,0FFH,060H,062H,066H,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,0FEH,066H,062H,068H,078H,0FFH,060H,060H,060H,0F0H,000H,000H,000H,000H\r
-DB 000H,000H,03CH,066H,0C2H,0C0H,0C0H,0FFH,0C6H,0C6H,066H,03AH,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,0C6H,0C6H,0FEH,0FFH,0C6H,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 000H,000H,03CH,018H,018H,018H,018H,0FFH,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,01EH,00CH,00CH,00CH,00CH,0FFH,0CCH,0CCH,0CCH,078H,000H,000H,000H,000H\r
-DB 000H,000H,0E6H,066H,06CH,06CH,078H,0FFH,06CH,066H,066H,0E6H,000H,000H,000H,000H\r
-DB 000H,000H,0F0H,060H,060H,060H,060H,0FFH,060H,062H,066H,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0EEH,0FEH,0FEH,0D6H,0FFH,0C6H,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0E6H,0F6H,0FEH,0DEH,0FFH,0C6H,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 000H,000H,038H,06CH,0C6H,0C6H,0C6H,0FFH,0C6H,0C6H,06CH,038H,000H,000H,000H,000H\r
-DB 000H,000H,0FCH,066H,066H,066H,07CH,0FFH,060H,060H,060H,0F0H,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,0C6H,0C6H,0C6H,0FFH,0C6H,0D6H,0DEH,07CH,00CH,00EH,000H,000H\r
-DB 000H,000H,0FCH,066H,066H,066H,07CH,0FFH,066H,066H,066H,0E6H,000H,000H,000H,000H\r
-DB 000H,000H,07CH,0C6H,0C6H,060H,038H,0FFH,006H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,07EH,07EH,05AH,018H,018H,0FFH,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,0C6H,0C6H,0C6H,0FFH,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,0C6H,0C6H,0C6H,0FFH,0C6H,06CH,038H,010H,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,0C6H,0C6H,0C6H,0FFH,0D6H,0FEH,06CH,06CH,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,06CH,06CH,038H,0FFH,06CH,06CH,0C6H,0C6H,000H,000H,000H,000H\r
-DB 000H,000H,066H,066H,066H,066H,03CH,0FFH,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,0FEH,0C6H,086H,00CH,018H,0FFH,060H,0C2H,0C6H,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,03CH,030H,030H,030H,030H,0FFH,030H,030H,030H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,080H,0C0H,0E0H,070H,0FFH,01CH,00EH,006H,002H,000H,000H,000H,000H\r
-DB 000H,000H,03CH,00CH,00CH,00CH,00CH,0FFH,00CH,00CH,00CH,03CH,000H,000H,000H,000H\r
-DB 010H,038H,06CH,0C6H,000H,000H,000H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,0FFH,000H,000H,000H,000H,000H,0FFH,000H,000H\r
-DB 030H,030H,018H,000H,000H,000H,000H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,078H,00CH,07CH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,0E0H,060H,060H,078H,06CH,066H,066H,066H,066H,0DCH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,07CH,0C6H,0C0H,0C0H,0C0H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,01CH,00CH,00CH,03CH,06CH,0CCH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,07CH,0C6H,0FEH,0C0H,0C0H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,038H,06CH,064H,060H,0F0H,060H,060H,060H,060H,0F0H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,076H,0CCH,0CCH,0CCH,0CCH,0CCH,07CH,00CH,0CCH,078H,000H\r
-DB 000H,000H,0E0H,060H,060H,06CH,076H,066H,066H,066H,066H,0E6H,000H,000H,000H,000H\r
-DB 000H,000H,018H,018H,000H,038H,018H,018H,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,006H,006H,000H,00EH,006H,006H,006H,006H,006H,006H,066H,066H,03CH,000H\r
-DB 000H,000H,0E0H,060H,060H,066H,06CH,078H,078H,06CH,066H,0E6H,000H,000H,000H,000H\r
-DB 000H,000H,038H,018H,018H,018H,018H,018H,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0ECH,0FEH,0D6H,0D6H,0D6H,0D6H,0D6H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0DCH,066H,066H,066H,066H,066H,066H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,07CH,0C6H,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0DCH,066H,066H,066H,066H,066H,07CH,060H,060H,0F0H,000H\r
-DB 000H,000H,000H,000H,000H,076H,0CCH,0CCH,0CCH,0CCH,0CCH,07CH,00CH,00CH,01EH,000H\r
-DB 000H,000H,000H,000H,000H,0DCH,076H,062H,060H,060H,060H,0F0H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,07CH,0C6H,060H,038H,00CH,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,010H,030H,030H,0FCH,030H,030H,030H,030H,036H,01CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0CCH,0CCH,0CCH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,066H,066H,066H,066H,066H,03CH,018H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0C6H,0C6H,0C6H,0D6H,0D6H,0FEH,06CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0C6H,06CH,038H,038H,038H,06CH,0C6H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,07EH,006H,00CH,0F8H,000H\r
-DB 000H,000H,000H,000H,000H,0FEH,0CCH,018H,030H,060H,0C6H,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,00EH,018H,018H,018H,070H,018H,018H,018H,018H,00EH,000H,000H,000H,000H\r
-DB 000H,000H,018H,018H,018H,018H,000H,018H,018H,018H,018H,018H,000H,000H,000H,000H\r
-DB 000H,000H,070H,018H,018H,018H,00EH,018H,018H,018H,018H,070H,000H,000H,000H,000H\r
-DB 000H,000H,076H,0DCH,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,010H,038H,06CH,0C6H,0C6H,0C6H,0FEH,000H,000H,000H,000H,000H\r
-DB 000H,000H,03CH,066H,0C2H,0C0H,0C0H,0C0H,0C2H,066H,03CH,00CH,006H,07CH,000H,000H\r
-DB 000H,000H,0CCH,0CCH,000H,0CCH,0CCH,0CCH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,00CH,018H,030H,000H,07CH,0C6H,0FEH,0C0H,0C0H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,010H,038H,06CH,000H,078H,00CH,07CH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,0CCH,0CCH,000H,078H,00CH,07CH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,060H,030H,018H,000H,078H,00CH,07CH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,038H,06CH,038H,000H,078H,00CH,07CH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,03CH,066H,060H,060H,066H,03CH,00CH,006H,03CH,000H,000H,000H\r
-DB 000H,010H,038H,06CH,000H,07CH,0C6H,0FEH,0C0H,0C0H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,000H,07CH,0C6H,0FEH,0C0H,0C0H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,060H,030H,018H,000H,07CH,0C6H,0FEH,0C0H,0C0H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,066H,066H,000H,038H,018H,018H,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,018H,03CH,066H,000H,038H,018H,018H,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,060H,030H,018H,000H,038H,018H,018H,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,0C6H,0C6H,010H,038H,06CH,0C6H,0C6H,0FEH,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 038H,06CH,038H,000H,038H,06CH,0C6H,0C6H,0FEH,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 018H,030H,060H,000H,0FEH,066H,060H,07CH,060H,060H,066H,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0CCH,076H,036H,07EH,0D8H,0D8H,06EH,000H,000H,000H,000H\r
-DB 000H,000H,03EH,06CH,0CCH,0CCH,0FEH,0CCH,0CCH,0CCH,0CCH,0CEH,000H,000H,000H,000H\r
-DB 000H,010H,038H,06CH,000H,07CH,0C6H,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,000H,07CH,0C6H,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,060H,030H,018H,000H,07CH,0C6H,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,030H,078H,0CCH,000H,0CCH,0CCH,0CCH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,060H,030H,018H,000H,0CCH,0CCH,0CCH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,0C6H,0C6H,000H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,07EH,006H,00CH,078H,000H\r
-DB 000H,0C6H,0C6H,000H,038H,06CH,0C6H,0C6H,0C6H,0C6H,06CH,038H,000H,000H,000H,000H\r
-DB 000H,0C6H,0C6H,000H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,018H,018H,03CH,066H,060H,060H,060H,066H,03CH,018H,018H,000H,000H,000H,000H\r
-DB 000H,038H,06CH,064H,060H,0F0H,060H,060H,060H,060H,0E6H,0FCH,000H,000H,000H,000H\r
-DB 000H,000H,066H,066H,03CH,018H,07EH,018H,07EH,018H,018H,018H,000H,000H,000H,000H\r
-DB 000H,0F8H,0CCH,0CCH,0F8H,0C4H,0CCH,0DEH,0CCH,0CCH,0CCH,0C6H,000H,000H,000H,000H\r
-DB 000H,00EH,01BH,018H,018H,018H,07EH,018H,018H,018H,018H,018H,0D8H,070H,000H,000H\r
-DB 000H,018H,030H,060H,000H,078H,00CH,07CH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,00CH,018H,030H,000H,038H,018H,018H,018H,018H,018H,03CH,000H,000H,000H,000H\r
-DB 000H,018H,030H,060H,000H,07CH,0C6H,0C6H,0C6H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,018H,030H,060H,000H,0CCH,0CCH,0CCH,0CCH,0CCH,0CCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,076H,0DCH,000H,0DCH,066H,066H,066H,066H,066H,066H,000H,000H,000H,000H\r
-DB 076H,0DCH,000H,0C6H,0E6H,0F6H,0FEH,0DEH,0CEH,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 000H,03CH,06CH,06CH,03EH,000H,07EH,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,038H,06CH,06CH,038H,000H,07CH,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,030H,030H,000H,030H,030H,060H,0C0H,0C6H,0C6H,07CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,0FEH,0C0H,0C0H,0C0H,0C0H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,0FEH,006H,006H,006H,006H,000H,000H,000H,000H,000H\r
-DB 000H,0C0H,0C0H,0C2H,0C6H,0CCH,018H,030H,060H,0CEH,093H,006H,00CH,01FH,000H,000H\r
-DB 000H,0C0H,0C0H,0C2H,0C6H,0CCH,018H,030H,066H,0CEH,09AH,03FH,006H,00FH,000H,000H\r
-DB 000H,000H,018H,018H,000H,018H,018H,018H,03CH,03CH,03CH,018H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,033H,066H,0CCH,066H,033H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0CCH,066H,033H,066H,0CCH,000H,000H,000H,000H,000H,000H\r
-DB 011H,044H,011H,044H,011H,044H,011H,044H,011H,044H,011H,044H,011H,044H,011H,044H\r
-DB 055H,0AAH,055H,0AAH,055H,0AAH,055H,0AAH,055H,0AAH,055H,0AAH,055H,0AAH,055H,0AAH\r
-DB 0DDH,077H,0DDH,077H,0DDH,077H,0DDH,077H,0DDH,077H,0DDH,077H,0DDH,077H,0DDH,077H\r
-DB 018H,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 018H,018H,018H,018H,018H,018H,018H,0F8H,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 018H,018H,018H,018H,018H,0F8H,018H,0F8H,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 036H,036H,036H,036H,036H,036H,036H,0F6H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 000H,000H,000H,000H,000H,000H,000H,0FEH,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 000H,000H,000H,000H,000H,0F8H,018H,0F8H,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 036H,036H,036H,036H,036H,0F6H,006H,0F6H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 036H,036H,036H,036H,036H,036H,036H,036H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 000H,000H,000H,000H,000H,0FEH,006H,0F6H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 036H,036H,036H,036H,036H,0F6H,006H,0FEH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 036H,036H,036H,036H,036H,036H,036H,0FEH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 018H,018H,018H,018H,018H,0F8H,018H,0F8H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,0F8H,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 018H,018H,018H,018H,018H,018H,018H,01FH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 018H,018H,018H,018H,018H,018H,018H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,0FFH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 018H,018H,018H,018H,018H,018H,018H,01FH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 000H,000H,000H,000H,000H,000H,000H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 018H,018H,018H,018H,018H,018H,018H,0FFH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 018H,018H,018H,018H,018H,01FH,018H,01FH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 036H,036H,036H,036H,036H,036H,036H,037H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 036H,036H,036H,036H,036H,037H,030H,03FH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,03FH,030H,037H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 036H,036H,036H,036H,036H,0F7H,000H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0FFH,000H,0F7H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 036H,036H,036H,036H,036H,037H,030H,037H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 000H,000H,000H,000H,000H,0FFH,000H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 036H,036H,036H,036H,036H,0F7H,000H,0F7H,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 018H,018H,018H,018H,018H,0FFH,000H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 036H,036H,036H,036H,036H,036H,036H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0FFH,000H,0FFH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 000H,000H,000H,000H,000H,000H,000H,0FFH,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 036H,036H,036H,036H,036H,036H,036H,03FH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 018H,018H,018H,018H,018H,01FH,018H,01FH,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,01FH,018H,01FH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 000H,000H,000H,000H,000H,000H,000H,03FH,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 036H,036H,036H,036H,036H,036H,036H,0FFH,036H,036H,036H,036H,036H,036H,036H,036H\r
-DB 018H,018H,018H,018H,018H,0FFH,018H,0FFH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 018H,018H,018H,018H,018H,018H,018H,0F8H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,01FH,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH\r
-DB 000H,000H,000H,000H,000H,000H,000H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH\r
-DB 0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H\r
-DB 00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH\r
-DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,076H,0DCH,0D8H,0D8H,0D8H,0DCH,076H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,0FCH,0C6H,0FCH,0C6H,0C6H,0FCH,0C0H,0C0H,0C0H,000H,000H\r
-DB 000H,000H,0FEH,0C6H,0C6H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,0C0H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,080H,0FEH,06CH,06CH,06CH,06CH,06CH,06CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,0FEH,0C6H,060H,030H,018H,030H,060H,0C6H,0FEH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,07EH,0D8H,0D8H,0D8H,0D8H,0D8H,070H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,066H,066H,066H,066H,066H,07CH,060H,060H,0C0H,000H,000H,000H\r
-DB 000H,000H,000H,000H,076H,0DCH,018H,018H,018H,018H,018H,018H,000H,000H,000H,000H\r
-DB 000H,000H,000H,07EH,018H,03CH,066H,066H,066H,03CH,018H,07EH,000H,000H,000H,000H\r
-DB 000H,000H,000H,038H,06CH,0C6H,0C6H,0FEH,0C6H,0C6H,06CH,038H,000H,000H,000H,000H\r
-DB 000H,000H,038H,06CH,0C6H,0C6H,0C6H,06CH,06CH,06CH,06CH,0EEH,000H,000H,000H,000H\r
-DB 000H,000H,01EH,030H,018H,00CH,03EH,066H,066H,066H,066H,03CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,07EH,0DBH,0DBH,0DBH,07EH,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,003H,006H,07EH,0CFH,0DBH,0F3H,07EH,060H,0C0H,000H,000H,000H,000H\r
-DB 000H,000H,01CH,030H,060H,060H,07CH,060H,060H,060H,030H,01CH,000H,000H,000H,000H\r
-DB 000H,000H,000H,07CH,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,0C6H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,0FEH,000H,000H,0FEH,000H,000H,0FEH,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,018H,018H,07EH,018H,018H,000H,000H,0FFH,000H,000H,000H,000H\r
-DB 000H,000H,000H,030H,018H,00CH,006H,00CH,018H,030H,000H,07EH,000H,000H,000H,000H\r
-DB 000H,000H,000H,00CH,018H,030H,060H,030H,018H,00CH,000H,07EH,000H,000H,000H,000H\r
-DB 000H,000H,00EH,01BH,01BH,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H,018H\r
-DB 018H,018H,018H,018H,018H,018H,018H,018H,0D8H,0D8H,0D8H,070H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,018H,018H,000H,07EH,000H,018H,018H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,076H,0DCH,000H,076H,0DCH,000H,000H,000H,000H,000H,000H\r
-DB 000H,038H,06CH,06CH,038H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,018H,018H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,000H,018H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,00FH,00CH,00CH,00CH,00CH,00CH,0ECH,06CH,06CH,03CH,01CH,000H,000H,000H,000H\r
-DB 000H,0D8H,06CH,06CH,06CH,06CH,06CH,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,070H,098H,030H,060H,0C8H,0F8H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,07CH,07CH,07CH,07CH,07CH,07CH,07CH,000H,000H,000H,000H,000H\r
-DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H\r
+++ /dev/null
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- -=\r
-;=- Tauron VGA Utilities Version 3.0 -=\r
-;=- Released September 20, 1998 -=\r
-;=- -=\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-;=- All Rights Reserved. =-= that you put my name some- -=\r
-;=- =-= where in your credits. -=\r
-;=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- I assume no responsibility whatsoever for any effect that this package, -=\r
-;=- the information contained therein or the use thereof has on you, your -=\r
-;=- sanity, computer, spouse, children, pets or anything else related to -=\r
-;=- you or your existance. No warranty is provided nor implied with this -=\r
-;=- source code. -=\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-.MODEL SMALL\r
-.386\r
-JUMPS\r
-LOCALS\r
-.STACK 200h\r
-.DATA\r
-\r
-ATTRCON_ADDR EQU 03C0H\r
-MISC_ADDR EQU 03C2H\r
-VGAENABLE_ADDR EQU 03C3H\r
-SEQ_ADDR EQU 03C4H\r
-GRACON_ADDR EQU 03CEH\r
-CRTC_ADDR EQU 03D4H\r
-STATUS_ADDR EQU 03DAH\r
-\r
-; Videomode defines\r
-VMODE_00H EQU 00H\r
-VMODE_01H EQU 00H\r
-VMODE_02H EQU 03H\r
-VMODE_03H EQU 03H\r
-VMODE_04H EQU 04H\r
-VMODE_05H EQU 04H\r
-VMODE_06H EQU 06H\r
-VMODE_07H EQU 07H\r
-VMODE_0DH EQU 0DH\r
-VMODE_0EH EQU 0EH\r
-VMODE_0FH EQU 0FH\r
-VMODE_10H EQU 10H\r
-VMODE_11H EQU 11H\r
-VMODE_12H EQU 12H\r
-VMODE_13H EQU 13H\r
-VMODE_CHAIN4 EQU 14H\r
-VMODE_MODE_X EQU 15H\r
-VMODE_MODE_A EQU 16H\r
-VMODE_MODE_B EQU 17H\r
-VMODE_MODE_C EQU 18H\r
-VMODE_MODE_D EQU 19H\r
-VMODE_MODE_E EQU 1AH\r
-VMODE_MODE_F EQU 1BH\r
-VMODE_MODE_G EQU 1CH\r
-VMODE_MODE_H EQU 1DH\r
-VMODE_MODE_I EQU 1EH\r
-VMODE_MODE_J EQU 1FH\r
-VMODE_MODE_K EQU 20H\r
-VMODE_MODE_L EQU 21H\r
-VMODE_MODE_M EQU 22H\r
-VMODE_MODE_N EQU 23H\r
-\r
-;These next four lines must be included for the text mode stuff to work.\r
-oldmode db ?\r
-oldmisc db ?\r
-oldmask db ?\r
-oldmem db ?\r
-\r
-PALETTE LABEL BYTE\r
-DB 0, 0, 0, 0, 0, 42, 0, 42, 0, 0, 42, 42, 42, 0, 0, 42, 0, 42\r
-DB 42, 21, 0, 42, 42, 42, 21, 21, 21, 21, 21, 63, 21, 63, 21, 21, 63, 63\r
-DB 63, 21, 21, 63, 21, 63, 63, 63, 21, 63, 63, 63, 0, 0, 0, 5, 5, 5\r
-DB 8, 8, 8, 11, 11, 11, 14, 14, 14, 17, 17, 17, 20, 20, 20, 24, 24, 24\r
-DB 28, 28, 28, 32, 32, 32, 36, 36, 36, 40, 40, 40, 45, 45, 45, 50, 50, 50\r
-DB 56, 56, 56, 63, 63, 63, 0, 0, 63, 16, 0, 63, 31, 0, 63, 47, 0, 63\r
-DB 63, 0, 63, 63, 0, 47, 63, 0, 31, 63, 0, 16, 63, 0, 0, 63, 16, 0\r
-DB 63, 31, 0, 63, 47, 0, 63, 63, 0, 47, 63, 0, 31, 63, 0, 16, 63, 0\r
-DB 0, 63, 0, 0, 63, 16, 0, 63, 31, 0, 63, 47, 0, 63, 63, 0, 47, 63\r
-DB 0, 31, 63, 0, 16, 63, 31, 31, 63, 39, 31, 63, 47, 31, 63, 55, 31, 63\r
-DB 63, 31, 63, 63, 31, 55, 63, 31, 47, 63, 31, 39, 63, 31, 31, 63, 39, 31\r
-DB 63, 47, 31, 63, 55, 31, 63, 63, 31, 55, 63, 31, 47, 63, 31, 39, 63, 31\r
-DB 31, 63, 31, 31, 63, 39, 31, 63, 47, 31, 63, 55, 31, 63, 63, 31, 55, 63\r
-DB 31, 47, 63, 31, 39, 63, 45, 45, 63, 49, 45, 63, 54, 45, 63, 58, 45, 63\r
-DB 63, 45, 63, 63, 45, 58, 63, 45, 54, 63, 45, 49, 63, 45, 45, 63, 49, 45\r
-DB 63, 54, 45, 63, 58, 45, 63, 63, 45, 58, 63, 45, 54, 63, 45, 49, 63, 45\r
-DB 45, 63, 45, 45, 63, 49, 45, 63, 54, 45, 63, 58, 45, 63, 63, 45, 58, 63\r
-DB 45, 54, 63, 45, 49, 63, 0, 0, 28, 7, 0, 28, 14, 0, 28, 21, 0, 28\r
-DB 28, 0, 28, 28, 0, 21, 28, 0, 14, 28, 0, 7, 28, 0, 0, 28, 7, 0\r
-DB 28, 14, 0, 28, 21, 0, 28, 28, 0, 21, 28, 0, 14, 28, 0, 7, 28, 0\r
-DB 0, 28, 0, 0, 28, 7, 0, 28, 14, 0, 28, 21, 0, 28, 28, 0, 21, 28\r
-DB 0, 14, 28, 0, 7, 28, 14, 14, 28, 17, 14, 28, 21, 14, 28, 24, 14, 28\r
-DB 28, 14, 28, 28, 14, 24, 28, 14, 21, 28, 14, 17, 28, 14, 14, 28, 17, 14\r
-DB 28, 21, 14, 28, 24, 14, 28, 28, 14, 24, 28, 14, 21, 28, 14, 17, 28, 14\r
-DB 14, 28, 14, 14, 28, 17, 14, 28, 21, 14, 28, 24, 14, 28, 28, 14, 24, 28\r
-DB 14, 21, 28, 14, 17, 28, 20, 20, 28, 22, 20, 28, 24, 20, 28, 26, 20, 28\r
-DB 28, 20, 28, 28, 20, 26, 28, 20, 24, 28, 20, 22, 28, 20, 20, 28, 22, 20\r
-DB 28, 24, 20, 28, 26, 20, 28, 28, 20, 26, 28, 20, 24, 28, 20, 22, 28, 20\r
-DB 20, 28, 20, 20, 28, 22, 20, 28, 24, 20, 28, 26, 20, 28, 28, 20, 26, 28\r
-DB 20, 24, 28, 20, 22, 28, 0, 0, 16, 4, 0, 16, 8, 0, 16, 12, 0, 16\r
-DB 16, 0, 16, 16, 0, 12, 16, 0, 8, 16, 0, 4, 16, 0, 0, 16, 4, 0\r
-DB 16, 8, 0, 16, 12, 0, 16, 16, 0, 12, 16, 0, 8, 16, 0, 4, 16, 0\r
-DB 0, 16, 0, 0, 16, 4, 0, 16, 8, 0, 16, 12, 0, 16, 16, 0, 12, 16\r
-DB 0, 8, 16, 0, 4, 16, 8, 8, 16, 10, 8, 16, 12, 8, 16, 14, 8, 16\r
-DB 16, 8, 16, 16, 8, 14, 16, 8, 12, 16, 8, 10, 16, 8, 8, 16, 10, 8\r
-DB 16, 12, 8, 16, 14, 8, 16, 16, 8, 14, 16, 8, 12, 16, 8, 10, 16, 8\r
-DB 8, 16, 8, 8, 16, 10, 8, 16, 12, 8, 16, 14, 8, 16, 16, 8, 14, 16\r
-DB 8, 12, 16, 8, 10, 16, 11, 11, 16, 12, 11, 16, 13, 11, 16, 15, 11, 16\r
-DB 16, 11, 16, 16, 11, 15, 16, 11, 13, 16, 11, 12, 16, 11, 11, 16, 12, 11\r
-DB 16, 13, 11, 16, 15, 11, 16, 16, 11, 15, 16, 11, 13, 16, 11, 12, 16, 11\r
-DB 11, 16, 11, 11, 16, 12, 11, 16, 13, 11, 16, 15, 11, 16, 16, 11, 15, 16\r
-DB 11, 13, 16, 11, 12, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\r
-DB 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 63, 63\r
-\r
-; Must be included for any videomode to be set.\r
-include modes.inc\r
-\r
-MAIN_MSG LABEL BYTE\r
-DB 'Tauron VGA Utilities v3.0',13,10\r
-DB 'Copyright (c) 1998 Jeffrey Morgan. All Rights Reserved.',13,10\r
-DB 'Select a video mode to test: (Modes with a ! are not implemented)',13,10\r
-DB 'Key Videomode (Modes with a % are unchained)',13,10\r
-DB '================================================================================'\r
-DB ' 0) 00H, 01H -- 40 x 25 x 16 %F) Mode D -- 360 x 200 x 256',13,10\r
-DB ' 1) Mode L -- 40 x 43 x 16 %G) Mode E -- 360 x 240 x 256',13,10\r
-DB ' 2) Mode M -- 40 x 50 x 16 %H) Mode F -- 360 x 350 x 256',13,10\r
-DB '!3) 07H -- 80 x 25 x 2 %I) Mode G -- 360 x 400 x 256',13,10\r
-DB ' 4) 02H, 03H -- 80 x 25 x 16 %J) Mode H -- 360 x 480 x 256',13,10\r
-DB ' 5) Mode J -- 80 x 43 x 16 K) 06H -- 640 x 200 x 2',13,10\r
-DB ' 6) Mode K -- 80 x 50 x 16 !L) 0FH -- 640 x 350 x 2',13,10 \r
-DB ' 7) 04H, 05H -- 320 x 200 x 4 M) 11H -- 640 x 480 x 2',13,10 \r
-DB ' 8) 0DH -- 320 x 200 x 16 N) 0EH -- 640 x 200 x 16',13,10\r
-DB ' 9) 13H -- 320 x 200 x 256 O) 10H -- 640 x 350 x 16',13,10\r
-DB '%A) Chain 4 -- 320 x 200 x 256 P) Mode I -- 640 x 400 x 16',13,10\r
-DB '%B) Mode X -- 320 x 240 x 256 Q) 12H -- 640 x 480 x 16',13,10\r
-DB '%C) Mode A -- 320 x 350 x 256',13,10\r
-DB '%D) Mode B -- 320 x 400 x 256 R) Dual Font Test',13,10\r
-DB '%E) Mode C -- 320 x 480 x 256',13,10\r
-DB '===============================================================================',13,10\r
-DB 'Hit ',39,'ESC',39,' to exit. Press a key [0-9 or A-O]>$'\r
-\r
-TEXTMSG_1 DB 218,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,191,0\r
-TEXTMSG_2 DB 179,'Text Mode: 00H ',179,0 ; +13\r
-TEXTMSG_3 DB 179,'Width: 80 Height: 25',179,0 ; +8\r
-TEXTMSG_4 DB 179,'Bytes per screen: 4000',179,0 ; +19\r
-TEXTMSG_5 DB 179,'Number of pages: 8 ',179,0\r
-TEXTMSG_6 DB 192,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,217,0\r
-\r
-TEXTMSG_7 DB 218,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,191,0\r
-TEXTMSG_8 DB 179,'Text Mode J ',179,0 ; +11\r
-TEXTMSG_9 DB 179,'Width: 80 Height: 43',179,0 ; +21, +22\r
-TEXTMSG_A DB 179,'Bytes per screen: 3440',179,0 ; +19, +20, +21, +22\r
-TEXTMSG_B DB 179,'Number of pages: 8 ',179,0\r
-TEXTMSG_C DB 192,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,217,0\r
-\r
-TEXTMSG_D DB 218,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,191,0\r
-TEXTMSG_E DB 179,' DUAL FONT MODE ',179,0 ;\r
-TEXTMSG_F DB 192,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,217,0\r
-\r
-FONT_8x8_OFF DW ?\r
-FONT_8x14_OFF DW ?\r
-\r
-; Attribute for text charcters\r
-ATT DB 1FH\r
-\r
-FONT1 LABEL BYTE\r
-include font1.asm\r
-FONT2 LABEL BYTE\r
-include font2.asm\r
-.CODE\r
-\r
-IODELAY MACRO\r
- REPT 8\r
- JMP $+2\r
- ENDM\r
-ENDM\r
-\r
-Start:\r
- MOV AX,@DATA\r
- MOV DS,AX\r
-\r
- ; This must be here to ensure that the fonts are properly found because\r
- ; the location of the fonts in ROM is different on every VGA BIOS.\r
- ; Get location of the fonts for Modes J and K\r
- MOV AH,11h\r
- MOV AL,30h\r
- MOV BH,03h\r
- INT 10H\r
- MOV FONT_8x8_OFF,BP\r
-\r
- ; Get location of the fonts for Modes 00H, 01H, 02H, 03H, and 07H\r
- MOV AH,11h\r
- MOV AL,30h\r
- MOV BH,06h\r
- INT 10H\r
- MOV FONT_8x14_OFF,BP\r
-\r
- ; Reset the mode and clear the screen\r
- MOV AX,0003H\r
- INT 10H\r
-\r
- ; Print out the message\r
- MOV DX,OFFSET MAIN_MSG\r
- MOV AH,9\r
- INT 21H\r
-\r
-MAIN_LOOP:\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
-\r
- CMP AL,27\r
- JE QUIT_PROGRAM\r
-\r
- CMP AL,'0'\r
- JE MODE_00_TEST\r
-\r
- CMP AL,'1'\r
- JE MODE_L_TEST\r
-\r
- CMP AL,'2'\r
- JE MODE_M_TEST\r
-\r
- CMP AL,'4'\r
- JE MODE_03_TEST\r
-\r
- CMP AL,'5'\r
- JE MODE_J_TEST\r
-\r
- CMP AL,'6'\r
- JE MODE_K_TEST\r
-\r
- CMP AL,'7'\r
- JE MODE_04_TEST\r
-\r
- CMP AL,'8'\r
- JE MODE_0D_TEST\r
-\r
- CMP AL,'9'\r
- JE MODE_13_TEST\r
-\r
- CMP AL,'a'\r
- JE MODE_C4_TEST\r
- CMP AL,'A'\r
- JE MODE_C4_TEST\r
-\r
- CMP AL,'b'\r
- JE MODE_X_TEST\r
- CMP AL,'B'\r
- JE MODE_X_TEST\r
-\r
- CMP AL,'c'\r
- JE MODE_A_TEST\r
- CMP AL,'C'\r
- JE MODE_A_TEST\r
-\r
- CMP AL,'d'\r
- JE MODE_B_TEST\r
- CMP AL,'D'\r
- JE MODE_B_TEST\r
-\r
- CMP AL,'e'\r
- JE MODE_C_TEST\r
- CMP AL,'E'\r
- JE MODE_C_TEST\r
-\r
- CMP AL,'f'\r
- JE MODE_D_TEST\r
- CMP AL,'F'\r
- JE MODE_D_TEST\r
-\r
- CMP AL,'g'\r
- JE MODE_E_TEST\r
- CMP AL,'G'\r
- JE MODE_E_TEST\r
-\r
- CMP AL,'h'\r
- JE MODE_F_TEST\r
- CMP AL,'H'\r
- JE MODE_F_TEST\r
-\r
- CMP AL,'i'\r
- JE MODE_G_TEST\r
- CMP AL,'I'\r
- JE MODE_G_TEST\r
-\r
- CMP AL,'j'\r
- JE MODE_H_TEST\r
- CMP AL,'J'\r
- JE MODE_H_TEST\r
-\r
- CMP AL,'k'\r
- JE MODE_06_TEST\r
- CMP AL,'K'\r
- JE MODE_06_TEST\r
-\r
- CMP AL,'m'\r
- JE MODE_11_TEST\r
- CMP AL,'M'\r
- JE MODE_11_TEST\r
-\r
- CMP AL,'n'\r
- JE MODE_0E_TEST\r
- CMP AL,'N'\r
- JE MODE_0E_TEST\r
-\r
- CMP AL,'o'\r
- JE MODE_10_TEST\r
- CMP AL,'O'\r
- JE MODE_10_TEST\r
-\r
- CMP AL,'p'\r
- JE MODE_I_TEST\r
- CMP AL,'P'\r
- JE MODE_I_TEST\r
-\r
- CMP AL,'q'\r
- JE MODE_12_TEST\r
- CMP AL,'Q'\r
- JE MODE_12_TEST\r
-\r
- CMP AL,'r'\r
- JE DUAL_TEST\r
- CMP AL,'R'\r
- JE DUAL_TEST\r
- JMP MAIN_LOOP\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_00_TEST:\r
- PUSH VMODE_00H\r
- CALL SETVIDEOMODE\r
-\r
- CALL TEXTTEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_03_TEST:\r
- PUSH VMODE_03H\r
- CALL SETVIDEOMODE\r
-\r
- CALL TEXTTEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_04_TEST:\r
- PUSH VMODE_04H\r
- CALL SETVIDEOMODE\r
-\r
- PUSH 0AAAAH\r
- CALL CLEAR_B8000H\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_06_TEST:\r
- PUSH VMODE_06H\r
- CALL SETVIDEOMODE\r
-\r
- PUSH 0FFFFH\r
- CALL CLEAR_B8000H\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_0D_TEST:\r
- PUSH VMODE_0DH\r
- CALL SETVIDEOMODE\r
-\r
- PUSH 12\r
- CALL CLEAR0DH\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_0E_TEST:\r
- PUSH VMODE_0EH\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_10_TEST:\r
- PUSH VMODE_10H\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_11_TEST:\r
- PUSH VMODE_11H\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_12_TEST:\r
- PUSH VMODE_12H\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_13_TEST:\r
- PUSH VMODE_13H\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_I_TEST:\r
- PUSH VMODE_MODE_I\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_C4_TEST:\r
- PUSH VMODE_CHAIN4\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_X_TEST:\r
- PUSH VMODE_MODE_X\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_A_TEST:\r
- PUSH VMODE_MODE_A\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_B_TEST:\r
- PUSH VMODE_MODE_B\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_C_TEST:\r
- PUSH VMODE_MODE_C\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_D_TEST:\r
- PUSH VMODE_MODE_D\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_E_TEST:\r
- PUSH VMODE_MODE_E\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_F_TEST:\r
- PUSH VMODE_MODE_F\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_G_TEST:\r
- PUSH VMODE_MODE_G\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_H_TEST:\r
- PUSH VMODE_MODE_H\r
- CALL SETVIDEOMODE\r
-\r
- CALL MODETEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_J_TEST:\r
- PUSH VMODE_MODE_J\r
- CALL SETVIDEOMODE\r
-\r
- CALL TEXTTEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_K_TEST:\r
- PUSH VMODE_MODE_K\r
- CALL SETVIDEOMODE\r
-\r
- CALL TEXTTEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_L_TEST:\r
- PUSH VMODE_MODE_L\r
- CALL SETVIDEOMODE\r
-\r
- CALL TEXTTEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-MODE_M_TEST:\r
- PUSH VMODE_MODE_M\r
- CALL SETVIDEOMODE\r
-\r
- CALL TEXTTEST\r
-\r
- ; Wait for a keypress\r
- MOV AH,0\r
- INT 16H\r
- JMP RESET\r
-\r
-; ====================== New Video Mode ====================================\r
-DUAL_TEST:\r
- CALL DUALTEST\r
-\r
-RESET:\r
- ; Reset the mode and clear the screen\r
- MOV AX,0003H\r
- INT 10H\r
-\r
- ; Print out the message\r
- MOV DX,OFFSET MAIN_MSG\r
- MOV AH,9\r
- INT 21H\r
- JMP MAIN_LOOP\r
-\r
-; ====================== New Video Mode ====================================\r
-QUIT_PROGRAM:\r
- ; Set the BIOS mode 03h\r
- MOV AX,0003H\r
- INT 10H\r
-\r
- ; Exit to DOS\r
- MOV AX,4C00H\r
- INT 21H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-LOADFONT PROC\r
- PUSH BP\r
- MOV BP,SP\r
- PUSHA\r
- mov dx,GRACON_ADDR ;get graphics port\r
- mov al,5 ;get write mode reg\r
- out dx,al ;select the reg\r
- IODELAY ;delay a bit\r
- inc dx ;change DX\r
- in al,dx ;get value\r
- IODELAY ;pause\r
- mov [oldmode],al ;store it\r
- dec dx ;restore DX\r
- mov al,6 ;get misc reg\r
- out dx,al ;select the reg\r
- IODELAY ;delay a bit\r
- inc dx ;change DX\r
- in al,dx ;get value\r
- IODELAY ;pause\r
- mov [oldmisc],al ;store it\r
- dec dx ;restore DX\r
- mov dx,SEQ_ADDR ;get sequencer port\r
- mov al,2 ;get map mask reg\r
- out dx,al ;select the reg\r
- IODELAY ;delay a bit\r
- inc dx ;change DX\r
- in al,dx ;get value\r
- IODELAY ;pause\r
- mov [oldmask],al ;store it\r
- dec dx ;restore DX\r
- mov al,4 ;get memory selector reg\r
- out dx,al ;select the reg\r
- IODELAY ;delay a bit\r
- inc dx ;change DX\r
- in al,dx ;get value\r
- IODELAY ;pause\r
- mov [oldmem],al ;store it\r
-\r
- mov dx,GRACON_ADDR ;select graphics port\r
- mov al,5 ;get write mode reg\r
- mov ah,[oldmode] ;get old value\r
- and ah,0fch ;mask it\r
- out dx,ax ;set new value\r
- IODELAY ;pause\r
- mov al,6 ;get misc reg\r
- mov ah,[oldmisc] ;get old value\r
- and ah,0f1h ;mask it\r
- or ah,4 ;set a flag\r
- out dx,ax ;set it\r
- IODELAY ;pause\r
- mov dx,SEQ_ADDR ;select sequencer port\r
- mov al,2 ;get mask reg\r
- mov ah,4 ;get new value\r
- out dx,ax ;set it\r
- IODELAY ;pause\r
- mov al,4 ;get memory reg\r
- mov ah,[oldmem] ;get old value\r
- or ah,4 ;set flag\r
- out dx,ax ;set value\r
- IODELAY ;pause\r
-\r
- PUSH DS\r
- PUSH ES\r
-\r
- MOV AX,[BP+8]\r
- MOV ES,AX\r
- MOV DI,[BP+10]\r
-\r
- MOV AX,[BP+4]\r
- MOV DS,AX\r
- MOV SI,[BP+6]\r
-\r
-@@LOOP1:\r
- PUSH DI\r
- MOV CL,[BP+12]\r
-@@LOOP2:\r
- MOVSB\r
- DEC CL\r
- JNZ @@LOOP2\r
-\r
- MOV CL,32\r
- SUB CL,byte ptr [BP+12]\r
-@@LOOP3:\r
- MOV AX,00H\r
- STOSB\r
- DEC CL\r
- JNZ @@LOOP3\r
-\r
- POP DI\r
- ADD DI,32\r
-\r
- DEC CH\r
- JNZ @@LOOP1\r
-\r
- POP ES\r
- POP DS\r
-\r
- mov dx,GRACON_ADDR ;get graphics port\r
- mov al,5 ;get 1st reg\r
- mov ah,[oldmode] ;get old value\r
- out dx,ax ;set it\r
- IODELAY ;pause\r
- mov al,6 ;get 2nd reg\r
- mov ah,[oldmisc] ;get old value\r
- out dx,ax ;set it\r
- IODELAY ;pause\r
- mov dx,SEQ_ADDR ;get seq port\r
- mov al,2 ;get 3rd reg\r
- mov ah,[oldmask] ;get old value\r
- out dx,ax ;set it\r
- IODELAY ;pause\r
- mov al,4 ;get 4th reg\r
- mov ah,[oldmem] ;get old value\r
- out dx,ax ;set it\r
- IODELAY ;pause\r
-\r
- POPA\r
- POP BP\r
- RET 10\r
-LOADFONT ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-include clear.asm\r
-include modes.asm\r
-include tests.asm\r
-include dual.asm\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-END Start\r
+++ /dev/null
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- -=\r
-;=- Tauron VGA Utilities Version 3.0 -=\r
-;=- Released September 20, 1998 -=\r
-;=- -=\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-;=- All Rights Reserved. =-= that you put my name some- -=\r
-;=- =-= where in your credits. -=\r
-;=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- I assume no responsibility whatsoever for any effect that this package, -=\r
-;=- the information contained therein or the use thereof has on you, your -=\r
-;=- sanity, computer, spouse, children, pets or anything else related to -=\r
-;=- you or your existance. No warranty is provided nor implied with this -=\r
-;=- source code. -=\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-SETVIDEOMODE PROC\r
- PUSH BP\r
- MOV BP,SP\r
-\r
- MOV AX,word ptr [BP+4]\r
- MOV Mode.videomode, AX\r
- CMP AX,VMODE_00H\r
- JE SET00H\r
- CMP AX,VMODE_03H\r
- JE SET03H\r
- CMP AX,VMODE_04H\r
- JE SET04H\r
- CMP AX,VMODE_06H\r
- JE SET06H\r
-; CMP AX,VMODE_07H\r
-; JE SET07H\r
- CMP AX,VMODE_0DH\r
- JE SET0DH\r
- CMP AX,VMODE_0EH\r
- JE SET0EH\r
-; CMP AX,VMODE_0FH\r
-; JE SET0FH\r
- CMP AX,VMODE_10H\r
- JE SET10H\r
- CMP AX,VMODE_11H\r
- JE SET11H\r
- CMP AX,VMODE_12H\r
- JE SET12H\r
- CMP AX,VMODE_13H\r
- JE SET13H\r
- CMP AX,VMODE_CHAIN4\r
- JE SETCHAIN4\r
- CMP AX,VMODE_MODE_X\r
- JE SETMODE_X\r
- CMP AX,VMODE_MODE_A\r
- JE SETMODE_A\r
- CMP AX,VMODE_MODE_B\r
- JE SETMODE_B\r
- CMP AX,VMODE_MODE_C\r
- JE SETMODE_C\r
- CMP AX,VMODE_MODE_D\r
- JE SETMODE_D\r
- CMP AX,VMODE_MODE_E\r
- JE SETMODE_E\r
- CMP AX,VMODE_MODE_F\r
- JE SETMODE_F\r
- CMP AX,VMODE_MODE_G\r
- JE SETMODE_G\r
- CMP AX,VMODE_MODE_H\r
- JE SETMODE_H\r
- CMP AX,VMODE_MODE_I\r
- JE SETMODE_I\r
- CMP AX,VMODE_MODE_J\r
- JE SETMODE_J\r
- CMP AX,VMODE_MODE_K\r
- JE SETMODE_K\r
- CMP AX,VMODE_MODE_L\r
- JE SETMODE_L\r
- CMP AX,VMODE_MODE_M\r
- JE SETMODE_M\r
- JMP SET_OUT\r
-\r
-SET00H:\r
- MOV SI,OFFSET MODE00H\r
- CALL SETMODE\r
-\r
- PUSH 16 ; Bytes per character\r
- PUSH 0 ; Offset of font in Video Memory\r
- PUSH 0A000H\r
- PUSH FONT_8x14_OFF ; Offset of Font in BIOS\r
- PUSH 0C000H\r
- CALL LOADFONT\r
- CALL SETPALETTE16\r
- MOV Mode.mode_width,40;\r
- MOV Mode.mode_height,25;\r
- MOV Mode.width_bytes,1000;\r
- MOV Mode.colors,16;\r
- MOV Mode.attrib,TVU_TEXT;\r
- JMP SET_OUT\r
-\r
-SET03H:\r
- MOV SI,OFFSET MODE03H\r
- CALL SETMODE\r
-\r
- PUSH 16 ; Bytes per character\r
- PUSH 0 ; Offset of font in Video Memory\r
- PUSH 0A000H\r
- PUSH FONT_8x14_OFF ; Offset of Font in BIOS\r
- PUSH 0C000H\r
- CALL LOADFONT\r
-; CALL SETPALETTE16\r
- MOV Mode.mode_width,80;\r
- MOV Mode.mode_height,25;\r
- MOV Mode.width_bytes,2000;\r
- MOV Mode.colors,16;\r
- MOV Mode.attrib,TVU_TEXT;\r
- JMP SET_OUT\r
-\r
-SET04H:\r
- MOV SI,OFFSET MODE04H\r
- CALL SETMODE\r
- CALL SETPALETTE4\r
- MOV Mode.mode_width,320;\r
- MOV Mode.mode_height,200;\r
- MOV Mode.width_bytes,65535;\r
- MOV Mode.colors,4;\r
- MOV Mode.attrib,TVU_GRAPHICS;\r
- OR Mode.attrib,TVU_B8000_ADDR\r
- JMP SET_OUT\r
-\r
-SET06H:\r
- MOV SI,OFFSET MODE06H\r
- CALL SETMODE\r
- CALL SETPALETTE4\r
- MOV Mode.mode_width,640;\r
- MOV Mode.mode_height,200;\r
- MOV Mode.width_bytes,16384;\r
- MOV Mode.colors,4;\r
- MOV Mode.attrib,TVU_GRAPHICS;\r
- OR Mode.attrib,TVU_B8000_ADDR\r
- OR Mode.attrib,TVU_PLANAR\r
- JMP SET_OUT\r
-\r
-SET07H:\r
- MOV SI,OFFSET MODE07H\r
- CALL SETMODE\r
-\r
- PUSH 16 ; Bytes per character\r
- PUSH 0 ; Offset of font in Video Memory\r
- PUSH 0A000H\r
- PUSH FONT_8x14_OFF ; Offset of Font in BIOS\r
- PUSH 0C000H\r
- CALL LOADFONT\r
- MOV Mode.mode_width,80;\r
- MOV Mode.mode_height,25;\r
- MOV Mode.width_bytes,2000;\r
- MOV Mode.colors,2;\r
- MOV Mode.attrib,TVU_TEXT\r
- OR Mode.attrib,TVU_MONOCHROME\r
- JMP SET_OUT\r
-\r
-SET0DH:\r
- MOV SI,OFFSET MODE0DH\r
- CALL SETMODE\r
- CALL SETPALETTE16\r
- MOV Mode.mode_width,320;\r
- MOV Mode.mode_height,200;\r
- MOV Mode.width_bytes,8000;\r
- MOV Mode.colors,16;\r
- MOV Mode.attrib,TVU_GRAPHICS;\r
- OR Mode.attrib,TVU_PLANAR\r
- JMP SET_OUT\r
-\r
-SET0EH:\r
- MOV SI,OFFSET MODE0EH\r
- CALL SETMODE\r
- CALL SETPALETTE16\r
- MOV Mode.mode_width,640;\r
- MOV Mode.mode_height,200;\r
- MOV Mode.width_bytes,16000;\r
- MOV Mode.colors,16;\r
- MOV Mode.attrib,TVU_GRAPHICS;\r
- OR Mode.attrib,TVU_PLANAR\r
- JMP SET_OUT\r
-\r
-SET0FH:\r
- MOV SI,OFFSET MODE0FH\r
- CALL SETMODE\r
- MOV Mode.mode_width,640;\r
- MOV Mode.mode_height,350;\r
- MOV Mode.width_bytes,28000;\r
- MOV Mode.colors,2;\r
- MOV Mode.attrib,TVU_GRAPHICS\r
- OR Mode.attrib,TVU_MONOCHROME\r
- JMP SET_OUT\r
-\r
-SET10H:\r
- MOV SI,OFFSET MODE10H\r
- CALL SETMODE\r
- CALL SETPALETTE16\r
- MOV Mode.mode_width,640;\r
- MOV Mode.mode_height,350;\r
- MOV Mode.width_bytes,28000;\r
- MOV Mode.colors,16;\r
- MOV Mode.attrib,TVU_GRAPHICS;\r
- OR Mode.attrib,TVU_PLANAR\r
- JMP SET_OUT\r
-\r
-SET11H:\r
- MOV SI,OFFSET MODE11H\r
- CALL SETMODE\r
- CALL SETPALETTE16\r
- MOV Mode.mode_width,640;\r
- MOV Mode.mode_height,480;\r
- MOV Mode.width_bytes,38400;\r
- MOV Mode.colors,2;\r
- MOV Mode.attrib,TVU_GRAPHICS;\r
- OR Mode.attrib,TVU_PLANAR\r
- JMP SET_OUT\r
-\r
-SET12H:\r
- MOV SI,OFFSET MODE12H\r
- CALL SETMODE\r
- CALL SETPALETTE16\r
- MOV Mode.mode_width,640\r
- MOV Mode.mode_height,480\r
- MOV Mode.width_bytes,38400\r
- MOV Mode.colors,16\r
- MOV Mode.attrib,TVU_GRAPHICS\r
- OR Mode.attrib,TVU_PLANAR\r
- JMP SET_OUT\r
-\r
-SET13H:\r
- MOV SI,OFFSET MODE13H\r
- CALL SETMODE\r
- CALL SETPALETTE256\r
- MOV Mode.mode_width,320;\r
- MOV Mode.mode_height,200;\r
- MOV Mode.width_bytes,64000;\r
- MOV Mode.colors,256;\r
- MOV Mode.attrib,TVU_GRAPHICS;\r
- JMP SET_OUT\r
-\r
-SETCHAIN4:\r
- MOV SI,OFFSET CHAIN4\r
- CALL SETMODE\r
- CALL SETPALETTE256\r
- MOV Mode.mode_width,320;\r
- MOV Mode.mode_height,200;\r
- MOV Mode.width_bytes,16000;\r
- MOV Mode.colors,256;\r
- MOV Mode.attrib,TVU_GRAPHICS;\r
- OR Mode.attrib,TVU_UNCHAINED\r
- JMP SET_OUT\r
-\r
-SETMODE_X:\r
- MOV SI,OFFSET CHAIN4\r
- CALL SETMODE\r
-\r
- MOV DX,MISC_ADDR\r
- MOV AX,0E3H\r
- OUT DX,AL\r
-\r
- MOV DX,CRTC_ADDR\r
-\r
- ; turn off write protect\r
- MOV AX,02C11H\r
- OUT DX,AX\r
- ; vertical total\r
- MOV AX,00D06H\r
- OUT DX,AX\r
- ; overflow register\r
- MOV AX,03E07H\r
- OUT DX,AX\r
- ; vertical retrace start\r
- MOV AX,0EA10H\r
- OUT DX,AX\r
- ; vertical retrace end AND wr.prot\r
- MOV AX,0AC11H\r
- OUT DX,AX\r
- ; vertical display enable end\r
- MOV AX,0DF12H\r
- OUT DX,AX\r
- ; start vertical blanking\r
- MOV AX,0E715H\r
- OUT DX,AX\r
- ; end vertical blanking\r
- MOV AX,00616H\r
- OUT DX,AX\r
-\r
- CALL SETPALETTE256\r
- MOV Mode.mode_width,320;\r
- MOV Mode.mode_height,240;\r
- MOV Mode.width_bytes,19200;\r
- MOV Mode.colors,256;\r
- MOV Mode.attrib,TVU_GRAPHICS\r
- OR Mode.attrib,TVU_UNCHAINED\r
- JMP SET_OUT\r
-\r
-SETMODE_A:\r
- MOV SI,OFFSET CHAIN4\r
- CALL SETMODE\r
-\r
- ; turn off double scanning mode\r
- MOV DX,CRTC_ADDR\r
- MOV AX,9\r
- OUT DX,AL\r
- INC DX\r
- IN AL,DX\r
- AND AL,0E0h\r
- OUT DX,AL\r
-\r
- ; change the vertical resolution flags to 350\r
- MOV DX,03CCH\r
- IN AL,DX\r
- AND AL,02Fh\r
- OR AL,80h\r
- MOV DX,MISC_ADDR\r
- OUT DX,AL\r
-\r
- MOV DX,CRTC_ADDR\r
- ; turn off write protect\r
- MOV AX,02C11H\r
- OUT DX,AX\r
- ; vertical total\r
- MOV AX,0BF06H\r
- OUT DX,AX\r
- ; overflow register\r
- MOV AX,01F07H\r
- OUT DX,AX\r
- ; vertical retrace start\r
- MOV AX,08310H\r
- OUT DX,AX\r
- ; vertical retrace end AND wr.prot\r
- MOV AX,08511H\r
- OUT DX,AX\r
- ; vertical display enable end\r
- MOV AX,05D12H\r
- OUT DX,AX\r
- ; start vertical blanking\r
- MOV AX,06315H\r
- OUT DX,AX\r
- ; end vertical blanking\r
- MOV AX,0BA16H\r
- OUT DX,AX\r
-\r
- CALL SETPALETTE256\r
-\r
- MOV Mode.mode_width,320;\r
- MOV Mode.mode_height,350;\r
- MOV Mode.width_bytes,28000;\r
- MOV Mode.colors,256;\r
- MOV Mode.attrib,TVU_GRAPHICS\r
- OR Mode.attrib,TVU_UNCHAINED\r
- JMP SET_OUT\r
-\r
-SETMODE_B:\r
- MOV SI,OFFSET CHAIN4\r
- CALL SETMODE\r
-\r
- ; turn off double scanning mode\r
- MOV DX,CRTC_ADDR\r
- MOV AX,9\r
- OUT DX,AL\r
- INC DX\r
- IN AL,DX\r
- AND AL,0E0h\r
- OUT DX,AL\r
-\r
- ; change the vertical resolution flags to 400\r
- MOV DX,03CCH\r
- IN AL,DX\r
- AND AL,02Fh\r
- OR AL,40h\r
- MOV DX,MISC_ADDR\r
- OUT DX,AL\r
-\r
- CALL SETPALETTE256\r
-\r
- MOV Mode.mode_width,320;\r
- MOV Mode.mode_height,400;\r
- MOV Mode.width_bytes,32000;\r
- MOV Mode.colors,256;\r
- MOV Mode.attrib,TVU_GRAPHICS\r
- OR Mode.attrib,TVU_UNCHAINED\r
- JMP SET_OUT\r
-\r
-SETMODE_C:\r
- MOV SI,OFFSET CHAIN4\r
- CALL SETMODE\r
-\r
- ; turn off double scanning mode\r
- MOV DX,CRTC_ADDR\r
- MOV AX,9\r
- OUT DX,AL\r
- INC DX\r
- IN AL,DX\r
- AND AL,0E0h\r
- OUT DX,AL\r
-\r
- ; change the vertical resolution flags to 480\r
- MOV DX,03CCH\r
- IN AL,DX\r
- AND AL,02Fh\r
- OR AL,0C0h\r
- MOV DX,MISC_ADDR\r
- OUT DX,AL\r
-\r
- MOV DX,CRTC_ADDR\r
- ; turn off write protect\r
- MOV AX,02C11H\r
- OUT DX,AX\r
- ; vertical total\r
- MOV AX,00D06H\r
- OUT DX,AX\r
- ; overflow register\r
- MOV AX,03E07H\r
- OUT DX,AX\r
- ; vertical retrace start\r
- MOV AX,0EA10H\r
- OUT DX,AX\r
- ; vertical retrace end AND wr.prot\r
- MOV AX,0AC11H\r
- OUT DX,AX\r
- ; vertical display enable end\r
- MOV AX,0DF12H\r
- OUT DX,AX\r
- ; start vertical blanking\r
- MOV AX,0E715H\r
- OUT DX,AX\r
- ; end vertical blanking\r
- MOV AX,00616H\r
- OUT DX,AX\r
-\r
- CALL SETPALETTE256\r
-\r
- MOV Mode.mode_width,320;\r
- MOV Mode.mode_height,480;\r
- MOV Mode.width_bytes,38400;\r
- MOV Mode.colors,256;\r
- MOV Mode.attrib,TVU_GRAPHICS\r
- OR Mode.attrib,TVU_UNCHAINED\r
- JMP SET_OUT\r
-\r
-SETMODE_D:\r
- MOV SI,OFFSET MODE13H\r
- CALL SETMODE\r
-\r
- ; Turn off Chain 4\r
- MOV DX,SEQ_ADDR\r
- MOV AX,0604H\r
- OUT DX,AX\r
- ; Activate a synchronous reset\r
- MOV AX,0100H\r
- OUT DX,AX\r
- ; Select 28 mhz pixel clock\r
- MOV DX,MISC_ADDR\r
- MOV AL,067H\r
- OUT DX,AL\r
- ; Release synchronous reset\r
- MOV DX,SEQ_ADDR\r
- MOV AX,0300H\r
- OUT DX,AX\r
-\r
- ; change the vertical resolution flags to 400\r
- MOV DX,03CCH\r
- IN AL,DX\r
- AND AL,02Fh\r
- OR AL,40h\r
- MOV DX,MISC_ADDR\r
- OUT DX,AL\r
- CALL SETPALETTE256\r
-\r
- MOV DX,CRTC_ADDR\r
- ; turn off write protect\r
- MOV AX,02C11H\r
- OUT DX,AX\r
-\r
- MOV AX,06B00H\r
- OUT DX,AX\r
- MOV AX,05901H\r
- OUT DX,AX\r
- MOV AX,05A02H\r
- OUT DX,AX\r
- MOV AX,08E03H\r
- OUT DX,AX\r
- MOV AX,05E04H\r
- OUT DX,AX\r
- MOV AX,08A05H\r
- OUT DX,AX\r
- MOV AX,00008H\r
- OUT DX,AX\r
- MOV AX,0C009H\r
- OUT DX,AX\r
- MOV AX,0000AH\r
- OUT DX,AX\r
- MOV AX,0000BH\r
- OUT DX,AX\r
- MOV AX,0000CH\r
- OUT DX,AX\r
- MOV AX,0000DH\r
- OUT DX,AX\r
- MOV AX,0000EH\r
- OUT DX,AX\r
- MOV AX,0000FH\r
- OUT DX,AX\r
- MOV AX,0AC11H\r
- OUT DX,AX\r
- MOV AX,02D13H\r
- OUT DX,AX\r
- MOV AX,00014H\r
- OUT DX,AX\r
- MOV AX,0E317H\r
- OUT DX,AX\r
- MOV AX,0FF18H\r
- OUT DX,AX\r
-\r
- CALL SETPALETTE256\r
-\r
- MOV Mode.mode_width,360;\r
- MOV Mode.mode_height,200;\r
- MOV Mode.width_bytes,18000;\r
- MOV Mode.colors,256;\r
- MOV Mode.attrib,TVU_GRAPHICS\r
- OR Mode.attrib,TVU_UNCHAINED\r
- JMP SET_OUT\r
-\r
-\r
-SETMODE_E:\r
- MOV SI,OFFSET MODE13H\r
- CALL SETMODE\r
-\r
- ; Turn off Chain 4\r
- MOV DX,SEQ_ADDR\r
- MOV AX,0604H\r
- OUT DX,AX\r
- ; Activate a synchronous reset\r
- MOV AX,0100H\r
- OUT DX,AX\r
- ; Select 28 mhz pixel clock\r
- MOV DX,MISC_ADDR\r
- MOV AL,067H\r
- OUT DX,AL\r
- ; Release synchronous reset\r
- MOV DX,SEQ_ADDR\r
- MOV AX,0300H\r
- OUT DX,AX\r
-\r
- ; change the vertical resolution flags to 480\r
- MOV DX,03CCH\r
- IN AL,DX\r
- AND AL,02Fh\r
- OR AL,0C0h\r
- MOV DX,MISC_ADDR\r
- OUT DX,AL\r
- CALL SETPALETTE256\r
-\r
- MOV DX,CRTC_ADDR\r
- ; turn off write protect\r
- MOV AX,02C11H\r
- OUT DX,AX\r
-\r
- MOV AX,06B00H\r
- OUT DX,AX\r
- MOV AX,05901H\r
- OUT DX,AX\r
- MOV AX,05A02H\r
- OUT DX,AX\r
- MOV AX,08E03H\r
- OUT DX,AX\r
- MOV AX,05E04H\r
- OUT DX,AX\r
- MOV AX,08A05H\r
- OUT DX,AX\r
- MOV AX,00D06H\r
- OUT DX,AX\r
- MOV AX,03E07H\r
- OUT DX,AX\r
- MOV AX,00008H\r
- OUT DX,AX\r
- MOV AX,0C009H\r
- OUT DX,AX\r
- MOV AX,0000AH\r
- OUT DX,AX\r
- MOV AX,0000BH\r
- OUT DX,AX\r
- MOV AX,0000DH\r
- OUT DX,AX\r
- MOV AX,0000CH\r
- OUT DX,AX\r
- MOV AX,0000EH\r
- OUT DX,AX\r
- MOV AX,0000FH\r
- OUT DX,AX\r
- MOV AX,0EA10H\r
- OUT DX,AX\r
- MOV AX,0AC11H\r
- OUT DX,AX\r
- MOV AX,0DF12H\r
- OUT DX,AX\r
- MOV AX,02D13H\r
- OUT DX,AX\r
- MOV AX,00014H\r
- OUT DX,AX\r
- MOV AX,0E715H\r
- OUT DX,AX\r
- MOV AX,00616H\r
- OUT DX,AX\r
- MOV AX,0E317H\r
- OUT DX,AX\r
- MOV AX,0FF18H\r
- OUT DX,AX\r
-\r
- CALL SETPALETTE256\r
-\r
- MOV Mode.mode_width,360;\r
- MOV Mode.mode_height,240;\r
- MOV Mode.width_bytes,21600;\r
- MOV Mode.colors,256;\r
- MOV Mode.attrib,TVU_GRAPHICS\r
- OR Mode.attrib,TVU_UNCHAINED\r
- JMP SET_OUT\r
-\r
-SETMODE_F:\r
- MOV SI,OFFSET MODE13H\r
- CALL SETMODE\r
-\r
- ; Turn off Chain 4\r
- MOV DX,SEQ_ADDR\r
- MOV AX,0604H\r
- OUT DX,AX\r
- ; Activate a synchronous reset\r
- MOV AX,0100H\r
- OUT DX,AX\r
- ; Select 28 mhz pixel clock\r
- MOV DX,MISC_ADDR\r
- MOV AL,067H\r
- OUT DX,AL\r
- ; Release synchronous reset\r
- MOV DX,SEQ_ADDR\r
- MOV AX,0300H\r
- OUT DX,AX\r
-\r
- ; change the vertical resolution flags to 350\r
- MOV DX,03CCH\r
- IN AL,DX\r
- AND AL,02Fh\r
- OR AL,080h\r
- MOV DX,MISC_ADDR\r
- OUT DX,AL\r
- CALL SETPALETTE256\r
-\r
- MOV DX,CRTC_ADDR\r
- ; turn off write protect\r
- MOV AX,02C11H\r
- OUT DX,AX\r
-\r
- MOV AX,06B00H\r
- OUT DX,AX\r
- MOV AX,05901H\r
- OUT DX,AX\r
- MOV AX,05A02H\r
- OUT DX,AX\r
- MOV AX,08E03H\r
- OUT DX,AX\r
- MOV AX,05E04H\r
- OUT DX,AX\r
- MOV AX,08A05H\r
- OUT DX,AX\r
- MOV AX,0BF06H\r
- OUT DX,AX\r
- MOV AX,01F07H\r
- OUT DX,AX\r
- MOV AX,00008H\r
- OUT DX,AX\r
- MOV AX,04009H\r
- OUT DX,AX\r
- MOV AX,0000AH\r
- OUT DX,AX\r
- MOV AX,0000BH\r
- OUT DX,AX\r
- MOV AX,0000DH\r
- OUT DX,AX\r
- MOV AX,0000CH\r
- OUT DX,AX\r
- MOV AX,0000EH\r
- OUT DX,AX\r
- MOV AX,0000FH\r
- OUT DX,AX\r
- MOV AX,08310H\r
- OUT DX,AX\r
- MOV AX,08511H\r
- OUT DX,AX\r
- MOV AX,05D12H\r
- OUT DX,AX\r
- MOV AX,02D13H\r
- OUT DX,AX\r
- MOV AX,00014H\r
- OUT DX,AX\r
- MOV AX,06315H\r
- OUT DX,AX\r
- MOV AX,0BA16H\r
- OUT DX,AX\r
- MOV AX,0E317H\r
- OUT DX,AX\r
- MOV AX,0FF18H\r
- OUT DX,AX\r
-\r
- CALL SETPALETTE256\r
-\r
- MOV Mode.mode_width,360;\r
- MOV Mode.mode_height,350;\r
- MOV Mode.width_bytes,31500;\r
- MOV Mode.colors,256;\r
- MOV Mode.attrib,TVU_GRAPHICS\r
- OR Mode.attrib,TVU_UNCHAINED\r
- JMP SET_OUT\r
-\r
-SETMODE_G:\r
- MOV SI,OFFSET MODE13H\r
- CALL SETMODE\r
-\r
- ; Turn off Chain 4\r
- MOV DX,SEQ_ADDR\r
- MOV AX,0604H\r
- OUT DX,AX\r
- ; Activate a synchronous reset\r
- MOV AX,0100H\r
- OUT DX,AX\r
- ; Select 28 mhz pixel clock\r
- MOV DX,MISC_ADDR\r
- MOV AL,067H\r
- OUT DX,AL\r
- ; Release synchronous reset\r
- MOV DX,SEQ_ADDR\r
- MOV AX,0300H\r
- OUT DX,AX\r
-\r
- ; change the vertical resolution flags to 400\r
- MOV DX,03CCH\r
- IN AL,DX\r
- AND AL,02Fh\r
- OR AL,040h\r
- MOV DX,MISC_ADDR\r
- OUT DX,AL\r
-\r
- MOV DX,CRTC_ADDR\r
- ; turn off write protect\r
- MOV AX,02C11H\r
- OUT DX,AX\r
-\r
- MOV AX,06B00H\r
- OUT DX,AX\r
- MOV AX,05901H\r
- OUT DX,AX\r
- MOV AX,05A02H\r
- OUT DX,AX\r
- MOV AX,08E03H\r
- OUT DX,AX\r
- MOV AX,05E04H\r
- OUT DX,AX\r
- MOV AX,08A05H\r
- OUT DX,AX\r
- MOV AX,00008H\r
- OUT DX,AX\r
- MOV AX,04009H\r
- OUT DX,AX\r
- MOV AX,0000AH\r
- OUT DX,AX\r
- MOV AX,0000BH\r
- OUT DX,AX\r
- MOV AX,0000DH\r
- OUT DX,AX\r
- MOV AX,0000CH\r
- OUT DX,AX\r
- MOV AX,0000EH\r
- OUT DX,AX\r
- MOV AX,0000FH\r
- OUT DX,AX\r
- MOV AX,0AC11H\r
- OUT DX,AX\r
- MOV AX,02D13H\r
- OUT DX,AX\r
- MOV AX,00014H\r
- OUT DX,AX\r
- MOV AX,0E317H\r
- OUT DX,AX\r
- MOV AX,0FF18H\r
- OUT DX,AX\r
-\r
- CALL SETPALETTE256\r
-\r
- MOV Mode.mode_width,360;\r
- MOV Mode.mode_height,400;\r
- MOV Mode.width_bytes,36000;\r
- MOV Mode.colors,256;\r
- MOV Mode.attrib,TVU_GRAPHICS\r
- OR Mode.attrib,TVU_UNCHAINED\r
- JMP SET_OUT\r
-\r
-SETMODE_H:\r
-\r
- MOV SI,OFFSET MODE13H\r
- CALL SETMODE\r
-\r
- ; Turn off Chain4\r
- MOV DX,SEQ_ADDR\r
- MOV AX,0604H\r
- OUT DX,AX\r
-\r
- ; Activate a synchronous reset\r
- MOV AX,0100H\r
- OUT DX,AX\r
-\r
- ; Select 28 mhz pixel clock\r
- MOV DX,MISC_ADDR\r
- MOV AL,067H\r
- OUT DX,AL\r
-\r
- ; Release synchronous reset\r
- MOV DX,SEQ_ADDR\r
- MOV AX,0300H\r
- OUT DX,AX\r
-\r
- ; change the vertical resolution flags to 480\r
- MOV DX,03CCH\r
- IN AL,DX\r
- AND AL,02Fh\r
- OR AL,0C0h\r
- MOV DX,MISC_ADDR\r
- OUT DX,AL\r
-\r
-\r
- MOV DX,CRTC_ADDR\r
- ; turn off write protect\r
- MOV AX,02C11H\r
- OUT DX,AX\r
-\r
- MOV AX,06B00H\r
- OUT DX,AX\r
- MOV AX,05901H\r
- OUT DX,AX\r
- MOV AX,05A02H\r
- OUT DX,AX\r
- MOV AX,08E03H\r
- OUT DX,AX\r
- MOV AX,05E04H\r
- OUT DX,AX\r
- MOV AX,08A05H\r
- OUT DX,AX\r
- MOV AX,00D06H\r
- OUT DX,AX\r
- MOV AX,03E07H\r
- OUT DX,AX\r
- MOV AX,00008H\r
- OUT DX,AX\r
- MOV AX,04009H\r
- OUT DX,AX\r
- MOV AX,0000AH\r
- OUT DX,AX\r
- MOV AX,0000BH\r
- OUT DX,AX\r
- MOV AX,0000DH\r
- OUT DX,AX\r
- MOV AX,0000CH\r
- OUT DX,AX\r
- MOV AX,0000EH\r
- OUT DX,AX\r
- MOV AX,0000FH\r
- OUT DX,AX\r
- MOV AX,0EA10H\r
- OUT DX,AX\r
- MOV AX,0AC11H\r
- OUT DX,AX\r
- MOV AX,0DF12H\r
- OUT DX,AX\r
- MOV AX,02D13H\r
- OUT DX,AX\r
- MOV AX,00014H\r
- OUT DX,AX\r
- MOV AX,0E715H\r
- OUT DX,AX\r
- MOV AX,00616H\r
- OUT DX,AX\r
- MOV AX,0E317H\r
- OUT DX,AX\r
- MOV AX,0FF18H\r
- OUT DX,AX\r
-\r
- CALL SETPALETTE256\r
-\r
- MOV Mode.mode_width,360;\r
- MOV Mode.mode_height,480;\r
- MOV Mode.width_bytes,43200;\r
- MOV Mode.colors,256;\r
- MOV Mode.attrib,TVU_GRAPHICS\r
- OR Mode.attrib,TVU_UNCHAINED\r
- JMP SET_OUT\r
-\r
-SETMODE_I:\r
- MOV SI,OFFSET MODE10H\r
- CALL SETMODE\r
-\r
- MOV DX,03CCH\r
- IN AL,DX\r
- AND AL,03FH\r
- OR AL,40H\r
-\r
- MOV DX,03C2H\r
- OUT DX,AL\r
-\r
- MOV DX,CRTC_ADDR\r
- MOV AX,9C10H\r
- OUT DX,AX\r
- IODELAY\r
-\r
- MOV AX,8311H\r
- OUT DX,AX\r
- IODELAY\r
-\r
- MOV AX,8F12H\r
- OUT DX,AX\r
- IODELAY\r
-\r
- MOV AX,9615H\r
- OUT DX,AX\r
- IODELAY\r
-\r
- MOV AX,0B916H\r
- OUT DX,AX\r
- IODELAY\r
-\r
- CALL SETPALETTE16\r
- MOV Mode.mode_width,640;\r
- MOV Mode.mode_height,400;\r
- MOV Mode.width_bytes,32000;\r
- MOV Mode.colors,16;\r
- MOV Mode.attrib,TVU_GRAPHICS\r
- OR Mode.attrib,TVU_PLANAR\r
- JMP SET_OUT\r
-\r
-SETMODE_J:\r
- MOV SI,OFFSET MODEJ\r
- CALL SETMODE\r
- CALL SETPALETTE16\r
-\r
- PUSH 8 ; Bytes per character\r
- PUSH 0 ; Offset of font in Video Memory\r
- PUSH 0A000H\r
- PUSH FONT_8x8_OFF ; Offset of Font in BIOS\r
- PUSH 0C000H\r
- CALL LOADFONT\r
-\r
- MOV Mode.mode_width,80;\r
- MOV Mode.mode_height,43;\r
- MOV Mode.width_bytes,3440;\r
- MOV Mode.colors,16;\r
- MOV Mode.attrib,TVU_TEXT\r
- JMP SET_OUT\r
-\r
-SETMODE_K:\r
- MOV SI,OFFSET MODEK\r
- CALL SETMODE\r
- CALL SETPALETTE16\r
-\r
- PUSH 8 ; Bytes per character\r
- PUSH 0 ; Offset of font in Video Memory\r
- PUSH 0A000H\r
- PUSH FONT_8x8_OFF ; Offset of Font in BIOS\r
- PUSH 0C000H\r
- CALL LOADFONT\r
-\r
- MOV Mode.mode_width,80;\r
- MOV Mode.mode_height,50;\r
- MOV Mode.width_bytes,4000;\r
- MOV Mode.colors,16;\r
- MOV Mode.attrib,TVU_TEXT\r
- JMP SET_OUT\r
-\r
-SETMODE_L:\r
- MOV SI,OFFSET MODE_L\r
- CALL SETMODE\r
- CALL SETPALETTE16\r
-\r
- PUSH 8 ; Bytes per character\r
- PUSH 0 ; Offset of font in Video Memory\r
- PUSH 0A000H\r
- PUSH FONT_8x8_OFF ; Offset of Font in BIOS\r
- PUSH 0C000H\r
- CALL LOADFONT\r
-\r
- MOV Mode.mode_width,40;\r
- MOV Mode.mode_height,43;\r
- MOV Mode.width_bytes,3440;\r
- MOV Mode.colors,16;\r
- MOV Mode.attrib,TVU_TEXT\r
- JMP SET_OUT\r
-\r
-SETMODE_M:\r
- MOV SI,OFFSET MODEM\r
- CALL SETMODE\r
- CALL SETPALETTE16\r
-\r
- PUSH 8 ; Bytes per character\r
- PUSH 0 ; Offset of font in Video Memory\r
- PUSH 0A000H\r
- PUSH FONT_8x8_OFF ; Offset of Font in BIOS\r
- PUSH 0C000H\r
- CALL LOADFONT\r
-\r
- MOV Mode.mode_width,40;\r
- MOV Mode.mode_height,50;\r
- MOV Mode.width_bytes,4000;\r
- MOV Mode.colors,16;\r
- MOV Mode.attrib,TVU_TEXT\r
-\r
-SET_OUT:\r
-\r
- POP BP\r
- RET 2\r
-SETVIDEOMODE ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
- PUBLIC SETMODE\r
-SETMODE PROC\r
-\r
- ; Send MISC regs\r
- MOV DX,MISC_ADDR\r
- MOV AL,[SI]\r
- OUT DX,AL\r
- IODELAY\r
- INC SI\r
-\r
- MOV DX,STATUS_ADDR\r
- MOV AL,[SI]\r
- OUT DX,AL\r
- IODELAY\r
- INC SI\r
-\r
- ; Send SEQ regs\r
- MOV CX,0\r
-REG_LOOP:\r
- MOV DX,SEQ_ADDR\r
- MOV AL,CL\r
- OUT DX,AL\r
- IODELAY\r
-\r
- MOV DX,SEQ_ADDR\r
- INC DX\r
- MOV AL,[SI]\r
- OUT DX,AL\r
- IODELAY\r
- INC SI\r
- INC CX\r
- CMP CL,5\r
- JL REG_LOOP\r
-\r
- ; Clear Protection bits\r
- MOV AH,0EH\r
- MOV AL,11H\r
- AND AH,7FH\r
- MOV DX,CRTC_ADDR\r
- OUT DX,AX\r
- IODELAY\r
-\r
- ; Send CRTC regs\r
- MOV CX,0\r
-REG_LOOP2:\r
- MOV DX,CRTC_ADDR\r
- MOV AL,CL\r
- OUT DX,AL\r
- IODELAY\r
-\r
- MOV DX,CRTC_ADDR\r
- INC DX\r
- MOV AL,[SI]\r
- OUT DX,AL\r
- IODELAY\r
-\r
- INC SI\r
- INC CX\r
- CMP CL,25\r
- JL REG_LOOP2\r
-\r
- ; Send GRAPHICS regs\r
- MOV CX,0\r
-REG_LOOP3:\r
- MOV DX,GRACON_ADDR\r
- MOV AL,CL\r
- OUT DX,AL\r
- IODELAY\r
-\r
- MOV DX,GRACON_ADDR\r
- INC DX\r
- MOV AL,[SI]\r
- OUT DX,AL\r
- IODELAY\r
-\r
- INC SI\r
- INC CX\r
- CMP CL,9\r
- JL REG_LOOP3\r
-\r
- MOV DX,STATUS_ADDR\r
- IN AL,DX\r
- IODELAY\r
-\r
- ; Send ATTRCON regs\r
- MOV CX,0\r
-REG_LOOP4:\r
- MOV DX,ATTRCON_ADDR\r
- IN AX,DX\r
-\r
- MOV AL,CL\r
- OUT DX,AL\r
- IODELAY\r
-\r
- MOV AL,[SI]\r
- OUT DX,AL\r
- IODELAY\r
-\r
- INC SI\r
- INC CX\r
- CMP CL,21\r
- JL REG_LOOP4\r
-\r
- MOV AL,20H\r
- OUT DX,AL\r
- IODELAY\r
-\r
- RET\r
-SETMODE ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-; Assumes [bp+4] = color\r
-; Assumes [bp+6] = r value\r
-; Assumes [bp+8] = g value\r
-; Assumes [bp+10] = b value\r
- PUBLIC SETPAL\r
-SETPAL PROC\r
- PUSH BP\r
- MOV BP,SP\r
- PUSHA\r
-\r
- MOV AX,WORD PTR [BP+4]\r
- ; Send color\r
- MOV DX,03C8H\r
- OUT DX,AL\r
-\r
- ; Write R value\r
- MOV DX,03C9H\r
- MOV AL,BYTE PTR [BP+6]\r
- OUT DX,AL\r
-\r
- ; Write G value\r
- MOV DX,03C9H\r
- MOV AL,BYTE PTR [BP+8]\r
- OUT DX,AL\r
-\r
- ; Write B value\r
- MOV DX,03C9H\r
- MOV AL,BYTE PTR [BP+10]\r
- OUT DX,AL\r
-\r
- POPA\r
- POP BP\r
- RET 8\r
-SETPAL ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-SETPALETTE4 PROC\r
- PUSH 0\r
- PUSH 0\r
- PUSH 0\r
- PUSH 0\r
- CALL SETPAL\r
-\r
- PUSH 42\r
- PUSH 42\r
- PUSH 0\r
- PUSH 1\r
- CALL SETPAL\r
-\r
- PUSH 42\r
- PUSH 0\r
- PUSH 42\r
- PUSH 2\r
- CALL SETPAL\r
-\r
- PUSH 63\r
- PUSH 63\r
- PUSH 63\r
- PUSH 3\r
- CALL SETPAL\r
-\r
- RET\r
-SETPALETTE4 ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-SETPALETTE16 PROC\r
-\r
- MOV SI,OFFSET PALETTE\r
- MOV CX,16\r
- MOV DX,0\r
-PAL_LOOP:\r
- PUSH WORD PTR [SI+2]\r
- PUSH WORD PTR [SI+1]\r
- PUSH WORD PTR [SI]\r
- PUSH DX\r
- CALL SETPAL\r
-\r
- INC DX\r
- ADD SI,3\r
- LOOP PAL_LOOP\r
-\r
- RET\r
-SETPALETTE16 ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-SETPALETTE256 PROC\r
-\r
- MOV SI,OFFSET PALETTE\r
- MOV CX,256\r
- MOV DX,0\r
-PAL_LOOP2:\r
- PUSH WORD PTR [SI+2]\r
- PUSH WORD PTR [SI+1]\r
- PUSH WORD PTR [SI]\r
- PUSH DX\r
- CALL SETPAL\r
-\r
- INC DX\r
- ADD SI,3\r
- LOOP PAL_LOOP2\r
-\r
- RET\r
-SETPALETTE256 ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
+++ /dev/null
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- -=\r
-;=- Tauron VGA Utilities Version 3.0 -=\r
-;=- Released September 20, 1998 -=\r
-;=- -=\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-;=- All Rights Reserved. =-= that you put my name some- -=\r
-;=- =-= where in your credits. -=\r
-;=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- I assume no responsibility whatsoever for any effect that this package, -=\r
-;=- the information contained therein or the use thereof has on you, your -=\r
-;=- sanity, computer, spouse, children, pets or anything else related to -=\r
-;=- you or your existance. No warranty is provided nor implied with this -=\r
-;=- source code. -=\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- VGA register variables for the various videomodes -=\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-; Same as Mode 01H\r
-MODE00H DB 67H, 00H, 03H,08H,03H,00H,02H\r
- DB 2DH,27H,28H,90H,2BH,0A0H,0BFH,1FH,00H,4FH,06H,07H,00H,00H,00H,31H\r
- DB 9CH,8EH,8FH,14H,1FH,96H,0B9H,0A3H,0FFH\r
- DB 00H,00H,00H,00H,00H,10H,0EH,00H,0FFH\r
- DB 00H,01H,02H,03H,04H,05H,14H,07H,38H,39H,3AH,3BH,3CH,3DH,3EH,3FH\r
- DB 0CH,00H,0FH,08H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-; Same as Mode 02H\r
-MODE03H DB 67H, 00H, 03H,00H,03H,00H,02H\r
- DB 5FH,4FH,50H,82H,55H,81H,0BFH,1FH,00H,4FH,0EH,0FH,00H,00H,00H,00H\r
- DB 9CH,0EH,8FH,28H,01H,96H,0B9H,0A3H,0FFH\r
- DB 00H,00H,00H,00H,00H,10H,0EH,00H,0FFH\r
- DB 00H,01H,02H,03H,04H,05H,14H,07H,38H,39H,3AH,3BH,3CH,3DH,3EH,3FH\r
- DB 0CH,00H,0FH,08H,00H\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-; Same as Mode 05H\r
-MODE04H DB 63H, 00H, 03H,09H,03H,00H,02H\r
- DB 2DH,27H,28H,90H,2BH,80H,0BFH,1FH,00H,0C1H,00H,00H,00H,00H,00H,31H\r
- DB 9CH,8EH,8FH,14H,00H,96H,0B9H,0A2H,0FFH\r
- DB 00H,00H,00H,00H,00H,30H,0FH,00H,0FFH\r
- DB 00H,3BH,3DH,3FH,02H,04H,06H,07H,10H,11H,12H,13H,14H,15H,16H,17H\r
- DB 01H,00H,03H,00H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-MODE06H DB 63H, 00H, 03H,01H,01H,00H,06H\r
- DB 5FH,4FH,50H,82H,54H,80H,0BFH,1FH,00H,0C1H,00H,00H,00H,00H,00H,00H\r
- DB 9CH,8EH,8FH,28H,00H,96H,0B9H,0C2H,0FFH\r
- DB 00H,00H,00H,00H,00H,00H,0DH,00H,0FFH\r
- DB 00H,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH\r
- DB 01H,00H,01H,00H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-MODE07H DB 066H, 00H, 03H,00H,03H,00H,02H\r
- DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH\r
- DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH\r
- DB 00H,00H,00H,00H,00H,10H,0AH,00H,0FFH\r
- DB 00H,08H,08H,08H,08H,08H,08H,08H,10H,18H,18H,18H,18H,18H,18H,18H\r
- DB 0EH,00H,0FH,00H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-MODE0DH DB 063H, 00H, 03H,09H,0FH,00H,06H\r
- DB 2DH,27H,28H,90H,2BH,80H,0BFH,1FH,00H,0C0H,00H,00H,00H,00H,00H,31H\r
- DB 9CH,8EH,8FH,14H,00H,96H,0B9H,0E3H,0FFH\r
- DB 00H,00H,00H,00H,00H,10H,05H,00H,0FFH\r
- DB 00H,01H,02H,03H,04H,05H,14H,07H,38H,39H,3AH,3BH,3CH,3DH,3EH,3FH\r
- DB 01H,00H,0FH,00H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-MODE0EH DB 63H, 00H, 03H,01H,0FH,00H,06H\r
- DB 5FH,4FH,50H,82H,54H,80H,0BFH,1FH,00H,0C0H,00H,00H,00H,00H,00H,59H\r
- DB 9CH,8EH,8FH,28H,00H,96H,0B9H,0E3H,0FFH\r
- DB 00H,00H,00H,00H,00H,00H,05H,0FH,0FFH\r
- DB 00H,01H,02H,03H,04H,05H,14H,07H,38H,39H,3AH,3BH,3CH,3DH,3EH,3FH\r
- DB 01H,00H,0FH,00H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-MODE0FH DB 0A2H, 00H, 03H,01H,0FH,00H,06H\r
- DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH\r
- DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH\r
- DB 00H,00H,00H,00H,00H,00H,05H,05H,0FFH\r
- DB 00H,08H,00H,00H,18H,18H,00H,00H,00H,08H,00H,00H,00H,18H,00H,00H\r
- DB 0BH,00H,05H,00H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-MODE10H DB 0A3H, 00H, 03H,01H,0FH,00H,06H\r
- DB 5FH,4FH,50H,82H,54H,80H,0BFH,1FH,00H,40H,00H,00H,00H,00H,00H,00H\r
- DB 83H,85H,5DH,28H,0FH,63H,0BAH,0E3H,0FFH\r
- DB 00H,00H,00H,00H,00H,00H,05H,0FH,0FFH\r
- DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09H,0AH,0BH,0CH,0DH,0EH,0FH\r
- DB 01H,00H,0FH,00H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-MODE11H DB 063H, 00H, 03H,01H,0FH,00H,06H\r
- DB 5FH,4FH,50H,82H,54H,80H,0BH,3EH,00H,40H,00H,00H,00H,00H,00H,59H\r
- DB 0EAH,8CH,0DFH,28H,0FH,0E7H,004H,0C3H,0FFH\r
- DB 00H,00H,00H,00H,00H,00H,05H,05H,0FFH\r
- DB 00H,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH,3FH\r
- DB 01H,00H,0FH,00H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-MODE12H DB 063H, 00H, 03H,01H,0FH,00H,06H\r
- DB 5FH,4FH,50H,82H,54H,80H,0BH,3EH,00H,40H,00H,00H,00H,00H,00H,59H\r
- DB 0EAH,8CH,0DFH,28H,00H,0E7H,04H,0E3H,0FFH\r
- DB 00H,00H,00H,00H,00H,00H,05H,0FH,0FFH\r
- DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09H,0AH,0BH,0CH,0DH,0EH,0FH\r
- DB 01H,00H,0FH,00H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-MODE13H DB 63H, 00H, 03H,01H,0FH,00H,0EH\r
- DB 5FH,4FH,50H,82H,54H,80H,0BFH,1FH,00H,41H,00H,00H,00H,00H,00H,00H\r
- DB 9CH,0EH,8FH,28H,40H,96H,0B9H,0A3H,0FFH\r
- DB 00H,00H,00H,00H,00H,40H,05H,0FH,0FFH\r
- DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09H,0AH,0BH,0CH,0DH,0EH,0FH\r
- DB 41H,00H,0FH,00H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-CHAIN4 DB 63H, 00H, 03H,01H,0FH,00H,06H\r
- DB 5FH,4FH,50H,82H,54H,80H,0BFH,1FH,00H,41H,00H,00H,00H,00H,00H,00H\r
- DB 9CH,0EH,8FH,28H,00H,96H,0B9H,0E3H,0FFH\r
- DB 00H,00H,00H,00H,00H,40H,05H,0FH,0FFH\r
- DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09H,0AH,0BH,0CH,0DH,0EH,0FH\r
- DB 41H,00H,0FH,00H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-MODEJ DB 63H, 00H, 03H,01H,03H,00H,02H\r
- DB 5FH,4FH,50H,82H,55H,81H,0BFH,1FH,00H,47H,06H,07H,00H,00H,00H\r
- DB 00H,83H,85H,57H,28H,1FH,60H,0B8H,0A3H,0FFH\r
- DB 00H,00H,00H,00H,00H,10H,0EH,00H,0FFH\r
- DB 00H,01H,02H,03H,04H,05H,14H,07H,10H,11H,3AH,3BH,3CH,3DH,3EH,3FH\r
- DB 0CH,00H,0FH,00H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-MODEK DB 63H, 00H, 03H,01H,03H,00H,02H\r
- DB 5FH,4FH,50H,82H,55H,81H,0BFH,1FH,00H,47H,06H,07H,00H,00H,00H\r
- DB 00H,9CH,8EH,8FH,28H,1FH,96H,0B9H,0A3H,0FFH\r
- DB 00H,00H,00H,00H,00H,10H,0EH,00H,0FFH\r
- DB 00H,01H,02H,03H,04H,05H,14H,07H,10H,11H,3AH,3BH,3CH,3DH,3EH,3FH\r
- DB 0CH,00H,0FH,00H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-\r
-MODE_L DB 67H, 00H, 03H,08H,03H,00H,02H\r
- DB 2DH,27H,28H,90H,2BH,0A0H,0BFH,1FH,00H,47H,06H,07H,00H,00H,00H\r
- DB 31H,83H,85H,57H,14H,1FH,60H,0B8H,0A3H,0FFH\r
- DB 00H,00H,00H,00H,00H,10H,0EH,00H,0FFH\r
- DB 00H,01H,02H,03H,04H,05H,14H,07H,10H,11H,3AH,3BH,3CH,3DH,3EH,3FH\r
- DB 0CH,00H,0FH,00H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-MODEM DB 67H, 00H, 03H,08H,03H,00H,02H\r
- DB 2DH,27H,28H,90H,2BH,0A0H,0BFH,1FH,00H,47H,06H,07H,00H,00H,00H,31H\r
- DB 9CH,8EH,8FH,14H,1FH,96H,0B9H,0A3H,0FFH\r
- DB 00H,00H,00H,00H,00H,10H,0EH,00H,0FFH\r
- DB 00H,01H,02H,03H,04H,05H,14H,07H,38H,39H,3AH,3BH,3CH,3DH,3EH,3FH\r
- DB 0CH,00H,0FH,00H,00H\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-; Videomode Structure Definition\r
-VMODE STRUC\r
- videomode DW ? ; Videomode Number\r
- mode_width DW ? ; Width in pixels\r
- mode_height DW ? ; height in pixels\r
- width_bytes DW ? ; Number of bytes per screen\r
- colors DW ? ; Number of colors\r
- attrib DW ? ; Videomode attributes\r
-VMODE ENDS\r
-\r
-; Videomode attributes\r
-TVU_TEXT EQU 0001h\r
-TVU_GRAPHICS EQU 0002h\r
-TVU_MONOCHROME EQU 0004h\r
-TVU_PLANAR EQU 0008h\r
-TVU_UNCHAINED EQU 0010h\r
-TVU_B8000_ADDR EQU 0020h\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-; Videomode Info Structure\r
-MODE VMODE <MODE03H, 80, 25, 2000, 16, TVU_TEXT>\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
+++ /dev/null
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- -=\r
-;=- Tauron VGA Utilities Version 3.0 -=\r
-;=- Released September 20, 1998 -=\r
-;=- -=\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-;=- All Rights Reserved. =-= that you put my name some- -=\r
-;=- =-= where in your credits. -=\r
-;=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-;=- I assume no responsibility whatsoever for any effect that this package, -=\r
-;=- the information contained therein or the use thereof has on you, your -=\r
-;=- sanity, computer, spouse, children, pets or anything else related to -=\r
-;=- you or your existance. No warranty is provided nor implied with this -=\r
-;=- source code. -=\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-PIXEL PROC\r
- PUSH BP\r
- MOV BP,SP\r
- PUSHA\r
-\r
- TEST Mode.attrib,TVU_PLANAR\r
- JNZ PLANAR_PIXEL\r
- CMP Mode.videomode,VMODE_13H\r
- JE MODE_13H_PIXEL\r
-\r
-; Unchained Modes Pixel\r
- MOV AX,0A000H ; video memory segment number\r
- MOV ES,AX ; place it in es\r
-\r
- MOV DX,03C4H\r
- MOV AL,2\r
- OUT DX,AL\r
- INC DX\r
-\r
- MOV AL,1\r
- MOV CX,word ptr [bp+4]\r
- AND CX,3\r
- SHL AL,CL\r
- OUT DX,AL\r
-\r
- XOR DI,DI\r
-\r
-; Calculate the Offset\r
- mov ax,Mode.mode_width ; width / 4\r
- SHR AX,2\r
- mul word ptr [bp+6] ; (Y * (width / 4))\r
- mov bx,word ptr [bp+4] ; (X / 4) + (Y * (width / 4))\r
- shr bx,2\r
- add ax,bx\r
-; Done!\r
-\r
- ADD DI,AX\r
- mov ah,byte ptr [bp+8] ; move the Color into ah\r
- mov es:[di],ah ; move the value to the screen\r
- JMP PIXEL_OUT\r
-\r
-PLANAR_PIXEL:\r
- MOV AX,0A000H ; video memory segment number\r
- MOV ES,AX ; place it in es\r
-\r
- MOV BX,word ptr [bp+4] ; X Value\r
- MOV CX,BX\r
- MOV AX,word ptr [bp+6] ; Y Value\r
- MOV SI,80\r
- MUL SI\r
- SHR BX,3 ; /8\r
- ADD AX,BX\r
- MOV DI,AX\r
-\r
- AND CL,7\r
- XOR CL,7\r
- MOV AH,1\r
-\r
- SHL AH,CL\r
-\r
- MOV DX,03CEH\r
- MOV AL,8\r
- OUT DX,AX\r
-\r
- MOV AL,0\r
- XCHG ES:[DI],AL\r
-\r
- MOV DX,03C4H\r
- MOV AH,byte ptr [bp+8]\r
- MOV AL,2\r
- OUT DX,AX\r
-\r
- MOV BYTE PTR ES:[DI],0FFh\r
-\r
- MOV AX,0F02H\r
- OUT DX,AX\r
-\r
- MOV DX,03CEH\r
- MOV AX,0FF08h\r
- OUT DX,AX\r
- JMP PIXEL_OUT\r
-\r
-MODE_13H_PIXEL:\r
-\r
- MOV AX,0A000H ; video memory segment number\r
- MOV ES,AX ; place it in es\r
- XOR DI,DI\r
-\r
-; Calculate the Offset\r
- mov ax,Mode.mode_width ; width\r
- mul word ptr [bp+6] ; (Y * width))\r
- mov bx,word ptr [bp+4] ; (X + (Y * width))\r
- add ax,bx\r
-; Done!\r
-\r
- ADD DI,AX\r
- mov ah,byte ptr [bp+8] ; move the Color into ah\r
- mov es:[di],ah ; move the value to the screen\r
-\r
-PIXEL_OUT:\r
-\r
- POPA\r
- POP BP\r
- RET 6\r
-PIXEL ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-HLINE PROC\r
- PUSH BP\r
- MOV BP,SP\r
- PUSHA\r
-\r
- MOV CX,WORD PTR [BP+4]\r
-HLINE_LOOP:\r
- PUSH WORD PTR [BP+10] ; Color\r
- PUSH WORD PTR [BP+8] ; Y value\r
- PUSH CX ; X value\r
- CALL PIXEL\r
- INC CX\r
- CMP CX,WORD PTR [BP+6]\r
- JLE HLINE_LOOP\r
-\r
- POPA\r
- POP BP\r
- RET 8\r
-HLINE ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-VLINE PROC\r
- PUSH BP\r
- MOV BP,SP\r
- PUSHA\r
-\r
- MOV CX,WORD PTR [BP+4]\r
-VLINE_LOOP:\r
- PUSH WORD PTR [BP+10] ; Color\r
- PUSH CX ; Y value\r
- PUSH WORD PTR [BP+8] ; X value\r
- CALL PIXEL\r
- INC CX\r
- CMP CX,WORD PTR [BP+6]\r
- JLE VLINE_LOOP\r
-\r
- POPA\r
- POP BP\r
- RET 8\r
-VLINE ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-DRAWRECT PROC\r
- PUSH BP\r
- MOV BP,SP\r
-\r
- PUSH WORD PTR [BP+12]\r
- PUSH WORD PTR [BP+6]\r
- PUSH WORD PTR [BP+8]\r
- PUSH WORD PTR [BP+4]\r
- CALL HLINE\r
-\r
- PUSH WORD PTR [BP+12]\r
- PUSH WORD PTR [BP+10]\r
- PUSH WORD PTR [BP+8]\r
- PUSH WORD PTR [BP+4]\r
- CALL HLINE\r
-\r
- PUSH WORD PTR [BP+12]\r
- PUSH WORD PTR [BP+4]\r
- PUSH WORD PTR [BP+10]\r
- PUSH WORD PTR [BP+6]\r
- CALL VLINE\r
-\r
- PUSH WORD PTR [BP+12]\r
- PUSH WORD PTR [BP+8]\r
- PUSH WORD PTR [BP+10]\r
- PUSH WORD PTR [BP+6]\r
- CALL VLINE\r
-\r
- POP BP\r
- RET 10\r
-DRAWRECT ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-FILLRECT PROC\r
- PUSH BP\r
- MOV BP,SP\r
- PUSHA\r
-\r
- MOV CX,WORD PTR [BP+6]\r
-HLINE_LOOP2:\r
- PUSH WORD PTR [BP+12] ; Color\r
- PUSH CX ; Y1 value\r
- PUSH WORD PTR [BP+8] ; X2 value\r
- PUSH WORD PTR [BP+4] ; X1 value\r
- CALL HLINE\r
-\r
- INC CX\r
- CMP CX,WORD PTR [BP+10] ; Y2 value\r
- JLE HLINE_LOOP2\r
-\r
- POPA\r
- POP BP\r
- RET 10\r
-FILLRECT ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-MODETEST PROC\r
- PUSH BP\r
- MOV BP,SP\r
- SUB SP,2\r
-\r
- TEST Mode.attrib,TVU_PLANAR\r
- JNZ PLANAR_CLEAR\r
- CMP Mode.videomode,VMODE_13H\r
- JNE UNCHAINED_CLEAR\r
-\r
- PUSH 0\r
- CALL CLEAR13H\r
- JMP CLEAROUT\r
-\r
-PLANAR_CLEAR:\r
- PUSH 0\r
- CALL PLANARCLEAR\r
- JMP CLEAROUT\r
-\r
-UNCHAINED_CLEAR:\r
- PUSH 0\r
- CALL UNCHAINEDCLEAR\r
-\r
-CLEAROUT:\r
-\r
- PUSH 15\r
-\r
- MOV AX,Mode.mode_height\r
- DEC AX\r
- PUSH AX\r
-\r
- MOV AX,Mode.mode_width\r
- DEC AX\r
- PUSH AX\r
-\r
- PUSH 0\r
- PUSH 0\r
- CALL DRAWRECT\r
-\r
- MOV CX,50\r
-LINE_LOOP:\r
- PUSH 15\r
- PUSH CX\r
- PUSH 10\r
- PUSH 0\r
- CALL HLINE\r
- ADD CX,50\r
-\r
- PUSH 15\r
- PUSH CX\r
- PUSH 25\r
- PUSH 0\r
- CALL HLINE\r
- ADD CX,50\r
-\r
- CMP CX,Mode.mode_height\r
- JLE LINE_LOOP\r
-\r
- MOV CX,40\r
-LINE_LOOP2:\r
- PUSH 15\r
- PUSH CX\r
- PUSH 15\r
- PUSH 0\r
- CALL VLINE\r
- ADD CX,40\r
-\r
- PUSH 15\r
- PUSH CX\r
- PUSH 30\r
- PUSH 0\r
- CALL VLINE\r
- ADD CX,40\r
-\r
- CMP CX,Mode.mode_width\r
- JLE LINE_LOOP2\r
-\r
- CMP Mode.colors,16\r
- JE SETBLOCK16\r
- CMP Mode.colors,256\r
- JE SETBLOCK256\r
-\r
- MOV AX,Mode.mode_width\r
- SUB AX,420\r
- MOV DI,AX\r
- ADD DI,200\r
- MOV BX,Mode.mode_height\r
- SUB BX,220\r
- MOV SI,BX\r
- ADD SI,200\r
-\r
- PUSH 0 ; Color\r
- PUSH SI ; Y2\r
- PUSH DI ; X2\r
- PUSH BX ; Y1\r
- PUSH AX ; X1\r
- CALL FILLRECT\r
- ADD AX,200\r
- ADD DI,200\r
- PUSH 15 ; Color\r
- PUSH SI ; Y2\r
- PUSH DI ; X2\r
- PUSH BX ; Y1\r
- PUSH AX ; X1\r
- CALL FILLRECT\r
-\r
- MOV AX,Mode.mode_width\r
- SUB AX,420\r
- MOV DI,AX\r
- ADD DI,400\r
- MOV BX,Mode.mode_height\r
- SUB BX,220\r
- MOV SI,BX\r
- ADD SI,200\r
-\r
- PUSH 15 ; Color\r
- PUSH SI ; Y2\r
- PUSH DI ; X2\r
- PUSH BX ; Y1\r
- PUSH AX ; X1\r
- CALL DRAWRECT\r
-\r
- JMP BLOCKOUT\r
-SETBLOCK16:\r
-\r
- MOV AX,Mode.mode_width\r
- SUB AX,522\r
- MOV DI,AX\r
- ADD DI,64\r
-\r
- MOV BX,Mode.mode_height\r
- SUB BX,135\r
- MOV SI,BX\r
- ADD SI,64\r
- MOV CX,0\r
- MOV DX,0\r
-LINE1_LOOP1:\r
-\r
- PUSH DX ; Color\r
- PUSH SI ; Y2\r
- PUSH DI ; X2\r
- PUSH BX ; Y1\r
- PUSH AX ; X1\r
- CALL FILLRECT\r
- ADD AX,64\r
- ADD DI,64\r
- INC CX\r
- INC DX\r
- CMP CX,8\r
- JL LINE1_LOOP1\r
-\r
- MOV AX,Mode.mode_width\r
- SUB AX,522\r
- MOV DI,AX\r
- ADD DI,64\r
- ADD SI,64\r
- ADD BX,64\r
- MOV CX,0\r
-LINE1_LOOP2:\r
-\r
- PUSH DX ; Color\r
- PUSH SI ; Y2\r
- PUSH DI ; X2\r
- PUSH BX ; Y1\r
- PUSH AX ; X1\r
- CALL FILLRECT\r
- ADD AX,64\r
- ADD DI,64\r
- INC CX\r
- INC DX\r
- CMP CX,8\r
- JL LINE1_LOOP2\r
-\r
- MOV AX,Mode.mode_width\r
- SUB AX,522\r
- MOV DI,Mode.mode_width\r
- SUB DI,10\r
- MOV BX,Mode.mode_height\r
- SUB BX,135\r
- MOV SI,Mode.mode_height\r
- SUB SI,7\r
- PUSH 15 ; Color\r
- PUSH SI ; Y2\r
- PUSH DI ; X2\r
- PUSH BX ; Y1\r
- PUSH AX ; X1\r
- CALL DRAWRECT\r
- JMP BLOCKOUT\r
-\r
-SETBLOCK256:\r
-\r
- MOV WORD PTR [BP-2],0\r
- MOV BX,Mode.mode_height\r
- SUB BX,165\r
- MOV SI,BX\r
- ADD SI,10\r
- MOV DX,0\r
-LINE2_LOOP2:\r
-\r
- MOV AX,Mode.mode_width\r
- SUB AX,165\r
- MOV DI,Mode.mode_width\r
- SUB DI,155\r
-\r
- MOV CX,0\r
-LINE2_LOOP1:\r
-\r
- PUSH DX ; Color\r
- PUSH SI ; Y2\r
- PUSH DI ; X2\r
- PUSH BX ; Y1\r
- PUSH AX ; X1\r
- CALL FILLRECT\r
- ADD AX,10\r
- ADD DI,10\r
- INC CX\r
- INC DX\r
- CMP CX,16\r
- JL LINE2_LOOP1\r
-\r
- ADD BX,10\r
- ADD SI,10\r
- INC WORD PTR [BP-2]\r
- CMP WORD PTR [BP-2],16\r
- JL LINE2_LOOP2\r
-\r
- MOV AX,Mode.mode_width\r
- SUB AX,165\r
- MOV DI,Mode.mode_width\r
- SUB DI,5\r
- MOV BX,Mode.mode_height\r
- SUB BX,165\r
- MOV SI,Mode.mode_height\r
- SUB SI,5\r
- PUSH 15 ; Color\r
- PUSH SI ; Y2\r
- PUSH DI ; X2\r
- PUSH BX ; Y1\r
- PUSH AX ; X1\r
- CALL DRAWRECT\r
-\r
-BLOCKOUT:\r
- ADD SP,2\r
- POP BP\r
- RET\r
-MODETEST ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-PUTCHAR PROC\r
- PUSH BP\r
- MOV BP,SP\r
- SUB SP,2\r
- PUSHA\r
-\r
- CMP Mode.videomode,VMODE_00H\r
- JE SET2\r
- CMP Mode.videomode,VMODE_MODE_L\r
- JE SET2\r
- CMP Mode.videomode,VMODE_MODE_M\r
- JE SET2\r
- MOV BYTE PTR [BP-2],160\r
- JMP NOSET2\r
-SET2:\r
- MOV BYTE PTR [BP-2],80\r
- JMP NOSET2\r
-NOSET2:\r
-\r
- MOV AX,0B800h\r
- MOV ES,AX\r
-\r
- MOV AX,WORD PTR [BP+6] ; Y value\r
- MOV BL,BYTE PTR [BP-2]\r
- MUL BL\r
- SHL WORD PTR [BP+4],1\r
- ADD AX,WORD PTR [BP+4] ; X value\r
- MOV DI,AX\r
- MOV AH,ATT\r
- MOV AL,BYTE PTR [BP+8] ; character\r
- CLD\r
- STOSW\r
-\r
- POPA\r
- ADD SP,2\r
- POP BP\r
- RET 6\r
-PUTCHAR ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-PRINTSTRING PROC\r
-\r
-TEXT_LOOP:\r
- XOR DX,DX\r
- MOV DL,BYTE PTR [SI]\r
- PUSH DX\r
- PUSH BX\r
- PUSH AX\r
- CALL PUTCHAR\r
-\r
- INC AX\r
- INC SI\r
- CMP BYTE PTR [SI],0\r
- JNE TEXT_LOOP\r
- RET\r
-PRINTSTRING ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-TEXTTEST PROC\r
- PUSH 1FH\r
- CALL TEXTCLEAR\r
-\r
- MOV AH,2h\r
- MOV BH,0\r
- MOV DX,Mode.mode_height\r
- MOV DH,DL\r
- MOV DL,0\r
- INT 10h\r
-\r
- CMP Mode.videomode,VMODE_00H\r
- JE SET_TEXT1\r
- CMP Mode.videomode,VMODE_MODE_J\r
- JE SET_TEXT2\r
- CMP Mode.videomode,VMODE_MODE_K\r
- JE SET_TEXT3\r
- CMP Mode.videomode,VMODE_MODE_L\r
- JE SET_TEXT4\r
- CMP Mode.videomode,VMODE_MODE_M\r
- JE SET_TEXT5\r
- ; Mode 03h\r
- MOV TEXTMSG_2+13,'3'\r
- MOV TEXTMSG_3+8,'8'\r
- MOV TEXTMSG_4+19,'4'\r
- JMP NOSET\r
-SET_TEXT1:\r
- ; Mode 00h\r
- MOV TEXTMSG_2+13,'0'\r
- MOV TEXTMSG_3+8,'4'\r
- MOV TEXTMSG_4+19,'2'\r
- JMP NOSET\r
-SET_TEXT2:\r
- ; Mode J\r
- MOV TEXTMSG_8+11,'J'\r
- MOV TEXTMSG_9+21,'4'\r
- MOV TEXTMSG_9+22,'3'\r
- MOV TEXTMSG_A+19,'3'\r
- MOV TEXTMSG_A+20,'4'\r
- MOV TEXTMSG_A+21,'4'\r
- MOV TEXTMSG_A+22,'0'\r
- JMP NOSET\r
-SET_TEXT3:\r
- ; Mode K\r
- MOV TEXTMSG_8+11,'K'\r
- MOV TEXTMSG_9+21,'5'\r
- MOV TEXTMSG_9+22,'0'\r
- MOV TEXTMSG_A+19,'4'\r
- MOV TEXTMSG_A+20,'0'\r
- MOV TEXTMSG_A+21,'0'\r
- MOV TEXTMSG_A+22,'0'\r
- JMP NOSET\r
-SET_TEXT4:\r
- ; Mode L\r
- MOV TEXTMSG_8+11,'L'\r
- MOV TEXTMSG_9+8,'4'\r
- MOV TEXTMSG_9+21,'4'\r
- MOV TEXTMSG_9+22,'3'\r
- MOV TEXTMSG_A+19,'3'\r
- MOV TEXTMSG_A+20,'4'\r
- MOV TEXTMSG_A+21,'4'\r
- MOV TEXTMSG_A+22,'0'\r
- JMP NOSET\r
-SET_TEXT5:\r
- ; Mode M\r
- MOV TEXTMSG_8+11,'M'\r
- MOV TEXTMSG_9+8,'4'\r
- MOV TEXTMSG_9+21,'5'\r
- MOV TEXTMSG_9+22,'0'\r
- MOV TEXTMSG_A+19,'4'\r
- MOV TEXTMSG_A+20,'0'\r
- MOV TEXTMSG_A+21,'0'\r
- MOV TEXTMSG_A+22,'0'\r
-NOSET:\r
-\r
- CMP Mode.videomode,VMODE_00H\r
- JE WRITE1\r
- CMP Mode.videomode,VMODE_03H\r
- JE WRITE1\r
- CMP Mode.videomode,VMODE_MODE_J\r
- JE WRITE2\r
- JMP WRITE2\r
-\r
-WRITE1:\r
- MOV BX,0\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_1\r
- CALL PRINTSTRING\r
- MOV BX,1\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_2\r
- CALL PRINTSTRING\r
- MOV BX,2\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_3\r
- CALL PRINTSTRING\r
- MOV BX,3\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_4\r
- CALL PRINTSTRING\r
- MOV BX,4\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_5\r
- CALL PRINTSTRING\r
- MOV BX,5\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_6\r
- CALL PRINTSTRING\r
- JMP WRITEOUT\r
-\r
-WRITE2:\r
- MOV BX,0\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_7\r
- CALL PRINTSTRING\r
- MOV BX,1\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_8\r
- CALL PRINTSTRING\r
- MOV BX,2\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_9\r
- CALL PRINTSTRING\r
- MOV BX,3\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_A\r
- CALL PRINTSTRING\r
- MOV BX,4\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_B\r
- CALL PRINTSTRING\r
- MOV BX,5\r
- MOV AX,0\r
- MOV SI,OFFSET TEXTMSG_C\r
- CALL PRINTSTRING\r
-WRITEOUT:\r
- RET\r
-TEXTTEST ENDP\r
-\r
-;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
+++ /dev/null
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- -=\r
-//=- Tauron VGA Utilities Version 3.0 -=\r
-//=- Released September 20, 1998 -=\r
-//=- -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-//=- All Rights Reserved. =-= that you put my name some- -=\r
-//=- =-= where in your credits. -=\r
-//=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- I assume no responsibility whatsoever for any effect that this package, -=\r
-//=- the information contained therein or the use thereof has on you, your -=\r
-//=- sanity, computer, spouse, children, pets or anything else related to -=\r
-//=- you or your existance. No warranty is provided nor implied with this -=\r
-//=- source code. -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-#include <stdlib.h>\r
-#include <stdio.h>\r
-#include <conio.h>\r
-#include <dos.h>\r
-#include "tauron.h"\r
-\r
-void TextClear(char attrib)\r
-{\r
- unsigned int bytes = Mode.width_bytes;\r
- asm {\r
- MOV AX,0B800H\r
- MOV ES,AX\r
- XOR DI,DI\r
-\r
- MOV AH,attrib\r
- MOV AL,' '\r
- MOV CX,bytes\r
- CLD\r
- REP STOSW\r
- }\r
-}\r
-\r
-void Clear04H()\r
-{\r
- unsigned int bytes = Mode.width_bytes;\r
- asm {\r
- MOV AX,0B800H\r
- MOV ES,AX\r
- XOR DI,DI\r
-\r
- MOV AX,0AAAAH\r
- CLD\r
- MOV CX,bytes\r
- REP STOSW\r
- }\r
-}\r
-\r
-void Clear06H()\r
-{\r
- unsigned int bytes = Mode.width_bytes;\r
- asm {\r
- MOV AX,0B800H\r
- MOV ES,AX\r
- XOR DI,DI\r
-\r
- MOV AX,0FFFFH\r
- CLD\r
- MOV CX,bytes\r
- REP STOSW\r
- }\r
-}\r
-\r
-void Clear0DH(char color)\r
-{\r
- unsigned int bytes = Mode.width_bytes/2;\r
- asm {\r
- MOV AX,0A000H\r
- MOV ES,AX\r
- XOR DI,DI\r
-\r
- MOV CX,bytes\r
- }\r
-CLEAR_LOOP:\r
- asm {\r
- MOV DX,03CEH\r
- MOV AX,0FF08H\r
- OUT DX,AX\r
-\r
- MOV AX,0\r
- XCHG WORD PTR ES:[DI],AX\r
-\r
- MOV DX,03C4H\r
- MOV AH,color\r
- MOV AL,2\r
- OUT DX,AX\r
-\r
- MOV WORD PTR ES:[DI],0FFFFH\r
-\r
- MOV AX,0F02H\r
- OUT DX,AX\r
-\r
- MOV DX,03CEH\r
- MOV AX,0FF08h\r
- OUT DX,AX\r
-\r
- ADD DI,2\r
- LOOP CLEAR_LOOP\r
- }\r
-}\r
-\r
-void PlanarClear(char Color)\r
-{\r
- unsigned int bytes = Mode.width_bytes/2;\r
- asm {\r
- MOV AX,0A000H\r
- MOV ES,AX\r
- XOR DI,DI\r
-\r
- MOV CX,bytes\r
- }\r
-CLEAR_LOOP:\r
- asm {\r
- MOV DX,03CEH\r
- MOV AX,0FF08H\r
- OUT DX,AX\r
-\r
- MOV AX,0\r
- XCHG WORD PTR ES:[DI],AX\r
-\r
- MOV DX,03C4H\r
- MOV AH,Color\r
- MOV AL,2\r
- OUT DX,AX\r
-\r
- MOV WORD PTR ES:[DI],0FFFFH\r
-\r
- MOV AX,0F02H\r
- OUT DX,AX\r
-\r
- MOV DX,03CEH\r
- MOV AX,0FF08h\r
- OUT DX,AX\r
-\r
- ADD DI,2\r
- LOOP CLEAR_LOOP\r
- }\r
-}\r
-\r
-void Clear13H(char Color)\r
-{\r
- asm {\r
- MOV AX,0A000H\r
- MOV ES,AX\r
- XOR DI,DI\r
-\r
- MOV AL,Color\r
- MOV AH,AL\r
- CLD\r
- MOV CX,8000H\r
- REP STOSW\r
- }\r
-}\r
-\r
-void UnchainedClear(char Color)\r
-{\r
- unsigned int bytes = Mode.width_bytes/2;\r
- asm {\r
- mov dx, 03C4h // 03c4h\r
- mov al, 2 // Map Mask Register\r
- out dx, al\r
- inc dx\r
- mov al,00001111B // Select all planes to write to\r
- out dx, al // Doing this to clear all planes at once\r
-\r
- mov ax,0A000H\r
- mov es, ax\r
- XOR DI,DI // set es:di = Screen Mem\r
- mov ah,Color // move the color into ah\r
- mov al,ah // copy the value to al\r
- mov cx,bytes // Number of words\r
- cld\r
- rep stosw // clear it\r
- }\r
-}\r
+++ /dev/null
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- -=\r
-//=- Tauron VGA Utilities Version 3.0 -=\r
-//=- Released September 20, 1998 -=\r
-//=- -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-//=- All Rights Reserved. =-= that you put my name some- -=\r
-//=- =-= where in your credits. -=\r
-//=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- I assume no responsibility whatsoever for any effect that this package, -=\r
-//=- the information contained therein or the use thereof has on you, your -=\r
-//=- sanity, computer, spouse, children, pets or anything else related to -=\r
-//=- you or your existance. No warranty is provided nor implied with this -=\r
-//=- source code. -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-// 3C4H, 03H\r
-// Bit positions for font maps:\r
-//\r
-// +--7--+--6--+--5--+--4--+--3--+--2--+--1--+--0--+\r
-// | | | SAH | SBH | SA | SB |\r
-// +-----+-----+-----+-----+-----+-----+-----+-----+\r
-//\r
-// SA - bits 1, 0 of Character Map A\r
-// SAH - bit 2 (high order) of Charcter Map A\r
-//\r
-// SB - bits 1, 0 of Character Map B\r
-// SBH - bit 2 (high order) of Charcter Map B\r
-//\r
-#include <string.h>\r
-#include <stdlib.h>\r
-#include <stdio.h>\r
-#include <conio.h>\r
-#include <dos.h>\r
-#include "tauron.h"\r
-#include "font1.h"\r
-#include "font2.h"\r
-extern unsigned char mode03h[62];\r
-void LoadFonts();\r
-\r
-// Points to fonts for Map A Memory Address\r
-#define DFM_MAPA_FONT1 0x00 // 0K\r
-#define DFM_MAPA_FONT2 0x04 // 16K\r
-#define DFM_MAPA_FONT3 0x08 // 32K\r
-#define DFM_MAPA_FONT4 0x0C // 48K\r
-#define DFM_MAPA_FONT5 0x20 // 8K\r
-#define DFM_MAPA_FONT6 0x24 // 24K\r
-#define DFM_MAPA_FONT7 0x28 // 40K\r
-#define DFM_MAPA_FONT8 0x2C // 56K\r
-\r
-// Points to fonts for Map B\r
-#define DFM_MAPB_FONT1 0x00 // 0K\r
-#define DFM_MAPB_FONT2 0x01 // 16K\r
-#define DFM_MAPB_FONT3 0x02 // 32K\r
-#define DFM_MAPB_FONT4 0x03 // 48K\r
-#define DFM_MAPB_FONT5 0x10 // 8K\r
-#define DFM_MAPB_FONT6 0x11 // 24K\r
-#define DFM_MAPB_FONT7 0x12 // 40K\r
-#define DFM_MAPB_FONT8 0x13 // 56K\r
-\r
-\r
-// To set dual font mode, just set the character map select register to point\r
-// to 2 different fonts. There can be up to 8 fonts resident in memory at\r
-// once but only 2 can be active at a time.\r
-//\r
-// ** NOTE ** If you set both font maps the same you are no longer in dual font\r
-// mode. But what this allows you to do is to put up to 8 fonts in VGA memory\r
-// and switch between them at any time.\r
-//\r
-// Both fonts were made with my font editor. I just read the BIOS and\r
-// modified the second font so a solid line goes through the middle of it.\r
-//\r
-// This procedure sets up dual font mode and loads 2 fonts into video memory.\r
-void SetDual()\r
-{\r
- outport(SEQ_ADDR, ((DFM_MAPA_FONT1 | DFM_MAPB_FONT5) << 8) | 0x03);\r
-\r
- // Load font 1 into 0K and font 2 into 8K\r
- LoadFonts();\r
-}\r
-\r
-// This procedure reset the character map select register to point to only\r
-// one font.\r
-void UnSetDual()\r
-{\r
- outport(0x3C4,0x0003);\r
-}\r
-\r
-// In dual font modes, the palette is in effect half of what it is. The \r
-// bottom 8 colors for the first font, and the top 8 colors for the second \r
-// font.\r
-//\r
-// What I do here is to set them to the same 8 colors.\r
-// Black, Blue, Green, Red, Purple, Yellow, Light Gray, and White\r
-//\r
-void SetDualPalette()\r
-{\r
- // Font 1\r
- setpal( 0, 0, 0, 0);\r
- setpal( 1, 0, 0, 42);\r
- setpal( 2, 0, 42, 0);\r
- setpal( 3, 0, 42, 42);\r
- setpal( 4, 42, 0, 0);\r
- setpal( 5, 63, 63, 21);\r
- setpal( 6, 42, 42, 42);\r
- setpal( 7, 63, 63, 63);\r
- // Font 2\r
- setpal( 8, 0, 0, 0);\r
- setpal( 9, 0, 0, 42);\r
- setpal(10, 0, 42, 0);\r
- setpal(11, 0, 42, 42);\r
- setpal(12, 42, 0, 0);\r
- setpal(13, 63, 63, 21);\r
- setpal(14, 42, 42, 42);\r
- setpal(15, 63, 63, 63);\r
-}\r
-\r
-void pchar(int x, int y, char c, char att)\r
-{\r
- char far *vidmem;\r
- int off;\r
-\r
- // Make a pointer to the font\r
- vidmem = (char far *)MK_FP( 0xB800, 0x0000);\r
- off = y * 160 + x * 2;\r
- vidmem += off;\r
- *vidmem++ = c;\r
- *vidmem = att;\r
-}\r
-\r
-void print(int x, int y, char *Text, char attrib)\r
-{\r
- for (int i = 0; i < strlen(Text); i++)\r
- pchar(x++,y,Text[i],attrib);\r
-}\r
-\r
-void DualTest()\r
-{\r
- SetMode((unsigned int)&mode03h);\r
- TextClear(0x1F);\r
- SetDual();\r
- SetDualPalette();\r
-\r
- /* ** NOTE ** when trying to print text on the screen, do not use the printf\r
- * text functions. For some reason they do not select the proper VGA font.\r
- */\r
-\r
- print(0,0,"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿",0x17);\r
- print(0,1,"³ DUAL FONT MODE ³",0x17);\r
- print(0,2,"ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ",0x17);\r
-\r
- print(0,4,"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿",0x1F);\r
- print(0,5,"³ DUAL FONT MODE ³",0x1F);\r
- print(0,6,"ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ",0x1F);\r
-\r
- getch();\r
- UnSetDual();\r
- textcolor(7);\r
- textbackground(0);\r
-}\r
-\r
-\r
-void LoadFonts()\r
-{\r
- char far *vidmem;\r
- int l = 0;\r
- unsigned char oldmode,oldmisc,oldmem,oldmask;\r
- unsigned char newmode,newmisc,newmem;\r
-\r
- // Make a pointer to the font\r
- vidmem = (char far *)MK_FP( 0xA000, 0x0000);\r
-\r
- // Store the OLD 'Mode Register' value\r
- outportb(GRACON_ADDR,5);\r
- oldmode = inportb(GRACON_ADDR+1);\r
- // Store the OLD 'Miscellaneous Register' value\r
- outportb(GRACON_ADDR,6);\r
- oldmisc = inportb(GRACON_ADDR+1);\r
- // Store the OLD 'Mask Map' value\r
- outportb(SEQ_ADDR,2);\r
- oldmask = inportb(SEQ_ADDR+1);\r
- // Store the OLD 'Memory Mode' value\r
- outportb(SEQ_ADDR,4);\r
- oldmem = inportb(SEQ_ADDR+1);\r
-\r
- // Write the NEW 'Mode Register' value\r
- newmode = (oldmode & 0xFC);\r
- outport(GRACON_ADDR, (newmode << 8) | 0x05);\r
- // Write the NEW 'Miscellaneous Register' value\r
- newmisc = ((oldmisc & 0xF1)|4);\r
- outport(GRACON_ADDR, (newmisc << 8) | 0x06);\r
- // Write the NEW 'Mask Map' value\r
- outport(SEQ_ADDR, 0x0402);\r
- // Write the NEW 'Memory Mode' value\r
- newmem = (oldmem | 4);\r
- outport(SEQ_ADDR, (newmem << 8) | 0x04);\r
-\r
- // Copy the font from BIOS\r
- l = 0;\r
- for (int i = 0; i < 256; i++)\r
- {\r
- for (int j = 0; j < 16; j++)\r
- {\r
- *vidmem++ = Font1[l++];\r
- }\r
- for (int k = 0; k < 16; k++)\r
- {\r
- *vidmem++ = 0x00;\r
- }\r
- }\r
-\r
- vidmem = (char far *)MK_FP( 0xA000, 0x2000);\r
- l = 0;\r
- for (int i = 0; i < 256; i++)\r
- {\r
- for (int j = 0; j < 16; j++)\r
- {\r
- *vidmem++ = Font2[l++];\r
- }\r
- for (int k = 0; k < 16; k++)\r
- {\r
- *vidmem++ = 0x00;\r
- }\r
- }\r
-\r
- // Write the OLD 'Mode Register' value\r
- outport(GRACON_ADDR, (oldmode << 8) | 0x05);\r
- // Write the OLD 'Miscellaneous Register' value\r
- outport(GRACON_ADDR, (oldmisc << 8) | 0x06);\r
- // Write the OLD 'Mask Map' value\r
- outport(SEQ_ADDR,(oldmask << 8) | 0x02);\r
- // Write the OLD 'Memory Mode' value\r
- outport(SEQ_ADDR, (oldmem << 8) | 0x04);\r
-}\r
-\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
\ No newline at end of file
+++ /dev/null
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- Created with FEDIT written by Kinfira (Jeffrey Morgan) -=\r
-//=- -=\r
-//=- Tauron VGA Utilities Version 1.0 -=\r
-//=- Released June 14, 1998 -=\r
-//=- -=\r
-//=- Font Width: 8 -=\r
-//=- Font Height: 16 -=\r
-//=- Bytes per character: 16 -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-char Font1[] = {\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07E,0x081,0x0A5,0x081,0x081,0x0BD,0x099,0x081,0x081,0x07E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07E,0x0FF,0x0DB,0x0FF,0x0FF,0x0C3,0x0E7,0x0FF,0x0FF,0x07E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x06C,0x0FE,0x0FE,0x0FE,0x0FE,0x07C,0x038,0x010,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x010,0x038,0x07C,0x0FE,0x07C,0x038,0x010,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x018,0x03C,0x03C,0x0E7,0x0E7,0x0E7,0x099,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x018,0x03C,0x07E,0x0FF,0x0FF,0x07E,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x018,0x03C,0x03C,0x018,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0E7,0x0C3,0x0C3,0x0E7,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,\r
-0x000,0x000,0x000,0x000,0x000,0x03C,0x066,0x042,0x042,0x066,0x03C,0x000,0x000,0x000,0x000,0x000,\r
-0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0C3,0x099,0x0BD,0x0BD,0x099,0x0C3,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,\r
-0x000,0x000,0x01E,0x00E,0x01A,0x032,0x078,0x0CC,0x0CC,0x0CC,0x0CC,0x078,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03C,0x066,0x066,0x066,0x066,0x03C,0x018,0x07E,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03F,0x033,0x03F,0x030,0x030,0x030,0x030,0x070,0x0F0,0x0E0,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07F,0x063,0x07F,0x063,0x063,0x063,0x063,0x067,0x0E7,0x0E6,0x0C0,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x018,0x018,0x0DB,0x03C,0x0E7,0x03C,0x0DB,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x080,0x0C0,0x0E0,0x0F0,0x0F8,0x0FE,0x0F8,0x0F0,0x0E0,0x0C0,0x080,0x000,0x000,0x000,0x000,\r
-0x000,0x002,0x006,0x00E,0x01E,0x03E,0x0FE,0x03E,0x01E,0x00E,0x006,0x002,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x03C,0x07E,0x018,0x018,0x018,0x018,0x07E,0x03C,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x066,0x066,0x066,0x066,0x066,0x066,0x066,0x000,0x066,0x066,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07F,0x0DB,0x0DB,0x0DB,0x07B,0x01B,0x01B,0x01B,0x01B,0x01B,0x000,0x000,0x000,0x000,\r
-0x000,0x07C,0x0C6,0x060,0x038,0x06C,0x0C6,0x0C6,0x06C,0x038,0x00C,0x0C6,0x07C,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FE,0x0FE,0x0FE,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x03C,0x07E,0x018,0x018,0x018,0x018,0x07E,0x03C,0x018,0x07E,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x03C,0x07E,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x07E,0x03C,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x018,0x00C,0x0FE,0x00C,0x018,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x030,0x060,0x0FE,0x060,0x030,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0C0,0x0C0,0x0C0,0x0C0,0x0FE,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x028,0x06C,0x0FE,0x06C,0x028,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x010,0x038,0x038,0x07C,0x07C,0x0FE,0x0FE,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x0FE,0x0FE,0x07C,0x07C,0x038,0x038,0x010,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x03C,0x03C,0x03C,0x018,0x018,0x018,0x000,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x066,0x066,0x066,0x024,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x06C,0x06C,0x0FE,0x06C,0x06C,0x06C,0x0FE,0x06C,0x06C,0x000,0x000,0x000,0x000,\r
-0x018,0x018,0x07C,0x0C6,0x0C2,0x0C0,0x07C,0x006,0x086,0x0C6,0x07C,0x018,0x018,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x0C2,0x0C6,0x00C,0x018,0x030,0x060,0x0C6,0x086,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x038,0x06C,0x06C,0x038,0x076,0x0DC,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x030,0x030,0x030,0x060,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x00C,0x018,0x030,0x030,0x030,0x030,0x030,0x030,0x018,0x00C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x030,0x018,0x00C,0x00C,0x00C,0x00C,0x00C,0x00C,0x018,0x030,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x066,0x03C,0x0FF,0x03C,0x066,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x018,0x018,0x07E,0x018,0x018,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x018,0x018,0x018,0x030,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FE,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x002,0x006,0x00C,0x018,0x030,0x060,0x0C0,0x080,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x0C6,0x0CE,0x0D6,0x0D6,0x0E6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x038,0x078,0x018,0x018,0x018,0x018,0x018,0x018,0x07E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x006,0x00C,0x018,0x030,0x060,0x0C0,0x0C6,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x006,0x006,0x03C,0x006,0x006,0x006,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x00C,0x01C,0x03C,0x06C,0x0CC,0x0FE,0x00C,0x00C,0x00C,0x01E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0FE,0x0C0,0x0C0,0x0C0,0x0FC,0x00E,0x006,0x006,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x038,0x060,0x0C0,0x0C0,0x0FC,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0FE,0x0C6,0x006,0x006,0x00C,0x018,0x030,0x030,0x030,0x030,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x07E,0x006,0x006,0x006,0x00C,0x078,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x018,0x018,0x000,0x000,0x000,0x018,0x018,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x018,0x018,0x000,0x000,0x000,0x018,0x018,0x030,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x006,0x00C,0x018,0x030,0x060,0x030,0x018,0x00C,0x006,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x0FE,0x000,0x000,0x0FE,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x060,0x030,0x018,0x00C,0x006,0x00C,0x018,0x030,0x060,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x0C6,0x00C,0x018,0x018,0x018,0x000,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x07C,0x0C6,0x0C6,0x0DE,0x0DE,0x0DE,0x0DC,0x0C0,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x010,0x038,0x06C,0x0C6,0x0C6,0x0FE,0x0C6,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0FC,0x066,0x066,0x066,0x07C,0x066,0x066,0x066,0x066,0x0FC,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03C,0x066,0x0C2,0x0C0,0x0C0,0x0C0,0x0C0,0x0C2,0x066,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0F8,0x06C,0x066,0x066,0x066,0x066,0x066,0x066,0x06C,0x0F8,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0FE,0x066,0x062,0x068,0x078,0x068,0x060,0x062,0x066,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0FE,0x066,0x062,0x068,0x078,0x068,0x060,0x060,0x060,0x0F0,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03C,0x066,0x0C2,0x0C0,0x0C0,0x0DE,0x0C6,0x0C6,0x066,0x03A,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x0C6,0x0C6,0x0FE,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03C,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x01E,0x00C,0x00C,0x00C,0x00C,0x00C,0x0CC,0x0CC,0x0CC,0x078,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0E6,0x066,0x06C,0x06C,0x078,0x078,0x06C,0x066,0x066,0x0E6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0F0,0x060,0x060,0x060,0x060,0x060,0x060,0x062,0x066,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0EE,0x0FE,0x0FE,0x0D6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0E6,0x0F6,0x0FE,0x0DE,0x0CE,0x0C6,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x038,0x06C,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x06C,0x038,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0FC,0x066,0x066,0x066,0x07C,0x060,0x060,0x060,0x060,0x0F0,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0D6,0x0DE,0x07C,0x00C,0x00E,0x000,0x000,\r
-0x000,0x000,0x0FC,0x066,0x066,0x066,0x07C,0x06C,0x066,0x066,0x066,0x0E6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x0C6,0x060,0x038,0x00C,0x006,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07E,0x07E,0x05A,0x018,0x018,0x018,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x06C,0x038,0x010,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0D6,0x0D6,0x0FE,0x06C,0x06C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x06C,0x06C,0x038,0x038,0x06C,0x06C,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x066,0x066,0x066,0x066,0x03C,0x018,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0FE,0x0C6,0x086,0x00C,0x018,0x030,0x060,0x0C2,0x0C6,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03C,0x030,0x030,0x030,0x030,0x030,0x030,0x030,0x030,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x080,0x0C0,0x0E0,0x070,0x038,0x01C,0x00E,0x006,0x002,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03C,0x00C,0x00C,0x00C,0x00C,0x00C,0x00C,0x00C,0x00C,0x03C,0x000,0x000,0x000,0x000,\r
-0x010,0x038,0x06C,0x0C6,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FF,0x000,0x000,\r
-0x030,0x030,0x018,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x078,0x00C,0x07C,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0E0,0x060,0x060,0x078,0x06C,0x066,0x066,0x066,0x066,0x0DC,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x07C,0x0C6,0x0C0,0x0C0,0x0C0,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x01C,0x00C,0x00C,0x03C,0x06C,0x0CC,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x07C,0x0C6,0x0FE,0x0C0,0x0C0,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x038,0x06C,0x064,0x060,0x0F0,0x060,0x060,0x060,0x060,0x0F0,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x076,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x07C,0x00C,0x0CC,0x078,0x000,\r
-0x000,0x000,0x0E0,0x060,0x060,0x06C,0x076,0x066,0x066,0x066,0x066,0x0E6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x018,0x000,0x038,0x018,0x018,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x006,0x006,0x000,0x00E,0x006,0x006,0x006,0x006,0x006,0x006,0x066,0x066,0x03C,0x000,\r
-0x000,0x000,0x0E0,0x060,0x060,0x066,0x06C,0x078,0x078,0x06C,0x066,0x0E6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x038,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0EC,0x0FE,0x0D6,0x0D6,0x0D6,0x0D6,0x0D6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0DC,0x066,0x066,0x066,0x066,0x066,0x066,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0DC,0x066,0x066,0x066,0x066,0x066,0x07C,0x060,0x060,0x0F0,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x076,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x07C,0x00C,0x00C,0x01E,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0DC,0x076,0x062,0x060,0x060,0x060,0x0F0,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x07C,0x0C6,0x060,0x038,0x00C,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x010,0x030,0x030,0x0FC,0x030,0x030,0x030,0x030,0x036,0x01C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x066,0x066,0x066,0x066,0x066,0x03C,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0C6,0x0C6,0x0C6,0x0D6,0x0D6,0x0FE,0x06C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0C6,0x06C,0x038,0x038,0x038,0x06C,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07E,0x006,0x00C,0x0F8,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0FE,0x0CC,0x018,0x030,0x060,0x0C6,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x00E,0x018,0x018,0x018,0x070,0x018,0x018,0x018,0x018,0x00E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x018,0x018,0x018,0x000,0x018,0x018,0x018,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x070,0x018,0x018,0x018,0x00E,0x018,0x018,0x018,0x018,0x070,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x076,0x0DC,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x010,0x038,0x06C,0x0C6,0x0C6,0x0C6,0x0FE,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03C,0x066,0x0C2,0x0C0,0x0C0,0x0C0,0x0C2,0x066,0x03C,0x00C,0x006,0x07C,0x000,0x000,\r
-0x000,0x000,0x0CC,0x0CC,0x000,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x00C,0x018,0x030,0x000,0x07C,0x0C6,0x0FE,0x0C0,0x0C0,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x010,0x038,0x06C,0x000,0x078,0x00C,0x07C,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0CC,0x0CC,0x000,0x078,0x00C,0x07C,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x060,0x030,0x018,0x000,0x078,0x00C,0x07C,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x038,0x06C,0x038,0x000,0x078,0x00C,0x07C,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x03C,0x066,0x060,0x060,0x066,0x03C,0x00C,0x006,0x03C,0x000,0x000,0x000,\r
-0x000,0x010,0x038,0x06C,0x000,0x07C,0x0C6,0x0FE,0x0C0,0x0C0,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x000,0x07C,0x0C6,0x0FE,0x0C0,0x0C0,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x060,0x030,0x018,0x000,0x07C,0x0C6,0x0FE,0x0C0,0x0C0,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x066,0x066,0x000,0x038,0x018,0x018,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x018,0x03C,0x066,0x000,0x038,0x018,0x018,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x060,0x030,0x018,0x000,0x038,0x018,0x018,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x0C6,0x0C6,0x010,0x038,0x06C,0x0C6,0x0C6,0x0FE,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x038,0x06C,0x038,0x000,0x038,0x06C,0x0C6,0x0C6,0x0FE,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x018,0x030,0x060,0x000,0x0FE,0x066,0x060,0x07C,0x060,0x060,0x066,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0CC,0x076,0x036,0x07E,0x0D8,0x0D8,0x06E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03E,0x06C,0x0CC,0x0CC,0x0FE,0x0CC,0x0CC,0x0CC,0x0CC,0x0CE,0x000,0x000,0x000,0x000,\r
-0x000,0x010,0x038,0x06C,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x060,0x030,0x018,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x030,0x078,0x0CC,0x000,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x060,0x030,0x018,0x000,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x000,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07E,0x006,0x00C,0x078,0x000,\r
-0x000,0x0C6,0x0C6,0x000,0x038,0x06C,0x0C6,0x0C6,0x0C6,0x0C6,0x06C,0x038,0x000,0x000,0x000,0x000,\r
-0x000,0x0C6,0x0C6,0x000,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x018,0x018,0x03C,0x066,0x060,0x060,0x060,0x066,0x03C,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x038,0x06C,0x064,0x060,0x0F0,0x060,0x060,0x060,0x060,0x0E6,0x0FC,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x066,0x066,0x03C,0x018,0x07E,0x018,0x07E,0x018,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x0F8,0x0CC,0x0CC,0x0F8,0x0C4,0x0CC,0x0DE,0x0CC,0x0CC,0x0CC,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x00E,0x01B,0x018,0x018,0x018,0x07E,0x018,0x018,0x018,0x018,0x018,0x0D8,0x070,0x000,0x000,\r
-0x000,0x018,0x030,0x060,0x000,0x078,0x00C,0x07C,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x00C,0x018,0x030,0x000,0x038,0x018,0x018,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x018,0x030,0x060,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x018,0x030,0x060,0x000,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x076,0x0DC,0x000,0x0DC,0x066,0x066,0x066,0x066,0x066,0x066,0x000,0x000,0x000,0x000,\r
-0x076,0x0DC,0x000,0x0C6,0x0E6,0x0F6,0x0FE,0x0DE,0x0CE,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x03C,0x06C,0x06C,0x03E,0x000,0x07E,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x038,0x06C,0x06C,0x038,0x000,0x07C,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x030,0x030,0x000,0x030,0x030,0x060,0x0C0,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x0FE,0x0C0,0x0C0,0x0C0,0x0C0,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x0FE,0x006,0x006,0x006,0x006,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x0C0,0x0C0,0x0C2,0x0C6,0x0CC,0x018,0x030,0x060,0x0CE,0x093,0x006,0x00C,0x01F,0x000,0x000,\r
-0x000,0x0C0,0x0C0,0x0C2,0x0C6,0x0CC,0x018,0x030,0x066,0x0CE,0x09A,0x03F,0x006,0x00F,0x000,0x000,\r
-0x000,0x000,0x018,0x018,0x000,0x018,0x018,0x018,0x03C,0x03C,0x03C,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x033,0x066,0x0CC,0x066,0x033,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0CC,0x066,0x033,0x066,0x0CC,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x011,0x044,0x011,0x044,0x011,0x044,0x011,0x044,0x011,0x044,0x011,0x044,0x011,0x044,0x011,0x044,\r
-0x055,0x0AA,0x055,0x0AA,0x055,0x0AA,0x055,0x0AA,0x055,0x0AA,0x055,0x0AA,0x055,0x0AA,0x055,0x0AA,\r
-0x0DD,0x077,0x0DD,0x077,0x0DD,0x077,0x0DD,0x077,0x0DD,0x077,0x0DD,0x077,0x0DD,0x077,0x0DD,0x077,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x0F8,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x018,0x018,0x018,0x018,0x018,0x0F8,0x018,0x0F8,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x0F6,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FE,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x000,0x000,0x000,0x000,0x000,0x0F8,0x018,0x0F8,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x036,0x036,0x036,0x036,0x036,0x0F6,0x006,0x0F6,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x000,0x000,0x000,0x000,0x000,0x0FE,0x006,0x0F6,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x036,0x036,0x036,0x036,0x036,0x0F6,0x006,0x0FE,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x0FE,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x018,0x018,0x018,0x018,0x018,0x0F8,0x018,0x0F8,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0F8,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x01F,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FF,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x01F,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x0FF,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x018,0x018,0x018,0x018,0x018,0x01F,0x018,0x01F,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x037,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x036,0x036,0x036,0x036,0x036,0x037,0x030,0x03F,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x03F,0x030,0x037,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x036,0x036,0x036,0x036,0x036,0x0F7,0x000,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0FF,0x000,0x0F7,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x036,0x036,0x036,0x036,0x036,0x037,0x030,0x037,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x000,0x000,0x000,0x000,0x000,0x0FF,0x000,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x036,0x036,0x036,0x036,0x036,0x0F7,0x000,0x0F7,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x018,0x018,0x018,0x018,0x018,0x0FF,0x000,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0FF,0x000,0x0FF,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FF,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x03F,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x018,0x018,0x018,0x018,0x018,0x01F,0x018,0x01F,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x01F,0x018,0x01F,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x03F,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x0FF,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x018,0x018,0x018,0x018,0x018,0x0FF,0x018,0x0FF,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x0F8,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x01F,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,\r
-0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,\r
-0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,\r
-0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x076,0x0DC,0x0D8,0x0D8,0x0D8,0x0DC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0FC,0x0C6,0x0FC,0x0C6,0x0C6,0x0FC,0x0C0,0x0C0,0x0C0,0x000,0x000,\r
-0x000,0x000,0x0FE,0x0C6,0x0C6,0x0C0,0x0C0,0x0C0,0x0C0,0x0C0,0x0C0,0x0C0,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x080,0x0FE,0x06C,0x06C,0x06C,0x06C,0x06C,0x06C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x0FE,0x0C6,0x060,0x030,0x018,0x030,0x060,0x0C6,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x07E,0x0D8,0x0D8,0x0D8,0x0D8,0x0D8,0x070,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x066,0x066,0x066,0x066,0x066,0x07C,0x060,0x060,0x0C0,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x076,0x0DC,0x018,0x018,0x018,0x018,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x07E,0x018,0x03C,0x066,0x066,0x066,0x03C,0x018,0x07E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x038,0x06C,0x0C6,0x0C6,0x0FE,0x0C6,0x0C6,0x06C,0x038,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x038,0x06C,0x0C6,0x0C6,0x0C6,0x06C,0x06C,0x06C,0x06C,0x0EE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x01E,0x030,0x018,0x00C,0x03E,0x066,0x066,0x066,0x066,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x07E,0x0DB,0x0DB,0x0DB,0x07E,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x003,0x006,0x07E,0x0CF,0x0DB,0x0F3,0x07E,0x060,0x0C0,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x01C,0x030,0x060,0x060,0x07C,0x060,0x060,0x060,0x030,0x01C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x0FE,0x000,0x000,0x0FE,0x000,0x000,0x0FE,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x018,0x018,0x07E,0x018,0x018,0x000,0x000,0x0FF,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x030,0x018,0x00C,0x006,0x00C,0x018,0x030,0x000,0x07E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x00C,0x018,0x030,0x060,0x030,0x018,0x00C,0x000,0x07E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x00E,0x01B,0x01B,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x0D8,0x0D8,0x0D8,0x070,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x018,0x018,0x000,0x07E,0x000,0x018,0x018,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x076,0x0DC,0x000,0x076,0x0DC,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x038,0x06C,0x06C,0x038,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x018,0x018,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x018,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x00F,0x00C,0x00C,0x00C,0x00C,0x00C,0x0EC,0x06C,0x06C,0x03C,0x01C,0x000,0x000,0x000,0x000,\r
-0x000,0x0D8,0x06C,0x06C,0x06C,0x06C,0x06C,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x070,0x098,0x030,0x060,0x0C8,0x0F8,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x07C,0x07C,0x07C,0x07C,0x07C,0x07C,0x07C,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000\r
-}; \r
+++ /dev/null
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- Created with FEDIT written by Kinfira (Jeffrey Morgan) -=\r
-//=- -=\r
-//=- Tauron VGA Utilities Version 1.0 -=\r
-//=- Released June 14, 1998 -=\r
-//=- -=\r
-//=- Font Width: 8 -=\r
-//=- Font Height: 16 -=\r
-//=- Bytes per character: 16 -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-char Font2[] = {\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07E,0x081,0x0A5,0x081,0x081,0x0BD,0x099,0x081,0x081,0x07E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07E,0x0FF,0x0DB,0x0FF,0x0FF,0x0C3,0x0E7,0x0FF,0x0FF,0x07E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x06C,0x0FE,0x0FE,0x0FE,0x0FE,0x07C,0x038,0x010,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x010,0x038,0x07C,0x0FE,0x07C,0x038,0x010,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x018,0x03C,0x03C,0x0E7,0x0E7,0x0E7,0x099,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x018,0x03C,0x07E,0x0FF,0x0FF,0x07E,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x018,0x03C,0x03C,0x018,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0E7,0x0C3,0x0C3,0x0E7,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,\r
-0x000,0x000,0x000,0x000,0x000,0x03C,0x066,0x042,0x042,0x066,0x03C,0x000,0x000,0x000,0x000,0x000,\r
-0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0C3,0x099,0x0BD,0x0BD,0x099,0x0C3,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,\r
-0x000,0x000,0x01E,0x00E,0x01A,0x032,0x078,0x0CC,0x0CC,0x0CC,0x0CC,0x078,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03C,0x066,0x066,0x066,0x066,0x03C,0x018,0x07E,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03F,0x033,0x03F,0x030,0x030,0x030,0x030,0x070,0x0F0,0x0E0,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07F,0x063,0x07F,0x063,0x063,0x063,0x063,0x067,0x0E7,0x0E6,0x0C0,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x018,0x018,0x0DB,0x03C,0x0E7,0x03C,0x0DB,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x080,0x0C0,0x0E0,0x0F0,0x0F8,0x0FE,0x0F8,0x0F0,0x0E0,0x0C0,0x080,0x000,0x000,0x000,0x000,\r
-0x000,0x002,0x006,0x00E,0x01E,0x03E,0x0FE,0x03E,0x01E,0x00E,0x006,0x002,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x03C,0x07E,0x018,0x018,0x018,0x018,0x07E,0x03C,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x066,0x066,0x066,0x066,0x066,0x066,0x066,0x000,0x066,0x066,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07F,0x0DB,0x0DB,0x0DB,0x07B,0x01B,0x01B,0x01B,0x01B,0x01B,0x000,0x000,0x000,0x000,\r
-0x000,0x07C,0x0C6,0x060,0x038,0x06C,0x0C6,0x0C6,0x06C,0x038,0x00C,0x0C6,0x07C,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FE,0x0FE,0x0FE,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x03C,0x07E,0x018,0x018,0x018,0x018,0x07E,0x03C,0x018,0x07E,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x03C,0x07E,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x07E,0x03C,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x018,0x00C,0x0FE,0x00C,0x018,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x030,0x060,0x0FE,0x060,0x030,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0C0,0x0C0,0x0C0,0x0C0,0x0FE,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x028,0x06C,0x0FE,0x06C,0x028,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x010,0x038,0x038,0x07C,0x07C,0x0FE,0x0FE,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x0FE,0x0FE,0x07C,0x07C,0x038,0x038,0x010,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x03C,0x03C,0x03C,0x018,0x018,0x018,0x000,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x066,0x066,0x066,0x024,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x06C,0x06C,0x0FE,0x06C,0x06C,0x06C,0x0FE,0x06C,0x06C,0x000,0x000,0x000,0x000,\r
-0x018,0x018,0x07C,0x0C6,0x0C2,0x0C0,0x07C,0x006,0x086,0x0C6,0x07C,0x018,0x018,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x0C2,0x0C6,0x00C,0x018,0x030,0x060,0x0C6,0x086,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x038,0x06C,0x06C,0x038,0x076,0x0DC,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x030,0x030,0x030,0x060,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x00C,0x018,0x030,0x030,0x030,0x030,0x030,0x030,0x018,0x00C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x030,0x018,0x00C,0x00C,0x00C,0x00C,0x00C,0x00C,0x018,0x030,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x066,0x03C,0x0FF,0x03C,0x066,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x018,0x018,0x07E,0x018,0x018,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x018,0x018,0x018,0x030,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FE,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x002,0x006,0x00C,0x018,0x030,0x060,0x0C0,0x080,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x0C6,0x0CE,0x0D6,0x0D6,0x0E6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x038,0x078,0x018,0x018,0x018,0x018,0x018,0x018,0x07E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x006,0x00C,0x018,0x030,0x060,0x0C0,0x0C6,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x006,0x006,0x03C,0x006,0x006,0x006,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x00C,0x01C,0x03C,0x06C,0x0CC,0x0FE,0x00C,0x00C,0x00C,0x01E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0FE,0x0C0,0x0C0,0x0C0,0x0FC,0x00E,0x006,0x006,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x038,0x060,0x0C0,0x0C0,0x0FC,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0FE,0x0C6,0x006,0x006,0x00C,0x018,0x030,0x030,0x030,0x030,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x07E,0x006,0x006,0x006,0x00C,0x078,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x018,0x018,0x000,0x000,0x000,0x018,0x018,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x018,0x018,0x000,0x000,0x000,0x018,0x018,0x030,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x006,0x00C,0x018,0x030,0x060,0x030,0x018,0x00C,0x006,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x0FE,0x000,0x000,0x0FE,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x060,0x030,0x018,0x00C,0x006,0x00C,0x018,0x030,0x060,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x0C6,0x00C,0x018,0x018,0x018,0x000,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x07C,0x0C6,0x0C6,0x0DE,0x0DE,0x0DE,0x0DC,0x0C0,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x010,0x038,0x06C,0x0C6,0x0C6,0x0FF,0x0C6,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0FC,0x066,0x066,0x066,0x07C,0x0FF,0x066,0x066,0x066,0x0FC,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03C,0x066,0x0C2,0x0C0,0x0C0,0x0FF,0x0C0,0x0C2,0x066,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0F8,0x06C,0x066,0x066,0x066,0x0FF,0x066,0x066,0x06C,0x0F8,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0FE,0x066,0x062,0x068,0x078,0x0FF,0x060,0x062,0x066,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0FE,0x066,0x062,0x068,0x078,0x0FF,0x060,0x060,0x060,0x0F0,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03C,0x066,0x0C2,0x0C0,0x0C0,0x0FF,0x0C6,0x0C6,0x066,0x03A,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x0C6,0x0C6,0x0FE,0x0FF,0x0C6,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03C,0x018,0x018,0x018,0x018,0x0FF,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x01E,0x00C,0x00C,0x00C,0x00C,0x0FF,0x0CC,0x0CC,0x0CC,0x078,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0E6,0x066,0x06C,0x06C,0x078,0x0FF,0x06C,0x066,0x066,0x0E6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0F0,0x060,0x060,0x060,0x060,0x0FF,0x060,0x062,0x066,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0EE,0x0FE,0x0FE,0x0D6,0x0FF,0x0C6,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0E6,0x0F6,0x0FE,0x0DE,0x0FF,0x0C6,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x038,0x06C,0x0C6,0x0C6,0x0C6,0x0FF,0x0C6,0x0C6,0x06C,0x038,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0FC,0x066,0x066,0x066,0x07C,0x0FF,0x060,0x060,0x060,0x0F0,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x0FF,0x0C6,0x0D6,0x0DE,0x07C,0x00C,0x00E,0x000,0x000,\r
-0x000,0x000,0x0FC,0x066,0x066,0x066,0x07C,0x0FF,0x066,0x066,0x066,0x0E6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07C,0x0C6,0x0C6,0x060,0x038,0x0FF,0x006,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x07E,0x07E,0x05A,0x018,0x018,0x0FF,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0FF,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0FF,0x0C6,0x06C,0x038,0x010,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0FF,0x0D6,0x0FE,0x06C,0x06C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x06C,0x06C,0x038,0x0FF,0x06C,0x06C,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x066,0x066,0x066,0x066,0x03C,0x0FF,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0FE,0x0C6,0x086,0x00C,0x018,0x0FF,0x060,0x0C2,0x0C6,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03C,0x030,0x030,0x030,0x030,0x0FF,0x030,0x030,0x030,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x080,0x0C0,0x0E0,0x070,0x0FF,0x01C,0x00E,0x006,0x002,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03C,0x00C,0x00C,0x00C,0x00C,0x0FF,0x00C,0x00C,0x00C,0x03C,0x000,0x000,0x000,0x000,\r
-0x010,0x038,0x06C,0x0C6,0x000,0x000,0x000,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FF,0x000,0x000,0x000,0x000,0x000,0x0FF,0x000,0x000,\r
-0x030,0x030,0x018,0x000,0x000,0x000,0x000,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x078,0x00C,0x07C,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0E0,0x060,0x060,0x078,0x06C,0x066,0x066,0x066,0x066,0x0DC,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x07C,0x0C6,0x0C0,0x0C0,0x0C0,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x01C,0x00C,0x00C,0x03C,0x06C,0x0CC,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x07C,0x0C6,0x0FE,0x0C0,0x0C0,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x038,0x06C,0x064,0x060,0x0F0,0x060,0x060,0x060,0x060,0x0F0,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x076,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x07C,0x00C,0x0CC,0x078,0x000,\r
-0x000,0x000,0x0E0,0x060,0x060,0x06C,0x076,0x066,0x066,0x066,0x066,0x0E6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x018,0x000,0x038,0x018,0x018,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x006,0x006,0x000,0x00E,0x006,0x006,0x006,0x006,0x006,0x006,0x066,0x066,0x03C,0x000,\r
-0x000,0x000,0x0E0,0x060,0x060,0x066,0x06C,0x078,0x078,0x06C,0x066,0x0E6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x038,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0EC,0x0FE,0x0D6,0x0D6,0x0D6,0x0D6,0x0D6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0DC,0x066,0x066,0x066,0x066,0x066,0x066,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0DC,0x066,0x066,0x066,0x066,0x066,0x07C,0x060,0x060,0x0F0,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x076,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x07C,0x00C,0x00C,0x01E,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0DC,0x076,0x062,0x060,0x060,0x060,0x0F0,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x07C,0x0C6,0x060,0x038,0x00C,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x010,0x030,0x030,0x0FC,0x030,0x030,0x030,0x030,0x036,0x01C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x066,0x066,0x066,0x066,0x066,0x03C,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0C6,0x0C6,0x0C6,0x0D6,0x0D6,0x0FE,0x06C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0C6,0x06C,0x038,0x038,0x038,0x06C,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07E,0x006,0x00C,0x0F8,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0FE,0x0CC,0x018,0x030,0x060,0x0C6,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x00E,0x018,0x018,0x018,0x070,0x018,0x018,0x018,0x018,0x00E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x018,0x018,0x018,0x018,0x000,0x018,0x018,0x018,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x070,0x018,0x018,0x018,0x00E,0x018,0x018,0x018,0x018,0x070,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x076,0x0DC,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x010,0x038,0x06C,0x0C6,0x0C6,0x0C6,0x0FE,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03C,0x066,0x0C2,0x0C0,0x0C0,0x0C0,0x0C2,0x066,0x03C,0x00C,0x006,0x07C,0x000,0x000,\r
-0x000,0x000,0x0CC,0x0CC,0x000,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x00C,0x018,0x030,0x000,0x07C,0x0C6,0x0FE,0x0C0,0x0C0,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x010,0x038,0x06C,0x000,0x078,0x00C,0x07C,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0CC,0x0CC,0x000,0x078,0x00C,0x07C,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x060,0x030,0x018,0x000,0x078,0x00C,0x07C,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x038,0x06C,0x038,0x000,0x078,0x00C,0x07C,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x03C,0x066,0x060,0x060,0x066,0x03C,0x00C,0x006,0x03C,0x000,0x000,0x000,\r
-0x000,0x010,0x038,0x06C,0x000,0x07C,0x0C6,0x0FE,0x0C0,0x0C0,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x000,0x07C,0x0C6,0x0FE,0x0C0,0x0C0,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x060,0x030,0x018,0x000,0x07C,0x0C6,0x0FE,0x0C0,0x0C0,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x066,0x066,0x000,0x038,0x018,0x018,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x018,0x03C,0x066,0x000,0x038,0x018,0x018,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x060,0x030,0x018,0x000,0x038,0x018,0x018,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x0C6,0x0C6,0x010,0x038,0x06C,0x0C6,0x0C6,0x0FE,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x038,0x06C,0x038,0x000,0x038,0x06C,0x0C6,0x0C6,0x0FE,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x018,0x030,0x060,0x000,0x0FE,0x066,0x060,0x07C,0x060,0x060,0x066,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0CC,0x076,0x036,0x07E,0x0D8,0x0D8,0x06E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x03E,0x06C,0x0CC,0x0CC,0x0FE,0x0CC,0x0CC,0x0CC,0x0CC,0x0CE,0x000,0x000,0x000,0x000,\r
-0x000,0x010,0x038,0x06C,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x060,0x030,0x018,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x030,0x078,0x0CC,0x000,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x060,0x030,0x018,0x000,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x0C6,0x0C6,0x000,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07E,0x006,0x00C,0x078,0x000,\r
-0x000,0x0C6,0x0C6,0x000,0x038,0x06C,0x0C6,0x0C6,0x0C6,0x0C6,0x06C,0x038,0x000,0x000,0x000,0x000,\r
-0x000,0x0C6,0x0C6,0x000,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x018,0x018,0x03C,0x066,0x060,0x060,0x060,0x066,0x03C,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x038,0x06C,0x064,0x060,0x0F0,0x060,0x060,0x060,0x060,0x0E6,0x0FC,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x066,0x066,0x03C,0x018,0x07E,0x018,0x07E,0x018,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x0F8,0x0CC,0x0CC,0x0F8,0x0C4,0x0CC,0x0DE,0x0CC,0x0CC,0x0CC,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x00E,0x01B,0x018,0x018,0x018,0x07E,0x018,0x018,0x018,0x018,0x018,0x0D8,0x070,0x000,0x000,\r
-0x000,0x018,0x030,0x060,0x000,0x078,0x00C,0x07C,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x00C,0x018,0x030,0x000,0x038,0x018,0x018,0x018,0x018,0x018,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x018,0x030,0x060,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x018,0x030,0x060,0x000,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x0CC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x076,0x0DC,0x000,0x0DC,0x066,0x066,0x066,0x066,0x066,0x066,0x000,0x000,0x000,0x000,\r
-0x076,0x0DC,0x000,0x0C6,0x0E6,0x0F6,0x0FE,0x0DE,0x0CE,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x03C,0x06C,0x06C,0x03E,0x000,0x07E,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x038,0x06C,0x06C,0x038,0x000,0x07C,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x030,0x030,0x000,0x030,0x030,0x060,0x0C0,0x0C6,0x0C6,0x07C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x0FE,0x0C0,0x0C0,0x0C0,0x0C0,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x0FE,0x006,0x006,0x006,0x006,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x0C0,0x0C0,0x0C2,0x0C6,0x0CC,0x018,0x030,0x060,0x0CE,0x093,0x006,0x00C,0x01F,0x000,0x000,\r
-0x000,0x0C0,0x0C0,0x0C2,0x0C6,0x0CC,0x018,0x030,0x066,0x0CE,0x09A,0x03F,0x006,0x00F,0x000,0x000,\r
-0x000,0x000,0x018,0x018,0x000,0x018,0x018,0x018,0x03C,0x03C,0x03C,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x033,0x066,0x0CC,0x066,0x033,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0CC,0x066,0x033,0x066,0x0CC,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x011,0x044,0x011,0x044,0x011,0x044,0x011,0x044,0x011,0x044,0x011,0x044,0x011,0x044,0x011,0x044,\r
-0x055,0x0AA,0x055,0x0AA,0x055,0x0AA,0x055,0x0AA,0x055,0x0AA,0x055,0x0AA,0x055,0x0AA,0x055,0x0AA,\r
-0x0DD,0x077,0x0DD,0x077,0x0DD,0x077,0x0DD,0x077,0x0DD,0x077,0x0DD,0x077,0x0DD,0x077,0x0DD,0x077,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x0F8,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x018,0x018,0x018,0x018,0x018,0x0F8,0x018,0x0F8,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x0F6,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FE,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x000,0x000,0x000,0x000,0x000,0x0F8,0x018,0x0F8,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x036,0x036,0x036,0x036,0x036,0x0F6,0x006,0x0F6,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x000,0x000,0x000,0x000,0x000,0x0FE,0x006,0x0F6,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x036,0x036,0x036,0x036,0x036,0x0F6,0x006,0x0FE,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x0FE,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x018,0x018,0x018,0x018,0x018,0x0F8,0x018,0x0F8,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0F8,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x01F,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FF,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x01F,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x0FF,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x018,0x018,0x018,0x018,0x018,0x01F,0x018,0x01F,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x037,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x036,0x036,0x036,0x036,0x036,0x037,0x030,0x03F,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x03F,0x030,0x037,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x036,0x036,0x036,0x036,0x036,0x0F7,0x000,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0FF,0x000,0x0F7,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x036,0x036,0x036,0x036,0x036,0x037,0x030,0x037,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x000,0x000,0x000,0x000,0x000,0x0FF,0x000,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x036,0x036,0x036,0x036,0x036,0x0F7,0x000,0x0F7,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x018,0x018,0x018,0x018,0x018,0x0FF,0x000,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0FF,0x000,0x0FF,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FF,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x03F,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x018,0x018,0x018,0x018,0x018,0x01F,0x018,0x01F,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x01F,0x018,0x01F,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x03F,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x0FF,0x036,0x036,0x036,0x036,0x036,0x036,0x036,0x036,\r
-0x018,0x018,0x018,0x018,0x018,0x0FF,0x018,0x0FF,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x0F8,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x01F,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,\r
-0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,0x0F0,\r
-0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,0x00F,\r
-0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x0FF,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x076,0x0DC,0x0D8,0x0D8,0x0D8,0x0DC,0x076,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x0FC,0x0C6,0x0FC,0x0C6,0x0C6,0x0FC,0x0C0,0x0C0,0x0C0,0x000,0x000,\r
-0x000,0x000,0x0FE,0x0C6,0x0C6,0x0C0,0x0C0,0x0C0,0x0C0,0x0C0,0x0C0,0x0C0,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x080,0x0FE,0x06C,0x06C,0x06C,0x06C,0x06C,0x06C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x0FE,0x0C6,0x060,0x030,0x018,0x030,0x060,0x0C6,0x0FE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x07E,0x0D8,0x0D8,0x0D8,0x0D8,0x0D8,0x070,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x066,0x066,0x066,0x066,0x066,0x07C,0x060,0x060,0x0C0,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x076,0x0DC,0x018,0x018,0x018,0x018,0x018,0x018,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x07E,0x018,0x03C,0x066,0x066,0x066,0x03C,0x018,0x07E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x038,0x06C,0x0C6,0x0C6,0x0FE,0x0C6,0x0C6,0x06C,0x038,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x038,0x06C,0x0C6,0x0C6,0x0C6,0x06C,0x06C,0x06C,0x06C,0x0EE,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x01E,0x030,0x018,0x00C,0x03E,0x066,0x066,0x066,0x066,0x03C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x07E,0x0DB,0x0DB,0x0DB,0x07E,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x003,0x006,0x07E,0x0CF,0x0DB,0x0F3,0x07E,0x060,0x0C0,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x01C,0x030,0x060,0x060,0x07C,0x060,0x060,0x060,0x030,0x01C,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x07C,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x0C6,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x0FE,0x000,0x000,0x0FE,0x000,0x000,0x0FE,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x018,0x018,0x07E,0x018,0x018,0x000,0x000,0x0FF,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x030,0x018,0x00C,0x006,0x00C,0x018,0x030,0x000,0x07E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x00C,0x018,0x030,0x060,0x030,0x018,0x00C,0x000,0x07E,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x00E,0x01B,0x01B,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,\r
-0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x018,0x0D8,0x0D8,0x0D8,0x070,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x018,0x018,0x000,0x07E,0x000,0x018,0x018,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x076,0x0DC,0x000,0x076,0x0DC,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x038,0x06C,0x06C,0x038,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x018,0x018,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x018,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x00F,0x00C,0x00C,0x00C,0x00C,0x00C,0x0EC,0x06C,0x06C,0x03C,0x01C,0x000,0x000,0x000,0x000,\r
-0x000,0x0D8,0x06C,0x06C,0x06C,0x06C,0x06C,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x070,0x098,0x030,0x060,0x0C8,0x0F8,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x07C,0x07C,0x07C,0x07C,0x07C,0x07C,0x07C,0x000,0x000,0x000,0x000,0x000,\r
-0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000\r
-};\r
+++ /dev/null
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- -=\r
-//=- Tauron VGA Utilities Version 3.0 -=\r
-//=- Released September 20, 1998 -=\r
-//=- -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-//=- All Rights Reserved. =-= that you put my name some- -=\r
-//=- =-= where in your credits. -=\r
-//=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- I assume no responsibility whatsoever for any effect that this package, -=\r
-//=- the information contained therein or the use thereof has on you, your -=\r
-//=- sanity, computer, spouse, children, pets or anything else related to -=\r
-//=- you or your existance. No warranty is provided nor implied with this -=\r
-//=- source code. -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-#include <stdlib.h>\r
-#include <stdio.h>\r
-#include <conio.h>\r
-#include <dos.h>\r
-#include "tauron.h"\r
-\r
-void MainScreen()\r
-{\r
- clrscr();\r
- printf("Tauron VGA Utilities v3.0\n"\r
- "Copyright (c) 1998 Jeffrey Morgan. All Rights Reserved.\n");\r
- textcolor(12);\r
- cprintf("Modes with a ! are not implemented Modes with a % are unchained\r\n");\r
- textcolor(7);\r
- printf("Select a video mode to test:\n"\r
- "Key Videomode Key Videomode\n"\r
- "================================================================================"\r
- " 0) 00H, 01H -- 40 x 25 x 16 %F) Mode D -- 360 x 200 x 256\n"\r
- " 1) Mode L -- 40 x 43 x 16 %G) Mode E -- 360 x 240 x 256\n"\r
- " 2) Mode M -- 40 x 50 x 16 %H) Mode F -- 360 x 350 x 256\n"\r
- "!3) 07H -- 80 x 25 x 2 %I) Mode G -- 360 x 400 x 256\n"\r
- " 4) 02H, 03H -- 80 x 25 x 16 %J) Mode H -- 360 x 480 x 256\n"\r
- " 5) Mode J -- 80 x 43 x 16 K) 06H -- 640 x 200 x 2\n"\r
- " 6) Mode K -- 80 x 50 x 16 !L) 0FH -- 640 x 350 x 2\n"\r
- " 7) 04H, 05H -- 320 x 200 x 4 M) 11H -- 640 x 480 x 2\n"\r
- " 8) 0DH -- 320 x 200 x 16 N) 0EH -- 640 x 200 x 16\n"\r
- " 9) 13H -- 320 x 200 x 256 O) 10H -- 640 x 350 x 16\n"\r
- "%A) Chain 4 -- 320 x 200 x 256 P) Mode I -- 640 x 400 x 16\n"\r
- "%B) Mode X -- 320 x 240 x 256 Q) 12H -- 640 x 480 x 16\n"\r
- "%C) Mode A -- 320 x 350 x 256\n"\r
- "%D) Mode B -- 320 x 400 x 256 R) Dual Font Test\n"\r
- "%E) Mode C -- 320 x 480 x 256\n"\r
- "===============================================================================\n"\r
- "Hit 'ESC' to exit. Press a key [0-9 or A-O]>");\r
-}\r
-\r
-void SetMode03h()\r
-{\r
- asm MOV AX,0003H\r
- asm INT 10H\r
-}\r
-\r
-void main()\r
-{\r
- int ok, key;\r
- ok = 1;\r
- MainScreen();\r
- while (ok)\r
- {\r
- if( (key = getch()) == 0 )\r
- key = 256 * getch();\r
- switch( key )\r
- {\r
- case Escape : ok = 0; break;\r
-\r
- case '0' :\r
- SetVideoMode(MODE00H); TextTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case '1':\r
- SetVideoMode(MODE_L); TextTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case '2':\r
- SetVideoMode(MODE_M); TextTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case '4' :\r
- SetVideoMode(MODE03H); TextTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case '5':\r
- SetVideoMode(MODE_J); TextTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case '6':\r
- SetVideoMode(MODE_K); TextTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case '7':\r
- SetVideoMode(MODE04H); Clear04H(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case '8' :\r
- SetVideoMode(MODE0DH); Clear0DH(12); /*ModeTest();*/ getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case '9':\r
- SetVideoMode(MODE13H); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'a': case 'A':\r
- SetVideoMode(CHAIN4); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'b': case 'B':\r
- SetVideoMode(MODE_X); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'c': case 'C':\r
- SetVideoMode(MODE_A); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'd': case 'D':\r
- SetVideoMode(MODE_B); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'e': case 'E':\r
- SetVideoMode(MODE_C); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'f': case 'F':\r
- SetVideoMode(MODE_D); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'g': case 'G':\r
- SetVideoMode(MODE_E); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'h': case 'H':\r
- SetVideoMode(MODE_F); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'i': case 'I':\r
- SetVideoMode(MODE_G); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'j': case 'J':\r
- SetVideoMode(MODE_H); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'k': case 'K':\r
- SetVideoMode(MODE06H); Clear06H(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'm': case 'M':\r
- SetVideoMode(MODE11H); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'n': case 'N':\r
- SetVideoMode(MODE0EH); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'o': case 'O':\r
- SetVideoMode(MODE10H); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'p': case 'P':\r
- SetVideoMode(MODE_I); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'q': case 'Q':\r
- SetVideoMode(MODE12H); ModeTest(); getch();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- case 'r': case 'R':\r
- SetVideoMode(MODE03H); DualTest();\r
- SetMode03h(); MainScreen(); break;\r
-\r
- default : break;\r
- }\r
- }\r
- asm MOV AX,0003h\r
- asm int 10h\r
-}\r
+++ /dev/null
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- -=\r
-//=- Tauron VGA Utilities Version 3.0 -=\r
-//=- Released September 20, 1998 -=\r
-//=- -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-//=- All Rights Reserved. =-= that you put my name some- -=\r
-//=- =-= where in your credits. -=\r
-//=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- I assume no responsibility whatsoever for any effect that this package, -=\r
-//=- the information contained therein or the use thereof has on you, your -=\r
-//=- sanity, computer, spouse, children, pets or anything else related to -=\r
-//=- you or your existance. No warranty is provided nor implied with this -=\r
-//=- source code. -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-#include <stdlib.h>\r
-#include <stdio.h>\r
-#include <conio.h>\r
-#include <dos.h>\r
-#include "tauron.h"\r
-#include "modes_c.inc"\r
-#include "palette.inc"\r
-\r
-void setpalette4();\r
-void setpalette16();\r
-void setpalette256();\r
-Vmode Mode;\r
-\r
-#define SEQ_ADDR 0x03C4\r
-#define GRACON_ADDR 0x03CE\r
-#define CRTC_ADDR 0x03D4\r
-\r
-void ReadBIOSfont(int fontnum, int bytesperchar)\r
-{\r
- char far *biosfont,*vidmem;\r
- struct REGPACK reg;\r
- unsigned char oldmode,oldmisc,oldmem,oldmask;\r
- unsigned char newmode,newmisc,newmem;\r
-\r
- // get the location of the font stroed in BIOS\r
- reg.r_ax = 0x1130;\r
- reg.r_bx = fontnum << 8;\r
- intr(0x10, ®);\r
-\r
- // Make a pointer to the font\r
- biosfont = (char far *)MK_FP( reg.r_es, reg.r_bp);\r
- vidmem = (char far *)MK_FP( 0xA000, 0x0000);\r
-\r
- // Store the OLD 'Mode Register' value\r
- outportb(GRACON_ADDR,5);\r
- oldmode = inportb(GRACON_ADDR+1);\r
- // Store the OLD 'Miscellaneous Register' value\r
- outportb(GRACON_ADDR,6);\r
- oldmisc = inportb(GRACON_ADDR+1);\r
- // Store the OLD 'Mask Map' value\r
- outportb(SEQ_ADDR,2);\r
- oldmask = inportb(SEQ_ADDR+1);\r
- // Store the OLD 'Memory Mode' value\r
- outportb(SEQ_ADDR,4);\r
- oldmem = inportb(SEQ_ADDR+1);\r
-\r
- // Write the NEW 'Mode Register' value\r
- newmode = (oldmode & 0xFC);\r
- outport(GRACON_ADDR, (newmode << 8) | 0x05);\r
- // Write the NEW 'Miscellaneous Register' value\r
- newmisc = ((oldmisc & 0xF1)|4);\r
- outport(GRACON_ADDR, (newmisc << 8) | 0x06);\r
- // Write the NEW 'Mask Map' value\r
- outport(SEQ_ADDR, 0x0402);\r
- // Write the NEW 'Memory Mode' value\r
- newmem = (oldmem | 4);\r
- outport(SEQ_ADDR, (newmem << 8) | 0x04);\r
-\r
- // Copy the font from BIOS\r
- for (int i = 0; i < 256; i++)\r
- {\r
- for (int j = 0; j < bytesperchar; j++)\r
- {\r
- *vidmem++ = *biosfont++;\r
- }\r
- for (int k = 0; k < 32-bytesperchar; k++)\r
- {\r
- *vidmem++ = 0x00;\r
- }\r
- }\r
-\r
- // Write the OLD 'Mode Register' value\r
- outport(GRACON_ADDR, (oldmode << 8) | 0x05);\r
- // Write the OLD 'Miscellaneous Register' value\r
- outport(GRACON_ADDR, (oldmisc << 8) | 0x06);\r
- // Write the OLD 'Mask Map' value\r
- outport(SEQ_ADDR,(oldmask << 8) | 0x02);\r
- // Write the OLD 'Memory Mode' value\r
- outport(SEQ_ADDR, (oldmem << 8) | 0x04);\r
-}\r
-\r
-void SetMode(unsigned int regs)\r
-{\r
- asm {\r
- MOV SI, regs\r
-\r
- // Send MISC regs\r
- MOV DX,MISC_ADDR\r
- MOV AL,[SI]\r
- OUT DX,AL\r
- INC SI\r
-\r
- MOV DX,STATUS_ADDR\r
- MOV AL,[SI]\r
- OUT DX,AL\r
- INC SI\r
-\r
- // Send SEQ regs\r
- MOV CX,0\r
-REG_LOOP:\r
- MOV DX,SEQ_ADDR\r
- MOV AL,CL\r
- OUT DX,AL\r
-\r
- MOV DX,SEQ_ADDR\r
- INC DX\r
- MOV AL,[SI]\r
- OUT DX,AL\r
-\r
- INC SI\r
- INC CX\r
- CMP CL,5\r
- JL REG_LOOP\r
-\r
- // Clear Protection bits\r
- MOV AH,0EH\r
- MOV AL,11H\r
- AND AH,7FH\r
- MOV DX,CRTC_ADDR\r
- OUT DX,AX\r
-\r
- // Send CRTC regs\r
- MOV CX,0\r
-REG_LOOP2:\r
- MOV DX,CRTC_ADDR\r
- MOV AL,CL\r
- OUT DX,AL\r
-\r
- MOV DX,CRTC_ADDR\r
- INC DX\r
- MOV AL,[SI]\r
- OUT DX,AL\r
-\r
- INC SI\r
- INC CX\r
- CMP CL,25\r
- JL REG_LOOP2\r
-\r
- // Send GRAPHICS regs\r
- MOV CX,0\r
-REG_LOOP3:\r
- MOV DX,GRACON_ADDR\r
- MOV AL,CL\r
- OUT DX,AL\r
-\r
- MOV DX,GRACON_ADDR\r
- INC DX\r
- MOV AL,[SI]\r
- OUT DX,AL\r
-\r
- INC SI\r
- INC CX\r
- CMP CL,9\r
- JL REG_LOOP3\r
-\r
- MOV DX,STATUS_ADDR\r
- IN AL,DX\r
-\r
- // Send ATTRCON regs\r
- MOV CX,0\r
-REG_LOOP4:\r
- MOV DX,ATTRCON_ADDR\r
- IN AX,DX\r
-\r
- MOV AL,CL\r
- OUT DX,AL\r
-\r
- MOV AL,[SI]\r
- OUT DX,AL\r
-\r
- INC SI\r
- INC CX\r
- CMP CL,21\r
- JL REG_LOOP4\r
-\r
- MOV AL,20H\r
- OUT DX,AL\r
- }\r
-}\r
-\r
-void SetVideoMode(int mode)\r
-{\r
- Mode.mode = mode;\r
- if (mode == MODE00H) // 40 x 25 x 16\r
- {\r
- SetMode((unsigned int)&mode00h);\r
- setpalette16();\r
- ReadBIOSfont(6,16);\r
-\r
- Mode.width = 40;\r
- Mode.height = 25;\r
- Mode.width_bytes = 1000;\r
- Mode.colors = 16;\r
- Mode.attrib = TVU_TEXT;\r
- }\r
- else if (mode == MODE03H) // 80 x 25 x 16\r
- {\r
- SetMode((unsigned int)&mode03h);\r
- setpalette16();\r
- ReadBIOSfont(6,16);\r
-\r
- Mode.width = 80;\r
- Mode.height = 25;\r
- Mode.width_bytes = 2000;\r
- Mode.colors = 16;\r
- Mode.attrib = TVU_TEXT;\r
- }\r
- else if (mode == MODE04H) // 320 x 200 x 4\r
- {\r
- SetMode((unsigned int)&mode04h);\r
- setpalette4();\r
-\r
- Mode.width = 320;\r
- Mode.height = 200;\r
- Mode.width_bytes = 8192;\r
- Mode.colors = 4;\r
- Mode.attrib = TVU_GRAPHICS;\r
- }\r
- else if (mode == MODE06H) // 640 x 200 x 2\r
- {\r
- SetMode((unsigned int)&mode06h);\r
-\r
- Mode.width = 640;\r
- Mode.height = 200;\r
- Mode.width_bytes = 8192;\r
- Mode.colors = 2;\r
- Mode.attrib = TVU_GRAPHICS;\r
- }\r
- else if (mode == MODE07H) // 80 x 25 x 2\r
- {\r
- SetMode((unsigned int)&mode07h);\r
-\r
- Mode.width = 80;\r
- Mode.height = 25;\r
- Mode.width_bytes = 2000;\r
- Mode.colors = 2;\r
- Mode.attrib = TVU_TEXT | TVU_MONOCHROME;\r
- }\r
- else if (mode == MODE0DH) // 320 x 200 x 16\r
- {\r
- SetMode((unsigned int)&mode0Dh);\r
- setpalette16();\r
-\r
- Mode.width = 320;\r
- Mode.height = 200;\r
- Mode.width_bytes = 8000;\r
- Mode.colors = 16;\r
- Mode.attrib = TVU_GRAPHICS | TVU_PLANAR;\r
- }\r
- else if (mode == MODE0EH) // 640 x 200 x 16\r
- {\r
- SetMode((unsigned int)&mode0Eh);\r
- setpalette16();\r
-\r
- Mode.width = 640;\r
- Mode.height = 200;\r
- Mode.width_bytes = 16000;\r
- Mode.colors = 16;\r
- Mode.attrib = TVU_GRAPHICS | TVU_PLANAR;\r
- }\r
- else if (mode == MODE0FH) // 640 x 350 x 2\r
- {\r
- SetMode((unsigned int)&mode0Fh);\r
-\r
- Mode.width = 640;\r
- Mode.height = 350;\r
- Mode.width_bytes = 28000;\r
- Mode.colors = 2;\r
- Mode.attrib = TVU_GRAPHICS | TVU_MONOCHROME;\r
- }\r
- else if (mode == MODE10H) // 640 x 350 x 16\r
- {\r
- SetMode((unsigned int)&mode10h);\r
- setpalette16();\r
-\r
- Mode.width = 640;\r
- Mode.height = 350;\r
- Mode.width_bytes = 28000;\r
- Mode.colors = 16;\r
- Mode.attrib = TVU_GRAPHICS | TVU_PLANAR;\r
- }\r
- else if (mode == MODE11H) // 640 x 480 x 2\r
- {\r
- SetMode((unsigned int)&mode11h);\r
-\r
- Mode.width = 640;\r
- Mode.height = 480;\r
- Mode.width_bytes = 38400u;\r
- Mode.colors = 2;\r
- Mode.attrib = TVU_GRAPHICS | TVU_PLANAR;\r
- }\r
- else if (mode == MODE12H) // 640 x 480 x 16\r
- {\r
- SetMode((unsigned int)&mode12h);\r
- setpalette16();\r
-\r
- Mode.width = 640;\r
- Mode.height = 480;\r
- Mode.width_bytes = 38400u;\r
- Mode.colors = 16;\r
- Mode.attrib = TVU_GRAPHICS | TVU_PLANAR;\r
- }\r
- else if (mode == MODE13H) // 320 x 200 x 256\r
- {\r
- SetMode((unsigned int)&mode13h);\r
- setpalette256();\r
-\r
- Mode.width = 320;\r
- Mode.height = 200;\r
- Mode.width_bytes = 64000u;\r
- Mode.colors = 256;\r
- Mode.attrib = TVU_GRAPHICS;\r
- }\r
- else if (mode == CHAIN4) // unchained 320 x 200 x 256\r
- {\r
- SetMode((unsigned int)&modeC4);\r
- setpalette256();\r
-\r
- Mode.width = 320;\r
- Mode.height = 200;\r
- Mode.width_bytes = 16000;\r
- Mode.colors = 256;\r
- Mode.attrib = TVU_GRAPHICS | TVU_UNCHAINED;\r
- }\r
- else if (mode == MODE_X) // unchained 320 x 240 x 256\r
- {\r
- SetMode((unsigned int)&modeC4);\r
-\r
- outportb(MISC_ADDR,0xE3);\r
- // turn off write protect\r
- outport(CRTC_ADDR,0x2C11);\r
- // vertical total\r
- outport(CRTC_ADDR,0x0D06);\r
- // overflow register\r
- outport(CRTC_ADDR,0x3E07);\r
- // vertical retrace start\r
- outport(CRTC_ADDR,0xEA10);\r
- // vertical retrace end AND wr.prot\r
- outport(CRTC_ADDR,0xAC11);\r
- // vertical display enable end\r
- outport(CRTC_ADDR,0xDF12);\r
- // start vertical blanking\r
- outport(CRTC_ADDR,0xE715);\r
- // end vertical blanking\r
- outport(CRTC_ADDR,0x0616);\r
-\r
- setpalette256();\r
- Mode.width = 320;\r
- Mode.height = 240;\r
- Mode.width_bytes = 19200;\r
- Mode.colors = 256;\r
- Mode.attrib = TVU_GRAPHICS | TVU_UNCHAINED;\r
- }\r
- else if (mode == MODE_A) // unchained 320 x 350 x 256\r
- {\r
- SetMode((unsigned int)&modeC4);\r
-\r
- // turn off double scanning mode\r
- outportb(CRTC_ADDR,9);\r
- outportb(CRTC_ADDR+1,inportb(CRTC_ADDR+1) & ~0x1F);\r
- // change the vertical resolution flags to 350\r
- outportb(MISC_ADDR,(inportb(0x3CC) & ~0xC0) | 0x80);\r
- // turn off write protect\r
- outport(CRTC_ADDR,0x2C11);\r
- // vertical total\r
- outport(CRTC_ADDR,0xBF06);\r
- // overflow register\r
- outport(CRTC_ADDR,0x1F07);\r
- // vertical retrace start\r
- outport(CRTC_ADDR,0x8310);\r
- // vertical retrace end AND wr.prot\r
- outport(CRTC_ADDR,0x8511);\r
- // vertical display enable end\r
- outport(CRTC_ADDR,0x5D12);\r
- // start vertical blanking\r
- outport(CRTC_ADDR,0x6315);\r
- // end vertical blanking\r
- outport(CRTC_ADDR,0xBA16);\r
-\r
- setpalette256();\r
- Mode.width = 320;\r
- Mode.height = 350;\r
- Mode.width_bytes = 28000u;\r
- Mode.colors = 256;\r
- Mode.attrib = TVU_GRAPHICS | TVU_UNCHAINED;\r
- }\r
- else if (mode == MODE_B) // unchained 320 x 400 x 256\r
- {\r
- SetMode((unsigned int)&modeC4);\r
- // turn off double scanning mode\r
- outportb(CRTC_ADDR,9);\r
- outportb(CRTC_ADDR+1,inportb(CRTC_ADDR+1) & ~0x1F);\r
- // change the vertical resolution flags to 400\r
- outportb(MISC_ADDR,(inportb(0x3CC) & ~0xC0) | 0x40);\r
-\r
- setpalette256();\r
- Mode.width = 320;\r
- Mode.height = 400;\r
- Mode.width_bytes = 32000;\r
- Mode.colors = 256;\r
- Mode.attrib = TVU_GRAPHICS | TVU_UNCHAINED;\r
- }\r
- else if (mode == MODE_C) // unchained 320 x 480 x 256\r
- {\r
- SetMode((unsigned int)&modeC4);\r
-\r
- // turn off double scanning mode\r
- outportb(CRTC_ADDR,9);\r
- outportb(CRTC_ADDR+1,inportb(CRTC_ADDR+1) & ~0x1F);\r
- // change the vertical resolution flags to 480\r
- outportb(MISC_ADDR,(inportb(0x3CC) & ~0xC0) | 0xC0);\r
- // turn off write protect\r
- outport(CRTC_ADDR,0x2C11);\r
- // vertical total\r
- outport(CRTC_ADDR,0x0D06);\r
- // overflow register\r
- outport(CRTC_ADDR,0x3E07);\r
- // vertical retrace start\r
- outport(CRTC_ADDR,0xEA10);\r
- // vertical retrace end AND wr.prot\r
- outport(CRTC_ADDR,0xAC11);\r
- // vertical display enable end\r
- outport(CRTC_ADDR,0xDF12);\r
- // start vertical blanking\r
- outport(CRTC_ADDR,0xE715);\r
- // end vertical blanking\r
- outport(CRTC_ADDR,0x0616);\r
-\r
- setpalette256();\r
- Mode.width = 320;\r
- Mode.height = 480;\r
- Mode.width_bytes = 38400u;\r
- Mode.colors = 256;\r
- Mode.attrib = TVU_GRAPHICS | TVU_UNCHAINED;\r
- }\r
- else if (mode == MODE_D) // unchained 360 x 200 x 256\r
- {\r
- SetMode((unsigned int)&mode13h);\r
-\r
- // Turn off Chain 4\r
- outport(SEQ_ADDR,0x0604);\r
- // Activate a synchronous reset\r
- outport(SEQ_ADDR,0x0100);\r
- // Select 28 mhz pixel clock\r
- outportb(MISC_ADDR,0xE7);\r
- // Release synchronous reset\r
- outport(SEQ_ADDR,0x0300);\r
-\r
- // change the vertical resolution flags to 400\r
- outportb(MISC_ADDR,(inportb(0x3CC) & ~0xC0) | 0x40);\r
-\r
- // turn off write protect\r
- outport(CRTC_ADDR,0x2C11);\r
-\r
- outport(CRTC_ADDR,0x6B00);\r
- outport(CRTC_ADDR,0x5901);\r
- outport(CRTC_ADDR,0x5A02);\r
- outport(CRTC_ADDR,0x8E03);\r
- outport(CRTC_ADDR,0x5E04);\r
- outport(CRTC_ADDR,0x8A05);\r
- outport(CRTC_ADDR,0x0008);\r
- outport(CRTC_ADDR,0xC009);\r
- outport(CRTC_ADDR,0x000A);\r
- outport(CRTC_ADDR,0x000B);\r
- outport(CRTC_ADDR,0x000C);\r
- outport(CRTC_ADDR,0x000D);\r
- outport(CRTC_ADDR,0x000E);\r
- outport(CRTC_ADDR,0x000F);\r
- outport(CRTC_ADDR,0xAC11);\r
- outport(CRTC_ADDR,0x2D13);\r
- outport(CRTC_ADDR,0x0014);\r
- outport(CRTC_ADDR,0xE317);\r
- outport(CRTC_ADDR,0xFF18);\r
-\r
- setpalette256();\r
- Mode.width = 360;\r
- Mode.height = 200;\r
- Mode.width_bytes = 18000u;\r
- Mode.colors = 256;\r
- Mode.attrib = TVU_GRAPHICS | TVU_UNCHAINED;\r
- }\r
- else if (mode == MODE_E) // unchained 360 x 240 x 256\r
- {\r
- SetMode((unsigned int)&mode13h);\r
-\r
- // Turn off Chain 4\r
- outport(SEQ_ADDR,0x0604);\r
- // Activate a synchronous reset\r
- outport(SEQ_ADDR,0x0100);\r
- // Select 28 mhz pixel clock\r
- outportb(MISC_ADDR,0xE7);\r
- // Release synchronous reset\r
- outport(SEQ_ADDR,0x0300);\r
-\r
- // change the vertical resolution flags to 480\r
- outportb(MISC_ADDR,(inportb(0x3CC) & ~0xC0) | 0xC0);\r
-\r
- // turn off write protect\r
- outport(CRTC_ADDR,0x2C11);\r
-\r
- outport(CRTC_ADDR,0x6B00);\r
- outport(CRTC_ADDR,0x5901);\r
- outport(CRTC_ADDR,0x5A02);\r
- outport(CRTC_ADDR,0x8E03);\r
- outport(CRTC_ADDR,0x5E04);\r
- outport(CRTC_ADDR,0x8A05);\r
- outport(CRTC_ADDR,0x0D06);\r
- outport(CRTC_ADDR,0x3E07);\r
- outport(CRTC_ADDR,0x0008);\r
- outport(CRTC_ADDR,0xC009);\r
- outport(CRTC_ADDR,0x000A);\r
- outport(CRTC_ADDR,0x000B);\r
- outport(CRTC_ADDR,0x000C);\r
- outport(CRTC_ADDR,0x000D);\r
- outport(CRTC_ADDR,0x000E);\r
- outport(CRTC_ADDR,0x000F);\r
- outport(CRTC_ADDR,0xEA10);\r
- outport(CRTC_ADDR,0xAC11);\r
- outport(CRTC_ADDR,0xDF12);\r
- outport(CRTC_ADDR,0x2D13);\r
- outport(CRTC_ADDR,0x0014);\r
- outport(CRTC_ADDR,0xE715);\r
- outport(CRTC_ADDR,0x0616);\r
- outport(CRTC_ADDR,0xE317);\r
- outport(CRTC_ADDR,0xFF18);\r
-\r
- setpalette256();\r
- Mode.width = 360;\r
- Mode.height = 240;\r
- Mode.width_bytes = 21600;\r
- Mode.colors = 256;\r
- Mode.attrib = TVU_GRAPHICS | TVU_UNCHAINED;\r
- }\r
- else if (mode == MODE_F) // unchained 360 x 350 x 256\r
- {\r
- SetMode((unsigned int)&mode13h);\r
-\r
- // Turn off Chain 4\r
- outport(SEQ_ADDR,0x0604);\r
- // Activate a synchronous reset\r
- outport(SEQ_ADDR,0x0100);\r
- // Select 28 mhz pixel clock\r
- outportb(MISC_ADDR,0xE7);\r
- // Release synchronous reset\r
- outport(SEQ_ADDR,0x0300);\r
-\r
- // change the vertical resolution flags to 350\r
- outportb(MISC_ADDR,(inportb(0x3CC) & ~0xC0) | 0x80);\r
-\r
- // turn off write protect\r
- outport(CRTC_ADDR,0x2C11);\r
-\r
- outport(CRTC_ADDR,0x6B00);\r
- outport(CRTC_ADDR,0x5901);\r
- outport(CRTC_ADDR,0x5A02);\r
- outport(CRTC_ADDR,0x8E03);\r
- outport(CRTC_ADDR,0x5E04);\r
- outport(CRTC_ADDR,0x8A05);\r
- outport(CRTC_ADDR,0xBF06);\r
- outport(CRTC_ADDR,0x1F07);\r
- outport(CRTC_ADDR,0x0008);\r
- outport(CRTC_ADDR,0x4009);\r
- outport(CRTC_ADDR,0x000A);\r
- outport(CRTC_ADDR,0x000B);\r
- outport(CRTC_ADDR,0x000C);\r
- outport(CRTC_ADDR,0x000D);\r
- outport(CRTC_ADDR,0x000E);\r
- outport(CRTC_ADDR,0x000F);\r
- outport(CRTC_ADDR,0x8310);\r
- outport(CRTC_ADDR,0x8511);\r
- outport(CRTC_ADDR,0x5D12);\r
- outport(CRTC_ADDR,0x2D13);\r
- outport(CRTC_ADDR,0x0014);\r
- outport(CRTC_ADDR,0x6315);\r
- outport(CRTC_ADDR,0xBA16);\r
- outport(CRTC_ADDR,0xE317);\r
- outport(CRTC_ADDR,0xFF18);\r
-\r
- setpalette256();\r
- Mode.width = 360;\r
- Mode.height = 350;\r
- Mode.width_bytes = 31500;\r
- Mode.colors = 256;\r
- Mode.attrib = TVU_GRAPHICS | TVU_UNCHAINED;\r
- }\r
- else if (mode == MODE_G) // unchained 360 x 400 x 256\r
- {\r
- SetMode((unsigned int)&mode13h);\r
-\r
- // Turn off Chain 4\r
- outport(SEQ_ADDR,0x0604);\r
- // Activate a synchronous reset\r
- outport(SEQ_ADDR,0x0100);\r
- // Select 28 mhz pixel clock\r
- outportb(MISC_ADDR,0xE7);\r
- // Release synchronous reset\r
- outport(SEQ_ADDR,0x0300);\r
-\r
- // change the vertical resolution flags to 400\r
- outportb(MISC_ADDR,(inportb(0x3CC) & ~0xC0) | 0x40);\r
-\r
- // turn off write protect\r
- outport(CRTC_ADDR,0x2C11);\r
-\r
- outport(CRTC_ADDR,0x6B00);\r
- outport(CRTC_ADDR,0x5901);\r
- outport(CRTC_ADDR,0x5A02);\r
- outport(CRTC_ADDR,0x8E03);\r
- outport(CRTC_ADDR,0x5E04);\r
- outport(CRTC_ADDR,0x8A05);\r
- outport(CRTC_ADDR,0x0008);\r
- outport(CRTC_ADDR,0x4009);\r
- outport(CRTC_ADDR,0x000A);\r
- outport(CRTC_ADDR,0x000B);\r
- outport(CRTC_ADDR,0x000C);\r
- outport(CRTC_ADDR,0x000D);\r
- outport(CRTC_ADDR,0x000E);\r
- outport(CRTC_ADDR,0x000F);\r
- outport(CRTC_ADDR,0xAC11);\r
- outport(CRTC_ADDR,0x2D13);\r
- outport(CRTC_ADDR,0x0014);\r
- outport(CRTC_ADDR,0xE317);\r
- outport(CRTC_ADDR,0xFF18);\r
-\r
- setpalette256();\r
- Mode.width = 360;\r
- Mode.height = 400;\r
- Mode.width_bytes = 36000u;\r
- Mode.colors = 256;\r
- Mode.attrib = TVU_GRAPHICS | TVU_UNCHAINED;\r
- }\r
- else if (mode == MODE_H) // unchained 360 x 480 x 256\r
- {\r
- SetMode((unsigned int)&mode13h);\r
-\r
- // Turn off Chain 4\r
- outport(SEQ_ADDR,0x0604);\r
- // Activate a synchronous reset\r
- outport(SEQ_ADDR,0x0100);\r
- // Select 28 mhz pixel clock\r
- outportb(MISC_ADDR,0xE7);\r
- // Release synchronous reset\r
- outport(SEQ_ADDR,0x0300);\r
-\r
- // change the vertical resolution flags to 480\r
- outportb(MISC_ADDR,(inportb(0x3CC) & ~0xC0) | 0xC0);\r
-\r
- // turn off write protect\r
- outport(CRTC_ADDR,0x2C11);\r
-\r
- outport(CRTC_ADDR,0x6B00);\r
- outport(CRTC_ADDR,0x5901);\r
- outport(CRTC_ADDR,0x5A02);\r
- outport(CRTC_ADDR,0x8E03);\r
- outport(CRTC_ADDR,0x5E04);\r
- outport(CRTC_ADDR,0x8A05);\r
- outport(CRTC_ADDR,0x0D06);\r
- outport(CRTC_ADDR,0x3E07);\r
- outport(CRTC_ADDR,0x0008);\r
- outport(CRTC_ADDR,0x4009);\r
- outport(CRTC_ADDR,0x000A);\r
- outport(CRTC_ADDR,0x000B);\r
- outport(CRTC_ADDR,0x000C);\r
- outport(CRTC_ADDR,0x000D);\r
- outport(CRTC_ADDR,0x000E);\r
- outport(CRTC_ADDR,0x000F);\r
- outport(CRTC_ADDR,0xEA10);\r
- outport(CRTC_ADDR,0xAC11);\r
- outport(CRTC_ADDR,0xDF12);\r
- outport(CRTC_ADDR,0x2D13);\r
- outport(CRTC_ADDR,0x0014);\r
- outport(CRTC_ADDR,0xE715);\r
- outport(CRTC_ADDR,0x0616);\r
- outport(CRTC_ADDR,0xE317);\r
- outport(CRTC_ADDR,0xFF18);\r
-\r
- setpalette256();\r
- Mode.width = 360;\r
- Mode.height = 480;\r
- Mode.width_bytes = 43200u;\r
- Mode.colors = 256;\r
- Mode.attrib = TVU_GRAPHICS | TVU_UNCHAINED;\r
- }\r
- else if (mode == MODE_I) // 640 x 400 x 16\r
- {\r
- SetMode((unsigned int)&mode10h);\r
- asm {\r
-\r
- MOV DX,03CCH\r
- IN AL,DX\r
- AND AL,03FH\r
- OR AL,40H\r
-\r
- MOV DX,03C2H\r
- OUT DX,AL\r
-\r
- MOV DX,CRTC_ADDR\r
- MOV AX,9C10H\r
- OUT DX,AX\r
-\r
- MOV AX,8311H\r
- OUT DX,AX\r
-\r
- MOV AX,8F12H\r
- OUT DX,AX\r
-\r
- MOV AX,9615H\r
- OUT DX,AX\r
-\r
- MOV AX,0B916H\r
- OUT DX,AX\r
- }\r
- setpalette16();\r
- Mode.width = 640;\r
- Mode.height = 400;\r
- Mode.width_bytes = 32000;\r
- Mode.colors = 16;\r
- Mode.attrib = TVU_GRAPHICS | TVU_PLANAR;\r
- }\r
- else if (mode == MODE_J) // 80 x 43 x 16\r
- {\r
- SetMode((unsigned int)&modeJ);\r
- ReadBIOSfont(3,8);\r
-\r
- Mode.width = 80;\r
- Mode.height = 43;\r
- Mode.width_bytes = 3440;\r
- Mode.colors = 16;\r
- Mode.attrib = TVU_TEXT;\r
- }\r
- else if (mode == MODE_K) // 80 x 50 x 16\r
- {\r
- SetMode((unsigned int)&modeK);\r
- ReadBIOSfont(3,8);\r
-\r
- Mode.width = 80;\r
- Mode.height = 50;\r
- Mode.width_bytes = 4000;\r
- Mode.colors = 16;\r
- Mode.attrib = TVU_TEXT;\r
- }\r
- else if (mode == MODE_L) // 40 x 43 x 16\r
- {\r
- SetMode((unsigned int)&modeL);\r
- ReadBIOSfont(3,8);\r
-\r
- Mode.width = 40;\r
- Mode.height = 43;\r
- Mode.width_bytes = 4000;\r
- Mode.colors = 16;\r
- Mode.attrib = TVU_TEXT;\r
- }\r
- else if (mode == MODE_M) // 40 x 50 x 16\r
- {\r
- SetMode((unsigned int)&modeM);\r
- ReadBIOSfont(3,8);\r
-\r
- Mode.width = 40;\r
- Mode.height = 50;\r
- Mode.width_bytes = 4000;\r
- Mode.colors = 16;\r
- Mode.attrib = TVU_TEXT;\r
- }\r
-}\r
-\r
-void setpal(int color, char r, char g, char b)\r
-{\r
- asm {\r
- // Send color\r
- MOV AX,color\r
- MOV DX,03C8H\r
- OUT DX,AL\r
-\r
- // Write R value\r
- MOV DX,03C9H\r
- MOV AL,r\r
- OUT DX,AL\r
-\r
- // Write G value\r
- MOV DX,03C9H\r
- MOV AL,g\r
- OUT DX,AL\r
-\r
- // Write B value\r
- MOV DX,03C9H\r
- MOV AL,b\r
- OUT DX,AL\r
- }\r
-}\r
-\r
-void setpalette4()\r
-{\r
- setpal( 0, 0, 0, 0);\r
- setpal( 1, 0, 42, 42);\r
- setpal( 2, 42, 0, 42);\r
- setpal( 3, 63, 63, 63);\r
-}\r
-\r
-void setpalette16()\r
-{\r
- int j = 0;\r
- for (int i = 0; i < 48; i+=3)\r
- {\r
- setpal(j, Pal[i], Pal[i+1], Pal[i+2]);\r
- j++;\r
- }\r
-}\r
-\r
-void setpalette256()\r
-{\r
- int j = 0;\r
- for (int i = 0; i < 768; i+=3)\r
- {\r
- setpal(j, Pal[i], Pal[i+1], Pal[i+2]);\r
- j++;\r
- }\r
-}\r
+++ /dev/null
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- -=\r
-//=- Tauron VGA Utilities Version 3.0 -=\r
-//=- Released September 20, 1998 -=\r
-//=- -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-//=- All Rights Reserved. =-= that you put my name some- -=\r
-//=- =-= where in your credits. -=\r
-//=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- I assume no responsibility whatsoever for any effect that this package, -=\r
-//=- the information contained therein or the use thereof has on you, your -=\r
-//=- sanity, computer, spouse, children, pets or anything else related to -=\r
-//=- you or your existance. No warranty is provided nor implied with this -=\r
-//=- source code. -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- VGA register variables for the various videomodes -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-// Same as Mode 01H\r
-unsigned char mode00h[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
- 0x67, 0x00, 0x03,0x08,0x03,0x00,0x02,\r
-// CRTC regs\r
-0x2D,0x27,0x28,0x90,0x2B,0xA0,0xBF,0x1F,0x00,0x4F,0x06,0x07,0x00,0x00,0x00,\r
-0x31,0x9C,0x8E,0x8F,0x14,0x1F,0x96,0xB9,0xA3,0xFF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x10,0x0E,0x00,0xFF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,0x10,0x11,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,\r
-0x0C,0x00,0x0F,0x08,0x00\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-\r
-// Same as Mode 02H\r
-unsigned char mode03h[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
- 0x67, 0x00, 0x03,0x00,0x03,0x00,0x02,\r
-// CRTC regs\r
-0x5F,0x4F,0x50,0x82,0x55,0x81,0xBF,0x1F,0x00,0x4F,0x0E,0x0F,0x00,0x00,0x00,\r
-0x00,0x9C,0x0E,0x8F,0x28,0x01,0x96,0xB9,0xA3,0xFF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x10,0x0E,0x00,0xFF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,0x10,0x11,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,\r
-0x0C,0x00,0x0F,0x08,0x00\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-// Same as Mode 05,\r
-unsigned char mode04h[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
- 0x63, 0x00, 0x03,0x09,0x03,0x00,0x02,\r
-// CRTC regs\r
-0x2D,0x27,0x28,0x90,0x2B,0x80,0x0BF,0x1F,0x00,0x0C1,0x00,0x00,0x00,0x00,0x00,\r
-0x31,0x9C,0x8E,0x8F,0x14,0x00,0x96,0xB9,0x0A2,0xFF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x30,0x0F,0x00,0xFF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x3B,0x3D,0x3F,0x02,0x04,0x06,0x07,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,\r
-0x01,0x00,0x03,0x00,0x00\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-unsigned char mode06h[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
- 0x63, 0x00, 0x03,0x01,0x01,0x00,0x06,\r
-// CRTC regs\r
-0x5F,0x4F,0x50,0x82,0x54,0x80,0x0BF,0x1F,0x00,0x0C1,0x00,0x00,0x00,0x00,0x00,\r
-0x00,0x9C,0x8E,0x8F,0x28,0x00,0x96,0xB9,0x0C2,0xFF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x00,0x0D,0x00,0xFF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,\r
-0x01,0x00,0x01,0x00,0x00\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-unsigned char mode07h[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
- 0x066, 0x00, 0x03,0x00,0x03,0x00,0x02,\r
-// CRTC regs\r
-0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,\r
-0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x10,0x0A,0x00,0xFF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x10,0x18,0x18,0x18,0x18,0x18,0x18,0x18,\r
-0x0E,0x00,0x0F,0x00,0x00\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-unsigned char mode0Dh[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
- 0x063, 0x00, 0x03,0x09,0x0F,0x00,0x06,\r
-// CRTC regs\r
-0x2D,0x27,0x28,0x90,0x2B,0x80,0x0BF,0x1F,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,\r
-0x31,0x9C,0x8E,0x8F,0x14,0x00,0x96,0xB9,0xE3,0xFF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x10,0x05,0x00,0xFF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,0x10,0x11,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,\r
-0x01,0x00,0x0F,0x00,0x00\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-unsigned char mode0Eh[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
- 0x63, 0x00, 0x03,0x01,0x0F,0x00,0x06,\r
-// CRTC regs\r
-0x5F,0x4F,0x50,0x82,0x54,0x80,0x0BF,0x1F,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,\r
-0x59,0x9C,0x8E,0x8F,0x28,0x00,0x96,0xB9,0xE3,0xFF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0F,0xFF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,0x08,0x11,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,\r
-0x01,0x00,0x0F,0x00,0x00\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-unsigned char mode0Fh[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
- 0x0A2, 0x00, 0x03,0x01,0x0F,0x00,0x06,\r
-// CRTC regs\r
-0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,\r
-0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x05,0xFF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x08,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x18,0x00,0x00,\r
-0x0B,0x00,0x05,0x00,0x00\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-unsigned char mode10h[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
- 0x0A3, 0x00, 0x03,0x01,0x0F,0x00,0x06,\r
-// CRTC regs\r
-0x5F,0x4F,0x50,0x82,0x54,0x80,0x0BF,0x1F,0x00,0x40,0x00,0x00,0x00,0x00,0x00,\r
-0x00,0x83,0x85,0x5D,0x28,0x0F,0x63,0x0BA,0xE3,0xFF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0F,0xFF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,\r
-0x01,0x00,0x0F,0x00,0x00\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-unsigned char mode11h[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
- 0xE3, 0x00, 0x03,0x01,0x0F,0x00,0x06,\r
-// CRTC regs\r
-0x5F,0x4F,0x50,0x82,0x54,0x80,0x0B,0x3E,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x59,\r
-0xEA,0x8C,0x0DF,0x28,0x0F,0x0E7,0x004,0x0C3,0xFF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x05,0xFF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x08,0x3F,0x3F,0x18,0x18,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,\r
-0x01,0x00,0x0F,0x00,0x00\r
-\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-unsigned char mode12h[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
- 0xE3, 0x00, 0x03,0x01,0x0F,0x00,0x06,\r
-// CRTC regs\r
-0x5F,0x4F,0x50,0x82,0x54,0x80,0x0B,0x3E,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x59,\r
-0xEA,0x8C,0x0DF,0x28,0x00,0x0E7,0x04,0xE3,0xFF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0F,0xFF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,\r
-0x01,0x00,0x0F,0x00,0x00\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-unsigned char mode13h[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
- 0x63, 0x00, 0x03,0x01,0x0F,0x00,0x0E,\r
-// CRTC regs\r
-0x5F,0x4F,0x50,0x82,0x54,0x80,0x0BF,0x1F,0x00,0x41,0x00,0x00,0x00,0x00,0x00,\r
-0x00,0x9C,0x0E,0x8F,0x28,0x40,0x96,0xB9,0x0A3,0xFF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0F,0xFF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,\r
-0x41,0x00,0x0F,0x00,0x00\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-unsigned char modeC4[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
- 0x63, 0x00, 0x03,0x01,0x0F,0x00,0x06,\r
-// CRTC regs\r
-0x5F,0x4F,0x50,0x82,0x54,0x80,0x0BF,0x1F,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,\r
-0x9C,0x0E,0x8F,0x28,0x00,0x96,0xB9,0xE3,0xFF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x40,0x05,0x0F,0xFF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,\r
-0x41,0x00,0x0F,0x00,0x00\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-unsigned char modeJ[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
- 0xa3, 0x00, 0x03,0x01,0x03,0x00,0x02,\r
-// CRTC regs\r
-0x5F,0x4F,0x50,0x82,0x55,0x81,0xBF,0x1F,0x00,0x47,0x0E,0x0F,0x00,0x00,0x00,\r
-0x00,0x83,0x85,0x57,0x28,0x1F,0x60,0xB8,0xA3,0xFF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x10,0x0E,0x00,0xFF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,0x10,0x11,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,\r
-0x0C,0x00,0x0F,0x00,0x00\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-unsigned char modeK[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
- 0x63, 0x00, 0x03,0x01,0x03,0x00,0x02,\r
-// CRTC regs\r
-0x5F,0x4F,0x50,0x82,0x55,0x81,0xBF,0x1F,0x00,0x47,0x0E,0x0F,0x00,0x00,0x00,\r
-0x00,0x9C,0x8E,0x8F,0x28,0x1F,0x96,0xB9,0xA3,0xFF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x10,0x0E,0x00,0xFF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,0x10,0x11,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,\r
-0x0C,0x00,0x0F,0x00,0x00\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-unsigned char modeL[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
-0x67,0x00,0x03,0x08,0x03,0x00,0x02,\r
-// CRTC regs\r
-0x2D,0x27,0x28,0x90,0x2B,0x0A0,0x0BF,0x1F,0x00,0x47,0x06,0x07,0x00,0x00,0x00,\r
-0x31,0x83,0x85,0x57,0x14,0x1F,0x60,0x0B8,0x0A3,0x0FF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x10,0x0E,0x00,0x0FF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,0x10,0x11,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,\r
-0x0C,0x00,0x0F,0x00,0x00,\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-\r
-unsigned char modeM[62] = {\r
-// MISC reg, STATUS reg, SEQ regs\r
-0x67,0x00,0x03,0x08,0x03,0x00,0x02,\r
-// CRTC regs\r
-0x2D,0x27,0x28,0x90,0x2B,0x0A0,0x0BF,0x1F,0x00,0x47,0x06,0x07,0x00,0x00,0x00,0x31,\r
-0x9C,0x8E,0x8F,0x14,0x1F,0x96,0x0B9,0x0A3,0x0FF,\r
-// GRAPHICS regs\r
-0x00,0x00,0x00,0x00,0x00,0x10,0x0E,0x00,0x0FF,\r
-// ATTRIBUTE CONTROLLER regs\r
-0x00,0x01,0x02,0x03,0x04,0x05,0x14,0x07,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,\r
-0x0C,0x00,0x0F,0x00,0x00,\r
-};\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
+++ /dev/null
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- -=\r
-//=- Tauron VGA Utilities Version 3.0 -=\r
-//=- Released September 20, 1998 -=\r
-//=- -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-//=- All Rights Reserved. =-= that you put my name some- -=\r
-//=- =-= where in your credits. -=\r
-//=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- I assume no responsibility whatsoever for any effect that this package, -=\r
-//=- the information contained therein or the use thereof has on you, your -=\r
-//=- sanity, computer, spouse, children, pets or anything else related to -=\r
-//=- you or your existance. No warranty is provided nor implied with this -=\r
-//=- source code. -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-char Pal[768] = {\r
- 0, 0, 0, 0, 0, 42, 0, 42, 0, 0, 42, 42, 42, 0, 0, 42, 0, 42,\r
-42, 21, 0, 42, 42, 42, 21, 21, 21, 21, 21, 63, 21, 63, 21, 21, 63, 63,\r
-63, 21, 21, 63, 21, 63, 63, 63, 21, 63, 63, 63, 0, 0, 0, 5, 5, 5,\r
- 8, 8, 8, 11, 11, 11, 14, 14, 14, 17, 17, 17, 20, 20, 20, 24, 24, 24,\r
-28, 28, 28, 32, 32, 32, 36, 36, 36, 40, 40, 40, 45, 45, 45, 50, 50, 50,\r
-56, 56, 56, 63, 63, 63, 0, 0, 63, 16, 0, 63, 31, 0, 63, 47, 0, 63,\r
-63, 0, 63, 63, 0, 47, 63, 0, 31, 63, 0, 16, 63, 0, 0, 63, 16, 0,\r
-63, 31, 0, 63, 47, 0, 63, 63, 0, 47, 63, 0, 31, 63, 0, 16, 63, 0,\r
- 0, 63, 0, 0, 63, 16, 0, 63, 31, 0, 63, 47, 0, 63, 63, 0, 47, 63,\r
- 0, 31, 63, 0, 16, 63, 31, 31, 63, 39, 31, 63, 47, 31, 63, 55, 31, 63,\r
-63, 31, 63, 63, 31, 55, 63, 31, 47, 63, 31, 39, 63, 31, 31, 63, 39, 31,\r
-63, 47, 31, 63, 55, 31, 63, 63, 31, 55, 63, 31, 47, 63, 31, 39, 63, 31,\r
-31, 63, 31, 31, 63, 39, 31, 63, 47, 31, 63, 55, 31, 63, 63, 31, 55, 63,\r
-31, 47, 63, 31, 39, 63, 45, 45, 63, 49, 45, 63, 54, 45, 63, 58, 45, 63,\r
-63, 45, 63, 63, 45, 58, 63, 45, 54, 63, 45, 49, 63, 45, 45, 63, 49, 45,\r
-63, 54, 45, 63, 58, 45, 63, 63, 45, 58, 63, 45, 54, 63, 45, 49, 63, 45,\r
-45, 63, 45, 45, 63, 49, 45, 63, 54, 45, 63, 58, 45, 63, 63, 45, 58, 63,\r
-45, 54, 63, 45, 49, 63, 0, 0, 28, 7, 0, 28, 14, 0, 28, 21, 0, 28,\r
-28, 0, 28, 28, 0, 21, 28, 0, 14, 28, 0, 7, 28, 0, 0, 28, 7, 0,\r
-28, 14, 0, 28, 21, 0, 28, 28, 0, 21, 28, 0, 14, 28, 0, 7, 28, 0,\r
- 0, 28, 0, 0, 28, 7, 0, 28, 14, 0, 28, 21, 0, 28, 28, 0, 21, 28,\r
- 0, 14, 28, 0, 7, 28, 14, 14, 28, 17, 14, 28, 21, 14, 28, 24, 14, 28,\r
-28, 14, 28, 28, 14, 24, 28, 14, 21, 28, 14, 17, 28, 14, 14, 28, 17, 14,\r
-28, 21, 14, 28, 24, 14, 28, 28, 14, 24, 28, 14, 21, 28, 14, 17, 28, 14,\r
-14, 28, 14, 14, 28, 17, 14, 28, 21, 14, 28, 24, 14, 28, 28, 14, 24, 28,\r
-14, 21, 28, 14, 17, 28, 20, 20, 28, 22, 20, 28, 24, 20, 28, 26, 20, 28,\r
-28, 20, 28, 28, 20, 26, 28, 20, 24, 28, 20, 22, 28, 20, 20, 28, 22, 20,\r
-28, 24, 20, 28, 26, 20, 28, 28, 20, 26, 28, 20, 24, 28, 20, 22, 28, 20,\r
-20, 28, 20, 20, 28, 22, 20, 28, 24, 20, 28, 26, 20, 28, 28, 20, 26, 28,\r
-20, 24, 28, 20, 22, 28, 0, 0, 16, 4, 0, 16, 8, 0, 16, 12, 0, 16,\r
-16, 0, 16, 16, 0, 12, 16, 0, 8, 16, 0, 4, 16, 0, 0, 16, 4, 0,\r
-16, 8, 0, 16, 12, 0, 16, 16, 0, 12, 16, 0, 8, 16, 0, 4, 16, 0,\r
- 0, 16, 0, 0, 16, 4, 0, 16, 8, 0, 16, 12, 0, 16, 16, 0, 12, 16,\r
- 0, 8, 16, 0, 4, 16, 8, 8, 16, 10, 8, 16, 12, 8, 16, 14, 8, 16,\r
-16, 8, 16, 16, 8, 14, 16, 8, 12, 16, 8, 10, 16, 8, 8, 16, 10, 8,\r
-16, 12, 8, 16, 14, 8, 16, 16, 8, 14, 16, 8, 12, 16, 8, 10, 16, 8,\r
- 8, 16, 8, 8, 16, 10, 8, 16, 12, 8, 16, 14, 8, 16, 16, 8, 14, 16,\r
- 8, 12, 16, 8, 10, 16, 11, 11, 16, 12, 11, 16, 13, 11, 16, 15, 11, 16,\r
-16, 11, 16, 16, 11, 15, 16, 11, 13, 16, 11, 12, 16, 11, 11, 16, 12, 11,\r
-16, 13, 11, 16, 15, 11, 16, 16, 11, 15, 16, 11, 13, 16, 11, 12, 16, 11,\r
-11, 16, 11, 11, 16, 12, 11, 16, 13, 11, 16, 15, 11, 16, 16, 11, 15, 16,\r
-11, 13, 16, 11, 12, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 63, 63\r
-};\r
+++ /dev/null
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- -=\r
-//=- Tauron VGA Utilities Version 3.0 -=\r
-//=- Released September 20, 1998 -=\r
-//=- -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-//=- All Rights Reserved. =-= that you put my name some- -=\r
-//=- =-= where in your credits. -=\r
-//=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- I assume no responsibility whatsoever for any effect that this package, -=\r
-//=- the information contained therein or the use thereof has on you, your -=\r
-//=- sanity, computer, spouse, children, pets or anything else related to -=\r
-//=- you or your existance. No warranty is provided nor implied with this -=\r
-//=- source code. -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-#ifndef __TAURON_H__\r
-#define __TAURON_H__\r
-\r
-// VGA register port addresses\r
-#define ATTRCON_ADDR 0x03C0\r
-#define MISC_ADDR 0x03C2\r
-#define VGAENABLE_ADDR 0x03C3\r
-#define SEQ_ADDR 0x03C4\r
-#define GRACON_ADDR 0x03CE\r
-#define CRTC_ADDR 0x03D4\r
-#define STATUS_ADDR 0x03DA\r
-\r
-// Video mode numbers\r
-#define MODE00H 0x00\r
-#define MODE01H 0x00\r
-#define MODE02H 0x03\r
-#define MODE03H 0x03\r
-#define MODE04H 0x04\r
-#define MODE05H 0x05\r
-#define MODE06H 0x06\r
-#define MODE07H 0x07\r
-#define MODE0DH 0x0D\r
-#define MODE0EH 0x0E\r
-#define MODE0FH 0x0F\r
-#define MODE10H 0x10\r
-#define MODE11H 0x11\r
-#define MODE12H 0x12\r
-#define MODE13H 0x13\r
-#define CHAIN4 0x14\r
-#define MODE_X 0x15\r
-#define MODE_A 0x16\r
-#define MODE_B 0x17\r
-#define MODE_C 0x18\r
-#define MODE_D 0x19\r
-#define MODE_E 0x1A\r
-#define MODE_F 0x1B\r
-#define MODE_G 0x1C\r
-#define MODE_H 0x1D\r
-#define MODE_I 0x1E\r
-#define MODE_J 0x1F\r
-#define MODE_K 0x20\r
-#define MODE_L 0x21\r
-#define MODE_M 0x22\r
-\r
-// Keypresses\r
-#define Escape 0x001b\r
-\r
-// Videomode attributes\r
-#define TVU_TEXT 0x0001\r
-#define TVU_GRAPHICS 0x0002\r
-#define TVU_MONOCHROME 0x0004\r
-#define TVU_PLANAR 0x0008\r
-#define TVU_UNCHAINED 0x0010\r
-\r
-// Videomode Info Structure\r
-struct Vmode {\r
- int mode; // Videomode Number\r
- int width; // Width in pixels\r
- int height; // Height in pixels\r
- unsigned int width_bytes; // Number of bytes per screen\r
- int colors; // Number of colors\r
- int attrib; // Videomode attributes\r
-};\r
-\r
-extern Vmode Mode;\r
-\r
-// MODES.CPP Function Prototypes\r
-void SetVideoMode(int mode);\r
-void ReadBIOSfont(int fontnum, int bytesperchar);\r
-void SetMode(unsigned int regs);\r
-void setpal(int color, char r, char g, char b);\r
-\r
-// CLEAR.CPP Function Prototypes\r
-void TextClear(char attrib);\r
-void PlanarClear(char Color);\r
-void UnchainedClear(char Color);\r
-void Clear13H(char color);\r
-void Clear04H();\r
-void Clear06H();\r
-void Clear0DH(char color);\r
-\r
-// TESTS.CPP Function Prototypes\r
-void ModeTest();\r
-void TextTest();\r
-\r
-// DUAL.CPP Function Prototypes\r
-void DualTest();\r
-\r
-#endif
\ No newline at end of file
+++ /dev/null
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- -=\r
-//=- Tauron VGA Utilities Version 3.0 -=\r
-//=- Released September 20, 1998 -=\r
-//=- -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-//=- All Rights Reserved. =-= that you put my name some- -=\r
-//=- =-= where in your credits. -=\r
-//=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//=- I assume no responsibility whatsoever for any effect that this package, -=\r
-//=- the information contained therein or the use thereof has on you, your -=\r
-//=- sanity, computer, spouse, children, pets or anything else related to -=\r
-//=- you or your existance. No warranty is provided nor implied with this -=\r
-//=- source code. -=\r
-//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-#include <stdlib.h>\r
-#include <stdio.h>\r
-#include <conio.h>\r
-#include "tauron.h"\r
-#define ABS(a) ((a < 0) ? -a : a)\r
-#define SGN(a) ((a < 0) ? -1 : 1)\r
-\r
-void Pixel13H(int x, int y, char color)\r
-{\r
- int width = Mode.width;\r
- asm {\r
- MOV AX,0A000H // video memory segment number\r
- MOV ES,AX // place it in es\r
-\r
- MOV DX,03C4H\r
- MOV AL,2\r
- OUT DX,AL\r
- INC DX\r
-\r
- MOV AL,1\r
- MOV CX,x\r
- AND CX,3\r
- SHL AL,CL\r
- OUT DX,AL\r
-\r
- XOR DI,DI\r
-\r
-// Calculate the Offset\r
- mov ax,width // width\r
- mul y // (Y * width))\r
- mov bx,x // (X + (Y * width))\r
- add ax,bx\r
-// Done!\r
-\r
- ADD DI,AX\r
- mov ah,color // move the Color into ah\r
- mov es:[di],ah // move the value to the screen\r
- }\r
-}\r
-\r
-void pixel(int x, int y, char color)\r
-{\r
- int width = Mode.width;\r
- if (Mode.mode == MODE13H)\r
- Pixel13H(x,y,color);\r
- else if (Mode.attrib & TVU_UNCHAINED) {\r
- asm {\r
- MOV AX,0A000H // video memory segment number\r
- MOV ES,AX // place it in es\r
-\r
- MOV DX,03C4H\r
- MOV AL,2\r
- OUT DX,AL\r
- INC DX\r
-\r
- MOV AL,1\r
- MOV CX,x\r
- AND CX,3\r
- SHL AL,CL\r
- OUT DX,AL\r
-\r
- XOR DI,DI\r
-\r
-// Calculate the Offset\r
- mov ax,width // width / 4\r
- SHR AX,2\r
- mul y // (Y * (width / 4))\r
- mov bx,x // (X / 4) + (Y * (width / 4))\r
- shr bx,2\r
- add ax,bx\r
-// Done!\r
-\r
- ADD DI,AX\r
- mov ah,color // move the Color into ah\r
- mov es:[di],ah // move the value to the screen\r
- }}\r
- else if (Mode.attrib & TVU_PLANAR)\r
- {\r
- asm {\r
- MOV AX,0A000H // video memory segment number\r
- MOV ES,AX // place it in es\r
-\r
- MOV BX,x // X Value\r
- MOV CX,BX\r
- MOV AX,y // Y Value\r
- MOV SI,80\r
- MUL SI\r
- SHR BX,3 // /8\r
- ADD AX,BX\r
- MOV DI,AX\r
-\r
- AND CL,7\r
- XOR CL,7\r
- MOV AH,1\r
-\r
- SHL AH,CL\r
-\r
- MOV DX,03CEH\r
- MOV AL,8\r
- OUT DX,AX\r
-\r
- MOV AL,0\r
- XCHG ES:[DI],AL\r
-\r
- MOV DX,03C4H\r
- MOV AH,color\r
- MOV AL,2\r
- OUT DX,AX\r
-\r
- MOV BYTE PTR ES:[DI],0FFh\r
-\r
- MOV AX,0F02H\r
- OUT DX,AX\r
-\r
- MOV DX,03CEH\r
- MOV AX,0FF08h\r
- OUT DX,AX\r
- }}\r
-}\r
-\r
-// This is Bresenham's Line Drawing Algorithm\r
-void drawline(int x1, int y1, int x2, int y2, char col)\r
-{\r
- int d, x, y, ax, ay, sx, sy, dx, dy;\r
-\r
- dx = x2-x1;\r
- ax = ABS(dx) << 1;\r
- sx = SGN(dx);\r
- dy = y2-y1;\r
- ay = ABS(dy) << 1;\r
- sy = SGN(dy);\r
-\r
- x = x1;\r
- y = y1;\r
- if( ax > ay )\r
- {\r
- d = ay - (ax >> 1);\r
- while( x != x2 )\r
- {\r
- pixel( x, y, col );\r
- if( d >= 0 )\r
- {\r
- y += sy;\r
- d -= ax;\r
- }\r
- x += sx;\r
- d += ay;\r
- }\r
- }\r
- else\r
- {\r
- d = ax - (ay >> 1);\r
- while( y != y2 )\r
- {\r
- pixel( x, y, col );\r
- if( d >= 0 )\r
- {\r
- x += sx;\r
- d -= ay;\r
- }\r
- y += sy;\r
- d += ax;\r
- }\r
- }\r
- return;\r
-}\r
-\r
-void drawrect(int x1, int y1, int x2, int y2, char color)\r
-{\r
- drawline(x1,y1,x2,y1,color);\r
- drawline(x1,y2,x2,y2,color);\r
- drawline(x1,y1,x1,y2,color);\r
- drawline(x2,y1,x2,y2+1,color);\r
-}\r
-\r
-void hline(int x1, int x2, int y, char color)\r
-{\r
- drawline(x1,y,x2,y,color);\r
-}\r
-\r
-void vline(int y1, int y2, int x, char color)\r
-{\r
- drawline(x,y1,x,y2,color);\r
-}\r
-\r
-void fillrect(int x1, int y1, int x2, int y2, char color)\r
-{\r
- for (int i = y1; i < y2; i++)\r
- hline(x1,x2,i,color);\r
-}\r
-\r
-void ModeTest()\r
-{\r
- if (Mode.mode == MODE13H)\r
- {\r
- Clear13H(0);\r
- }\r
- else if (Mode.attrib & TVU_PLANAR)\r
- {\r
- PlanarClear(0);\r
- }\r
- else if (Mode.attrib & TVU_UNCHAINED)\r
- {\r
- UnchainedClear(0);\r
- }\r
-\r
- /* Print mode stats\r
- *\r
- */\r
-\r
- drawrect(0,0,Mode.width-1,Mode.height-1,15);\r
- for (int i = 50; i < Mode.height; i += 100)\r
- {\r
- hline(0,10,i,15);\r
- hline(0,25,i+50,15);\r
- }\r
-\r
- for (int i = 40; i < Mode.width; i += 80)\r
- {\r
- vline(0,15,i,15);\r
- vline(0,30,i+40,15);\r
- }\r
-\r
- if (Mode.colors == 2)\r
- {\r
- int x,y;\r
- x = Mode.width - 420;\r
- y = Mode.height - 220;\r
- fillrect(x,y,x+200,y+200,0);\r
- x+=200;\r
- fillrect(x,y,x+200,y+200,15);\r
- drawrect(x-200,y,x+200,y+200,15);\r
- }\r
- else if (Mode.colors == 16)\r
- {\r
- int x,y;\r
- x = Mode.width - 522;\r
- y = Mode.height - 135;\r
- for (int i = 0; i < 8; i++)\r
- {\r
- fillrect(x,y,x+64,y+64,i);\r
- x+=64;\r
- }\r
- x = Mode.width - 522;\r
- y += 64;\r
- for (int i = 8; i < 16; i++)\r
- {\r
- fillrect(x,y,x+64,y+64,i);\r
- x+=64;\r
- }\r
- drawrect(x-512,y-64,x,y+64,15);\r
- }\r
- else if (Mode.colors == 256)\r
- {\r
- int x,y,k;\r
- x = Mode.width - 165;\r
- y = Mode.height - 165;\r
- k = 0;\r
- for (int i = 0; i < 16; i++)\r
- {\r
- for (int j = 0; j < 16; j++)\r
- {\r
- fillrect(x,y,x+10,y+10,k);\r
- x+=10;\r
- k++;\r
- }\r
- x = Mode.width - 165;\r
- y += 10;\r
- }\r
- drawrect(Mode.width - 165,Mode.height - 165,Mode.width -5,Mode.height - 5,15);\r
- }\r
-}\r
-\r
-void TextTest()\r
-{\r
- TextClear(0x1F);\r
- gotoxy(1,1);\r
- if (Mode.mode == MODE00H)\r
- {\r
- // ** NOTE ** the gotoxy's here are a hack so that i could use the\r
- // standard C functions to program this mode. Normally you would just\r
- // calculate the proper address and display the text but since DOS still\r
- // thinks we are in mode 03h (it checks the BIOS), this is necessary.\r
- gotoxy(1,1);\r
- printf("ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿\n");\r
- gotoxy(41,1);\r
- printf("³Text Mode: 00H ³\n");\r
- gotoxy(1,2);\r
- printf("³Width: 40 Height: 25³\n");\r
- gotoxy(41,2);\r
- printf("³Bytes per screen: 2000³\n");\r
- gotoxy(1,3);\r
- printf("³Number of pages: 8 ³\n");\r
- gotoxy(41,3);\r
- printf("ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ\n");\r
- }\r
- else if (Mode.mode == MODE03H)\r
- {\r
- printf("ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿\n");\r
- printf("³Text Mode: 03H ³\n");\r
- printf("³Width: 80 Height: 25³\n");\r
- printf("³Bytes per screen: 4000³\n");\r
- printf("³Number of pages: 8 ³\n");\r
- printf("ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ\n");\r
- }\r
- else if (Mode.mode == MODE_J)\r
- {\r
- printf("ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿\n");\r
- printf("³Text Mode K ³\n");\r
- printf("³Width: 80 Height: 43³\n");\r
- printf("³Bytes per screen: 3440³\n");\r
- printf("³Number of pages: 8 ³\n");\r
- printf("ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ\n");\r
- }\r
- else if (Mode.mode == MODE_K)\r
- {\r
- printf("ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿\n");\r
- printf("³Text Mode K ³\n");\r
- printf("³Width: 80 Height: 50³\n");\r
- printf("³Bytes per screen: 4000³\n");\r
- printf("³Number of pages: 8 ³\n");\r
- printf("ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ\n");\r
- }\r
- else if (Mode.mode == MODE_L)\r
- {\r
- // ** NOTE ** the gotoxy's here are a hack so that i could use the\r
- // standard C functions to program this mode. Normally you would just\r
- // calculate the proper address and display the text but since DOS still\r
- // thinks we are in mode 03h (it checks the BIOS), this is necessary.\r
- printf("ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿\n");\r
- gotoxy(41,1);\r
- printf("³Text Mode L ³\n");\r
- gotoxy(1,2);\r
- printf("³Width: 40 Height: 43³\n");\r
- gotoxy(41,2);\r
- printf("³Bytes per screen: 3440³\n");\r
- gotoxy(1,3);\r
- printf("³Number of pages: 8 ³\n");\r
- gotoxy(41,3);\r
- printf("ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ\n");\r
- }\r
- else if (Mode.mode == MODE_M)\r
- {\r
- // ** NOTE ** the gotoxy's here are a hack so that i could use the\r
- // standard C functions to program this mode. Normally you would just\r
- // calculate the proper address and display the text but since DOS still\r
- // thinks we are in mode 03h (it checks the BIOS), this is necessary.\r
- printf("ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿\n");\r
- gotoxy(41,1);\r
- printf("³Text Mode K ³\n");\r
- printf("³Width: 40 Height: 50³\n");\r
- gotoxy(1,2);\r
- gotoxy(41,2);\r
- printf("³Bytes per screen: 4000³\n");\r
- gotoxy(1,3);\r
- printf("³Number of pages: 8 ³\n");\r
- gotoxy(41,3);\r
- printf("ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ\n");\r
- }\r
-}\r
+++ /dev/null
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- -=\r
-=- Tauron VGA Utilities Version 3.0 -=\r
-=- Released September 20, 1998 -=\r
-=- Font Editor Docs -=\r
-=- -=\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-=- All Rights Reserved. =-= that you put my name some- -=\r
-=- =-= where in your credits. -=\r
-=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- I assume no responsibility whatsoever for any effect that this package, -=\r
-=- the information contained therein or the use thereof has on you, your -=\r
-=- sanity, computer, spouse, children, pets or anything else related to -=\r
-=- you or your existance. No warranty is provided nor implied with this -=\r
-=- source code. -=\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-A mouse is required to run this program.\r
-\r
-On the main screen is a blue box with a white solid line surrounding it.\r
-This is the MAIN EDIT BOX. Inside of this box is where the font is created.\r
-Left click with the mouse to turn a bit on, right click with the mouse to\r
-turn a bit off.\r
-\r
-In the bottom left corner there is the ACTIONS box. Inside is all of the\r
-options that you have available. **NOTE** The delete this character action\r
-is not operational.\r
-\r
- Update this character -- This action puts the curently edited character\r
- into its final font position. There is a charcter buffer and a character\r
- list. When editing you are editing the buffer. If you don't want to keep\r
- the current changes, then don't hit update character. But if you do want to\r
- keep the changes, then hit update character before hitting anything else. If\r
- you don't the cnages will be lost.\r
-\r
- Display next character -- Hit the left or right arrows to go up or down the\r
- list character list. As you display each character, it is editable and you\r
- must hit update character if you want to save the changes.\r
-\r
- Goto character -- Goes to a certain character in the list.\r
-\r
- Read font from BIOS -- Read in a font from the BIOS which can now be\r
- edited.\r
-\r
- Add a character -- Adds a charcter to the end of the list. No more than\r
- 256 characters can be added.\r
-\r
- Delete a character -- Not operational\r
-\r
- Dump font to FONT.ASM -- This dumps the font to a text file ready to be\r
- assembled with an assembler.\r
-\r
-\r
-Along the bottom of the screen is a menu bar with choices:\r
-Alt+N New This creates a new font with dimensions you specify.\r
-\r
-Alt+O Open Opens a file. Careful using the dialog as it may no be\r
- intuitive at first glance.\r
-\r
-Alt+S Save Savess a file. Careful using the dialog as it may no be\r
- intuitive at first glance.\r
-\r
-Alt+A About Opens a window containing information about the program.\r
- Also has contact information\r
-\r
-Alt+X Exit Exits the program. This does not prompt you to save the file\r
- you are working on so be careful.\r
-\r
-\r
-\r
-Here is the structure for the files saved in binary :\r
-Header 7 bytes 'KINFIRA'\r
-Width Word\r
-Height Word\r
-Number of characters Word\r
-Bytes per character Word\r
-\r
-The rest of the file is the font saved in bitwise form.\r
-For example: This is a partial text dump from an 8x14 font from BIOS\r
-Every byte (8 bits) is one scanline. Notice there are 14 bytes per character\r
-DB 000H,000H,07EH,081H,0A5H,081H,081H,0BDH,099H,081H,07EH,000H,000H,000H\r
-\r
-If this font was say a 16x14 font, every word (16 bits) would be a scanline.\r
-Take the same line as above, represented as a 16 bit wide font:\r
-\r
-DB 000H,000H, <====== First scanline\r
- 000H,000H, <====== Second scanline\r
- 000H,07EH,\r
- 000H,081H,\r
- 000H,0A5H,\r
- and so on...\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
+++ /dev/null
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- -=\r
-=- Tauron VGA Utilities Version 3.0 -=\r
-=- Released September 20, 1998 -=\r
-=- -=\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-=- All Rights Reserved. =-= that you put my name some- -=\r
-=- =-= where in your credits. -=\r
-=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- I assume no responsibility whatsoever for any effect that this package, -=\r
-=- the information contained therein or the use thereof has on you, your -=\r
-=- sanity, computer, spouse, children, pets or anything else related to -=\r
-=- you or your existance. No warranty is provided nor implied with this -=\r
-=- source code. -=\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-The code in this package will switch video modes on any standard VGA video\r
-card. This is accomplished by programming the VGA Registers directly.\r
-\r
-##############################################################################\r
-#### Mode 07H and Mode 0FH are still being worked on. ####\r
-##############################################################################\r
-\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- Files included in this package: -= -=\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= -=\r
-=- Assembly version compiles with TASM 4.1 and TLINK 7.0 -=\r
-=- C version compiles with Borland C++ 5.01 -=\r
-=- -=\r
-=- README.TXT You are reading it. -=\r
-=- WHATSNEW.TXT Whats new in this version -=\r
-=- USAGE.TXT How to use these routines. Also -=\r
-=- contains a complete list of the -=\r
-=- videomodes supported. -=\r
-=- -=\r
-=- MAIN.EXE Assembly version executable demo -=\r
-=- MAINC.EXE C version executable demo -=\r
-=- FEDIT.EXE Font editor -=\r
-=- FEDIT.TXT Docs for the font editor -=\r
-=- -=\r
-=- ASM_SRC The assembly source directory -=\r
-=- +->MAIN.ASM The Main source file -=\r
-=- +->MODES.ASM The mode switching file -=\r
-=- +->CLEAR.ASM The clear screen routines -=\r
-=- +->TESTS.ASM The videomode tests -=\r
-=- +->DUAL.ASM The dual font setup and test -=\r
-=- +->FONT1.ASM Font 1 for dual font test -=\r
-=- +->FONT2.ASM Font 2 for dual font test -=\r
-=- +->MODES.INC The includes for each videomode -=\r
-=- -=\r
-=- C_SRC The C source directory -=\r
-=- +->MAINC.CPP The main source file -=\r
-=- +->MODES.CPP The mode switching file -=\r
-=- +->CLEAR.CPP The clear screen routines -=\r
-=- +->TESTS.CPP The videomode tests -=\r
-=- +->TAURON.H The main header file -=\r
-=- +->FONT1.H Font 1 for dual font test -=\r
-=- +->FONT2.H Font 2 for dual font test -=\r
-=- +->MODES_C.INC The includes for each videomode -=\r
-=- +->PALETTE.INC The standard palette -=\r
-=- -=\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-When running the demo:\r
-\r
- In graphics modes, there is a vertical line every 40 pixels with a longer\r
- vertical line every 80 pixels.\r
-\r
- I have not yet figured out how to program modes 04H, 05H, or 06H. Once\r
- the mode is set, I only clear the mode to a specified color.\r
-\r
-\r
-\r
-The VGA BIOS must be called once at the beginning of the routines so that we\r
-know where the fonts are stored. Once this information is known we no longer\r
-need the BIOS.\r
-\r
-The reason for starting this package is that I am writing an Operating\r
-System. (There are a lot of us out there I know.) I wanted to be able to\r
-program standard VGA cards for my OS.\r
-\r
-This is not a graphics library although there are some clear screen and pixel\r
-routines around. It only sets the video mode. This works in real mode as\r
-well as protected mode. To use it in protected mode you will have to modify\r
-it to suit your own needs.\r
-\r
-The use of the fonts stored in BIOS ROM is now included. We are using what is\r
-already built into the VGA BIOS.\r
-\r
-\r
-E-mail: kinfira@hotmail.com\r
-Homepage: http://home.onestop.net/kinfira/\r
-\r
-Drop me a line if you find this package useful.\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=-= Credits: =-= =-=\r
-=-=-=-=-=-=-=-=-= =-=\r
-=-= A great book: "Programmer's Guide to the EGA, VGA, and Super VGA =-=\r
-=-= Cards" 3rd Edition Richard F. Ferraro ISBN 0-201-62490-7 =-=\r
-=-= Addison-Wesley Publishing Company. =-=\r
-=-= =-=\r
-=-= A very excellent book: "Programmer's Guide to the EGA & VGA Cards" =-=\r
-=-= Richard F. Ferraro ISBN 0-201-12692-3 =-=\r
-=-= Addison-Wesley Publishing Company. =-=\r
-=-= =-=\r
-=-= Anthony A.J. Williams for writing MODES.ASM, which I used to help =-=\r
-=-= write the Text Mode routine. I specifically used the SetFont =-=\r
-=-= procedure which was instrumental in getting the code for Mode 03h =-=\r
-=-= working. =-=\r
-=-= =-=\r
-=-= Boone (boone@ucsd.edu) for the docs on programming the VGA Registers. =-=\r
-=-= =-=\r
-=-= I also used a really great program called TWEAK to get some of the =-=\r
-=-= values for the non-standard modes. =-=\r
-=-= =-=\r
-=-= Denthor of ASPHYXIA for his trainer on Chain-4 Mode. =-=\r
-=-= =-=\r
-=-= Robert Schmidt <robert@stud.unit.no> for the great doc in PCGPE 1.0 =-=\r
-=-= about Mode X. This helped a great deal. =-=\r
-=-= =-=\r
-=-= Michael Abrash for his super excellent VGA articles on everything, =-=\r
-=-= plus all of his books and public domain code. =-=\r
-=-= =-=\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- Revision History: -=\r
-=-=-=-=-=-=-=-=-=-=-=-=\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-Version 3.0 released September 20, 1998\r
- I added 2 new text modes, 40x43 and 40x50. Also I have added a new dual\r
- font test which uses 2 of the VGA's 8 font maps.\r
-\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-Version 2.1 released July 5, 1998\r
- The only change is that in the C version, the routine to read fronts from\r
- BIOS is now working. This routine reads a font from the BIOS and places\r
- it in memory for use in a textmode.\r
-\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-Version 2.0 released June 22, 1998\r
- I have added more videomodes. I have also written a version of the\r
- source in C. So the routines are available in Assembly and C. I have\r
- also written some documentation for the font editor. So now the only\r
- modes that are not implemented are the monochrome modes which will still\r
- be worked on.\r
-\r
-\r
-Tauron VGA Utilities\r
-Version 1.0 released June 14, 1998\r
- I changed the name because that other was a little too long. B->\r
- I have packaged in a small font editor. I have also rearranged the mode\r
- numbers and added a few more video modes that will be implemented.\r
-\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-Source code for switching videomodes without using BIOS\r
-Version 4.1 released May 28, 1998\r
-\r
-New in this version:\r
- We call a BIOS function to find out where in memory the fonts are stored.\r
- Since this is different on every cards' VGA BIOS, it is absolutely\r
- necessary so that in text modes, the proper fonts are displayed.\r
-\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-Version 4.0 released March 5, 1998\r
-\r
-New in this version:\r
- All VGA Modes are supported! Plus Chain-4 Mode, ModeX, ModeA,\r
- ModeB and ModeC. Modes 07H and 0FH are still being worked on.\r
-\r
- Use of Fonts stored in ROM.\r
- Custom Font data stored in system memory is no longer needed.\r
-\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-Version 3.0 released January 2, 1998\r
- Includes Modes 03h, 10h, 12h, and 13h plus Chain-4 Mode, ModeX, ModeA,\r
- ModeB and ModeC.\r
-\r
-New in this version: Mode 10h (640x350x16), Mode C (640x400x16)\r
-\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-Version 2.5 not released\r
- Includes Modes 03h, 12h, and 13h plus Chain-4 Mode, ModeX, ModeA, and\r
- ModeB.\r
-\r
-New in this version: VGA register data takes up less space.\r
-\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-Version 2.1 released Nov. 21, 1997\r
- Includes Modes 03h, 12h, and 13h plus Chain-4 Mode, ModeX, ModeA, and\r
- ModeB.\r
-\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-Version 2.0 released Nov. 10, 1997\r
- Includes Modes 03h, 12h, and 13h plus Chain-4 Mode and ModeX.\r
-\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-Version 1.5 released late Oct. 1997\r
- Includes Modes 03h, 12h, and 13h. Fully functional\r
-\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-Version 1.1 released in Oct. 12, 1997\r
- Includes Mode 13h, Mode 03h finally works. Realized that I needed to reset\r
- the text mode font.\r
-\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-Version 1.0 released in Oct. 7, 1997\r
- Included Mode 13h, Mode 03h partially. (Did not have setfont routine)\r
-\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
+++ /dev/null
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- -=\r
-=- Tauron VGA Utilities Version 3.0 -=\r
-=- Released September 20, 1998 -=\r
-=- -=\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-=- All Rights Reserved. =-= that you put my name some- -=\r
-=- =-= where in your credits. -=\r
-=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- I assume no responsibility whatsoever for any effect that this package, -=\r
-=- the information contained therein or the use thereof has on you, your -=\r
-=- sanity, computer, spouse, children, pets or anything else related to -=\r
-=- you or your existance. No warranty is provided nor implied with this -=\r
-=- source code. -=\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-** Note ** This code does not update BIOS when in real mode. So if you need\r
-that particular functionality, you will have to add this yourself.\r
-\r
-\r
- Use MODE NUMBER to set the video mode with the procedure provided.\r
-\r
- A star (*) next to the mode number indicates that it is not yet\r
- implemented.\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- Currently supported Video Modes: -= MODE NUMBER =-= Type -=\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- -= =-= -=\r
-=- 00H,01H -- 40 x 25 x 16 -= 00H,01H =-= Text -=\r
-=- -= =-= -=\r
-=- 02H,03H -- 80 x 25 x 16 -= 02H,03H =-= Text -=\r
-=- -= =-= -=\r
-=- 04H,05H -- 320 x 200 x 4 -= 04H,05H =-= Graphics -=\r
-=- -= =-= -=\r
-=- 06H -- 640 x 200 x 2 -= 06H =-= Graphics -=\r
-=- -= =-= -=\r
-=- 07H -- 80 x 25 x 2 (Monochrome) -= * 07H =-= Text -=\r
-=- -= =-= -=\r
-=- 0DH -- 320 x 200 x 16 -= 0DH =-= Graphics -=\r
-=- -= =-= -=\r
-=- 0EH -- 640 x 200 x 16 -= 0EH =-= Graphics -=\r
-=- -= =-= -=\r
-=- 0FH -- 640 x 350 x 2 (Monochrome) -= * 0FH =-= Graphics -=\r
-=- -= =-= -=\r
-=- 10H -- 640 x 350 x 16 -= 10H =-= Graphics -=\r
-=- -= =-= -=\r
-=- 11H -- 640 x 480 x 2 -= 11H =-= Graphics -=\r
-=- -= =-= -=\r
-=- 12H -- 640 x 480 x 16 -= 12H =-= Graphics -=\r
-=- -= =-= -=\r
-=- 13H -- 320 x 200 x 256 -= 13H =-= Graphics -=\r
-=- -= =-= -=\r
-=- Chain 4 -- unchained 320 x 200 x 256 -= 14H =-= Graphics -=\r
-=- -= =-= -=\r
-=- Mode X -- unchained 320 x 240 x 256 -= 15H =-= Graphics -=\r
-=- -= =-= -=\r
-=- Mode A -- unchained 320 x 350 x 256 -= 16H =-= Graphics -=\r
-=- -= =-= -=\r
-=- Mode B -- unchained 320 x 400 x 256 -= 17H =-= Graphics -=\r
-=- -= =-= -=\r
-=- Mode C -- unchained 320 x 480 x 256 -= 18H =-= Graphics -=\r
-=- -= =-= -=\r
-=- Mode D -- unchained 360 x 200 x 256 -= 19H =-= Graphics -=\r
-=- -= =-= -=\r
-=- Mode E -- unchained 360 x 240 x 256 -= 1AH =-= Graphics -=\r
-=- -= =-= -=\r
-=- Mode F -- unchained 360 x 350 x 256 -= 1BH =-= Graphics -=\r
-=- -= =-= -=\r
-=- Mode G -- unchained 360 x 400 x 256 -= 1CH =-= Graphics -=\r
-=- -= =-= -=\r
-=- Mode H -- unchained 360 x 480 x 256 -= 1DH =-= Graphics -=\r
-=- -= =-= -=\r
-=- Mode I -- 640 x 400 x 16 -= 1EH =-= Graphics -=\r
-=- -= =-= -=\r
-=- Mode J -- 80 x 43 x 16 -= 1FH =-= Text -=\r
-=- -= =-= -=\r
-=- Mode K -- 80 x 50 x 16 -= 20H =-= Text -=\r
-=- -= =-= -=\r
-=- Mode K -- 40 x 43 x 16 -= 21H =-= Text -=\r
-=- -= =-= -=\r
-=- Mode K -- 40 x 50 x 16 -= 22H =-= Text -=\r
-=- -= =-= -=\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-\r
-To set a video mode using the procedure I already have written:\r
-\r
-PUSH *VALUE* ; Where value is the mode number\r
-CALL SETVIDEOMODE\r
-\r
-and thats it the videomode gets set.\r
-\r
-Once the video mode is set, you can program each video mode as normal.\r
-\r
-Just remember, you can't rely on BIOS so if you need the palette set to the\r
-proper values, you need to set them yourself.\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-If you want to use this code in your programs, all you need is which ever\r
-mode you want from MODES.INC and also the procedure SETMODE.\r
-\r
-Just\r
-\r
-MOV SI, OFFSET *MODE* ; Where mode is the mode from MODES.INC\r
-CALL SETMODE\r
-\r
-If you want the unchained modes, you also need a bit of code from the\r
-SETVIDEOMODE procedure in MAIN.ASM.\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-I have also included some source for clearing the screen and plotting pixels.\r
-If you notice that since all of the chained modes use the same memory\r
-structure the same code can be used to program all with only a few\r
-modifications. This also goes for the planar modes 10h, 12h, Mode C, etc.\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
+++ /dev/null
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- -=\r
-=- Tauron VGA Utilities Version 3.0 -=\r
-=- Released September 20, 1998 -=\r
-=- -=\r
-=- What new with this release??? -=\r
-=- -=\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -=\r
-=- All Rights Reserved. =-= that you put my name some- -=\r
-=- =-= where in your credits. -=\r
-=- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-=- I assume no responsibility whatsoever for any effect that this package, -=\r
-=- the information contained therein or the use thereof has on you, your -=\r
-=- sanity, computer, spouse, children, pets or anything else related to -=\r
-=- you or your existance. No warranty is provided nor implied with this -=\r
-=- source code. -=\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
- I added 2 new text modes, 40x43 and 40x50.\r
-\r
- There is now a dual font test. What this does is load 2 fonts into VGA\r
- memory and display text from both fonts on the screen at the same time.\r
- This is possible by reprogramming the charcter map select register. You\r
- can have up to 8 fonts present in memory at any time but can only use 2\r
- at a time.\r
-\r
- I was trying to add some more high-res video modes but so far they don't\r
- quite work. I'm shooting for 720x200 first just to see if I can make it\r
- work.\r
-\r
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r