refactor everything to use the websites format and more files

This commit is contained in:
Shoofle 2025-01-08 14:03:54 -05:00
parent 52b25965f5
commit af680dd5fc
16 changed files with 1772 additions and 689 deletions

View File

@ -7,9 +7,9 @@
TheFool:
db 9, "THE FOOL "
db 9, " "
db 9, "-begin "
db 9, "-leap "
db 9, "-naivete "
db 9, "beginning"
db 9, "leap "
db 9, "naivete "
dw FoolMapEnd - FoolMap
dw FoolMap
dw FoolTilesEnd - FoolTiles

View File

@ -1,9 +1,9 @@
TheMagician:
db 9, "THE "
db 9, "MAGICIAN "
db 9, "-capacity"
db 9, "-knowing "
db 9, "-manifest"
db 9, "capacity "
db 9, "knowing "
db 9, "manifest "
dw MagicianMapEnd - MagicianMap
dw MagicianMap
dw MagicianTilesEnd - MagicianTiles

View File

@ -1,9 +1,9 @@
TheHighPriestess:
db 9, "THE HIGH "
db 9, "PRIESTESS"
db 9, "-secrets "
db 9, "-mystery "
db 9, "-unknown "
db 9, "secrets "
db 9, "mystery "
db 9, "unknown "
dw HighPriestessMapEnd - HighPriestessMap
dw HighPriestessMap
dw HighPriestessTilesEnd - HighPriestessTiles

122
03TheEmpress.inc Normal file
View File

@ -0,0 +1,122 @@
TheEmpress:
db 9, "THE "
db 9, "EMPRESS "
db 9, "diplomacy"
db 9, "fecundity"
db 9, "nature "
dw EmpressMapEnd - EmpressMap
dw EmpressMap
dw EmpressTilesEnd - EmpressTiles
dw EmpressTiles
EmpressMap:
db $00, $01, $02, $03, $00, $00, $00, $00
db $00, $04, $05, $06, $07, $08, $00, $00
db $00, $09, $00, $0a, $00, $00, $0b, $00
db $00, $0c, $0d, $0e, $00, $0f, $10, $00
db $00, $11, $12, $00, $00, $00, $00, $00
db $00, $14, $15, $00, $16, $17, $18, $00
db $19, $1a, $1b, $1c, $1d, $1e, $1f, $20
db $21, $22, $23, $24, $25, $00, $26, $00
db $27, $28, $29, $2a, $2b, $2c, $2d, $00
db $2e, $2f, $30, $31, $32, $33, $34, $35
db $36, $37, $38, $00, $39, $3a, $3b, $3c
db $3d, $3e, $13, $3f, $40, $41, $42, $43
db $44, $45, $46, $47, $48, $49, $4a, $4b
db $4c, $4d, $00, $4e, $00, $4f, $50, $51
db $00, $00, $00, $52, $53, $54, $55, $00
db $00, $00, $00, $56, $57, $58, $00, $00
EmpressMapEnd:
EmpressTiles:
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$00,$02
db $00,$00,$00,$00,$00,$01,$00,$41,$00,$81,$00,$80,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$80,$00,$40
db $00,$04,$00,$08,$00,$08,$00,$07,$00,$00,$00,$01,$00,$02,$00,$04
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$00,$00,$00,$00,$00
db $00,$20,$00,$10,$00,$08,$00,$08,$00,$04,$00,$78,$00,$80,$00,$40
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0f,$00,$30,$00,$c0
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$f8,$00,$06,$00,$01
db $00,$08,$00,$10,$00,$3e,$00,$01,$00,$02,$00,$04,$00,$04,$00,$08
db $00,$21,$00,$12,$00,$0c,$00,$0c,$00,$04,$00,$7e,$00,$84,$00,$44
db $00,$80,$00,$40,$00,$20,$00,$20,$00,$20,$00,$20,$00,$20,$00,$10
db $00,$08,$00,$10,$00,$10,$00,$23,$00,$2c,$00,$10,$00,$00,$00,$00
db $00,$00,$00,$7e,$00,$a1,$00,$20,$00,$20,$00,$20,$00,$20,$00,$20
db $00,$24,$00,$14,$00,$cc,$00,$34,$00,$0c,$00,$02,$00,$02,$00,$01
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$00,$06
db $00,$10,$00,$10,$00,$10,$00,$10,$00,$10,$00,$60,$00,$80,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$13,$00,$14,$00,$18,$00,$10,$00,$30
db $00,$00,$00,$00,$00,$00,$00,$e0,$00,$10,$00,$08,$00,$04,$00,$02
db $00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$31,$00,$32,$00,$30,$00,$30,$00,$30,$00,$12,$00,$11,$00,$18
db $00,$b2,$00,$0a,$00,$04,$00,$04,$00,$04,$00,$64,$00,$88,$00,$10
db $00,$06,$00,$09,$00,$11,$00,$12,$00,$24,$00,$28,$00,$30,$00,$20
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$00,$08,$00,$10,$00,$11
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$c0,$00,$20,$00,$40,$00,$80
db $00,$00,$00,$00,$00,$01,$00,$06,$00,$0a,$00,$14,$00,$14,$00,$14
db $00,$0c,$00,$03,$00,$fc,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$20,$00,$c0,$00,$3c,$00,$02,$00,$01,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$40,$00,$20
db $00,$20,$00,$20,$00,$20,$00,$20,$00,$20,$00,$20,$00,$20,$00,$01
db $00,$22,$00,$4c,$00,$50,$00,$80,$00,$80,$00,$80,$00,$80,$00,$00
db $00,$00,$00,$01,$00,$02,$00,$04,$00,$04,$00,$09,$00,$12,$00,$1c
db $00,$80,$00,$40,$00,$20,$00,$40,$00,$80,$00,$00,$00,$00,$00,$00
db $00,$14,$00,$14,$00,$14,$00,$14,$00,$14,$00,$14,$00,$14,$00,$14
db $00,$40,$00,$40,$00,$40,$00,$40,$00,$40,$00,$80,$00,$80,$00,$80
db $00,$00,$00,$00,$00,$00,$00,$06,$00,$01,$00,$01,$00,$00,$00,$00
db $00,$20,$00,$10,$00,$10,$00,$08,$00,$08,$00,$84,$00,$c6,$00,$a1
db $00,$01,$00,$01,$00,$01,$00,$01,$00,$01,$00,$00,$00,$00,$00,$00
db $00,$10,$00,$20,$00,$20,$00,$20,$00,$40,$00,$40,$00,$40,$00,$40
db $00,$13,$00,$10,$00,$30,$00,$30,$00,$2e,$00,$21,$00,$20,$00,$20
db $00,$ff,$00,$00,$00,$00,$00,$00,$00,$00,$00,$ff,$00,$00,$00,$40
db $00,$e1,$00,$18,$00,$00,$00,$00,$00,$00,$00,$f8,$00,$00,$00,$04
db $00,$50,$00,$ac,$00,$52,$00,$49,$00,$44,$00,$23,$00,$20,$00,$20
db $00,$80,$00,$40,$00,$20,$00,$10,$00,$88,$00,$44,$00,$a2,$00,$71
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$00,$80
db $00,$40,$00,$40,$00,$40,$00,$00,$00,$00,$00,$00,$00,$80,$00,$70
db $00,$20,$00,$20,$00,$20,$00,$20,$00,$20,$00,$10,$00,$10,$00,$10
db $00,$20,$00,$20,$00,$20,$00,$10,$00,$10,$00,$10,$00,$10,$00,$08
db $00,$04,$00,$04,$00,$04,$00,$02,$00,$01,$00,$00,$00,$00,$00,$00
db $00,$20,$00,$20,$00,$20,$00,$20,$00,$40,$00,$81,$00,$00,$00,$00
db $00,$18,$00,$ec,$00,$1a,$00,$0f,$00,$07,$00,$00,$00,$80,$00,$40
db $00,$40,$00,$20,$00,$20,$00,$20,$00,$c0,$00,$f8,$00,$27,$00,$10
db $00,$08,$00,$04,$00,$02,$00,$01,$00,$00,$00,$00,$00,$00,$00,$80
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$7c,$00,$00,$00,$00
db $00,$10,$00,$08,$00,$08,$00,$04,$00,$04,$00,$02,$00,$02,$00,$01
db $00,$08,$00,$08,$00,$08,$00,$0c,$00,$0b,$00,$08,$00,$08,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$60,$00,$18,$00,$06
db $00,$20,$00,$10,$00,$08,$00,$04,$00,$02,$00,$01,$00,$00,$00,$00
db $00,$08,$00,$04,$00,$02,$00,$02,$00,$01,$00,$80,$00,$40,$00,$20
db $00,$40,$00,$20,$00,$20,$00,$20,$00,$16,$00,$91,$00,$90,$00,$90
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$60,$00,$1e
db $00,$01,$00,$01,$00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$80,$00,$40,$00,$a0,$00,$98,$00,$84
db $00,$80,$00,$70,$00,$0c,$00,$03,$00,$00,$00,$00,$00,$01,$00,$06
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$e0,$00,$90,$00,$08,$00,$04
db $00,$10,$00,$08,$00,$04,$00,$02,$00,$01,$00,$00,$00,$00,$00,$00
db $00,$50,$00,$50,$00,$48,$00,$28,$00,$28,$00,$a8,$00,$58,$00,$38
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$18
db $00,$00,$00,$00,$00,$01,$00,$01,$00,$01,$00,$01,$00,$01,$00,$02
db $00,$87,$00,$8b,$00,$08,$00,$08,$00,$10,$00,$10,$00,$10,$00,$20
db $00,$00,$00,$ff,$00,$7f,$00,$01,$00,$01,$00,$01,$00,$00,$00,$00
db $00,$78,$00,$90,$00,$10,$00,$10,$00,$10,$00,$08,$00,$88,$00,$88
db $00,$06,$00,$05,$00,$02,$00,$02,$00,$02,$00,$01,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$80,$00,$c0,$00,$b0,$00,$1c,$00,$0b,$00,$0f
db $00,$18,$00,$18,$00,$04,$00,$02,$00,$01,$00,$00,$00,$00,$00,$c0
db $00,$24,$00,$44,$00,$44,$00,$84,$00,$84,$00,$84,$00,$84,$00,$84
db $00,$02,$00,$02,$00,$02,$00,$06,$00,$03,$00,$02,$00,$00,$00,$00
db $00,$20,$00,$40,$00,$40,$00,$80,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$44,$00,$44,$00,$22,$00,$12,$00,$11,$00,$09,$00,$06,$00,$00
db $00,$04,$00,$02,$00,$00,$00,$01,$00,$01,$00,$01,$00,$00,$00,$00
db $00,$30,$00,$1c,$00,$76,$00,$0b,$00,$04,$00,$02,$00,$82,$00,$62
db $00,$08,$00,$88,$00,$88,$00,$90,$00,$50,$00,$20,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$3f,$00,$02,$00,$02,$00,$02
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$ff,$00,$44,$00,$44,$00,$44
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$f0,$00,$00,$00,$00
db $00,$1c,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$02,$00,$02,$00,$02,$00,$02,$00,$02,$00,$02,$00,$7f,$00,$00
db $00,$44,$00,$44,$00,$44,$00,$44,$00,$44,$00,$44,$00,$ff,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$e0,$00,$00
EmpressTilesEnd:

