- исправлены некоторые ошибки
- реализована загрузка с винчестера
первый пост обновил
- исправлены некоторые ошибки
- реализована загрузка с винчестера
первый пост обновил
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Попробовал запуск CP/M через HDD boot. Работает! Только надо записывать загрузочный сектор на место 0-го, а я сначала на 1-й сектор пытался. Надо бы уточнить в хелпе, а то там сказано про "первый сектор". Можно по-разному понять.
Скрытый текст
https://drive.google.com/drive/folde...xZ83juCuaBe32I
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
Leningrad 1/Sega Joy Adapter
DivGMX
ZX Spectrum +2A
ZX Evolution rev. C
TCK Computer 486DX2-66/512K Tridend 9000i/8MB SIMM72/CF-IDE 512MB/ESS 1869/CNet CN200/FDD 5'25/FDD 3'5
[свернуть]
LW, раньше, в первом сообщении, в архиве ProfRom.zip, был файл !newR8DOS.txt с описанием новых вызовов RST8. Почему он сейчас не прилагается? Появились ли новые вызовы?
Grand, Да, появились. Рабочее описание добавил в первый пост.
Я попробовал ROM-файл ProfRomGMX.rom (версия 101 от 4.4.2023) на эмуляторе UnrealSpeccy (V0.37.9, эмулирующая Scorpion GMX). Этот ROM работает как-то нестабильно: в меню "128" самопроизвольно сбрасывается в 48 BASIC.
Попробовал в тестовом TRDN примонтировать диск (процедуру подсчета CRC вызываю по адресу #0000 из ROM23) - это заканчивается зависанием с цветными квадратами на экране.
Хочу спросить: что где не так работает?![]()
Возьмите посвежее версию в первом посте. Возможно в той версии есть какие-то ошибки, честно говоря не помню уже.
ROM переключаете штатной процедурой из рам 8? или прямой записью в порт? Так-то это должна быть #17 страница, т.е если пишите в порт, то писать надо %t101sm00
t - turbo
s - screen
m - magic
Последний раз редактировалось LW; 31.05.2023 в 05:21.
Grand(31.05.2023)
Попытка добавить поддержку загрузчиков #3D2F
Кому не сложно, потестируйте прошивку на реале, в плане работы загрузчиков через 3d2f. Как с реальной дискеты так и с примонтированного образа.
Исправил работу с реальными дискетами. перезалил.
PS2 ускорил работу с реальным дисководом. перезалил.
Вложение 78944
Последний раз редактировалось LW; 01.06.2023 в 01:19.
Grand(02.06.2023), Gutten(31.05.2023), marinovsoft(31.05.2023), SaaB(01.06.2023), Xela(31.05.2023)
Версия ROM'а из первого поста действительно стала стабильно работать на эмуляторе Scorpion'а GMX. Я смог произвести отладку TRDN. Жаль, что у меня нет реального Scorpion GMX...Сообщение от LW
Оказалась ошибка в TRDN в процедуре определения версии монитора.Сообщение от Grand
Тестовая версия TRDN с поддержкой Scorpion GMX
выложена здесь.
Ну да, она и есть: 23=#17.Сообщение от LW
Переключаю прямой записью в порт. Так это выглядит на Scorpion GMX.
А что там за штатная процедура в RAM8? И как все-таки правильнее переключать?Код:R37CRC LD DE,HDDBUF ;DE-круглый адрес вида #xx00, куда считан сектор данных о примонтированных дисках. DI LD A,#D0 CALL L01PR PUSH DE LD BC,508 R7CRC LD IX,#0000;адрес процедуры подсчета CRC в ROM#17. ;В версии 100 это адрес #21E5. CALL R7R POP DE INC D LD E,#FC LD A,L LD (DE),A ;Заносим СКС. INC DE LD A,H LD (DE),A LD A,#C0 L01PR JP L01GMX ;Переключаем ROM'ы. LD BC,#1FFD ;Это используется на "обычном" Scorpion'е. LD A,2 ; OUT (C),A ; LD A,(#10C) ; XOR A ; OUT (C),A ;L01PR+14 RET L01GMX LD BC,#7EFD JR L01PR+14 R7R PUSH IX JP #3D31
LW, обратил внимания, что версия 101 под меню "128" пишет "1992-2023 Scorpion ZS 256". Надо бы написать, например, "Scorpion GMX", чтобы не было путаницы.
LW(02.06.2023)
ну да. привычка уже воспринимать такие числа в шестнадцатеричном виде.
поправлю со временем
нет, процедуру из RAM 8 лучше не использовать, вероятнее всего адресация у неё изменится со временем.
для включения любого ROM, можно использовать следующую конструкцию:
в данном случае вам нужна банка за номером 7Код:ld bc,#7FFD ld a,#10 out (c),a ld b,#DF ;это нужно только xor a ;для out (c),a ;версии GMX ld b,#1F ld a,#12 out (c),a ;включим ram 8 и rom 2(monitor) rst #30 dw adrproc ;адрес процедуры в вызываемой банке db bank ;номер банки .... дальнейший код (включена банка, активная при вызове)
rst #30 это как раз механизм вызова процедур из любой банки, при любой (кроме basic48/basic128/tr-dos) активной банке
и меняться он точно не будет
актуально как для ZS 256, так и для GMX
регистры и флаги она не портит
но и есть минус. область памяти #C000-#FFFF недоступна. вернее, при работе процедуры, там будет 8я страница, которую портить нехорошо
а вообще надо, наверное, добавить в системные вызовы вызов процедуры подсчета CRC...
Последний раз редактировалось LW; 02.06.2023 в 08:18.
Grand(02.06.2023)
- команда SPECTRUM в бейсике 128 выдает верное сообщение
- GMX: переделано определение конфигурации (страница, тип и номер экрана, бордюр) на прямое чтение портов
- GMX: настройки монитора перенесены в страницу #78
- GMX: заработали пункты меню S. Set up -> X. GMX -> N. Port I/O и I. Interrupts
В основном изменения коснулись версии для GMX.
Определение текущей конфигурации при входе в монитор теперь выполняется исключительно чтением из портов вплоть до бордюра.
Теперь из теневика можно заблокировать доп. порты гмх и установить пентагоновский инт
Настройки теневого монитора переехали в #78 страницу и при заблокированных портах гмх она теперь находится вне зоны доступной памяти.
первый пост обновил
Gutten(08.06.2023), SERGEY256(07.06.2023), tigr101274(07.06.2023), Xela(07.06.2023)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)