Misplaced Pages

MAC/65

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

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.

#82917

33-604: 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." It

66-406: 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"

99-583: 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. 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,

132-699: A disk drive and the MAC/65 cartridge. The following is example code for Hello World! using the MAC/65 ToolKit: 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 . Atari Assembler Editor Atari Assembler Editor (sometimes written as Atari Assembler/Editor )

165-414: A good Atari arcade game. Electronic Fun with Computers & Games gave it a 3.5 out of 5, praising the action and pointing out only a few minor flaws. Caverns of Mars received a Certificate of Merit in the category of "Best Science Fiction/Fantasy Computer Game" at the 4th annual Arkie Awards . Christensen followed Caverns with a lesser-known sequel, originally titled Caverns of Mars II . It

198-459: A hash, like LDA #12 , which loads the accumulator with the decimal value 12. Hexadecimal is indicated with a dollar sign, LDA #$ 12 loads the accumulator with 12 hex, or 18 decimal. Indirect addressing is supported using parentheses; LDA ($ 600) uses the values in location $ 600,$ 601 to produce a 16-bit address, and then loads the accumulator with the value found at that location. Errors are reported with numeric codes that can be looked up in

231-410: A hole on the surface of Mars into a vertical tunnel. The player's spacecraft has two cannons, positioned on either side of the craft, firing downward. The player must avoid hitting the walls while shooting targets of opportunity along the way. Fuel tanks give 5 units of fuel when shot, and the craft is destroyed if it runs out. The cavern is divided into different sections depending on the skill level:

264-471: A number of common routines were incorporated into the Atari computer's operating system , including the floating point math functions. These were written by O'Brien, the first floating point math code she worked on. The low performance of key functions affected both Atari BASIC and the Assembler Editor and was a topic that Wilkinson often wrote about. The following is 6502 code for Hello World! written for

297-543: A number of modifications. This included a new ending in which the player has to fly back out of the cavern in reverse before a timer runs out. Two months after sending it to APX, Christensen received his first royalty check for $ 18,000 and a phone call from an Atari executive who praised the game. Caverns eventually won the 1981 APX game contest, winning another $ 3,000, and in December 1982, Atari told Christensen he might receive up to $ 100,000 in royalties. Atari licensed

330-430: 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. Assembly times are slow, making

363-666: Is a legal line number. The debugger , really a monitor , is entered with the BUG command. The X command returns to EDIT mode. The debugger allows the viewing and changing of registers and memory locations, code tracing, single-step and disassembly . Assembler Editor was written by Kathleen O'Brien of Shepardson Microsystems . The company had been hired by Atari to help fit Microsoft 6502 BASIC onto an 8KB ROM , something programmers at Atari were struggling with. Instead, Bill Wilkinson suggested designing an entirely new version of BASIC, which became Atari BASIC . While Atari BASIC

SECTION 10

#1732787531083

396-406: Is similar to Scramble , scrolling horizontally and with rockets that launch upward from the ground. The game was completed in 1981, but not published until several years later by Antic Software as Mars Mission II . Phobos keeps the vertical orientation of the original with improved graphics and more sections in each cavern. The caverns are narrower and more difficult to maneuver in right from

429-477: Is similar to Scramble . Caverns of Mars is a scrolling shooter similar in concept and visual style to the 1981 Konami arcade video game Scramble . Christensen changed the orientation of the levels, having the player fly down into them as opposed to horizontally through them. Unlike Scramble , rockets in Caverns of Mars remain on the ground. Using a joystick , the player controls a ship descending through

462-455: Is the case with Atari BASIC—to reduce the amount of work needed at assembly time. Assembler Editor continued to be available from Atari, and increased in popularity as the price dropped to US$ 10 or 5 in the latter half of the 1980s. Caverns of Mars Caverns of Mars is a vertically scrolling shooter for Atari 8-bit computers . It was written by Greg Christensen, with some features later added by Richard Watts, and published by

495-639: Is useful when working with labels. Instructions are listed in the order they will be placed in memory. The starting point for instructions is specified with the *= directive, so, for instance, code intended to be placed in the special "page six" would be prefixed with the line *= $ 0600 . Variable names can be assigned to specific addresses, and this was often combined with an increment *= *+1 to directly encode offsets into tables. Values following instructions are normally interpreted as "the value at this memory address", but an actual numeric value can be provided as an "immediate operand" by appending it with

528-433: The Atari Assembler Editor . It was the first significant program he wrote in 6502 assembly language . Fred Thorlin of Atari Program Exchange recalled Caverns arriving at APX: It was received by APX in the morning mail. I saw it at 10:30. We showed it to the president of the company just after lunch. It was not a tough decision for him. Legal got in touch with Greg Christensen in short order. The young man, I think he

561-406: The Atari Program Exchange (APX) in 1981. Caverns of Mars became the best selling APX software of all-time and was moved into Atari, Inc. 's official product line, first on diskette, then on cartridge. In Caverns of Mars , the player descends into cave and at the end must retrace their steps back to the top. Christensen wrote two less successful follow-ups, one of which scrolls horizontally and

594-525: The Assembler Editor: These commands can be interactively entered to assemble the code, enter the debugger, run the program, then exit the debugger when it is finished: Shortly after Shepardson delivered Assembler Editor and Atari BASIC to Atari, Bob Shepardson, the owner, decided to return to being a one-person company. O'Brien, Laughton, and Wilkinson formed their own company, Optimized Systems Software (OSS), to continue development of

