[hatari-devel] Hatari Falcon 060 emulation observations

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]

I am Maciej (MKM/Lamers) and just subscribed after AdamK told me about ongoing thread related to our new demo: https://listengine.tuxfamily.org/lists.tuxfamily.org/hatari-devel/2018/11/msg00008.html

I had few general problems I found during last demos development that might be helpful for hatari team:
1) FPU emulation and opcodes that disappeared in 060

While doing LCF and SV2K18 Invitation and F22.0 I never succeeded to work on any newer hatari version than 1.9.0. Hatari 1.9.0 had a "fortunate bug" that internal 060 FPU emulation still included FPU opcodes that were removed from 060 and existed in 040. I guess you corrected it in newer version and it was "unfortunate fix" (as specifying external fpu was not helping)

gcc4.6.4 produces those opcodes with (i use "-c -Wall -m68060 -O3 --omit-frame-pointer") and they are properly emulated by CT60 TOS so produced code is fully workable on real hardware. Demo code is mix of C and assembler and FPU codes are also handwritten, not only gcc generated.

(ofc this ct tos unimplemented fpu codes emulation is slow so it is not for inner loop calculations hehe but totally fine for setup code etc)

On hatari it runs properly on 1.9.0 using hatari_falcon.exe and tos4.0.4 using internal 060 FPU. (eg LCF and SV2k18 Invitro)

I was not able to make it running on any newer hatari version using neither internal fpu nor 68882. I was always getting message about not implemented fpu opcode. (note: newer versions does not contain hatari_falcon.exe so hatari.exe was used)

2) F22.0 stopped running on 1.9.0 about week before Silly Venture (was running fine earlier)
Although running on real hardware we started to get bus error on 1.9.0 (only one working so far). The only thing we were able to figure out is that difference was with just one more image file being loaded from filesystem (using C api and malloc etc). Not loading file made demo running again on 1.9.0 again. Sounds strange;)

3) VGA/RGB vbl rate
I am not 100% sure but had impression that in VGA mode vbl is still 50hz instead of 60hz as my demo timing was off. (would need to double check)

4) keyclick
We had a minor bug on real hardware that after returning to TOS key click was gone. On hatari key click was still fine. OFC it was just simple code to fix it in demo, but bug existed only in real hardware so hatari was not 100% accurate there. 

Well, I guess it is all I can tell about issues/bugs I observed... I hope it might be useful. Thanks a lot for making hatari! It roxx:)

Maciej (MKM)

PS. Obvious observation is that 32MHz 060 Hatari is about 8x slower than real F060 with 66MHz but I guess it is obvious and rather cannot be improved easily.

Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/