[hatari-devel] some videl emulation news
Eero Tamminen
eerot at users.berlios.de
Tue Jun 7 21:42:26 CEST 2011
Hi,
On tiistai 07 kesäkuu 2011, Laurent Sallafranque wrote:
> At the same time, I would say that Falcon emulation with the new core is
> much better.
> I would say that more than 80% of the programs I use for tests are
> running well or nearly well (some sound or video glitshes).
>
> For DSP, I think there are still 2 bugs I haven't found yet :
> - the strange stack overflow in "build in obsolecsence demo".
And e.g. in the Yepyha demo (which has also other issues).
The Stocasto demo freeze is also strange.
> It appears in the 50 first DSP instructions. It's easy to reproduce,
> but I don't understand why it works on a real falcon
> - a computing bug ? (I can see it in a screen from Motion demo)
The graphics in "Agressive II party info" look also different
from the graphics shown on pouet.net.
> For me, nearly all the other bugs are related to timings :
> - I've already seen working some demos or games by "bad hacking"
> hatari (eg k.prg discuss we had a few month ago)
> - I've already played to llamazap with hatari
> - I've already seen rot3dbmp.prg (I had to "bad hack again" the 68030
> <-> DSP synchro)
> - I've already heard clear sound with DMA play sound (I think it's a
> regression from new CPU)
I guess it's a related issue with all the Falcon audio apps (AceMidi,
AceTracker, FalcAmp, FlaySid, FlexTrax, GemPlay). FlaySid & FlexTrax
actually have _no_ sound according to the compatibility list...
> - if I "bad hack" again with some other values the 68030 <-> DSP
> synchro, _ demo is full working
> - if I play with -32Mhz, some more demos runs
> - ...
>
> In 99,5% of time, DSP is correctly emulated now (I think it's the most
> robust chip of hatari's falcon emulation)
>
> There a very few programs I have never seen running under hatari.
>
> The progress between hatari 1.0 and hatari 1.5 version for falcon
> emulation is huge (this is of course my point of view).
>
> I'll continue the effort as much as I can.
> It would be nice to be helped by some other atarist :)
- Eero
>
> Regards
>
> Laurent
>
> Le 06/06/2011 23:23, Nicolas Pomarède a écrit :
> > Le 06/06/2011 22:59, Laurent Sallafranque a écrit :
> >> OK for video.
> >>
> >> All these questions for DSP < - > 68030 synchro.
> >>
> >> As we use the 68030 as main clock, if we don't take into account all
> >> the waitstates (DMA sound, videl, ...) we can miss a lot of
> >> clockedges for the DSP speed, no ?
> >>
> >> The problem with falcon emu is (I think) that we need to be synchro
> >> between 68030 (main clock), DSP and crossbar.
> >> If the 68030 eats some waitstates because of sound DMA or Videl, I
> >> think we should take them into account for better synchro with the
> >> DSP and crossbar.
> >
> > Yes, when there're wait state you need to count them in the cpu cycles
> > to run the dsp for the correct amount of time.
> >
> >> Maybe I think wrong and shouldn't worry about these cycles, but they
> >> seem to be "time consuming" (from Mikro's doc about stRam timings and
> >> 68030)
> >
> > Depends on what kind of memory the 68030 is accessing. The "normal"
> > (st compatible ram) is using a 16 bits 16 MHz bus, and this will
> > certainly slow down the 68030 and make it run slower than it should if
> > you have a lot of RAM accesses.
> >
> >> If I try to take them into account, hatari becomes horribly slow.
> >
> > But this is very complicated to take into account. Measuring wait
> > state requires a very precise emulation of all the clocks, and Hatari
> > does not have this, so maybe you're doing something wrong.
> >
> > Also, I'm not sure that waitstate emulation is the cause of some dsp
> > <-> cpu synchro : even on a falcon, the same code will not take the
> > same number of cycles, depending on the content of the cpu/data caches.
> >
> > So even a program on a real Falcon that would expect the dsp<->cpu
> > synchronisation to work without any sync control is likely to fail
> > (unless you take the cache behaviour into account, which is more
> > complicated when coding in asm).
> > That's why I think that for most programs, even a bad number of cycles
> > should not create so many bugs. There may be 2 or 3 general issues to
> > fix, but I don't think so many things need to be corrected.
> >
> > But at one point, I think that what is needed is someone who can code
> > on Falcon and provide some very simple programs for dsp/cpu that test
> > one particular aspect of the dsp emulation (or the videl part)
> > Very simple test cases that can be ran on a real Falcon and easily
> > compared on Hatari.
> >
> > Trying to run a complete demo, with several dsp/cpu/videl techniques
> > used at the same time, makes it very hard to really isolate one single
> > problem and fix it, instead of combining many problems that can
> > sometimes influence each others.
> >
> > I had to do the same thing for shifter : at one point trying to debug
> > some particular demos was impossible and lead to a dead end. I wrote
> > about 20 simple cases to measure very simple (but very important!)
> > aspects, one at a time, by changing only one parameter at a time. And
> > nearly "automatically", improving Hatari to pass these simple programs
> > make the corresponding demos run without any error.
> >
> > I don't want to sound pessimistic, but unless someone can help with
> > some real Falcon coding experiment in video/dsp fields and provide
> > some very simple test programs to show some non working aspects in
> > Hatari, then I think it will be very difficult to improve Falcon's
> > emulation.
> >
> > So, any experiment Falcon coder (not me !) should raise his hand :)
> >
> > Nicolas
>
> _______________________________________________
> hatari-devel mailing list
> hatari-devel at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/hatari-devel
More information about the hatari-devel
mailing list