7

In the Byte magazine article that Woz wrote about the Apple II (Vol 2, No 5), on page 43's last paragraph he mentioned how SWEET16 was useful and he estimated that about 20% of the Integer BASIC code could have been weeded out by selectively applying SWEET16.

While the wording suggests that Integer BASIC did not use SWEET16, it does leave me wondering if it did and if not, why not especially considering:

  1. The savings it would create in the ROM.
  2. He states there would be no observable performance degradation.
  3. All Apple II machines being shipped at the time included the Integer ROM and thus SWEET16.

So while I'm expecting the answer to be that it wasn't used, I am a bit curious why not especially since it would have given the II another 724 bytes or so of ROM space to do other useful things.

  • 3
    Perhaps rewriting the code to incorporate SWEET16 would have taken too long? – Jon Custer Apr 24 at 15:08
  • 5
    Woz wrote the original Integer Basic in machine code directly. While an elegant work, that fact also made it brittle when it came to enhancement or refactoring. I don't have any source to back this up, but I have a feeling it probably was just too much of a spaghetti mess to modify on a reasonable schedule. The prospect of adding graphics and floating point and etc. to Integer BASIC was so daunting that Apple eventually ditched it for Microsoft's BASIC implementation. – RETRAC Apr 24 at 15:57
  • 4
    FWIW, you can find a commented disassembly here: callapple.org/docs/ap2/special/integerbasic.pdf – fadden Apr 24 at 16:05
  • 2
    And as for the "why", I'd guess the sequence of events was (1) Woz writes Integer BASIC, (2) Woz gets irked that this is difficult in 6502, (3) Woz finishes Integer BASIC, (4) Woz solves the problem by inventing Sweet 16, and includes it in the ROM as there's space left, (5) the ROM has to ship. – dirkt Apr 24 at 18:42
  • 1
    @RETRAC, Integer BASIC for the Apple II does have graphics commands like HLIN, VLIN, PLOT, SCRN, COLOR, and GR. – Tim Locke Apr 24 at 19:48
5

Essentially various sides of the same reason:

  • SWEET16 came too late. Inccoperating it into integer BASIC would have postponed the ROM production further.
  • Integer BASIC was working as is, doing a redesign could have added bugs.
  • What to do with the saved space? Of course one could have added more functions, but again, this would have cost time to write and integrate, further postponing the introduction.

Bottom line: Apple had to get the II to market. Success was tied to an early start, so adding time to make it better would be a bad business choice - especially if the gain wasn't anything that could boost sales in the short run,

| improve this answer | |

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.