6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Wed May 08, 2024 7:32 pm

All times are UTC




Post new topic Reply to topic  [ 33 posts ]  Go to page Previous  1, 2, 3
Author Message
PostPosted: Tue Apr 28, 2020 3:30 am 
Offline
User avatar

Joined: Sat Dec 01, 2018 1:53 pm
Posts: 727
Location: Tokyo, Japan
dagenius wrote:
What would be the best assembler to use for the code? I had a look at the ASxxxx and from looking at the docs it's hard to tell what features it has. I'm looking for something that supports macros and works on Windows 10 or Ubuntu 18.04. Does anyone have any suggestions?

As Garth points out, there are a zillion 6502 assemblers that meet these criteria. It probably doesn't matter too much which one you pick, actually, since it's generally not difficult to switch to another one if the one you're currently using doesn't support the features you want. (In 8bitdev I switched from ASxxxx to Macroassembler AS a while back, and even that, with not only significant syntax changes but also major build system changes and writing new tools for the different output format, took me only a day or so.) In fact, it may be worth trying out several over time just to gain the valuable experience and knowledge that comes from having used several different assemblers.

The things you'll want to think about include:
  • Does it support the build platform you prefer to use (Unix, Windows, whatever), or do you have the other tools you need for the build platform on which it runs?
  • If you have existing code, does the assembler support the assembler syntax used by that code? (For example, does it require you use or not use a colon after a symbol name when declaring a symbol, or let you use either option? Does it support the pseudo-ops the code uses? What macro and function capibilities does it offer to define new syntax that could be used to make it compatible with your existing code?
  • Does it provide the output format you need, or can you easily find or write a tool to generate the output format you need?
  • Who else do you know that's using it, and are there users of it in whatever forums you frequent? Especially when you're a beginner, it's helpful to have a source of support.
  • Does it support the CPUs you're interested in, or may be interested in in the future?
  • Does it have macros and other useful features?

My primary reason for starting with ASxxxx was multiple CPU support (I need at a minimum 6502, 6800, 6809 and Z80), and I also had thought that separate assembly and linking support would be useful. The latter turned out to be dead wrong (for various reasons I won't get into) and I switched to The Macroassembler AS for better features and whole-program assembly. (It's a bonus that it supports even more CPUs.) But if you're not looking for the kind of multiple-CPU support that I required, you have a much broader range of options than I did.

Again, though, it doesn't matter that much. Rather than worrying about making the perfect decision now (which you won't be able to do anyway), use whatever seems best at the moment and be prepared to switch when it becomes necessary or convenient.

_________________
Curt J. Sampson - github.com/0cjs


Top
 Profile  
Reply with quote  
PostPosted: Tue Apr 28, 2020 3:50 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8177
Location: Midwestern USA
dagenius wrote:
What would be the best assembler to use for the code? I had a look at the ASxxxx and from looking at the docs it's hard to tell what features it has. I'm looking for something that supports macros and works on Windows 10 or Ubuntu 18.04. Does anyone have any suggestions?

What Garth and Curt said. Any assembler recommendation will be made with a certain amount of prejudice. Just as a chef likes his knife and no other, a serious assembly language programmer likes his text editor and assembler and no other. I have my preferences, Garth has his, etc.

I will say this. Any good assembler will have a powerful and flexible macro language and will be able to generate several different types of object files. In particular, macros can go a long way toward making the development of large programs less tedious and less error-prone. Also, as Garth illustrates on his website, use of macros can give your programs more of a high level feel without sacrificing the speed inherent in assembly language.

As for a text editor, I use UltraEdit, which is a Windows program, or I write my source in the Kowalski assembler/simulator. Those who cross-assemble on a Linux box often use vim, emacs (ugh!) or some other text editor (joe is halfway decent and unlike vim and emacs, uses relatively common Ctrl-<key> sequences to do various things). Pick yer poison, but make sure your editor has good search and replace features. :D You'll get plenty of use out of them.

As Garth mentioned, forum member Andrew Jacobs has developed an excellent assembler that runs on any system with Java loaded. If Java is installed on your Ubuntu box you can work with his assembler and do all your development on Linux.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Tue Apr 28, 2020 11:02 am 
Offline
User avatar

Joined: Tue Mar 02, 2004 8:55 am
Posts: 996
Location: Berkshire, UK
BigDumbDinosaur wrote:
As Garth mentioned, forum member Andrew Jacobs has developed an excellent assembler that runs on any system with Java loaded. If Java is installed on your Ubuntu box you can work with his assembler and do all your development on Linux.

The JAR file containing my 65(C)02/816 assembler suite also contains suites for 6800, 6809, 8080 and few others. I could add Z80 in a couple of days.

Edit: Fixed typo

_________________
Andrew Jacobs
6502 & PIC Stuff - http://www.obelisk.me.uk/
Cross-Platform 6502/65C02/65816 Macro Assembler - http://www.obelisk.me.uk/dev65/
Open Source Projects - https://github.com/andrew-jacobs


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 33 posts ]  Go to page Previous  1, 2, 3

All times are UTC


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: