Делаю многозадачную ОС для Scorpion GMX. Рабочее название ZOS или OSZ.
https://github.com/izzx-git/OSZ
На облаке в папке OSZ:
https://drive.google.com/drive/folde...2I?usp=sharing
Первый ролик:
Скрытый текст
[свернуть]
Уже под ней работают кролик и радио.
На гитхабе сейчас лежит версия, которая запускает два процесса - системный и радио. Нужна карта zxwifi.
Можно запустить в эмуле.
Из описания:
Поддерживается SMUC и ZC, FAT32 (то, что умеет монитор).
Прошивка нужна свежая от LW/PLM, версии примерно 40 и выше.
Одновременно может быть запущено до 8 процессов,
открыто до 8 файлов.
Используется ОЗУ 2 Мб.
Запуск:
Скопировать папку "OSZ" на диск FAT32 и запустить файл hobeta "os.$c"
через навигатор или автозапуск.
Или запустить образ дискеты OS.TRD.
Управление:
Ss + Enter - Переключение задач
Cs + 1 - Rus/Lat
Cs + 2 - CapsLock
В планах:
Поддержка TR-DOS дисков (сейчас только FAT).
Монтирование TR-DOS образов и запуск программ.
Возврат в ОС по кнопке сброс.
Портирование приложений (уже работает Moon Rabbit).
Монопольный режим
Работа процессов реального времени (каждое прерывание). Например, плеер AY (уже есть).
Многозадачная работа с сетью через ESP.
Удобная работа с большими объёмами информации в памяти (>2 страниц).
Удалённый терминал
Сетевые папки
Поддержка мыши
------------------------------------
Информация для программиста.
Системные вызовы описаны в "os_defs.asm".
Система использует вызовы теневого монитора для работы с дисками.
Система находится в странице 0, вместо ПЗУ.
Страницы 1-4, 6 - зарезервированы для монопольного режима одного приложения.
Обычные процессы используют окна памяти #8000 и #c000.
Каждому процессу даётся 4 страницы и можно запрашивать дополнительные.
Две страницы под буфер экрана. Экран по умолчанию расширенный 640*200.
Используется аппаратный скрол экрана.
В консоль процессы могут выводить текст в любое время.
Получать коды нажатых клавиш может только процесс в фокусе.
Планируется монопольный режим для одного приложения, которому будет доступна
память от #4000 и страницы 0-7.
Доступ к открытым файлам по их ID имеет только тот процесс, который их открыл.
Но нет защиты от того, что этот же файл откроет другой процесс.
Процесс имеет доступ только к своим страницам памяти,
а также к видео страницам 5, 7, 39, 3a.
Процессам рекомендуется:
использовать системные вызовы ОС
Процессам не рекомендуется:
Менять прерывания
Менять адрес стека
Переключать страницы памяти напрямую
Обращаться к дискам напрямую или через монитор
В теневой монитор по кнопке выходить можно, но после файловых операций в нём
и возврата в систему может что-то пойти не так.
Использован код авторства:
LW/PLM (опрос клавиатуры и др.)
S.V.Bulba (pt плеер)
Kulich (radio)
Nihirash (Moon Rabbit)
и прочие библиотеки/куски кода, какие удалось найти ).
Источник вдохновения NedoOS (Alone Coder).




Scorpion ZS 256 Turbo+/GMX 2MB/SMUC v1.3 OP/CF-IDE 2GB/TS ARM/Covox #DD/FDD 5'25/FDD 3'5/AT Kbrd & Mouse Ctrl v2.5/Universal PS/2 Kbrd Ctrl/ZX WiFi
Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 

