Rob's vasm for Atari 68000 development info

Some help getting started based on my experiences

A lot of Atari sceners these days (Cream, DHS etc.) are switching to use the VASM assembler and VLink linker to build their 68000 demos on a modern system.

VASM is a great cross-platform system for multiple source and target architectures, but not always the easiest to start with for the newcomer, particularly those wanting to target Atari development.

This page isn't a complete guide to VASM, but it does cover some useful hints as well as provide files to get you up and running.

Binaries are provided at the official VASM site for Linux, BSD, AmigaOS (boo!) and MorphOS. Evil and Gizmo of DHS provide builds for OSX and some useful tips.

What seemed to be missing was builds for Windows systems - so I made some. These are specifically built for targetting 68k systems from a Windows machine.

The next thing to consider is the command line parameters you'll need to pass for successful compilation. On Linux/Unix/OSX systems, it's slightly easier if you have make installed - just use this Makefile in your source directory and run make to both compile and link your source. It assumes the input file of main.s and an output file of main.tos but is easily editable if you want.

On Windows systems, while it's possible to set up an environment with GNU Make (via Cygwin or MinGW or some such), it's actually easier just to make a batch file that uses the same steps and command line parameters as the makefile. An example make.bat is provided on the link, with the same conditions - by default it looks for main.s and outputs main.tos

UPDATE: Mike Mee (aka MUG UK) has given me an updated batch file which you can just provide the filename (without extension) of your source file and it will output a .TOS file of the same name. I've updated the linked batch file above

Finally a note about source formatting. VASM takes a largely DevPac compatible syntax, but I've been caught out by comment formatting - make sure your comments are prefixed with a semicolon rather than just spaces/tabs or it won't compile

Wrong:
move.l screen_adr,d0 Set screenaddress

Right:
move.l screen_adr,d0 ;Set screenaddress