Вход

Просмотр полной версии : Ошибка Protected Port (Page) при загрузке программ с Дисковода



Mishak4ever
13.12.2023, 21:58
Коллеги прошу помощи чтобы разобраться.
Подключил к АТМке дисковод 3,5 дюйма (mitsumi D359M3D), записал пару дискеток на PC и хотел запустить на Спеке, но столкнулся с проблемой.
При загрузке программы, в какой-то момент вываливается сообщение Protected Page (см скриншот) И так каждый раз....
Пробовал разные дискеты, разные дисководы. Разные программы - везде одно и то же.

Несколько фактов:
- Шлейф я использую прямой. Перекрученный не работает.
- Для того чтобы в TrDos дисковод откликался на диске А, я в Биосе включаю опцию "vTR-DOS swap Drives A\B" без включения этой опции вообще ничего не работает ни с прямым ни с перекрученным кабелем.
- Загрузку с дисковода у меня получается сделать только через Биос, когда выбираю vTR-Dos hot или vTR-Dos cold. Программа начинает автоматом грузиться с дисковода. Ну или если не начинает то команда LIST показывает содержимое дискеты.
- Если просто загрузить Tr-Dos и попробовать просмотреть файлы через LIST - пишет no Disk
- Дискеты использую с заклеенным окошком (половинная емкость)
- На PC для записи и форматирования использовал программы wintrd и ZX Disk Studio v1.16, с установленным драйвером.

Пробовал запустить загрузочную дискету для установки TASis - вываливается ошибка почти сразу при загрузке с дискеты.
А вот Honey Commander загружается почти полностью и перед самым окончанием вываливает мне ошибку. см скриншоты.
79911799127991379914

Alexey_Mikhaylov
14.12.2023, 11:51
Добрый день!

- Если просто загрузить Tr-Dos и попробовать просмотреть файлы через LIST - пишет no Disk

вот отсюда надо плясать. BIOS VTR-DOS это все доп. навороты. И синий экран выкидывает, на некоторых программах, которые в VTR-DOS не работают нормально. Если не читает диск через чиcтый TR-DOS значит тут проблема.
Надо проверять все по порядку.
Перемычка на дисководе как установлена? Попробуй в разных положениях. Если говоришь, что в VTR-DOS каталог диска видит, но не видится в стандартном TR-DOS значит, скорее всего он выбран как B. Потому что в VTR-DOS диск A: это виртуальный диск а диск B: - дисковод реальный.
При загрузке CP\M обращения к дисководу происходят?
У меня тоже кабель не перекрученный, но Gotek могу видеть и как A и как B зависимости от выставленных перемычек.
Кстати, у меня HoneyCommander под VTR-DOS тоже выкидывает синий экран, насколько я помню - не победил. Нормально работает только под чистым TR-DOS.

Mishak4ever
14.12.2023, 13:11
Перемычка на дисководе как установлена? Попробуй в разных положениях. .

Вот здесь не понял. Разве на 3,5 нужно какие-то перемычки делать? Я считал что они устанавливаются только на 5,25...
Есть микрик для переключения плотности диска, он работает. На дискете я заклеиваю окошко.

Alexey_Mikhaylov
14.12.2023, 13:49
Вот здесь не понял. Разве на 3,5 нужно какие-то перемычки делать? Я считал что они устанавливаются только на 5,25...
Есть микрик для переключения плотности диска, он работает. На дискете я заклеиваю окошко.

Да, посмотрел мануал на такой дисковод, на данном дисководе нет перемычек. а в TR-DOS пробовал выбрать диски а/b и командой LIST попробовать считать каталог? Ни на A ни на B обращения к дисководу не происходит?

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

4. Краткий перечень команд TRDOS.

Команда Функция

*"A : " Установка по умолчанию
дисковода A.
*"B : " --- дисковода B ---
*"C : " --- дисковода C ---
*"D : " --- дисковода D ---

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

Я так подозреваю он у тебя B. Поэтому когда в TR-DOS делаешь LIST он по умолчанию пытается читать А: и дает No disk. А когда ты переключаешь в BIOS "vTR-DOS swap Drives A\B" то переназначаешь его программно на А: но физически он так и есть B.
Но эта опция работает только в vTR-DOS а в TR-DOS нет. Поэтому в vTR-DOS он у тебя диск читает но HoneyCommander не работает в vTR-DOS и дает ошибку с синим экраном)))).

