Overview Features Coding ApolloOS Performance Forum Downloads Products Order Contact

Welcome to the Apollo Forum

This forum is for people interested in the APOLLO CPU.
Please read the forum usage manual.
Please visit our Apollo-Discord Server for support.



All TopicsNewsPerformanceGamesDemosApolloVampireAROSWorkbenchATARIReleases
Questions and Answers for AMIGA Workbench or Coffin

Which Assembler Do You Use?

Manfred Bergmann

Posts 226
04 Apr 2020 20:27


I had used DevPac in the past. Actually I had bought it 25 years ago.
Some say ASMOne is better.
There is also ASMPro, and ASMTwo.
Hmm...


Samuel Crow

Posts 424
04 Apr 2020 21:31


VAsm supports the full instruction set of the 68080 including AMMX.  It also has a DevPac parser mode.


Manfred Bergmann

Posts 226
05 Apr 2020 10:52


Samuel Crow wrote:

VAsm supports the full instruction set of the 68080 including AMMX.  It also has a DevPac parser mode.

So you mean a combo of some editor and VAsm. Is there a debugger?


Kamelito Loveless

Posts 260
05 Apr 2020 12:09


VASM does not include a debugger. ASMPro does also support 080 but I'm not sure if it is a complete support. (see Aminet)
  EXTERNAL LINK 


Andrew Miller

Posts 352
05 Apr 2020 16:24


If using VASM is there an IDE that can be used with this on the Amiga?


Manfred Bergmann

Posts 226
05 Apr 2020 16:30


Andrew Miller wrote:

If using VASM is there an IDE that can be used with this on the Amiga?

I believe there is a Cubic IDE / GoldED plugin for assembler.
It has at least syntax highlighting.
Maybe some macros to execute. But those can be added fairly easily as well if they don't exist.


Manfred Bergmann

Posts 226
05 Apr 2020 16:36


So, I'm really wondering. Because there are some talks about game programming and Assembler.
Geeks, how does your work environment look like?


Philippe Flype
(Apollo Team Member)
Posts 299
05 Apr 2020 19:00


I'd say i'm not far from truth if i say there is as many environments as amiga coders :)
 
It's nearly impossible to advise what best fit to your preferences/skills without more inputs.
 
There are coders who code directely from their Amiga and those who code from their PC (either Windows, Linux or Mac). For those, they may themselves subdivide into cross-compiling or UAE emulation or even mix the two. That's a lot of different environments.
 
Among them, there is one great road to study : VSCode on Windows and Linux, it have a very cool M68K plugin.
  EXTERNAL LINK   
 
Personally, i code directely from the Amiga because this is how i like 'spend' my time on it. But more generally it will depends a lot of your efficiency goals, size of the project, of the growing compiling time, of (own or not) extra tools to prep data, and eventually of MMU presence.
 
If i'm not talking of C-lang but pure assembly, i use my good old Devpac, 99% of the time. If i need specific vasm080, then i still use Devpac, and compile file(s) from cli.
 
Devpac have a decent debugger, breakpoints (using BKPT #n mnemonic) and can load programs from disk (loading program compiled with vasm is ok).
 
Keep in mind that coding for Vampire (080) must remains classic 040/060 code. So Devpac 3.18 is 99% mostly enough.
 
And double keep in mind that entering in 080 specifics must remains your very very last step of a given project, when you are trying to hyper optimize your code. When you are at this step you'll get a much wider view of your real environment needs.


Philippe Flype
(Apollo Team Member)
Posts 299
05 Apr 2020 19:08


...


Manfred Bergmann

Posts 226
05 Apr 2020 19:18


Thanks.

I know that Reshoot was done mainly from Xcode (coding) with some automations on UAE.
While I can understand that this approach might be quicker or more efficient in some way.
Some also do cross-compiling and so the editing on PC or on some other system.
This is something I don't want. This degrades Amiga to a mere execution machine.

I would prefer to code on Amiga. Because after all I want the Amiga feeling. That includes the development as well.




Samuel Crow

Posts 424
05 Apr 2020 21:07


Although VAsm doesn't come with its own IDE like DevPac did, and you said you don't want to cross-assemble, VAsm is available natively for 68k as well as cross-assembly due to it being written in C and source code made available.

Adding to the IDEs that work natively is Annotate, though I don't know if anybody has written an Assembly highlight rule set since it's a backport from AmigaOS 4 on PPC.


Manfred Bergmann

Posts 226
06 Apr 2020 11:10


Samuel Crow wrote:

Although VAsm doesn't come with its own IDE like DevPac did, and you said you don't want to cross-assemble, VAsm is available natively for 68k as well as cross-assembly due to it being written in C and source code made available.
 
  Adding to the IDEs that work natively is Annotate, though I don't know if anybody has written an Assembly highlight rule set since it's a backport from AmigaOS 4 on PPC.

Tried Annotate.
I'll stick to CubicIDE.

I figured that a debugger might be important for coding assembler, no?

For all my other coding I haven't used a debugger any more for many years.
TDD and just making a few debug logs works fine.


John Hankinson

Posts 6
06 Apr 2020 12:21


For me I'm using a samba share between my V4 and PC.
I have devpac and vasm on the Amiga and vasm on the PC too.
Code in VSCode on the PC (using the same plugin Flype mentioned, it's really good). I save the source in the shared folder and I can assemble it from Amiga or PC.

Devpac debugger is still about the best option there is. If you stick to <=060 code it works well.




Antony Coello

Posts 153
06 Apr 2020 19:46


John Hankinson wrote:

Devpac debugger is still about the best option there is. If you stick to <=060 code it works well.

IIRC wasnt there a newer Devpac (3.5?) that was updated for the 060? I think it was only available in French.



Samuel Crow

Posts 424
06 Apr 2020 23:59


Barfly Assembler comes with a debugger also.  I have never tried it though but it's a free download.

EXTERNAL LINK


Vladimir Repcak

Posts 359
16 Apr 2020 05:03


Manfred Bergmann wrote:

 
  I figured that a debugger might be important for coding assembler, no?


Not really, no.

As long as you don't overhack your designs, and properly test them during initial implementation, then no.

From experience, solid overnight testing of current build that has some AI to play the game and cover all scenarios, is all that is needed.

Also, I always"print debug" each component from the very beginning. It's much faster overall rather than on demand printing values when something doesn't work.

It does however require a rich debugging functionality implemented by you...


Stefan "Bebbo" Franke

Posts 139
16 Apr 2020 07:11


I used OMA 2.0, having DBug, a debugger. And I still use DBug sometimes, and I try to code only in C/C++ with m68k-amigaos-as as fallback.

posts 17