This commit is contained in:
Dagen Brock 2012-12-12 07:27:34 -06:00
parent 1da09e7561
commit e4f7d39adc
3 changed files with 506 additions and 413 deletions

744
festro.s

File diff suppressed because it is too large Load Diff

View File

@ -48,8 +48,7 @@ _creditStringsTable
da _cblank,_cblank,_cblank,_cblank,_cblank
dw 0000
FinalText
asc "",00
FinalText asc "",00
asc " KFest is the world's only annual",00
asc " convention dedicated to the Apple II",00
asc " and it's the largest gathering of ",00
@ -333,3 +332,53 @@ AppleLogo db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$40,$c0,$00,$00,$00
db $00,$00,$33,$33,$33,$33,$33,$33,$33,$33,$33,$33,$33,$33,$33,$33,$33,$33,$00
db $00,$00,$00,$07,$77,$77,$77,$77,$77,$77,$77,$77,$77,$77,$77,$77,$07,$00,$00
db $00,$00,$00,$00,$00,$07,$07,$07,$00,$00,$00,$00,$07,$07,$07,$00,$00,$00,$00
;db #$25, #$16 ; 38 x 45 (*2)
DLogoWidth equ #$26
DLogo db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$55,$55,$55,$55,$55,$55,$55,$55
db $50,$50,$50,$50,$00,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$50,$55,$55,$55,$05,$00,$05,$05
db $55,$55,$55,$00,$55,$50,$05,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$50,$05,$55,$00,$55,$55,$55,$50,$55,$55,$85
db $50,$55,$55,$55,$55,$00,$55,$00,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$55,$55,$55,$55,$85,$a5,$a5,$a8,$ba,$f8,$aa,$ba
db $fa,$b8,$a5,$85,$55,$55,$55,$55,$50,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$55,$55,$a5,$aa,$fb,$bf,$ff,$ff,$ff,$ff,$ff
db $ff,$ff,$ff,$fb,$fa,$85,$55,$50,$00,$05,$50,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$05,$55,$aa,$aa,$ab,$ff,$af,$ff,$ff,$ff,$ff,$ff
db $ff,$ff,$fb,$ff,$fb,$fa,$85,$a8,$55,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$05,$a5,$aa,$ab,$bf,$ff,$bf,$ff,$fb,$ff,$ff,$ff
db $ff,$ff,$ff,$fa,$bf,$ff,$fa,$ba,$58,$55,$05,$50,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$05,$55,$58,$ba,$af,$bf,$ff,$af,$ff,$ff,$ff,$ff
db $ff,$ff,$ff,$ff,$ff,$af,$fb,$aa,$88,$55,$55,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$05,$55,$58,$ba,$8a,$aa,$f8,$f8,$ab,$fa,$ff,$ff
db $ff,$ff,$ab,$f8,$aa,$fb,$a8,$ab,$8a,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$50,$55,$88,$aa,$ba,$af,$ab,$af,$fb,$bf,$ab,$ff
db $ff,$ab,$ff,$bb,$af,$ab,$af,$bb,$a5,$55,$50,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$55,$fb,$ba,$aa,$ba,$ff,$ab,$fa,$fb,$ff,$ba,$ab,$bf
db $fb,$ab,$bf,$fa,$fa,$ab,$bb,$fa,$ba,$a8,$fb,$85,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$8a,$ff,$aa,$ab,$fa,$bf,$ff,$fb,$ff,$fb,$af,$bb,$ff
db $fa,$ab,$bf,$ff,$fb,$ff,$bf,$fa,$bb,$aa,$bb,$aa,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$55,$ff,$aa,$ab,$fa,$bf,$ff,$fb,$ff,$ff,$fb,$ba,$ff
db $fb,$bb,$ff,$ff,$fb,$bf,$ff,$fa,$ab,$8a,$ff,$58,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$05,$fb,$aa,$ab,$fa,$bf,$ff,$fb,$ff,$ff,$fb,$af,$ff
db $bf,$fa,$bf,$ff,$ff,$ff,$ff,$fb,$ba,$ab,$fb,$55,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$0a,$8f,$ab,$aa,$bf,$ff,$bf,$ff,$ff,$bb,$ab,$ff
db $fa,$bb,$af,$bf,$ff,$fb,$bf,$fa,$aa,$8b,$5f,$05,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$85,$ab,$ff,$bf,$ff,$af,$fb,$aa,$ff,$bf
db $ff,$ba,$ff,$ab,$ff,$fa,$bf,$ff,$a8,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$05,$ba,$ff,$bf,$ff,$ff,$ab,$bb,$ab,$bb
db $ab,$bb,$ba,$bb,$ff,$fb,$ff,$aa,$58,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $9d,$9d,$0d,$0d,$9d,$90,$00,$00,$00,$00,$5a,$ba,$af,$bf,$ff,$fb,$ff,$af,$ff
db $bf,$ff,$fa,$ff,$af,$fb,$bf,$aa,$50,$00,$00,$00,$00,$9d,$9d,$0d,$0d,$9d,$90
db $dd,$dd,$00,$00,$dd,$dd,$00,$00,$00,$00,$55,$ba,$af,$bf,$af,$fb,$ff,$bf,$ff
db $af,$ff,$fb,$af,$fb,$af,$ba,$a8,$50,$00,$00,$00,$00,$dd,$dd,$00,$00,$dd,$dd
db $dd,$dd,$00,$00,$dd,$dd,$00,$00,$00,$00,$55,$aa,$ba,$af,$ff,$ba,$ff,$af,$ff
db $ff,$ff,$ba,$ff,$ab,$aa,$fb,$aa,$f5,$50,$00,$00,$00,$dd,$dd,$00,$0d,$dd,$d0
db $dd,$dd,$00,$00,$dd,$dd,$00,$00,$00,$f5,$fa,$ab,$ff,$fa,$ab,$af,$af,$af,$ff
db $fa,$af,$ff,$aa,$ab,$ff,$fb,$ba,$af,$fa,$50,$00,$00,$dd,$dd,$00,$00,$dd,$dd
db $0d,$0d,$0d,$0d,$0d,$00,$00,$50,$fa,$ff,$ff,$ba,$ff,$fb,$ff,$fb,$ba,$ff,$ab
db $fa,$ab,$fa,$fb,$ff,$ff,$fb,$fa,$85,$aa,$fa,$50,$50,$0d,$0d,$0d,$0d,$0d,$00
db $00,$00,$00,$00,$a0,$f5,$fa,$ff,$ff,$ff,$fa,$ba,$ff,$bf,$ff,$ff,$ff,$ff,$ff
db $ff,$ff,$ff,$fb,$ff,$ff,$fb,$ba,$aa,$ff,$ff,$ff,$fa,$f5,$a5,$50,$00,$00,$00

