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

User Tag List

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

Тема: Несовместимость видеоконтроллера с IBM CGA?

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Junior
    Регистрация
    28.09.2015
    Адрес
    г. Новосибирск
    Сообщений
    4
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Несовместимость видеоконтроллера с IBM CGA?

    Пытаюсь адаптировать игру Boulder Dash к записи и загрузке с кассеты на Поиске, столкнулся с тем, что рендеринг работает на Поиске некорректно.

    В игре есть большое поле, по которому бегает игрок, и по мере прохождения, поле скроллится вертикально или горизонтально. Пока я еще не реверсил игру полностью, но почти уверен что скроллинг реализован путем изменения регистров CRT через порты обращения к видеоконтроллеру, а именно установкой положения вертикальной и горизонтальной синхронизации, что позволяет циклически перемещать изображение по монитору. На поиске картинка выглядит так, будто бы эти смещения не применились и изображение "рвется" посередине. Если описал непонятно, могу позже сделать фото

    По книгам Фроловых, я говорю об этих регистрах: http://www.frolov-lib.ru/books/bsp/v03/ch6_2.htm
    Порты CGA, как здесь написано, 3D4h и 3D5h

    Если кто-то знает, действительно ли в поиске нет таких возможностей, или может они реализованы на других портах?

    Сама игра во вложении...
    b2.zip
    Последний раз редактировалось Vizer; 01.05.2016 в 13:22.

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

  3. #2
    Veteran Аватар для Tronix
    Регистрация
    16.09.2010
    Адрес
    г. Москва
    Сообщений
    1,933
    Спасибо Благодарностей отдано 
    78
    Спасибо Благодарностей получено 
    231
    Поблагодарили
    115 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я щаз не могу досконально изучить вопрос, у меня тут развод, свадьба потеря работы, устройство на новую работу, отпуск и еще миллион дел. Но вкратце - конечно нет там сдвигов через порты CRT. Проще всего взять исходник бивиса и там посмотреть - все обращения к портам ловятся программно и программно же обрабатываются. Возможно сдвиги есть с помощью int 10h, не помню уже. Поэтому игруху надо хакать на переход с портовых сдвигов на сдвиги по int 10h. Но это будут тормоза конечно. Либо просто ставить свои call'ы на свои же процедуру сдвигов прям в коде где-нить внизу. Ничего сложного, но я сейчас не могу по вышеописанным обстоятельствам -)

  4. #3
    Junior
    Регистрация
    28.09.2015
    Адрес
    г. Новосибирск
    Сообщений
    4
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Понятно, но раз нет аппаратных сдвигов, то искать в биосе их программную обработку мало смысла, не факт что они там есть, тем более что работать будут убийственно медленно. Так что да, самый разумный вариант - похачить игру, дописать туда свои процедуры скролла, по аналогии со спектрумовской версией, сдвигать пикселов на 10 за один проход. Попробую сделать так, наверное.
    Последний раз редактировалось Vizer; 12.05.2016 в 09:25.

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

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

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

Похожие темы

  1. Выбор видеоконтроллера.
    от alex-eller в разделе Разное
    Ответов: 34
    Последнее: 13.05.2015, 12:44
  2. MC6845 dв качестве видеоконтроллера
    от Mick в разделе Изображение
    Ответов: 131
    Последнее: 16.02.2009, 19:42

Ваши права

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