MAC/65

Last updated
MAC/65
Original author(s) Steven D. Lawrow
Developer(s) Optimized Systems Software
Initial release1982;42 years ago (1982)
Final release
4.20 / 1994;30 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, [1] occupying only 8 KB.

Contents

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 [at the time] on the C64 even comes CLOSE to MAC/65. Take it from someone who looked for one." [2] 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. [3] 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.OPTNOLIST0110;0120; HELLO.M650130; ---------0140;0150; THE HELLO WORLD TEST USING0160; THE MAC/65 TOOLKIT0170;0180RUNAD=$02E0; RUN ADDRESS0190EOL=$9B; END-OF-LINE0200*=$40000210;0220MSG.BYTE"HELLO WORLD!",EOL0230;0240.INCLUDE#D:KERNEL.M650250;0260START0270PRINT0,MSG; CHANNEL 00280RTS; RETURN TO DOS0290;0300*=RUNAD0310.WORDSTART0320.ENDASM,,#D:HELLO.COMDOSHELLO.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. [4]

The open source ATasm project was written as a MAC/65-compatible cross assembler. [5]

Related Research Articles

<span class="mw-page-title-main">MOS Technology 6502</span> 8-bit microprocessor from 1975

The MOS Technology 6502 is an 8-bit microprocessor that was designed by a small team led by Chuck Peddle for MOS Technology. The design team had formerly worked at Motorola on the Motorola 6800 project; the 6502 is essentially a simplified, less expensive and faster version of that design.

<span class="mw-page-title-main">Atari 8-bit computers</span> Home computer series introduced in 1979

The Atari 8-bit computers, formally launched as the Atari Home Computer System, are a series of 8-bit home computers introduced by Atari, Inc. in 1979 with the Atari 400 and Atari 800. It is the first home computer architecture with coprocessors, enabling more advanced graphics and sound than most of its contemporaries. Video games are key to its software library, and the 1980 first-person space combat simulator Star Raiders is considered the platform's killer app.

<span class="mw-page-title-main">Atari BASIC</span> Dialect of the BASIC programming language

Atari BASIC is an interpreter for the BASIC programming language that shipped with Atari 8-bit computers. Unlike most American BASICs of the home computer era, Atari BASIC is not a derivative of Microsoft BASIC and differs in significant ways. It includes keywords for Atari-specific features and lacks support for string arrays.

Microsoft BASIC is the foundation software product of the Microsoft company and evolved into a line of BASIC interpreters and compiler(s) adapted for many different microcomputers. It first appeared in 1975 as Altair BASIC, which was the first version of BASIC published by Microsoft as well as the first high-level programming language available for the Altair 8800 microcomputer.

Commodore BASIC, also known as PET BASIC or CBM-BASIC, is the dialect of the BASIC programming language used in Commodore International's 8-bit home computer line, stretching from the PET (1977) to the Commodore 128 (1985).

The Atari Microsoft BASIC and Atari Microsoft BASIC II variants of the 6502-version of Microsoft BASIC ported to the Atari 8-bit computers. The first version, released 1981, required 32 KB of RAM and was supplied on floppy disk. The second version, released the next year, had most of the code on a ROM cartridge with additional functions on an optional floppy.

<span class="mw-page-title-main">Action! (programming language)</span> Atari 8-bit computer programming language

Action! is a procedural programming language and integrated development environment written by Clinton Parker for the Atari 8-bit computers. The language, which is similar to ALGOL, compiles to high-performance code for the MOS Technology 6502 of the Atari computers. Action! was distributed on ROM cartridge by Optimized Systems Software starting in 1983. It was one of the company's first bank-switched 16 kB "Super Cartridges". The runtime library is stored in the cartridge; to make a standalone application requires the Action! Toolkit which was sold separately by OSS.

Optimized Systems Software (OSS) was a company that produced disk operating systems, programming languages with integrated development environments, and applications primarily for Atari 8-bit computers. The founders of OSS previously developed Atari DOS, Atari BASIC, and the Atari Assembler Editor for Atari, Inc., and many OSS products are substantially improved versions. OS A+ and DOS XL are based on Atari DOS. BASIC A+, BASIC XL, and BASIC XE are based on Atari BASIC. EASMD and MAC/65 are modeled on the Atari Assembler Editor. Action! is an ALGOL-inspired compiled programming language with an integrated full-screen editor. OSS also sold some software for the Apple II.

<span class="mw-page-title-main">DOS XL</span>

DOS XL is a discontinued Disk Operating System (DOS) written by Paul Laughton, Mark Rose, Bill Wilkinson, and Mike Peters and published by Optimized Systems Software (OSS) for the Atari 8-bit computers. It was designed to be compatible with Atari DOS which shipped with Atari, Inc.'s disk drives, which had also been written by the same team.

