В связи с возникшим интересом к портированию кода на Next группойбезответственных товарищей было принято решениеорганизовать телеграм канал, тфу ты. В общем, на выходных сделали совместными усилиями две вещи:
- +3(e) DOS код был допилен до совместимости с ZX Spectrum Next. Да, Next оказался не совсем обратно совместимым с классическим +3. Некоторые упрощения там не работают. В рамках спецификации всё чётко и совместимо, но была, оказывается, тонкость...
- нашим юнгой был написан отдельный код для поддержки только Next, без полноценного +3(e), чтобы всё в 16k влезало. Ну, нам это не нужно
Патч приложен, накатывать поверх текущего HEAD (2c7939a на момент написания, 2024-10-13). Проверено минимум на двух Next и у меня на Sizif и FUSE. Кто может/хочет ещё потестировать -- присоединяйтесь! А, да, Next поддержка в патче перепилена с учётом последнего слова науки и техники (у товарища Скотта был прямолинейный подход, а тут с фантазией).
plus3+nxt.2c7939a.patch.zipУСТАРЕЛО, см gitflic ссылку ниже
Upd: 2024-10-19
В связи с появлением аж двух пользователей Next считаю успешно допиленной поддержку +3, так как она была протестирована вышеупомянутыми. Распоследний код доступен на gitflic и, говорят, даже кто-то его смог собрать. «У меня всё работает». Правда, Next у меня, конечно, нет. Наверное, поэтому и работает
как собрать
+3 DOS: make clean all 'OPTS=-DDOS_PLUS3'
Next: make clean all 'OPTS=-DDOS_PLUS3 -DDOS_NEXTZXOS'
[свернуть]
Next-специфичные вопросы, которые было бы хорошо прояснить:
1. Scott-Falk в своём «драйвере» UART для Next явно проверяет идентификатор модели «зашитый» в FPGA. Мне такой подход не нравится, а если у пользователя вообще не клон Next? Тогда считываться будет знаменитая плавающая шина данных и задетектировать можно что угодно. Или я ошибаюсь? Да и не нужна там проверка модели…
2. Next требует отдельной сборки. Исторически всё собиралось в образ TR-DOS, потом добавили образ +3 (который уже не совсем то, что пользователи ждут). А вот для Next пользователи точно ждут ZIP с отдельными файлами внутри. Там есть ещё формат NEX, но, как я понимаю, это тупо «слепок» памяти, который НЕ совместим с использованием +3 DOS API. Или не так?
Исходя из вышеперечисленного я предлагаю:
1.Сделать отдельную сборку для Next— Сделано, другим способом и нельзя.
2. Таки проверять Next (Z80N) это «вообще», а только потом смотреть на модель, если вообще нужно смотреть на модель.
3. При возможности вынести из сборки Next всё, чего там быть не может.
[свернуть]
P.S. Кому интересно, попутно нашли багофичу в ZX Next OS. Читайте в ближайшем будущем на SC...





Ответить с цитированием