#1
|
|||
|
|||
Порт kempston joystick выдаёт 224
Alexander Suvorov написал(а) к All в Mar 18 10:19:24 по местному времени:
Приветствую, All! Продолжаем мытарства со стареньким клоном эхотага :) Запаял я значит себе из дендевского геймпада для него "джойстик". Всё работает, поиграл на нём в Jetpac, Exolon,.. ещё во что-то.. Потом стал замечать, что не во всех играх он почему-то работает, хотя поддержка kempston joystick в них вроде как есть.. Например вот Elite, в которой, судя по всем мануалам, нужно на стартовом экране нажать влево на джое вместо пробела - совершенно никак на это нажатие не реагирует. Аналогично же Rainbow Islands никак не хочет управляться с джоя.. А с Batman the Movie так и вовсе интереснейшее поведение - если в нём выбрать kempston joystick, то игра запускается и стоит на месте. Но! Если нажать любую клавишу на клавиатуре - то игра двигается как бы на 1 шаг вперёд :) То есть её как бы можно медленно проигрывать как в режиме стоп-кадра на видике. Джойстик, кстати, при этом работает как положено :)) Списывал поначалу эти глюки на неполную совместимость нашего клона с оригинальной машиной.. и наверное вобщем-то был прав. Когда стал копать вопрос глубже - накопал, что kempston joystick читается с 31 порта, и должен выдавать 00000000 если ничего не нажато, а при нажатых кнопках менять значения младших 5 бит с 0 на 1. Программа из пары строчек на бейсике же показывает, что если ничего не нажимать - то значение с 31 порта у меня 224, то бишь 11100000. А дальше, если что-то нажимать на джойстике - то младшие 5 бит меняются как и положено, и нужное значение к этим 224 прибавляется. То есть, я так понимаю, те игры, которые опрашивают конкретно те 5 бит - работают с джоем нормально, а те, что берут значение байта целиком - не работаю/глючат.. Кто-нибудь знает как это можно победить? Как сделать эти 3 старших бита 0 вместо 1? С наилучшими пожеланиями, Alexander. --- Линия -- разрыва -- шаблона --- |
#2
|
|||
|
|||
Порт kempston joystick выдаёт 224
Sasha Shost написал(а) к Alexander Suvorov в Mar 18 11:18:16 по местному времени:
Нello Alexander! AS> То есть, я так понимаю, те игры, которые опрашивают конкретно те 5 бит так адресация портов у упрощенных вариантов (типа Зоновскиго) кастрат лютый там хотя бы один лог элемент добавить (а то что бипер, что джой и что бордюр - считай на одном адресе) в гугле спроси, у меня все было нарисовано где то - фиг найду ща погуглю ага, во http://zxpress.ru/book_articles.php?id=729 там где то в середине схема как раз про 254й порт доп адресация -- мой первый zx был московская схема (ошибок на плате тьма, у меня все в тетрадке было записано, как то все зафоткал и теперь на компе есть) вот то наиболее верный был - и память ру6 и половинки ру5 (как у родного), и буфера на выхода (что бы клава хоть 3 метра провода - никаких сбоев, на зоновских при выносной клаве приходилось ставить 555ап6 (у ап5 ноги неудобно разведены) после ленингра1 - вагон кривоты, но да, микрух намного меньше и платы без ошибок Sasha http://dr-shost.com http://shostatsky.narod.ru [Team OS/2][Team EDSMO] --- GoldED+/LNX 1.1.5-b20130910 |
#3
|
|||
|
|||
Порт kempston joystick выдаёт 224
Alexander Suvorov написал(а) к Sasha Shost в Mar 18 10:38:04 по местному времени:
Приветствую, Sasha! 26 Mar 18 11:18, Sasha Shost написал(а) Alexander Suvorov: AS>> То есть, я так понимаю, те игры, которые опрашивают конкретно те AS>> 5 бит SS> ща погуглю ага, во SS> http://zxpress.ru/book_articles.php?id=729 Вобщем почитали мы тут, покумекали напару с коллегой (и по совместительству моим ещё школьным другом), у которого в детстве Спектрум в отличие от меня был :) В итоге я по его совету попробовал указанные там в статье 6, 10 и 13 ноги микросхемы заземлить и вуаля! На нечётных портах теперь 0 когда на джое ничего не нажато и нужные значения когда что-то нажато. И сразу же игры, с которыми были проблемы, нормально с кемпстон джойстиком заработали. Вобщем - снова ура! Спасибо за наводку :) С наилучшими пожеланиями, Alexander. --- Линия -- разрыва -- шаблона --- |