You are currently viewing Atari MAC/65

Atari MAC/65

Atari MAC/65 Assembler

In early 1982 there was a demand to create a better assembler. At that time the only really good editor was known as the Assembler Editor. However, it was slow and bulky at best. A company known as Optimized Systems had released a new assembler, complete with a debugger in one cartridge known as the Atari MAC/65. It was developed by Stephen D. Lawrow and compatible with all the Atari 8-bit computers of that time.

Atari MAC/65 cartridge

It managed line numbers and tokenization like its predecessor. This allows the ability to track errors in your program, and even compression of source files. 

The debugger was called Dunion’s Debugging Tool or DDT for short. This allowed access to an see assembly language listing in memory, see stack variable values, and execute programs that have been assembled into memory.

The Atari MAC/65 is an excellent tool to escape from Atari Basic Programming for creating pretty advanced assembly language programs, utilities, and games.

Back in the days, I had the privilege of creating a game called Deadman. It was a platform game where you controlled a game character that could ascend ladders, had to avoid enemies, pick up keys to access locked doors, and make it to the rooftop of the building. The original game was lost years ago so I done my best attempt to reproduce it many years later. 

Load a Program from Disk

To retrieve data from the disk drive there are several commands that can be used. The first is the LOAD command and the other is with the ENTER command. Here is an example

LOAD #D:MYPROG1.M65

or

ENTER #D:MYPROG1.M65

The M65 (which is the extension for Mac/65) is used at the end to mark the type of file this is. It is not necessary, but makes it easy to understand what format that program was saved in.

When you want to assemble a program you can either just enter the command below or assemble it from a file.

ASM

or

ASM #D:MYPROG1.M65,0

Save Program to Disk

After you have finished creating your program, you will need to save it to a disk drive. Once again there are several ways to do. Each depends on the type of save you are performing. The first is a normal save. The second is a binary save of the memory address range.

Regular Save:

SAVE #D:MYPROG1.M65

or

BSAVE #D:MYPROG1<5000,5100

The BSAVE instructs MAC/65 to save your program to disk using memory locations $5000 through $5100 using the filename called MYPROG1

Compiling your Atari program

Another important point to note is that you will need to tell Atari MAC/65 that you want a program to be compiled into memory. This is done by adding the following command in your program.

.OPT OBJ

or

.OPT OBJ,NO LIST

The first example will allow it to be assembled into memory as object code that is accessible with the DDT editor, and the second will save it also but not produce the listing on the screen. This is necessary to prevent waiting for the entire pages to list before the program can execute.

Renumbering your program

Whenever a program begins to grow, often a programmer is using a lot of odd and even numbered lines. The Atari MAC/65 editor contains a built in command to renumber an entire assembly language listing. Just type the line below and it’s done.

REN

Create any type of program

Using the Atari MAC/65 editor you can create all sorts of interesting and fun programs! Take for example a simple screen scrolling program I made or moving around a Player Missile on the screen. The sky and your imagination is the limit. So explore! 

Dead Man Game (seen here)

I lost the originally disk files, but done a re-creation many years later during my early YouTube presence.