These days I'm working on the famitracker sound driver so I can use it in my future game. People have mentioned that they want virtual registers since it would make their job easier.
I'm sure I could convert the sound driver to have virtual registers. It would require some effort, increase the memory footprint (which is already 235 bytes) but right now I cannot get the advantage of having those. In the current built I'm working on, you can specify the location of the music data and specify which channel you want to disable, which I think it quite enough for making a game.
The way is working is before asking the sound driver for the next frame in the music, you disable the channel you want to play sound fx, play your sound fx then request the next music frame to be played. I never have to worry what the sound driver should do, just disable the right channel and re-activate it when I don't need it anymore.
So, if I have the virtual registers, I have to worry more on how the music should be played. Why should I worry about that when the sound driver is taking care of that job? Why would I want to make my life harder?
This is how I feel right now about the virtual registers: it may had an extra layer of flexibility but increase the job to do and it complexity.
Any thought on the subject will be greatly appreciated. Right now I don't really need that functionality but if it could benefit everybody then I don't mind to do it.
The driver is now working fine with ca65 and nesasm. I may port it to other assembler later.
I'm sure I could convert the sound driver to have virtual registers. It would require some effort, increase the memory footprint (which is already 235 bytes) but right now I cannot get the advantage of having those. In the current built I'm working on, you can specify the location of the music data and specify which channel you want to disable, which I think it quite enough for making a game.
The way is working is before asking the sound driver for the next frame in the music, you disable the channel you want to play sound fx, play your sound fx then request the next music frame to be played. I never have to worry what the sound driver should do, just disable the right channel and re-activate it when I don't need it anymore.
So, if I have the virtual registers, I have to worry more on how the music should be played. Why should I worry about that when the sound driver is taking care of that job? Why would I want to make my life harder?
This is how I feel right now about the virtual registers: it may had an extra layer of flexibility but increase the job to do and it complexity.
Any thought on the subject will be greatly appreciated. Right now I don't really need that functionality but if it could benefit everybody then I don't mind to do it.
The driver is now working fine with ca65 and nesasm. I may port it to other assembler later.