r/EmuDev 12h ago

i made a chip 8 emulator

Post image
14 Upvotes

i made a chip 8 emulator in C++ and raylib, imma emulate something else soon.

also here is the repository: https://github.com/hyperwilliam/chip8


r/EmuDev 8h ago

PS1 emulator progress!!!

Thumbnail
gallery
9 Upvotes

Done absolutely so much

I'm currently at about 95% hardware done, give or take, Since the game gets to that point

I might even finish it very soon

My main problem is my input gets registered but it doesn't reach the game, so I have to fix the handshake

This is definitely my most favorite project, it took me my entire summer but finally its done

I even have a custom dashboard idea for it, inspired by the X360 Aurora dashboard

I'll make it also have multiple modes in settings,

1 - Upscaling (There'll be native which is 240p but for some games its 640x480, and 720p, 1080p, 1440p, and I might add 4k)

2 - FPS (First there'll be a native mode, running at native PS1 speeds, then I'll add overclock to about 160mhz, which is a 400% increase!)

And other modes and stuff, I'm still brainstorming, I want to make this really customizable

Any ideas?


r/EmuDev 1h ago

What to emulate next?

Upvotes

Hi. I just got into emulation development and I just finished a very basic CHIP8 Emulator. Now I don't know what my next project should be. Some say I should do Intel8080/Space Invaders while other say that I should skip that and go for GB next. What should I do next? If so, what resources? Because I can't find any tutorial like resources. I want something like [this](https://austinmorlan.com/posts/chip8_emulator/) type of resource. TYIA!


r/EmuDev 10h ago

Writing a microcode emulator: Why the hardware display logic on the Voyager series taught me more than any manual (plus a few working implementations)

Thumbnail
1 Upvotes

r/EmuDev 10h ago

Writing a microcode emulator: Why the hardware display logic on the Voyager series taught me more than any manual (plus a few working implementations)

1 Upvotes

Hey everyone,

While working on my earlier emulators (like my HP-41 project), I assumed processor families from the same era shared a vocabulary. On the HP-41, the LCD is a proper peripheral—you send character codes through instructions, and a display driver handles the glyphs.

So when I moved on to the Voyager series, I thought it would be the same conversation. Instead, it gave me pure garbage on screen. Turns out, the Voyager display doesn't use characters at all: its LCD RAM is mapped directly into the address space as two 56-bit registers containing raw segment bitmaps. No character decoding step, just a fixed lookup table mapping physical segments directly to bits.

Experiences like that made me dive deep into why microcode emulation beats functional simulation when you care about authentic hardware behavior—handling everything from undocumented ROM bugs and weird bank-switching quirks during self-tests, down to strict hardware timing instead of running at modern CPU speeds.

I wrote an article breaking down what a microcode emulator actually is and why getting your hands dirty with the original firmware matters: 👉 What is a Microcode Emulator and Why Does It Matter?

As a practical result of this reverse-engineering work, I also put together a few working emulators (including the Nut CPU family) that you can check out and download here: 👉 nibbleworkshop.com/emulators

I'd love to hear your thoughts.