ON THIS WIKI
|ID Name|| |
The EEPROM is a vital OpenComputers component. It is used to store the code to be executed immediately after the computer is powered on, usually a BIOS that runs other code, such as an operating system. However, by default it contains no code, and must be programmed using another computer or by crafting it into a Lua BIOS. This BIOS checks connected file systems for an operating system, such as OpenOS, and boots it.
A single EEPROM chip stores two sequences of bytes: one containing up to 4096 bytes (4 KB) of startup code, usually in Lua, and a second one storing up to 256 bytes of other data. By default the latter is used to store a preferred boot address, however custom EEPROMs may use it for any other purpose. The code section may be permanently marked as read-only to prevent further changes to the code.
Both data sections of an EEPROM can be copied by crafting it together with a second EEPROM. If one chip is empty, the one with data is duplicated, otherwise the first one's data is written over the second one's.
A running computer's EEPROM can be replaced, which allows the computer to function as an EEPROM programmer. An EEPROM can be read, reprogrammed and relabeled with the
flash OpenOS program. Other operations can only be performed directly using its API.
Small, programmable storage that contains the BIOS that computers use to boot.
An EEPROM provides the
eeprom component with the following methods:
get(): string: Return the EEPROM's code bytes as a string.
getChecksum(): string: Return a checksum of the EEPROM's code bytes, which is required to set it as read-only.
getData(): string: Return the EEPROM's data bytes as a string.
getDataSize(): number: Return the number of data bytes that can be stored on this EEPROM. Currently this is always 256.
getLabel(): string: Return the EEPROM's label.
getSize(): number: Return the number of code bytes that can be stored on this EEPROM. Currently this is always 4096.
makeReadonly(checksum: string): true or (nil, error): Permanently mark the code bytes as read-only. Return
trueif the checksum is correct and the operation was successful, else
niland an error message.
set(data: string): nothing or (nil, error): Replace the EEPROM's code bytes with the given string. Return
niland an error message if the EEPROM is read-only, or raise an error if
datais too large.
setData(data: string): Replace the EEPROM's data bytes with the given string. Raise an error if
datais too large.
setLabel(label: string): Replace the EEPROM's label with the given string.
UsageEEPROM can be used to create the following items: