pixel editor updates, vcs preset updates

This commit is contained in:
Steven Hugg 2019-03-25 20:39:53 -04:00
parent 36b8ed48a0
commit 2889ef33bd
15 changed files with 537 additions and 493 deletions

View File

@ -481,7 +481,7 @@ div.asset_grid span {
.asset_cell:hover {
border: 1px solid white;
}
.asset_editing {
.asset_cell.selected {
border: 1px dotted white !important;
box-shadow: 0px 0px 1em rgba(255,255,255,1);
}

View File

@ -97,13 +97,17 @@ TODO:
- better undo/diff for mistakes?
- ide bug/feature visualizer for sponsors
- optimization flags for sdcc (oldralloc)
- 'src is undefined' when committing old image editor
- editor: select palette for chr, select charmap for map (dependencies?)
- global undo/redo at checkpoints (when rom changes)
- asset editor still refreshes twice
- pulldown shows wrong file if preset not present
- landscape mode for arcade ports
- pixel editor
- edit sprites and tiles at same time (multiple views)
- persist palette selections
- more tools for editing
- map editor
- metasprites
- update nested data, palette/tile refs properly
- throw errors when bad/no refs
WEB WORKER FORMAT

View File

@ -1,342 +1,342 @@
;;{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]}*/
;;{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]};;
.segment "CHARS"
.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 $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 $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 $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 $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 $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 $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 $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 $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 $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 $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,$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,$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 $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 $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 $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,$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 $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 $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 $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,$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 $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 $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 $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,$F0,$F0,$F0,$F0
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0
.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 $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 $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,$0F,$0F,$0F,$0F
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $f0,$f0,$f0,$f0,$0f,$0f,$0f,$0f
.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 $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 $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,$FF,$FF,$FF,$FF
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $f0,$f0,$f0,$f0,$ff,$ff,$ff,$ff
.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 $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 $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 $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 $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 $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,$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,$03,$0C,$30,$C0
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $03,$0c,$30,$c0,$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 $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,$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
@ -352,165 +352,167 @@
.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 $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 $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 $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
;/* use block comment to map a subset of data to sprite bitmaps */
;/*{w:16,h:16,bpp:1,count:15,brev:1,np:2,pofs:8,remap:[5,0,1,2,4,6,7,8,9,10,11,12]}*/
.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 $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
.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

@ -4,7 +4,7 @@
;;{pal:"nes",layout:"nes"};;
_climbr_title_pal:
.byte $0F,$11,$25,$35,$0F,$01,$21,$30
.byte $0F,$06,$1C,$3C,$0F,$11,$28,$38
.byte $0F,$06,$1C,$3C,$0F,$11,$27,$38
;;
;;{w:32,h:30,bpp:8,comp:"rletag",map:"nesnt"};;
_climbr_title_rle:

View File

@ -592,7 +592,8 @@ DivideLoop
; Height of our sprite in lines
SpriteHeight equ 17
; Bitmap data "standing" position
;; Bitmap data "standing" position
;;{w:8,h:16,brev:1,flip:1};;
Frame0
.byte #0
.byte #%01101100;$F6
@ -611,8 +612,8 @@ Frame0
.byte #%01111100;$18
.byte #%11111110;$F2
.byte #%00111000;$F4
; Bitmap data "throwing" position
;; Bitmap data "throwing" position
;;{w:8,h:16,brev:1,flip:1};;
Frame1
.byte #0
.byte #%01101100;$F6
@ -631,8 +632,8 @@ Frame1
.byte #%01111100;$18
.byte #%11111110;$F2
.byte #%00111000;$F4
; Color data for each line of sprite
;; Color data for each line of sprite
;;{pal:"vcs"};;
ColorFrame0
.byte #$FF ; ball color if not sharing line with player sprite
.byte #$F6;
@ -651,8 +652,7 @@ ColorFrame0
.byte #$18;
.byte #$F2;
.byte #$F4;
; Bitmap pattern for digits
;; Bitmap pattern for digits
DigitsBitmap ;;{w:8,h:5,count:10,brev:1};;
.byte $EE,$AA,$AA,$AA,$EE
.byte $22,$22,$22,$22,$22

