Jump to content

SWEET16

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Michael Reed (talk | contribs) at 07:59, 4 August 2016 (top: grammar). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

SWEET16 is an interpreted byte-code language invented by Steve Wozniak and implemented as part of the Integer BASIC ROM in the Apple II series of computers. It was created because Wozniak needed to manipulate 16-bit pointer data in his implementation of BASIC, and the Apple II was an 8-bit computer.[1]

SWEET16 code is executed as if it were running on a 16-bit processor with sixteen internal 16-bit little-endian registers, named R0 through R15. Some registers have well-defined functions:[1]

The 16 virtual registers, 32 bytes in total, are located in the zero page of the Apple II's real, physical memory map (at $00$1F), with values stored as low byte followed by high byte.[1] The SWEET16 interpreter itself is located from $F689 to $F7FC in the Integer BASIC ROM.

According to Wozniak, the SWEET16 implementation is a model of frugal coding, taking up only about 300 bytes in memory.[2] SWEET16 runs at about one-tenth the speed of the equivalent native 6502 code.[1]

References

  1. ^ a b c d Wozniak, Stephen (November 1977). "SWEET16: The 6502 Dream Machine". Byte. Retrieved 2011-01-05.
  2. ^ Wozniak, Stephen (May 1977). "The Apple II" (PDF). Byte. Retrieved 2012-05-18.