KeyTwoZero
-
Публикации
9 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные пользователем KeyTwoZero
-
-
18 часов назад, rootmaster сказал:ну ок
Как вам обновление?))
-
Произошло глобальное обновление
-
13 часа назад, rootmaster сказал:хорошое решения, поддерживаю, вот вопрос тебе нужна поддержка lua 5.2? если нет, можешь скинуть мне исходник вплоть до 18 кб и я его сожму
Извините за некоторую грубость, но я уже пробовал ту утилиту, что вы рекомендовали - она фигня, по сравнению с другим минификатором кода на Lua. Я пробовал их много всяких, сравнивал результаты, и нашёл лучший для себя вариант, который сжимает код максимально сильно.
-
В 04.07.2022 в 14:03, rootmaster сказал:еще хотел сказать, что модификатор сам переименовывает переменные, и делать их такими короткими не обязательно, я "облагорожу" твой код, сделаю его меньше и лутще и скину тебе в личьку, а там сам разберёшься что с этим делать
Я тут решил вообще полностью переписать код, изменить интерфейс, и убрать некоторые функции, которые я посчитал ненужными. Однако - появится новый функционал.
-
Обновил. Изменения можно увидеть в репозитории.
- Теперь издаётся звук при запуске прошивки.
- Пофикшен баг с мониторами у роботов, да и вообще теперь экраны первого уровня не используют "максимальное" разрешение. Ибо кому в кайф сидеть 4 на 2 экране первого уровня?..
- Так же заметил, что можно заменить функцию pairs на свою переменную, это повзоляет сильнее сжать код.
Но есть и негативная сторона:
Стал замечать, что к сожалению, конкретно в этом проекте - очень сложно релизовать прям всё-всё-всё.
Увы, но 4 кибибайта на прошивку - действительно слишком мало для полёта творческой фантазии...
-
В 02.07.2022 в 19:29, rootmaster сказал:вот еще вопрос, зачем ты используешь setData если меню для выбора вылезете каждый раз? это ведь без с мысленно, если ты переживаешь что в некоторых операционках вместо computer.getBootAddress используется eeprom.getData то это бред, так как в некоторых биосах в eeprom дата лежит не только адрес загрузочного носителя, но и дополнительные данных, я бы привел пример такого биоса но меня за "рекламу" заплюют
Большое спасибо за подсказки. Пожалуй, уберу setData при загрузке, а так же попробую пофиксить проблемы с на планшетах и роботах,
ибо я на них даже не пробовал запускать. Ну и beep(1000,0.2) сделаю в начале.Думаю, что на планшетах проще отключить всю эту систему выбора, так как там может быть только один дискетоприёмник, а значит - лишь одна дискета.
P.S. Если каждый раз при запуске не делать setData - не будет запускаться OpenOS. Ну и костыльная же эта ваша OpenOS...
-
1
-
-
Обновил прошивку, можно посмотреть в репозитории в CodeBerg.
Теперь издаются звуки разной высоты при подключении и извлечении устройств.
Так же исправил пару моментов, которые занимали слишком много места.
Например, белый цвет #FFFFFF я просто заменил на -1, ведь оказывается - так можно делать.
-
2
-
-
Приветствую вас. Этот пост я пишу, чтобы рассказать вам о своей разработке для мода OpenComputers:
BetterBIOS
Это специальная прошивка BIOS для EEPROM, позволяющая выбирать любое из подключенных устройств для загрузки.
Для этого используется пользовательский псевдографический интерфейс, который поддерживается на всех уровнях видеокарт и экранов.
Так же, в этой прошивке есть своя система отображения ошибок, показывающая весь "traceback" за исключением не нужных пунктов внутри самой прошивки. Это будет очень полезно для разработчиков собственных операционных систем, ведь данная прошивка подскажет места, в которых возникла ошибка, в то время как стандартная прошивка молчит как партизан.
UPD. Начиная с версии 4, код ошибок можно пролистывать:
Если доступных для загрузки устройств больше, чем одно - то при включении компьютера, пользователю предлагается выбрать одно из них.
Если такое устройство только одно - загрузка начнётся незамедлительно.
Подключение устройств для загрузки происходит динамически, "на лету", прямо во время выбора устройства.
Так же, данная прошивка имеет приоритеты на выбор экрана: первым делом она пытается подключить тот экран, у которого есть клавиатуры поблизости. Если таковых не имеется - использует любой другой.
Видеокарту прошивка использует максимального уровня.
Прошивка защищена от критических сбоев при резком извлечении устройств, пока программа работает с файлами на них.
Это делает данную прошивку практически не убиваемой, и позволяет избегать любых несчастных случаев при работе с компьютером.
Я просто параноик, иначе сделать не мог...
Данная прошивка поддерживает большое количество разных операционных систем, использующих разные файлы для загрузки:
- OpenOS
- Plank9
- MineOS
Работает это за счёт списка файлов, которые ищет прошивка. Вы можете добавить свои файлы, вписав их в переменную в начале файла.
Ну или можете оставить комментарий под этой темой, с просьбой, какой файл стоит ещё добавить.
Забавный факт: Если таких файлов будет очень много, то посмотрев их список нажатием клавиши F8 при выборе устройства - вы можете пролистывать список.
Так же, если вы хотите, чтобы прошивка при запуске не перезаписывала данные EEPROM (setData), и не мусорила в оперативной памяти рудиментарными функциями типа "computer.getBootAdress", которые нужны для OpenOS - вы можете отключить всё это дело в меню через клавиши.
А если вам не хочется каждый раз их нажимать - то просто измените комментарий в конце кода с 11 на 10 или 00.
Несмотря на весь этот функционал и продуманность, в минимизированном виде данная прошивка помещается на EEPROM, стандартная ёмкость которого - 4096 символов.
К сожалению, код не очень хорошо читаемый, но это обусловлено тем, что я писал заранее с расчётом на то, что подробный код будет минимизирован, а для них нужно ещё и грамотно написать код, который, увы - сложно читается.
Исходный код данной прошивки вы можете посмотреть здесь.
Спасибо за внимание. Если у вас есть какие-то идеи, как можно улучшить или ухудшить данную прошивку - пишите здесь, или как-нибудь вычислите меня, постараюсь подумать, и может быть, даже обновлю код, сделав его лучше для вас.
-
12

BetterBIOS - Прошивка для EEPROM с улучшенным функционалом
в eeprom
Опубликовано:
Обновил:
С остальным решил ничего не менять, ибо устал... Пытаться запихнуть столько всего в жалкие 4096 символов - очень утомляет.
Интерфейс, как по мне - для клавиатуры и так норм, запускать всякие терминальные ОС сойдёт, а делать его ещё и кликабельным - это вообще жесть, без сжатия не обойтись, и то не факт, что реализация сжатия не будет больше, чем выигрыш от него. (Потому что данные в минимизированном коде почти равномерные, если не считать всяких local, function и end)
Но, может - когда-нибудь попробую и с сжатием...
А говоря о конфиге, который хранится в самом коде - это лучшее, что я мог придумать, ибо операционные системы могут запросто стереть оттуда конфиг, да и они могут быть не готовы к такому повороту жизни, как "UID-устройства ХОБА ПОЛУЧИ ДВА ЧИСЛА".
Пускай уж пользователь сам настроит под себя и свои ситуации.