![]() ![]() (Sorry, this is probably more x86 than 6502, but hopefully still understandable)Īll this will do on the interrupt will play SID B, because the SID registers known in both players point to the same SID chip, so "play_sid_b" will overwrite all the registers just set by "play_sid_a". C64 GoatTracker NinjaTrackerThere is an awesome converter that can transform GoatTracker files into C64 native NinjaTracker files. If you ran two different SID tracks on the C65 (or even the C64) in the manner below: The reason this is the case is because the C64 only has one SID chip, so the player that is used in the GT export only writes to a single set of SID registers. You will need to write brand new init and interrupt routines which means you'll either need to write a new "export" function inside of GoatTracker, or write some C65 that can read either the GT source file, or one of it's exports. #C64 GOATTRACKER HOW TO#In order to do what I explanied above I need to adapt either the calling code or the sid files themself.ĭoes someon have something where I can learn form how to do that? 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 what I mean by playing two sid-files on the two sids would be the following:ġ) Loading both sid-binayies to the memory.ģ) Having the two sections after each other in a interrupt routine. ![]() ![]() This is the followed by the other code - so you achieve parallelity to the code for example of your game. Then you ahve a short init section somewhere at the beginning of the code.Īnd then you call the algorithem to play the sound for the next 1/60 sek. Might be I have exmplaines it in the wrong way.įor the C64 if you use a sid-file in your own program it works like this:įirst you load the sid-binary into the memory. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |