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 ThatOneSeong - Last post by ThatOneSeong

So, I'm having an issue where it doesn't seem to be working properly unless I open the GUI then select the port, unselect it, then reselect it. It pops up with an error about the data not being received in time but it will operate fine until I close the error box. I'm on the latest version. Any ideas?
You would be the first to run into such an issue without the app having crashed. Is it the latest versions of both halves? OS/version?
I believe so but I will double check to be sure. I did make an edit to my previous post about not having the trigger and pump wired through the pico board, so I think that may have something to do with it as well. I'll get those wired up tomorrow and report back. They are mapped to the right and left mouse button through a third party app.
I'm sorry, I don't think I understand--what exactly is the context that you're using this in? What gun is this being plugged into?

I'm a bit confused by it all. That said, I don't recall buttons not being hooked up to be the cause?

Sorry, I should have given much more context.

So I have the xbox 360 version of the top shot elite rifle which I am adding the IR camera via a pi pico2040 so I can use it for shooters in various emulators on my windows 10 PC. I'm currently using RE:Umbrella chronicles on the Dolphin emulator for all me testing. Since I can't use 2 seperate input devices as a single controller, I'm using a program that maps the xbox buttons to the keyboard and was using the IR as basically just the mouse pointer.

The only thing wired up to to the pico currently is the IR camera and none of the other buttons.

I believe this may be where the issue is as when I run the first time config on the GUI it is asking to use the trigger button to initiate it. So since the trigger isn't wired up through the pico and instead mapped to the mouse as an xbox button, I think it's causing the issue.
OOooooooooooh! I see!

That's quite the setup you got going on there! Huh.

Yeah, you kind of need a trigger to actually do much of anything, unfortunately! It is made to be used with all the controller's inputs hooked up to it, not in conjunction with another device. The issue here is that the app sends a docking request to the gun, and the gun sends its system information back to the app before syncing all the rest of its settings that gets reflected in the UI (it does this several times, in fact!). The problem here then is that when the device first boots without any saved preferences, it sends a message through the serial port that says "Preferences data is empty! Pull the trigger to start your first calibration!", which is a message intended for debugging but wasn't something I noticed to be a problem in production. It looks like something fucky wucky was going on that caused an issue.

You said that you got a "data wasn't received in time" error, but the exact wording of the error popup means a lot - since you said that everything beneath the error popup "was fine until I close the error box", then it happened after you could see a board picture, right?

If the worry is having to use only one type of input device, you could try and simply use it in Gamepad output mode - that way, all inputs (and the camera) goes through the gamepad output, rather than through the keyboard/mouse devices. That said, from what I've tried at least on Linux, Dolphin has a bit of trouble differentiating similarly-named analog axis (so Axis 0/1 for example are shared between the Mouse and Gamepad, for some bizarre reason). It might be an issue worth considering sending over to them, since I haven't had such issues with any other emulator/app like that.

Started by Bloodta - Last post by Bloodta

I just bought a Happ 3” trackball for exclusively playing Golden Tee. It’s P/N 56-0113-00K/(55-0302-00). Can it be upgraded to “work” well with golden tee?

Started by ThatOneSeong - Last post by Matuca1849

So, I'm having an issue where it doesn't seem to be working properly unless I open the GUI then select the port, unselect it, then reselect it. It pops up with an error about the data not being received in time but it will operate fine until I close the error box. I'm on the latest version. Any ideas?
You would be the first to run into such an issue without the app having crashed. Is it the latest versions of both halves? OS/version?
I believe so but I will double check to be sure. I did make an edit to my previous post about not having the trigger and pump wired through the pico board, so I think that may have something to do with it as well. I'll get those wired up tomorrow and report back. They are mapped to the right and left mouse button through a third party app.
I'm sorry, I don't think I understand--what exactly is the context that you're using this in? What gun is this being plugged into?

I'm a bit confused by it all. That said, I don't recall buttons not being hooked up to be the cause?

Sorry, I should have given much more context.

So I have the xbox 360 version of the top shot elite rifle which I am adding the IR camera via a pi pico2040 so I can use it for shooters in various emulators on my windows 10 PC. I'm currently using RE:Umbrella chronicles on the Dolphin emulator for all me testing. Since I can't use 2 seperate input devices as a single controller, I'm using a program that maps the xbox buttons to the keyboard and was using the IR as basically just the mouse pointer.

