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

Recent Posts

Pages: [1] 2 3 ... 10

Started by Howard_Casto - Last post by Howard_Casto

Ok one more thing before I leave the thread.   A handful of games use the same electronics as these guns so I started looking in the manuals.   Far Cry actually has two coils in each gun and some of those unpopulated areas on header involve that.  They also show the wiring harness attached to these guns and the green wire is a secondary ground to prevent static discharge. 

All of that being said, that means we have an extra output to play with.   One could add an extra coil, or flash leds (with some resistors of course) ect. 

Started by Howard_Casto - Last post by Howard_Casto

To put it simply they don't feel right and with respect they don't play with ease.  Whipping a heavy old positional gun halfway across the screen in a split second isn't as easy as pointing a light gun.   The targets for the two types of games are designed with that in mind so while, yes, you can technically play games like virtual cop on a fixed gun you probably aren't going to have as much fun. 


The gun came in today and I've already integrated it into mamehooker officially.  I've added some quality-of-life improvements like a buffer for the two 7 segment digits and the ability to set one at a time, the recoil function having a value so one can just use "agr 1 %s%" instead of dealing with value breaks and the null command.  Also I don't know if the community is aware of this, but setting the numeric digits to "A" (hex value) will turn them off, so the new functions have support for this. 

On the hardware side of things my pots are wired backwards.   Some games have the ability to invert this, but since they all can't do it I think I better wire them up right to avoid future headaches.  Unless I'm missing something that green wire we discussed before doesn't seem to be hooked up to the fourth input although control panel shows 4 buttons.   I traced the wire back to the pcb and it's hooked to the same header as the 24v lines.  Maybe it does have something to do with vibration???

Anyway I probably need to start a fresh thread so I can add development notes.  Thanks for the help guys, I appreciate it.   

Started by geecab - Last post by 80sRcadeGuy

Hello, thank you for the awesome post of this classic game!
How do I add it to Launchbox? I tried adding the preferred cfg as the rom and the mgpr.exe as the emulator, but it wouldn't work as I kept getting a cfg error.
See error screenshot here.  https://ibb.co/7xxqM7h6
Thanks in advance.

Hi 80sRcadeGuy!

Glad you are enjoying the remake!

Assuming you are running the windows version of Lunchbox, I think you need to create a batch file containing something like this:

Code: [Select]
cd c:\mgpr_v1_5_1
call mgpr -cfg 1920x1080_stunt_park_3cabs.cfg

(You''ll obviously need to tweak the contents a little depending on where your mgpr.exe is located, and what game configuration you want to run).

Name the batch file something like "run_mgpr_stunt_park.bat". Now configure LaunchBox to launch run_mgpr_stunt_park.bat instead of mgpr.exe and and I think/hope that should do it.

:)
I'm new at making batch files. but I made this one with the path to my mgpr.exe and my preferred cfg file (See screenshot link) but nothing happened when I tried to run it.
https://ibb.co/v4JS68yX

Thank you again for your help!  :)

Started by geecab - Last post by 80sRcadeGuy

Hello, thank you for the awesome post of this classic game!
How do I add it to Launchbox? I tried adding the preferred cfg as the rom and the mgpr.exe as the emulator, but it wouldn't work as I kept getting a cfg error.
See error screenshot here.  https://ibb.co/7xxqM7h6
Thanks in advance.

Hi 80sRcadeGuy!

Glad you are enjoying the remake!

Assuming you are running the windows version of Lunchbox, I think you need to create a batch file containing something like this:

Code: [Select]
cd c:\mgpr_v1_5_1
call mgpr -cfg 1920x1080_stunt_park_3cabs.cfg

(You''ll obviously need to tweak the contents a little depending on where your mgpr.exe is located, and what game configuration you want to run).

Name the batch file something like "run_mgpr_stunt_park.bat". Now configure LaunchBox to launch run_mgpr_stunt_park.bat instead of mgpr.exe and and I think/hope that should do it.

:)
Awesome, thank you! I'll let you know how it works.

Started by Warborg - Last post by Warborg

Nice...  :). What type of wood did you use in it's construction?

Started by TOMMYGUN - Last post by pbj

Still better than a Weecade

