--------------------------------------------------------------------------- GEM - Gameboy Emulator for MSX v1.2 (c) 2000-2014 by The New Image Programmed by Patriek Lesparre http://gem.tni.nl/ --------------------------------------------------------------------------- About GEM --------- GEM is a Gameboy emulator for MSX2/turboR running MSX-DOS2 written in 100% assembly language. Since version v0.9990, Gfx9000 is required as well. By employing advanced translation techniques, GEM is able to run games at playable speeds. System Configuration -------------------- Minimum: MSX2, 256kB RAM, MSX-DOS2, Gfx9000 or MSXturboR, Gfx9000 Recommended: MSXturboR, Gfx9000, SCC, 4MB Memory Mapper Memory requirements: GEM requires 144kB to run at all. Additionally, it needs space to store the Gameboy ROM, which may be in an external Memory Mapper. To be able to use the Dynamic Recompiler, space for twice the ROM size is required and at least 16K in main memory for cached translations. Usage ----- Just type GEM [FILENAME.EXT], you can specify any directorypath with both GEM and the ROM in question. Controls -------- Gameboy: MSX: Joypad - Cursors A - Shift B - Ctrl Start - Return Select - Select ESC enters GEM's so-called configuration mode. This is indicated by the CAPS LED which will light up. Configuration mode controls are: ESC - Exits GEM STOP - Exits configuration mode without changes BS - Backspace resets the emulated Gameboy 0 - Display all frames 1 - Display 1/2 of all frames 2 - Display 1/3 of all frames 3 - Display 1/4 of all frames 4 - Display 1/5 of all frames 5 - Display 1/6 of all frames 6 - Display 1/7 of all frames 7 - Display 1/8 of all frames What's New ---------- 19 November 2014, v1.21 - Fixed and optimized GB Window rendering. 19 November 2014, v1.2 - Fixed the combination of 2MB ROMs and 4MB Memory Mapper. - Fixed music in R-Type. - Sped up memory accesses. - Improved speed in Interpreter mode. - Greatly improved video emulation. * Faster, using native V9990 sprites and patterns. * Cleaner, using triple buffering to eliminate flickering. * Secondary sprite palette support, see GEM.CFG for color definitions. * Sprites behind background support. * Properly limits the number of sprites per line. * Displays proper screen dimensions when scrolling. 19 August 2010, v1.01 - Fixed grave bug in block chaining. 12 August 2010, v1.0 TNI celebrates GEM's 10th anniversary! Among other great improvements, this release brings a massive speed increase. With a small amount of frameskip, most games play fast enough to be enjoyed and many even run at full speed! - Greatly improved sound emulation. * Emulated sound lengths. * Conversion of GB linear to PSG logarithmic volumes. * Noise channel emulation on PSG. * Added proper SCC emulation of the GB wave channel. * Removed problematic PSG emulation of the GB wave channel. * SCC support with accurate emulation of waveforms. * Emulated volume envelopes. * Partially emulated pitch sweep register. - Greatly improved Dynamic Recompiler. * Cache purging. * Block chaining. * Lazy evaluation of CPU registers. * Optimized block loops. * Static CPU simulation for improved code quality. * Optimized block epilogue. * Extended blocks beyond conditional jumps. * Memory segment tracking. * Optimized cache handling. * Optimized memory access. * Optimized I/O access. - Greatly improved memory management. * External Memory Mapper support. Large games finally work on MSX turboR! * Rewrote loading and startup. * Proper DOS2 memory handling, GEM now works in all DOS2 environments. - Removed F5 key sound switch from configuration mode. - Optimized GB Sprite DMA. 8 August 2007, v0.9990 This release signifies a major step. After the failing of the LPE-Z380 in the MSX scene, GEMZ was discontinued and I've decided to return to GEM. The new goal for GEM is to emulate the Gameboy fast and accurate enough to play the classic Gameboy games enjoyably and work towards Gameboy Color emulation. New in this version: - The v0.8 source code was lost, but was rebuilt by comparing the v0.8 binary with the v0.7 source code. - A major reorganisation and clean-up of the entire source code. The source code is now much more flexible, maintainable and better fit to accept new features. - Implemented a more flexible graphics conversion method. - Got rid of all V99x8 renderers, GEM now requires Gfx9000. - Full smooth scrolling in the V9990 renderer. - Sped up GB interrupt handling. - Fixed a recompiler bug that sometimes corrupted the GB AF register. - More accurate CPU flag emulation, fixes some games. * Implemented correct GB CPU flag register layout. * Fixed or improved flag behaviour in various instructions. - Fixed a bug in the config file parser. (Patch for v0.8 available) - R800 LED enabled. - Various small changes during the course of the reorganisation. v0.1 (12 March 2000) - v0.8 (24 September 2003) For info, read GEM.TXT of older versions. Disclaimer ---------- - MSX is a trademark of MSX Association. All other trademarks are property of their respective owners. - GEM is freeware and can be distributed freely as long as: * it is not modified * this file is included in the archive * ROMs are not packaged with it * it is not part of a commercial product - Use it at your own risk. The author is not responsible for any loss or damage resulting from the use or misuse of this software.