rpcDrive
Активный0.0
Установок
Последнее обновление
Версии
rpcDrive - Совместимость RedPower 2 и ComputerCraft
В эпоху 80-х годов было обычной практикой, когда разработчики использовали более мощные компьютеры для создания и отладки программного обеспечения для менее производительных машин. Именно в этом духе создан мод rpcDrive, который обеспечивает кросс-модовую совместимость между дисководами из RedPower 2 и компьютерами из ComputerCraft. Это позволяет использовать Lua-скрипты для чтения и записи данных в компьютерную экосистему RedPower 2, основанную на процессоре 65EL02.
Мод также включает встроенную утилиту rpc/drive, которая автоматически устанавливается и предоставляет базовые операции чтения, записи и копирования для дискет RP2.

Документация API для ComputerCraft
Дисководы RP2 регистрируются как периферийные устройства типа rp_drive. Важно отметить, что операции с дискетами выполняются с использованием 128-байтных секторов. Периферийное устройство rp_drive предоставляет внутренний 128-байтный буфер, из которого считываются и в который записываются сектора.
Индексы и количество секторов указываются с отсчетом от 1, как это принято в Lua.
| Название | Аргументы | Описание |
|---|---|---|
| isPresent | - | Возвращает true, если дискета присутствует |
| hasData | - | Возвращает true, если на дискете есть данные |
| isReadable | - | Возвращает true, если дискету можно читать |
| isWritable | - | Возвращает true, если на дискету можно записывать |
| getSerialNumber | => string | Возвращает внутренний идентификатор дискеты ("серийный номер") в виде строки |
| getLabel | => string | Получает отображаемую метку дискеты |
| setLabel | newLabel (string) | Устанавливает отображаемую метку дискеты |
| getBytesPerSector | => number | Возвращает количество байт в секторе; обычно 128 |
| getSectorCount | => number | Возвращает количество секторов, записанных на дискете |
| getSectorSize | => number | Возвращает общее количество секторов на дискете, включая никогда не записывавшиеся |
| readSector | sectorIndex (number) | Читает сектор с дискеты во внутренний буфер |
| writeSector | sectorIndex (number) | Записывает сектор из внутреннего буфера на дискету |
| erase | - | Стирает содержимое дискеты |
| initialize | - | Инициализирует пустую дискету, присваивая ей новый серийный номер. Запись сектора на пустую дискету автоматически инициализирует ее |
| getBufferByte | index (number) | Читает байт из внутреннего буфера |
| setBufferByte | index (number), value (number) | Записывает байт во внутренний буфер |