View Single Post
Old 05 October 2015, 10:21   #890
meynaf
son of 68k
 
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
Quote:
Originally Posted by bLAZER View Post
Well go ahead and hack UADE then
Well, i've just seen the sources, and... errh... *cough*


Quote:
Originally Posted by bLAZER View Post
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 View Post
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.)
meynaf is offline  
 
Page generated in 0.04599 seconds with 11 queries