View File

@ -1,3 +1,41 @@
**************************************************
* COSMOS THEME
**************************************************
PlaySong01Note
:start lda Song01
]song01Ptr equ *-2
cmp #$02
bne :noLoop
lda #Song01
sta ]song01Ptr
lda #>Song01
sta ]song01Ptr+1
bra :start
:noLoop
;ldx #$20 ; x passed as wait value.. omg the hacks
jsr SENoteAX
lda ]frameCount
cmp #_frameRepeat
beq :nextNote
inc ]frameCount
rts
:nextNote stz ]frameCount
inc ]song01Ptr
beq :inc
rts
:inc inc ]song01Ptr+1
rts
]frameCount db 0
_frameRepeat equ 2
Song01 hex 66,99,a3,66,99,a3,66,99,66,99,a3,66,99,a3,66,99
hex 72,99,a3,72,99,a3,72,99,72,99,a3,72,99,a3,72,99
hex 79,a3,b5,79,a3,b5,79,a3,79,a3,b5,79,a3,b5,79,a3
hex 6c,99,a3,6c,99,a3,6c,99,6c,99,a3,6c,99,a3,6c,5b
hex 66,99,a3,66,99,a3,66,99,66,99,a3,66,99,a3,66,99
hex 02 ;end
**************************************************
* play random short note
**************************************************
@ -34,54 +72,17 @@ SEplayNote
jmp :loop
:doneThat rts
_SECURRNOTE db 0,0 ; current note being played (frequency/duration)
* COSMOS THEME
PlaySong01Note
:start lda Song01
]song01Ptr equ *-2
cmp #$02
bne :noLoop
lda #Song01
sta ]song01Ptr
lda #>Song01
sta ]song01Ptr+1
bra :start
:noLoop
;ldx #$20 ; x passed as wait value.. omg the hacks
jsr SENoteAX
lda ]frameCount
cmp #_frameRepeat
beq :nextNote
inc ]frameCount
rts
:nextNote stz ]frameCount
inc ]song01Ptr
beq :inc
rts
:inc inc ]song01Ptr+1
rts
]frameCount db 0
_frameRepeat equ 2
Song01 hex 66,99,a3,66,99,a3,66,99,66,99,a3,66,99,a3,66,99
hex 72,99,a3,72,99,a3,72,99,72,99,a3,72,99,a3,72,99
hex 79,a3,b5,79,a3,b5,79,a3,79,a3,b5,79,a3,b5,79,a3
hex 6c,99,a3,6c,99,a3,6c,99,6c,99,a3,6c,99,a3,6c,5b
hex 66,99,a3,66,99,a3,66,99,66,99,a3,66,99,a3,66,99
hex 02 ;end
**************************************************
* This is essentially the scale
**************************************************
_SE_tones db NoteG0,NoteGsharp0,NoteA0,NoteBflat0,NoteB0
db NoteC1,NoteCsharp1,NoteD1,NoteDsharp1,NoteE1
db NoteF1,NoteFsharp1,NoteG1,NoteGsharp1,NoteA1
db NoteBflat1,NoteB1,NoteC2,NoteCsharp2,NoteD2
db NoteDsharp2,NoteE2,NoteF2
NoteRest equ $01 ;\_ these are inaudible anyway
NoteEnd equ $02 ;/
NoteG0 equ $00 ; because it loops
@ -135,42 +136,3 @@ SErandStaticBit
rts
*-------------------------------
*
* T O N E
*
* In: y-x = pitch lo-hi
* a = duration
*
*-------------------------------
tone
sty :pitch
stx :pitch+1
:outloop bit SPEAKER
ldx #0
:midloop ldy #0
:inloop iny
cpy :pitch
bcc :inloop
inx
cpx :pitch+1
bcc :midloop
sec
sbc #1
bne :outloop
rts
:pitch ds 2