Frequently Asked Questions
Last updated
Last updated
In broad strokes:
Place your arcade BIOSes (awbios.zip
, naomi.zip
) into the provided data
folder.
Place your Dreamcast/Atomiswave/NAOMI ROMs into the provided ROMs
folder.
Map your controls. Make sure your input method of choice is set to Port A.
Once you have done this, you should be ready to host or join any games.
For the BIOSes, we use awbios.zip
and naomi.zip
validated against RetroArch's System.dat file. This should serve as a standard for all system BIOSes used. Dreamcast games use Flycast's built-in HLE BIOS by default.
As a general rule, players use the MAME 0.218 romset for NAOMI games, and the MAME 0.226 romset for Atomiswave games. For Dreamcast games, CHD files based on the Redump set are preferred. You may also look at the included flycast_roms.json
file to see a list of filenames and checksums corresponding with the current preferred ROMs as well.
For more information on specific games, try asking on the relevant Community Discord. They typically know what is best for competition play at any point in time.
For the BIOS, be sure to add awbios.zip
for Atomiswave games or naomi.zip
for NAOMI games into your data
directory in the folder you have Flycast installed. In your settings, the folder Flycast is installed in is your Home Directory.If you are running Fightcade, you can find the ROMs folder at Fightcade\emulator\flycast\ROMs
.
Non-Fightcade users can use the included ROMs
directory, or specify any other folder as a Content Directory in the settings.
When I try to load a game, I get an error that says "Cannot find <file name>". How do I solve this?
It looks like the ROM you have is incomplete, or you have the wrong file entirely. Make sure you have a ROM from the valid romsets listed above.
Can you point me to where I can find the proper ROMs?
No.
This means you are unable to connect to your opponent. The most common reason is your OS's firewall blocking you. In Windows, try having you and your opponent temporarily disable Windows Defender Firewall to see if the connection works. If it does, then you should add a rule allowing Fightcade\emulator\flycast\flycast.exe
permission to be allowed through the firewall.
If that doesn't work, check to see that your AntiVirus is not blocking it. If all else fails, try forwarding your ports according to the Fightcade FAQ:
It could be a firewall/anti-virus blocking Fightcade from playing online games, try making the folder an exception in those, if that doesn't work you can also try port forwarding the GGPO ports, there's guides on https://portforward.com/ if you need to try that. Fightcade uses TCP port 7000 and UDP ports 6000-6009.
Sometimes, people are unable to host, but can still connect as a guest. Try reversing who initiates the challenge to see if that works.
If you are playing a NAOMI or Atomiswave game, then you need to make sure you select Arcade Controls in the top right drop-down menu. Setting it to Dreamcast Controls will only work for Dreamcast games. You should also make sure your device is set to Port A so that Flycast Dojo can identify which player is the primary one.
To set custom controls on a per-game basis, just start the game in Flycast and open the Controller Mapping settings after it has loaded. After you set your controls, just hit the Make Game Config button to save your changes.
This error comes up when you have a different netplay savestate, ROM, or BIOS than your opponent. You should first make sure that you have the same game files. For savestates, this error can happen your first time playing a game if automatic savestate retrieval fails, or a community savestate has been updated.
To resolve this problem, open Flycast Dojo (Flycast/emulator/flycast/flycast.exe
for Fightcade users), right click on the game you would like to play and select Download Netplay Savestate. This will attempt to automatically download the state again.
Since the mismatch may occur on either end, it may be advisable for your opponent to do the same.
If this happens to fail, You can find your savestate of choice here and download the file matching your game to the data
folder (Flycast/emulator/flycast/data
for Fightcade users). Once a matching savestate is detected on both sides, you can start your match successfully.
To play with custom savestates, make sure the savestate you are sharing with your opponent is named the same as the ROM you would like to play, with the file extension of state.net
, and place it in the data
folder. This savestate will be automatically loaded on session start.
After your custom match, be sure that you either remove the savestate to use the game's default netplay savestate, or share the custom file with future opponents.
Games desynchronize when your memory and opponent's memory have mismatched, leading to two different game states. Common causes include not loading the same ROM or BIOS, having different savestates or dipswitches, or using different builds of Flycast Dojo.
First, make sure that you and your opponent are using the same version of the software. What version of Flycast Dojo you use determines the common arcade dipswitches/VMUs are, as well as individual software builds. Next, validate your ROM against your opponent's ROM.
If you are on Wi-Fi, the performance hit of it being half duplex has occasionally been known to cause desyncs between clients. It is recommended that you play on a wired network to ensure synchronization, and to generally not have a bad time.
In general, anything that can lead to a different memory state than your opponent would contribute to desyncs. For more information, check out E2xD's Desync Troubleshooting Guide. While Smash is a different scene, the causes for desyncs are much the same.
Here are a few steps to help troubleshoot and diagnose what's going on.
Delete the emu.cfg
file.
Sometimes, Fightcade upgrades or incompatible defaults in emu.cfg
may cause crashes. Just delete emu.cfg
from the same directory as flycast.exe
. A new one will be generated the next time Flycast is launched. For Fightcade users, this will be in the Fightcade\emulator\flycast
folder. Open Flycast after deleting the file and verify that the emulator works.
Re-assign or delete controller mappings.
Device-specific controls were fixed in a recent bug, but may be a culprit older mappings still exist. Be sure to set your controller mappings for both Dreamcast Controls and Arcade Controls. You may also want to try deleting the contents of the mappings/
directory and mapping your controls before launching a game.
(Online Games & Replays) Check Windows Firewall. If a session isn't established within Fightcade, the client will automatically close Flycast. The firewall may be the culprit in this instance. To diagnose this, you can either temporarily disable Windows Firewall and try to start a replay or connect with your opponent. If this works, add a rule in Windows Firewall allowing Flycast to use your network.
Send Breakpad dump.
Check your %USERPROFILE%\AppData\Local\Temp
directory for a file ending in .dmp
. If one exists at the time of the crash, send it over to us in the Flycast Discord so that we can determine the issue. If one isn't available, then it's likely that a crash technically didn't happen, but is still likely unintended behavior.
Report crash log.
If none of the steps above worked, you can record a log and send it over to a dev for investigation. This can be doen one of two ways.
In the Advanced settings, you can enable "Log to File" which will create a flycast.log
in the same place as flycast.exe
while you run the emulator. Replicate the crash, and the file will be recorded.
If that doesn't work, you can run DebugView, replicate the crash, and save the log from the program.
Send the log to me through the #flycast-emulator
channel on the Fightcade Discord or via a GitHub issue. Be sure to include Flycast Dojo version, your hardware specs and OS version.
If a Fightcade lobby is unavailable for the game you want to play, you can start a P2P session with a friend outside of Fightcade using Match Codes. This should work for all Dreamcast, NAOMI & Atomiswave games, so long as both of you have an identical BIOS & ROM from above and follow these steps:
Open Fightcade\emulator\flycast\flycast.exe
.
Open the Settings menu and make sure the Connection Method is set to Match Codes is checked.
Select HOST or JOIN in the drop-down menu on the left. Then click on the game you want to play.
If you are hosting, Copy the Match Code and send it to your opponent. If you are joining a game, Paste this code and press Start Session.
If Match Codes fail to bypass your firewall or you run into any issues, try connecting to your opponent manually by selecting Direct IP while forwarding ports or using a Virtual LAN like OpenVPN or Radmin VPN. After disabling, just follow steps 1-3 and enter the host's IP Address when prompted.
Does game X have a training mode?
If you're playing a NAOMI or Atomiswave game, it's likely not the case by default (Akatsuki Blitzkampf Ausf Achse appears to be the exception to this rule). If there is a Dreamcast port of the game though, your best bet is finding that version and running it for training.
Flycast Dojo itself has a universal training mode to help you lab in games that may or may not have one built-in, allowing you to switch players on the same controller with a single keystroke, record/play/loop inputs, load RetroArch cheat files and savestates at will. You can access this through the Menu button (TAB by default) or through keyboard/controller mappings. For details on how to use this, check out the Training Mode section of the documentation.
Flycast Dojo's internal universal training mode features, being applicable to all games, requires you to load the relevant cheat files or savestate for your game to get it to the state you want. If applicable, using it in tandem with a game's existing training mode would give you the largest set of features.
If you are using the bundled version of Flycast Dojo (0.5.8), there is a default option called "Fixed Frequency CPU Optimizations" that has been responsible for inconsistent frame timing. This can be disabled either by using the Fightcade+ Installer, or by manually disabling the option in the Video settings. The following video will show you the steps.
If you are still experiencing input drops, the key thing is to make sure that your frame rate is consistent during gameplay, since inputs are polled once per frame. Try changing your Graphics API to see if your performance improves overall.
Lastly, you can use an external frame limiter like RTSS. To do this, you should disable Fixed Frequency first so that there is no conflict (Settings -> Video -> Display -> Fixed Frequency -> Disabled). From there, be sure to set the Framerate limit to 59.94 to match NTSC displays.