libretro / FBNeo

FBNeo - We are Team FBNeo.
https://neo-source.com
Other
229 stars 136 forks source link

Forgive my stupidity and carelessness, this time I'm serious #997

Closed AngelofMe closed 2 years ago

AngelofMe commented 2 years ago

I'm sorry, I really didn't mean to piss you off You guys are busy every day, I really don't want to make trouble But I sent an issue before and didn't clarify the idea Please add a bunch of buttons that are not commonly used, I regret it very much I don't want to keep that wrong change forever I know sometimes my issues are really stupid But that doesn't matter what, but I'm serious about MSX's F1 and Stop I know a lot of people who are having trouble with the keys when using FBN libretro, so they don't know what to do when they get stuck, so I tested all MSX keys, F1 is often used for Konami games, and Stop is often used For other games, some games use both F1 and Stop At that time, F5 was just a coincidence, not a button effect. I forgot Stop when submitting. This is the first time I've been on Github for so many years to pull a request for my mistake Sorry, it's all my fault, hope don't ignore me, this time it's completely sincere and heartfelt Since I am worried about changing the content making more bugs, so I sent it to issue

FBNeo/src/burner/libretro/retro_input.cpp

// Handle MSX
if ((nHardwareCode & HARDWARE_PUBLIC_MASK) == HARDWARE_MSX) {
    if (strcmp("Button 1", description) == 0) {
        GameInpDigital2RetroInpKey(pgi, nPlayer, RETRO_DEVICE_ID_JOYPAD_B, description);
    }
    if (strcmp("Button 2", description) == 0) {
        GameInpDigital2RetroInpKey(pgi, nPlayer, RETRO_DEVICE_ID_JOYPAD_A, description);
    }
    if (strcmp("Key STOP", description) == 0) {
        GameInpDigital2RetroInpKey(pgi, nPlayer, RETRO_DEVICE_ID_JOYPAD_START, description);
    }
    if (strcmp("Key F1", description) == 0) {
        GameInpDigital2RetroInpKey(pgi, nPlayer, RETRO_DEVICE_ID_JOYPAD_SELECT, description);
    }
    if (strcmp("Key UP", description) == 0) {
        GameInpDigital2RetroInpAnalogRight(pgi, nPlayer, RETRO_DEVICE_ID_ANALOG_Y, JOY_NEG, "Key UP / Key DOWN");
    }
    if (strcmp("Key DOWN", description) == 0) {
        GameInpDigital2RetroInpAnalogRight(pgi, nPlayer, RETRO_DEVICE_ID_ANALOG_Y, JOY_POS, "Key UP / Key DOWN");
    }
    if (strcmp("Key LEFT", description) == 0) {
        GameInpDigital2RetroInpAnalogRight(pgi, nPlayer, RETRO_DEVICE_ID_ANALOG_X, JOY_NEG, "Key LEFT / Key RIGHT");
    }
    if (strcmp("Key RIGHT", description) == 0) {
        GameInpDigital2RetroInpAnalogRight(pgi, nPlayer, RETRO_DEVICE_ID_ANALOG_X, JOY_POS, "Key LEFT / Key RIGHT");
    }
}
AngelofMe commented 2 years ago

@barbudreadmon I wasted your precious time, I don't want you to be anxious/angry because of me

AngelofMe commented 2 years ago

blueMSX calls it End openMSX calls it Stop Stop is its official name and I looked up the MSX keyboard matrices in all 8 different countries/regions STOP position (bit 4, Row 07) F1 position (bit 5, Row 06)

barbudreadmon commented 2 years ago

Your english is very hard to understand. What you are asking is for the STOP key to be added, and for the F1/STOP keys to be mapped by default on select/start because they are somehow more important than F2/F3/F4/F5/F6 ?

Stop is often used For other games

I'll need a precise example of game using the STOP key.

AngelofMe commented 2 years ago

