r/EmuDev • • 19h ago

Extended my GB emulator built in pygame, python to GBC

8 Upvotes

AI disclaimer: AI was used only for debugging and disassembly, no AI generated code was used ever, and no agentic code as well

Hello everyone, today I wanted to showcase my GBC emulator that I derived from my earlier GB implementation: https://github.com/atifcodesalot/hazelnut-gb-emu. It was a fun (and buggy) experience. The pypy runtime gracefully shouldered the double speed mode! It is also backwards compatible with the GameBoy. Did you know that the DMG compatibility mode introduces actual three new palettes for the original DMG games? Anyways it currently supports MBC 1, 2, 3 and 5. I have no idea how to implement MBC7 for the Kirby Tilt 'n' Tumble 😭 not because of the EEPROM but also the accelerometer emulation. Also, still working on the sound! I also plan on implementing serial functions for LAN play (hopefully). What do you think? Would love to discuss technical stuff and implementation details! Enjoy. Oh, and don't forget to clone the repo and play some stuff yourself I recommend Pokemon Yellow


r/EmuDev • • 1d ago

GB Getting Past Intense Burnout

17 Upvotes

Hello, I have been working on a Game Boy emulator in C for about 3 months now. This was my first largescale project in C, as before I did all my projects in C++ and really enjoy C++, specifically for graphics which is my other interest. However, having just graduated college and being more practical, my other passion is low level systems/computer architecture/embedded systems (I kind of lump them all together). Thinking that an emulator would be a good project, and deciding C would be a good language to do it in as I have a bit of exp (not near as much as C++) and is more useful in embedded which is a more practical career field than graphics and another one of my interests, i hit the ground running.

for about a month or 2 i did nothing but code on this emulator. Getting the instructions to execute correctly was my main thing at first, then setting up the bus, connecting the CPU and the Bus, and once I passed all of Blargg's test roms for almost all CPU instructions, I switched gears to the timers and interrupts so that I could pass test 02-interrupts, the only one that wasnt passing (because its timers and interrupts).

However, having feeling very accomplished already, I decided to take 2 weeks off before Halloween to play resident evil and chill and watch horror movies. The day after halloween I went to work and on my lunch break opened up my laptop to do some coding. But I just couldn't get anywhere! I was trying to remember what all my code was, and I guess I am just so used to programming in C++ where its easier to structure code with classes that I was just lost, even though my code honestly isn't that bad ( i dont think). Same thing the next day, and the next. 4 weeks later and I just cannot get anything done now and I have completely lost my momentum. I dont know if I am just really bad at structuring code in C or if this is normal in C, or if maybe im just at a very difficult part in the emulator (failing on HALT), but I have lost any and all momentum.

Anyways, here is the repo:

Arden-Stanley/game-boy-emulator: Implementation of my own GameBoy emulator

If anyone has any tips on how to prevent burnout or just how to do better with my structure in general, please let me know because I feel like im losing my mind.


r/EmuDev • • 1d ago

Just tryna run a Vtech V.Smile on a ds lite 🥴

Post image
6 Upvotes

I am creating this emulator :) it’s SLOW


r/EmuDev • • 2d ago

Question [Project] Astro Bot running as a native Windows PC port – 120+ FPS with DLSS Multi Frame Generation!

Thumbnail gallery
0 Upvotes

Help optimizing


r/EmuDev • • 2d ago

Elppa: An Apple I Emulator that Runs in your Browser

Post image
1 Upvotes

Earlier this year, I developed an instruction-level accurate MOS 6502 CPU emulator in C# called Velutia as a learning project. A few months ago, I decided to use it as the basis for Elppa, an Apple I emulator.

Using Blazor WebAssembly for the front-end, Elppa is hosted on Azure Static Web Apps and supports both desktop and mobile. It comes pre-loaded with some games, and you can also write your own programs in either Integer BASIC or machine code.

Give it a try here:

https://elppa.markjames.dev


r/EmuDev • • 3d ago

Video Diablo running on a real Nintendo 64 — DevilutionX port (kestrel64-sdk)

Thumbnail
youtu.be
6 Upvotes

Hi! This is DevilutionX (the open-source Diablo engine) ported to the N64 with kestrel64-sdk, a bare-metal SDK I'm writing from scratch (own RSP microcode, no libultra/libdragon).

Filmed off the TV on a stock N64 + Expansion Pak, booting from a flashcart. Tristram, the cathedral and the first fights, with music and sound.

It's work in progress. No ROMs or game data are distributed: you need your own copy of Diablo.

Happy to answer technical questions!


r/EmuDev • • 4d ago

Open Source - Sega Model 1&2 emulator

Thumbnail
github.com
5 Upvotes

r/EmuDev • • 5d ago

feel like I'm getting somewhere 68000 emulator and micro bios

8 Upvotes

Really starting to make progress, this is an emulated 68000 with virtual keyboard, block device, and video renderer. It boots into a bios using picoLibC and littleFS support, the bios has a very crude cli which can execute re-locatable binaries loaded into the heap

I need to tidy a few loose ends before it goes on codeberg...