View File

@ -387,6 +387,7 @@ DivideLoop
SpriteHeight equ 17
; Bitmap data "standing" position
;;{w:8,h:16,brev:1,flip:1};;
Frame0
.byte #0
.byte #%01101100;$F6
@ -405,8 +406,8 @@ Frame0
.byte #%01111100;$18
.byte #%11111110;$F2
.byte #%00111000;$F4
; Bitmap data "throwing" position
;; Bitmap data "throwing" position
;;{w:8,h:16,brev:1,flip:1};;
Frame1
.byte #0
.byte #%01101100;$F6
@ -425,8 +426,8 @@ Frame1
.byte #%01111100;$18
.byte #%11111110;$F2
.byte #%00111000;$F4
; Color data for each line of sprite
;; Color data for each line of sprite
;;{pal:"vcs"};;
ColorFrame0
.byte #$FF ; ball color if not sharing line with player sprite
.byte #$F6;
@ -445,8 +446,8 @@ ColorFrame0
.byte #$18;
.byte #$F2;
.byte #$F4;
; Playfield top border bitmap
;; Playfield top border bitmap
;;{w:8,h:8,count:3,xtra:"vcspf"};;
TopBorder0
.byte #%11111111
.byte #%11111111
@ -474,7 +475,7 @@ TopBorder2
.byte #%00000000
.byte #%00000000
.byte #%00000000
;;
; Epilogue
org $fffc
.word Start

View File

@ -235,10 +235,11 @@ PlayfieldData
.byte 4,#%00000000,#%11000000,#%00001100
.byte 0
; Bitmap data "standing" position
;; Bitmap data "standing" position
Frame0
.byte #0
.byte #0
;;{w:8,h:16,brev:1,flip:1};;
.byte #%01101100;$F6
.byte #%00101000;$86
.byte #%00101000;$86
@ -255,8 +256,8 @@ Frame0
.byte #%01111100;$18
.byte #%11111110;$F2
.byte #%00111000;$F4
; Color data for each line of sprite
;; Color data for each line of sprite
;;{pal:"vcs"};;
ColorFrame0
.byte #$FF;
.byte #$86;
@ -267,7 +268,7 @@ ColorFrame0
.byte #$16;
.byte #$18;
.byte #$F4;
;;
; Epilogue
org $fffc
.word Start

View File

@ -251,9 +251,10 @@ SkipMoveRight
stx XPos0
rts
; Bitmap data "standing" position
;; Bitmap data "standing" position
;;{w:8,h:17,brev:1,flip:1};;
Frame0
.byte #0
.byte #%0
.byte #%01101100;$F6
.byte #%00101000;$86
.byte #%00101000;$86
@ -270,8 +271,8 @@ Frame0
.byte #%01111100;$18
.byte #%11111110;$F2
.byte #%00111000;$F4
; Color data for each line of sprite
;; Color data for each line of sprite
;;{pal:"vcs"};;
ColorFrame0
.byte #$FF;
.byte #$F6;
@ -290,7 +291,7 @@ ColorFrame0
.byte #$18;
.byte #$F2;
.byte #$F4;
;;
; Epilogue
org $fffc
.word Start

View File

