29 June 2024, 11:15 | #121 | ||
Registered User
Join Date: Apr 2019
Location: UK
Posts: 267
|
Quote:
Quote:
_clear_spacesymbol is in the HUNK_SYMBOL of code root hunk 39 Code:
ira -INFO ArchonII-ADEPT Code:
... Module 37 : DATA ,PUBLIC ,0 Bytes. Module 38 : BSS ,PUBLIC ,0 Bytes. Module 39 : CODE ,PUBLIC ,888 Bytes. Hunk_Reloc32: 36 entries hunk_symbol: _clear_space = 00006218 _check_control = 00006296 ... _clear_spacesymbol being output in data section 37 of the disassembly Code:
ira -a -label=1 -radix=0 -compat=bi -keepbin -keepzh -M68000 -offset=$10000 -entry=$10000 -preproc ArchonII-ADEPT Code:
... SECTION S_37,DATA _clear_space: SECTION S_38,BSS SECSTRT_38: SECTION S_39,CODE SECSTRT_39: LINK.W A6,#-16 ;16218: 4e56fff0 CLR.L -8(A6) ;1621c: 42aefff8 ... |
||
29 June 2024, 12:36 | #122 |
Zone Friend
Join Date: May 2006
Location: France
Posts: 1,864
|
So is it something that need to be reported to PHX? If yes then I’ll let you do it
|
29 June 2024, 13:40 | #123 | |
Registered User
Join Date: Apr 2019
Location: UK
Posts: 267
|
Quote:
EDIT: I have hacked together a potential fix. Please find attached a patched ira.exe to replace the one in the AiraForce folder. I hope it works for you. More details in the Small IRA Tutorial thread. Last edited by hop; 29 June 2024 at 20:17. |
|
30 June 2024, 18:36 | #124 |
Zone Friend
Join Date: May 2006
Location: France
Posts: 1,864
|
it worked.
|
30 June 2024, 19:23 | #125 |
Registered User
Join Date: Apr 2019
Location: UK
Posts: 267
|
|
30 June 2024, 19:36 | #126 |
Zone Friend
Join Date: May 2006
Location: France
Posts: 1,864
|
Thanks.
|
05 July 2024, 20:37 | #127 |
Registered User
Join Date: Jun 2008
Location: somewhere else
Posts: 533
|
Great tool with huge potential (so far).
A couple of remarks/questions tho: - It's not saving it's entire configuration (like the analysis behaviours have to be re-entered each time the tool is launched). - Is there a way to not display the data comments in the generated .asm (it clutters the final source code) ? - It lacks a way to define data as bytes/words/longwords (it's extremely important, especially to decode/discern data structures). - It's rare but i've already encountered programs which use 2 base registers. - Jumps tables' dc.w are still displayed as raw offsets instead of labels even after creating a jump table (unless i missed something obvious somewhere). I've encountered a crash because i didn't define the proper address of a base register (left it at 0) which created a collision between 2 labels -> program exits. f. |
05 July 2024, 21:48 | #128 |
Zone Friend
Join Date: May 2006
Location: France
Posts: 1,864
|
@ hitchhikr
I agree with you about data size.I asked twice the last one was answered see https://eab.abime.net/showpost.php?p...1&postcount=65 |
05 July 2024, 22:13 | #129 | ||||||
Registered User
Join Date: Apr 2019
Location: UK
Posts: 267
|
Quote:
Quote:
Quote:
Quote:
Quote:
NBASto omit regions. Quote:
I'll see if I can repro this, but if you have a repro that would be great thanks. |
||||||
05 July 2024, 22:36 | #130 | ||||
Registered User
Join Date: Jun 2008
Location: somewhere else
Posts: 533
|
Quote:
Quote:
Quote:
Quote:
Jump tables aren't resolved in this one (also change the BASEADR to $00000000 and try to open it). |
||||
Yesterday, 11:44 | #131 | |
Registered User
Join Date: Apr 2019
Location: UK
Posts: 267
|
Quote:
I would like to be clear on what you're trying to achieve. Do you want to be able to define data structures and regions of memory to which they apply in order to make the disassembler automatically format DC.X statements appropriately? So for example, if the original code used data structure: Code:
struct Sprite { int16_t x; int16_t y; uint32_t mask; uint8_t tile; uint8_t flags; }; Code:
STRUCT Sprite WWLBB ARRAY $4008-$4012 Sprite Code:
LAB_4008: DC.L $01110022 DC.L $80000001 DC.W $1743 Code:
LAB_4008: DC.W $111 DC.W $22 DC.L $80000001 DC.B $17 DC.B $43 Thanks for the jump table repro data. I'll have a look. Last edited by hop; Yesterday at 11:45. Reason: Clarity |
|
Yesterday, 12:28 | #132 | |
Registered User
Join Date: Apr 2019
Location: UK
Posts: 267
|
Quote:
Currently you need to resolve this manually (I'll look into adding a tool to auto fix). This is how I would fix it: 1. Double click the first JMPW entry to select the address in the disassembly window. 2. Press D to convert to data * 3. Repeat for second JMPW entry -------- # ira doesn't like this. I'll try to find out how this might have happened because adding a jump table should cut into the CODE ranges in the config * DATA does not exist, it just implies an absence of a CODE or TEXT range, so effectively cuts into the existing CODE range. The convert to data tool stops at the next label, which is the end of the jump table in this case. Hope this helps. I'll look in the the BASEREG issue for you. Last edited by hop; Yesterday at 12:32. Reason: More details |
|
Yesterday, 15:23 | #133 | |
Registered User
Join Date: Jun 2008
Location: somewhere else
Posts: 533
|
Regarding data structure, yes it would be something like that but adding them manually to the configuration file isn't an option as there can be hundreds of them in a file.
A way to define such structures within your tool would be most useful and a command to set contiguous blocks of those in one move would be ideal. The JMPW solution works, i didn't see those warning messages (didn't know there were warns displayed here). Quote:
|
|
Yesterday, 18:15 | #134 | |
Registered User
Join Date: Apr 2019
Location: UK
Posts: 267
|
Quote:
The DOC exe is a good test case thanks. I've updated the jump table finder tool to detect this style of jump table, and also the code finder to queue jump table destination addresses. I also fixed the shutdown on duplicate labels in disassembly that ira spits out when the baseregs is incorrectly configured. I'll try to release a patch this weekend. The DOC exe contains symbols, which can't be overwritten by ira currently. Because a handful of them start with a dot, but are not local labels, VASM fails to reassemble. To fix this, you can filter the Labels in the labels window by those starting with a dot, and find and replace the dot with an underscore in an external hex editor (Aira can't patch yet). Then vasm will reassemble the disassembly just fine. |
|
Yesterday, 18:41 | #135 |
Registered User
Join Date: Jun 2008
Location: somewhere else
Posts: 533
|
Nice, i almost forgot, the possibility to use another font or to be able to zoom it would also be nice.
|
Yesterday, 18:45 | #136 | |
Registered User
Join Date: Apr 2019
Location: UK
Posts: 267
|
Quote:
|
|
Yesterday, 21:58 | #137 |
Registered User
Join Date: Jun 2008
Location: somewhere else
Posts: 533
|
Working, latest Windows version needs freetype.dll (https://github.com/ubawurinna/freetype-windows-binaries).
|
Yesterday, 22:03 | #138 |
Registered User
Join Date: Jun 2008
Location: somewhere else
Posts: 533
|
Also handling page up/down keys to go up/down page by page could be useful (doesn't seem to work here an my laptop)
|
Yesterday, 22:50 | #139 | |
Registered User
Join Date: Apr 2019
Location: UK
Posts: 267
|
Quote:
That's strange, that's been in since the start. Perhaps the disassembly window needs to have focus. I'll have a look. Last edited by hop; Yesterday at 22:56. |
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Interactive symbolic bitop calculator | paraj | Coders. Asm / Hardware | 2 | 07 May 2017 22:13 |
What was that interactive interview with the Sensible Software team? | Mark_C | Nostalgia & memories | 1 | 10 June 2004 03:38 |
Amiga Interactive Guide gets a facelift... | Amiga1992 | Amiga websites reviews | 5 | 22 March 2003 18:50 |
Amiga Interactive Guide | Twistin'Ghost | Amiga websites reviews | 0 | 13 July 2002 13:05 |
Nightbreed Interactive Movie | Steve | support.Games | 19 | 04 October 2001 18:43 |
|
|