Виртуальный джойстик NES

MOS Technology / Commodore / Apple II / NES etc.

Moderator: Lavr

User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Виртуальный джойстик NES

Post by Lavr »

Вопрос к murgatroid_79: я смотрю, вы приставками давно занимаетесь, а я - недавно и по случаю,
так что, видимо, вы лучше меня некоторые тонкости знаете...

А вопрос вот какой: я использую эмулятор FCE-Ultra (или он же, более продвинутый FCEUX-2.1.5):
fceu.gif
В нём геймпад эмулируется нажатием кнопок клавиатуры. Но проблема в том, что он понимает
настройку с моей виртуальной экранной клавиатуры, но когда работает эмуляция - то виртуальную
клавиатуру он не воспринимает (наверное читает железную клавиатуру напрямую).
Нет ли какого виртуального эмулятора геймпада, чтобы нажимать его кнопки на экране мышью?
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Виртуальный джойстик NES

Post by Lavr »

Lavr wrote:Нет ли какого виртуального эмулятора геймпада, чтобы нажимать его кнопки на экране мышью?
И что-то у меня совсем из головы вылетело - виртуальный геймпад для эмулятора Денди я таки написал
еще в конце 2017 года...
VirtPPJoy.gif
Всё оказалось довольно несложно, если использовать PPJoy - драйвер виртуального джойстика.

Вот только порадоваться и наиграться не успел - буквально через пару дней у меня слетел
жесткий диск на одном ноутбуке, а на другой M$ срочно закинула гнусное обновление, когда
я полез в интернет искать утилиты для спасения данных с диска с убитым FAT... :-?
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Виртуальный джойстик NES

Post by Shaos »

GitLab тебе нужен - каждый коммит пушаешь в облако и оно никогда не убъётся :roll:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Виртуальный джойстик NES

Post by Lavr »

Shaos wrote:GitLab тебе нужен - каждый коммит пушаешь в облако и оно никогда не убъётся :roll:
Я не привык ко всяким этим облакам. Я теперь что сделаю - сразу кладу на форум. :D
И это меня, кстати, спасло тогда после НГ. Я некоторые нужные вещи взял здесь с форума.

Фактически ничего не пропало, но конечно же первых делом я спасал служебные дела
из рухнувшего жесткого диска, а потом уже хобби и остальное. :lol:
Правда, до сих пор еще не всё разобрал - 6.7 Гбайт файлами без названий... :mrgreen:
Типа File000 ... File001 и т.д.
Хорошо еще утилиты умеют распознать файлы по типам... :wink:

Но этот виртуальный Game Pad PPJoy я тоже спас в исходниках на С++ - разберусь с
делами - поделюсь этой разработкой.
Картинку я в почте у себя нашел - меня по драйверу PPJoy проконсультировал один
человек с Хабра - пишет он там вкусно на темы Денди и его эмуляторов...

P.S. Исходники джойстика скоро выложу...
iLavr
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Виртуальный джойстик NES

Post by Lavr »

Lavr wrote:...этот виртуальный Game Pad PPJoy я тоже спас в исходниках на С++ - разберусь с
делами - поделюсь этой разработкой.
Значит, вот они эти самые исходники:
GamePad.zip
Компилировал проект я под M$ Vizual C++ 5.0, но вроде как ничего в нём особо сложного нет.

Работает этот джойстик с эмулятором NES FCE-Ultra (или же FCEUX-2.1.5) через PPJoy - драйвер виртуального джойстика.
Без драйвера PPJoy - работать не будет.

При запуске - он примерно вот так выглядит:
GamePPJoy0.gif
Есть в нём одна недоработка: в реальном джойстике кнопки курсора можно нажимать по две одновременно:
влево-вверх, или вправо-вниз. Мышью так не нажмёшь... :wink: Не успел я это доделать в 2017 году... :-?
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Виртуальный джойстик NES

Post by Lavr »

Lavr wrote:...в реальном джойстике кнопки курсора можно нажимать по две одновременно:
влево-вверх, или вправо-вниз. Мышью так не нажмёшь... :wink: Не успел я это доделать в 2017 году... :-?
Но идея была очень простая, если кому-либо захочется джойстик допилить: к четырём кнопкам курсора:
влево, вправо, вверх, вниз, добавить по диагоналям ещё четыре кнопки:
"влево-вверх", "влево-вниз", "вправо-вверх", "вправо-вниз",
и при их нажатии мышью выставлять по два нужных бита в байте, передаваемом драйверу джойстика.

Сразу я этого не доделал, потому как после обрушения HDD, ни драйвера PPJoy, ни компилятора С++,
ни эмулятора NES FCE-Ultra под руками не было - потом уж постепенно из образа рухнувшего HDD всё
вытаскивал - повезло, что диск был дефрагментированный и рухнул только FAT.
iLavr
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Виртуальный джойстик NES

Post by Lavr »

Какая приятная неожиданность вдруг обнаружилась! :esurprised:
Под Windows 7 эмулятор NES FCE-Ultra слушается местной экранной клавиатуры!!! :kruto:
NES7.gif
Безо всякого шаманства и калдунства с посторонними драйверами! :roll:

Но более удивительным оказалось, что виртуальная экранная клавиатура Windows 7
использует код той моей старой экранной клавиатуры ещё из-под Windows 98! :o
madent.gif
M$, получается, под свою же Венду нормальную экранную клавиатуру осилить не смогли,
и прикупили стороннюю разработку.
Причем, как всегда, умудрились всё испортить: Madentec On-Screen Keyboard была более
гибкой в настройках... :-?
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Виртуальный джойстик NES

Post by Lavr »

Lavr wrote:Под Windows 7 эмулятор NES FCE-Ultra слушается местной экранной клавиатуры!!! :kruto:
Захотел я сегодня кое-что на эмуляторе NES FCE-Ultra потыкать... а он вдруг клавиатуру не слушает! :o
Вот не слушает и ВСЁ! Хоть застрелись... :roll:
Мучился часа 2... клавиши джойстика понимает... а Family Keyboard - ни в какую... :-?

Пришлось почитать HELP: http://panic.klippanlan.net/Nintendo/fceultra.html
В HELP решение проблемы нашлось:
To enable or disable Family Keyboard input, press the "Scroll Lock" key.
Дальше было смешнее: ну нет у меня на клавиатуре нетбука "Scroll Lock" key! :lol:
Но как-то же раньше это всё работало... 8)

Оказалось, что "Scroll Lock" можно нажать только с виртуальной клавиатуры! :ebiggrin:

Image
iLavr