Логотип.
 Разделы сайта Cтатьи.
Сайт в разработке!

Статистика сайта.

Посещений за день: 120
Посещений за месяц: 5533
Посещений за год: 10325


Баннеры.

DMconnect
Maksy's PWS


Статистика в картинках.

likes counter


  • Главная.
  • Новости.
  • Программы.
  • Файлы.
  • Контакты.
  • Чат "Пиво".
  • Форум.
  • Статьи.
  • Ссылки.
  • Гостевая.
  • 8-битный порт Kempston-джойстика с тремя дополнительными кнопками.

     Расширение 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)
    

      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).
      Kempston-джойстик (все 8 бит) работает параллельно клавиатуре. На дополнительных кнопках висят: взять/применить предмет, транспорт, смена персонажа. Инвентарь висит по-прежнему только на клавише I.

      The Order of Mazes (2015)
      Расширенный Кемпстон добавлен в дисковой версии.

      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)? :-)

    >>

    BitByByte, 2000 г. (2026).