Quote:
Originally Posted by bLAZER
Well go ahead and hack UADE then
|
Well, i've just seen the sources, and... errh... *cough*
Quote:
Originally Posted by bLAZER
Even better would be if you write a new player in c/c++ that just render the sound to a buffer. Either from scratch or maybe using libxmp.
|
Render the sound to a buffer, huh ? It doesn't work this way. That would involve channel mixing, which shouldn't be done in the player itself. This format is sound tracker, not streamed audio.
Filling in a structure saying which samples to play for each channel, is quite easy though (but is better done in 68k asm, i don't like c/c++ too much).
Getting rid of the dt noteplayer isn't very hard, this is what i did for the embedded quartet st player in my Back to the Golden Age game port (to replace it by my own, obviously).
Quote:
Originally Posted by bLAZER
I'm not sure how much in common Quartet have with .mod and if it needs a lot of hardware emulation?
|
Quartet is very simple, actually. Only 4 channels, not many effects. It's just that it goes quite high in sample replay frequencies.
The situation is quite similar for tcb tracker, btw.
It only needs :
- check routine
- extload
- initnote (this routine computes max freq for the noteplayer, quartet can sometimes go over 65khz !)
- init module (f.e. performs sample conversion from unsigned to signed)
- normal init routine (to start or restart playing)
- interrupt routine (200hz usually, sometimes 50), fills in note struct and calls song end routine
The best way to handle the situation would be a direct interface between BZR and the 68k code. By supporting 68k players directly you would get rid of many problems in both sc68 and uade.
(You can count on me for turning regular dt/ep players into a new custom way.)