
Сообщение от
izzx
Руководство будет не лишним, если не сложно. ... Unreal не так хорошо знаю.
Для тех, у кого нет Скорпиона, или кто хочет проводить "рискованные" эксперименты с HDD, предлагаю сделать себе предустановленный эмулятор UnrealSpeccy.
UnrealSpeccy можно настроить и с использованием его GUI, но тогода эта настройка будет действовать на оден сеанс.
Ниже дана инструкция для быстрого получения этого эмулятора с постоянной настройкой Scorpion + ProfROM + образ HDD.
- Скачайте с альтернативного форума из темы архив с UnrealSpeccy 0.39.0 (далее - US).
- Создайте на диске пустой каталог и распакуйте туда все файлы US из архива.
- Распакуйте в этот каталог все файлы из моего архива из вложения с заменой одноименных.
- Запустите файл unreal.exe.
К устройству A: уже будет подключен файл FLOPPY.TRD; к устройству C: будет примонтирован псевдодиск с образа винчестера SMUC.HDD. Поэтому жмите Enter на опции "128 TR-DOS" и дожидитесь загрузки boot'а.

Некоторые клавиши в эмуляторе: F1 - help по клавишам; Alt/F1 - меню Emulation Setting; F12 - Reset; Ctrl/F11 - Magic.
В данной конфигурации эмулятора подключается ROM-файл с Теневым монитором V4.01, но я записал и файл scorp39f.rom с Теневым монитором V3.9f; его можно попробовать подключить в меню Emulation Setting.
В качестве примера задан жесткий диск маленького размера. Чтобы его изменить, нужно открыть файл unreal.ini в текстовом редакторе, в группе "HDD" найти строку "CHS0=" и проставить другую "геометрию".
- - - Добавлено - - -

Сообщение от
izzx
А если убрать пробел из имени образа, то снова монтируется
Значит пробел - недопустимый символ. Вероятно, есть и другие. Интересно было бы это выяснить, ведь возможно, что функция переименования псевдодлисков когда-нибудь появится и в TRND...

Сообщение от
izzx
... ругается на сектор 9, но по кнопке Abort успешно возвращается в бут. Который ещё пишет что disk unaviable.
Так и должно быть: GB полностью перехватывает обработку ошибок системы ZX Spectrum. 

Сообщение от
Grand
удалось избавиться от артефакта в виде появляющегося квадрата ... (но именно, почему он появляется, так и не выяснено
С этой "Ошибкой пурпурного квадрата" удалось разобраться. Оказалось, что функция 35 дисковой подсистемы Теневого монитора из-за внутренней ошибки независимо от операции всегда устанавливает бит 4 в байте по адресу на который указывает HL. Пурпурный квадрат и появлялся от того, что перед вызовом этой функции в HL оказывался адрес, относящийся к экранной области; это и помоголо обнаружить ошибку. Чтобы решить эту проблему нужно перед вызовом этой функции записать в HL
адрес какой-либо свободной области или вовсе адрес, указывающий на ПЗУ. Например так:
Код:
LD DE,path
LD A,%1000
LD C,35
LD H,C
RST 8
DEFB #81
. . .
path DEFM "part\name"
DEFB 0
В финальной версии GB будут сделаны соответствующие исправления, поэтому релиз ненадолго отложен.