Dreamcast:Flycast Emulator: Difference between revisions

From ConsoleMods Wiki
Jump to navigation Jump to search
(Heavy WIP)
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Setting Up Flycast ==
Flycast is an emulator for PC and Android capable of emulating Dreamcast games. This page will walk you through setting up the emulator.


To start, we will need a copy of Flycast.
== Flycast Online Warnings ==


You can download a nightly build of Flycast [https://flyinghead.github.io/flycast-builds/ here].
Flycast Online Warnings:
* Do not use save states while in online play! It can break things.
* Do not use "Fast Forward" functions while online! It can break things.
* Do not pause/bring up the quick menu while in online play! It can break things.


The links at the top of the page are the latest builds. Grab the Windows x64 download.
With Flycast for Android configured, you should now be able to launch into the game!


[[File:15.png]]
== Setting Up Flycast (PC) ==


Extract the .zip file to the folder of your choosing. I would keep your directory simple, like c:\flycast, but so long as you know the directory anywhere will work. The zip should contain one .exe file that is the Flycast emulator program. I will use "c:\flycast" as the working folder in the following examples for simplicity's sake.
# Download a nightly build of Flycast [https://flyinghead.github.io/flycast-builds/ here]. The links at the top of the page are the latest builds. Grab the Windows x64 download. <br> [[File:15.png]]
 
# Extract the .zip file to the folder of your choosing. Preferably, use a simple directory name such as `C:\flycast` (which will be the example directory in this guide). The zip should contain one .exe file that is the Flycast emulator program.
Before we can launch the emulator, we need to aquire a Dreamcast BIOS file.
# Acquire a Dreamcast BIOS file and ensure it is named `dc_boot.bin` and place it in `C:\flycast`. A download for one can not be linked here, as it is copyrighted content, but you can dump your own from
 
Specifically, we need '''''dc_boot.bin'''''.
 
We cannot link directly to a Dreamcast BIOS file, but a quick google search for "Dreamcast Bios" should turn up something you can use.
 
When you have sourced a copy of "dc_boot.bin", place the file in your C:\flycast folder.
 
We will also need an '''"Ives' Pack"''' .CDI image for our Flycast online setup.
 
Refer to the above [[Dreamcast:Phantasy_Star_Online_Connection_Guide#Connecting_To_Sylverant|Connecting To Sylverant]] section of this guide for information on the "Ives' Packs".
 
When done, your c:\flycast folder should look something like this:
 
[[File:17.png]]
 
Before we first boot the emulator, we need to decide how we want to configure our controls.


=== Flycast Controller Configuration ===
=== Flycast Controller Configuration ===
To get the most out of PSOV2 with Flycast, I strongly recommend a controller. Not only will this make playing PSO more enjoyable, but it will free up our PC's keyboard for in-game chat and navigating menus.
Flycast works with any controller Windows can connect to, and my tests have had "zero-configuration required" success with PlayStation 4 controllers over the USB, as well as Xbox One controller synced over Bluetooth.
If you do not already have a gamepad to use, I recommend picking up the '''8BitDo SN30 Pro USB''' as it is cheap, well-made and doesn't require special configuration on your PC. It will connect as an "Xbox 360 Controller" in Windows and is compatible with basically everything.
[[File:18.png]]
You can pick one up on Amazon [https://www.amazon.com/8Bitdo-Sn30-Pro-USB-Gamepad-Gray/dp/B08Y9RC49N here].
This guide will assume you have a controller for your PC set up, so we can cover how to configure the game pad / keyboard combo that will work the best with PSO.
With our controller of choice plugged in, launch the Flycast .exe from inside our c:/flycast directory.
[[File:19.png]]
By default, Flycast will launch in a window. Use your mouse to click on the "Settings" option in the top-right of the window. Select the "Controls" tab. We want to change the following settings:
In the Settings / Controls tab:
Dreamcast Devices:
Device A - "Sega Controller" - "Sega VMU" - "Sega VMU"
Device B - "Keyboard"
Physical Devices:
SDL-Keyboard: Port = "None"
SDL-Xbox 360 Controller: Port = "A"


[[File:20.png]]
Before we first boot the emulator, we need to decide how we want to configure our controls.  


In the above image I have highlighted the key settings.
Flycast works with any controller Windows can connect to, and most controllers (such as a PlayStation 4 controller or Xbox One controller) do not require any specific configuration. This guide will assume you are using a controller with your PC and walk you through how to configure the game pad / keyboard combo that will work the best.  


In a nutshell, we are telling Flycast to not use the default keyboard control assignments, and that we want our keyboard inputs to simulate a keyboard plugged into Port B, the same as you would with a real Dreamcast. This allows us all the features PSO offered players with keyboards on the Dreamcast, such as keyboard in-game chat and navigating the menus with keyboard commands.
# With your controller of choice plugged in, launch the Flycast .exe from inside the `C:/flycast` directory. By default, Flycast will launch in a window as shown below. <br> [[File:19.png]]
# Use your mouse to click on the "Settings" option in the top-right of the window. Select the "Controls" tab and match the following settings (important settings highlighted yellow). Your controller may show up as something other than Xbox 360 Controller. <br> [[File:20.png]]
#* Essentially, you are setting Flycast to not use the default keyboard control assignments and forcing keyboard inputs to simulate a keyboard plugged into Port B, the same as you would with a real Dreamcast. This is particularly handy for Phantasy Star Online to access all the features available on the Dreamcast, such as keyboard in-game chat and navigating the menus with keyboard commands.


As an aside, some of the more esoteric commands you can enter in PSO with the keyboard are detailed [https://www.ign.com/articles/2002/12/05/phantasy-star-online-keyboardlobby-animation-faq-379417 here].
As an aside, some of the more esoteric commands you can enter in PSO with the keyboard are detailed [https://www.ign.com/articles/2002/12/05/phantasy-star-online-keyboardlobby-animation-faq-379417 here].


=== Remapping The Menu Button ===
=== Remapping The Menu Button ===
By default, Flycast's controller button mappings should be ideal for most games, in my case with the '''8BitDo SN30 Pro USB''' gamepad no further configuration was required for gameplay. However, we have one change that I recommend for PSO online play specifically.
By default, Flycast's controller button mappings should be ideal for most games. However, you may want to prevent accidental access to the Quick Menu as '''''pausing or using save states makes the game client out of sync with the server, and can crash the game or possibly corrupt your character data'''''. You can accomplish this by navigating to the Settings/Controls window and clicking the "Map" button to the right of the SDL Controller (whatever your gamepad is labeled).
 
In Flycast, there is a quick menu that can be launched that pauses the game grants access access to disc swapping, save states, and the option menu.
 
This would normally be a handy feature, but while we are in online play, it is a bad idea to pause or use save states.
 
'''''Pausing or using save states makes the game client out of sync with the server, and can crash the game or possibly corrupt your character data.'''''
 
I would suggest that you rebind your controller mapping to disable accidental access to the Quick Menu.
 
We can accomplish this by navigating to the Settings/Controls window and clicking the "Map" button to the right of our SDL Controller (whatever your gamepad is labeled).
 
[[File:22.png]]


Scroll down a bit and find where the "Menu" button is located. By default, it is going to be mapped to your "Select" button on 8BitDo or PlayStation controllers, or "Map" button on Xbox controllers.
: [[File:22.png]]


As far as I can tell, there is no way to delete a controller input binding in Flycast, buy we can simply move the button bind to something that won't break our online game, such as "Left Trigger".
Scroll down a bit and find where the "Menu" button is located. By default, it is going to be mapped to your "Select" button on most controllers. It is not possible to delete a controller input mapping, so you will need to move the button bind to an uncommon button, such as "Left Trigger".


Press "Map" next to "Left Trigger", and press the "Select" button on your gamepad before the countdown runs out.
Press "Map" next to "Left Trigger", and press the "Select" button on your gamepad before the countdown runs out.


[[File:23.png]]
: [[File:23.png]]


In the above example, you can see our controller mapping (6) has moved from the "Menu" to "Left Trigger" assignment. This will prevent us from accidentally pausing the game if we press the select button, and also prevents the quick menu from accessing the save state functions of Flycast. We can simply reverse this change for offline play or for playing other games on Flycast.
In the above example, you can see the controller mapping (6) has moved from the "Menu" to "Left Trigger" assignment. This will prevent accidentally pausing the game if you press the select button, and also prevents the quick menu from accessing the save state functions of Flycast. You can simply reverse this change for offline play or for playing other games on Flycast.


=== Controller Drift in Flycast ===
=== Controller Drift in Flycast ===
While it is not currently available in the menu, Flycast has a dead zone feature that can be used to combat controller drift if you are experiencing issues with characters "moving on their own".
While it is not currently available in the menu, Flycast has a dead zone feature that can be used to combat controller drift if you are experiencing issues with characters "moving on their own".


ONLY after you have made an [[Dreamcast:Phantasy_Star_Online_Connection_Guide#Flycast_Controller_Configuration|alteration to the controller configuration]], Flycast will create a remap file and folder in its main directory, for example "c:/flycast/Mappings/SDL_Xbox 360 Controller.txt".
ONLY after you have made an alteration to the controller configuration, Flycast will create a remap file and folder in its main directory, for example `C:/flycast/Mappings/SDL_Xbox 360 Controller.txt`.


From here, you can add a line to the config to change the default dead zone to whatever you prefer, in the following example we are increasing the defualt 10% deadzone to 15%:
From here, you can add a line to the config to change the default dead zone to whatever you prefer, in the following example we are increasing the default 10% deadzone to 15%:


  [emulator]
  [emulator]
Line 104: Line 54:


=== Additional Flycast Configuration and Optional Settings ===
=== Additional Flycast Configuration and Optional Settings ===
Going back into the options menu, we have a few more more settings to configure.
Going back into the options menu, there is a few more more settings to configure.


We want to change the language settings to English.
We want to change the language settings to English.
  In the Settings / General Tab:
  In the Settings / General Tab:
  Language = English
  Language = English


Most Dreamcast games (including PSO) support a higher resolution VGA mode. We can set that now.
Most Dreamcast games support a higher resolution VGA mode.
 
  In the Settings / General Tab:
  In the Settings / General Tab:
  Cable = VGA
  Cable = VGA


Widescreen [optional]:
Widescreen [optional]:
Widescreen mode will fill the entire 16:9 display when in full-screen mode. This is a emulator trick as the original game was presented in a 4:3 aspect ratio. While there might be a couple graphical pop-ins and inconsistencies, (especially when not in full screen mode), I find PSOV2 to be very attractive and playable with widescreen mode enabled. To enable:
Widescreen mode will fill the entire 16:9 display when in full-screen mode. This is a emulator trick as the original game was presented in a 4:3 aspect ratio. While there might be a couple graphical pop-ins and inconsistencies (especially when not in full screen mode), it's worth trying out. To enable:


  In the Settings / Video Tab:
  In the Settings / Video Tab:
Line 123: Line 71:


Upscaled Graphics [optional]:
Upscaled Graphics [optional]:
If you have a modestly capable graphics card and PC, you can also change the Scaling (SSAA) from the default 1.0 to something higher. I recommend starting at 2.0 and seeing if the game still plays smoothly. To do so, set:
If you have a modestly capable graphics card and PC, you can also change the Scaling (SSAA) from the default 1.0 to something higher. It's recommended to start at 2.0 and seeing if the game still plays smoothly. To do so, set:


  In the Settings / Video Tab:
  In the Settings / Video Tab:
  Scaling (SSAA) = 2.0
  Scaling (SSAA) = 2.0


====Broadband (BBA) Mode [optional]====
====Broadband (BBA) Mode (optional)====
All Dreamcast shipped with a 56k modem that every online game supported. However, a handful of games supported the Broadband Adapter (BBA) accessory. The BBA replaced the 56k modem and used Ethernet networking to deliver much higher internet speeds. Phantasy Star Online V2 through Flycast supports the BBA, so we can expect a bit better online performance by enabling it. To enable BBA Mode:
All Dreamcast shipped with a 56k modem that every online game supported. However, a handful of games supported the Broadband Adapter (BBA) accessory. The BBA replaced the 56k modem and used Ethernet networking to deliver much higher internet speeds. To enable BBA Mode:


  In the Settings - Advanced - Networking Tab:
  In the Settings - Advanced - Networking Tab:
  Check the "Broadband Adapter Emulation" Box.
  Check the "Broadband Adapter Emulation" Box.


Using the broadband adapter will require an additional configuration step. The '''Ives's Pack''' has a BBA configuration screen from the Phantasy Star Online V2 main menu, accessible by selecting "WEBSITE".
[[File:24.png]]
From here, we can ignore the actual configuration. We just need something saved to the emulated Dreamcast's flash memory for PSO and Flycast to connect. Select "Save To Flash".
[[File:25.png]]
When Prompted "Are you sure you want to save all settings to flash?", Select "Yes".
Now, we can select "Exit" and proceed as normal in the main game.


=== Final Notes About Flycast (PC) ===
=== Final Notes About Flycast (PC) ===
Line 151: Line 88:
'''Closing The Game:''' When in windowed mode, it is simple to close the Flycast with the X in the top-right corner. As mentioned above, you can toggle to windowed mode with Alt-Enter.  
'''Closing The Game:''' When in windowed mode, it is simple to close the Flycast with the X in the top-right corner. As mentioned above, you can toggle to windowed mode with Alt-Enter.  


== Flycast for Android and PSO ==
== Setting Up Flycast (Android) ==
Flycast also has a fully functional Android version as well that we can use to play PSOV2 Online.
Flycast also has a fully functional Android version. To set this up, you will need to install the Flycast emulator apk and a file management app (in this example, ZArchiver is used). You will also need to source the Dreamcast BIOS file '''''"dc_boot.bin"''''' (which you can dump from a Dreamcast).
 
To set this up, we will need to install and use three programs on our Android device: The Flycast emulator apk, a file management app (in this example I am using ZArchiver), and a way to download the [[Dreamcast:Phantasy_Star_Online_Connection_Guide#Connecting_To_Sylverant|Ives' Pack .CDI]] using a Torrent downloader app (in this example I am using Flud).
 
We will also need to source the Dreamcast BIOS file '''''"dc_boot.bin"''''', and do some basic configuration on Flycast similar to what was required in the [[Dreamcast:Phantasy_Star_Online_Connection_Guide#Setting_Up_Flycast|Windows version]].


=== Downloading Flycast for Android ===
=== Downloading Flycast for Android ===
First, we need to grab a nightly build of Flycast from the Flycast Github page. Navigate your Android device to [https://flyinghead.github.io/flycast-builds/ here]. In this example I am using Chrome as my web browser.
On your Android device, navigate to [https://flyinghead.github.io/flycast-builds/ the Flycast GitHub page] and download the latest nightly build.
 
: [[File:Flycast1.png]]  
[[File:Flycast1.png]]
 
Look for the latest build of the Android release. Long-press the Android release download link.
 
[[File:Flycast2.png]]
 
Once the long-press menu pops up, we need to select "Download link".
 
[[File:Flycast3.png]]
 
Because the nightly builds of Flycast aren't coming from a "trusted" source (such as the app store), your android device is trying to protect you from running malicious software. However, we trust Flycast and want to run it. Choose "Keep" to continue.
 
[[File:Flycast4.png]]
 
Once again your device is warning you. We can choose "OK" to keep Flycast.
 
[[File:Flycast5.png]]
 
Once downloaded, you should see this prompt at the bottom of your device. Press the "Open" link to launch the Flycast APK.
 
[[File:Flycast6.png]]
 
Once the Flycast APK launches, it will prompt you to install the software on your device. Choose "Install" to continue.
 
[[File:Flycast7.png]]


We don't want to open the program just yet, click "Done" to continue.
<br> Look for the latest build of the Android release. Long-press the Android release download link.
: [[File:Flycast2.png]]


[[File:Flycast8.png]]
<br> Once the long-press menu pops up, we need to select "Download link".
: [[File:Flycast3.png]]


If Flycast was installed correctly, we should have a new shortcut on our device's home screen. Before we run Flycast and PSOV2, we need to complete a few more steps.
<br> Because the nightly builds of Flycast aren't coming from a "trusted" source (such as the app store), your android device will try to protect you from running malicious software. However, we trust Flycast and want to run it. Choose "Keep" to continue.
: [[File:Flycast4.png]]


=== Downloading Flud and ZArchiver (Android) ===
<br> Once again your device is warning you. We can choose "OK" to keep Flycast.
We will need a Torrent application to source our Ives' Pack .CDI's. For this I recommend '''Flud'''. To download Flud, open your Android App store and search for "Flud".
: [[File:Flycast5.png]]


[[File:Flud1.png]]
<br> Once downloaded, you should see this prompt at the bottom of your device. Press the "Open" link to launch the Flycast APK.
: [[File:Flycast6.png]]


Don't worry about opening it for now, we will come back in a later step.
<br> Once the Flycast APK launches, it will prompt you to install the software on your device. Choose "Install" to continue.
: [[File:Flycast7.png]]


We also need to grab ZArchiver from the play store. Type "ZArchiver" into the Play Store search bar and download the app.
<br> Don't open the program just yet, click "Done" to continue.
: [[File:Flycast8.png]]


[[File:Zarch1.png]]
If Flycast was installed correctly, we should have a new shortcut on our device's home screen.
 
As with the previous apps, don't worry about launching for now.
 
=== Downloading Ives' Pack PSOV2 Torrent (Android) ===
We now need to locate a download for the "Ive's Pack" .CDI file of PSOV2, usually found in a .Torrent file online.
 
I cannot provide a direct link to the .Torrent file, but searching for '''"Ives Pack Torrent"''' on Google will get you what you need. The file we are specifically looking for is "PSO_DC_Ives_Pack_v2.torrent". Read more about the Ives' Pack [[Dreamcast:Phantasy_Star_Online_Connection_Guide#Connecting_To_Sylverant|here]] and [[Dreamcast:Phantasy_Star_Online_Connection_Guide#Ives.27_Pack_Version_Differences|here]].
 
Once you have found a download link from your Android web browser, download it and open it.
 
[[File:Torrentdownload1.png]]
 
Because you have downloaded '''Flud''' already, when you open a .torrent file, it should automatically try to add the .torrent into the Flud - Torrent Downloader app. This will cause Flud to launch for the first time, and we need to take a second to set it up.
 
[[File:Flud2.png]]
 
Press the "GIVE PERMISSION" button on Flud to continue.
 
[[File:Flud3.png]]
 
Your Android device will prompt you to grant permission to Flud. Choose "ALLOW" to continue.
 
[[File:Flud4.png]]
 
The next screen is Flud is trying to prevent you from racking up a huge bill if you are on a metered phone plan. Depending on your circumstances and preferences, you might want to leave this box checked or uncheck it before selecting OK.
 
[[File:Flud5.png]]
 
Now that Flud has launched and has the appropriate permissions, we need to click the pink circle in the bottom-right of the screen to add our "PSO_DC_Ives_Pack_v2.torrent" file.
 
[[File:Flud6.png]]
 
Navigate to your device's downloads folder (my phone's default download directory is "Download") and select the "PSO_DC_Ives_Pack_v2.torrent" file.
 
[[File:Flud7.png]]
 
Flud will now prompt you to add the file to your downloaded .Torrents. Make a note of the storage path ("/storage/emulated/0/Download/" in my example) and press the plus in the top-right of the screen to begin downloading the "Ives' Pack" torrent.
 
[[File:Flud8.png]]
 
Your download will now begin. Depending on your internet speed and how many people are seeding the files, this may take a while on your system (if you are confused about .torrents, read more about the BitTorrent infrastructure [https://en.wikipedia.org/wiki/BitTorrent here]). You can leave the app open in the background while we continue to the next step.


=== Downloading "dc_boot.bin" (Android) ===
=== Downloading "dc_boot.bin" (Android) ===
While you are waiting on the Ives' Pack torrent to download, we can locate the '''''"dc_boot.bin"''''' Dreamcast BIOS File required for Flycast to operate. While we cannot provide direct links to this file, I can safely predict that Googling "dc_boot.bin" or "Dreamcast Bios" should give you results you can use.
You will need to source a Dreamcast BIOS file named as '''''"dc_boot.bin"'''''. While we cannot provide direct links to this file, you can dump your own dc_boot.bin from a Dreamcast.
 
Most likely, the BIOS you find will be in a .zip. My version in this example was "Dreamcast BIOS for Reicast (Android).zip" Do not open this now, as we will use ZArchiver to extract and move the BIOS file to the correct location.
 
[[File:Bios1.png]]


=== Flycast File Management with ZArchiver (Android) ===
=== Flycast File Management with ZArchiver (Android) ===
Once you have your Ives Pack Torrent and Dreamcast BIOS downloaded, we need to launch '''ZArchiver'''. We previously installed the program but did not launch it.
At this point, you will need to use a file manager to move files around on your device. In this example, '''ZArchiver''' will be used.  
 
[[File:Zarch2.png]]
 
When Zarchiver first launches, it will prompt you for permissions to access your files and folders. Tap "ALLOW" to continue.


[[File:Zarch3.png]]
When Zarchiver first launches, it will prompt you for permissions to access your files and folders. Tap "ALLOW" to continue and press "OK" to dismiss the popup tips.


ZArchiver pops up a window explaining how to make selections by tapping the folder icon, and how to open a wider selection menu by long-pressing a file name. ZArchiver also is informing you that you must not have any folders or files selected to change folders. We'll be using that information shortly! Press "OK" to bypass the popup.
: [[File:Zarch2.png]]


[[File:Zarch4.png]]
You will need to create a folder for our BIOS and Flycast Config Files. For this example, a folder named "Flycast" is created in the `/storage/emulated/` directory by pressing the large green plus icon followed by the folder icon on top.


To set up Flycast Android for PSOV2, we need to create a folder for our BIOS, Flycast Config Files, and Ives' Pack .CDI to live in. For this example, let's create a folder in your "/storage/emulated/" directory called "Flycast". We should be in "/storage/emulated/" by default, so tap on the green plus arrow at the bottom-right of the screen.
: [[File:Zarch6.png]]


[[File:Zarch5.png]]
Navigate to the "Download" folder (if that's where your Dreamcast BIOS is located) and move them to the "Flycast" folder you created. If it is a zip file, open the zip file and extract it to the download folder.  


The green plus arrow will open a vertical selection menu. To create a new folder, we need to tap the folder icon at the top of the list.
: [[File:Zarch8.png]]


[[File:Zarch6.png]]
: [[File:Zarch9.png]]


We now need to navigate to the "Download" folder so we can extract our Dreamcast BIOS and Ives' Pack .CDI files and relocate them to our "Flycast" folder. To begin, tap the "Download" folder.
Long press `dc_boot.bin` and select Copy.


[[File:Zarch7.png]]
: [[File:Zarch11.png]]


Inside, we need to locate our Dreamcast Bios zip file. The one sourced from the internet was labeled "Dreamcast BIOS for Reicast (Android).zip". Find that file inside the "Download" folder and tap it.
Navigate back to the "Flycast" folder that you created earlier and tap the clipboard icon in the top-right of the screen to paste `dc_boot.bin`.


[[File:Zarch8.png]]
=== Configuring Flycast (Android) ===


When you tap the .zip file, it will open a menu at the bottom of your device's screen. Select "Extract to ./<Archive name>/" to extract the contents of the zip into a new folder that shares the name of the .ZIP File.
Navigate back to your Android device's home screen and launch Flycast.


[[File:Zarch9.png]]
: [[File:Flycast10.png]]


Navigate to your recently created "Dreamcast BIOS for Reicast (Android)" folder. Inside the "data" folder should be the file "dc_boot.bin".
When Flycast launches, it needs you to set the working directory for the app. This is the location it will place any configuration data, as well as where it will look for any BIOS files. From within Flycast, navigate to the "flycast" folder you created and select "Select Current Directory".


[[File:Zarch10.png]]
If you set up your "Flycast" folder correctly, and correctly pointed the app to the folder, Flycast will detect and list your Dreamcast BIOS as shown below.


Long-press "dc_boot.bin" to bring up the selection window. We need to copy the file to move into our "Flycast" directory, so select "Copy" from the selection choices.
: [[File:Flycast11.png]]


[[File:Zarch11.png]]
Before we launch the game, we need to take a moment to configure some items in the "Settings" window. Tap "Settings" in the top-right corner of the screen and make the following changes.


Now, navigate back to the "Flycast" folder we created earlier.
Language settings:
 
[[File:Zarch12.png]]
 
With our "dc_boot.bin" file copied, we can press the clipboard icon in the top-right of the screen to paste our copied file.
 
[[File:Zarch13.png]]
 
We should now see the "dc_boot.bin" file in our "/flycast" directory.
 
We now need to navigate once again to our "Download" folder. Inside should be our "PSO_DC_IVES_PACK_V2" folder. This is the folder that Flud created to store our downloaded Ives' Pack .CDI versions of PSOV2. Once you locate this, you will see three separate .7z files.
 
[[File:Zarch14.png]]
 
We now need to decide which version(s) of the Ives' Pack PSOV2 we want to play. For more information, read about the version differences [[Dreamcast:Phantasy_Star_Online_Connection_Guide#Ives.27_Pack_Version_Differences|here]]. For this example, I am going to use "IVES_PSOV2_US_R2_EP.7z".
 
As we did with the BIOS Zip file, we need to extract "IVES_PSOV2_US_R2_EP.7z" into a folder. Tap "IVES_PSOV2_US_R2_EP.7z" and select "Extract to ./<Archive name>/". This will create a folder named after the archive containing the extracted file we need. The extracting might take a moment depending on your device. Once extracted, tap the "IVES_PSOV2_US_R2_EP" folder to open.
 
[[File:Zarch15.png]]
 
Similarly to what we did with the BIOS file, long-press the "IVES_PSOV2_US_R2_EP.cdi" file and select copy. Navigate back to our "Flycast" folder, and press the clipboard icon in the top-right of the screen to paste the file into the "Flycast" folder. When done, the folder should look like this:
 
[[File:Zarch16.png]]
 
'''We now have the two required files on our device for Flycast to run PSOV2!''' We now need to run Flycast for Android and configure our settings.
 
== Configuring Flycast (Android) ==
[[File:Flycast9.png]]
 
We can now head back to our Android device's home page and launch Flycast for the first time. Find and tap the "Flycast" icon.
 
[[File:Flycast10.png]]
 
When Flycast launches, it needs you to set the working directory for the app. This is the location it will place any configuration data, as well as where it will look for any [[Dreamcast:Phantasy_Star_Online_Connection_Guide#Downloading_.22dc_boot.bin.22_.28Android.29|BIOS files]] we have added. From within Flycast, navigate to the "flycast" folder we have [[Dreamcast:Phantasy_Star_Online_Connection_Guide#Flycast_File_Management_with_ZArchiver_.28Android.29|previously created]], from and select "Select Current Directory".
 
[[File:Flycast11.png]]
 
If you set up your "Flycast" folder correctly, and correctly pointed the app to the folder, Flycast will detect and list your Dreamcast BIOS, as well as the "IVES_PSOV2_US_R2_EP.cdi" game file. Before we launch the game, we need to take a moment to configure some items in the "Settings" window. Tap "Settings" in the top-right corner of the screen to continue.
 
Here are the settings we want to change:
 
We want to change the language settings to English.


  In the Settings / General Tab:
  In the Settings / General Tab:
  Language = English
  Language = English


Most Dreamcast games (including PSO) support a higher resolution VGA mode. We can set that now.
Most Dreamcast games support a higher resolution VGA mode.


  In the Settings / General Tab:
  In the Settings / General Tab:
Line 345: Line 169:


Widescreen [optional]:
Widescreen [optional]:
Widescreen mode will fill the entire 16:9 display when in full-screen mode. This is a emulator trick as the original game was presented in a 4:3 aspect ratio. While there might be a couple graphical pop-ins and inconsistencies, PSOV2 is works well and is fully playable with widescreen mode enabled. To enable:
Widescreen mode will fill the entire 16:9 display when in full-screen mode. This is a emulator trick as the original game was presented in a 4:3 aspect ratio. While there might be a couple graphical pop-ins and inconsistencies (especially when not in full screen mode), it's worth trying out. To enable:


  In the Settings / Video Tab:
  In the Settings / Video Tab:
Line 351: Line 175:


Upscaled Graphics [optional]:
Upscaled Graphics [optional]:
If your device can handle a little bit extra GPU load, you can increase the Scaling (SSAA) from the default 1.0 to something higher. I recommend starting at 2.0 and seeing if the game still plays smoothly. You can always decrease this number later if it causes too much slowdown. To enable higher resolution graphics, set:
If you have a modestly capable graphics card and PC, you can also change the Scaling (SSAA) from the default 1.0 to something higher. It's recommended to start at 2.0 and seeing if the game still plays smoothly. To do so, set:


  In the Settings / Video Tab:
  In the Settings / Video Tab:
Line 357: Line 181:


Broadband (BBA) Mode [optional]:
Broadband (BBA) Mode [optional]:
All Dreamcast shipped with a 56k modem that every online game supported. However, a handful of games supported the Broadband Adapter (BBA) accessory. The BBA replaced the 56k modem and used Ethernet networking to deliver much higher internet speeds. Phantasy Star Online V2 through Flycast supports the BBA, so we can expect a bit better online performance by enabling it. To enable BBA Mode:
All Dreamcast shipped with a 56k modem that every online game supported. However, a handful of games supported the Broadband Adapter (BBA) accessory. The BBA replaced the 56k modem and used Ethernet networking to deliver much higher internet speeds. To enable BBA Mode:


  In the Settings - Advanced - Networking Tab:
  In the Settings - Advanced - Networking Tab:
  Check the "Broadband Adapter Emulation" Box.
  Check the "Broadband Adapter Emulation" Box.
Note that enabling BBA mode requires additional configuration inside PSOV2. For more information about this, please reference the section in the Flycast PC guide concerning the BBA mode [[Dreamcast:Phantasy_Star_Online_Connection_Guide#Broadband_.28BBA.29_Mode_.5Boptional.5D|here]].


When you are finished changing settings, press "Done" at the top left of the screen.
When you are finished changing settings, press "Done" at the top left of the screen.
Line 367: Line 190:
=== Flycast Controls (Android)===
=== Flycast Controls (Android)===
====Touch Controls====
====Touch Controls====
[[File:Flycast12.png]]
: [[File:Flycast12.png]]


The above picture demonstrates the default touch controls for Flycast on Android. The four face buttons and triggers are available on the right side of the device's screen, and the analog and d-pad are on the left. Note that currently, Flycast on Android does not have any keyboard implementation, so communication and entering text info, such as your SNAK, must be done using the controller bindings.
The above picture demonstrates the default touch controls for Flycast on Android. The four face buttons and triggers are available on the right side of the device's screen, and the analog and d-pad are on the left. Note that currently, Flycast on Android does not have any keyboard implementation, so communication and entering text info, such as your SNAK, must be done using the controller bindings.


====Bluetooth Controller====
====Bluetooth Controller====
In my opinion, this is the more enjoyable option to get the most out of PSOV2 on Flycast for Android. Any controller with Bluetooth support should work, but if you do not have a Bluetooth-enabled Xbox or PlayStation controller around, I recommend an 8BitDo SN30 Pro+. Amazon link to buy [https://www.amazon.com/8Bitdo-Sn30-Bluetooth-Gamepad-Classic-mac/dp/B07TDTXHJP/ here].
Any controller with Bluetooth support should work.  
 
[[File:Controller.png]]
 
To enable your Bluetooth controller, make sure your controller is on and paired with your android device. For this particular 8BitDo SN30+ controller, refer to [https://manuals.plus/8bitdo/8bitdo-sn30-pro-sf30-pro-user-manual this guide] for instructions on how to pair. Once paired and enabled, go to your "Settings / Controls / Physical Devices" tab in Flycast and make sure your device is detected and assigned to "Port A":
 
[[File:Flycast13.png]]
 
In the above image, I have highlighted the controller and port assignment. In most cases, the button and joypad assignment should be automatic, but if you need to make any changes, the "Map" selection next to your device (either Bluetooth controller or Virtual Gamepad controls) will allow you to make adjustments and reassignments. When finished, press "Done" at the top of the screen.


== Flycast for Android Tips ==
To enable your Bluetooth controller, make sure your controller is on and paired with your Android device. Once paired and enabled, go to your "Settings / Controls / Physical Devices" tab in Flycast and make sure your device is detected and assigned to "Port A" (example using 8BitDO SN30, highlighted):


Flycast Online Warnings:
: [[File:Flycast13.png]]
1 - Do not use save states while in online play! It can break things.
2 - Do not use "Fast Forward" functions while online! It can break things.
3 - Do not pause/bring up the quick menu while in online play! It can break things.


With our Flycast for Android configured, we should now be able to launch into the game!
In most cases, the button and joypad assignment should be automatic, but if you need to make any changes, the "Map" selection next to your device (either Bluetooth controller or Virtual Gamepad controls) will allow you to make adjustments and reassignments. When finished, press "Done" at the top of the screen.

Latest revision as of 03:36, 16 May 2022

Flycast is an emulator for PC and Android capable of emulating Dreamcast games. This page will walk you through setting up the emulator.

Flycast Online Warnings

Flycast Online Warnings:

  • Do not use save states while in online play! It can break things.
  • Do not use "Fast Forward" functions while online! It can break things.
  • Do not pause/bring up the quick menu while in online play! It can break things.

With Flycast for Android configured, you should now be able to launch into the game!

Setting Up Flycast (PC)

  1. Download a nightly build of Flycast here. The links at the top of the page are the latest builds. Grab the Windows x64 download.
    15.png
  2. Extract the .zip file to the folder of your choosing. Preferably, use a simple directory name such as C:\flycast (which will be the example directory in this guide). The zip should contain one .exe file that is the Flycast emulator program.
  3. Acquire a Dreamcast BIOS file and ensure it is named dc_boot.bin and place it in C:\flycast. A download for one can not be linked here, as it is copyrighted content, but you can dump your own from

Flycast Controller Configuration

Before we first boot the emulator, we need to decide how we want to configure our controls.

Flycast works with any controller Windows can connect to, and most controllers (such as a PlayStation 4 controller or Xbox One controller) do not require any specific configuration. This guide will assume you are using a controller with your PC and walk you through how to configure the game pad / keyboard combo that will work the best.

  1. With your controller of choice plugged in, launch the Flycast .exe from inside the C:/flycast directory. By default, Flycast will launch in a window as shown below.
    19.png
  2. Use your mouse to click on the "Settings" option in the top-right of the window. Select the "Controls" tab and match the following settings (important settings highlighted yellow). Your controller may show up as something other than Xbox 360 Controller.
    20.png
    • Essentially, you are setting Flycast to not use the default keyboard control assignments and forcing keyboard inputs to simulate a keyboard plugged into Port B, the same as you would with a real Dreamcast. This is particularly handy for Phantasy Star Online to access all the features available on the Dreamcast, such as keyboard in-game chat and navigating the menus with keyboard commands.

As an aside, some of the more esoteric commands you can enter in PSO with the keyboard are detailed here.

Remapping The Menu Button

By default, Flycast's controller button mappings should be ideal for most games. However, you may want to prevent accidental access to the Quick Menu as pausing or using save states makes the game client out of sync with the server, and can crash the game or possibly corrupt your character data. You can accomplish this by navigating to the Settings/Controls window and clicking the "Map" button to the right of the SDL Controller (whatever your gamepad is labeled).

22.png

Scroll down a bit and find where the "Menu" button is located. By default, it is going to be mapped to your "Select" button on most controllers. It is not possible to delete a controller input mapping, so you will need to move the button bind to an uncommon button, such as "Left Trigger".

Press "Map" next to "Left Trigger", and press the "Select" button on your gamepad before the countdown runs out.

23.png

In the above example, you can see the controller mapping (6) has moved from the "Menu" to "Left Trigger" assignment. This will prevent accidentally pausing the game if you press the select button, and also prevents the quick menu from accessing the save state functions of Flycast. You can simply reverse this change for offline play or for playing other games on Flycast.

Controller Drift in Flycast

While it is not currently available in the menu, Flycast has a dead zone feature that can be used to combat controller drift if you are experiencing issues with characters "moving on their own".

ONLY after you have made an alteration to the controller configuration, Flycast will create a remap file and folder in its main directory, for example C:/flycast/Mappings/SDL_Xbox 360 Controller.txt.

From here, you can add a line to the config to change the default dead zone to whatever you prefer, in the following example we are increasing the default 10% deadzone to 15%:

[emulator]
dead_zone = 15

If you are experiencing controller drift, experiment with this value until you find the lowest setting that corrects the issue.

Additional Flycast Configuration and Optional Settings

Going back into the options menu, there is a few more more settings to configure.

We want to change the language settings to English.

In the Settings / General Tab:
Language = English

Most Dreamcast games support a higher resolution VGA mode.

In the Settings / General Tab:
Cable = VGA

Widescreen [optional]: Widescreen mode will fill the entire 16:9 display when in full-screen mode. This is a emulator trick as the original game was presented in a 4:3 aspect ratio. While there might be a couple graphical pop-ins and inconsistencies (especially when not in full screen mode), it's worth trying out. To enable:

In the Settings / Video Tab:
Check the "Widescreen" Box.

Upscaled Graphics [optional]: If you have a modestly capable graphics card and PC, you can also change the Scaling (SSAA) from the default 1.0 to something higher. It's recommended to start at 2.0 and seeing if the game still plays smoothly. To do so, set:

In the Settings / Video Tab:
Scaling (SSAA) = 2.0

Broadband (BBA) Mode (optional)

All Dreamcast shipped with a 56k modem that every online game supported. However, a handful of games supported the Broadband Adapter (BBA) accessory. The BBA replaced the 56k modem and used Ethernet networking to deliver much higher internet speeds. To enable BBA Mode:

In the Settings - Advanced - Networking Tab:
Check the "Broadband Adapter Emulation" Box.


Final Notes About Flycast (PC)

Alt-Enter: In Flycast, you can press Alt-Enter to enter and exit full screen mode. The widescreen hacks will not be enabled until you have entered full screen.

Closing The Game: When in windowed mode, it is simple to close the Flycast with the X in the top-right corner. As mentioned above, you can toggle to windowed mode with Alt-Enter.

Setting Up Flycast (Android)

Flycast also has a fully functional Android version. To set this up, you will need to install the Flycast emulator apk and a file management app (in this example, ZArchiver is used). You will also need to source the Dreamcast BIOS file "dc_boot.bin" (which you can dump from a Dreamcast).

Downloading Flycast for Android

On your Android device, navigate to the Flycast GitHub page and download the latest nightly build.

Flycast1.png


Look for the latest build of the Android release. Long-press the Android release download link.

Flycast2.png


Once the long-press menu pops up, we need to select "Download link".

Flycast3.png


Because the nightly builds of Flycast aren't coming from a "trusted" source (such as the app store), your android device will try to protect you from running malicious software. However, we trust Flycast and want to run it. Choose "Keep" to continue.

Flycast4.png


Once again your device is warning you. We can choose "OK" to keep Flycast.

Flycast5.png


Once downloaded, you should see this prompt at the bottom of your device. Press the "Open" link to launch the Flycast APK.

Flycast6.png


Once the Flycast APK launches, it will prompt you to install the software on your device. Choose "Install" to continue.

Flycast7.png


Don't open the program just yet, click "Done" to continue.

Flycast8.png

If Flycast was installed correctly, we should have a new shortcut on our device's home screen.

Downloading "dc_boot.bin" (Android)

You will need to source a Dreamcast BIOS file named as "dc_boot.bin". While we cannot provide direct links to this file, you can dump your own dc_boot.bin from a Dreamcast.

Flycast File Management with ZArchiver (Android)

At this point, you will need to use a file manager to move files around on your device. In this example, ZArchiver will be used.

When Zarchiver first launches, it will prompt you for permissions to access your files and folders. Tap "ALLOW" to continue and press "OK" to dismiss the popup tips.

Zarch2.png

You will need to create a folder for our BIOS and Flycast Config Files. For this example, a folder named "Flycast" is created in the /storage/emulated/ directory by pressing the large green plus icon followed by the folder icon on top.

Zarch6.png

Navigate to the "Download" folder (if that's where your Dreamcast BIOS is located) and move them to the "Flycast" folder you created. If it is a zip file, open the zip file and extract it to the download folder.

Zarch8.png
Zarch9.png

Long press dc_boot.bin and select Copy.

Zarch11.png

Navigate back to the "Flycast" folder that you created earlier and tap the clipboard icon in the top-right of the screen to paste dc_boot.bin.

Configuring Flycast (Android)

Navigate back to your Android device's home screen and launch Flycast.

Flycast10.png

When Flycast launches, it needs you to set the working directory for the app. This is the location it will place any configuration data, as well as where it will look for any BIOS files. From within Flycast, navigate to the "flycast" folder you created and select "Select Current Directory".

If you set up your "Flycast" folder correctly, and correctly pointed the app to the folder, Flycast will detect and list your Dreamcast BIOS as shown below.

Flycast11.png

Before we launch the game, we need to take a moment to configure some items in the "Settings" window. Tap "Settings" in the top-right corner of the screen and make the following changes.

Language settings:

In the Settings / General Tab:
Language = English

Most Dreamcast games support a higher resolution VGA mode.

In the Settings / General Tab:
Cable = VGA

Widescreen [optional]: Widescreen mode will fill the entire 16:9 display when in full-screen mode. This is a emulator trick as the original game was presented in a 4:3 aspect ratio. While there might be a couple graphical pop-ins and inconsistencies (especially when not in full screen mode), it's worth trying out. To enable:

In the Settings / Video Tab:
Check the "Widescreen" Box.

Upscaled Graphics [optional]: If you have a modestly capable graphics card and PC, you can also change the Scaling (SSAA) from the default 1.0 to something higher. It's recommended to start at 2.0 and seeing if the game still plays smoothly. To do so, set:

In the Settings / Video Tab:
Scaling (SSAA) = 2.0

Broadband (BBA) Mode [optional]: All Dreamcast shipped with a 56k modem that every online game supported. However, a handful of games supported the Broadband Adapter (BBA) accessory. The BBA replaced the 56k modem and used Ethernet networking to deliver much higher internet speeds. To enable BBA Mode:

In the Settings - Advanced - Networking Tab:
Check the "Broadband Adapter Emulation" Box.

When you are finished changing settings, press "Done" at the top left of the screen.

Flycast Controls (Android)

Touch Controls

Flycast12.png

The above picture demonstrates the default touch controls for Flycast on Android. The four face buttons and triggers are available on the right side of the device's screen, and the analog and d-pad are on the left. Note that currently, Flycast on Android does not have any keyboard implementation, so communication and entering text info, such as your SNAK, must be done using the controller bindings.

Bluetooth Controller

Any controller with Bluetooth support should work.

To enable your Bluetooth controller, make sure your controller is on and paired with your Android device. Once paired and enabled, go to your "Settings / Controls / Physical Devices" tab in Flycast and make sure your device is detected and assigned to "Port A" (example using 8BitDO SN30, highlighted):

Flycast13.png

In most cases, the button and joypad assignment should be automatic, but if you need to make any changes, the "Map" selection next to your device (either Bluetooth controller or Virtual Gamepad controls) will allow you to make adjustments and reassignments. When finished, press "Done" at the top of the screen.