r/EmuDev • • 6d ago

emuCasioCalc: running Casio fx-CG50 add-ins without booting the OS

1 Upvotes

Hi all!

I've been building an emulator for Casio's graphing calculator add-ins (fx-CG50/CG10/CG20 colour models and the monochrome fx-9860G family). It doesn't boot the calculator's OS. It runs the add-in's SH4AL-DSP code on an interpreter and handles two kinds of add-ins:

OS-based add-ins (PrizmSDK / libfxcg). These call the OS by jumping to 0x80020070 with a syscall number in r0. The emulator catches that jump and runs the syscall on the host instead. 193 of the 273 syscalls known to libfxcg are implemented so far.

gint add-ins. gint is the unikernel most modern add-ins are built on, and it takes over the hardware, so HLE doesn't help there. For those, the emulator models the parts of the SH7305 that gint drives: interrupt controller, timers, RTC, DMA, key scan interface, clock registers, exceptions and the R61524 display controller. The monochrome models use the same SH7305 with a 128×64 T6K11 display, and gint's grey engine shows its four shades.

Some parts I enjoyed:

  • Fonts without shipping Casio's code. You can load a dump of your own calculator's OS. The OS's glyph lookup syscalls (0x01E8-0x01EB) then run on a private CPU against that dump to find each character's bitmap, so text looks exactly as it does on the calculator, whatever the OS version.

  • Sound. Add-ins make sound by toggling the serial port's TX pin on the 2.5 mm link jack. The emulator plays that pin on your speakers or writes it to a .wav.

  • Live screen from real hardware. Over USB, it shows a real calculator's screen (Screen Receiver mode, using the protocol Cahute documented).

  • Tooling. Hot reload on rebuild, headless key scripts, GIF recording. The demo GIFs in the README were recorded headless from scripts.

C11 + SDL3, Linux and macOS, MIT licensed: https://github.com/joserodpt/emuCasioCalc

Questions and suggestions on accuracy or timing are welcome. Thanks for reading!


r/EmuDev • • 6d ago

GB I built Riggurly: a Game Boy emulator that you can run from your terminal as well as an emulator core to allow for frontend development.

0 Upvotes

r/EmuDev • • 7d ago

CHIP-8 CHIP-8 Handheld Optimized for Small Scale Production

Post image
48 Upvotes

I've spent almost a year to build this CHIP-8 Handheld Game Console.

As for the emulator itself, I made it on my own. It's written in C. I've integrated it into the firmware.

I made everything else on my own, including the electronics, enclosure, firmware, website, etc.

AFAIK, this is the most well-polished, production-ready CHIP-8 Handheld Game Console ever published as of the time of writing. And it's fully open source!

Feature:

  • Fully Compatibility with VIP and SuperCHIP instructions

  • Partial support for XO-CHIP (4K memory, monochrome only)

  • Up to 90 instructions/frame

  • Game storage on TF card (Supports FAT16/FAT32, 8.3 filename)

  • White labeling support (enclosure label, boot screen, user manual graphic, etc.)

  • Optimized for small scale production (10~50 units per batch)

  • Fully open source

More info:

Ordering:

This is a hobbyist project. I mainly intend to sell in small scale to fellow Toki Pona speakers and other friends I've got. I'm not sure if there's even a demand for the mass public. If you're interested tho, please fill in the Ordering Form here: https://ilomusi8.sadale.net/en/order . The estimated price is US$30~60 plus shipping.

Alternatively you can build a unit on your own. The design is fully open source. Please visit the Github page for more info.


r/EmuDev • • 7d ago

Video Vi Mostro I Miei 2 Emulatori In Python

8 Upvotes

Nell Arco di due mesi oltre al emulatore del gameboy o finito oggi 2 emulatori piu importanti quello del nes “PyNES-Win” E Intel 8088 “WinInt8088”. Per il nes mi sono ispirato a NesEmupy gli o copiato la parte dell inserimento della rom e i dati che stanno venendo mandati. Nel Intel 8088 invece mi sono ispirato a PyPc il codice o fstto tutto io la logica invefe lho presa da lui e o copiato 2 dei file piu importanti telnet e vnc li o copiato adattai al mio codice e mi servivano per far vedere quello che succedeva nel emulatore senza andare a casaccio


r/EmuDev • • 8d ago

CHIP-8 Finishing touches on CHIP-8 interpreter

16 Upvotes

Hi, all.

I have come close to completing my CHIP-8 interpreter. I set out with the goal of completing a project, since I have been plagued with the inability to do so for years. I was hoping to garner some feedback about design, C language use, or anything else you would like to see implemented.

During this project, I finally made the decision to be done with AI for personal use. In the beginning I used it lightly to ask questions when I got stuck, but I felt it was taking away from the experience of building something all by myself. All of the code is hand-written by me.

Thanks for your time!


r/EmuDev • • 8d ago

First ColecoVision BIOS screen

Post image
40 Upvotes

r/EmuDev • • 8d ago

SueMeSony (PS Vita emulator) progress

21 Upvotes

