My turn. Here is my very early code of OS that was saved. There no PS/2 procedures (PS2 keyboard was attached to Control Port 2) and ATA/ATAPI stuff (for that board with HDD). But it contains print, input and command buffer parse procedures.
PS Russian comments there. I'm too lazy to translate they to english. Sorry.
Code: Select all
* org $400000
*Заголовок
dc.l $FFFFFC,START,Dead,Dead,Dead,Dead,Dead,Dead
dc.l Dead,Dead,Dead,Dead,Dead,Dead,Dead,Dead
dc.l Dead,Dead,Dead,Dead,Dead,Dead,Dead,Dead
dc.l Dead,Dead,Dead,Dead,Dead,Dead,Dead,Dead
dc.l Dead,Dead,Dead,Dead,Dead,Dead,Dead,Dead
dc.l Dead,Dead,Dead,Dead,Dead,Dead,Dead,Dead
dc.l Dead,Dead,Dead,Dead,Dead,Dead,Dead,Dead
dc.l Dead,Dead,Dead,Dead,Dead,Dead,Dead,Dead
dc.b 'SEGA GENESIS (C)SEGA 2006 JUNE'
dc.b 'SEGA DOS (C) HardWareMan '
dc.b 'SEGA DOS (C) HardWareMan '
dc.b 'GM 00000000-00',$a5,$fb
dc.b 'JD ',$00,$00,$00,$00,$00,$02,$00,$00
dc.b $00,$ff,$00,$00,$ff,$ff,$ff,$ff,' '
dc.b ' '
dc.b ' '
dc.b 'JUE '
*"Заглушка" на неиспользуемые прерывания
Dead: rte
**=====================================================================
*Системные переменные
*Переменные курсора
CurrCurY equ $FF0000
CurrCurX equ CurrCurY+1
*Размер экрана в символах
ScrSizeY equ CurrCurX+1
ScrSizeX equ ScrSizeY+1
*Переменные для ввода
Joystik equ ScrSizeX+1
OldState equ Joystik+2
*Буфер сканкодов (16 байт)
ScanTail equ OldState+2
ScanCode equ ScanTail+4
*Буфер ввода (2..32)
InpBufAdr equ ScanCode+32
*Маски управления
JoyCursor equ $000F
JoyABCS equ $00F0
JoyXYZM equ $0F00
JoyUp equ $0001
JoyDown equ $0002
JoyLeft equ $0004
JoyRight equ $0008
JoyA equ $0040
JoyB equ $0010
JoyC equ $0020
JoyStart equ $0080
JoyX equ $0400
JoyY equ $0200
JoyZ equ $0100
JoyMode equ $0800
*======================================================================
*Системные подпрограммы
*Стирание экрана 40x25
ClearScreen:
suba #4,sp
move.l d0,(sp)
move.l #$40000003,$c00004 ;Запись символа в область #C000
move.l #64*30-1,d0 ;Размер экрана
ClearLoop:
move.w #$8020,$c00000 ;Цикл стирания
dbra d0,ClearLoop
move.w #0,CurrCurY
move.w #$1C28,ScrSizeY
move.l (sp),d0
adda #4,sp
rts
*Скроллинг вверх на одну строку
ScrollUp:
suba #4,sp
move.l d0,(sp)
suba #4,sp
move.l d1,(sp)
suba #4,sp
move.l d2,(sp)
suba #4,sp
move.l d3,(sp)
move.l #$40000003,d0
move.l #$00800003,d1
move.l #64*28-1,d2
ScrollLoop:
move.l d1,$C00004
move.w $C00000,d3
or.w #$8000,d3
move.l d0,$C00004
move.w d3,$C00000
add.l #$20000,d0
add.l #$20000,d1
dbra d2,ScrollLoop
move.l (sp),d3
adda #4,sp
move.l (sp),d2
adda #4,sp
move.l (sp),d1
adda #4,sp
move.l (sp),d0
adda #4,sp
rts
*Печать символа
*[D0] => LBYTE - Символ
OutSymbol:
suba #4,sp
move.l d2,(sp)
suba #4,sp
move.l d1,(sp)
suba #4,sp
move.l d0,(sp)
suba #4,sp
move.l a0,(sp)
and.l #$0000FF,d0
cmp.b #$1F,d0
bls OutControl
move.l #0,d1
move.w CurrCurY,d2
and.l #$FF00,d2
ror.w #2,d2
add.l d2,d1
move.w CurrCurY,d2
and.l #$00FF,d2
add.w d2,d1
rol.l #8,d1
rol.l #8,d1
rol.l #1,d1
or.l #$40000003,d1
move.l d1,$C00004
or.w #$8000,d0
move.w d0,$C00000
bra OutRight
OutControl:
cmp.b #$08,d0
bne Out0A
OutLeft:
cmp.b #0,CurrCurX
beq OutLft
sub.b #1,CurrCurX
bra OutEnd
OutLft: move.b ScrSizeX,d0
sub.b #1,d0
move.b d0,CurrCurX
cmp.b #0,CurrCurY
beq OutEnd
sub.b #1,CurrCurY
bra OutEnd
Out0A: cmp.b #$0A,d0
bne Out0D
bra OutDown
Out0D: cmp.b #$0D,d0
bne Out18
move.w CurrCurY,d0
and.w #$FF00,d0
move.w d0,CurrCurY
bra OutEnd
Out18: cmp.b #$18,d0
bne Out19
OutRight:
add.b #1,$FF0001
move.b ScrSizeX,d0
cmp.b CurrCurX,d0
bgt OutRigCon
move.b #0,CurrCurX
bra OutDown
OutRigCon:
bra OutEnd
Out19: nop
Out1A: cmp.b #$1A,d0
bne OutEnd
OutDown:
add.b #1,CurrCurY
move.b ScrSizeY,d0
cmp.b CurrCurY,d0
bgt OutEnd
sub.b #1,CurrCurY
jsr ScrollUp
bra OutEnd
OutEnd:
move.l (sp),a0
adda #4,sp
move.l (sp),d0
adda #4,sp
move.l (sp),d1
adda #4,sp
move.l (sp),d2
adda #4,sp
rts
*Печать строки до 0;
*(A0) - строка.
PrintString:
suba #4,sp
move.l d0,(sp)
suba #4,sp
move.l a0,(sp)
PrintLoop:
move.l #0,d0
move.b (a0)+,d0
cmp.b #0,d0
beq PrintEnd
jsr OutSymbol
bra PrintLoop
PrintEnd:
move.l (sp),a0
adda #4,sp
move.l (sp),d0
adda #4,sp
rts
*Печать HEX байта [d0]
OutHexByte:
suba #4,sp
move.l d0,(sp)
suba #4,sp
move.l d1,(sp)
move.l d0,d1
ror.l #4,d0
and.l #15,d0
cmp.b #10,d0
blt SkipHi
add.b #7,d0
SkipHi: add.b #$30,d0
jsr OutSymbol
move.l d1,d0
and.l #15,d0
cmp.b #10,d0
blt SkipLo
add.b #7,d0
SkipLo: add.b #$30,d0
jsr OutSymbol
move.l (sp),d1
adda #4,sp
move.l (sp),d0
adda #4,sp
rts
*Печать HEX слова
OutHexWord:
suba #4,sp
move.l d0,(sp)
ror.l #8,d0
jsr OutHexByte
move.l (sp),d0
adda #4,sp
jsr OutHexByte
rts
*Печать HEX двойного слова
OutHexLong:
suba #4,sp
move.l d0,(sp)
ror.l #8,d0
ror.l #8,d0
jsr OutHexWord
move.l (sp),d0
adda #4,sp
jsr OutHexWord
rts
*Печать HEX адреса
OutHexAddr:
suba #4,sp
move.l d0,(sp)
ror.l #8,d0
ror.l #8,d0
jsr OutHexByte
move.l (sp),d0
adda #4,sp
jsr OutHexWord
rts
*Ввод сканкода. [d0] - скан, 'Z' -> Если буфер пуст
*СканБуфер по принципу FIFO
GetScanCode:
or.w #$0700,sr
suba #4,sp
move.l d2,(sp)
suba #4,sp
move.l d1,(sp)
suba #4,sp
move.l a0,(sp)
lea ScanCode,a0
move.l ScanTail,d0
move.l a0,d1
cmp.l d0,d1
bne ScanGt
move.l #$FFFFFFFF,d0
bra GetScanEx
*Выдача головы буфера
ScanGt: lea ScanCode,a0
move.l #0,d0
move.b (a0),d0
move.l ScanTail,d2
*Уменьшение буфера
GetScanFIFO:
add.l #1,a0
move.b (a0),d1
sub.l #1,a0
move.b d1,(a0)
move.l a0,d1
cmp.l d1,d2
beq GetFr
add.l #1,a0
bra GetScanFIFO
GetFr: move.l ScanTail,d2
sub.l #1,d2
move.l d2,ScanTail
GetScanEx:
move.l (sp),a0
adda #4,sp
move.l (sp),d1
adda #4,sp
move.l (sp),d2
adda #4,sp
and.w #$F8FF,sr
rts
*Получение скана с ожиданием
GetScanWait:
jsr GetScanCode
cmp.l #$FFFFFFFF,d0
beq GetScanWait
rts
*Получение кнопки клавиатуры с ожиданием
GetKey: suba #4,sp
move.l a0,(sp)
GetLp: jsr GetScanWait
cmp.b #$8F,d0
bhi GetExt
and.l #$000000FF,d0
rol.w #1,d0
add.l #Scan,d0
move.l d0,a0
move.l #0,d0
move.w (a0),d0
bra GetEx
GetExt: jsr GetScanWait
move.l #0,d0
bra GetLp
GetEx: move.l (sp),a0
adda #4,sp
rts
*Ожидание кнопки джойстика
WaitKey:
suba #4,sp
move.l d0,(sp)
Key0: cmp.w #0,Joystik
bne Key0
Key1: cmp.w #0,Joystik
beq Key1
move.l #1000,d0
Key2: dbne d0,Key2
cmp.w #0,Joystik
beq Key0
move.l (sp),d0
adda #4,sp
rts
*Ввод байта
InputByte:
suba #4,sp
move.l d1,(sp)
suba #4,sp
move.l d2,(sp)
InpBt0: jsr GetKey
move.b d0,d1
cmp.b #$1B,d0
beq InpBt4
cmp.b #$2F,d0
bls InpBt0
cmp.b #$46,d0
bhi InpBt0
cmp.b #$39,d0
bls InpBt1
cmp.b #$40,d0
bls InpBt0
sub.b #7,d1
InpBt1: jsr OutSymbol
rol.b #4,d1
and.b #$F0,d1
InpBt2: jsr GetKey
move.b d0,d2
cmp.b #$1B,d0
beq InpBt4
cmp.b #$2F,d0
bls InpBt2
cmp.b #$46,d0
bhi InpBt2
cmp.b #$39,d0
bls InpBt3
cmp.b #$40,d0
bls InpBt2
sub.b #7,d2
InpBt3: jsr OutSymbol
and.b #$0F,d2
or.b d2,d1
eor d0,d0
move.b d1,d0
bra InpBt5
InpBt4: move.l #$FFFFFFFF,d0
InpBt5: move.l (sp),d2
adda #4,sp
move.l (sp),d1
adda #4,sp
rts
*Ввод буфера
*[a0] - > Вводимый буфер, d0=0 - Ввод без ожидания, возврат в [d0];
* d0=1 - Ввод с ожиданием, возврат в [d0];
* d0=2..FE - Ввод буфера, возврат в (a0);
InpBuffer:
suba #4,sp
move.l d0,(sp)
suba #4,sp
move.l a0,(sp)
move.l #0,(a0)
cmp.b #2,d0
blt SpecialInput
suba #4,sp
move.l d1,(sp)
suba #4,sp
move.l d2,(sp)
move.b #0,(a0)
move.l d0,d2
sub.l #2,d2
move.l d1,0
MainInput:
jsr GetKey
cmp.b #$20,d0
bhi InputSym
cmp.b #$0D,d0
beq InputEntr
cmp.b #$7E,d0
bne MainInput
cmp.l #0,d1
beq MainInput
sub.l #1,a0
sub.l #1,d1
move.b #8,d0
jsr OutSymbol
move.b #32,d0
jsr OutSymbol
move.b #8,d0
jsr OutSymbol
bra MainInput
InputSym:
move.b d0,(a0)
jsr OutSymbol
cmp.b d1,d2
beq InputFull
add.l #1,a0
add.l #1,d1
bra MainInput
InputFull:
move.b #8,d0
jsr OutSymbol
bra MainInput
InputEntr:
move.b #13,d0
jsr OutSymbol
move.b #10,d0
jsr OutSymbol
add.l #1,a0
move.b #0,(a0)
move.l (sp),d2
adda #4,sp
move.l (sp),d1
adda #4,sp
bra SkipWait
SpecialInput:
cmp.b #1,d0
bne SkipWait
jsr GetKey
SkipWait:
move.l (sp),a0
adda #4,sp
move.l (sp),d0
adda #4,sp
rts
*Обработка буфера, определение команды
*Вход [a0] - начало буфера
*Выход [a0] - 1 операнд, [a1] - 2 операнд, [d0] - Команда
LoadRegs:
suba #4,sp
move.l d1,(sp)
suba #4,sp
move.l d2,(sp)
suba #4,sp
move.l d3,(sp)
clr.l d1
clr.l d2
clr.l d3
move.b (a0),d0
cmp.b #0,d0
beq LoadError
cmp.b #$40,d0
bls LoadError
cmp.b #$5F,d0
bgt LoadError
move.l d0,d1
add.l #1,a0
move.l #0,d2
LoadFirst:
move.b (a0),d0
cmp.b #0,d0
beq LoadOk
cmp.b #$2C,d0
beq LoadCont
cmp.b #$30,d0
blt LoadError
cmp.b #$46,d0
bgt LoadError
cmp.b #$3A,d0
blt LoadF0
cmp.b #$41,d0
blt LoadError
sub.b #7,d0
LoadF0: and.b #15,d0
rol.l #4,d2
or.l d0,d2
add.l #1,a0
bra LoadFirst
LoadCont:
add.l #1,a0
move.l #0,d3
LoadSecond:
move.b (a0),d0
cmp.b #0,d0
beq LoadOk
cmp.b #$2C,d0
beq LoadOk
cmp.b #$30,d0
blt LoadError
cmp.b #$46,d0
bgt LoadError
cmp.b #$3A,d0
blt LoadS0
cmp.b #$41,d0
blt LoadError
sub.b #7,d0
LoadS0: and.b #15,d0
rol.l #4,d3
or.l d0,d3
add.l #1,a0
bra LoadSecond
LoadOk:
move.l d1,d0
move.l d2,a0
move.l d3,a1
bra LoadEnd
LoadError:
move.l #0,d0
move.l #0,a0
move.l #0,a1
LoadEnd:
move.l (sp),d3
adda #4,sp
move.l (sp),d2
adda #4,sp
move.l (sp),d1
adda #4,sp
rts
*==================================================================
*
*======================================================================
*Главный старт
START: move.l sp,a7
tst.l $a10008.l
bne.s SkipJoyDetect
tst.w $a1000c.l
SkipJoyDetect:
bne SkipSetup
lea Table(pc),a5
movem.w (a5)+,d5-d7
movem.l (a5)+,a0-a4
move.b -$10ff(a1),d0 ;Check Version Number
andi.b #$0f,d0
beq.s WrongVersion
move.l #$53454741,$2f00(a1) ;Sega Security Code (SEGA)
WrongVersion:
move.w (a4),d0
moveq #$00,d0
movea.l d0,a6
move a6,usp
moveq #$17,d1 ; Set VDP registers
FillLoop:
move.b (a5)+,d5
move.w d5,(a4)
add.w d7,d5
dbra d1,FillLoop
move.l (a5)+,(a4)
move.w d0,(a3)
move.w d7,(a1)
move.w d7,(a2)
L0250:
btst d0,(a1)
bne.s L0250
moveq #$25,d2 ; Put initial vaules into a00000
Filla:
move.b (a5)+,(a0)+
dbra d2,Filla
move.w d0,(a2)
move.w d0,(a1)
move.w d7,(a2)
L0262:
move.l d0,-(a6)
dbra d6,L0262
move.l (a5)+,(a4)
move.l (a5)+,(a4)
moveq #$1f,d3 ; Put initial values into c00000
Filc0:
move.l d0,(a3)
dbra d3,Filc0
move.l (a5)+,(a4)
moveq #$13,d4 ; Put initial values into c00000
Fillc1:
move.l d0,(a3)
dbra d4,Fillc1
moveq #$03,d5 ; Put initial values into c00011
Fillc2:
move.b (a5)+,$0011(a3)
dbra d5,Fillc2
move.w d0,(a2)
movem.l (a6),d0-d7/a0-a6
move #$2700,sr
bra.s Continue
Table:
dc.w $8000,$3fff,$0100,$00a0,$0000,$00a1,$1100,$00a1
dc.w $1200,$00c0,$0000,$00c0,$0004,$0414,$302c,$0754
dc.w $0000,$0000,$0000,$812b,$0001,$0100,$00ff,$ff00
dc.w $0080,$4000,$0080,$af01,$d91f,$1127,$0021,$2600
dc.w $f977,$edb0,$dde1,$fde1,$ed47,$ed4f,$d1e1,$f108
dc.w $d9c1,$d1e1,$f1f9,$f3ed,$5636,$e9e9,$8104,$8f01
dc.w $c000,$0000,$4000,$0010,$9fbf,$dfff
Continue:
tst.w $00C00004
ColorChange:
move.l #$c0000000,$c00004
move.l #$0000,$c00000
move.l #$0000,$c00000
move.l #$0C00,$c00000
move.l #$000C,$c00000
move.l #$0C0C,$c00000
move.l #$00C0,$c00000
move.l #$0CC0,$c00000
move.l #$00CC,$c00000
move.l #$0CCC,$c00000
move.l #$0E44,$c00000
move.l #$044E,$c00000
move.l #$0E4E,$c00000
move.l #$04E4,$c00000
move.l #$0EE4,$c00000
move.l #$04EE,$c00000
move.l #$0EEE,$c00000
move.l #$0000,$c00000
move.l #$0EEE,$c00000
move.l #$04EE,$c00000
move.l #$0EE4,$c00000
move.l #$04E4,$c00000
move.l #$0E4E,$c00000
move.l #$044E,$c00000
move.l #$0E44,$c00000
move.l #$0CCC,$c00000
move.l #$00CC,$c00000
move.l #$0CC0,$c00000
move.l #$00C0,$c00000
move.l #$0C0C,$c00000
move.l #$000C,$c00000
move.l #$0C00,$c00000
move.l #$0000,$c00000
SkipSetup:
*Подготовка к пересылке символов
move.w #$8f02,$c00004 ;Инкремент записи в память
move.l #$40000000,$c00004
lea font(pc),a5
move #4095,d5
*Пересылка символов
VramFont:
move.w (a5)+,$c00000
dbra d5,VramFont
move.w #$8004,$c00004 ;Разрешение отображения
move.w #$8164,$c00004 ;Разрешение отображения!!!!!!!
move.w #$8b08,$c00004 ;Разрешение отображения
move.b #0,$a10013
move.b #$40,$a10009 ;На 1 порту будет всегда джойстик
move.b #$60,$a1000b ;На втором клавка
move.b #$40,$a10005
move.b #$40,$a1000d
lea ScanCode,a0
move.l a0,ScanTail
* and.w #$F8FF,sr
*Конец инициализации и старт программы
WarmStart:
jsr ClearScreen ;Очистка экрана
lea Greet,a0
jsr PrintString ;Печать приветствия
*=======================================================================
*"Монитор"
NextLoop:
move.b #32,d0
* jsr OutSymbol
move.b #32,d0
* jsr OutSymbol
move.b #32,d0
* jsr OutSymbol
move.b #32,d0
* jsr OutSymbol
ScanLoop:
lea Prompt,a0
jsr PrintString
move.l #InpBufAdr,a0
jsr InpBuffer
*Обработка команды
lea LF,a0
jsr PrintString
move.l #InpBufAdr,a0
jsr LoadRegs
*[a0] - 1 операнд, [a1] - 2 операнд, [d0] - Команда
cmp.b #$53,d0 ;[S]ound
beq MusicSet
cmp.b #$44,d0 ;[D]ump
beq DumpMemory
cmp.b #$4C,d0 ;[L]ump
beq ListMemory
cmp.b #$4D,d0 ;[M]emory
beq EditMemory
cmp.b #$49,d0 ;[I]dentify
beq Identify
*Печать ошибки
cmp.b #0,d0
beq ErrCom
lea ErrorU,a0
bra ErrCon
ErrCom: lea ErrorE,a0
ErrCon: jsr PrintString
lea Help,a0
jsr PrintString
bra NextLoop
*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*Процедурки
*Определение харда
Identify:
move.l #$FF8000,a0
* jsr ATAIdentify
bra NextLoop
*Выключение музыки
MusicSet:
move.l a0,d0
* move.w #$FF,$A11200
move.w #$100,$A11100
nop
nop
lea $A009BD,a0
move.b d0,(a0)
move.w #0,$A11100
lea Music0,a0
jsr PrintString
jsr OutHexByte
bra NextLoop
*Дамп памяти
DumpLine:
suba #4,sp
move.l d0,(sp)
move.l a0,d0
jsr OutHexAddr
move.b #32,d0
jsr OutSymbol
jsr OutSymbol
DumpL: move.b (a0),d0
add.l #1,a0
jsr OutHexByte
move.l a0,d0
and.b #$0F,d0
bne DumpL
move.l (sp),d0
adda #4,sp
rts
DumpMemory:
jsr DumpLine
move.l a0,d0
and.l #$FF,d0
bne DumpMemory
move.b #$0D,d0
jsr OutSymbol
move.b #$0A,d0
jsr OutSymbol
jsr GetKey
cmp.b #$1B,d0
bne DumpMemory
bra NextLoop
*Листинг памяти
ListLine:
suba #4,sp
move.l d0,(sp)
move.l a0,d0
jsr OutHexAddr
move.b #32,d0
jsr OutSymbol
jsr OutSymbol
ListL: move.b (a0),d0
add.l #1,a0
cmp.b #$1F,d0
bgt ListS
move.b #$2E,d0
ListS: jsr OutSymbol
move.l a0,d0
and.b #$0F,d0
bne ListL
move.b #$0D,d0
jsr OutSymbol
move.b #$0A,d0
jsr OutSymbol
move.l (sp),d0
adda #4,sp
rts
ListMemory:
jsr ListLine
move.l a0,d0
and.l #$FF,d0
bne ListMemory
move.b #$0D,d0
jsr OutSymbol
move.b #$0A,d0
jsr OutSymbol
jsr GetKey
cmp.b #$1B,d0
bne ListMemory
bra NextLoop
*Редактор памяти
EditMemory:
move.l a0,a1
EditLoop:
move.l a1,d0
jsr OutHexAddr
move.b #32,d0
jsr OutSymbol
jsr OutSymbol
move.b (a1),d0
jsr OutHexByte
move.b #32,d0
jsr OutSymbol
jsr InputByte
cmp.l #$FFFFFFFF,d0
beq EditExit
move.b d0,(a1)
add.l #1,a1
move.b #$0D,d0
jsr OutSymbol
move.b #$0A,d0
jsr OutSymbol
bra EditLoop
EditExit:
move.b #$0D,d0
jsr OutSymbol
move.b #$0A,d0
jsr OutSymbol
bra NextLoop
*Тексты
Greet: dc.b 'Sega DOS V2.56',$0D,$0A,0
Prompt: dc.b '=>',0
ErrorU: dc.b 'Неизвестная команда',$0D,$0A,0
ErrorE: dc.b 'Ошибка в команде',$0D,$0A,0
Music0: dc.b 'Выбор мелодии номер ',0
Help: dc.b 'Доступные команды:',$0D,$0A
dc.b 'D<ADRBEG> - Дамп памяти;',$0D,$0A
dc.b 'L<ADRBEG> - Листинг памяти;',$0D,$0A
dc.b 'M<ADRBEG> - Редактор памяти;',$0D,$0A
dc.b 'I - Определить HDD;',$0D,$0A
dc.b 'S<NUM> - Выбрать мелодию с',$0D,$0A
dc.b ' номером от 1 до 14H'
dc.b '----------------------------------------',$0D,$0A,0
dc.b 0
*Данные
*Таблицы нормальных сканкодов
* 0 1 2 3 4 5 6 7 8 9 A B C D E F
Scan: dc.w $00,$88,$00,$84,$82,$80,$81,$8B,$00,$89,$87,$85,$83,$09,$00,$00 *00H
dc.w $00,$00,$00,$00,$00,$51,$31,$00,$00,$00,$5A,$53,$41,$57,$32,$00 *10H
dc.w $00,$43,$58,$44,$45,$34,$33,$00,$00,$20,$56,$46,$54,$52,$35,$00 *20H
dc.w $00,$4E,$42,$48,$47,$59,$36,$00,$00,$00,$4D,$4A,$55,$37,$38,$00 *30H
dc.w $00,$2C,$4B,$49,$4F,$30,$39,$00,$00,$2E,$2F,$4C,$3B,$50,$2D,$00 *40H
dc.w $00,$00,$00,$00,$5B,$3D,$00,$00,$00,$00,$0D,$5D,$00,$5C,$00,$00 *50H
dc.w $00,$00,$00,$00,$00,$00,$7F,$00,$00,$00,$00,$00,$00,$00,$00,$00 *60H
dc.w $00,$00,$00,$00,$00,$00,$1B,$00,$8A,$00,$00,$00,$00,$00,$00,$00 *70H
dc.w $00,$00,$00,$86,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 *80H
*Таблицы расширеных сканкодов
ScanE: dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
*Шрифт 8x8 cp866
Font: dc.w $1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111
dc.w $1FFF,$FFF1,$F111,$111F,$F1F1,$1F1F,$F111,$111F,$F1FF,$FF1F,$F11F,$F11F,$F111,$111F,$1FFF,$FFF1
dc.w $1FFF,$FFF1,$FFFF,$FFFF,$FF1F,$F1FF,$FFFF,$FFFF,$FF11,$11FF,$FFF1,$1FFF,$FFFF,$FFFF,$1FFF,$FFF1
dc.w $1FF1,$FF11,$FFFF,$FFF1,$FFFF,$FFF1,$FFFF,$FFF1,$1FFF,$FF11,$11FF,$F111,$111F,$1111,$1111,$1111
dc.w $111F,$1111,$11FF,$F111,$1FFF,$FF11,$FFFF,$FFF1,$1FFF,$FF11,$11FF,$F111,$111F,$1111,$1111,$1111
dc.w $11FF,$F111,$1FFF,$FF11,$11FF,$F111,$FFFF,$FFF1,$FFFF,$FFF1,$1FFF,$FF11,$11FF,$F111,$1FFF,$FF11
dc.w $111F,$1111,$111F,$1111,$11FF,$F111,$1FFF,$FF11,$FFFF,$FFF1,$1FFF,$FF11,$11FF,$F111,$1FFF,$FF11
dc.w $1111,$1111,$1111,$1111,$111F,$F111,$11FF,$FF11,$11FF,$FF11,$111F,$F111,$1111,$1111,$1111,$1111
dc.w $FFFF,$FFFF,$FFFF,$FFFF,$FFF1,$1FFF,$FF11,$11FF,$FF11,$11FF,$FFF1,$1FFF,$FFFF,$FFFF,$FFFF,$FFFF
dc.w $1111,$1111,$11FF,$FF11,$1FF1,$1FF1,$1F11,$11F1,$1F11,$11F1,$1FF1,$1FF1,$11FF,$FF11,$1111,$1111
dc.w $FFFF,$FFFF,$FF11,$11FF,$F11F,$F11F,$F1FF,$FF1F,$F1FF,$FF1F,$F11F,$F11F,$FF11,$11FF,$FFFF,$FFFF
dc.w $1111,$FFFF,$1111,$1FFF,$1111,$FFFF,$1FFF,$FF1F,$FF11,$FF11,$FF11,$FF11,$FF11,$FF11,$1FFF,$F111
dc.w $11FF,$FF11,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$11FF,$FF11,$111F,$F111,$1FFF,$FFF1,$111F,$F111
dc.w $11FF,$FFFF,$11FF,$11FF,$11FF,$FFFF,$11FF,$1111,$11FF,$1111,$1FFF,$1111,$FFFF,$1111,$FFF1,$1111
dc.w $1FFF,$FFFF,$1FF1,$11FF,$1FFF,$FFFF,$1FF1,$11FF,$1FF1,$11FF,$1FF1,$1FFF,$FFF1,$1FF1,$FF11,$1111
dc.w $F11F,$F11F,$1F1F,$F1F1,$11FF,$FF11,$FFF1,$1FFF,$FFF1,$1FFF,$11FF,$FF11,$1F1F,$F1F1,$F11F,$F11F
dc.w $F111,$1111,$FFF1,$1111,$FFFF,$F111,$FFFF,$FFF1,$FFFF,$F111,$FFF1,$1111,$F111,$1111,$1111,$1111
dc.w $1111,$11F1,$1111,$FFF1,$11FF,$FFF1,$FFFF,$FFF1,$11FF,$FFF1,$1111,$FFF1,$1111,$11F1,$1111,$1111
dc.w $111F,$F111,$11FF,$FF11,$1FFF,$FFF1,$111F,$F111,$111F,$F111,$1FFF,$FFF1,$11FF,$FF11,$111F,$F111
dc.w $1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1111,$1111,$1FF1,$1FF1,$1111,$1111
dc.w $1FFF,$FFFF,$FF1F,$F1FF,$FF1F,$F1FF,$1FFF,$F1FF,$111F,$F1FF,$111F,$F1FF,$111F,$F1FF,$1111,$1111
dc.w $11FF,$FFF1,$1FF1,$11FF,$11FF,$F111,$1FF1,$FF11,$1FF1,$FF11,$11FF,$F111,$FF11,$FF11,$1FFF,$F111
dc.w $1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1FFF,$FFF1,$1FFF,$FFF1,$1FFF,$FFF1,$1111,$1111
dc.w $111F,$F111,$11FF,$FF11,$1FFF,$FFF1,$111F,$F111,$1FFF,$FFF1,$11FF,$FF11,$111F,$F111,$FFFF,$FFFF
dc.w $111F,$F111,$11FF,$FF11,$1FFF,$FFF1,$111F,$F111,$111F,$F111,$111F,$F111,$111F,$F111,$1111,$1111
dc.w $111F,$F111,$111F,$F111,$111F,$F111,$111F,$F111,$1FFF,$FFF1,$11FF,$FF11,$111F,$F111,$1111,$1111
dc.w $1111,$1111,$111F,$F111,$1111,$FF11,$FFFF,$FFF1,$1111,$FF11,$111F,$F111,$1111,$1111,$1111,$1111
dc.w $1111,$1111,$11FF,$1111,$1FF1,$1111,$FFFF,$FFF1,$1FF1,$1111,$11FF,$1111,$1111,$1111,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$FF11,$1111,$FF11,$1111,$FF11,$1111,$FFFF,$FFF1,$1111,$1111,$1111,$1111
dc.w $1111,$1111,$11F1,$1F11,$1FF1,$1FF1,$FFFF,$FFFF,$1FF1,$1FF1,$11F1,$1F11,$1111,$1111,$1111,$1111
dc.w $1111,$1111,$111F,$F111,$11FF,$FF11,$1FFF,$FFF1,$FFFF,$FFFF,$FFFF,$FFFF,$1111,$1111,$1111,$1111
dc.w $1111,$1111,$FFFF,$FFFF,$FFFF,$FFFF,$1FFF,$FFF1,$11FF,$FF11,$111F,$F111,$1111,$1111,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111
dc.w $11FF,$1111,$1FFF,$F111,$1FFF,$F111,$11FF,$1111,$11FF,$1111,$1111,$1111,$11FF,$1111,$1111,$1111
dc.w $1FF1,$FF11,$1FF1,$FF11,$1FF1,$FF11,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111
dc.w $1FF1,$FF11,$1FF1,$FF11,$FFFF,$FFF1,$1FF1,$FF11,$FFFF,$FFF1,$1FF1,$FF11,$1FF1,$FF11,$1111,$1111
dc.w $11FF,$1111,$1FFF,$FF11,$FF11,$1111,$1FFF,$F111,$1111,$FF11,$FFFF,$F111,$11FF,$1111,$1111,$1111
dc.w $1111,$1111,$FF11,$1FF1,$FF11,$FF11,$111F,$F111,$11FF,$1111,$1FF1,$1FF1,$FF11,$1FF1,$1111,$1111
dc.w $11FF,$F111,$1FF1,$FF11,$11FF,$F111,$1FFF,$1FF1,$FF1F,$FF11,$FF11,$FF11,$1FFF,$1FF1,$1111,$1111
dc.w $1FF1,$1111,$1FF1,$1111,$FF11,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111
dc.w $111F,$F111,$11FF,$1111,$1FF1,$1111,$1FF1,$1111,$1FF1,$1111,$11FF,$1111,$111F,$F111,$1111,$1111
dc.w $1FF1,$1111,$11FF,$1111,$111F,$F111,$111F,$F111,$111F,$F111,$11FF,$1111,$1FF1,$1111,$1111,$1111
dc.w $1111,$1111,$1FF1,$1FF1,$11FF,$FF11,$FFFF,$FFFF,$11FF,$FF11,$1FF1,$1FF1,$1111,$1111,$1111,$1111
dc.w $1111,$1111,$11FF,$1111,$11FF,$1111,$FFFF,$FF11,$11FF,$1111,$11FF,$1111,$1111,$1111,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$11FF,$1111,$11FF,$1111,$1FF1,$1111
dc.w $1111,$1111,$1111,$1111,$1111,$1111,$FFFF,$FF11,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$11FF,$1111,$11FF,$1111,$1111,$1111
dc.w $1111,$1FF1,$1111,$FF11,$111F,$F111,$11FF,$1111,$1FF1,$1111,$FF11,$1111,$F111,$1111,$1111,$1111
dc.w $1FFF,$FF11,$FF11,$1FF1,$FF11,$FFF1,$FF1F,$FFF1,$FFFF,$1FF1,$FFF1,$1FF1,$1FFF,$FF11,$1111,$1111
dc.w $11FF,$1111,$1FFF,$1111,$11FF,$1111,$11FF,$1111,$11FF,$1111,$11FF,$1111,$FFFF,$FF11,$1111,$1111
dc.w $1FFF,$F111,$FF11,$FF11,$1111,$FF11,$11FF,$F111,$1FF1,$1111,$FF11,$FF11,$FFFF,$FF11,$1111,$1111
dc.w $1FFF,$F111,$FF11,$FF11,$1111,$FF11,$11FF,$F111,$1111,$FF11,$FF11,$FF11,$1FFF,$F111,$1111,$1111
dc.w $111F,$FF11,$11FF,$FF11,$1FF1,$FF11,$FF11,$FF11,$FFFF,$FFF1,$1111,$FF11,$111F,$FFF1,$1111,$1111
dc.w $FFFF,$FF11,$FF11,$1111,$FFFF,$F111,$1111,$FF11,$1111,$FF11,$FF11,$FF11,$1FFF,$F111,$1111,$1111
dc.w $11FF,$F111,$1FF1,$1111,$FF11,$1111,$FFFF,$F111,$FF11,$FF11,$FF11,$FF11,$1FFF,$F111,$1111,$1111
dc.w $FFFF,$FF11,$FF11,$FF11,$1111,$FF11,$111F,$F111,$11FF,$1111,$11FF,$1111,$11FF,$1111,$1111,$1111
dc.w $1FFF,$F111,$FF11,$FF11,$FF11,$FF11,$1FFF,$F111,$FF11,$FF11,$FF11,$FF11,$1FFF,$F111,$1111,$1111
dc.w $1FFF,$F111,$FF11,$FF11,$FF11,$FF11,$1FFF,$FF11,$1111,$FF11,$111F,$F111,$1FFF,$1111,$1111,$1111
dc.w $1111,$1111,$11FF,$1111,$11FF,$1111,$1111,$1111,$1111,$1111,$11FF,$1111,$11FF,$1111,$1111,$1111
dc.w $1111,$1111,$11FF,$1111,$11FF,$1111,$1111,$1111,$1111,$1111,$11FF,$1111,$11FF,$1111,$1FF1,$1111
dc.w $111F,$F111,$11FF,$1111,$1FF1,$1111,$FF11,$1111,$1FF1,$1111,$11FF,$1111,$111F,$F111,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$FFFF,$FF11,$1111,$1111,$1111,$1111,$FFFF,$FF11,$1111,$1111,$1111,$1111
dc.w $1FF1,$1111,$11FF,$1111,$111F,$F111,$1111,$FF11,$111F,$F111,$11FF,$1111,$1FF1,$1111,$1111,$1111
dc.w $1FFF,$F111,$FF11,$FF11,$1111,$FF11,$111F,$F111,$11FF,$1111,$1111,$1111,$11FF,$1111,$1111,$1111
dc.w $1FFF,$FF11,$FF11,$1FF1,$FF1F,$FFF1,$FF1F,$FFF1,$FF1F,$FFF1,$FF11,$1111,$1FFF,$F111,$1111,$1111
dc.w $11FF,$1111,$1FFF,$F111,$FF11,$FF11,$FF11,$FF11,$FFFF,$FF11,$FF11,$FF11,$FF11,$FF11,$1111,$1111
dc.w $FFFF,$FF11,$1FF1,$1FF1,$1FF1,$1FF1,$1FFF,$FF11,$1FF1,$1FF1,$1FF1,$1FF1,$FFFF,$FF11,$1111,$1111
dc.w $11FF,$FF11,$1FF1,$1FF1,$FF11,$1111,$FF11,$1111,$FF11,$1111,$1FF1,$1FF1,$11FF,$FF11,$1111,$1111
dc.w $FFFF,$F111,$1FF1,$FF11,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$FF11,$FFFF,$F111,$1111,$1111
dc.w $FFFF,$FFF1,$1FF1,$11F1,$1FF1,$F111,$1FFF,$F111,$1FF1,$F111,$1FF1,$11F1,$FFFF,$FFF1,$1111,$1111
dc.w $FFFF,$FFF1,$1FF1,$11F1,$1FF1,$F111,$1FFF,$F111,$1FF1,$F111,$1FF1,$1111,$FFFF,$1111,$1111,$1111
dc.w $11FF,$FF11,$1FF1,$1FF1,$FF11,$1111,$FF11,$1111,$FF11,$FFF1,$1FF1,$1FF1,$11FF,$FFF1,$1111,$1111
dc.w $FF11,$FF11,$FF11,$FF11,$FF11,$FF11,$FFFF,$FF11,$FF11,$FF11,$FF11,$FF11,$FF11,$FF11,$1111,$1111
dc.w $1FFF,$F111,$11FF,$1111,$11FF,$1111,$11FF,$1111,$11FF,$1111,$11FF,$1111,$1FFF,$F111,$1111,$1111
dc.w $111F,$FFF1,$1111,$FF11,$1111,$FF11,$1111,$FF11,$FF11,$FF11,$FF11,$FF11,$1FFF,$F111,$1111,$1111
dc.w $FFF1,$1FF1,$1FF1,$1FF1,$1FF1,$FF11,$1FFF,$F111,$1FF1,$FF11,$1FF1,$1FF1,$FFF1,$1FF1,$1111,$1111
dc.w $FFFF,$1111,$1FF1,$1111,$1FF1,$1111,$1FF1,$1111,$1FF1,$11F1,$1FF1,$1FF1,$FFFF,$FFF1,$1111,$1111
dc.w $FF11,$1FF1,$FFF1,$FFF1,$FFFF,$FFF1,$FFFF,$FFF1,$FF1F,$1FF1,$FF11,$1FF1,$FF11,$1FF1,$1111,$1111
dc.w $FF11,$1FF1,$FFF1,$1FF1,$FFFF,$1FF1,$FF1F,$FFF1,$FF11,$FFF1,$FF11,$1FF1,$FF11,$1FF1,$1111,$1111
dc.w $11FF,$F111,$1FF1,$FF11,$FF11,$1FF1,$FF11,$1FF1,$FF11,$1FF1,$1FF1,$FF11,$11FF,$F111,$1111,$1111
dc.w $FFFF,$FF11,$1FF1,$1FF1,$1FF1,$1FF1,$1FFF,$FF11,$1FF1,$1111,$1FF1,$1111,$FFFF,$1111,$1111,$1111
dc.w $1FFF,$F111,$FF11,$FF11,$FF11,$FF11,$FF11,$FF11,$FF1F,$FF11,$1FFF,$F111,$111F,$FF11,$1111,$1111
dc.w $FFFF,$FF11,$1FF1,$1FF1,$1FF1,$1FF1,$1FFF,$FF11,$1FF1,$FF11,$1FF1,$1FF1,$FFF1,$1FF1,$1111,$1111
dc.w $1FFF,$F111,$FF11,$FF11,$FFF1,$1111,$1FFF,$1111,$111F,$FF11,$FF11,$FF11,$1FFF,$F111,$1111,$1111
dc.w $FFFF,$FF11,$F1FF,$1F11,$11FF,$1111,$11FF,$1111,$11FF,$1111,$11FF,$1111,$1FFF,$F111,$1111,$1111
dc.w $FF11,$FF11,$FF11,$FF11,$FF11,$FF11,$FF11,$FF11,$FF11,$FF11,$FF11,$FF11,$FFFF,$FF11,$1111,$1111
dc.w $FF11,$FF11,$FF11,$FF11,$FF11,$FF11,$FF11,$FF11,$FF11,$FF11,$1FFF,$F111,$11FF,$1111,$1111,$1111
dc.w $FF11,$1FF1,$FF11,$1FF1,$FF11,$1FF1,$FF1F,$1FF1,$FFFF,$FFF1,$FFF1,$FFF1,$FF11,$1FF1,$1111,$1111
dc.w $FF11,$1FF1,$FF11,$1FF1,$1FF1,$FF11,$11FF,$F111,$11FF,$F111,$1FF1,$FF11,$FF11,$1FF1,$1111,$1111
dc.w $FF11,$FF11,$FF11,$FF11,$FF11,$FF11,$1FFF,$F111,$11FF,$1111,$11FF,$1111,$1FFF,$F111,$1111,$1111
dc.w $FFFF,$FFF1,$FF11,$1FF1,$F111,$FF11,$111F,$F111,$11FF,$11F1,$1FF1,$1FF1,$FFFF,$FFF1,$1111,$1111
dc.w $1FFF,$F111,$1FF1,$1111,$1FF1,$1111,$1FF1,$1111,$1FF1,$1111,$1FF1,$1111,$1FFF,$F111,$1111,$1111
dc.w $FF11,$1111,$1FF1,$1111,$11FF,$1111,$111F,$F111,$1111,$FF11,$1111,$1FF1,$1111,$11F1,$1111,$1111
dc.w $1FFF,$F111,$111F,$F111,$111F,$F111,$111F,$F111,$111F,$F111,$111F,$F111,$1FFF,$F111,$1111,$1111
dc.w $111F,$1111,$11FF,$F111,$1FF1,$FF11,$FF11,$1FF1,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$FFFF,$FFFF
dc.w $11FF,$1111,$11FF,$1111,$111F,$F111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1FFF,$F111,$1111,$FF11,$1FFF,$FF11,$FF11,$FF11,$1FFF,$1FF1,$1111,$1111
dc.w $FFF1,$1111,$1FF1,$1111,$1FF1,$1111,$1FFF,$FF11,$1FF1,$1FF1,$1FF1,$1FF1,$FF1F,$FF11,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1FFF,$F111,$FF11,$FF11,$FF11,$1111,$FF11,$FF11,$1FFF,$F111,$1111,$1111
dc.w $111F,$FF11,$1111,$FF11,$1111,$FF11,$1FFF,$FF11,$FF11,$FF11,$FF11,$FF11,$1FFF,$1FF1,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1FFF,$F111,$FF11,$FF11,$FFFF,$FF11,$FF11,$1111,$1FFF,$F111,$1111,$1111
dc.w $11FF,$F111,$1FF1,$FF11,$1FF1,$1111,$FFFF,$1111,$1FF1,$1111,$1FF1,$1111,$FFFF,$1111,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1FFF,$1FF1,$FF11,$FF11,$FF11,$FF11,$1FFF,$FF11,$1111,$FF11,$FFFF,$F111
dc.w $FFF1,$1111,$1FF1,$1111,$1FF1,$FF11,$1FFF,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$FFF1,$1FF1,$1111,$1111
dc.w $11FF,$1111,$1111,$1111,$1FFF,$1111,$11FF,$1111,$11FF,$1111,$11FF,$1111,$1FFF,$F111,$1111,$1111
dc.w $1111,$FF11,$1111,$1111,$1111,$FF11,$1111,$FF11,$1111,$FF11,$FF11,$FF11,$FF11,$FF11,$1FFF,$F111
dc.w $FFF1,$1111,$1FF1,$1111,$1FF1,$1FF1,$1FF1,$FF11,$1FFF,$F111,$1FF1,$FF11,$FFF1,$1FF1,$1111,$1111
dc.w $1FFF,$1111,$11FF,$1111,$11FF,$1111,$11FF,$1111,$11FF,$1111,$11FF,$1111,$1FFF,$F111,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$FF11,$FF11,$FFFF,$FFF1,$FFFF,$FFF1,$FF1F,$1FF1,$FF11,$1FF1,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$FFFF,$F111,$FF11,$FF11,$FF11,$FF11,$FF11,$FF11,$FF11,$FF11,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1FFF,$F111,$FF11,$FF11,$FF11,$FF11,$FF11,$FF11,$1FFF,$F111,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$FF1F,$FF11,$1FF1,$1FF1,$1FF1,$1FF1,$1FFF,$FF11,$1FF1,$1111,$FFFF,$1111
dc.w $1111,$1111,$1111,$1111,$1FFF,$1FF1,$FF11,$FF11,$FF11,$FF11,$1FFF,$FF11,$1111,$FF11,$111F,$FFF1
dc.w $1111,$1111,$1111,$1111,$FF1F,$FF11,$1FFF,$1FF1,$1FF1,$1FF1,$1FF1,$1111,$FFFF,$1111,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1FFF,$FF11,$FF11,$1111,$1FFF,$F111,$1111,$FF11,$FFFF,$F111,$1111,$1111
dc.w $111F,$1111,$11FF,$1111,$1FFF,$FF11,$11FF,$1111,$11FF,$1111,$11FF,$1F11,$111F,$F111,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$FF11,$FF11,$FF11,$FF11,$FF11,$FF11,$FF11,$FF11,$1FFF,$1FF1,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$FF11,$FF11,$FF11,$FF11,$FF11,$FF11,$1FFF,$F111,$11FF,$1111,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$FF11,$1FF1,$FF1F,$1FF1,$FFFF,$FFF1,$FFFF,$FFF1,$1FF1,$FF11,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$FF11,$1FF1,$1FF1,$FF11,$11FF,$F111,$1FF1,$FF11,$FF11,$1FF1,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$FF11,$FF11,$FF11,$FF11,$FF11,$FF11,$1FFF,$FF11,$1111,$FF11,$FFFF,$F111
dc.w $1111,$1111,$1111,$1111,$FFFF,$FF11,$F11F,$F111,$11FF,$1111,$1FF1,$1F11,$FFFF,$FF11,$1111,$1111
dc.w $111F,$FF11,$11FF,$1111,$11FF,$1111,$FFF1,$1111,$11FF,$1111,$11FF,$1111,$111F,$FF11,$1111,$1111
dc.w $111F,$F111,$111F,$F111,$111F,$F111,$1111,$1111,$111F,$F111,$111F,$F111,$111F,$F111,$1111,$1111
dc.w $FFF1,$1111,$11FF,$1111,$11FF,$1111,$111F,$FF11,$11FF,$1111,$11FF,$1111,$FFF1,$1111,$1111,$1111
dc.w $1FFF,$1FF1,$FF1F,$FF11,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111
dc.w $1111,$1111,$111F,$1111,$11FF,$F111,$1FF1,$FF11,$FF11,$1FF1,$FF11,$1FF1,$FFFF,$FFF1,$1111,$1111
dc.w $111F,$FFF1,$11FF,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FFF,$FFF1,$1FF1,$1FF1,$1FF1,$1FF1,$1111,$1111
dc.w $1FFF,$FF11,$1FF1,$1111,$1FF1,$1111,$1FFF,$FF11,$1FF1,$1FF1,$1FF1,$1FF1,$1FFF,$FF11,$1111,$1111
dc.w $1FFF,$FF11,$1FF1,$1FF1,$1FF1,$1FF1,$1FFF,$FF11,$1FF1,$1FF1,$1FF1,$1FF1,$1FFF,$FF11,$1111,$1111
dc.w $1FFF,$FFF1,$1FF1,$1111,$1FF1,$1111,$1FF1,$1111,$1FF1,$1111,$1FF1,$1111,$1FF1,$1111,$1111,$1111
dc.w $11FF,$F111,$1FF1,$FF11,$1FF1,$FF11,$1FF1,$FF11,$1FF1,$FF11,$1FF1,$FF11,$FFFF,$FFF1,$FF11,$1FF1
dc.w $1FFF,$FFF1,$1FF1,$1111,$1FF1,$1111,$1FFF,$FF11,$1FF1,$1111,$1FF1,$1111,$1FFF,$FFF1,$1111,$1111
dc.w $FF1F,$F1FF,$FF1F,$F1FF,$1FFF,$FFF1,$11FF,$FF11,$1FFF,$FFF1,$FF1F,$F1FF,$FF1F,$F1FF,$1111,$1111
dc.w $11FF,$FF11,$1FF1,$1FF1,$1111,$1FF1,$111F,$FF11,$1111,$1FF1,$1FF1,$1FF1,$11FF,$FF11,$1111,$1111
dc.w $1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$FFF1,$1FFF,$FFF1,$1FFF,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1111,$1111
dc.w $11FF,$FF11,$1FF1,$1FF1,$1FF1,$FFF1,$1FFF,$FFF1,$1FFF,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1111,$1111
dc.w $1FF1,$1FF1,$1FF1,$FF11,$1FFF,$F111,$1FFF,$1111,$1FFF,$F111,$1FF1,$FF11,$1FF1,$1FF1,$1111,$1111
dc.w $111F,$FFF1,$11FF,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1111,$1111
dc.w $FF11,$1FF1,$FFF1,$FFF1,$FFFF,$FFF1,$FFFF,$FFF1,$FF1F,$1FF1,$FF11,$1FF1,$FF11,$1FF1,$1111,$1111
dc.w $1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FFF,$FFF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1111,$1111
dc.w $11FF,$FF11,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$11FF,$FF11,$1111,$1111
dc.w $1FFF,$FFF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1111,$1111
dc.w $1FFF,$FF11,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FFF,$FF11,$1FF1,$1111,$1FF1,$1111,$1111,$1111
dc.w $11FF,$FF11,$1FF1,$1FF1,$1FF1,$1111,$1FF1,$1111,$1FF1,$1111,$1FF1,$1FF1,$11FF,$FF11,$1111,$1111
dc.w $1FFF,$FFF1,$111F,$F111,$111F,$F111,$111F,$F111,$111F,$F111,$111F,$F111,$111F,$F111,$1111,$1111
dc.w $1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$11FF,$FFF1,$1111,$1FF1,$1FF1,$1FF1,$11FF,$FF11,$1111,$1111
dc.w $1FFF,$FFF1,$FF1F,$F1FF,$FF1F,$F1FF,$FF1F,$F1FF,$1FFF,$FFF1,$111F,$F111,$111F,$F111,$1111,$1111
dc.w $1FF1,$1FF1,$1FF1,$1FF1,$11FF,$FF11,$111F,$F111,$11FF,$FF11,$1FF1,$1FF1,$1FF1,$1FF1,$1111,$1111
dc.w $1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FFF,$FFFF,$1111,$11FF
dc.w $1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$11FF,$FFF1,$1111,$1FF1,$1111,$1FF1,$1111,$1FF1,$1111,$1111
dc.w $FF1F,$F1FF,$FF1F,$F1FF,$FF1F,$F1FF,$FF1F,$F1FF,$FF1F,$F1FF,$FF1F,$F1FF,$FFFF,$FFFF,$1111,$1111
dc.w $FF1F,$F1FF,$FF1F,$F1FF,$FF1F,$F1FF,$FF1F,$F1FF,$FF1F,$F1FF,$FF1F,$F1FF,$FFFF,$FFFF,$1111,$11FF
dc.w $FFF1,$1111,$1FF1,$1111,$1FF1,$1111,$1FFF,$FF11,$1FF1,$1FF1,$1FF1,$1FF1,$1FFF,$FF11,$1111,$1111
dc.w $FF11,$1FF1,$FF11,$1FF1,$FF11,$1FF1,$FFFF,$1FF1,$FF1F,$FFF1,$FF1F,$FFF1,$FFFF,$1FF1,$1111,$1111
dc.w $1FF1,$1111,$1FF1,$1111,$1FF1,$1111,$1FFF,$FF11,$1FF1,$1FF1,$1FF1,$1FF1,$1FFF,$FF11,$1111,$1111
dc.w $1FFF,$F111,$F111,$FF11,$1111,$1FF1,$11FF,$FFF1,$1111,$1FF1,$F111,$FF11,$1FFF,$F111,$1111,$1111
dc.w $FF11,$FFF1,$FF1F,$F1FF,$FF1F,$F1FF,$FFFF,$F1FF,$FF1F,$F1FF,$FF1F,$F1FF,$FF11,$FFF1,$1111,$1111
dc.w $11FF,$FFF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$11FF,$FFF1,$11FF,$1FF1,$1FF1,$1FF1,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1FFF,$F111,$1111,$FF11,$1FFF,$FF11,$FF11,$FF11,$1FFF,$1FF1,$1111,$1111
dc.w $1111,$1111,$11FF,$FF11,$1FF1,$1111,$11FF,$FF11,$1FF1,$1FF1,$1FF1,$1FF1,$11FF,$FF11,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1FFF,$FF11,$1FF1,$1FF1,$1FFF,$FF11,$1FF1,$1FF1,$1FFF,$FF11,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1FFF,$FFF1,$1FF1,$1111,$1FF1,$1111,$1FF1,$1111,$1FF1,$1111,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$11FF,$FF11,$1FF1,$FF11,$1FF1,$FF11,$1FF1,$FF11,$FFFF,$FFF1,$FF11,$1FF1
dc.w $1111,$1111,$1111,$1111,$11FF,$FF11,$1FF1,$1FF1,$1FFF,$FFF1,$1FF1,$1111,$11FF,$FF11,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$FF1F,$F1FF,$1FFF,$FFF1,$11FF,$FF11,$1FFF,$FFF1,$FF1F,$F1FF,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$11FF,$FF11,$1FF1,$1FF1,$1111,$FF11,$1FF1,$1FF1,$11FF,$FF11,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1FF1,$1FF1,$1FF1,$FFF1,$1FFF,$FFF1,$1FFF,$1FF1,$1FF1,$1FF1,$1111,$1111
dc.w $1111,$1111,$111F,$F111,$1FF1,$1FF1,$1FF1,$FFF1,$1FFF,$FFF1,$1FFF,$1FF1,$1FF1,$1FF1,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1FF1,$1FF1,$1FF1,$FF11,$1FFF,$F111,$1FF1,$FF11,$1FF1,$1FF1,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$111F,$FFF1,$11FF,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$FF11,$1FF1,$FFFF,$FFF1,$FFFF,$FFF1,$FF1F,$1FF1,$FF11,$1FF1,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1FF1,$1FF1,$1FF1,$1FF1,$1FFF,$FFF1,$1FF1,$1FF1,$1FF1,$1FF1,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$11FF,$FF11,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$11FF,$FF11,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1FFF,$FFF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1111,$1111
dc.w $111F,$111F,$1F11,$1F11,$111F,$111F,$1F11,$1F11,$111F,$111F,$1F11,$1F11,$111F,$111F,$1F11,$1F11
dc.w $1F1F,$1F1F,$F1F1,$F1F1,$1F1F,$1F1F,$F1F1,$F1F1,$1F1F,$1F1F,$F1F1,$F1F1,$1F1F,$1F1F,$F1F1,$F1F1
dc.w $FF1F,$FF1F,$1FFF,$1FFF,$FF1F,$FF1F,$1FFF,$1FFF,$FF1F,$FF1F,$1FFF,$1FFF,$FF1F,$FF1F,$1FFF,$1FFF
dc.w $111F,$F111,$111F,$F111,$111F,$F111,$111F,$F111,$111F,$F111,$111F,$F111,$111F,$F111,$111F,$F111
dc.w $111F,$F111,$111F,$F111,$111F,$F111,$FFFF,$F111,$111F,$F111,$111F,$F111,$111F,$F111,$111F,$F111
dc.w $111F,$F111,$FFFF,$F111,$111F,$F111,$FFFF,$F111,$111F,$F111,$111F,$F111,$111F,$F111,$111F,$F111
dc.w $11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1,$FFFF,$1FF1,$11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1
dc.w $1111,$1111,$1111,$1111,$1111,$1111,$FFFF,$FFF1,$11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1
dc.w $1111,$1111,$FFFF,$F111,$111F,$F111,$FFFF,$F111,$111F,$F111,$111F,$F111,$111F,$F111,$111F,$F111
dc.w $11FF,$1FF1,$FFFF,$1FF1,$1111,$1FF1,$FFFF,$1FF1,$11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1
dc.w $11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1
dc.w $1111,$1111,$FFFF,$FFF1,$1111,$1FF1,$FFFF,$1FF1,$11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1
dc.w $11FF,$1FF1,$FFFF,$1FF1,$1111,$1FF1,$FFFF,$FFF1,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111
dc.w $11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1,$FFFF,$FFF1,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111
dc.w $111F,$F111,$FFFF,$F111,$111F,$F111,$FFFF,$F111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1111,$1111,$FFFF,$F111,$111F,$F111,$111F,$F111,$111F,$F111,$111F,$F111
dc.w $111F,$F111,$111F,$F111,$111F,$F111,$111F,$FFFF,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111
dc.w $111F,$F111,$111F,$F111,$111F,$F111,$FFFF,$FFFF,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1111,$1111,$FFFF,$FFFF,$111F,$F111,$111F,$F111,$111F,$F111,$111F,$F111
dc.w $111F,$F111,$111F,$F111,$111F,$F111,$111F,$FFFF,$111F,$F111,$111F,$F111,$111F,$F111,$111F,$F111
dc.w $1111,$1111,$1111,$1111,$1111,$1111,$FFFF,$FFFF,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111
dc.w $111F,$F111,$111F,$F111,$111F,$F111,$FFFF,$FFFF,$111F,$F111,$111F,$F111,$111F,$F111,$111F,$F111
dc.w $111F,$F111,$111F,$FFFF,$111F,$F111,$111F,$FFFF,$111F,$F111,$111F,$F111,$111F,$F111,$111F,$F111
dc.w $11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1,$11FF,$1FFF,$11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1
dc.w $11FF,$1FF1,$11FF,$1FFF,$11FF,$1111,$11FF,$FFFF,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111
dc.w $1111,$1111,$11FF,$FFFF,$11FF,$1111,$11FF,$1FFF,$11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1
dc.w $11FF,$1FF1,$FFFF,$1FFF,$1111,$1111,$FFFF,$FFFF,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111
dc.w $1111,$1111,$FFFF,$FFFF,$1111,$1111,$FFFF,$1FFF,$11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1
dc.w $11FF,$1FF1,$11FF,$1FFF,$11FF,$1111,$11FF,$1FFF,$11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1
dc.w $1111,$1111,$FFFF,$FFFF,$1111,$1111,$FFFF,$FFFF,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111
dc.w $11FF,$1FF1,$FFFF,$1FFF,$1111,$1111,$FFFF,$1FFF,$11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1
dc.w $111F,$F111,$FFFF,$FFFF,$1111,$1111,$FFFF,$FFFF,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111
dc.w $11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1,$FFFF,$FFFF,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111
dc.w $1111,$1111,$FFFF,$FFFF,$1111,$1111,$FFFF,$FFFF,$111F,$F111,$111F,$F111,$111F,$F111,$111F,$F111
dc.w $1111,$1111,$1111,$1111,$1111,$1111,$FFFF,$FFFF,$11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1
dc.w $11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1,$11FF,$FFFF,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111
dc.w $111F,$F111,$111F,$FFFF,$111F,$F111,$111F,$FFFF,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111
dc.w $1111,$1111,$111F,$FFFF,$111F,$F111,$111F,$FFFF,$111F,$F111,$111F,$F111,$111F,$F111,$111F,$F111
dc.w $1111,$1111,$1111,$1111,$1111,$1111,$11FF,$FFFF,$11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1
dc.w $11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1,$FFFF,$FFFF,$11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1,$11FF,$1FF1
dc.w $111F,$F111,$FFFF,$FFFF,$111F,$F111,$FFFF,$FFFF,$111F,$F111,$111F,$F111,$111F,$F111,$111F,$F111
dc.w $111F,$F111,$111F,$F111,$111F,$F111,$FFFF,$F111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1111,$1111,$111F,$FFFF,$111F,$F111,$111F,$F111,$111F,$F111,$111F,$F111
dc.w $FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF
dc.w $1111,$1111,$1111,$1111,$1111,$1111,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF
dc.w $FFFF,$1111,$FFFF,$1111,$FFFF,$1111,$FFFF,$1111,$FFFF,$1111,$FFFF,$1111,$FFFF,$1111,$FFFF,$1111
dc.w $1111,$FFFF,$1111,$FFFF,$1111,$FFFF,$1111,$FFFF,$1111,$FFFF,$1111,$FFFF,$1111,$FFFF,$1111,$FFFF
dc.w $FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1FFF,$FF11,$1FF1,$1FF1,$1FF1,$1FF1,$1FFF,$FF11,$1FF1,$1111,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$11FF,$FF11,$1FF1,$1FF1,$1FF1,$1111,$1FF1,$1FF1,$11FF,$FF11,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1FFF,$FFF1,$111F,$F111,$111F,$F111,$111F,$F111,$111F,$F111,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1FF1,$1FF1,$1FF1,$1FF1,$11FF,$FFF1,$1111,$1FF1,$11FF,$FF11,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1FFF,$FFF1,$FF1F,$F1FF,$FF1F,$F1FF,$1FFF,$FFF1,$111F,$F111,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1FF1,$1FF1,$11FF,$FF11,$111F,$F111,$11FF,$FF11,$1FF1,$1FF1,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FF1,$1FFF,$FFFF,$1111,$11FF
dc.w $1111,$1111,$1111,$1111,$1FF1,$1FF1,$1FF1,$1FF1,$11FF,$FFF1,$1111,$1FF1,$1111,$1FF1,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$FF1F,$F1FF,$FF1F,$F1FF,$FF1F,$F1FF,$FF1F,$F1FF,$FFFF,$FFFF,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$FF1F,$F1FF,$FF1F,$F1FF,$FF1F,$F1FF,$FF1F,$F1FF,$FFFF,$FFFF,$1111,$11FF
dc.w $1111,$1111,$1111,$1111,$FFF1,$1111,$1FF1,$1111,$1FFF,$FF11,$1FF1,$1FF1,$1FFF,$FF11,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$FF11,$1FF1,$FF11,$1FF1,$FFFF,$1FF1,$FF1F,$FFF1,$FFFF,$1FF1,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1FF1,$1111,$1FF1,$1111,$1FFF,$FF11,$1FF1,$1FF1,$1FFF,$FF11,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1FFF,$FF11,$1111,$1FF1,$11FF,$FFF1,$1111,$1FF1,$1FFF,$FF11,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$FF11,$FFF1,$FF1F,$F1FF,$FFFF,$F1FF,$FF1F,$F1FF,$FF11,$FFF1,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$11FF,$FFF1,$1FF1,$1FF1,$11FF,$FFF1,$11FF,$1FF1,$1FF1,$1FF1,$1111,$1111
dc.w $1FF1,$FF11,$FFFF,$FFF1,$F111,$1111,$FFFF,$F111,$F111,$1111,$F111,$1111,$FFFF,$FFF1,$1111,$1111
dc.w $1FF1,$FF11,$1111,$1111,$1FFF,$FF11,$F111,$11F1,$FFFF,$FFF1,$F111,$1111,$1FFF,$FFF1,$1111,$1111
dc.w $1111,$1110,$1777,$7110,$77E7,$E710,$7E7E,$E770,$7EEE,$EE70,$7EEE,$EE70,$7777,$7770,$0000,$0000
dc.w $8888,$8811,$8FFF,$8F81,$8F9F,$F881,$8FF9,$FF81,$8F9F,$9F81,$8FFF,$FF81,$8888,$8881,$1111,$1111
dc.w $1F11,$F111,$1FFF,$F111,$11FF,$1111,$11FF,$1111,$11FF,$1111,$11FF,$1111,$1FFF,$F111,$1111,$1111
dc.w $1F1F,$1111,$1111,$1111,$1FFF,$1111,$11FF,$1111,$11FF,$1111,$11FF,$1111,$1FFF,$F111,$1111,$1111
dc.w $1111,$1111,$111F,$F111,$111F,$F111,$1111,$1111,$1FFF,$FFF1,$1111,$1111,$111F,$F111,$111F,$F111
dc.w $1111,$1111,$1FFF,$1FF1,$FF1F,$FF11,$1111,$1111,$1FFF,$1FF1,$FF1F,$FF11,$1111,$1111,$1111,$1111
dc.w $1111,$1111,$11FF,$F111,$1FF1,$FF11,$1FF1,$FF11,$11FF,$F111,$1111,$1111,$1111,$1111,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$111F,$F111,$1111,$1111,$1111,$1111,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1111,$1111,$11FF,$F111,$11FF,$F111,$1111,$1111,$1111,$1111,$1111,$1111
dc.w $1111,$11FF,$1111,$11F1,$1111,$1FF1,$1111,$1F11,$FF11,$FF11,$1FF1,$F111,$11FF,$F111,$111F,$1111
dc.w $F111,$F1FF,$FF11,$F1FF,$FFF1,$F111,$F1FF,$F111,$F11F,$F111,$F111,$F111,$F111,$F111,$1111,$1111
dc.w $11FF,$1111,$1F11,$F111,$111F,$1111,$11F1,$1111,$1FFF,$F111,$1111,$1111,$1111,$1111,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1FFF,$FF11,$1FFF,$FF11,$1FFF,$FF11,$1FFF,$FF11,$1111,$1111,$1111,$1111
dc.w $1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111,$1111
*Конец
end START