The only thing wired up to to the pico currently is the IR camera and none of the other buttons.

I believe this may be where the issue is as when I run the first time config on the GUI it is asking to use the trigger button to initiate it. So since the trigger isn't wired up through the pico and instead mapped to the mouse as an xbox button, I think it's causing the issue.

4   Main Forum / Re: just wonderingon Today at 09:16:37 pm

Started by daywane - Last post by pbj

Good 10 years younger than most of you if not more.  The only reason I like this old garbage is I used to get hauled to a beach bar in the 90s that randomly got stocked with early 80s arcade games.  Other option was play pool on beat up tables and get screamed at about “don’t scratch the felt” or put quarters in the jukebox and get screamed at about “if you play another ---fracking--- Pink Floyd song I’m going to kick your ass.”  Swell things to tell a 12 year old. Tempest it was.

On the other hand, they would let my grandfather bring in a traveler fifth of McCormick provided he bought a “bucket of ice.”  He’d kill it and my 5’ grandmother would sit on a phone book and drive us home.  The older I get the more I get it.  They had a police scanner behind the bar and occasionally things would be whisked away and we’d all be told to shut the ---fudgesicle--- up.  Every now and then someone would parade around a woman in the place that I now realize was a whore.

Enough time had passed that you didn’t immediately get out of the water and rub yourself with mineral oil to dissolve Mexican tar balls from their offshore leak in the 70s, but just barely enough time.  We all had that mineral oil ready just in case.

It was an oyster shell beach so you wore closed toed shoes into the water.  You’d make the mistake precisely once of going barefoot.

Coastal plains Texas are a weird place. 




Started by ThatOneSeong - Last post by ThatOneSeong

So, I'm having an issue where it doesn't seem to be working properly unless I open the GUI then select the port, unselect it, then reselect it. It pops up with an error about the data not being received in time but it will operate fine until I close the error box. I'm on the latest version. Any ideas?
You would be the first to run into such an issue without the app having crashed. Is it the latest versions of both halves? OS/version?
I believe so but I will double check to be sure. I did make an edit to my previous post about not having the trigger and pump wired through the pico board, so I think that may have something to do with it as well. I'll get those wired up tomorrow and report back. They are mapped to the right and left mouse button through a third party app.
I'm sorry, I don't think I understand--what exactly is the context that you're using this in? What gun is this being plugged into?

I'm a bit confused by it all. That said, I don't recall buttons not being hooked up to be the cause?

Started by ThatOneSeong - Last post by Matuca1849

So, I'm having an issue where it doesn't seem to be working properly unless I open the GUI then select the port, unselect it, then reselect it. It pops up with an error about the data not being received in time but it will operate fine until I close the error box. I'm on the latest version. Any ideas?
You would be the first to run into such an issue without the app having crashed. Is it the latest versions of both halves? OS/version?
I believe so but I will double check to be sure. I did make an edit to my previous post about not having the trigger and pump wired through the pico board, so I think that may have something to do with it as well. I'll get those wired up tomorrow and report back. They are mapped to the right and left mouse button through a third party app.

Started by ThatOneSeong - Last post by ThatOneSeong

So, I'm having an issue where it doesn't seem to be working properly unless I open the GUI then select the port, unselect it, then reselect it. It pops up with an error about the data not being received in time but it will operate fine until I close the error box. I'm on the latest version. Any ideas?
You would be the first to run into such an issue without the app having crashed. Is it the latest versions of both halves? OS/version?

Started by ThatOneSeong - Last post by Matuca1849

So, I'm having an issue where it doesn't seem to be working properly unless I open the GUI then select the port, unselect it, then reselect it. It pops up with an error about the data not being received in time but it will operate fine until I close the error box. I'm on the latest version. Any ideas?

Edit: I think it may be my own fault here. I currently have only the IR camera wired as I like having the full functionality of the other buttons on the controller and am using a program to map them to the keyboard. I will wire the pump and trigger and report back.

I am really enjoying this so far and do really appreciate all the work you've put into creating it!

Started by geecab - Last post by Yolo_Swaggins

