Hello! I’ve been a lurker here for a long time and I thought it is time to post.
I’ve been working on a gameboy emulator for the past year or so (though I hadn’t touched it since December, until today). Unfortunately, the long break has caused me to forget what some of my poorly-written, unclear code does. Though, I have gained a lot more experience on low-level stuff.
Just today, I have gone through all of the opcodes that I have implemented and fixed a few of them. I can now get far enough to get to what I can assume is loop of the credits screen of Tetris. Excitingly, the tiles are copied to VRAM. If I could only figure out how to upload pictures, I could show the tiles being dumped from VRAM.
Edit: added images. Both show some part of VRAM.
Anyway here’s what I have completed:
Spoiler

Spoiler

- about 75-85% of the opcodes
- timing and cycle emulation
- timer registers
- video registers
- interrupts
- button input
- OAM
- window registers
- anything else visual
- save states and battery saves
- respectable speeds

I’m guessing I’m at the point Raichu Bender was when he finished working on his emulator. He showed photos of the Nintendo logo from the boot firmware. This photo is the initial tile map screen from Tetris and is the full 32x32 map. Also note, that this isn’t rendered in real time: that is my next step.