HAtari 2.1.0, Falcon emulation and DSP and screenpointer update

A forum about the Hatari ST/STE/Falcon emulator - the current version is v2.1.0

Moderators: simonsunnyboy, thothy, Moderator Team

User avatar
Emphii
Atariator
Atariator
Posts: 25
Joined: Wed Sep 08, 2010 6:07 pm
Location: Middle-Finland

HAtari 2.1.0, Falcon emulation and DSP and screenpointer update

Postby Emphii » Wed Aug 29, 2018 9:00 pm

In the middle of my next project I noticed that screen, which uses DSP and CPU for data runs too quickly in HAtari compared to realhw. My settings are pretty much similar to my Falcon, so I expect at least that speed, maybe a little slower. And the data from DSP mmmaay not be exactly the same as on realhw.

Another thing I noticed. I tried the screenpointer trick to double the scanlines in hicolor-mode. Well - it didn't succeed. That same screen is in matter.

I can deliver the sample screen, if *one* needs it, but as it's a competition production, it cannot be spread widely. :wink:
--
Emphii/Extream
Plain 14MB F030 with 2GB (was 4GB) CF-modification (mem from Lynxman,thx man)

User avatar
dhedberg
Atari Super Hero
Atari Super Hero
Posts: 809
Joined: Mon Aug 30, 2010 8:36 am
Contact:

Re: HAtari 2.1.0, Falcon emulation and DSP and screenpointer update

Postby dhedberg » Wed Aug 29, 2018 9:09 pm

Hatari doesn't have full emulation of the Videl yet so your screen pointer trick in hi-color mode will not work.
Are you performing proper synchronization on both sides before DSP/CPU transfers? If not you'll most likely run into problems on accelerated machines (and in Hatari). If you're only going to support stock Falcons you may get away with less proper synchronization. Maybe release a special build for Hatari and accelerated Falcons?
Daniel, New Beat - http://newbeat.atari.org. Like demos? Have a look at our new Falcon030 demo MORE.

User avatar
Emphii
Atariator
Atariator
Posts: 25
Joined: Wed Sep 08, 2010 6:07 pm
Location: Middle-Finland

Re: HAtari 2.1.0, Falcon emulation and DSP and screenpointer update

Postby Emphii » Wed Aug 29, 2018 9:21 pm

Hi Daniel.

Thanks for really quick reply.
So I forget the screen pointer trick problems on HAtari, so far.

I think, I have some synchronization. On data movement DSP uses continuously jclr and cpu does btst. The rest time they are doing their own job.

My production is most certainly aimed to stock Falcons, as the commonly accepted specs are "plain 030/16MHz/4Mb/sv2k18" :wink:
--
Emphii/Extream
Plain 14MB F030 with 2GB (was 4GB) CF-modification (mem from Lynxman,thx man)

User avatar
Eero Tamminen
Atari God
Atari God
Posts: 1747
Joined: Sun Jul 31, 2011 1:11 pm

Re: HAtari 2.1.0, Falcon emulation and DSP and screenpointer update

Postby Eero Tamminen » Thu Aug 30, 2018 8:04 pm

As already mentioned, Hatari Videl emulation is somewhat lacking. CPU, FPU, MMU, DSP & TT-RAM emulation should instruction-wise be correct, but unlike 68000 emulation, isn't yet cycle accurate.

In regards to cycle-accurate CPU<->DSP synchronization, sometimes enabling cache emulation (--cpu-exact yes) is closer to real machine, sometimes disabling it.

User avatar
dhedberg
Atari Super Hero
Atari Super Hero
Posts: 809
Joined: Mon Aug 30, 2010 8:36 am
Contact:

Re: HAtari 2.1.0, Falcon emulation and DSP and screenpointer update

Postby dhedberg » Thu Aug 30, 2018 8:26 pm

Emphii wrote:I think, I have some synchronization. On data movement DSP uses continuously jclr and cpu does btst. The rest time they are doing their own job.

When transferring data from the DSP to the CPU on a stock Falcon you only need synchronization for each DSP word transfer on the DSP side. The CPU is slower so only need to check $FFFFA202 for the first DSP word transferred (if you transfer more than one in one go).
Daniel, New Beat - http://newbeat.atari.org. Like demos? Have a look at our new Falcon030 demo MORE.

User avatar
Emphii
Atariator
Atariator
Posts: 25
Joined: Wed Sep 08, 2010 6:07 pm
Location: Middle-Finland

Re: HAtari 2.1.0, Falcon emulation and DSP and screenpointer update

Postby Emphii » Sat Sep 01, 2018 8:45 am

Eero. Thanks for the pro tip. :) I disabled MMU emulation and took off cycle exacts and got these messages:
Exception 2 (e02cde) at e02cde -> e02ce6!
Exception 2 (e0184e) at e0184e -> e01836!
Exception 2 (e0184e) at e0184e -> e01836!
M68000 Bus Error writing at address $fffffa42 PC=$ad63a.
Exception 2 (ad63a) at ad63a -> ad650!

but screen runs on better speedratio. Still data from DSP is not correct, so it is hard to develop a stuff with this.

But I must say that I appreciate all the work team has done. Without you there probably would not be anything nice like this.


Daniel. That's a good tip. I'll check how much influence it has. Anyway, the amount of data in this mentioned screen does not take that much to transfer. There's still job for CPU to do. :) But this can come as a life saver in some other part.
--
Emphii/Extream
Plain 14MB F030 with 2GB (was 4GB) CF-modification (mem from Lynxman,thx man)


Social Media

     

Return to “Hatari”

Who is online

Users browsing this forum: No registered users and 3 guests