base:playing_music_a000-_ffff
Playing music at $A000 - $FFFF "behind" kernal
Ok, you saw the simple IRQ music player I added previously, now let's play some music inside the IRQ that is outside the $0400-$9fff area. How do we come about it? Well, simple really. We need to turn off the kernal (SET #$35 to $01) initialize the tune and then turn the kernal back on (SET #$37 to $01). You do the same to play the music as well. This is an example for a JCH/DMC tune at $A000.
!to "musplr+.prg",cbm *=$0810 SEI LDA #<IRQ LDX #>IRQ STA $0314 STX $0315 LDA #$7F STA $DC0D LDA #$1B STA $D01B LDA #$01 STA $D01A LDA #$35 ;TURN OFF BASIC KERNAL STA $01 LDA #$00 JSR $A000 LDA #$37 ;TURN BASIC KERNAL BACK ON STA $01 CLI JMP * IRQ INC $D019 LDA #$00 STA $D012 LDA #$35 STA $01 JSR $A003 LDA #$37 STA $01 JMP $EA31 *=$a000-2 ;-2 to remove the load adress !binary "music.prg"
base/playing_music_a000-_ffff.txt · Last modified: 2015-04-17 04:33 by 127.0.0.1