Missile and ball sprites are working, and it's in color mode rather than black and white.

But the horizontal positions of the sprites are still wrong. And I have no idea why...

Show thread

Progress: some of the sprite positions are wrong, but the player sprites are mostly rendering.

Next up is the missile and ball sprites.

And then we'll see how close to the opening screen of Pitfall we are.

Show thread

Got the playfield working, and now the opening screen of Pitfall is taking shape!

Still some timing issues, going on, and the emulator is super slow for some reason, but progress is progress.

Show thread

Just enough of the TIA working to get a test rom rendering NTSC colors correctly!

Show thread

Took the 6502 implementation from my NES emulator, added some basic frame timing, and I got the start of an Atari 2600 emulator up and running in about an hour.

"How SNES emulators got a few pixels from complete perfection"

A great article from byuu about the last few inches of SNES emulation


Success! (kind of)

A lot of the game is working properly, but there are IRQ timing issues, which makes sense because I just kinda hacked the IRQ counting in.

Show thread

Bam! Cartridge mapper 7 (AxROM) done, and now I get awesome Battletoads action

Added mapper 66 to my emulator, so now I get this awesome multi-cart working.

Sort of.

Need to figure out the light gun integration so I can play Duck Hunt.

Ok. Mega Drive emulator progress begins... with a ROM parser.

After that: basic memory map.

Documentation is a lot less available compared to the NES (and Game Boy).

After fixing a couple of super weird hblank timing issues for MMC3 carts, Kirby seems to work without any fuzziness in the HUD

Blinky plays! And so does Pong and Tetris and Lunar Lander.

Still a few quirks to figure out, but still happy.

Show thread

CHIP-8 emulator on its way. Fun little project. First test rom passed. The games I've tested all have problems though.

Happy with the progress for a couple of hours of hacking away.

I rewrote the three blog posts I had about my NES emulator into a single post with more depth.

It goes into some technical details of each of the CPU, graphics, and audio units. And a little reflection on using Rust.

And it has lots of gifs :)


Ok, next emulator project is decided: Sega Mega Drive (Genesis).

I'm probably going to start with the Master System, since it uses a Z80 CPU, which the Mega Drive also uses (although the 68000 is the main CPU), so it'll be a nice milestone on the way to the Mega Drive.

The VDP (graphics) for the Master System is pretty basic too.

Sweet! My APU sounds like shit, but it's generating something that sounds sort of correct at a slight delay from the actual gameplay. I've never been so excited about such terrible sound.

Started working on the APU for my NES emulator. Audio programming feels about as foreign to me as graphics programming did when I started the PPU...

This video on mirroring and open bus in the SNES does a great job explaining _why_ mirroring occurs at the hardware level


Show older
Mastodon for Tech Folks

This Mastodon instance is for people interested in technology. Discussions aren't limited to technology, because tech folks shouldn't be limited to technology either!