ROM

Read-only memory, or ROM, is a type of non-volatile memory used in computers and electronic devices. Data stored in ROM cannot be electronically modified after the manufacturer produces the memory device. Read-only memory is useful for storing software that is rarely changed during the life of the system, also known as firmware. Software applications (like video games) for programmable devices can be distributed as plug-in cartridges containing read-only memory.

Definition
Strictly, read-only memory refers to memory that is hard-wired, such as diode matrix or a mask ROM integrated circuit, which generally cannot be electronically modified after manufacture. Although discrete circuits can be altered in principle, through the addition of bodge wires and/or the removal or replacement of components, integrated circuits (ICs) cannot. Correction of such errors, or updates to the software, typically require new devices to be manufactured and/or replacement of the installed device.

Erasable programmable read-only memory (EPROM) and electrically erasable programmable read-only memory (EEPROM) can be erased and re-programmed, but usually this can only be done at relatively slow speeds, may require special equipment to achieve, and is typically only possible a certain number of times.

The term "ROM" is sometimes used to mean a device containing specific software, or a file with software to be stored in EEPROM or Flash Memory. For example, users modifying or replacing the Android operating system describe files containing a modified or replacement operating system as "custom ROMs" after the type of storage the file used to be written to.

Apple ROMs
Early Apple II ROMs were shipped with Integer BASIC encoded into the chips on the motherboard. This BASIC interpreter was written by Steve Wozniak to enable users to write software applications without needing to purchase additional development utilities. Developed with game programmers and hobbyists in mind, the language only supported the encoding of numbers in a signed 16-bit integer format, between -32768 and +32767. As a result, it was less suitable to business software and Apple soon received complaints from some customers. Because Wozniak was too busy developing Disk II hardware, he did not have time to modify Integer BASIC for floating point support. Apple instead licensed Microsoft's 6502 BASIC to create Applesoft BASIC. Disk users normally purchased a so-called Language Card which had Applesoft in ROM and sat below the Integer BASIC ROM in system memory. The user could switch between either BASIC by typing FP or INT at the BASIC prompt. Apple also offered a different version of Applesoft for cassette users which occupied low memory and was started by using the LOAD command in Integer BASIC.

In 1982, Apple filed a lawsuit against Franklin Computer after it was discovered that the Franklin Ace 1000 copied substantial portions of the Apple II Plus ROMs. The 3rd U.S. Court of Appeals ruled in favor of Apple and Franklin was forced to withdraw the infringing clones.



Macintosh ROMs
Early Macintosh computers used what were retroactively referred to as Old World ROMs on ICs, which included Bill Atkinson's Macintosh Toolbox and were difficult to reverse engineer without legal infringement. After the return of Steve Jobs to Apple Computer, Macs began utilizing New World ROMs with the Toolbox moved to their boot drives, which allowed more flexibility for updates and the transition to Mac OS X.