Been working on my PSVita emulator time to time. Boots Minecraft with extra funny spices, some android games (RVGL, FF3 3D).

Feel free to ask questions on emudev discord, won't be on time to time, but I'll respond related to this emulator


r/EmuDev • • 8d ago

Video Consoles 2.0 TestFlight - Swap devices and Full-speed Dreamcast on (A12) Apple TV

Thumbnail
youtube.com
0 Upvotes

*AI tools are used only inside of Xcode for automated testing. All code is written by humans, reviewed by those same humans, and presented for final approval to a very picky chihuahua named Pepper.

Check it out for yourself! Join the TestFlight:

https://testflight.apple.com/join/4QYsYq6u

Consoles is an App Store approved (JIT-less) multi-emulator for macOS, iOS, tvOS, and visionOS. It syncs over iCloud across your Apple devices and allows you to play your favorite classic games on Mac and immediately pick them up on your iPhone.

In Consoles 2.0 (Beta), GameCube is very playable on the 7-year old A12 Apple TV and near-perfect on A15 & A19 Apple TVs. Likewise Wii is very playable on A15 Apple TV and will be near-perfect on A19 TV.

Supported Systems: 

  • Nintendo: NES, Famicom Disk System, Super NES, Nintendo 64, GameCube, Wii, Virtual Boy, Game Boy, Game Boy Color, Game Boy Advance, Nintendo DS, Nintendo 3DS, PokĂŠmon mini

  • Sega: SG-1000, Master System, Genesis, Sega CD, 32X, Saturn, Game Gear

  • Sony: PlayStation

  • Atari: Atari 2600, Atari 5200, Atari 7800, Lynx

  • NEC: TurboGrafx-16 (PC Engine), TurboGrafx-CD, PC-FX

  • SNK: Neo Geo Pocket, Neo Geo Pocket Color

  • Bandai: WonderSwan, WonderSwan Color

  • Others: ColecoVision (Coleco), Intellivision (Mattel), Odyssey² (Magnavox), Vectrex (GCE), 3DO (Panasonic), Supervision (Watara)

Please join the TestFlight and give it a try; we’d love to see any bugs you have and get them fixed before App Store release!!

Thanks for playing!!


r/EmuDev • • 9d ago

Server Emulation Sempre novidades no ReEmu

Thumbnail gallery
0 Upvotes

r/EmuDev • • 10d ago

GB.js - GameBoy and GBA emulator core in Typescript

Thumbnail raw.org
1 Upvotes

r/EmuDev • • 10d ago

Mais fĂĄcil que o Retroarch

Post image
1 Upvotes

r/EmuDev • • 10d ago

FOSDEM 27 - Emulator Development Room CFP

Thumbnail fosdem-emudev-room.github.io
11 Upvotes

r/EmuDev • • 10d ago

Question Help, I think I have a problem.

3 Upvotes

So for context, I programmed relatively much in python and learned a bit c++. I wanted to make my first own Emulator, so I jumped right in. I found this guide, (https://austinmorlan.com/posts/chip8_emulator/) read it and after a bit of research immediately started coding. My problem now, is following: I have a history if using AI and not learning how to properly code on my own. It's not like a can't code, made a few games myself already. But I think I just dont have the ability to code by myself. This resulted in my basically just copying large chunks of the code and just like analysing them. Its not like I didn't learn anything (I think I learned quite a lot already) but I't just doesn't feel like my own work/my own interlect, which was what started to make me wanna do it in the first place. I also would say, that I have to google a bunch of the code, to "understand" it. I mean I understand the principles I have to use, but it feels like I cant apply them. I also did use AI about two times, but that was just to research something about how the code worked. I also tried to not look at the code instructions and come up with ideas by myself and that actually worked quite good I would say. I also write a bit of the code myself but alot of it is just copied and analysed by me afterwards. My question is, what do I do now? I surely dont want to quit my project, dont get me wrong it makes hella fun.

Yeah that's it from my side, sorry for the repeating Grammer and the kinda bad English, It's 0:40 am rn and Im hella tired.


r/EmuDev • • 11d ago

Consoles JIT-less Multi-Emulator For Apple Devices Opens Beta To The Public

Thumbnail
gallery
2 Upvotes

(AI tools are used only for automated testing. All code is written by humans, reviewed by those same humans, and presented for final approval to a picky chihuahua.)

The TestFlight for Consoles 2.0 App Store approved (JIT-less) multi-emulator is now available for iPhone, iPad, Mac, Vision Pro and *AppleTV!  It syncs over iCloud across your Apple devices and allows you to play your favorite classic games on Mac and immediately pick them up on your iPhone. The 2.0 Beta includes 3DS, GameCube and Wii support.

https://testflight.apple.com/join/4QYsYq6u

We are looking forward to your feedback as we work toward the public release of 2.0.  It’s the first beta so there are many UI and behavior fixes yet to come, but performance should be spot on and any audio or visual glitches are extremely high priority right now. 

Learn more about us at https://www.reddit.com/user/Total-Letterhead8311/

As always, thanks for playing!

*AppleTV requires another Apple device to load content.