GameYob is an open-source Gameboy and Gameboy Color emulator, developed by me (Drenn), for the Nintendo DS. It has plenty of features that makes it a very complete application, like save states, mappable buttons, fast forwarding, rumble pak support and much more. GameYob does not run Gameboy Advance games and never will - see here or here for GBA emulators. See here for GameYob 3DS. Downloads: GameYob v0.5.2: Newest stable release. The FAQ below applies to this version. GameYob Border Pack (last updated 26 Jan 2014): A collection of borders made by members of GBATemp! Extract to the root of your SD card. Known Issues (v0.5.2) - Having "autosaving" enabled (as it is by default) can cause lag in some games. You may want to disable this feature; if you do, you will need to exit out of the game before exiting GameYob itself, or you will lose your progress. - When running as a CIA on a New 3DS, the "touch" input gets spammed automatically. Adjust the "Key Config" settings to disable touch input. - The screen sometimes goes black after opening the menu or loading from a suspend state. Toggle the menu to fix it. Changelog Warning: Spoilers inside! Version 0.5.2 - Updated to DevkitARM r46 for better DSi support. - Added an installable CIA file to run as DSiWare. - Certain 3DS-side launchers such as TWLoader now work again. - Added "touch" as a configurable button. - When running as a CIA on the New 3DS, the "touch" input gets spammed for no reason. It can now be disabled as a workaround. Version 0.5.1: - Savegame management has been modified to prevent corruption as reported by some. - Autosaving is laggier due to the above. Consider turning it off. - The configuration file has been moved from "gameyob.ini" to "gameyobds.ini" to prevent conflicts with GameYob 3DS. - A "single-screen mode" has been added. Version 0.5: - Added Gameboy Printer emulation - Added GBS playback feature - Added "scale" button - Semi-overhauled menu: now colorized, and does not interrupt emulation. - Improved Super Gameboy emulation - Selectable custom borders - Reduced autosaving lag (results may vary between flashcards and SD cards) - Implemented the halt bug (fixes The Smurfs) - Wram register has unused bits set (fixes Metal Gear Solid) - More fixes to emulation accuracy, sound, etc - Stability fixes (most notably for sleep mode), many other minor bugfixes Version 0.4.1: - Fixed "save" button (which was bugged) and reduced autosaving lag Version 0.4: - New Icon by Corbin Davenport - Implemented Super Gameboy support - Implemented scaling (for those who don't like borders) - Implemented custom borders (for those who don't like scaling) - Implemented autosaving (causes lag in some games; off by default) - Added "Detect GBA" option to access the advance shop in the Oracle games - Added Fast Forward toggle button - Added "Sound Fix" option for very accurate sound timing; it may use more power. - Added Rumble Pak Support for Ez-3in1 and Warioware Twisted carts (thanks to windwakr) - Added support for Gameshark and Game Genie codes (thanks to LemonBoy) - Support for Rockman 8, HuC1/HuC3 mappers and Robopon games (thanks to LemonBoy) - Second screen's backlight is disabled when not needed to save power - (partial) Stereo sound emulation - More improvements to emulation & sound accuracy Version 0.3: - Surpasses Lameboy in speed by about 10 FPS, thanks to optimizations by Nebuleon and myself - Added fast forward mode (courtesy of Nebuleon) - Added support for many exotic graphical effects & fixed screen-change graphical bugs - Added MBC2 support (for Kid Icarus, Final Fantasy Adventure) - Added save states and suspending (temporary states) - Added option to save settings to gameyob.ini - Added HIGHLY EXPERIMENTAL NiFi link cable emulation (works with Tetris, Dr. Mario, and Pokemon if you're lucky) - Fixed various emulation bugs, increasing compatibility - Fixed many causes of crashes (DSi mode works now) - Soft resetting works (L+R+Start+Select) - 100% remappable controls - Sound bugfixes Version 0.2: - Fixed some sound emulation bugs - Fixed sleep-mode crashes - Fixed window behaviour when modified mid-frame (fixes text in Resident Evil Gaiden) - Fixed interrupt behaviour (fixes boss intros in Megaman V & passes blargg's cpu test #2) - Fixed crashes in some games without sram (Avenging Spirit) - Set default # of ram banks to 4 (workaround for Japanese Crystal) - Added GBC Bios support - Added "B/Y" control option - Added a little clock - Capitalized rom extensions are detected properly Version 0.1.2: - Fixed Z flag for sla (hl) and rl (hl) opcodes Version 0.1.1: - Removed limit on number of files per directory Frequently Asked Questions How's the compatibility? What about Shantae? The vast majority of Gameboy and Gameboy Color games run at fullspeed, including fan-favorite Shantae, and beta versions of Resident Evil. Sound is also pretty good, with support for Pikachus's cry or Warlocked voiced effects, for example. How can I report a bug? The preferred method to report bugs is to open an issue on github, or just make a post here on gbatemp. How do I save? Whenever you save in-game, the save file (or SRAM) must be copied to the SD card. There are a few ways to do this: Method A) After saving in-game, press the X button (by default) to copy the SRAM to your SD. The "Exit" option also does this before exiting. Method B) Enable autosaving. The SRAM on the SD card will be updated automatically, but this can cause lag in some games which use SRAM as extra memory. It's highly recommended to at least try autosaving, for a more seamless experience. It's enabled by default as of v0.5. NOTE: There is a bug in the Robopon games which requires you to use save states. Are lameboy's save states compatible with gameyob? Hard saves (like .sav files) can be used between gameyob, lameboy, and most GB/GBC emulators. Save-states, on the other hand, are unique to each one of them, and could be used on other emulators if they shared the method of creating and loading saves. Lameboy save states are unusable on other emulators because it's source is closed and never was released to anyone. How do I set the default rom directory? Fill in the “rompath” option in gameyob.ini to the directory of your choosing. For example, Code: rompath=/roms/gb/ Can I use the 3DS/DS fullscreen? Yes, GameYob supports scaling and filtering. Go to the [Display] tab of options and you can select scaling options such as "Aspect" and "Full", and enable or disable the scaling filter. Because I "cheated" by using both rendering engines to perform scaling, the bottom screen is always off when scaling is enabled. Can I use cheats? Gameshark and Game Genie codes are supported. In the [Settings] tab you can find the option "Manage Cheats". Gameyob supports BGB .CHT files, so you need to have them in your SD in order to access the option. They must be named identically to the rom, with the extension ".cht". Here's some places where you can start to look: Gameboy Cheat Files Gameboy Color Cheat Files How to Manually Create GameYob Cheat Files Can I use Cable Link features? Gameyob can use the ds's local wireless (sometimes called "nifi") for multiplayer functions. This feature is experimental, and only seems to work reliably with Tetris and Dr. Mario. Further improvements can be made, but they may be difficult to implement. Simply enable the "Wireless Link" option on both DS's to use link cable features. What does "GBC Bios" mean? If you have the corresponding "gbc_bios.bin" file in your ROM directory (you can find it on google), you can turn this option on to get colorized Gameboy games like you you would have if you were playing them on GBC hardware. The file's location can also be specified in “gameyob.ini”. A prime example is Metroid II: Return of Samus, which gets individual palettes for Samus, enemies and items instead of being monochromatic. You can also pick different palettes by pressing the directional pad and the AB buttons while the boot up "GAME BOY" logo is flashing. This is 100% optional and it has no affect on performance or emulation accuracy. How do I use Custom Borders? You need to have scaling off, and "Custom Borders" on. Then press "Select Border" in the menu to load the border. Press "Save Settings" for GameYob to auto-load the border next time. If you want to make your own border, be sure to save it as a 256x192, uncompressed, 15bpp bitmap image. What does "Detect GBA" mean? Certain games can detect if they're being played on a GBA: they use lighter palettes which are easier to see on a GBA, the Zelda Oracle games have a special "Advanced" shop, Shantae has features like a unique NPC in Bandit Town, a new dance and more. This option toggles that. What does "Sound Timing Fix" mean? This option makes sound emulation more accurate, while potentially using more power. Most notably it fixes Pikachu in Pokemon Yellow / Pinball, but it also makes many subtle improvements to other sound effects. Results are optimal when scaling is disabled, but this is not a requirement. It's recommended to leave this option on. If you experience slowdown when this option is enabled, be sure to disable the “Wait for Vblank” option in the debug settings. Is it Sudokuhax compatible? Yes, you can use the DSi's enhanced capabilities for full-speed in even the most intense games, and some crazy fast-forwarding. An installable CIA is also provided for hacked 3DS's.