TeamOpenFIRE / OpenFIRE-Firmware

Reference firmware for the OpenFIRE project, built for the RP2040 microcontroller
GNU Lesser General Public License v2.1
52 stars 15 forks source link

[TESTING NEEDED] Official/automated MiSTer support #28

Open SeongGino opened 1 month ago

SeongGino commented 1 month ago

Hey all!

A new branch has been added with preliminary support for the MiSTer FPGA system.

For now, you'll have to refer to these firmware artifacts (click to download) for the firmware to support this, as well as a patched MiSTer executable with the needed bits to both recognize OpenFIRE lightguns as well as automatically send the right command so they will work properly.

An overview of how this works and setup steps:

Some notes about the current implementation:

As always, if you want to support further developments like this, remember to support the team! The support of individuals like you are how goals like this come to life.

Higgy69 commented 1 week ago

Hello. I have original MiSTer and QMTech MiSTer. I am using the QMTech as Lightgun test bed. I also use one of those Rii style mini keyboards, and it seemed with the OpenFIRE plugged in the keyboard would not work? I had to use hardwired USB keyboard. Removing OpenFIRE the Rii wireless keyboard started working again. Going back to my findings, OpenFIRE is detected, I can define keys and F11 calibration (once F12 was pressed first, I was expecting to be able just to press F11 in Core). But although Calibration seems to be ok, positioning does not work in Core. Button presses are ok.

I have a suggestion. Please remember you are the person with number 1 knowledge. Let us start off picking just one Core to test. I suggest NES and Duck Hunt because files are small. Then you can show exactly the commands/options you are selecting. I find there are lots of options, Mouse, joystick etc etc. Remember you know exactly what you are doing, we are following so might miss something. Narrowing down the options will help the focus on results. Many thanks. Update - Extra Info - Using RPi Pico in GCon2. Was an IR-Gun4All build that I've now used Custom Pins option in GUI to avoid resoldering. Tracking etc works in GUI. I did Calibrate in the GUI when installing the test Firmware, has this caused an issue? You don't say to do it in the instructions.

Arakon commented 1 week ago

I have successfully used the current firmware with the lastest specific OF-MiSTer build on a MiSTer Pi setup in Time Crisis and Point Blank. Duck Hunt on NES also worked.

Saturn does not work, but that's probably cause the core currently only supports "real" light guns via SNAC. I tried using Mouse mode, but that didn't work either.

@Higgy69 Make sure the calibration was actually saved (Profile page in GUI has values other than 0 set).

SeongGino commented 1 week ago

@Higgy69

Please remember you are the person with number 1 knowledge. Let us start off picking just one Core to test. I suggest NES and Duck Hunt because files are small. Then you can show exactly the commands/options you are selecting. I find there are lots of options, Mouse, joystick etc etc. Remember you know exactly what you are doing, we are following so might miss something. Narrowing down the options will help the focus on results.

I do not, in fact, "know exactly what I'm doing" because I know as much as any beginner level MiSTer user--but only testing one core at a time defeats the point of the testing, as this isn't "testing for MiSTer NES core" - this is for the entire MiSTer ecosystem. And because all cores do their own things and have their own idiosyncrasies, I can't peer into the future and predict how every gun system core setup will go (nor do I have the time to individually test every core that supports lightguns, being unpaid volunteer work and all).

All I can provide are the generic setup instructions, which are accurate. It should be assumed that you've calibrated against the display you're using the MiSTer on from the gun's side; reading the whole post would've indicated as such near the bottom.

Is it confusing at times? Yes, but that's on the MiSTer interface as it exists, not us. The instructions are entirely identical to the GUN4IR system - the patch just avoids the need to preset Gamepad mode, allowing MiSTer to signal it automatically, which is the way it should work. I'm not here to fix MiSTer's UX; just making sure OpenFIRE works on it as smoothly as it can. Any other concerns can be voiced directly on Main_MiSTer, because I am not in control of that. 'tis are the plights of unpaid volunteer work.

Still, at least the heuristic seems to still work fine on other MiSTer boards. Is there anyone using a Terasic board, though, just to be sure?

@Arakon Thank you for your test results, happy to hear it works on your setup as well.

Higgy69 commented 1 week ago

Hello,

