DMG-CPU-Inside
pandocs
DMG-CPU-Inside | pandocs | |
---|---|---|
4 | 7 | |
312 | 1 | |
- | - | |
10.0 | 10.0 | |
about 4 years ago | over 4 years ago | |
Vue | ||
Creative Commons Attribution Share Alike 4.0 | Creative Commons Zero v1.0 Universal |
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.
DMG-CPU-Inside
-
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.
-
Gate level chip documentation?
There's an ongoing project like this for the Gameboy that aims to build a logic block level description of the CPU and peripherals. There's also an emulator that's in very early stages (not sure if it's working at all yet). There's another edge accurate GB emulator which I don't believe is released yet, but should be work in progress.
-
Reverse-engineering the interrupt circuitry in the Intel 8086 processor
The furthest I've seen publicly is the original Playstation ASICs. http://psxdev.ru/ [Russian Language]
Similar in time to the playstation ASICs (and similar design in sort of a soup of standard cells on a CMOS process), but at a gate count similar to Ken's fantastic work here on the 8086 is the work reversing the Gameboy SoC: https://github.com/furrtek/DMG-CPU-Inside
-
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.
pandocs
-
GameRoy: a cross platform and highly accurate Game Boy emulator
For Gameboy emulation, one of the most valuable resources are the pandocs: https://gbdev.io/pandocs/
-
I finally wrote my first ever emulator (GameBoy)
During the development, these were the main resources I used: * Pan Docs * CPU instruction table * CPU Manual
-
Are there guides on how any of the gameboys work (ie how they charge, play games etc) and if not how can I go about learning their structure?
if you just want to learn about how the hardware works, pandocs is the definitive guide to the game boy's hardware, and gbatek helped me a ton when writing my GBA emulator (it also includes some docs on the ds/dsi fwiw)
- A Game Boy Emulator written in Rust
- ¿Les interesaría aprender a programar, emulando un Game Boy?
-
[GameBoy] Problem with CD instruction.
Pandocs: https://gbdev.io/pandocs
-
Gameboy Graphics Drawing Question
The Ultimate Game Boy Talk has some amazing information in it. In particular, the info on the pixel fifos was brand new to me. You can certainly write an emulator that runs most software without really understanding them, though.
What are some alternatives?
gameroy - A Game Boy emulator, disassembler and debugger, written in Rust
tsemu - TypeScript Game Boy emulator
SameBoy - Game Boy and Game Boy Color emulator written in C
glutin - A low-level library for OpenGL context creation
gb-ctr - Game Boy: Complete Technical Reference
awesome-gbdev - A curated list of Game Boy development resources such as tools, docs, emulators, related projects and open-source ROMs. [Moved to: https://github.com/gbdev/awesome-gbdev]
gb-research - Game Boy hardware research
cgb-acid2 - 😀 The Acid2 test, now for Game Boy Color! 😀
edge - Edge-accurate Game Boy emulator written in C++
Gameboy-logs - Emulation logs of common beginner ROMs for the Gameboy.
raw-gl-context - cross-platform OpenGL context creation
GB - Game Boy Assembly Programming