User Tag List

Показано с 51 по 60 из 154

Тема: Специалист_МХ2: новые программы для нового Специалиста.

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11
    HardWareMan
    Гость

    По умолчанию

    Цитата Сообщение от fifan Посмотреть сообщение
    Для перехода из 3-го во 2-й режим я писал в ячейку F7FE данные (я думаю любые?), но никакого перехода не было.
    Все верно. На железе оно работает - из монитора в STD я перехожу в МХ. Только после переключения надо прыгать в 0, чтобы ПЗУ проинициализировал режим МХ. Согласно карте, из ПЗУ это сделать нельзя.
    Цитата Сообщение от fifan Посмотреть сообщение
    Хуже ситуация во 2-м режиме - при попытке записи в ячейку FFFF эмулятор (я использую от b2m) виснит. Вообще-то писать в ячейки FFFC...FFFE как-бы не есть хорошо (насчёт FFFF Афанасьев не упоминал), они предназначены для включения/выключения RAM/ROM дисков. А у тебя в них располагаются ячейки перехода в другие режимы.
    Эмулятор разве поддерживает наш специалист? Если да, то полностью ли? По поводу ячейки FFFF тут все просто - оригинальная схема МХа разрешает только 3 состояния: 0, 1 и 2. Если поставить состояние 3, то оно автоматом заменяется на 2. Таким образом, для оригинального МХа FFFE и FFFF полностью одинаковые. И функция моих портов точно такая же, как и у оригинального (за исключением FFFF). Просто, FFFD перехватывает данные, чтобы можно было иметь больше одной страницы расширенного ОЗУ.
    Цитата Сообщение от fifan Посмотреть сообщение
    Может я не прав тогда объясни. Я хотел грузить свою программу из ROM диска пользователя (второй режим, из-под RAMFOS) в ОЗУ, потом прыгать в 3-й режим и там её (программу) запускать. Что-то не выходит.
    После загрузки программы из ROMдиска в ОЗУ тебе не обязательно оставаться в режиме 2, можно включить режим 0, как если бы ты собирался запустить эту программу в режиме МХа. А там уже карта проще. Ищешь свободное место в адресах 8000H...EFFFH и там располагаешь шлюз перехода. Ты же помнишь, что регистр цвета в режиме 3 еще и управляет ПЗУ, поэтому использовать 0000H...7FFFH опасно. Однако можно просто в регистр цвета записывать слово управления до переключения режима. Соответственно, действия должны быть такими:
    [Режим 0, 1 или 2]
    1. Записать в регистр цвета МХ нужный режим STD: 5/8 цвет и вкл/выкл ПЗУ (думаю, что раз ты грузишь программу, то скорее выкл ПЗУ).
    2. Пишешь в ячейку включения режима 3 FFFFH.
    [Режим 3]
    3. Прыгаешь на нужный тебе адрес.
    Опционально можно очистить экран перед прыгом, но большинство программ это делают сами. И еще ты должен помнить то, что карта поменяется и значит стек надо либо распологать так, чтобы при переключении карт памяти он не попал на ПЗУ или порты или переназначать его перед запуском загруженной в ОЗУ программы. Так же, в режиме STD наличие монитора в адресах C000H..CFFFH обязательно. Поэтому, наиболее оптимальным решением будет предварительная загрузка пропатченного монитора в эти адреса и потом уже переключение. Суть патча в том, чтобы после инициализации он сам прыгнул на запускаемую программу (монитор и адрес перехода в его теле могу подсказать). Тогда на шаге 3 нужно прыгать в С000Н, а все остальное (в том числе и стек) он сделает сам.
    Последний раз редактировалось HardWareMan; 08.12.2012 в 13:52.

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

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

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

Похожие темы

  1. Трекер нового поколоения
    от newart в разделе Музыка
    Ответов: 63
    Последнее: 02.02.2016, 09:55
  2. Изучается спрос на плату для Специалиста
    от Павел Рябцов в разделе Барахолка (архив)
    Ответов: 109
    Последнее: 30.11.2010, 10:16
  3. Продается Лик (клон Специалиста)
    от KALDYH в разделе Барахолка (архив)
    Ответов: 1
    Последнее: 20.02.2010, 14:29

Ваши права

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