7   Driving & Racing Cabinets / Re: FFB file helpon Yesterday at 08:57:54 pm

Started by bsoder52 - Last post by bsoder52

update - got some FFB working but decided I just want to build my cab without it i think.

Started by bbegin - Last post by vettetek

Hey guys - awesome project and thread on it!
I'm making dedicated cabinets currently using retropie on a RP4. I was hoping to use this as it seems like its more of a "true" version of standard mame which im accustomed to.
With that being said, I was wondering if anyone can help with adding shaders for tube curve, scanlines, and on vector games, the bloom, persistence, etc.
I know being on a RP4 that the standard d3d way of doing it on a PC wont work. Ive read this thread and it seems some of you are using shaders, but im only seeing bits and pieces of the .ini addons to make it work.
If someone could point me in the right direction on creating the folder, and adding the correct lines to the ini to get started id appreciate it.
TY!!

Started by Warborg - Last post by Phreakwars

I made one using the control panel from an Arcade1Up pacman cab as a template. I figured out the top layout first, then built the housing around it. It was a pretty sweet contraption. Basically, the (Ms.) Pacman cab was the home base for the control panel. But if I wanted to take it with me, I'd simply lift it up from the Arcade1Up and unplug the connectors and just plug it in to a regular TV for on the go fun. Unfortunately, it got destroyed this last June when our town got flooded. I do have a video though of the original concept for it that I did. Self contained, even had it's own speakers. Jump to 13:29 in the video and you'll see kind of what the finished product looked like:


The one in this video was the concept design, the completed design was much sweeter. Gonna have to build me another one one of these days, but first I need to one day repair the other cabs in my basement that got destroyed. 10months later, I'm STILL recovering from that disaster so re-building arcade cabs is pretty low priority for now.

Started by jcvd12 - Last post by Tiberius

It is possible to get a Wiimote to vibrate whilst pretending to be a Xbox controller via Touchmote using AHK.

https://www.autohotkey.com/board/topic/35848-xinput-xbox-360-controller-api/

The above is a link explaining how to do it and use it.

Or copy and paste the code below for ahk without having to read up on it

Code: [Select]
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
#SingleInstance Force


XInput_Init()

XInput_Init()
Loop {
Loop, 4 {
if State := XInput_GetState(A_Index-1)
{
        BT := State.wButtons
if BT = 0x1000
{
XInput_SetState(A_Index-1, 0, 65535)
Sleep, 100
}
    }
XInput_SetState(A_Index-1, 0, 0)
}
}
return

XInput_Init(dll="xinput1_3")
{
    global
    if _XInput_hm
        return
   
    ;======== CONSTANTS DEFINED IN XINPUT.H ========
   
    ; NOTE: These are based on my outdated copy of the DirectX SDK.
    ;       Newer versions of XInput may require additional constants.
   
    ; Device types available in XINPUT_CAPABILITIES
    XINPUT_DEVTYPE_GAMEPAD          := 0x01

    ; Device subtypes available in XINPUT_CAPABILITIES
    XINPUT_DEVSUBTYPE_GAMEPAD       := 0x01

    ; Flags for XINPUT_CAPABILITIES
    XINPUT_CAPS_VOICE_SUPPORTED     := 0x0004

    ; Constants for gamepad buttons
    XINPUT_GAMEPAD_DPAD_UP          := 0x0001
    XINPUT_GAMEPAD_DPAD_DOWN        := 0x0002
    XINPUT_GAMEPAD_DPAD_LEFT        := 0x0004
    XINPUT_GAMEPAD_DPAD_RIGHT       := 0x0008
    XINPUT_GAMEPAD_START            := 0x0010
    XINPUT_GAMEPAD_BACK             := 0x0020
    XINPUT_GAMEPAD_LEFT_THUMB       := 0x0040
    XINPUT_GAMEPAD_RIGHT_THUMB      := 0x0080
    XINPUT_GAMEPAD_LEFT_SHOULDER    := 0x0100
    XINPUT_GAMEPAD_RIGHT_SHOULDER   := 0x0200
    XINPUT_GAMEPAD_A                := 0x1000
    XINPUT_GAMEPAD_B                := 0x2000
    XINPUT_GAMEPAD_X                := 0x4000
    XINPUT_GAMEPAD_Y                := 0x8000

    ; Gamepad thresholds
    XINPUT_GAMEPAD_LEFT_THUMB_DEADZONE  := 7849
    XINPUT_GAMEPAD_RIGHT_THUMB_DEADZONE := 8689
    XINPUT_GAMEPAD_TRIGGER_THRESHOLD    := 30

    ; Flags to pass to XInputGetCapabilities
    XINPUT_FLAG_GAMEPAD             := 0x00000001
   
    ;=============== END CONSTANTS =================
   
    _XInput_hm := DllCall("LoadLibrary" ,"str",dll)
   
    if !_XInput_hm
    {
        MsgBox, Failed to initialize XInput: %dll%.dll not found.
        return
    }
   
    _XInput_GetState        := DllCall("GetProcAddress" ,"ptr",_XInput_hm ,"astr","XInputGetState")
    _XInput_SetState        := DllCall("GetProcAddress" ,"ptr",_XInput_hm ,"astr","XInputSetState")
    _XInput_GetCapabilities := DllCall("GetProcAddress" ,"ptr",_XInput_hm ,"astr","XInputGetCapabilities")
   
    if !(_XInput_GetState && _XInput_SetState && _XInput_GetCapabilities)
    {
        XInput_Term()
        MsgBox, Failed to initialize XInput: function not found.
        return
    }
}

