- --
Viewing Issue Advanced Details
ID | Category [?] | Severity [?] | Reproducibility | Date Submitted | Last Update |
---|---|---|---|---|---|
00601 | DIP/Input | Trivial | Have not tried | Jan 31, 2008, 05:32 | Sep 25, 2008, 20:12 |
Tester | denzilla | View Status | Public | Platform | |
Assigned To | Resolution | Fixed | OS | ||
Status [?] | Resolved | Driver | |||
Version | 0.118u2 | Fixed in Version | 0.118u3 | Build | |
Fixed in Git Commit | Github Pull Request # | ||||
Summary | 00601: qbert: Can only Map controllers to Diagonals | ||||
Description |
Unable to map U,D,L,R to digital input on controller but responds to keyboard and analog input. When I map my simple USB joypad for that particular game, it only accepts diagonals: up+left, up+right, down+left, down+right as directional input. Also in the press OK screen, you have to press diagonally with a USB pad. |
||||
Steps To Reproduce | |||||
Additional Information | |||||
Github Commit | |||||
Flags | |||||
Regression Version | 0.117u1 | ||||
Affected Sets / Systems | qbert | ||||
Attached Files
|
qbertRotated.diff (3,107 bytes) Jul 31, 2008, 21:51 [Show Content] [Hide Content]diff -Nru 3/src/emu/input.c 3rot/src/emu/input.c --- 3/src/emu/input.c 2008-07-31 13:41:31.000000000 -0700 +++ 3rot/src/emu/input.c 2008-07-31 14:29:31.000000000 -0700 @@ -406,7 +406,7 @@ /* standard joystick mappings */ const char joystick_map_8way[] = "7778...4445"; const char joystick_map_4way_sticky[] = "s8.4s8.44s8.4445"; -const char joystick_map_4way_diagonal[] = "4444s8888..444458888.444555888.ss5.222555666.222256666.2222s6666.2222s6666"; +const char joystick_map_4way_diagonal[] = "444488888..444458888.444555888.445555566.222555666.222256666.222226666.222226666"; diff -Nru 3/src/mame/drivers/gottlieb.c 3rot/src/mame/drivers/gottlieb.c --- 3/src/mame/drivers/gottlieb.c 2008-07-31 13:42:03.000000000 -0700 +++ 3rot/src/mame/drivers/gottlieb.c 2008-07-31 14:26:34.000000000 -0700 @@ -757,14 +757,14 @@ PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START_TAG("IN4") /* joystick */ - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_ROTATED + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_ROTATED + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_ROTATED + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_ROTATED + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_ROTATED PORT_COCKTAIL + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_ROTATED PORT_COCKTAIL + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_ROTATED PORT_COCKTAIL + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_ROTATED PORT_COCKTAIL PORT_START_TAG("SB1") PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x01, "SB1:7" ) @@ -828,10 +828,10 @@ PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START_TAG("IN4") /* joystick */ - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_ROTATED + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_ROTATED + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_ROTATED + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_ROTATED PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) | ||||
Relationships
There are no relationship linked to this issue. |
Notes
8
No.01849
urebelscum Tester
Jul 30, 2008, 19:51
|
"Fixed in Version" should be 0.118u3 (from looking at diff files and the whatsnew files) . |
---|---|
No.01850
Tafoid Administrator
Jul 30, 2008, 20:44
edited on: Jul 30, 2008, 20:45 |
Yes, I remember this one. Aaron wanted to give a more authentic experience to the user - but it backlashed. The original joystick in the cabinet is rotated - so the U/D/L/R joystick movements were correct after all and Aaron reverted the change. I'd assume the error in the fixed version was in the original transition of the bugs to MANTIS. Corrected. http://www.mameworld.info/ubbthreads/showthreaded.php?Cat=&Number=121425 |
No.01872
urebelscum Tester
Jul 31, 2008, 21:52
edited on: Jul 31, 2008, 22:07 |
Interesting, I can't reproduce as described* on my gamepad on 0.118, nor on 0.125u2 with (what I'm guessing is) the fix removed. (I want the auto rotate map feature / rotated joystick documentation back.) I can see this as a "bug" with digital gamepads, but as Aaron said, the fix is removing a great feature. I uploaded an alternate fix (to 0.126u3), that is a compromise between the feature and the applied fix. Digital gamepads work either with cardinal or virtual rotated diagonals, and analog joysticks have the virtual rotated a2d map. And it's documented in the source that the joystick is rotated. Edit: I should have included why I thought I couldn't reproduce: I can map the cardinal directions by pushing diagonally, but the physical directions on the gamepad don't register. |
No.02556
shoegazer Tester
Sep 24, 2008, 14:42
|
Just checking - any progress on this? This is still an issue as of .127u4. |
No.02557
Tafoid Administrator
Sep 24, 2008, 15:15
|
No issue. As mentioned before, the original game used traditional Up/Down/Left/Right mapping for the game and rotated/mounted the joystick to the right 45 degrees. The issue was that diagonals were FORCED on the user, when they shouldn't be. That particular issue has been resolved long ago. If you are having trouble mapping diagonals to a joystick (keyboard seems to work fine here) I would discuss it in the MAMEWORLD.INFO forum first - get some feedback. Perhaps there are ways to do it. If no one can, then perhaps a bug report on it's own might be needed. |
No.02558
shoegazer Tester
Sep 24, 2008, 15:31
|
I have an analog joystick on my arcade panel, which I use for lots of games (not just Q*Bert), as do most people who have them. Before it was "fixed", MAME applied a rotated 45-degree analog joystick mapping for Q*Bert. I was hoping uRebelScum's fix would be officially applied, which would still allow for digital joysticks to be mapped at their original U/D/L/R as you suggested, but would also allow a diagonal mapping option for those of us who have analog joysticks. Is there any way we can take another look at this issue for analog joysticks? |
No.02562
Tafoid Administrator
Sep 24, 2008, 18:20
edited on: Sep 24, 2008, 18:21 |
All the .DIFF from urebelscum above does is reverse the state back to it was in MAME from 0.117u1 (when originally added) and 0.118u3 (when taken out). This does not address general mapping issues there might be, as it appears that joysticks of all types cannot be dual mapped (as in diagonal) as they once were able to be done (in 0.117 for example). There were major input changes in 0.117u's - so this might be a side effect of these. While discussion might have relation to the issue stated in this bug, we shouldn't leave any more notes in this bug here regarding this diagonal mapping issue. The original issue is resolved. I still suggest you start a forum thread of discussion and if answers are not forthcoming, file a feature request here. |
No.02574
urebelscum Tester
Sep 25, 2008, 20:12
edited on: Sep 25, 2008, 22:04 |
Tafoid, the diff corrected the bug's description. IOW, the cardinal directions on gamepads work after applying the diff, with the noted compromises (and others). More info coming at the discussion at mame chat: edit add link: http://www.mameworld.info/ubbthreads/showthreaded.php?Cat=&Number=166548&page=0&view=expanded&sb=5&o=&fpart=1&vc=1 |