Speed is still an issue but it should run at real time or close to real time at a decent frame rate on any modern processor.
It’ll work in MP kinda, everyone will run their own instance of the emulator with no syncing.
The GPU code is prone to glitches, unless it’s something major don’t report it.
Only MBC3, MBC1 and ROM games are supported and there’s no “bounds”, if a game makes a rom banking mistake that a real Gameboy would check for the emulation will likely fail and crash with the stack pointer or program counter overflowing.
Tetris and Pokemon are confirmed to be 100% working, at least at the start. If you find any MBC1, 3 or ROM games which glitch report it to me.
Rom files are currently stored in plain text hex (see below), no rom files are given away in the emulator. Once converted into plain text hex rom files should be stored in GEM/Data/GBZ80 for gameboy.
No saving currently.
Please do not upload this elsewhere.
If you have any issues, glitches or just general questions add me on steam: http://steamcommunity.com/id/fafasafaffagr/home/, please don’t contact me if you can’t get SVN to work or something.
Rom files are currently read in plain text hex because Lua’s binary reading support is incomplete and cannot load roms with the 0D0A character in. a plain text hex file is just that, with each byte being represented by two ASCII hexadecimal character in capitals with no other information. One method to convert to Plain Text Hex is to download the hex editor FlexHex, load the rom there, copy all the hex into NP++ and find replace the spaces. All rom files should be .txt. If someone would like to write a quick python script for the public to convert to plain text hex that’d be great, I’d do it but I’m hoping this is just a temporary measure until binary reading is fixed.
This is a project to completely and quickly emulate the Nintendo Gameboy entirely within GMod Lua (no modules) including multilayer syncing and maybe even sound. Currently we have the CPU Core almost 100% finished and it boasts greater compatibility than Visual Boy Advance. Interrupts, Timers, Timings, and the GPU are all about 99% complete now. Current focus is on optimisation.
The GPU emulates on a frame rather than Scanline basis, this can cause some video effects not to work properly (Like the scrolling in pokemon red’s start menu) and priorities are off too. These are both minior issues that shouldn’t effect gameplay.
Speed is about 40% in a Laptop’s 2Ghz Dual Core i3. I hope to get this up to 100%.
The project started off as a simple Intel 8080 Emulator, running the original Space Invaders.