MAC/65

From Wikipedia, the free encyclopedia
Jump to: navigation, search
MAC/65
Mac/65 1.02
Screenshot of cartridge version
Original author(s) Steven D. Lawrow
Developer(s) Optimized Systems Software
Discontinued 4.20 disk, 1.02 cartridge[1] / 1994 (1994)
Platform Atari 400/800/XL/XE
Size 16KB
Type Assembler
License Copyright © Paul Laughton Proprietary software

MAC/65 was an assembler written by Stephen D. Lawrow and sold by Optimized Systems Software for the Atari 8-bit family of microcomputers. It was a direct descendent of OSS's EASMD.[citation needed] MAC/65 was first released on disk in 1982. A cartridge version came later. The latest cartridge version is 1.02 from 1984. The cartridge version requires 8 KB RAM, due to the OSS Supercartridge (bank switching), the disk version takes 16 KB RAM.

MAC/65 was notable for combining a line editor, assembler, and debugger into a single package, while being much faster than both Atari's similarly structured Assembler Editor cartridge and the standalone Atari Macro Assembler. It was used to write numerous commercial games and applications, and the majority of assembly language listings in ANALOG Computing were written using MAC/65.

Features[edit]

Much like Atari BASIC, source code in MAC/65 used line numbers and was tokenized as it was entered. This allowed immediate reporting of syntax errors, shorter assembly times, and smaller data sizes (important when both the source and object code were in memory). Source files could be saved and loaded in either tokenized format or as text files.

Unlike the Atari Assembler Editor, MAC/65 provided true macro processing and conditional assembly.

The cartridge version added 65C02 op-code support as well as a condensed version of Dunion's Debugging Tool (DDT) by Jim Dunion, 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[edit]

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

Trivia[edit]

  • According to Matthew J. Ratcliff of ANALOG Computing, MAC/65 was used by C64 programmers to assemble C64 projects on Atari computers.
  • According to Stephen D. Lawrow, MAC/65 was used to compile not only itself, but BASIC XL and BASIC XE.

Aftermath[edit]

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, but the copyrights are held by Paul Laughton.[2]

References[edit]

  1. ^ According to Steven D. Lawrow there was a small bug in the Mac/65 compiler of the cartridge version 1.01
  2. ^ http://atariage.com/forums/topic/104214-fine-tooned-engineering/

Additional References[edit]

  • A reference manual for MAC/65 by OSS, Rev. 1.2. 1983
  • Atari Home Computer System - Technical Reference Notes. Atari, Inc. C016555 REV A.
  • Andrews, Mark (1984). Atari Roots: A Guide to Atari Assembly Language. DATAMOST, Inc. ISBN 0-88190-171-7. [1]
  • Chasin, Mark (1984). Assembly Language Programming for the Atari Computers. Byte Books, McGraw-Hill Paperbacks. ISBN 0-07-010679-7. [2]
  • Chadwick, Ian (1985). Mapping the Atari Revised Edition. COMPUTE! Publications, Inc. ISBN 0-87455-004-1. [3]
  • Leventhal, Lance A. (1986). 6502 Assembly Language Programming 2nd Edition. Osborne/McGraw-Hill. ISBN 0-07-881216-X.
  • Leventhal, Lance A. (1982). 6502 Assembly Language Subroutines. Osborne/McGraw-Hill. ISBN 0-931988-59-4.
  • Mansfield, Richard (1983). Machine Language for Beginners. COMPUTE! Publications, Inc. ISBN 0-942386-11-6. [4]
  • Mansfield, Richard (1984). The Second Book of Machine Language. COMPUTE! Publications, Inc. ISBN 0-942386-53-1. [5]
  • Zaks, Rodnay (1983). Programming the 6502 (Fourth Edition). Sybex, Inc. ISBN 0-89588-135-7.
  • Zaks, Rodnay (1982). Advanced 6502 Programming. Sybex, Inc. ISBN 0-89588-089-X.
  • OSS Newsletter - Spring 1984
  • OSS Newsletter - October 1984

External links[edit]