NedoOS: релиз
Alone Coder
2 октября 2018 года наконец вышел пер─
вый релиз графического редактора gfxed,
вскорости переименованного в Scratch. Пи─
сался он совместно с Николаем Гривиным,
которого я обучал ассемблеру. Именно под
требования этого редактора было заточено
новое CP/M-подобное "скрытое" ядро,которое
и стало ядром NedoOS. При этом изнанка фа─
йловых операций была взята из версии "При─
нца Персии" под SD-карту, которую сделал
DimkaM с использованием библиотеки FatFs и
драйверов от Savelij13. Кроме того, в ядре
использовалась библиотека trdosfs из сис─
темы NedoLang. Наконец всё оказалось вмес─
те - ядро, драйверы и полезная системная
программа. Редактор был продемонстрирован
на тусовке NedoPC. Вопрос собравшимся был
предъявлен следующий - будет ли MSX-DOS2 с
многозадачностью и FAT32? Или, возможно,
TASiS будет переделан под эти требования?
Иначе нам придётся пойти по пути новой,са─
мостоятельной системы. Ответ был - нет, не
будет.Так мы пошли по пути самостоятельной
системы, лишь частично совместимой с CP/M.
Система со всеми программами собирается
одной кнопкой, разработка идёт стремитель─
но.7 ноября 2018 года была выпущена первая
отдельная сборка NedoOS с командной стро─
кой. Многозадачность добавлена 10 ноября.
Командная строка - 12 ноября. Много откры─
тых файлов одновременно - 13 ноября. Nedo─
vigator - 15 ноября.Батники - 16 ноября. К
проекту подключился DimkaM и создал репо─
зиторий на сервере у Lord Vader'а.
К 20 декабря появились hex editor и
текстовый редактор. 15 января - NedoBasic
(совместно с Кириллом Ловягиным, бывшим
спектрумистом, которого я тоже обучал ас─
семблеру), 24 января - NedoLang и diff,
написанный на нём. В феврале - плейер му─
зыки и NedoBrowser (от кода 2006 года там
совсем ничего не осталось;для работы в Ин─
тернете DimkaM добавил в ядро NedoOS под─
держку сетевой карты ZXNetUSB и адаптиро─
вал эмулятор).Поддержка GIF взята из исхо─
дников Dismaster/X-Project (1997), но поч─
ти полностью переписана,а поддержка JPEG -
тот самый JPEG viewer от Alien Factory,
который я несколько лет наворачивал под
TR-DOS. Поддержка bmp в браузере,в отличие
от Scratch, самая примитивная (только 24
bit),зато поддержку PNG я написал с нуля и
довольно универсальную (для распаковки ис─
пользуется модуль из pkunzip ).
Под NedoOS был тут же портирован не
только pkunzip, но и tar, dmirc, dmftp,
веб-сервер 3ws, DHCP-сервер и многое дру─
гое. В марте DimkaM добавил dmm - утилиту
монтирования дисков. В апреле 2019 года
добавлены NedoView, modplay, wget, reset,
unrar, zxrar, игры tetris, snake, tank,
открыт сайт nedoos.ru и проведена первая
презентация NedoOS на Дне Космонавтики.
DimkaM добавил запуск бейсиков и снапшо─
тов, а также сохранение снапшотов TR-DOS
программ, с переключением по NMI. Demige
добавил скрипты сборки из-под Linux.
В мае DimkaM добавил драйвер PS/2 кла─
виатуры ZX Evo, Lord Vader ускорил сорти─
ровку в Nedovigator'е, я написал первую
версию игры Untangle, а Demige улучшил
NedoBasic - теперь он хранит исходник в
текстовом виде.
В июне Demige сделал динамическое выде─
ление памяти под панели Nedovigator'а,
DimkaM добавил в ядро поддержку разделов и
оптимизировал сборку нескольких версий
NedoOS одной кнопкой. Добавлена игра Супер
Марио с NES.
В июле Demige написал Ping и Telnet, а
DimkaM добавил поддержку USB flash в ядре
и утилиту settime с поддержкой NTP. Прове─
дена презентация NedoOS на DiHalt'2019.
В августе добавлена сборка для Pentagon
2.666LE и начат перевод документации на
английский (Louisa). В сентябре добавлен
движок wolf3d и игра Чёрный Ворон. В октя─
бре - игра Eric and the Floaters под цвет
на точку (благодаря Rasmer и Sashapont ) и
утилита hddfdisk (DimkaM). Demige начал
писать игру Everlasting Summer. Совместны─
ми усилиями удалось написать сетевую вер─
сию Snake. В NedoBrowser'е поддержан про─
токол Gopher. Добавлены логотипы (от
Louisa, DimkaM, Wizard, Sashapont и меня).
Чёрный Ворон переделан под цвет на точку,
но пока со старой графикой. Проведена пре─
зентация NedoOS на CAFe'2019 - итоги года
совместной разработки.
В ноябре DimkaM фиксил сборку сишных
утилит и резидент отладчика NoIce. В де─
кабре в NedoBrowser добавлена поддержка
https через прокси, а в Scratch - сохране─
ние .scr, добавлен пример работы с ка─
ртинками, спрайтами и музыкой для игр -
sprexamp. 27 декабря 2019 года репозиторий
NedoOS открылся для всех желающих.
В январе 2020 года в player добавлена
поддержка TurboSound FM, а Lord Vader при─
вёл все тексты к 866 кодировке. В феврале
была исправлена работа с SD-картой на
NeoGS. В марте добавлены игра Loyd и дема
noise. В апреле - поддержка SVG в Nedo─
Browser'е (исходник от Elph) и плеер AY по
сети (DimkaM, Lord Vader).
К апрелю-маю Чёрный Ворон был окончате─
льно раскрашен (в этом участвовали Котик,
Sashapont и Louisa ), и я записал полное
прохождение на YouTube. В wolf3d добавлены
спрайты с текстурой и прозрачностью,импорт
текстур и спрайтов из bmp, а в sprexamp
поддержан скролл фона. wget стал уметь
просмотр картинок и проигрывание музыки
(DimkaM).
В июне написана карточная игра для "Бе─
сконечного лета". Начались трансляции на
Twitch и YouTube. Исправлен старинный и
редкий глюк в ядре, а музыка в программах
теперь может играть по фону и не тормо─
зить. Добавлена защита экрана программ при
переключении фокуса.
В июле в NedoLang и NedoAsm добавлен
таргет script и расширены возможности
enum, исправлен двойной typecast и вложен─
ные #ifdef. В Scratch написана оконная си─
стема с кнопочками, галочками и полями
ввода. В веб-сервер 3ws добавлена функция
запуска приложений, запуск плеера и вьюве─
ра картинок (DimkaM). Добавлены обучающие
проекты hello и gfxtest.
В августе добавлена работа текстовых
программ через пайпы и терминалы,
telnet-сервер netterm, увеличено число од─
новременно открытых файлов. cmd теперь
умеет dir >file, dir |more.com.
К сентябрю портированы компиляторы
Turbo Pascal и BDS C, для последнего напи─
сана простейшая графическая библиотека. В
NedoLang добавлены константные выражения
+(expr) и блок evar {UINT var1 = 1, INT
var2 = 2, FLOAT var3} и т.п. - создаёт пе─
ременные заданого типа с заданными адреса─
ми.В ядре и Nedovigator'е поддержаны длин─
ные имена файлов.В Scratch появилось опци─
ональное сохранение в формате 8 бит на пи─
ксел. Портирован Pro Tracker с поддержкой
General Sound и увеличенным окном редакти─
рования.
В октябре написан новый музыкальный ре─
дактор untr (с кучей виртуальных дорожек и
цифрами зацикливания). В ядре при снятии
задачи теперь не только закрываются файлы
и сокеты, но и глушатся оба AY, а размер
плейера, подписанного на прерывание, уве─
личен до 48K. Konstantin Kosarev написал
утилиту rdtrd (читает содержимое диска A:
в файл noname.trd ). Добавлены утилиты cut
(резалка файлов) и playtap. Добавлена дема
raytrace и сетевая игра q1 (Firestarter).
В ноябре портированы игры, декомпилиро─
ванные Rasmer'ом: Slab Age (раскрашена),
Montana Jones 2 (раскрашена), Isitar 7 (с
MSX), Midnight Resistance (потом добавлена
заставка с Atari ST), Solomon's Key (потом
добавлена заставка с Atari ST), Barbarian
(потом добавлена заставка с Amiga ). В
wolf3d добавлены двери в нишах, звуковые
эффекты, стрельба. Konstantin Kosarev на─
писал утилиту wrtrd (пишет на диск A: со─
держимое образа source.trd ).
В декабре прошёл конкурс Твоя игра 6.
Там появились игры High Way Star (Rasmer
декомпилировал с MSX ) и ZX Battle City
(Slip) под NedoOS. Baho написал автомати─
ческий генератор зависимостей при сборке
под Linux. Добавлен маунтер под ATM, а в
hddfdisk добавлен инсталлятор загрузчика и
TASiS'а (DimkaM).
В январе 2021 года BruXy перевёл доку─
ментацию NedoOS на английский. Добавлена
версия Nedovigator'а nvfast, которая рису─
ет прямо в экран.А в терминале при неакти─
вности автоматически скрывается курсор. В
zxrar включен поиск 2-байтных совпадений.
Портирована игра 2048 (с помощью Hippi─
man'а ).
В феврале в ядро добавлен возврат кода
результата из программ, и переделана под
цвет на точку игра Вера (её красит Sergio,
а переводит Сергей из ZX BITLES ).
Наконец, в марте портирован Evo SDK. В
этой версии её можно расширять любыми ас─
семблерными функциями, нужными для той или
иной игры.
NedoOS - не только система, в которой
можно работать, но и огромнейшее хранилище
рабочих исходников. По числу приложений
NedoOS приближается к TASiS, а по числу
игр - даже превышает его. Но главное - это
не имеющий аналогов на Speccy совместный
проект, в котором можете поучаствовать
Other articles: