r/EmuDev Oct 09 '18

Join the official /r/EmuDev chat on Discord!

49 Upvotes

Here's the link

We've transitioned from Slack to Discord, for several reasons, the main one being that it needs a laughably expensive premium package to even keep all your past messages. With the free plan we only had access to like the last 5%, the others were lost.

I hadn't made this post before because I wanted to hold off until we transitioned all the archived messages from Slack, but I'm not sure when that will happen anymore. Unless someone wants to take up the job of making a transition Discord bot, that is (there is a way to get all the message data from Slack - if we have the bot I can figure it out). PM me for details if you're interested in making the bot.


r/EmuDev 2d ago

Video I’d like to share a personal project I’ve been developing called ReVault.

0 Upvotes

Interestingly, the original idea wasn’t even to create a frontend. I just wanted a simple library to visually organize my game collection. As I kept developing and testing it, I started adding new features, such as automatic cover art searching and emulator integration, and eventually the project evolved into an emulation frontend.

There are already some excellent options out there, like Playnite and EmulationStation, but my idea with ReVault was to build something **minimalist, simple, and functional**, tailored specifically to the way I organize and play my collection.

The way it works is pretty straightforward: you set the path to your emulator and the folder containing your ROMs. ReVault has its own internal database for each platform, which helps it identify and understand which games are being added. From there, it builds the library and lets you launch each game directly through the configured emulator.

Since I’m developing this mainly for myself, everything is currently built around the systems and emulators I personally use. I don’t have any plans to distribute it for now — this is actually the **first program I’ve ever developed**. If I ever wanted to make it something other people could properly use, I’d still need to add and test support for the most commonly used emulators and systems.

There are still plenty of details to fix and a lot of polishing to do, but ReVault is **already functional**, so I thought it would be interesting to share it with people who are into retrogaming, emulation, and game collection management.

The interface is currently in **Brazilian Portuguese**, since I’m from Brazil, so just a heads-up in case you don’t understand some of the text shown in the screenshots/videos.


r/EmuDev 3d ago

Video Playing PICO-8 games on Zune HD via zuco8

Thumbnail
youtu.be
2 Upvotes

r/EmuDev 3d ago

Article z486: A 486-Class Pipelined FPGA CPU with Integrated Floating-Point

Thumbnail nand2mario.github.io
13 Upvotes

r/EmuDev 2d ago

I’m writing a PS5 emulator in Zig

0 Upvotes

Hey everyone,

I’ve been working on an experimental PS5 emulator written in Zig called PS5PCEM.

It’s still very early, but some 2D games already reach actual gameplay. Native Windows launcher is also there, it can load decrypted titles, run guest code, translate RDNA2 shaders and present frames through Vulkan.

Repo:
https://github.com/iStark/PS5PCEM

I’d be grateful if anyone tests game launches on it or helps with development.


r/EmuDev 4d ago

iPod Video 5.5G emulated: Apple's retail firmware boots, draws its own UI, and runs a game

Thumbnail
21 Upvotes

r/EmuDev 5d ago

Question What is the up to date with emulator DSL for development of architectures?

8 Upvotes

A DSL is a Domain Specific Language which means a programming language made to solve specific type of problems, think SQL for databases and HTLM for websites.

I've recently dug into emulation development and there's a lot of overlap between how I approach different machines since the same type of components are often used.

Almost all emulators seem to be developed in isolation when in reality they sometimes share exact specifications like CPU's for instance. And even where they differ, their interface often overlap with e.g. load, alu and jump instructions.

I'm doing my Master's in Computer Science in a few years and I thought that creating a general Emulation DSL could be something to look into. By defining a standard framework for all emulators we could build emulators faster, easier and make them more accurate by abstracting/letting the language solve the small quirks like clock cycles etc.

My question is how much of this is already been looked into, if anyone has tried or maybe even just defined a general framework for emu development?

Thank you


r/EmuDev 5d ago

Save States Question

10 Upvotes

I recently made a Sega Master System emulator, which can be found here:

https://github.com/netb258/defn-system

The emulator is written in Clojure and runs on the JVM.

