Apple II Machine Language Monitor

From Computer History Wiki
Jump to: navigation, search

This article concerns the memory manipulation program in ROM of the Apple II family, not display devices.

The Apple II's ROM contains a very simple program for the display, modification and execution of memory addresses. Notably, the original Apple II starts up directly to the monitor, while later Apples would boot into Applesoft BASIC. All later models have an Autostart ROM, and start up into Applesoft BASIC. An Autostart option is available with some expansions to the original Apple II and can start up into either Integer BASIC or Applesoft BASIC.

Entering and Exiting The Monitor

If you've got an original Apple II, you should already be in the monitor, if you have the * prompt.

Otherwise, from BASIC, you access the monitor by running:

] CALL -151

And you will get the Monitor prompt:

*

To exit back to BASIC, press Ctrl-C and return. This preserves any BASIC statements in memory:

>5 LET A = 12345
>10 PRINT "HELLO!"
>15 PRINT A
>20 END
>RUN
HELLO!
12345

>CALL -151

* ==> hit CTRL-C here and press return <==

>PRINT A
12345

>RUN
HELLO!
12345

Examining Memory

There are three ways to examine memory in the Monitor. Single address, word and block modes. A single address is a single byte in memory. A word of memory is eight bytes of memory, with an address divisible by 8. A block examination can display a range of memory, starting at a specified and ending at a specified address.

Single Address Memory Access

If you want look at any particular address in memory, simply enter the address at the Monitor prompt.

*FF69

FF69- A9
*

Modifying Memory

Executing Code

Tape Save and Restore