Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /storage/content/49/145849/famitracker.com/public_html/forum/classes/dbHandler.php on line 29
OK, I found the new famitracker release has ASM output, but what compiler isa it exporting for compatibility with?
I'm trying Nbasic from Bob Rost, but the ASM's have severe errors.
The assembly syntax is not correct, or the SM doesn't contain any play code. Either way the nes rom image isn't building.
Any ideas how to get it to work with .incbin?
Whoever made Famitracker needs to make it more compatible. The ASM and binary exports are corrupted and an't be used with their load addresses.
There is no standard for assembly code, so it's not possible to make it compatible with everything.
The assembly export works fine with ca65, and even a few others that are popular for NES.
Yes, the assembly export does not contain any play code, only the music data. The play code is in the NSF driver, which can only be assembled with ca65.
Also, I would suggest you put your questions in a single thread, instead of spreading them out like you've done. They're all related, and it's weird trying to respond to them all like they're from different people.
By the way I made a guide a while back for using the BIN export:
[url=http://famitracker.com/forum/posts.php?page=1&id=3681]http://famitracker.com/forum/posts.php?page=1&id=3681
It might help as a tutorial for what you need to do to get the NSF driver assembled, and how to use it with your .bin music data.
You will probably need to get comfortable with ca65 if you want to do this right. Combining binary output from different assemblers is possible, but it's not easy.
Is there ASM source code for making an NSF driver?
I'm trying to load music data at $ADDA
I did .incbin the .BIN export at $ADDA for a load address but figured it also included the play code.
The NSF epxort I couldn't get to work as an .incbin.
To get the play data from the NSF, is it a 16 or 128 byte header every 16k? I can probably code up a hex editor in visual basic real quick to take the header out and leave me with the prg code inside it.
The ASM source code is the actual music player and must be included, you can get it here: [url=http://famitracker.com/files/FamiTracker.NSF.Driver-v2.9.zip]http://famitracker.com/files/FamiTracker.NSF.Driver-v2.9.zip
This must be used together with either BIN or ASM exports, neither of those works alone.
There is only one header in NSF, iexpress. Instead of using kevtris' old document, you may find it easier to read the version of it on the Nesdev wiki. I think it's explained better there how the NSF format works.
Thanks, I gave it a shot but neither of the NSF players are compiling so I'll probably have to tell the hardware what to do manually one command per line.
I'm trying to figure out why Famitracker handed 5 sound channels + DPCM.
The ASM export didn't say which bytes go to which registers or in what sequence. Maybe they can add comments to the ASM exports in the next release.
I'm not sure how to load the binary exports into the registers.
Are the bytes sequential that get fed in like this? $4000, $4001, $4002, $4003 for channel 0? This would seem the most logical for a binary export but it's not quite working this way.
No, the ASM/BIN exports are not raw register write logs. They are data that gets fed to the "NSF driver" player program. It's streams of notes and tracker effects, pattern order, instrument macros, etc. that get "played" by the player which will write the appropriate things to the APU registers during playback.