English Amiga Board


Go Back   English Amiga Board > Support > support.WinUAE

 
 
Thread Tools
Old 16 November 2017, 10:20   #1
PeterK
Registered User
 
Join Date: Apr 2005
Location: Hangover
Posts: 2,767
Hooooo WinUAE Enforcer hit: illegal read from 0 by ROM = bug ?

How should I rate an Enforcer hit "illegal read from $00000000" = CMP.L (0).w, D0 if it's done by the ROM 40.68 A1200 at $00F8357C or A4000 at $00F83584 ? Is this really a bug ? (Sorry, the log files are already overwritten) I'm using WinUAE 3.5.0 x64
PeterK is offline  
Old 16 November 2017, 10:46   #2
ross
Per aspera ad astra

ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 50
Posts: 2,719
Quote:
Originally Posted by PeterK View Post
How should I rate an Enforcer hit "illegal read from $00000000" = CMP.L (0).w, D0 if it's done by the ROM 40.68 A1200 at $00F8357C or A4000 at $00F83584 ? Is this really a bug ? (Sorry, the log files are already overwritten) I'm using WinUAE 3.5.0 x64
Is somewhere related to 'HELP' string in $0 by a catastrophic failure?
ross is offline  
Old 16 November 2017, 11:53   #3
Tomislav
Registered User

 
Join Date: Aug 2014
Location: Zagreb / Croatia
Posts: 218
Exec Alert() function is in that part of ROM.
Do you mean Enforcer debugging tool by Michael Sinz? Last version is V37.73.
WinUAE configuration?

Last edited by Tomislav; 18 November 2017 at 11:58.
Tomislav is offline  
Old 16 November 2017, 13:49   #4
thellier
Registered User
 
Join Date: Sep 2011
Location: Paris/France
Posts: 228
Certainly a null pointer is given to some ROM function
So the error is in the program/function that call it (in the program not in ROM)
So just check in the enforcer log what stack was before the call to $00F8357C

Last edited by DH; 16 November 2017 at 14:20. Reason: Deleted direct signature
thellier is offline  
Old 16 November 2017, 16:28   #5
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 45
Posts: 23,967
Code:
00F83576 203c 4845 4c50           MOVE.L #$48454c50,D0
00F8357C b0b8 0000                CMP.L $0000,D0
Obviously "HELP" check.
Toni Wilen is online now  
Old 17 November 2017, 14:42   #6
PeterK
Registered User
 
Join Date: Apr 2005
Location: Hangover
Posts: 2,767
Yes ok, it's a "HELP" check, whatever it's doing. Since I have no ROM documentation and don't want to reverse engineer that routine, it's unclear what exactly the purpose of this check at address 0 is.

But my question was more why it should be an illegal access to Null if this is a hard coded address and it's done by the ROM. The ROM should be allowed to do that. But maybe the coders indeed wanted to cause an Enforcer hit to get attention when this code is ever executed. Unfortunately, I can not reproduce this hit and don't have the Enforcer logs anymore.

Thanks for all replies.
PeterK is offline  
Old 17 November 2017, 14:57   #7
a4k-oerx
Registered User
 
Join Date: Oct 2008
Location: EU
Posts: 134
Quote:
Originally Posted by PeterK View Post
Yes ok, it's a "HELP" check, whatever it's doing. Since I have no ROM documentation and don't want to reverse engineer that routine...
Maybe the "AmigaOS 1.2 Exec, disassembled and commented" on this page helps, search for the string there..

Last edited by a4k-oerx; 17 November 2017 at 15:11. Reason: Replaced deep link.
a4k-oerx is offline  
Old 19 November 2017, 18:56   #8
PeterK
Registered User
 
Join Date: Apr 2005
Location: Hangover
Posts: 2,767
Thx for your help, a4k-oerx!
Quote:
See if the system wants a guru put up after reboot.

This works as follows: If for some reason, a guru can't be put
up in the normal fashion, the system writes "HELP" at location
zero, writes the alert data (number and 32-bit parameter) at
location $000100, and resets.

Early in the startup code (right here), this "HELP" is checked
for. If it is present, it is removed, and the data at location
$000100 is loaded into registers D6 and D7. If no "HELP" is
found, register D6 is loaded with -1. This data will later be
put at ExecBase->LastAlert, once the ExecBase structure has been
built. The following subroutine call does all this.

Check whether there is already a valid ExecBase data structure.
This is important, since it indicates whether we need to clear and
reconfigure memory (wiping out recoverable RAM disks and such),
or whether we already know the memory configuration and can leave
it untouched.

Note that if the machine crashed in such a way that the ExecBase
structure got clobbered, memory will be cleared.
Btw, my Enforcer hits under WB 3.0/3.1 are fixed now.
PeterK is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Enforcer with WinUAE ? Lord Riton support.WinUAE 11 26 September 2017 19:12
Bug in x64 file requester and bug in Blizzard PPC ROM filesize headkase support.WinUAE 5 26 June 2016 14:17
WinUAE Enforcer and BADEDEEF? AGS support.WinUAE 3 17 March 2015 21:09
WinUAE Enforcer : pause at error ? thellier support.WinUAE 1 11 March 2015 21:22
Hit Fido Demo in WinUAE thor support.WinUAE 8 29 November 2006 22:39

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 12:06.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.
Page generated in 0.07253 seconds with 13 queries