English Amiga Board


Go Back   English Amiga Board > Support > support.WinUAE

 
 
Thread Tools
Old 13 April 2016, 23:36   #1
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,361
"il" exception mask

Hi,

Default "il" traps exceptions but also VBL interrupts, ...

What's the correct mask for all types of illegal/line-f/read on odd address on 68000 exceptions?
jotd is offline  
Old 16 April 2016, 19:22   #2
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,557
Default mask does not include interrupt exceptions.

Each bit equals exception vector number: bit 2 = bus error, bit 3 = address error and so on. (0 and 1 are unused, CPU uses them only in reset exception) Check i instruction output for exception numbers (or check Motorola documentation but it is far too boring!)

Mask FFFF matches all vectors from 0 to 15 which includes all usual "something went wrong" exceptions.

(There is also interesting bug, it is 64-bit mask but read function is only 32-bit so it is not possible to manually set any exception vectors >= 32 masks.. This will be fixed in next beta)
Toni Wilen is online now  
Old 14 June 2024, 14:30   #3
Rock'n Roll
German Translator
 
Rock'n Roll's Avatar
 
Join Date: Aug 2018
Location: Drübeck / Germany
Age: 49
Posts: 194
How does the 64Bit-Exception breakpoint mask: FFFFFFFF 00FFFFFF works? and also the i and il command, also here: https://eab.abime.net/showthread.php?t=102444
a little help and some remarks in blue

Quote:
Originally Posted by Toni Wilen View Post
Mask FFFF matches all vectors from 0 to 15 which includes all usual "something went wrong" exceptions.
Code:
>?$ffff		; for all Exceptions from 0 to 15
$0000FFFF = %00000000`00000000`11111111`11111111 = 65535 = 65535
>?$0020		; Bit 5 is set for Exception 5
$00000020 = %00000000`00000000`00000000`00100000 = 32 = 32	
>il $20
Exception breakpoint mask: 00000000 00000020

This works in my test with Exception 5, but the infomessage 'Exception 5, PC=000278A8' is missed.
The maskvalue is a little bit complicated. but this can help:
>?1<<5		; for Exception 5
$00000020 = %00000000`00000000`00000000`00100000 = 32 = 32
>?1<<27		; for Exception 27
$08000000 = %00001000`00000000`00000000`00000000 = 134217728 = 134217728
>il			; disable the exception breakpoint
Exception breakpoint mask: 00000000 00000000
>il			; enables the exception breakpoint with default mask
Exception breakpoint mask: FFFFFFFF 00FFFFFF
>
With default mask, Exception 27: Lvl 3 Int doesn't break, therefore change the maskvalue to
>il $8FFFFFF
Exception breakpoint mask: 00000000 08FFFFFF

>?1<<(47-32)		; for Exceptions from 32 to 47
>il $FFFFFFFF		; 0 bis 31
Exception breakpoint mask: 00000000 FFFFFFFF
>il $FFFFFFFFFFFF	; >32Bit masks are not possible
Exception breakpoint mask: 00000000 FFFFFFFF
>
Code:
a normal exception occurs in singlestep mode with:
>t
Exception 5, PC=000278A8
VPOS: 106 ($06a) HPOS: 009 ($009) COP: $0001ede4

and with il
>il
Exception breakpoint mask: FFFFFFFF 00FFFFFF
>g
; Exception 5, PC=000278A8						; but this info is missed here
VPOS: 009 ($009) HPOS: 127 ($07f) COP: $0000046c
...
00fc081e 616c                     bsr.b #$6c == $00fc088c
Code:
>i		; i $14 is not possible, it's always the complete list
...
$00000014 05:     DIV BY 0 $00FC081E
...

>m 14 1
00000014 00FC 081E 00FC 0820 00FC 0822 00FC 090E  ....... ..."....
>d FC081E 1
00fc081e 616c                     bsr.b #$6c == $00fc088c
>d rl($14) 1
00fc081e 616c                     bsr.b #$6c == $00fc088c
on the end, disable the exception breakpoint with
>il
Exception breakpoint mask: 00000000 00000000
otherwise the debugger reopens again and it can't be closed with >x

without il the program runs into the exception without a break.

If you only break on any next exception, then use the tx-command.
Code:
>tx
Exception 5, PC=000278A8
Cycles: 0 Chip, 0 CPU. (V=105 H=51 -> V=105 H=51)
...
00fc081e 616c                     bsr.b #$6c == $00fc088c
i [<addr>] Dump contents of interrupt and trap vectors.
The helptext i [<addr>] is wrong, it's only i, please change the helptext or make also the argument possible, like: i 6c
Rock'n Roll 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
WHDLoad Errors: Exception "Line 1111 Emulator" vext01 support.Apps 15 17 February 2014 09:00
"Exception "Line 1111 Emulator" ($2c) Error at $1004" when exiting game demolition support.WinUAE 15 30 November 2012 16:43
WHDLoad - Exception "Privilege Violation" Error ricky500 project.WHDLoad 12 13 November 2008 22:45
Exception "Privilege Violation" on MadTV andy_blah project.WHDLoad 2 29 August 2008 17:50
Nightbreed Interactive Movie - "Line 1111 Emulator" exception MethodGit project.WHDLoad 5 18 April 2007 15:27

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 13:39.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.07001 seconds with 15 queries