Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: Starwars alan-1 Yoke calibration  (Read 2336 times)

0 Members and 1 Guest are viewing this topic.

jlfreund

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 187
  • Last login:June 12, 2025, 02:25:33 pm
    • My project's blog
Starwars alan-1 Yoke calibration
« on: February 06, 2021, 07:45:51 pm »
Hi,

After building a control panel for the alan-1 yoke, I'm having a problems calibrating the yoke to run the basic "starwars rev1" game running on my Windows 8 in Mame 160.

The problem is that the crosshair movement is not proportional to yoke movement.    If I move the yoke within 30 degrees of center, the crosshairs don't move at all, then as I start to rotate more, the crosshairs start to move, and then move faster the farther the yoke gets away from the center.  The non-linearity is not the same in every direction, but for X, it's very severe, making the game very difficult to play.

Using the advice from the topic below, I was able to calibrate the yoke with the Windows USB Game Controller "Settings" wizard, which lets me move a crosshairs to four corners of a box, and select the center position.  This worked great for calibrating the center, but didn't do anything to non-linearity in Mame.    Ironically, in the Windows calibration tool, it seems that small movements near the center of the box work perfectly, but once I get into the Starwars game, movement near the center of the box doesn't work.

I also tried changing the default "analog controls" (Sensitivity, return to center, and speed) for each direction (even cranking them all up to 255), but I didn't notice any improvement from that.

Has anyone else experienced this problem? 

As a side note, another problem I see is that the voice samples are really stuttering.  Has anyone else seen that problem?  I'm not sure if it could be a problem with the emulation (I'm on Mame 160, and their doesn't seem to be any starwars changes after around 137), or the ROM, or if it maybe my PC is too slow?  I wouldn't expect PC speed to be an issue for emulating a tiny sound sample (even for a 4 year old low end PC).

Good starwars yoke calibration instructions: http://forum.arcadecontrols.com/index.php?topic=155627.40

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Online Online
  • Posts: 9674
  • Last login:Today at 04:10:03 am
  • Designated spam hunter
Re: Starwars alan-1 Yoke calibration
« Reply #1 on: February 06, 2021, 08:29:19 pm »
The problem is that the crosshair movement is not proportional to yoke movement.    If I move the yoke within 30 degrees of center, the crosshairs don't move at all
This sounds like you haven't adjusted the deadzone.
                 set the joystick deadzone to .05 in the mame.ini file;
                 the default .3 means that you have to turn the wheel fairly far before it does anything.
                 Joystick saturation narrows the operating range of your wheel, i.e. you only have to
                 turn it halfway before MAME sees it as being turned all the way.  Set it to 1.

As a side note, another problem I see is that the voice samples are really stuttering.  Has anyone else seen that problem?  I'm not sure if it could be a problem with the emulation (I'm on Mame 160, and their doesn't seem to be any starwars changes after around 137), or the ROM, or if it maybe my PC is too slow?  I wouldn't expect PC speed to be an issue for emulating a tiny sound sample (even for a 4 year old low end PC).
Run Star Wars then press F11 to see if the emulation is steady at 100%.

Depending on how the sound is generated, it might take more emulation horsepower than you'd expect.


Scott
« Last Edit: February 06, 2021, 08:37:05 pm by PL1 »

jlfreund

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 187
  • Last login:June 12, 2025, 02:25:33 pm
    • My project's blog
Re: Starwars alan-1 Yoke calibration
« Reply #2 on: February 06, 2021, 11:39:31 pm »

> This sounds like you haven't adjusted the deadzone.
How do I adjust the deadzone?

>Run Star Wars then press F11 to see if the emulation is steady at 100%.
When I press F11 in Mame, I see "SKIP 0/10 80%"

But on this site http://www.progettoemma.net/, "starwars" rom is listed as good

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Online Online
  • Posts: 9674
  • Last login:Today at 04:10:03 am
  • Designated spam hunter
Re: Starwars alan-1 Yoke calibration
« Reply #3 on: February 07, 2021, 07:25:41 am »
> This sounds like you haven't adjusted the deadzone.
How do I adjust the deadzone?
As mentioned in the quote from BadMouth, you can adjust it in mame.ini.
- Edit mame.ini using notepad.
- Also confirm that joystick is set to 1 (enabled), not 0. (disabled)

