Расширение Kempston Joystick
Kempston Joystick - одно из самых попу─
лярных устройств на ZX Spectrum. Но при
этом у него есть несколько недостатков.
Один из них - то, что эта схема поддержи─
вает только однокнопочный (чуть не сказал
одноклеточный) джойстик типа Atari CX40
урожая 1977 года. Человеку, который придет
на Speccy с другой планеты, будет нелегко
понять,почему прыгать надо движением джой─
стика вверх, а стрейф в Wolf48 включается
движением вниз+лево или вниз+вправо. А как
драться в файтингах - вообще непонятно.
Неужели на клавиатуре?
Со времён появления устройства прошли
десятилетия, и место джойстиков уверенно
заняли геймпады. Типичный геймпад от Денди
или Sega Mega Drive содержит от 4 до 7
кнопок, среди которых не менее двух разных
игровых действий, причём ещё имеется от─
дельная кнопка для паузы, совмещённая с
запуском игры.
Сам порт #1F, на котором сидит Kempston
Joystick, имеет три свободных бита, кото─
рые обычно в нуле и иногда используются
для определения наличия джойстика (не де─
лайте так). Эти биты было бы логично ис─
пользовать для трёх других кнопок.
Несколько лет назад Black Cat/Era
Creative Group из Новосибирска (известный
по Twitch/YouTube-каналу Videogames Sema─
tary ) занялся этим вопросом практически.
Дальше пишет он:
Биты расширенного Kempston Joystick'а
распределяются так (все активны в единице,
неактивны в нуле):
0 RIGHT
1 LEFT
2 DOWN/DUCK
3 UP
4 B (например, FIRE)
5 C (например, JUMP)
6 A (например, ADDITIONAL FIRE)
7 START (например, PAUSE/MAP)
Список игр с поддержкой 8-битного Кемп─
стона:
Castlevania: Spectral Interlude (2015)
Пробная версия сделана Санчезом по моей
просьбе еще в 2018, однако в ней поддержи─
вался только прыжок на доп. кнопку. В вер─
сии 2020 года поддержка полная. На доп.
кнопках - прыжок, смена оружия, карта.
Внимание! Для корректной работы, после
пропуска заставки на кнопку Fire, необхо─
димо в меню выбрать тип управления WSAD.
The Dark by Oleg Origin (1997, 2016)
Незапланированная фича. По Fire2 - вы─
зов карты.
Mighty Final Fight (2017)
Спорная версия. Также была выпрошена
мной у Санчеза для проверки концепта в
2018. Автору результат не понравился, сли─
шком завязано управление на традиционный
вариант управления. На дополнительных кно─
пках - прыжок и Пауза.
Aliens: Neoplasma (2019)
Тоже от Санчеза. Полная поддержка. На
доп.кнопках - прыжок,гранаты,выход в меню.
Delta's Shadow (2020)
Опять от того же автора.
Space Gun by Ocean Software Ltd'92
Версия с возможностью управления от
Kempston Mouse и поддержкой дополнительных
кнопок Kempston Joystick'а. Релиз выпущен
совместно с goodboy'ем.
Vade Retro II by J.B. (2017)
Русский перевод: Den Jr, michellekg,
Black Cat / Era CG
Модификация под Kempston (8 bit): Black
Cat / Era CG (15.05.2020)
Kempston-джойстик (все 8 бит) работает
параллельно клавиатуре. На дополнительных
кнопках висят: взять/применить предмет,
транспорт, смена персонажа. Инвентарь ви─
сит по-прежнему только на клавише I.
The Order of Mazes (2015)
by Tom Dalby
Расширенный Кемпстон добавлен в диско─
вой версии.
Hell Yeah! (2020)
...
Как подключить такой джойстик, напри─
мер, к ZX Evolution?
Возьмём разъём сеговского контроллера:
S=0 S=1
1 UP UP
2 DOWN DOWN
3 0 LEFT
4 0 RIGHT
5 +5V
6 A B
7 S
8 GND
9 Start C
Сигнал S тут - управляющий. Как видно в
третьей колонке, его включение меняет по─
ведение контроллера - из некоторых линий
считываются другие кнопки.
На ZX Evolution на разъём X12 выведены
сигналы Kempston Joystick'а (контакты с 15
по 20 ), а также механической клавиатуры
(контакты с 1 по 8 и с 10 по 14 ).Там есть
GND, но нет +5V, Start/C и управляющего
сигнала S. Под недостающие сигналы S и
START/C можно задействовать контакты меха─
нической клавиатуры. Этими клавиатурами
уже редко кто пользуется, их даже трудно
достать. Хотя ходят слухи, что пользовате─
ли БК недавно смогли перевыпустить партию
клавиатур МС-7007 в фирме Мастер-Ключ в
Рязани. А +5V лучше взять отдельно с БП.
Допустим, соответствие сигналов будет
такое:
S=0 S=1 X12
1 UP UP 18
2 DOWN DOWN 19
3 0 LEFT 16
4 0 RIGHT 17
5 +5V /С БП/
6 A B 20
7 S 3
8 GND 15
9 Start C 6
То есть таким образом, мы отберем у ме─
ханической клавиатуры 2 и 5 полуряд, но
сохраним возможность подключения Sinclair
1 и Sinclair 2. Но чтобы это работало и
выдавало недостающие битики в порт #1F,
надо иметь в компьютере специальную проши─
вку ПЛИС. Такую прошивку разработал Роман
(maddev) в 2020 году.
Поддержка расширенного расширенного
Kempston Joystick'а есть в эмуляторе
Xpeccy. Достаточно включить поддержку до─
полнительных кнопок в настройках.
В Unreal Speccy 0.39 пока поддержано
только 7 битов из 8 ( KLEFT, KRIGHT, KUP,
KDOWN, KFIRE, KFIRE1, KFIRE2, KFIRE3, где
KFIRE=KFIRE1 ).
* * *
Одновременно похожую схему для ZX Evo
разработал и DimkaM, он сделал и прошивку
с возможностью выбора раскладок джойстика,
но эта прошивка пока не публикуется,потому
что есть возможность сохранить работоспо─
собность механической клавиатуры. Проще
всего это сделать, перебросив сигнал S
(SEL) геймпада на сигнал RST разъёма кла─
виатуры. Но прошивку придётся переписать:
RST уже не будет работать как сброс по
умолчанию, только при замыкании с ка─
ким-либо полурядом клавиатуры (например,
первым).
* * *
А вы знаете, что существует схема
Kempston Mouse от Velesoft'а с дополните─
льной мышкой на портах #0ADF (buttons),
#0BDF (X), #0FDF (Y)? :)
Other articles: