6

In spring of 1978, Apple took the updated 6502 BASIC from Microsoft, fixed some bugs and added some new commands, and released it as Applesoft II. This was soon released as a ROM set (shipped standard with the Apple II+) that replaced the Integer BASIC ROM.

There were various other non-BASIC-related features in the Integer BASIC ROM, such as the miniassembler, that were lost when this change was made. Excactly what features were lost?

8

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).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.