Prev: $BA00 Up: Map Next: $BA90
$BA48: Play the 'Got all shields' tune
Used by the routine at $2BB0.
$BA48 SEI Disable interrupts.
$BA49 LDA #$BA Set the interrupt routine address at $FFFE to $BAB4.
$BA4B STA $FFFF
$BA4E LDA #$B4
$BA50 STA $FFFE
$BA53 JSR $BA90 Initialise the tune buffer.
$BA56 LDA #$73 The 'Got all shields' tune data for voice #1 is at $BC73.
$BA58 STA $BBC3
$BA5B LDA #$BC
$BA5D STA $BBC6
$BA60 LDA #$A0 The 'Got all shields' tune data for voice #2 is at $BCA0.
$BA62 STA $BBC4
$BA65 LDA #$BC
$BA67 STA $BBC7
$BA6A LDA #$C7 The 'Got all shields' tune data for voice #3 is at $BCC7.
$BA6C STA $BBC5
$BA6F LDA #$BC
$BA71 STA $BBC8
$BA74 JSR $B9A0 Initialise voices #1, #2 and #3.
$BA77 CLI Re-enable interrupts to start playing the tune.
$BA78 LDA $BBCE Has the tune finished playing yet?
$BA7B BNE $BA80 Branch if so.
$BA7D JMP $BA78 Otherwise check again.
$BA80 SEI Disable interrupts.
$BA81 LDA #$39 Set the interrupt routine address at $FFFE back to $39C7.
$BA83 STA $FFFF
$BA86 LDA #$C7
$BA88 STA $FFFE
$BA8B CLI Re-enable interrupts.
$BA8C JSR $302A Initialise voice #3.
$BA8F RTS
Prev: $BA00 Up: Map Next: $BA90