OpenComputers/EEPROM

EEPROM
EEPROM (OpenComputers).png
Тип Предмет
Редкость Обычный
Прочность Нет
Возобновляемый Нет
Складываемый ?

EEPROM — специальный чип с кодом, который вставляется в соответствующий слот в корпусе компьютера. Этот чип необходим всем типам компьютеров: компьютерам, серверам, планшетам, роботам и микроконтроллерам. Он содержит программу, которая выполняется сразу после старта компьютера. Например, стандартный чип Lua BIOS ищет файл init.lua и запускает его, загружая операционную систему OpenOS. Таким образом, EEPROM выполняет роль BIOS в настоящем компьютере.

Чипы с данными можно копировать при помощи верстака. Для этого необходимо положить два чипа в верстак — на выходе будут два чипа с одинаковыми данными. Если один чип пустой, копироваться будет чип с данными. Если оба чипа имеют данные — копироваться будет первый из них.

После загрузки компьютера, чип можно вынуть, или заменить другим. Например, для того, чтобы запрограммировать новый чип, используя этот же компьютер.

Для программирования чипа вы можете воспользоваться командами его API или программой flash.lua операционной системы OpenOS.

Объем данных, которые можно поместить на чип, имеет ограничение по размеру в 4 КБ (4096 байт).

Благодаря тому, что код загрузки компьютера (начиная с версии 1.4.2) не задан жестко модификацией, а вынесен в специльный чип, компьютеры получили способность загружаться не только с файловых систем OpenComputers, но и с других носителей информации. Например — с программы, переданной по сети, или с магнитной кассеты мода Computronics.

Чип EEPROM в корпусe стационарного компьютера

Крафт

Ингредиенты Процесс
Бумага +
Микрочип (Уровень 1) +
Транзистор +
Кусочек золота +
Красный факел
Микрочип (Уровень 1)

Lua BIOS

Это чип со стандартным кодом загрузки компьютера, который ищет файловую систему с файлом init.lua (файл операционной системы OpenOS).

Крафт

Ингредиенты Процесс
EEPROM +
Книга









API

Название компонента: 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) в дополнительный раздел пишется адрес загрузочного диска с операционной системой.

Ссылки


В данной статье используются материалы из статьи «OpenComputers/EEPROM» с вики-сайта Minecraft Wiki, расположенного на Фэндоме, и они распространяются согласно лицензии Creative Commons Attribution-Share Alike. Авторы статьи.