120
04TheEmperor.inc Normal file
View File

@ -0,0 +1,120 @@
TheEmperor:
db 9, "THE "
db 9, "EMPEROR "
db 9, "authority"
db 9, "control "
db 9, "stability"
dw EmperorMapEnd - EmperorMap
dw EmperorMap
dw EmperorTilesEnd - EmperorTiles
dw EmperorTiles
EmperorMap:
db $00, $4c, $4d, $08, $09, $4d, $51, $00
db $00, $4e, $0a, $0b, $0c, $00, $52, $00
db $00, $4f, $0d, $0e, $0f, $00, $53, $00
db $00, $50, $10, $11, $12, $13, $53, $00
db $00, $14, $15, $00, $00, $16, $17, $00
db $00, $18, $19, $00, $00, $1a, $1b, $00
db $1c, $1d, $1e, $00, $00, $1f, $20, $00
db $21, $22, $23, $00, $00, $24, $25, $26
db $28, $29, $2a, $00, $2b, $2c, $2d, $2e
db $31, $32, $33, $34, $35, $00, $36, $37
db $38, $39, $00, $00, $00, $00, $3a, $3b
db $00, $3c, $00, $00, $00, $4a, $3d, $00
db $00, $3e, $3f, $4b, $40, $41, $42, $00
db $43, $49, $44, $45, $46, $47, $48, $00
db $00, $00, $01, $02, $03, $04, $00, $00
db $00, $00, $05, $06, $07, $00, $00, $00
EmperorMapEnd:
EmperorTiles:
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$23,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$ff,$00,$21,$00,$21,$00,$21,$00,$21,$00,$21,$00,$20
db $00,$00,$00,$ff,$00,$04,$00,$08,$00,$08,$00,$08,$00,$10,$00,$90
db $00,$00,$00,$c0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$00,$00
db $00,$20,$00,$20,$00,$20,$00,$20,$00,$20,$00,$10,$00,$ff,$00,$00
db $00,$a0,$00,$a0,$00,$60,$00,$60,$00,$20,$00,$00,$00,$fe,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0f,$00,$90
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$4f
db $00,$01,$00,$01,$00,$01,$00,$02,$00,$02,$00,$02,$00,$01,$00,$01
db $00,$20,$00,$20,$00,$40,$00,$40,$00,$40,$00,$80,$00,$80,$00,$80
db $00,$20,$00,$20,$00,$10,$00,$10,$00,$08,$00,$0a,$00,$0c,$00,$0c
db $00,$01,$00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$80,$00,$80,$00,$80,$00,$80,$00,$80,$00,$4f,$00,$23,$00,$1c
db $00,$08,$00,$08,$00,$10,$00,$10,$00,$20,$00,$c0,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$01,$00,$0e,$00,$10,$00,$20,$00,$40
db $00,$00,$00,$00,$00,$1f,$00,$e0,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$1e,$00,$fc,$00,$03,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$80,$00,$70,$00,$06,$00,$02,$00,$02
db $00,$04,$00,$05,$00,$05,$00,$06,$00,$06,$00,$06,$00,$06,$00,$06
db $00,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$01,$00,$01,$00,$01,$00,$01,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$01,$00,$01,$00,$01,$00,$01,$00,$81,$00,$81,$00,$81,$00,$81
db $00,$06,$00,$06,$00,$06,$00,$06,$00,$06,$00,$06,$00,$04,$00,$18
db $00,$00,$00,$00,$00,$02,$00,$02,$00,$02,$00,$02,$00,$02,$00,$02
db $00,$40,$00,$40,$00,$40,$00,$c0,$00,$c0,$00,$c0,$00,$40,$00,$40
db $00,$41,$00,$41,$00,$41,$00,$41,$00,$41,$00,$41,$00,$21,$00,$21
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$03,$00,$16
db $00,$10,$00,$20,$00,$20,$00,$20,$00,$40,$00,$80,$00,$00,$00,$00
db $00,$02,$00,$02,$00,$04,$00,$04,$00,$04,$00,$08,$00,$10,$00,$60
db $00,$40,$00,$20,$00,$20,$00,$20,$00,$00,$00,$10,$00,$00,$00,$08
db $00,$11,$00,$11,$00,$08,$00,$08,$00,$08,$00,$04,$00,$02,$00,$02
db $00,$16,$00,$18,$00,$18,$00,$11,$00,$1e,$00,$70,$00,$60,$00,$80
db $00,$00,$00,$01,$00,$02,$00,$c4,$00,$38,$00,$f0,$00,$18,$00,$08
db $00,$80,$00,$00,$00,$00,$00,$00,$00,$04,$00,$04,$00,$08,$00,$10
db $00,$04,$00,$02,$00,$81,$00,$40,$00,$20,$00,$18,$00,$04,$00,$02
db $00,$01,$00,$00,$00,$00,$00,$80,$00,$80,$00,$70,$00,$30,$00,$18
db $00,$00,$00,$80,$00,$80,$00,$40,$00,$28,$00,$38,$00,$7c,$00,$a4
db $00,$00,$00,$00,$00,$00,$00,$01,$00,$01,$00,$02,$00,$02,$00,$02
db $00,$a0,$00,$e0,$00,$c0,$00,$c0,$00,$20,$00,$19,$00,$06,$00,$00
db $00,$14,$00,$16,$00,$22,$00,$42,$00,$81,$00,$01,$00,$07,$00,$39
db $00,$10,$00,$20,$00,$40,$00,$40,$00,$80,$00,$00,$00,$00,$00,$1c
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$00,$06
db $00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$78,$00,$80,$00,$00
db $00,$15,$00,$92,$00,$4b,$00,$27,$00,$23,$00,$16,$00,$0f,$00,$0f
db $00,$42,$00,$01,$00,$01,$00,$01,$00,$00,$00,$82,$00,$91,$00,$8f
db $00,$20,$00,$20,$00,$20,$00,$a0,$00,$a0,$00,$e0,$00,$c0,$00,$c0
db $00,$02,$00,$02,$00,$02,$00,$02,$00,$03,$00,$03,$00,$03,$00,$02
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$87
db $00,$20,$00,$60,$00,$70,$00,$70,$00,$70,$00,$d0,$00,$d0,$00,$f0
db $00,$02,$00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$80,$00,$80,$00,$40,$00,$20,$00,$1f,$00,$00,$00,$00,$00,$00
db $00,$08,$00,$10,$00,$20,$00,$40,$00,$80,$00,$00,$00,$00,$00,$00
db $00,$05,$00,$07,$00,$07,$00,$06,$00,$06,$00,$06,$00,$06,$00,$05
db $00,$ff,$00,$81,$00,$41,$00,$c1,$00,$a3,$00,$e3,$00,$7d,$00,$2a
db $00,$ff,$00,$5e,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$d0,$00,$50,$00,$40,$00,$60,$00,$40,$00,$40,$00,$40,$00,$40
db $00,$04,$00,$08,$00,$08,$00,$08,$00,$10,$00,$10,$00,$10,$00,$20
db $00,$df,$00,$3e,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$40,$00,$40,$00,$40,$00,$40,$00,$40,$00,$40,$00,$40,$00,$40
db $00,$20,$00,$20,$00,$20,$00,$20,$00,$20,$00,$00,$00,$00,$00,$80
db $00,$00,$00,$40,$00,$7f,$00,$80,$00,$20,$00,$20,$00,$40,$00,$40
db $00,$00,$00,$00,$00,$fc,$00,$0b,$00,$08,$00,$08,$00,$08,$00,$08
db $00,$00,$00,$00,$00,$01,$00,$06,$00,$08,$00,$38,$00,$c8,$00,$08
db $00,$1c,$00,$67,$00,$82,$00,$02,$00,$02,$00,$01,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$80
db $00,$00,$00,$00,$00,$01,$00,$01,$00,$02,$00,$02,$00,$02,$00,$02
db $00,$08,$00,$18,$00,$30,$00,$c0,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$20,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$04,$00,$03,$00,$02,$00,$01,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$80,$00,$40,$00,$3f
db $00,$40,$00,$40,$00,$30,$00,$20,$00,$10,$00,$10,$00,$08,$00,$f0
db $00,$80,$00,$80,$00,$00,$00,$00,$00,$03,$00,$04,$00,$08,$00,$30
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$03
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$7c,$00,$03,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$ff
db $00,$02,$00,$02,$00,$02,$00,$02,$00,$02,$00,$02,$00,$02,$00,$02
db $00,$02,$00,$02,$00,$02,$00,$02,$00,$04,$00,$04,$00,$04,$00,$04
db $00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$fc
db $00,$02,$00,$02,$00,$02,$00,$02,$00,$02,$00,$02,$00,$02,$00,$01
db $00,$01,$00,$01,$00,$01,$00,$01,$00,$01,$00,$01,$00,$01,$00,$01
db $00,$40,$00,$40,$00,$40,$00,$40,$00,$40,$00,$40,$00,$80,$00,$80
db $00,$02,$00,$02,$00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$40
EmperorTilesEnd:

View File

