Просмотр полной версии : Ошибки в ПЗУ Scorpion - некорректный RESET
Spectramine
06.12.2016, 01:26
Внезапно наткнулся на такой вот любопытный казус. Оказываются, существуют такие состояния ОЗУ скорпиона, которые наглухо вешают его ПЗУ при выполнении ресета. Я так понимаю, в железном варианте может помочь только выключение питания, а в эмуляторном - соответственно, перезапуск эмулятора, либо обнуление нужных ячеек ОЗУ вручную в мониторе или через автоочистку ОЗУ эмулятором при переключении моделей (что проходит, например, в ZXMAK) . Как я понял, страница ОЗУ с проблемным содержимым - одна из верхней половины (8-15), т.к. проблема не исчезает при переключении в эмуле на 128к модель (которые обнуляют все страницы ОЗУ от 0 до 7й), и обратно в скорпион. upd: проблема с содержимым 8-й страницы.
Желающие могут убедиться в этом собственноручно - прилагаю снап szx, демонстрирующий данный баг: 58927. Во всех проверенных эмуляторах сразу после загрузки этого снапа ресет скорпиона перестает работать. В спектакуляторе, чтобы после этого снапа сделать нормальный ресет скорпиона, надо перезапустить эмулятор, в ZXMAK - переключиться на другую модель и обратно в скорпион.
Я так понимаю, обладатели скорпиона должны были иногда сталкиваться с этим багом, из-за которого приходилось выключать и включать скорпион вместо ресета. Возможно, существует какой-то хитрый вариант ресета скорпиона, обнуляющий все страницы ОЗУ, но я о таком не знаю.
Какая версия прошивки у вас? Какой скорп эмулируется, зелёный или жёлтый (с турбо или без)?
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
В эмуляторах сброс со стрелкой влево тоже не проходит. Да, скорее всего дело в данных теневого монитора. Но это не отменяет того, что корректный ресет должен правильно инициализировать эти данные.
обладатели скорпиона должны были иногда сталкиваться с этим багом
не помню чтоб были какие то проблемы со сбросом.
V2.92 в теневом мониторе
Угу. Пользуйтесь "свежей", 2.95 без ПрофПЗУ, или 4.01 - с ним.
Все глюки описывались "скорпионом", их там реально много было в старых версиях теневика.
- - - Добавлено - - -
не помню чтоб были какие то проблемы со сбросом
У тебя версия не такая древняя, судя по всему.
У меня тоже небыло проблем.
Spectramine
06.12.2016, 14:37
Угу. Пользуйтесь "свежей", 2.95 без ПрофПЗУ, или 4.01 - с ним.
Все глюки описывались "скорпионом", их там реально много было в старых версиях теневика.
- - - Добавлено - - -
У тебя версия не такая древняя, судя по всему.
У меня тоже небыло проблем.
Неа, в ZXMAK версия 2.95, а сброс на этом снапе по-прежнему не работает.
Теневик при старте проверяет данные в восьмой странице. Если они похожи на рабочие, а не мусор после старта, то он не инитит эту страницу. Это нужно для предотвращения потери данных. Если там данные частично испорчены, то результат предсказуем. И это не ошибка и не глюк, а стечение обстоятельств.
Если монитор ошибочно считает, что восьмая страница в порядке, то для этого случая есть "холодный рестарт" с удержанием кнопки "влево", о чем тут упоминалось.
Я всё свою спектрум-жизнь работал со Скорпионами, не жалуюсь :)
- - - Добавлено - - -
сброс на этом снапе по-прежнему не работает
Сброс или Холодный_Сброс? Он реализован в эмуляторе?
Spectramine
07.12.2016, 15:29
Теневик при старте проверяет данные в восьмой странице. Если они похожи на рабочие, а не мусор после старта, то он не инитит эту страницу. Это нужно для предотвращения потери данных. Если там данные частично испорчены, то результат предсказуем. И это не ошибка и не глюк, а стечение обстоятельств.
Если монитор ошибочно считает, что восьмая страница в порядке, то для этого случая есть "холодный рестарт" с удержанием кнопки "влево", о чем тут упоминалось.
Я всё свою спектрум-жизнь работал со Скорпионами, не жалуюсь :)
- - - Добавлено - - -
Сброс или Холодный_Сброс? Он реализован в эмуляторе?
Если стрелка влево - это Caps Shift+5, то не работают оба варианта, проверял в ZXMAK, Spectaculator и на моем эмуляторе.
unreal пробовал? на нем точно работает стрелка влево.
Мне скромно кажется, что смысла перебирать эмули нет. Это на функционирование реалов влияния не окажет.
А эмуль можно и перезапустить, если чо :)
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
Что за эмулятор? Где можно скачать/посмотреть? Пока нигде. Я ещё морально не готов к релизу)
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot