User Tag List

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

Тема: LD A,0F7H и OUT (0FDH),A в Jetpac

  1. #1

    Регистрация
    20.05.2007
    Адрес
    г. Бийск
    Сообщений
    105
    Спасибо Благодарностей отдано 
    20
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Question LD A,0F7H и OUT (0FDH),A в Jetpac

    1983 год. Spectrum 16K. Игра Jetpac. В цикле рисуется текстовое меню, затем идет OUT, затем опрос полуряда клавиатуры "12345" и реакция на нажатые клавиши.
    Вопрос: какой смысл в OUT? Для чего он нужен?
    Если вместо OUT поставить два NOP'а - все нормально работает в эмуляторе.
    Нажмите на изображение для увеличения. 

Название:	Jetpac_out_FD.jpg 
Просмотров:	101 
Размер:	47.2 Кб 
ID:	82663
    OUT идет сразу перед IN. Может быть на реальном железе "залипает" состояние клавиш и их нужно сбрасывать перед чтением... Хотелось бы знать точно.
    Последний раз редактировалось equinox; 16.08.2025 в 12:08.

    Этот пользователь поблагодарил equinox за это полезное сообщение:

    SoftLight(16.08.2025)

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

  3. #2

    Регистрация
    10.01.2010
    Адрес
    Смоленская обл.
    Сообщений
    556
    Спасибо Благодарностей отдано 
    187
    Спасибо Благодарностей получено 
    197
    Поблагодарили
    100 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от equinox Посмотреть сообщение
    Вопрос: какой смысл в OUT? Для чего он нужен?
    Посылает байт #F7 в порт #F7FD на 16k машинке ?
    Х.з. сбрасывание клавиш както сомнительно но х.з. может и правда нашли самотычный неофициальный метод )), какая-то непонятная периферия тоже возможно, но все-таки 16k., а может просто воткнули ради прикола, чтоб мы голову чесали. ))

  4. #3

    Регистрация
    31.01.2007
    Адрес
    Москва
    Сообщений
    810
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    77
    Поблагодарили
    59 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    старший байт порта клавы посылался в порт FD который мог использоваться в какой то клавиатурной периферии, возможно была клава которая это использовала для устранения матричного эффекта. Такая фигня во всех играх Ultimate.

  5. #4

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

    По умолчанию

    ещё возможна ошибка ассемблера
    (при компиляции - вставка ненужной команды, перед нужной)

  6. #5

    Регистрация
    10.04.2005
    Адрес
    Сибирь
    Сообщений
    1,202
    Спасибо Благодарностей отдано 
    270
    Спасибо Благодарностей получено 
    396
    Поблагодарили
    171 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Cool

    Помню, что тоже видел эту странность, когда в 2002 году делал для этой игры возможность выбора клавиш управления. (Смотрите здесь.)

    Но тогда не придал этому значения и списал все на неумение программистов работать с новым компьютером. Ведь когда писалась игра, Спектруму было около года.

  7. #6

    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,101
    Спасибо Благодарностей отдано 
    1,335
    Спасибо Благодарностей получено 
    322
    Поблагодарили
    151 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Есть ещё такая гипотеза:
    Писали на ЯВУ, в котором не было команды чтения из 16-битного порта. Нашли такой вот костыль. Сначала вывод в левый порт, чтобы только в А загрузить нужное значение.

  8. #7

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

    По умолчанию

    в играх от ACG это было повсеместно.

    возможно какая то ранняя девелоперская инфа по опросу клавы.

    - - - Добавлено - - -

    Цитата Сообщение от Reobne Посмотреть сообщение
    Есть ещё такая гипотеза:
    Писали на ЯВУ, в котором не было команды чтения из 16-битного порта. Нашли такой вот костыль. Сначала вывод в левый порт, чтобы только в А загрузить нужное значение.
    Это не ЯВУ.
    С уважением,
    Jerri / Red Triangle.

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

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

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

Похожие темы

  1. Jetpac RX Mod
    от morcar1975 в разделе Игры
    Ответов: 2
    Последнее: 07.10.2020, 04:08
  2. JetPac RX (2020, HighRise)
    от OMu4 в разделе Новые игры для ZX Spectrum
    Ответов: 4
    Последнее: 23.08.2020, 17:40
  3. Jetpac Advanced
    от morcar1975 в разделе Игры
    Ответов: 6
    Последнее: 20.07.2018, 22:16

Ваши права

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