8bitworkshop/meta/romsrc/coleco/minbios.asm

527 lines
22 KiB
NASM

.z80
O EQU 0FFH ; filler for unused bytes
;***************************************
; RAM usage
;***************************************
ORG 73FFH
Stack: DS 1 ; Default initial stack pointer
;***************************************
; Cartridge header addresses
;***************************************
ORG 8000H
Cart_Sig: DS 2 ; AA55 = title screen, 55AA = no screen
RamSprtTab: DS 2 ; RAM sprite attribute table pointer
RAMSprtIdx: DS 2 ; sprite index table pointer
VDP_Temp: DS 2 ; pointer to temp image storage (up to 40 bytes used)
CtlState: DS 2 ; pointer to controller state table (2 + 2x5 bytes)
Cart_Start: DS 2 ; start of cart code
V_RST_08H: DS 3 ; RST 08H vector
V_RST_10H: DS 3 ; RST 10H vector
V_RST_18H: DS 3 ; RST 18H vector
V_RST_20H: DS 3 ; RST 20H vector
V_RST_28H: DS 3 ; RST 28H vector
V_RST_30H: DS 3 ; RST 30H vector
V_RST_38H: DS 3 ; RST 38H vector
V_NMI: DS 3 ; NMI vector (vertical blank interrupt)
Cart_Title: DS 1 ; Title string "LINE 3/LINE 2/yyyy"
;***************************************
; Offsets into data blocks
;***************************************
; Offsets into RawCtlState
RawCtlLeft EQU 00H ; raw left controller state
RawCtlRight EQU 0AH ; raw right controller state
; Offsets into RawCtlLeft and RawCtlRight
RawCtlLFBit EQU 00H ; previous left fire bit
RawCtlLFState EQU 01H ; left fire button state
RawCtlDBits EQU 02H ; previous directional bits
RawCtlDState EQU 03H ; directionals state
; EQU 04H ; unused?
; EQU 05H ; unused?
RawCtlRFBit EQU 06H ; previous right fire bit
RawCtlRFState EQU 07H ; right fire button state
RawCtlKPBit EQU 08H ; previous keypad bits
RawCtlKPState EQU 09H ; keypad state
; Offsets into CtlState table
CtlStateLFlag EQU 00H ; left controller flags
CtlStateRFlag EQU 01H ; right controller flags
CtlStateLeft EQU 02H ; left controller state
CtlStateRight EQU 07H ; right controller state
; CtlStateLF/CtlStateRF bits
CtlCheckMe EQU 80H ; 7 ; if =0, do not check this ctrl at all
; EQU 40H ; 6 ; unused?
; EQU 20H ; 5 ; unused?
CtlCheckKP EQU 10H ; 4 ; check keypad
CtlCheckRFire EQU 08H ; 3 ; check right fire button
CtlCheckSpinner EQU 04H ; 2 ; check spinner
CtlCheckDir EQU 02H ; 1 ; check directionals
CtlCheckLFire EQU 01H ; 0 ; check left fire button
; Offsets into CtlStateLeft and CtlStateRight
CtlStateLFire EQU 00H ; left fire button
CtlStateDir EQU 01H ; directionals
CtlStateSpin EQU 02H ; spinner value
CtlStateRFire EQU 03H ; right fire button
CtlStateKey EQU 04H ; key code
;***************************************
; I/O port addresses
;***************************************
IO_KP_Select EQU 080H ; Keypad select output port
IO_Joy_Select EQU 0C0H ; Joystick select output port
IO_Joy1 EQU 0FCH ; Joystick 1 input port
IO_Joy2 EQU 0FFH ; Joystick 2 input port
IO_Sound EQU 0FFH ; Sound chip output port
IO_VDP_Data EQU 0BEH ; VDP data port
IO_VDP_Addr EQU 0BFH ; VDP VRAM address output port
IO_VDP_Status EQU 0BFH ; VDP status input port
ORG 0000H
;***************************************
; Everything starts here
;***************************************
A0000: LD SP,Stack ; Initialize stack pointer
JR ColdStart
;***************************************
; These are the RST vectors, mixed with some (formerly) wasted bytes
;***************************************
org 0x8
A0008: JP V_RST_08H
org 0x10
A0010: JP V_RST_10H
org 0x18
A0018: JP V_RST_18H
org 0x20
A0020: JP V_RST_20H
org 0x28
A0028: JP V_RST_28H
org 0x30
A0030: JP V_RST_30H
org 0x38
A0038: JP V_RST_38H
;***************************************
; NMI vector
;***************************************
org 0x66
JP V_NMI
;***************************************
; I'm not really sure what these are for, but aside from the
; jump vectors at the end of the ROM, they are probably the
; only ROM addresses that you should reference directly.
;***************************************
A0069: DB 60 ; this might mean a 60hz display (NTSC)
A006A: DW Font_A ; this points to the font bitmap for 'A'
A006C: DW Font_0 ; this points to the font bitmap for '0'
DW xFont_Space ; small font
;***************************************
;
; First part of cold start code
;
;***************************************
ColdStart:
LD HL,(Cart_Sig) ; Check first word of cart for 55AAH
LD A,L ; 8000=55H and 8001=AAH
CP 55H
JR NZ,NoCart
LD A,H
CP 0AAH
JR NZ,NoCart
LD HL,(Cart_Start) ; If 55H/AAH, jump into cartridge
JP (HL)
;TODO
NoCart:
RST 0
; Character cell data for default font
xFont_Space:
.DB 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ;32
.DB 0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x80 ;33
.DB 0x00,0x00,0x00,0x00,0x00,0x00,0xa0,0xa0 ;34
.DB 0x00,0x00,0x00,0xa0,0xe0,0xa0,0xe0,0xa0 ;35
.DB 0x00,0x00,0x00,0x60,0xc0,0x60,0xc0,0x40 ;36
.DB 0x00,0x00,0x00,0x80,0x20,0x40,0x80,0x20 ;37
.DB 0x00,0x00,0x00,0xc0,0xc0,0xe0,0xa0,0x60 ;38
.DB 0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80 ;39
.DB 0x00,0x00,0x00,0x40,0x80,0x80,0x80,0x40 ;40
.DB 0x00,0x00,0x00,0x80,0x40,0x40,0x40,0x80 ;41
.DB 0x00,0x00,0x00,0x00,0x00,0xa0,0x40,0xa0 ;42
.DB 0x00,0x00,0x00,0x00,0x00,0x40,0xe0,0x40 ;43
.DB 0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x80 ;44
.DB 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0 ;45
.DB 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80 ;46
.DB 0x00,0x00,0x00,0x20,0x20,0x40,0x80,0x80 ;47
xFont_0:
.DB 0x00,0x00,0x00,0x60,0xa0,0xa0,0xa0,0xc0 ;48
.DB 0x00,0x00,0x00,0x40,0xc0,0x40,0x40,0x40 ;49
.DB 0x00,0x00,0x00,0xc0,0x20,0x40,0x80,0xe0 ;50
.DB 0x00,0x00,0x00,0xc0,0x20,0x40,0x20,0xc0 ;51
.DB 0x00,0x00,0x00,0xa0,0xa0,0xe0,0x20,0x20 ;52
.DB 0x00,0x00,0x00,0xe0,0x80,0xc0,0x20,0xc0 ;53
.DB 0x00,0x00,0x00,0x60,0x80,0xe0,0xa0,0xe0 ;54
.DB 0x00,0x00,0x00,0xe0,0x20,0x40,0x80,0x80 ;55
.DB 0x00,0x00,0x00,0xe0,0xa0,0xe0,0xa0,0xe0 ;56
.DB 0x00,0x00,0x00,0xe0,0xa0,0xe0,0x20,0xc0 ;57
.DB 0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x80 ;58
.DB 0x00,0x00,0x00,0x00,0x40,0x00,0x40,0x80 ;59
.DB 0x00,0x00,0x00,0x20,0x40,0x80,0x40,0x20 ;60
.DB 0x00,0x00,0x00,0x00,0x00,0xe0,0x00,0xe0 ;61
.DB 0x00,0x00,0x00,0x80,0x40,0x20,0x40,0x80 ;62
.DB 0x00,0x00,0x00,0xe0,0x20,0x40,0x00,0x40 ;63
.DB 0x00,0x00,0x00,0x40,0xa0,0xe0,0x80,0x60 ;64
xFont_A:
.DB 0x00,0x00,0x00,0x40,0xa0,0xe0,0xa0,0xa0 ;65
.DB 0x00,0x00,0x00,0xc0,0xa0,0xc0,0xa0,0xc0 ;66
.DB 0x00,0x00,0x00,0x60,0x80,0x80,0x80,0x60 ;67
.DB 0x00,0x00,0x00,0xc0,0xa0,0xa0,0xa0,0xc0 ;68
.DB 0x00,0x00,0x00,0xe0,0x80,0xe0,0x80,0xe0 ;69
.DB 0x00,0x00,0x00,0xe0,0x80,0xe0,0x80,0x80 ;70
.DB 0x00,0x00,0x00,0x60,0x80,0xe0,0xa0,0x60 ;71
.DB 0x00,0x00,0x00,0xa0,0xa0,0xe0,0xa0,0xa0 ;72
.DB 0x00,0x00,0x00,0xe0,0x40,0x40,0x40,0xe0 ;73
.DB 0x00,0x00,0x00,0x20,0x20,0x20,0xa0,0x40 ;74
.DB 0x00,0x00,0x00,0xa0,0xa0,0xc0,0xa0,0xa0 ;75
.DB 0x00,0x00,0x00,0x80,0x80,0x80,0x80,0xe0 ;76
.DB 0x00,0x00,0x00,0xa0,0xe0,0xe0,0xa0,0xa0 ;77
.DB 0x00,0x00,0x00,0xa0,0xe0,0xe0,0xe0,0xa0 ;78
.DB 0x00,0x00,0x00,0x40,0xa0,0xa0,0xa0,0x40 ;79
.DB 0x00,0x00,0x00,0xc0,0xa0,0xc0,0x80,0x80 ;80
.DB 0x00,0x00,0x00,0x40,0xa0,0xa0,0xe0,0x60 ;81
.DB 0x00,0x00,0x00,0xc0,0xa0,0xe0,0xc0,0xa0 ;82
.DB 0x00,0x00,0x00,0x60,0x80,0x40,0x20,0xc0 ;83
.DB 0x00,0x00,0x00,0xe0,0x40,0x40,0x40,0x40 ;84
.DB 0x00,0x00,0x00,0xa0,0xa0,0xa0,0xa0,0x60 ;85
.DB 0x00,0x00,0x00,0xa0,0xa0,0xa0,0x40,0x40 ;86
.DB 0x00,0x00,0x00,0xa0,0xa0,0xe0,0xe0,0xa0 ;87
.DB 0x00,0x00,0x00,0xa0,0xa0,0x40,0xa0,0xa0 ;88
.DB 0x00,0x00,0x00,0xa0,0xa0,0x40,0x40,0x40 ;89
.DB 0x00,0x00,0x00,0xe0,0x20,0x40,0x80,0xe0 ;90
.DB 0x00,0x00,0x00,0xe0,0x80,0x80,0x80,0xe0 ;91
.DB 0x00,0x00,0x00,0x00,0x00,0x80,0x40,0x20 ;92
.DB 0x00,0x00,0x00,0xe0,0x20,0x20,0x20,0xe0 ;93
.DB 0x00,0x00,0x00,0x00,0x00,0x00,0x40,0xa0 ;94
.DB 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0 ;95
.DB 0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x40 ;96
.DB 0x00,0x00,0x00,0x00,0xc0,0x60,0xa0,0xe0 ;97
.DB 0x00,0x00,0x00,0x80,0xc0,0xa0,0xa0,0xc0 ;98
.DB 0x00,0x00,0x00,0x00,0x60,0x80,0x80,0x60 ;99
.DB 0x00,0x00,0x00,0x20,0x60,0xa0,0xa0,0x60 ;100
.DB 0x00,0x00,0x00,0x00,0x60,0xa0,0xc0,0x60 ;101
.DB 0x00,0x00,0x00,0x20,0x40,0xe0,0x40,0x40 ;102
.DB 0x00,0x00,0x00,0x60,0xa0,0xe0,0x20,0x40 ;103
.DB 0x00,0x00,0x00,0x80,0xc0,0xa0,0xa0,0xa0 ;104
.DB 0x00,0x00,0x00,0x80,0x00,0x80,0x80,0x80 ;105
.DB 0x00,0x00,0x20,0x00,0x20,0x20,0xa0,0x40 ;106
.DB 0x00,0x00,0x00,0x80,0xa0,0xc0,0xc0,0xa0 ;107
.DB 0x00,0x00,0x00,0xc0,0x40,0x40,0x40,0xe0 ;108
.DB 0x00,0x00,0x00,0x00,0xe0,0xe0,0xe0,0xa0 ;109
.DB 0x00,0x00,0x00,0x00,0xc0,0xa0,0xa0,0xa0 ;110
.DB 0x00,0x00,0x00,0x00,0x40,0xa0,0xa0,0x40 ;111
.DB 0x00,0x00,0x00,0xc0,0xa0,0xa0,0xc0,0x80 ;112
.DB 0x00,0x00,0x00,0x60,0xa0,0xa0,0x60,0x20 ;113
.DB 0x00,0x00,0x00,0x00,0x60,0x80,0x80,0x80 ;114
.DB 0x00,0x00,0x00,0x00,0x60,0xc0,0x60,0xc0 ;115
.DB 0x00,0x00,0x00,0x40,0xe0,0x40,0x40,0x60 ;116
.DB 0x00,0x00,0x00,0x00,0xa0,0xa0,0xa0,0x60 ;117
.DB 0x00,0x00,0x00,0x00,0xa0,0xa0,0xe0,0x40 ;118
.DB 0x00,0x00,0x00,0x00,0xa0,0xe0,0xe0,0xe0 ;119
.DB 0x00,0x00,0x00,0x00,0xa0,0x40,0x40,0xa0 ;120
.DB 0x00,0x00,0x00,0xa0,0xa0,0x60,0x20,0x40 ;121
.DB 0x00,0x00,0x00,0x00,0xe0,0x60,0xc0,0xe0 ;122
.DB 0x00,0x00,0x00,0x60,0x40,0x80,0x40,0x60 ;123
.DB 0x00,0x00,0x00,0x80,0x80,0x00,0x80,0x80 ;124
.DB 0x00,0x00,0x00,0xc0,0x40,0x20,0x40,0xc0 ;125
.DB 0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xc0 ;126
.DB 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ;127
.DB 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ;0
.DB 0x38,0x44,0x6c,0x44,0x54,0x44,0x38,0x00 ;1
.DB 0x38,0x7c,0x54,0x7c,0x44,0x7c,0x38,0x00 ;2
.DB 0x00,0x28,0x7c,0x7c,0x7c,0x38,0x10,0x00 ;3
.DB 0x00,0x10,0x38,0x7c,0x7c,0x38,0x10,0x00 ;4
.DB 0x10,0x38,0x38,0x10,0x7c,0x7c,0x10,0x00 ;5
.DB 0x00,0x10,0x38,0x7c,0x7c,0x10,0x38,0x00 ;6
.DB 0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00 ;7
.DB 0xfc,0xfc,0xfc,0xcc,0xcc,0xfc,0xfc,0xfc ;8
.DB 0x00,0x00,0x78,0x48,0x48,0x78,0x00,0x00 ;9
.DB 0xfc,0xfc,0x84,0xb4,0xb4,0x84,0xfc,0xfc ;10
.DB 0x00,0x1c,0x0c,0x34,0x48,0x48,0x30,0x00 ;11
.DB 0x38,0x44,0x44,0x38,0x10,0x38,0x10,0x00 ;12
.DB 0x10,0x18,0x14,0x10,0x30,0x70,0x60,0x00 ;13
.DB 0x0c,0x34,0x2c,0x34,0x2c,0x6c,0x60,0x00 ;14
.DB 0x00,0x54,0x38,0x6c,0x38,0x54,0x00,0x00 ;15
.DB 0x20,0x30,0x38,0x3c,0x38,0x30,0x20,0x00 ;16
.DB 0x08,0x18,0x38,0x78,0x38,0x18,0x08,0x00 ;17
.DB 0x10,0x38,0x7c,0x10,0x7c,0x38,0x10,0x00 ;18
.DB 0x28,0x28,0x28,0x28,0x28,0x00,0x28,0x00 ;19
.DB 0x3c,0x54,0x54,0x34,0x14,0x14,0x14,0x00 ;20
.DB 0x38,0x44,0x30,0x28,0x18,0x44,0x38,0x00 ;21
.DB 0x00,0x00,0x00,0x00,0x00,0x78,0x78,0x00 ;22
.DB 0x10,0x38,0x7c,0x10,0x7c,0x38,0x10,0x38 ;23
.DB 0x10,0x38,0x7c,0x10,0x10,0x10,0x10,0x00 ;24
.DB 0x10,0x10,0x10,0x10,0x7c,0x38,0x10,0x00 ;25
.DB 0x00,0x10,0x18,0x7c,0x18,0x10,0x00,0x00 ;26
.DB 0x00,0x10,0x30,0x7c,0x30,0x10,0x00,0x00 ;27
.DB 0x00,0x00,0x00,0x40,0x40,0x40,0x7c,0x00 ;28
.DB 0x00,0x28,0x28,0x7c,0x28,0x28,0x00,0x00 ;29
.DB 0x10,0x10,0x38,0x38,0x7c,0x7c,0x00,0x00 ;30
.DB 0x7c,0x7c,0x38,0x38,0x10,0x10,0x00,0x00 ;31
Font_Space:
.DB 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ;32
.DB 0x10,0x38,0x38,0x10,0x10,0x00,0x10,0x00 ;33
.DB 0x6c,0x6c,0x48,0x00,0x00,0x00,0x00,0x00 ;34
.DB 0x00,0x28,0x7c,0x28,0x28,0x7c,0x28,0x00 ;35
.DB 0x20,0x38,0x40,0x30,0x08,0x70,0x10,0x00 ;36
.DB 0x64,0x64,0x08,0x10,0x20,0x4c,0x4c,0x00 ;37
.DB 0x20,0x50,0x50,0x20,0x54,0x48,0x34,0x00 ;38
.DB 0x30,0x30,0x20,0x00,0x00,0x00,0x00,0x00 ;39
.DB 0x10,0x20,0x20,0x20,0x20,0x20,0x10,0x00 ;40
.DB 0x20,0x10,0x10,0x10,0x10,0x10,0x20,0x00 ;41
.DB 0x00,0x28,0x38,0x7c,0x38,0x28,0x00,0x00 ;42
.DB 0x00,0x10,0x10,0x7c,0x10,0x10,0x00,0x00 ;43
.DB 0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x20 ;44
.DB 0x00,0x00,0x00,0x7c,0x00,0x00,0x00,0x00 ;45
.DB 0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00 ;46
.DB 0x00,0x04,0x08,0x10,0x20,0x40,0x00,0x00 ;47
Font_0:
.DB 0x38,0x44,0x4c,0x54,0x64,0x44,0x38,0x00 ;48
.DB 0x10,0x30,0x10,0x10,0x10,0x10,0x38,0x00 ;49
.DB 0x38,0x44,0x04,0x18,0x20,0x40,0x7c,0x00 ;50
.DB 0x38,0x44,0x04,0x38,0x04,0x44,0x38,0x00 ;51
.DB 0x08,0x18,0x28,0x48,0x7c,0x08,0x08,0x00 ;52
.DB 0x7c,0x40,0x40,0x78,0x04,0x44,0x38,0x00 ;53
.DB 0x18,0x20,0x40,0x78,0x44,0x44,0x38,0x00 ;54
.DB 0x7c,0x04,0x08,0x10,0x20,0x20,0x20,0x00 ;55
.DB 0x38,0x44,0x44,0x38,0x44,0x44,0x38,0x00 ;56
.DB 0x38,0x44,0x44,0x3c,0x04,0x08,0x30,0x00 ;57
.DB 0x00,0x00,0x30,0x30,0x00,0x30,0x30,0x00 ;58
.DB 0x00,0x00,0x30,0x30,0x00,0x30,0x30,0x20 ;59
.DB 0x08,0x10,0x20,0x40,0x20,0x10,0x08,0x00 ;60
.DB 0x00,0x00,0x7c,0x00,0x00,0x7c,0x00,0x00 ;61
.DB 0x20,0x10,0x08,0x04,0x08,0x10,0x20,0x00 ;62
.DB 0x38,0x44,0x04,0x18,0x10,0x00,0x10,0x00 ;63
.DB 0x38,0x44,0x5c,0x54,0x5c,0x40,0x38,0x00 ;64
Font_A:
.DB 0x38,0x44,0x44,0x44,0x7c,0x44,0x44,0x00 ;65
.DB 0x78,0x44,0x44,0x78,0x44,0x44,0x78,0x00 ;66
.DB 0x38,0x44,0x40,0x40,0x40,0x44,0x38,0x00 ;67
.DB 0x78,0x44,0x44,0x44,0x44,0x44,0x78,0x00 ;68
.DB 0x7c,0x40,0x40,0x78,0x40,0x40,0x7c,0x00 ;69
.DB 0x7c,0x40,0x40,0x78,0x40,0x40,0x40,0x00 ;70
.DB 0x38,0x44,0x40,0x5c,0x44,0x44,0x3c,0x00 ;71
.DB 0x44,0x44,0x44,0x7c,0x44,0x44,0x44,0x00 ;72
.DB 0x38,0x10,0x10,0x10,0x10,0x10,0x38,0x00 ;73
.DB 0x04,0x04,0x04,0x04,0x44,0x44,0x38,0x00 ;74
.DB 0x44,0x48,0x50,0x60,0x50,0x48,0x44,0x00 ;75
.DB 0x40,0x40,0x40,0x40,0x40,0x40,0x7c,0x00 ;76
.DB 0x44,0x6c,0x54,0x44,0x44,0x44,0x44,0x00 ;77
.DB 0x44,0x64,0x54,0x4c,0x44,0x44,0x44,0x00 ;78
.DB 0x38,0x44,0x44,0x44,0x44,0x44,0x38,0x00 ;79
.DB 0x78,0x44,0x44,0x78,0x40,0x40,0x40,0x00 ;80
.DB 0x38,0x44,0x44,0x44,0x54,0x48,0x34,0x00 ;81
.DB 0x78,0x44,0x44,0x78,0x48,0x44,0x44,0x00 ;82
.DB 0x38,0x44,0x40,0x38,0x04,0x44,0x38,0x00 ;83
.DB 0x7c,0x10,0x10,0x10,0x10,0x10,0x10,0x00 ;84
.DB 0x44,0x44,0x44,0x44,0x44,0x44,0x38,0x00 ;85
.DB 0x44,0x44,0x44,0x44,0x44,0x28,0x10,0x00 ;86
.DB 0x44,0x44,0x54,0x54,0x54,0x54,0x28,0x00 ;87
.DB 0x44,0x44,0x28,0x10,0x28,0x44,0x44,0x00 ;88
.DB 0x44,0x44,0x44,0x28,0x10,0x10,0x10,0x00 ;89
.DB 0x78,0x08,0x10,0x20,0x40,0x40,0x78,0x00 ;90
.DB 0x38,0x20,0x20,0x20,0x20,0x20,0x38,0x00 ;91
.DB 0x00,0x40,0x20,0x10,0x08,0x04,0x00,0x00 ;92
.DB 0x38,0x08,0x08,0x08,0x08,0x08,0x38,0x00 ;93
.DB 0x10,0x28,0x44,0x00,0x00,0x00,0x00,0x00 ;94
.DB 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc ;95
.DB 0x30,0x30,0x10,0x00,0x00,0x00,0x00,0x00 ;96
.DB 0x00,0x00,0x38,0x04,0x3c,0x44,0x3c,0x00 ;97
.DB 0x40,0x40,0x78,0x44,0x44,0x44,0x78,0x00 ;98
.DB 0x00,0x00,0x38,0x44,0x40,0x44,0x38,0x00 ;99
.DB 0x04,0x04,0x3c,0x44,0x44,0x44,0x3c,0x00 ;100
.DB 0x00,0x00,0x38,0x44,0x78,0x40,0x38,0x00 ;101
.DB 0x18,0x20,0x20,0x78,0x20,0x20,0x20,0x00 ;102
.DB 0x00,0x00,0x3c,0x44,0x44,0x3c,0x04,0x38 ;103
.DB 0x40,0x40,0x70,0x48,0x48,0x48,0x48,0x00 ;104
.DB 0x10,0x00,0x10,0x10,0x10,0x10,0x18,0x00 ;105
.DB 0x08,0x00,0x18,0x08,0x08,0x08,0x48,0x30 ;106
.DB 0x40,0x40,0x48,0x50,0x60,0x50,0x48,0x00 ;107
.DB 0x10,0x10,0x10,0x10,0x10,0x10,0x18,0x00 ;108
.DB 0x00,0x00,0x68,0x54,0x54,0x44,0x44,0x00 ;109
.DB 0x00,0x00,0x70,0x48,0x48,0x48,0x48,0x00 ;110
.DB 0x00,0x00,0x38,0x44,0x44,0x44,0x38,0x00 ;111
.DB 0x00,0x00,0x78,0x44,0x44,0x44,0x78,0x40 ;112
.DB 0x00,0x00,0x3c,0x44,0x44,0x44,0x3c,0x04 ;113
.DB 0x00,0x00,0x58,0x24,0x20,0x20,0x70,0x00 ;114
.DB 0x00,0x00,0x38,0x40,0x38,0x04,0x38,0x00 ;115
.DB 0x00,0x20,0x78,0x20,0x20,0x28,0x10,0x00 ;116
.DB 0x00,0x00,0x48,0x48,0x48,0x58,0x28,0x00 ;117
.DB 0x00,0x00,0x44,0x44,0x44,0x28,0x10,0x00 ;118
.DB 0x00,0x00,0x44,0x44,0x54,0x7c,0x28,0x00 ;119
.DB 0x00,0x00,0x48,0x48,0x30,0x48,0x48,0x00 ;120
.DB 0x00,0x00,0x48,0x48,0x48,0x38,0x10,0x60 ;121
.DB 0x00,0x00,0x78,0x08,0x30,0x40,0x78,0x00 ;122
.DB 0x18,0x20,0x20,0x60,0x20,0x20,0x18,0x00 ;123
.DB 0x10,0x10,0x10,0x00,0x10,0x10,0x10,0x00 ;124
.DB 0x30,0x08,0x08,0x0c,0x08,0x08,0x30,0x00 ;125
.DB 0x28,0x50,0x00,0x00,0x00,0x00,0x00,0x00 ;126
.DB 0x10,0x38,0x6c,0x44,0x44,0x7c,0x00,0x00 ;127
.DB 0x38,0x44,0x40,0x40,0x44,0x38,0x10,0x30 ;128
.DB 0x48,0x00,0x48,0x48,0x48,0x58,0x28,0x00 ;129
.DB 0x0c,0x00,0x38,0x44,0x78,0x40,0x38,0x00 ;130
.DB 0x38,0x00,0x38,0x04,0x3c,0x44,0x3c,0x00 ;131
.DB 0x28,0x00,0x38,0x04,0x3c,0x44,0x3c,0x00 ;132
.DB 0x30,0x00,0x38,0x04,0x3c,0x44,0x3c,0x00 ;133
.DB 0x38,0x28,0x38,0x04,0x3c,0x44,0x3c,0x00 ;134
.DB 0x00,0x38,0x44,0x40,0x44,0x38,0x10,0x30 ;135
.DB 0x38,0x00,0x38,0x44,0x78,0x40,0x38,0x00 ;136
.DB 0x28,0x00,0x38,0x44,0x78,0x40,0x38,0x00 ;137
.DB 0x30,0x00,0x38,0x44,0x78,0x40,0x38,0x00 ;138
.DB 0x28,0x00,0x10,0x10,0x10,0x10,0x18,0x00 ;139
.DB 0x10,0x28,0x00,0x10,0x10,0x10,0x18,0x00 ;140
.DB 0x20,0x00,0x10,0x10,0x10,0x10,0x18,0x00 ;141
.DB 0x28,0x00,0x10,0x28,0x44,0x7c,0x44,0x00 ;142
.DB 0x38,0x28,0x38,0x6c,0x44,0x7c,0x44,0x00 ;143
.DB 0x0c,0x00,0x7c,0x40,0x78,0x40,0x7c,0x00 ;144
.DB 0x00,0x00,0x78,0x14,0x7c,0x50,0x3c,0x00 ;145
.DB 0x3c,0x50,0x50,0x7c,0x50,0x50,0x5c,0x00 ;146
.DB 0x38,0x00,0x30,0x48,0x48,0x48,0x30,0x00 ;147
.DB 0x28,0x00,0x30,0x48,0x48,0x48,0x30,0x00 ;148
.DB 0x60,0x00,0x30,0x48,0x48,0x48,0x30,0x00 ;149
.DB 0x38,0x00,0x48,0x48,0x48,0x58,0x28,0x00 ;150
.DB 0x60,0x00,0x48,0x48,0x48,0x58,0x28,0x00 ;151
.DB 0x28,0x00,0x48,0x48,0x48,0x38,0x10,0x60 ;152
.DB 0x48,0x30,0x48,0x48,0x48,0x48,0x30,0x00 ;153
.DB 0x28,0x00,0x48,0x48,0x48,0x48,0x30,0x00 ;154
.DB 0x00,0x10,0x38,0x40,0x40,0x38,0x10,0x00 ;155
.DB 0x18,0x24,0x20,0x78,0x20,0x24,0x5c,0x00 ;156
.DB 0x44,0x28,0x10,0x7c,0x10,0x7c,0x10,0x00 ;157
.DB 0x60,0x50,0x50,0x68,0x5c,0x48,0x48,0x00 ;158
.DB 0x08,0x14,0x10,0x38,0x10,0x10,0x50,0x20 ;159
.DB 0x18,0x00,0x38,0x04,0x3c,0x44,0x3c,0x00 ;160
.DB 0x18,0x00,0x10,0x10,0x10,0x10,0x18,0x00 ;161
.DB 0x18,0x00,0x30,0x48,0x48,0x48,0x30,0x00 ;162
.DB 0x18,0x00,0x48,0x48,0x48,0x58,0x28,0x00 ;163
.DB 0x28,0x50,0x00,0x70,0x48,0x48,0x48,0x00 ;164
.DB 0x28,0x50,0x00,0x48,0x68,0x58,0x48,0x00 ;165
.DB 0x38,0x04,0x3c,0x44,0x3c,0x00,0x3c,0x00 ;166
.DB 0x30,0x48,0x48,0x48,0x30,0x00,0x78,0x00 ;167
.DB 0x10,0x00,0x10,0x30,0x40,0x44,0x38,0x00 ;168
.DB 0x00,0x00,0x7c,0x40,0x40,0x40,0x00,0x00 ;169
.DB 0x00,0x00,0xfc,0x04,0x04,0x00,0x00,0x00 ;170
.DB 0x40,0x48,0x50,0x38,0x44,0x08,0x1c,0x00 ;171
.DB 0x40,0x48,0x50,0x2c,0x54,0x1c,0x04,0x00 ;172
.DB 0x10,0x00,0x10,0x10,0x38,0x38,0x10,0x00 ;173
.DB 0x00,0x00,0x24,0x48,0x24,0x00,0x00,0x00 ;174
.DB 0x00,0x00,0x48,0x24,0x48,0x00,0x00,0x00 ;175
.DB 0x54,0x00,0xa8,0x00,0x54,0x00,0xa8,0x00 ;176
.DB 0x54,0xa8,0x54,0xa8,0x54,0xa8,0x54,0xa8 ;177
.DB 0xa8,0xfc,0x54,0xfc,0xa8,0xfc,0x54,0xfc ;178
.DB 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10 ;179
.DB 0x10,0x10,0x10,0xf0,0x10,0x10,0x10,0x10 ;180
.DB 0x10,0xf0,0x10,0xf0,0x10,0x10,0x10,0x10 ;181
.DB 0x50,0x50,0x50,0xd0,0x50,0x50,0x50,0x50 ;182
.DB 0x00,0x00,0x00,0xf0,0x50,0x50,0x50,0x50 ;183
.DB 0x00,0xf0,0x10,0xf0,0x10,0x10,0x10,0x10 ;184
.DB 0x50,0xd0,0x10,0xd0,0x50,0x50,0x50,0x50 ;185
.DB 0x50,0x50,0x50,0x50,0x50,0x50,0x50,0x50 ;186
.DB 0x00,0xf0,0x10,0xd0,0x50,0x50,0x50,0x50 ;187
.DB 0x50,0xd0,0x10,0xf0,0x00,0x00,0x00,0x00 ;188
.DB 0x50,0x50,0x50,0xf0,0x00,0x00,0x00,0x00 ;189
.DB 0x10,0xf0,0x10,0xf0,0x00,0x00,0x00,0x00 ;190
.DB 0x00,0x00,0x00,0xf0,0x10,0x10,0x10,0x10 ;191
.DB 0x10,0x10,0x10,0x1c,0x00,0x00,0x00,0x00 ;192
.DB 0x10,0x10,0x10,0xfc,0x00,0x00,0x00,0x00 ;193
.DB 0x00,0x00,0x00,0xfc,0x10,0x10,0x10,0x10 ;194
.DB 0x10,0x10,0x10,0x1c,0x10,0x10,0x10,0x10 ;195
.DB 0x00,0x00,0x00,0xfc,0x00,0x00,0x00,0x00 ;196
.DB 0x10,0x10,0x10,0xfc,0x10,0x10,0x10,0x10 ;197
.DB 0x10,0x1c,0x10,0x1c,0x10,0x10,0x10,0x10 ;198
.DB 0x50,0x50,0x50,0x5c,0x50,0x50,0x50,0x50 ;199
.DB 0x50,0x5c,0x40,0x7c,0x00,0x00,0x00,0x00 ;200
.DB 0x00,0x7c,0x40,0x5c,0x50,0x50,0x50,0x50 ;201
.DB 0x50,0xdc,0x00,0xfc,0x00,0x00,0x00,0x00 ;202
.DB 0x00,0xfc,0x00,0xdc,0x50,0x50,0x50,0x50 ;203
.DB 0x50,0x5c,0x40,0x5c,0x50,0x50,0x50,0x50 ;204
.DB 0x00,0xfc,0x00,0xfc,0x00,0x00,0x00,0x00 ;205
.DB 0x50,0xdc,0x00,0xdc,0x50,0x50,0x50,0x50 ;206
.DB 0x10,0xfc,0x00,0xfc,0x00,0x00,0x00,0x00 ;207
.DB 0x50,0x50,0x50,0xfc,0x00,0x00,0x00,0x00 ;208
.DB 0x00,0xfc,0x00,0xfc,0x10,0x10,0x10,0x10 ;209
.DB 0x00,0x00,0x00,0xfc,0x50,0x50,0x50,0x50 ;210
.DB 0x50,0x50,0x50,0x7c,0x00,0x00,0x00,0x00 ;211
.DB 0x10,0x1c,0x10,0x1c,0x00,0x00,0x00,0x00 ;212
.DB 0x00,0x1c,0x10,0x1c,0x10,0x10,0x10,0x10 ;213
.DB 0x00,0x00,0x00,0x7c,0x50,0x50,0x50,0x50 ;214
.DB 0x50,0x50,0x50,0xdc,0x50,0x50,0x50,0x50 ;215
.DB 0x10,0xfc,0x00,0xfc,0x10,0x10,0x10,0x10 ;216
.DB 0x10,0x10,0x10,0xf0,0x00,0x00,0x00,0x00 ;217
.DB 0x00,0x00,0x00,0x1c,0x10,0x10,0x10,0x10 ;218
.DB 0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc ;219
.DB 0x00,0x00,0x00,0x00,0xfc,0xfc,0xfc,0xfc ;220
.DB 0xe0,0xe0,0xe0,0xe0,0xe0,0xe0,0xe0,0xe0 ;221
.DB 0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c ;222
.DB 0xfc,0xfc,0xfc,0xfc,0x00,0x00,0x00,0x00 ;223
.DB 0x00,0x00,0x34,0x48,0x48,0x34,0x00,0x00 ;224
.DB 0x00,0x70,0x48,0x70,0x48,0x48,0x70,0x40 ;225
.DB 0x78,0x48,0x40,0x40,0x40,0x40,0x40,0x00 ;226
.DB 0x00,0x7c,0x28,0x28,0x28,0x28,0x28,0x00 ;227
.DB 0x78,0x48,0x20,0x10,0x20,0x48,0x78,0x00 ;228
.DB 0x00,0x00,0x3c,0x48,0x48,0x30,0x00,0x00 ;229
.DB 0x00,0x00,0x48,0x48,0x48,0x70,0x40,0x40 ;230
.DB 0x00,0x00,0x28,0x50,0x10,0x10,0x10,0x00 ;231
.DB 0x38,0x10,0x38,0x44,0x38,0x10,0x38,0x00 ;232
.DB 0x30,0x48,0x48,0x78,0x48,0x48,0x30,0x00 ;233
.DB 0x00,0x38,0x44,0x44,0x28,0x28,0x6c,0x00 ;234
.DB 0x30,0x40,0x20,0x10,0x38,0x48,0x30,0x00 ;235
.DB 0x00,0x00,0x28,0x54,0x54,0x28,0x00,0x00 ;236
.DB 0x00,0x10,0x38,0x54,0x54,0x38,0x10,0x00 ;237
.DB 0x00,0x38,0x40,0x78,0x40,0x38,0x00,0x00 ;238
.DB 0x00,0x30,0x48,0x48,0x48,0x48,0x00,0x00 ;239
.DB 0x00,0x78,0x00,0x78,0x00,0x78,0x00,0x00 ;240
.DB 0x00,0x10,0x38,0x10,0x00,0x38,0x00,0x00 ;241
.DB 0x40,0x30,0x08,0x30,0x40,0x00,0x78,0x00 ;242
.DB 0x08,0x30,0x40,0x30,0x08,0x00,0x78,0x00 ;243
.DB 0x00,0x08,0x14,0x10,0x10,0x10,0x10,0x10 ;244
.DB 0x10,0x10,0x10,0x10,0x10,0x50,0x20,0x00 ;245
.DB 0x00,0x10,0x00,0x7c,0x00,0x10,0x00,0x00 ;246
.DB 0x00,0x28,0x50,0x00,0x28,0x50,0x00,0x00 ;247
.DB 0x30,0x48,0x48,0x30,0x00,0x00,0x00,0x00 ;248
.DB 0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00 ;249
.DB 0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00 ;250
.DB 0x00,0x1c,0x10,0x10,0x50,0x50,0x20,0x00 ;251
.DB 0x50,0x28,0x28,0x28,0x00,0x00,0x00,0x00 ;252
.DB 0x60,0x10,0x20,0x70,0x00,0x00,0x00,0x00 ;253
.DB 0x00,0x00,0x78,0x78,0x78,0x78,0x00,0x00 ;254
.DB 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ;255
.org 0x2000