GameGuha is a Nintendo GameBoy (and eventually GameBoy Color) emulator for a project for a Computer Science 2 class at the University of Central Florida. It is open source and written in the
Java programming language, thus running on any machine with a JVM installed. Planned features include sound, save states, pixel scaling algorithms, and high compatibility and speed.
r71
Another optimization. BTW, I can´t work on it much next week, but after that I´ll be busting out the big optimization guns (tile caching). Also will work on drawing the window and more CPU debugging.
r70
Some minor optimizations. Laying the groundwork for a very large optimization.
r69
Fixed Alleyway. Added preliminary MBC1/2/3 support.
r68
Fixed Daedalean Opus.
r67
Even more games compatible (Castelian, Kwirk).
r66
Fixed a bug in opcode 84. Also, added full screen support (hit ´F´).
r65
More compatibility (Boxxle II, Motocross Maniacs)
r64
Sound update
r63
More sprite stuff. Check out Bubble Ghost and Bomb Jack.
r62
Partial sprite implementation (enough for Tetris, Minesweeper, and Crystal Quest to work). Also, allow LCD control to turn off (prevents screen glitches while loading).
r61
Sound class update
r60
Timers and DMA.
r59
This revision has the Controls option built into the File menu.
r58
Tiles no longer inverted :)
r57
Nothin´ really.
r56
JOYPAD WORKS
r55
Joypad handling and better INT methods.
r54
Produces an almost correct version of the title screen on Minesweeper rom. Will work on more tomorrow.
r53
uploaded just for the sake
r52
Oops. Someone never changed a printRAM to getRAM in
GUI
r51
[No log message]
r50
ROM now has RAM banks (and refactored some method names)
r49
[No log message]
r48
Added zoom to
GUI. Also, SoundMenu is broken and needs to be fixed.
r47
Made
GUI have nested classes, no more awkward GUI.cpu calls. Made future interrupt implementation on the CPU faster by changing how numCycles works.
r46
Added a dirty close feature for File->Exit
r45
Improved thread synchronicity as well as minor bugs in
GUI
r44
Edited wiki page through web user interface.
r43
Implemented Thread halting
r42
Thread pause resume works
r41
Added link to docs that have good sound info
r40
some more sound, fixed a bug
r39
Added menu items to
GUI and stub handlers. File->Open loads the ROM and runs CPU, all other options are stubs
r38
[No log message]
r37
Sound class instantiation
r36
Modified how CPU reads and writes memory. Not 100% implemented. Also, it is unfortunately about half as fast as the previous version (only ~400% speed running the main loop of Tetris, without graphics). Alas, there´s no way we can handle MBCs and keep our emulator as fast as it was.
r35
Edited wiki page through web user interface.
r34
Added ROM memory to CPU class. Runs
r33
Working on ROM framework
r32
Finished instruction set.
r31
Finished 2-byte opcodes. All that´s left is control flow instructions.
r30
Added rotate instructions.
r29
Added a comment for info ...
r28
Changed ROM to load into CPU´s memory. Removed execution from ROMtest
r27
Fixed a bug in the creation of flag tables. Added a few more instructions.
r26
Added some more instructions. Still lots to go.
r25
Fixed some bugs. Finished 8-bit arithmetic.
r24
Cleaning up some debugging info
r23
It is bug hunting season
r22
changed ROM getMem function and related code in ROMtest
r21
added mem location...
r20
Added NOP and default case, testing CPU
r19
Significant speed increases to ADC and SBC instructions.
r18
Optimized some instructions, added a few more.
r17
[No log message]
r16
[No log message]
r15
[No log message]
r14
ROMtest accepts argument for file, checksum method now returns a boolean value
r13
Added ROMtest class, lets you get info about the ROM
r12
Added header checksumming
r11
Added ROM and RAM size in ROM class
r10
Minor fixes to ROM class. Removed dashes in strings for cart type, isColorGB is now isCGB
r9
Generally working ROM class (will load into memory, some informational functions included)
r8
Added link
r7
Created wiki page through web user interface.
r6
Added more opcodes
r5
Added more opcodes
r4
Added more opcodes
r3
Added more opcodes
r2
Testing
r1
Initial directory structure.