Namcot, Compile(a few), Konami, Casio, Capcom, Taito, Sega, Jaleco, ASCII(i didn't test)••• games @barbudreadmon I'm tired Doing these tests took up a lot of my time all namcot games stop is pause Screenshot_20220708-110411_Trebuchet Screenshot_20220708-110425_Trebuchet Screenshot_20220708-110433_Trebuchet

10-Yard Fight (Japan)-Stop(pause) 1942 (Japan)-stop(pause) A E  (Japan)-F1(play)Stop(pause) Arkanoid (Japan)-stop(pause) Bosconian (Japan)-stop(pause) Break In (Japan)-Stop(pause) Bubble Bobble (Korea) (Unl)-stop(restart system) Buru To Marty Kikiippatsu - Inspecteur Z (Japan)-F1(retry) Buru To Marty Kikiippatsu - Inspecteur Z (Japan)-stop(pause) C-So! (Japan)-stop(pause) same as sg1000 Choplifter (Japan)-stop(pause) Dig Dug (Japan)-stop(pause) Doki Doki Penguin Land (Japan)-Stop(pause) Druaga no Tou (Japan)-stop(pause) Eggerland Mystery (Japan)-Stop(retry) Exerion II - Zorni (Japan)-stop(pause) Fairy Land Story, The (Japan)-stop(pause) Final Justice (Japan)-stop(pause) Galaga (Japan)-stop(pause) Galaxian (Japan) (Alt)-stop(pause) Gojira-kun (Japan)-stop(pause) Golvellius (Japan)-stop(pause) Goonies, The (Japan)-F1(Pause) Green Beret (Europe)-F1(retry) Green Beret (Europe)-Stop(Pause) Guardic (Japan)-stop(pause) King   Balloon (Japan)-stop(pause) Mappy (Japan)-stop(pause) Meikyuu Shinwa (Japan) (Alt)-stop(retry) Moai no Hibou (Japan)-F1(retry) Moai no Hibou (Japan)-Stop(Pause) Nemesis (Japan, Europe)-F1(pause) Nemesis 2 (Japan, Europe)-F1(Pause) Nemesis 3 - The Eve of Destruction (Japan, Europe)-F1(Pause) Pooyan (Japan)-F1(retry) Q-bert (Japan)-F1(Pause) Rally-X (Japan)-stop(pause) Senjo no Ookami (Japan)-stop(pause) Super Bubble Bobble (Korea) (Unl)-stop(pause) Tank Battalion (Japan)-stop(pause) Warp   Warp (Japan)-stop(pause) Zaxxon (Japan)-Stop(Pause) Zoom 909 (Japan)-Stop(pause)

AngelofMe commented 2 years ago

that's why stop=start, f1=select

Sony HitBit HB-10P it's easy to find stop/F1/up/down/left/right where they are and stop is very important, it's red F1(left button is select), Stop (right button is start) Sony_HitBit_HB-10P_(White_Background)

AngelofMe commented 2 years ago

It is more convenient to map F1 and Stop to these joypads Fujitsu is one of MSX manufacturers Arvel M1868-1

Fujitsu FMT-PD103 FMT-PD103

Fujitsu FMT-PD104 Fmtpd104c

Popolon NES Joypad For MSX Popolon_NES_Joypad_for_MSX

Quickshot QS-127

Spital Sangyo JOY-CONT Limited Edition

Spital Sangyo JOY-CONT Turbo 4

Spital Sangyo JOY-CONT Turbo CT-5

Spital Sangyo JOY-CONT Turbo CT-6

Patches that allows to play games with the extra buttons

Following patches replaces some keyboard key functions required in games by extra buttons Run and Select of the controller. This gives us a better game-play.

Gradius
Gradius 2
Gradius 3
Multiverse
Parodius
Space Manbow
Salamander 
AngelofMe commented 2 years ago

Screenshot_20220708-182939_Trebuchet Aliens - Alien 2 (Japan)-stop(retry) Aliens - Alien 2 (Japan)-stop(you are dead) Aquattack (Japan)-stop(pause) Bruce Lee (Japan)-F1(restart game) Drainer (Japan)-F1(explosion) Jagur (Japan)-stop(pause) Laptick 2 (Japan)-stop(retry) Shout Match (Japan)-stop(pause) Volguard (Japan)-stop(pause) Zanac (Japan)-stop(pause)

AngelofMe commented 2 years ago

For instance, all most all Konami games use F1 to pause the game. https://openmsx.org/manual/user.html

AngelofMe commented 2 years ago

did you know 3 NES games Adventures of Lolo 1/2/3? it's from Eggerland series puzzle games 2 Eggerland MSX version games When you do something wrong, you have to restart (die) from this level Stop is necessary for these games

barbudreadmon commented 2 years ago

We'll add that "STOP" button soon, thanks for the informations.

Some warning though, your issues are way too hard to read, you need to stop with the walls of images & text, be concise.

AngelofMe commented 2 years ago

thanks

barbudreadmon commented 2 years ago

It's on git and should be available from the online updater later today.