Sorry dyslexia/neuro diversity makes things difficult for me sometimes. I know with IR-GUN4ALL I asked you questions which met with a similar response to this one. I would say the way our brains work, we are incompatible with each other 😄. Never mind I still want to help. I am sorry if what I wanted to say and what I wrote on my first comment were not the same thing. I usually print off instructions as I find paper easier to read, I did not have access to a printer so sorry if I missed something. I just wanted to help as there were no replies from 26th September.

What I meant about you knowing what you are doing, is like when you give someone directions to a location. You may miss out something because you are familiar with the location, but to the person following the instructions they have no knowledge so they can only go by the given instructions.

You must realise I am not having a go at you, OpenFIRE team or MiSTer. I just want to help but I might need specific questions answered. It's how my brain works, otherwise I get stuck, yes the answer might be in the text but sometimes I can't see it. Sorry.

Putting my autistic hat on, on the second bullet point regarding OpenFIRE firmware update, this should also say Calibrate and Save within OpenFIRE UI if I understand what @Arakon has told me. Again just making sure I have understood correctly. This should be on the screen the MiSTer will also be used on, but my monitor is 16:9 so Windows calibration is in that aspect, but again for example, the NES Core is 4:3. The second to last bullet point about Calibration on the MiSTer not being feasible so then use a PC gives me mental conflict.

My point being for NES is that once I get one Core working, I will then not be disheartened when I can't get anything to work and I give up. Which is what happened with IR-GUN4ALL. I've helped with loads of retro projects and get an enjoyment from helping the community move forward.

On the NES Core 'Periphery' has Zapper (Mouse)/Zapper (Joy1)/Zapper (Joy2) 'Zapper Trigger' has Mouse/Joystick 'Swap Joysticks ' has No/Yes

@Arakon would you please be as kind to say which settings you used. Then least I have the correct settings.

My original MiSTer has the Terrasic board so I can test that and hopefully be helpful ;)

Sorry for the long post and additional explanations. But I really want to help and I know from past experience my brain can be incompatible with how other brains work, so it's best to explain.

Thanks

Higgy69 commented 1 week ago

IMG_20241115_205450

My OpenFIRE GUI calibration

Arakon commented 1 week ago

There are 2 calibrations:

Your screenshot has invalid values for TLled and TRled, so your gun calibration never completed properly. To calibrate the gun:

Note that the mouse will only move properly on the screen defined as the main monitor in windows, so if your main monitor is not your gaming monitor, you will have to switch the setting in windows around for the calibration.

To know if calibration worked, if you have an RGB LED installed, the LED will be off when the emitters are seen and yellow(ish) when the gun is aiming off-screen with no emitters visible.

For comparison, this is a calibrated profile on a 16:9 PC monitor that I use for MiSTer: image

Higgy69 commented 1 week ago

@Arakon thank you for that information. I made sure calibrations were stored and a got NES - Duck Hunt working. Now I know I have a working system I will go through and test other Cores.

@SeongGino I can confirm that the Terrasic DE10 board works. 👍

Once gun has been calibrated again in the Core it's really good and accurate in the corners. Super job everyone.

I can go back and check everything on the QMTech board and look into that Rii wireless keyboard not working as it was ok on the Terrasic board.

Now it's working I will go back and see where I got to with converting a GCon 1 so I will be ready for 2 player /dual play.

Thanks

Higgy69 commented 1 week ago

Hi,

I found some time for testing. This is all on a Terrasic MiSTer. I will try on the QMTech later.

Genesis Core - 'A' is trigger when remapping. Works with 'Menacer' games (Lethal Enforcers). I can't get Justifier games to work - Terminator 2 for example.

Megadrive Core - does not seem to work.

SMS Core - Works, but I can't seem to find how to set the Trigger. For example on 'Operation Wolf' I can only activate the Grenades.

SNES Core - Works with 'Superscope' games. Can't get 'Justifier' games to work. There is a Crosshair that moves with the gun but the controls are linked to the GCon2's D-pad (as per 'Genesis Core' for the Justifier). Games that use Justifier - Operation Thunderbolt and Revolution X.

Thanks

Higgy69 commented 5 hours ago

PSX Core - working well. I played quite a few games. Some using GunCon and others using Justifier?