Assembler#
Given the slow performance of Atari BASIC, the go-to language for programmers writing games or other speed-critical programs was 6502 assembler. The 6502 was somewhat infamous for its simplified design, but this also meant its assembler was very simple and easy to learn. As an introduction to assembler, there are few machines better than the Atari 8-bit.The first assembler for the Atari available to the public was Atari Assembler Editor, originally written by Shepardson Microsystems and sold by Atari in ROM cartridge format. Assembler Editor lacked many features, and was only suitable for small programs. For more demanding tasks, Atari also released Atari Macro Assembler. Although powerful, Macro Assembler was slow as it was entirely disk based. This led to a thriving market for 3rd party assemblers and debuggers to fix the problems seen in one or the other.
In recent years, a number of cross-compilers have appeared. These allow you to develop Atari assembler programs on your PC or Mac and then send the code to the Atari (or emulator) for testing. These greatly ease the task of writing programs as you have access to modern IDE systems and editors.
Overview#
- 6502 OpCodes.xlsx ; Excel table with all opcodes and comparisons between different Assemblers
- 6502-Codes.pdf ; Table with all OpCodes, cycles, flags, comments etc., highly recommended! Thanks to insane from ABBUC :-)
Assemblers for Atari Computers#
- 130XE+ Makroassembler (1991)
- A65 Assembler (1984)
- AMOEBA(198?)
- Alfasm (1990)
- Atari Assembler Editor (1980)
- Atari Macro Assembler (1981)
- Atmas I (1982)
- Atmas II (1985)
- BUG/65 (1982)
- Bibo Assembler (1986)
- DataSoft Datasm/65 (1981)
- Dunion's Debugging Tool (DDT) (1982)
- EASMD (1981)
- Edit 6502 (1981)
- Extended Dunion's Debugging Tool (ExDDT) (1985)
- MAC/65 (1982)
- MAE Assembler (1996)
- Synapse Assembler (1982)
Cross-Assemblers#
- ATASM ; Mac/65 compatible cross assembler
- APX-20051 Cosmatic Atari Development Package ; cross-assembler for 1802 assembly language
- MADS ; powerful and modern cross assembler under constant development
- MC macroassembler by Microtec Research ; often found in Atari source code listings, therefore at least used by Atari, Inc.
- XASM ; XASM is a 6502 cross-assembler with some syntax extensions. By default it generates binaries for Atari 8-bit computers.
Development IDE#
- WUDSN IDE ; a cross development environment
Books#
- The Atari Assembler ; detailed and easy-to-read introduction to programming 6502-assembly on the Atari using Assembler/Editor.
Tutorials#
- Programming the Atari XL/XE ; a series of short video tutorials, available on youtube and as download