Black Cat / Era CG(23.05.2020)
Личка заполнена! И чистить я ее не буду! Пользуйтесь адекватными средствами связи! Спасибо.
Seamos realistas y hagamos lo imposible!
Ernesto Che GuevaraПереехал сюда: SteinBlume (ex ATM CP/M Explorer)
http://era-cg.su
При считывании значения Kempston-джойстика проверяется старший бит. Если он != 0, то считается что джойстик отсутствует и дальнейший опрос не производится. Проверка происходит при каждом опросе джойстика т.к. порт аттрибутов может дать ложный 0. Это занимает дополнительные такты, но тут, кажется, не критично.
- - - Добавлено - - -
Мда, а для четырёх кнопок то не подойдёт. Есть вообще какой-то стандарт на >1 кнопку?
Последний раз редактировалось Uzix; 23.05.2020 в 17:43.
В Кемпстоне максимум была одна дополнительная кнопка (D5 вроде). В моем варианте (и это не единственная игра, хоть их и не много) их три, то есть D5,D6,D7.
Если шина нестабильная, то там может быть все, что угодно.
Общественное мнение склоняется к том, что автоопределение - зло, прямой вопрос - добро.
- - - Добавлено - - -
А еще фигня вот какая. Щас меня закидают, но... Новые игры под доп. кнопки можно ожидать только по трем причинам:
а) делается адаптер пада от Сеги, который поддерживает все 8 бит Кемпстона (8 кнопок),
б) есть вполне мод базовой конфы для Эволюшн, где такой джой поддержан, я на нем играю,
в) такой джой поддержан в Нексте и некоторые игры, которые пишутся и под него, и под обычный спек, рассчитаны на него в обеих версиях (правда тем у кого кнопка, 1 играть тоже можно, просто придется к клаве тянуться иногда).
И все эти три случая придерживаются одинаковой раскладки.
Вот картинка, которую я нарисовал, опираясь на инфу, так щас у меня в Эве.
По ней же уже сделан прототип, о нем вот пост: https://zx-pk.ru/threads/28489-penta...=1#post1064595
Ну и ссыль на доку про Некст: https://wiki.specnext.dev/Kempston_Joystick
Личка заполнена! И чистить я ее не буду! Пользуйтесь адекватными средствами связи! Спасибо.
Seamos realistas y hagamos lo imposible!
Ernesto Che GuevaraПереехал сюда: SteinBlume (ex ATM CP/M Explorer)
http://era-cg.su
Dart Alver(23.05.2020)
На старшие биты порта кемпстона может быть заведено все что угодно, так что автоопределение по битам D5...D7 может дать ложный результат.
ZX-Evo Rev. C4 (Double-config) / VDAC2 / NeoGS / ZX-Multisound / NemoIDE / ZiFi
Scorpion ZS 256 Turbo+ (Light) / GMX / ZXM-GS / TSFM / SMUC / ZXKM / Gotek
И да. г) Будующий СуперПент тоже будет поддерживать 8 кнопий https://zx-pk.ru/threads/28489-penta...od/page65.html
Начато наступление всеми группами по всем фронтам.
- - - Добавлено - - -
Поэтому автоопределение и плохо. По идее я ваще делал эту версию для себя. Но решил поделиться. Она именно отдельно под такой пад. На обычном Кемпстоне кнопок слишком мало.
Личка заполнена! И чистить я ее не буду! Пользуйтесь адекватными средствами связи! Спасибо.
Seamos realistas y hagamos lo imposible!
Ernesto Che GuevaraПереехал сюда: SteinBlume (ex ATM CP/M Explorer)
http://era-cg.su
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Как вариант - проверять наличие джойстика сравнением считанного значения с FF когда нет отрисовки. Если нет подтяжки ШД - это не сработает, но отсутствие подтяжки само по себе серьёзная проблема.
Хосспадe, как дети.
вот процедура теста кемпстона (5 кнопочного)
Код:test_kemp ld bc,#001f ld l,b ld e,b i_00 in a,(c) or e ld e,a dec l jr nz,i_00 ld a,e and c jr z,kemp_present ld a,#c9 kemp_present ld (kemp_act),a ret
вот тут его использование
жырным помечена маска кемпстона.Код:scan_ctrl ld bc,k_table ld de,kb_buf exx ld b,8 scan_ctrl0 exx ld a,(bc) inc bc ld l,a ld h,0 add hl,de ld a,(bc) inc bc and (hl) cp 1 exx rr e djnz scan_ctrl0 ld a,e kemp_act ret ld bc,#001f in a,(c) and #1f or e ret
если для начала потестировать сам кемпстон
а потом осторожно пошарить доп биты и ввести их расширением маски в выделенном жырненьким
то все будет работать безо всяких проблем.
С уважением,
Jerri / Red Triangle.
Dart Alver(23.05.2020)
если нажато что либо на кемстоне
кемстон не определитсо
например из бута с кемстоном мы что то выбрали при помощи кемстона
цикл бесполезен
биты накапливаются по or-у
если поймали нажатие хоть один раз (как раз момент отпускание клавиши при выборе в буте)
то все кемстон не определится
(актуально при работе с рам дисках с мгновенной загрузкой)
- - - Добавлено - - -
так что где дети непонятно
- - - Добавлено - - -
конечно не включение кемстона когда он есть
лучше чем
включение кемстона когда его нет...
Последний раз редактировалось NEO SPECTRUMAN; 23.05.2020 в 23:39.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)