PDA

Просмотр полной версии : NextOS



Smalovsky
05.05.2021, 18:45
Создаю топик для совместного решения вопросов и трабл.
Ну,и первые грабли - формат исполняемых файлов. На NextOS формат исполняемых файлов -nex.
Описание некса:
https://wiki.specnext.dev/NEX_file_format
Непонятны пункты в описании с офсет 18, 139,140,144,148,150. Может, кто пояснит? Всем же будет интересно.

mastermind
05.05.2021, 21:13
Вроде так:
- Смещение 18, размер 112 байт:
Массив байтовых флагов (со значениями 0 или 1) указывающими на то, содержимое каких 16-килобайтные банков сохранено в nex-файле. Порядок номеров (индексов) банков в этом массиве обычный (от 0 до 111), в то время как сами данные 16К-банков в файле сохраняются в порядке 5,2,0,1,3,4,6,7,8,9,10,...,111. Т.е., к примеру присутствие данных банка 5 будет обозначено единицей в 5-м элементе (18 + 5 от начала заголовка) этого массива в заголовке файла, но сами данные (16К) этого банка будут сохранены в файле первыми.

- - - Добавлено - - -

- Смещение 139, 1 байт:
Начальный банк = банк который будет включен в слоте 3 (адресное пространство 0xC000..0xFFFF). У ZX128 там после сброса банк 0, так что это удобное дефолтное значение. После того как этот банк установлен, загрузчик nex-файлов использует значения по смещениям 14 ("Program Counter") и 140 ("File handle address").

Smalovsky
23.05.2021, 17:08
Я кое-какие сведения про Некст ОС прочитал сведущего человека на известном форуме.
Краткие выдержки:

Первое что можно заметить - штатный режим работы ZX Spectrum Next является довольно таки прямым усовершенствованием и расширением как раз ZX Spectrum +3!
Сам +3DOS в составе ZX Next существенно усилен тем, что понимает SD-карты и в этом смысле он полностью проапгрейжен - все команды бейсика, всё штатно понимает флешки как диски, умеет RAM-disk и всё остальное из +3DOS.
Таким образом штатный режим ZX Spectrum Next который еще называется NextOS это по сути расширение режима +3DOS из ZX Spectrum +3 спряжённого с кусками DivMMC/esxDOS...
Штатный интерфейс +3DOS для программиста штука не очень неудобная - во первых концепции +3DOS зиждятся в 80-х и это нечто типа FILE CONTROL BLOCKS (от 0 до 15) из первых версий MS DOS.
Однако с точки зрения функционала это самая естественная для NextOS штука реализующая все возможности типа RamDisk и работы с образами +3DOS и чего то типа такого.
Чтобы вызывать функцию +3DOS программно надо сперва привести конфигурацию выбранных страниц ПЗУ и ОЗУ в нужное состояние и потом вызывать конкретные адреса в ПЗУ инструкцией CALL address, т.е. функции API по старинке намертво прибиты к конкретным адресам в ПЗУ.


Как оказалось различие между Некст ОС и есиксДОС такое же как между МС-ДОС и Линукс, сравните:


Штатный интерфейс +3DOS для программиста штука не очень неудобная - во первых концепции +3DOS зиждятся в 80-х и это нечто типа FILE CONTROL BLOCKS (от 0 до 15) из первых версий MS DOS.
Однако с точки зрения функционала это самая естественная для NextOS штука реализующая все возможности типа RamDisk и работы с образами +3DOS и чего то типа такого.

Интерфейс к esxDOS может и не реализует все возможности NextOS по работе со всеми контейнерами и носителями (хотя возможно эта информация опять таки стремительно устаревает), но проще в применении и привычнее современному программисту. По сути это очень похоже на POSIX в духе fopen/fread/fwrite/fclose с хендлами файлов и немного прилизано под специфичный ABI (механизм вызова функций ОС из программы).


Даже зауважал Некст ОС ... Это ведь не новохрень какая, а развитие +3ДОС.
А вот в есиксДОСЕ разочарован... Линуксподобен он оказался...