moa
blastem
moa | blastem | |
---|---|---|
5 | 12 | |
49 | 47 | |
- | - | |
8.1 | 0.0 | |
19 days ago | almost 2 years ago | |
Rust | C | |
GNU General Public License v3.0 only | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
moa
-
Structuring NES emulator components in Rust
The code is here if you're interested: https://github.com/transistorfet/moa System is the top level component and devices.rs has the traits that System uses to interact with the components. The machines directory has the system definitions that build a specific machine to emulate.
-
Emulating the Sega Genesis - Part III
A few months ago, I wrote a 68000 emulator in Rust named Moa. My original goal was to emulate a simple computer I had previously built. After only a few weeks, I had that software up and running in the emulator, and my attention turned to what other platforms with 68000s I could try emulating. My thoughts quickly turned to the Sega Genesis and without thinking about it too much, I dove right in. What started as an unserious half-thought of "wouldn't that be cool" turned into a few months of fighting documentation, game programming hacks, and my sanity with some side quests along the way, all in the name of finding and squashing bugs in the 68k emulator I had already written.
-
Emulating the Sega Genesis - Part II
There's not much to it. Only one window can be created at the moment, and input is not yet supported. The threaded option is also not shown here. Before long, the code grew more complicated, and now includes parsing of command line arguments with the clap crate. To see the latest version, check out the Genesis machine-specific binary and the MiniFB host impl and main loop
-
Making a 68000 Emulator in Rust
Since the 68000 has a reasonably orthogonal instruction set, we can break down the opcode word into sub-components, and build up instructions by separately interpreting those sub-components, rather than having a match arm for each of the 65536 combinations. There is a really helpful chart by GoldenCrystal which shows the full breakdown of opcodes for the 68000. We can look at the first 4 bits of the instruction word to separate it into 16 broad categories of instruction, and then further break it down from there. The full code can be seen here
blastem
-
Is there a up-to-date Sega Genesis Standalone Emulator?
The libretro core seems to be outdated according to the GitHub page. It says last commit being on Jul 26, 2022. Meanwhile the standalone is Feb 20th, 2023.
-
How Long Did It Take You to Build Your Second Emulator?
BlastEm is my first reasonably complete emulator, but I had a couple of other emulation projects that didn't really go anywhere previously so you can kind of consider it the second. It took me about two months before I got things sort of working and about 11 months before my first release. It took considerably longer for things to get into reasonably good shape.
- (PSA) RetroArch’s netplay is getting broken again
-
Mega Man The Wily Wars "checksum error" after extracting it from MD Mini
You want to use a modern and accurate emulator like BlastEm
-
Is there a Sega Genesis/Mega Drive emulator that's still supported today?
Blastem is still under development.
- Kega Fusion controller inputs not reading permanently fixed
-
Emulating the Sega Genesis - Part III
Special thanks to ComradeOj for the demo ROMs, and Mike Pavone and the other contributors for BlastEm (github mirror). Without these, it would have taken a lot more time to get this working.
- Our contribution to the emulation community
-
Sonic CD emulation black screen between levels
Dude, Kega has almost 10 years dead, use BlastEm for Roms games and Genesis Plus GX for SegaCD games.
-
Genesis Plus GX Wide (new widescreen Genesis/MD core for RetroArch) test results (WIP)
This is the libretro fork, which is out of date with upstream, because of course it is, that's how libretro works: https://github.com/libretro/blastem
What are some alternatives?
Nuked-MD-FPGA - Mega Drive/Genesis core written in Verilog
mame - MAME - Multiple Arcade Machine Emulator
m100LE - A Wordle-like game for the vintage Tandy (Radio Shack) Model 100
RetroArch - Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
CLK - A latency-hating emulator of: the Acorn Electron and Archimedes, Amstrad CPC, Apple II/II+/IIe and early Macintosh, Atari 2600 and ST, ColecoVision, Enterprise 64/128, Commodore Vic-20 and Amiga, MSX 1/2, Oric 1/Atmos, early PC compatibles, Sega Master System, Sinclair ZX80/81 and ZX Spectrum.
Genesis-Plus-GX - An enhanced port of Genesis Plus - accurate & portable Sega 8/16 bit emulator
martypc - An IBM PC/XT emulator written in Rust.
ludo - A libretro frontend written in golang
Nuked-MD - Cycle accurate Mega Drive emulator
duckstation - Fast PlayStation 1 emulator for x86-64/AArch32/AArch64
piston - A modular game engine written in Rust