NES: rearrange chr_generic tiles for 8x16 sprites; music/sfx for game

This commit is contained in:
Steven Hugg 2019-02-23 16:54:10 -05:00
parent 4e3ac25318
commit 8daa260527
12 changed files with 724 additions and 736 deletions

View File

@ -1,346 +1,516 @@
.segment "CHARS"
;;{w:8,h:8,bpp:1,count:256,brev:1,np:2,pofs:8,remap:[0,1,2,4,5,6,7,8,9,10,11,12]}*/
.byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
.byte $ff,$ff,$ff,$ff,$00,$00,$00,$00,$00,$00,$00,$00
.byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
.byte $ff,$ff,$ff,$ff,$55,$aa,$55,$aa,$55,$aa,$55,$aa
.byte $00,$00,$00,$00,$00,$00,$00,$00,$55,$aa,$55,$aa
.byte $55,$aa,$55,$aa,$55,$aa,$55,$aa,$55,$aa,$55,$aa
.byte $00,$00,$00,$00,$00,$00,$00,$00,$55,$aa,$55,$aa
.byte $55,$aa,$55,$aa,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
.byte $aa,$55,$aa,$55,$aa,$55,$aa,$55,$aa,$55,$aa,$55
.byte $aa,$55,$aa,$55,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
.byte $aa,$55,$aa,$55,$aa,$55,$aa,$55,$55,$aa,$55,$aa
.byte $55,$aa,$55,$aa,$33,$cc,$33,$cc,$33,$cc,$33,$cc
.byte $00,$00,$00,$00,$00,$00,$00,$00,$33,$cc,$33,$cc
.byte $33,$cc,$33,$cc,$33,$cc,$33,$cc,$33,$cc,$33,$cc
.byte $00,$00,$00,$00,$00,$00,$00,$00,$33,$cc,$33,$cc
.byte $33,$cc,$33,$cc,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
.byte $cc,$33,$cc,$33,$cc,$33,$cc,$33,$cc,$33,$cc,$33
.byte $cc,$33,$cc,$33,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
.byte $cc,$33,$cc,$33,$cc,$33,$cc,$33,$33,$cc,$33,$cc
.byte $33,$cc,$33,$cc,$3e,$7f,$7f,$7f,$7f,$7f,$7f,$3e
.byte $3c,$42,$5a,$52,$5a,$42,$3c,$00,$fe,$ff,$7f,$7b
.byte $7b,$00,$00,$00,$f4,$4a,$52,$52,$00,$00,$00,$00
.byte $0f,$0f,$0f,$3f,$7e,$7e,$7e,$3c,$0e,$06,$0a,$38
.byte $6c,$6c,$38,$00,$3c,$7e,$7e,$7e,$3c,$3c,$3c,$18
.byte $38,$6c,$6c,$38,$10,$38,$10,$00,$18,$3c,$7e,$ff
.byte $ff,$ff,$3c,$3c,$10,$38,$7c,$fe,$ee,$10,$38,$00
.byte $7e,$ff,$ff,$ff,$ff,$7e,$3c,$18,$6c,$fe,$fe,$fe
.byte $7c,$38,$10,$00,$18,$3c,$7e,$ff,$ff,$7e,$3c,$18
.byte $10,$38,$7c,$fe,$7c,$38,$10,$00,$3c,$7e,$7e,$ff
.byte $ff,$ff,$3c,$3c,$38,$7c,$38,$fe,$d6,$10,$38,$00
.byte $18,$3c,$ff,$ff,$7e,$7e,$7e,$7e,$10,$38,$fe,$7c
.byte $38,$7c,$6c,$00,$0f,$1f,$7f,$ff,$fc,$fc,$fc,$78
.byte $0a,$14,$72,$f8,$f8,$f8,$70,$00,$00,$00,$ff,$ff
.byte $f6,$f6,$f6,$f6,$00,$00,$ee,$84,$e4,$24,$e4,$00
.byte $00,$00,$fc,$fc,$fc,$fc,$ff,$ff,$00,$00,$e8,$88
.byte $e8,$28,$ee,$00,$18,$3c,$7e,$ff,$ff,$db,$18,$18
.byte $10,$38,$7c,$d6,$92,$10,$10,$00,$18,$18,$db,$ff
.byte $ff,$7e,$3c,$18,$10,$10,$92,$d6,$7c,$38,$10,$00
.byte $1c,$3c,$78,$ff,$ff,$78,$3c,$1c,$18,$30,$60,$fe
.byte $60,$30,$18,$00,$38,$3c,$1e,$ff,$ff,$1e,$3c,$38
.byte $30,$18,$0c,$fe,$0c,$18,$30,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.byte $3c,$3c,$3c,$38,$38,$38,$38,$38,$38,$38,$30,$30
.byte $30,$00,$30,$00,$3c,$3c,$3c,$3c,$00,$00,$00,$00
.byte $28,$28,$28,$00,$00,$00,$00,$00,$00,$3c,$7e,$7e
.byte $7e,$7e,$3c,$00,$00,$28,$7c,$28,$7c,$28,$00,$00
.byte $0c,$3f,$3f,$3e,$3e,$7e,$7e,$18,$08,$3e,$28,$3c
.byte $14,$7c,$10,$00,$00,$76,$7e,$7c,$3e,$7e,$6e,$00
.byte $00,$64,$48,$10,$24,$4c,$00,$00,$00,$38,$7c,$7c
.byte $7e,$7e,$7e,$3e,$00,$30,$48,$30,$5c,$48,$34,$00
.byte $30,$30,$70,$60,$00,$00,$00,$00,$20,$20,$40,$00
.byte $00,$00,$00,$00,$0e,$1e,$3c,$38,$38,$3c,$1e,$0e
.byte $0c,$18,$30,$30,$30,$18,$0c,$00,$70,$78,$3c,$1c
.byte $1c,$3c,$78,$70,$60,$30,$18,$18,$18,$30,$60,$00
.byte $00,$00,$3e,$3e,$3e,$3e,$00,$00,$00,$00,$3c,$18
.byte $3c,$00,$00,$00,$00,$18,$18,$7e,$7e,$18,$18,$00
.byte $00,$10,$10,$7c,$10,$10,$00,$00,$00,$00,$00,$00
.byte $38,$38,$78,$70,$00,$00,$00,$00,$30,$30,$60,$00
.byte $00,$00,$00,$3e,$3e,$00,$00,$00,$00,$00,$00,$3c
.byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$38,$38,$38
.byte $00,$00,$00,$00,$00,$30,$30,$00,$06,$0e,$0e,$1c
.byte $1c,$38,$38,$30,$04,$0c,$08,$18,$10,$30,$20,$00
.byte $3c,$7e,$7e,$7e,$7e,$7e,$7e,$3c,$38,$6c,$6c,$6c
.byte $6c,$6c,$38,$00,$1c,$3c,$3c,$1c,$1c,$1c,$1c,$1c
.byte $18,$38,$18,$18,$18,$18,$18,$00,$3c,$7e,$7e,$3e
.byte $7c,$7e,$7e,$7e,$38,$6c,$0c,$38,$60,$6c,$7c,$00
.byte $3c,$7e,$7e,$3e,$3e,$7e,$7e,$3c,$38,$6c,$0c,$38
.byte $0c,$6c,$38,$00,$7e,$7e,$7e,$7e,$7e,$0e,$0e,$0e
.byte $6c,$6c,$6c,$7c,$0c,$0c,$0c,$00,$7e,$7e,$7e,$7c
.byte $7e,$7e,$7e,$3c,$7c,$6c,$60,$78,$0c,$6c,$38,$00
.byte $3c,$7e,$7e,$7c,$7e,$7e,$7e,$3c,$38,$6c,$60,$78
.byte $6c,$6c,$38,$00,$7e,$7e,$7e,$7e,$0e,$0e,$0e,$0e
.byte $7c,$6c,$6c,$0c,$0c,$0c,$0c,$00,$3c,$7e,$7e,$7e
.byte $7e,$7e,$7e,$3c,$38,$6c,$6c,$38,$6c,$6c,$38,$00
.byte $3c,$7e,$7e,$7e,$3e,$7e,$7e,$3c,$38,$6c,$6c,$3c
.byte $0c,$6c,$38,$00,$00,$38,$38,$38,$38,$38,$38,$00
.byte $00,$30,$30,$00,$30,$30,$00,$00,$00,$38,$38,$38
.byte $38,$38,$78,$70,$00,$30,$30,$00,$30,$30,$60,$00
.byte $0e,$1e,$3c,$78,$78,$3c,$1e,$0e,$0c,$18,$30,$60
.byte $30,$18,$0c,$00,$00,$00,$3e,$3e,$3e,$3e,$00,$00
.byte $00,$00,$3c,$00,$3c,$00,$00,$00,$70,$78,$3c,$1e
.byte $1e,$3c,$78,$70,$60,$30,$18,$0c,$18,$30,$60,$00
.byte $3c,$7e,$7e,$1e,$3c,$38,$38,$38,$38,$6c,$0c,$18
.byte $30,$00,$30,$00,$3c,$7e,$7e,$7e,$7e,$7e,$7e,$3e
.byte $38,$44,$5c,$54,$5c,$40,$3c,$00,$3e,$7f,$77,$7f
.byte $7f,$77,$77,$77,$3c,$66,$66,$7e,$66,$66,$66,$00
.byte $7e,$7f,$77,$7f,$7f,$77,$7f,$7e,$7c,$66,$66,$7c
.byte $66,$66,$7c,$00,$3e,$7f,$77,$70,$70,$77,$7f,$3e
.byte $3c,$66,$60,$60,$60,$66,$3c,$00,$7c,$7e,$7f,$77
.byte $77,$7f,$7e,$7c,$78,$6c,$66,$66,$66,$6c,$78,$00
.byte $7f,$7f,$70,$7f,$7f,$70,$7f,$7f,$7e,$60,$60,$7e
.byte $60,$60,$7e,$00,$7f,$7f,$70,$7c,$7c,$70,$70,$70
.byte $7e,$60,$60,$78,$60,$60,$60,$00,$3e,$7f,$77,$7f
.byte $7f,$77,$7f,$3e,$3c,$66,$60,$6e,$66,$66,$3c,$00
.byte $77,$77,$77,$7f,$7f,$77,$77,$77,$66,$66,$66,$7e
.byte $66,$66,$66,$00,$7f,$7f,$1c,$1c,$1c,$1c,$7f,$7f
.byte $7e,$18,$18,$18,$18,$18,$7e,$00,$07,$07,$07,$07
.byte $77,$77,$7f,$3e,$06,$06,$06,$06,$66,$66,$3c,$00
.byte $77,$7f,$7e,$7c,$7c,$7e,$7f,$77,$66,$6c,$78,$70
.byte $78,$6c,$66,$00,$70,$70,$70,$70,$70,$70,$7f,$7f
.byte $60,$60,$60,$60,$60,$60,$7e,$00,$fe,$ff,$ff,$ff
.byte $ff,$e7,$e7,$e7,$ec,$fe,$d6,$d6,$c6,$c6,$c6,$00
.byte $77,$7f,$7f,$7f,$7f,$7f,$77,$77,$66,$76,$7e,$7e
.byte $6e,$66,$66,$00,$3e,$7f,$77,$77,$77,$77,$7f,$3e
.byte $3c,$66,$66,$66,$66,$66,$3c,$00,$7e,$7f,$77,$7f
.byte $7e,$70,$70,$70,$7c,$66,$66,$7c,$60,$60,$60,$00
.byte $3e,$7f,$77,$77,$77,$7f,$7f,$3f,$3c,$66,$66,$66
.byte $66,$6c,$3e,$00,$7e,$7f,$77,$7f,$7e,$7e,$7f,$77
.byte $7c,$66,$66,$7c,$78,$6c,$66,$00,$3e,$7f,$77,$7e
.byte $3f,$77,$7f,$3e,$3c,$66,$60,$3c,$06,$66,$3c,$00
.byte $7f,$7f,$1c,$1c,$1c,$1c,$1c,$1c,$7e,$18,$18,$18
.byte $18,$18,$18,$00,$77,$77,$77,$77,$77,$77,$7f,$3e
.byte $66,$66,$66,$66,$66,$66,$3c,$00,$77,$77,$77,$77
.byte $7f,$3e,$3e,$1c,$66,$66,$66,$66,$3c,$3c,$18,$00
.byte $e7,$e7,$ff,$ff,$ff,$ff,$ff,$7e,$c6,$c6,$d6,$d6
.byte $d6,$fe,$6c,$00,$77,$77,$7f,$3e,$3e,$7f,$77,$77
.byte $66,$66,$3c,$18,$3c,$66,$66,$00,$77,$77,$77,$7f
.byte $3e,$1c,$1c,$1c,$66,$66,$66,$3c,$18,$18,$18,$00
.byte $7f,$7f,$0f,$1e,$3c,$78,$7f,$7f,$7e,$06,$0c,$18
.byte $30,$60,$7e,$00,$1f,$1f,$1c,$1c,$1c,$1c,$1f,$1f
.byte $1e,$18,$18,$18,$18,$18,$1e,$00,$30,$38,$38,$1c
.byte $1c,$0e,$0e,$06,$20,$30,$10,$18,$08,$0c,$04,$00
.byte $f8,$f8,$38,$38,$38,$38,$f8,$f8,$f0,$30,$30,$30
.byte $30,$30,$f0,$00,$18,$3c,$7e,$7e,$00,$00,$00,$00
.byte $10,$38,$6c,$00,$00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$7f,$7f,$00,$00,$00,$00,$00,$00,$7e,$00
.byte $30,$30,$38,$18,$00,$00,$00,$00,$20,$20,$10,$00
.byte $00,$00,$00,$00,$00,$00,$3c,$3e,$3e,$7e,$7e,$3e
.byte $00,$00,$38,$0c,$3c,$4c,$34,$00,$70,$70,$7c,$7e
.byte $7e,$7e,$7e,$7c,$60,$60,$78,$6c,$6c,$6c,$78,$00
.byte $00,$00,$3c,$7e,$7e,$7e,$7e,$3c,$00,$00,$38,$6c
.byte $60,$6c,$38,$00,$0e,$0e,$3e,$7e,$7e,$7e,$7e,$3e
.byte $0c,$0c,$3c,$6c,$6c,$6c,$3c,$00,$00,$00,$3c,$7e
.byte $7e,$7e,$7e,$3e,$00,$00,$38,$64,$7c,$60,$3c,$00
.byte $00,$3c,$7e,$7e,$7c,$7c,$70,$70,$00,$38,$6c,$60
.byte $78,$60,$60,$00,$00,$00,$3e,$7e,$7e,$3e,$7e,$7c
.byte $00,$00,$3c,$6c,$3c,$0c,$78,$00,$70,$70,$7c,$7e
.byte $7e,$7e,$7e,$7e,$60,$60,$78,$6c,$6c,$6c,$6c,$00
.byte $00,$1c,$1c,$1c,$1c,$1c,$1c,$1c,$00,$18,$00,$18
.byte $18,$18,$18,$00,$00,$0e,$0e,$0e,$0e,$7e,$7e,$3c
.byte $00,$0c,$00,$0c,$0c,$6c,$38,$00,$70,$70,$7e,$7e
.byte $7c,$7c,$7e,$7e,$60,$60,$6c,$78,$70,$78,$6c,$00
.byte $3c,$3c,$1c,$1c,$1c,$1c,$1c,$1c,$38,$18,$18,$18
.byte $18,$18,$18,$00,$00,$00,$7e,$7f,$7f,$7f,$77,$77
.byte $00,$00,$6c,$7e,$56,$66,$66,$00,$00,$00,$7c,$7e
.byte $7e,$7e,$7e,$7e,$00,$00,$78,$6c,$6c,$6c,$6c,$00
.byte $00,$00,$3c,$7e,$7e,$7e,$7e,$3c,$00,$00,$38,$6c
.byte $6c,$6c,$38,$00,$00,$00,$7c,$7e,$7e,$7c,$70,$70
.byte $00,$00,$78,$6c,$78,$60,$60,$00,$00,$00,$3e,$7e
.byte $7e,$3e,$0e,$0e,$00,$00,$3c,$6c,$3c,$0c,$0c,$00
.byte $00,$00,$7c,$7e,$7e,$70,$70,$70,$00,$00,$78,$6c
.byte $60,$60,$60,$00,$00,$00,$3e,$7e,$7c,$3e,$7e,$7c
.byte $00,$00,$3c,$60,$38,$0c,$78,$00,$00,$1c,$3e,$3e
.byte $1c,$1c,$1e,$0e,$00,$18,$3c,$18,$18,$18,$0c,$00
.byte $00,$00,$7e,$7e,$7e,$7e,$7e,$3e,$00,$00,$6c,$6c
.byte $6c,$6c,$34,$00,$00,$00,$7e,$7e,$7e,$7e,$3e,$1c
.byte $00,$00,$6c,$6c,$6c,$3c,$18,$00,$00,$00,$e7,$e7
.byte $ff,$ff,$7e,$7e,$00,$00,$c6,$c6,$d6,$7c,$6c,$00
.byte $00,$00,$7e,$7e,$3c,$3c,$7e,$7e,$00,$00,$6c,$38
.byte $10,$38,$6c,$00,$00,$00,$7e,$7e,$7e,$3e,$7c,$78
.byte $00,$00,$6c,$6c,$3c,$18,$70,$00,$00,$00,$7e,$7e
.byte $3c,$78,$7e,$7e,$00,$00,$7c,$18,$30,$60,$7c,$00
.byte $0e,$1e,$1c,$3c,$3c,$1c,$1e,$0e,$0c,$18,$18,$30
.byte $18,$18,$0c,$00,$18,$18,$18,$18,$18,$18,$18,$18
.byte $10,$10,$10,$10,$10,$10,$10,$00,$70,$78,$38,$3c
.byte $3c,$38,$78,$70,$60,$30,$30,$18,$30,$30,$60,$00
.byte $00,$00,$7f,$ff,$fe,$00,$00,$00,$00,$00,$76,$dc
.byte $00,$00,$00,$00,$7f,$7f,$7f,$7f,$7f,$7f,$7f,$7f
.byte $7e,$7e,$7e,$7e,$7e,$7e,$7e,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00,$f0,$f0,$f0,$f0
.byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.byte $0f,$0f,$0f,$0f,$00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$ff,$ff,$ff,$ff,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.byte $f0,$f0,$f0,$f0,$00,$00,$00,$00,$00,$00,$00,$00
.byte $f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$00,$00,$00,$00
.byte $00,$00,$00,$00,$0f,$0f,$0f,$0f,$f0,$f0,$f0,$f0
.byte $00,$00,$00,$00,$00,$00,$00,$00,$ff,$ff,$ff,$ff
.byte $f0,$f0,$f0,$f0,$00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$0f,$0f,$0f,$0f,$00,$00,$00,$00
.byte $00,$00,$00,$00,$f0,$f0,$f0,$f0,$0f,$0f,$0f,$0f
.byte $00,$00,$00,$00,$00,$00,$00,$00,$0f,$0f,$0f,$0f
.byte $0f,$0f,$0f,$0f,$00,$00,$00,$00,$00,$00,$00,$00
.byte $ff,$ff,$ff,$ff,$0f,$0f,$0f,$0f,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00,$ff,$ff,$ff,$ff
.byte $00,$00,$00,$00,$00,$00,$00,$00,$f0,$f0,$f0,$f0
.byte $ff,$ff,$ff,$ff,$00,$00,$00,$00,$00,$00,$00,$00
.byte $0f,$0f,$0f,$0f,$ff,$ff,$ff,$ff,$00,$00,$00,$00
.byte $00,$00,$00,$00,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
.byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$7f,$80,$80,$80,$80,$80,$80,$80
.byte $ff,$00,$00,$00,$00,$00,$00,$00,$3f,$3f,$c0,$c0
.byte $c0,$c0,$c0,$c0,$ff,$ff,$00,$00,$00,$00,$00,$00
.byte $1f,$1f,$1f,$e0,$e0,$e0,$e0,$e0,$ff,$ff,$ff,$00
.byte $00,$00,$00,$00,$0f,$0f,$0f,$0f,$f0,$f0,$f0,$f0
.byte $ff,$ff,$ff,$ff,$00,$00,$00,$00,$07,$07,$07,$07
.byte $07,$f8,$f8,$f8,$ff,$ff,$ff,$ff,$ff,$00,$00,$00
.byte $03,$03,$03,$03,$03,$03,$fc,$fc,$ff,$ff,$ff,$ff
.byte $ff,$ff,$00,$00,$01,$01,$01,$01,$01,$01,$01,$fe
.byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
.byte $7f,$80,$80,$80,$80,$80,$80,$80,$00,$ff,$ff,$ff
.byte $ff,$ff,$ff,$ff,$3f,$3f,$c0,$c0,$c0,$c0,$c0,$c0
.byte $00,$00,$ff,$ff,$ff,$ff,$ff,$ff,$1f,$1f,$1f,$e0
.byte $e0,$e0,$e0,$e0,$00,$00,$00,$ff,$ff,$ff,$ff,$ff
.byte $0f,$0f,$0f,$0f,$f0,$f0,$f0,$f0,$00,$00,$00,$00
.byte $ff,$ff,$ff,$ff,$07,$07,$07,$07,$07,$f8,$f8,$f8
.byte $00,$00,$00,$00,$00,$ff,$ff,$ff,$03,$03,$03,$03
.byte $03,$03,$fc,$fc,$00,$00,$00,$00,$00,$00,$ff,$ff
.byte $01,$01,$01,$01,$01,$01,$01,$fe,$00,$00,$00,$00
.byte $00,$00,$00,$ff,$00,$00,$00,$00,$00,$00,$00,$00
.byte $ff,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$ff
.byte $00,$00,$00,$00,$00,$00,$00,$00,$80,$80,$80,$80
.byte $80,$80,$80,$80,$00,$00,$00,$00,$00,$00,$00,$00
.byte $01,$01,$01,$01,$01,$01,$01,$01,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00,$03,$0c,$30,$c0
.byte $00,$00,$00,$00,$00,$00,$00,$00,$03,$0c,$30,$c0
.byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.byte $c0,$30,$0c,$03,$00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00,$c0,$30,$0c,$03
.byte $00,$00,$00,$00,$00,$00,$00,$00,$10,$10,$20,$20
.byte $40,$40,$80,$80,$00,$00,$00,$00,$00,$00,$00,$00
.byte $01,$01,$02,$02,$04,$04,$08,$08,$00,$00,$00,$00
.byte $00,$00,$00,$00,$80,$80,$40,$40,$20,$20,$10,$10
.byte $00,$00,$00,$00,$00,$00,$00,$00,$08,$08,$04,$04
.byte $02,$02,$01,$01,$00,$00,$00,$00,$00,$00,$00,$00
.byte $01,$02,$04,$08,$10,$20,$40,$80,$00,$00,$00,$00
.byte $00,$00,$00,$00,$80,$40,$20,$10,$08,$04,$02,$01
.byte $00,$00,$00,$00,$00,$00,$00,$00,$81,$42,$24,$18
.byte $18,$24,$42,$81,$00,$00,$00,$00,$00,$00,$00,$00
.byte $3c,$42,$81,$81,$81,$81,$42,$3c,$0c,$00,$10,$00
.byte $00,$00,$04,$00,$0c,$00,$10,$3e,$2e,$2e,$2a,$2e
.byte $00,$3c,$bc,$5a,$00,$20,$24,$7e,$18,$00,$80,$42
.byte $18,$04,$00,$12,$00,$ff,$00,$ff,$00,$ff,$00,$ff
.byte $55,$aa,$55,$aa,$55,$aa,$55,$aa,$24,$00,$5a,$00
.byte $24,$00,$18,$00,$24,$00,$5a,$00,$24,$00,$18,$3c
.byte $4d,$41,$00,$2e,$24,$24,$6a,$6e,$0c,$00,$10,$3e
.byte $2e,$2e,$2a,$2e,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
.byte $e7,$c3,$c3,$e7,$e7,$db,$db,$93,$24,$24,$c3,$08
.byte $18,$c3,$24,$24,$18,$66,$42,$91,$89,$42,$66,$18
.byte $18,$24,$00,$24,$00,$18,$00,$00,$24,$00,$5a,$00
.byte $24,$00,$18,$3c,$5a,$36,$00,$00,$6c,$3b,$76,$00
.byte $24,$7e,$54,$45,$48,$7e,$3e,$00,$00,$08,$14,$2a
.byte $55,$2a,$14,$08,$80,$49,$36,$3e,$5d,$3e,$36,$49
.byte $0f,$1f,$3f,$3d,$38,$38,$3c,$16,$0f,$1f,$3f,$3f
.byte $3f,$3f,$3f,$17,$f0,$f8,$bc,$14,$a0,$a0,$08,$1c
.byte $f0,$f8,$fc,$fc,$58,$58,$f8,$fc,$f2,$f1,$e1,$0f
.byte $1f,$3b,$11,$00,$0d,$0e,$0e,$00,$00,$04,$0e,$0f
.byte $00,$e0,$f0,$f0,$f8,$dc,$88,$00,$c0,$00,$00,$00
.byte $00,$20,$70,$78,$f2,$f1,$e1,$1f,$3f,$13,$03,$00
.byte $0d,$0e,$0e,$00,$00,$2c,$3c,$20,$00,$e0,$f0,$f8
.byte $e0,$c0,$00,$00,$c0,$00,$00,$04,$1c,$3c,$1c,$00
.byte $ff,$2f,$7f,$ff,$ff,$f2,$f7,$ff,$00,$fe,$fc,$d0
.byte $00,$ef,$cf,$0d,$ff,$ff,$df,$ff,$ff,$ff,$ff,$ff
.byte $00,$7e,$7c,$7e,$74,$7c,$50,$00,$ff,$f9,$f9,$ff
.byte $ff,$9f,$9f,$ff,$0f,$6f,$6f,$0f,$f0,$f6,$f6,$f0
.byte $05,$67,$4f,$1f,$9d,$3d,$a9,$ff,$ff,$fe,$ff,$fe
.byte $fe,$ff,$fe,$a4,$00,$0f,$3f,$3f,$7f,$00,$7f,$7f
.byte $0f,$30,$4d,$6d,$ad,$ff,$80,$ad,$00,$f0,$fc,$fc
.byte $fe,$00,$fe,$fe,$f0,$0c,$b2,$b6,$b7,$ff,$01,$b7
.byte $7f,$7f,$7f,$00,$7f,$7f,$7f,$00,$ad,$ad,$ad,$ff
.byte $80,$ad,$ad,$ff,$ea,$e2,$fe,$00,$fe,$fe,$fe,$00
.byte $b5,$bd,$a1,$ff,$01,$b7,$b7,$ff,$00,$22,$4c,$1f
.byte $36,$3f,$5f,$17,$01,$63,$3f,$20,$2d,$29,$60,$ec
.byte $80,$c4,$f2,$fc,$dc,$fc,$fa,$d8,$00,$86,$dc,$04
.byte $b0,$24,$06,$37,$ff,$7f,$36,$3f,$1f,$5c,$22,$00
.byte $68,$20,$0d,$29,$20,$77,$43,$01,$ff,$fe,$dc,$fc
.byte $fc,$fa,$c4,$80,$26,$04,$b0,$20,$04,$cc,$86,$00
.byte $00,$00,$00,$1c,$26,$2f,$3f,$3f,$00,$00,$1c,$3e
.byte $7f,$7f,$7f,$7f,$00,$00,$00,$38,$4c,$dc,$f4,$f4
.byte $00,$00,$38,$74,$fa,$fa,$fa,$fa,$1f,$0f,$07,$03
.byte $01,$00,$00,$00,$3f,$1f,$0f,$07,$02,$01,$00,$00
.byte $e8,$d0,$a0,$40,$80,$00,$00,$00,$f4,$e8,$d0,$a0
.byte $40,$80,$00,$00,$00,$03,$0f,$30,$73,$73,$73,$70
.byte $03,$0f,$3f,$ff,$fc,$fd,$fd,$ff,$80,$20,$c8,$72
.byte $3a,$3a,$3a,$7a,$00,$c0,$f0,$bc,$dc,$dc,$dc,$9c
.byte $73,$73,$3f,$cf,$33,$0c,$03,$00,$fc,$fd,$f1,$3f
.byte $0f,$03,$00,$00,$fa,$fa,$f2,$ce,$38,$e0,$80,$00
.byte $3c,$fc,$fc,$f0,$c0,$00,$00,$00,$b0,$b0,$bf,$b0
.byte $bf,$bf,$b0,$b0,$e0,$e0,$e0,$ff,$ef,$e0,$e0,$e0
.byte $0b,$0b,$fb,$0b,$fb,$fb,$0b,$0b,$0e,$0e,$0e,$fe
.byte $f6,$0e,$0e,$0e,$00,$00,$00,$0c,$3e,$3e,$7b,$fb
.byte $00,$00,$00,$38,$7c,$7c,$fe,$fe,$7b,$f3,$f3,$66
.byte $7e,$3c,$00,$00,$fe,$fe,$7c,$7c,$38,$00,$00,$00
.byte $00,$17,$0f,$1f,$12,$30,$08,$18,$00,$00,$00,$00
.byte $0d,$0f,$07,$07,$00,$c8,$f8,$f0,$40,$40,$00,$00
.byte $00,$00,$00,$00,$a0,$b0,$e0,$c0,$0f,$1f,$1f,$13
.byte $03,$0e,$0e,$0f,$0f,$1f,$1f,$1c,$0c,$00,$0e,$0f
.byte $c0,$e0,$e0,$c0,$c0,$c0,$e0,$70,$c0,$e0,$e0,$20
.byte $20,$00,$e0,$70,$00,$17,$0f,$1f,$12,$30,$08,$18
.byte $00,$00,$00,$00,$0d,$0f,$07,$07,$00,$c8,$f8,$f0
.byte $40,$40,$00,$00,$00,$00,$00,$00,$a0,$b0,$e0,$c0
.byte $1f,$1f,$0f,$0f,$3f,$7c,$30,$18,$1f,$3f,$3f,$00
.byte $00,$60,$30,$18,$c0,$f0,$f8,$e4,$fc,$fc,$7c,$00
.byte $cc,$fc,$f8,$04,$0c,$0c,$0c,$00,$00,$17,$0f,$1f
.byte $12,$30,$08,$18,$00,$00,$00,$00,$0d,$0f,$07,$07
.byte $00,$c8,$f8,$f0,$40,$40,$00,$00,$00,$00,$00,$00
.byte $a0,$b0,$e0,$c0,$0f,$1f,$1f,$13,$03,$0e,$0e,$0f
.byte $0f,$1f,$1f,$1c,$0c,$00,$0e,$0f,$c0,$c0,$c0,$c0
.byte $c0,$c0,$e0,$00,$c0,$c0,$e0,$20,$00,$c0,$e0,$00
.byte $00,$00,$17,$0f,$1f,$12,$30,$08,$00,$00,$00,$00
.byte $00,$0d,$0f,$07,$00,$00,$c8,$f8,$f0,$40,$40,$00
.byte $00,$00,$00,$00,$00,$a0,$b0,$e0,$18,$1f,$0f,$0f
.byte $3f,$7b,$43,$03,$07,$1f,$3f,$37,$20,$60,$43,$03
.byte $00,$e0,$e0,$c0,$c0,$80,$80,$c0,$c0,$f8,$f8,$c0
.byte $00,$00,$80,$c0,$00,$17,$0f,$1f,$12,$30,$08,$18
.byte $00,$00,$00,$00,$0d,$0f,$07,$1f,$00,$c8,$f8,$f0
.byte $40,$40,$00,$00,$00,$00,$00,$00,$a0,$b0,$e0,$cc
.byte $3f,$3f,$0f,$7f,$7f,$7e,$40,$00,$3f,$7f,$6f,$60
.byte $60,$60,$40,$00,$d0,$f8,$f0,$c4,$fc,$fc,$7c,$00
.byte $dc,$f8,$f0,$04,$0c,$0c,$0c,$00,$00,$17,$0f,$1f
.byte $1f,$3f,$0f,$7f,$00,$00,$00,$00,$00,$00,$30,$60
.byte $00,$e0,$f0,$fc,$fc,$fc,$fc,$fc,$00,$18,$08,$04
.byte $04,$00,$0c,$04,$7f,$3f,$1f,$0f,$0f,$0f,$0f,$0f
.byte $7f,$3f,$1f,$00,$00,$06,$0f,$0f,$f8,$f8,$f8,$f8
.byte $f0,$00,$00,$00,$f8,$f8,$c0,$00,$70,$00,$00,$00
.byte $00,$17,$0f,$1f,$1a,$19,$0a,$7c,$00,$00,$00,$00
.byte $05,$66,$65,$63,$00,$e8,$f0,$f8,$58,$9c,$50,$38
.byte $00,$00,$00,$00,$a0,$60,$a0,$c3,$7f,$3f,$4f,$7f
.byte $7f,$7e,$00,$00,$7f,$3f,$4f,$60,$60,$60,$00,$00
.byte $fc,$fe,$f0,$e0,$f0,$f0,$e0,$70,$ff,$fe,$f0,$00
.byte $00,$00,$e0,$70,$ff,$80,$80,$9f,$90,$97,$97,$97
.byte $00,$7f,$7f,$7f,$7f,$7f,$7f,$7f,$fe,$02,$06,$fe
.byte $0e,$fe,$fe,$fe,$00,$fe,$fc,$f8,$f8,$e8,$e8,$e8
.byte $97,$97,$97,$97,$9f,$bf,$ff,$00,$7f,$7f,$7f,$78
.byte $7f,$60,$40,$00,$fe,$fe,$fe,$fe,$fe,$fe,$fe,$00
.byte $e8,$e8,$e8,$08,$f8,$00,$00,$00,$00,$3f,$7f,$60
.byte $6e,$72,$76,$76,$00,$00,$1f,$3f,$31,$2d,$29,$29
.byte $00,$fc,$fe,$0e,$7e,$4e,$6e,$6e,$00,$00,$f8,$fc
.byte $8c,$b4,$94,$94,$7e,$60,$60,$7f,$7c,$7e,$3f,$00
.byte $21,$3f,$3f,$38,$1b,$01,$00,$00,$7e,$0e,$0e,$fe
.byte $3e,$7e,$fc,$00,$84,$fc,$fc,$1c,$d8,$80,$00,$00
.byte $00,$7f,$7f,$60,$7f,$7f,$77,$76,$00,$00,$3f,$3f
.byte $00,$20,$29,$29,$00,$fe,$fe,$0e,$fe,$fe,$ee,$6e
.byte $00,$00,$fc,$fc,$00,$04,$94,$94,$72,$6e,$60,$77
.byte $7e,$3c,$1f,$00,$2d,$31,$3f,$3c,$19,$03,$00,$00
.byte $4e,$7e,$0e,$ee,$7e,$3c,$f8,$00,$b4,$8c,$fc,$3c
.byte $98,$c0,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
.byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
.byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
.byte $55,$aa,$55,$aa,$55,$aa,$55,$aa
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $55,$aa,$55,$aa,$55,$aa,$55,$aa
.byte $55,$aa,$55,$aa,$55,$aa,$55,$aa
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $55,$aa,$55,$aa,$55,$aa,$55,$aa
.byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
.byte $aa,$55,$aa,$55,$aa,$55,$aa,$55
.byte $aa,$55,$aa,$55,$aa,$55,$aa,$55
.byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
.byte $aa,$55,$aa,$55,$aa,$55,$aa,$55
.byte $55,$aa,$55,$aa,$55,$aa,$55,$aa
.byte $33,$cc,$33,$cc,$33,$cc,$33,$cc
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $33,$cc,$33,$cc,$33,$cc,$33,$cc
.byte $33,$cc,$33,$cc,$33,$cc,$33,$cc
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $33,$cc,$33,$cc,$33,$cc,$33,$cc
.byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
.byte $cc,$33,$cc,$33,$cc,$33,$cc,$33
.byte $cc,$33,$cc,$33,$cc,$33,$cc,$33
.byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
.byte $cc,$33,$cc,$33,$cc,$33,$cc,$33
.byte $33,$cc,$33,$cc,$33,$cc,$33,$cc
.byte $3e,$7f,$7f,$7f,$7f,$7f,$7f,$3e
.byte $3c,$42,$5a,$52,$5a,$42,$3c,$00
.byte $fe,$ff,$7f,$7b,$7b,$00,$00,$00
.byte $f4,$4a,$52,$52,$00,$00,$00,$00
.byte $0f,$0f,$0f,$3f,$7e,$7e,$7e,$3c
.byte $0e,$06,$0a,$38,$6c,$6c,$38,$00
.byte $3c,$7e,$7e,$7e,$3c,$3c,$3c,$18
.byte $38,$6c,$6c,$38,$10,$38,$10,$00
.byte $18,$3c,$7e,$ff,$ff,$ff,$3c,$3c
.byte $10,$38,$7c,$fe,$ee,$10,$38,$00
.byte $7e,$ff,$ff,$ff,$ff,$7e,$3c,$18
.byte $6c,$fe,$fe,$fe,$7c,$38,$10,$00
.byte $18,$3c,$7e,$ff,$ff,$7e,$3c,$18
.byte $10,$38,$7c,$fe,$7c,$38,$10,$00
.byte $3c,$7e,$7e,$ff,$ff,$ff,$3c,$3c
.byte $38,$7c,$38,$fe,$d6,$10,$38,$00
.byte $18,$3c,$ff,$ff,$7e,$7e,$7e,$7e
.byte $10,$38,$fe,$7c,$38,$7c,$6c,$00
.byte $0f,$1f,$7f,$ff,$fc,$fc,$fc,$78
.byte $0a,$14,$72,$f8,$f8,$f8,$70,$00
.byte $00,$00,$ff,$ff,$f6,$f6,$f6,$f6
.byte $00,$00,$ee,$84,$e4,$24,$e4,$00
.byte $00,$00,$fc,$fc,$fc,$fc,$ff,$ff
.byte $00,$00,$e8,$88,$e8,$28,$ee,$00
.byte $18,$3c,$7e,$ff,$ff,$db,$18,$18
.byte $10,$38,$7c,$d6,$92,$10,$10,$00
.byte $18,$18,$db,$ff,$ff,$7e,$3c,$18
.byte $10,$10,$92,$d6,$7c,$38,$10,$00
.byte $1c,$3c,$78,$ff,$ff,$78,$3c,$1c
.byte $18,$30,$60,$fe,$60,$30,$18,$00
.byte $38,$3c,$1e,$ff,$ff,$1e,$3c,$38
.byte $30,$18,$0c,$fe,$0c,$18,$30,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $3c,$3c,$3c,$38,$38,$38,$38,$38
.byte $38,$38,$30,$30,$30,$00,$30,$00
.byte $3c,$3c,$3c,$3c,$00,$00,$00,$00
.byte $28,$28,$28,$00,$00,$00,$00,$00
.byte $00,$3c,$7e,$7e,$7e,$7e,$3c,$00
.byte $00,$28,$7c,$28,$7c,$28,$00,$00
.byte $0c,$3f,$3f,$3e,$3e,$7e,$7e,$18
.byte $08,$3e,$28,$3c,$14,$7c,$10,$00
.byte $00,$76,$7e,$7c,$3e,$7e,$6e,$00
.byte $00,$64,$48,$10,$24,$4c,$00,$00
.byte $00,$38,$7c,$7c,$7e,$7e,$7e,$3e
.byte $00,$30,$48,$30,$5c,$48,$34,$00
.byte $30,$30,$70,$60,$00,$00,$00,$00
.byte $20,$20,$40,$00,$00,$00,$00,$00
.byte $0e,$1e,$3c,$38,$38,$3c,$1e,$0e
.byte $0c,$18,$30,$30,$30,$18,$0c,$00
.byte $70,$78,$3c,$1c,$1c,$3c,$78,$70
.byte $60,$30,$18,$18,$18,$30,$60,$00
.byte $00,$00,$3e,$3e,$3e,$3e,$00,$00
.byte $00,$00,$3c,$18,$3c,$00,$00,$00
.byte $00,$18,$18,$7e,$7e,$18,$18,$00
.byte $00,$10,$10,$7c,$10,$10,$00,$00
.byte $00,$00,$00,$00,$38,$38,$78,$70
.byte $00,$00,$00,$00,$30,$30,$60,$00
.byte $00,$00,$00,$3e,$3e,$00,$00,$00
.byte $00,$00,$00,$3c,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$38,$38,$38
.byte $00,$00,$00,$00,$00,$30,$30,$00
.byte $06,$0e,$0e,$1c,$1c,$38,$38,$30
.byte $04,$0c,$08,$18,$10,$30,$20,$00
.byte $3c,$7e,$7e,$7e,$7e,$7e,$7e,$3c
.byte $38,$6c,$6c,$6c,$6c,$6c,$38,$00
.byte $1c,$3c,$3c,$1c,$1c,$1c,$1c,$1c
.byte $18,$38,$18,$18,$18,$18,$18,$00
.byte $3c,$7e,$7e,$3e,$7c,$7e,$7e,$7e
.byte $38,$6c,$0c,$38,$60,$6c,$7c,$00
.byte $3c,$7e,$7e,$3e,$3e,$7e,$7e,$3c
.byte $38,$6c,$0c,$38,$0c,$6c,$38,$00
.byte $7e,$7e,$7e,$7e,$7e,$0e,$0e,$0e
.byte $6c,$6c,$6c,$7c,$0c,$0c,$0c,$00
.byte $7e,$7e,$7e,$7c,$7e,$7e,$7e,$3c
.byte $7c,$6c,$60,$78,$0c,$6c,$38,$00
.byte $3c,$7e,$7e,$7c,$7e,$7e,$7e,$3c
.byte $38,$6c,$60,$78,$6c,$6c,$38,$00
.byte $7e,$7e,$7e,$7e,$0e,$0e,$0e,$0e
.byte $7c,$6c,$6c,$0c,$0c,$0c,$0c,$00
.byte $3c,$7e,$7e,$7e,$7e,$7e,$7e,$3c
.byte $38,$6c,$6c,$38,$6c,$6c,$38,$00
.byte $3c,$7e,$7e,$7e,$3e,$7e,$7e,$3c
.byte $38,$6c,$6c,$3c,$0c,$6c,$38,$00
.byte $00,$38,$38,$38,$38,$38,$38,$00
.byte $00,$30,$30,$00,$30,$30,$00,$00
.byte $00,$38,$38,$38,$38,$38,$78,$70
.byte $00,$30,$30,$00,$30,$30,$60,$00
.byte $0e,$1e,$3c,$78,$78,$3c,$1e,$0e
.byte $0c,$18,$30,$60,$30,$18,$0c,$00
.byte $00,$00,$3e,$3e,$3e,$3e,$00,$00
.byte $00,$00,$3c,$00,$3c,$00,$00,$00
.byte $70,$78,$3c,$1e,$1e,$3c,$78,$70
.byte $60,$30,$18,$0c,$18,$30,$60,$00
.byte $3c,$7e,$7e,$1e,$3c,$38,$38,$38
.byte $38,$6c,$0c,$18,$30,$00,$30,$00
.byte $3c,$7e,$7e,$7e,$7e,$7e,$7e,$3e
.byte $38,$44,$5c,$54,$5c,$40,$3c,$00
.byte $3e,$7f,$77,$7f,$7f,$77,$77,$77
.byte $3c,$66,$66,$7e,$66,$66,$66,$00
.byte $7e,$7f,$77,$7f,$7f,$77,$7f,$7e
.byte $7c,$66,$66,$7c,$66,$66,$7c,$00
.byte $3e,$7f,$77,$70,$70,$77,$7f,$3e
.byte $3c,$66,$60,$60,$60,$66,$3c,$00
.byte $7c,$7e,$7f,$77,$77,$7f,$7e,$7c
.byte $78,$6c,$66,$66,$66,$6c,$78,$00
.byte $7f,$7f,$70,$7f,$7f,$70,$7f,$7f
.byte $7e,$60,$60,$7e,$60,$60,$7e,$00
.byte $7f,$7f,$70,$7c,$7c,$70,$70,$70
.byte $7e,$60,$60,$78,$60,$60,$60,$00
.byte $3e,$7f,$77,$7f,$7f,$77,$7f,$3e
.byte $3c,$66,$60,$6e,$66,$66,$3c,$00
.byte $77,$77,$77,$7f,$7f,$77,$77,$77
.byte $66,$66,$66,$7e,$66,$66,$66,$00
.byte $7f,$7f,$1c,$1c,$1c,$1c,$7f,$7f
.byte $7e,$18,$18,$18,$18,$18,$7e,$00
.byte $07,$07,$07,$07,$77,$77,$7f,$3e
.byte $06,$06,$06,$06,$66,$66,$3c,$00
.byte $77,$7f,$7e,$7c,$7c,$7e,$7f,$77
.byte $66,$6c,$78,$70,$78,$6c,$66,$00
.byte $70,$70,$70,$70,$70,$70,$7f,$7f
.byte $60,$60,$60,$60,$60,$60,$7e,$00
.byte $fe,$ff,$ff,$ff,$ff,$e7,$e7,$e7
.byte $ec,$fe,$d6,$d6,$c6,$c6,$c6,$00
.byte $77,$7f,$7f,$7f,$7f,$7f,$77,$77
.byte $66,$76,$7e,$7e,$6e,$66,$66,$00
.byte $3e,$7f,$77,$77,$77,$77,$7f,$3e
.byte $3c,$66,$66,$66,$66,$66,$3c,$00
.byte $7e,$7f,$77,$7f,$7e,$70,$70,$70
.byte $7c,$66,$66,$7c,$60,$60,$60,$00
.byte $3e,$7f,$77,$77,$77,$7f,$7f,$3f
.byte $3c,$66,$66,$66,$66,$6c,$3e,$00
.byte $7e,$7f,$77,$7f,$7e,$7e,$7f,$77
.byte $7c,$66,$66,$7c,$78,$6c,$66,$00
.byte $3e,$7f,$77,$7e,$3f,$77,$7f,$3e
.byte $3c,$66,$60,$3c,$06,$66,$3c,$00
.byte $7f,$7f,$1c,$1c,$1c,$1c,$1c,$1c
.byte $7e,$18,$18,$18,$18,$18,$18,$00
.byte $77,$77,$77,$77,$77,$77,$7f,$3e
.byte $66,$66,$66,$66,$66,$66,$3c,$00
.byte $77,$77,$77,$77,$7f,$3e,$3e,$1c
.byte $66,$66,$66,$66,$3c,$3c,$18,$00
.byte $e7,$e7,$ff,$ff,$ff,$ff,$ff,$7e
.byte $c6,$c6,$d6,$d6,$d6,$fe,$6c,$00
.byte $77,$77,$7f,$3e,$3e,$7f,$77,$77
.byte $66,$66,$3c,$18,$3c,$66,$66,$00
.byte $77,$77,$77,$7f,$3e,$1c,$1c,$1c
.byte $66,$66,$66,$3c,$18,$18,$18,$00
.byte $7f,$7f,$0f,$1e,$3c,$78,$7f,$7f
.byte $7e,$06,$0c,$18,$30,$60,$7e,$00
.byte $1f,$1f,$1c,$1c,$1c,$1c,$1f,$1f
.byte $1e,$18,$18,$18,$18,$18,$1e,$00
.byte $30,$38,$38,$1c,$1c,$0e,$0e,$06
.byte $20,$30,$10,$18,$08,$0c,$04,$00
.byte $f8,$f8,$38,$38,$38,$38,$f8,$f8
.byte $f0,$30,$30,$30,$30,$30,$f0,$00
.byte $18,$3c,$7e,$7e,$00,$00,$00,$00
.byte $10,$38,$6c,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$7f,$7f
.byte $00,$00,$00,$00,$00,$00,$7e,$00
.byte $30,$30,$38,$18,$00,$00,$00,$00
.byte $20,$20,$10,$00,$00,$00,$00,$00
.byte $00,$00,$3c,$3e,$3e,$7e,$7e,$3e
.byte $00,$00,$38,$0c,$3c,$4c,$34,$00
.byte $70,$70,$7c,$7e,$7e,$7e,$7e,$7c
.byte $60,$60,$78,$6c,$6c,$6c,$78,$00
.byte $00,$00,$3c,$7e,$7e,$7e,$7e,$3c
.byte $00,$00,$38,$6c,$60,$6c,$38,$00
.byte $0e,$0e,$3e,$7e,$7e,$7e,$7e,$3e
.byte $0c,$0c,$3c,$6c,$6c,$6c,$3c,$00
.byte $00,$00,$3c,$7e,$7e,$7e,$7e,$3e
.byte $00,$00,$38,$64,$7c,$60,$3c,$00
.byte $00,$3c,$7e,$7e,$7c,$7c,$70,$70
.byte $00,$38,$6c,$60,$78,$60,$60,$00
.byte $00,$00,$3e,$7e,$7e,$3e,$7e,$7c
.byte $00,$00,$3c,$6c,$3c,$0c,$78,$00
.byte $70,$70,$7c,$7e,$7e,$7e,$7e,$7e
.byte $60,$60,$78,$6c,$6c,$6c,$6c,$00
.byte $00,$1c,$1c,$1c,$1c,$1c,$1c,$1c
.byte $00,$18,$00,$18,$18,$18,$18,$00
.byte $00,$0e,$0e,$0e,$0e,$7e,$7e,$3c
.byte $00,$0c,$00,$0c,$0c,$6c,$38,$00
.byte $70,$70,$7e,$7e,$7c,$7c,$7e,$7e
.byte $60,$60,$6c,$78,$70,$78,$6c,$00
.byte $3c,$3c,$1c,$1c,$1c,$1c,$1c,$1c
.byte $38,$18,$18,$18,$18,$18,$18,$00
.byte $00,$00,$7e,$7f,$7f,$7f,$77,$77
.byte $00,$00,$6c,$7e,$56,$66,$66,$00
.byte $00,$00,$7c,$7e,$7e,$7e,$7e,$7e
.byte $00,$00,$78,$6c,$6c,$6c,$6c,$00
.byte $00,$00,$3c,$7e,$7e,$7e,$7e,$3c
.byte $00,$00,$38,$6c,$6c,$6c,$38,$00
.byte $00,$00,$7c,$7e,$7e,$7c,$70,$70
.byte $00,$00,$78,$6c,$78,$60,$60,$00
.byte $00,$00,$3e,$7e,$7e,$3e,$0e,$0e
.byte $00,$00,$3c,$6c,$3c,$0c,$0c,$00
.byte $00,$00,$7c,$7e,$7e,$70,$70,$70
.byte $00,$00,$78,$6c,$60,$60,$60,$00
.byte $00,$00,$3e,$7e,$7c,$3e,$7e,$7c
.byte $00,$00,$3c,$60,$38,$0c,$78,$00
.byte $00,$1c,$3e,$3e,$1c,$1c,$1e,$0e
.byte $00,$18,$3c,$18,$18,$18,$0c,$00
.byte $00,$00,$7e,$7e,$7e,$7e,$7e,$3e
.byte $00,$00,$6c,$6c,$6c,$6c,$34,$00
.byte $00,$00,$7e,$7e,$7e,$7e,$3e,$1c
.byte $00,$00,$6c,$6c,$6c,$3c,$18,$00
.byte $00,$00,$e7,$e7,$ff,$ff,$7e,$7e
.byte $00,$00,$c6,$c6,$d6,$7c,$6c,$00
.byte $00,$00,$7e,$7e,$3c,$3c,$7e,$7e
.byte $00,$00,$6c,$38,$10,$38,$6c,$00
.byte $00,$00,$7e,$7e,$7e,$3e,$7c,$78
.byte $00,$00,$6c,$6c,$3c,$18,$70,$00
.byte $00,$00,$7e,$7e,$3c,$78,$7e,$7e
.byte $00,$00,$7c,$18,$30,$60,$7c,$00
.byte $0e,$1e,$1c,$3c,$3c,$1c,$1e,$0e
.byte $0c,$18,$18,$30,$18,$18,$0c,$00
.byte $18,$18,$18,$18,$18,$18,$18,$18
.byte $10,$10,$10,$10,$10,$10,$10,$00
.byte $70,$78,$38,$3c,$3c,$38,$78,$70
.byte $60,$30,$30,$18,$30,$30,$60,$00
.byte $00,$00,$7f,$ff,$fe,$00,$00,$00
.byte $00,$00,$76,$dc,$00,$00,$00,$00
.byte $7f,$7f,$7f,$7f,$7f,$7f,$7f,$7f
.byte $7e,$7e,$7e,$7e,$7e,$7e,$7e,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $f0,$f0,$f0,$f0,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $0f,$0f,$0f,$0f,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $ff,$ff,$ff,$ff,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$f0,$f0,$f0,$f0
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $0f,$0f,$0f,$0f,$f0,$f0,$f0,$f0
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $ff,$ff,$ff,$ff,$f0,$f0,$f0,$f0
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$0f,$0f,$0f,$0f
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $f0,$f0,$f0,$f0,$0f,$0f,$0f,$0f
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $ff,$ff,$ff,$ff,$0f,$0f,$0f,$0f
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$ff,$ff,$ff,$ff
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $f0,$f0,$f0,$f0,$ff,$ff,$ff,$ff
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $0f,$0f,$0f,$0f,$ff,$ff,$ff,$ff
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $7f,$80,$80,$80,$80,$80,$80,$80
.byte $ff,$00,$00,$00,$00,$00,$00,$00
.byte $3f,$3f,$c0,$c0,$c0,$c0,$c0,$c0
.byte $ff,$ff,$00,$00,$00,$00,$00,$00
.byte $1f,$1f,$1f,$e0,$e0,$e0,$e0,$e0
.byte $ff,$ff,$ff,$00,$00,$00,$00,$00
.byte $0f,$0f,$0f,$0f,$f0,$f0,$f0,$f0
.byte $ff,$ff,$ff,$ff,$00,$00,$00,$00
.byte $07,$07,$07,$07,$07,$f8,$f8,$f8
.byte $ff,$ff,$ff,$ff,$ff,$00,$00,$00
.byte $03,$03,$03,$03,$03,$03,$fc,$fc
.byte $ff,$ff,$ff,$ff,$ff,$ff,$00,$00
.byte $01,$01,$01,$01,$01,$01,$01,$fe
.byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
.byte $7f,$80,$80,$80,$80,$80,$80,$80
.byte $00,$ff,$ff,$ff,$ff,$ff,$ff,$ff
.byte $3f,$3f,$c0,$c0,$c0,$c0,$c0,$c0
.byte $00,$00,$ff,$ff,$ff,$ff,$ff,$ff
.byte $1f,$1f,$1f,$e0,$e0,$e0,$e0,$e0
.byte $00,$00,$00,$ff,$ff,$ff,$ff,$ff
.byte $0f,$0f,$0f,$0f,$f0,$f0,$f0,$f0
.byte $00,$00,$00,$00,$ff,$ff,$ff,$ff
.byte $07,$07,$07,$07,$07,$f8,$f8,$f8
.byte $00,$00,$00,$00,$00,$ff,$ff,$ff
.byte $03,$03,$03,$03,$03,$03,$fc,$fc
.byte $00,$00,$00,$00,$00,$00,$ff,$ff
.byte $01,$01,$01,$01,$01,$01,$01,$fe
.byte $00,$00,$00,$00,$00,$00,$00,$ff
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $ff,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$ff
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $80,$80,$80,$80,$80,$80,$80,$80
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $01,$01,$01,$01,$01,$01,$01,$01
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$03,$0c,$30,$c0
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $03,$0c,$30,$c0,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $c0,$30,$0c,$03,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$c0,$30,$0c,$03
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $10,$10,$20,$20,$40,$40,$80,$80
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $01,$01,$02,$02,$04,$04,$08,$08
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $80,$80,$40,$40,$20,$20,$10,$10
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $08,$08,$04,$04,$02,$02,$01,$01
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $01,$02,$04,$08,$10,$20,$40,$80
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $80,$40,$20,$10,$08,$04,$02,$01
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $81,$42,$24,$18,$18,$24,$42,$81
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $3c,$42,$81,$81,$81,$81,$42,$3c
.byte $0c,$00,$10,$00,$00,$00,$04,$00
.byte $0c,$00,$10,$3e,$2e,$2e,$2a,$2e
.byte $00,$3c,$bc,$5a,$00,$20,$24,$7e
.byte $18,$00,$80,$42,$18,$04,$00,$12
.byte $00,$ff,$00,$ff,$00,$ff,$00,$ff
.byte $55,$aa,$55,$aa,$55,$aa,$55,$aa
.byte $24,$00,$5a,$00,$24,$00,$18,$00
.byte $24,$00,$5a,$00,$24,$00,$18,$3c
.byte $4d,$41,$00,$2e,$24,$24,$6a,$6e
.byte $0c,$00,$10,$3e,$2e,$2e,$2a,$2e
.byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
.byte $e7,$c3,$c3,$e7,$e7,$db,$db,$93
.byte $24,$24,$c3,$08,$18,$c3,$24,$24
.byte $18,$66,$42,$91,$89,$42,$66,$18
.byte $18,$24,$00,$24,$00,$18,$00,$00
.byte $24,$00,$5a,$00,$24,$00,$18,$3c
.byte $5a,$36,$00,$00,$6c,$3b,$76,$00
.byte $24,$7e,$54,$45,$48,$7e,$3e,$00
.byte $00,$08,$14,$2a,$55,$2a,$14,$08
.byte $80,$49,$36,$3e,$5d,$3e,$36,$49
.byte $0f,$1f,$3f,$3d,$38,$38,$3c,$16
.byte $0f,$1f,$3f,$3f,$3f,$3f,$3f,$17
.byte $f0,$f8,$bc,$14,$a0,$a0,$08,$1c
.byte $f0,$f8,$fc,$fc,$58,$58,$f8,$fc
.byte $f2,$f1,$e1,$0f,$1f,$3b,$11,$00
.byte $0d,$0e,$0e,$00,$00,$04,$0e,$0f
.byte $00,$e0,$f0,$f0,$f8,$dc,$88,$00
.byte $c0,$00,$00,$00,$00,$20,$70,$78
.byte $f2,$f1,$e1,$1f,$3f,$13,$03,$00
.byte $0d,$0e,$0e,$00,$00,$2c,$3c,$20
.byte $00,$e0,$f0,$f8,$e0,$c0,$00,$00
.byte $c0,$00,$00,$04,$1c,$3c,$1c,$00
.byte $ff,$2f,$7f,$ff,$ff,$f2,$f7,$ff
.byte $00,$fe,$fc,$d0,$00,$ef,$cf,$0d
.byte $ff,$f9,$f9,$ff,$ff,$9f,$9f,$ff
.byte $0f,$6f,$6f,$0f,$f0,$f6,$f6,$f0
.byte $ff,$ff,$df,$ff,$ff,$ff,$ff,$ff
.byte $00,$7e,$7c,$7e,$74,$7c,$50,$00
.byte $05,$67,$4f,$1f,$9d,$3d,$a9,$ff
.byte $ff,$fe,$ff,$fe,$fe,$ff,$fe,$a4
.byte $00,$0f,$3f,$3f,$7f,$00,$7f,$7f
.byte $0f,$30,$4d,$6d,$ad,$ff,$80,$ad
.byte $7f,$7f,$7f,$00,$7f,$7f,$7f,$00
.byte $ad,$ad,$ad,$ff,$80,$ad,$ad,$ff
.byte $00,$f0,$fc,$fc,$fe,$00,$fe,$fe
.byte $f0,$0c,$b2,$b6,$b7,$ff,$01,$b7
.byte $ea,$e2,$fe,$00,$fe,$fe,$fe,$00
.byte $b5,$bd,$a1,$ff,$01,$b7,$b7,$ff
.byte $00,$22,$4c,$1f,$36,$3f,$5f,$17
.byte $01,$63,$3f,$20,$2d,$29,$60,$ec
.byte $ff,$7f,$36,$3f,$1f,$5c,$22,$00
.byte $68,$20,$0d,$29,$20,$77,$43,$01
.byte $80,$c4,$f2,$fc,$dc,$fc,$fa,$d8
.byte $00,$86,$dc,$04,$b0,$24,$06,$37
.byte $ff,$fe,$dc,$fc,$fc,$fa,$c4,$80
.byte $26,$04,$b0,$20,$04,$cc,$86,$00
.byte $00,$00,$00,$1c,$26,$2f,$3f,$3f
.byte $00,$00,$1c,$3e,$7f,$7f,$7f,$7f
.byte $1f,$0f,$07,$03,$01,$00,$00,$00
.byte $3f,$1f,$0f,$07,$02,$01,$00,$00
.byte $00,$00,$00,$38,$4c,$dc,$f4,$f4
.byte $00,$00,$38,$74,$fa,$fa,$fa,$fa
.byte $e8,$d0,$a0,$40,$80,$00,$00,$00
.byte $f4,$e8,$d0,$a0,$40,$80,$00,$00
.byte $00,$03,$0f,$30,$73,$73,$73,$70
.byte $03,$0f,$3f,$ff,$fc,$fd,$fd,$ff
.byte $73,$73,$3f,$cf,$33,$0c,$03,$00
.byte $fc,$fd,$f1,$3f,$0f,$03,$00,$00
.byte $80,$20,$c8,$72,$3a,$3a,$3a,$7a
.byte $00,$c0,$f0,$bc,$dc,$dc,$dc,$9c
.byte $fa,$fa,$f2,$ce,$38,$e0,$80,$00
.byte $3c,$fc,$fc,$f0,$c0,$00,$00,$00
.byte $b0,$b0,$bf,$b0,$bf,$bf,$b0,$b0
.byte $e0,$e0,$e0,$ff,$ef,$e0,$e0,$e0
.byte $0b,$0b,$fb,$0b,$fb,$fb,$0b,$0b
.byte $0e,$0e,$0e,$fe,$f6,$0e,$0e,$0e
.byte $00,$00,$00,$0c,$3e,$3e,$7b,$fb
.byte $00,$00,$00,$38,$7c,$7c,$fe,$fe
.byte $7b,$f3,$f3,$66,$7e,$3c,$00,$00
.byte $fe,$fe,$7c,$7c,$38,$00,$00,$00
.byte $00,$17,$0f,$1f,$12,$30,$08,$18
.byte $00,$00,$00,$00,$0d,$0f,$07,$07
.byte $0f,$1f,$1f,$13,$03,$0e,$0e,$0f
.byte $0f,$1f,$1f,$1c,$0c,$00,$0e,$0f
.byte $00,$c8,$f8,$f0,$40,$40,$00,$00
.byte $00,$00,$00,$00,$a0,$b0,$e0,$c0
.byte $c0,$e0,$e0,$c0,$c0,$c0,$e0,$70
.byte $c0,$e0,$e0,$20,$20,$00,$e0,$70
.byte $00,$17,$0f,$1f,$12,$30,$08,$18
.byte $00,$00,$00,$00,$0d,$0f,$07,$07
.byte $1f,$1f,$0f,$0f,$3f,$7c,$30,$18
.byte $1f,$3f,$3f,$00,$00,$60,$30,$18
.byte $00,$c8,$f8,$f0,$40,$40,$00,$00
.byte $00,$00,$00,$00,$a0,$b0,$e0,$c0
.byte $c0,$f0,$f8,$e4,$fc,$fc,$7c,$00
.byte $cc,$fc,$f8,$04,$0c,$0c,$0c,$00
.byte $00,$17,$0f,$1f,$12,$30,$08,$18
.byte $00,$00,$00,$00,$0d,$0f,$07,$07
.byte $0f,$1f,$1f,$13,$03,$0e,$0e,$0f
.byte $0f,$1f,$1f,$1c,$0c,$00,$0e,$0f
.byte $00,$c8,$f8,$f0,$40,$40,$00,$00
.byte $00,$00,$00,$00,$a0,$b0,$e0,$c0
.byte $c0,$c0,$c0,$c0,$c0,$c0,$e0,$00
.byte $c0,$c0,$e0,$20,$00,$c0,$e0,$00
.byte $00,$00,$17,$0f,$1f,$12,$30,$08
.byte $00,$00,$00,$00,$00,$0d,$0f,$07
.byte $18,$1f,$0f,$0f,$3f,$7b,$43,$03
.byte $07,$1f,$3f,$37,$20,$60,$43,$03
.byte $00,$00,$c8,$f8,$f0,$40,$40,$00
.byte $00,$00,$00,$00,$00,$a0,$b0,$e0
.byte $00,$e0,$e0,$c0,$c0,$80,$80,$c0
.byte $c0,$f8,$f8,$c0,$00,$00,$80,$c0
.byte $00,$17,$0f,$1f,$12,$30,$08,$18
.byte $00,$00,$00,$00,$0d,$0f,$07,$1f
.byte $3f,$3f,$0f,$7f,$7f,$7e,$40,$00
.byte $3f,$7f,$6f,$60,$60,$60,$40,$00
.byte $00,$c8,$f8,$f0,$40,$40,$00,$00
.byte $00,$00,$00,$00,$a0,$b0,$e0,$cc
.byte $d0,$f8,$f0,$c4,$fc,$fc,$7c,$00
.byte $dc,$f8,$f0,$04,$0c,$0c,$0c,$00
.byte $00,$17,$0f,$1f,$1f,$3f,$0f,$7f
.byte $00,$00,$00,$00,$00,$00,$30,$60
.byte $7f,$3f,$1f,$0f,$0f,$0f,$0f,$0f
.byte $7f,$3f,$1f,$00,$00,$06,$0f,$0f
.byte $00,$e0,$f0,$fc,$fc,$fc,$fc,$fc
.byte $00,$18,$08,$04,$04,$00,$0c,$04
.byte $f8,$f8,$f8,$f8,$f0,$00,$00,$00
.byte $f8,$f8,$c0,$00,$70,$00,$00,$00
.byte $00,$17,$0f,$1f,$1a,$19,$0a,$7c
.byte $00,$00,$00,$00,$05,$66,$65,$63
.byte $7f,$3f,$4f,$7f,$7f,$7e,$00,$00
.byte $7f,$3f,$4f,$60,$60,$60,$00,$00
.byte $00,$e8,$f0,$f8,$58,$9c,$50,$38
.byte $00,$00,$00,$00,$a0,$60,$a0,$c3
.byte $fc,$fe,$f0,$e0,$f0,$f0,$e0,$70
.byte $ff,$fe,$f0,$00,$00,$00,$e0,$70
.byte $ff,$80,$80,$9f,$90,$97,$97,$97
.byte $00,$7f,$7f,$7f,$7f,$7f,$7f,$7f
.byte $97,$97,$97,$97,$9f,$bf,$ff,$00
.byte $7f,$7f,$7f,$78,$7f,$60,$40,$00
.byte $fe,$02,$06,$fe,$0e,$fe,$fe,$fe
.byte $00,$fe,$fc,$f8,$f8,$e8,$e8,$e8
.byte $fe,$fe,$fe,$fe,$fe,$fe,$fe,$00
.byte $e8,$e8,$e8,$08,$f8,$00,$00,$00
.byte $00,$3f,$7f,$60,$6e,$72,$76,$76
.byte $00,$00,$1f,$3f,$31,$2d,$29,$29
.byte $7e,$60,$60,$7f,$7c,$7e,$3f,$00
.byte $21,$3f,$3f,$38,$1b,$01,$00,$00
.byte $00,$fc,$fe,$0e,$7e,$4e,$6e,$6e
.byte $00,$00,$f8,$fc,$8c,$b4,$94,$94
.byte $7e,$0e,$0e,$fe,$3e,$7e,$fc,$00
.byte $84,$fc,$fc,$1c,$d8,$80,$00,$00
.byte $00,$7f,$7f,$60,$7f,$7f,$77,$76
.byte $00,$00,$3f,$3f,$00,$20,$29,$29
.byte $72,$6e,$60,$77,$7e,$3c,$1f,$00
.byte $2d,$31,$3f,$3c,$19,$03,$00,$00
.byte $00,$fe,$fe,$0e,$fe,$fe,$ee,$6e
.byte $00,$00,$fc,$fc,$00,$04,$94,$94
.byte $4e,$7e,$0e,$ee,$7e,$3c,$f8,$00
.byte $b4,$8c,$fc,$3c,$98,$c0,$00,$00
;;

View File

@ -11,6 +11,17 @@
// link the pattern table into CHR ROM
//#link "chr_generic.s"
// famitone2 library
//#link "famitone2.s"
// music and sfx
//#link "music_dangerstreets.s"
extern char danger_streets_music_data[];
//#link "demosounds.s"
extern char demo_sounds[];
typedef enum { SND_START, SND_HIT, SND_COIN, SND_JUMP } SFXIndex;
// define basic types
typedef unsigned char byte;
typedef signed char sbyte;
@ -55,6 +66,9 @@ static byte player_screen_y = 0;
// score (BCD)
static byte score = 0;
// flash animation (virtual bright)
static byte vbright = 4;
// random byte between (a ... b-1)
// use rand() because rand8() has a cycle of 255
byte rndint(byte a, byte b) {
@ -115,16 +129,8 @@ void cflushnow() {
cendbuf();
}
// add single character to update buffer
void putchar(word addr, char ch) {
if (updptr >= VBUFSIZE-4) cflushnow();
updbuf[updptr++] = addr >> 8;
updbuf[updptr++] = addr & 0xff;
updbuf[updptr++] = ch;
cendbuf();
}
// add multiple characters to update buffer
// using horizontal increment
void putbytes(word addr, char* str, byte len) {
if (updptr >= VBUFSIZE-4-len) cflushnow();
updbuf[updptr++] = (addr >> 8) | NT_UPD_HORZ;
@ -136,19 +142,14 @@ void putbytes(word addr, char* str, byte len) {
cendbuf();
}
// add string to update buffer
void putstring(word addr, char* str) {
putbytes(addr, str, strlen(str));
}
/// METASPRITES
// define a 2x2 metasprite
#define DEF_METASPRITE_2x2(name,code,pal)\
const unsigned char name[]={\
0, 0, (code)+0, pal, \
8, 0, (code)+1, pal, \
0, 8, (code)+2, pal, \
0, 8, (code)+1, pal, \
8, 0, (code)+2, pal, \
8, 8, (code)+3, pal, \
128};
@ -156,8 +157,8 @@ const unsigned char name[]={\
#define DEF_METASPRITE_2x2_FLIP(name,code,pal)\
const unsigned char name[]={\
8, 0, (code)+0, (pal)|OAM_FLIP_H, \
0, 0, (code)+1, (pal)|OAM_FLIP_H, \
8, 8, (code)+2, (pal)|OAM_FLIP_H, \
8, 8, (code)+1, (pal)|OAM_FLIP_H, \
0, 0, (code)+2, (pal)|OAM_FLIP_H, \
0, 8, (code)+3, (pal)|OAM_FLIP_H, \
128};
@ -280,9 +281,9 @@ void draw_floor_line(byte screen_y) {
for (i=0; i<COLS; i+=2) {
if (dy) {
buf[i] = CH_FLOOR;
buf[i+1] = CH_FLOOR+1;
buf[i+1] = CH_FLOOR+2;
} else {
buf[i] = CH_FLOOR+2;
buf[i] = CH_FLOOR+1;
buf[i+1] = CH_FLOOR+3;
}
}
@ -311,12 +312,12 @@ void draw_floor_line(byte screen_y) {
if (lev->objtype) {
byte ch = lev->objtype*4 + CH_ITEM;
if (dy == 2) {
buf[lev->objpos*2] = ch+2;
buf[lev->objpos*2] = ch+1;
buf[lev->objpos*2+1] = ch+3;
}
else if (dy == 3) {
buf[lev->objpos*2] = ch+0;
buf[lev->objpos*2+1] = ch+1;
buf[lev->objpos*2+1] = ch+2;
}
}
// compute row in name buffer and address
@ -564,6 +565,8 @@ void move_actor(struct Actor* actor, byte joystick, bool scroll) {
actor->u.jumping.yvel = JUMP_VELOCITY;
if (joystick & PAD_LEFT) actor->u.jumping.xvel = -1;
if (joystick & PAD_RIGHT) actor->u.jumping.xvel = 1;
// play sound for player
if (scroll) sfx_play(SND_JUMP,0);
} else if (joystick & PAD_LEFT) {
actor->x--;
actor->dir = 1;
@ -643,8 +646,11 @@ void pickup_object(Actor* actor) {
// did we hit a mine?
if (objtype == ITEM_MINE) {
fall_down(actor);
sfx_play(SND_HIT,0);
vbright = 8; // flash
} else {
score = bcdadd(score, 1);
sfx_play(SND_COIN,0);
}
}
}
@ -695,7 +701,7 @@ void type_message(const char* charptr) {
x = 2;
y++;
} else {
putchar(getntaddr(x, y), ch);
putbytes(getntaddr(x, y), &ch, 1);
x++;
}
// flush buffer and wait a few frames
@ -739,6 +745,11 @@ void play_scene() {
// see if the player hit another actor
if (check_collision(&actors[0])) {
fall_down(&actors[0]);
sfx_play(SND_HIT,0);
vbright = 8; // flash
}
if (vbright > 4) {
pal_bright(--vbright);
}
}
@ -770,10 +781,19 @@ void setup_graphics() {
ppu_on_all();
}
void setup_sounds() {
famitone_init(danger_streets_music_data);
sfx_init(demo_sounds);
nmi_set_callback(famitone_update);
}
void main() {
setup_sounds();
while (1) {
setup_graphics();
sfx_play(SND_START,0);
make_floors();
music_play(0);
play_scene();
}
}

View File

@ -1,9 +1,6 @@
#include "neslib.h"
#pragma data-name (push,"CHARS")
#pragma data-name (pop)
//#define DEBUG
#define HAS_DEBUGGER

View File

@ -17,8 +17,8 @@
#define DEF_METASPRITE_2x2(name,code,pal)\
const unsigned char name[]={\
0, 0, (code)+0, pal, \
8, 0, (code)+1, pal, \
0, 8, (code)+2, pal, \
0, 8, (code)+1, pal, \
8, 0, (code)+2, pal, \
8, 8, (code)+3, pal, \
128};
@ -26,8 +26,8 @@ const unsigned char name[]={\
#define DEF_METASPRITE_2x2_FLIP(name,code,pal)\
const unsigned char name[]={\
8, 0, (code)+0, (pal)|OAM_FLIP_H, \
0, 0, (code)+1, (pal)|OAM_FLIP_H, \
8, 8, (code)+2, (pal)|OAM_FLIP_H, \
8, 8, (code)+1, (pal)|OAM_FLIP_H, \
0, 0, (code)+2, (pal)|OAM_FLIP_H, \
0, 8, (code)+3, (pal)|OAM_FLIP_H, \
128};

View File

@ -1,346 +0,0 @@
const unsigned char jroatch_chr[0x1000] = {
/*{w:8,h:8,bpp:1,count:256,brev:1,np:2,pofs:8,remap:[0,1,2,4,5,6,7,8,9,10,11,12]}*/
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0xaa, 0x55, 0xaa,
0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0xaa, 0x55, 0xaa,
0x55, 0xaa, 0x55, 0xaa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55,
0xaa, 0x55, 0xaa, 0x55, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0x55, 0xaa, 0x55, 0xaa,
0x55, 0xaa, 0x55, 0xaa, 0x33, 0xcc, 0x33, 0xcc, 0x33, 0xcc, 0x33, 0xcc,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0xcc, 0x33, 0xcc,
0x33, 0xcc, 0x33, 0xcc, 0x33, 0xcc, 0x33, 0xcc, 0x33, 0xcc, 0x33, 0xcc,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0xcc, 0x33, 0xcc,
0x33, 0xcc, 0x33, 0xcc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xcc, 0x33, 0xcc, 0x33, 0xcc, 0x33, 0xcc, 0x33, 0xcc, 0x33, 0xcc, 0x33,
0xcc, 0x33, 0xcc, 0x33, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xcc, 0x33, 0xcc, 0x33, 0xcc, 0x33, 0xcc, 0x33, 0x33, 0xcc, 0x33, 0xcc,
0x33, 0xcc, 0x33, 0xcc, 0x3e, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x3e,
0x3c, 0x42, 0x5a, 0x52, 0x5a, 0x42, 0x3c, 0x00, 0xfe, 0xff, 0x7f, 0x7b,
0x7b, 0x00, 0x00, 0x00, 0xf4, 0x4a, 0x52, 0x52, 0x00, 0x00, 0x00, 0x00,
0x0f, 0x0f, 0x0f, 0x3f, 0x7e, 0x7e, 0x7e, 0x3c, 0x0e, 0x06, 0x0a, 0x38,
0x6c, 0x6c, 0x38, 0x00, 0x3c, 0x7e, 0x7e, 0x7e, 0x3c, 0x3c, 0x3c, 0x18,
0x38, 0x6c, 0x6c, 0x38, 0x10, 0x38, 0x10, 0x00, 0x18, 0x3c, 0x7e, 0xff,
0xff, 0xff, 0x3c, 0x3c, 0x10, 0x38, 0x7c, 0xfe, 0xee, 0x10, 0x38, 0x00,
0x7e, 0xff, 0xff, 0xff, 0xff, 0x7e, 0x3c, 0x18, 0x6c, 0xfe, 0xfe, 0xfe,
0x7c, 0x38, 0x10, 0x00, 0x18, 0x3c, 0x7e, 0xff, 0xff, 0x7e, 0x3c, 0x18,
0x10, 0x38, 0x7c, 0xfe, 0x7c, 0x38, 0x10, 0x00, 0x3c, 0x7e, 0x7e, 0xff,
0xff, 0xff, 0x3c, 0x3c, 0x38, 0x7c, 0x38, 0xfe, 0xd6, 0x10, 0x38, 0x00,
0x18, 0x3c, 0xff, 0xff, 0x7e, 0x7e, 0x7e, 0x7e, 0x10, 0x38, 0xfe, 0x7c,
0x38, 0x7c, 0x6c, 0x00, 0x0f, 0x1f, 0x7f, 0xff, 0xfc, 0xfc, 0xfc, 0x78,
0x0a, 0x14, 0x72, 0xf8, 0xf8, 0xf8, 0x70, 0x00, 0x00, 0x00, 0xff, 0xff,
0xf6, 0xf6, 0xf6, 0xf6, 0x00, 0x00, 0xee, 0x84, 0xe4, 0x24, 0xe4, 0x00,
0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0x00, 0x00, 0xe8, 0x88,
0xe8, 0x28, 0xee, 0x00, 0x18, 0x3c, 0x7e, 0xff, 0xff, 0xdb, 0x18, 0x18,
0x10, 0x38, 0x7c, 0xd6, 0x92, 0x10, 0x10, 0x00, 0x18, 0x18, 0xdb, 0xff,
0xff, 0x7e, 0x3c, 0x18, 0x10, 0x10, 0x92, 0xd6, 0x7c, 0x38, 0x10, 0x00,
0x1c, 0x3c, 0x78, 0xff, 0xff, 0x78, 0x3c, 0x1c, 0x18, 0x30, 0x60, 0xfe,
0x60, 0x30, 0x18, 0x00, 0x38, 0x3c, 0x1e, 0xff, 0xff, 0x1e, 0x3c, 0x38,
0x30, 0x18, 0x0c, 0xfe, 0x0c, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x3c, 0x3c, 0x3c, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x30, 0x30,
0x30, 0x00, 0x30, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00, 0x00, 0x00,
0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x7e, 0x7e,
0x7e, 0x7e, 0x3c, 0x00, 0x00, 0x28, 0x7c, 0x28, 0x7c, 0x28, 0x00, 0x00,
0x0c, 0x3f, 0x3f, 0x3e, 0x3e, 0x7e, 0x7e, 0x18, 0x08, 0x3e, 0x28, 0x3c,
0x14, 0x7c, 0x10, 0x00, 0x00, 0x76, 0x7e, 0x7c, 0x3e, 0x7e, 0x6e, 0x00,
0x00, 0x64, 0x48, 0x10, 0x24, 0x4c, 0x00, 0x00, 0x00, 0x38, 0x7c, 0x7c,
0x7e, 0x7e, 0x7e, 0x3e, 0x00, 0x30, 0x48, 0x30, 0x5c, 0x48, 0x34, 0x00,
0x30, 0x30, 0x70, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x40, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0e, 0x1e, 0x3c, 0x38, 0x38, 0x3c, 0x1e, 0x0e,
0x0c, 0x18, 0x30, 0x30, 0x30, 0x18, 0x0c, 0x00, 0x70, 0x78, 0x3c, 0x1c,
0x1c, 0x3c, 0x78, 0x70, 0x60, 0x30, 0x18, 0x18, 0x18, 0x30, 0x60, 0x00,
0x00, 0x00, 0x3e, 0x3e, 0x3e, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x18,
0x3c, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7e, 0x7e, 0x18, 0x18, 0x00,
0x00, 0x10, 0x10, 0x7c, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x38, 0x38, 0x78, 0x70, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x60, 0x00,
0x00, 0x00, 0x00, 0x3e, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x38, 0x38,
0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x06, 0x0e, 0x0e, 0x1c,
0x1c, 0x38, 0x38, 0x30, 0x04, 0x0c, 0x08, 0x18, 0x10, 0x30, 0x20, 0x00,
0x3c, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x3c, 0x38, 0x6c, 0x6c, 0x6c,
0x6c, 0x6c, 0x38, 0x00, 0x1c, 0x3c, 0x3c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c,
0x18, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x3c, 0x7e, 0x7e, 0x3e,
0x7c, 0x7e, 0x7e, 0x7e, 0x38, 0x6c, 0x0c, 0x38, 0x60, 0x6c, 0x7c, 0x00,
0x3c, 0x7e, 0x7e, 0x3e, 0x3e, 0x7e, 0x7e, 0x3c, 0x38, 0x6c, 0x0c, 0x38,
0x0c, 0x6c, 0x38, 0x00, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x0e, 0x0e, 0x0e,
0x6c, 0x6c, 0x6c, 0x7c, 0x0c, 0x0c, 0x0c, 0x00, 0x7e, 0x7e, 0x7e, 0x7c,
0x7e, 0x7e, 0x7e, 0x3c, 0x7c, 0x6c, 0x60, 0x78, 0x0c, 0x6c, 0x38, 0x00,
0x3c, 0x7e, 0x7e, 0x7c, 0x7e, 0x7e, 0x7e, 0x3c, 0x38, 0x6c, 0x60, 0x78,
0x6c, 0x6c, 0x38, 0x00, 0x7e, 0x7e, 0x7e, 0x7e, 0x0e, 0x0e, 0x0e, 0x0e,
0x7c, 0x6c, 0x6c, 0x0c, 0x0c, 0x0c, 0x0c, 0x00, 0x3c, 0x7e, 0x7e, 0x7e,
0x7e, 0x7e, 0x7e, 0x3c, 0x38, 0x6c, 0x6c, 0x38, 0x6c, 0x6c, 0x38, 0x00,
0x3c, 0x7e, 0x7e, 0x7e, 0x3e, 0x7e, 0x7e, 0x3c, 0x38, 0x6c, 0x6c, 0x3c,
0x0c, 0x6c, 0x38, 0x00, 0x00, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x00,
0x00, 0x30, 0x30, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x38, 0x38, 0x38,
0x38, 0x38, 0x78, 0x70, 0x00, 0x30, 0x30, 0x00, 0x30, 0x30, 0x60, 0x00,
0x0e, 0x1e, 0x3c, 0x78, 0x78, 0x3c, 0x1e, 0x0e, 0x0c, 0x18, 0x30, 0x60,
0x30, 0x18, 0x0c, 0x00, 0x00, 0x00, 0x3e, 0x3e, 0x3e, 0x3e, 0x00, 0x00,
0x00, 0x00, 0x3c, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x70, 0x78, 0x3c, 0x1e,
0x1e, 0x3c, 0x78, 0x70, 0x60, 0x30, 0x18, 0x0c, 0x18, 0x30, 0x60, 0x00,
0x3c, 0x7e, 0x7e, 0x1e, 0x3c, 0x38, 0x38, 0x38, 0x38, 0x6c, 0x0c, 0x18,
0x30, 0x00, 0x30, 0x00, 0x3c, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x3e,
0x38, 0x44, 0x5c, 0x54, 0x5c, 0x40, 0x3c, 0x00, 0x3e, 0x7f, 0x77, 0x7f,
0x7f, 0x77, 0x77, 0x77, 0x3c, 0x66, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00,
0x7e, 0x7f, 0x77, 0x7f, 0x7f, 0x77, 0x7f, 0x7e, 0x7c, 0x66, 0x66, 0x7c,
0x66, 0x66, 0x7c, 0x00, 0x3e, 0x7f, 0x77, 0x70, 0x70, 0x77, 0x7f, 0x3e,
0x3c, 0x66, 0x60, 0x60, 0x60, 0x66, 0x3c, 0x00, 0x7c, 0x7e, 0x7f, 0x77,
0x77, 0x7f, 0x7e, 0x7c, 0x78, 0x6c, 0x66, 0x66, 0x66, 0x6c, 0x78, 0x00,
0x7f, 0x7f, 0x70, 0x7f, 0x7f, 0x70, 0x7f, 0x7f, 0x7e, 0x60, 0x60, 0x7e,
0x60, 0x60, 0x7e, 0x00, 0x7f, 0x7f, 0x70, 0x7c, 0x7c, 0x70, 0x70, 0x70,
0x7e, 0x60, 0x60, 0x78, 0x60, 0x60, 0x60, 0x00, 0x3e, 0x7f, 0x77, 0x7f,
0x7f, 0x77, 0x7f, 0x3e, 0x3c, 0x66, 0x60, 0x6e, 0x66, 0x66, 0x3c, 0x00,
0x77, 0x77, 0x77, 0x7f, 0x7f, 0x77, 0x77, 0x77, 0x66, 0x66, 0x66, 0x7e,
0x66, 0x66, 0x66, 0x00, 0x7f, 0x7f, 0x1c, 0x1c, 0x1c, 0x1c, 0x7f, 0x7f,
0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7e, 0x00, 0x07, 0x07, 0x07, 0x07,
0x77, 0x77, 0x7f, 0x3e, 0x06, 0x06, 0x06, 0x06, 0x66, 0x66, 0x3c, 0x00,
0x77, 0x7f, 0x7e, 0x7c, 0x7c, 0x7e, 0x7f, 0x77, 0x66, 0x6c, 0x78, 0x70,
0x78, 0x6c, 0x66, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x7f, 0x7f,
0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7e, 0x00, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xe7, 0xe7, 0xe7, 0xec, 0xfe, 0xd6, 0xd6, 0xc6, 0xc6, 0xc6, 0x00,
0x77, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x77, 0x77, 0x66, 0x76, 0x7e, 0x7e,
0x6e, 0x66, 0x66, 0x00, 0x3e, 0x7f, 0x77, 0x77, 0x77, 0x77, 0x7f, 0x3e,
0x3c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00, 0x7e, 0x7f, 0x77, 0x7f,
0x7e, 0x70, 0x70, 0x70, 0x7c, 0x66, 0x66, 0x7c, 0x60, 0x60, 0x60, 0x00,
0x3e, 0x7f, 0x77, 0x77, 0x77, 0x7f, 0x7f, 0x3f, 0x3c, 0x66, 0x66, 0x66,
0x66, 0x6c, 0x3e, 0x00, 0x7e, 0x7f, 0x77, 0x7f, 0x7e, 0x7e, 0x7f, 0x77,
0x7c, 0x66, 0x66, 0x7c, 0x78, 0x6c, 0x66, 0x00, 0x3e, 0x7f, 0x77, 0x7e,
0x3f, 0x77, 0x7f, 0x3e, 0x3c, 0x66, 0x60, 0x3c, 0x06, 0x66, 0x3c, 0x00,
0x7f, 0x7f, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x7e, 0x18, 0x18, 0x18,
0x18, 0x18, 0x18, 0x00, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x7f, 0x3e,
0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00, 0x77, 0x77, 0x77, 0x77,
0x7f, 0x3e, 0x3e, 0x1c, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x3c, 0x18, 0x00,
0xe7, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7e, 0xc6, 0xc6, 0xd6, 0xd6,
0xd6, 0xfe, 0x6c, 0x00, 0x77, 0x77, 0x7f, 0x3e, 0x3e, 0x7f, 0x77, 0x77,
0x66, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0x66, 0x00, 0x77, 0x77, 0x77, 0x7f,
0x3e, 0x1c, 0x1c, 0x1c, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x18, 0x18, 0x00,
0x7f, 0x7f, 0x0f, 0x1e, 0x3c, 0x78, 0x7f, 0x7f, 0x7e, 0x06, 0x0c, 0x18,
0x30, 0x60, 0x7e, 0x00, 0x1f, 0x1f, 0x1c, 0x1c, 0x1c, 0x1c, 0x1f, 0x1f,
0x1e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1e, 0x00, 0x30, 0x38, 0x38, 0x1c,
0x1c, 0x0e, 0x0e, 0x06, 0x20, 0x30, 0x10, 0x18, 0x08, 0x0c, 0x04, 0x00,
0xf8, 0xf8, 0x38, 0x38, 0x38, 0x38, 0xf8, 0xf8, 0xf0, 0x30, 0x30, 0x30,
0x30, 0x30, 0xf0, 0x00, 0x18, 0x3c, 0x7e, 0x7e, 0x00, 0x00, 0x00, 0x00,
0x10, 0x38, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00,
0x30, 0x30, 0x38, 0x18, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x10, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x3e, 0x3e, 0x7e, 0x7e, 0x3e,
0x00, 0x00, 0x38, 0x0c, 0x3c, 0x4c, 0x34, 0x00, 0x70, 0x70, 0x7c, 0x7e,
0x7e, 0x7e, 0x7e, 0x7c, 0x60, 0x60, 0x78, 0x6c, 0x6c, 0x6c, 0x78, 0x00,
0x00, 0x00, 0x3c, 0x7e, 0x7e, 0x7e, 0x7e, 0x3c, 0x00, 0x00, 0x38, 0x6c,
0x60, 0x6c, 0x38, 0x00, 0x0e, 0x0e, 0x3e, 0x7e, 0x7e, 0x7e, 0x7e, 0x3e,
0x0c, 0x0c, 0x3c, 0x6c, 0x6c, 0x6c, 0x3c, 0x00, 0x00, 0x00, 0x3c, 0x7e,
0x7e, 0x7e, 0x7e, 0x3e, 0x00, 0x00, 0x38, 0x64, 0x7c, 0x60, 0x3c, 0x00,
0x00, 0x3c, 0x7e, 0x7e, 0x7c, 0x7c, 0x70, 0x70, 0x00, 0x38, 0x6c, 0x60,
0x78, 0x60, 0x60, 0x00, 0x00, 0x00, 0x3e, 0x7e, 0x7e, 0x3e, 0x7e, 0x7c,
0x00, 0x00, 0x3c, 0x6c, 0x3c, 0x0c, 0x78, 0x00, 0x70, 0x70, 0x7c, 0x7e,
0x7e, 0x7e, 0x7e, 0x7e, 0x60, 0x60, 0x78, 0x6c, 0x6c, 0x6c, 0x6c, 0x00,
0x00, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x00, 0x18, 0x00, 0x18,
0x18, 0x18, 0x18, 0x00, 0x00, 0x0e, 0x0e, 0x0e, 0x0e, 0x7e, 0x7e, 0x3c,
0x00, 0x0c, 0x00, 0x0c, 0x0c, 0x6c, 0x38, 0x00, 0x70, 0x70, 0x7e, 0x7e,
0x7c, 0x7c, 0x7e, 0x7e, 0x60, 0x60, 0x6c, 0x78, 0x70, 0x78, 0x6c, 0x00,
0x3c, 0x3c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x38, 0x18, 0x18, 0x18,
0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x7e, 0x7f, 0x7f, 0x7f, 0x77, 0x77,
0x00, 0x00, 0x6c, 0x7e, 0x56, 0x66, 0x66, 0x00, 0x00, 0x00, 0x7c, 0x7e,
0x7e, 0x7e, 0x7e, 0x7e, 0x00, 0x00, 0x78, 0x6c, 0x6c, 0x6c, 0x6c, 0x00,
0x00, 0x00, 0x3c, 0x7e, 0x7e, 0x7e, 0x7e, 0x3c, 0x00, 0x00, 0x38, 0x6c,
0x6c, 0x6c, 0x38, 0x00, 0x00, 0x00, 0x7c, 0x7e, 0x7e, 0x7c, 0x70, 0x70,
0x00, 0x00, 0x78, 0x6c, 0x78, 0x60, 0x60, 0x00, 0x00, 0x00, 0x3e, 0x7e,
0x7e, 0x3e, 0x0e, 0x0e, 0x00, 0x00, 0x3c, 0x6c, 0x3c, 0x0c, 0x0c, 0x00,
0x00, 0x00, 0x7c, 0x7e, 0x7e, 0x70, 0x70, 0x70, 0x00, 0x00, 0x78, 0x6c,
0x60, 0x60, 0x60, 0x00, 0x00, 0x00, 0x3e, 0x7e, 0x7c, 0x3e, 0x7e, 0x7c,
0x00, 0x00, 0x3c, 0x60, 0x38, 0x0c, 0x78, 0x00, 0x00, 0x1c, 0x3e, 0x3e,
0x1c, 0x1c, 0x1e, 0x0e, 0x00, 0x18, 0x3c, 0x18, 0x18, 0x18, 0x0c, 0x00,
0x00, 0x00, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x3e, 0x00, 0x00, 0x6c, 0x6c,
0x6c, 0x6c, 0x34, 0x00, 0x00, 0x00, 0x7e, 0x7e, 0x7e, 0x7e, 0x3e, 0x1c,
0x00, 0x00, 0x6c, 0x6c, 0x6c, 0x3c, 0x18, 0x00, 0x00, 0x00, 0xe7, 0xe7,
0xff, 0xff, 0x7e, 0x7e, 0x00, 0x00, 0xc6, 0xc6, 0xd6, 0x7c, 0x6c, 0x00,
0x00, 0x00, 0x7e, 0x7e, 0x3c, 0x3c, 0x7e, 0x7e, 0x00, 0x00, 0x6c, 0x38,
0x10, 0x38, 0x6c, 0x00, 0x00, 0x00, 0x7e, 0x7e, 0x7e, 0x3e, 0x7c, 0x78,
0x00, 0x00, 0x6c, 0x6c, 0x3c, 0x18, 0x70, 0x00, 0x00, 0x00, 0x7e, 0x7e,
0x3c, 0x78, 0x7e, 0x7e, 0x00, 0x00, 0x7c, 0x18, 0x30, 0x60, 0x7c, 0x00,
0x0e, 0x1e, 0x1c, 0x3c, 0x3c, 0x1c, 0x1e, 0x0e, 0x0c, 0x18, 0x18, 0x30,
0x18, 0x18, 0x0c, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x70, 0x78, 0x38, 0x3c,
0x3c, 0x38, 0x78, 0x70, 0x60, 0x30, 0x30, 0x18, 0x30, 0x30, 0x60, 0x00,
0x00, 0x00, 0x7f, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xdc,
0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xf0, 0xf0, 0xf0, 0xf0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0x0f, 0x0f, 0x0f, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f,
0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x7f, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0xc0, 0xc0,
0xc0, 0xc0, 0xc0, 0xc0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x1f, 0x1f, 0x1f, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xf0, 0xf0, 0xf0, 0xf0,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07,
0x07, 0xf8, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x7f, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x1f, 0x1f, 0xe0,
0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0x0f, 0x0f, 0x0f, 0x0f, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x07, 0x07, 0x07, 0x07, 0x07, 0xf8, 0xf8, 0xf8,
0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x03, 0x03, 0x03, 0x03,
0x03, 0x03, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xfe, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80,
0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0c, 0x30, 0xc0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0c, 0x30, 0xc0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xc0, 0x30, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x30, 0x0c, 0x03,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x20, 0x20,
0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x10,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x04, 0x04,
0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x42, 0x24, 0x18,
0x18, 0x24, 0x42, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x3c, 0x42, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3c, 0x0c, 0x00, 0x10, 0x00,
0x00, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x10, 0x3e, 0x2e, 0x2e, 0x2a, 0x2e,
0x00, 0x3c, 0xbc, 0x5a, 0x00, 0x20, 0x24, 0x7e, 0x18, 0x00, 0x80, 0x42,
0x18, 0x04, 0x00, 0x12, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff,
0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x24, 0x00, 0x5a, 0x00,
0x24, 0x00, 0x18, 0x00, 0x24, 0x00, 0x5a, 0x00, 0x24, 0x00, 0x18, 0x3c,
0x4d, 0x41, 0x00, 0x2e, 0x24, 0x24, 0x6a, 0x6e, 0x0c, 0x00, 0x10, 0x3e,
0x2e, 0x2e, 0x2a, 0x2e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xe7, 0xc3, 0xc3, 0xe7, 0xe7, 0xdb, 0xdb, 0x93, 0x24, 0x24, 0xc3, 0x08,
0x18, 0xc3, 0x24, 0x24, 0x18, 0x66, 0x42, 0x91, 0x89, 0x42, 0x66, 0x18,
0x18, 0x24, 0x00, 0x24, 0x00, 0x18, 0x00, 0x00, 0x24, 0x00, 0x5a, 0x00,
0x24, 0x00, 0x18, 0x3c, 0x5a, 0x36, 0x00, 0x00, 0x6c, 0x3b, 0x76, 0x00,
0x24, 0x7e, 0x54, 0x45, 0x48, 0x7e, 0x3e, 0x00, 0x00, 0x08, 0x14, 0x2a,
0x55, 0x2a, 0x14, 0x08, 0x80, 0x49, 0x36, 0x3e, 0x5d, 0x3e, 0x36, 0x49,
0x0f, 0x1f, 0x3f, 0x3d, 0x38, 0x38, 0x3c, 0x16, 0x0f, 0x1f, 0x3f, 0x3f,
0x3f, 0x3f, 0x3f, 0x17, 0xf0, 0xf8, 0xbc, 0x14, 0xa0, 0xa0, 0x08, 0x1c,
0xf0, 0xf8, 0xfc, 0xfc, 0x58, 0x58, 0xf8, 0xfc, 0xf2, 0xf1, 0xe1, 0x0f,
0x1f, 0x3b, 0x11, 0x00, 0x0d, 0x0e, 0x0e, 0x00, 0x00, 0x04, 0x0e, 0x0f,
0x00, 0xe0, 0xf0, 0xf0, 0xf8, 0xdc, 0x88, 0x00, 0xc0, 0x00, 0x00, 0x00,
0x00, 0x20, 0x70, 0x78, 0xf2, 0xf1, 0xe1, 0x1f, 0x3f, 0x13, 0x03, 0x00,
0x0d, 0x0e, 0x0e, 0x00, 0x00, 0x2c, 0x3c, 0x20, 0x00, 0xe0, 0xf0, 0xf8,
0xe0, 0xc0, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x04, 0x1c, 0x3c, 0x1c, 0x00,
0xff, 0x2f, 0x7f, 0xff, 0xff, 0xf2, 0xf7, 0xff, 0x00, 0xfe, 0xfc, 0xd0,
0x00, 0xef, 0xcf, 0x0d, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0x7e, 0x7c, 0x7e, 0x74, 0x7c, 0x50, 0x00, 0xff, 0xf9, 0xf9, 0xff,
0xff, 0x9f, 0x9f, 0xff, 0x0f, 0x6f, 0x6f, 0x0f, 0xf0, 0xf6, 0xf6, 0xf0,
0x05, 0x67, 0x4f, 0x1f, 0x9d, 0x3d, 0xa9, 0xff, 0xff, 0xfe, 0xff, 0xfe,
0xfe, 0xff, 0xfe, 0xa4, 0x00, 0x0f, 0x3f, 0x3f, 0x7f, 0x00, 0x7f, 0x7f,
0x0f, 0x30, 0x4d, 0x6d, 0xad, 0xff, 0x80, 0xad, 0x00, 0xf0, 0xfc, 0xfc,
0xfe, 0x00, 0xfe, 0xfe, 0xf0, 0x0c, 0xb2, 0xb6, 0xb7, 0xff, 0x01, 0xb7,
0x7f, 0x7f, 0x7f, 0x00, 0x7f, 0x7f, 0x7f, 0x00, 0xad, 0xad, 0xad, 0xff,
0x80, 0xad, 0xad, 0xff, 0xea, 0xe2, 0xfe, 0x00, 0xfe, 0xfe, 0xfe, 0x00,
0xb5, 0xbd, 0xa1, 0xff, 0x01, 0xb7, 0xb7, 0xff, 0x00, 0x22, 0x4c, 0x1f,
0x36, 0x3f, 0x5f, 0x17, 0x01, 0x63, 0x3f, 0x20, 0x2d, 0x29, 0x60, 0xec,
0x80, 0xc4, 0xf2, 0xfc, 0xdc, 0xfc, 0xfa, 0xd8, 0x00, 0x86, 0xdc, 0x04,
0xb0, 0x24, 0x06, 0x37, 0xff, 0x7f, 0x36, 0x3f, 0x1f, 0x5c, 0x22, 0x00,
0x68, 0x20, 0x0d, 0x29, 0x20, 0x77, 0x43, 0x01, 0xff, 0xfe, 0xdc, 0xfc,
0xfc, 0xfa, 0xc4, 0x80, 0x26, 0x04, 0xb0, 0x20, 0x04, 0xcc, 0x86, 0x00,
0x00, 0x00, 0x00, 0x1c, 0x26, 0x2f, 0x3f, 0x3f, 0x00, 0x00, 0x1c, 0x3e,
0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x38, 0x4c, 0xdc, 0xf4, 0xf4,
0x00, 0x00, 0x38, 0x74, 0xfa, 0xfa, 0xfa, 0xfa, 0x1f, 0x0f, 0x07, 0x03,
0x01, 0x00, 0x00, 0x00, 0x3f, 0x1f, 0x0f, 0x07, 0x02, 0x01, 0x00, 0x00,
0xe8, 0xd0, 0xa0, 0x40, 0x80, 0x00, 0x00, 0x00, 0xf4, 0xe8, 0xd0, 0xa0,
0x40, 0x80, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x30, 0x73, 0x73, 0x73, 0x70,
0x03, 0x0f, 0x3f, 0xff, 0xfc, 0xfd, 0xfd, 0xff, 0x80, 0x20, 0xc8, 0x72,
0x3a, 0x3a, 0x3a, 0x7a, 0x00, 0xc0, 0xf0, 0xbc, 0xdc, 0xdc, 0xdc, 0x9c,
0x73, 0x73, 0x3f, 0xcf, 0x33, 0x0c, 0x03, 0x00, 0xfc, 0xfd, 0xf1, 0x3f,
0x0f, 0x03, 0x00, 0x00, 0xfa, 0xfa, 0xf2, 0xce, 0x38, 0xe0, 0x80, 0x00,
0x3c, 0xfc, 0xfc, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0xb0, 0xb0, 0xbf, 0xb0,
0xbf, 0xbf, 0xb0, 0xb0, 0xe0, 0xe0, 0xe0, 0xff, 0xef, 0xe0, 0xe0, 0xe0,
0x0b, 0x0b, 0xfb, 0x0b, 0xfb, 0xfb, 0x0b, 0x0b, 0x0e, 0x0e, 0x0e, 0xfe,
0xf6, 0x0e, 0x0e, 0x0e, 0x00, 0x00, 0x00, 0x0c, 0x3e, 0x3e, 0x7b, 0xfb,
0x00, 0x00, 0x00, 0x38, 0x7c, 0x7c, 0xfe, 0xfe, 0x7b, 0xf3, 0xf3, 0x66,
0x7e, 0x3c, 0x00, 0x00, 0xfe, 0xfe, 0x7c, 0x7c, 0x38, 0x00, 0x00, 0x00,
0x00, 0x17, 0x0f, 0x1f, 0x12, 0x30, 0x08, 0x18, 0x00, 0x00, 0x00, 0x00,
0x0d, 0x0f, 0x07, 0x07, 0x00, 0xc8, 0xf8, 0xf0, 0x40, 0x40, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xa0, 0xb0, 0xe0, 0xc0, 0x0f, 0x1f, 0x1f, 0x13,
0x03, 0x0e, 0x0e, 0x0f, 0x0f, 0x1f, 0x1f, 0x1c, 0x0c, 0x00, 0x0e, 0x0f,
0xc0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0xe0, 0x70, 0xc0, 0xe0, 0xe0, 0x20,
0x20, 0x00, 0xe0, 0x70, 0x00, 0x17, 0x0f, 0x1f, 0x12, 0x30, 0x08, 0x18,
0x00, 0x00, 0x00, 0x00, 0x0d, 0x0f, 0x07, 0x07, 0x00, 0xc8, 0xf8, 0xf0,
0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0xb0, 0xe0, 0xc0,
0x1f, 0x1f, 0x0f, 0x0f, 0x3f, 0x7c, 0x30, 0x18, 0x1f, 0x3f, 0x3f, 0x00,
0x00, 0x60, 0x30, 0x18, 0xc0, 0xf0, 0xf8, 0xe4, 0xfc, 0xfc, 0x7c, 0x00,
0xcc, 0xfc, 0xf8, 0x04, 0x0c, 0x0c, 0x0c, 0x00, 0x00, 0x17, 0x0f, 0x1f,
0x12, 0x30, 0x08, 0x18, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x0f, 0x07, 0x07,
0x00, 0xc8, 0xf8, 0xf0, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xa0, 0xb0, 0xe0, 0xc0, 0x0f, 0x1f, 0x1f, 0x13, 0x03, 0x0e, 0x0e, 0x0f,
0x0f, 0x1f, 0x1f, 0x1c, 0x0c, 0x00, 0x0e, 0x0f, 0xc0, 0xc0, 0xc0, 0xc0,
0xc0, 0xc0, 0xe0, 0x00, 0xc0, 0xc0, 0xe0, 0x20, 0x00, 0xc0, 0xe0, 0x00,
0x00, 0x00, 0x17, 0x0f, 0x1f, 0x12, 0x30, 0x08, 0x00, 0x00, 0x00, 0x00,
0x00, 0x0d, 0x0f, 0x07, 0x00, 0x00, 0xc8, 0xf8, 0xf0, 0x40, 0x40, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0xb0, 0xe0, 0x18, 0x1f, 0x0f, 0x0f,
0x3f, 0x7b, 0x43, 0x03, 0x07, 0x1f, 0x3f, 0x37, 0x20, 0x60, 0x43, 0x03,
0x00, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0xc0, 0xc0, 0xf8, 0xf8, 0xc0,
0x00, 0x00, 0x80, 0xc0, 0x00, 0x17, 0x0f, 0x1f, 0x12, 0x30, 0x08, 0x18,
0x00, 0x00, 0x00, 0x00, 0x0d, 0x0f, 0x07, 0x1f, 0x00, 0xc8, 0xf8, 0xf0,
0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0xb0, 0xe0, 0xcc,
0x3f, 0x3f, 0x0f, 0x7f, 0x7f, 0x7e, 0x40, 0x00, 0x3f, 0x7f, 0x6f, 0x60,
0x60, 0x60, 0x40, 0x00, 0xd0, 0xf8, 0xf0, 0xc4, 0xfc, 0xfc, 0x7c, 0x00,
0xdc, 0xf8, 0xf0, 0x04, 0x0c, 0x0c, 0x0c, 0x00, 0x00, 0x17, 0x0f, 0x1f,
0x1f, 0x3f, 0x0f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x60,
0x00, 0xe0, 0xf0, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x18, 0x08, 0x04,
0x04, 0x00, 0x0c, 0x04, 0x7f, 0x3f, 0x1f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
0x7f, 0x3f, 0x1f, 0x00, 0x00, 0x06, 0x0f, 0x0f, 0xf8, 0xf8, 0xf8, 0xf8,
0xf0, 0x00, 0x00, 0x00, 0xf8, 0xf8, 0xc0, 0x00, 0x70, 0x00, 0x00, 0x00,
0x00, 0x17, 0x0f, 0x1f, 0x1a, 0x19, 0x0a, 0x7c, 0x00, 0x00, 0x00, 0x00,
0x05, 0x66, 0x65, 0x63, 0x00, 0xe8, 0xf0, 0xf8, 0x58, 0x9c, 0x50, 0x38,
0x00, 0x00, 0x00, 0x00, 0xa0, 0x60, 0xa0, 0xc3, 0x7f, 0x3f, 0x4f, 0x7f,
0x7f, 0x7e, 0x00, 0x00, 0x7f, 0x3f, 0x4f, 0x60, 0x60, 0x60, 0x00, 0x00,
0xfc, 0xfe, 0xf0, 0xe0, 0xf0, 0xf0, 0xe0, 0x70, 0xff, 0xfe, 0xf0, 0x00,
0x00, 0x00, 0xe0, 0x70, 0xff, 0x80, 0x80, 0x9f, 0x90, 0x97, 0x97, 0x97,
0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xfe, 0x02, 0x06, 0xfe,
0x0e, 0xfe, 0xfe, 0xfe, 0x00, 0xfe, 0xfc, 0xf8, 0xf8, 0xe8, 0xe8, 0xe8,
0x97, 0x97, 0x97, 0x97, 0x9f, 0xbf, 0xff, 0x00, 0x7f, 0x7f, 0x7f, 0x78,
0x7f, 0x60, 0x40, 0x00, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x00,
0xe8, 0xe8, 0xe8, 0x08, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x7f, 0x60,
0x6e, 0x72, 0x76, 0x76, 0x00, 0x00, 0x1f, 0x3f, 0x31, 0x2d, 0x29, 0x29,
0x00, 0xfc, 0xfe, 0x0e, 0x7e, 0x4e, 0x6e, 0x6e, 0x00, 0x00, 0xf8, 0xfc,
0x8c, 0xb4, 0x94, 0x94, 0x7e, 0x60, 0x60, 0x7f, 0x7c, 0x7e, 0x3f, 0x00,
0x21, 0x3f, 0x3f, 0x38, 0x1b, 0x01, 0x00, 0x00, 0x7e, 0x0e, 0x0e, 0xfe,
0x3e, 0x7e, 0xfc, 0x00, 0x84, 0xfc, 0xfc, 0x1c, 0xd8, 0x80, 0x00, 0x00,
0x00, 0x7f, 0x7f, 0x60, 0x7f, 0x7f, 0x77, 0x76, 0x00, 0x00, 0x3f, 0x3f,
0x00, 0x20, 0x29, 0x29, 0x00, 0xfe, 0xfe, 0x0e, 0xfe, 0xfe, 0xee, 0x6e,
0x00, 0x00, 0xfc, 0xfc, 0x00, 0x04, 0x94, 0x94, 0x72, 0x6e, 0x60, 0x77,
0x7e, 0x3c, 0x1f, 0x00, 0x2d, 0x31, 0x3f, 0x3c, 0x19, 0x03, 0x00, 0x00,
0x4e, 0x7e, 0x0e, 0xee, 0x7e, 0x3c, 0xf8, 0x00, 0xb4, 0x8c, 0xfc, 0x3c,
0x98, 0xc0, 0x00, 0x00
};

Binary file not shown.

View File

@ -17,8 +17,8 @@
#define DEF_METASPRITE_2x2(name,code,pal)\
const unsigned char name[]={\
0, 0, (code)+0, pal, \
8, 0, (code)+1, pal, \
0, 8, (code)+2, pal, \
0, 8, (code)+1, pal, \
8, 0, (code)+2, pal, \
8, 8, (code)+3, pal, \
128};
@ -26,8 +26,8 @@ const unsigned char name[]={\
#define DEF_METASPRITE_2x2_FLIP(name,code,pal)\
const unsigned char name[]={\
8, 0, (code)+0, (pal)|OAM_FLIP_H, \
0, 0, (code)+1, (pal)|OAM_FLIP_H, \
8, 8, (code)+2, (pal)|OAM_FLIP_H, \
8, 8, (code)+1, (pal)|OAM_FLIP_H, \
0, 0, (code)+2, (pal)|OAM_FLIP_H, \
0, 8, (code)+3, (pal)|OAM_FLIP_H, \
128};
@ -119,7 +119,7 @@ void main() {
pad = pad_poll(i);
// move actor[i] left/right
if (pad&PAD_LEFT && actor_x[i]>0) actor_dx[i]=-2;
else if (pad&PAD_RIGHT && actor_x[i]<232) actor_dx[i]=2;
else if (pad&PAD_RIGHT && actor_x[i]<240) actor_dx[i]=2;
else actor_dx[i]=0;
// move actor[i] up/down
if (pad&PAD_UP && actor_y[i]>0) actor_dy[i]=-2;
@ -128,7 +128,7 @@ void main() {
}
// draw and move all actors
for (i=0; i<NUM_ACTORS; i++) {
oam_id = oam_meta_spr(actor_x[i], actor_y[i], oam_id, playerRunSeq[i]);
oam_id = oam_meta_spr(actor_x[i], actor_y[i], oam_id, playerRunSeq[i&15]);
actor_x[i] += actor_dx[i];
actor_y[i] += actor_dy[i];
}

View File

@ -17,8 +17,8 @@
#define DEF_METASPRITE_2x2(name,code,pal)\
const unsigned char name[]={\
0, 0, (code)+0, pal, \
8, 0, (code)+1, pal, \
0, 8, (code)+2, pal, \
0, 8, (code)+1, pal, \
8, 0, (code)+2, pal, \
8, 8, (code)+3, pal, \
128};
@ -26,8 +26,8 @@ const unsigned char name[]={\
#define DEF_METASPRITE_2x2_FLIP(name,code,pal)\
const unsigned char name[]={\
8, 0, (code)+0, (pal)|OAM_FLIP_H, \
0, 0, (code)+1, (pal)|OAM_FLIP_H, \
8, 8, (code)+2, (pal)|OAM_FLIP_H, \
8, 8, (code)+1, (pal)|OAM_FLIP_H, \
0, 0, (code)+2, (pal)|OAM_FLIP_H, \
0, 8, (code)+3, (pal)|OAM_FLIP_H, \
128};
@ -92,9 +92,6 @@ char actor_y[NUM_ACTORS];
char actor_dx[NUM_ACTORS];
char actor_dy[NUM_ACTORS];
// OAM buffer pointer, in case we want to manipulate directly
#define OAMBUF ((unsigned char*) 0x200)
// main program
void main() {
char i;
@ -114,7 +111,8 @@ void main() {
oam_id = 0;
// draw and move all actors
for (i=0; i<NUM_ACTORS; i++) {
oam_id = oam_meta_spr(actor_x[i], actor_y[i], oam_id, playerRunSeq[i]);
oam_id = oam_meta_spr(actor_x[i], actor_y[i], oam_id,
playerRunSeq[i&15]);
actor_x[i] += actor_dx[i];
actor_y[i] += actor_dy[i];
}

149
presets/nes/metatrigger.c Normal file
View File

@ -0,0 +1,149 @@
#include <stdlib.h>
#include <string.h>
// include NESLIB header
#include "neslib.h"
// include CC65 NES Header (PPU)
#include <nes.h>
// link the pattern table into CHR ROM
//#link "chr_generic.s"
///// METASPRITES
// define a 2x2 metasprite
#define DEF_METASPRITE_2x2(name,code,pal)\
const unsigned char name[]={\
0, 0, (code)+0, pal, \
0, 8, (code)+1, pal, \
8, 0, (code)+2, pal, \
8, 8, (code)+3, pal, \
128};
// define a 2x2 metasprite, flipped horizontally
#define DEF_METASPRITE_2x2_FLIP(name,code,pal)\
const unsigned char name[]={\
8, 0, (code)+0, (pal)|OAM_FLIP_H, \
8, 8, (code)+1, (pal)|OAM_FLIP_H, \
0, 0, (code)+2, (pal)|OAM_FLIP_H, \
0, 8, (code)+3, (pal)|OAM_FLIP_H, \
128};
DEF_METASPRITE_2x2(playerRStand, 0xd8, 0);
DEF_METASPRITE_2x2(playerRRun1, 0xdc, 0);
DEF_METASPRITE_2x2(playerRRun2, 0xe0, 0);
DEF_METASPRITE_2x2(playerRRun3, 0xe4, 0);
DEF_METASPRITE_2x2(playerRJump, 0xe8, 0);
DEF_METASPRITE_2x2(playerRClimb, 0xec, 0);
DEF_METASPRITE_2x2(playerRSad, 0xf0, 0);
DEF_METASPRITE_2x2_FLIP(playerLStand, 0xd8, 0);
DEF_METASPRITE_2x2_FLIP(playerLRun1, 0xdc, 0);
DEF_METASPRITE_2x2_FLIP(playerLRun2, 0xe0, 0);
DEF_METASPRITE_2x2_FLIP(playerLRun3, 0xe4, 0);
DEF_METASPRITE_2x2_FLIP(playerLJump, 0xe8, 0);
DEF_METASPRITE_2x2_FLIP(playerLClimb, 0xec, 0);
DEF_METASPRITE_2x2_FLIP(playerLSad, 0xf0, 0);
DEF_METASPRITE_2x2(personToSave, 0xba, 1);
const unsigned char* const playerRunSeq[16] = {
playerLRun1, playerLRun2, playerLRun3,
playerLRun1, playerLRun2, playerLRun3,
playerLRun1, playerLRun2,
playerRRun1, playerRRun2, playerRRun3,
playerRRun1, playerRRun2, playerRRun3,
playerRRun1, playerRRun2,
};
const char PALETTE[32] = {
0x03, // background color
0x11,0x30,0x27, 0, // ladders and pickups
0x1c,0x20,0x2c, 0, // floor blocks
0x00,0x10,0x20, 0,
0x06,0x16,0x26, 0,
0x16,0x35,0x24, 0, // enemy sprites
0x00,0x37,0x25, 0, // rescue person
0x0d,0x2d,0x3a, 0,
0x0d,0x27,0x2a // player sprites
};
// setup PPU and tables
void setup_graphics() {
// clear sprites
oam_hide_rest(0);
// set palette colors
pal_all(PALETTE);
// turn on PPU
ppu_on_all();
}
// number of actors (4 h/w sprites each)
#define NUM_ACTORS 16
// actor x/y positions
char actor_x[NUM_ACTORS];
char actor_y[NUM_ACTORS];
// actor x/y deltas per frame
char actor_dx[NUM_ACTORS];
char actor_dy[NUM_ACTORS];
// OAM buffer pointer, in case we want to manipulate directly
#define OAMBUF ((unsigned char*) 0x200)
// main program
void main() {
char i;
char oam_id;
char pad; // controller flags
char vbright = 4;
setup_graphics();
// initialize actors with random values
for (i=0; i<NUM_ACTORS; i++) {
actor_x[i] = i*32+128;
actor_y[i] = i*8+64;
actor_dx[i] = 0;
actor_dy[i] = 0;
}
// loop forever
while (1) {
// start with OAMid/sprite 0
oam_id = 0;
// set player 0/1 velocity based on controller
for (i=0; i<2; i++) {
// poll controller i (0-1)
pad = pad_trigger(i);
// move actor[i] left/right
if (pad&PAD_LEFT && actor_x[i]>0) actor_dx[i]=-2;
else if (pad&PAD_RIGHT && actor_x[i]<240) actor_dx[i]=2;
else actor_dx[i]=0;
// set virtual bright up/down
if (pad&PAD_A) vbright--;
if (pad&PAD_B) vbright++;
// get pad state
pad = pad_state(i);
// move actor[i] up/down
if (pad&PAD_UP && actor_y[i]>0) actor_dy[i]=-2;
else if (pad&PAD_DOWN && actor_y[i]<212) actor_dy[i]=2;
else actor_dy[i]=0;
}
// draw and move all actors
for (i=0; i<NUM_ACTORS; i++) {
oam_id = oam_meta_spr(actor_x[i], actor_y[i], oam_id, playerRunSeq[i&15]);
actor_x[i] += actor_dx[i];
actor_y[i] += actor_dy[i];
}
// hide rest of sprites
// if we haven't wrapped oam_id around to 0
if (oam_id!=0) oam_hide_rest(oam_id);
// set virtual bright
pal_bright(vbright);
// wait for next frame
ppu_wait_frame();
}
}

View File

@ -138,6 +138,8 @@ void __fastcall__ sfx_play(unsigned char sound, unsigned char channel);
// play a DPCM sample, 1..63
void __fastcall__ sample_play(unsigned char sample);
// call from NMI once per frame
void __fastcall__ famitone_update(void);
// poll controller and return flags like PAD_LEFT etc, input is pad number (0 or 1)
@ -152,7 +154,7 @@ unsigned char __fastcall__ pad_trigger(unsigned char pad);
unsigned char __fastcall__ pad_state(unsigned char pad);
// set scroll, including rhe top bits
// set scroll, including the top bits
// it is always applied at beginning of a TV frame, not at the function call
void __fastcall__ scroll(unsigned int x, unsigned int y);

View File

@ -46,9 +46,6 @@ char actor_y[NUM_ACTORS];
char actor_dx[NUM_ACTORS];
char actor_dy[NUM_ACTORS];
// OAM buffer pointer, in case we want to manipulate directly
#define OAMBUF ((unsigned char*) 0x200)
// main program
void main() {
char i;

View File

@ -21,6 +21,7 @@ const JSNES_PRESETS = [
{id:'metasprites.c', name:'Metasprites'},
{id:'flicker.c', name:'Flickering Sprites'},
{id:'metacursor.c', name:'Controllers'},
{id:'metatrigger.c', name:'Trigger Mode + Vbright'},
{id:'neslib5.c', name:'RLE Unpack'},
{id:'music.c', name:'Music Player'},
{id:'siegegame.c', name:'Siege Game'},