English Amiga Board


Go Back   English Amiga Board > Support > support.WinUAE

 
 
Thread Tools
Old 04 April 2018, 19:32   #41
bernd roesch
Registered User
 
Join Date: Apr 2012
Location: germany
Posts: 124
Quote:
Originally Posted by Toni Wilen View Post
I don't know, Bernd did that

But some of the differences are due to not doing extra any conversions, simple direct decoding it, for example BT is technically correct (Bcc + True condition = BT, BRA is only a nice alias)

I already "translated" most useless variants, for example MOVEM which was originally something like MVMEL and MVMLE #value,.. Which was done most likely because MOVEM to memory and MOVEM from memory are actually different op codes (from UAE emulation point of view because they don't implement same addressing modes) and registers are encoded as immediate word, same as MOVE.W #xxxx uses)

Same with other special instructions, instructions that only implement very limited addressing modes or have side-effects and have different "from" and "to" opcode variants (MOVEP, MOVE SR/CCR etc..), UAE disassembler requires them to have different "internal" unique opcode because disassembler opcode is same as instruction emulation opcode function name. Unless extra translation is added.

MMU/FPU instructions (that aren't properly supported in debugger) are even worse because they don't use normal addressing/register bits.
there is good disassembler library http://aminet.net/package/util/libs/DisLib maybe it is possible to run 68k code from the debugger to disassemble correct all
bernd roesch is offline  
Old 04 April 2018, 19:51   #42
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 22,105
Quote:
where can get amiga.lib and where i need put this ?. amiga.lib is a linker library.
Read the first post carefully, it explains the purpose of amiga.lib.

EDIT: 3F1 error makes no sense because it is debug hunk and they are supported..

Quote:
there is good disassembler library http://aminet.net/package/util/libs/DisLib maybe it is possible to run 68k code from the debugger to disassemble correct all
Absolute not! It needs to be based on CPU emulator structures. It is only way to enable debugger to do all kinds of nice tricks. (like future plan to actually emulate code internally when disassembling, to get real register contents and correct branches without actually tracing)

Last edited by Toni Wilen; 04 April 2018 at 20:10.
Toni Wilen is offline  
Old 04 April 2018, 21:03   #43
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 2,966
Quote:
Originally Posted by Toni Wilen View Post
Not going to be changed. Fullscreen mode has always been unsupported. Debugger has special requirements and it won't automatically fix any of them.
If pressing Shift-F12 in full-screen mode causes WinUAE to crash, I think it would be better to just disable/ignore that key combination when in full-screen mode.
mark_k is offline  
Old 04 April 2018, 21:06   #44
DamienD
Global Moderator

DamienD's Avatar
 
Join Date: Aug 2005
Location: London / Sydney
Age: 42
Posts: 12,779
That's a good point mark_k.

...sometimes I accidently press <Shift> + <F12> when is fullscreen mode and then have to bring up Task Manager to kill WinUAE as I'm stuck
DamienD is offline  
Old 05 April 2018, 11:16   #45
Tomislav
Registered User

 
Join Date: Aug 2014
Location: Zagreb / Croatia
Posts: 144
If you accidentally press <Shift>+<F12> try to exit debugger with <Alt>+<F4>.
Tomislav is offline  
Old 05 April 2018, 11:46   #46
DamienD
Global Moderator

DamienD's Avatar
 
Join Date: Aug 2005
Location: London / Sydney
Age: 42
Posts: 12,779
Thanks man, no sure why I never tried that standard Windows key combination before
DamienD is offline  
Old 05 April 2018, 11:49   #47
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 22,105
Ctrl+C should work. (when debugger window has focus)
Toni Wilen is offline  
Old 06 April 2018, 15:15   #48
Tomislav
Registered User

 
Join Date: Aug 2014
Location: Zagreb / Croatia
Posts: 144
Quote:
Originally Posted by DamienD View Post
Thanks man, no sure why I never tried that standard Windows key combination before
No problem.
Anyway, Alt+F4 works only with GUI debugger.
x+<Enter> works for both

Quote:
Originally Posted by Toni Wilen View Post
Ctrl+C should work. (when debugger window has focus)
Ctrl+C only work when you are in console debugger and (to me) it was by default in GUI debugger. Alt+F4 works only with GUI debugger.

When I switched from GUI to console debugger (xx command) I saw just blank debugger window without text and without prompt. I could only use Ctrl+C to exit emulation.

Next time when I used WinUAE it was console debugger as default. Now when emulation is in fullscreen and I press Shift+F12 it put down emulation screen and switch to console debugger.

When you going to use debugger I think that is better when emulation is in window mode because you can see what is happening in both debugger and emulation.
Tomislav is offline  
Old 07 April 2018, 15:38   #49
bernd roesch
Registered User
 
Join Date: Apr 2012
Location: germany
Posts: 124
thanks for upload new version. lawbreaker work now and show symbol info

I use often t or z key. maybe it is possible when use t or z key that this can work so instead of 2 key presses need only one. this can do when press return to execute t or z, the t or z command is written again in input line. so when want do a step, need only press return. if want another command, then can del the z or t

in the disasm output there can with cursor up down move a box. maybe it is easy possible that with the cursor keys the disasm address can change so can scroll thru disasm output and can see previous instructions or later instructions. older dissasemble adresses can keep in a line buffer, so it is possible to look to older adresses again.
bernd roesch is offline  
Old 07 April 2018, 19:40   #50
bernd roesch
Registered User
 
Join Date: Apr 2012
Location: germany
Posts: 124
Is it possible that there can add an unused opcode in a program with(define with dc.w) that it jump to debugger when this opcode appear ?(when program is start with uaedbg) ?. it is also possible to use 68k illegal instruction to jump into debugger.
bernd roesch is offline  
Old 07 April 2018, 20:42   #51
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 22,105
Quote:
Originally Posted by bernd roesch View Post
Is it possible that there can add an unused opcode in a program with(define with dc.w) that it jump to debugger when this opcode appear ?(when program is start with uaedbg) ?. it is also possible to use 68k illegal instruction to jump into debugger.
$4afc (official illegal instruction) probably is best option.
Toni Wilen is offline  
Old 08 April 2018, 10:02   #52
demoniac
Registered User
 
Join Date: Jul 2005
Location: -
Posts: 1,327
Quote:
Originally Posted by Toni Wilen View Post
I don't know, Bernd did that

But some of the differences are due to not doing extra any conversions, simple direct decoding it, for example BT is technically correct (Bcc + True condition = BT, BRA is only a nice alias)

...
Thanks for the explanation. Interesting to learn about the internals of the program.
demoniac is offline  
Old 19 April 2018, 17:00   #53
sigma63
Registered User

 
Join Date: Oct 2014
Location: Berlin
Posts: 128
Crash with uaedbg

Hello Guys,

i have problems with this new debug-feature.
With latest v4.0.0 ß 3 (and ß 2, others not tested), i start with Quickstart A3000, 3.1 ROM w/ 2MB Chip+8MB Fast. The only addition is my normal hdf.
Now i open a CLI/Shell und type "uaedbg c:LawBreaker". I immediately get a Crash wich produces a MiniDump-File.
I tested with amiga.lib in plugins\debugger and without -same result.

Is there something missing?

Invoking the non-GUI-debugger with Shift-F12 works OK, with amiga.lib also.
(Loaded 'amiga.lib', 78 libraries, 1342 LVOs.)

Should i attach the Dump and/or logs?
sigma63 is offline  
Old 19 April 2018, 18:04   #54
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 22,105
GUI debugger is not supported in this mode but it still shouldn't crash so attach dump, thanks.
Toni Wilen is offline  
Old 20 April 2018, 14:26   #55
alpine9000
Registered User

 
Join Date: Mar 2016
Location: Australia
Posts: 617
In a similar theme to invalid memory accesses causing a debugger break, would it be possible to break if I try and step a floppy drive out of range?

I’m sure this feature would be useful for the 2-3 people that mess around with track loader code each decade ;-)

