TASEmulators / TASEmulators/BizHawk

[Core Port Req.] Flycast - Sega Dreamcast

Open
#4,305 4 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Request: New core/port/re-port
Dominant language
C#
Stars
2.8k
Forks
468
PR merge metrics
No merged PRs in 30d

Description

Making an updated version over #856 with information.

Upstream info
  • Target platforms: win/mac/tux
  • Source repo
  • Language(s): C++ & C (libretro API)
  • License: GNU GPLv2

Originally based on reicast, before things happened. :)

Merits

Probably one of the biggest things it has going for it-- besides Dreamcast games is that it has slowly improved on its NAOMI support, and can be a reason to hide out the MAME support we have as that has worse performance on NAOMI titles.

Image Image

It also has RetroAchievements and Custom Textures (probably less of a requirement to get on first deployment, even though as showcased by Mupen there is a demand).

And it supports a variety of controller types such as Keyboard (The Typing of the Dead), Mouse (Quake III Arena), Light-Gun Twin Sticks, and the ASCII Mission Stick.

Technical details

For the renderer backends it features; OpenGL, Vulkan, Direct 3D 9/11.

Many of the settings it has can probably be tucked away in a "users don't need to touch this" such as setting Transparent Sorting to Per Pixel by default, and then figuring out what to do with CPU Mode as even though Interpreter is much more accurate, it's much more taxing (also having overclocking inaccessible).

Displaying the VMU might be a nice touch, as Flycast does it by default either ontop of the game, or off to the side (in full screen).

Image

Obviously people would still like their goodizers especially if it helps for them setting up certain tricks if it makes it easier to see what they're doing, but also being able to disable Fog for instance if there's tricks that require basically "flying blind" depending on the game.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linked Flycast source repository and its libretro API boundary, then compare the requested Windows, macOS, and Linux targets with BizHawk's existing core-port approach. Done means a decided integration scope and a working Flycast core with the relevant renderer, controller, and configuration requirements addressed; this issue does not name files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, cpp, csharp
Domain
game-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.