All Projects → finalburnneo → Fbneo

finalburnneo / Fbneo

Licence: other
FinalBurn Neo - We are Team FBNeo.

Labels

Projects that are alternatives of or similar to Fbneo

Chip8
🎮 ‎ A Chip-8 emulator written in JavaScript for web, CLI, and native UI
Stars: ✭ 258 (-18.35%)
Mutual labels:  emulator
Ps4delta
Experimental PlayStation 4 Emulator
Stars: ✭ 277 (-12.34%)
Mutual labels:  emulator
Zelos
A comprehensive binary emulation and instrumentation platform.
Stars: ✭ 298 (-5.7%)
Mutual labels:  emulator
Jsbeeb
Javascript BBC micro emulator
Stars: ✭ 261 (-17.41%)
Mutual labels:  emulator
Gnte
simple Global Network Topology Emulator
Stars: ✭ 271 (-14.24%)
Mutual labels:  emulator
Apple2js
An Apple II emulator written in Javascript
Stars: ✭ 284 (-10.13%)
Mutual labels:  emulator
Riscv Rust
RISC-V processor emulator written in Rust+WASM
Stars: ✭ 253 (-19.94%)
Mutual labels:  emulator
Retroesp32
Retro ESP32 is a turbo charged Odroid Go Launcher, Emulator and ROM Manager
Stars: ✭ 313 (-0.95%)
Mutual labels:  emulator
Amiberry
Optimized Amiga emulator for the Raspberry Pi and other ARM boards
Stars: ✭ 270 (-14.56%)
Mutual labels:  emulator
Pyboy
Game Boy emulator written in Python
Stars: ✭ 3,326 (+952.53%)
Mutual labels:  emulator
Mesen S
Mesen-S is a cross-platform (Windows & Linux) SNES emulator built in C++ and C#
Stars: ✭ 267 (-15.51%)
Mutual labels:  emulator
Road To Yuzu Without Switch
This Repo explains how to install the Yuzu Switch Emulator without a Switch
Stars: ✭ 267 (-15.51%)
Mutual labels:  emulator
Rvemu
RISC-V emulator for CLI and Web written in Rust with WebAssembly. It supports xv6 and Linux (ongoing).
Stars: ✭ 289 (-8.54%)
Mutual labels:  emulator
Simpleator
Simpleator ("Simple-ator") is an innovative Windows-centric x64 user-mode application emulator that leverages several new features that were added in Windows 10 Spring Update (1803), also called "Redstone 4", with additional improvements that were made in Windows 10 October Update (1809), aka "Redstone 5".
Stars: ✭ 260 (-17.72%)
Mutual labels:  emulator
Fs Uae
Cross-platform Amiga emulator
Stars: ✭ 304 (-3.8%)
Mutual labels:  emulator
Ktnes
A multiplatform NES emulator written in Kotlin
Stars: ✭ 257 (-18.67%)
Mutual labels:  emulator
Elmboy
A Nintendo™ Game Boy™ Emulator written in Elm.
Stars: ✭ 285 (-9.81%)
Mutual labels:  emulator
Docker Android
Android in docker solution with noVNC supported and video recording
Stars: ✭ 4,042 (+1179.11%)
Mutual labels:  emulator
Zesarux
ZEsarUX - ZX Second-Emulator And Released for UniX
Stars: ✭ 307 (-2.85%)
Mutual labels:  emulator
Inds
Revival of the Nintendo DS emulator for iOS
Stars: ✭ 293 (-7.28%)
Mutual labels:  emulator

FinalBurn Neo

Official Forum: https://neo-source.com

Discord: https://discord.gg/8EGVd9v

This is the official repository of FinalBurn Neo, an Emulator for Arcade Games & Select Consoles. It is based on the emulators FinalBurn and old versions of MAME

Use of this program and its source code is subject to the license conditions provided in the license.txt file in the src folder.

Work in Progress builds

If the below build status badge is green, you can download the latest builds from this repository. Please note that if the below build status badge is not green then the build will be out of date. As this build is of the last commit occasionally you might run into incomplete code, crashes or other issues that official releases will not have. Also note that the dates might be wrong against the downloads, but if the badge is green the downloads will be of the latest commit.

Build status

Here is the build status of the other versions for which we don't supply a binary directly. A red badge against a platform will indicate that something is wrong with that build. Currenty Raspberry Pi builds are missing from CI, but will one day be added:

SDL2 SDL1.2 macOS VS X64 VS win32

Ports

Raspberry Pi build instructions.

macOS build instructions and releases.

LibRetro port with builds availble via RetroArch for a lot of cool platforms.

For SDL1.2 builds just type make sdl (requires SDL1.2 and GCC, make, perl and nasm) instructions

For SDL2 builds just type make sdl2 (requires SDL2, SDL2_image, gcc, make, perl and nasm) instructions

Reporting Issues

Please raise an issue on the project GitHub or report on the forums at Neosource

What about FB Alpha?

Many of the developers of this project also worked on FB Alpha. Due to a controversy, we no longer do, and recommend that everyone use this emulator instead.

Contributing

We welcome pull requests and other submissions from anyone. We maintain a list of known bugs and features that would be nice to add on the issue tracker, some of which would be a good starting point for new contributors.

One of the focuses of FBNeo is ensuring that the codebase is compilable on older systems. This is for many reasons, not least because older hardware still has a use outside of landfill or being stored in a recycling center, but also it can be a lot of fun porting and running FBNeo to other platforms. Currently, this means we will always aim for C++03 compliance as a minimum. Any pull requests should keep this in mind!

Notes on Contributions

In the root of the source tree there is an .editorconfig that mandates:

  • tabs for indentation
  • tabs use 4 columns

Please see the following function for some ideas on how naming, brackets and braces should be

void FunctionName(UINT8 var1, UINT16 var2)
{
	UINT64 result;
	if (var1 * var2 >= 10) {
		result = var1 * var2;
	} else {
		result = var1;
	}
}

Source tree structure

The source for FBNeo is layed out in a similar way to how things were in the days of the original FinalBurn. It's just that there are now more directories and source files as the emulator has grown significantly.

src/
--/burn			<-- This is where the emulation code lives
----/devices		<-- This is where emulated devices (EEPROMS, etc) live
----/drv		<-- This is where the drivers for Games and Systems live
----/snd		<-- This is where the emulation for sound chips and other sound generating devices live
--/burner		<-- This is where the frontend code lives
--/cpu			<-- This is where the CPU emulation lives
--/dep			<-- This is where external dependencies live (such as libpng)
--/intf			<-- This is where the platform specific code for each platform that FBNeo supports live (e.g. Video and Sound output)

Porting FBNeo to different systems

In the main source tree, you will see in the intf directory various implementations for different platforms. You should look in here when porting to new platforms. We also encourage new ports, and are happy to have them merged in to the main sourcetree. There is probably a project there for someone to re-implement some of the older ports using the intf standard, should they want to.

For portability we define the following types

unsigned char   UINT8;
signed char     INT8;
unsigned short	UINT16;
signed short	INT16;
unsigned int	UINT32;
signed int      INT32;
signed int64	INT64;
unsigned int64  UINT64;

It is recommended that you take a look at the other #defines and structs in the header files in Burn and Burner, and don't forget that some of the existing code in the intf directory will come in handy for new ports.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].