[hatari-devel] New STE DMA audio emulation

Eero Tamminen eerot at users.berlios.de
Mon Jul 4 19:33:03 CEST 2011


Hi,

On maanantai 04 heinäkuu 2011, Nicolas Pomarède wrote:
> > Btw.  Have you noticed that Hextracker mouse doesn't track host mouse
> > properly in windowed mode?  After using Hextracker for a while, I
> > cannot anymore move mouse cursor to a place where I could click on
> > "Play"...
> 
> No, I didn't really use the tracker, except for starting a mod.
> 
> But I noticed that if I lock the mouse in windowed mode 'alt+m', after a
> while the mouse was unlocked again and could exit Hatari's window (this
> seems to be triggered when loading a module and having the tos'
> fileselector displayed, but I'm not sure if there's a relation ?)

I'll look into that.


> The error (which is in ROx) is still there, it's just that I don't print
> an error anymore as this case is handled by the dma's emulation.
> 
>> * Paradox Xmas-2004 scroller music has strange skips
> 
> I don't hear them ; do you mean the dma sound or the ym sound, what part
> of the demo is that in ?

The part early in the demo with the blue vertical scrolltext.  I guess
the part that "doesn't sound right" to me is the music looping, but I
don't know whether it sounds the same also on a real machine...

 
> > * http://hg.berlios.de/repos/hatari/rev/df8c0a09d846
> > 
> > ->  It's a bit ugly to do init on uninit phase, but I think it's also
> > best
> > 
> >     to do the re-init if machine needs reset (not just when machine
> >     type changes), because that takes into account also changing e.g.
> >     TV to mono monitor (HZ change).
> 
> What phase is "uninit" ? ClocksTimings_InitMachine is called when
> machine changes, which seems enough to me, I don't see what you call
> "uninit".

First half of the function does uninit calls, then the configuration
parameters are changed and init functions are called in the latter half
of the function.  Just move the ClocksTimings_InitMachine() init function
to latter part where all the other init functions are called.


> Calling ClocksTimings_InitMachine when video freq change is not
> necessary, the machine's clocks don't depend on the chosen video freq
> (that's why video freq is a parameter of some other functions in
> clocks_timings.c)
>
> > ->  ClocksTimings_InitMachine() call doesn't belong to dlgSystem.c,
> > 
> >     it should be done where the changes are applied (why calling
> >     it in change.c wouldn't be enough?)
> 
> It's possible I left some redundant calls, I will check that.
> 
> > * http://hg.berlios.de/repos/hatari/rev/065cb494bb3f
> > 
> > ->  "the number of cpu cycles per second is not a multiple of the
> > number
> > 
> >     of cpu cycles per second."
> >     - did you mean instructions?
> 
> I meant "VBL" :)

Ah, right.


> > ->  There are several functions like this:
...
> I did this on purpose to emphasize the fact that MEGA_STE, TT and FALCON
> should eventually be handled with their own special case ; so I prefer
> leaving a commented code that does nothing to make it clear that those
> machines need a customised value too.

IMHO it would be clearer just to have an explicit TODO comments about
that.  Commented out code that basically just duplicates line in
the beginning of the function just looks suspicious. :-)


	- Eero



More information about the hatari-devel mailing list