metroboy
eurorack
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.
metroboy
-
When would you ever want bubblesort?
He wrote a game engine, it renders transparent items using the painter's algorithm, which requires the items to be sorted in Z. He has a routine that iterates over all items to render them, and bubble-sorts the items in-place while iterating over the items (all in the same thread). The "compare and swap" in this case is the innermost functionality of bubblesort.
I assume the author is https://github.com/aappleby but I don't see any obvious candidate for this code. Maybe this? https://github.com/aappleby/metroboy but I can't see why a gate-level emulator woudl need to render transparent items using painter's algorithm.
-
Documentation for cycle accurate Game Boy CPU
If you want to go deeper, you can look at the reverse engineered schematic of most of the stuff except the CPU core in the DMG-CPU-Inside project. You could also consult the MetroBoy project, which builds on the previous project and aims to be accurate pretty much down to the logic gate level.
-
Game Boy PPU Pixel Pipeine
Well then, here's the ground truth - https://github.com/aappleby/MetroBoy/blob/master/src/GateBoyLib/GateBoyPixPipe.cpp
-
GameRoy: a cross platform and highly accurate Game Boy emulator
First I would try to deduce the timing from this gate-level simulation of the game boy, but the master branch was broken at the time, so I didn't manage to compile it. So, I tried deducing it from its underling reverse engineered schematics, but it would take too much time, if it even was possible.
-
Is full-speed SNES possible purely in JavaScript?
You might find my hobby project interesting - https://github.com/aappleby/MetroBoy
-
The tooling is the language?
Did you know the original Game Boy has non-deterministic behavior? Due to some strangeness in the integrated circuit that provides the CPU and some related parts (the SoC (system on a chip)), the same ROM may behave differently at different times when you'd think it should not. GateBoy is an attempt to make a perfect gate-level emulator for the Game Boy. Its README says:
- Good practices for Batch rendering dynamic quads.
-
MetalNES: Transistor Level NES Simulation
Reminds me of GateBoy, which was posted a while back: https://news.ycombinator.com/item?id=28396927, https://github.com/aappleby/MetroBoy
GateBoy runs surprisingly fast for a gate-level simulation.
- Gameboy - Trying to understand Sprite FIFO behavior in the PPU
- Reverse-engineering the Yamaha DX7 synthesizer's sound chip from die photos
eurorack
-
Ask HN: Create audio software akin to physics engines?
Search "physical modeling" on dafx.de: https://www.dafx.de/paper-archive/search.php?q=physical+mode...
You might also like to search "analog modeling" or "virtual analog" for models of analog electronic circuits (distortion pedals, filters, etc.)
Book about modeling, eg., car engines in Pure Data (eg., for games): https://mitpress.mit.edu/9780262014410/designing-sound/
You might check out the source code to Émilie Gillet's (of Mutable Instruments) Rings and Elements modules: https://github.com/pichenettes/eurorack
"Designing the Make Noise Erbe-Verb" Reverb Design Lecture": https://www.youtube.com/watch?v=Il_qdtQKnqk&t=18s
Sean Costello's (of Valhalla DSP) blog about mostly reverbs: https://valhalladsp.wordpress.com/
- C++ Coin toss help
- DIY Wavetable Synthesis Sequencer
-
Are Mutable Instruments open source? And how to do them yourself?
Has anyone tried using the code here: https://github.com/pichenettes/eurorack/tree/master/plaits
-
Oversampling to avoid aliasing
The Plaits eurorack synth module is open source, and while I haven't gone through the code myself much, you might be able to find this technique in action (it tops out at 48k though it looks like), or some other good ideas: https://github.com/pichenettes/eurorack/blob/master/plaits/dsp/oscillator/variable_saw_oscillator.h
-
Any open source repositories/projects written in C++?
It's all audio focused, but mutable instruments modules are all open sourced with hardware designs as well here: https://github.com/pichenettes/eurorack
- Modular grid entry for the Behringer Abacus
- Where is a good place to get started with DSP coding?
-
DIY synths questions
No to all of those except Mutable Instruments. And they don’t even sell kits, but all their stuff is open source. The GitHub is here: https://github.com/pichenettes/eurorack
-
DIY mutable instruments
If you’re having problems with navigating the links, then you’re really not going to like the fact that you’ll have to make your own Gerbers from the PC Board files or load the firmware onto the microcontroller on your own.
What are some alternatives?
SkyEmu - Game Boy Advance, Game Boy, Game Boy Color, and DS Emulator
Rack - An optimised fork of VCVRack virtual modular synthesizer primarily for Raspberry Pi, Tinker Board and similar boards.
rohd - The Rapid Open Hardware Development (ROHD) framework is a framework for describing and verifying hardware in the Dart programming language.
patchcab - Modular Eurorack style synthesizer made with Web Audio
pokegb - A gameboy emulator that only plays Pokemon Blue, in ~50 lines of c++.
ctag-tbd - CTAG TBD >>to be determined<< an extendible open source Eurorack sound module
Espeon - Gameboy emulator for the ESP32
Mozzi - sound synthesis library for Arduino
mooneye-gb - A Game Boy research project and emulator written in Rust
Spectrum - AudioUnit ports of popular open source eurorack modules
openmoji - Open source emojis for designers, developers and everyone else!
react-piano-roll - piano roll component