@ -463,7 +463,8 @@ WaitForScanline subroutine
bcs WaitForScanline ; repeat until >=
rts
; Bitmap data "standing" position
;; Bitmap data "standing" position
;;{w:8,h:16,brev:1,flip:1};;
Frame0
.byte #0
.byte #%01101100;$F6
@ -482,8 +483,8 @@ Frame0
.byte #%01111100;$18
.byte #%11111110;$F2
.byte #%00111000;$F4
; Bitmap data "throwing" position
;; Bitmap data "throwing" position
;;{w:8,h:16,brev:1,flip:1};;
Frame1
.byte #0
.byte #%01101100;$F6
@ -502,8 +503,8 @@ Frame1
.byte #%01111100;$18
.byte #%11111110;$F2
.byte #%00111000;$F4
; Color data for each line of sprite
;; Color data for each line of sprite
;;{pal:"vcs"};;
ColorFrame0
.byte #17 ; height
.byte #$F6;
@ -522,8 +523,8 @@ ColorFrame0
.byte #$18;
.byte #$F2;
.byte #$F4;
; Enemy cat-head graphics data
;; Enemy cat-head graphics data
;;{w:8,h:8,brev:1,flip:1};;
EnemyFrame0
.byte #0
.byte #%00111100;$AE
@ -534,8 +535,8 @@ EnemyFrame0
.byte #%01111110;$8E
.byte #%11000011;$98
.byte #%10000001;$98
; Enemy cat-head color data
;; Enemy cat-head color data
;;{pal:"vcs"};;
EnemyColorFrame0
.byte #9 ; height
.byte #$AE;
@ -546,7 +547,7 @@ EnemyColorFrame0
.byte #$8E;
.byte #$98;
.byte #$94;
;;
; Mapping of sprite objects (0-7) to sprite data
SpriteDataMap
.word Frame0,ColorFrame0

View File

@ -460,7 +460,8 @@ PFRoomMid2
.byte #%00110000,#%00000000,#%00000000
.byte #%00110000,#%00000000,#%00000000
; Bitmap data "standing" position
;; Bitmap data "standing" position
;;{w:8,h:16,brev:1,flip:1};;
Frame0
.byte #0
.byte #%01101100;$F6
@ -479,8 +480,8 @@ Frame0
.byte #%01111100;$18
.byte #%11111110;$F2
.byte #%00111000;$F4
; Color data for each line of sprite
;; Color data for each line of sprite
;;{pal:"vcs"};;
ColorFrame0
.byte #$FF;
.byte #$F6;
@ -499,8 +500,8 @@ ColorFrame0
.byte #$18;
.byte #$F2;
.byte #$F4;
; Color data for each line of sprite
;; Color data for each line of sprite
;;{pal:"vcs"};;
ColorFrame1
.byte #$5F;
.byte #$56;
@ -519,7 +520,7 @@ ColorFrame1
.byte #$c8;
.byte #$02;
.byte #$02;
;;
; Epilogue
org $fffc
.word Start

View File

@ -353,7 +353,8 @@ DivideLoop
; add an extra cycle and mess up our timing!
org $ff00
; Enemy cat-head graphics data
;; Enemy cat-head graphics data
;;{w:8,h:8,brev:1,flip:1};;
EnemyFrame0
.byte #0
.byte #%00111100;$AE
@ -364,6 +365,7 @@ EnemyFrame0
.byte #%01111110;$8E
.byte #%11000011;$98
.byte #%10000001;$98
;;{pal:"vcs"};;
EnemyColorFrame0
.byte #8 ; height
.byte #$AE;
@ -374,8 +376,8 @@ EnemyColorFrame0
.byte #$8E;
.byte #$98;
.byte #$94;
; Player graphics data, such bitmap
;; Player graphics data, such bitmap
;;{w:8,h:10,brev:1,flip:1};;
Frame0
.byte #0
.byte #%11111111;$0E
@ -388,6 +390,7 @@ Frame0
.byte #%01111110;$FA
.byte #%00111110;$FA
.byte #%01000001;$FA
;;{pal:"vcs"};;
ColorFrame0
.byte #10 ; height
.byte #$0E;
@ -400,7 +403,7 @@ ColorFrame0
.byte #$FA;
.byte #$FA;
.byte #$FA;
;;
PowersOf2
.byte #$1,#$2,#$4,#$8,#$10,#$20,#$40,#$80