I’d also be interested if any old track loaders ever try to do this.
alpine9000 is offline  
Old 20 April 2018, 17:41   #56
sigma63
Registered User

 
Join Date: Oct 2014
Location: Berlin
Posts: 128
Quote:
Originally Posted by Toni Wilen View Post
GUI debugger is not supported in this mode but it still shouldn't crash so attach dump, thanks.
Hello Toni,
i think you have mistaken me. I don't expected the GUI Debugger to start.
I thought if i start "uaedbg c:LawBreaker" on amiga-side from Initial CLI would bring up the non-gui-debugger but i get an crash wich generates a minidump.
Its included together with winuae[boot]log.txt
Hope it helps
Attached Files
File Type: zip uaedbg-crash.zip (45.0 KB, 81 views)
sigma63 is offline  
Old 20 April 2018, 18:09   #57
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 22,105
Quote:
Originally Posted by alpine9000 View Post
In a similar theme to invalid memory accesses causing a debugger break, would it be possible to break if I try and step a floppy drive out of range?

I’m sure this feature would be useful for the 2-3 people that mess around with track loader code each decade ;-)

I’d also be interested if any old track loaders ever try to do this.
No. Soon there would be hundreds of different breakpoint trigger conditions...

There is already log message, I'll add current PC to message, it should be enough information to find where and when it happens.

