moa VS rust_minifb

Compare moa vs rust_minifb and see what are their differences.

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)

rust_minifb

Cross platfrom window and framebuffer crate for Rust (by emoon)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
moa rust_minifb
5 8
49 953
- -
8.1 6.4
19 days ago 22 days ago
Rust Rust
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.

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
    3 projects | /r/EmuDev | 10 Jul 2022
    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
    5 projects | dev.to | 14 Jan 2022
    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
    5 projects | dev.to | 12 Jan 2022
    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
    2 projects | dev.to | 9 Dec 2021
    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

rust_minifb

Posts with mentions or reviews of rust_minifb. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-15.
  • placing pixels
    4 projects | /r/rust_gamedev | 15 May 2023
    Well, it depends on how you use it; writing to an image buffer isn't much less efficient than writing to any normal buffer (in fact, although displaying your scene to a window efficiently is important, your main bottleneck will be the actual ray tracing loop). You may want to read this article for a practical example of using an ImageBuffer to create and draw a texture with Piston. Other window backends you could use, apart from pixels which was already mentioned in another comment, include minifb and Mini GL, though I haven't personally used them.
  • [Media] Tupper's self-referential formula plotting itself on a framebuffer and more with Rust!
    4 projects | /r/rust | 31 Aug 2022
    After watching the Numberphile video on this formula, I decided to implement it in Rust for fun. It uses minifb for the window creation + framebuffer.
  • Emulating the Sega Genesis - Part II
    5 projects | dev.to | 12 Jan 2022
    Before I could implement the display output, I needed something to draw the images onto. There are quite a few Rust crates available to create a GUI window and update it with 2D graphics. Most of these are of course intended for making games, and also include ways of getting key presses as input, which I'll also need. I looked at Piston, which I've used before on other projects, Macroquad, which also supports web assembly as well as desktop targets, Pixels, which is intended specifically for 2D games, and Minifb, which is also specifically for 2D applications, but is much simpler. I also tried out libretro, which is specifically made for video game emulation, but I found it much more restrictive than the others because of it's narrow focus.
  • Hey Rustaceans! Got an easy question? Ask here (40/2021)!
    14 projects | /r/rust | 4 Oct 2021
    There's several different approaches you could take, but I'd probably suggest macroquad as the easiest. I've also used minifb for windowing + a drawing library like raqote or tiny-skia.
  • Hello, I want to learn how to make emulators. Where to start and for what architecture to write the first project?
    1 project | /r/EmuDev | 30 Aug 2021
    I don't know much about Rust, but I used the C version this library, and I think this is as simple as it gets: Rust MiniFB. Hope this helps
  • inku 0.1.0 – An RGB color backed by a `u32` for simple color manipulation
    2 projects | /r/rust | 3 Jul 2021
    A very simple color manipulation library backed by a u32. My use-case was for use with minifb which uses a u32 frame buffer. Feedback appreciated.
  • Minimal graphics crate for Rust
    12 projects | /r/rust | 26 Apr 2021
    If all you need is a pixel/frame buffer I'd suggest either pixels-rs or minifb.
  • Yet another NES emulator in Rust - feedback welcome
    2 projects | /r/rust | 26 Dec 2020
    In my experience, it really makes no difference what rendering backend you use for something as simple as a NES emulator. The 'pixel_renderer' that i wrote basically does the simplest possible thing i could think of - it takes a pixel buffer in cpu memory, copies it over to the gpu, turns it into a texture and stretches it to cover the entire screen. There seem to be many crates out there that do just this - my choice to roll my own was really one out of curiosity and completionism more than anything.

What are some alternatives?

When comparing moa and rust_minifb you can also consider the following projects:

Nuked-MD-FPGA - Mega Drive/Genesis core written in Verilog

deku - Declarative binary reading and writing: bit-level, symmetric, serialization/deserialization

m100LE - A Wordle-like game for the vintage Tandy (Radio Shack) Model 100

macroquad - Cross-platform game engine in Rust.

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.

simd-json - Rust port of simdjson

martypc - An IBM PC/XT emulator written in Rust.

v4l2loopback - v4l2-loopback device

Nuked-MD - Cycle accurate Mega Drive emulator

pixels - A tiny hardware-accelerated pixel frame buffer. 🦀

piston - A modular game engine written in Rust

ili9341-rs - A WIP, no_std, generic driver for the ILI9341 (and ILI9340C) TFT LCD display