Hi geecab i managed to combine your code with my code so that my mods only get applied if airborne is loaded up in mame but all the others will use your code. I'm wondering if i should maybe add street drivin' to it because it kinda had a similar issue but not as bad. I notice if i only shift the output left by 7 bits instead of 8 the steering in airborne becomes more like the original games and you can get away with using a port_minmax of 0x000, 0x7ff with a center point of 0x400 or 0x400, 0xbff with a center point of 0x800. It applied EMA smoothing to the wheel output so that it doesn't fluctuate too wildly when turning the wheel and seems to make the wheel stay in alignment when driving for long periods but crashing and holding the wheel left or right  or staying offroad until the timer runs out with the wheel held left or right will knock the centerpoint out of place even if you have the wheel only turned a little bit.

Code: [Select]
    // Merge in the wheel edge latch bit
    if (m_hdc68k_wheel_edge)
    {
        result ^= 0x4000;
        printf("hdc68k_port1_r: merge latch result=%04X m_hdc68k_last_wheel=%04X\n", result, m_hdc68k_last_wheel);
        m_hdc68k_wheel_edge = 0;
    }

    m_hdc68k_last_port1 = result;
    return result;
}
   

uint16_t harddriv_state::hda68k_port1_r()
{
    uint16_t result = m_a80000->read();

   if (m_hdc68k_wheel_edge)
    {
        result ^= 0x4000;
        printf("hda68k_port1_r: merge latch result=%04X m_hdc68k_last_wheel=%04X\n", result, m_hdc68k_last_wheel);
        m_hdc68k_wheel_edge = 0;
    }

    return result;
}


uint16_t harddriv_state::hdc68k_wheel_r()
{
    static float ema_wheel = 0.0f;  // Persistent storage of EMA across calls
    static const float alpha = 0.05f;  // Smoothing factor for EMA, adjustable
    static bool initialized = false;  // To check if ema_wheel is initialized

    uint16_t new_wheel = m_12badc[0].read_safe(0xffff);

    // Display the wheel position when left shift is pressed
    if (machine().input().code_pressed(KEYCODE_LSHIFT))
    {
        popmessage("wheel new=%04X", new_wheel);
    }

    // Determine if the current game is Hard Drivin's Airborne
    bool is_hdrivair = (machine().system().name == std::string("hdrivair"));

    // Edge detection logic with condition for Hard Drivin's Airborne
    if (is_hdrivair)
    {
        // Use a specific mask for Hard Drivin's Airborne
        if ((m_hdc68k_last_wheel & 0x0c00) != (new_wheel & 0x0c00))
        {
            m_hdc68k_wheel_edge = m_hdc68k_wheel_edge == 0 ? 1 : 0;
        }
    }
    else
    {
        // Use the default mask for other games
        if ((m_hdc68k_last_wheel & 0x0c00) != (new_wheel & 0x0c00))
        {
            m_hdc68k_wheel_edge = m_hdc68k_wheel_edge == 0 ? 1 : 0;
        }
    }

    if (is_hdrivair)
    {
        // EMA calculation only for Hard Drivin's Airborne
        if (!initialized)
        {
            ema_wheel = new_wheel;  // Initialize EMA with the first reading
            initialized = true;
        }
        else
        {
            ema_wheel = alpha * new_wheel + (1 - alpha) * ema_wheel;  // Update EMA
        }
    }
    else
    {
        // For other games, use the raw wheel data without EMA
        ema_wheel = new_wheel;
    }

    m_hdc68k_last_wheel = new_wheel;

    // Calculate the output based on whether Hard Drivin's Airborne is being played
    uint16_t ema_output;
    if (is_hdrivair)
    {
        // Shift left by 7 for hdrivair
        ema_output = static_cast<uint16_t>(ema_wheel) << 7;
    }
    else
    {
        // Shift left by 8 for other games
        ema_output = static_cast<uint16_t>(ema_wheel) << 8;
    }
    ema_output &= 0xFFF0;  // Mask to clear the last hexadecimal digit

    // Return the EMA-adjusted wheel value, with the last digit zeroed
    return ema_output;


   // return (static_cast<uint16_t>(ema_wheel) << 8) & 0xFF00; /* << 8) | 0xff; */
}

10   Project Announcements / Re: Verticade: bartop + vpinon Today at 06:38:42 pm

Started by basbase - Last post by Ond

Lots of interesting design and problem solving going on in this project! I like that you designed first in SketchUp. I'm not sure what VP software you are using but Visual Pinball allows for direct top down viewing if you configure that way. Direct top down viewing IMO loses something of the realism that some angle and perspective achieves though. Watching for your next updates!  :cheers:
Pages: [1] 2 3 ... 10