В чистом TR-DOS введи *"B:" и ENTER а потом дай команду LIST и должен прочитать каталог.

Максагор
15.12.2023, 02:26
При загрузке программы, в какой-то момент вываливается сообщение Protected Page (см скриншот) И так каждый раз....
Пробовал разные дискеты, разные дисководы. Разные программы - везде одно и то же.

В vTR-DOS реализована программная эмуляция ВГ93 с перехватом обращения к теневым портам через точки #3D13, #3D2F и ряд других. Причем перехватываются не только порты собственно ВГ93, но и все теневые, к которым относятся также и порты управления страницами. Перехват можно отключить как черех стартовое меню xBIOS в начале рабоы, так и программно.

Описано здесь: http://atmturbo.nedopc.com/inf/books/nedopc/xbiosdoc.zip

Если кратно, то в меню xBIOS надо зайти в подраздел OPTIONS и там выбрать две опции меню:

vTR-dos stop screen установить в Disabled - это вырубит включение синего экрана
vTR-dos extended memory profile - уствновить значение в "1Mb", иначе свыше 128Кб страницы будут не видны.
vTR-dos protected mode - вообще отключает перехват теневых системных портов, кроме, собственно, портов ВГ93

После этого советую зайти в подраздел SERVICE и выбратть опцию Save changes to RAM #38
Тогда все настройки сохранятся вплоть до выключения компа или до порчи страницы #38.

Еще у меня под TASiS есть утилитка, делающая означенное по ключам. Ее можно поставить в autoexec.bat и выставлять нужные конфиги. Но я только сейчас понял, что я ее никогда не релизил. Вот надо будет! )))

P.S. HONEY-comander лучше все равно использовать только в реальном TR-DOS, в котором все эти "перехваты" и прочие ограничения отсутствуют изначально.

Mishak4ever
15.12.2023, 11:52
Я так подозреваю он у тебя B. Поэтому когда в TR-DOS делаешь LIST он по умолчанию пытается читать А: и дает No disk. А когда ты переключаешь в BIOS "vTR-DOS swap Drives A\B" то переназначаешь его программно на А: но физически он так и есть B.
Но эта опция работает только в vTR-DOS а в TR-DOS нет. Поэтому в vTR-DOS он у тебя диск читает но HoneyCommander не работает в vTR-DOS и дает ошибку с синим экраном)))).
Алексей респект вам. Все заработало. Действительно Дисковод висел на В. Сбивал с толку прямой шлейф, ну и то что vTR-Dos грузился таки с А.
Переделал кабель на А диск, теперь все работает без переключения драйва.

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


vTR-dos extended memory profile
Вот это делать пробовал, но он вываливался все равно в синий экран.


vTR-dos protected mode - вообще отключает перехват теневых системных портов, кроме, собственно, портов ВГ93
И теперь понимаю почему вываливался.


Еще у меня под TASiS есть утилитка, делающая означенное по ключам. Ее можно поставить в autoexec.bat и выставлять нужные конфиги. Но я только сейчас понял, что я ее никогда не релизил. Вот надо будет! )))
А Tasis вообще сможет загрузиться с перехватом к теневым портам? Или эти перехваты действуют только при обращении к дисководу.

Alexey_Mikhaylov
15.12.2023, 12:20
[QUOTE=Mishak4ever;1190590]Алексей респект вам. Все заработало. Действительно Дисковод висел на В. Сбивал с толку прямой шлейф, ну и то что vTR-Dos грузился таки с А.
Переделал кабель на А диск, теперь все работает без переключения драйва.

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

Спасибо, рад что помог. То ли еще будет))). Много всяких "подводных камешков" еще может быть.

Максагор
15.12.2023, 14:28
А Tasis вообще сможет загрузиться с перехватом к теневым портам? Или эти перехваты действуют только при обращении к дисководу.

Если грузить с реальной дискетки, то зачем это делать через vTR-DOS? Эмулятор ВГ ведь предназначен прежде всего для работы с образами дискет. А так, работа эмулятора зависит от того, включена ли соответствующаы копия TR-DOS по нулевому вдресу. А в ПЗУ две 16Кб-прошивки TR-DOS - обычная и vTR-DOS. TASiS выставляет "стандартную" конфигурацию. в своей работе. Но сам загрузчик, в теории, может наткнуться на блокировку. Но, повторюсь, зачем грузить систему на реальной дискете через vTR-DOS?