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

User Tag List

Страница 3 из 11 ПерваяПервая 1234567 ... ПоследняяПоследняя
Показано с 21 по 30 из 102

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

  1. #21
    Master
    Регистрация
    24.05.2005
    Адрес
    г. Запорожье, Украина
    Сообщений
    992
    Спасибо Благодарностей отдано 
    571
    Спасибо Благодарностей получено 
    364
    Поблагодарили
    239 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ... и как вам тут же ответили что для опроса клавиатуры менять режим не нужно, но вы почему-то упорно пытаетесь его менять.
    Если понимание механизмов работы прерываний неполное - просто поверьте на слово - менять режим в пределах приложения (кроме этапа инициализации) не нужно - тем более если этот режим IM2.
    Последний раз редактировалось shurik-ua; 09.10.2015 в 17:42.

  2. #22
    Veteran Аватар для Oleg N. Cher
    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,640
    Спасибо Благодарностей отдано 
    2,180
    Спасибо Благодарностей получено 
    137
    Поблагодарили
    103 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    О'кей, я вас услышал, но сделаю так, как, считаю, будет лучше. Исходя из своего опыта. Зачем именно так. В принципе игра устроена именно так, как и предлагается. Генерится таблица, ставится IM 2 - и поехали. Теперь игрок погеймал, проиграл и получил геймовер и просьбу ввести имя. Вот тут-то из процедуры опроса кнопок, которая должна учитывать регистр символов, понимать Shift, делать автоповтор нажатой клавиши при её удерживании, и ставится режим IM 1 - чисто для сокращения объёма кода. И здесь jerri предлагает мне всё это не юзать из ПЗУ, а переписывать заново? Вот уж спасибо, не надо.

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

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Поясните, пожалуйста, не избыточен ли он, и зачем здесь нужно устанавливать регистр I ?
    Установка I в 63 вроде бы связано с ULA фирменных спектрумов, точнее сказать не смогу.

  4. #24
    Master
    Регистрация
    24.05.2005
    Адрес
    г. Запорожье, Украина
    Сообщений
    992
    Спасибо Благодарностей отдано 
    571
    Спасибо Благодарностей получено 
    364
    Поблагодарили
    239 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну так опрашивайте клавиатуру из ПЗУ - режим то зачем менять.

    Кстати насчёт того чтобы не использовать ПП ПЗУ совет весьма дельный - тут например можно надёргать процедур на любой вкус - http://zxdn.narod.ru/coding.htm

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

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Код:
        LD   A,#63
        LD   I,A
        IM   1
    Поясните, пожалуйста, не избыточен ли он, и зачем здесь нужно устанавливать регистр I ?
    Я может чего-то не помню, но это похоже лишнее, т.к. в IM 1 ничего с шины не читается, при обработке прерываний и этот I регистр вообще может быть использован как регистр общего назначения.

    Кстати, на оригинальных машинах важно какое именно место выбрано под таблицу: http://zx-pk.ru/showthread.php?t=7427

  6. #26
    Master
    Регистрация
    24.05.2005
    Адрес
    г. Запорожье, Украина
    Сообщений
    992
    Спасибо Благодарностей отдано 
    571
    Спасибо Благодарностей получено 
    364
    Поблагодарили
    239 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот кстати - пункт 3 как раз ваш случай - http://zxpress.ru/article.php?id=3480

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

    По умолчанию

    Насчет загрузки 63 в I:
    http://maben.homeip.net/static/s100/...air%20user.pdf (размер 60Мбайт!), 122 страница:

    "TROFF performs the opposite function
    in that it resets the machine to
    normal interrupts. You will notice that
    I is loaded with 3FH or 63. That is the
    address (3FFF) that the ROM sets up as
    an interrupt vector on power up. In
    interrupt mode 2 that would cause a
    jump to address 60 which is part way
    through the normal interrupt routine. It
    is important, therefore, when resetting
    to put the machine into !MI. The only
    USR call that is necessary anywhere in
    this program is the initial one to
    TRON. TROFF is called by means of a
    normal Basic variable."

    Всё это выглядит как бред наркомана или как мега костыль...

  8. #28
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,755
    Спасибо Благодарностей отдано 
    261
    Спасибо Благодарностей получено 
    269
    Поблагодарили
    203 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Oleg N. Cher, мне не нравится твой тон.
    мне по большому счету пофиг как будет выглядеть твоя кроссплатформенная игра.
    меня больше интересовало чтобы на спектруме она выглядела достойно.
    но нет так нет.
    С уважением,
    Jerri / Red Triangle.

  9. #29
    Super Moderator Аватар для Alex Rider
    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,908
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    89
    Поблагодарили
    31 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от shurik-ua Посмотреть сообщение
    ... и как вам тут же ответили что для опроса клавиатуры менять режим не нужно, но вы почему-то упорно пытаетесь его менять.
    Если понимание механизмов работы прерываний неполное - просто поверьте на слово - менять режим в пределах приложения (кроме этапа инициализации) не нужно - тем более если этот режим IM2.
    Вот тут я поспорю с тобой и соглашусь с Олегом. Если я хочу в меню игры использовать ПЗУшный опрос кнопок, а в игре - свой в IM2, то так проще и правильнее. Ибо не сдался мне в меню обработчик IM2, который хочет играть музыку, опрашивать управление, считать игровые таймеры и так далее. И уж точно в игре мне не нужен обработчик прерываний BASIC'а. А патчить ISR при переходе в меню и в игру или обвешиваться флагами (игра/меню) нафик не уперлось.

    ---------- Post added at 23:14 ---------- Previous post was at 23:12 ----------

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Всё, вопрос №1 закрыт.
    Еще раз намекну: используй IM1, а не IM0. В теории на клонах с нестабильной шиной должно быть все ок при IM0, но на то шина и нестабильная, что хрен его знает что там будет болтаться в момент прихода прерывания.

    ---------- Post added at 23:18 ---------- Previous post was at 23:14 ----------

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Поясните, пожалуйста, не избыточен ли он, и зачем здесь нужно устанавливать регистр I ?
    Если ты планируешь вернуться в BASIC корректно, обеспечь нормальную работу софтов, которые будут запущены после твоего. Кстати, можно запросто верруться и не в BASIC, а в другую ОС, которая может запустить твою игру. Софты ждут, что i = #3f - как это выставляет BASIC при сбросе. Олсо не забывай при выходе выставлять iy в #5c3a и hl' в #2758.

    ---------- Post added at 23:21 ---------- Previous post was at 23:18 ----------

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    LD A,#63
    В используемом ассемблере символ # - это признак адресации или 16-ричной системы? в i надо засылать #3f = 63 dec.
    Последний раз редактировалось Alex Rider; 09.10.2015 в 23:24.
    ZX Evolution Rev C + ZXM-SoundCard Extreme + NeoGS.

  10. #30
    Veteran
    Регистрация
    01.03.2005
    Адрес
    Новосибирск
    Сообщений
    1,979
    Спасибо Благодарностей отдано 
    69
    Спасибо Благодарностей получено 
    261
    Поблагодарили
    99 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Oleg N. Cher, вот тебе пример простейшего способа ввода текста на примере опроса клавиатуры, что я публиковал постом выше. Драйвер клавиатуры, вывода текста и все остальное не зависят от системных переменных ПЗУ, режима IM1, не используют подпрограмм ПЗУ.

    https://www.dropbox.com/s/wk4yrlmc7l786zw/prj_keys.zip

Страница 3 из 11 ПерваяПервая 1234567 ... ПоследняяПоследняя

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

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

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

Ваши права

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