Goattracker for MEGA65


Might be I have exmplaines it in the wrong way.
For the C64 if you use a sid-file in your own program it works like this:
First you load the sid-binary into the memory.

!bin "hack_sound.sid",,$7e

Then you ahve a short init section somewhere at the beginning of the code.

;init music
jsr copy_sound
lda #$00
;init music end

And then you call the algorithem to play the sound for the next 1/60 sek. This is the followed by the other code - so you achieve parallelity to the code for example of your game.

;play sound
jsr SOUNDADRESSE+3; $e003
asl $d019
;play sound end


So what I mean by playing two sid-files on the two sids would be the following:

1) Loading both sid-binayies to the memory.
2) Having two inits.
3) Having the two sections after each other in a interrupt routine.

You are right - this is not real parallelity, but it would seem like it to the humans ear (as it was before with sound and game for the human on the C64).


So comming now back to my question:
In order to do what I explanied above I need to adapt either the calling code or the sid files themself.
Does someon have something where I can learn form how to do that?


(Leave this as-is, it’s a trap!)

Only the original author or a moderator can append to this post.

Pro tip: Use markup to add links, quotes and more.

Your friendly neighbourhood moderators: Deft, gardners, Ralph Egas