06 June 2012, 04:27 | #1 |
Registered User
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,400
|
Compile issues using PhxAss
Hiya,
I'm trying to compile the following assembler file (which I didn't write BTW) using PhxAss. It seems to be having trouble with the global variable declarations which have arithmetic applied to them at declaration time....like these ones: __farbss equ _aliastransform-$f0 line 94 _r_drawsurf_surf equ _r_drawsurf+8 line 738 vid_colormap equ _vid+4 line 740 Any ideas how to fix this? Last edited by NovaCoder; 08 July 2013 at 06:33. |
06 June 2012, 06:35 | #2 |
Registered User
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,400
|
This is interesting, I think I may have stumbled across a solution...
Code:
patch macro ;; move.l d1,(\1-_c2p8start+4,a0) ; This fails because of bug in PhxAss movea.l #\1-_c2p8start,a1 ; so try this way instead. move.l d1,4(a0,a1.l) endm |
06 June 2012, 10:58 | #3 | |
Natteravn
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,496
|
Quote:
If you're not coding on an extremely resource-limited system, like an A500, I would always recommend to upgrade to vasm (http://sun.hasenbraten.de/vasm/ ). |
|
06 June 2012, 11:02 | #4 |
Natteravn
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,496
|
This works for me with V4.40. Both labels, \1 and _c2p8start, have to be defined locally in your current source, though. Otherwise the expression is illegal, on all assemblers, because no relocation exists which can represent such an operation in an object file.
|
07 June 2012, 04:22 | #5 |
Registered User
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,400
|
Ok thanks Frank, I'll give VSAM another go then. Last time I tried it I had some issues linking to my C/C++ project, I'll let you know if I have any issues.
|
08 June 2012, 13:04 | #6 |
Registered User
Join Date: Jan 2008
Location: Warsaw/Poland
Age: 55
Posts: 1,960
|
PhxAss is fast, but has some bugs, from my memory don't handle "/" sign correctly.
F.e, you can assemble next line and check results under ReSource: dc.b '////////' |
08 June 2012, 15:11 | #7 |
Natteravn
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,496
|
You probably mean the '\' character, not '/'.
'\' is used as an escape-character, like in C. And vasm inherited this feature from PhxAss in its default mode. It can be disabled in vasm by entering Devpac-compatibility mode (-devpac option). |
11 June 2012, 14:03 | #8 | |
Registered User
Join Date: Jan 2008
Location: Warsaw/Poland
Age: 55
Posts: 1,960
|
Quote:
dc.l (BuffyEnd-Buffy)/4 Buffy ds.b 128 BuffyEnd I don't use Vasm, meynaf told me that is too slow. Some from my game sources are assembled many (over 20) minutes even for 68040, for 68000 and Devpac are assembled over 4 hours and 20 minutes. |
|
12 June 2012, 08:11 | #9 |
Registered User
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,400
|
Hiya Frank,
How do you run the Amiga Output module? http://sun.hasenbraten.de/vasm/release/vasm.html I tried 'vasm c2p_file.s -o c2p_file.o -m=68060 -databss' but that came up with and error message 'unknown option 'databss' I assume I need to specify 'databss' otherwise I won't able to link the object file to my Amiga C project like I do with PhxAss? I tired downloading the files from the VASM site but I had the same problem as last time (I couldn't unpack them on my system). |
12 June 2012, 11:04 | #10 | ||||
Natteravn
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,496
|
Quote:
Quote:
Quote:
The option will just remove zero-words at the end of a section (which is only supported since OS2.0). Quote:
|
||||
12 June 2012, 11:10 | #11 | |||
Natteravn
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,496
|
Quote:
Quote:
Quote:
|
|||
12 June 2012, 15:37 | #12 | |
Registered User
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,400
|
Quote:
Exactly the same assembler source file produces a file using PhxAss that I can link successfully with so something is not working right for me with VASM. I tried to download this file -> http://sun.hasenbraten.de/vasm/downl...asmm68k_mot.gz And cannot open the archive no matter which program I use (Windows 7). |
|
12 June 2012, 16:37 | #13 | ||
Natteravn
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,496
|
Quote:
You cannot expect the assembler to generate Amiga hunk format output, when you don't select it! Use the -Fhunk option! Quote:
Works fine for everybody else. Just install gzip: http://www.gzip.org/ Or use a real operating system. |
||
13 June 2012, 01:07 | #14 | |
Registered User
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,400
|
Quote:
|
|
13 June 2012, 22:31 | #15 | ||
Global Moderator
Join Date: Aug 2008
Location: Sidcup, England
Posts: 10,300
|
Quote:
Last edited by prowler; 13 June 2012 at 22:42. |
||
13 June 2012, 23:24 | #16 |
Registered User
Join Date: Apr 2005
Location: digital hell, Germany, after 1984, but worse
Posts: 3,365
|
This file is indeed compressed in gzip format, but you will need a decompressor which is able to decode the advanced 7z compression. On my PC I can do this successfully with WinRAR or 7-Zip, of course. The analysis from universal unextractor is this:
Collecting data from file: vasmm68k_mot.gz 100.0% (.Z/GZ/GZIP) GZipped File (3000/1) 7-Zip gzip compressed file ... |
14 June 2012, 11:04 | #17 |
Natteravn
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,496
|
Hmm... now I'm getting worried. You all do really have problems with that gzip format do you?
I checked it again on a real 68k Amiga (running OS3.1), using gzip 1.2.4 from Aminet: http://aminet.net/util/pack/gzip124x2.lha Code:
gzip -d vasmm68k_mot.gz The original file on the web-server is compressed by NetBSD's gzip. It may have been highest compression level, but it shouldn't use 7z. Code:
frank@sun cd /var/www/vasm/download/vasm_M68k_motorola/1.5b/AmigaOS3_68k/ frank@sun file vasmm68k_mot.gz vasmm68k_mot.gz: gzip compressed data, was "vasmm68k_mot_os3", from Unix frank@sun gzip --version NetBSD gzip 20040830 |
15 June 2012, 00:44 | #18 |
Registered User
Join Date: Mar 2008
Location: Berlin/Germany
Posts: 226
|
Tested with gzip 1.2.4 on Amiga OS3.9 (not the one phx pointed to, but this here: http://aminet.net/package/dev/gg/gzip-bin) - works fine.
Tested with gzip 1.3.12 on Linux - works fine too. |
16 June 2012, 09:02 | #19 | |
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
|
Quote:
Code:
__farbss set _aliastransform-$f0 |
|
18 June 2012, 06:26 | #20 |
Registered User
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,400
|
That's interesting, thanks for that
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
How compile WinUAE... | WCoder | support.WinUAE | 57 | 17 April 2014 17:42 |
Trying to compile some ASM in StormC V4 | NovaCoder | Coders. General | 2 | 29 September 2009 01:44 |
GFA compile | xc8 | Coders. General | 31 | 19 May 2009 18:21 |
PhxAss 4.42 | AmiGer | Coders. General | 1 | 15 October 2004 08:07 |
Compile WinUAE ????? | Myriel | support.WinUAE | 14 | 10 January 2004 17:06 |
|
|