Page references below refer to the Apple II Reference Manual, 1979
edition.
As well as Integer BASIC itself, the following machine-language
features were lost:
- The miniassembler (p.49), allowing one to type in 6502 opcodes that
it would assemble into memory. (The format was the same as the
monitor's
L
"list" command printed.) While it didn't support
symbols or labels, it did let you give absolute addresses to branch
instructions for which it would calculate the proper relative
offsets. (The miniassembler was started from the monitor with
F666G
, and you could go back to the monitor with $FF69G
.)
- Monitor step
S
and trace T
commands (p.51). S
would print a
disassembly of the next instruction, execute it, and then print the
registers. T
would execute instructions continuously, printing the
disassembly before and registers after each instruction, until it
hit a BRK
instruction or the user pressed RESET.
- SWEET16, a byte-code interpreter for a simple 16-bit virtual
machine. This provides a more compact, albeit slower, way of
manipulating 16-bit data than using 6502 assembly language directly.
- Some simple machine-language floating point routines. These are
described in detail on pp. 110-117 of the Call-A.P.P.L.E.
publication The WOZPAK II. They appear to be similar to,
possibly the same as, the ones published in the August 1976
issue of Dr. Dobb's Journal.
Additionally, Integer BASIC was small enough that it left two 2K ROM
sockets free. One of these could be filled with a ROM sold by Apple
called "Programmer's Aid #1, which would also have to be
removed if upgrading an Apple II; the Apple II+ lacked a free socket
for this ROM. As well some utilities specific to Integer BASIC (for
renumbering lines, appending programs to each other, and verifying
Integer BASIC programs on tape) it contained the following routines
useful for machine-language programming:
- Verify saved machine-language code or data on tape.
- A relocator for machine-language code, to automatically translate
addresses to allow the code to run at a different location.
- A RAM test utility.
- A machine-language routine to generate musical tones.
- High-resoulution graphics routines (though probably not a huge loss
given that Applesoft has similar routines).