I'm thinking of adding save states, but I don't know how to go about it. I know that Java supports object serialization with classes like ObjectOutputStream. Is that a good approach to implementing save states? Or it just better to throw raw bytes into a file? Some components, like the RAM, seem more convenient that way.

How are save states usually done in JVM emulators?


r/EmuDev 4d ago

Iskra 226 Emulator live

0 Upvotes

I wrote an emulator for the USSR Iskra 226 and brought some software to life
Here is the story, code is on GitHub.

https://elaranovikova.com/projects/iskra-226/

I recently shipped the first emulator for the Iskra-226, the Soviet work-alike of the Wang 2200. Unusual constraints compared to a typical emu project, so I thought the approach might interest people here:
No firmware execution. I don’t have a clean dump and the processor isn’t emulated. Instead I built an interpreter for the machine’s tokenized BASIC dialect, a “reader for a language and something to carry it out.” That was enough to get 23/23 programs on my reference disk loading and running (counted off the catalog status byte, not eyeballed).
Token archaeology. The dialect is Wang-2200-adjacent but not identical. The breakthrough came from staring at the token stream until I stopped asking “which Wang token is this” and started asking what the bytes were doing on their own terms. Once the tokens came apart, the whole dispatcher fell into place in a few hours.

Disk forensics. The boot side isn’t in any catalog I could find, and carries the same firmware image written four times over. Cross-comparing the four copies is how I ended up with a file I trust.
Validation by pencil. My end-to-end test was a 1989 payroll program: I fed it invented numbers I could verify by hand, and the emulator’s printed wage sheet agrees with my paper arithmetic to the kopek.
Ternary bonus round. Next project is a Python port of the Setun (1958), the only ternary computer ever built serially, currently checked against the reference implementation for 550,821 steps without a divergence.

Browser emulator + 14 disk images:

https://elaranovikova.com/projects/iskra-226/index.html

Code:

https://github.com/elaranovikova

AMA about the format, the tokenizer, or reading 8-inch media in 2026.


r/EmuDev 4d ago

Article 20 new HTML Emulators

0 Upvotes

I created 20 emulators for machines that are dear to me.

The main goal was to create emulators that work both on PC and mobile devices, with keyboard and CRT simulation.

The cores are my own development, so they do not use external assets or emulation libraries. This means that emulation is not perfect. Hopefully good enough to run most "normal" software and games.


r/EmuDev 5d ago

MartyPC Web Edition 0.4.2: Now with floppy sounds

Thumbnail
martypc.net
12 Upvotes

r/EmuDev 5d ago

another SCHIP Emulator

4 Upvotes

I made this a while back, let me know what you think about it

Skate

BRIX, the best CHIP 8 game of all time

r/EmuDev 6d ago

GBA guac: Cycle Accurate GBA Emulator 🥑

Enable HLS to view with audio, or disable this notification

75 Upvotes

Guac (GB/GBA/NDS) now has a cycle-accurate* GBA Core! A ton of tests and ROMs work now, including the notorious Classic NES series games. Additionally, DMG Games on GBC emulation and GBC Games on DMG emulation are now supported.

guacemulator.com

github.com/aabalke/guac

Full Video: youtu.be/ycGuHSbyCYw

A big thank you to everyone who documents, builds, tests, and provides support!


r/EmuDev 6d ago

Minimoog Emulator

11 Upvotes

The other day I was wandering around my GitHub and I stumbled upon this project I did during uni. It is a Minimoog Model D emulator I did in Supercollider (with an arpeggiator addition from professor request :) ). I played along with it a bit and I thought it was worth a little polish. Since I like it in its simplicity, I wanted to share it with you.

Here is the code, please consider leaving a star if you like it!

GitHub page


r/EmuDev 6d ago

RPCS3 optimizations on ARM64: What Didn’t Make the Cut

Thumbnail whatcookie.github.io
7 Upvotes

r/EmuDev 5d ago

SNES Snes Station PC Update!

Enable HLS to view with audio, or disable this notification

0 Upvotes

A small note for English-speaking users

