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

User Tag List

Страница 6 из 16 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя
Показано с 51 по 60 из 154

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

  1. #51
    Moderator Аватар для fifan
    Регистрация
    30.05.2007
    Адрес
    г. Лянтор, Сургутского р-на, ХМАО
    Сообщений
    4,165
    Спасибо Благодарностей отдано 
    106
    Спасибо Благодарностей получено 
    125
    Поблагодарили
    71 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Исправил ошибку определения свободного места в ОЗУ в программе "External Flash Disk". Внедряю программу в прошивку Специалиста_МХ2.

  2. #52
    Moderator Аватар для fifan
    Регистрация
    30.05.2007
    Адрес
    г. Лянтор, Сургутского р-на, ХМАО
    Сообщений
    4,165
    Спасибо Благодарностей отдано 
    106
    Спасибо Благодарностей получено 
    125
    Поблагодарили
    71 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    HardWareMan, услышь меня! Я тут сталкнулся с переходом из 3-го (STD) во 2-й (MX) режим в Спеце_МХ2. На ассемблере как это писать. А то кроме отключения ПЗУ и включения 8-ми цветов в 3-м режиме я ничего не откопал:
    ld a, #03
    ld (#7ff8), a

  3. #53
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    598
    Поблагодарили
    444 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  4. #54
    Moderator Аватар для fifan
    Регистрация
    30.05.2007
    Адрес
    г. Лянтор, Сургутского р-на, ХМАО
    Сообщений
    4,165
    Спасибо Благодарностей отдано 
    106
    Спасибо Благодарностей получено 
    125
    Поблагодарили
    71 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Это всё ясно. Ну как мне практически перейти из одного режима в другой?

  5. #55
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    598
    Поблагодарили
    444 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Для начала, давай вспомним карту памяти в разных режимах:

    Очевидно, что для перехода между режимами нужно использовать тот тип памяти, который находится в обоих режимах. В нем располагаем шлюз. Это может быть ПЗУ (прыг из режима 3.0 в 2), или ОЗУ. Остальное, я думаю, сам догадаешься.

  6. #56
    Moderator Аватар для fifan
    Регистрация
    30.05.2007
    Адрес
    г. Лянтор, Сургутского р-на, ХМАО
    Сообщений
    4,165
    Спасибо Благодарностей отдано 
    106
    Спасибо Благодарностей получено 
    125
    Поблагодарили
    71 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Для перехода из 3-го во 2-й режим я писал в ячейку F7FE данные (я думаю любые?), но никакого перехода не было. Хуже ситуация во 2-м режиме - при попытке записи в ячейку FFFF эмулятор (я использую от b2m) виснит. Вообще-то писать в ячейки FFFC...FFFE как-бы не есть хорошо (насчёт FFFF Афанасьев не упоминал), они предназначены для включения/выключения RAM/ROM дисков. А у тебя в них располагаются ячейки перехода в другие режимы.
    С приведённой тобой таблицей я полностью согласен.
    Может я не прав тогда объясни. Я хотел грузить свою программу из ROM диска пользователя (второй режим, из-под RAMFOS) в ОЗУ, потом прыгать в 3-й режим и там её (программу) запускать. Что-то не выходит.

  7. #57
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    598
    Поблагодарили
    444 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от 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.

  8. #58
    Moderator Аватар для fifan
    Регистрация
    30.05.2007
    Адрес
    г. Лянтор, Сургутского р-на, ХМАО
    Сообщений
    4,165
    Спасибо Благодарностей отдано 
    106
    Спасибо Благодарностей получено 
    125
    Поблагодарили
    71 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Всё понятно. HardWareMan, а ситуация сейчас такова, что кроме как записи в ROM-диск пользователя (кстати тоже усечённый с 32 до 16 кБ) больше никак программы не загрузить в Специалист_МХ2 (SD карта тобой в смысле драйвера не продвигается, магнитофон отстой использовать).
    Остаётся одно - запускать с RAMFOSа программу из ROM-диска, переключаться в STD режим и там всё разворачивать. Охота по максимуму всё заюзать, в том числе и твои подпрограммы (не использующие подпрограммы Мониторов и RAMFOSа), а именно OutSymbol, OutText и другие. Как-то их нужно оформить прошитыми в пзу. Но свободное место есть только в первой половине твоей прошивки и будет работать только в STD. Что думаешь?

  9. #59
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,847
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    167 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Эмулятор разве поддерживает наш специалист? Если да, то полностью ли?
    По крайней мере, карта памяти эмулируется именно такая. Если ещё актуальную раскладку портов распишешь, то точно скажу - полностью, или нет.

  10. #60
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    598
    Поблагодарили
    444 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от fifan Посмотреть сообщение
    Что думаешь?
    Расчехлил свой спец, буду пилить.

Страница 6 из 16 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя

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

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

Эту тему просматривают: 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

Ваши права

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