Re: [stella] Announce: z26 on Linux!

Subject: Re: [stella] Announce: z26 on Linux!
From: Stephen Anthony <stephena@xxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 18 Apr 2004 10:13:07 -0230
On April 18, 2004 03:48 am, John Saeger wrote:
> On Sat, 2004-04-17 at 20:18, Stephen Anthony wrote:
> > In the current Stella code, changing fragment size and/or sample
> > rate makes the sound generation go way off.  This shouldn't happen,
> > and it doesn't happen in z26.  If you read my previous message, I'm
> > looking for the 'magic' code that let z26 work correctly.
> I hear you.  And I feel your pain.  Over the years, I've spent many
> man-months of time trying to get sound to work.  Even the SDL stuff,
> although much easier than DOS, wasn't exactly trivial.  But in the
> end, I don't know where the *magic* is.  When it works, it works.
> Do you have a sound queue in your Linux version?  Does that work?

You know, I don't know anymore :(  I said in a previous email that I 
didn't have a queue, but now that I look at the code I see I must have 
included it again.  That's how frustrated I am ATM with the sound code; 
I can't even remember what I added :>

OK, I update the TIA registers with 'Update_tia_sound' whenever they 
change.  Then, once per frame, I make sure the internal queue is full 
by using 'Tia_process' with the appropriate amount of data.  Finally, 
during the SDL audio callback, it reads out of the queue and plays it.

Now, after looking at your tiasnd.asm, soundq.asm, and tialine.asm, that 
seems to be what you do.  But it only works if the fragment buffer is 
512 bytes.  Any larger than that, and the sound goes off.  Since you 
use a frag size of 1536 bytes (or more), I can't figure out what's 
going on.

Also, if I initialize the TIA sound registers with a sample rate of 
anything other than 31400, again the sound goes off.  But according to 
the comments from Ron Fries, that shouldn't happen.  So either I'm 
reading the comments incorrectly, or something is screwy in the TIA 
sound routines.

I'll be glad when this is all over.  I originally signed on to do two 

1) Convert the codebase to SDL, which is pretty much done.
2) Add an in-game GUI like ScummVM or Mame, and move away from being a 
commandline program.  I've started this, but the &%#$# sound problems 
are wasting my time.

Archives (includes files) at
Unsub & more at

Current Thread