Atari Assembler Editor is a ROM cartridge-based development system released by Atari, Inc. in 1981. It is used to edit, assemble, and debug 6502 programs for Atari 8-bit computers without the need for additional tools. It was programmed by Kathleen O'Brien of Shepardson Microsystems, the company which wrote Atari BASIC, and Assembler Editor shares many design concepts with that language implementation.

<span class="mw-page-title-main">Tangerine Microtan 65</span>

The Tangerine Microtan 65 was a 6502-based single board microcomputer, first sold in 1979, that could be expanded into, what was for its day, a comprehensive and powerful system. The design became the basis for what later became the Oric Atmos and later computers. Those later machines have similar keyboard addressing and tape I/O as the Microtan 65. The Microtan 65 has a hardware single step function that can be used for debugging software in both ROM and RAM. The computer was available as ready-built boards or as kits consisting of board and components requiring soldering together.

<span class="mw-page-title-main">Parallel Bus Interface</span>

The Parallel Bus Interface, or PBI, is a 50-pin port found on some XL models of the Atari 8-bit computers. It provides unbuffered, direct connection to the system bus lines, running at the same speed as the 6502 CPU. The 600XL and 800XL, along with the unreleased 1400XL and 1450XLD have a PBI interface.

Synapse Software Corporation was an American software developer and publisher founded in 1981 by Ihor Wolosenko and Ken Grant. Synapse published application software and developer tools and was primarily known for video games. It initially focused on the Atari 8-bit computers, then later developed for the Commodore 64 and other systems. Synapse was purchased by Broderbund in late 1984 and the Synapse label retired in 1985.

Atari Program Exchange (APX) was a division of Atari, Inc. that sold software via mail-order for Atari 8-bit computers from 1981 until 1984. Quarterly APX catalogs were sent to all registered Atari 8-bit owners. APX encouraged any programmer, not just professionals, to submit video games, educational software, applications, and utilities. A few internally developed Atari products were sold through APX, such as Atari Pascal, the developer handbook De Re Atari, and a port of the arcade video game Kangaroo.

<span class="mw-page-title-main">Atari 8-bit computer software</span>

Many games, utilities, and educational programs were available for Atari 8-bit computers. Atari, Inc. was primarily the publisher following the launch of the Atari 400/800 in 1979, then increasingly by third parties. Atari also distributed "user written" software through the Atari Program Exchange from 1981 to 1984. After APX folded, many titles were picked up by Antic Software.

<i>De Re Atari</i> 1982 technical book

De Re Atari, subtitled A Guide to Effective Programming, is a book written by Atari, Inc. employees in 1981 and published by the Atari Program Exchange in 1982 as an unbound, shrink-wrapped set of three-holed punched pages. It was one of the few non-software products sold by APX. Targeted at developers, it documents the advanced features of the Atari 8-bit computers and includes ideas for how to use them in applications. The information in the book was not available in a single, collected source at the time of publication.

<span class="mw-page-title-main">Cosmos (operating system)</span> Toolkit for building GUI and command-line based operating systems

C# Open Source Managed Operating System (Cosmos) is a toolkit for building GUI and command-line based operating systems, written mostly in the programming language C# and small amounts of a high-level assembly language named X#. Cosmos is a backronym, in that the acronym was chosen before the meaning. It is open-source software released under a BSD license.

<span class="mw-page-title-main">SpartaDOS X</span> Disk operating system

SpartaDOS X is a disk operating system for the Atari 8-bit computers that closely resembles MS-DOS. It was developed and sold by ICD in 1987-1993, and many years later picked up by the third-party community SpartaDOS X Upgrade Project, which still maintains the software.

Happy drives are series of disk drive enhancements for the Atari 8-bit and Atari ST computer families produced by a small company Happy Computers. Happy Computers is most noted for the add-in boards for the Atari 810 and Atari 1050 floppy disk drives, which achieved a tremendous speed improvement for reading and writing, and for the ability to "back up" floppies. Happy's products were among the most popular Atari computer add-ons. They were still in use and active in the aftermarket as of 2009.

<span class="mw-page-title-main">LLDB (debugger)</span> Software debugger

The LLDB Debugger (LLDB) is the debugger component of the LLVM project. It is built as a set of reusable components which extensively use existing libraries from LLVM, such as the Clang expression parser and LLVM disassembler. LLDB is free and open-source software under the University of Illinois/NCSA Open Source License, a BSD-style permissive software license. Since v9.0.0, it was relicensed to the Apache License 2.0 with LLVM Exceptions.

References

  1. "OSS Newsletter". archive.org. January 1984.
  2. "INFOCOM On Line: Transcript with Brian Moriarty".
  3. "Dunion's Debugging Tool". Atari Mania.
  4. "Fine Tooned Engineering". 24 March 2007.
  5. "ATasm: 6502 cross-assembler". 21 March 2021.