![]() |
![]() |
#1 |
Moderator
Join Date: Sep 2004
Location: France
Age: 49
Posts: 4,066
|
WinUAE 68010 issue or not with NoDivByZero exception????
Hi Tony,
What do you think is the normal behavior of the 68010 when a divide by zero exception is encountered? you have a problem on WHDLoad to ignore vector $14 exception. which causes WHDLoad exits instead of ignoring the interrupt. see following mantis reports: Hyperion report Twylyte report Wanderer3D report Below is the comparison between 68030 & 68010 of the behavior of WHDLoad when a Division by zero is encountered. normal behavior on 68030: ![]() behavior on 68010 on WInuae: ![]() WHDload expects a flag value of $2014 but it is at $0014. I don't have real 68010 to compare ![]() ![]() Do you think it's WinUAE returning a bad value? or is it rather the code of WHDload that needs to be modified? |
![]() |
![]() |
#2 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 48
Posts: 25,813
|
Assuming $2014 is format/vector offset field: 68010 uses same basic frame format as 68020 but it isn't same as 68020, 68010 can only generate exception frame types 0 and 8 (address/bus errors).
Last edited by Toni Wilen; 12 November 2022 at 14:41. |
![]() |
![]() |
#3 | |
Moderator
Join Date: Sep 2004
Location: France
Age: 49
Posts: 4,066
|
Quote:
But it looks like Winuae returns a different value when this type of exception is thrown on 68010 |
|
![]() |
![]() |
#4 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 48
Posts: 25,813
|
No. It is not same. 68010 does not have frame format 2!
Check the manual: http://www.bitsavers.org/components/...heet_May85.pdf |
![]() |
![]() |
#5 |
This cat is no more
![]() Join Date: Dec 2004
Location: FRANCE
Age: 51
Posts: 7,112
|
then it's a whdload issue
|
![]() |
![]() |
#6 | |
Moderator
Join Date: Sep 2004
Location: France
Age: 49
Posts: 4,066
|
Quote:
![]() |
|
![]() |
![]() |
#7 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 48
Posts: 25,813
|
I think it was common misunderstanding because 68010 has same stack frame structure as 68020.
UAE also had this wrong: 68010 mode generated (and RTE accepted) frame type 2. I noticed it when doing 68010 cputester tests. Was fixed in 4.3.0. |
![]() |
![]() |
#8 |
Moderator
Join Date: Nov 2001
Location: Germany
Posts: 829
|
EmulDivZero will be fixed for the 68010 in the next WHDLoad beta. I didn't notice that the frame looks different on the 68010.
Besides that I would recommend to use NoDivZero if there is no need for a special handler in the game. This uses only a rte in WHDLoad and is therefore not affected by this problem and would be faster too. |
![]() |
![]() |
#9 |
Moderator
Join Date: Nov 2001
Location: Germany
Posts: 829
|
the latest beta http://whdload.de/whdload/whd189.lha should fix the problem (build 6507)
|
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Possible exception debugging | nandius_c | Coders. Asm / Hardware | 12 | 29 May 2020 20:28 |
Winuae Amiga OS 3.9 PPC - WarpOS - PowerPC Exception | Amcio | support.WinUAE | 22 | 08 October 2019 14:33 |
Issue with 68010 processor on A500 | Finntuitive | support.Hardware | 10 | 21 December 2018 11:06 |
WinUAE how to break on an exception? | deimos | support.WinUAE | 4 | 29 September 2018 10:23 |
Exception 0 | vriviere | support.WinUAE | 9 | 25 June 2012 14:36 |
|
|