I have seen that message ("program tried to step over track 80") few times, some loaders do extra useless step after last track has been read and causes this message if last track was 79.

Quote:
Originally Posted by sigma63 View Post
Hello Toni,
i think you have mistaken me. I don't expected the GUI Debugger to start.
I thought if i start "uaedbg c:LawBreaker" on amiga-side from Initial CLI would bring up the non-gui-debugger but i get an crash wich generates a minidump.
Its included together with winuae[boot]log.txt
Hope it helps
Looks like you are running out of memory. (Windows XP = small per process memory space availability, best case is slightly over 512M or so).

Manually adding smaller debugmem space may help:

debugmem_start=0x70000000
debugmem_size=0x08000000 (or 0x04000000 or even smaller, default is very large)

If it does not work: sorry, XP is unsupported. This debug method by design requires lots of RAM. (hundreds of megabytes). 64-bit OS is recommended.
Toni Wilen is offline  
Old 21 April 2018, 01:39   #58
alpine9000
Registered User

 
Join Date: Mar 2016
Location: Australia
Posts: 617
Quote:
Originally Posted by Toni Wilen View Post
No. Soon there would be hundreds of different breakpoint trigger conditions...

There is already log message, I'll add current PC to message, it should be enough information to find where and when it happens.

I have seen that message ("program tried to step over track 80") few times, some loaders do extra useless step after last track has been read and causes this message if last track was 79.
Actually I think a log message is probably more appropriate for this kind of thing anyway.

I noticed that the check for stepping out beyond zero is commented out:

Code:
   /*	else
   write_log (_T("program tried to step beyond track zero\n"));
   "no-click" programs does that
   */
alpine9000 is offline  
Old 21 April 2018, 10:13   #59
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 22,105
Quote:
Originally Posted by alpine9000 View Post
Actually I think a log message is probably more appropriate for this kind of thing anyway.

I noticed that the check for stepping out beyond zero is commented out:

Code:
   /*	else
   write_log (_T("program tried to step beyond track zero\n"));
   "no-click" programs does that
   */
Yes. Comment text should explain it.
Toni Wilen is offline  
Old 21 April 2018, 10:16   #60
alpine9000
Registered User

 
Join Date: Mar 2016
Location: Australia
Posts: 617
Quote:
Originally Posted by Toni Wilen View Post
Yes. Comment text should explain it.
Yeah, I saw that, was just wondering what the actual deal is with this. HRM says to never do that as it might cause alignment issues, yet it then goes on to say that new drives should ignore this command.

I ran no-click for years on my original A500 and had no issues ;-)

Guess this is getting a bit off topic...
alpine9000 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
Debugger updates (was: WinUAE Debugger HH PC history) selco support.WinUAE 8 14 March 2018 23:27
Hacking the fs-uae console debugger alpine9000 Coders. Asm / Hardware 1 28 March 2016 17:45
Added SegTracker to FS-UAE's Debugger lallafa support.FS-UAE 7 16 January 2016 12:03
Amiga Segment!!! :) :) blade002 Amiga scene 8 08 October 2015 16:00
SAS/C: Undefined symbols Yesideez Coders. C/C++ 14 13 February 2014 17:36

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


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2018, vBulletin Solutions Inc.
Page generated in 0.13350 seconds with 14 queries