Важная информация

User Tag List

Показано с 1 по 6 из 6

Тема: Как работает /RESET?

  1. #1
    Veteran
    Регистрация
    15.07.2009
    Адрес
    Череповец
    Сообщений
    1,244
    Благодарностей: 163
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Как работает /RESET?

    Задумался о результатах выполнения демки http://zx.pk.ru/showthread.php?t=21039.
    Запускал на Скорпионе. После нажатия на RESET сброс не всегда выполняется. Может пойти по экрану мешанина из атрибутов, может вообще всё зависнуть, но визуально не измениться. Очевидно, что-то портится в тех страницах ОЗУ, где расположен монитор. Помогает только отключение-включение питания. Всегда думал, что подача сигнала RESET на спектруме равна отключению-включению питания, при этом из ПЗУ нужные данные записываются в ОЗУ, но выходит это не так? Как же работает /RESET вообще и особенно на Скорпионе? В чём отличие от отключения питания?

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Master
    Регистрация
    18.01.2005
    Адрес
    Ростов-на-Дону
    Сообщений
    577
    Благодарностей: 202
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Gutten Посмотреть сообщение
    В чём отличие от отключения питания?
    Память компьютера при Reset не изменяется. Если работа ПЗУ как-то зависит от содержания памяти (например, при наличии определенного значения в особой ячейки памяти выполнение идет по другой ветви), то могут быть отличия от поведения при включении питания.

    А еще может быть проблема в механизме переключения страниц ПЗУ. Может быть при сбросе выбирается (или, наоборот, не выбирается) не та страница, что нужно.
    Последний раз редактировалось Lion17; 28.03.2014 в 09:56.

  4. #3
    Activist Аватар для im2
    Регистрация
    24.01.2010
    Адрес
    Москва
    Сообщений
    342
    Благодарностей: 115
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    При reset происходит сброс счетчика команд на PC=0000H;
    сброс триггера разрешения прерываний;
    очистка регистров I и R;
    установка режима прерываний IM0;
    А далее начинает работать подпрограмма ПЗУ, которая чистит память.

    Железо

    ZX-Evolution rev.С; TSFM; NeoGS Rev.C | ATM Turbo 2+ v7.10 | Reverse U8EP3C | Profi 5.03 | ZX Spectrum +2
    A1200 Rev.1D1; Bliz060@50+SCSI Kit+128Mb; CF-IDE 16Gb; AOS3.9 | A1200 Rev.1D4; Micronic Infinitiv 1200 + Zorro II board ; BPPC060@60/603e@240+256Mb ; Cybervision 64-3D ; Indi AGA Mk2 ; Spitfire SCSI ; PCD-60B SCSI Card Reader ; IDE Buddha Flash ; Toccata ; AOS4.1
    Yamaha MSX2 YIS503IIIR КУВТ2
    Mac Mini G4; 1,5Ghz; RAM 1Gb; HDD 80Gb; AirPort
    [свернуть]

  5. #4
    CraZZZy CodEr Аватар для SAM style
    Регистрация
    28.02.2005
    Адрес
    Великий Новгород
    Сообщений
    1,553
    Благодарностей: 740
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Gutten Посмотреть сообщение
    Задумался о результатах выполнения демки http://zx.pk.ru/showthread.php?t=21039.
    Запускал на Скорпионе. После нажатия на RESET сброс не всегда выполняется. Может пойти по экрану мешанина из атрибутов, может вообще всё зависнуть, но визуально не измениться. Очевидно, что-то портится в тех страницах ОЗУ, где расположен монитор. Помогает только отключение-включение питания. Всегда думал, что подача сигнала RESET на спектруме равна отключению-включению питания, при этом из ПЗУ нужные данные записываются в ОЗУ, но выходит это не так? Как же работает /RESET вообще и особенно на Скорпионе? В чём отличие от отключения питания?
    В Скорпионе в 8 странице хранятся данные и подпрограммы. Целостность проверяется по 256-байтовому паттерну - если он испорчен, страница инициализируется заново, иначе - нет. Если запортить код в этой странице и не трогать контрольный блок, инициализации не произойдёт, ПЗУ будет выполнять испорченный код, что и приводит к глюкам.
    Если память не изменяет, если во время сброса держать стрелку влево, инициализация произойдёт принудительно. Если держать CS+Space - покажется настроечная таблица.
    Все любят гипножабу

  6. #5
    Veteran
    Регистрация
    15.07.2009
    Адрес
    Череповец
    Сообщений
    1,244
    Благодарностей: 163
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  7. #6
    Guru Аватар для goodboy
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    9,462
    Благодарностей: 3169
    Записей в дневнике
    1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Gutten Посмотреть сообщение
    вспоминаю, что на Унриле такое же поведение встречал в некоторых программах - проще было эмуль перезапустить, чем в меню ресетом добраться.
    в таком случае проще поставить BreakPoint на запись в порт и разбираться

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Не сбрасываемый порт 254 (Non reset port #FE)
    от Black_Cat в разделе Разное
    Ответов: 31
    Последнее: 01.03.2012, 09:42
  2. HE GLUK ONLY RESET SERVISW 0.13
    от AAA в разделе Оси
    Ответов: 108
    Последнее: 06.10.2010, 21:26
  3. Вопрос по Mr.GLUK Reset Service
    от denisv в разделе Софт
    Ответов: 4
    Последнее: 16.01.2010, 20:32
  4. Ответов: 6
    Последнее: 22.04.2006, 21:19

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •