4

Unlike the Apple ][, the Apple 1 never had BASIC in ROM. The Apple 1 booted into a monitor program, which enabled the user to type in machine code for a program (as Steve Wozniak often did), or load a program using the optional cassette interface (how most users loaded BASIC). The monitor also provided routines for reading the keyboard and printing characters to the screen.

Woz wrote and assembled the monitor program by hand -- without the assistance of another computer -- as he had also done for the Apple 1 BASIC. However, this raising a software development bootstrapping problem: How was he able to get the machine code actually into ROMs for the Apple 1 in the first place?

  • Borrow/use someone else's (E)PROM writer (e.g. at work, or from the Homebrew Computer Club)?
  • Build his own (E)PROM writer (e.g. from discrete logic)?
  • Pay a company to do it (expensive, unlikely)?

1 Answer 1

8

At that time he worked at HP, where they had of course the needed promer - the only drawback was that he had to walk to another building, as you already cited (in another question) from iWoz:

I couldn’t write a new program into the PROMs. To do that, I’d have to go to that other building again, just to burn the program into the chip.

I guess he did it a few times - ofc, later, for the production machines they ordered them preloaded from MMI, as markings do show. Burning PROMs was a service most PROM manufacturers offered - it covered the gap below making a custom ROM.

3
  • 1
    While not directly applicable to the Apple 1 development, I would point out it wasn't unknown to program small PROMs by hand. 256 bytes would be near the limit of sanity, but I'm sure some poor soul has done it.
    – RETRAC
    Mar 17, 2021 at 22:10
  • 1
    I know at least one 'poor soul' - though at time it felt like being the master of the universe. The worst part of building a minimal promer was providing 5V, 20V and 30V. Then again, when burning, each bit was done separate and only zeroes had to be burned anyway :))
    – Raffzahn
    Mar 17, 2021 at 22:29
  • 3
    @Raffzahn - which leads to an extremely niche programming optimization exercise...
    – Jon Custer
    Mar 17, 2021 at 23:09

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .