PDA

Просмотр полной версии : Ошибки в ПЗУ Scorpion - некорректный RESET



Spectramine
06.12.2016, 01:26
Внезапно наткнулся на такой вот любопытный казус. Оказываются, существуют такие состояния ОЗУ скорпиона, которые наглухо вешают его ПЗУ при выполнении ресета. Я так понимаю, в железном варианте может помочь только выключение питания, а в эмуляторном - соответственно, перезапуск эмулятора, либо обнуление нужных ячеек ОЗУ вручную в мониторе или через автоочистку ОЗУ эмулятором при переключении моделей (что проходит, например, в ZXMAK) . Как я понял, страница ОЗУ с проблемным содержимым - одна из верхней половины (8-15), т.к. проблема не исчезает при переключении в эмуле на 128к модель (которые обнуляют все страницы ОЗУ от 0 до 7й), и обратно в скорпион. upd: проблема с содержимым 8-й страницы.

Желающие могут убедиться в этом собственноручно - прилагаю снап szx, демонстрирующий данный баг: 58927. Во всех проверенных эмуляторах сразу после загрузки этого снапа ресет скорпиона перестает работать. В спектакуляторе, чтобы после этого снапа сделать нормальный ресет скорпиона, надо перезапустить эмулятор, в ZXMAK - переключиться на другую модель и обратно в скорпион.

Я так понимаю, обладатели скорпиона должны были иногда сталкиваться с этим багом, из-за которого приходилось выключать и включать скорпион вместо ресета. Возможно, существует какой-то хитрый вариант ресета скорпиона, обнуляющий все страницы ОЗУ, но я о таком не знаю.

krotan
06.12.2016, 01:44
Какая версия прошивки у вас? Какой скорп эмулируется, зелёный или жёлтый (с турбо или без)?

Spectramine
06.12.2016, 02:01
Прошивка выдает N66DC 24-09 V2.92 в теневом мониторе. Проблема присутствует при эмуляции обеих моделей с этой прошивкой.

null_device
06.12.2016, 03:46
проблема с содержимым 8-й страницы.

Возможно ошибаюсь, но не кроется ли "проблема" в том, что там лежит теневой монитор?

CityAceE
06.12.2016, 03:51
Полный сброс Скорпиона можно сделать, зажав стрелку влево и нажав RESET. Так тоже не срабатывает? Скорее всего проблема в том, что в 8-й банке искажена/повреждена информация, которая требуется для корректной работы теневого сервис-монитора Скорпиона.

Spectramine
06.12.2016, 04:06
В эмуляторах сброс со стрелкой влево тоже не проходит. Да, скорее всего дело в данных теневого монитора. Но это не отменяет того, что корректный ресет должен правильно инициализировать эти данные.

AndyD
06.12.2016, 08:33
обладатели скорпиона должны были иногда сталкиваться с этим багом
не помню чтоб были какие то проблемы со сбросом.

Ewgeny7
06.12.2016, 09:05
V2.92 в теневом мониторе
Угу. Пользуйтесь "свежей", 2.95 без ПрофПЗУ, или 4.01 - с ним.
Все глюки описывались "скорпионом", их там реально много было в старых версиях теневика.

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


не помню чтоб были какие то проблемы со сбросом
У тебя версия не такая древняя, судя по всему.
У меня тоже небыло проблем.

Spectramine
06.12.2016, 14:37
Угу. Пользуйтесь "свежей", 2.95 без ПрофПЗУ, или 4.01 - с ним.
Все глюки описывались "скорпионом", их там реально много было в старых версиях теневика.

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

У тебя версия не такая древняя, судя по всему.
У меня тоже небыло проблем.


Неа, в ZXMAK версия 2.95, а сброс на этом снапе по-прежнему не работает.

Ewgeny7
07.12.2016, 13:56
Теневик при старте проверяет данные в восьмой странице. Если они похожи на рабочие, а не мусор после старта, то он не инитит эту страницу. Это нужно для предотвращения потери данных. Если там данные частично испорчены, то результат предсказуем. И это не ошибка и не глюк, а стечение обстоятельств.
Если монитор ошибочно считает, что восьмая страница в порядке, то для этого случая есть "холодный рестарт" с удержанием кнопки "влево", о чем тут упоминалось.
Я всё свою спектрум-жизнь работал со Скорпионами, не жалуюсь :)

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


сброс на этом снапе по-прежнему не работает
Сброс или Холодный_Сброс? Он реализован в эмуляторе?

Spectramine
07.12.2016, 15:29
Теневик при старте проверяет данные в восьмой странице. Если они похожи на рабочие, а не мусор после старта, то он не инитит эту страницу. Это нужно для предотвращения потери данных. Если там данные частично испорчены, то результат предсказуем. И это не ошибка и не глюк, а стечение обстоятельств.
Если монитор ошибочно считает, что восьмая страница в порядке, то для этого случая есть "холодный рестарт" с удержанием кнопки "влево", о чем тут упоминалось.
Я всё свою спектрум-жизнь работал со Скорпионами, не жалуюсь :)

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


Сброс или Холодный_Сброс? Он реализован в эмуляторе?

Если стрелка влево - это Caps Shift+5, то не работают оба варианта, проверял в ZXMAK, Spectaculator и на моем эмуляторе.

AndyD
07.12.2016, 15:37
unreal пробовал? на нем точно работает стрелка влево.

Ewgeny7
07.12.2016, 16:09
Мне скромно кажется, что смысла перебирать эмули нет. Это на функционирование реалов влияния не окажет.
А эмуль можно и перезапустить, если чо :)

Spectramine
07.12.2016, 18:36
unreal пробовал? на нем точно работает стрелка влево.

unreal не понимает ни .szx снапы, ни, почему-то, .z80 снапы с страницами 8-15. У меня версия 0.38.1. EmuZWin, кстати, читает такие снапы, но игнорирует страницы >=8.

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


Мне скромно кажется, что смысла перебирать эмули нет. Это на функционирование реалов влияния не окажет.
А эмуль можно и перезапустить, если чо :)

Да и реал можно выключить-включить, дело-то не в этом. Сам факт интересный. Может, конечно, дело где-то в неполной эмуляции. Но вряд ли.

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

В своем эмуле в коде прописал нажатие CAPS+5 перед ресетом - не помогло, ресет по-прежнему висит. Обнуляю в мониторе 8-ю страницу - всё ок. Так что, похоже, в скорпионе можно программно отключить ресет, и холодный, и горячий :)

Alexandr Medvedev
07.12.2016, 18:49
В своем эмулеЧто за эмулятор? Где можно скачать/посмотреть?

Spectramine
07.12.2016, 19:06
Что за эмулятор? Где можно скачать/посмотреть? Пока нигде. Я ещё морально не готов к релизу)