Quote
#
# CORE INPUT OPTIONS
#
coin_lockout              1
ctrlr                     
mouse                     1
joystick                  1
lightgun                  0
multikeyboard             0
multimouse                0
steadykey                 0
ui_active                 0
offscreen_reload          0
joystick_map              auto
joystick_deadzone         0.3
joystick_saturation       0.85
natural                   0
joystick_contradictory    0
coin_impulse              0

If you don't have a mame.ini file, you can generate one by running MAME one time with the "-cc" (create config) option.  i.e. "MAME64.exe -cc"

>Run Star Wars then press F11 to see if the emulation is steady at 100%.
When I press F11 in Mame, I see "SKIP 0/10 80%"
That tells you that MAME isn't skipping frames, but the emulation was only running at 80% at that time.

That could be caused by processes running in the background (anti-virus, Windows Updates, etc.) or a CPU that just can't keep up.

But on this site http://www.progettoemma.net/, "starwars" rom is listed as good
Yes, the ROM is good, otherwise MAME would kick back an error message and the game wouldn't load.


Scott

KenToad

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1509
  • Last login:Yesterday at 02:50:25 am
  • Flap Flap Flap
Re: Starwars alan-1 Yoke calibration
« Reply #4 on: February 07, 2021, 10:08:54 am »
If you're not getting good speeds, make sure you disable filtering such as HLSL. Some vector games made my computer chug when I used filters to increase the bloom, etc. on the vector graphics.

jlfreund

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 187
  • Last login:June 12, 2025, 02:25:33 pm
    • My project's blog
Re: Starwars alan-1 Yoke calibration
« Reply #5 on: February 07, 2021, 03:14:17 pm »
Thanks!  Probably worth mentioning in the alan-1 instructions that those values should be changed to "joystick_deadzone"=0, "joystick_saturation"=1.  Now the yoke feels smooth and proportional, and I'm able to get the crosshairs to start at the center of the screen by doing a "calibration" ritual after starting the game in mame (drawing 3 boxes before pressing coin). 

But sound is still choppy.  I tried playing with a bunch of settings but couldn't fix the sound issue
* Changing "samples" from 2 to 3 or 4 seems to have a very small benefit of delaying the stutter frequency, and seems to improve the "emulation %" seen with F11 from around 80% to 90% on average, until you get to higher levels with more bullets.
* numprocessors was already set to auto, and changing to 4 (matching my AMD 1.0Ghz 4 Core CPU) didn't help
* samplerate, changing from 48000 to 22100 didn't have any impact
* changing "filter" and "gl_glsl_filter" from 1 to 0 didn't have any impact
* hlsl_enable was already set to 0

Although it seems strange, my theory is that my 4 year old AMD 1.0Ghz 4 Core CPU is too slow (ie, Mame emulation of that game is unbelievably inefficient or buggy).
« Last Edit: February 07, 2021, 03:24:49 pm by jlfreund »

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Online Online
  • Posts: 9674
  • Last login:Today at 04:10:03 am
  • Designated spam hunter
Re: Starwars alan-1 Yoke calibration
« Reply #6 on: February 07, 2021, 04:32:25 pm »
AMD 1.0Ghz 4 Core CPU is too slow
That would be fine for many applications, but you'd need a really old version of MAME to consistently reach 100%.

Any chance you could upgrade that CPU to something in the 2-3Ghz range?


Scott

jlfreund

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 187
  • Last login:June 12, 2025, 02:25:33 pm
    • My project's blog
Re: Starwars alan-1 Yoke calibration
« Reply #7 on: February 07, 2021, 05:16:43 pm »
Thanks  - ya, I think I need to upgrade the PC -- do you have any advice for most power in smallest footprint?  I don't have room for a full sized ATX motherboard.

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Online Online
  • Posts: 9674
  • Last login:Today at 04:10:03 am
  • Designated spam hunter
Re: Starwars alan-1 Yoke calibration
« Reply #8 on: February 07, 2021, 06:24:35 pm »
do you have any advice for most power in smallest footprint?
I need to upgrade really soon too, so I'm the wrong guy to ask for specific CPU/MB recommendations.   :embarassed:

Generally speaking, the basic guidelines I'd look for are:
- At least 3GHz clock speed.
- 4 or more cores.
- IIRC MAME runs a little bit better on Intel processors, but that info may be a bit out of date.


Scott