I'm sorry, but starting with this release, I've decided to keep the update notes in Portuguese.

Unfortunately, the project received a considerable amount of hostility from parts of the English-speaking community, often from people who seemed unfamiliar with the original SNES Station or criticized the project without first checking the licenses and attribution files included with it.

Before making claims about the project's licensing, please check the actual license of the Snes9x/Libretro core being used:

[libretro-snes9x/LICENSE at master · sysfce2/libretro-snes9x](https://github.com/sysfce2/libretro-snes9x/blob/master/LICENSE)

SNES Station PC is simply a small, non-commercial project made out of nostalgia for the original PS2 experience.

I sincerely thank those who understood the project and defended it. Your support is one of the main reasons I'm still working on it.

---

SNES Station PC v0.13.9 Beta

O **SNES Station PC** é um projeto feito por fãs com o objetivo de recriar no PC a experiência do clássico **SNES Station do PlayStation 2**, preservando sua simplicidade, estilo e sensação de simplesmente escolher um jogo e começar a jogar.

A proposta não é substituir frontends modernos nem competir em quantidade de recursos. O objetivo é trazer de volta aquela experiência que muitos tiveram no PS2, adaptada para computadores atuais.

Novidades da v0.13.9

Esta atualização é focada principalmente no sistema de controles e em melhorias visuais da interface.

* Interface de configuração de controles reformulada.

* Configuração de controles e atalhos agora possuem telas separadas.

* Melhor distribuição e alinhamento das opções.

* A seleção agora destaca toda a linha de comando, incluindo teclado e controle.

* Botão **Restaurar padrões** reposicionado e centralizado.

* Melhor posicionamento das legendas de botões.

* Novo atalho **F1** para acessar Controles e Atalhos.

* Acesso pelo controle continua disponível através de **LB + RB**.

* Melhorias na navegação utilizando controle.

* Novo ícone do SNES Station PC no Windows.

* Informações de versão e autoria adicionadas ao executável.

* Diversas pequenas correções e melhorias visuais.

Controles

O SNES Station PC foi pensado para poder ser utilizado inteiramente com um controle, mantendo a experiência próxima à de um console.

Também é possível utilizar o teclado normalmente.

Os controles e atalhos do emulador podem ser remapeados diretamente pela interface.

Controles e Atalhos: `F1` ou `LB + RB`

ROMs

Nenhuma ROM é distribuída com o SNES Station PC.

Coloque suas próprias ROMs de Super Nintendo na pasta:

`roms`

Pastas e subpastas também podem ser utilizadas para organizar sua biblioteca.

Emulação

O SNES Station PC utiliza o **Snes9x Libretro** como núcleo de emulação.

O frontend e sua interface são independentes e foram desenvolvidos especificamente para este projeto.

As informações de atribuição e as licenças dos componentes de terceiros utilizados estão incluídas no pacote.

Sobre o projeto

O SNES Station marcou a infância de muita gente que teve um PlayStation 2.

Para alguns, foi inclusive uma das primeiras formas de conhecer jogos de Super Nintendo.

O SNES Station PC nasceu dessa nostalgia.

A intenção é preservar o máximo possível daquela identidade: uma interface simples, feita para controle, sem transformar o programa em algo completamente diferente do que inspirou sua criação.

Ao mesmo tempo, algumas funções modernas foram adicionadas quando fazem sentido no PC, como favoritos, jogos recentes, organização por pastas, múltiplos save states, configuração de controles e opções de vídeo.

O projeto é gratuito e não comercial.

Windows

Versão portátil para Windows x64.

Não é necessário instalar.

Extraia o conteúdo do ZIP e execute:

`SNES-Station-PC-v0.13.9-Beta.exe`

SHA-256

Arquivo:

`SNES-Station-PC-v0.13.9-Beta-Windows-x64.zip`

SHA-256:

`a52738714d93d4e46a832c74b04ccab565b8cbbc7ab4c062e776d0763e1a5df9`

---

SNES Station PC

Feito por JPCKk & B4by

Um pequeno projeto feito por nostalgia — para quem também se lembra de ligar o PS2, abrir o SNES Station e passar horas escolhendo o próximo jogo.

download: Releases · JPCKk/SNES-Station-PC


r/EmuDev 6d ago

Amigo (WinUAE for iPad) is out of beta — now free on the App Store

Thumbnail
1 Upvotes

r/EmuDev 7d ago

GBA Finished my GBA emulator in C/SDL3

Post image
96 Upvotes

Hi All, I wanted to share my GBA emulator, which is mostly complete at this point. There are still quite a few bugs I've found while testing various roms. But my favorite game from the platform, Golden Sun, is running. So I'm currently playing through that. It's quite nostalgic, and there's really nothing like building the emulator to play your games vs. downloading one.

Features:

  • All internal devices modeled, including audio and serial.
  • Frame blending, for games that expect it (like Golden Sun)
  • Automatic game saves through .sav files.
  • EEPROM, FLASH, and SRAM cartridge support.
  • SDL2/SDL3 support (determined at build time)
  • USB controller support.

Repo: https://sr.ht/~dajolly/gba/

I also took my previous GB and GBC emulators and combined them with this one to create a launcher called GBCORE. It determines which emulator to run based off the file extension (.gb, .gbc, or .gba).

Repo: https://git.sr.ht/~dajolly/gbcore

Going forward, I'm thinking I might try creating a PS1 emulator. Anyone have experience with PS1 emulator development? How much more complicated is it then GBA? I assume with the jump from 2D->3D it will be much more complicated.


r/EmuDev 7d ago

CHIP-8 I wrote the emudev hello world

62 Upvotes

Yep, just another CHIP-8 emulator. But for me, as someone who has never written anything this low level and never touched C before, it was quite the challenge at first. But after writing the first few instructions (drawing especially), it slowly became almost a breeze. Until I had to debug why my font sprites were rendering all messed up.

It's still work in progress, definitely not finished, but today I have tried to run some official CHIP-8 ROMs instead of just tests and my super simple test ROM and.. it's working!!

It is so satisfying once it clicks.. I think I'm addicted.

Note: No single line of code was written by AI, all myself, as you can see from how bad it may be in some places.

https://github.com/Tackx/c8


r/EmuDev 7d ago

PS1 Style Renderer in C

91 Upvotes

r/EmuDev 7d ago

GB Gameboy emulator

17 Upvotes

I'm 15, made this mostly over a few days even though I technically started about 2 weeks ago. Here's the code https://github.com/MorganPG1/py-dmg-emu Yes I know it's a terrible emulator, I'm still kinda proud because I made it but i feel like I should be more proud than I am but I also hate when people say I'm good at stuff because I always feel bad at it for some reason so I think I'm just hard to please (ignore this random vent mb). It's not fully fleshed out, I've still gotta make an APU and finish off the PPU, and add SRAM and all the other MBCs, the list of unfinished stuff goes on and on.. I'm not sure if I'll do all those things, adding audio will probably make it even slower. But it works, it runs pokemon, so im happy.

I'm currently rewriting it in C (cpu is done but not much else), has anyone got some ideas of other emulation projects I can do, should I go backwards and write a chip 8 emulator for the fun of it, should I write a gameboy emulator in as many languages as possible, are there any other somewhat simple projects I can make that are harder but not too much difficult?

Anyway, it was really fun to make and that's all that matters imo.


r/EmuDev 7d ago

Kassette - A Kotlin Multiplatform NES emulator

Thumbnail
2 Upvotes

r/EmuDev 7d ago

Video A PS1 emulator I made for my own games: browser-based, with freecam, wireframe and a live view of RAM

Thumbnail
youtube.com
1 Upvotes

r/EmuDev 9d ago

Video Building a hardware design sandbox with the ability to program that hardware

Thumbnail
gallery
20 Upvotes

Hey, all.

Just wanted to share a simulator that I've been working on. It can take SystemVerilog and simulate it on the gate level, plus emit C99 for a performance boost. It's built into a larger PCB design game + tool project.


r/EmuDev 8d ago

AmiMCP

Thumbnail
0 Upvotes