home *** CD-ROM | disk | FTP | other *** search
- Page 58,132
- Title VIDEO.ASM Apple Video Routines
- ;******************************************************************************
- ;
- ; Name: VIDEO.ASM Apple Video Routines
- ;
- ; Group: Emulator
- ;
- ; Revision: 1.00
- ;
- ; Date: January 30, 1988
- ;
- ; Author: Randy W. Spurlock
- ;
- ;******************************************************************************
- ;
- ; Module Functional Description:
- ;
- ; This module contains all the code for the Apple
- ; video routines.
- ;
- ;******************************************************************************
- ;
- ; Changes:
- ;
- ; DATE REVISION DESCRIPTION
- ; -------- -------- -------------------------------------------------------
- ; 1/30/88 1.00 Original
- ;
- ;******************************************************************************
- Page
- ;
- ; Public Declarations
- ;
- Public Video_Init ; Video initialization routine
- Public Video_Reset ; Video reset routine
- Public Text_Read_1 ; Low resolution/text page 1 read
- Public Text_Read_2 ; Low resolution/text page 2 read
- Public Graph_Read_1 ; High resolution page 1 read
- Public Graph_Read_2 ; High resolution page 2 read
- Public Cursor_Off ; Turn cursor off routine
- Public Cursor_On ; Turn cursor on routine
- Public Blink_Off ; Turn blink off routine
- Public Blink_On ; Turn blink on routine
- Public Set_Address ; Set video address routine
- Public Text_Address ; Text address mapping table
- Public Macro_Table ; Text macro address mapping table
- Public Char_Table ; Text character mapping table
- Public CGA_Address ; CGA graphics address mapping table
- Public EGA_Address ; EGA graphics address mapping table
- Public CGA_Slice ; CGA graphics macro/slice address table
- Public EGA_Slice ; EGA graphics macro/slice address table
- Public Reverse_Table ; Bit reversal table
- Public Even_Table ; Even column bit expansion table
- Public Odd_Table ; Odd column bit expansion table
- Public Column_Table ; CGA column expansion selection table
- Public CGA_Shift ; CGA bit shift table
- Public EGA_Shift ; EGA bit shift table
- Public Map_Table ; Low resolution color mapping table
- Public Text_CGA ; CGA display text color table
- Public Text_EGA ; EGA display text color table
- Public Low_CGA ; CGA display low res. color table
- Public Low_EGA ; EGA display low res. color table
- Public High_CGA ; CGA display high res. color table
- Public High_EGA ; EGA display high res. color table
- ;
- ; External Declarations
- ;
- Extrn CGA_Restore:Near ; CGA restore screen routine (CGA)
- Extrn EGA_Restore:Near ; EGA restore screen routine (EGA)
- Extrn EGA_Setup:Near ; EGA graphics setup routine (EGA)
- Extrn CGA_Table:Word ; CGA I/O address table (DATA)
- Extrn EGA_Table:Word ; EGA I/O address table (DATA)
- Extrn Write_Table:Word ; Write memory page table (DATA)
- Extrn IO_Read_Table:Word ; I/O read table (DATA)
- Extrn IO_Write_Table:Word ; I/O write table (DATA)
- Extrn System_Flag:Byte ; Apple emulator system flag byte(DATA)
- Extrn Video_Flag:Byte ; Video system flag byte (DATA)
- ;
- ; LOCAL Equates
- ;
- OFF_CURSOR Equ 2000h ; Cursor off start/end line values
- ON_CURSOR Equ 0607h ; Cursor on start/end line values
- CRTC_BASE Equ 03D4h ; CRT controller base port address
- START_HIGH Equ 0Ch ; Start address MSB index value
- START_LOW Equ 0Dh ; Start address LSB index value
- RESET_MODE Equ 03h ; Reset mode value (80 x 25)
- BIOS_SEG Equ 40h ; BIOS data segment address (400h)
- MODE_PORT Equ 03D8h ; Mode port address
- Mode_Reg Equ 65h ; Current mode register offset
- BLINK_BIT Equ 20h ; Blink bit (Bit 5)
- TEXT_OFFSET Equ 008h ; Text page offset (Page 04h)
- TEXT_COUNT Equ 004h ; Text page count (4h)
- GRAPH_OFFSET Equ 040h ; Graphics page offset (Page 20h)
- GRAPH_COUNT Equ 020h ; Graphics page count (20h)
- IO_OFFSET Equ 00A0h ; I/O byte offset (50h)
- IO_COUNT Equ 008h ; I/O count (8h)
- TEST_VALUE Equ 0FFh ; EGA information call test value
- PRIMARY_HIGH Equ 09h ; Primary high res. display attached
- SECONDARY_HIGH Equ 03h ; Secondary high res. display attached
- ;
- ; Define any include files needed
- ;
- Include Macros.inc ; Include the macro definitions
- Include Equates.inc ; Include the equate definitions
- .286c ; Include 80286 instructions
- Page
- ;
- ; Define the emulator code segment
- ;
- Emulate Segment Word Public 'EMULATE' ; Emulator code segment
- Assume cs:Emulate, ds:Nothing, es:Nothing
- Subttl Video_Init Video Initialization Routine
- Page +
- ;******************************************************************************
- ;
- ; Video_Init(RAM_Space)
- ;
- ; Save the required registers
- ; Determine the video type
- ; If this is a CGA type video
- ; Setup the CGA video RAM segment value
- ; Setup the CGA I/O routine addresses
- ; Call routine to restore CGA screen
- ; Else this is an EGA type video
- ; Setup the EGA video RAM segment value
- ; Setup the EGA I/O routine addresses
- ; Call routine to setup EGA graphics
- ; Call routine to restore EGA screen
- ; Endif for video type
- ; Set video initialized flag
- ; Restore the required registers
- ; Return to the caller
- ;
- ; Registers on Entry:
- ;
- ; DS - 65C02 RAM space
- ;
- ; Registers on Exit:
- ;
- ; AX - Destroyed
- ; ES - Video segment
- ;
- ;******************************************************************************
- Even ; Force procedure to even address
- Video_Init Proc Near ; Video initialization procedure
- Save si ; Save the required registers
- call Video_Type ; Call routine to get video type
- test cs:[System_Flag],EGA_TYPE
- jnz Setup_Ega ; Jump if this is an EGA type video
- Setup_CGA:
- mov ax,CGA_SEGMENT ; Get the CGA video RAM segment value
- mov es,ax ; Setup video RAM segment address
- lea si,cs:[CGA_Table] ; Get the CGA I/O routine table
- call Video_Setup ; Call routine to setup I/O addresses
- call CGA_Restore ; Call routine to restore CGA (Text)
- jmp Short Init_Done ; Go return to the caller
- Setup_EGA:
- mov ax,EGA_SEGMENT ; Get the EGA video RAM segment value
- mov es,ax ; Setup video RAM segment address
- lea si,cs:[EGA_Table] ; Get the EGA I/O routine table
- call Video_Setup ; Call routine to setup I/O addresses
- call EGA_Setup ; Call routine to setup EGA (Graphics)
- call EGA_Restore ; Call routine to restore EGA (Text)
- Init_Done:
- or cs:[System_Flag],INITIALIZED
- Restore si ; Restore the required registers
- ret ; Return to the caller
- Video_Init Endp ; End of the Video_Init procedure
- Subttl Video_Reset Video Reset Routine
- Page +
- ;******************************************************************************
- ;
- ; Video_Reset()
- ;
- ; If video has been initialized
- ; Reset the video mode
- ; Call routine to turn cursor on
- ; Endif video has not been initialized
- ; Return to the caller
- ;
- ; Registers on Entry:
- ;
- ; None
- ;
- ; Registers on Exit:
- ;
- ; AX - Destroyed
- ;
- ;******************************************************************************
- Even ; Force procedure to even address
- Video_Reset Proc Near ; Video reset procedure
- test cs:[System_Flag],INITIALIZED
- jz Reset_Done ; Jump if video not initialized
- mov ah,SET_MODE ; Get set mode video sub-function code
- mov al,RESET_MODE ; Get the 80x25 text mode value
- int VIDEO ; Set video mode to 80x25 text mode
- call Cursor_On ; Call routine to turn cursor on
- Reset_Done:
- ret ; Return to the caller
- Video_Reset Endp ; End of the Video_Reset procedure
- Subttl Text_Read_1 Low Resolution/Text Page 1 Read
- Page +
- ;******************************************************************************
- ;
- ; Text_Read_1(Effective_Address)
- ;
- ; Read the memory location value (Byte)
- ; Return to the caller
- ;
- ; Registers on Entry:
- ;
- ; DS:DI - 65C02 Effective address
- ;
- ; Registers on Exit:
- ;
- ; AL - Memory value
- ;
- ;******************************************************************************
- Even ; Force procedure to even address
- Text_Read_1 Proc Near ; Low res/text page 1 read procedure
- mov al,ds:[di] ; Read the memory location
- ret ; Return to the caller
- Text_Read_1 Endp ; End of the Text_Read_1 procedure
- Subttl Text_Read_2 Low Resolution/Text Page 2 Read
- Page +
- ;******************************************************************************
- ;
- ; Text_Read_2(Effective_Address)
- ;
- ; Read the memory location value (Byte)
- ; Return to the caller
- ;
- ; Registers on Entry:
- ;
- ; DS:DI - 65C02 Effective address
- ;
- ; Registers on Exit:
- ;
- ; AL - Memory value
- ;
- ;******************************************************************************
- Even ; Force procedure to even address
- Text_Read_2 Proc Near ; Low res/text page 2 read procedure
- mov al,ds:[di] ; Read the memory location
- ret ; Return to the caller
- Text_Read_2 Endp ; End of the Text_Read_2 procedure
- Subttl Graph_Read_1 High Resolution Graphics Page 1 Read
- Page +
- ;******************************************************************************
- ;
- ; Graph_Read_1(Effective_Address)
- ;
- ; Read the memory location value (Byte)
- ; Return to the caller
- ;
- ; Registers on Entry:
- ;
- ; DS:DI - 65C02 Effective address
- ;
- ; Registers on Exit:
- ;
- ; AL - Memory value
- ;
- ;******************************************************************************
- Even ; Force procedure to even address
- Graph_Read_1 Proc Near ; High res page 1 read procedure
- mov al,ds:[di] ; Read the memory location
- ret ; Return to the caller
- Graph_Read_1 Endp ; End of the Graph_Read_1 procedure
- Subttl Graph_Read_2 High Resolution Graphics Page 2 Read
- Page +
- ;******************************************************************************
- ;
- ; Graph_Read_2(Effective_Address)
- ;
- ; Read the memory location value (Byte)
- ; Return to the caller
- ;
- ; Registers on Entry:
- ;
- ; DS:DI - 65C02 Effective address
- ;
- ; Registers on Exit:
- ;
- ; AL - Memory value
- ;
- ;******************************************************************************
- Even ; Force procedure to even address
- Graph_Read_2 Proc Near ; High res page 2 read procedure
- mov al,ds:[di] ; Read the memory location
- ret ; Return to the caller
- Graph_Read_2 Endp ; End of the Graph_Read_2 procedure
- Subttl Cursor_Off Turn Cursor Off Routine
- Page +
- ;******************************************************************************
- ;
- ; Cursor_Off()
- ;
- ; Save the required registers
- ; Get set cursor type function code
- ; Get cursor off start and end values
- ; Do BIOS video function to set cursor type (Cursor Off)
- ; Restore the required registers
- ; Return to the caller
- ;
- ; Registers on Entry:
- ;
- ; None
- ;
- ; Registers on Exit:
- ;
- ; None
- ;
- ;******************************************************************************
- Even ; Force procedure to even address
- Cursor_Off Proc Near ; Turn cursor off procedure
- Save ax,cx ; Save the required registers
- mov ah,CURSOR_TYPE ; Get set cursor type function code
- mov cx,OFF_CURSOR ; Get the cursor off type value
- int VIDEO ; Turn the cursor off
- Restore ax,cx ; Restore the required registers
- ret ; Return to the caller
- Cursor_Off Endp ; End of the Cursor_Off procedure
- Subttl Cursor_On Turn Cursor On Routine
- Page +
- ;******************************************************************************
- ;
- ; Cursor_On()
- ;
- ; Save the required registers
- ; Get set cursor type function code
- ; Get cursor on start and end values
- ; Do BIOS video function to set cursor type (Cursor On)
- ; Restore the required registers
- ; Return to the caller
- ;
- ; Registers on Entry:
- ;
- ; None
- ;
- ; Registers on Exit:
- ;
- ; None
- ;
- ;******************************************************************************
- Even ; Force procedure to even address
- Cursor_On Proc Near ; Turn cursor on procedure
- Save ax,cx ; Save the required registers
- mov ah,CURSOR_TYPE ; Get set cursor type sub-function code
- mov cx,ON_CURSOR ; Get the cursor on type value
- int VIDEO ; Turn the cursor on
- Restore ax,cx ; Restore the required registers
- ret ; Return to the caller
- Cursor_On Endp ; End of the Cursor_On procedure
- Subttl Blink_Off Turn Background Blink Off Routine
- Page +
- ;******************************************************************************
- ;
- ; Blink_Off()
- ;
- ; Save the required registers
- ; If the video type is EGA
- ; Get program blink/intensity function code
- ; Get blink off value
- ; Do BIOS video function to set blink type (Blink Off)
- ; Else the video type is CGA
- ; Get current mode register value
- ; Clear bit 5 (Intensity)
- ; Output new mode register value
- ; Endif for the video mode
- ; Restore the required registers
- ; Return to the caller
- ;
- ; Registers on Entry:
- ;
- ; None
- ;
- ; Registers on Exit:
- ;
- ; None
- ;
- ;******************************************************************************
- Even ; Force procedure to even address
- Blink_Off Proc Near ; Turn blink off procedure
- Save ax,bx,dx,ds ; Save the required registers
- test cs:[System_Flag],EGA_TYPE
- jz Off_CGA ; Jump if not an EGA type video
- Off_EGA:
- mov ah,SET_PALETTE ; Get set palette function code
- mov al,PROGRAM_BLINK ; Get program blink sub-function code
- mov bl,INTENSITY ; Get the blink off value (Intensity)
- int VIDEO ; Turn the blink off (Intensity)
- jmp Short Off_Done ; Go return to the caller
- Off_CGA:
- mov ax,BIOS_SEG ; Get the BIOS data segment address
- mov ds,ax ; Setup to access BIOS data segment
- mov dx,MODE_PORT ; Get the mode register port address
- mov al,ds:[Mode_Reg] ; Get the current mode register value
- and al,Not BLINK_BIT ; Clear the blink bit (Bit 5)
- out dx,al ; Output the new mode register value
- Off_Done:
- Restore ax,bx,dx,ds ; Restore the required registers
- ret ; Return to the caller
- Blink_Off Endp ; End of the Blink_Off procedure
- Subttl Blink_On Turn Background Blink On Routine
- Page +
- ;******************************************************************************
- ;
- ; Blink_On()
- ;
- ; Save the required registers
- ; If the video type is EGA
- ; Get program blink/intensity function code
- ; Get blink on value
- ; Do BIOS video function to set blink type (Blink On)
- ; Else the video type is CGA
- ; Get current mode register value
- ; Set bit 5 (Blink)
- ; Output new mode register value
- ; Endif for the video mode
- ; Restore the required registers
- ; Return to the caller
- ;
- ; Registers on Entry:
- ;
- ; None
- ;
- ; Registers on Exit:
- ;
- ; None
- ;
- ;******************************************************************************
- Even ; Force procedure to even address
- Blink_On Proc Near ; Turn blink on procedure
- Save ax,bx,dx,ds ; Save the required registers
- test cs:[System_Flag],EGA_TYPE
- jz On_CGA ; Jump if not an EGA type video
- On_EGA:
- mov ah,SET_PALETTE ; Get set palette function code
- mov al,PROGRAM_BLINK ; Get program blink sub-function code
- mov bl,BLINK ; Get the blink on value
- int VIDEO ; Turn the blink on (Blink)
- jmp Short On_Done ; Go return to the caller
- On_CGA:
- mov ax,BIOS_SEG ; Get the BIOS data segment address
- mov ds,ax ; Setup to access BIOS data segment
- mov dx,MODE_PORT ; Get the mode register port address
- mov al,ds:[Mode_Reg] ; Get the current mode register value
- or al,BLINK_BIT ; Set the blink bit (Bit 5)
- out dx,al ; Output the new mode register value
- On_Done:
- Restore ax,bx,dx,ds ; Restore the required registers
- ret ; Return to the caller
- Blink_On Endp ; End of the Blink_On procedure
- Subttl Set_Address Set Video Memory Base Address
- Page +
- ;******************************************************************************
- ;
- ; Set_Address(Base_Address)
- ;
- ; Save the required registers
- ; Get the CRT controller base port address
- ; Output the new video memory start address
- ; Restore the required registers
- ; Return to the caller
- ;
- ; Registers on Entry:
- ;
- ; BP - Base address
- ;
- ; Registers on Exit:
- ;
- ; BP - Destroyed
- ;
- ;******************************************************************************
- Even ; Force procedure to even address
- Set_Address Proc Near ; Set video memory address procedure
- Save ax,dx ; Save the required registers
- mov dx,CRTC_BASE ; Get CRT controller base port address
- mov ax,bp ; Get new start address value
- mov ah,al ; Move low byte into AH register
- mov al,START_LOW ; Get start address LSB index value
- out dx,ax ; Output LSB of new start address
- mov ax,bp ; Get new start address value
- mov al,START_HIGH ; Get start address MSB index value
- out dx,ax ; Output MSB of new start address
- Restore ax,dx ; Restore the required registers
- ret ; Return to the caller
- Set_Address Endp ; End of the Set_Address procedure
- Subttl Video_Type Determine Video Type Routine
- Page +
- ;******************************************************************************
- ;
- ; Video_Type()
- ;
- ; Save the required registers
- ; Setup registers for EGA information call
- ; Do the EGA information call
- ; If the EGA information call returned data
- ; Set video type as EGA
- ; If enhanced monitor is present
- ; Set display type as EGA
- ; Endif
- ; Endif
- ; Restore the required registers
- ; Return to the caller
- ;
- ; Registers on Entry:
- ;
- ; None
- ;
- ; Registers on Exit:
- ;
- ; None
- ;
- ;******************************************************************************
- Even ; Force procedure to even address
- Video_Type Proc Near ; Set video type procedure
- Save ax,bx,cx ; Save the required registers
- mov ah,ALT_SELECT ; Get alternate select function code
- xor al,al ; Setup for EGA information call
- mov bl,EGA_INFO ; Get EGA information sub-function code
- mov bh,TEST_VALUE ; Setup BH with special test value (FFh)
- int VIDEO ; Do the video BIOS call
- inc bh ; Test for an EGA style video controller
- jz Type_Done ; Jump if this is a CGA type controller
- or cs:[System_Flag],EGA_TYPE
- cmp cl,PRIMARY_HIGH ; Check for primary high res. display
- je Set_EGA ; Jump if high resolution display
- cmp cl,SECONDARY_HIGH ; Check secondary high res. display
- jne Type_Done ; Jump if NOT high resolution display
- Set_EGA:
- or cs:[System_Flag],EGA_DISPLAY
- Type_Done:
- Restore ax,bx,cx ; Restore the required registers
- ret ; Return to the caller
- Video_Type Endp ; End of the Video_Type procedure
- Subttl Video_Setup Setup Video I/O Routine Addresses
- Page +
- ;******************************************************************************
- ;
- ; Video_Setup(IO_Table)
- ;
- ; Save the required registers
- ; Get the write memory page table offset to update (Text)
- ; Get the actual text page 1 routine address
- ; Get text page count value (4)
- ; Update the text page 1 routine address in table
- ; Get the actual text page 2 routine address
- ; Get text page count value (4)
- ; Update the text page 2 routine address in table
- ; Get the write memory page table offset to update (Graphics)
- ; Get the actual graphics page 1 routine address
- ; Get graphics page count value (32)
- ; Update the graphics page 1 routine address in table
- ; Get the actual graphics page 2 routine address
- ; Get graphics page count value (32)
- ; Update the graphics page 2 routine address in table
- ; Get the I/O read table offset to update
- ; Get the number of I/O bytes (8)
- ; Move new I/O read addresses into table
- ; Get the I/O write table offset to update
- ; Get the number of I/O bytes (8)
- ; Move new I/O write addresses into table
- ; Restore the required registers
- ; Return to the caller
- ;
- ; Registers on Entry:
- ;
- ; SI - Pointer to I/O address table
- ;
- ; Registers on Exit:
- ;
- ; None
- ;
- ;******************************************************************************
- Even ; Force procedure to even address
- Video_Setup Proc Near ; Set video I/O addresses procedure
- Save ax,cx,si,di,ds,es ; Save the required registers
- mov ax,cs ; Get the current CS register value
- mov ds,ax ; Setup DS to the current CS value
- mov es,ax ; Setup ES to the current CS value
- lea di,cs:[Write_Table] ; Get write memory page table offset
- add di,TEXT_OFFSET ; Calculate starting text page offset
- mov cx,TEXT_COUNT ; Get the number of text pages (4)
- lodsw ; Get the actual text page 1 address
- rep stosw ; Store routine address in write table
- mov cx,TEXT_COUNT ; Get the number of text pages (4)
- lodsw ; Get the actual text page 2 address
- rep stosw ; Store routine address in write table
- lea di,cs:[Write_Table] ; Get write memory page table offset
- add di,GRAPH_OFFSET ; Calculate starting graphics offset
- mov cx,GRAPH_COUNT ; Get the number of graphics pages (32)
- lodsw ; Get actual graphics page 1 address
- rep stosw ; Store routine address in write table
- mov cx,GRAPH_COUNT ; Get the number of graphics pages (32)
- lodsw ; Get actual graphics page 2 address
- rep stosw ; Store routine address in write table
- lea di,cs:[IO_Read_Table] ; Get the I/O read table offset
- add di,IO_OFFSET ; Calculate starting read I/O offset
- mov cx,IO_COUNT ; Get the number of I/O bytes (8)
- Save si ; Save the address table pointer
- rep movsw ; Move new addresses into the table
- Restore si ; Restore the address table pointer
- lea di,cs:[IO_Write_Table] ; Get the I/O write table offset
- add di,IO_OFFSET ; Calculate starting write I/O offset
- mov cx,IO_COUNT ; Get the number of I/O bytes (8)
- rep movsw ; Move new addresses into the table
- Restore ax,cx,si,di,ds,es ; Restore the required registers
- ret ; Return to the caller
- Video_Setup Endp ; End of the Video_Setup procedure
- Subttl Video_Tables Define the Video Lookup Tables
- Page +
- ;******************************************************************************
- ;
- ; Define the video lookup tables
- ;
- ;******************************************************************************
- Even ; Force table to even address
- Text_Address Equ This Word ; Text video offset lookup table
- Dw 0FFFFh ; Offset 00h - Row 00h Column 00h
- Dw 00001h ; Offset 01h - Row 00h Column 01h
- Dw 00003h ; Offset 02h - Row 00h Column 02h
- Dw 00005h ; Offset 03h - Row 00h Column 03h
- Dw 00007h ; Offset 04h - Row 00h Column 04h
- Dw 00009h ; Offset 05h - Row 00h Column 05h
- Dw 0000Bh ; Offset 06h - Row 00h Column 06h
- Dw 0000Dh ; Offset 07h - Row 00h Column 07h
- Dw 0000Fh ; Offset 08h - Row 00h Column 08h
- Dw 00011h ; Offset 09h - Row 00h Column 09h
- Dw 00013h ; Offset 0Ah - Row 00h Column 0Ah
- Dw 00015h ; Offset 0Bh - Row 00h Column 0Bh
- Dw 00017h ; Offset 0Ch - Row 00h Column 0Ch
- Dw 00019h ; Offset 0Dh - Row 00h Column 0Dh
- Dw 0001Bh ; Offset 0Eh - Row 00h Column 0Eh
- Dw 0001Dh ; Offset 0Fh - Row 00h Column 0Fh
- Dw 0001Fh ; Offset 10h - Row 00h Column 10h
- Dw 00021h ; Offset 11h - Row 00h Column 11h
- Dw 00023h ; Offset 12h - Row 00h Column 12h
- Dw 00025h ; Offset 13h - Row 00h Column 13h
- Dw 00027h ; Offset 14h - Row 00h Column 14h
- Dw 00029h ; Offset 15h - Row 00h Column 15h
- Dw 0002Bh ; Offset 16h - Row 00h Column 16h
- Dw 0002Dh ; Offset 17h - Row 00h Column 17h
- Dw 0002Fh ; Offset 18h - Row 00h Column 18h
- Dw 00031h ; Offset 19h - Row 00h Column 19h
- Dw 00033h ; Offset 1Ah - Row 00h Column 1Ah
- Dw 00035h ; Offset 1Bh - Row 00h Column 1Bh
- Dw 00037h ; Offset 1Ch - Row 00h Column 1Ch
- Dw 00039h ; Offset 1Dh - Row 00h Column 1Dh
- Dw 0003Bh ; Offset 1Eh - Row 00h Column 1Eh
- Dw 0003Dh ; Offset 1Fh - Row 00h Column 1Fh
- Dw 0003Fh ; Offset 20h - Row 00h Column 20h
- Dw 00041h ; Offset 21h - Row 00h Column 21h
- Dw 00043h ; Offset 22h - Row 00h Column 22h
- Dw 00045h ; Offset 23h - Row 00h Column 23h
- Dw 00047h ; Offset 24h - Row 00h Column 24h
- Dw 00049h ; Offset 25h - Row 00h Column 25h
- Dw 0004Bh ; Offset 26h - Row 00h Column 26h
- Dw 0004Dh ; Offset 27h - Row 00h Column 27h
- Dw 0027Fh ; Offset 28h - Row 08h Column 00h
- Dw 00281h ; Offset 29h - Row 08h Column 01h
- Dw 00283h ; Offset 2Ah - Row 08h Column 02h
- Dw 00285h ; Offset 2Bh - Row 08h Column 03h
- Dw 00287h ; Offset 2Ch - Row 08h Column 04h
- Dw 00289h ; Offset 2Dh - Row 08h Column 05h
- Dw 0028Bh ; Offset 2Eh - Row 08h Column 06h
- Dw 0028Dh ; Offset 2Fh - Row 08h Column 07h
- Dw 0028Fh ; Offset 30h - Row 08h Column 08h
- Dw 00291h ; Offset 31h - Row 08h Column 09h
- Dw 00293h ; Offset 32h - Row 08h Column 0Ah
- Dw 00295h ; Offset 33h - Row 08h Column 0Bh
- Dw 00297h ; Offset 34h - Row 08h Column 0Ch
- Dw 00299h ; Offset 35h - Row 08h Column 0Dh
- Dw 0029Bh ; Offset 36h - Row 08h Column 0Eh
- Dw 0029Dh ; Offset 37h - Row 08h Column 0Fh
- Dw 0029Fh ; Offset 38h - Row 08h Column 10h
- Dw 002A1h ; Offset 39h - Row 08h Column 11h
- Dw 002A3h ; Offset 3Ah - Row 08h Column 12h
- Dw 002A5h ; Offset 3Bh - Row 08h Column 13h
- Dw 002A7h ; Offset 3Ch - Row 08h Column 14h
- Dw 002A9h ; Offset 3Dh - Row 08h Column 15h
- Dw 002ABh ; Offset 3Eh - Row 08h Column 16h
- Dw 002ADh ; Offset 3Fh - Row 08h Column 17h
- Dw 002AFh ; Offset 40h - Row 08h Column 18h
- Dw 002B1h ; Offset 41h - Row 08h Column 19h
- Dw 002B3h ; Offset 42h - Row 08h Column 1Ah
- Dw 002B5h ; Offset 43h - Row 08h Column 1Bh
- Dw 002B7h ; Offset 44h - Row 08h Column 1Ch
- Dw 002B9h ; Offset 45h - Row 08h Column 1Dh
- Dw 002BBh ; Offset 46h - Row 08h Column 1Eh
- Dw 002BDh ; Offset 47h - Row 08h Column 1Fh
- Dw 002BFh ; Offset 48h - Row 08h Column 20h
- Dw 002C1h ; Offset 49h - Row 08h Column 21h
- Dw 002C3h ; Offset 4Ah - Row 08h Column 22h
- Dw 002C5h ; Offset 4Bh - Row 08h Column 23h
- Dw 002C7h ; Offset 4Ch - Row 08h Column 24h
- Dw 002C9h ; Offset 4Dh - Row 08h Column 25h
- Dw 002CBh ; Offset 4Eh - Row 08h Column 26h
- Dw 002CDh ; Offset 4Fh - Row 08h Column 27h
- Dw 004FFh ; Offset 50h - Row 10h Column 00h
- Dw 00501h ; Offset 51h - Row 10h Column 01h
- Dw 00503h ; Offset 52h - Row 10h Column 02h
- Dw 00505h ; Offset 53h - Row 10h Column 03h
- Dw 00507h ; Offset 54h - Row 10h Column 04h
- Dw 00509h ; Offset 55h - Row 10h Column 05h
- Dw 0050Bh ; Offset 56h - Row 10h Column 06h
- Dw 0050Dh ; Offset 57h - Row 10h Column 07h
- Dw 0050Fh ; Offset 58h - Row 10h Column 08h
- Dw 00511h ; Offset 59h - Row 10h Column 09h
- Dw 00513h ; Offset 5Ah - Row 10h Column 0Ah
- Dw 00515h ; Offset 5Bh - Row 10h Column 0Bh
- Dw 00517h ; Offset 5Ch - Row 10h Column 0Ch
- Dw 00519h ; Offset 5Dh - Row 10h Column 0Dh
- Dw 0051Bh ; Offset 5Eh - Row 10h Column 0Eh
- Dw 0051Dh ; Offset 5Fh - Row 10h Column 0Fh
- Dw 0051Fh ; Offset 60h - Row 10h Column 10h
- Dw 00521h ; Offset 61h - Row 10h Column 11h
- Dw 00523h ; Offset 62h - Row 10h Column 12h
- Dw 00525h ; Offset 63h - Row 10h Column 13h
- Dw 00527h ; Offset 64h - Row 10h Column 14h
- Dw 00529h ; Offset 65h - Row 10h Column 15h
- Dw 0052Bh ; Offset 66h - Row 10h Column 16h
- Dw 0052Dh ; Offset 67h - Row 10h Column 17h
- Dw 0052Fh ; Offset 68h - Row 10h Column 18h
- Dw 00531h ; Offset 69h - Row 10h Column 19h
- Dw 00533h ; Offset 6Ah - Row 10h Column 1Ah
- Dw 00535h ; Offset 6Bh - Row 10h Column 1Bh
- Dw 00537h ; Offset 6Ch - Row 10h Column 1Ch
- Dw 00539h ; Offset 6Dh - Row 10h Column 1Dh
- Dw 0053Bh ; Offset 6Eh - Row 10h Column 1Eh
- Dw 0053Dh ; Offset 6Fh - Row 10h Column 1Fh
- Dw 0053Fh ; Offset 70h - Row 10h Column 20h
- Dw 00541h ; Offset 71h - Row 10h Column 21h
- Dw 00543h ; Offset 72h - Row 10h Column 22h
- Dw 00545h ; Offset 73h - Row 10h Column 23h
- Dw 00547h ; Offset 74h - Row 10h Column 24h
- Dw 00549h ; Offset 75h - Row 10h Column 25h
- Dw 0054Bh ; Offset 76h - Row 10h Column 26h
- Dw 0054Dh ; Offset 77h - Row 10h Column 27h
- Dw 07FFFh ; Offset 78h - Screen hole 00h
- Dw 07FFFh ; Offset 79h - Screen hole 01h
- Dw 07FFFh ; Offset 7Ah - Screen hole 02h
- Dw 07FFFh ; Offset 7Bh - Screen hole 03h
- Dw 07FFFh ; Offset 7Ch - Screen hole 04h
- Dw 07FFFh ; Offset 7Dh - Screen hole 05h
- Dw 07FFFh ; Offset 7Eh - Screen hole 06h
- Dw 07FFFh ; Offset 7Fh - Screen hole 07h
- Even ; Force table to even address
- Macro_Table Equ This Word ; Macro line offset lookup table
- Dw 0000h ; Macro line 0 - Row 0
- Dw 0050h ; Macro line 1 - Row 1
- Dw 00A0h ; Macro line 2 - Row 2
- Dw 00F0h ; Macro line 3 - Row 3
- Dw 0140h ; Macro line 4 - Row 4
- Dw 0190h ; Macro line 5 - Row 5
- Dw 01E0h ; Macro line 6 - Row 6
- Dw 0230h ; Macro line 7 - Row 7
- Even ; Force table to even address
- Char_Table Equ This Word ; Character lookup table
- Db 040h,70h ; Character 00h - Inverse @ Sign
- Db 041h,70h ; Character 01h - Inverse Letter A
- Db 042h,70h ; Character 02h - Inverse Letter B
- Db 043h,70h ; Character 03h - Inverse Letter C
- Db 044h,70h ; Character 04h - Inverse Letter D
- Db 045h,70h ; Character 05h - Inverse Letter E
- Db 046h,70h ; Character 06h - Inverse Letter F
- Db 047h,70h ; Character 07h - Inverse Letter G
- Db 048h,70h ; Character 08h - Inverse Letter H
- Db 049h,70h ; Character 09h - Inverse Letter I
- Db 04Ah,70h ; Character 0Ah - Inverse Letter J
- Db 04Bh,70h ; Character 0Bh - Inverse Letter K
- Db 04Ch,70h ; Character 0Ch - Inverse Letter L
- Db 04Dh,70h ; Character 0Dh - Inverse Letter M
- Db 04Eh,70h ; Character 0Eh - Inverse Letter N
- Db 04Fh,70h ; Character 0Fh - Inverse Letter O
- Db 050h,70h ; Character 10h - Inverse Letter P
- Db 051h,70h ; Character 11h - Inverse Letter Q
- Db 052h,70h ; Character 12h - Inverse Letter R
- Db 053h,70h ; Character 13h - Inverse Letter S
- Db 054h,70h ; Character 14h - Inverse Letter T
- Db 055h,70h ; Character 15h - Inverse Letter U
- Db 056h,70h ; Character 16h - Inverse Letter V
- Db 057h,70h ; Character 17h - Inverse Letter W
- Db 058h,70h ; Character 18h - Inverse Letter X
- Db 059h,70h ; Character 19h - Inverse Letter Y
- Db 05Ah,70h ; Character 1Ah - Inverse Letter Z
- Db 05Bh,70h ; Character 1Bh - Inverse Left Bracket
- Db 05Ch,70h ; Character 1Ch - Inverse Back Slash
- Db 05Dh,70h ; Character 1Dh - Inverse Right Bracket
- Db 05Eh,70h ; Character 1Eh - Inverse Carrot
- Db 05Fh,70h ; Character 1Fh - Inverse Minus
- Db 020h,70h ; Character 20h - Inverse Space
- Db 021h,70h ; Character 21h - Inverse Exclamation
- Db 022h,70h ; Character 22h - Inverse Double Quote
- Db 023h,70h ; Character 23h - Inverse Pound Sign
- Db 024h,70h ; Character 24h - Inverse Dollar Sign
- Db 025h,70h ; Character 25h - Inverse Percent Sign
- Db 026h,70h ; Character 26h - Inverse Ampersand
- Db 027h,70h ; Character 27h - Inverse Single Quote
- Db 028h,70h ; Character 28h - Inverse Left Paren.
- Db 029h,70h ; Character 29h - Inverse Right Paren.
- Db 02Ah,70h ; Character 2Ah - Inverse Asterick
- Db 02Bh,70h ; Character 2Bh - Inverse Plus Sign
- Db 02Ch,70h ; Character 2Ch - Inverse Accent Mark
- Db 02Dh,70h ; Character 2Dh - Inverse Minus Sign
- Db 02Eh,70h ; Character 2Eh - Inverse Period
- Db 02Fh,70h ; Character 2Fh - Inverse Forward Slash
- Db 030h,70h ; Character 30h - Inverse Number 0
- Db 031h,70h ; Character 31h - Inverse Number 1
- Db 032h,70h ; Character 32h - Inverse Number 2
- Db 033h,70h ; Character 33h - Inverse Number 3
- Db 034h,70h ; Character 34h - Inverse Number 4
- Db 035h,70h ; Character 35h - Inverse Number 5
- Db 036h,70h ; Character 36h - Inverse Number 6
- Db 037h,70h ; Character 37h - Inverse Number 7
- Db 038h,70h ; Character 38h - Inverse Number 8
- Db 039h,70h ; Character 39h - Inverse Number 9
- Db 03Ah,70h ; Character 3Ah - Inverse Colon
- Db 03Bh,70h ; Character 3Bh - Inverse Semi-Colon
- Db 03Ch,70h ; Character 3Ch - Inverse Less Than
- Db 03Dh,70h ; Character 3Dh - Inverse Equal Sign
- Db 03Eh,70h ; Character 3Eh - Inverse Greater Than
- Db 03Fh,70h ; Character 3Fh - Inverse Question Mark
- Db 040h,87h ; Character 40h - Flashing @ Sign
- Db 041h,87h ; Character 41h - Flashing Letter A
- Db 042h,87h ; Character 42h - Flashing Letter B
- Db 043h,87h ; Character 43h - Flashing Letter C
- Db 044h,87h ; Character 44h - Flashing Letter D
- Db 045h,87h ; Character 45h - Flashing Letter E
- Db 046h,87h ; Character 46h - Flashing Letter F
- Db 047h,87h ; Character 47h - Flashing Letter G
- Db 048h,87h ; Character 48h - Flashing Letter H
- Db 049h,87h ; Character 49h - Flashing Letter I
- Db 04Ah,87h ; Character 4Ah - Flashing Letter J
- Db 04Bh,87h ; Character 4Bh - Flashing Letter K
- Db 04Ch,87h ; Character 4Ch - Flashing Letter L
- Db 04Dh,87h ; Character 4Dh - Flashing Letter M
- Db 04Eh,87h ; Character 4Eh - Flashing Letter N
- Db 04Fh,87h ; Character 4Fh - Flashing Letter O
- Db 050h,87h ; Character 50h - Flashing Letter P
- Db 051h,87h ; Character 51h - Flashing Letter Q
- Db 052h,87h ; Character 52h - Flashing Letter R
- Db 053h,87h ; Character 53h - Flashing Letter S
- Db 054h,87h ; Character 54h - Flashing Letter T
- Db 055h,87h ; Character 55h - Flashing Letter U
- Db 056h,87h ; Character 56h - Flashing Letter V
- Db 057h,87h ; Character 57h - Flashing Letter W
- Db 058h,87h ; Character 58h - Flashing Letter X
- Db 059h,87h ; Character 59h - Flashing Letter Y
- Db 05Ah,87h ; Character 5Ah - Flashing Letter Z
- Db 05Bh,87h ; Character 5Bh - Flashing Left Bracket
- Db 05Ch,87h ; Character 5Ch - Flashing Back Slash
- Db 05Dh,87h ; Character 5Dh - Flashing Right Bracket
- Db 05Eh,87h ; Character 5Eh - Flashing Carrot
- Db 05Fh,87h ; Character 5Fh - Flashing Minus
- Db 0DBh,87h ; Character 60h - Flashing Space(Cursor)
- Db 021h,87h ; Character 61h - Flashing Exclamation
- Db 022h,87h ; Character 62h - Flashing Double Quote
- Db 023h,87h ; Character 63h - Flashing Pound Sign
- Db 024h,87h ; Character 64h - Flashing Dollar Sign
- Db 025h,87h ; Character 65h - Flashing Percent Sign
- Db 026h,87h ; Character 66h - Flashing Ampersand
- Db 027h,87h ; Character 67h - Flashing Single Quote
- Db 028h,87h ; Character 68h - Flashing Left Paren.
- Db 029h,87h ; Character 69h - Flashing Right Paren.
- Db 02Ah,87h ; Character 6Ah - Flashing Asterick
- Db 02Bh,87h ; Character 6Bh - Flashing Plus Sign
- Db 02Ch,87h ; Character 6Ch - Flashing Accent mark
- Db 02Dh,87h ; Character 6Dh - Flashing Minus Sign
- Db 02Eh,87h ; Character 6Eh - Flashing Period
- Db 02Fh,87h ; Character 6Fh - Flashing Forward Slash
- Db 030h,87h ; Character 70h - Flashing Number 0
- Db 031h,87h ; Character 71h - Flashing Number 1
- Db 032h,87h ; Character 72h - Flashing Number 2
- Db 033h,87h ; Character 73h - Flashing Number 3
- Db 034h,87h ; Character 74h - Flashing Number 4
- Db 035h,87h ; Character 75h - Flashing Number 5
- Db 036h,87h ; Character 76h - Flashing Number 6
- Db 037h,87h ; Character 77h - Flashing Number 7
- Db 038h,87h ; Character 78h - Flashing Number 8
- Db 039h,87h ; Character 79h - Flashing Number 9
- Db 03Ah,87h ; Character 7Ah - Flashing Colon
- Db 03Bh,87h ; Character 7Bh - Flashing Semi-Colon
- Db 03Ch,87h ; Character 7Ch - Flashing Less Than
- Db 03Dh,87h ; Character 7Dh - Flashing Equal Sign
- Db 03Eh,87h ; Character 7Eh - Flashing Greater Than
- Db 03Fh,87h ; Character 7Fh - Flashing Question Mark
- Db 040h,07h ; Character 80h - Normal @ Sign
- Db 041h,07h ; Character 81h - Normal Letter A
- Db 042h,07h ; Character 82h - Normal Letter B
- Db 043h,07h ; Character 83h - Normal Letter C
- Db 044h,07h ; Character 84h - Normal Letter D
- Db 045h,07h ; Character 85h - Normal Letter E
- Db 046h,07h ; Character 86h - Normal Letter F
- Db 047h,07h ; Character 87h - Normal Letter G
- Db 048h,07h ; Character 88h - Normal Letter H
- Db 049h,07h ; Character 89h - Normal Letter I
- Db 04Ah,07h ; Character 8Ah - Normal Letter J
- Db 04Bh,07h ; Character 8Bh - Normal Letter K
- Db 04Ch,07h ; Character 8Ch - Normal Letter L
- Db 04Dh,07h ; Character 8Dh - Normal Letter M
- Db 04Eh,07h ; Character 8Eh - Normal Letter N
- Db 04Fh,07h ; Character 8Fh - Normal Letter O
- Db 050h,07h ; Character 90h - Normal Letter P
- Db 051h,07h ; Character 91h - Normal Letter Q
- Db 052h,07h ; Character 92h - Normal Letter R
- Db 053h,07h ; Character 93h - Normal Letter S
- Db 054h,07h ; Character 94h - Normal Letter T
- Db 055h,07h ; Character 95h - Normal Letter U
- Db 056h,07h ; Character 96h - Normal Letter V
- Db 057h,07h ; Character 97h - Normal Letter W
- Db 058h,07h ; Character 98h - Normal Letter X
- Db 059h,07h ; Character 99h - Normal Letter Y
- Db 05Ah,07h ; Character 9Ah - Normal Letter Z
- Db 05Bh,07h ; Character 9Bh - Normal Left Bracket
- Db 05Ch,07h ; Character 9Ch - Normal Back Slash
- Db 05Dh,07h ; Character 9Dh - Normal Right Bracket
- Db 05Eh,07h ; Character 9Eh - Normal Carrot
- Db 05Fh,07h ; Character 9Fh - Normal Minus
- Db 020h,07h ; Character A0h - Normal Space
- Db 021h,07h ; Character A1h - Normal Exclamation
- Db 022h,07h ; Character A2h - Normal Double Quote
- Db 023h,07h ; Character A3h - Normal Pound Sign
- Db 024h,07h ; Character A4h - Normal Dollar Sign
- Db 025h,07h ; Character A5h - Normal Percent Sign
- Db 026h,07h ; Character A6h - Normal Ampersand
- Db 027h,07h ; Character A7h - Normal Single Quote
- Db 028h,07h ; Character A8h - Normal Left Paren.
- Db 029h,07h ; Character A9h - Normal Right Paren.
- Db 02Ah,07h ; Character AAh - Normal Asterick
- Db 02Bh,07h ; Character ABh - Normal Plus Sign
- Db 02Ch,07h ; Character ACh - Normal Accent Mark
- Db 02Dh,07h ; Character ADh - Normal Minus Sign
- Db 02Eh,07h ; Character AEh - Normal Period
- Db 02Fh,07h ; Character AFh - Normal Forward Slash
- Db 030h,07h ; Character B0h - Normal Number 0
- Db 031h,07h ; Character B1h - Normal Number 1
- Db 032h,07h ; Character B2h - Normal Number 2
- Db 033h,07h ; Character B3h - Normal Number 3
- Db 034h,07h ; Character B4h - Normal Number 4
- Db 035h,07h ; Character B5h - Normal Number 5
- Db 036h,07h ; Character B6h - Normal Number 6
- Db 037h,07h ; Character B7h - Normal Number 7
- Db 038h,07h ; Character B8h - Normal Number 8
- Db 039h,07h ; Character B9h - Normal Number 9
- Db 03Ah,07h ; Character BAh - Normal Colon
- Db 03Bh,07h ; Character BBh - Normal Semi-Colon
- Db 03Ch,07h ; Character BCh - Normal Less Than
- Db 03Dh,07h ; Character BDh - Normal Equal Sign
- Db 03Eh,07h ; Character BEh - Normal Greater Than
- Db 03Fh,07h ; Character BFh - Normal Question Mark
- Db 040h,07h ; Character C0h - Normal @ Sign
- Db 041h,07h ; Character C1h - Normal Letter A
- Db 042h,07h ; Character C2h - Normal Letter B
- Db 043h,07h ; Character C3h - Normal Letter C
- Db 044h,07h ; Character C4h - Normal Letter D
- Db 045h,07h ; Character C5h - Normal Letter E
- Db 046h,07h ; Character C6h - Normal Letter F
- Db 047h,07h ; Character C7h - Normal Letter G
- Db 048h,07h ; Character C8h - Normal Letter H
- Db 049h,07h ; Character C9h - Normal Letter I
- Db 04Ah,07h ; Character CAh - Normal Letter J
- Db 04Bh,07h ; Character CBh - Normal Letter K
- Db 04Ch,07h ; Character CCh - Normal Letter L
- Db 04Dh,07h ; Character CDh - Normal Letter M
- Db 04Eh,07h ; Character CEh - Normal Letter N
- Db 04Fh,07h ; Character CFh - Normal Letter O
- Db 050h,07h ; Character D0h - Normal Letter P
- Db 051h,07h ; Character D1h - Normal Letter Q
- Db 052h,07h ; Character D2h - Normal Letter R
- Db 053h,07h ; Character D3h - Normal Letter S
- Db 054h,07h ; Character D4h - Normal Letter T
- Db 055h,07h ; Character D5h - Normal Letter U
- Db 056h,07h ; Character D6h - Normal Letter V
- Db 057h,07h ; Character D7h - Normal Letter W
- Db 058h,07h ; Character D8h - Normal Letter X
- Db 059h,07h ; Character D9h - Normal Letter Y
- Db 05Ah,07h ; Character DAh - Normal Letter Z
- Db 05Bh,07h ; Character DBh - Normal Left Bracket
- Db 05Ch,07h ; Character DCh - Normal Back Slash
- Db 05Dh,07h ; Character DDh - Normal Right Bracket
- Db 05Eh,07h ; Character DEh - Normal Carrot
- Db 05Fh,07h ; Character DFh - Normal Minus
- Db 020h,07h ; Character E0h - Normal @ Sign
- Db 061h,07h ; Character E1h - Normal Letter a
- Db 062h,07h ; Character E2h - Normal Letter b
- Db 063h,07h ; Character E3h - Normal Letter c
- Db 064h,07h ; Character E4h - Normal Letter d
- Db 065h,07h ; Character E5h - Normal Letter e
- Db 066h,07h ; Character E6h - Normal Letter f
- Db 067h,07h ; Character E7h - Normal Letter g
- Db 068h,07h ; Character E8h - Normal Letter h
- Db 069h,07h ; Character E9h - Normal Letter i
- Db 06Ah,07h ; Character EAh - Normal Letter j
- Db 06Bh,07h ; Character EBh - Normal Letter k
- Db 06Ch,07h ; Character ECh - Normal Letter l
- Db 06Dh,07h ; Character EDh - Normal Letter m
- Db 06Eh,07h ; Character EEh - Normal Letter n
- Db 06Fh,07h ; Character EFh - Normal Letter o
- Db 070h,07h ; Character F0h - Normal Letter p
- Db 071h,07h ; Character F1h - Normal Letter q
- Db 072h,07h ; Character F2h - Normal Letter r
- Db 073h,07h ; Character F3h - Normal Letter s
- Db 074h,07h ; Character F4h - Normal Letter t
- Db 075h,07h ; Character F5h - Normal Letter u
- Db 076h,07h ; Character F6h - Normal Letter v
- Db 077h,07h ; Character F7h - Normal Letter w
- Db 078h,07h ; Character F8h - Normal Letter x
- Db 079h,07h ; Character F9h - Normal Letter y
- Db 07Ah,07h ; Character FAh - Normal Letter z
- Db 03Bh,07h ; Character FBh - Normal Left Bracket
- Db 03Ch,07h ; Character FCh - Normal Back Slash
- Db 03Dh,07h ; Character FDh - Normal Right Bracket
- Db 03Eh,07h ; Character FEh - Normal Carrot
- Db 03Fh,07h ; Character FFh - Normal Minus
- Even ; Force table to even address
- CGA_Address Equ This Word ; CGA graphics video offset lookup table
- Dw 0FFFFh ; Offset 00h - Row 00h Column 000h
- Dw 00000h ; Offset 01h - Row 00h Column 007h
- Dw 00002h ; Offset 02h - Row 00h Column 00Eh
- Dw 00004h ; Offset 03h - Row 00h Column 015h
- Dw 00006h ; Offset 04h - Row 00h Column 01Ch
- Dw 00007h ; Offset 05h - Row 00h Column 023h
- Dw 00009h ; Offset 06h - Row 00h Column 02Ah
- Dw 0000Bh ; Offset 07h - Row 00h Column 031h
- Dw 0000Dh ; Offset 08h - Row 00h Column 038h
- Dw 0000Eh ; Offset 09h - Row 00h Column 03Fh
- Dw 00010h ; Offset 0Ah - Row 00h Column 046h
- Dw 00012h ; Offset 0Bh - Row 00h Column 04Dh
- Dw 00014h ; Offset 0Ch - Row 00h Column 054h
- Dw 00015h ; Offset 0Dh - Row 00h Column 05Bh
- Dw 00017h ; Offset 0Eh - Row 00h Column 062h
- Dw 00019h ; Offset 0Fh - Row 00h Column 069h
- Dw 0001Bh ; Offset 10h - Row 00h Column 070h
- Dw 0001Ch ; Offset 11h - Row 00h Column 077h
- Dw 0001Eh ; Offset 12h - Row 00h Column 07Eh
- Dw 00020h ; Offset 13h - Row 00h Column 085h
- Dw 00022h ; Offset 14h - Row 00h Column 08Ch
- Dw 00023h ; Offset 15h - Row 00h Column 093h
- Dw 00025h ; Offset 16h - Row 00h Column 09Ah
- Dw 00027h ; Offset 17h - Row 00h Column 0A1h
- Dw 00029h ; Offset 18h - Row 00h Column 0A8h
- Dw 0002Ah ; Offset 19h - Row 00h Column 0AFh
- Dw 0002Ch ; Offset 1Ah - Row 00h Column 0B6h
- Dw 0002Eh ; Offset 1Bh - Row 00h Column 0BDh
- Dw 00030h ; Offset 1Ch - Row 00h Column 0C4h
- Dw 00031h ; Offset 1Dh - Row 00h Column 0CBh
- Dw 00033h ; Offset 1Eh - Row 00h Column 0D2h
- Dw 00035h ; Offset 1Fh - Row 00h Column 0D9h
- Dw 00037h ; Offset 20h - Row 00h Column 0E0h
- Dw 00038h ; Offset 21h - Row 00h Column 0E7h
- Dw 0003Ah ; Offset 22h - Row 00h Column 0EEh
- Dw 0003Ch ; Offset 23h - Row 00h Column 0F5h
- Dw 0003Eh ; Offset 24h - Row 00h Column 0FCh
- Dw 0003Fh ; Offset 25h - Row 00h Column 103h
- Dw 00041h ; Offset 26h - Row 00h Column 10Ah
- Dw 00043h ; Offset 27h - Row 00h Column 111h
- Dw 009FFh ; Offset 28h - Row 40h Column 000h
- Dw 00A00h ; Offset 29h - Row 40h Column 007h
- Dw 00A02h ; Offset 2Ah - Row 40h Column 00Eh
- Dw 00A04h ; Offset 2Bh - Row 40h Column 015h
- Dw 00A06h ; Offset 2Ch - Row 40h Column 01Ch
- Dw 00A07h ; Offset 2Dh - Row 40h Column 023h
- Dw 00A09h ; Offset 2Eh - Row 40h Column 02Ah
- Dw 00A0Bh ; Offset 2Fh - Row 40h Column 031h
- Dw 00A0Dh ; Offset 30h - Row 40h Column 038h
- Dw 00A0Eh ; Offset 31h - Row 40h Column 03Fh
- Dw 00A10h ; Offset 32h - Row 40h Column 046h
- Dw 00A12h ; Offset 33h - Row 40h Column 04Dh
- Dw 00A14h ; Offset 34h - Row 40h Column 054h
- Dw 00A15h ; Offset 35h - Row 40h Column 05Bh
- Dw 00A17h ; Offset 36h - Row 40h Column 062h
- Dw 00A19h ; Offset 37h - Row 40h Column 069h
- Dw 00A1Bh ; Offset 38h - Row 40h Column 070h
- Dw 00A1Ch ; Offset 39h - Row 40h Column 077h
- Dw 00A1Eh ; Offset 3Ah - Row 40h Column 07Eh
- Dw 00A20h ; Offset 3Bh - Row 40h Column 085h
- Dw 00A22h ; Offset 3Ch - Row 40h Column 08Ch
- Dw 00A23h ; Offset 3Dh - Row 40h Column 093h
- Dw 00A25h ; Offset 3Eh - Row 40h Column 09Ah
- Dw 00A27h ; Offset 3Fh - Row 40h Column 0A1h
- Dw 00A29h ; Offset 40h - Row 40h Column 0A8h
- Dw 00A2Ah ; Offset 41h - Row 40h Column 0AFh
- Dw 00A2Ch ; Offset 42h - Row 40h Column 0B6h
- Dw 00A2Eh ; Offset 43h - Row 40h Column 0BDh
- Dw 00A30h ; Offset 44h - Row 40h Column 0C4h
- Dw 00A31h ; Offset 45h - Row 40h Column 0CBh
- Dw 00A33h ; Offset 46h - Row 40h Column 0D2h
- Dw 00A35h ; Offset 47h - Row 40h Column 0D9h
- Dw 00A37h ; Offset 48h - Row 40h Column 0E0h
- Dw 00A38h ; Offset 49h - Row 40h Column 0E7h
- Dw 00A3Ah ; Offset 4Ah - Row 40h Column 0EEh
- Dw 00A3Ch ; Offset 4Bh - Row 40h Column 0F5h
- Dw 00A3Eh ; Offset 4Ch - Row 40h Column 0FCh
- Dw 00A3Fh ; Offset 4Dh - Row 40h Column 103h
- Dw 00A41h ; Offset 4Eh - Row 40h Column 10Ah
- Dw 00A43h ; Offset 4Fh - Row 40h Column 111h
- Dw 013FFh ; Offset 50h - Row 80h Column 000h
- Dw 01400h ; Offset 51h - Row 80h Column 007h
- Dw 01402h ; Offset 52h - Row 80h Column 00Eh
- Dw 01404h ; Offset 53h - Row 80h Column 015h
- Dw 01406h ; Offset 54h - Row 80h Column 01Ch
- Dw 01407h ; Offset 55h - Row 80h Column 023h
- Dw 01409h ; Offset 56h - Row 80h Column 02Ah
- Dw 0140Bh ; Offset 57h - Row 80h Column 031h
- Dw 0140Dh ; Offset 58h - Row 80h Column 038h
- Dw 0140Eh ; Offset 59h - Row 80h Column 03Fh
- Dw 01410h ; Offset 5Ah - Row 80h Column 046h
- Dw 01412h ; Offset 5Bh - Row 80h Column 04Dh
- Dw 01414h ; Offset 5Ch - Row 80h Column 054h
- Dw 01415h ; Offset 5Dh - Row 80h Column 05Bh
- Dw 01417h ; Offset 5Eh - Row 80h Column 062h
- Dw 01419h ; Offset 5Fh - Row 80h Column 069h
- Dw 0141Bh ; Offset 60h - Row 80h Column 070h
- Dw 0141Ch ; Offset 61h - Row 80h Column 077h
- Dw 0141Eh ; Offset 62h - Row 80h Column 07Eh
- Dw 01420h ; Offset 63h - Row 80h Column 085h
- Dw 01422h ; Offset 64h - Row 80h Column 08Ch
- Dw 01423h ; Offset 65h - Row 80h Column 093h
- Dw 01425h ; Offset 66h - Row 80h Column 09Ah
- Dw 01427h ; Offset 67h - Row 80h Column 0A1h
- Dw 01429h ; Offset 68h - Row 80h Column 0A8h
- Dw 0142Ah ; Offset 69h - Row 80h Column 0AFh
- Dw 0142Ch ; Offset 6Ah - Row 80h Column 0B6h
- Dw 0142Eh ; Offset 6Bh - Row 80h Column 0BDh
- Dw 01430h ; Offset 6Ch - Row 80h Column 0C4h
- Dw 01431h ; Offset 6Dh - Row 80h Column 0CBh
- Dw 01433h ; Offset 6Eh - Row 80h Column 0D2h
- Dw 01435h ; Offset 6Fh - Row 80h Column 0D9h
- Dw 01437h ; Offset 70h - Row 80h Column 0E0h
- Dw 01438h ; Offset 71h - Row 80h Column 0E7h
- Dw 0143Ah ; Offset 72h - Row 80h Column 0EEh
- Dw 0143Ch ; Offset 73h - Row 80h Column 0F5h
- Dw 0143Eh ; Offset 74h - Row 80h Column 0FCh
- Dw 0143Fh ; Offset 75h - Row 80h Column 103h
- Dw 01441h ; Offset 76h - Row 80h Column 10Ah
- Dw 01443h ; Offset 77h - Row 80h Column 111h
- Dw 07FFFh ; Offset 78h - Screen hole 00h
- Dw 07FFFh ; Offset 79h - Screen hole 01h
- Dw 07FFFh ; Offset 7Ah - Screen hole 02h
- Dw 07FFFh ; Offset 7Bh - Screen hole 03h
- Dw 07FFFh ; Offset 7Ch - Screen hole 04h
- Dw 07FFFh ; Offset 7Dh - Screen hole 05h
- Dw 07FFFh ; Offset 7Eh - Screen hole 06h
- Dw 07FFFh ; Offset 7Fh - Screen hole 07h
- EGA_Address Equ This Word ; EGA graphics video offset lookup table
- Dw 0FFFFh ; Offset 00h - Row 00h Column 000h
- Dw 0FFFFh ; Offset 01h - Row 00h Column 007h
- Dw 00000h ; Offset 02h - Row 00h Column 00Eh
- Dw 00001h ; Offset 03h - Row 00h Column 015h
- Dw 00002h ; Offset 04h - Row 00h Column 01Ch
- Dw 00003h ; Offset 05h - Row 00h Column 023h
- Dw 00004h ; Offset 06h - Row 00h Column 02Ah
- Dw 00005h ; Offset 07h - Row 00h Column 031h
- Dw 00006h ; Offset 08h - Row 00h Column 038h
- Dw 00006h ; Offset 09h - Row 00h Column 03Fh
- Dw 00007h ; Offset 0Ah - Row 00h Column 046h
- Dw 00008h ; Offset 0Bh - Row 00h Column 04Dh
- Dw 00009h ; Offset 0Ch - Row 00h Column 054h
- Dw 0000Ah ; Offset 0Dh - Row 00h Column 05Bh
- Dw 0000Bh ; Offset 0Eh - Row 00h Column 062h
- Dw 0000Ch ; Offset 0Fh - Row 00h Column 069h
- Dw 0000Dh ; Offset 10h - Row 00h Column 070h
- Dw 0000Dh ; Offset 11h - Row 00h Column 077h
- Dw 0000Eh ; Offset 12h - Row 00h Column 07Eh
- Dw 0000Fh ; Offset 13h - Row 00h Column 085h
- Dw 00010h ; Offset 14h - Row 00h Column 08Ch
- Dw 00011h ; Offset 15h - Row 00h Column 093h
- Dw 00012h ; Offset 16h - Row 00h Column 09Ah
- Dw 00013h ; Offset 17h - Row 00h Column 0A1h
- Dw 00014h ; Offset 18h - Row 00h Column 0A8h
- Dw 00014h ; Offset 19h - Row 00h Column 0AFh
- Dw 00015h ; Offset 1Ah - Row 00h Column 0B6h
- Dw 00016h ; Offset 1Bh - Row 00h Column 0BDh
- Dw 00017h ; Offset 1Ch - Row 00h Column 0C4h
- Dw 00018h ; Offset 1Dh - Row 00h Column 0CBh
- Dw 00019h ; Offset 1Eh - Row 00h Column 0D2h
- Dw 0001Ah ; Offset 1Fh - Row 00h Column 0D9h
- Dw 0001Bh ; Offset 20h - Row 00h Column 0E0h
- Dw 0001Bh ; Offset 21h - Row 00h Column 0E7h
- Dw 0001Ch ; Offset 22h - Row 00h Column 0EEh
- Dw 0001Dh ; Offset 23h - Row 00h Column 0F5h
- Dw 0001Eh ; Offset 24h - Row 00h Column 0FCh
- Dw 0001Fh ; Offset 25h - Row 00h Column 103h
- Dw 00020h ; Offset 26h - Row 00h Column 10Ah
- Dw 00021h ; Offset 27h - Row 00h Column 111h
- Dw 009FFh ; Offset 28h - Row 40h Column 000h
- Dw 009FFh ; Offset 29h - Row 40h Column 007h
- Dw 00A00h ; Offset 2Ah - Row 40h Column 00Eh
- Dw 00A01h ; Offset 2Bh - Row 40h Column 015h
- Dw 00A02h ; Offset 2Ch - Row 40h Column 01Ch
- Dw 00A03h ; Offset 2Dh - Row 40h Column 023h
- Dw 00A04h ; Offset 2Eh - Row 40h Column 02Ah
- Dw 00A05h ; Offset 2Fh - Row 40h Column 031h
- Dw 00A06h ; Offset 30h - Row 40h Column 038h
- Dw 00A06h ; Offset 31h - Row 40h Column 03Fh
- Dw 00A07h ; Offset 32h - Row 40h Column 046h
- Dw 00A08h ; Offset 33h - Row 40h Column 04Dh
- Dw 00A09h ; Offset 34h - Row 40h Column 054h
- Dw 00A0Ah ; Offset 35h - Row 40h Column 05Bh
- Dw 00A0Bh ; Offset 36h - Row 40h Column 062h
- Dw 00A0Ch ; Offset 37h - Row 40h Column 069h
- Dw 00A0Dh ; Offset 38h - Row 40h Column 070h
- Dw 00A0Dh ; Offset 39h - Row 40h Column 077h
- Dw 00A0Eh ; Offset 3Ah - Row 40h Column 07Eh
- Dw 00A0Fh ; Offset 3Bh - Row 40h Column 085h
- Dw 00A10h ; Offset 3Ch - Row 40h Column 08Ch
- Dw 00A11h ; Offset 3Dh - Row 40h Column 093h
- Dw 00A12h ; Offset 3Eh - Row 40h Column 09Ah
- Dw 00A13h ; Offset 3Fh - Row 40h Column 0A1h
- Dw 00A14h ; Offset 40h - Row 40h Column 0A8h
- Dw 00A14h ; Offset 41h - Row 40h Column 0AFh
- Dw 00A15h ; Offset 42h - Row 40h Column 0B6h
- Dw 00A16h ; Offset 43h - Row 40h Column 0BDh
- Dw 00A17h ; Offset 44h - Row 40h Column 0C4h
- Dw 00A18h ; Offset 45h - Row 40h Column 0CBh
- Dw 00A19h ; Offset 46h - Row 40h Column 0D2h
- Dw 00A1Ah ; Offset 47h - Row 40h Column 0D9h
- Dw 00A1Bh ; Offset 48h - Row 40h Column 0E0h
- Dw 00A1Bh ; Offset 49h - Row 40h Column 0E7h
- Dw 00A1Ch ; Offset 4Ah - Row 40h Column 0EEh
- Dw 00A1Dh ; Offset 4Bh - Row 40h Column 0F5h
- Dw 00A1Eh ; Offset 4Ch - Row 40h Column 0FCh
- Dw 00A1Fh ; Offset 4Dh - Row 40h Column 103h
- Dw 00A20h ; Offset 4Eh - Row 40h Column 10Ah
- Dw 00A21h ; Offset 4Fh - Row 40h Column 111h
- Dw 013FFh ; Offset 50h - Row 80h Column 000h
- Dw 013FFh ; Offset 51h - Row 80h Column 007h
- Dw 01400h ; Offset 52h - Row 80h Column 00Eh
- Dw 01401h ; Offset 53h - Row 80h Column 015h
- Dw 01402h ; Offset 54h - Row 80h Column 01Ch
- Dw 01403h ; Offset 55h - Row 80h Column 023h
- Dw 01404h ; Offset 56h - Row 80h Column 02Ah
- Dw 01405h ; Offset 57h - Row 80h Column 031h
- Dw 01406h ; Offset 58h - Row 80h Column 038h
- Dw 01406h ; Offset 59h - Row 80h Column 03Fh
- Dw 01407h ; Offset 5Ah - Row 80h Column 046h
- Dw 01408h ; Offset 5Bh - Row 80h Column 04Dh
- Dw 01409h ; Offset 5Ch - Row 80h Column 054h
- Dw 0140Ah ; Offset 5Dh - Row 80h Column 05Bh
- Dw 0140Bh ; Offset 5Eh - Row 80h Column 062h
- Dw 0140Ch ; Offset 5Fh - Row 80h Column 069h
- Dw 0140Dh ; Offset 60h - Row 80h Column 070h
- Dw 0140Dh ; Offset 61h - Row 80h Column 077h
- Dw 0140Eh ; Offset 62h - Row 80h Column 07Eh
- Dw 0140Fh ; Offset 63h - Row 80h Column 085h
- Dw 01410h ; Offset 64h - Row 80h Column 08Ch
- Dw 01411h ; Offset 65h - Row 80h Column 093h
- Dw 01412h ; Offset 66h - Row 80h Column 09Ah
- Dw 01413h ; Offset 67h - Row 80h Column 0A1h
- Dw 01414h ; Offset 68h - Row 80h Column 0A8h
- Dw 01414h ; Offset 69h - Row 80h Column 0AFh
- Dw 01415h ; Offset 6Ah - Row 80h Column 0B6h
- Dw 01416h ; Offset 6Bh - Row 80h Column 0BDh
- Dw 01417h ; Offset 6Ch - Row 80h Column 0C4h
- Dw 01418h ; Offset 6Dh - Row 80h Column 0CBh
- Dw 01419h ; Offset 6Eh - Row 80h Column 0D2h
- Dw 0141Ah ; Offset 6Fh - Row 80h Column 0D9h
- Dw 0141Bh ; Offset 70h - Row 80h Column 0E0h
- Dw 0141Bh ; Offset 71h - Row 80h Column 0E7h
- Dw 0141Ch ; Offset 72h - Row 80h Column 0EEh
- Dw 0141Dh ; Offset 73h - Row 80h Column 0F5h
- Dw 0141Eh ; Offset 74h - Row 80h Column 0FCh
- Dw 0141Fh ; Offset 75h - Row 80h Column 103h
- Dw 01420h ; Offset 76h - Row 80h Column 10Ah
- Dw 01421h ; Offset 77h - Row 80h Column 111h
- Dw 07FFFh ; Offset 78h - Screen hole 00h
- Dw 07FFFh ; Offset 79h - Screen hole 01h
- Dw 07FFFh ; Offset 7Ah - Screen hole 02h
- Dw 07FFFh ; Offset 7Bh - Screen hole 03h
- Dw 07FFFh ; Offset 7Ch - Screen hole 04h
- Dw 07FFFh ; Offset 7Dh - Screen hole 05h
- Dw 07FFFh ; Offset 7Eh - Screen hole 06h
- Dw 07FFFh ; Offset 7Fh - Screen hole 07h
- CGA_Slice Equ This Word ; CGA Slice/Macro line lookup table
- Dw 00000h ; Slice 000 - Macro 000 - Row 00h
- Dw 00140h ; Slice 000 - Macro 001 - Row 08h
- Dw 00280h ; Slice 000 - Macro 010 - Row 10h
- Dw 003C0h ; Slice 000 - Macro 011 - Row 18h
- Dw 00500h ; Slice 000 - Macro 100 - Row 20h
- Dw 00640h ; Slice 000 - Macro 101 - Row 28h
- Dw 00780h ; Slice 000 - Macro 110 - Row 30h
- Dw 008C0h ; Slice 000 - Macro 111 - Row 38h
- Dw 02000h ; Slice 001 - Macro 000 - Row 01h
- Dw 02140h ; Slice 001 - Macro 001 - Row 09h
- Dw 02280h ; Slice 001 - Macro 010 - Row 11h
- Dw 023C0h ; Slice 001 - Macro 011 - Row 19h
- Dw 02500h ; Slice 001 - Macro 100 - Row 21h
- Dw 02640h ; Slice 001 - Macro 101 - Row 29h
- Dw 02780h ; Slice 001 - Macro 110 - Row 31h
- Dw 028C0h ; Slice 001 - Macro 111 - Row 39h
- Dw 00050h ; Slice 010 - Macro 000 - Row 02h
- Dw 00190h ; Slice 010 - Macro 001 - Row 0Ah
- Dw 002D0h ; Slice 010 - Macro 010 - Row 12h
- Dw 00410h ; Slice 010 - Macro 011 - Row 1Ah
- Dw 00550h ; Slice 010 - Macro 100 - Row 22h
- Dw 00690h ; Slice 010 - Macro 101 - Row 2Ah
- Dw 007D0h ; Slice 010 - Macro 110 - Row 32h
- Dw 00910h ; Slice 010 - Macro 111 - Row 3Ah
- Dw 02050h ; Slice 011 - Macro 000 - Row 03h
- Dw 02190h ; Slice 011 - Macro 001 - Row 0Bh
- Dw 022D0h ; Slice 011 - Macro 010 - Row 13h
- Dw 02410h ; Slice 011 - Macro 011 - Row 1Bh
- Dw 02550h ; Slice 011 - Macro 100 - Row 23h
- Dw 02690h ; Slice 011 - Macro 101 - Row 2Bh
- Dw 027D0h ; Slice 011 - Macro 110 - Row 33h
- Dw 02910h ; Slice 011 - Macro 111 - Row 3Bh
- Dw 000A0h ; Slice 100 - Macro 000 - Row 04h
- Dw 001E0h ; Slice 100 - Macro 001 - Row 0Ch
- Dw 00320h ; Slice 100 - Macro 010 - Row 14h
- Dw 00460h ; Slice 100 - Macro 011 - Row 1Ch
- Dw 005A0h ; Slice 100 - Macro 100 - Row 24h
- Dw 006E0h ; Slice 100 - Macro 101 - Row 2Ch
- Dw 00820h ; Slice 100 - Macro 110 - Row 34h
- Dw 00960h ; Slice 100 - Macro 111 - Row 3Ch
- Dw 020A0h ; Slice 101 - Macro 000 - Row 05h
- Dw 021E0h ; Slice 101 - Macro 001 - Row 0Dh
- Dw 02320h ; Slice 101 - Macro 010 - Row 15h
- Dw 02460h ; Slice 101 - Macro 011 - Row 1Dh
- Dw 025A0h ; Slice 101 - Macro 100 - Row 25h
- Dw 026E0h ; Slice 101 - Macro 101 - Row 2Dh
- Dw 02820h ; Slice 101 - Macro 110 - Row 35h
- Dw 02960h ; Slice 101 - Macro 111 - Row 3Dh
- Dw 000F0h ; Slice 110 - Macro 000 - Row 06h
- Dw 00230h ; Slice 110 - Macro 001 - Row 0Eh
- Dw 00370h ; Slice 110 - Macro 010 - Row 16h
- Dw 004B0h ; Slice 110 - Macro 011 - Row 1Eh
- Dw 005F0h ; Slice 110 - Macro 100 - Row 26h
- Dw 00730h ; Slice 110 - Macro 101 - Row 2Eh
- Dw 00870h ; Slice 110 - Macro 110 - Row 36h
- Dw 009B0h ; Slice 110 - Macro 111 - Row 3Eh
- Dw 020F0h ; Slice 111 - Macro 000 - Row 07h
- Dw 02230h ; Slice 111 - Macro 001 - Row 0Fh
- Dw 02370h ; Slice 111 - Macro 010 - Row 17h
- Dw 024B0h ; Slice 111 - Macro 011 - Row 1Fh
- Dw 025F0h ; Slice 111 - Macro 100 - Row 27h
- Dw 02730h ; Slice 111 - Macro 101 - Row 2Fh
- Dw 02870h ; Slice 111 - Macro 110 - Row 37h
- Dw 029B0h ; Slice 111 - Macro 111 - Row 3Fh
- EGA_Slice Equ This Word ; EGA Slice/Macro line lookup table
- Dw 00000h ; Slice 000 - Macro 000 - Row 00h
- Dw 00140h ; Slice 000 - Macro 001 - Row 08h
- Dw 00280h ; Slice 000 - Macro 010 - Row 10h
- Dw 003C0h ; Slice 000 - Macro 011 - Row 18h
- Dw 00500h ; Slice 000 - Macro 100 - Row 20h
- Dw 00640h ; Slice 000 - Macro 101 - Row 28h
- Dw 00780h ; Slice 000 - Macro 110 - Row 30h
- Dw 008C0h ; Slice 000 - Macro 111 - Row 38h
- Dw 00028h ; Slice 001 - Macro 000 - Row 01h
- Dw 00168h ; Slice 001 - Macro 001 - Row 09h
- Dw 002A8h ; Slice 001 - Macro 010 - Row 11h
- Dw 003E8h ; Slice 001 - Macro 011 - Row 19h
- Dw 00528h ; Slice 001 - Macro 100 - Row 21h
- Dw 00668h ; Slice 001 - Macro 101 - Row 29h
- Dw 007A8h ; Slice 001 - Macro 110 - Row 31h
- Dw 008E8h ; Slice 001 - Macro 111 - Row 39h
- Dw 00050h ; Slice 010 - Macro 000 - Row 02h
- Dw 00190h ; Slice 010 - Macro 001 - Row 0Ah
- Dw 002D0h ; Slice 010 - Macro 010 - Row 12h
- Dw 00410h ; Slice 010 - Macro 011 - Row 1Ah
- Dw 00550h ; Slice 010 - Macro 100 - Row 22h
- Dw 00690h ; Slice 010 - Macro 101 - Row 2Ah
- Dw 007D0h ; Slice 010 - Macro 110 - Row 32h
- Dw 00910h ; Slice 010 - Macro 111 - Row 3Ah
- Dw 00078h ; Slice 011 - Macro 000 - Row 03h
- Dw 001B8h ; Slice 011 - Macro 001 - Row 0Bh
- Dw 002F8h ; Slice 011 - Macro 010 - Row 13h
- Dw 00438h ; Slice 011 - Macro 011 - Row 1Bh
- Dw 00578h ; Slice 011 - Macro 100 - Row 23h
- Dw 006B8h ; Slice 011 - Macro 101 - Row 2Bh
- Dw 007F8h ; Slice 011 - Macro 110 - Row 33h
- Dw 00938h ; Slice 011 - Macro 111 - Row 3Bh
- Dw 000A0h ; Slice 100 - Macro 000 - Row 04h
- Dw 001E0h ; Slice 100 - Macro 001 - Row 0Ch
- Dw 00320h ; Slice 100 - Macro 010 - Row 14h
- Dw 00460h ; Slice 100 - Macro 011 - Row 1Ch
- Dw 005A0h ; Slice 100 - Macro 100 - Row 24h
- Dw 006E0h ; Slice 100 - Macro 101 - Row 2Ch
- Dw 00820h ; Slice 100 - Macro 110 - Row 34h
- Dw 00960h ; Slice 100 - Macro 111 - Row 3Ch
- Dw 000C8h ; Slice 101 - Macro 000 - Row 05h
- Dw 00208h ; Slice 101 - Macro 001 - Row 0Dh
- Dw 00348h ; Slice 101 - Macro 010 - Row 15h
- Dw 00488h ; Slice 101 - Macro 011 - Row 1Dh
- Dw 005C8h ; Slice 101 - Macro 100 - Row 25h
- Dw 00708h ; Slice 101 - Macro 101 - Row 2Dh
- Dw 00848h ; Slice 101 - Macro 110 - Row 35h
- Dw 00988h ; Slice 101 - Macro 111 - Row 3Dh
- Dw 000F0h ; Slice 110 - Macro 000 - Row 06h
- Dw 00230h ; Slice 110 - Macro 001 - Row 0Eh
- Dw 00370h ; Slice 110 - Macro 010 - Row 16h
- Dw 004B0h ; Slice 110 - Macro 011 - Row 1Eh
- Dw 005F0h ; Slice 110 - Macro 100 - Row 26h
- Dw 00730h ; Slice 110 - Macro 101 - Row 2Eh
- Dw 00870h ; Slice 110 - Macro 110 - Row 36h
- Dw 009B0h ; Slice 110 - Macro 111 - Row 3Eh
- Dw 00118h ; Slice 111 - Macro 000 - Row 07h
- Dw 00258h ; Slice 111 - Macro 001 - Row 0Fh
- Dw 00398h ; Slice 111 - Macro 010 - Row 17h
- Dw 004D8h ; Slice 111 - Macro 011 - Row 1Fh
- Dw 00618h ; Slice 111 - Macro 100 - Row 27h
- Dw 00758h ; Slice 111 - Macro 101 - Row 2Fh
- Dw 00898h ; Slice 111 - Macro 110 - Row 37h
- Dw 009D8h ; Slice 111 - Macro 111 - Row 3Fh
- Even ; Force table to even address
- Reverse_Table Equ This Byte ; Graphics video bit reversal table
- Reverse <00000000> ; Binary 00000000b reversed - 00000000b
- Reverse <00000001> ; Binary 00000001b reversed - 10000000b
- Reverse <00000010> ; Binary 00000010b reversed - 01000000b
- Reverse <00000011> ; Binary 00000011b reversed - 11000000b
- Reverse <00000100> ; Binary 00000100b reversed - 00100000b
- Reverse <00000101> ; Binary 00000101b reversed - 10100000b
- Reverse <00000110> ; Binary 00000110b reversed - 01100000b
- Reverse <00000111> ; Binary 00000111b reversed - 11100000b
- Reverse <00001000> ; Binary 00001000b reversed - 00010000b
- Reverse <00001001> ; Binary 00001001b reversed - 10010000b
- Reverse <00001010> ; Binary 00001010b reversed - 01010000b
- Reverse <00001011> ; Binary 00001011b reversed - 11010000b
- Reverse <00001100> ; Binary 00001100b reversed - 00110000b
- Reverse <00001101> ; Binary 00001101b reversed - 10110000b
- Reverse <00001110> ; Binary 00001110b reversed - 01110000b
- Reverse <00001111> ; Binary 00001111b reversed - 11110000b
- Reverse <00010000> ; Binary 00010000b reversed - 00001000b
- Reverse <00010001> ; Binary 00010001b reversed - 10001000b
- Reverse <00010010> ; Binary 00010010b reversed - 01001000b
- Reverse <00010011> ; Binary 00010011b reversed - 11001000b
- Reverse <00010100> ; Binary 00010100b reversed - 00101000b
- Reverse <00010101> ; Binary 00010101b reversed - 10101000b
- Reverse <00010110> ; Binary 00010110b reversed - 01101000b
- Reverse <00010111> ; Binary 00010111b reversed - 11101000b
- Reverse <00011000> ; Binary 00011000b reversed - 00011000b
- Reverse <00011001> ; Binary 00011001b reversed - 10011000b
- Reverse <00011010> ; Binary 00011010b reversed - 01011000b
- Reverse <00011011> ; Binary 00011011b reversed - 11011000b
- Reverse <00011100> ; Binary 00011100b reversed - 00111000b
- Reverse <00011101> ; Binary 00011101b reversed - 10111000b
- Reverse <00011110> ; Binary 00011110b reversed - 01111000b
- Reverse <00011111> ; Binary 00011111b reversed - 11111000b
- Reverse <00100000> ; Binary 00100000b reversed - 00000100b
- Reverse <00100001> ; Binary 00100001b reversed - 10000100b
- Reverse <00100010> ; Binary 00100010b reversed - 01000100b
- Reverse <00100011> ; Binary 00100011b reversed - 11000100b
- Reverse <00100100> ; Binary 00100100b reversed - 00100100b
- Reverse <00100101> ; Binary 00100101b reversed - 10100100b
- Reverse <00100110> ; Binary 00100110b reversed - 01100100b
- Reverse <00100111> ; Binary 00100111b reversed - 11100100b
- Reverse <00101000> ; Binary 00101000b reversed - 00010100b
- Reverse <00101001> ; Binary 00101001b reversed - 10010100b
- Reverse <00101010> ; Binary 00101010b reversed - 01010100b
- Reverse <00101011> ; Binary 00101011b reversed - 11010100b
- Reverse <00101100> ; Binary 00101100b reversed - 00110100b
- Reverse <00101101> ; Binary 00101101b reversed - 10110100b
- Reverse <00101110> ; Binary 00101110b reversed - 01110100b
- Reverse <00101111> ; Binary 00101111b reversed - 11110100b
- Reverse <00110000> ; Binary 00110000b reversed - 00001100b
- Reverse <00110001> ; Binary 00110001b reversed - 10001100b
- Reverse <00110010> ; Binary 00110010b reversed - 01001100b
- Reverse <00110011> ; Binary 00110011b reversed - 11001100b
- Reverse <00110100> ; Binary 00110100b reversed - 00101100b
- Reverse <00110101> ; Binary 00110101b reversed - 10101100b
- Reverse <00110110> ; Binary 00110110b reversed - 01101100b
- Reverse <00110111> ; Binary 00110111b reversed - 11101100b
- Reverse <00111000> ; Binary 00111000b reversed - 00011100b
- Reverse <00111001> ; Binary 00111001b reversed - 10011100b
- Reverse <00111010> ; Binary 00111010b reversed - 01011100b
- Reverse <00111011> ; Binary 00111011b reversed - 11011100b
- Reverse <00111100> ; Binary 00111100b reversed - 00111100b
- Reverse <00111101> ; Binary 00111101b reversed - 10111100b
- Reverse <00111110> ; Binary 00111110b reversed - 01111100b
- Reverse <00111111> ; Binary 00111111b reversed - 11111100b
- Reverse <01000000> ; Binary 01000000b reversed - 00000010b
- Reverse <01000001> ; Binary 01000001b reversed - 10000010b
- Reverse <01000010> ; Binary 01000010b reversed - 01000010b
- Reverse <01000011> ; Binary 01000011b reversed - 11000010b
- Reverse <01000100> ; Binary 01000100b reversed - 00100010b
- Reverse <01000101> ; Binary 01000101b reversed - 10100010b
- Reverse <01000110> ; Binary 01000110b reversed - 01100010b
- Reverse <01000111> ; Binary 01000111b reversed - 11100010b
- Reverse <01001000> ; Binary 01001000b reversed - 00010010b
- Reverse <01001001> ; Binary 01001001b reversed - 10010010b
- Reverse <01001010> ; Binary 01001010b reversed - 01010010b
- Reverse <01001011> ; Binary 01001011b reversed - 11010010b
- Reverse <01001100> ; Binary 01001100b reversed - 00110010b
- Reverse <01001101> ; Binary 01001101b reversed - 10110010b
- Reverse <01001110> ; Binary 01001110b reversed - 01110010b
- Reverse <01001111> ; Binary 01001111b reversed - 11110010b
- Reverse <01010000> ; Binary 01010000b reversed - 00001010b
- Reverse <01010001> ; Binary 01010001b reversed - 10001010b
- Reverse <01010010> ; Binary 01010010b reversed - 01001010b
- Reverse <01010011> ; Binary 01010011b reversed - 11001010b
- Reverse <01010100> ; Binary 01010100b reversed - 00101010b
- Reverse <01010101> ; Binary 01010101b reversed - 10101010b
- Reverse <01010110> ; Binary 01010110b reversed - 01101010b
- Reverse <01010111> ; Binary 01010111b reversed - 11101010b
- Reverse <01011000> ; Binary 01011000b reversed - 00011010b
- Reverse <01011001> ; Binary 01011001b reversed - 10011010b
- Reverse <01011010> ; Binary 01011010b reversed - 01011010b
- Reverse <01011011> ; Binary 01011011b reversed - 11011010b
- Reverse <01011100> ; Binary 01011100b reversed - 00111010b
- Reverse <01011101> ; Binary 01011101b reversed - 10111010b
- Reverse <01011110> ; Binary 01011110b reversed - 01111010b
- Reverse <01011111> ; Binary 01011111b reversed - 11111010b
- Reverse <01100000> ; Binary 01100000b reversed - 00000110b
- Reverse <01100001> ; Binary 01100001b reversed - 10000110b
- Reverse <01100010> ; Binary 01100010b reversed - 01000110b
- Reverse <01100011> ; Binary 01100011b reversed - 11000110b
- Reverse <01100100> ; Binary 01100100b reversed - 00100110b
- Reverse <01100101> ; Binary 01100101b reversed - 10100110b
- Reverse <01100110> ; Binary 01100110b reversed - 01100110b
- Reverse <01100111> ; Binary 01100111b reversed - 11100110b
- Reverse <01101000> ; Binary 01101000b reversed - 00010110b
- Reverse <01101001> ; Binary 01101001b reversed - 10010110b
- Reverse <01101010> ; Binary 01101010b reversed - 01010110b
- Reverse <01101011> ; Binary 01101011b reversed - 11010110b
- Reverse <01101100> ; Binary 01101100b reversed - 00110110b
- Reverse <01101101> ; Binary 01101101b reversed - 10110110b
- Reverse <01101110> ; Binary 01101110b reversed - 01110110b
- Reverse <01101111> ; Binary 01101111b reversed - 11110110b
- Reverse <01110000> ; Binary 01110000b reversed - 00001110b
- Reverse <01110001> ; Binary 01110001b reversed - 10001110b
- Reverse <01110010> ; Binary 01110010b reversed - 01001110b
- Reverse <01110011> ; Binary 01110011b reversed - 11001110b
- Reverse <01110100> ; Binary 01110100b reversed - 00101110b
- Reverse <01110101> ; Binary 01110101b reversed - 10101110b
- Reverse <01110110> ; Binary 01110110b reversed - 01101110b
- Reverse <01110111> ; Binary 01110111b reversed - 11101110b
- Reverse <01111000> ; Binary 01111000b reversed - 00011110b
- Reverse <01111001> ; Binary 01111001b reversed - 10011110b
- Reverse <01111010> ; Binary 01111010b reversed - 01011110b
- Reverse <01111011> ; Binary 01111011b reversed - 11011110b
- Reverse <01111100> ; Binary 01111100b reversed - 00111110b
- Reverse <01111101> ; Binary 01111101b reversed - 10111110b
- Reverse <01111110> ; Binary 01111110b reversed - 01111110b
- Reverse <01111111> ; Binary 01111111b reversed - 11111110b
- Even_Table Equ This Word ; Graphics even col. color exp. table
- Color <BBBBBBB> ; Value 00000000b = BBBBBBBx
- Color <BBBBBBP> ; Value 00000010b = BBBBBBPx
- Color <BBBBBGB> ; Value 00000100b = BBBBBGBx
- Color <BBBBBGP> ; Value 00000110b = BBBBBGPx
- Color <BBBBPBB> ; Value 00001000b = BBBBPBBx
- Color <BBBBPBP> ; Value 00001010b = BBBBPBPx
- Color <BBBBPGB> ; Value 00001100b = BBBBPGBx
- Color <BBBBPGP> ; Value 00001110b = BBBBPGPx
- Color <BBBGBBB> ; Value 00010000b = BBBGBBBx
- Color <BBBGBBP> ; Value 00010010b = BBBGBBPx
- Color <BBBGBGB> ; Value 00010100b = BBBGBGBx
- Color <BBBGBGP> ; Value 00010110b = BBBGBGPx
- Color <BBBGPBB> ; Value 00011000b = BBBGPBBx
- Color <BBBGPBP> ; Value 00011010b = BBBGPBPx
- Color <BBBGPGB> ; Value 00011100b = BBBGPGBx
- Color <BBBGPGP> ; Value 00011110b = BBBGPGPx
- Color <BBPBBBB> ; Value 00100000b = BBPBBBBx
- Color <BBPBBBP> ; Value 00100010b = BBPBBBPx
- Color <BBPBBGB> ; Value 00100100b = BBPBBGBx
- Color <BBPBBGP> ; Value 00100110b = BBPBBGPx
- Color <BBPBPBB> ; Value 00101000b = BBPBPBBx
- Color <BBPBPBP> ; Value 00101010b = BBPBPBPx
- Color <BBPBPGB> ; Value 00101100b = BBPBPGBx
- Color <BBPBPGP> ; Value 00101110b = BBPBPGPx
- Color <BBPGBBB> ; Value 00110000b = BBPGBBBx
- Color <BBPGBBP> ; Value 00110010b = BBPGBBPx
- Color <BBPGBGB> ; Value 00110100b = BBPGBGBx
- Color <BBPGBGP> ; Value 00110110b = BBPGBGPx
- Color <BBPGPBB> ; Value 00111000b = BBPGPBBx
- Color <BBPGPBP> ; Value 00111010b = BBPGPBPx
- Color <BBPGPGB> ; Value 00111100b = BBPGPGBx
- Color <BBPGPGP> ; Value 00111110b = BBPGPGPx
- Color <BGBBBBB> ; Value 01000000b = BGBBBBBx
- Color <BGBBBBP> ; Value 01000010b = BGBBBBPx
- Color <BGBBBGB> ; Value 01000100b = BGBBBGBx
- Color <BGBBBGP> ; Value 01000110b = BGBBBGPx
- Color <BGBBPBB> ; Value 01001000b = BGBBPBBx
- Color <BGBBPBP> ; Value 01001010b = BGBBPBPx
- Color <BGBBPGB> ; Value 01001100b = BGBBPGBx
- Color <BGBBPGP> ; Value 01001110b = BGBBPGPx
- Color <BGBGBBB> ; Value 01010000b = BGBGBBBx
- Color <BGBGBBP> ; Value 01010010b = BGBGBBPx
- Color <BGBGBGB> ; Value 01010100b = BGBGBGBx
- Color <BGBGBGP> ; Value 01010110b = BGBGBGPx
- Color <BGBGPBB> ; Value 01011000b = BGBGPBBx
- Color <BGBGPBP> ; Value 01011010b = BGBGPBPx
- Color <BGBGPGB> ; Value 01011100b = BGBGPGBx
- Color <BGBGPGP> ; Value 01011110b = BGBGPGPx
- Color <BGPBBBB> ; Value 01100000b = BGPBBBBx
- Color <BGPBBBP> ; Value 01100010b = BGPBBBPx
- Color <BGPBBGB> ; Value 01100100b = BGPBBGBx
- Color <BGPBBGP> ; Value 01100110b = BGPBBGPx
- Color <BGPBPBB> ; Value 01101000b = BGPBPBBx
- Color <BGPBPBP> ; Value 01101010b = BGPBPBPx
- Color <BGPBPGB> ; Value 01101100b = BGPBPGBx
- Color <BGPBPGP> ; Value 01101110b = BGPBPGPx
- Color <BGPGBBB> ; Value 01110000b = BGPGBBBx
- Color <BGPGBBP> ; Value 01110010b = BGPGBBPx
- Color <BGPGBGB> ; Value 01110100b = BGPGBGBx
- Color <BGPGBGP> ; Value 01110110b = BGPGBGPx
- Color <BGPGPBB> ; Value 01111000b = BGPGPBBx
- Color <BGPGPBP> ; Value 01111010b = BGPGPBPx
- Color <BGPGPGB> ; Value 01111100b = BGPGPGBx
- Color <BGPGPGP> ; Value 01111110b = BGPGPGPx
- Color <PBBBBBB> ; Value 10000000b = PBBBBBBx
- Color <PBBBBBP> ; Value 10000010b = PBBBBBPx
- Color <PBBBBGB> ; Value 10000100b = PBBBBGBx
- Color <PBBBBGP> ; Value 10000110b = PBBBBGPx
- Color <PBBBPBB> ; Value 10001000b = PBBBPBBx
- Color <PBBBPBP> ; Value 10001010b = PBBBPBPx
- Color <PBBBPGB> ; Value 10001100b = PBBBPGBx
- Color <PBBBPGP> ; Value 10001110b = PBBBPGPx
- Color <PBBGBBB> ; Value 10010000b = PBBGBBBx
- Color <PBBGBBP> ; Value 10010010b = PBBGBBPx
- Color <PBBGBGB> ; Value 10010100b = PBBGBGBx
- Color <PBBGBGP> ; Value 10010110b = PBBGBGPx
- Color <PBBGPBB> ; Value 10011000b = PBBGPBBx
- Color <PBBGPBP> ; Value 10011010b = PBBGPBPx
- Color <PBBGPGB> ; Value 10011100b = PBBGPGBx
- Color <PBBGPGP> ; Value 10011110b = PBBGPGPx
- Color <PBPBBBB> ; Value 10100000b = PBPBBBBx
- Color <PBPBBBP> ; Value 10100010b = PBPBBBPx
- Color <PBPBBGB> ; Value 10100100b = PBPBBGBx
- Color <PBPBBGP> ; Value 10100110b = PBPBBGPx
- Color <PBPBPBB> ; Value 10101000b = PBPBPBBx
- Color <PBPBPBP> ; Value 10101010b = PBPBPBPx
- Color <PBPBPGB> ; Value 10101100b = PBPBPGBx
- Color <PBPBPGP> ; Value 10101110b = PBPBPGPx
- Color <PBPGBBB> ; Value 10110000b = PBPGBBBx
- Color <PBPGBBP> ; Value 10110010b = PBPGBBPx
- Color <PBPGBGB> ; Value 10110100b = PBPGBGBx
- Color <PBPGBGP> ; Value 10110110b = PBPGBGPx
- Color <PBPGPBB> ; Value 10111000b = PBPGPBBx
- Color <PBPGPBP> ; Value 10111010b = PBPGPBPx
- Color <PBPGPGB> ; Value 10111100b = PBPGPGBx
- Color <PBPGPGP> ; Value 10111110b = PBPGPGPx
- Color <PGBBBBB> ; Value 11000000b = PGBBBBBx
- Color <PGBBBBP> ; Value 11000010b = PGBBBBPx
- Color <PGBBBGB> ; Value 11000100b = PGBBBGBx
- Color <PGBBBGP> ; Value 11000110b = PGBBBGPx
- Color <PGBBPBB> ; Value 11001000b = PGBBPBBx
- Color <PGBBPBP> ; Value 11001010b = PGBBPBPx
- Color <PGBBPGB> ; Value 11001100b = PGBBPGBx
- Color <PGBBPGP> ; Value 11001110b = PGBBPGPx
- Color <PGBGBBB> ; Value 11010000b = PGBGBBBx
- Color <PGBGBBP> ; Value 11010010b = PGBGBBPx
- Color <PGBGBGB> ; Value 11010100b = PGBGBGBx
- Color <PGBGBGP> ; Value 11010110b = PGBGBGPx
- Color <PGBGPBB> ; Value 11011000b = PGBGPBBx
- Color <PGBGPBP> ; Value 11011010b = PGBGPBPx
- Color <PGBGPGB> ; Value 11011100b = PGBGPGBx
- Color <PGBGPGP> ; Value 11011110b = PGBGPGPx
- Color <PGPBBBB> ; Value 11100000b = PGPBBBBx
- Color <PGPBBBP> ; Value 11100010b = PGPBBBPx
- Color <PGPBBGB> ; Value 11100100b = PGPBBGBx
- Color <PGPBBGP> ; Value 11100110b = PGPBBGPx
- Color <PGPBPBB> ; Value 11101000b = PGPBPBBx
- Color <PGPBPBP> ; Value 11101010b = PGPBPBPx
- Color <PGPBPGB> ; Value 11101100b = PGPBPGBx
- Color <PGPBPGP> ; Value 11101110b = PGPBPGPx
- Color <PGPGBBB> ; Value 11110000b = PGPGBBBx
- Color <PGPGBBP> ; Value 11110010b = PGPGBBPx
- Color <PGPGBGB> ; Value 11110100b = PGPGBGBx
- Color <PGPGBGP> ; Value 11110110b = PGPGBGPx
- Color <PGPGPBB> ; Value 11111000b = PGPGPBBx
- Color <PGPGPBP> ; Value 11111010b = PGPGPBPx
- Color <PGPGPGB> ; Value 11111100b = PGPGPGBx
- Color <PGPGPGP> ; Value 11111110b = PGPGPGPx
- Odd_Table Equ This Word ; Graphics odd col. color exp. table
- Color <BBBBBBB> ; Value 00000000b = BBBBBBBx
- Color <BBBBBBG> ; Value 00000010b = BBBBBBGx
- Color <BBBBBPB> ; Value 00000100b = BBBBBPBx
- Color <BBBBBPG> ; Value 00000110b = BBBBBPGx
- Color <BBBBGBB> ; Value 00001000b = BBBBGBBx
- Color <BBBBGBG> ; Value 00001010b = BBBBGBGx
- Color <BBBBGPB> ; Value 00001100b = BBBBGPBx
- Color <BBBBGPG> ; Value 00001110b = BBBBGPGx
- Color <BBBPBBB> ; Value 00010000b = BBBPBBBx
- Color <BBBPBBG> ; Value 00010010b = BBBPBBGx
- Color <BBBPBPB> ; Value 00010100b = BBBPBPBx
- Color <BBBPBPG> ; Value 00010110b = BBBPBPGx
- Color <BBBPGBB> ; Value 00011000b = BBBPGBBx
- Color <BBBPGBG> ; Value 00011010b = BBBPGBGx
- Color <BBBPGPB> ; Value 00011100b = BBBPGPBx
- Color <BBBPGPG> ; Value 00011110b = BBBPGPGx
- Color <BBGBBBB> ; Value 00100000b = BBGBBBBx
- Color <BBGBBBG> ; Value 00100010b = BBGBBBGx
- Color <BBGBBPB> ; Value 00100100b = BBGBBPBx
- Color <BBGBBPG> ; Value 00100110b = BBGBBPGx
- Color <BBGBGBB> ; Value 00101000b = BBGBGBBx
- Color <BBGBGBG> ; Value 00101010b = BBGBGBGx
- Color <BBGBGPB> ; Value 00101100b = BBGBGPBx
- Color <BBGBGPG> ; Value 00101110b = BBGBGPGx
- Color <BBGPBBB> ; Value 00110000b = BBGPBBBx
- Color <BBGPBBG> ; Value 00110010b = BBGPBBGx
- Color <BBGPBPB> ; Value 00110100b = BBGPBPBx
- Color <BBGPBPG> ; Value 00110110b = BBGPBPGx
- Color <BBGPGBB> ; Value 00111000b = BBGPGBBx
- Color <BBGPGBG> ; Value 00111010b = BBGPGBGx
- Color <BBGPGPB> ; Value 00111100b = BBGPGPBx
- Color <BBGPGPG> ; Value 00111110b = BBGPGPGx
- Color <BPBBBBB> ; Value 01000000b = BPBBBBBx
- Color <BPBBBBG> ; Value 01000010b = BPBBBBGx
- Color <BPBBBPB> ; Value 01000100b = BPBBBPBx
- Color <BPBBBPG> ; Value 01000110b = BPBBBPGx
- Color <BPBBGBB> ; Value 01001000b = BPBBGBBx
- Color <BPBBGBG> ; Value 01001010b = BPBBGBGx
- Color <BPBBGPB> ; Value 01001100b = BPBBGPBx
- Color <BPBBGPG> ; Value 01001110b = BPBBGPGx
- Color <BPBPBBB> ; Value 01010000b = BPBPBBBx
- Color <BPBPBBG> ; Value 01010010b = BPBPBBGx
- Color <BPBPBPB> ; Value 01010100b = BPBPBPBx
- Color <BPBPBPG> ; Value 01010110b = BPBPBPGx
- Color <BPBPGBB> ; Value 01011000b = BPBPGBBx
- Color <BPBPGBG> ; Value 01011010b = BPBPGBGx
- Color <BPBPGPB> ; Value 01011100b = BPBPGPBx
- Color <BPBPGPG> ; Value 01011110b = BPBPGPGx
- Color <BPGBBBB> ; Value 01100000b = BPGBBBBx
- Color <BPGBBBG> ; Value 01100010b = BPGBBBGx
- Color <BPGBBPB> ; Value 01100100b = BPGBBPBx
- Color <BPGBBPG> ; Value 01100110b = BPGBBPGx
- Color <BPGBGBB> ; Value 01101000b = BPGBGBBx
- Color <BPGBGBG> ; Value 01101010b = BPGBGBGx
- Color <BPGBGPB> ; Value 01101100b = BPGBGPBx
- Color <BPGBGPG> ; Value 01101110b = BPGBGPGx
- Color <BPGPBBB> ; Value 01110000b = BPGPBBBx
- Color <BPGPBBG> ; Value 01110010b = BPGPBBGx
- Color <BPGPBPB> ; Value 01110100b = BPGPBPBx
- Color <BPGPBPG> ; Value 01110110b = BPGPBPGx
- Color <BPGPGBB> ; Value 01111000b = BPGPGBBx
- Color <BPGPGBG> ; Value 01111010b = BPGPGBGx
- Color <BPGPGPB> ; Value 01111100b = BPGPGPBx
- Color <BPGPGPG> ; Value 01111110b = BPGPGPGx
- Color <GBBBBBB> ; Value 10000000b = GBBBBBBx
- Color <GBBBBBG> ; Value 10000010b = GBBBBBGx
- Color <GBBBBPB> ; Value 10000100b = GBBBBPBx
- Color <GBBBBPG> ; Value 10000110b = GBBBBPGx
- Color <GBBBGBB> ; Value 10001000b = GBBBGBBx
- Color <GBBBGBG> ; Value 10001010b = GBBBGBGx
- Color <GBBBGPB> ; Value 10001100b = GBBBGPBx
- Color <GBBBGPG> ; Value 10001110b = GBBBGPGx
- Color <GBBPBBB> ; Value 10010000b = GBBPBBBx
- Color <GBBPBBG> ; Value 10010010b = GBBPBBGx
- Color <GBBPBPB> ; Value 10010100b = GBBPBPBx
- Color <GBBPBPG> ; Value 10010110b = GBBPBPGx
- Color <GBBPGBB> ; Value 10011000b = GBBPGBBx
- Color <GBBPGBG> ; Value 10011010b = GBBPGBGx
- Color <GBBPGPB> ; Value 10011100b = GBBPGPBx
- Color <GBBPGPG> ; Value 10011110b = GBBPGPGx
- Color <GBGBBBB> ; Value 10100000b = GBGBBBBx
- Color <GBGBBBG> ; Value 10100010b = GBGBBBGx
- Color <GBGBBPB> ; Value 10100100b = GBGBBPBx
- Color <GBGBBPG> ; Value 10100110b = GBGBBPGx
- Color <GBGBGBB> ; Value 10101000b = GBGBGBBx
- Color <GBGBGBG> ; Value 10101010b = GBGBGBGx
- Color <GBGBGPB> ; Value 10101100b = GBGBGPBx
- Color <GBGBGPG> ; Value 10101110b = GBGBGPGx
- Color <GBGPBBB> ; Value 10110000b = GBGPBBBx
- Color <GBGPBBG> ; Value 10110010b = GBGPBBGx
- Color <GBGPBPB> ; Value 10110100b = GBGPBPBx
- Color <GBGPBPG> ; Value 10110110b = GBGPBPGx
- Color <GBGPGBB> ; Value 10111000b = GBGPGBBx
- Color <GBGPGBG> ; Value 10111010b = GBGPGBGx
- Color <GBGPGPB> ; Value 10111100b = GBGPGPBx
- Color <GBGPGPG> ; Value 10111110b = GBGPGPGx
- Color <GPBBBBB> ; Value 11000000b = GPBBBBBx
- Color <GPBBBBG> ; Value 11000010b = GPBBBBGx
- Color <GPBBBPB> ; Value 11000100b = GPBBBPBx
- Color <GPBBBPG> ; Value 11000110b = GPBBBPGx
- Color <GPBBGBB> ; Value 11001000b = GPBBGBBx
- Color <GPBBGBG> ; Value 11001010b = GPBBGBGx
- Color <GPBBGPB> ; Value 11001100b = GPBBGPBx
- Color <GPBBGPG> ; Value 11001110b = GPBBGPGx
- Color <GPBPBBB> ; Value 11010000b = GPBPBBBx
- Color <GPBPBBG> ; Value 11010010b = GPBPBBGx
- Color <GPBPBPB> ; Value 11010100b = GPBPBPBx
- Color <GPBPBPG> ; Value 11010110b = GPBPBPGx
- Color <GPBPGBB> ; Value 11011000b = GPBPGBBx
- Color <GPBPGBG> ; Value 11011010b = GPBPGBGx
- Color <GPBPGPB> ; Value 11011100b = GPBPGPBx
- Color <GPBPGPG> ; Value 11011110b = GPBPGPGx
- Color <GPGBBBB> ; Value 11100000b = GPGBBBBx
- Color <GPGBBBG> ; Value 11100010b = GPGBBBGx
- Color <GPGBBPB> ; Value 11100100b = GPGBBPBx
- Color <GPGBBPG> ; Value 11100110b = GPGBBPGx
- Color <GPGBGBB> ; Value 11101000b = GPGBGBBx
- Color <GPGBGBG> ; Value 11101010b = GPGBGBGx
- Color <GPGBGPB> ; Value 11101100b = GPGBGPBx
- Color <GPGBGPG> ; Value 11101110b = GPGBGPGx
- Color <GPGPBBB> ; Value 11110000b = GPGPBBBx
- Color <GPGPBBG> ; Value 11110010b = GPGPBBGx
- Color <GPGPBPB> ; Value 11110100b = GPGPBPBx
- Color <GPGPBPG> ; Value 11110110b = GPGPBPGx
- Color <GPGPGBB> ; Value 11111000b = GPGPGBBx
- Color <GPGPGBG> ; Value 11111010b = GPGPGBGx
- Color <GPGPGPB> ; Value 11111100b = GPGPGPBx
- Color <GPGPGPG> ; Value 11111110b = GPGPGPGx
- Column_Table Equ This Word ; CGA graphics video column table
- Dw Even_Table ; Address Mod 4 = 0 (Even column)
- Dw Odd_Table ; Address Mod 4 = 1 (Odd column)
- Dw Even_Table ; Address Mod 4 = 2 (Even column)
- Dw Odd_Table ; Address Mod 4 = 3 (Odd column)
- CGA_Shift Equ This Byte ; CGA graphics video shift table
- Shift <00,00> ; Offset Mod 4 = 0 Word/Byte Shifts
- Shift <06,02> ; Offset Mod 4 = 1 Word/Byte Shifts
- Shift <04,04> ; Offset Mod 4 = 2 Word/Byte Shifts
- Shift <02,00> ; Offset Mod 4 = 3 Word/Byte Shifts
- EGA_Shift Equ This Byte ; EGA graphics video shift table
- Db 0 ; Offset Mod 8 = 0 Data Shift
- Db 7 ; Offset Mod 8 = 1 Data Shift
- Db 6 ; Offset Mod 8 = 2 Data Shift
- Db 5 ; Offset Mod 8 = 3 Data Shift
- Db 4 ; Offset Mod 8 = 0 Data Shift
- Db 3 ; Offset Mod 8 = 1 Data Shift
- Db 2 ; Offset Mod 8 = 2 Data Shift
- Db 1 ; Offset Mod 8 = 3 Data Shift
- ;******************************************************************************
- ;
- ; Define the color mapping values and mapping table
- ;
- ;******************************************************************************
- Map 0,BLACK ; Map color 0 to 0 (Black)
- Map 1,LIGHT_MAGENTA ; Map color 1 to 13 (Light magenta)
- Map 2,BLUE ; Map color 2 to 1 (Blue)
- Map 3,MAGENTA ; Map color 3 to 5 (Magenta)
- Map 4,GREEN ; Map color 4 to 2 (Green)
- Map 5,GRAY ; Map color 5 to 8 (Gray)
- Map 6,LIGHT_BLUE ; Map color 6 to 9 (Light Blue)
- Map 7,LIGHT_CYAN ; Map color 7 to 11 (Light Cyan)
- Map 8,BROWN ; Map color 8 to 6 (Brown)
- Map 9,RED ; Map color 9 to 4 (Red)
- Map 10,WHITE ; Map color 10 to 7 (White)
- Map 11,LIGHT_RED ; Map color 11 to 12 (Light Red)
- Map 12,LIGHT_GREEN ; Map color 12 to 10 (Light Green)
- Map 13,YELLOW ; Map color 13 to 14 (Yellow)
- Map 14,CYAN ; Map color 14 to 3 (Cyan)
- Map 15,INTENSE_WHITE; Map color 15 to 15 (Intense White)
- Map_Table Equ This Byte ; Graphics color mapping table
- Convert 0,0 ; Background - 00 Foreground - 00
- Convert 0,1 ; Background - 00 Foreground - 01
- Convert 0,2 ; Background - 00 Foreground - 02
- Convert 0,3 ; Background - 00 Foreground - 03
- Convert 0,4 ; Background - 00 Foreground - 04
- Convert 0,5 ; Background - 00 Foreground - 05
- Convert 0,6 ; Background - 00 Foreground - 06
- Convert 0,7 ; Background - 00 Foreground - 07
- Convert 0,8 ; Background - 00 Foreground - 08
- Convert 0,9 ; Background - 00 Foreground - 09
- Convert 0,10 ; Background - 00 Foreground - 10
- Convert 0,11 ; Background - 00 Foreground - 11
- Convert 0,12 ; Background - 00 Foreground - 12
- Convert 0,13 ; Background - 00 Foreground - 13
- Convert 0,14 ; Background - 00 Foreground - 14
- Convert 0,15 ; Background - 00 Foreground - 15
- Convert 1,0 ; Background - 01 Foreground - 00
- Convert 1,1 ; Background - 01 Foreground - 01
- Convert 1,2 ; Background - 01 Foreground - 02
- Convert 1,3 ; Background - 01 Foreground - 03
- Convert 1,4 ; Background - 01 Foreground - 04
- Convert 1,5 ; Background - 01 Foreground - 05
- Convert 1,6 ; Background - 01 Foreground - 06
- Convert 1,7 ; Background - 01 Foreground - 07
- Convert 1,8 ; Background - 01 Foreground - 08
- Convert 1,9 ; Background - 01 Foreground - 09
- Convert 1,10 ; Background - 01 Foreground - 10
- Convert 1,11 ; Background - 01 Foreground - 11
- Convert 1,12 ; Background - 01 Foreground - 12
- Convert 1,13 ; Background - 01 Foreground - 13
- Convert 1,14 ; Background - 01 Foreground - 14
- Convert 1,15 ; Background - 01 Foreground - 15
- Convert 2,0 ; Background - 02 Foreground - 00
- Convert 2,1 ; Background - 02 Foreground - 01
- Convert 2,2 ; Background - 02 Foreground - 02
- Convert 2,3 ; Background - 02 Foreground - 03
- Convert 2,4 ; Background - 02 Foreground - 04
- Convert 2,5 ; Background - 02 Foreground - 05
- Convert 2,6 ; Background - 02 Foreground - 06
- Convert 2,7 ; Background - 02 Foreground - 07
- Convert 2,8 ; Background - 02 Foreground - 08
- Convert 2,9 ; Background - 02 Foreground - 09
- Convert 2,10 ; Background - 02 Foreground - 10
- Convert 2,11 ; Background - 02 Foreground - 11
- Convert 2,12 ; Background - 02 Foreground - 12
- Convert 2,13 ; Background - 02 Foreground - 13
- Convert 2,14 ; Background - 02 Foreground - 14
- Convert 2,15 ; Background - 02 Foreground - 15
- Convert 3,0 ; Background - 03 Foreground - 00
- Convert 3,1 ; Background - 03 Foreground - 01
- Convert 3,2 ; Background - 03 Foreground - 02
- Convert 3,3 ; Background - 03 Foreground - 03
- Convert 3,4 ; Background - 03 Foreground - 04
- Convert 3,5 ; Background - 03 Foreground - 05
- Convert 3,6 ; Background - 03 Foreground - 06
- Convert 3,7 ; Background - 03 Foreground - 07
- Convert 3,8 ; Background - 03 Foreground - 08
- Convert 3,9 ; Background - 03 Foreground - 09
- Convert 3,10 ; Background - 03 Foreground - 10
- Convert 3,11 ; Background - 03 Foreground - 11
- Convert 3,12 ; Background - 03 Foreground - 12
- Convert 3,13 ; Background - 03 Foreground - 13
- Convert 3,14 ; Background - 03 Foreground - 14
- Convert 3,15 ; Background - 03 Foreground - 15
- Convert 4,0 ; Background - 04 Foreground - 00
- Convert 4,1 ; Background - 04 Foreground - 01
- Convert 4,2 ; Background - 04 Foreground - 02
- Convert 4,3 ; Background - 04 Foreground - 03
- Convert 4,4 ; Background - 04 Foreground - 04
- Convert 4,5 ; Background - 04 Foreground - 05
- Convert 4,6 ; Background - 04 Foreground - 06
- Convert 4,7 ; Background - 04 Foreground - 07
- Convert 4,8 ; Background - 04 Foreground - 08
- Convert 4,9 ; Background - 04 Foreground - 09
- Convert 4,10 ; Background - 04 Foreground - 10
- Convert 4,11 ; Background - 04 Foreground - 11
- Convert 4,12 ; Background - 04 Foreground - 12
- Convert 4,13 ; Background - 04 Foreground - 13
- Convert 4,14 ; Background - 04 Foreground - 14
- Convert 4,15 ; Background - 04 Foreground - 15
- Convert 5,0 ; Background - 05 Foreground - 00
- Convert 5,1 ; Background - 05 Foreground - 01
- Convert 5,2 ; Background - 05 Foreground - 02
- Convert 5,3 ; Background - 05 Foreground - 03
- Convert 5,4 ; Background - 05 Foreground - 04
- Convert 5,5 ; Background - 05 Foreground - 05
- Convert 5,6 ; Background - 05 Foreground - 06
- Convert 5,7 ; Background - 05 Foreground - 07
- Convert 5,8 ; Background - 05 Foreground - 08
- Convert 5,9 ; Background - 05 Foreground - 09
- Convert 5,10 ; Background - 05 Foreground - 10
- Convert 5,11 ; Background - 05 Foreground - 11
- Convert 5,12 ; Background - 05 Foreground - 12
- Convert 5,13 ; Background - 05 Foreground - 13
- Convert 5,14 ; Background - 05 Foreground - 14
- Convert 5,15 ; Background - 05 Foreground - 15
- Convert 6,0 ; Background - 06 Foreground - 00
- Convert 6,1 ; Background - 06 Foreground - 01
- Convert 6,2 ; Background - 06 Foreground - 02
- Convert 6,3 ; Background - 06 Foreground - 03
- Convert 6,4 ; Background - 06 Foreground - 04
- Convert 6,5 ; Background - 06 Foreground - 05
- Convert 6,6 ; Background - 06 Foreground - 06
- Convert 6,7 ; Background - 06 Foreground - 07
- Convert 6,8 ; Background - 06 Foreground - 08
- Convert 6,9 ; Background - 06 Foreground - 09
- Convert 6,10 ; Background - 06 Foreground - 10
- Convert 6,11 ; Background - 06 Foreground - 11
- Convert 6,12 ; Background - 06 Foreground - 12
- Convert 6,13 ; Background - 06 Foreground - 13
- Convert 6,14 ; Background - 06 Foreground - 14
- Convert 6,15 ; Background - 06 Foreground - 15
- Convert 7,0 ; Background - 07 Foreground - 00
- Convert 7,1 ; Background - 07 Foreground - 01
- Convert 7,2 ; Background - 07 Foreground - 02
- Convert 7,3 ; Background - 07 Foreground - 03
- Convert 7,4 ; Background - 07 Foreground - 04
- Convert 7,5 ; Background - 07 Foreground - 05
- Convert 7,6 ; Background - 07 Foreground - 06
- Convert 7,7 ; Background - 07 Foreground - 07
- Convert 7,8 ; Background - 07 Foreground - 08
- Convert 7,9 ; Background - 07 Foreground - 09
- Convert 7,10 ; Background - 07 Foreground - 10
- Convert 7,11 ; Background - 07 Foreground - 11
- Convert 7,12 ; Background - 07 Foreground - 12
- Convert 7,13 ; Background - 07 Foreground - 13
- Convert 7,14 ; Background - 07 Foreground - 14
- Convert 7,15 ; Background - 07 Foreground - 15
- Convert 8,0 ; Background - 08 Foreground - 00
- Convert 8,1 ; Background - 08 Foreground - 01
- Convert 8,2 ; Background - 08 Foreground - 02
- Convert 8,3 ; Background - 08 Foreground - 03
- Convert 8,4 ; Background - 08 Foreground - 04
- Convert 8,5 ; Background - 08 Foreground - 05
- Convert 8,6 ; Background - 08 Foreground - 06
- Convert 8,7 ; Background - 08 Foreground - 07
- Convert 8,8 ; Background - 08 Foreground - 08
- Convert 8,9 ; Background - 08 Foreground - 09
- Convert 8,10 ; Background - 08 Foreground - 10
- Convert 8,11 ; Background - 08 Foreground - 11
- Convert 8,12 ; Background - 08 Foreground - 12
- Convert 8,13 ; Background - 08 Foreground - 13
- Convert 8,14 ; Background - 08 Foreground - 14
- Convert 8,15 ; Background - 08 Foreground - 15
- Convert 9,0 ; Background - 09 Foreground - 00
- Convert 9,1 ; Background - 09 Foreground - 01
- Convert 9,2 ; Background - 09 Foreground - 02
- Convert 9,3 ; Background - 09 Foreground - 03
- Convert 9,4 ; Background - 09 Foreground - 04
- Convert 9,5 ; Background - 09 Foreground - 05
- Convert 9,6 ; Background - 09 Foreground - 06
- Convert 9,7 ; Background - 09 Foreground - 07
- Convert 9,8 ; Background - 09 Foreground - 08
- Convert 9,9 ; Background - 09 Foreground - 09
- Convert 9,10 ; Background - 09 Foreground - 10
- Convert 9,11 ; Background - 09 Foreground - 11
- Convert 9,12 ; Background - 09 Foreground - 12
- Convert 9,13 ; Background - 09 Foreground - 13
- Convert 9,14 ; Background - 09 Foreground - 14
- Convert 9,15 ; Background - 09 Foreground - 15
- Convert 10,0 ; Background - 10 Foreground - 00
- Convert 10,1 ; Background - 10 Foreground - 01
- Convert 10,2 ; Background - 10 Foreground - 02
- Convert 10,3 ; Background - 10 Foreground - 03
- Convert 10,4 ; Background - 10 Foreground - 04
- Convert 10,5 ; Background - 10 Foreground - 05
- Convert 10,6 ; Background - 10 Foreground - 06
- Convert 10,7 ; Background - 10 Foreground - 07
- Convert 10,8 ; Background - 10 Foreground - 08
- Convert 10,9 ; Background - 10 Foreground - 09
- Convert 10,10 ; Background - 10 Foreground - 10
- Convert 10,11 ; Background - 10 Foreground - 11
- Convert 10,12 ; Background - 10 Foreground - 12
- Convert 10,13 ; Background - 10 Foreground - 13
- Convert 10,14 ; Background - 10 Foreground - 14
- Convert 10,15 ; Background - 10 Foreground - 15
- Convert 11,0 ; Background - 11 Foreground - 00
- Convert 11,1 ; Background - 11 Foreground - 01
- Convert 11,2 ; Background - 11 Foreground - 02
- Convert 11,3 ; Background - 11 Foreground - 03
- Convert 11,4 ; Background - 11 Foreground - 04
- Convert 11,5 ; Background - 11 Foreground - 05
- Convert 11,6 ; Background - 11 Foreground - 06
- Convert 11,7 ; Background - 11 Foreground - 07
- Convert 11,8 ; Background - 11 Foreground - 08
- Convert 11,9 ; Background - 11 Foreground - 09
- Convert 11,10 ; Background - 11 Foreground - 10
- Convert 11,11 ; Background - 11 Foreground - 11
- Convert 11,12 ; Background - 11 Foreground - 12
- Convert 11,13 ; Background - 11 Foreground - 13
- Convert 11,14 ; Background - 11 Foreground - 14
- Convert 11,15 ; Background - 11 Foreground - 15
- Convert 12,0 ; Background - 12 Foreground - 00
- Convert 12,1 ; Background - 12 Foreground - 01
- Convert 12,2 ; Background - 12 Foreground - 02
- Convert 12,3 ; Background - 12 Foreground - 03
- Convert 12,4 ; Background - 12 Foreground - 04
- Convert 12,5 ; Background - 12 Foreground - 05
- Convert 12,6 ; Background - 12 Foreground - 06
- Convert 12,7 ; Background - 12 Foreground - 07
- Convert 12,8 ; Background - 12 Foreground - 08
- Convert 12,9 ; Background - 12 Foreground - 09
- Convert 12,10 ; Background - 12 Foreground - 10
- Convert 12,11 ; Background - 12 Foreground - 11
- Convert 12,12 ; Background - 12 Foreground - 12
- Convert 12,13 ; Background - 12 Foreground - 13
- Convert 12,14 ; Background - 12 Foreground - 14
- Convert 12,15 ; Background - 12 Foreground - 15
- Convert 13,0 ; Background - 13 Foreground - 00
- Convert 13,1 ; Background - 13 Foreground - 01
- Convert 13,2 ; Background - 13 Foreground - 02
- Convert 13,3 ; Background - 13 Foreground - 03
- Convert 13,4 ; Background - 13 Foreground - 04
- Convert 13,5 ; Background - 13 Foreground - 05
- Convert 13,6 ; Background - 13 Foreground - 06
- Convert 13,7 ; Background - 13 Foreground - 07
- Convert 13,8 ; Background - 13 Foreground - 08
- Convert 13,9 ; Background - 13 Foreground - 09
- Convert 13,10 ; Background - 13 Foreground - 10
- Convert 13,11 ; Background - 13 Foreground - 11
- Convert 13,12 ; Background - 13 Foreground - 12
- Convert 13,13 ; Background - 13 Foreground - 13
- Convert 13,14 ; Background - 13 Foreground - 14
- Convert 13,15 ; Background - 13 Foreground - 15
- Convert 14,0 ; Background - 14 Foreground - 00
- Convert 14,1 ; Background - 14 Foreground - 01
- Convert 14,2 ; Background - 14 Foreground - 02
- Convert 14,3 ; Background - 14 Foreground - 03
- Convert 14,4 ; Background - 14 Foreground - 04
- Convert 14,5 ; Background - 14 Foreground - 05
- Convert 14,6 ; Background - 14 Foreground - 06
- Convert 14,7 ; Background - 14 Foreground - 07
- Convert 14,8 ; Background - 14 Foreground - 08
- Convert 14,9 ; Background - 14 Foreground - 09
- Convert 14,10 ; Background - 14 Foreground - 10
- Convert 14,11 ; Background - 14 Foreground - 11
- Convert 14,12 ; Background - 14 Foreground - 12
- Convert 14,13 ; Background - 14 Foreground - 13
- Convert 14,14 ; Background - 14 Foreground - 14
- Convert 14,15 ; Background - 14 Foreground - 15
- Convert 15,0 ; Background - 15 Foreground - 00
- Convert 15,1 ; Background - 15 Foreground - 01
- Convert 15,2 ; Background - 15 Foreground - 02
- Convert 15,3 ; Background - 15 Foreground - 03
- Convert 15,4 ; Background - 15 Foreground - 04
- Convert 15,5 ; Background - 15 Foreground - 05
- Convert 15,6 ; Background - 15 Foreground - 06
- Convert 15,7 ; Background - 15 Foreground - 07
- Convert 15,8 ; Background - 15 Foreground - 08
- Convert 15,9 ; Background - 15 Foreground - 09
- Convert 15,10 ; Background - 15 Foreground - 10
- Convert 15,11 ; Background - 15 Foreground - 11
- Convert 15,12 ; Background - 15 Foreground - 12
- Convert 15,13 ; Background - 15 Foreground - 13
- Convert 15,14 ; Background - 15 Foreground - 14
- Convert 15,15 ; Background - 15 Foreground - 15
- ;******************************************************************************
- ;
- ; Define the text color palette table for CGA display
- ;
- ; 0 0 0 I 0 r g b
- ; -----------------
- ; |7|6|5|4|3|2|1|0|
- ; -----------------
- ; | | | | | | | |
- ; ----- | | | | -------> Primary Blue Gun
- ; | | | | ---------> Primary Green Gun
- ; | | | -----------> Primary Red Gun
- ; | | -------------> ***** Not Used *****
- ; | ---------------> Intensity
- ; -------------------> ***** Not Used *****
- ;
- ;******************************************************************************
- Text_CGA Equ This Byte ; Text CGA color palette table
- CGA <> ; Color 0 - Black []
- CGA <b> ; Color 1 - Blue [b]
- CGA <g> ; Color 2 - Green [g]
- CGA <gb> ; Color 3 - Cyan [gb]
- CGA <r> ; Color 4 - Red [r]
- CGA <rb> ; Color 5 - Magenta [rb]
- CGA <rg> ; Color 6 - Brown [rg]
- CGA <rgb> ; Color 7 - White [rgb]
- CGA <I> ; Color 8 - Gray [I]
- CGA <Ib> ; Color 9 - Light Blue [Ib]
- CGA <Ig> ; Color A - Light Green [Ig]
- CGA <Igb> ; Color B - Light Cyan [Igb]
- CGA <Ir> ; Color C - Light Red [Ir]
- CGA <Irb> ; Color D - Light Magenta [Irb]
- CGA <Irg> ; Color E - Yellow [Irg]
- CGA <Irgb> ; Color F - Intense White [Irgb]
- CGA <> ; Background - Black []
- ;******************************************************************************
- ;
- ; Define the text color palette table for EGA display
- ;
- ; 0 0 R G B r g b
- ; -----------------
- ; |7|6|5|4|3|2|1|0|
- ; -----------------
- ; | | | | | | | |
- ; --- | | | | | -------> Primary Blue Gun
- ; | | | | | ---------> Primary Green Gun
- ; | | | | -----------> Primary Red Gun
- ; | | | -------------> Secondary Blue Gun
- ; | | ---------------> Secondary Green Gun
- ; | -----------------> Secondary Red Gun
- ; --------------------> ***** Not Used *****
- ;
- ;******************************************************************************
- Text_EGA Equ This Byte ; Text EGA color palette table
- EGA <> ; Color 0 - Black []
- EGA <b> ; Color 1 - Blue [b]
- EGA <g> ; Color 2 - Green [g]
- EGA <gb> ; Color 3 - Cyan [gb]
- EGA <r> ; Color 4 - Red [r]
- EGA <rb> ; Color 5 - Magenta [rb]
- EGA <Gr> ; Color 6 - Brown [Gr]
- EGA <rgb> ; Color 7 - White [rgb]
- EGA <RGB> ; Color 8 - Gray [RGB]
- EGA <RGBb> ; Color 9 - Light Blue [RGBb]
- EGA <RGBg> ; Color A - Light Green [RGBg]
- EGA <RGBgb> ; Color B - Light Cyan [RGBgb]
- EGA <RGBr> ; Color C - Light Red [RGBr]
- EGA <RGBrb> ; Color D - Light Magenta [RGBrb]
- EGA <RGBrg> ; Color E - Yellow [RGBrg]
- EGA <RGBrgb> ; Color F - Intense White [RGBrgb]
- EGA <> ; Background - Black []
- ;******************************************************************************
- ;
- ; Define the low resolution color palette table for CGA display
- ;
- ; 0 0 0 I 0 r g b
- ; -----------------
- ; |7|6|5|4|3|2|1|0|
- ; -----------------
- ; | | | | | | | |
- ; ----- | | | | -------> Primary Blue Gun
- ; | | | | ---------> Primary Green Gun
- ; | | | -----------> Primary Red Gun
- ; | | -------------> ***** Not Used *****
- ; | ---------------> Intensity
- ; -------------------> ***** Not Used *****
- ;
- ;******************************************************************************
- Low_CGA Equ This Byte ; Low res. CGA color palette table
- CGA <> ; Color 0 - Black []
- CGA <Irb> ; Color 1 - Magenta [Irb]
- CGA <b> ; Color 2 - Dark Blue [b]
- CGA <rb> ; Color 3 - Purple [rb]
- CGA <g> ; Color 4 - Dark Green [g]
- CGA <I> ; Color 5 - Gray 1 [I]
- CGA <Ib> ; Color 6 - Medium Blue [Ib]
- CGA <Igb> ; Color 7 - Light Blue [Igb]
- CGA <rg> ; Color 8 - Brown [rg]
- CGA <r> ; Color 9 - Orange [r]
- CGA <rgb> ; Color A - Gray 2 [rgb]
- CGA <Ir> ; Color B - Pink [Ir]
- CGA <Ig> ; Color C - Light Green [Ig]
- CGA <Irg> ; Color D - Yellow [Irg]
- CGA <gb> ; Color E - Aquamarine [gb]
- CGA <Irgb> ; Color F - White [Irgb]
- CGA <> ; Background - Black []
- ;******************************************************************************
- ;
- ; Define the low resolution color palette table for EGA display
- ;
- ; 0 0 R G B r g b
- ; -----------------
- ; |7|6|5|4|3|2|1|0|
- ; -----------------
- ; | | | | | | | |
- ; --- | | | | | -------> Primary Blue Gun
- ; | | | | | ---------> Primary Green Gun
- ; | | | | -----------> Primary Red Gun
- ; | | | -------------> Secondary Blue Gun
- ; | | ---------------> Secondary Green Gun
- ; | -----------------> Secondary Red Gun
- ; --------------------> ***** Not Used *****
- ;
- ;******************************************************************************
- Low_EGA Equ This Byte ; Low res. EGA color palette table
- EGA <> ; Color 0 - Black []
- EGA <RBrb> ; Color 1 - Magenta [RBrb]
- EGA <B> ; Color 2 - Dark Blue [B]
- EGA <RB> ; Color 3 - Purple [RB]
- EGA <G> ; Color 4 - Dark Green [G]
- EGA <RGB> ; Color 5 - Gray 1 [RGB]
- EGA <b> ; Color 6 - Medium Blue [b]
- EGA <Bb> ; Color 7 - Light Blue [Bb]
- EGA <Gr> ; Color 8 - Brown [Gr]
- EGA <Rrg> ; Color 9 - Orange [Rrg]
- EGA <rgb> ; Color A - Gray 2 [rgb]
- EGA <RGBr> ; Color B - Pink [RGBr]
- EGA <Gg> ; Color C - Light Green [Gg]
- EGA <RGrg> ; Color D - Yellow [RGrg]
- EGA <Bg> ; Color E - Aquamarine [Bg]
- EGA <RGBrgb> ; Color F - White [RGBrgb]
- EGA <> ; Background - Black []
- ;******************************************************************************
- ;
- ; Define the high resolution color palette table for CGA display
- ;
- ; 0 0 0 I 0 r g b
- ; -----------------
- ; |7|6|5|4|3|2|1|0|
- ; -----------------
- ; | | | | | | | |
- ; ----- | | | | -------> Primary Blue Gun
- ; | | | | ---------> Primary Green Gun
- ; | | | -----------> Primary Red Gun
- ; | | -------------> ***** Not Used *****
- ; | ---------------> Intensity
- ; -------------------> ***** Not Used *****
- ;
- ;******************************************************************************
- High_CGA Equ This Byte ; High res. CGA color palette table
- CGA <> ; Color 0 - Black []
- CGA <Irb> ; Color 1 - Purple [Irb]
- CGA <> ; Color 2 - Black []
- CGA <Ig> ; Color 3 - Green [Ig]
- CGA <> ; Color 4 - Black []
- CGA <Ib> ; Color 5 - Blue [Ib]
- CGA <> ; Color 6 - Black []
- CGA <Irg> ; Color 7 - Orange [Irg]
- CGA <> ; Color 8 - Black []
- CGA <Irb> ; Color 9 - Purple [Irb]
- CGA <> ; Color A - Black []
- CGA <Ig> ; Color B - Green [Ig]
- CGA <> ; Color C - Black []
- CGA <Ib> ; Color D - Blue [Ib]
- CGA <> ; Color E - Black []
- CGA <Irg> ; Color F - Orange [Irg]
- CGA <> ; Background - Black []
- ;******************************************************************************
- ;
- ; Define the high resolution color palette table for EGA display
- ;
- ; 0 0 0 I 0 r g b
- ; -----------------
- ; |7|6|5|4|3|2|1|0|
- ; -----------------
- ; | | | | | | | |
- ; ----- | | | | -------> Primary Blue Gun
- ; | | | | ---------> Primary Green Gun
- ; | | | -----------> Primary Red Gun
- ; | | -------------> ***** Not Used *****
- ; | ---------------> Intensity
- ; -------------------> ***** Not Used *****
- ;
- ;******************************************************************************
- High_EGA Equ This Byte ; High res. EGA color palette table
- CGA <> ; Color 0 - Black []
- CGA <Irb> ; Color 1 - Purple [Irb]
- CGA <> ; Color 2 - Black []
- CGA <Ig> ; Color 3 - Green [Ig]
- CGA <> ; Color 4 - Black []
- CGA <Ib> ; Color 5 - Blue [Ib]
- CGA <> ; Color 6 - Black []
- CGA <Irg> ; Color 7 - Orange [Irg]
- CGA <> ; Color 8 - Black []
- CGA <Irb> ; Color 9 - Purple [Irb]
- CGA <> ; Color A - Black []
- CGA <Ig> ; Color B - Green [Ig]
- CGA <> ; Color C - Black []
- CGA <Ib> ; Color D - Blue [Ib]
- CGA <> ; Color E - Black []
- CGA <Irg> ; Color F - Orange [Irg]
- CGA <> ; Background - Black []
- ;******************************************************************************
- ;
- ; Define the end of the Emulator Code Segment
- ;
- ;******************************************************************************
- Emulate Ends
- End ; End of the Video module