atari7800: added presets

This commit is contained in:
Steven Hugg 2019-10-20 11:53:10 -05:00
parent 05f4d43d1e
commit 702e19c25d
3 changed files with 696 additions and 0 deletions

View File

@ -0,0 +1,518 @@
;;{w:8,h:16,bpp:2,count:128,brev:1,flip:1,remap:[0,8,9,10,11,1,2,3,4,5,6,7]};;
.segment "CHR1"
.byte $aa,$aa,$55,$55,$cc,$cc,$99,$99
.byte $a0,$a0,$50,$50,$f5,$f5,$fa,$fa
.byte $00,$00,$00,$00,$0a,$a8,$00,$00
.byte $00,$00,$00,$00,$0a,$80,$0a,$00
.byte $2a,$a8,$0a,$a8,$2a,$00,$0a,$a8
.byte $0a,$a8,$2a,$2a,$2a,$2a,$0a,$a8
.byte $2a,$a0,$0a,$a0,$2a,$00,$2a,$a0
.byte $0a,$a0,$2a,$a8,$2a,$a8,$0a,$a0
.byte $00,$00,$00,$00,$ff,$00,$ff,$00
.byte $00,$ff,$00,$ff,$ff,$ff,$ff,$ff
.byte $c0,$00,$00,$03,$00,$00,$00,$0f
.byte $03,$00,$00,$03,$c0,$03,$0f,$f0
.byte $55,$aa,$66,$9a,$ff,$ff,$ff,$ff
.byte $00,$03,$80,$00,$00,$00,$00,$00
.byte $00,$55,$00,$00,$00,$05,$50,$00
.byte $00,$00,$00,$00,$00,$55,$00,$00
.byte $55,$55,$aa,$aa,$99,$99,$cc,$cc
.byte $50,$50,$a0,$a0,$fa,$fa,$f5,$f5
.byte $00,$00,$00,$00,$00,$00,$0a,$a8
.byte $00,$00,$00,$00,$0a,$00,$0a,$80
.byte $0a,$a8,$2a,$a8,$0a,$a8,$2a,$00
.byte $2a,$2a,$0a,$a8,$0a,$a8,$2a,$2a
.byte $0a,$a0,$2a,$a0,$2a,$a0,$2a,$00
.byte $2a,$a8,$0a,$a0,$0a,$a0,$2a,$a8
.byte $00,$00,$00,$00,$ff,$00,$ff,$00
.byte $00,$ff,$00,$ff,$ff,$ff,$ff,$ff
.byte $00,$03,$c0,$00,$00,$0f,$00,$00
.byte $00,$03,$03,$00,$0f,$f0,$c0,$03
.byte $66,$9a,$55,$aa,$ff,$ff,$ff,$ff
.byte $80,$00,$00,$03,$00,$00,$00,$00
.byte $00,$00,$00,$55,$50,$00,$00,$05
.byte $00,$00,$00,$00,$00,$00,$00,$55
.byte $aa,$aa,$55,$55,$33,$33,$66,$66
.byte $0a,$0a,$05,$05,$5f,$5f,$af,$af
.byte $00,$00,$0a,$a0,$25,$98,$00,$00
.byte $00,$00,$02,$80,$05,$80,$06,$80
.byte $15,$5a,$25,$5a,$16,$00,$25,$5a
.byte $25,$5a,$16,$96,$16,$16,$25,$5a
.byte $15,$68,$25,$68,$16,$00,$15,$68
.byte $25,$68,$16,$58,$16,$58,$25,$68
.byte $00,$00,$00,$00,$ff,$00,$ff,$00
.byte $00,$ff,$00,$ff,$ff,$ff,$ff,$ff
.byte $c0,$00,$00,$03,$00,$00,$00,$f0
.byte $03,$00,$00,$03,$30,$0c,$30,$0c
.byte $7d,$96,$77,$7e,$e6,$59,$65,$97
.byte $38,$07,$60,$1c,$00,$00,$00,$00
.byte $00,$54,$54,$00,$10,$05,$40,$00
.byte $10,$00,$2a,$50,$00,$55,$00,$00
.byte $55,$55,$aa,$aa,$66,$66,$33,$33
.byte $05,$05,$0a,$0a,$af,$af,$5f,$5f
.byte $0a,$a0,$00,$00,$00,$00,$25,$98
.byte $02,$80,$00,$00,$06,$80,$05,$80
.byte $25,$5a,$15,$5a,$25,$5a,$16,$00
.byte $16,$96,$25,$5a,$25,$5a,$16,$16
.byte $25,$68,$15,$68,$15,$68,$16,$00
.byte $16,$58,$25,$68,$25,$68,$16,$58
.byte $00,$00,$00,$00,$ff,$00,$ff,$00
.byte $00,$ff,$00,$ff,$ff,$ff,$ff,$ff
.byte $00,$03,$c0,$00,$00,$f0,$00,$00
.byte $00,$03,$03,$00,$30,$0c,$30,$0c
.byte $77,$7e,$7d,$96,$65,$97,$e6,$59
.byte $60,$1c,$38,$07,$00,$00,$00,$00
.byte $54,$00,$00,$54,$40,$00,$10,$05
.byte $2a,$50,$10,$00,$00,$00,$00,$55
.byte $aa,$aa,$55,$55,$cc,$cc,$99,$99
.byte $a0,$a0,$50,$50,$f5,$f5,$fa,$fa
.byte $00,$00,$26,$68,$1a,$68,$00,$00
.byte $0a,$a8,$01,$80,$05,$80,$05,$80
.byte $16,$16,$16,$16,$16,$00,$16,$16
.byte $16,$16,$16,$58,$16,$96,$16,$16
.byte $16,$58,$16,$58,$16,$a0,$0a,$58
.byte $16,$58,$15,$60,$16,$58,$16,$58
.byte $00,$00,$00,$00,$ff,$00,$ff,$00
.byte $00,$ff,$00,$ff,$ff,$ff,$ff,$ff
.byte $c0,$00,$00,$03,$00,$00,$0f,$00
.byte $0c,$00,$00,$0c,$0c,$30,$c0,$03
.byte $7d,$96,$f5,$5d,$e6,$59,$65,$97
.byte $1d,$9f,$5a,$78,$00,$03,$c0,$00
.byte $00,$a8,$50,$00,$16,$8a,$80,$00
.byte $16,$a8,$aa,$50,$00,$96,$00,$00
.byte $55,$55,$aa,$aa,$99,$99,$cc,$cc
.byte $50,$50,$a0,$a0,$fa,$fa,$f5,$f5
.byte $26,$68,$00,$00,$00,$00,$1a,$68
.byte $01,$80,$0a,$a8,$05,$80,$05,$80
.byte $16,$16,$16,$16,$16,$16,$16,$00
.byte $16,$58,$16,$16,$16,$16,$16,$96
.byte $16,$58,$16,$58,$0a,$58,$16,$a0
.byte $15,$60,$16,$58,$16,$58,$16,$58
.byte $00,$00,$00,$00,$ff,$00,$ff,$00
.byte $00,$ff,$00,$ff,$ff,$ff,$ff,$ff
.byte $00,$03,$c0,$00,$0f,$00,$00,$00
.byte $00,$0c,$0c,$00,$c0,$03,$0c,$30
.byte $f5,$5d,$7d,$96,$65,$97,$e6,$59
.byte $5a,$78,$1d,$9f,$c0,$00,$00,$03
.byte $50,$00,$00,$a8,$80,$00,$16,$8a
.byte $aa,$50,$16,$a8,$00,$00,$00,$96
.byte $aa,$aa,$55,$55,$33,$33,$66,$66
.byte $0a,$0a,$05,$05,$5f,$5f,$af,$af
.byte $00,$00,$15,$58,$19,$58,$00,$00
.byte $05,$58,$29,$a8,$00,$00,$01,$a0
.byte $16,$96,$16,$00,$16,$a0,$16,$96
.byte $16,$16,$15,$60,$16,$56,$16,$16
.byte $16,$58,$16,$a8,$15,$60,$25,$58
.byte $00,$58,$15,$a0,$16,$58,$16,$58
.byte $00,$00,$00,$00,$ff,$00,$ff,$00
.byte $00,$ff,$00,$ff,$ff,$ff,$ff,$ff
.byte $c0,$00,$00,$03,$00,$00,$f0,$00
.byte $0c,$00,$00,$0c,$03,$c0,$c0,$03
.byte $55,$aa,$7d,$5e,$ea,$aa,$aa,$ab
.byte $0e,$aa,$aa,$90,$00,$0e,$b0,$00
.byte $00,$fa,$a0,$00,$06,$aa,$a0,$00
.byte $16,$aa,$aa,$50,$00,$aa,$95,$00
.byte $55,$55,$aa,$aa,$66,$66,$33,$33
.byte $05,$05,$0a,$0a,$af,$af,$5f,$5f
.byte $15,$58,$00,$00,$00,$00,$19,$58
.byte $29,$a8,$05,$58,$01,$a0,$00,$00
.byte $16,$00,$16,$96,$16,$96,$16,$a0
.byte $15,$60,$16,$16,$16,$16,$16,$56
.byte $16,$a8,$16,$58,$25,$58,$15,$60
.byte $15,$a0,$00,$58,$16,$58,$16,$58
.byte $00,$00,$00,$00,$ff,$00,$ff,$00
.byte $00,$ff,$00,$ff,$ff,$ff,$ff,$ff
.byte $00,$03,$c0,$00,$f0,$00,$00,$00
.byte $00,$0c,$0c,$00,$c0,$03,$03,$c0
.byte $7d,$5e,$55,$aa,$aa,$ab,$ea,$aa
.byte $aa,$90,$0e,$aa,$b0,$00,$00,$0e
.byte $a0,$00,$00,$fa,$a0,$00,$06,$aa
.byte $aa,$50,$16,$aa,$95,$00,$00,$aa
.byte $aa,$aa,$55,$55,$cc,$cc,$99,$99
.byte $a0,$a0,$50,$50,$f5,$f5,$fa,$fa
.byte $0a,$a0,$26,$68,$25,$a0,$28,$00
.byte $09,$68,$15,$58,$00,$00,$01,$60
.byte $15,$5a,$16,$00,$15,$60,$16,$56
.byte $00,$16,$15,$a0,$15,$56,$16,$16
.byte $16,$58,$16,$58,$16,$a8,$16,$58
.byte $00,$58,$15,$68,$16,$58,$16,$58
.byte $00,$ff,$ff,$ff,$00,$ff,$ff,$ff
.byte $00,$ff,$ff,$ff,$00,$ff,$ff,$ff
.byte $c0,$00,$00,$03,$00,$0f,$00,$00
.byte $30,$00,$00,$30,$03,$c0,$c0,$03
.byte $aa,$55,$fd,$56,$ff,$ff,$ff,$ff
.byte $06,$69,$a6,$a0,$00,$35,$ec,$00
.byte $01,$fa,$ac,$00,$0f,$95,$50,$00
.byte $16,$aa,$a0,$10,$00,$aa,$aa,$80
.byte $55,$55,$aa,$aa,$99,$99,$cc,$cc
.byte $50,$50,$a0,$a0,$fa,$fa,$f5,$f5
.byte $26,$68,$0a,$a0,$28,$00,$25,$a0
.byte $15,$58,$09,$68,$01,$60,$00,$00
.byte $16,$00,$15,$5a,$16,$56,$15,$60
.byte $15,$a0,$00,$16,$16,$16,$15,$56
.byte $16,$58,$16,$58,$16,$58,$16,$a8
.byte $15,$68,$00,$58,$16,$58,$16,$58
.byte $ff,$ff,$00,$ff,$ff,$ff,$00,$ff
.byte $ff,$ff,$00,$ff,$ff,$ff,$00,$ff
.byte $00,$03,$c0,$00,$00,$00,$00,$0f
.byte $00,$30,$30,$00,$c0,$03,$03,$c0
.byte $fd,$56,$aa,$55,$ff,$ff,$ff,$ff
.byte $a6,$a0,$06,$69,$ec,$00,$00,$35
.byte $ac,$00,$01,$fa,$50,$00,$0f,$95
.byte $a0,$10,$16,$aa,$aa,$80,$00,$aa
.byte $aa,$aa,$55,$55,$33,$33,$66,$66
.byte $0a,$0a,$05,$05,$5f,$5f,$af,$af
.byte $06,$60,$15,$58,$1a,$60,$1a,$00
.byte $05,$58,$01,$80,$00,$00,$00,$68
.byte $16,$16,$16,$2a,$16,$00,$16,$2a
.byte $00,$16,$15,$68,$15,$56,$16,$16
.byte $15,$60,$05,$60,$16,$58,$05,$58
.byte $00,$a8,$16,$58,$15,$60,$05,$60
.byte $00,$ff,$ff,$ff,$00,$ff,$ff,$ff
.byte $00,$ff,$ff,$ff,$00,$ff,$ff,$ff
.byte $c0,$00,$00,$03,$00,$f0,$00,$00
.byte $30,$00,$00,$30,$0c,$30,$c0,$03
.byte $96,$7d,$df,$55,$e6,$59,$66,$ab
.byte $0a,$db,$6d,$a0,$00,$d5,$7b,$00
.byte $01,$55,$5c,$00,$0f,$55,$57,$c0
.byte $3c,$55,$55,$00,$01,$55,$5a,$80
.byte $55,$55,$aa,$aa,$66,$66,$33,$33
.byte $05,$05,$0a,$0a,$af,$af,$5f,$5f
.byte $15,$58,$06,$60,$1a,$00,$1a,$60
.byte $01,$80,$05,$58,$00,$68,$00,$00
.byte $16,$2a,$16,$16,$16,$2a,$16,$00
.byte $15,$68,$00,$16,$16,$16,$15,$56
.byte $05,$60,$15,$60,$05,$58,$16,$58
.byte $16,$58,$00,$a8,$05,$60,$15,$60
.byte $ff,$ff,$00,$ff,$ff,$ff,$00,$ff
.byte $ff,$ff,$00,$ff,$ff,$ff,$00,$ff
.byte $00,$03,$c0,$00,$00,$00,$00,$f0
.byte $00,$30,$30,$00,$c0,$03,$0c,$30
.byte $df,$55,$96,$7d,$66,$ab,$e6,$59
.byte $6d,$a0,$0a,$db,$7b,$00,$00,$d5
.byte $5c,$00,$01,$55,$57,$c0,$0f,$55
.byte $55,$00,$3c,$55,$5a,$80,$01,$55
.byte $aa,$aa,$55,$55,$cc,$cc,$99,$99
.byte $a0,$a0,$50,$50,$f5,$f5,$fa,$fa
.byte $06,$60,$06,$60,$05,$80,$06,$00
.byte $00,$00,$01,$80,$00,$00,$00,$58
.byte $16,$96,$16,$96,$16,$aa,$16,$96
.byte $00,$16,$16,$5a,$15,$96,$16,$96
.byte $16,$00,$00,$00,$05,$60,$00,$00
.byte $00,$58,$16,$00,$00,$00,$00,$00
.byte $00,$ff,$ff,$ff,$00,$ff,$ff,$ff
.byte $00,$ff,$ff,$ff,$00,$ff,$ff,$ff
.byte $c0,$00,$00,$03,$0f,$00,$00,$00
.byte $c0,$00,$00,$c0,$30,$0c,$30,$0c
.byte $96,$7d,$d7,$d6,$e6,$59,$67,$fb
.byte $26,$aa,$aa,$98,$03,$55,$5e,$c0
.byte $01,$55,$50,$00,$01,$55,$57,$c0
.byte $35,$55,$55,$40,$05,$55,$55,$40
.byte $55,$55,$aa,$aa,$99,$99,$cc,$cc
.byte $50,$50,$a0,$a0,$fa,$fa,$f5,$f5
.byte $06,$60,$06,$60,$06,$00,$05,$80
.byte $01,$80,$00,$00,$00,$58,$00,$00
.byte $16,$96,$16,$96,$16,$96,$16,$aa
.byte $16,$5a,$00,$16,$16,$96,$15,$96
.byte $00,$00,$16,$00,$00,$00,$05,$60
.byte $16,$00,$00,$58,$00,$00,$00,$00
.byte $ff,$ff,$00,$ff,$ff,$ff,$00,$ff
.byte $ff,$ff,$00,$ff,$ff,$ff,$00,$ff
.byte $00,$03,$c0,$00,$00,$00,$0f,$00
.byte $00,$c0,$c0,$00,$30,$0c,$30,$0c
.byte $d7,$d6,$96,$7d,$67,$fb,$e6,$59
.byte $aa,$98,$26,$aa,$5e,$c0,$03,$55
.byte $50,$00,$01,$55,$57,$c0,$01,$55
.byte $55,$40,$35,$55,$55,$40,$05,$55
.byte $aa,$aa,$55,$55,$33,$33,$66,$66
.byte $0a,$0a,$05,$05,$5f,$5f,$af,$af
.byte $06,$60,$00,$00,$00,$00,$06,$00
.byte $00,$00,$00,$00,$00,$00,$00,$18
.byte $15,$58,$05,$58,$15,$56,$05,$58
.byte $00,$16,$16,$16,$16,$16,$05,$58
.byte $16,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$16,$00,$00,$00,$00,$00
.byte $00,$ff,$ff,$ff,$00,$ff,$ff,$ff
.byte $00,$ff,$ff,$ff,$00,$ff,$ff,$ff
.byte $c0,$00,$00,$03,$f0,$00,$00,$00
.byte $c0,$00,$00,$c0,$c0,$03,$0f,$f0
.byte $aa,$55,$ff,$dd,$e6,$59,$67,$bb
.byte $96,$6a,$a6,$96,$0d,$55,$57,$b0
.byte $00,$55,$50,$00,$02,$bf,$f0,$00
.byte $05,$55,$51,$f0,$15,$55,$55,$40
.byte $55,$55,$aa,$aa,$66,$66,$33,$33
.byte $05,$05,$0a,$0a,$af,$af,$5f,$5f
.byte $00,$00,$06,$60,$06,$00,$00,$00
.byte $00,$00,$00,$00,$00,$18,$00,$00
.byte $05,$58,$15,$58,$05,$58,$15,$56
.byte $16,$16,$00,$16,$05,$58,$16,$16
.byte $00,$00,$16,$00,$00,$00,$00,$00
.byte $16,$00,$00,$00,$00,$00,$00,$00
.byte $ff,$ff,$00,$ff,$ff,$ff,$00,$ff
.byte $ff,$ff,$00,$ff,$ff,$ff,$00,$ff
.byte $00,$03,$c0,$00,$00,$00,$f0,$00
.byte $00,$c0,$c0,$00,$0f,$f0,$c0,$03
.byte $ff,$dd,$aa,$55,$67,$bb,$e6,$59
.byte $a6,$96,$96,$6a,$57,$b0,$0d,$55
.byte $50,$00,$00,$55,$f0,$00,$02,$bf
.byte $51,$f0,$05,$55,$55,$40,$15,$55
.byte $00,$00,$ff,$ff,$88,$88,$44,$44
.byte $dd,$dd,$ee,$ee,$f0,$f0,$a5,$a5
.byte $00,$00,$0a,$80,$02,$80,$00,$00
.byte $00,$a8,$2a,$00,$2a,$00,$00,$00
.byte $0a,$a8,$2a,$2a,$2a,$a0,$2a,$aa
.byte $2a,$2a,$2a,$aa,$2a,$aa,$a8,$2a
.byte $00,$00,$0a,$a8,$0a,$a8,$0a,$a8
.byte $2a,$a8,$02,$a0,$02,$a0,$2a,$2a
.byte $00,$00,$00,$00,$ff,$00,$ff,$00
.byte $00,$ff,$00,$ff,$ff,$ff,$ff,$ff
.byte $00,$00,$ff,$ff,$f0,$00,$00,$00
.byte $c0,$00,$00,$c0,$c0,$00,$00,$03
.byte $aa,$59,$aa,$aa,$e6,$59,$65,$97
.byte $fe,$da,$ad,$bf,$35,$55,$55,$ec
.byte $02,$bf,$f0,$00,$00,$bf,$fc,$00
.byte $01,$7f,$f0,$f0,$16,$aa,$aa,$90
.byte $ff,$ff,$00,$00,$44,$44,$88,$88
.byte $ee,$ee,$dd,$dd,$a5,$a5,$f0,$f0
.byte $0a,$80,$00,$00,$00,$00,$02,$80
.byte $2a,$00,$00,$a8,$00,$00,$2a,$00
.byte $2a,$2a,$0a,$a8,$2a,$aa,$2a,$a0
.byte $2a,$aa,$2a,$2a,$a8,$2a,$2a,$aa
.byte $0a,$a8,$00,$00,$0a,$a8,$0a,$a8
.byte $02,$a0,$2a,$a8,$2a,$2a,$02,$a0
.byte $00,$00,$00,$00,$ff,$00,$ff,$00
.byte $00,$ff,$00,$ff,$ff,$ff,$ff,$ff
.byte $ff,$ff,$00,$00,$00,$00,$f0,$00
.byte $00,$c0,$c0,$00,$00,$03,$c0,$00
.byte $aa,$aa,$aa,$59,$65,$97,$e6,$59
.byte $ad,$bf,$fe,$da,$55,$ec,$35,$55
.byte $f0,$00,$02,$bf,$fc,$00,$00,$bf
.byte $f0,$f0,$01,$7f,$aa,$90,$16,$aa
.byte $00,$00,$ff,$ff,$22,$22,$11,$11
.byte $77,$77,$bb,$bb,$0f,$0f,$5a,$5a
.byte $00,$00,$05,$80,$29,$a8,$28,$a8
.byte $02,$58,$16,$80,$16,$80,$00,$00
.byte $25,$58,$16,$16,$15,$68,$15,$56
.byte $16,$16,$15,$56,$15,$56,$58,$16
.byte $00,$00,$25,$98,$25,$58,$25,$58
.byte $16,$58,$01,$60,$01,$60,$16,$16
.byte $00,$00,$00,$00,$ff,$00,$ff,$00
.byte $00,$ff,$00,$ff,$ff,$ff,$ff,$ff
.byte $00,$00,$00,$00,$0f,$00,$00,$00
.byte $c0,$00,$00,$c0,$30,$00,$00,$0c
.byte $5a,$d5,$99,$aa,$ea,$aa,$aa,$ab
.byte $1e,$aa,$aa,$b4,$35,$55,$55,$ec
.byte $00,$bf,$fc,$00,$0a,$ff,$ef,$00
.byte $00,$bf,$fc,$00,$0f,$aa,$aa,$50
.byte $ff,$ff,$00,$00,$11,$11,$22,$22
.byte $bb,$bb,$77,$77,$5a,$5a,$0f,$0f
.byte $05,$80,$00,$00,$28,$a8,$29,$a8
.byte $16,$80,$02,$58,$00,$00,$16,$80
.byte $16,$16,$25,$58,$15,$56,$15,$68
.byte $15,$56,$16,$16,$58,$16,$15,$56
.byte $25,$98,$00,$00,$25,$58,$25,$58
.byte $01,$60,$16,$58,$16,$16,$01,$60
.byte $00,$00,$00,$00,$ff,$00,$ff,$00
.byte $00,$ff,$00,$ff,$ff,$ff,$ff,$ff
.byte $00,$00,$00,$00,$00,$00,$0f,$00
.byte $00,$c0,$c0,$00,$00,$0c,$30,$00
.byte $99,$aa,$5a,$d5,$aa,$ab,$ea,$aa
.byte $aa,$b4,$1e,$aa,$55,$ec,$35,$55
.byte $fc,$00,$00,$bf,$ef,$00,$0a,$ff
.byte $fc,$00,$00,$bf,$aa,$50,$0f,$aa
.byte $00,$00,$ff,$ff,$88,$88,$44,$44
.byte $dd,$dd,$ee,$ee,$f0,$f0,$a5,$a5
.byte $00,$00,$0a,$80,$15,$58,$1a,$58
.byte $09,$60,$05,$a0,$05,$80,$00,$00
.byte $1a,$a8,$16,$16,$16,$5a,$16,$00
.byte $16,$16,$01,$60,$16,$00,$58,$16
.byte $00,$00,$1a,$58,$16,$58,$16,$a8
.byte $16,$58,$01,$60,$01,$60,$16,$96
.byte $00,$00,$00,$00,$ff,$00,$ff,$00
.byte $00,$ff,$00,$ff,$ff,$ff,$ff,$ff
.byte $00,$00,$00,$00,$00,$f0,$00,$00
.byte $30,$00,$00,$30,$0c,$00,$00,$30
.byte $56,$f7,$95,$5a,$ff,$ff,$ff,$ff
.byte $06,$69,$a6,$90,$37,$55,$5d,$6c
.byte $0a,$ff,$ef,$00,$02,$fb,$ec,$00
.byte $0a,$ff,$ef,$00,$0a,$aa,$aa,$a0
.byte $ff,$ff,$00,$00,$44,$44,$88,$88
.byte $ee,$ee,$dd,$dd,$a5,$a5,$f0,$f0
.byte $0a,$80,$00,$00,$1a,$58,$15,$58
.byte $05,$a0,$09,$60,$00,$00,$05,$80
.byte $16,$16,$1a,$a8,$16,$00,$16,$5a
.byte $01,$60,$16,$16,$58,$16,$16,$00
.byte $1a,$58,$00,$00,$16,$a8,$16,$58
.byte $01,$60,$16,$58,$16,$96,$01,$60
.byte $00,$00,$00,$00,$ff,$00,$ff,$00
.byte $00,$ff,$00,$ff,$ff,$ff,$ff,$ff
.byte $00,$00,$00,$00,$00,$00,$00,$f0
.byte $00,$30,$30,$00,$00,$30,$0c,$00
.byte $95,$5a,$56,$f7,$ff,$ff,$ff,$ff
.byte $a6,$90,$06,$69,$5d,$6c,$37,$55
.byte $ef,$00,$0a,$ff,$ec,$00,$02,$fb
.byte $ef,$00,$0a,$ff,$aa,$a0,$0a,$aa
.byte $00,$00,$ff,$ff,$22,$22,$11,$11
.byte $77,$77,$bb,$bb,$0f,$0f,$5a,$5a
.byte $00,$00,$05,$80,$09,$98,$06,$98
.byte $05,$80,$01,$60,$05,$80,$0a,$a8
.byte $19,$58,$16,$96,$16,$16,$16,$aa
.byte $16,$96,$01,$60,$16,$00,$5a,$96
.byte $00,$00,$05,$58,$16,$58,$15,$58
.byte $16,$58,$01,$60,$01,$60,$19,$96
.byte $00,$00,$00,$00,$ff,$00,$ff,$00
.byte $00,$ff,$00,$ff,$ff,$ff,$ff,$ff
.byte $00,$00,$00,$00,$00,$0f,$00,$00
.byte $30,$00,$00,$30,$03,$00,$00,$c0
.byte $aa,$aa,$95,$9a,$e6,$59,$65,$97
.byte $06,$db,$6d,$a0,$37,$d7,$df,$6c
.byte $02,$fb,$ec,$00,$02,$aa,$aa,$00
.byte $02,$fb,$ec,$00,$02,$aa,$aa,$90
.byte $ff,$ff,$00,$00,$11,$11,$22,$22
.byte $bb,$bb,$77,$77,$5a,$5a,$0f,$0f
.byte $05,$80,$00,$00,$06,$98,$09,$98
.byte $01,$60,$05,$80,$0a,$a8,$05,$80
.byte $16,$96,$19,$58,$16,$aa,$16,$16
.byte $01,$60,$16,$96,$5a,$96,$16,$00
.byte $05,$58,$00,$00,$15,$58,$16,$58
.byte $01,$60,$16,$58,$19,$96,$01,$60
.byte $00,$00,$00,$00,$ff,$00,$ff,$00
.byte $00,$ff,$00,$ff,$ff,$ff,$ff,$ff
.byte $00,$00,$00,$00,$00,$00,$00,$0f
.byte $00,$30,$30,$00,$00,$c0,$03,$00
.byte $95,$9a,$aa,$aa,$65,$97,$e6,$59
.byte $6d,$a0,$06,$db,$df,$6c,$37,$d7
.byte $ec,$00,$02,$fb,$aa,$00,$02,$aa
.byte $ec,$00,$02,$fb,$aa,$90,$02,$aa
.byte $00,$00,$ff,$ff,$88,$88,$44,$44
.byte $dd,$dd,$ee,$ee,$f0,$f0,$a5,$a5
.byte $00,$00,$05,$80,$05,$58,$29,$a0
.byte $05,$80,$01,$60,$00,$00,$05,$58
.byte $19,$98,$15,$56,$16,$16,$15,$56
.byte $15,$56,$01,$60,$16,$00,$59,$96
.byte $02,$80,$0a,$58,$16,$58,$16,$98
.byte $16,$58,$01,$60,$01,$60,$15,$56
.byte $00,$00,$ff,$00,$00,$00,$ff,$00
.byte $00,$00,$ff,$00,$00,$00,$ff,$00
.byte $00,$00,$00,$00,$00,$00,$f0,$00
.byte $0c,$00,$00,$0c,$00,$c0,$03,$00
.byte $59,$aa,$95,$56,$36,$59,$65,$9c
.byte $0e,$aa,$aa,$90,$0d,$5c,$35,$b0
.byte $02,$aa,$aa,$00,$00,$aa,$aa,$80
.byte $02,$aa,$aa,$00,$02,$aa,$aa,$90
.byte $ff,$ff,$00,$00,$44,$44,$88,$88
.byte $ee,$ee,$dd,$dd,$a5,$a5,$f0,$f0
.byte $05,$80,$00,$00,$29,$a0,$05,$58
.byte $01,$60,$05,$80,$05,$58,$00,$00
.byte $15,$56,$19,$98,$15,$56,$16,$16
.byte $01,$60,$15,$56,$59,$96,$16,$00
.byte $0a,$58,$02,$80,$16,$98,$16,$58
.byte $01,$60,$16,$58,$15,$56,$01,$60
.byte $ff,$00,$00,$00,$ff,$00,$00,$00
.byte $ff,$00,$00,$00,$ff,$00,$00,$00
.byte $00,$00,$00,$00,$f0,$00,$00,$00
.byte $00,$0c,$0c,$00,$03,$00,$00,$c0
.byte $95,$56,$59,$aa,$65,$9c,$36,$59
.byte $aa,$90,$0e,$aa,$35,$b0,$0d,$5c
.byte $aa,$00,$02,$aa,$aa,$80,$00,$aa
.byte $aa,$00,$02,$aa,$aa,$90,$02,$aa
.byte $00,$00,$ff,$ff,$22,$22,$11,$11
.byte $77,$77,$bb,$bb,$0f,$0f,$5a,$5a
.byte $00,$00,$05,$a0,$06,$6a,$1a,$68
.byte $05,$a0,$09,$60,$00,$00,$00,$00
.byte $19,$58,$16,$16,$16,$96,$16,$00
.byte $16,$16,$01,$60,$16,$00,$59,$96
.byte $09,$80,$05,$60,$05,$58,$05,$60
.byte $15,$60,$02,$a0,$01,$60,$16,$58
.byte $00,$00,$ff,$00,$00,$00,$ff,$00
.byte $00,$00,$ff,$00,$00,$00,$ff,$00
.byte $00,$00,$00,$00,$00,$00,$0f,$00
.byte $0c,$00,$00,$0c,$00,$30,$0c,$00
.byte $d5,$5a,$9d,$5a,$3a,$59,$65,$ac
.byte $2f,$5f,$59,$f8,$03,$f0,$0f,$c0
.byte $00,$aa,$aa,$80,$02,$2a,$a0,$80
.byte $00,$aa,$aa,$80,$00,$aa,$aa,$c0
.byte $ff,$ff,$00,$00,$11,$11,$22,$22
.byte $bb,$bb,$77,$77,$5a,$5a,$0f,$0f
.byte $05,$a0,$00,$00,$1a,$68,$06,$6a
.byte $09,$60,$05,$a0,$00,$00,$00,$00
.byte $16,$16,$19,$58,$16,$00,$16,$96
.byte $01,$60,$16,$16,$59,$96,$16,$00
.byte $05,$60,$09,$80,$05,$60,$05,$58
.byte $02,$a0,$15,$60,$16,$58,$01,$60
.byte $ff,$00,$00,$00,$ff,$00,$00,$00
.byte $ff,$00,$00,$00,$ff,$00,$00,$00
.byte $00,$00,$00,$00,$0f,$00,$00,$00
.byte $00,$0c,$0c,$00,$0c,$00,$00,$30
.byte $9d,$5a,$d5,$5a,$65,$ac,$3a,$59
.byte $59,$f8,$2f,$5f,$0f,$c0,$03,$f0
.byte $aa,$80,$00,$aa,$a0,$80,$02,$2a
.byte $aa,$80,$00,$aa,$aa,$c0,$00,$aa
.byte $00,$00,$ff,$ff,$88,$88,$44,$44
.byte $dd,$dd,$ee,$ee,$f0,$f0,$a5,$a5
.byte $00,$00,$05,$60,$05,$56,$16,$18
.byte $01,$68,$25,$80,$00,$00,$00,$00
.byte $1a,$98,$16,$96,$16,$58,$16,$aa
.byte $16,$16,$29,$6a,$16,$00,$55,$56
.byte $06,$00,$00,$00,$00,$58,$00,$00
.byte $16,$00,$01,$60,$09,$60,$00,$00
.byte $00,$00,$ff,$00,$00,$00,$ff,$00
.byte $00,$00,$ff,$00,$00,$00,$ff,$00
.byte $00,$00,$00,$00,$00,$00,$00,$f0
.byte $03,$00,$00,$03,$00,$0c,$30,$00
.byte $f7,$56,$95,$56,$0f,$aa,$aa,$f0
.byte $34,$07,$60,$1c,$00,$00,$00,$00
.byte $02,$2a,$a0,$80,$00,$00,$00,$00
.byte $02,$2a,$a0,$80,$02,$2a,$ab,$c0
.byte $ff,$ff,$00,$00,$44,$44,$88,$88
.byte $ee,$ee,$dd,$dd,$a5,$a5,$f0,$f0
.byte $05,$60,$00,$00,$16,$18,$05,$56
.byte $25,$80,$01,$68,$00,$00,$00,$00
.byte $16,$96,$1a,$98,$16,$aa,$16,$58
.byte $29,$6a,$16,$16,$55,$56,$16,$00
.byte $00,$00,$06,$00,$00,$00,$00,$58
.byte $01,$60,$16,$00,$00,$00,$09,$60
.byte $ff,$00,$00,$00,$ff,$00,$00,$00
.byte $ff,$00,$00,$00,$ff,$00,$00,$00
.byte $00,$00,$00,$00,$00,$f0,$00,$00
.byte $00,$03,$03,$00,$30,$00,$00,$0c
.byte $95,$56,$f7,$56,$aa,$f0,$0f,$aa
.byte $60,$1c,$34,$07,$00,$00,$00,$00
.byte $a0,$80,$02,$2a,$00,$00,$00,$00
.byte $a0,$80,$02,$2a,$ab,$c0,$02,$2a
.byte $00,$00,$ff,$ff,$22,$22,$11,$11
.byte $77,$77,$bb,$bb,$0f,$0f,$5a,$5a
.byte $00,$00,$05,$60,$00,$60,$00,$00
.byte $00,$58,$16,$00,$00,$00,$00,$00
.byte $05,$60,$05,$58,$15,$60,$15,$56
.byte $16,$16,$15,$56,$16,$00,$56,$58
.byte $06,$00,$00,$00,$00,$58,$00,$00
.byte $16,$00,$00,$00,$05,$60,$00,$00
.byte $00,$00,$ff,$00,$00,$00,$ff,$00
.byte $00,$00,$ff,$00,$00,$00,$ff,$00
.byte $ff,$ff,$00,$00,$00,$00,$00,$0f
.byte $03,$00,$00,$03,$00,$03,$c0,$00
.byte $aa,$aa,$aa,$aa,$00,$ff,$ff,$00
.byte $00,$03,$80,$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,$00,$00,$11,$11,$22,$22
.byte $bb,$bb,$77,$77,$5a,$5a,$0f,$0f
.byte $05,$60,$00,$00,$00,$00,$00,$60
.byte $16,$00,$00,$58,$00,$00,$00,$00
.byte $05,$58,$05,$60,$15,$56,$15,$60
.byte $15,$56,$16,$16,$56,$58,$16,$00
.byte $00,$00,$06,$00,$00,$00,$00,$58
.byte $00,$00,$16,$00,$00,$00,$05,$60
.byte $ff,$00,$00,$00,$ff,$00,$00,$00
.byte $ff,$00,$00,$00,$ff,$00,$00,$00
.byte $00,$00,$ff,$ff,$00,$0f,$00,$00
.byte $00,$03,$03,$00,$c0,$00,$00,$03
.byte $aa,$aa,$aa,$aa,$ff,$00,$00,$ff
.byte $80,$00,$00,$03,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
;; 4096 bytes, 4 colors

