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

User Tag List

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

Тема: Джойстики на Векторе-06ц

  1. #21
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,116
    Спасибо Благодарностей отдано 
    795
    Спасибо Благодарностей получено 
    658
    Поблагодарили
    403 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сделал тест для джойстиков на портах $07/$0e/$0f и их шадковых доппельгангеров на $27/$2e/$2f: [отсыл к прекрасному]

    (Я неправильно считываю порт 7, следовало бы настроить порт А второго PPI).

    У меня при включенных Шадках картинка такая:
    Больше игр нет

  2. #22
    Activist Аватар для metamorpho
    Регистрация
    24.08.2012
    Адрес
    г. Волжский
    Сообщений
    339
    Спасибо Благодарностей отдано 
    599
    Спасибо Благодарностей получено 
    173
    Поблагодарили
    58 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Привет !!
    Подскажите как правильно опрашивать Джойстик П (ПУ) ?

    Вот что я насочинял и поставил в прерывания:
    joy:
    mvi a,83h
    out 4

    in 06h
    cma
    ana 0fh

    cpi 1; vpravo
    jnz joykon2
    mvi a,0BFH
    sta KEYKOD
    jmp joykon5

    joykon2:
    cpi 2 ; vlevo
    jnz joykon3
    mvi a,0EFH
    sta KEYKOD
    jmp joykon5

    joykon3:
    cpi 4 ; vverx
    jnz joykon4
    mvi a,0DFH
    sta KEYKOD
    jmp joykon5

    joykon4:
    cpi 8 ; vniz
    jnz joykon5
    mvi a,7FH
    sta KEYKOD

    joykon5:

  3. #23
    Master Аватар для Improver
    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    975
    Спасибо Благодарностей отдано 
    430
    Спасибо Благодарностей получено 
    396
    Поблагодарили
    221 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от metamorpho Посмотреть сообщение
    Подскажите как правильно опрашивать Джойстик П (ПУ) ?
    В "Байте №8" за 1992 год приведена немного другая подпрограмма для джойстика ПУ:
    Код:
    JOY:	PUSH B	; сохраняем рег. пару ВС		Выходной параметр:
    	XRA A	; обнуляем аккумулятор
    	OUT 07	; обнуляем порт 07			в (A)-код
    	IN 07	; считываем число из порта 07		бит:	0-"СС"
    	MOV B,A	; сохраняем его в регистре В			1-"УС"
    	IN 01	; считываем число из порта 01			2-"FIRE2"
    	ANI 60H	; выделяем биты клавиш "УС" и "СС"		3-"FIRE1"
    	RAL	; передвигаем их на 3 разряда влево		4-"влево"
    	RAL	;						5-"вниз"
    	RAL	;						6-"вправо"
    	ORA B	; "накладываем" регистр В на аккумулятор	7-"вверх"
    	POP B	; восстанавливаем рег. пару ВС
    	RET	; возврат из п/п
    К ней только надо добавить анализ результатов...
    Последний раз редактировалось Improver; 02.08.2021 в 14:22.

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

    metamorpho (02.08.2021)

  5. #24
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,844
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,822
    Поблагодарили
    1,045 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Это разные джойстики. -П - это кишиневский центр компьютер (Вектор-USER 7), -ПУ (в девичестве УСПИД) - это изначально УСПИД, а в центре байт его стали называть -ПУ, вероятно чтобы не рекламировать конкурентов.

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

    metamorpho (02.08.2021)

  7. #25
    Activist Аватар для metamorpho
    Регистрация
    24.08.2012
    Адрес
    г. Волжский
    Сообщений
    339
    Спасибо Благодарностей отдано 
    599
    Спасибо Благодарностей получено 
    173
    Поблагодарили
    58 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Improver, ivagor спасибо !!
    Меня попросили добавить в игру "Binorum" возможность управлять джойстиком.
    Просьба звучала так: "поддержка джойстика ПУ, он на порте 06H висит разъема ПУ"
    Поэтому теперь я немного подзапутался как сделать его опрос

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

    Ещё как пример сказали "сделай как в River Raid", поэтому svofski пожалуйста напиши как ты в River Raid опрос джойстика сделал
    Последний раз редактировалось metamorpho; 02.08.2021 в 16:30.

  8. #26
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,116
    Спасибо Благодарностей отдано 
    795
    Спасибо Благодарностей получено 
    658
    Поблагодарили
    403 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от metamorpho Посмотреть сообщение
    Ещё как пример сказали "сделай как в River Raid", поэтому svofski пожалуйста напиши как ты в River Raid опрос джойстика сделал
    Это ржачно, потому что я как раз ничего не успел сделать -- Сергей подхачил Рива Рейд раньше, чем я успел пошевелиться. Но у меня уже был сделан опрос джойстиков, просто на других портах:
    https://github.com/svofski/incursion...ster/input.inc
    Больше игр нет

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

    metamorpho (02.08.2021)

  10. #27
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,844
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,822
    Поблагодарили
    1,045 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от metamorpho Посмотреть сообщение
    поддержка джойстика ПУ, он на порте 06H висит разъема ПУ
    Это как раз -П, он тоже висит на ПУ, порт 6 (на чтение).

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

    Цитата Сообщение от svofski Посмотреть сообщение
    Сергей подхачил Рива Рейд раньше, чем я успел пошевелиться.
    Раскладка битов желаемого -П и реализованного у тебя -C совпадают, возможно он просто изменил номер порта в опросе. Но у такого минималистичного варианта есть подводные камни, надеюсь он все же инициализацию ПУшной ВВ55 добавил (пусть даже у него скорее всего работает и без инициализации в игрушке).

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

    metamorpho (02.08.2021)

  12. #28
    Activist Аватар для metamorpho
    Регистрация
    24.08.2012
    Адрес
    г. Волжский
    Сообщений
    339
    Спасибо Благодарностей отдано 
    599
    Спасибо Благодарностей получено 
    173
    Поблагодарили
    58 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    svofski, ivagor спасибо !!

    Например вот опрос порта джойстика:
    in JOYC1
    cma
    mov m, a

    Мне непонятно зачем делается инверсия аккумулятора (сма) ?

    Цитата Сообщение от ivagor Посмотреть сообщение
    ....... Но у такого минималистичного варианта есть подводные камни, надеюсь он все же инициализацию ПУшной ВВ55 добавил (пусть даже у него скорее всего работает и без инициализации в игрушке).
    Зачем нужна инициализация ПУшной ВВ55 ? И обязательна ли она ? Если да, то как она делается ?

    В моём варианте опроса джойстика делается так:
    - в подпрограмме прерывания идёт опрос клавиатуры и записывается в ячейку KEYKOD код нажатой клавиши или если ничего не нажато записывается код того что ничего не нажато
    - далее в этой же подпрограмме прерывания идёт опрос порта джойстика и если там есть нажатие (влево,вправо,вверх,вниз) тогда в ячейку KEYKOD записывается код аналогичный коду стрелок с клавиатуры
    - далее в основном цикле программа обрабатывает только то что находится в KEYKOD

    Такой одновременный опрос клавиатуры и джойстика будет ли работать или в опросе джойстика есть какие-то "подводные камни" ?

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

    Где лучше делать опрос джойстика в подпрограмме прерываний или разницы нет где ?

  13. #29
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,844
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,822
    Поблагодарили
    1,045 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от metamorpho Посмотреть сообщение
    Зачем нужна инициализация ПУшной ВВ55 ? И обязательна ли она ? Если да, то как она делается ?
    Разные начальные загрузчики могут оставить ПУшную ВВ55 в разном состоянии.
    Если загрузка была из внешнего пзу/картриджа, то порт 6 запрограммирован на ввод, но остается вопрос насчет порта 5, который управляет выбором джойстиков. Теоретически может получится ситуация, когда один или оба джойстики будут отключены, но я так понимаю, что это может быть неактуально для упрощенного подключения -П с одним джойстиком.
    А вот 512 байтный загрузчик, который был штатно установлен в большинстве векторов, программирует порт 6 на вывод и опрос джойстика без инициализации не получится.
    Цитата Сообщение от metamorpho Посмотреть сообщение
    mvi a,83h
    out 4
    Это и есть инициализация для опроса джойстика-п (даже сразу двух джойстиков).

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

    metamorpho (02.08.2021)

  15. #30
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,116
    Спасибо Благодарностей отдано 
    795
    Спасибо Благодарностей получено 
    658
    Поблагодарили
    403 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от metamorpho Посмотреть сообщение
    Мне непонятно зачем делается инверсия аккумулятора (сма) ?
    Я проверяю не абсолютное состояние контактов, а инверсию относительно того состояния порта, которое было при старте. Таким образом если мы опрашиваем несуществующий порт, нам неважно ноль там или единица.
    Дальше все порты пробегаем и сравниваем с нейтральным положением, если в каком-то бите была инверсия, это определяется как повернутая палка, или нажатая кнопка. Инверсия чтобы удобно было ксорить со считанным значением и потом and-ить, это детали реализации.
    Больше игр нет

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

    metamorpho (02.08.2021)

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

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

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

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

Похожие темы

  1. Биперная музыка на Векторе-06Ц
    от ivagor в разделе Вектор
    Ответов: 299
    Последнее: 30.06.2023, 21:10
  2. Эмулятор "ZX Spectrum 48" на "Векторе-06Ц"
    от Tim0xA в разделе Вектор
    Ответов: 31
    Последнее: 27.12.2022, 21:40
  3. Ответов: 18
    Последнее: 11.04.2021, 10:54
  4. Картинки демок Amstrad на векторе
    от yur в разделе Вектор
    Ответов: 13
    Последнее: 14.03.2016, 08:25
  5. Катинки С64 на Векторе
    от yur в разделе Вектор
    Ответов: 6
    Последнее: 13.03.2016, 15:40

Ваши права

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