Screenshot of cartridge version | |
Original author(s) | Steven D. Lawrow |
---|---|
Developer(s) | Optimized Systems Software |
Initial release | 1982; 43 years ago (1982) |
Final release | 4.20 / 1994; 31 years ago (1994) |
Platform | Atari 8-bit |
Size | 16 KB |
Type | Assembler |
License | Proprietary software |
MAC/65 is a 6502 assembler written by Stephen D. Lawrow for Atari 8-bit computers. MAC/65 was first released on disk by Optimized Systems Software in 1982, with the program requiring 16 KB RAM. A bank switched "SuperCartridge" from OSS followed in January 1984 for US$99, occupying only 8 KB.
MAC/65 is structured similarly to the Atari Assembler Editor cartridge, combining a line editor, assembler, and debugger into a single package. Its reputation was based on being much faster than either the Assembler Editor or the standalone Atari Macro Assembler. Brian Moriarty of Infocom wrote, "No assembler on the C64 even comes CLOSE to MAC/65. Take it from someone who looked for one." It was used to write numerous commercial games and applications, and the majority of assembly language listings in ANALOG Computing were written with MAC/65.
According to Lawrow, MAC/65 was used to compile not only itself, but BASIC XL and BASIC XE.
Overview
Like Atari BASIC, source code in MAC/65 uses line numbers and is tokenized as it is entered. The entry scanner converts the line number to a 16-bit integer, converts the assembly mnemonic to an 8-bit code, and then replaces any constants or variable references with their value or address. As part of this process, any syntax errors are immediately found and reported, and as multi-character keywords and names are replaced by a single byte, the code is much smaller in memory.
The main advantage to this approach, however, is that "compiling" the program is a simplified task of copying out the tokens at the correct starting address, as the tokens are the ultimate instruction opcodes. This makes the entire compiling process dramatically faster than a system that has to parse the code from its original text format. Source files can be saved and loaded in either tokenized format or as text files.
Unlike the Atari Assembler Editor, MAC/65 provides macro processing and conditional assembly.
The cartridge version added 65C02 opcode support as well as a condensed version of Dunion's Debugging Tool (DDT) by Jim Dunion, the full version of which was originally sold through the Atari Program Exchange. DDT replaced the BUG/65 debugger which shipped with the disk version of MAC/65.
MAC/65 ToolKit
The ToolKit was a floppy diskette filled with source code and examples for use with the MAC/65 assembler. The ToolKit required an Atari 8-bit with 48K of memory, a disk drive and the MAC/65 cartridge.
The following is example code for Hello World! using the MAC/65 ToolKit:
0100 .OPT NO LIST 0110 ; 0120 ; HELLO.M65 0130 ; --------- 0140 ; 0150 ; THE HELLO WORLD TEST USING 0160 ; THE MAC/65 TOOLKIT 0170 ; 0180 RUNAD = $02E0 ; RUN ADDRESS 0190 EOL = $9B ; END-OF-LINE 0200 *= $4000 0210 ; 0220 MSG .BYTE "HELLO WORLD!",EOL 0230 ; 0240 .INCLUDE #D:KERNEL.M65 0250 ; 0260 START 0270 PRINT 0,MSG ; CHANNEL 0 0280 RTS ; RETURN TO DOS 0290 ; 0300 *= RUNAD 0310 .WORD START 0320 .END ASM ,,#D:HELLO.COM DOS HELLO.COM
Legacy
MAC/65 along with other OSS products became part of ICD's catalog of Atari products in January 1988. In 1994, Fine Tooned Engineering obtained limited rights to ICD's 8-bit products, including MAC/65.
The open source ATasm project was written as a MAC/65-compatible cross assembler.
References
- "OSS Newsletter". archive.org. January 1984.
- "INFOCOM On Line: Transcript with Brian Moriarty".
- "Dunion's Debugging Tool". Atari Mania.
- "Fine Tooned Engineering". 24 March 2007.
- "ATasm: 6502 cross-assembler". 21 March 2021.
External links
- retrobits.net Dan's OSS Supercart Page
- MAC/65 at AtariAge
- MAC/65 Online - MAC/65 Assembler Cartridge (manual)
- Compute! Magazine - Review: MAC/65, Issue 43, Dec 1983
- Antic Vol. 2, No. 7 - Oct 1983 Nightmare Mission - MAC's the one for the job (Atari assemblers review)
- Antic Vol. 4, No. 1 - May 1985 Product Review - MAC/65 Toolkit
- https://atari.miribilist.com/atasm/ A mostly Mac/65 compatible cross-assembler