remove PicoDrive-specific stuff, add readme
[libpicofe.git] / base_readme.txt
diff --git a/base_readme.txt b/base_readme.txt
deleted file mode 100644 (file)
index 013320e..0000000
+++ /dev/null
@@ -1,1159 +0,0 @@
-#\r
-PicoDrive 1.xx\r
-\r
-About\r
------\r
-\r
-#ifdef PSP\r
-This is yet another Megadrive / Genesis emulator for PSP, but with\r
-Sega CD / Mega CD support. Although it has been originally written having\r
-ARM CPU based devices in mind, it has now been ported to PSP too, by\r
-replacing ARM specific parts with portable C code.\r
-The base code originates from Dave's (fdave, finalburn) PicoDrive 0.30 for\r
-Pocket PC. The Sega/Mega CD code is roughly based on Stephane Dallongeville's\r
-Gens.\r
-#else\r
-This is yet another Megadrive / Genesis / Sega CD / Mega CD / 32X / SMS\r
-emulator, which was written having ARM-based handheld devices in mind\r
-(such as PDAs, smartphones and handheld consoles like GP2X and Gizmondo\r
-of course).\r
-The emulator is heavily optimized for ARM, features assembly cores for\r
-68k, Z80 and VDP chip emulation, also has dynamic recompilers for SH2 and\r
-SSP16 (for 32X and SVP emulation). It was started by Dave (aka fdave,\r
-finalburn author) as basic Genesis/Megadrive emulator for Pocket PC,\r
-then taken over by notaz and developed primarily for GPH devices.\r
-#endif\r
-\r
-PicoDrive is the first emulator ever to properly emulate Virtua Racing and\r
-it's SVP chip.\r
-\r
-\r
-How to make it run\r
-------------------\r
-\r
-#ifdef GP2X\r
-Extract all files to some directory on your SD and run PicoDrive.gpe from your\r
-GP2X/Wiz/Caanoo menu. The same .gpe supports GP2X F100/F200, Wiz and Caanoo,\r
-there is no need to use separate versions.\r
-Then load a ROM and enjoy! ROMs can be in .smd or .bin format and can be zipped.\r
-Sega/Mega CD images can be in ISO/CSO+MP3/WAV or CUE+BIN formats (read below\r
-for more details).\r
-#endif\r
-#ifdef GIZ\r
-First make sure you have homebrew-enabled Service Pack installed. Then copy\r
-PicoDrive.exe and KGSDK.dll to any place in your filesystem (both files must\r
-be in the same directory) and run PicoDrive.exe using the launcher of your choice\r
-(some of them might require renaming PicoDrive.exe to Autorun.exe, placing it in\r
-the root of SD, etc). Then load a ROM and enjoy! ROMs can be placed anywhere, can\r
-be in .smd or .bin format and can be zipped (one ROM per zip).\r
-#endif\r
-#ifdef PSP\r
-If you are running a custom firmware, just copy the whole PicoDrive directory to\r
-/PSP/GAME or /PSP/GAMEXXX directory in your memory stick (it shouldn't matter\r
-which one GAME* directory to use).\r
-\r
-If you are on 1.5, there is a separate KXploited version for it.\r
-#endif\r
-#ifdef UIQ\r
-Copy SIS and some ROMs to any directory in your memory stick, and install the SIS.\r
-Then load a ROM and enjoy! ROMs can be in .smd or .bin format and can be zipped.\r
-#endif\r
-#ifdef PANDORA\r
-Just copy the .pnd to <sd card>/pandora/menu or <sd card>/pandora/desktop.\r
-#endif\r
-#ifndef UIQ\r
-\r
-This emulator has lots of options with various tweaks (for improved speed mostly),\r
-but it should have best compatibility in it's default config. If suddently you\r
-start getting glitches or change something and forget what, use "Restore defaults"\r
-option.\r
-#endif\r
-\r
-\r
-How to run Sega/Mega CD games\r
------------------------------\r
-\r
-To play any game, you need BIOS files. These files must be copied to\r
-#ifdef UIQ\r
-D:\other\PicoDrive\ directory.\r
-#else\r
-#ifdef PANDORA\r
-<sd card>/pandora/appdata/PicoDrive/ directory\r
-(if you run PicoDrive once it will create that directory for you).\r
-#else\r
-the same directory as PicoDrive files.\r
-#endif\r
-#endif\r
-Files can be named as follows:\r
-\r
-US: us_scd1_9210.bin us_scd2_9306.bin SegaCDBIOS9303.bin\r
-EU: eu_mcd1_9210.bin eu_mcd2_9303.bin eu_mcd2_9306.bin\r
-JP: jp_mcd1_9112.bin jp_mcd1_9111.bin\r
-these files can also be zipped.\r
-\r
-The game must be dumped to ISO/CSO+MP3/WAV or CUE+BIN format. When using\r
-CUE/BIN, you must load .cue file from the menu, or else the emu will not find\r
-audio tracks.\r
-CUE/BIN usually takes a lot of space, so it can be converted to cue/cso/mp3 by\r
-#ifdef PANDORA\r
-using bin_to_cso_mp3 tool, which can be downloaded from:\r
-http://notaz.gp2x.de/releases/misc/bin_to_cso_mp3.zip\r
-See readme in the bin_to_cso_mp3/ directory for details.\r
-#else\r
-using bin_to_cso_mp3 tool, which is included with the emulator. See readme in\r
-the bin_to_cso_mp3/ directory for details.\r
-#endif\r
-\r
-ISO+mp3 files can be named similarly as for other emus.\r
-Here are some examples:\r
-\r
-SonicCD.iso             data track\r
-SonicCD_02.mp3          audio track 1 (CD track 2)\r
-SonicCD_03.mp3\r
-...\r
-\r
-Sonic the Hedgehog CD (US) - Track 01.iso\r
-Sonic the Hedgehog CD (US) - Track 02.mp3\r
-Sonic the Hedgehog CD (US) - Track 03.mp3\r
-...\r
-\r
-In case there is a .cue file with properly specified files names in it,\r
-file naming doesn't matter. Just be sure to load .cue from the menu.\r
-\r
-It is very important to have the MP3s encoded at 44kHz sample rate and they\r
-must be stereo, or else they will play too fast/slow or won't play at all.\r
-Be sure NOT to use anything but classic mp3 format (don't use things like\r
-mp3pro).\r
-\r
-ISO files can also be .cso compressed or zipped (but not mp3 files, as they\r
-are already compressed). CSO will cause slightly longer loading times, and\r
-is not very good for FMV games. Zipping ISOs is not recommended, as it will\r
-cause very long (several minute) loading times, and make some games\r
-unplayable. File naming is similar as with uncompressed ISOs.\r
-Example:\r
-\r
-SonicCD.cso             data track\r
-SonicCD_02.mp3          audio track 1 (CD track 2)\r
-SonicCD_03.mp3\r
-...\r
-\r
-\r
-Other important stuff\r
----------------------\r
-\r
-* Sega/Mega CD: If the game hangs after Sega logo, you may need to enable\r
-  "better sync" and/or "Scale/Rot. fx" options, found in "Sega/Mega CD options"\r
-  submenu, and then reset the game. Some other games may also require\r
-  "CDDA audio" and "PCM audio" to be enabled to work (enabled by default).\r
-  Incorrectly named/missing mp3s may also be the cause.\r
-* Sega/Mega CD: If the background music is missing, you might have named your\r
-  MP3s incorrectly. Read "How to run Sega/Mega CD games" section again.\r
-* Sega/Mega CD: If the game music plays too fast/too slow/out of sync, you have\r
-  encoded your MP3s incorrectly. You will have to re-encode and/or resample them.\r
-  PicoDrive is not a mp3 player, so all mp3s MUST be encoded at 44.1kHz stereo.\r
-  Badly encoded mp3s can cause various kind of problems, like noises, incorrect\r
-  playback speeds, not repeating music or even prevent game from starting.\r
-  Some games (like Snatcher) may hang in certain scenes because of this.\r
-  Some mp3 rippers/encoders remove silence and beginning/end of audio tracks,\r
-  what causes audio desyncs and/or mentioned problems.\r
-  If you have cue/bin rip, you can use the bin_to_cso_mp3 tool (included with\r
-  the emulator) to make a proper iso/mp3 rip.\r
-* Sega/Mega CD: If your games hangs at the BIOS screen (with planets shown),\r
-  you may be using a bad BIOS dump. Try another from a different source.\r
-* Some Sega/Mega CD games don't use Z80 for anything, but they leave it active,\r
-  so disabling Z80 manually (in advanced options) improves performance.\r
-* Use lower bitrate for better performance (96 or 128kbps CBRs recommended).\r
-#ifdef GP2X\r
-* GP2X F100/F200: When you use both GP2X CPUs, keep in mind that you can't\r
-  overclock as high as when using ARM920 only. For example my GP2X when run\r
-  singlecore can reach 280MHz, but with both cores it's about 250MHz. When\r
-  overclocked too much, it may start hanging and producing random noise, or\r
-  causing ARM940 crashes ("940 crashed" message displayed).\r
-* GP2X F100/F200: Due to internal implementation mp3s must not be larger that\r
-  12MB (12582912 bytes). Larger mp3s will not be fully loaded.\r
-#endif\r
-\r
-\r
-Configuration\r
--------------\r
-\r
-#ifdef UIQ\r
-#include "config.txt"\r
-#else\r
-@@0. "Save slot"\r
-This is a slot number to use for savestates, when done by a button press outside\r
-menu. This can also be configured to be changed with a button\r
-(see "key configuration").\r
-\r
-@@0. "Frameskip"\r
-How many frames to skip rendering before displaying another.\r
-"Auto" is recommended.\r
-\r
-@@0. "Region"\r
-This option lets you force the game to think it is running on machine from the\r
-specified region, or just to set autodetection order. Also affects Sega/Mega CD.\r
-\r
-@@0. "Show FPS"\r
-Self-explanatory. Format is XX/YY, where XX is the number of rendered frames and\r
-YY is the number of emulated frames per second.\r
-\r
-@@0. "Enable sound"\r
-Does what it says. You must enable at least YM2612 or SN76496 (in advanced options,\r
-see below) for this to make sense (already done by default).\r
-\r
-@@0. "Sound Quality"\r
-#ifdef PSP\r
-Sound sample rate, affects sound quality and emulation performance.\r
-22050Hz setting is the recommended one.\r
-#else\r
-Sound sample rate and stereo mode. Mono is not available in Sega/Mega CD mode.\r
-#endif\r
-\r
-@@0. "Confirm savestate"\r
-Allows to enable confirmation on savestate saving (to prevent savestate overwrites),\r
-on loading (to prevent destroying current game progress), and on both or none, when\r
-using shortcut buttons (not menu) for saving/loading.\r
-\r
-#ifdef GP2X\r
-@@0. "GP2X CPU clocks"\r
-Here you can change clocks of both GP2X's CPUs. Larger values increase performance.\r
-There is no separate option for the second CPU because both CPUs use the same clock\r
-source. Setting this option to 200 will cause PicoDrive NOT to change GP2X's clocks\r
-at all (this is if you use external program to set clock).\r
-#endif\r
-#ifdef PSP\r
-@@0. "CPU/bus clock"\r
-This allows to change CPU and bus clocks for PSP. 333MHz is recommended.\r
-#endif\r
-\r
-@@0. "[Display options]"\r
-Enters Display options menu (see below).\r
-\r
-@@0. "[Sega/Mega CD options]"\r
-Enters Sega/Mega CD options menu (see below).\r
-\r
-@@0. "[32X options]"\r
-Enters 32X options menu (see below).\r
-\r
-@@0. "[Advanced options]"\r
-Enters advanced options menu (see below).\r
-\r
-@@0. "Save cfg as default"\r
-If you save your config here it will be loaded on next ROM load, but only if there\r
-is no game specific config saved (which will be loaded in that case).\r
-You can press left/right to switch to a different config profile.\r
-\r
-@@0. "Save cfg for current game only"\r
-Whenever you load current ROM again these settings will be loaded.\r
-\r
-@@0. "Restore defaults"\r
-Restores all options (except controls) to defaults.\r
-\r
-\r
-Display options\r
----------------\r
-\r
-#ifndef PANDORA\r
-@@1. "Renderer"\r
-#ifdef GP2X\r
-8bit fast:\r
-This enables alternative heavily optimized tile-based renderer, which renders\r
-pixels not line-by-line (this is what accurate renderers do), but in 8x8 tiles,\r
-which is much faster. But because of the way it works it can't render any\r
-mid-frame image changes (raster effects), so it is useful only with some games.\r
-\r
-Other two are accurate line-based renderers. The 8bit is faster but does not\r
-run well with some games like Street Racer.\r
-\r
-#endif\r
-#ifdef GIZ\r
-This option allows to switch between 16bit and 8bit renderers. The 8bit one is\r
-a bit faster for some games, but not much, because colors still need to be\r
-converted to 16bit, as this is what Gizmondo requires. It also introduces\r
-graphics problems for some games, so it's best to use 16bit one.\r
-\r
-#endif\r
-#ifdef PSP\r
-This option allows to switch between fast and accurate renderers. The fast one\r
-is much faster, because it draws the whole frame at a time, instead of doing it\r
-line by line, like the accurate one does. But because of the way it works it\r
-can't render any mid-frame image changes (raster effects), so it is useful only\r
-for some games.\r
-\r
-#endif\r
-#endif\r
-#ifdef GP2X\r
-@@1. "Tearing Fix"\r
-Wiz only: works around the tearing problem by using portrait mode. Causes ~5-10%\r
-performance hit, but eliminates the tearing effect.\r
-\r
-@@1. "Gamma correction"\r
-F100/F200 only: Alters image gamma through GP2X hardware. Larger values make\r
-image to look brighter, lower - darker (default is 1.0).\r
-\r
-@@1. "A_SN's gamma curve"\r
-F100/F200 only: If this is enabled, different gamma adjustment method will be\r
-used (suggested by A_SN from gp32x boards). Intended to be used for F100, makes\r
-difference for dark and bright colors.\r
-\r
-@@1. "Vsync"\r
-This one adjusts the LCD refresh rate to better match game's refresh rate and\r
-starts synchronizing rendering with it. Should make scrolling smoother and\r
-eliminate tearing on F100/F200.\r
-#endif\r
-#ifdef GIZ\r
-@@1. "Scanline mode"\r
-This option was designed to work around slow framebuffer access (the Gizmondo's\r
-main bottleneck) by drawing every other line (even numbered lines only).\r
-This improves performance greatly, but looses detail.\r
-\r
-@@1. "Scale low res mode"\r
-The Genesis/Megadrive had several graphics modes, some of which were only 256\r
-pixels wide. This option scales their width to 320 by using simple\r
-pixel averaging scaling. Works only when 16bit renderer is enabled.\r
-\r
-@@1. "Double buffering"\r
-Draws the display to offscreen buffer, and flips it with visible one when done.\r
-Unfortunately this causes serious tearing, unless v-sync is used (next option).\r
-\r
-@@1. "Wait for V-sync"\r
-Waits for vertical sync before drawing (or flipping buffers, if previous option\r
-is enabled). Emulation is stopped while waiting, so this causes large performance\r
-hit.\r
-#endif\r
-#ifdef PSP\r
-@@1. "Scale factor"\r
-This allows to resize the displayed image by using the PSP's hardware. The number is\r
-used to multiply width and height of the game image to get the size of image to be\r
-displayed. If you just want to make it fullscreen, just use "Set to fullscreen"\r
-setting below.\r
-\r
-@@1. "Hor. scale (for low res. games)"\r
-This one works similarly as the previous setting, but can be used to apply additional\r
-scaling horizontally, and is used for games which use lower (256 pixel wide) Gen/MD\r
-resolution.\r
-\r
-@@1. "Hor. scale (for hi res. games)"\r
-Same as above, only for higher (320 pixel wide) resolution using games.\r
-\r
-@@1. "Bilinear filtering"\r
-If this is enabled, PSP hardware will apply bilinear filtering on the resulting image,\r
-making it smoother, but blurry.\r
-\r
-@@1. "Gamma adjustment"\r
-Color gamma can be adjusted with this.\r
-\r
-@@1. "Black level"\r
-This can be used to reduce unwanted "ghosting" effect for dark games, by making\r
-black pixels brighter. Use in conjunction with "gamma adjustment" for more effect.\r
-\r
-@@1. "Wait for v-sync"\r
-Wait for the screen to finish updating before switching to next frame, to avoid tearing.\r
-There are 3 options:\r
-* never: don't wait for vsync.\r
-* sometimes: wait only if emulator is running fast enough.\r
-* always: always wait (causes emulation slowdown).\r
-\r
-@@1. "Set to unscaled centered"\r
-Adjust the resizing options to set game image to it's original size.\r
-\r
-@@1. "Set to 4:3 scaled"\r
-Scale the image up, but keep 4:3 aspect, by adding black borders.\r
-\r
-@@1. "Set to fullscreen"\r
-Adjust the resizing options to make the game image fullscreen.\r
-#endif\r
-#ifdef PANDORA\r
-Allows to set up scaling, filtering and vertical sync.\r
-#endif\r
-\r
-\r
-Sega/Mega CD options \r
---------------------\r
-\r
-@@2. "CD LEDs"\r
-The Sega/Mega CD unit had two blinking LEDs (red and green) on it. This option\r
-will display them on top-left corner of the screen.\r
-\r
-@@2. "CDDA audio"\r
-This option enables CD audio playback.\r
-\r
-@@2. "PCM audio"\r
-This enables 8 channel PCM sound source. It is required for some games to run,\r
-because they monitor state of this audio chip.\r
-\r
-@@2. "ReadAhead buffer"\r
-This option can prefetch more data from the CD image than requested by game\r
-(to avoid accessing card later), what can improve performance in some cases.\r
-#ifndef PSP\r
-"OFF" is the recommended setting.\r
-#endif\r
-\r
-@@2. "Save RAM cart"\r
-Here you can enable 64K RAM cart. Format it in BIOS if you do.\r
-\r
-@@2. "Scale/Rot. fx"\r
-The Sega/Mega CD had scaling/rotation chip, which allows effects similar to\r
-"Mode 7" effects in SNES. Disabling may improve performance but cause graphical\r
-glitches.\r
-\r
-@@2. "Better sync"\r
-This option is similar to "Perfect synchro" in Gens. Some games require it to run,\r
-for example most (all?) Wolfteam games, and some other ones. Don't use it for\r
-games which don't need it, it will just slow them down.\r
-\r
-\r
-32X options\r
------------\r
-\r
-@@3. "32X enabled"\r
-Enables emulation of addon. Option only takes effect when ROM is reloaded.\r
-\r
-#ifdef GP2X\r
-@@3. "32X renderer"\r
-This currently only affects how the Genesis/MD layers are rendered, which is\r
-same as "Renderer" in display options.\r
-\r
-#endif\r
-@@3. "PWM sound"\r
-Emulates PWM sound portion of 32X hardware. Disabling this may greatly improve\r
-performance for games that dedicate one of SD2s for sound, but will cause\r
-missing sound effects and instruments.\r
-\r
-@@3. "Master SH2 cycles" / "Slave SH2 cycles"\r
-This allows underclocking the 32X CPUs for better emulation performance. The\r
-number has the same meaning as cycles in DOSBox, which is cycles per millisecond.\r
-Underclocking too much may cause various in-game glitches.\r
-\r
-\r
-Advanced configuration\r
-----------------------\r
-\r
-@@4. "Use SRAM/BRAM savestates"\r
-This will automatically read/write SRAM (or BRAM for Sega/Mega CD) savestates for\r
-games which are using them. SRAM is saved whenever you enter the menu or exit the\r
-emulator.\r
-\r
-@@4. "Disable sprite limit"\r
-The MegaDrive/Genesis had a limit on how many sprites (usually smaller moving\r
-objects) can be displayed on single line. This option allows to disable that\r
-limit. Note that some games used this to hide unwanted things, so it is not\r
-always good to enable this option.\r
-\r
-@@4. "Emulate Z80"\r
-Enables emulation of Z80 chip, which was mostly used to drive the other sound chips.\r
-Some games do complex sync with it, so you must enable it even if you don't use\r
-sound to be able to play them.\r
-\r
-@@4. "Emulate YM2612 (FM)"\r
-This enables emulation of six-channel FM sound synthesizer chip, which was used to\r
-produce sound effects and music.\r
-\r
-@@4. "Emulate SN76496 (PSG)"\r
-This enables emulation of PSG (programmable sound generation) sound chip for\r
-additional effects.\r
-\r
-Note: if you change sound settings AFTER loading a ROM, you may need to reset\r
-game to get sound. This is because most games initialize sound chips on\r
-startup, and this data is lost when sound chips are being enabled/disabled.\r
-\r
-@@4. "gzip savestates"\r
-This will always apply gzip compression on your savestates, allowing you to\r
-save some space and load/save time.\r
-\r
-@@4. "Don't save last used ROM"\r
-This will disable writing last used ROM to config on exit (what might cause SD\r
-card corruption according to DaveC).\r
-\r
-@@4. "Disable idle loop patching"\r
-Idle loop patching is used to improve performance, but may cause compatibility\r
-problems in some rare cases. Try disabling this if your game has problems.\r
-\r
-@@4. "Disable frame limiter"\r
-This allows games to run faster then 50/60fps, useful for benchmarking.\r
-\r
-#ifdef GP2X\r
-@@4. "Use ARM940 core for sound"\r
-F100/F200: This option causes PicoDrive to use ARM940T core (GP2X's second CPU)\r
-for sound (i.e. to generate YM2612 samples) to improve performance noticeably.\r
-It also decodes MP3s in Sega/Mega CD mode.\r
-\r
-@@4. "RAM overclock"\r
-This overclocks the GP2X RAM chips for improved performance, but may cause\r
-instability. Keep it enabled if it doesn't cause problems.\r
-\r
-@@4. "MMU hack"\r
-Makes framebuffer bufferable for improved performance. There are no drawbacks\r
-so it should be left enabled.\r
-\r
-@@4. "SVP dynarec"\r
-This enables dynamic recompilation for SVP chip emulated for Virtua Racing game,\r
-what improves it's emulation performance greatly.\r
-#endif\r
-\r
-\r
-Key configuration\r
------------------\r
-\r
-Select "Configure controls" from the main menu. Then select "Player 1" and you will\r
-see two columns. The left column lists names of Genesis/MD controller buttons, and\r
-the right column your handheld ones, which are assigned.\r
-#ifndef PANDORA\r
-If you bind 2 different buttons to the same action, you will get a combo\r
-(which means that you will have to press both buttons for that action to happen).\r
-#endif\r
-\r
-There is also option to enable 6 button pad (will allow you to configure XYZ\r
-buttons), and an option to set turbo rate (in Hz) for turbo buttons.\r
-#ifndef UIQ\r
-\r
-\r
-Cheat support\r
--------------\r
-\r
-To use GG/patch codes, you must type them into your favorite text editor, one\r
-per line. Comments may follow code after a whitespace. Only GameGenie and\r
-Genecyst patch formats are supported.\r
-Examples:\r
-\r
-Genecyst patch (this example is for Sonic):\r
-\r
-00334A:0005 Start with five lives\r
-012D24:0001 Keep invincibility until end of stage\r
-009C76:5478 each ring worth 2\r
-009C76:5678 each ring worth 3\r
-...\r
-\r
-Game Genie patch (for Sonic 2):\r
-\r
-ACLA-ATD4 Hidden palace instead of death egg in level select\r
-...\r
-\r
-Both GG and patch codes can be mixed in one file.\r
-\r
-When the file is ready, name it just like your ROM file, but with additional\r
-.pat extension, making sure that case matches.\r
-\r
-Examples:\r
-\r
-ROM: Sonic.zip\r
-PATCH FILE: Sonic.zip.pat\r
-\r
-ROM: Sonic 2.bin\r
-PATCH FILE: Sonic 2.bin.pat\r
-\r
-Put the file into your ROMs directory. Then load the .pat file as you would\r
-a ROM. Then Cheat Menu Option should appear in main menu.\r
-#endif\r
-\r
-\r
-What is emulated?\r
------------------\r
-\r
-Genesis/MegaDrive:\r
-#ifdef PSP\r
-main 68k @ 7.6MHz: yes, FAME/C core\r
-z80 @ 3.6MHz: yes, CZ80 core\r
-#else\r
-main 68k @ 7.6MHz: yes, Cyclone core\r
-z80 @ 3.6MHz: yes, DrZ80 core\r
-#endif\r
-VDP: yes, except some quirks and modes not used by games\r
-YM2612 FM: yes, optimized MAME core\r
-SN76489 PSG: yes, MAME core\r
-SVP chip: yes! This is first emu to ever do this.\r
-Some in-cart mappers are also supported.\r
-\r
-Sega/Mega CD:\r
-#ifdef PSP\r
-another 68k @ 12.5MHz: yes, FAME/C too\r
-#else\r
-another 68k @ 12.5MHz: yes, Cyclone too\r
-#endif\r
-gfx scaling/rotation chip (custom ASIC): yes\r
-PCM sound source: yes\r
-CD-ROM controller: yes (mostly)\r
-bram (internal backup RAM): yes\r
-\r
-32X:\r
-2x SH2 @ 23MHz: yes, custom recompiler\r
-Super VDP: yes\r
-PWM: yes\r
-\r
-\r
-Problems / limitations\r
-----------------------\r
-\r
-#ifdef PSP\r
-* SVP emulation is terribly slow.\r
-#endif\r
-* Various VDP modes and quirks (window bug, scroll size 2, etc.) are not\r
-  emulated, as very few games use this (if any at all).\r
-* The emulator is not 100% accurate, so some things may not work as expected.\r
-* The FM sound core doesn't support all features and has some accuracy issues.\r
-\r
-\r
-Credits\r
--------\r
-\r
-This emulator is made of the code from following people/projects:\r
-\r
-notaz\r
-GP2X, UIQ, PSP, Gizmondo ports, CPU core hacks, dynamic recompilers,\r
-lots of additional coding (see changelog).\r
-Homepage: http://notaz.gp2x.de/\r
-\r
-fDave\r
-one who started it all:\r
-Cyclone 68000 core and PicoDrive itself\r
-\r
-#ifdef PSP\r
-Chui\r
-FAME/C 68k interpreter core\r
-(based on C68K by Stephane Dallongeville)\r
-\r
-Stephane Dallongeville (written), NJ (optimized)\r
-CZ80 Z80 interpreter core\r
-\r
-#else\r
-Reesy & FluBBa\r
-DrZ80, the Z80 interpreter written in ARM assembly.\r
-Homepage: http://reesy.gp32x.de/\r
-\r
-#endif\r
-Tatsuyuki Satoh, Jarek Burczynski, MAME development\r
-software implementation of Yamaha FM sound generator\r
-\r
-MAME development\r
-Texas Instruments SN76489 / SN76496 programmable tone/noise generator\r
-Homepage: http://www.mame.net/\r
-\r
-Stephane Dallongeville\r
-Gens, MD/Mega CD/32X emulator. Most Sega CD code is based on this emu.\r
-#ifdef PSP\r
-\r
-people @ ps2dev.org forums / PSPSDK crew\r
-libaudiocodec code (by cooleyes)\r
-other sample code\r
-#else\r
-\r
-Helix community\r
-Helix mp3 decoder\r
-#endif\r
-\r
-\r
-Additional thanks\r
------------------\r
-\r
-* Charles MacDonald (http://cgfm2.emuviews.com/) for old but still very useful\r
-  info about genesis hardware.\r
-* Steve Snake for all that he has done for Genesis emulation scene.\r
-* Tasco Deluxe for his reverse engineering work on SVP and some mappers.\r
-* Bart Trzynadlowski for his SSFII and 68000 docs.\r
-* Haze for his research (http://haze.mameworld.info).\r
-* Lordus, Exophase and Rokas for various ideas.\r
-* Nemesis for his YM2612 research.\r
-* Many posters at spritesmind.net forums for valuable information.\r
-* Mark and Jean-loup for zlib library.\r
-* ketchupgun for the skin.\r
-#ifdef GP2X\r
-* rlyeh and all the other people behind the minimal library.\r
-* Squidge for his famous squidgehack(tm).\r
-* Dzz for his ARM940 sample code.\r
-* A_SN for his gamma code.\r
-* craigix for supplying the GP2X hardware and making this port possible.\r
-* Alex for the icon.\r
-* All the people from gp32x boards for their support.\r
-#endif\r
-#ifdef GIZ\r
-* Kingcdr's for the SDK and Reesy for the DLL and sound code.\r
-* jens.l for supplying the Gizmondo hardware and making this port possible.\r
-#endif\r
-#ifdef UIQ\r
-* Peter van Sebille for his various open-source Symbian projects to learn from.\r
-* Steve Fischer for his open-source Motorola projects.\r
-* The development team behind "Symbian GCC Improvement Project"\r
-  (http://www.inf.u-szeged.hu/symbian-gcc/) for their updated pre-SymbianOS9\r
-  compile tools.\r
-* AnotherGuest for all his Symbian stuff and support.\r
-#endif\r
-* Inder for some graphics.\r
-* Anyone else I forgot. You know who you are.\r
-\r
-\r
-Changelog\r
----------\r
-1.80\r
-  + Added Caanoo support. Now the GP2X binary supports GP2X F100/F200, Wiz\r
-    and Caanoo. Lots of internal refactoring to support this.\r
-  + Enabled 32X and SMS code. It's still unfinished but better release something\r
-    now than wait even more (it has been in development for more then a year now\r
-    due to various other projects or simply lack of time).\r
-  + Pandora: added hardware scaler support, including ability to resize the\r
-    layer and control filtering.\r
-  + GP2X: Added basic line-doubling vertical scaling option.\r
-  * Changed the way keys are bound, no need to unbind old one any more.\r
-  * Handle MP3s with ID3 tags better (some MP3s with ID3 did not play).\r
-  * Improved shadow/hilight color levels.\r
-  * Fixed broken cheat support.\r
-\r
-1.80beta2\r
-  * Pandora: updated documentation.\r
-\r
-1.80beta1\r
-  + Added pandora port.\r
-  * Internal refactoring for 32x/SMS support.\r
-  * Move mapper database to external file.\r
-  + Added preliminary SMS emulation.\r
-  + Added emulation of 32x peripherals including VDP. More work is needed here.\r
-  + ARM: Added new SH2 recompiler for 32x. Some unification with SVP one.\r
-  - Disabled most of the above bacause I'm not yet happy with the results.\r
-\r
-1.56\r
-  * Changed sync in Sega CD emulation again. Should fix games that\r
-    broke after changes in 1.51a.\r
-  * Fixed default keys rebinding when they shouldn't.\r
-  * Fixed sram being loaded from wrong game.\r
-  * Emu should no longer hang shortly after using fast-forward.\r
-  * Fixed save states sometimes no longer showing up in save state menu.\r
-  * ARM: some asm code refactoring for slight speed improvement.\r
-\r
-1.55\r
-  + Added Wiz support. Now the same GP2X binary supports F100/F200 and Wiz.\r
-  * Changed shadow/hilight handling a bit, fixes some effects in Pirates! Gold.\r
-  * Complete input code rewrite. This fixes some limitations like not allowing\r
-    to control both players using single input device. It also allows to use\r
-    more devices (like keyboards) on Linux based devices.\r
-  * Options menu has been reordered, "restore defaults" option added.\r
-\r
-1.51b\r
-  * Fixed a crash when uncompressed savestate is loaded.\r
-  * Fixed an idle loop detection related hanging problem.\r
-  * PSP: fixed another palette related regression.\r
-  * UIQ3: updated frontend for the latest emu core.\r
-\r
-1.51a\r
-  * Fixed a sync problem between main and sub 68k. Should fix the hanging\r
-    problem for some games.\r
-  * ARM: fixed a crash when CD savestate is loaded just after loading ROM.\r
-\r
-1.51\r
-  * Improved bin_to_cso_mp3 tool, it should no longer complain about\r
-    missing lame.exe even if it's in working dir.\r
-  * Fixed a regression from 1.50, which caused slowdowns in Final Fight.\r
-  * Fixed some regressions from 1.50 related to sprite limit and palette\r
-    handling (caused graphical glitches in some games).\r
-  + Added ABC turbo actions to key config.\r
-  * Some other minor adjustments.\r
-\r
-1.50\r
-  + Added some basic support for Sega Pico, a MegaDrive-based toy.\r
-  + Added proper support for cue/bin images, including cdda playback.\r
-    .cue sheets with iso/cso/mp3/wav files listed in them are now\r
-    supported too (but 44kHz restriction still applies).\r
-  + Added bin_to_cso_mp3 tool, based on Exophase's bin_to_iso_ogg.\r
-    The tool can convert .cue/.bin Sega CD images to .cso/.mp3.\r
-  * Greatly improved Sega CD load times.\r
-  * Changed how scheduling between 68k and z80 is handled. Improves\r
-    performance for some games. Credits to Lordus for the idea.\r
-  * YM2612 state was not 100% saved, this should be better now.\r
-  * Improved renderer performance for shadow/hilight mode.\r
-  * Added a hack for YM2612 frequency overflow issue (bleep noises\r
-    in Shaq Fu, Spider-Man - The Animated Series (intro music), etc.)\r
-    Credits to Nemesis @ spritesmind forum. Works only if sound rate\r
-    is set to 44kHz.\r
-  + Implemented some sprite rendering improvements, as suggested by\r
-    Exophase. Games with lots of sprites now perform better.\r
-  + Added better idle loop detection, based on Lordus' idea again.\r
-  - "accurate timing" option removed, as disabling it no longer\r
-    improves performance.\r
-  - "accurate sprites" was removed too, the new sprite code can\r
-    properly handle sprite priorities in all cases.\r
-  * Timers adjusted again.\r
-  * Improved .smd detection code.\r
-  * ARM: fixed a bug in DrZ80 core, which could cause problems in\r
-    some rare cases.\r
-  * ARM: fixed a problem of occasional clicks on MP3 music start.\r
-  * Minor general optimizations and menu improvements.\r
-  * Fixed a bug in Sega CD savestate loader, where the game would\r
-    sometimes crash after load.\r
-  * Fixed a crash of games using eeprom (introduced in 1.40b).\r
-  * PSP: fixed suspend/resume (hopefully for real).\r
-\r
-1.40c\r
-  * Fixed a problem with sound in Marble Madness.\r
-  * GP2X: Fixed minor problem with key config.\r
-\r
-1.40b\r
-  * Fixed sprite masking code. Thanks to Lordus for explaining how it works.\r
-  + Added "disable sprite limit" option.\r
-  + PSP: added black level adjustment to display options.\r
-  * Changed reset to act as 'soft' reset.\r
-  + Added detection for Puggsy (it doesn't really have sram).\r
-  * Some small timing adjustments.\r
-\r
-1.40a\r
-  * GP2X: Fixed a binding problem with up and down keys.\r
-  * Default game config no longer overrides global user config.\r
-\r
-1.40\r
-  + Added support for SVP (Sega Virtua Processor) to emulate Virtua Racing,\r
-    wrote ARM recompiler and some HLE code for VR. Credits to Exophase and\r
-    Rokas for various ideas.\r
-  * Changed config file format, files are now human-readable. Game specific\r
-    configs are now held in single file (but old game config files are still\r
-    read when new one is missing).\r
-  * Fixed a bug where some key combos didn't work as expected.\r
-  * Fixed a regression in renderer (ARM ports only, some graphic glitches in\r
-    rare cases).\r
-  * Adjusted fast renderer to work with more games, including VR.\r
-  * Fixed a problem where SegaCD RAM cart data was getting lost on reset.\r
-  * GP2X: Greatly reduced SegaCD FMV game slowdowns by disabling read-ahead\r
-    in the Linux kernel and C library (thanks to Rokas and Exophase for ideas\r
-    again). Be sure to keep "ReadAhead buffer" OFF to avoid slowdowns.\r
-  + PicoDrive now comes with a game config file for some games which need\r
-    special settings, so they should now work out-of-the-box. More games will\r
-    be added with later updates.\r
-  + GP2X: Files now can be deleted by pressing A+SELECT in the file browser.\r
-\r
-1.35b\r
-  * PSP: mp3 code should no longer fail on 1.5 firmware.\r
-  + PSP: added gamma adjustment option.\r
-  + Added .cso ISO format support. Useful for non-FMV games.\r
-  * It is now possile to force a region after the ROM is loaded.\r
-  * Fixed a sram bug in memhandlers (fixes Shining in the Darkness saves).\r
-  * PSP: fixed another bug in memhanlers, which crashed the emu for some games\r
-    (like NBA Jam and NHL 9x).\r
-  + PSP: added suspend/resume handling for Sega CD games.\r
-  + GP2X: added additional low volume levels for my late-night gaming sessions\r
-    (in stereo mode only).\r
-  + GP2X: added "fast forward" action in key config. Not recommended to use for\r
-    Sega CD, may case problems there.\r
-  * Some other small tweaks I forgot about.\r
-\r
-1.35a\r
-  * PSP: fixed a bug which prevented to load any ROMs after testing the BIOS.\r
-  * PSP: fixed incorrect CZ80 memory map setup, which caused Z80 crashes and\r
-    graphics corruption in EU Mega CD model1 BIOS menus.\r
-  + PSP: added additional "set to 4:3 scaled" display option for convenience.\r
-  + PSP: Added an option to disable frame limitter (works only with non-auto frameskip).\r
-\r
-1.35\r
-  + PSP port added. Lots of new code for it. Integrated modified FAME/C, CZ80 cores.\r
-  + Some minor generic optimizations.\r
-  * Patched some code which was crashing under PSP, but was working in GP2X/Giz\r
-    (although it should have crashed there too).\r
-  * Readme updated.\r
-\r
-1.34\r
-  + Gizmondo port added.\r
-  + Some new optimizations in memory handlers, and for shadow/hilight mode.\r
-  + Added some hacks to make more games work without enabling "accurate timing".\r
-  * Adjusted timing for "accurate timing" mode and added preliminary VDP FIFO\r
-    emulation. Fixes Double Dragon 2, tearing in Chaos Engine and some other games.\r
-  * Fixed a few games not having sound at startup.\r
-  * Updated serial EEPROM code to support more games. Thanks to EkeEke for\r
-    providing info about additional EEPROM types and game mappers.\r
-  * The above change fixed hang of NBA Jam.\r
-  * Minor adjustments to control configurator.\r
-\r
-1.33\r
-  * Updated Cyclone core to 0.0088.\r
-  + Added A r k's usbjoy fix.\r
-  + Added "perfect vsync" option, which adjusts GP2X LCD refresh rate and syncs\r
-    emulation to it to eliminate tearing and ensure smoothest scrolling possible.\r
-  + Added an option to use A_SN's gamma curve for gamma correction (improves dark\r
-    and bright color display for mk2s).\r
-  * Sometimes stray sounds were played after loading a savestate. Fixed.\r
-  * Fixed a problem where >6MB mp3s were corrupted in memory (sound glitches in\r
-    Snatcher).\r
-  * PD no longer overwrites video player code in memory, video player now can be\r
-    used after exiting PicoDrive.\r
-  * Fixed a bug which was causing Sonic 3 code to deadlock in some rare conditions\r
-    if "accurate timing" was not enabled.\r
-  * Fixed support for large hacked ROMs like "Ultimate Mortal Kombat Trilogy".\r
-    Upto 10MB hacked ROMs are supported now.\r
-  + Config profiles added (press left/right when saving config).\r
-  * Changed key configuration behavior to the one from gpfce (should be more\r
-    intuitive).\r
-  + Added some skinning capabilities to the menu system with default skin by\r
-    ketchupgun. Delete skin directory if you want old behaviour.\r
-  * Some other little tweaks I forgot about.\r
-\r
-1.32\r
-  + Added some new scaling options.\r
-  + Added ability to reload CD images while game is running (needed for games\r
-    with multiple CDs, like Night Trap).\r
-  + Added RAM cart emulation.\r
-  * Fixed DMA timing emulation (caused lock-ups for some genesis games).\r
-  * Idle loop detection was picking up wrong code and causing glitches, fixed.\r
-  * The ym2612 code on 940 now can handle multiple updates per frame\r
-    (fixes Thunger Force III "seiren" level drums for example).\r
-  * Memory handlers were ignoring some writes to PSG chip, fixed (missing sounds in\r
-    Popful Mail, Silpheed).\r
-  * Improved z80 timing, should fix some sound problems.\r
-  * Fixed a bug with sram register (fixes Phantasy Star 4).\r
-  * ROM loader was incorrectly identifying some ROMs as invalid. Fixed.\r
-  * Added code for PRG ram write protection register (Dungeon Explorer).\r
-  * The memory mode register change in 1.31 was unsafe and caused some glitches in\r
-    AH-3 Thunderstrike. Fixed.\r
-  * Fixed a file descriptor leak.\r
-  * Updated documentation, added Gmenu2x manual.\r
-\r
-1.31\r
-  * Changed the way memory mode register is read (fixes Lunar 2, broken in 1.30).\r
-  * Fixed TAS opcode on sub-68k side (fixes Batman games).\r
-  * File browser now filters out mp3s, saves and some other files, which are not ROMS.\r
-\r
-1.30\r
-  + ISO files now can be zipped. Note that this causes VERY long loading times.\r
-  + Added data pre-buffering support, this allows to reduce frequency of short pauses\r
-    in FMV games (caused by SD access), but makes those pauses longer.\r
-  * Fixed PCM DMA transfers (intro FMV in Popful Mail).\r
-  + Properly implemented "decode" data transformation (Jaguar XJ220).\r
-  * Integrated "better sync" code into cyclone code, what made this mode much faster.\r
-  * Fixed a bug related to game specific config saving.\r
-  * Frameskipper was skipping sound processing, what caused some audio desyncs. Fixed.\r
-  * Fixed reset not working for some games.\r
-  + New assembly optimized memory handlers for CD (gives at least a few fps).\r
-    Also re-enabled all optimizations from 0.964 release.\r
-  + New idle-loop detection code for sub-68k. Speeds up at least a few games.\r
-\r
-1.201\r
-  + Added basic cheat support (GameGenie and Genecyst patches).\r
-\r
-1.20\r
-  * Fixed a long-standing problem in audio mixing code which caused slight distortions\r
-    at lower sample rates.\r
-  * Changed the way 920 and 940 communicates (again), should be more reliable and give\r
-    slight performance increase.\r
-  * Some optimizations in audio mixing code.\r
-  * Some menu changes (background added, smaller font in ROM browser, savestate loader\r
-    now can select slots).\r
-  + 1M mode DMA transfers implemented (used by FMV games like Night Trap and Sewer Shark).\r
-  + Games now can run code from WORD RAM in 1M mode (fixes Adventures of Willy Beamish).\r
-  + "Cell arrange" address mapping is now emulated (Heart of the alien).\r
-  + "Color numeric operation" is now emulated (text in Lunar 2, Silpheed intro graphics).\r
-  + "Better sync" option added (prevents some games from hanging).\r
-\r
-1.14\r
-  + Region autodetection now can be customized.\r
-  * When CDDA music tracks changed, old buffer contents were incorrectly played. Fixed.\r
-  * BRAM is now automatically formatted (no need to enter BIOS menu and format any more).\r
-  * Games now can be reset, CDDA music no longer breaks after loading another ISO.\r
-  * Fixed a race condition between 920 and 940 which sometimes caused CDDA music not to play.\r
-  + Savestates implemented for Sega/Mega CD.\r
-  + PCM sound added.\r
-  * Some mixer code rewritten in asm. 22kHz and 11kHz sound rates are now supported in\r
-    Mega CD mode (but mp3s must still be 44kHz stereo).\r
-  + Timer emulation added.\r
-  * CDC DMA tansfers fixed. Snatcher and probably some more games now boot.\r
-  * 2M word RAM -> VDP transfers fixed, no more corruption in Ecco and some other games.\r
-\r
-1.10\r
-  + GP2X: Added experimental Sega CD support.\r
-  + GP2X: Added partial gmv movie playback support.\r
-\r
-0.964\r
-  * GP2X: Fixed a sound buffer underflow issue on lower sample rate modes, which was\r
-          happening for NTSC games and causing sound clicks.\r
-  * GP2X: Redone key config to better support USB joysticks (now multiple joysticks\r
-          should be useable and configurable).\r
-  + GP2X: Added save confirmation option.\r
-  + GP2X: Added 940 CPU crash detection.\r
-  + ALL:  UIQ3 port added.\r
-\r
-0.963\r
-  * GP2X: Gamma-reset-on-entering-menu bug fixed.\r
-  * GP2X: Recompiled PicoDrive with gcc profiling option set as described here:\r
-          http://www.gp32x.com/board/index.php?showtopic=28490\r
-\r
-0.962\r
-  * GP2X: Fixed an issue with incorrect sounds in some games when dualcore operation\r
-          was enabled (for example punch sound in SOR).\r
-  * GP2X: Limited max volume to 90, because higher values often cause distortions.\r
-  * GP2X: Fixed a bug with lower res scaling.\r
-  * GP2X: Gamma is now reset on exit.\r
-\r
-0.96\r
-  * ALL:  Severely optimized MAME's YM2612 core, part of it is now rewritten in asm.\r
-  + GP2X: The YM2612's code now can be run in GP2X's ARM940T CPU, what causes large\r
-          performance increase.\r
-  * ALL:  Accurate renderers are slightly faster now.\r
-  + GP2X: Using quadruple buffering instead of doublebuffer now, also updated\r
-          framelimitter, this should eliminate some scrolling and tearing problems.\r
-  * GP2X: Fixed some flickering issues of 8bit accurate renderer.\r
-  + GP2X: craigix's RAM timings now can be enabled in the menu (see advanced options).\r
-  + GP2X: Added ability to save config for specific games only.\r
-  + GP2X: Gamma control added (using GP2X's hardware capabilities for this).\r
-  * GP2X: Volume keys are now configurable.\r
-  + GP2X: GnoStiC added USB joystick support, I made it possible to use it for\r
-          player 2 control (currently untested).\r
-  * GP2X: squidgehack is now applied through kernel module (cleaner way).\r
-\r
-0.95\r
-  * ALL:  Fixed a bug in sprite renderer which was causing slowdowns for some games.\r
-  + GP2X: Added command line support\r
-  + GP2X: Added optional hardware scaling for lower-res games like Shining Force.\r
-  * ALL:  Sound chips are now sampled 2 times per frame. This fixed some games which\r
-          had missing sounds (Vectorman 2 1st level, Thunder Force 3 water level,\r
-             etc.).\r
-  + ALL:  Added another accurate 8-bit renderer which is slightly faster and made it\r
-          default.\r
-\r
-0.945\r
-  + GP2X: Added frame limiter for frameskipped modes.\r
-  * GP2X: Increased brightness a bit (unused pixel bits now also contain data).\r
-  * GP2X: Suidgehack was not applied correctly (was applied before allocating some\r
-          high memory and had no effect).\r
-\r
-0.94\r
-  + Added GP2X port.\r
-  * Improved interrupt timing, Mazin Saga and Burning Force now works.\r
-  * Rewritten renderer code to better suit GP2X, should be faster on other\r
-    ports too.\r
-  + Added support for banking used by 12-in-1 and 4-in-1 ROMs (thanks Haze).\r
-  + Added some protection device faking, used by some unlicensed games like\r
-    Super Bubble Bobble, King of Fighters, Elf Wor, ... (thanks to Haze again)\r
-  + Added primitive Virtua Racing SVP faking, so menus can be seen now.\r
-\r
-0.93\r
-  * Fixed a problem with P900/P910 key configuration in FC mode.\r
-  * Improved shadow/hilight mode emulation. Still not perfect, but should be\r
-    enough for most games.\r
-  + Save state slots added.\r
-  + Region selector added.\r
-\r
-0.92\r
-  VDP changes:\r
-  * VDP emulation is now more accurate (fixes flickering in Chase HQ II,\r
-    Super Hang-On and some other problems in other games).\r
-  * HV counter emulation is now much more accurate. Fixes the Asterix games,\r
-    line in Road Rash 3, etc.\r
-  * Minor sprite and layer scroll masking bugs fixed.\r
-  + Added partial interlace mode renderer (Sonic 2 vs mode)\r
-  * Fixed a crash in both renderers when certain size window layers were used.\r
-  + Added emulation of shadow/hilight operator sprites. Other shadow/hilight\r
-    effects are still unemulated.\r
-  + Sprite emulation is more accurate, sprite limit is emulated.\r
-  + Added "accurate sprites" option, which always draws sprites in correct\r
-    order and emulates sprite collision bit, but is significantly slower.\r
-\r
-  Emulation changes:\r
-  * Improved interrupt handling, added deferred interrupt emulation\r
-    (Lemmings, etc).\r
-  + Added serial EEPROM SRAM support (Wonder Boy in Monster World,\r
-    Megaman - The Wily Wars and many EA sports games like NBA Jam).\r
-  + Implemented ROM banking for Super Street Fighter II - The New Challengers\r
-  * Updated to the latest version of DrZ80 core, integrated memory handlers\r
-    in it for better performance. A noticeable performance increase, but save\r
-       states may not work from the previous version (you can only use them with\r
-       sound disabled in that case).\r
-  + SRAM word read handler was using incorrect byte order, fixed.\r
-\r
-  Changes in Cyclone 0.0086:\r
-  + Added missing CHK opcode handler (used by SeaQuest DSV).\r
-  + Added missing TAS opcode handler (Gargoyles,Bubba N Stix,...). As in real genesis,\r
-    memory write-back phase is ignored (but can be enabled in config.h if needed).\r
-  + Added missing NBCD and TRAPV opcode handlers.\r
-  + Added missing addressing mode for CMP/EOR.\r
-  + Added some minor optimizations.\r
-  - Removed 216 handlers for 2927 opcodes which were generated for invalid addressing modes.\r
-  + Fixed flags for ASL, NEG, NEGX, DIVU, ADDX, SUBX, ROXR.\r
-  + Bugs fixed in MOVEP, LINK, ADDQ, DIVS handlers.\r
-  * Undocumented flags for CHK, ABCD, SBCD and NBCD are now emulated the same way as in Musashi.\r
-  + Added Uninitialized Interrupt emulation.\r
-  + Altered timing for about half of opcodes to match Musashi's.\r
-\r
-0.80\r
-  * Nearly all VDP code was rewritten in ARM asm. Gives ~10-25% performance\r
-    increase (depends on game).\r
-  * Optimized 32-column renderer not to render tiles offscreen, games which\r
-    use 32-column display (like Shining Force) run ~50% faster.\r
-  + Added new "Alternative renderer", which gives another ~30-45% performance\r
-    increase (in addition to mentioned above), but works only with some games,\r
-    because it is missing some features (it uses tile-based rendering\r
-    instead of default line-based and disables H-ints).\r
-  + Added "fit2" display mode for all FC gamers. It always uses 208x146 for\r
-    P800 and 208x208 for all other phones.\r
-  + Added volume control for Motorolas (experimental).\r
-\r
-  VDP changes:\r
-  + Added support for vertical window (used by Vapor Trail, Mercs, GRIND\r
-    Stormer and others).\r
-  + Added sprite masking (hiding), adds some speed.\r
-  + Added preliminary H counter emulation. Comix Zone and Sonic 3D Blast\r
-    special stage are now playable.\r
-  + Added column based vertical scrolling (Gunstar Heroes battleship level,\r
-    Sonic and Knuckles lava boss, etc).\r
-\r
-  Emulation changes:\r
-  + Re-added and improved Z80 faking when Z80 is disabled. Many games now can\r
-    be played without enabling Z80 (Lost Vikings, Syndicate, etc), but some\r
-    still need it (International Superstar Soccer Deluxe).\r
-  * Improved ym2612 timers, Outrun music plays at correct speed, voices in\r
-    Earthworm Jim play better, more games play sound.\r
-  * I/O registers now remember their values (needed for Pirates! Gold)\r
-  + Added support for 6 button pad.\r
-\r
-  Changes in Cyclone 0.0083wip:\r
-  + Added missing CHK opcode (used by SeaQuest DSV).\r
-  + Added missing TAS opcode (Gargoyles). As in real genesis, write-back phase\r
-    is ignored (but is enabled for other systems).\r
-\r
-  Backported stuff from Snes9x:\r
-  * Fixed Pxxx jog up/down which were not working in game.\r
-  + Added an option to gzip save states to save space.\r
-  + The emulator now pauses whenever it is loosing focus, so it will now pause\r
-    when alarm/ponecall/battery low/... windows come up.\r
-  - Removed 'pause on phonecall' feature, as it is no longer needed.\r
-  + Video fix for asian A1000s.\r
-\r
-0.70\r
-  * Started using tools from "Symbian GCC Improvement Project", which give\r
-    considerable speed increase (~4fps in "center 90" mode).\r
-  * Rewrote some drawing routines in ARM assembly (gives ~6 more fps in\r
-    "center 90" mode).\r
-  * Minor improvement to 0 and 180 "fit" modes. Now they look slightly better\r
-    and are faster.\r
-  * Minor stability improvements (emulator is less likely to crash).\r
-  + Added some background for OSD text for better readability.\r
-  + Added Pal/NTSC detection. This is needed for proper sound speed.\r
-  + Implemented Reesy's DrZ80 Z80 emu. Made some changes to it with hope to make\r
-    it faster.\r
-  + Implemented ym2612 emu from the MAME project. Runs well but sometimes sounds\r
-    a bit weird. Could be a little faster, so made some changes too.\r
-  + Implemented SN76489 emu from the MAME project.\r
-  + Added two separate sound output methods (mediaserver and cmaudiofb) with\r
-    autodetection (needs testing).\r
-  * Fixed VDP DMA fill emulation (as described in Charles MacDonald's docs),\r
-    fixes Contra and some other games.\r
-\r
-0.301\r
-  Launcher:\r
-  * Launcher now starts emulation process from current directory,\r
-    not from hardcoded paths.\r
-  * Improved 'pause on call' feature, should hopefully work with Motorola phones.\r
-\r
-0.30\r
-  Initial release.\r
-\r
-\r
-Disclaimer\r
-----------\r
-\r
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" \r
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE \r
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE \r
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE \r
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR \r
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF \r
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \r
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \r
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \r
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \r
-POSSIBILITY OF SUCH DAMAGE. \r
-\r
-SEGA/Genesis/MegaDrive/SEGA-CD/Mega-CD/32X are trademarks of\r
-Sega Enterprises Ltd.\r
-\r