- --
Viewing Issue Advanced Details
ID | Category [?] | Severity [?] | Reproducibility | Date Submitted | Last Update |
---|---|---|---|---|---|
05468 | DIP/Input | Minor | Always | Feb 23, 2014, 03:25 | Feb 26, 2014, 06:53 |
Tester | pcolson | View Status | Public | Platform | MAME (Official Binary) |
Assigned To | Resolution | Fixed | OS | Windows Vista/7/8 (64-bit) | |
Status [?] | Resolved | Driver | |||
Version | 0.152 | Fixed in Version | 0.153 | Build | Normal |
Fixed in Git Commit | Github Pull Request # | ||||
Summary | 05468: sharrier: Min/Max settings for analog input are incorrect | ||||
Description |
According to the manual, both the X and Y axes should have min below 25H, and max above DBH. The current settings are: 739 PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_MINMAX(0x20,0xe0) PORT_SENSITIVITY(100) PORT_KEYDELTA(4) PORT_REVERSE 742 PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_MINMAX(0x60,0xa0) PORT_SENSITIVITY(100) PORT_KEYDELTA(4) PORT_REVERSE with these settings, I was unable to get the characters head up to the score area, and was unable to drop to the ground to run with the original controller. I was also unable to navigate the test menu since it needs the extents of the y axis to move through the menu I changed the y axis min/max to match the x axis since that setting meets the description in the manual: 739 PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_MINMAX(0x20,0xe0) PORT_SENSITIVITY(100) PORT_KEYDELTA(4) PORT_REVERSE 742 PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_MINMAX(0x20,0xe0) PORT_SENSITIVITY(100) PORT_KEYDELTA(4) PORT_REVERSE With these settings, I am able to move in the y direction as expected. I am also able to move up and down in the test menu |
||||
Steps To Reproduce | When using an original controller, it is impossible to get to the top and bottom of the screen (which makes it impossible to run in this game). Not sure how to reproduce if not using the original controller, or if the calibration settings have been altered. | ||||
Additional Information |
The settings in the driver seem to be taken from what was observed in an actual machine. I asked an owner on BYOAC to report what he was seeing in the test screen on his Space Harrier and this is what he saw: Control Lever R.L. Far Right: 21H Far Left: DEH Control Lever U.D. Top: 61H Bottom:9EH I can't verify what these values are in MAME. I need a test switch to select the test in the menu, but there is no test switch. I saw this line in the driver: 292 static const char *const sysports[] = { "SERVICE", "UNKNOWN", "COINAGE", "DSW" }; Maybe that UNKNOWN is the test button? I am attaching the scan of the relevant manual page. The owner of the manual is going to scan the entire manual when he has time, but I don't know when that will be. I own the controller I am testing with, so I can do additional tests as needed. I should also be able to get the helpful BYOAC guy to test on his original machine if needed. |
||||
Github Commit | |||||
Flags | |||||
Regression Version | |||||
Affected Sets / Systems | sharrier | ||||
Attached Files
|
spaceharrieranalogsetting.jpg (79,582 bytes) Feb 23, 2014, 03:25 Uploaded by pcolson Manual page describing analog setting
| ||||
Relationships
There are no relationship linked to this issue. |
Notes
5
No.10325
Osso Moderator
Feb 23, 2014, 07:13
edited on: Feb 23, 2014, 08:14 |
F2 is the test switch. EDIT: Ok, I've adjusted the values to match the ones you reported. Please test with the real lever. |
---|---|
No.10326
pcolson Tester
Feb 23, 2014, 20:06
|
Thought I tried F2, but apparently not. Now that I got into the menu, here are the min/max using my space harrier controller in my modified binary: 20H to DFH on X axis 36H to BCH on Y axis At center, both X and Y are within the range specified in the manual Thanks, Paul |
No.10328
pcolson Tester
Feb 24, 2014, 05:32
edited on: Feb 24, 2014, 07:08 |
Sorry, my report was a bit unclear. According to the manual, both the x and y axes should be min < 25H and max > DBH. The values in the current driver for the x axis meet the definition stated in the manual, so I think those values can be used for both the x and y axis. I reread the post that I thought gave the values from an actual machine (the numbers you added in the driver). It looks like he is using a controller in MAME as well. His controller worked fine because his min y was above the 60H in the driver. Now that I know that he was in MAME, I have no idea if his controller was calibrated or settings were changed to make his controller work within the specified range. Since my min y value is significantly lower than his, I am making the assumption that he either changed the sensitivity settings, or his controller is not adjusted according to the manual. I can confirm that my controller works with the default sensitivity settings when the min/max for both x and y are set to PORT_MINMAX(0x20,0xe0). These settings also meet the definition in the manual. My values are: 20H to DFH on X axis 36H to BCH on Y axis With a 8H adjustment range (7CH-84H at center), the <20H minimum certainly makes sense compared to the numbers I am seeing. The values you have in the driver now will not work for my controller since my min of 36H is quite a bit less than the 61H in the driver. We can get closer to the exact definition in the manual by using MINMAX(0x24,0xDC), but I am not sure if there is an advantage to doing that. |
No.10332
pcolson Tester
Feb 26, 2014, 06:51
|
Just compiled and tested the current fix (second attempt). The controller works correctly. Thanks for making the changes. |
No.10333
Osso Moderator
Feb 26, 2014, 06:53
|
Thanks you for the reporting the issue! |