@ -1,153 +1,8 @@
; FF80 CALL
; FF81 LOW
; FF82 HIGH
; FF83 RET
; pattern repeats for the first 16 bytes so we can have some call vectors for the scene system
DEF SCENE_SETUP EQU $FF81
DEF SCENE_UPDATE EQU SCENE_SETUP + 4 ; call then ret is 3+1 bytes
DEF SCENE_DRAW EQU SCENE_UPDATE + 4
DEF SCENE_TEARDOWN EQU SCENE_DRAW + 4
DEF rMYBTN EQU $FFA0
DEF rMYBTNP EQU rMYBTN + 1
DEF INTERRUPT_LCD EQU $FF91
; tile index variables
DEF vSelectedTileIndex EQU $FFA0+2
DEF vPreviousCardIndex EQU $FFA0+3
; variables for safe transfer async function
DEF vSafeCopySource EQU $FFA0+4
DEF vSafeCopyDest EQU vSafeCopySource + 2
DEF vSafeCopyCount EQU vSafeCopyDest + 2 ; check this for safe transfer being complete
DEF vSafeCopyOriginalCount EQU vSafeCopyCount + 2
; stash previous interrupt state before using the interrupts
DEF vSafeCopyLYC EQU vSafeCopyOriginalCount + 2 ; stashes $FF45, the LYC register
DEF vSafeCopySTAT EQU vSafeCopyLYC + 1 ; stashes $FF41, the STAT register
DEF vSafeCopyInterruptFirst EQU vSafeCopySTAT + 1 ; stashes $0048 the STAT interrupt
DEF vSafeCopyInterruptSecond EQU vSafeCopyInterruptFirst + 1
DEF vSafeCopyInterruptEnable EQU vSafeCopyInterruptSecond + 1 ; stashes $FFFF, which interrupts are enabled
INCLUDE "hardware.inc"
SECTION "Interrupts", ROM0[$0]
ds $48 - @, 0
call INTERRUPT_LCD - 1
ret
SECTION "Header", ROM0[$100]
jp EntryPoint
ds $150 - @, 0 ; Make room for the header
EntryPoint:
; Shut down audio circuitry
ld a, 0
ld [rNR52], a
ld a, [Instructions] ; get the value of a call instruction so we can shove it into our handles
ld hl, SCENE_SETUP - 1
ld [hl], a
ld hl, SCENE_UPDATE - 1
ld [hl], a
ld hl, SCENE_DRAW - 1
ld [hl], a
ld hl, SCENE_TEARDOWN - 1
ld [hl], a
ld hl, INTERRUPT_LCD - 1
ld [hl], a
ld a, [Instructions + 3] ; get the value of a ret instruction
ld hl, SCENE_SETUP + 2
ld [hl], a
ld hl, SCENE_UPDATE + 2
ld [hl], a
ld hl, SCENE_DRAW + 2
ld [hl], a
ld hl, SCENE_TEARDOWN + 2
ld [hl], a
ld hl, INTERRUPT_LCD + 2
ld [hl], a
; set up our scene vectors
ld hl, SCENE_SETUP
ld de, CardReadSetup
ld a, e
ld [hl+], a
ld a, d
ld [hl+], a
ld hl, SCENE_UPDATE
ld de, CardReadUpdate
ld a, e
ld [hl+], a
ld a, d
ld [hl+], a
ld hl, SCENE_DRAW
ld de, CardReadDraw
ld a, e
ld [hl+], a
ld a, d
ld [hl+], a
ld hl, SCENE_TEARDOWN
ld de, CardReadTeardown
ld a, e
ld [hl+], a
ld a, d
ld [hl+], a
; set up the interrupt vector to just be ret.
ld hl, INTERRUPT_LCD
ld de, INTERRUPT_LCD + 2
ld a, e
ld [hl+], a
ld a, d
ld [hl+], a
; Do not turn the LCD off outside of VBlank
WaitVBlank:
ld a, [rLY]
cp 144
jp c, WaitVBlank
call SCENE_SETUP - 1
Loop:
di
ld hl, rP1
ld [hl], P1F_GET_DPAD
ld a, [hl]
ld a, [hl]
ld a, [hl]
ld a, [hl]
cpl
and a, %00001111
ld b, a
ld [hl], P1F_GET_BTN
ld a, [hl]
ld a, [hl]
ld a, [hl]
ld a, [hl]
cpl
and a, %00001111
swap a
or a, b
ld b, a
ld a, [rMYBTN]
cpl
and a, b
ld [rMYBTNP], a
ld a, b
ld [rMYBTN], a
call SCENE_UPDATE - 1
ld b, 144
call AwaitLine
call SCENE_DRAW - 1
jp Loop
; screen variables
DEF vSelectedCardIndex EQU rMYBTNP + 1
DEF vPreviousCardIndex EQU vSelectedCardIndex + 1
DEF vSelectedCardInSpread EQU vPreviousCardIndex + 1
DEF vSelectedSpreadAddress EQU vSelectedCardInSpread + 1
;; CARD READ PAGE STARTS HERE
CardReadSetup:
@ -168,13 +23,8 @@ CardReadSetup:
ld hl, UITilemap ; origin
ld de, $9800 ; destination
ld b, 18 ; height
ld c, 20 ; width
ld c, 10 ; width
call CopyTilesToMapUnsafe
;ld hl, FoolTiles
;ld de, $8000
;ld bc, FoolTilesEnd - FoolTiles
;call CopyRangeUnsafe
; Turn the LCD on
ld a, LCDCF_BLK01 | LCDCF_ON | LCDCF_BGON
@ -184,10 +34,17 @@ CardReadSetup:
ld a, %11100100
ld [rBGP], a
ld a, 0
ldh [vSelectedCardInSpread], a
ld hl, Spreads
ld a, l
ldh [vSelectedSpreadAddress], a
ld a, h
ldh [vSelectedSpreadAddress+1], a
ld a, $FF
ldh [vPreviousCardIndex], a
ld a, 0
ldh [vSelectedTileIndex], a
ldh [vSelectedCardIndex], a
call LoadCardData
ei
ret ; return from cardreadsetup
@ -196,36 +53,152 @@ CardReadUpdate:
ldh a, [rMYBTNP]
and a, %0000_1000 ; select the down key
jp z, :+ ; skip the following code if down is not pressed
ldh a, [vSelectedTileIndex]
ldh a, [vSelectedCardIndex]
inc a ; increment when they press down because the deck has card 0 at the top
ldh [vSelectedTileIndex], a
ldh [vSelectedCardIndex], a
:
ldh a, [rMYBTNP]
and a, %0000_0100 ; select the up key
jp z, :+ ; skip the following code if up is not pressed
ldh a, [vSelectedTileIndex]
ldh a, [vSelectedCardIndex]
dec a ; decrement when they press up because the deck has card 0 at the top
ldh [vSelectedTileIndex], a
ldh [vSelectedCardIndex], a
:
ldh a, [vSelectedTileIndex] ; load current selected tile index
ldh a, [vSelectedCardIndex] ; load current selected tile index
ld hl, Cards ; deck length
cp a, [hl] ; ddoes the index equal the deck length?
jp nz, :+
ld a, 0 ; if the index equals the deck length replace it with zero
ldh [vSelectedTileIndex], a
ldh [vSelectedCardIndex], a
:
cp a, $FF ; if the tile index is $FF (underflowed from dec)
jp nz, :+
ld a, [hl]
dec a ;replace with deck length - 1
ldh [vSelectedTileIndex], a
ldh [vSelectedCardIndex], a
:
ldh a, [rMYBTNP]
and a, %0000_0010 ; select the left key
jp z, :+ ; skip the following code if left is not pressed
ldh a, [vSelectedCardInSpread]
dec a
ldh [vSelectedCardInSpread], a
:
ldh a, [rMYBTNP]
and a, %0000_0001 ; select the right key
jp z, :+ ; skip the following code if right is not pressed
ldh a, [vSelectedCardInSpread]
inc a
ldh [vSelectedCardInSpread], a
:
ldh a, [vSelectedSpreadAddress]
ld l, a
ldh a, [vSelectedSpreadAddress+1]
ld h, a ; fetch the spread length address into h
ldh a, [vSelectedCardInSpread]
cp a, [hl] ; ddoes the index equal the deck length?
jp nz, :+
ld a, 0 ; if the index equals the deck length replace it with zero
ldh [vSelectedCardInSpread], a
:
cp a, $FF ; if the tile index is $FF (underflowed from dec)
jp nz, :+
ld a, [hl]
dec a ;replace with deck length - 1
ldh [vSelectedCardInSpread], a
:
ret
CardReadDraw:
; this function mostly just refreshes the deck view on the right side
; should probably be factored out into its own thing?
; it's also not vblank-safe; this could be up to 22 iterations of a loop...
; first, we draw the spread minimap
ldh a, [vSelectedSpreadAddress]
ld c, a
ldh a, [vSelectedSpreadAddress+1]
ld b, a
ld a, [bc]
ld e, a
ld d, 0
CardReadDraw_FoundSpread:
push de ; length of the spread in e!
CardReadDraw_DrawCard:
ld a, e
cp a, 0
jp z, CardReadDraw_DoneWithSpread
inc bc ; first card of spread is after the length of the spread
ld hl, $9800 + (32*12)+11
ld a, [bc]
swap a
and a, %0000_1111
ld d, 0
ld e, a ; add a to hl
add hl, de
CardReadDraw_DoneWithWalkRight:
ld a, [bc]
and a, %0000_1111
ld d, 0
ld e, 32
jp z, CardReadDraw_DoneWithWalkDown
CardReadDraw_WalkDown:
dec a
add hl, de
cp a, 0
jp nz, CardReadDraw_WalkDown
CardReadDraw_DoneWithWalkDown:
CardReadDraw_DrawMiniCard:
ld [hl], $83
add hl, de
ld [hl], $84
CardReadDraw_DoneDrawingCard:
pop de
dec de
ld a, e
cp a, 0
jp nz, CardReadDraw_FoundSpread
CardReadDraw_DoneWithSpread:
; highlight the selected card
ldh a, [vSelectedSpreadAddress]
ld l, a
ldh a, [vSelectedSpreadAddress+1]
ld h, a
ldh a, [vSelectedCardInSpread]
ld d, 0
ld e, a ; index of selected card in spread
inc e ; skip length
add hl, de
ld b, h
ld c, l ; move location of selected card to bc
ld hl, $9800 + (32*12)+11
ld a, [bc] ; a has card location
swap a
and a, %0000_1111
ld e, a
add hl, de ; step right
ld e, 32
ld a, [bc]
and a, %0000_1111
jp z, CardReadDraw_DrawSelectedCard
:
dec a
add hl, de ; step down
cp a, 0
jp nz, :-
CardReadDraw_DrawSelectedCard:
ld [hl], $85
add hl, de
ld [hl], $86
; okay now we draw the deck minimap
ld a, [Cards]
srl a ; divide by two because we're drawing icons for pairs of cards
ld b, a ; length of the cards data
@ -233,7 +206,7 @@ CardReadDraw:
ld de, 32 ; stride
CardReadDrawCopyTile:
ld [hl], $81 ; load the tile for "unselected pair of tiles"
add hl, de ; step forward by stride (de is the address we're drawing to on screen)
add hl, de ; step forward by stride (hl is the address we're drawing to on screen)
dec b ; sets zero flag because it's an 8-bit register
jp nz, CardReadDrawCopyTile ; repeat if there's more cards in the deck to draw
ld [hl], $87 ; draw the cap at the end
@ -241,7 +214,7 @@ CardReadDrawCopyTile:
; the rest of this stuff deals with drawing the set-out card for the current
; selected card
CardReadDrawSelectedTile:
ldh a, [vSelectedTileIndex]
ldh a, [vSelectedCardIndex]
srl a
ld b, a
ld hl, $9800+32*4+19 ; start point
@ -254,7 +227,7 @@ CardReadDrawCountDownTile:
dec b
jp nz, CardReadDrawCountDownTile
CardReadDrawDrawSelectedTile:
ldh a, [vSelectedTileIndex]
ldh a, [vSelectedCardIndex]
and a, 1
; if we're on an odd tile, draw the tile with the top card selected.
; no other tile needs to change.
@ -272,7 +245,7 @@ CardReadDrawDrawSelectedTile:
CardReadDrawReturn:
; check if the current selected tile is different from the previous;
; if it is different, then load new card data
ldh a, [vSelectedTileIndex]
ldh a, [vSelectedCardIndex]
ld hl, vPreviousCardIndex
cp a, [hl]
call nz, LoadCardData ; only load new card data if the selected card has changed
@ -282,12 +255,12 @@ CardReadTeardown:
ret
LoadCardData:
ld a, [vSelectedTileIndex]
ld a, [vSelectedCardIndex]
ld [vPreviousCardIndex], a
ld b, 144
call AwaitLine ; wait for vblank before starting to work
ld a, [vSelectedTileIndex]
ld a, [vSelectedCardIndex]
ld b, 0
ld c, a ; load bc from a. coming into this we have the number of the card in the card array in a
ld hl, Cards + 1 ; skip the length prefix
@ -381,84 +354,8 @@ WaitForSafeCopy2:
ret
Instructions:
call Instructions + 2
ret
; subroutines
PrintString: ; write ascii string which has been prefixed by its length.
ld b, [hl]
inc hl
PrintBChars: ;write ascii characters. will not respect newlines or anything like that
; hl should be the source of ascii text
; de should be the location in the tile map to start writing at
; b should be the length
ld a, [hli]
or a, %10000000
ld [de], a
inc de
dec b
jp nz, PrintBChars
ret
AwaitLine: ; put the line you want to reach in b
ld a, [rLY]
cp b
jp nz, AwaitLine
ret
CopyRangeUnsafe:
; hl is source
; de is destination
; bc is length to copy
ld a, [hli]
ld [de], a
inc de
dec bc
ld a, b
or a, c ; check if bc is zero
jp nz, CopyRangeUnsafe
ret
INCLUDE "CopyRangeSafe.inc"
CopyTilesToMapUnsafe:
; copy tiles from where they are linearly packed at an origin (de)
; to a rectangle in the tilemap in vram (hl)
; assuming it has height in b and width in c.
push bc
CopyTile:
ld a, [hl] ; load from the tile map into a
ld [de], a ; load from a into the destination
inc hl ; this is slower than using hli but i'm trying to work with this here
inc de
dec c
; check if we've completed a line?
ld a, 0
or a, c ; check if c is zero, if it's not zero go back and copy more bytes
jp nz, CopyTile
DoneWithLine:
pop bc
ld a, e
add a, 32
ld e, a
ld a, d
adc a, 0
ld d, a
ld a, e
sub a, c
ld e, a
ld a, d
sbc a, 0
ld d, a
dec b
ld a, b
cp a, 0
jp nz, CopyTilesToMapUnsafe
ret
INCLUDE "CopyTilesSafe.inc"
@ -466,19 +363,26 @@ INCLUDE "CopyTilesSafe.inc"
SECTION "Card Data", ROM0
Cards:
db 3
db 5
dw TheFool
dw TheMagician
dw TheHighPriestess
dw TheEmpress
dw TheEmperor
INCLUDE "00TheFool.inc"
INCLUDE "01TheMagician.inc"
INCLUDE "02TheHighPriestess.inc"
INCLUDE "03TheEmpress.inc"
INCLUDE "04TheEmperor.inc"
SECTION "Tile data", ROM0
Spreads:
db 10, $00, $10, $20, $30, $40, $02, $12, $22, $32, $42
db 5, $11, $20, $22, $31, $41
db 3, $11, $21, $31
UITiles:
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $0f,$0f,$10,$10,$10,$10,$10,$10,$0f,$0f,$10,$10,$10,$10,$10,$10
@ -657,22 +561,22 @@ BigLetterTilesEnd:
SECTION "Tilemap", ROM0
UITilemap:
db $8b, $8d, $8d, $8d, $8d, $8d, $8d, $8d, $8d, $8a, $80, $80, $80, $80, $80, $80, $80, $80, $80, $80
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89, $80, $80, $80, $80, $80, $80, $80, $80, $80, $80
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89, $80, $80, $80, $80, $80, $80, $80, $80, $80, $80
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89, $80, $80, $80, $80, $80, $80, $80, $80, $80, $80
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89, $80, $80, $80, $80, $80, $80, $80, $80, $80, $80
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89, $80, $80, $80, $80, $80, $80, $80, $80, $80, $80
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89, $80, $80, $80, $80, $80, $80, $80, $80, $80, $80
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89, $80, $80, $80, $80, $80, $80, $80, $80, $80, $80
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89, $80, $80, $80, $80, $80, $80, $80, $80, $80, $80
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89, $80, $80, $80, $80, $80, $80, $80, $80, $80, $80
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89, $80, $80, $80, $80, $80, $80, $80, $80, $80, $80
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89, $80, $80, $80, $80, $80, $80, $80, $80, $80, $80
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89, $80, $80, $80, $85, $80, $80, $80, $80, $80, $80
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89, $80, $80, $83, $86, $83, $83, $80, $80, $80, $80
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89, $80, $80, $84, $83, $84, $84, $80, $80, $80, $80
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89, $80, $80, $80, $84, $80, $80, $80, $80, $80, $80
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89, $80, $80, $80, $80, $80, $80, $80, $80, $80, $80
db $8c, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $88, $80, $80, $80, $80, $80, $80, $80, $80, $80, $80
db $8b, $8d, $8d, $8d, $8d, $8d, $8d, $8d, $8d, $8a
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89
db $8e, $80, $80, $80, $80, $80, $80, $80, $80, $89
db $8c, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $8f, $88
UITilemapEnd:

View File

@ -1,3 +1,15 @@
; variables for safe transfer async function
DEF vSafeCopySource EQU INTERRUPT_LCD + 3
DEF vSafeCopyDest EQU vSafeCopySource + 2
DEF vSafeCopyCount EQU vSafeCopyDest + 2 ; check this for safe transfer being complete
DEF vSafeCopyOriginalCount EQU vSafeCopyCount + 2
; stash previous interrupt state before using the interrupts
DEF vSafeCopyLYC EQU vSafeCopyOriginalCount + 2 ; stashes $FF45, the LYC register
DEF vSafeCopySTAT EQU vSafeCopyLYC + 1 ; stashes $FF41, the STAT register
DEF vSafeCopyInterrupt EQU vSafeCopySTAT + 1 ; stashes the previous LCD interrupt
DEF vSafeCopyInterruptEnable EQU vSafeCopyInterrupt + 2 ; stashes $FFFF, which interrupts are enabled
CopyRangeSafe:
; hl is source
; de is destination
@ -32,9 +44,9 @@ CopyRangeSafe:
ldh a, [$ff45]
ldh [vSafeCopyLYC], a ; stashes $FF45, the LYC register
ld a, [INTERRUPT_LCD]
ld [vSafeCopyInterruptFirst], a
ld a, [INTERRUPT_LCD + 1]
ld [vSafeCopyInterruptSecond], a ; stashes the current STAT interrupt handler
ld [vSafeCopyInterrupt], a
ld a, [INTERRUPT_LCD+1]
ld [vSafeCopyInterrupt+1], a ; stashes the current STAT interrupt handler
ld a, [$ffff]
and a, %0000_0010
ld [vSafeCopyInterruptEnable], a ; stashes whether LCD interrupt are enabled
@ -174,9 +186,9 @@ CopyRangeSafe_Done: ; called when the complete transfer is finished,
ldh [$ff41], a
ldh a, [vSafeCopyLYC]
ldh [$ff45], a
ldh a, [vSafeCopyInterruptFirst]
ldh a, [vSafeCopyInterrupt]
ld [INTERRUPT_LCD], a
ldh a, [vSafeCopyInterruptSecond]
ldh a, [vSafeCopyInterrupt+1]
ldh [INTERRUPT_LCD+1], a
ld hl, $ffff
@ -193,3 +205,16 @@ CopyRangeSafe_Done: ; called when the complete transfer is finished,
CopyRangeSafe_Return:
reti
CopyRangeUnsafe:
; hl is source
; de is destination
; bc is length to copy
ld a, [hli]
ld [de], a
inc de
dec bc
ld a, b
or a, c ; check if bc is zero
jp nz, CopyRangeUnsafe
ret

View File

@ -28,9 +28,9 @@ CopyTilesSafe:
ldh a, [$ff45]
ldh [vSafeCopyLYC], a ; stashes $FF45, the LYC register
ld a, [INTERRUPT_LCD]
ld [vSafeCopyInterruptFirst], a
ld a, [INTERRUPT_LCD + 1]
ld [vSafeCopyInterruptSecond], a ; stashes the current STAT interrupt handler
ld [vSafeCopyInterrupt], a
ld a, [INTERRUPT_LCD+1]
ld [vSafeCopyInterrupt+1], a ; stashes the current STAT interrupt handler
ld a, [$ffff]
and a, %0000_0010
ld [vSafeCopyInterruptEnable], a ; stashes whether LCD interrupt are enabled
@ -191,9 +191,9 @@ CopyTilesSafe_Done: ; called when the complete transfer is finished,
ldh [$ff41], a
ldh a, [vSafeCopyLYC]
ldh [$ff45], a
ldh a, [vSafeCopyInterruptFirst]
ldh a, [vSafeCopyInterrupt]
ld [INTERRUPT_LCD], a
ldh a, [vSafeCopyInterruptSecond]
ldh a, [vSafeCopyInterrupt+1]
ldh [INTERRUPT_LCD+1], a
ld hl, $ffff
@ -210,3 +210,41 @@ CopyTilesSafe_Done: ; called when the complete transfer is finished,
CopyTilesSafe_Return:
reti
CopyTilesToMapUnsafe:
; copy tiles from where they are linearly packed at an origin (de)
; to a rectangle in the tilemap in vram (hl)
; assuming it has height in b and width in c.
push bc
CopyTile:
ld a, [hl] ; load from the tile map into a
ld [de], a ; load from a into the destination
inc hl ; this is slower than using hli but i'm trying to work with this here
inc de
dec c
; check if we've completed a line?
ld a, 0
or a, c ; check if c is zero, if it's not zero go back and copy more bytes
jp nz, CopyTile
DoneWithLine:
pop bc
ld a, e
add a, 32
ld e, a
ld a, d
adc a, 0
ld d, a
ld a, e
sub a, c
ld e, a
ld a, d
sbc a, 0
ld d, a
dec b
ld a, b
cp a, 0
jp nz, CopyTilesToMapUnsafe
ret

View File

@ -1,120 +0,0 @@
; original export script by gabriel reis, modified by shoofle
KeyArtTiles:
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$ff,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$04
db $00,$3f,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$ff,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$f8,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$40,$00,$ff,$00,$42,$00,$42,$00,$42,$00,$42,$00,$42
db $00,$42,$00,$42,$00,$42,$00,$42,$00,$42,$00,$42,$00,$42,$00,$42
db $10,$00,$00,$10,$00,$10,$80,$10,$40,$10,$40,$10,$20,$18,$10,$28
db $00,$28,$00,$28,$00,$24,$00,$24,$00,$e4,$00,$22,$00,$a2,$00,$41
db $00,$00,$00,$00,$00,$01,$00,$06,$00,$99,$00,$20,$00,$00,$00,$fc
db $00,$40,$00,$c0,$00,$20,$00,$60,$00,$60,$00,$60,$00,$50,$00,$50
db $00,$07,$00,$00,$00,$00,$00,$00,$00,$ff,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$c2,$00,$62,$00,$52,$00,$8a,$00,$06,$00,$02,$00,$02
db $00,$48,$00,$44,$00,$43,$00,$40,$00,$40,$00,$5f,$00,$20,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$c0,$00,$30,$00,$88,$00,$08,$00,$04
db $00,$03,$00,$03,$00,$01,$00,$01,$00,$01,$00,$03,$00,$03,$00,$06
db $00,$04,$00,$04,$00,$02,$00,$02,$00,$02,$00,$02,$00,$04,$00,$18
db $00,$08,$00,$10,$00,$20,$00,$20,$00,$40,$00,$80,$00,$80,$00,$80
db $00,$00,$00,$03,$00,$04,$00,$04,$00,$04,$00,$04,$00,$03,$00,$00
db $00,$20,$00,$c0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$f8
db $00,$00,$00,$01,$00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$80,$00,$00,$00,$00,$00,$80,$00,$78,$00,$06,$00,$01,$00,$00
db $00,$31,$00,$31,$00,$11,$00,$11,$00,$11,$00,$11,$00,$11,$00,$91
db $00,$07,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$e0,$00,$1f,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$9f,$00,$60,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$81,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $41,$00,$20,$00,$10,$00,$08,$00,$04,$00,$02,$00,$01,$00,$00,$01
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$7e,$00,$81,$00,$01
db $00,$42,$00,$44,$00,$44,$00,$22,$00,$21,$00,$18,$00,$06,$00,$01
db $00,$82,$00,$82,$00,$05,$00,$08,$00,$f0,$00,$80,$00,$00,$00,$00
db $00,$10,$80,$10,$80,$10,$80,$10,$00,$30,$00,$1f,$00,$78,$00,$94
db $02,$08,$01,$08,$00,$08,$00,$08,$00,$08,$00,$e8,$00,$1f,$00,$08
db $01,$00,$00,$00,$80,$00,$40,$00,$20,$00,$10,$00,$08,$80,$04,$40
db $80,$06,$80,$08,$80,$10,$40,$10,$40,$10,$20,$10,$20,$10,$10,$00
db $02,$30,$01,$08,$00,$04,$00,$02,$00,$02,$00,$01,$00,$00,$00,$80
db $08,$04,$04,$00,$80,$04,$40,$04,$00,$04,$00,$08,$00,$88,$00,$88
db $00,$00,$00,$80,$00,$80,$00,$80,$00,$80,$00,$80,$00,$80,$00,$41
db $00,$80,$00,$40,$00,$40,$00,$40,$00,$40,$00,$40,$00,$41,$00,$41
db $00,$88,$00,$88,$00,$88,$00,$88,$00,$88,$00,$88,$20,$08,$10,$08
db $00,$80,$00,$40,$00,$20,$00,$18,$00,$07,$00,$00,$00,$00,$00,$00
db $00,$08,$00,$e8,$00,$30,$00,$c0,$00,$00,$00,$02,$00,$01,$00,$00
db $08,$00,$00,$08,$00,$88,$00,$48,$00,$28,$00,$78,$00,$98,$00,$88
db $00,$f8,$00,$a8,$00,$a8,$00,$a8,$00,$a8,$00,$a8,$00,$a9,$00,$a9
db $00,$29,$00,$31,$00,$31,$00,$31,$00,$31,$00,$31,$00,$31,$00,$31
db $00,$28,$00,$24,$00,$24,$00,$24,$00,$24,$00,$27,$00,$27,$00,$2e
db $00,$2d,$00,$26,$00,$25,$00,$25,$00,$25,$00,$25,$00,$25,$00,$25
db $00,$25,$00,$25,$00,$25,$00,$25,$00,$15,$00,$15,$00,$15,$00,$15
db $00,$15,$00,$15,$00,$15,$00,$15,$00,$11,$00,$02,$00,$02,$00,$02
db $00,$02,$00,$02,$00,$02,$00,$04,$00,$04,$00,$08,$00,$08,$00,$00
db $00,$a9,$00,$a9,$00,$a9,$00,$a9,$00,$a9,$00,$a9,$00,$a9,$00,$a9
db $02,$00,$02,$00,$80,$03,$40,$04,$20,$08,$00,$10,$00,$10,$00,$10
db $01,$00,$00,$00,$00,$e0,$00,$10,$00,$10,$00,$08,$00,$08,$0c,$00
db $00,$0b,$00,$08,$00,$04,$00,$03,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$01,$00,$03,$00,$0c,$01,$f4,$00,$04
db $00,$04,$00,$04,$00,$24,$00,$24,$02,$24,$02,$24,$01,$24,$01,$24
db $00,$78,$00,$80,$00,$00,$00,$60,$00,$18,$00,$07,$00,$00,$00,$00
db $00,$60,$00,$1c,$00,$03,$00,$00,$00,$01,$00,$fe,$00,$00,$00,$00
db $02,$40,$01,$20,$00,$f8,$00,$78,$00,$88,$00,$08,$00,$08,$00,$10
db $08,$20,$06,$40,$01,$80,$10,$00,$08,$00,$04,$00,$02,$00,$81,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$1f,$00,$e7
db $00,$00,$00,$00,$00,$00,$00,$07,$00,$00,$00,$00,$00,$fe,$00,$81
db $00,$20,$00,$40,$00,$80,$00,$00,$00,$00,$00,$00,$04,$00,$04,$80
db $00,$00,$00,$02,$00,$02,$00,$02,$00,$02,$00,$02,$00,$02,$00,$06
db $00,$22,$00,$22,$00,$22,$00,$22,$00,$22,$00,$02,$00,$02,$00,$02
db $00,$02,$00,$02,$00,$02,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $02,$28,$02,$28,$01,$28,$00,$28,$00,$28,$00,$28,$00,$28,$00,$28
db $00,$0a,$00,$0a,$00,$0a,$00,$0a,$00,$0a,$00,$0a,$00,$0a,$00,$0a
db $00,$12,$00,$12,$00,$12,$00,$22,$00,$22,$00,$22,$00,$22,$00,$22
db $00,$22,$00,$22,$00,$22,$00,$22,$00,$22,$00,$22,$00,$22,$00,$22
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$7f,$00,$00
db $00,$0c,$00,$18,$80,$0c,$40,$0b,$20,$04,$10,$04,$08,$02,$00,$02
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$ff,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$fc,$00,$00,$00,$00,$00,$00
db $00,$01,$a0,$00,$70,$00,$10,$00,$08,$00,$04,$00,$02,$00,$01,$00
db $00,$00,$00,$80,$00,$80,$00,$40,$00,$3f,$00,$04,$00,$04,$00,$04
db $00,$80,$00,$40,$00,$20,$00,$18,$00,$06,$00,$01,$00,$00,$00,$03
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$3f,$00,$c0
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$f8,$00,$00,$00,$00
db $00,$04,$80,$04,$80,$04,$40,$04,$20,$04,$20,$04,$10,$04,$10,$04
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$ff,$00,$00,$00,$84,$00,$44
db $00,$48,$00,$88,$00,$88,$00,$88,$00,$88,$00,$88,$00,$08,$00,$08
db $00,$44,$00,$44,$00,$44,$00,$44,$00,$44,$00,$44,$00,$44,$00,$44
db $00,$08,$00,$08,$00,$08,$00,$08,$00,$08,$00,$08,$00,$08,$00,$08
db $00,$08,$00,$08,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$00,$02,$00,$0c,$00,$10
db $00,$00,$00,$00,$00,$00,$00,$78,$00,$86,$00,$01,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$fc,$00,$02,$00,$01
db $00,$28,$00,$28,$00,$28,$00,$28,$00,$28,$00,$28,$08,$20,$04,$28
db $00,$00,$01,$00,$00,$00,$00,$00,$40,$00,$20,$00,$10,$00,$08,$00
db $04,$00,$03,$00,$c0,$00,$20,$00,$10,$00,$10,$00,$08,$00,$04,$00
db $02,$00,$01,$00,$80,$00,$40,$00,$20,$00,$20,$00,$18,$00,$06,$00
db $00,$00,$80,$00,$40,$00,$20,$00,$10,$00,$08,$00,$04,$00,$04,$00
BackgroundCopy:
db $00, $00, $57, $58, $59, $00, $00, $00
db $3e, $3f, $40, $5b, $5e, $4e, $4f, $50
db $3a, $3b, $3c, $5c, $5d, $49, $4a, $4b
db $48, $38, $3d, $35, $36, $4c, $4d, $52
db $41, $39, $1d, $21, $22, $23, $51, $54
db $45, $5a, $24, $37, $2b, $25, $26, $54
db $46, $44, $09, $27, $1e, $28, $29, $54
db $47, $2f, $0a, $1f, $0b, $20, $2c, $54
db $47, $30, $0c, $2a, $0d, $0e, $2d, $53
db $47, $31, $0f, $10, $00, $11, $34, $55
db $47, $32, $00, $12, $00, $13, $2e, $55
db $42, $33, $14, $15, $16, $17, $18, $55
db $43, $00, $00, $19, $1a, $1b, $1c, $56
db $00, $00, $01, $02, $07, $02, $00, $00
db $00, $00, $00, $00, $08, $03, $00, $00
db $00, $00, $00, $04, $05, $06, $00, $00

1114
hardware.inc Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,123 +0,0 @@
; original export script by gabriel reis, modified by shoofle
littleletters:
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $03,$03,$07,$07,$0f,$0f,$0e,$0e,$1c,$1c,$30,$30,$c0,$c0,$c0,$c0
db $24,$24,$6c,$6c,$6c,$6c,$48,$48,$00,$00,$00,$00,$00,$00,$00,$00
db $1a,$1a,$1a,$1a,$7f,$7f,$34,$34,$34,$34,$fe,$fe,$68,$68,$68,$68
db $08,$08,$3c,$3c,$6a,$6a,$68,$68,$3c,$3c,$0a,$0a,$6a,$6a,$3c,$3c
db $63,$63,$a6,$a6,$ac,$ac,$d8,$d8,$1b,$1b,$35,$35,$65,$65,$c6,$c6
db $18,$18,$24,$24,$28,$28,$18,$18,$2c,$2c,$66,$66,$67,$67,$39,$39
db $18,$18,$18,$18,$18,$18,$30,$30,$00,$00,$00,$00,$00,$00,$00,$00
db $04,$04,$0c,$0c,$18,$18,$10,$10,$10,$10,$18,$18,$0c,$0c,$04,$04
db $20,$20,$30,$30,$18,$18,$08,$08,$08,$08,$18,$18,$30,$30,$20,$20
db $00,$00,$08,$08,$28,$28,$1e,$1e,$78,$78,$14,$14,$10,$10,$00,$00
db $00,$00,$00,$00,$18,$18,$18,$18,$7e,$7e,$18,$18,$18,$18,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$0c,$0c,$0c,$0c,$0c,$0c,$18,$18
db $00,$00,$00,$00,$00,$00,$1c,$1c,$38,$38,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$18,$18,$18,$18,$00,$00
db $04,$04,$0c,$0c,$0c,$0c,$18,$18,$18,$18,$30,$30,$30,$30,$20,$20
db $00,$00,$38,$38,$64,$64,$64,$64,$64,$64,$64,$64,$64,$64,$38,$38
db $08,$08,$18,$18,$38,$38,$18,$18,$18,$18,$18,$18,$18,$18,$3c,$3c
db $00,$00,$38,$38,$4c,$4c,$0c,$0c,$0c,$0c,$18,$18,$30,$30,$7c,$7c
db $00,$00,$3c,$3c,$06,$06,$06,$06,$1c,$1c,$06,$06,$06,$06,$3c,$3c
db $00,$00,$04,$04,$26,$26,$26,$26,$3e,$3e,$06,$06,$06,$06,$04,$04
db $00,$00,$7c,$7c,$64,$64,$60,$60,$78,$78,$44,$44,$04,$04,$38,$38
db $00,$00,$20,$20,$30,$30,$30,$30,$3c,$3c,$32,$32,$32,$32,$1c,$1c
db $00,$00,$7c,$7c,$4c,$4c,$0c,$0c,$3e,$3e,$18,$18,$30,$30,$20,$20
db $00,$00,$78,$78,$64,$64,$64,$64,$38,$38,$64,$64,$64,$64,$3c,$3c
db $00,$00,$38,$38,$4c,$4c,$4c,$4c,$3c,$3c,$0c,$0c,$0c,$0c,$18,$18
db $00,$00,$00,$00,$18,$18,$18,$18,$00,$00,$18,$18,$18,$18,$00,$00
db $00,$00,$00,$00,$0c,$0c,$0c,$0c,$00,$00,$0c,$0c,$0c,$0c,$18,$18
db $00,$00,$0c,$0c,$18,$18,$30,$30,$60,$60,$30,$30,$18,$18,$0c,$0c
db $00,$00,$00,$00,$3c,$3c,$3c,$3c,$00,$00,$3c,$3c,$3c,$3c,$00,$00
db $00,$00,$30,$30,$18,$18,$0c,$0c,$06,$06,$0c,$0c,$18,$18,$30,$30
db $38,$38,$6c,$6c,$24,$24,$0c,$0c,$18,$18,$18,$18,$00,$00,$18,$18
db $3c,$3c,$62,$62,$59,$59,$45,$45,$5d,$5d,$5d,$5d,$63,$63,$38,$38
db $00,$00,$38,$38,$34,$34,$32,$32,$3e,$3e,$32,$32,$32,$32,$32,$32
db $00,$00,$7c,$7c,$32,$32,$32,$32,$3c,$3c,$32,$32,$32,$32,$1c,$1c
db $00,$00,$3c,$3c,$72,$72,$62,$62,$60,$60,$60,$60,$62,$62,$3c,$3c
db $00,$00,$f8,$f8,$64,$64,$62,$62,$62,$62,$62,$62,$62,$62,$3c,$3c
db $00,$00,$fc,$fc,$60,$60,$60,$60,$78,$78,$60,$60,$60,$60,$3c,$3c
db $00,$00,$fc,$fc,$60,$60,$60,$60,$78,$78,$60,$60,$60,$60,$20,$20
db $00,$00,$78,$78,$64,$64,$60,$60,$60,$60,$6e,$6e,$64,$64,$3c,$3c
db $00,$00,$40,$40,$62,$62,$62,$62,$7e,$7e,$62,$62,$62,$62,$22,$22
db $00,$00,$10,$10,$18,$18,$18,$18,$18,$18,$18,$18,$18,$18,$08,$08
db $00,$00,$08,$08,$0c,$0c,$0c,$0c,$0c,$0c,$4c,$4c,$6c,$6c,$3c,$3c
db $00,$00,$40,$40,$64,$64,$68,$68,$70,$70,$68,$68,$64,$64,$22,$22
db $00,$00,$20,$20,$30,$30,$30,$30,$30,$30,$30,$30,$32,$32,$1e,$1e
db $00,$00,$3e,$3e,$6a,$6a,$6a,$6a,$6a,$6a,$62,$62,$62,$62,$22,$22
db $00,$00,$72,$72,$6a,$6a,$6a,$6a,$6a,$6a,$66,$66,$62,$62,$22,$22
db $00,$00,$3c,$3c,$66,$66,$62,$62,$62,$62,$62,$62,$32,$32,$1e,$1e
db $00,$00,$f8,$f8,$64,$64,$64,$64,$7c,$7c,$60,$60,$60,$60,$20,$20
db $00,$00,$38,$38,$64,$64,$62,$62,$62,$62,$6a,$6a,$64,$64,$3b,$3b
db $00,$00,$f8,$f8,$64,$64,$64,$64,$7c,$7c,$68,$68,$64,$64,$23,$23
db $00,$00,$38,$38,$64,$64,$60,$60,$38,$38,$04,$04,$64,$64,$38,$38
db $00,$00,$7e,$7e,$5a,$5a,$18,$18,$18,$18,$18,$18,$18,$18,$08,$08
db $00,$00,$40,$40,$62,$62,$62,$62,$62,$62,$62,$62,$62,$62,$3c,$3c
db $00,$00,$40,$40,$62,$62,$62,$62,$62,$62,$24,$24,$34,$34,$18,$18
db $00,$00,$c3,$c3,$62,$62,$62,$62,$6a,$6a,$6a,$6a,$6a,$6a,$34,$34
db $00,$00,$42,$42,$62,$62,$34,$34,$18,$18,$3c,$3c,$66,$66,$42,$42
db $00,$00,$4c,$4c,$4c,$4c,$4c,$4c,$3c,$3c,$0c,$0c,$4c,$4c,$78,$78
db $00,$00,$7e,$7e,$46,$46,$0c,$0c,$18,$18,$30,$30,$62,$62,$7e,$7e
db $7c,$7c,$60,$60,$60,$60,$60,$60,$60,$60,$60,$60,$60,$60,$7c,$7c
db $20,$20,$30,$30,$30,$30,$18,$18,$18,$18,$0c,$0c,$0c,$0c,$04,$04
db $3e,$3e,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$3e,$3e
db $18,$18,$3c,$3c,$66,$66,$42,$42,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$7c,$7c,$3e,$3e
db $30,$30,$18,$18,$0c,$0c,$04,$04,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$38,$38,$0c,$0c,$3c,$3c,$4c,$4c,$3a,$3a,$00,$00
db $00,$00,$30,$30,$30,$30,$3c,$3c,$32,$32,$32,$32,$3c,$3c,$00,$00
db $00,$00,$00,$00,$1c,$1c,$30,$30,$30,$30,$30,$30,$1c,$1c,$00,$00
db $00,$00,$0c,$0c,$0c,$0c,$3c,$3c,$4c,$4c,$4c,$4c,$3c,$3c,$00,$00
db $00,$00,$00,$00,$38,$38,$64,$64,$78,$78,$60,$60,$3c,$3c,$00,$00
db $00,$00,$0e,$0e,$18,$18,$3c,$3c,$18,$18,$18,$18,$18,$18,$00,$00
db $00,$00,$00,$00,$3c,$3c,$4c,$4c,$4c,$4c,$3c,$3c,$0c,$0c,$38,$38
db $00,$00,$60,$60,$60,$60,$78,$78,$64,$64,$64,$64,$64,$64,$00,$00
db $00,$00,$10,$10,$00,$00,$38,$38,$18,$18,$18,$18,$3c,$3c,$00,$00
db $00,$00,$08,$08,$00,$00,$0c,$0c,$0c,$0c,$0c,$0c,$2c,$2c,$18,$18
db $00,$00,$60,$60,$68,$68,$68,$68,$70,$70,$68,$68,$64,$64,$00,$00
db $00,$00,$30,$30,$30,$30,$30,$30,$30,$30,$30,$30,$18,$18,$00,$00
db $00,$00,$00,$00,$74,$74,$6a,$6a,$6a,$6a,$6a,$6a,$6a,$6a,$00,$00
db $00,$00,$00,$00,$78,$78,$64,$64,$64,$64,$64,$64,$64,$64,$00,$00
db $00,$00,$00,$00,$38,$38,$64,$64,$64,$64,$64,$64,$38,$38,$00,$00
db $00,$00,$00,$00,$78,$78,$64,$64,$64,$64,$78,$78,$60,$60,$60,$60
db $00,$00,$00,$00,$3c,$3c,$4c,$4c,$4c,$4c,$3c,$3c,$0c,$0c,$0e,$0e
db $00,$00,$00,$00,$1c,$1c,$30,$30,$30,$30,$30,$30,$30,$30,$00,$00
db $00,$00,$00,$00,$38,$38,$60,$60,$38,$38,$0c,$0c,$78,$78,$00,$00
db $00,$00,$30,$30,$78,$78,$30,$30,$30,$30,$30,$30,$1c,$1c,$00,$00
db $00,$00,$00,$00,$64,$64,$64,$64,$64,$64,$64,$64,$3c,$3c,$00,$00
db $00,$00,$00,$00,$64,$64,$64,$64,$64,$64,$28,$28,$10,$10,$00,$00
db $00,$00,$00,$00,$62,$62,$6a,$6a,$6a,$6a,$6a,$6a,$34,$34,$00,$00
db $00,$00,$00,$00,$64,$64,$38,$38,$18,$18,$2c,$2c,$46,$46,$00,$00
db $00,$00,$00,$00,$4c,$4c,$4c,$4c,$4c,$4c,$3c,$3c,$0c,$0c,$38,$38
db $00,$00,$00,$00,$7e,$7e,$0c,$0c,$18,$18,$30,$30,$7e,$7e,$00,$00
db $3c,$3c,$60,$60,$30,$30,$60,$60,$60,$60,$30,$30,$60,$60,$3c,$3c
db $20,$20,$30,$30,$30,$30,$30,$30,$30,$30,$30,$30,$30,$30,$10,$10
db $3c,$3c,$06,$06,$0c,$0c,$06,$06,$06,$06,$0c,$0c,$06,$06,$3c,$3c
db $00,$00,$00,$00,$31,$31,$7b,$7b,$de,$de,$8c,$8c,$00,$00,$00,$00
db $c0,$c0,$a0,$a0,$b8,$b8,$b0,$b0,$da,$da,$12,$12,$1a,$1a,$03,$03
littlealphabet:
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
db $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f, $00, $00, $00, $00
db $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $1a, $1b, $1c, $1d, $1e, $1f, $00, $00, $00, $00
db $20, $21, $22, $23, $24, $25, $26, $27, $28, $29, $2a, $2b, $2c, $2d, $2e, $2f, $00, $00, $00, $00
db $30, $31, $32, $33, $34, $35, $36, $37, $38, $39, $3a, $3b, $3c, $3d, $3e, $3f, $00, $00, $00, $00
db $40, $41, $42, $43, $44, $45, $46, $47, $48, $49, $4a, $4b, $4c, $4d, $4e, $4f, $00, $00, $00, $00
db $50, $51, $52, $53, $54, $55, $56, $57, $58, $59, $5a, $5b, $5c, $5d, $5e, $5f, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00

161
main.asm Normal file
View File

@ -0,0 +1,161 @@
; FF80 CALL
; FF81 LOW
; FF82 HIGH
; FF83 RET
; pattern repeats for the first 16 bytes so we can have some call vectors for the scene system
DEF SCENE_SETUP EQU $FF81
DEF SCENE_UPDATE EQU SCENE_SETUP + 4 ; call then ret is 3+1 bytes
DEF SCENE_DRAW EQU SCENE_UPDATE + 4
DEF SCENE_TEARDOWN EQU SCENE_DRAW + 4
DEF INTERRUPT_LCD EQU $FF91
DEF rMYBTN EQU $FFA8
DEF rMYBTNP EQU rMYBTN + 1
INCLUDE "hardware.inc"
SECTION "Interrupts", ROM0[$0]
ds $48 - @, 0
call INTERRUPT_LCD - 1
ret
SECTION "Header", ROM0[$100]
jp EntryPoint
ds $150 - @, 0 ; Make room for the header
EntryPoint:
; Shut down audio circuitry
ld a, 0
ld [rNR52], a
ld a, [Instructions] ; get the value of a call instruction so we can shove it into our handles
ld hl, SCENE_SETUP - 1
ld [hl], a
ld hl, SCENE_UPDATE - 1
ld [hl], a
ld hl, SCENE_DRAW - 1
ld [hl], a
ld hl, SCENE_TEARDOWN - 1
ld [hl], a
ld hl, INTERRUPT_LCD - 1
ld [hl], a
ld a, [Instructions + 3] ; get the value of a ret instruction
ld hl, SCENE_SETUP + 2
ld [hl], a
ld hl, SCENE_UPDATE + 2
ld [hl], a
ld hl, SCENE_DRAW + 2
ld [hl], a
ld hl, SCENE_TEARDOWN + 2
ld [hl], a
ld hl, INTERRUPT_LCD + 2
ld [hl], a
; set up our scene vectors
ld hl, SCENE_SETUP
ld de, CardReadSetup
ld a, e
ld [hl+], a
ld a, d
ld [hl+], a
ld hl, SCENE_UPDATE
ld de, CardReadUpdate
ld a, e
ld [hl+], a
ld a, d
ld [hl+], a
ld hl, SCENE_DRAW
ld de, CardReadDraw
ld a, e
ld [hl+], a
ld a, d
ld [hl+], a
ld hl, SCENE_TEARDOWN
ld de, CardReadTeardown
ld a, e
ld [hl+], a
ld a, d
ld [hl+], a
; set up the interrupt vector to just be ret.
ld hl, INTERRUPT_LCD
ld de, INTERRUPT_LCD + 2
ld a, e
ld [hl+], a
ld a, d
ld [hl+], a
; Do not turn the LCD off outside of VBlank
WaitVBlank:
ld a, [rLY]
cp 144
jp c, WaitVBlank
call SCENE_SETUP - 1
Loop:
di
ld hl, rP1
ld [hl], P1F_GET_DPAD
ld a, [hl]
ld a, [hl]
ld a, [hl]
ld a, [hl]
cpl
and a, %00001111
ld b, a
ld [hl], P1F_GET_BTN
ld a, [hl]
ld a, [hl]
ld a, [hl]
ld a, [hl]
cpl
and a, %00001111
swap a
or a, b
ld b, a
ld a, [rMYBTN]
cpl
and a, b
ld [rMYBTNP], a
ld a, b
ld [rMYBTN], a
call SCENE_UPDATE - 1
ld b, 144
call AwaitLine
call SCENE_DRAW - 1
jp Loop
AwaitLine: ; put the line you want to reach in b
ld a, [rLY]
cp b
jp nz, AwaitLine
ret
PrintString: ; write ascii string which has been prefixed by its length.
ld b, [hl]
inc hl
PrintBChars: ;write ascii characters. will not respect newlines or anything like that
; hl should be the source of ascii text
; de should be the location in the tile map to start writing at
; b should be the length
ld a, [hli]
or a, %10000000
ld [de], a
inc de
dec b
jp nz, PrintBChars
ret
INCLUDE "CardReadScreen.inc"
Instructions:
call Instructions + 2
ret

BIN
theemperor.aseprite Normal file

Binary file not shown.

BIN
theempress.aseprite Normal file

Binary file not shown.

View File

@ -1,46 +0,0 @@
; original export script by gabriel reis, modified by shoofle
tileset:
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $0f,$0f,$10,$10,$10,$10,$10,$10,$0f,$0f,$10,$10,$10,$10,$10,$10
db $7f,$7f,$80,$80,$80,$80,$80,$80,$7f,$7f,$10,$10,$10,$10,$10,$10
db $00,$3c,$3c,$7e,$42,$c3,$42,$c3,$42,$c3,$42,$c3,$42,$c3,$42,$c3
db $42,$c3,$42,$c3,$42,$c3,$42,$c3,$42,$c3,$42,$c3,$3c,$7e,$00,$3c
db $00,$3c,$3c,$7e,$42,$c3,$5a,$db,$5a,$db,$5a,$db,$5a,$db,$5a,$db
db $5a,$db,$5a,$db,$5a,$db,$5a,$db,$5a,$db,$42,$c3,$3c,$7e,$00,$3c
db $0f,$0f,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $ce,$f0,$c6,$f8,$0e,$f0,$16,$e8,$5e,$a0,$fe,$00,$fc,$00,$00,$00
db $ce,$f0,$c6,$f8,$ce,$f0,$c6,$f8,$ce,$f0,$c6,$f8,$ce,$f0,$c6,$f8
db $00,$00,$fc,$00,$fe,$00,$ae,$50,$1e,$e0,$06,$f8,$ce,$f0,$c6,$f8
db $00,$00,$3f,$00,$7f,$00,$7a,$05,$68,$17,$70,$0f,$63,$1f,$73,$0f
db $63,$1f,$73,$0f,$60,$1f,$78,$07,$75,$0a,$7f,$00,$3f,$00,$00,$00
db $00,$00,$ff,$00,$ff,$00,$aa,$55,$00,$ff,$00,$ff,$ff,$ff,$ff,$ff
db $63,$1f,$73,$0f,$63,$1f,$73,$0f,$63,$1f,$73,$0f,$63,$1f,$73,$0f
db $ff,$ff,$ff,$ff,$00,$ff,$00,$ff,$55,$aa,$ff,$00,$ff,$00,$00,$00
db $0f,$0f,$10,$10,$10,$10,$10,$10,$7f,$7f,$80,$80,$80,$80,$80,$80
db $7f,$7f,$10,$10,$10,$10,$10,$10,$0f,$0f,$10,$10,$10,$10,$10,$10
db $7f,$7f,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
UIGadgets: ; tiles start at 0
db $0b, $0d, $0d, $0d, $0d, $0d, $0d, $0d, $0d, $0a, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
db $0e, $00, $00, $00, $00, $00, $00, $00, $00, $09, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
db $0e, $00, $00, $00, $00, $00, $00, $00, $00, $09, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
db $0e, $00, $00, $00, $00, $00, $00, $00, $00, $09, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
db $0e, $00, $00, $00, $00, $00, $00, $00, $00, $09, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01
db $0e, $00, $00, $00, $00, $00, $00, $00, $00, $09, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01
db $0e, $00, $00, $00, $00, $00, $00, $00, $00, $09, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01
db $0e, $00, $00, $00, $00, $00, $00, $00, $00, $09, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01
db $0e, $00, $00, $00, $00, $00, $00, $00, $00, $09, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01
db $0e, $00, $00, $00, $00, $00, $00, $00, $00, $09, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01
db $0e, $00, $00, $00, $00, $00, $00, $00, $00, $09, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01
db $0e, $00, $00, $00, $00, $00, $00, $00, $00, $09, $00, $00, $00, $00, $00, $00, $00, $00, $00, $02
db $0e, $00, $00, $00, $00, $00, $00, $00, $00, $09, $00, $00, $00, $05, $00, $00, $00, $00, $00, $10
db $0e, $00, $00, $00, $00, $00, $00, $00, $00, $09, $00, $00, $03, $06, $03, $03, $00, $00, $00, $11
db $0e, $00, $00, $00, $00, $00, $00, $00, $00, $09, $00, $00, $04, $03, $04, $04, $00, $00, $00, $01
db $0e, $00, $00, $00, $00, $00, $00, $00, $00, $09, $00, $00, $00, $04, $00, $00, $00, $00, $00, $01
db $0e, $00, $00, $00, $00, $00, $00, $00, $00, $09, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01
db $0c, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $08, $00, $00, $00, $00, $00, $00, $00, $00, $00, $12

View File

@ -1,112 +0,0 @@
; original export script by gabriel reis, modified by shoofle
KeyArtTiles:
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$1f,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$21,$00,$23,$00,$22,$01,$3e,$00,$02,$01,$02,$00,$02,$01,$02
db $00,$80,$00,$80,$00,$80,$00,$80,$00,$c0,$40,$a0,$00,$98,$70,$8e
db $00,$00,$00,$00,$00,$00,$00,$70,$00,$50,$00,$50,$00,$50,$00,$50
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$00,$01,$00,$01,$00,$01
db $00,$50,$00,$50,$00,$50,$00,$d0,$00,$58,$00,$54,$00,$26,$00,$96
db $00,$01,$00,$01,$00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$56,$00,$ad,$00,$4b,$00,$b3,$00,$60,$00,$20,$00,$20,$00,$20
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$80,$00,$80,$00,$40
db $00,$40,$00,$40,$00,$40,$00,$20,$00,$10,$00,$08,$00,$07,$03,$04
db $00,$04,$03,$04,$00,$04,$03,$04,$00,$0c,$07,$88,$00,$58,$0f,$30
db $00,$00,$00,$00,$00,$3f,$00,$20,$00,$60,$00,$40,$00,$df,$00,$90
db $00,$00,$00,$00,$00,$fc,$00,$06,$00,$02,$00,$01,$00,$f1,$00,$19
db $00,$90,$00,$90,$00,$90,$00,$90,$00,$90,$00,$90,$00,$90,$00,$90
db $00,$09,$00,$09,$00,$09,$00,$09,$00,$09,$00,$09,$00,$09,$00,$09
db $00,$8b,$70,$89,$00,$89,$f0,$08,$00,$08,$e0,$18,$00,$10,$e0,$10
db $00,$20,$00,$20,$00,$20,$00,$20,$00,$20,$00,$20,$00,$20,$00,$20
db $00,$90,$00,$88,$00,$86,$00,$87,$00,$84,$00,$84,$00,$87,$00,$84
db $00,$08,$00,$10,$00,$70,$00,$f0,$00,$10,$00,$10,$00,$f0,$00,$20
db $00,$10,$e0,$10,$00,$10,$e0,$10,$00,$10,$e0,$10,$00,$10,$e0,$10
db $00,$14,$e0,$14,$00,$14,$e0,$12,$00,$0a,$f0,$0a,$00,$0a,$f0,$09
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$1f,$00,$00,$00,$00
db $00,$80,$00,$80,$00,$80,$00,$80,$00,$80,$00,$f8,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$f8,$00,$80,$00,$80,$00,$80,$00,$80,$00,$80
db $00,$20,$00,$30,$00,$08,$00,$04,$00,$03,$00,$00,$00,$00,$00,$00
db $00,$10,$0f,$10,$00,$30,$1f,$20,$00,$20,$1f,$20,$00,$20,$1f,$20
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$ff,$00,$00,$00,$00
db $00,$20,$1f,$20,$00,$20,$1f,$20,$00,$20,$00,$ff,$00,$00,$00,$7f
db $00,$20,$c0,$20,$00,$20,$e0,$10,$00,$10,$00,$ff,$00,$00,$00,$fe
db $00,$02,$01,$02,$00,$02,$01,$02,$00,$02,$01,$e2,$00,$22,$01,$12
db $00,$92,$01,$52,$00,$4a,$01,$4a,$00,$8a,$01,$ca,$00,$36,$01,$e6
db $00,$46,$01,$82,$00,$03,$00,$03,$00,$81,$00,$40,$00,$20,$00,$40
db $00,$09,$f0,$08,$00,$08,$78,$84,$00,$84,$78,$84,$00,$84,$78,$84
db $00,$84,$78,$84,$00,$04,$08,$f4,$00,$1c,$00,$06,$00,$03,$00,$01
db $00,$84,$00,$84,$00,$82,$00,$82,$00,$82,$00,$82,$00,$82,$00,$82
db $00,$82,$00,$c2,$00,$62,$c0,$3e,$00,$20,$c0,$20,$00,$20,$c0,$20
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80
db $00,$20,$00,$20,$00,$21,$00,$21,$00,$21,$00,$21,$00,$21,$00,$21
db $00,$04,$00,$04,$00,$04,$00,$02,$00,$02,$00,$02,$00,$02,$00,$02
db $00,$02,$00,$02,$00,$3e,$00,$62,$00,$42,$00,$c2,$00,$81,$00,$80
db $00,$84,$00,$a3,$00,$a9,$00,$7d,$00,$0d,$00,$05,$00,$05,$00,$07
db $00,$40,$00,$c0,$00,$03,$00,$0e,$00,$08,$00,$10,$00,$10,$00,$30
db $00,$02,$00,$00,$00,$01,$00,$07,$00,$18,$00,$30,$00,$60,$00,$c0
db $00,$10,$e0,$10,$00,$10,$e0,$10,$00,$18,$e0,$18,$00,$18,$e0,$18
db $00,$00,$00,$00,$00,$00,$00,$80,$00,$80,$00,$40,$00,$40,$00,$40
db $00,$20,$00,$20,$00,$20,$00,$10,$00,$10,$00,$10,$00,$08,$00,$08
db $00,$00,$00,$00,$00,$70,$00,$8c,$00,$02,$00,$03,$00,$8c,$00,$70
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$00,$01,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$0e,$00,$31,$00,$c0,$00,$40,$00,$31,$00,$0e
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$80,$00,$00,$00,$00
db $00,$1f,$00,$20,$00,$1f,$00,$00,$00,$00,$00,$02,$00,$02,$00,$7f
db $00,$ff,$00,$00,$00,$ff,$00,$00,$00,$00,$00,$00,$00,$00,$00,$ff
db $00,$80,$00,$00,$00,$80,$00,$7f,$00,$00,$00,$00,$00,$00,$00,$ff
db $00,$01,$00,$00,$00,$00,$00,$fe,$00,$01,$00,$07,$00,$18,$00,$ff
db $00,$42,$00,$7f,$00,$02,$00,$02,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$ff,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$ff,$00,$00,$00,$1f,$00,$64,$00,$bb,$00,$8e,$00,$7b,$00,$1f
db $00,$84,$00,$02,$00,$01,$00,$c1,$00,$a3,$00,$25,$00,$c8,$00,$04
db $00,$03,$00,$ff,$00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$80,$00,$ff,$00,$81,$00,$ff,$00,$47,$00,$6c,$00,$38,$00,$50
db $00,$00,$00,$ff,$00,$18,$00,$ff,$00,$c0,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$ff,$00,$00,$00,$ff,$00,$c0,$00,$40,$00,$61,$00,$27
db $00,$2c,$00,$38,$00,$00,$00,$00,$00,$00,$00,$e0,$00,$a0,$00,$20
db $00,$00,$00,$ff,$00,$06,$00,$fc,$00,$04,$00,$04,$00,$f8,$00,$0c
db $00,$06,$00,$02,$00,$03,$00,$01,$00,$01,$00,$01,$00,$00,$00,$00
db $00,$d0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$01,$00,$03,$00,$02,$00,$00,$00,$00,$00,$00
db $00,$c0,$00,$80,$00,$80,$00,$00,$00,$00,$00,$1f,$00,$3e,$00,$26
db $00,$20,$00,$20,$00,$f8,$00,$0c,$00,$02,$00,$03,$00,$00,$00,$00
db $00,$64,$00,$7d,$00,$7d,$00,$66,$00,$4c,$00,$6b,$00,$3e,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$c0,$00,$60
db $00,$a0,$00,$60,$00,$40,$00,$c0,$00,$c0,$00,$00,$00,$00,$00,$00
db $00,$01,$00,$01,$00,$01,$00,$01,$00,$01,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$06,$00,$0f,$00,$08
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$00,$f8
db $00,$08,$00,$0e,$00,$1c,$00,$10,$00,$11,$00,$1b,$00,$0f,$00,$01
db $00,$88,$00,$08,$00,$08,$00,$78,$00,$10,$00,$10,$00,$30,$00,$e0
db $00,$c0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$20,$00,$e0,$00,$60,$00,$20,$00,$60,$00,$c0,$00,$00,$00,$01
db $00,$00,$00,$00,$00,$00,$00,$3e,$00,$6f,$00,$cf,$00,$dc,$00,$d4
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$e0,$00,$60,$00,$70
db $00,$56,$00,$63,$00,$61,$00,$38,$00,$97,$00,$90,$00,$d1,$00,$7f
db $00,$70,$00,$f0,$00,$f0,$00,$20,$00,$e0,$00,$c0,$00,$80,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$0e,$00,$1a,$00,$11,$00,$19
db $00,$0c,$00,$30,$00,$62,$00,$46,$00,$6c,$00,$3f,$00,$00,$00,$00
db $00,$20,$1f,$20,$00,$20,$1f,$20,$00,$20,$1f,$20,$00,$20,$1f,$20
BackgroundCopy: ; tiles start at 0
db $00, $04, $00, $00, $00, $00, $00, $00
db $05, $06, $30, $2f, $31, $32, $00, $00
db $07, $08, $09, $0c, $0d, $00, $00, $00
db $00, $11, $0a, $0e, $0f, $25, $00, $00
db $00, $19, $0b, $12, $13, $03, $00, $00
db $00, $00, $1a, $23, $26, $10, $2d, $00
db $00, $00, $56, $24, $02, $14, $2e, $00
db $1b, $1b, $1c, $1d, $1e, $2c, $27, $00
db $33, $34, $35, $36, $1f, $15, $28, $25
db $37, $38, $39, $3a, $20, $21, $29, $2a
db $3d, $3e, $40, $3b, $3c, $22, $2b, $45
db $54, $3f, $41, $00, $42, $43, $44, $47
db $55, $4f, $50, $51, $4a, $4b, $46, $48
db $00, $49, $52, $53, $4c, $4d, $00, $00
db $00, $00, $00, $01, $18, $4e, $00, $00
db $00, $00, $00, $16, $17, $00, $00, $00