Results 1 to 1 of 1
  1. #1
    EmuTalk Member
    Join Date
    Sep 2020
    0 Post(s)

    Tips to help with Demul Arcade Sets with G920 and Flightstick

    I have built a dedicated driving cabinet the includes a Logitech G920 and VKB flightstick. I want to thank this amazing community that has kept Demul alive. Getting all of the arcade systems running with Demul .07a was at times a puzzle. I learned a ton from research on the net. This is an attempt to consolidate some of my findings which should helpful to others. If you see anything that should be added or corrected I am happy to make the edit. I am not an expert or Dev but everything is working so I must be doing something right...

    USB Assignments:
    As most people know, Windows may reassign USB joystick assignments each time you reboot. I use 2 approaches to address this issue. First is a free utility called devreorder. You configure an ini file and drop it into your emulator directory. It works with most emulators including Demul and Super Model. For Demul a second option is Boomslangs AWESOME FFB tool which is supported on this site. Boomslang is doing some incredible work. The FFB tool also helps with the next issue, auto close.

    IDirectInputDevice8 CreateEffect FAILED Error:
    If I am not mistaken this error occurs when you use devices that support force feedback. Does not matter if I am right or wrong, either way, if you are running a front end, you will want to close it. There are several ways around it. First and easiest solution is the FFB tool. Second option is to add a script with your front end. I use Launchbox (I am big fan) and I found this script on-line (my apologies for not giving proper credit). Here is my complete script. Note, I run 15 copies of Demul on my machine. Each copy has different controls, FFB or no FFB and roms. I have no question there are better ways to address the different mapping and requirements but if it works, it works...

    MouseMove, 9999, 9999
    BlockInput, MouseMove
    Send {Volume_Mute}
    Winwait, padDemul,,3
    IfWinExist, padDemul
    IfWinNotActive, padDemul
    WinActivate, padDemul
    WinWaitActive, padDemul
    IfWinActive, padDemul
    Sleep, 500
    Send, {ENTER}
    Send {Volume_Mute}
    Sleep 4000
    Send !{Enter}
    BlockInput MouseMoveOff
    MouseMove, 960, 540, 0
    WinClose, ahk_exe {{{StartupEXE}}}

    The mouse lines are to hide the mouse by moving it off screen and then returning to the center when you close (again, apologies for lack of credit, some of these tips I picked up a year+ ago).

    The Sleep and Send !{Enter} lines should only be used when launching a Hikaru rom. It sends an alt Enter which forces full screen. If you leave the line it the opposite may happy with other systems like Naomi if ‘start in full screen’ is selected in the Demul video settings.

    This script also closes the emulator and returns to Launchbox when you press ESC.

    Assigning controls:
    The main reason I am using so many copies of Demul is there is not a ‘one size fits all’ approach to controls. Setting up controls can be an exercise in frustration. When you have more than 1 USB device it is not unusual for the Demul configure controls feature to not see a device. In my case I could only learn my VKB flightstick presses. I can use my G920 but I had to setup everything by editing the paddemul.ini file. To accomplish this I created a text file and noted the identification for all of the buttons and axis controls.

    Note: Demul uses 0 as a significant value so the 1st button is _0 NOT _1. The means if you go to the Windows USB game controller setup to determine button numbers, the Demul number will be the button number -1. Example button 5 would be Joyx_4.

    VKBsim Gladiator Flight Stick - 1st USB = Joy0
    Joy0_0 = 16777216 Flap Up
    Joy0_1 = 16777217 Flap Down
    Joy0_2 = 16777218 A1
    Joy0_3 = 16777219 A2
    Joy0_4 = 16777220 A3
    Joy0_5 = 16777221 B1
    Joy0_6 = 16777222 B2
    Joy0_7 = 16777223 B3
    Joy0_8 = 16777224 C1
    Joy0_9 = 16777225 C2
    Joy0_10 = 16777226 C3
    Joy0_11 = 16777227 Start
    Joy0_12 = 16777228 Eject
    Joy0_13 = 16777229 Mode 1 Trigger
    Joy0_14 = 16777230 Mode 1 Alt Trigger
    Joy0_15 = 16777231 Mode 2 Trigger
    Joy0_16 = 16777232 Mode 2 Alt Trigger
    Joy0_17 = 16777233 Mode 1 Top
    Joy0_18 = 16777234 Mode 1 Alt Top
    Joy0_19 = 16777235 Mode 2 Top
    Joy0_20 = 16777236 Mode 2 Alt Top
    JOY0_ANL0_KEY- = 33554688 Left
    JOY0_ANL0_KEY = 33554432 Right
    JOY0_ANL1_KEY- = 33554689 Up
    JOY0_ANL1_KEY+ = 33554433 Down
    JOY0_ANL2_KEY+ = 33554434 Throttle Up
    JOY0_ANL2_KEY- = 33554690 Throttle Down
    JOY0_ANL3_KEY- = 33554691 Stick Turn Left
    JOY0_ANL3_KEY+ = 33554435 Stick Turn Right
    Note Hat switch is not recognized, I am not aware of a compatible identifier.

    Logitech G920 Wheel With Shifter 2nd USB = Joy 1
    Joy1_0 = 16842752 A
    Joy1_1 = 16842753 B
    Joy1_2 = 16842754 X
    Joy1_3 = 16842755 Y
    Joy1_4 = 16842756 Right Paddle
    Joy1_5 = 16842757 Left Paddle
    Joy1_6 = 16842758 Right Mid
    Joy1_7 = 16842759 Left Mid
    Joy1_8 = 16842760 RSB
    Joy1_9 = 16842761 LSB
    Joy1_10 = 16842762 XBox
    Joy1_11 = 16842763 Reverse
    Joy1_12 = 16842764 1st
    Joy1_13 = 16842765 2nd
    Joy1_14 = 16842766 3rd
    Joy1_15 = 16842767 4th
    Joy1_16 = 16842768 5th
    Joy1_17 = 16842769 6th
    ANALOGLEFT JOY1_ANL0_KEY- = 33620224 Wheel Left
    ANALOGRIGHT JOY1_ANL0_KEY+ = 33619968 Wheel Right
    ANALOGUP JOY1_ANL1_KEY- = 33620225 Gas
    ANALOGDOWN JOY1_ANL1_KEY+ = 33619969 Brake
    Note Hat switch and clutch are not recognized, I am not aware of a compatible identifier.

    Instead of trying to ‘learn’ each action, I would setup a new Demul directory and edit the [JAMMA0_0] section. Started with a ‘base’ ini that I would fully populate with unique functions. Launch the rom I was working on and enter the service menu. Drop down to the game settings and go to input settings. With all of the [JAMMA0_0] Buttons and axis populated you can figure out what each button and axis do. After that you go back and edit the paddemul.ini file so everything is mapped the way you want. This was tedious but it worked. It is important to note if you use the FFB plugin that there is an option to override the standard Demul approach and use FFB for some games. FFB is still in active development, I had mixed results using the input function with the biggest issue being the ‘combine pedals’ option did not work with my G920. Note, this means a separate entry in the Logitech software for each of the Demul instances. Again, a pain, but it worked.

    My biggest victory was figuring out how to enter reverse in 18 wheeler and manual control to NASCAR. Both have a different solution but share a similar concept. Both require TWO buttons depressed simultaneously.

    18 Wheeler
    PUSH1 = 16842756 (right paddle)
    PUSH2 = 16842763 (reverse)
    PUSH3 = 16842763 (reverse)

    No, this is not a typo. The only way to do this is via editing the paddemul.ini file. According to the diagnostics menu you can’t get to high gear. Don’t worry, it works. Push 1 is a mapped to toggle high on/off. Reality is in the game it toggles between low and high. It feels right when you play. Placing the stick in reverse (push down and shift into 6th) functionally selects low (push 2) and reverse (push 3). I wish you could use 1,2 and R but there is no way to select 2 gears simultaneously.

    NASCAR has a similar issue. The manual control Is NOT configured in [JAMMA0_0] it must be a separate board in a real machine because it is mapped in [JAMMA0_1]

    DIGITALUP = 16842764 1st gear
    DIGITALDOWN = 16842765 2nd gear
    DIGITALLEFT = 16842757 left paddle

    This maps high/low gear to 1&2 on your shifter. At default it will be gears 3&4. Pull in the left paddle and it will operate as 1&2.

    Just found another item:
    For King of Route 66, if your steering is too sensitive use the calibration option in the volume controls and be certain to turn the mic off.

    I hope this collection of tips is helpful. I wish I had all of the sources for some of these items documented. Hopefully this will help some of the Demul fans get their games running.
    Last edited by Classic80GMR; September 27th, 2020 at 16:24.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts