User Tag List

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

Тема: Разработка игры Dash

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

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

    Регистрация
    18.04.2015
    Адрес
    г. Люберцы
    Сообщений
    342
    Спасибо Благодарностей отдано 
    103
    Спасибо Благодарностей получено 
    32
    Поблагодарили
    27 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Нужно ли при смене режима IM запрещать прерывания
    Только если по какой-то причине включаешь IM 2, когда таблица с адресами для него ещё не готова. Кроме того, нужно запрешать прерывания (но режим при этом меня не нужно), если зачем-то решил изменить адреса в этой таблице, - есть риск что прерывание придёт и один из байтов адреса будет иметь уже новое значение, а другой старое.

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

  3. #2

    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,681
    Спасибо Благодарностей отдано 
    2,711
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    130 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от troosh Посмотреть сообщение
    Только если по какой-то причине включаешь IM 2, когда таблица с адресами для него ещё не готова. Кроме того, нужно запрешать прерывания (но режим при этом меня не нужно), если зачем-то решил изменить адреса в этой таблице, - есть риск что прерывание придёт и один из байтов адреса будет иметь уже новое значение, а другой старое.
    Да, это важное замечание. Я формирую таблицу до перехода в режим IM 2 и после этого её уже никогда не трогаю.

    Но если я из IM 2 перейду в IM 0, а потом назад в IM 2, всё будет ок? Не нужно устанавливать регистр I или делать что-то подобное?

    jerri, благодарю за советы как сделать спектрумную игру лучше. Но цель другая - кроссплатформенность. Покажи мне хотя бы один исходник игры для ZX, который ты, а ещё лучше - кто-то ещё, смог бы за вечерок-два осмыслить и переписать для другой платформы, желательно не-Z80-based. Можешь гнать хоть с мегабасика на пуребасик, хоть на чём хочешь. Притом хорошо если переписать понадобится ну 30% кода, ну ладно, 40%. Но не 100%. Ага, нету такого? То-то же. Самый кроссплатформенный язык Си в этом тебе тоже плохой помощник, потому что на нём пишут для ZX как на асме.

    Моя конверсия Dash делается совсем по другим соображениям, это, скорее, исследовательский проект, чем игровой. Оригинальный его исходник на Си, я вам доложу, ещё та песня. Он настолько укоренён в DOS, что там ничего человеческого нет, ну почти

    Затык №1. Не связанный с Обероном, jerri. Сегодня оптимизировал вывод тайла 16x12 точек и опять нашёл баг в SDCC. Подождём-с фикса. Эх, и вот так всё время.

  4. #3

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Затык №1. Не связанный с Обероном, jerri. Сегодня оптимизировал вывод тайла 16x12 точек и опять нашёл баг в SDCC. Подождём-с фикса. Эх, и вот так всё время.
    здесь нет ошибки компилятора
    здесь есть ошибка программиста

    error: [JR] Target out of range (131)
    а вот вторая ошибка программиста
    Код:
        LDI          ; #9
        LDI
        DEC  E
        DEC  E
        INC  D
    если интересно поясню где именно ошибка
    С уважением,
    Jerri / Red Triangle.

  5. #4

    Регистрация
    18.04.2015
    Адрес
    г. Люберцы
    Сообщений
    342
    Спасибо Благодарностей отдано 
    103
    Спасибо Благодарностей получено 
    32
    Поблагодарили
    27 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    а вот вторая ошибка программиста
    Код:
        LDI          ; #9
        LDI
        DEC  E
        DEC  E
        INC  D
    если интересно поясню где именно ошибка
    Не, ну там на один байт можно сделать короче и быстрее (сохранить в A, в B или в C регистре содержимое E, а затем после каждой пары LDI оттуда восстанавливать, а не делать два декремента). Но чтоб ошибка?.. Судя по коду там запись двух байт спрайта по горизонтале, а затем переход на строку ниже по вертикале. Проблемы будут если выводить в последний байт по горизонтале.

  6. #5

    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    14,289
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    202
    Спасибо Благодарностей получено 
    1,456
    Поблагодарили
    946 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от troosh Посмотреть сообщение
    в B или в C регистре содержимое E
    вообще-то LDI уменьшает BC

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

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

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

Похожие темы

  1. Ищу неломанный Boulder Dash 5
    от transman в разделе Игры
    Ответов: 17
    Последнее: 01.07.2021, 23:28
  2. Boulder Dash
    от Cat_Alex/QRP в разделе Игры
    Ответов: 6
    Последнее: 04.03.2013, 21:43
  3. О чем думал автор? Boulder Dash IV
    от JeRrS в разделе Игры
    Ответов: 7
    Последнее: 08.07.2010, 12:52
  4. Slalom demo by Dr.Dash
    от cardin в разделе Демо
    Ответов: 2
    Последнее: 06.02.2010, 06:28

Ваши права

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