User Tag List

Показано с 1 по 10 из 15

Тема: Как проги определяют 128к?

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #8

    Регистрация
    18.02.2005
    Адрес
    Набережные Челны
    Сообщений
    1,574
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вопрос был - КАК?

    ответ
    1) Через ПЗУ, проверяются какие то ячейки, причём адрес ячейки как правило выбирается наобум, не очень понятно как такие программы реагируют на изменённые версии ПЗУ.
    Типовой код проверки:
    ________LD A,(ADDR) ; ADDR - откуда то из ПЗУ
    ________CP #XX ; ячейка которая должна соответствовать якобы ПЗУ-48
    ________JR Z,ROM48
    ________CP #YY ; для ПЗУ-128
    ________JR Z,ROM128
    ________RET

    может быть другой вариант:
    ________LD A,(ADDR) ; ADDR - откуда то из ПЗУ
    ________CP #XX ; ячейка которая должна соответствовать якобы ПЗУ-48
    ________JR (N)Z,ROM48 ; проверка на (не)совпадение
    ________JR ROM128
    Причём, очевидно, что глюков и та и другая процедура имеет немерянно.

    2) Проверять системные переменные
    Это более предпочитительный (по сравнению с первым вариантом) способ. Тут его уже комментировали

    3) Проверять реагирует ли хоть что-то при выводе разных значений в порт #7ffd. Опять же типовой код был приведён несколькими постами выше.
    Я считаю этот способ самым правильным, однако необходимо в любом случае восстанавливать ячейки памяти, которые, возможно, были похерены. Работа программы-загрузчика может завершиться неудачно, а там могут оказаться какие-то данные, необходимые для SOS-48 или SOS-128.
    И ещё, приведённые программы страдают недостатком - при переключении страничек рекомендуется либо ждать начала прерывания (команда HALT) либо на время работы процедуры определения отрубать прерывания. Это связано с тем, что SOS-128 восстаналивает страницы при каждом прерывании, кроме того, прерывание может криво отработаться, если была активна не та страничка, что прописана в системных переменных.
    Последний раз редактировалось GriV; 27.08.2007 в 10:45.
    Биты рулят лучше байтов, байты рулят шустрее!
    View, Звук, Цвет

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

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

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

Похожие темы

  1. Не могу доделать 128К
    от rw6hrm в разделе Несортированное железо
    Ответов: 29
    Последнее: 04.03.2006, 10:39
  2. Вопрос о переводе проги c TRD
    от AAA в разделе Разный софт
    Ответов: 23
    Последнее: 16.01.2006, 16:52
  3. ZX Speccy 128к и СИММ
    от BaguM в разделе Несортированное железо
    Ответов: 5
    Последнее: 29.12.2005, 12:35
  4. радолюбительские проги
    от rw6hrm в разделе Софт
    Ответов: 6
    Последнее: 15.07.2005, 00:34

Ваши права

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