Перейти к содержимому

Поиск по сайту

Результаты поиска по тегам 'OpenComputers'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип публикаций


Блоги

  • Робот Байт
  • Fingercomp's Playground
  • 1Ridav' - блог
  • Totoro Cookies
  • Блог cyber01
  • IncluderWorld
  • KelLiN' - блог
  • Крутой блог
  • eutomatic blog
  • Programist135 Soft
  • Сайт в сети OpenNet
  • PieLand
  • Очумелые ручки
  • Блог недоблоггера
  • В мире Майнкрафт
  • LaineBlog
  • Квантовый блог
  • Блог qwertyMAN'а
  • some blog name
  • Дача Игоря
  • Путешествия Xytabich'а
  • Рецепты программирования
  • Шкодим по крупному
  • 123

Форумы

  • Программирование
    • Программы
    • База знаний
    • Разработчикам
    • Вопросы
  • Игровой раздел
    • Игровые серверы
    • Моды и плагины
    • Жалобы
    • Ивенты и конкурсы
    • Файлы
  • Общение
    • Задать вопрос
    • Обратная связь
    • Беседка
    • Шкатулка
  • Технический раздел
    • Корзина

Группы продуктов

Нет результатов для отображения.


Искать результаты в...

Искать результаты, которые...


Дата создания

  • Начать

    Конец


Последнее обновление

  • Начать

    Конец


Фильтр по количеству...

Зарегистрирован

  • Начать

    Конец


Группа


AIM


MSN


Сайт


ICQ


Yahoo


Jabber


Skype


ВКонтакте


Gtalk


Facebook


Twitter


Город


Интересы

Найдено 294 результата

  1. Приветствую вас. Этот пост я пишу, чтобы рассказать вам о своей разработке для мода OpenComputers: BetterBIOS Это специальная прошивка BIOS для EEPROM, позволяющая выбирать любое из подключенных устройств для загрузки. Для этого используется пользовательский псевдографический интерфейс, который поддерживается для всех уровней видеокарт и экранов (То есть интерфейс будет даже на видеокарте и/или экране первого уровня, при чём с обрезанными адресами, чтобы уместить имя устройства в экран). Так же, в этой прошивке есть своя система отображения ошибок, показывающая весь "traceback" за исключением не нужных пунктов внутри самой прошивки. Это будет очень полезно для разработчиков собственных операционных систем, ведь данная прошивка подскажет места, в которых возникла ошибка, в то время как стандартная прошивка молчит как партизан. Если доступных для загрузки устройств больше, чем одно - то при включении компьютера, пользователю предлагается выбрать одно из них. Если такое устройство только одно - загрузка начнётся незамедлительно. Подключение устройств для загрузки происходит динамически, "на лету", прямо во время выбора устройства. То же самое с экранами и видеокартами. Так же, данная прошивка имеет приоритеты на выбор экрана: первым делом она пытается подключить тот экран, у которого есть клавиатуры поблизости. Если таковых не имеется - использует любой другой. Видеокарту прошивка использует максимального уровня. Прошивка защищена от критических сбоев при резком извлечении устройств, пока программа работает с файлами на них. Это делает данную прошивку практически не убиваемой, и позволяет избегать любых несчастных случаев при работе с компьютером. Я просто параноик, иначе сделать не мог... Данная прошивка поддерживает стандартную операционную систему OpenOS, для работы которой требуются функции computer.setBootAddress и computer.getBootAddress. Если вы хотите использовать данную прошивку, но не хотите мусорить в глобальных переменных этими рудиментами - просто вырежьте эти функции, сделать это несложно, ниже будут ссылки на исходники. Несмотря на весь этот функционал и продуманность, в минимизированном виде данная прошивка помещается на EEPROM, стандартная ёмкость которого - 4096 символов. Вы можете изучить исходный код данной прошивки, и использовать некоторые приёмы оттуда для своих проектов. К сожалению, код не очень хорошо читаемый, но это обусловлено тем, что я писал заранее с расчётом на то, что подробный код будет минимизирован, а минимизаторов кода недостаточно, нужно ещё и грамотно написать код. Исходный код: https://codeberg.org/KeyTwoZero/BetterBIOS/src/branch/main (Я ещё делал репозиторий на GitHub, но чёт я его забросил... Мне он не нравится) Спасибо за внимание. Если у вас есть какие-то идеи, как можно улучшить или ухудшить данную прошивку - пишите здесь, или как-нибудь вычислите меня, постараюсь подумать, и может быть, даже обновлю код, сделав его лучше для вас.
  2. Помните мост Рида? Ну так вот. Я тут изучаю Rust на досуге, и пишу мини проекты. Так и получился у меня... Stem Это интернет мост для OpenComputers. Что такое мост Для тех кто не знает что такое мост, и для чего он нужен: мост дает примерно такие же возможности как и linked карта. Он позволяет связать между собой компьютеры OpenComputers, где бы они не находились. Только мост реализует это через интернет карту. Однако по сравнению с linked картой есть один очень крутой плюс. Вы можете подключиться к своему OpenComputers компу не только с другого OpenComputers компа из Майнкрафта, но и из реального мира. Например с телефона. Или с вашего домашнего компьютера. Отличие от моста Рида Я немного по другому подошел к архитектуре проекта. Вместо попарного соединения, Stem реализует систему каналов. Работает это очень просто. Вы можете: 1) послать сообщение в канал X 2) подписаться на сообщения из канала X Количество подписчиков не ограничено. Количество клиентов которые могут посылать сообщения в канал тоже не ограничено. ID канала (по которому происходит подписка и отправка сообщений) служит заодно и паролем к нему. Поэтому если вы хотите создать публично доступный канал - просто опубликуйте его ID. А если хотите создать свой, приватный, канал - просто возьмите ID подлиннее и никому его не открывайте. ID - это последовательность любых байт длиной до 256. Число комбинаций (256 в степени 256) это огромное число, так что уникальных ключей хватит надолго. Пример local event = require('event') -- подключаем STEM local stem = require('stem') -- присоединяемся к серверу STEM local server = stem.connect('stem.fomalhaut.me') -- просим сервер присылать нам сообщения с канала 'my-channel-id' server:subscribe('my-channel-id') -- слушаем эвент 'stem_message' в цикле while true do local name, channel_id, message = event.pull('stem_message') if name ~= nil then print(channel_id, message) end end -- ...или регистрируем листенер event.listen('stem_message', function(_, channel_id, message) print(channel_id, message) end) -- мы можем посылать сообщение в канал -- (причем не обязательно быть подписанным на этот канал -- достаточно просто его ID) server:send('my-channel-id', 'hello there') -- просим сервер перестать присылать сообщение с канала server:unsubscribe('my-channel-id') -- полностью отключаемся от сервера STEM server:disconnect() Одновременно можно работать с несколькими серверами Stem и с любым количеством каналов. Библиотека stem.lua Библиотечку можно скачать напрямую по этой ссылке: https://gitlab.com/UnicornFreedom/stem/raw/master/stem.lua Либо установить через HPM: hpm install stem Подробная документация по командам библиотеки находится здесь. Сервер STEM Дефолтный сервер STEM запущен у меня на VPS по адресу: https://stem.fomalhaut.me/ Можете смело его использовать. Единственное, что это тестовый сервер пока. Может пропадать или менять протокол. Новости постараюсь писать сюда. Исходный код проекта находится тут: https://gitlab.com/UnicornFreedom/stem Вы можете скомпилировать его под свою систему и запустить где угодно. Настраивается сервер файлом stem.toml в корневой папке. Дефолтный конфиг может выглядеть так: [tcp] host = '127.0.0.1' port = 5733 [web] host = '127.0.0.1' port = 5780 [general] ping_interval = 60 Чтобы получить полностью свой отдельный и независимый сервер STEM, достаточно будет просто запустить бинарник, получившийся после компиляции. Не забудьте также положить в папку с бинарником папки static и templates. Они нужны для веб-интерфейса. Сервер мультипоточный, и очень производительный. Должен тянуть довольно большие объемы трафика. Но точных бенчмарков я не проводил. Если есть желающие - пишите в IRC, скооперируемся и померяем. 😃 Для того чтобы видеть логи сервера, используйте переменную окружения RUST_LOG. Например чтобы включить полное отображение всех логов: $ RUST_LOG=stem ./stem Веб-интерфейс Если перейти по ссылке на сервер STEM то вы увидите... веб-интерфейс. Веб интерфейс показывает счетчик активных каналов и сессий (клиентских подключений). Кроме того, он дает возможность подключиться к любому каналу STEM и поучаствовать в приеме-передаче сообщений прямо через сайт. Единственное ограничение - как ID канала, так и контент сообщений ограничивается тем, что можно закодировать в UTF-8. Ну вот и все Мост в принципе уже полностью работоспособен. Все идеи, пожелания, отчеты о багах пишите сюда, либо на issue трекер в репозитории. Если кто-нибудь хочет помочь с написанием клиента STEM на своём любимом языке программирования - обращайтесь ко мне в ЛС, IRC или пишите в этой теме. Написать клиент несложно - для примера можно глянуть на код библиотеки для OpenComputers. Она состоит всего из 150 строк кода. Enjoy! 😃
  3. Сидел читал форум, наткнулся на тему "Управление роботом с планшета" и сразу понял что моего ума хватит на создание программы которая позволит управлять роботом с НАСТОЯЩЕГО ТЕЛЕФОНА на системе android. И так, представляю вам - RRCM - Robot Remote Controll Mobile Что вам понадибится? 1. Телефон на android 2. Робот с минимальными компонентами и open os 3. Интернет карта на роботе Установка: 1. На робота ставим программу RRCM (pastebin get y2Twekz8 RRCM) 2. Ставим серверный скрипт на сервер/свой пк(если порт 5000 открыт): -- 1. Ставим python -- 2. После установки python3 вводим в терминал/cmd команды: "pip install flusk" "pip install flusk-restful", также если в четвёртом шаге у вас возникнет ошибка, пробуйте "pip3 вместо "pip" -- 3. Скачиваем скрипт - *тык* -- 4. Запускайте скрипт(windows: двойной клик по скрипту, linux: "python3 название_скрипта" 3. Ставим приложение на android - *тык* 4. Запускаем приложение, вводим только домен/ip:port нажимаем connect - если появляются кнопки управления - работает, если приложение виснет - какая-та проблема(скорее всего приложение не видит сервер 5. В скрипте RRCM на роботе изменяем локальный ip:port на ваш домен/ip:port 6. Запускаем RRCM на роботе. 7. Всё должно работать. Если у многих будут проблемы, запишу видео. В будущем планирую сделать скрипт на EFI что-бы не тратится на диск. Не удивляйтесь малому функционалу, проект был заброшен 2 раза, скоро сделаю обнову. (возможно) UPD: Забыл сказать! Для остановки скрипта надо перезагружать робота, но в скором времени сделаю кнопку в приложении для остановки скрипта Если будут ошибки - пишите, разберусь. UPD2: Если вы боитесь за безопасность устройства то вот вам исходник приложения - *тык* Приложение билдить на андроид в unity
  4. Последняя версия : 2.2 Команда для установки : pastebin run ngQT9YF8 Системные требования: Корпус компьютера, екран - 1 Tier Процесор - 1 Tier Видеокарта - 1 Tier Память - 1.5 Tier (x1) Жёрсткий диск - 1 Tier Дисковод, клавиатура, Lua BIOS - должны присутствовать Краткое описание: Inerpat - примитивная система для запуска на любом ведре, и инструмент для создание и отладки EEPROM кода. Также она поможет в ситуации, когда ваш компьютер превратился в "обожённый строительный материал" Специальные клавиши: ALT - Открыть главное меню CTRL - Открыть меню файла/папки. В редакторе - меню сохранения. TAB - Навигация по доступным файловым системам Скриншоты:
  5. ToMAS

    geolyzer и ic2

    Версия игры 1.7.10(OpenComputers 1.7.5.1290, IC2 2.2827-exp) гео анализ дает только 5значений(name, color, harvestLevel, hardness, metadata) name: IC2:blocCrop а metadata: 0 неважно какие семена или уровень роста. Надо узнать какое растение на жёрдочке и выросло ли оно. Если делать анализ простых растений майнкрафта, то там изменяется параметр метадата и появляется growth(я так понял уровень роста). Проверка была командой geo.analyze(0) Кто подскажет, как получить даные?
  6. Сделал что-то типа карты на голограмме. Даже похоже на GeoMaps с форума, но чуть по другому, и намного менее масштабно) HoloMaps как минимум может определять пещеры под землей, и как максимум с не большой точностью руды. Проектор желательно ставить "Лицом", ну, смотря в сторону координаты Z-. Сканирование начинаеться с относительных от проектора координат X = -12, Y = -32, Z = -12 ---------------Информация------------------- Зеленый блок - Уголь, железо или алмазы Синий блок - вода или лава Красный блок (Опционально) - земля, камень и тд. Также можно разлить ведро воды, чтобы лучше понимать где вы находитесь на голограмме) ---------------------------------------------------- Запуск ///ИЛИ/// установка программы: pastebin run 6skJPcBX ///ИЛИ/// pastebin get 6skJPcBX holomaps.lua -f Вот скриншот пещеры: А вот скриншот просканированной пещеры: Как видно хоть и не все, но руды определились. Сканирование делаю блоками 4х4. Мне кажется у меня костильненько сделано, но из-за этого и в разделе "Программы новичков", в принципе, оно работает, разве что... без шумоподавления) И ещё один вопрос, как-бы нормально реализовать шумоподавление, это надо несколько раз сканировать, и брать среднее значение? И да, чем дальше от сканера, тем менее точно. Собственно тот самый код программы: https://pastebin.com/6skJPcBX
  7. Я скорее всего чисто для себя, и тренировки, пытаюсь сделать что-то типа MineOs. Так вот, возможно я сильно тупой, и ошибка очень проста. Но: У меня есть установщик, в нём я указываю логин и пароль. Потом как видно, Пытаюсь записать их в переменные.. И затем происходит перезагрузка, с измененным boot.lua. Который одкрывает мой "ОС". Собственно там должен отобразится логин, и нужно ввести правельный пароль. Только пароль не распознается. И вместо логина "Label" Естетственно загрузить данные я пытаю так: Наверное это должно быть возможно, тк существует MineOs. Может как-нибудь делать запись этих данных в файл? (Измененно, нашёл команды) file = io.open file:write("") file:read() Попробую с ними (Извените за возможные ошибки, и наверое, тупой вопрос )
  8. Оказывается, Сангар на днях работал над новой версией ОС https://github.com/fnuecke/oc2 O_o
  9. Прошу помощи в создании программы для автоматической замены стержней и лазуритовых конденсов в реакторе. А также защиту, чтобы когда реактор начинал перегреваться он отключался и когда происходит замена стержней. Основная проблема в том, что тпс на сервере как правило 1-3, поэтому нужна оч хорошая система защиты. Для OC 1.6.1 версии (вообщем версия старая в этом тоже есть проблема) С использованием адаптеров, красного камня(из oc) и компьютера (без роботов) Схема представлена на скрине (чисто для этой схемы, чтобы упростить задачу) Буду очень благодарен за помощь! мод OpenPer имеется
  10. Ищу сервер с нормальным онлайном и модом OpenComputers
  11. https://pastebin.com/4BXZP7FZ Использует шрифт Брайля Скрины: Пример:
  12. ItsMakar

    mOS

    ~~В общем исходного кода нет пока ибо автор не за пк соответственно не может его закинуть на гитхаб~~ Короче mOS - самая лучшая (нет) ос в опен компухтерах которая была написана за несколько дней половина методов были культурно украдены из openOS а несколько методов для загрузчика из CyanBIOS есть чето вроде шелла но он нифига не работает почти просто выполняет луа файл который указан
  13. Доброго времени суток , недавно задумывался о том чтобы создать комнату для системы безопасности... Как и в любом стратегическом помещении в комнате должна быть кодовая дверь... посмотрел на OpenSecurity и тут понеслась... накидал основу +- пару часов на добавление плюшек и вот что получилось: >жмяк< . | pastebin get iA7jGLCd door | Как оно работает? > Для начала нужно установить аппарат на котором будет базироваться наша дверь : В моем случае это компьютер с характеристиками: > Далее собираем саму дверь: Обязательно: Door Controller. Keypad. Security Door. Дополнительно: Entity Detector. ЧатБокс (OpenTechnology) Запуск. > При первом запуске программы нужно ввести пароль который будет использоваться для открытия двери. Внимание!!! -! При запуске программы все двери закроются. -! При перезапуске программы пароль не сохраняется. -! При верном пароле откроются все двери подключенные к вашему аппарату. -! Не стоит подключать более 1 ЧатБокса , а также более 1 Entity Detector'a. Итог:
  14. jammer312

    GPSv2

    Я уже закидывал сюда похожую прогу года три назад, но она кривая-косая, не очень надежная, ну и геморная в плане развертки. Эта версия более компактная (и простая в постройке), использует упрощенные вычисления и более эффективный механизм передачи сообщения меж компонентами; помимо этого используются особенности микроконтроллеров для автоматической конфигурации системы. Код в репозитории, для контроллера и периферии. Для постройки одного модуля нужно 3 микроконтроллера второго уровня и один компьютер второго уровня, начинка одинаковая, в каждом нужен процессор, плата оперативной памяти и беспроводная плата второго уровня. Операционная система на компьютер не нужна. В данном контексте компьютер будет контроллером, микроконтроллеры - периферией. Код для них пишется на eeprom. Помимо кода на eeprom можно записать параметры работы (в сегмент данных), для периферии это просто одно число - порт, на котором ожидаются запросы, для контроллера эта строка вида "port: \d+, key: \w+, anchor: \{-?\d, -?\d, -?\d\}", в ней записаны порт, на котором ожидаются запросы и с которого отправляются ответы, ключ-пароль (для настройки координат через беспроводные сообщения, об этом потом), а также якорь - координаты компьютера. По умолчанию используется 312 порт, ключ-пароль admin, и координаты {0, 0, 0}. Схема постройки простая, нужно установить где-либо компьютер-контроллер, а потом вплотную к трем его сторонам установить микроконтроллеры-периферию, при этом не должно быть такого, что контроллер расположен между двумя периферийными микроконтроллерами (если с одной стороны есть микроконтроллер, на противоположную ставить нельзя). Помимо этого лицевые стороны микроконтроллеров (одна из 6 сторон имеет иную картинку, и, что важно, к ней не присоединяются провода) не должны смотреть на контроллер. После постройки нужно единожды включить каждый из 4 компонентов, они при этом сами быстро выключатся. Это нужно для настройки модема, для того, чтобы компонент просыпался при получении определенного сообщения. После этого система уже готова к работе, но при этом не знает (если это не было заранее записано в сегмент данных eeprom контроллера) своих координат, и будет отвечать на все запросы относительными. Для включения системы достаточно отправить сообщение "gps_wake", при этом система запустится, сконфигурируется, и после этого отброадкастит сообщение "gps_ready". Такое же сообщение, но на адрес того, от кого пришло "gps_wake", отправится в случае, если система уже активна на момент получения запроса. Для того, чтобы сообщить координаты контроллеру, нужно отправить сообщение "gps_anchor", после которого идет ключ-пароль (записан в сегменте данных eeprom контроллера), после которого идут координаты (3 числа) контроллера. Координаты при этом запишутся на eeprom, т.е. при выключении-включении они все так же будут известны контроллеру. Для использования системы достаточно отброадкастить "gps_request", контроллер ответит (именно тому, от кого запрос) сообщением "gps_response", после которого идут 3 числа - координаты x, y, z. Таймаут обработки запроса - 1 секунда, если вдруг 1 секунда прошла, а ответа не пришло - что-то не так. При этом контроллер при таймауте запроса забывает все его данные, поэтому кривой запрос (например, отправленный сквозь толстую стену, которая снизила мощность сигнала настолько, что он дошел лишь до части системы) не будет "портить" последующие. Имеет смысл "включить" систему перед первым запросом (послать "gps_wake" и дождаться ответа "gps_ready"), на непосредственно включение уйдет до примерно 2 секунд (вообще с потолка взял, на деле должно шустрее, но внутри таймаут привязки стоит именно 2 секунды, после этого он отправляет 3 сообщения периферии и посылает сообщение о готовности), включенная же сразу ответит. Картинка для референса:
  15. Итак сегодня я наконец сделал свою "мега-крутую" программу. Это так сказать "криптовалюта" только без того самого крипта, блокчейна и всякие другие вещи которые есть в реальных криптовалютах. Но, все принципы майнинга здесь есть - вы жрете электричество и мощности своего компьютера чтобы заработать монетку работает это крайне примитивно, НО РАБОТАЕТ! Так как всё-таки это бета версия. То тут всё ещё есть баги и код написан не очень хорошо, в дальнейшем это будет всё фикситься и т.д. Работа программы: В моей программе клиент/сервер в клиентской стороне - 3 программы и серверный код на PHP который будет на каком-нибудь веб-хостинге. Итак разбор скриптов: Сервер: Клиент: Скриншоты: Установка и авторы Загрузка: wget https://raw.githubusercontent.com/LaineZ/OCCoins/master/Client/installer.lua Установка: installer.lua Авторы: kikito - автор библиотеки md5.lua ECS - автор библиотеки windows.lua Laine_prikol - автор программы и серверных скриптов Репо на гитхабе ------- ЛОВИТЕ БАГИ И ГЛЮКИ -------
  16. Эта тема является продолжением решения вопроса о трудностях обмена пакетами в беспроводной сети OpenComputers. Здесь обсуждается влияние на дальность доставки пакетов не только силы сигнала и препятствий в виде блоков, но и других факторов. Откуда такие сведения? Вроде нет такой физики в OpenComputers.
  17. Всем ку! Ищу сервера с opencomputers и computercraft, нигде не могу найти таковых( Желательно с чанклоадерами, но и без них норм. Спасибо! P.S ProjectOS 3 Мёртв(
  18. Нужно посмотреть, что внутри сундука и вывести информацию на мониторе
  19. Я отсылаю на порт робота, возьмём 1, функцией broadcast, a робот не принимает с event.pull, оно не принимает ничего, почему? Но если с пк на пк, то получается. У робота есть сетевая карта, и пк тоже, так почему? Может из-за того что я на сервере?
  20. Почти с месяц назад я представил во флудилке пару скриншотов разрабатываемого мной браузера и приличному количеству людей оно тогда понравилось. Поэтому сегодня, спустя пол года кодинга, нескольких переходов с одного движка на другой и кучи потраченных нервов я могу наконец представить его вам. Знакомьтесь, Memphisto. Примите во внимание, что браузер находится в тестовой стадии, еще предстоит сделать много всего, поэтому возможно наличие неприятных багов (два глаза все не отловят). Основные характеристики: Используется движок NyaDraw, который является портом движка Screen из MineOS. Поэтому браузер весьма быстро (для таких ПК) отрисовывает и прокручивает страницы. Для страниц используется язык NFPL, специально разработанный с учетом особенностей OpenComputers. Поддержка гиперссылок, загрузочных ссылок, рисование векторной графикой и многое другое. Поддержка картинок формата OCIF5 и OCIF6. А так же их использование в качестве графических ссылок. Возможность просматривать страницы оффлайн, то есть с жесткого диска (полезно при написании страниц). Для поднятия своего сайта достаточно обычного HTTP(S) сервера. Системные требования: Минимальные: Процессор: Уровень 1. Видеокарта: Уровень 2. ОЗУ: 768Кб. Жесткий диск: не меньше 42Кб свободного места. Интернет карта Рекомендуемые: Процессор: Уровень 3. Видеокарта: Уровень 3. ОЗУ: 1Мб или больше. Жесткий диск: не меньше 42Кб свободного места. Интернет карта Скачать: pastebin run EUZQRkwF Репозиторий на GitHub Полезное: Руководство по языку NFPL (Network Formatted Page Language). Первый NFPL сайт - bs0dd.github.io (запущен в тестовом режиме). Руководство по графическому движку NyaDraw. Увы, одного человека слишком мало для реализации задуманного, поэтому ищутся люди, хорошо понимающие в Lua, которые смогут помочь в устранении багов и расширении функционала как языка NFPL так и браузера для него.
  21. https://pastebin.com/LFAEzkP6 Делал погода назад. Откопал в бекапах.
  22. Мод Computronics существует уже более 5 лет. Однако почему-то и по сей день нет ни одной более-менее рабочей файловой системы для кассет из этого мода. Будем исправлять ситуацию))) На сей раз я и представляю вашему вниманию файловую систему для этих самых кассет. TapFAT (Tape File Allocation Table) является функционально полной ФС с возможностью фрагментированного хранения данных. Первые идеи о написании ФС для кассет меня посетили еще в октябре, но время появилось лишь к концу декабря, тогда же я начал обдумывать основу системы. К январю начал писать основную библиотеку, вспомогательные утилиты, отлавливал баги, оптимизировал и упорядочивал код. Наконец, к июню месяцу готова первая версия драйвера. ПРЕДУПРЕЖДАЮ! Файловая система - вещь сложная и довольно серьезная. Я постарался устранить все обнаруженные баги, но не исключено, что некоторые могли проскользнуть мимо глаз. Поэтому я не несу ответственности за порчу данных на кассете в следствии сбоя драйвера. Сохраняя данные на кассетах вы действуете на свой страх и риск! Скажу сразу, ФС довольно медленная (виной тому буферы в операционках, ибо запись на кассету больших и мелких кусков занимает, как ни странно, одинаковое количество времени), поэтому она больше подходит для архивации данных. Учитывая, что самая крутая кассета дает нам около 30МБ, туда можно заархивировать очень много информации (не знаю, нужно ли кому столько). Первые 8КБ кассеты зарезервированы под саму таблицу FAT. Она представляет собой обычную сериализоваyную таблицу Lua, которую при желании можно сжать двумя способами, поскольку она немного не экономична. Так при разных режимах в 8КБ таблицы может уместиться: Без сжатия - около 150 файлов Сжатие LZSS - около 580 файлов Сжатие Картой Данных - около 720 файлов Также можно сэкономить пространство таблицы, отключив хранение даты изменения файла, в таком случае все записанные файлы будут иметь дату изменения 0 (т.е. 00:00:00, 1 Января 1970 года). Краткое руководство: Загрузка ОС с кассет: Установка: pastebin run Tq3hbpaz Драйвер также доступен в MineOS App Market Репозиторий на GitHub Планы на будущее: Нормальное кодирование таблицы Шифрование таблицы. Сжатие и шифрование файлов. Ускорение работы файловой системы
  23. Короче решил написать майнер для OC. За основу взял Duino-Coin : https://github.com/revoxhere/duino-coin Вот сам майнер: https://github.com/ReactorNefg/OpenComputer-Miner-Duino Програма полу рабочая (в любой момент может крашнуть) Писал в рофл. Готов выслушать критику по коду и тд.
  24. Это обсуждение было отпочковано от темы Майнинг OpenComputer. local function round(num) return num + (2 ^ 52 + 2 ^ 51) - (2 ^ 52 + 2 ^ 51) end Вот мне просто интересно, каждый раз при вызове функции двойка будет четыре раза возводиться в степень? Не будет ли эффективнее сделать так? local huge = 2 ^ 52 + 2 ^ 51 local function round(num) return num + huge - huge end Да и подход к округлению странный. Чем не устраивает math.floor(num+0.5) ? Зачем для получения timeDifference нужно реальное время? Измерять временнЫе интервалы в OpenOS можно не пропиливая жесткий диск. И самый главный вопрос: откуда будут сыпаться биткойны и много ли уже насыпалось?
  25. Пока что приложение не до конца разработано, есть только сервер и скрипт для робота. Так что - ждите, мои дорогие форумчане. Для чего это нужно? Каким то образом, вы узнали что вас гриферят(допустим так) и решили не отдавать свои ресурсы и взорвать всё к чертям! Но вы не можете зайти на сервер или вы даже не дома! Просто взорвите свой дом роботом! ИЛИ Захотели потроллить друзей? Выйдите с сервера и начните управлять роботом! Они точно афигеют, особенно если их дома будут подорваны роботом. ИЛИ Сидите вы значит на диване и вам лень подойти к компу что-бы что-то сделать? Решение есть! Просто сделайте это с помощью телефона и робота! Выпуск первого релиза был назначен на 30.08.2021, но у меня юнити решила не качать Android Support для билда приложения. Постараюсь как можно быстрее поставить андроид саппорт и дам вам наконец эту безделушку. P.S. В первом релизе будет крайне малый функционал в виде передвижения во все 4 стороны + поднятие и спуск на 1 блок. P.S.2. Это мой первый проект, так что не бомбите от багов и проблем. 03.09.2021 19:50 UPD: Возможно сегодня если приложение будет работать, я выложу всё.
×
×
  • Создать...