02 June 2024, 15:44 | #141 |
Zone Friend
Join Date: May 2006
Location: France
Posts: 1,852
|
The Vampire V4 support Emutos so I guess one could write an Atari app that hit the Amiga hardware is that also disabled?
|
02 June 2024, 21:46 | #142 |
Natteravn
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,546
|
Yes. When IRA detects an Atari executable it will disable Amiga hardware symbols.
Theoretically I could make that an option, but who would ever seriously write Atari software, which only runs under EmuTOS on Amiga hardware? |
02 June 2024, 22:25 | #143 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,376
|
IRA often detects wrongly Atari executables, ... then deletes the binary file probably because noone should use Atari.
|
02 June 2024, 23:13 | #144 |
Natteravn
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,546
|
Fixed long ago. The -binary option always has priority now.
|
04 June 2024, 08:19 | #145 | |
Registered User
Join Date: Apr 2019
Location: UK
Posts: 252
|
Quote:
I may consider a quick look into Atari support for Aira if it would be of use to anyone in the community. I know nothing about the platform though, other than 68000 + AY chip + something called TOS! I can only see a single "P" in the first three CODE boxes unfortunately. Browsing in Windows 10 Chrome. |
|
04 June 2024, 15:28 | #146 | |||
Natteravn
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,546
|
Quote:
-Ftosinstead of -Fhunkexeto generate the output. Autodetection of OS functions should be even easier, as you have a definite trapvector for BIOS, XBIOS and GEMDOS calls. The top word on the stack is the function code. Quote:
Quote:
|
|||
04 June 2024, 19:47 | #147 |
Zone Friend
Join Date: May 2006
Location: France
Posts: 1,852
|
@Hop, Atari support would be great.
Last edited by kamelito; 04 June 2024 at 21:30. |
05 June 2024, 20:55 | #148 |
Zone Friend
Join Date: May 2006
Location: France
Posts: 1,852
|
@PHX it looks like that IRA does not support disassembly of *.library (I suppose then that its the same for devices) I tried directly into Airforce not the command line is that right? if yes why not?
Welcome to Aira Force V0.6.2 ira exited with code 0 ERROR: Invalid symbol name "LIBFUNC_$A" ERROR: Failed to add symbol: SYMBOL LIBFUNC_$A $0003D1D0 ERROR: Failed to parse config directive on line 25: SYMBOL LIBFUNC_$A $0003D1D0 Last edited by kamelito; 07 June 2024 at 13:27. |
19 June 2024, 13:45 | #149 |
Registered User
Join Date: Apr 2019
Location: UK
Posts: 252
|
I have found that ira can generate duplicate labels for jump tables with base address. This prevents the disassembled code from assembling. I've struggled to fix this locally and would be very grateful for any help.
Please find below a minimal repro. Source code JumpTableBug.s: Code:
; Minimal repro for jump table with base address label bug SECTION S_0,CODE moveq #0,d0 move.b Status(PC),d0 add.w d0,d0 ; word offset move.w CJumpTable(pc,d0.w),d0 jmp CJumpTable(pc,d0.w) ; C compilers often generate jump tables with entries relative to table address +2 CJumpTable: ; word sized elements dc.w Red-(CJumpTable+2) dc.w Green-(CJumpTable+2) dc.w Blue-(CJumpTable+2) ;-------------------------------------------------------- Red: move.w #$f00,$dff180 rts Green: move.w #$0f0,$dff180 rts Blue: move.w #$00f,$dff180 rts Status: dc.b 2 END Code:
vasmm68k_mot -Fhunkexe -kick1hunks -no-opt -pic -wfail -warncomm -o JumpTableBug JumpTableBug.s Code:
MACHINE 68000 ENTRY $00000000 OFFSET $00000000 SYMBOL Status $00000034 SYMBOL CJumpTable $00000010 SYMBOL Red $00000016 SYMBOL Green $00000020 SYMBOL Blue $0000002A CODE $00000000 - $00000010 JMPW $10 - $16 @ $12 CODE $00000016 - $00000034 END Code:
ira -a -label=1 -radix=0 -compat=bi -config JumpTableBug CJumpTablelabel, and table entries which don't reference the named symbol as expected: Code:
; IRA V2.11 (Jun 19 2024) (c)1993-1995 Tim Ruehsen ; (c)2009-2024 Frank Wille, (c)2014-2019 Nicolas Bastien COLOR00 EQU $DFF180 SECTION S_0,CODE SECSTRT_0: MOVEQ #0,D0 ;00: 7000 MOVE.B Status(PC),D0 ;02: 103a0030 ADD.W D0,D0 ;06: d040 MOVE.W CJumpTable(PC,D0.W),D0 ;08: 303b0006 JMP CJumpTable(PC,D0.W) ;0c: 4efb0002 CJumpTable: CJumpTable: DC.W (Red)-(LAB_10+2) ;10: 0004 DC.W (Green)-(LAB_10+2) ;12: 000e DC.W (Blue)-(LAB_10+2) ;14: 0018 Red: MOVE.W #$0f00,COLOR00 ;16: 33fc0f0000dff180 RTS ;1e: 4e75 Green: MOVE.W #$00f0,COLOR00 ;20: 33fc00f000dff180 RTS ;28: 4e75 Blue: MOVE.W #$000f,COLOR00 ;2a: 33fc000f00dff180 RTS ;32: 4e75 Status: DC.L $02000000 ;34 END 1. Modify WriteLabel2to pass ira->p2labindto GetSymbolinstead of index 2. Modify the final call to GetSymbolin GetLabelto pass rinstead of r2 This produces this, which isn't ideal, and I'm also concerned about side-effects: Code:
... MOVE.W CJumpTable(PC,D0.W),D0 ;08: 303b0006 JMP CJumpTable(PC,D0.W) ;0c: 4efb0002 CJumpTable: LAB_10: DC.W (Red)-(CJumpTable+2) ;10: 0004 DC.W (Green)-(CJumpTable+2) ;12: 000e DC.W (Blue)-(CJumpTable+2) ;14: 0018 Red: ... Last edited by hop; 19 June 2024 at 13:51. Reason: Clarity |
19 June 2024, 16:51 | #150 | |||
Natteravn
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,546
|
Quote:
Quote:
ira->p2labindto indexlast December to fix something. It was done with this commit-log: Code:
Bug fixes: - Fixed TRAP_nn symbols for address range $80 to $bc. - Instructions with PC-relative references outside of the current section are no longer ignored but generated with a constant displacement. New features: - Option -LABEL=<n> lets you select the label-style. 0: original style with 4-digit continuous index: LAB_NNNN 1: use hexadecimal address in label: LAB_ADDR - Option -RADIX=<n> select the radix for displacements and equates. 0: use hex for values >= 10, decimal for the rest (including negatives) 10: print as decimal 16: print as hexadecimal, except -9 to 9, which is printed decimal Quote:
But it must have something to do with symbols. Because with automatic labels the issue doesn't occur. |
|||
19 June 2024, 17:50 | #151 | |
Registered User
Join Date: Apr 2019
Location: UK
Posts: 252
|
Quote:
|
|
24 June 2024, 20:22 | #152 |
Zone Friend
Join Date: May 2006
Location: France
Posts: 1,852
|
@PHX Archon do have many sections, Archon 2 even more. The code section are code is IRA able to disassemble code section as code by default ? I suppose that most C generated ASM contains code in code section. Doing it manually is cumbersome.
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
ira for Windows | jotd | Coders. General | 63 | 12 December 2023 10:53 |
New tutorial on sprites | Yragael | Coders. Tutorials | 8 | 04 September 2023 21:00 |
Debugging messages in serial (small tutorial, mainly for cross-dev) | alkis | Coders. Asm / Hardware | 7 | 22 February 2016 14:16 |
68020 to 68000 code convertion using Ira and PhxAss | gulliver | Coders. Asm / Hardware | 18 | 12 April 2014 01:09 |
Looking for IRA v1.07 or newer :-) | voxel | request.Apps | 7 | 30 July 2008 01:39 |
|
|