![]() |
![]() |
#61 | ||
move.l #$c0ff33,throat
Join Date: Dec 2005
Location: Berlin/Joymoney
Posts: 6,863
|
Quote:
Quote:
moveq #0,d0 move.w d0,$1002.w Once I set the origin to $1000 the move.w d0,$1002.w should be converted too but Resource just keeps it as $1002.w which is a bug IMHO. |
||
![]() |
![]() |
#62 | |
Registered User
Join Date: Aug 2004
Location:
Posts: 3,349
|
Quote:
There are ways to work around the problem, but they aren't anywhere near as good as what ReSource should be doing itself. You have to tell ReSource to convert each individual reference manually. For absolute code, build a binary image starting from address 0. Then put a label "0" at address 0. Then you can get ReSource to show e.g. move.w d0,($1002).w as move.w d0,(lbW001002-0).w An option for things like Emerald Mine is to create custom symbol definitions for ReSource, then manually convert e.g. move.w d0,($1002).w to move.w d0,(SomeVariableName).w |
|
![]() |
![]() |
#63 | |||
move.l #$c0ff33,throat
Join Date: Dec 2005
Location: Berlin/Joymoney
Posts: 6,863
|
Quote:
Quote:
Quote:
![]() Yes, that works quite well and I've always been doing it like this. It's a lot of unnecessary extra work though. |
|||
![]() |
![]() |
#64 | ||
Registered User
Join Date: Aug 2004
Location:
Posts: 3,349
|
Quote:
Code:
jsr ($1234).l Code:
jsr ($1234).w Quote:
|
||
![]() |
![]() |
#65 |
move.l #$c0ff33,throat
Join Date: Dec 2005
Location: Berlin/Joymoney
Posts: 6,863
|
What I meant is this:
move.w d0,$1002.w -> 2 bytes for the instruction, 2 bytes for the absolute short address move.w d0,lBW1002 -> 2 bytes for the instruction, 4 bytes for the absolute address Thus the code size changes (converted instruction is 2 bytes larger) and that's most probably the reason why ReSource doesn't convert things like that even if "specifiy origin" is used. But it's still a bug in my opinion. |
![]() |
![]() |
#66 |
Registered User
Join Date: Aug 2004
Location:
Posts: 3,349
|
Why would ReSource need to convert instructions like that? It should be valid assembler source to keep the same addressing mode, i.e. move.w d0,(lbW001002).w.
But, I guess an option to display instructions which use absolute word addressing, without showing the (xxx).w could be useful if you want to re-assemble the program at a different address. So move.w d0,(lbW001002).w would be shown in the disassembly output as move.w d0,lbW001002 with that option. Then when you re-assemble the .asm file the assembler would generate absolute long addressing (6 bytes instruction + opcode) for that instruction. |
![]() |
![]() |
#67 |
Global Moderator
Join Date: Nov 2001
Location: Derby, UK
Age: 48
Posts: 9,355
|
how do I run this? Python 2.7 and pyside installed
|
![]() |
![]() |
#68 | ||
move.l #$c0ff33,throat
Join Date: Dec 2005
Location: Berlin/Joymoney
Posts: 6,863
|
Quote:
Quote:
Last edited by StingRay; 04 December 2012 at 20:34. Reason: typos |
||
![]() |
![]() |
#69 |
Registered User
Join Date: Jul 2009
Location: Lala Land
Posts: 604
|
Download it from github. Enter the 'peasauce' directory. If you are on a unix-like platform, type 'run.sh'. If you are on Windows, type 'run.bat'. If you are on another one where neither of these are suitable, then view one of those and execuate the given python command line.
|
![]() |
![]() |
#70 |
Global Moderator
Join Date: Nov 2001
Location: Derby, UK
Age: 48
Posts: 9,355
|
ahh i had to change the location of Python in the batch file..
thanks |
![]() |
![]() |
#71 |
Registered User
Join Date: Jul 2009
Location: Lala Land
Posts: 604
|
Any feedback positive or negative is appreciated and may (or may not) affect the work I do before it hits "ready for usage by people who don't mind teething problems" or zeta testing as I call it.
|
![]() |
![]() |
#72 |
Registered User
Join Date: Jul 2009
Location: Lala Land
Posts: 604
|
Finally got a little more time to fix bugs and implement the ASCII data block type, as seen in the screenshot below.
Source code and instructions on how to install it, available on github as usual. And please keep in mind it is moderately usable, but is not complete enough for use compared to Resource, yet. ![]() |
![]() |
![]() |
#73 | |
Registered User
Join Date: Feb 2007
Location: Melbourne, Australia
Age: 41
Posts: 3,773
|
run.sh is no good.
Quote:
Code:
#!/bin/bash python python/qtui.py $@ |
|
![]() |
![]() |
#74 | |
Registered User
Join Date: Jul 2009
Location: Lala Land
Posts: 604
|
Quote:
![]() I'll do some shell scripting revision, so I can work out how to get both working. Thanks for the reminder. |
|
![]() |
![]() |
#75 |
Registered User
Join Date: Jul 2009
Location: Lala Land
Posts: 604
|
I've had this functionality in since the beginning, the ability to go to referring addresses to the current selected label. But without a UI to select when there are multiple options, and some hint about the difference between them, it wasn't much use.
It works as follows: Select the line with a label, hit CTRL+SHIFT+RIGHT and the shown window will pop up with the addresses and code lines that reference that label. Source code and instructions on how to install it, available on github as usual. Nowhere near release yet, but project save file format has been solidified and will be kept backwards compatible from a few changes previous to this one. ![]() |
![]() |
![]() |
#77 |
Amiga NetRunner
Join Date: Apr 2005
Location: Spain
Age: 45
Posts: 942
|
Interesting piece of software. i like definitely the x68000 part, as it is one of my favourite 16 bit machines. Is the code now in python?. I remember reading that it was java o earlier posts. By the way, good work, and will take a look when some free time appears.
|
![]() |
![]() |
#78 |
Registered User
Join Date: Jul 2009
Location: Lala Land
Posts: 604
|
It was never written in Java, someone else had a Java disassembler. I wrote this in Python as a prototype.
There's no reason that the same core software can't support multiple architectures, whether m68k or x68k or arm and so forth. This is also on hiatus. The code isn't terrible, but it became a little unmanageable to change, and for now I am focusing on other projects. |
![]() |
![]() |
#79 |
Registered User
Join Date: Jul 2009
Location: Lala Land
Posts: 604
|
I've been working on my disassembler project peasauce a little more lately. Some new features:
I am hoping to work on these features next:
If anyone has any thoughts or ideas on any of these features, they'd be appreciated. Nothing too pie in the sky, as I'm trying to keep it simple to ensure I make progress. At the moment, the primary qualifier for features is so that after the initial load of a file, as much of the grunt work is done as possible. |
![]() |
![]() |
#80 |
Registered User
Join Date: Jul 2009
Location: Lala Land
Posts: 604
|
Alright, I've gotten the basics of "code analysis" working at a prototype level.
The first part where library calls are recognised, and then for each exec library open call the library name identified and converted to ASCII and renamed. The three library names in this Neuromancer executable that I use for testing, are all automatically renamed. The next step is looking where the output register goes and then using that to classify non exec library calls. Then perhaps loading in fds and naming library function symbols, .. ![]() |
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Peasauce disassembler | copse | Coders. General | 1 | 31 January 2021 20:54 |
ReSource disassembler | BlueAchenar | request.Apps | 2 | 04 December 2008 23:18 |
resource disassembler | dalton | request.Apps | 5 | 05 July 2006 21:26 |
ReSource disassembler | gizmomelb | request.Apps | 5 | 21 January 2006 23:50 |
Built in disassembler | XDread | request.UAE Wishlist | 4 | 24 April 2004 02:20 |
|
|