XInput_GetState(UserIndex)
{
    global _XInput_GetState
   
    VarSetCapacity(xiState,16)

    if ErrorLevel := DllCall(_XInput_GetState ,"uint",UserIndex ,"uint",&xiState)
        return 0
   
    return {
    (Join,
        dwPacketNumber: NumGet(xiState,  0, "UInt")
        wButtons:       NumGet(xiState,  4, "UShort")
        bLeftTrigger:   NumGet(xiState,  6, "UChar")
        bRightTrigger:  NumGet(xiState,  7, "UChar")
        sThumbLX:       NumGet(xiState,  8, "Short")
        sThumbLY:       NumGet(xiState, 10, "Short")
        sThumbRX:       NumGet(xiState, 12, "Short")
        sThumbRY:       NumGet(xiState, 14, "Short")
    )}
}


XInput_SetState(UserIndex, LeftMotorSpeed, RightMotorSpeed)
{
    global _XInput_SetState
    return DllCall(_XInput_SetState ,"uint",UserIndex ,"uint*",LeftMotorSpeed|RightMotorSpeed<<16)
}


XInput_GetCapabilities(UserIndex, Flags)
{
    global _XInput_GetCapabilities
   
    VarSetCapacity(xiCaps,20)
   
    if ErrorLevel := DllCall(_XInput_GetCapabilities ,"uint",UserIndex ,"uint",Flags ,"ptr",&xiCaps)
        return 0
   
    return,
    (Join
        {
            Type:                   NumGet(xiCaps,  0, "UChar"),
            SubType:                NumGet(xiCaps,  1, "UChar"),
            Flags:                  NumGet(xiCaps,  2, "UShort"),
            Gamepad:
            {
                wButtons:           NumGet(xiCaps,  4, "UShort"),
                bLeftTrigger:       NumGet(xiCaps,  6, "UChar"),
                bRightTrigger:      NumGet(xiCaps,  7, "UChar"),
                sThumbLX:           NumGet(xiCaps,  8, "Short"),
                sThumbLY:           NumGet(xiCaps, 10, "Short"),
                sThumbRX:           NumGet(xiCaps, 12, "Short"),
                sThumbRY:           NumGet(xiCaps, 14, "Short")
            },
            Vibration:
            {
                wLeftMotorSpeed:    NumGet(xiCaps, 16, "UShort"),
                wRightMotorSpeed:   NumGet(xiCaps, 18, "UShort")
            }
        }
    )
}

XInput_Term() {
    global
    if _XInput_hm
        DllCall("FreeLibrary","uint",_XInput_hm), _XInput_hm :=_XInput_GetState :=_XInput_SetState :=_XInput_GetCapabilities :=0
}



Pages: [1] 2 3 ... 10