View File

@ -165,13 +165,14 @@ BigLoop
; Font table for digits 0-9 (8x8 pixels)
align $100 ; make sure data doesn't cross page boundary
;;{w:8,h:8,count:10,brev:1,flip:1};;
FontTable
hex 003c6666766e663c007e181818381818
hex 007e60300c06663c003c66061c06663c
hex 0006067f661e0e06003c6606067c607e
hex 003c66667c60663c00181818180c667e
hex 003c66663c66663c003c66063e66663c
;;
; Epilogue
org $fffc
.word Start

View File

@ -152,7 +152,7 @@ DigitsBitmap ;;{w:8,h:5,count:10,brev:1};;
.byte $EE,$AA,$EE,$AA,$EE
.byte $EE,$AA,$EE,$22,$EE
;;end
; Epilogue
org $fffc
.word Start

View File

@ -36,6 +36,7 @@ export type PixelEditorImageFormat = {
pofs?:number
remap?:number[]
brev?:boolean
flip?:boolean
destfmt?:PixelEditorImageFormat
xform?:string
skip?:number
@ -58,7 +59,7 @@ type PixelEditorMessage = {
/////////////////
var pixel_re = /([0#]?)([x$%]|\d'[bh])([0-9a-f]+)/gi;
var pixel_re = /([0#]?)([x$%]|\d'[bh])([0-9a-f]+)(?:;.*$)?/gim;
function convertToHexStatements(s:string) : string {
// convert 'hex ....' asm format
@ -149,7 +150,8 @@ function convertWordsToImages(words:UintArray, fmt:PixelEditorImageFormat) : Uin
for (var n=0; n<count; n++) {
var imgdata = [];
for (var y=0; y<height; y++) {
var ofs0 = n*wordsperline*height + y*wordsperline;
var yp = fmt.flip ? height-1-y : y;
var ofs0 = n*wordsperline*height + yp*wordsperline;
var shift = 0;
for (var x=0; x<width; x++) {
var color = 0;
@ -192,7 +194,8 @@ function convertImagesToWords(images:Uint8Array[], fmt:PixelEditorImageFormat) :
var imgdata = images[n];
var i = 0;
for (var y=0; y<height; y++) {
var ofs0 = n*wordsperline*height + y*wordsperline;
var yp = fmt.flip ? height-1-y : y;
var ofs0 = n*wordsperline*height + yp*wordsperline;
var shift = 0;
for (var x=0; x<width; x++) {
var color = imgdata[i++];
@ -278,6 +281,24 @@ var PREDEF_PALETTES = {
(0x000000), (0xff00ff), (0x00007f), (0x7f007f), (0x007f00), (0x7f7f7f), (0x0000bf), (0x0000ff),
(0xbf7f00), (0xffbf00), (0xbfbfbf), (0xff7f7f), (0x00ff00), (0xffff00), (0x00bf7f), (0xffffff),
],
'vcs':[
0x000000,0x000000, 0x404040,0x404040, 0x6c6c6c,0x6c6c6c, 0x909090,0x909090, 0xb0b0b0,0xb0b0b0, 0xc8c8c8,0xc8c8c8, 0xdcdcdc,0xdcdcdc, 0xf4f4f4,0xf4f4f4,
0x004444,0x004444, 0x106464,0x106464, 0x248484,0x248484, 0x34a0a0,0x34a0a0, 0x40b8b8,0x40b8b8, 0x50d0d0,0x50d0d0, 0x5ce8e8,0x5ce8e8, 0x68fcfc,0x68fcfc,
0x002870,0x002870, 0x144484,0x144484, 0x285c98,0x285c98, 0x3c78ac,0x3c78ac, 0x4c8cbc,0x4c8cbc, 0x5ca0cc,0x5ca0cc, 0x68b4dc,0x68b4dc, 0x78c8ec,0x78c8ec,
0x001884,0x001884, 0x183498,0x183498, 0x3050ac,0x3050ac, 0x4868c0,0x4868c0, 0x5c80d0,0x5c80d0, 0x7094e0,0x7094e0, 0x80a8ec,0x80a8ec, 0x94bcfc,0x94bcfc,
0x000088,0x000088, 0x20209c,0x20209c, 0x3c3cb0,0x3c3cb0, 0x5858c0,0x5858c0, 0x7070d0,0x7070d0, 0x8888e0,0x8888e0, 0xa0a0ec,0xa0a0ec, 0xb4b4fc,0xb4b4fc,
0x5c0078,0x5c0078, 0x74208c,0x74208c, 0x883ca0,0x883ca0, 0x9c58b0,0x9c58b0, 0xb070c0,0xb070c0, 0xc084d0,0xc084d0, 0xd09cdc,0xd09cdc, 0xe0b0ec,0xe0b0ec,
0x780048,0x780048, 0x902060,0x902060, 0xa43c78,0xa43c78, 0xb8588c,0xb8588c, 0xcc70a0,0xcc70a0, 0xdc84b4,0xdc84b4, 0xec9cc4,0xec9cc4, 0xfcb0d4,0xfcb0d4,
0x840014,0x840014, 0x982030,0x982030, 0xac3c4c,0xac3c4c, 0xc05868,0xc05868, 0xd0707c,0xd0707c, 0xe08894,0xe08894, 0xeca0a8,0xeca0a8, 0xfcb4bc,0xfcb4bc,
0x880000,0x880000, 0x9c201c,0x9c201c, 0xb04038,0xb04038, 0xc05c50,0xc05c50, 0xd07468,0xd07468, 0xe08c7c,0xe08c7c, 0xeca490,0xeca490, 0xfcb8a4,0xfcb8a4,
0x7c1800,0x7c1800, 0x90381c,0x90381c, 0xa85438,0xa85438, 0xbc7050,0xbc7050, 0xcc8868,0xcc8868, 0xdc9c7c,0xdc9c7c, 0xecb490,0xecb490, 0xfcc8a4,0xfcc8a4,
0x5c2c00,0x5c2c00, 0x784c1c,0x784c1c, 0x906838,0x906838, 0xac8450,0xac8450, 0xc09c68,0xc09c68, 0xd4b47c,0xd4b47c, 0xe8cc90,0xe8cc90, 0xfce0a4,0xfce0a4,
0x2c3c00,0x2c3c00, 0x485c1c,0x485c1c, 0x647c38,0x647c38, 0x809c50,0x809c50, 0x94b468,0x94b468, 0xacd07c,0xacd07c, 0xc0e490,0xc0e490, 0xd4fca4,0xd4fca4,
0x003c00,0x003c00, 0x205c20,0x205c20, 0x407c40,0x407c40, 0x5c9c5c,0x5c9c5c, 0x74b474,0x74b474, 0x8cd08c,0x8cd08c, 0xa4e4a4,0xa4e4a4, 0xb8fcb8,0xb8fcb8,
0x003814,0x003814, 0x1c5c34,0x1c5c34, 0x387c50,0x387c50, 0x50986c,0x50986c, 0x68b484,0x68b484, 0x7ccc9c,0x7ccc9c, 0x90e4b4,0x90e4b4, 0xa4fcc8,0xa4fcc8,
0x00302c,0x00302c, 0x1c504c,0x1c504c, 0x347068,0x347068, 0x4c8c84,0x4c8c84, 0x64a89c,0x64a89c, 0x78c0b4,0x78c0b4, 0x88d4cc,0x88d4cc, 0x9cece0,0x9cece0,
0x002844,0x002844, 0x184864,0x184864, 0x306884,0x306884, 0x4484a0,0x4484a0, 0x589cb8,0x589cb8, 0x6cb4d0,0x6cb4d0, 0x7ccce8,0x7ccce8, 0x8ce0fc,0x8ce0fc
]
};
var PREDEF_LAYOUTS : {[id:string]:PixelEditorPaletteLayout} = {
@ -375,6 +396,8 @@ export class TextDataNode extends CodeProjectDataNode {
this.end = end;
}
updateLeft() {
if (this.right.words.length != this.words.length)
throw "Expected " + this.words.length + " bytes; image has " + this.right.words.length;
this.words = this.right.words;
// TODO: reload editors?
var datastr = this.text.substring(this.start, this.end);
@ -469,6 +492,7 @@ export class Palettizer extends PixNode {
updateRight() {
this.updateRefs();
this.images = this.left.images;
if (!this.palette || !this.images) return;
var mask = this.palette.length - 1; // must be power of 2
// for each image, map bytes to RGB colors
this.rgbimgs = this.images.map( (im:Uint8Array) => {
@ -608,6 +632,7 @@ export class NESNametableConverter extends Compositor {
updateRight() {
this.words = this.left.words;
this.updateRefs();
if (!this.words || !this.tilemap) return;
this.cols = 32;
this.rows = 30;
this.width = this.cols * 8;
@ -657,6 +682,7 @@ export class ImageChooser {
var cscale = Math.max(2, Math.ceil(16/this.width)); // TODO
var imgsperline = this.width <= 8 ? 16 : 8; // TODO
var span = null;
if (!this.rgbimgs) return;
this.rgbimgs.forEach((imdata, i) => {
var viewer = new Viewer();
viewer.width = this.width;

View File

@ -966,23 +966,25 @@ export class AssetEditorView implements ProjectView, pixed.EditorContext {
}
setCurrentEditor(div : JQuery, editing : JQuery) {
const timeout = 250;
if (this.cureditordiv != div) {
if (this.cureditordiv) {
this.cureditordiv.hide(250);
this.cureditordiv.hide(timeout);
this.cureditordiv = null;
}
if (div) {
this.cureditordiv = div;
this.cureditordiv.show(250);
this.cureditordiv.show(timeout);
this.cureditordiv[0].scrollIntoView({behavior: "smooth", block: "center"});
}
}
if (this.cureditelem) {
this.cureditelem.removeClass('asset_editing');
this.cureditelem.removeClass('selected');
this.cureditelem = null;
}
if (editing) {
this.cureditelem = editing;
this.cureditelem.addClass('asset_editing');
this.cureditelem.addClass('selected');
}
}
@ -1004,7 +1006,7 @@ export class AssetEditorView implements ProjectView, pixed.EditorContext {
} else {
end = data.indexOf(';', start); // C
}
//console.log(id, start, end, m[1]);
//console.log(id, start, end, m[1], data.substring(start,end));
if (end > start) {
try {
var jsontxt = m[1].replace(/([A-Za-z]+):/g, '"$1":'); // fix lenient JSON
@ -1047,8 +1049,8 @@ export class AssetEditorView implements ProjectView, pixed.EditorContext {
aeditor.appendTo(adual);
// make default layout if not exists
if (!layout) {
var imgsperline = palette.length > 32 ? 8 : 4; // TODO: use 'n'?
var len = allcolors.length;
var len = palette.length;
var imgsperline = len > 32 ? 8 : 4; // TODO: use 'n'?
layout = [];
for (var i=0; i<len; i+=imgsperline) {
layout.push(["", i, Math.min(len-i,imgsperline)]);
@ -1189,6 +1191,7 @@ export class AssetEditorView implements ProjectView, pixed.EditorContext {
filediv.text(e+""); // TODO: error msg?
}
});
console.log("Found " + this.rootnodes.length + " assets");
this.deferrednodes.forEach((node) => { node.refreshRight(); });
this.deferrednodes = [];
}