Difference between pages "Mednafen" and "Sega Dreamcast emulators"

From Emulation General Wiki
(Difference between pages)
Jump to navigation Jump to search
m (Rename category as OS has been renamed.)
 
 
Line 1: Line 1:
{{Infobox
+
{{Infobox console
|image = Newlogo-1-.png
+
|title = Sega Dreamcast
|first = {{MednafenVer}}
+
|logo = DreamcastConsole.png
|second = Yes
+
|developer = [[:Sega]]
|third = Multi-platform
+
|type = [[:Category:Home consoles|Home video game console]]
|fourth = Ryphecha, Mednafen Team
+
|generation = [[:Category:Sixth-generation video game consoles|Sixth generation]]
|fifth = [https://mednafen.github.io/ mednafen.github.io]
+
|release = 1998
|sixth = [http://sourceforge.net/projects/mednafen/files/latest/download?source=files SourceForge]}}
+
|discontinued = 2001
 +
|predecessor = [[Sega_Saturn_emulators|Sega Saturn]]
 +
|emulated = {{✓}}
 +
}}
  
'''Mednafen''' (an acronym for '''My Emulator Doesn't Need A Frickin' Excellent Name''') is a [[Multi-System Emulators|multi-system emulator]], driven from the command-line. Many of its cores are ports of other emulators, but many of them are also original. Its [[PlayStation emulators|PlayStation]], [[Sega Saturn emulators|Saturn]], [[Virtual Boy emulators|Virtual Boy]], and [[PC Engine (TurboGrafx-16) emulators|PC Engine (TurboGrafx-16)]] original cores are notable for their high quality, compatibility and accuracy.
+
The '''[[wikipedia:Sega Dreamcast|Dreamcast]]''' is a sixth-generation console released by [[wikipedia:Sega|Sega]] on November 27, 1998 in Japan and later on September 9, 1999 in NA. It retailed for {{Inflation|USD|199.99|1999}}. It had a Hitachi SH-4 RISC CPU at 200 MHz with 16 MB of RAM and 8 MB of VRAM. It had a PowerVR2 GPU at 100 MHz, which theoretically was capable of pushing 3 million polygons/second on-screen. There is a 2 MB audio RAM, which complemented a powerful 67 MHz Yamaha AICA sound processor, with a 32-bit ARM7 RISC CPU core. The audio chip could generate 64 voices with PCM or ADPCM codec and provided ten times the performance of the [[Sega Saturn emulators|Saturn's]] sound system.. Sega also released the '''[[Sega NAOMI and variants|Naomi]]''', an arcade system board with similar components to the Dreamcast. Sammy's '''[https://segaretro.org/Atomiswave Atomiswave]''' arcade board was also based on the Dreamcast and Naomi.
  
==Downloads==
+
Sega collaborated with Microsoft on the Dreamcast's development, and this partnership would continue later with the [[Xbox emulators|Xbox]]. What came out of this was the possibility for games to be developed for an optimized version of '''Windows CE''' (with DirectX) on each disc. However, Windows CE wasn't mandatory to use and most developers opted for Sega's development tools instead out of convenience. Even in major emulators, this aspect isn't implemented (or implemented well).
* [{{MednafenURL|releases/}} Mednafen] Official releases.
 
  
==Supported systems==
+
==Emulators==
{| class="wikitable"
+
{| class="wikitable" style="text-align: center;"
 +
|-
 +
! scope="col"|Name
 +
! scope="col"|Platform(s)
 +
! scope="col"|Latest Version
 +
! scope="col"|[[libretro|Libretro Core]]
 +
! scope="col"|Naomi
 +
! scope="col"|Atomiswave
 +
! scope="col"|Windows CE
 +
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 +
! scope="col"|Active
 +
! scope="col"|[[Recommended Emulators|Recommended]]
 +
|-
 +
!colspan="10"|PC / x86
 
|-
 
|-
! scope="col"|System
+
|[[DEmul]]
! scope="col"|Based on code from:
+
|align=left|{{Icon|Windows}}
 +
|[http://demul.emulation64.com/downloads/ {{DEmulVer}}]
 +
|{{✗}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✓}}
 
|-
 
|-
|[[Atari Lynx emulators|Atari Lynx]]
+
|[[redream]]
|Handy
+
|align=left|{{Icon|Windows|Linux|macOS}}
 +
|[https://redream.io/download {{RedreamVer}}]
 +
|{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✓}} ||{{✓}}
 
|-
 
|-
|[[WonderSwan emulators|Bandai WonderSwan/Color]]
+
|[[Flycast|Flycast]]
|Cygne
+
|align=left|{{Icon|Windows|Linux|macOS}}
 +
|[https://flyinghead.github.io/flycast-builds/ CI Builds]
 +
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}}
 
|-
 
|-
|[[Game Boy Advance emulators|Nintendo Game Boy Advance]]
+
|[[reicast]]
|[[VisualBoy Advance|VisualBoyAdvance]]
+
|align=left|{{Icon|Windows|Linux}}
 +
|[http://builds.reicast.com/ CI Builds]<small> (Not Working)</small><br/>[https://snapcraft.io/reicast r8.1]<small> (Snap Store)</small>
 +
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{~}} ||{{✗}}
 
|-
 
|-
|[[Nintendo Entertainment System emulators|Nintendo Famicom (NES)]]
+
|[[nullDC]]
|[http://freecode.com/projects/fceultra FCE Ultra]
+
|align=left|{{Icon|Windows}}
 +
|[http://www.emucr.com/2013/03/nulldc-svn-r150.html 1.0.4 r150]
 +
|{{✗}} ||{{~}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}}
 
|-
 
|-
|[[Super Nintendo emulators|Nintendo Super Famicom (SNES)]]
+
|[[Makaron]]
|[[higan|bsnes]]
+
|align=left|{{Icon|Windows}}
 +
|[https://www.zophar.net/dreamcast/makaron.html T12/5]
 +
|{{✗}} ||{{✗}} ||{{✗}} ||{{~}} ||{{✗}} ||{{✗}} ||{{✗}}
 
|-
 
|-
|[[Virtual Boy emulators|Nintendo Virtual Boy]]
+
|[http://washemu.org/ WashingtonDC]
|Original. NEC V810 CPU core based on [http://www.goliathindustries.com/vb/ Reality Boy].
+
|align=left|{{Icon|Linux}}
 +
|[https://github.com/washingtondc-emu/washingtondc git]
 +
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}}
 
|-
 
|-
|[[PC Engine (TurboGrafx-16) emulators|NEC PC Engine (TurboGrafx-16)]]
+
|[http://www.lxdream.org Lxdream]
|Original. CD-ROM interface based on [http://www.geocities.co.jp/SiliconValley-Bay/9975/PC2E/english.html PC2E].
+
|align=left|{{Icon|Linux|macOS}}
 +
|[http://www.lxdream.org/download.php 0.9.1]
 +
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}}
 
|-
 
|-
|[[PC-FX emulators|NEC PC-FX]]
+
|[https://segaretro.org/Chankast Chankast]
|Original. NEC V810 CPU core based on [http://www.goliathindustries.com/vb/ Reality Boy].
+
|align=left|{{Icon|Windows}}
 +
|[http://chanka.emulatronia.com/FrameSetDC_Down.htm 0.25]
 +
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
 
|-
 
|-
|[[Neo Geo Pocket emulators|SNK Neo-Geo Pocket/Color]]
+
|[[MAME]]
|[http://www.emuxhaven.net/ NeoPop]
+
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 +
|[http://www.mamedev.org/release.html {{MAMEVer}}]
 +
|{{✓}} ||{{~}} ||{{~}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✗}}
 
|-
 
|-
|[[PlayStation emulators|Sony PlayStation]]
+
!colspan="10"|Mobile / ARM
|Original.
 
 
|-
 
|-
|[[Master System emulators|Sega Master System]] and [[Master System emulators|Game Gear]]
+
|[[redream]]
|[http://www.techno-junk.org/smsplus.php SMS Plus]
+
|align=left|{{Icon|Android|LinuxARM}}
 +
|[https://play.google.com/store/apps/details?id=io.recompiled.redream 1.1.98]<small> (Android)</small><br/>[https://redream.io/download 1.5.0]<small> (Raspberry Pi)</small>
 +
|{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✓}} ||{{✓}}
 
|-
 
|-
|[[Sega Genesis emulators|Sega Mega Drive (Genesis)]]
+
|[[Flycast]]
|[[Genesis Plus GX|Genesis Plus]]
+
|align=left|{{Icon|Android|iOS}}
 +
|[https://flyinghead.github.io/flycast-builds CI Builds]
 +
|{{✓}} ||{{~}} ||{{~}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}}
 
|-
 
|-
|[[Sega Saturn emulators|Sega Saturn]]
+
|[[reicast]]
|Original
+
|align=left|{{Icon|Android|Pyra}}
|}
+
|[https://play.google.com/store/apps/details?id=com.reicast.emulator r20.04]<small> (Android)</small></br>[https://pyra-handheld.com/repo/apps/122 Pyra Build]
 
+
|{{✗}} ||{{✗}} ||{{✗}} ||{{}} ||{{}} ||{{~}} ||{{}}
==Overview==
+
|-
Mednafen only has a command line interface, so its interface might be hard to use to new users.
+
!colspan="10"|Console
 
+
|-
The best cores in Mednafen are those that are original - which are the PS1, PCE, PC-FX and Virtual Boy cores. The PCE core is one of the best emulators for that system, with a Fast and Accurate version. The PS1 core is native resolution only, and features high degree of accuracy and compatibility.<ref>[http://forum.fobby.net/index.php?t=msg&th=1114 Mednafen PSX bugs reports]</ref> The Virtual Boy core is one of the best for the system.
+
|[[Flycast]]
 
+
|align=left|{{Icon|Switch}}
Other cores improve upon emulators that have been long abandoned and rarely updated. These include the Neo Geo Pocket, WonderSwan Color and Atari Lynx cores.
+
|[https://flyinghead.github.io/flycast-builds CI Builds]
 
+
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}}
Other cores are less useful, as there are better options in stand-alone emulators (NES, Genesis, Master System and SNES). These cores might even be based on out-dated versions. For instance, the SNES core is based on an old outdated version of bsnes. This is before the performance/accuracy/balanced cores — 0.50x territory — with a couple of changes by Ryphecha.
 
 
 
It is unknown at this time whether Mednafen's GBA core is better than VBA-M.
 
 
 
[[RetroArch]] uses the PS1, PCE, Neo Geo Pocket, Virtual Boy, and WonderSwan cores of Mednafen, so it might make sense to use that instead.
 
 
 
==Using Mednafen==
 
Mednafen is pretty easy to get up and running. You can use a frontend like medgui. However, a good text editor like [http://www.notepad-plus-plus.org/ Notepad++] is all you need if you need to change settings.
 
 
 
===BIOS===
 
Most cores do not require any BIOS except for the PS1, PCE-CD, PC-FX and Saturn cores. [[Emulator_Files#Multi-System|BIOS files]] need to be placed into a folder called "firmware" in your Mednafen directory. Mednafen is very picky about which BIOS to use. The ones that you might need are:
 
 
 
'''PlayStation'''
 
* SCPH5500.bin - (NTSC-J) Required for Japan-region games.
 
* SCPH5501.bin - (NTSC-U) Required for North America/US-region games.
 
* SCPH5502.bin - (PAL) Required for Europe-region games.
 
 
 
'''PCE-CD'''
 
* syscard3.pce
 
 
 
'''PC-FX'''
 
* pcfx.rom
 
 
 
'''Saturn'''
 
* sega_101.bin
 
* mpr-17933.bin
 
 
 
All of these come with the [[Emulator_Files#Multi-System|RetroArch BIOS pack]], and are correctly named.
 
 
 
===CUE===
 
For most systems, Mednafen only needs the rom file; but to load PS1 games, Mednafen requires CUE sheets to know where the music data is. Ensure that the CUE sheet is properly set up in order for the game to run. See the [[Cue sheet (.cue)]] page for more info.
 
 
 
===Loading a game===
 
To load a game in Mednafen, simply drag and drop your ROM or CUE file onto mednafen.exe, or if you prefer, you can use the command line. Mednafen requires no special commands, such as the desired system. For example, in Windows, the command would look like C:/Emulators/Mednafen/mednafen.exe C:/Roms/Nintendo/battletoads.nes
 
 
 
===m3u playlist files===
 
[[File:M3u_example.png|thumb|right|206px|An example of a .m3u for Valkyrie Profile]]
 
To automatically load the next disc of a game, you will need a .m3u file. To make one, simply create a text file and name it after your game. Within the text file, write the names of the .cue sheets for your game discs as such:
 
 
 
Game (Disc 1).cue
 
 
 
Game (Disc 2).cue
 
 
 
Game (Disc 3).cue
 
 
 
Save the .txt file and then change the file extension to .m3u. Run the .m3u, rather than the .cue of the first disc and the first disc will load. When you get to the end of that disc, the next disc will be automatically loaded.
 
For this method to work, shared memory cards (see below) must be used for the games in the playlist.
 
 
 
===Dual analog controllers with PS1===
 
To enable analog sticks and rumble on DualShock controllers, open the mednafen-09x.cfg file, search for "psx.input.port1" and change gamepad to DualShock. Do this for port2 if you wish to play multiplayer games with the features of DualShock controllers.
 
 
 
===Configuring controls===
 
Once in-game, to configure your controller at any time, press Alt+Shift+1 and it will guide you through the setup. Press Alt+Shift+2 and so on for each additional controller for multiplayer.
 
 
 
===Graphical enhancements===
 
====Sprite limit====
 
This is a feature on older systems, due to hardware limitations, that makes it only display so many sprites could be on screen at the same time. Most systems got around this limitation by alternating which sprites were on screen each refresh, causing the sprite to flicker. Mednafen's default settings are true to the original system limits,  but this can be disabled in the cfg file. Here is the list of options from the cfg file to change from 0 to 1 if you don't wish to have the limit.
 
 
 
* [{{MednafenURL|documentation/nes.html#nes.no8lim}} nes.no8lim]
 
* [{{MednafenURL|documentation/pce.html#pce.nospritelimit}} pce.nospritelimit]
 
* [{{MednafenURL|documentation/pce_fast.html#pce_fast.nospritelimit}} pce_fast.nospritelimit]
 
* [{{MednafenURL|documentation/pcfx.html#pcfx.nospritelimit}} pcfx.nospritelimit]
 
 
 
===Cheats===
 
Mednafen supports the usual cheats such as GameShark, Code Breaker, and Action Replay. The cheats menu can be accessed (or quit back to normal gameplay) with '''ALT+C'''.
 
 
 
The cheat engine interface is command-based but still easy to use. Each time a menu appears, you have a bunch of options with a number (or key) before each choice. You're supposed to write the number (# just means to choose the number for the line you want) or letter standing for your choice. Occasionally, when asked to input some values or names, a value appears between brackets after the question - if that's what you want to write down, you can simply leave the entry field empty and press Enter.
 
 
 
To add an existing GS/AR/PAR/CB cheat code, use "Gameshark Codes". Else, if you have a memory address and a given value for it, choose "Search Code" then "Add Code", then put in the address (as $XXXXXXXX), the byte range depending on the values your variable can take (1 is 0-255, 2 is 0-65535, etc), and the numeric value proper (in decimal, or hexadecimal if followed by a lower-case h). Various cheat types exist too (S(substitute on read), C(substitute on read with compare) or R(replace value before vblank) -- R being the default recommended option).
 
 
 
Searching for new cheat codes is also possible. The general idea being comparing variables, going back to gameplay so that this variable changes then back to the cheat engine searching for any variables that changed in that particular way. For example:
 
* '''Infinite Health / Ammo / Time / Money:''' you start with 5 hearts, reset search (in the cheat engine, not reset the game you silly!), you get hurt to 4 hearts, search variables that decreased, get healed back to 5 hearts, search variables that increased, and so on. For money you can start with 0 when you have 0 gold and try earning/spending money. You could try using save states as well when you don't have as much freedom changing the value.
 
* '''Infinite Lives:''' It's game over when the internal variable for "Lives" is 0. So in some cases, when it shows "REST/LEFT=1" in-game and you lose a life then it becomes 0 but you're still allowed to play on your last life, that means the internal counter for lives has actually changed from 2 to 1 and not from 1 to 0, but in other games (where if you die on "LIVESx1" it's game over) it's not the case. In the case of lives, you actually know the exact value: reset search initially, then (if you have 2 lives on a game that allows you to play on "LEFT=0") search for variables with values equal to 3. Lose a life, search for variables equal 2, and so on.
 
* '''Character Modifier / Level Modifier / Having an Item:''' reset search, play without changing whatever you're searching for (let's say the stage), do lots of searches for new value equals old value. In-game, change it, then do a new value doesn't equal old value. And so on.
 
* '''Walk Though Walls / Invincibility / In-game Cheats & Features :''' you need to find the value that tells the character if he can move or not (he can't really move when walking against a wall) / if he's blinking or being invincible right now after getting hurt. Same methods as before, but there are hints that could be useful here -- both states could be 0/1, or something else... for example, one could assume 0 is not enabled and 1 is enabled.
 
* '''Debug Modes:''' stuff that stays 0 no matter what, extra off-screen inaccessible options in menus, extra dialogue... you name it. Have fun experimenting.
 
 
 
The goal of these searches is to narrow down the list of results to a single or handful of addresses (variables) pertinent directly to whatever we're searching for. The search always starts with "Reset Search", going back in-game (Alt+C) to play and change stuff, then back to the cheat engine to compare the "Original" value with the "Current" value. Then you check the results page which must get smaller and smaller (if it's 0 results, you screwed up and need to reset search to try again). The comparing options offered by Mednafen are as follow, with O being the Original value, and C being the Current value (when you reset a search, they're the same):
 
 
 
# '''O==V1 && C==V2''' if you know the explicit numerical values for the variable you write it here. First time, just write same value in both. Subsequent times, leave O blank and press Enter so that you don't write the old value again, and write the current value under C.
 
# '''O==V1 && |O-C|==V2''' same, but instead of writing the current value you write by how much it changed (0 if old value equals new value)
 
# '''|O-C|==V2''' you write by how much it changed (0 if old value equals new value)
 
# '''O!=C''' if old value doesn't equal new value
 
# '''Value decreased''' if new value smaller than old value
 
# '''Value increased''' if new value bigger than old value
 
 
 
===Further reading===
 
* {{MednafenURL|documentation/}}
 
 
 
==Memory cards==
 
===Shared memcards===
 
Use this so that there is a shared memory cards for all games:
 
 
 
Create '''psx.cfg''', and add the line: '''filesys.fname_sav %s.%X'''<br>
 
Here's the full documentation: {{MednafenURL|documentation/fname_format.txt}}
 
 
 
Emulation bugs, crashes and save states can corrupt your memory card data.
 
 
 
===Transfer===
 
To transfer memory cards, follow this guide. Also, in games with multiple discs with saves that carry over, you have to follow the same procedure.
 
 
 
Mednafen creates memory card files for each individual game, in contrast to PCSX-R/ePSXe where all game saves are stored into 2 memory card files. To transfer memory card files from PCSX-R/ePSXe to RetroArch:
 
 
 
* Start game in RetroArch.
 
* Go to system folder. Copy the names of the .mcr files created for the game.
 
* Delete them.
 
* Rename the files you want to transfer with the names of the RetroArch memcard files.
 
* Place the new ones in the system folder.
 
 
 
==Frontends==
 
* [http://sourceforge.net/projects/medgui/ Medgui] (Windows)
 
* [http://forum.fobby.net/index.php?t=msg&th=924&start=0& MedGui Reborn] (Windows)
 
* [https://medlaunch.info MedLaunch] (Windows)
 
* [https://github.com/AmatCoder/mednaffe Mednaffe] (Multi-platform)
 
 
 
==Netplay==
 
Cores that work with netplay:
 
 
 
* PC Engine (TurboGrafx-16)/PC-CD/SuperGrafx (option for both accuracy and fast cores)
 
* PC-FX
 
* NES
 
* Genesis
 
* Master System
 
* SNES
 
* PlayStation
 
 
 
{| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;"
 
! colspan=2 |Review
 
 
|-
 
|-
| '''PROS''' ||
+
|[[nullDC PSP]]
* You can make and load save states
+
|align=left|{{Icon|PSP}}
* Netcode allows for people to join a game that's already in session
+
|[https://github.com/PSP-Archive/nulldce-psp git] [https://archive.org/details/nullDC-PSP 1.2.1]
* In-game chat
+
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{~}}
* Playing it full screen works (sometimes)
 
 
|-
 
|-
| '''CONS''' ||
+
|nulldc-360
* Command-line only (you can use a frontend, though)
+
|align=left|{{Icon|Xbox360}}
* Weird, convoluted settings (or lack thereof)
+
|[https://github.com/gligli/nulldc-360 git]
* SNES emulation will be slow to you if you're on a low-end computer (uses bsnes core)
+
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{~}}
* PlayStation core is accurate but slow
 
* Only supports 2 players on Genesis
 
* Frontend doesn't always save settings correctly
 
* Frontend defaults to detecting compressed ROM archives instead of the actual ROMs (you can still load uncompressed ROMs by selecting "All files *.*" from the dropdown menu)
 
 
|}
 
|}
  
{| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;"
+
===Comparisons===
! colspan=1 |How to
+
;[[DEmul]]: Has the highest compatibility and accuracy, but it' Windows-only and closed-source. It supports Windows CE games, but in general, they run worse than standard Dreamcast titles. It's also more resource-intensive than other emulators.
|-
+
;[[redream]]: Multi-platform and easy to use, but it's closed-source. Compatible with [https://redream.io/compatibility 90+% of the Dreamcast library] (Windows CE now supported), has a good user interface, is easy to set up, and can run without a BIOS. Runs on [https://youtu.be/rywLHa1i9yk?t=529 low-end machines] provided that they support OpenGL 3.1. There's a payware premium version that provides high-definition rendering.
|
 
It's recommended that you [http://sourceforge.net/projects/medgui/ download a frontend].
 
  
# Run MedGui.exe
+
;[[nullDC]]:  Can run a lot of games at great speed on mid-end PC and it's open-source, however, it's no longer developed and the more recent forks have improved upon it.
# You'll get a small window. On your left, you'll see two arrow buttons with a console/handheld icon in between. Choose your desired platform.
+
:;[[reicast]]: Eventually, nullDC's author forked his own project into reicast, with the main objective to widen platform availability to smartphones and tablets. While wider availability is generally a good thing, this resulted in cutting accuracy corners from the nullDC codebase to achieve the speed goals necessary to run on these platforms. Advancements in mobile hardware should have led to the removal of such "hacks"; however lack of developer resources and interest led to long delays in Reicast development, and the codebase remained virtually untouched for years before the RetroArch team began working with it as part of a "Reicast core", later named Flycast.
# Click the button with the blue lightning icon and look for the folder that contains your game(s). The emulator looks for compressed archives by default, but you can still load uncompressed files by clicking on the drop down menu.
+
:;[[reicast#Libretro_core|Flycast]]: Fork of reicast available as a standalone emulator and as a [[libretro]] core. Libretro collaborators, primarily [https://github.com/flyinghead/reicast-emulator flyinghead], dramatically improved Reicast in areas such as graphics, input, system clock, and Dreamcast VMU. Atomiswave and NAOMI SH-4-based arcade systems have also been added to great fanfare<ref name="flycastnaomi">https://github.com/libretro/flycast/issues/136</ref>, along with support for MAME's popular CHD format. Even full MMU support, which is needed to run WinCE-based games such as "Armada", "Half-Life" and "SEGA Rally Championship 2", has recently been tackled through an experimental branch (anyone following Dreamcast emulation over the years understands what a tough nut this is to crack). Aside from some audio stuttering issues in games such as "Looney Toons Space Race" and "Resident Evil: Code Veronica", this is a highly compatible and accurate emulator.  
# Pick your game.
 
# Click the button with a checkered red ball and joystick to start the game.
 
# You'll then (very likely) get a message an update prompt. Click Yes, and wait.
 
# Start the game. If it asks you to update again, ignore it and restart the emulator.
 
# While the game is loaded, press ALT + SHIFT + 1 to map your controller. You'll get several options per button (for example, UP 1, UP 2, UP 3, etc.). Just map the first one to your controller, and the rest to a key you'll never press. You will have to repeat this step for every emulator core.
 
# Close the emulator.
 
# Click the arrow button on the right side of the window. It should expand it.
 
# Click Advanced Mode.
 
# Click the tab called Media/Network/Utility.
 
  
'''For Hosting:'''
+
;[[Makaron]]: One of the only two closed-source Dreamcast emulators that can properly play Windows CE games.
# In the Netplay-Server section, you have the following options:
 
#* "Max Clients", as in, the number of people that can connect to your server (not necessarily players; theoretically you can use this as a makeshift stream)
 
#* "Conn. Timeout" which is the number of seconds you'll allow for your clients to attempt establishing a connection
 
#* "Port" where you'll choose one an open TCP/UDP one
 
#* "Password" which you can establish or leave blank
 
# When you're done fiddling with your settings, click Create standard.conf
 
# Click Create Server. A cmd window will appear.
 
# Click My IP to obtain your external IP address, and share it along with your port to your friend(s).
 
# Launch the game.
 
# Press T, and type /server localhost.
 
# Wait for other people to connect.
 
  
'''If you're Connecting:'''
+
==Emulation issues==
# In the Netplay-Client section, you have the following options:
+
For the emulators that are either mature or maturing, a very large percentage of games work well, but some games still have problems and glitches.
#* "Host", which is the server's IP you'll connect to
 
#* "Port, which is the one used by the server (which you should also have open on your end).
 
#* "Password", blank if there is none.
 
#* "Nickname" where you type whatever you want.
 
#* "Localplayer" is the number of players that will also be playing from one computer.
 
#* "Small font" which makes the chat font smaller.
 
# When you're done fiddling with your settings, launch the game.
 
# Press T, and type /server IP_goes_here.
 
  
You can chat in-game by pressing T. Also, remember that you can drop in and out of the game at any time, so you don't need to reset the game if someone accidentally disconnects.
+
==VMU emulators==
There are way too many settings, commands and features to list, so take a look at the emulator's documentation.
+
While some Dreamcast emulators can leverage the screen of the VMU while the game is running, none of them allow you to play the minigames developed for it. See the main page on VMU emulation [[Sega VMU emulators|here]].
|}
 
  
==External links==
+
==Downloads==
* [http://fantasyanime.com/emuhelp/emuhelp_mednafen.htm Mednafen tutorial]
+
* [[Emulator_Files#Dreamcast|BIOS]]
  
 
==References==
 
==References==
<references/>
+
<references />
 +
 
 +
{{Sega}}
  
[[Category:Emulators]]
+
[[Category:Consoles]]
[[Category:Multi-emulators]]
+
[[Category:Home consoles]]
[[Category:Nintendo Entertainment System emulators]]
+
[[Category:Sega consoles]]
[[Category:PC Engine (TurboGrafx-16) emulators]]
+
[[Category:Sega Dreamcast emulators|*]]
[[Category:Game Boy emulators]]
+
[[Category:Sixth-generation video game consoles]]
[[Category:Game Boy Advance emulators]]
 
[[Category:PlayStation emulators‎]]
 
[[Category:Master System emulators]]
 
[[Category:Sega Genesis emulators]]
 
[[Category:Virtual Boy emulators]]
 
[[Category:Netplay]]
 
[[Category:Windows emulation software]]
 
[[Category:Linux emulation software]]
 
[[Category:macOS emulation software]]
 

Revision as of 16:56, 21 September 2021

Sega Dreamcast
DreamcastConsole.png
Developer Sega
Type Home video game console
Generation Sixth generation
Release date 1998
Discontinued 2001
Predecessor Sega Saturn
Emulated

The Dreamcast is a sixth-generation console released by Sega on November 27, 1998 in Japan and later on September 9, 1999 in NA. It retailed for $199.99. It had a Hitachi SH-4 RISC CPU at 200 MHz with 16 MB of RAM and 8 MB of VRAM. It had a PowerVR2 GPU at 100 MHz, which theoretically was capable of pushing 3 million polygons/second on-screen. There is a 2 MB audio RAM, which complemented a powerful 67 MHz Yamaha AICA sound processor, with a 32-bit ARM7 RISC CPU core. The audio chip could generate 64 voices with PCM or ADPCM codec and provided ten times the performance of the Saturn's sound system.. Sega also released the Naomi, an arcade system board with similar components to the Dreamcast. Sammy's Atomiswave arcade board was also based on the Dreamcast and Naomi.

Sega collaborated with Microsoft on the Dreamcast's development, and this partnership would continue later with the Xbox. What came out of this was the possibility for games to be developed for an optimized version of Windows CE (with DirectX) on each disc. However, Windows CE wasn't mandatory to use and most developers opted for Sega's development tools instead out of convenience. Even in major emulators, this aspect isn't implemented (or implemented well).

Emulators

Name Platform(s) Latest Version Libretro Core Naomi Atomiswave Windows CE FLOSS Active Recommended
PC / x86
DEmul Windows 0.7 Build 280418
redream Windows Linux macOS 1.5.0 (Windows, macOS, Linux, Raspberry Pi)
1.2.07 (Android)
Flycast Windows Linux macOS CI Builds
reicast Windows Linux CI Builds (Not Working)
r8.1 (Snap Store)
~
nullDC Windows 1.0.4 r150 ~
Makaron Windows T12/5 ~
WashingtonDC Linux git
Lxdream Linux macOS 0.9.1
Chankast Windows 0.25
MAME Windows Linux macOS FreeBSD 0.264 ~ ~
Mobile / ARM
redream Android Linux ARM 1.1.98 (Android)
1.5.0 (Raspberry Pi)
Flycast Android iOS CI Builds ~ ~
reicast Android Dragonbox Pyra r20.04 (Android)
Pyra Build
~
Console
Flycast Switch CI Builds
nullDC PSP PSP git 1.2.1 ~
nulldc-360 Xbox 360 git ~

Comparisons

DEmul
Has the highest compatibility and accuracy, but it' Windows-only and closed-source. It supports Windows CE games, but in general, they run worse than standard Dreamcast titles. It's also more resource-intensive than other emulators.
redream
Multi-platform and easy to use, but it's closed-source. Compatible with 90+% of the Dreamcast library (Windows CE now supported), has a good user interface, is easy to set up, and can run without a BIOS. Runs on low-end machines provided that they support OpenGL 3.1. There's a payware premium version that provides high-definition rendering.
nullDC
Can run a lot of games at great speed on mid-end PC and it's open-source, however, it's no longer developed and the more recent forks have improved upon it.
reicast
Eventually, nullDC's author forked his own project into reicast, with the main objective to widen platform availability to smartphones and tablets. While wider availability is generally a good thing, this resulted in cutting accuracy corners from the nullDC codebase to achieve the speed goals necessary to run on these platforms. Advancements in mobile hardware should have led to the removal of such "hacks"; however lack of developer resources and interest led to long delays in Reicast development, and the codebase remained virtually untouched for years before the RetroArch team began working with it as part of a "Reicast core", later named Flycast.
Flycast
Fork of reicast available as a standalone emulator and as a libretro core. Libretro collaborators, primarily flyinghead, dramatically improved Reicast in areas such as graphics, input, system clock, and Dreamcast VMU. Atomiswave and NAOMI SH-4-based arcade systems have also been added to great fanfare[1], along with support for MAME's popular CHD format. Even full MMU support, which is needed to run WinCE-based games such as "Armada", "Half-Life" and "SEGA Rally Championship 2", has recently been tackled through an experimental branch (anyone following Dreamcast emulation over the years understands what a tough nut this is to crack). Aside from some audio stuttering issues in games such as "Looney Toons Space Race" and "Resident Evil: Code Veronica", this is a highly compatible and accurate emulator.
Makaron
One of the only two closed-source Dreamcast emulators that can properly play Windows CE games.

Emulation issues

For the emulators that are either mature or maturing, a very large percentage of games work well, but some games still have problems and glitches.

VMU emulators

While some Dreamcast emulators can leverage the screen of the VMU while the game is running, none of them allow you to play the minigames developed for it. See the main page on VMU emulation here.

Downloads

References

Dreamcast logo.png
Consoles: SG-1000Master SystemGenesis / Mega DriveCD32XPicoSaturnDreamcast
Handhelds: Game GearVMU / VMS
Arcade: System seriesModel 1Model 2Model 3NAOMI