mirror of
https://github.com/sehugg/8bitworkshop.git
synced 2024-12-01 13:50:30 +00:00
527 lines
22 KiB
NASM
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
|