627-441: The Atari products. They licensed the original source code for BASIC, Assembler Editor, and Atari DOS , which they had collectively written. In 1981, OSS released an improved version of Assembler Editor, EASMD on floppy disk . EASMD was replaced by MAC/65 in 1982. MAC/65 was one of the fastest assemblers on the platform. Much of the improved performance of MAC/65 is the result of tokenizing lines of code as they're entered—at

660-447: The age of the author and stated that the game "has all the look, feel, and play of a 'professional' program". Softline liked the game's use of checkpoints after losing a life, and called the game "great". Compute! called Caverns of Mars ' s graphics "impressive", noting that the game takes advantage of a little-used mode allowing four colors per character. A Creative Computing reviewer opened with "Four minutes later. I

693-428: The cartridge challenging to use for larger programs. In the manual, Atari recommended the Assembler Editor as a tool for writing subroutines to speed up Atari BASIC , which would be much smaller than full applications. The Atari Macro Assembler was offered as an alternative with better performance and more features, such as macros, but it is disk-based, copy-protected , and does not include an editor or debugger. Despite

SECTION 20

#1732787531083

726-399: The easiest setting has three sections, the hardest has six. The final section is always a reactor which the player lands on and sets to explode. The ship then reverses course and has to fly up and out of the caverns to escape before the detonation occurs. Greg Christensen, a high-school senior, purchased an Atari 800 in 1981 and created Caverns in "little more than a month and a half" using

759-538: The game an overall B rating, stating that "whether it is a better game than the original is debatable" and concluding that "it is a good choice for the dedicated arcade game player". In 2005, a version of Caverns of Mars was included on the Atari Flashback 2 classic game console. In 2023, an updated and revised version of the game was released for Microsoft Windows , Nintendo Switch , PlayStation 4 , PlayStation 5 , Xbox One and Xbox Series X/S , under

792-459: The game in early 1982 for distribution in the main Atari catalog on diskette . This was the first game crossover from APX to Atari; it was followed by Eastern Front (1941) and Typo Attack . When asked to collaborate on a cartridge-based port, Christensen declined, having started college. Atari released the cartridge version in 1983. Computer Gaming World called Caverns of Mars "delightful ... addictive and excellently paced". It noted

825-668: The manual. There are 19 assembler-specific codes and 16 additional codes for operating system input/output errors. Code is assembled by typing the ASM command into the editor. Assembler Editor was widely derided as the slowest assembler on the platform. Much of this is from sharing code with Atari BASIC, also written by Shepardson Microsystems. Atari BASIC uses slow routines used to convert numeric constants in code to an internal binary-coded decimal representation via operating system routines. All numbers, even line numbers, have to be converted to binary-coded decimal. It also means that 1E2

858-596: 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

891-580: The recommendation, commercial software was written using the Assembler Editor, such as the games Eastern Front (1941) , Caverns of Mars , Galahad and the Holy Grail , and Kid Grid . The source code to the original Assembler Editor was licensed to Optimized Systems Software who shipped EASMD based on it. The Assembler Editor is a two-pass 6502 assembler in an 8 KB cartridge. Both source and object code can be in memory simultaneously, allowing repeated editing, assembly, and running of

924-707: The resulting code without accessing a disk or tape drive. The cartridge starts in EDIT mode. The programmer enters lines of assembly source into the Atari BASIC -like editor . Source text must be prefixed with a line number or it is interpreted as a command. Like Atari BASIC, Assembler Editor includes an ENTER command that can be used to combine files together into a single larger program listing. Unlike Atari BASIC, Assembler Editor includes commands for automatically creating spaced-out line numbers, as well as renumbering lines and deleting them en masse . A FIND command

957-515: The start. It was released through the Atari Program Exchange in 1982, then later Antic Software. Softline stated that Phobos might disappoint Caverns of Mars players, saying that it was "a reinvention of the wheel" and too easy for them. The magazine noted some improvements, such as a pause button and multiple skill levels, but advised that " Mars veterans should wait". The Addition-Wesley Book of Atari Software 1984 gave

990-455: Was a community college freshman, suddenly had a bunch of money inflicted upon him. I was never certain whether he benefited from that in the long run or not. In the originally submitted version, when the player reached the end of the selected map, the game ended. Thorlin felt it needed something more. Christensen was too busy, but agreed to use his royalties to pay for someone else to do the work. Thorlin hired Richard Watts of Macrotronics to make

1023-418: Was being written, primarily by Paul Laughton, O'Brien's husband, O'Brien worked on the Assembler Editor. It was written by punching codes into a punch tape machine, running the tape through an EPROM burner, and then testing the resulting ROM in an Atari 800. The cartridge was completed before Atari BASIC, and O'Brien spent some time working on portions of that project as well. As part of Shepardson's work,

MAC/65 - Misplaced Pages Continue

1056-425: Was hooked. Four hours later, my wife dragged me away" and concluded by noting that "the Caverns of Mars has that indefinable "something" that makes it arcade-quality". The Addison-Wesley Book of Atari Software 1984 gave the game an overall B+ rating, calling it "fast-paced and addictive" and "great fun ... a must for any dedicated arcade game player". InfoWorld 's Essential Guide to Atari Computers cited it as

1089-466: 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 . 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

#82917