moa
An emulator for various m68k and z80 based computers, written in Rust. Currently it has support for the Sega Genesis, TRS-80, and Computie (my own project), with Macintosh support in the works (by transistorfet)
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. (by TomHarte)
moa | CLK | |
---|---|---|
5 | 22 | |
49 | 886 | |
- | - | |
8.1 | 9.9 | |
19 days ago | 9 days ago | |
Rust | C++ | |
GNU General Public License v3.0 only | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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
Posts with mentions or reviews of moa.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-07-10.
-
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
CLK
Posts with mentions or reviews of CLK.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-08-01.
-
Bit random but does anyone know how possible it is to get this look within Stella? [Pallete/TV Effects].
Not Stella, but the Clock Signal emulator does a great job of emulating the TV effects. The 2600 emulation isn't quite as good as Stella, though.
-
Giveaway: Mac Plus with Hard Disk 20 - Chicago area
I’ll be visiting Chicago on the 9th for a single night, and the author of this Mac Plus emulator which attempts to be cycle-accurate and therefore it’d be really great to have a real machine to test against… but I’m clueless at electrical work. So factor that in re: the retirement that the machine be used by its direct recipient.
-
Of the more rarely seen here: the Apple II, why not?
The repository is here; binary releases for the Mac are in the appropriate section though HDV support and a few other relevant tweaks haven’t made it into a release yet so you can’t yet run Total Replay as shown. You’d probably need to use disk images.
-
Looking for target for next project
Caveats being stated: https://github.com/tomharte/CLK
-
Vi-mode for your Apple II prompt
Thanks for the confirmation! I just wrote an Issue. I hope Tom gets it sorted out. I normally use OpenEmulator on the Mac but I like the simplicity of CLK and would like to make it my main emulator.
- Clock Signal: an emulator for tourists that seeks to be invisible
- TomHarte/CLK: A latency-hating emulator of 8- and 16-bit platforms: the Acorn Electron, Amstrad CPC, Apple II/II+/IIe and early Macintosh, Atari 2600 and ST, ColecoVision, Enterprise 64/128, Commodore Vic-20 and Amiga, MSX 1, Oric 1/Atmos, Sega Master System, Sinclair ZX80/81 and ZX Spectrum.
- Clock Signal ('CLK') is an emulator for tourists that seeks to be invisible
-
But does it run Doom? Ummm, not exactly.
It's available via GitHub but fair warning: it's a large project and is the one I used to learn modern C++ so some of the older parts of it aren't fantastic.
What are some alternatives?
When comparing moa and CLK you can also consider the following projects:
Nuked-MD-FPGA - Mega Drive/Genesis core written in Verilog
zx-sizif-512 - ZX Spectrum CPLD-based clone for rubber case
m100LE - A Wordle-like game for the vintage Tandy (Radio Shack) Model 100
qemu
martypc - An IBM PC/XT emulator written in Rust.
GBA - Game Boy Advance Bare Metal Assembly Programming
Nuked-MD - Cycle accurate Mega Drive emulator
gb-test-roms - Collection of Game Boy test roms.
piston - A modular game engine written in Rust
decaf-emu - Researching Wii U emulation.
freebee - FreeBee - AT&T 3B1 / 7300 UNIX PC emulator
rlengine-msx1 - RetroDeluxe Game Engine for MSX computers