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