EEPROM — специальный чип с кодом, который вставляется в соответствующий слот в корпусе компьютера. Этот чип необходим всем типам компьютеров: компьютерам, серверам, планшетам, роботам и микроконтроллерам. Он содержит программу, которая выполняется сразу после старта компьютера. Например, стандартный чип Lua BIOS ищет файл init.lua
и запускает его, загружая операционную систему OpenOS. Таким образом, EEPROM выполняет роль BIOS в настоящем компьютере.
Чипы с данными можно копировать при помощи верстака. Для этого необходимо положить два чипа в верстак — на выходе будут два чипа с одинаковыми данными. Если один чип пустой, копироваться будет чип с данными. Если оба чипа имеют данные — копироваться будет первый из них.
После загрузки компьютера, чип можно вынуть, или заменить другим. Например, для того, чтобы запрограммировать новый чип, используя этот же компьютер.
Для программирования чипа вы можете воспользоваться командами его API или программой flash.lua
операционной системы OpenOS.
Объем данных, которые можно поместить на чип, имеет ограничение по размеру в 4 КБ (4096 байт).
Благодаря тому, что код загрузки компьютера (начиная с версии 1.4.2) не задан жестко модификацией, а вынесен в специльный чип, компьютеры получили способность загружаться не только с файловых систем OpenComputers, но и с других носителей информации. Например — с программы, переданной по сети, или с магнитной кассеты мода Computronics.
Ингредиенты | Процесс |
---|---|
Бумага + Микрочип (Уровень 1) + Транзистор + Кусочек золота + Красный факел |
Это чип со стандартным кодом загрузки компьютера, который ищет файловую систему с файлом init.lua
(файл операционной системы OpenOS).
Ингредиенты | Процесс |
---|---|
EEPROM + Книга |
eeprom
get(): string
— возвращает код, содержащийся в чипеset(data:string)
— помещает код, переданный в виде строки, в чип.getLabel(): string
— возвращает метку чипа.setLabel(data:string)
— устанавливает новую метку.getSize(): number
— возвращает объем данных основного раздела на чипе.getDataSize(): number
— возвращает объем данных в дополнительном разделе чипа.getData():string
— возвращает дополнительные данные чипа (строку с адресом загрузочной файловой системы компьютера).setData(data:string)
— перезаписывает дополнительные данные чипа заданной строкой.getChecksum(): string
— возвращает уникальную контрольную сумму чипа.makeReadonly(checksum:string)
— делает чип с указанной контрольной суммой доступным только для чтения. Процесс необратим.EEPROM содержит 2 раздела, основной (4096 байт) и дополнительный (256 байт). Основной раздел по умолчанию предназначен основной код, дополнительный — это область модифицируемой памяти, например в чип EEPROM (Lua BIOS) в дополнительный раздел пишется адрес загрузочного диска с операционной системой.