177
presets/atari7800/scroll.c Normal file
View File

@ -0,0 +1,177 @@
#include "atari7800.h"
#include <string.h>
//#link "chr_font.s"
//#link "generic8x16.s"
#define DLL_FLAGS DLL_H16
#define SLOTHEIGHT 16
#define SLOTSIZE 32
#define DOUBLEBUFFER
#define DLSAVE
#ifdef DOUBLEBUFFER
#define NUMSLOTS 32
byte slot0 = 0;
#else
#define NUMSLOTS 16
const byte slot0 = 0;
#endif
DLLEntry DLL[NUMSLOTS];
byte DL[NUMSLOTS][SLOTSIZE];
byte DL_len[NUMSLOTS];
#ifdef DLSAVE
byte DL_save[NUMSLOTS];
#endif
void dll_set_addr(const void* dpp) {
MARIA.DPPH = (word)dpp>>8;
MARIA.DPPL = (byte)dpp;
}
void dll_clear() {
byte i;
for (i=slot0; i<slot0+16; i++) {
DL_len[i] = 0;
DL[i][1] = 0;
}
}
#ifdef DLSAVE
void dll_save() {
memcpy(DL_save, DL_len, sizeof(DL_save));
}
void dll_restore() {
byte i;
memcpy(DL_len, DL_save, sizeof(DL_save));
for (i=0; i<NUMSLOTS; i++) {
DL[i][DL_len[i]+1] = 0;
}
}
#endif
#ifdef DOUBLEBUFFER
void dll_swap() {
slot0 ^= 16;
if (!slot0) {
dll_set_addr(DLL+16);
} else {
dll_set_addr(DLL);
}
}
void dll_set_scroll(byte y) {
static byte oldslot = 0;
byte slot = y / SLOTHEIGHT;
byte offset = 15 - (y & 15);
DLL[oldslot].offset_flags = DLL_FLAGS | (SLOTHEIGHT-1);
DLL[slot].offset_flags = DLL_FLAGS | offset;
dll_set_addr(DLL + slot);
oldslot = slot;
}
#endif
void* dll_alloc(byte slot, byte len) {
byte dlofs;
slot &= NUMSLOTS-1;
dlofs = DL_len[slot];
DL_len[slot] += len;
DL[slot][dlofs+len+1] = 0;
return &DL[slot][dlofs];
}
void dll_add_sprite(word addr, byte x, byte y, byte wpal) {
byte slot = (y / SLOTHEIGHT) | slot0;
register DL4Entry* dl = (DL4Entry*) dll_alloc(slot, 4);
dl->data_lo = (byte)addr;
dl->data_hi = (byte)(addr>>8) + (y & 15);
dl->xpos = x;
dl->width_pal = wpal;
if (y & 15) {
DL4Entry* dl2 = (DL4Entry*) dll_alloc(slot+1, 4);
*dl2 = *dl;
dl2->data_hi -= SLOTHEIGHT;
}
}
void dll_add_string(const char* str, byte x, byte y, byte wpal) {
byte slot = (y / SLOTHEIGHT) | slot0;
register DL5Entry* dl = (DL5Entry*) dll_alloc(slot, 5);
dl->data_lo = (byte)str;
dl->data_hi = (word)str>>8;
dl->flags = DL5_INDIRECT;
dl->width_pal = wpal;
dl->xpos = x;
}
void dll_setup() {
byte i;
byte* dlptr = &DL[0][0];
register DLLEntry *dll = &DLL[0];
for (i=0; i<NUMSLOTS; i++) {
dll->offset_flags = DLL_FLAGS | (SLOTHEIGHT-1);
dll->dl_hi = (word)dlptr>>8;
dll->dl_lo = (byte)dlptr;
dlptr += sizeof(DL[0]);
dll++;
}
dll_clear();
#ifdef DOUBLEBUFFER
dll_swap();
dll_clear();
dll_swap();
#endif
#ifdef DLSAVE
memset(DL_save, 0, sizeof(DL_save));
#endif
}
char* hello = "\2\4\6\0\220\222\102";
void main() {
byte i;
byte y = 0;
dll_setup();
// activate DMA
MARIA.CHARBASE = 0x80;
MARIA.P0C1 = 0x8f;
MARIA.P0C2 = 0x4f;
MARIA.P0C3 = 0x1f;
MARIA.P1C1 = 0x34;
MARIA.P1C2 = 0x28;
MARIA.P1C3 = 0x1f;
MARIA.BACKGRND = 0;
dll_set_addr(DLL);
MARIA.CTRL = CTRL_DMA_ON | CTRL_DBLBYTE | CTRL_160AB;
dll_clear();
dll_add_string(hello, y+32, 32, DL_WP(8,0));
for (i=0; i<8; i++) {
slot0 = 0;
dll_add_sprite(0xa068, i*4, i*33, DL_WP(4,1));
dll_add_sprite(0xa06c, i*8, i*25, DL_WP(4,1));
slot0 = 16;
dll_add_sprite(0xa068, i*4, i*32, DL_WP(4,1));
dll_add_sprite(0xa06c, 128-i*8, i*24, DL_WP(4,1));
}
dll_save();
while (1) {
while ((MARIA.MSTAT & MSTAT_VBLANK) == 0) ;
dll_set_scroll(y);
dll_restore();
dll_add_sprite(0xa06c, y, y, DL_WP(4,1));
while ((MARIA.MSTAT & MSTAT_VBLANK) != 0) ;
y++;
}
}

View File

@ -6,6 +6,7 @@ import { PLATFORMS } from "../emu";
var Atari7800_PRESETS = [
{id:'sprites.dasm', name:'Sprites (ASM)'},
{id:'wsync.c', name:'WSYNC'},
{id:'scroll.c', name:'Scrolling'},
];
class Atari7800Platform extends Base6502MachinePlatform<Atari7800> implements Platform {