![]() |
![]() |
#1 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,372
|
68060 integer instruction emulation in 2.7.0
Hi,
I'm using WinUAE 2.7.0 and I think that the checkbox "unimplemented CPU emu" is inverted for 68060 at least: - when I check it, each MOVEP triggers an illegal instruction. Of course JIT forces it so no JIT for me... - when I uncheck it (and remove JIT), MOVEP are emulated. Another strange fact: whdload does not patch those instructions whereas it should I think it detects a non-68060 CPU because winuae has a problem, and does not patch the calls. Something is broken here. oh BTW: winuae with MMU and all really rocks!!!! I'm back after 3 years of not checking winuae and it is really something. so thanks a million Toni. Regards |
![]() |
![]() |
#2 | |
Registered User
Join Date: Jan 2002
Location: Germany
Posts: 7,028
|
Quote:
That's exactly how it should be. "Unimplemented CPU emu" emulates correct behaviour of unimplemented instructions. If you uncheck it, non-existent instructions do not trigger an exception. |
|
![]() |
![]() |
#3 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,573
|
It works as designed. It prevents users from ticking it because it looks interesting. (and break their system, they also most likely don't have correct CPU libraries installed and then complaining emulation being broken..)
How does it detect 68060? |
![]() |
![]() |
#4 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,372
|
ok, but you should check the tooltip. it's confusing.
then why is it not possible to enable it in jit mode? the checkbox is checked and disabled about whdload i don t know, i ve asked Bert once again, only constructive comments, winuae is still great stuff! bye |
![]() |
![]() |
#5 | |
Registered User
Join Date: Jul 2008
Location: Netherlands
Posts: 485
|
Quote:
As a suggestion it could be something along the lines of "Emulate 68060 unimplemented integer instruction. Check this option for more accurate 68060 emulation. Note that it causes issues when you don't have correct CPU libraries installed." It's still short, but more descriptive in a non-technical sense. Edit to add: since you'd probably want it shorter it could also be something like "Emulate 68060 unimplemented integer instruction. More accurate, but will cause issues when you don't have correct (68040/060) CPU libraries installed." Last edited by Dr.Venom; 02 January 2014 at 10:47. |
|
![]() |
![]() |
#6 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,573
|
No. If you don't know what it means, you either should forget about it or research it yourself instead of blindly changing the option.
No "normal" user need to ever select 68060 emulation, there is no 68060-only user space programs. (No, there really isn't any, some may say so but only because REAL 68040 or older is too slow) "I know i have correct libraries, I have 68060.library in libs:". No, it isn't that simple, he/she may still have 68040.library that crashes with 68060 or no dummy 68040.library and old enough setpatch which ignores 68060.library. Or the library may be hardware specific one and not "generic" or. or. and so on. You really have to know what are you doing if you use 68060. It is same with real 68060 hardware, search and you find out that there are lots of questions about 68060 crashing or working slowly or FPU not working and so on.. |
![]() |
![]() |
#7 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,372
|
Hi Toni,
I want to make sure my whdload slave is running on a 68060. That's why I use this setting (and also my original amiga uses that). I talked with Bert and I think he figured this out: maybe winuae is wrong because it has to fault with an 'unimplemented integer instruction' instead of 'illegal instruction' when encountering a "MOVEP". Regards |
![]() |
![]() |
#8 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,573
|
MOVEP generates unimplemented integer instruction exception and 68060.library exception handler also emulates it correctly.
|
![]() |
![]() |
#9 |
Longplayer
|
Are the 'Recommended' CPU Libraries still the generic MMULib ones? Also, is there any recommended WinUAE specific settings for the mmulib config file such as the mmu cache config when using CybergraphX for rtg cards.
Last edited by Mad-Matt; 03 January 2014 at 16:34. |
![]() |
![]() |
#10 | |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,573
|
Quote:
But as I said in previous post: do you really need 68060 or MMU? Answer seems to be: no. |
|
![]() |
![]() |
#11 |
Longplayer
|
Its more for the feeling that the emulation acts and behaves exactly like a real Amiga. It matters not that an emulated 020 can outrun a real 060 Amiga
![]() |
![]() |
![]() |
#12 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,372
|
okay, still a mystery
i ll switch to 68040, lets drop the 060 setting |
![]() |
![]() |
#13 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,573
|
whdload seems to set exception handler to all "unexpected" exceptions and it checks if exception format and vector offset word is 00F4 (4*61) and if it is, it emulates unimplemented instruction.
-> include example slave that uses movep and I'll check if there is some other wrong bit somewhere.. |
![]() |
![]() |
#14 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,372
|
MOVEP fails on 68060 with WHDload
Hi Toni
Made a quick empty slave. on 040 config it stops on "ILLEGAL" on 060 config it stops on "MOVEP" thx & regards movep_test.zip |
![]() |
![]() |
#15 | |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,573
|
Quote:
MOVEP is emulated (by whdload exception handler), it crashes with ILLEGAL because next instruction after MOVEP is 4AFC! |
|
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Integer scaling not pixel-perfect in 2.3.3 and 2.4.0 beta 21 | Bonifacy | support.WinUAE | 11 | 08 September 2012 20:27 |
Integer Scaling | FreakyDan | support.WinUAE | 3 | 12 May 2012 15:43 |
Integer scaling bug | Leandro Jardim | support.WinUAE | 2 | 14 February 2012 20:46 |
WinUAE Integer Scaling Crash | Schlachtwerk | support.WinUAE | 1 | 11 November 2011 17:04 |
68060 emulation bug | riftcon | support.WinUAE | 4 | 14 March 2008 22:52 |
|
|