UIQ3 bugfixes, SVP drc indirect jumps, stuff
[picodrive.git] / platform / gp2x / PicoDrive.man.txt
index 7f95a66..f7768b5 100644 (file)
@@ -1,15 +1,17 @@
 [About]\r
 This is yet another Megadrive / Genesis / Sega CD / Mega CD emulator, which was written having ARM-based handheld devices in mind (such as PDAs, smartphones and handheld consoles like GP2X of course). The critical parts (renderer, 68K and Z80 cpu interpreters) and some other random code is written in ARM asm, other code is C. The base code originates from Dave's (fdave, finalburn) PicoDrive 0.30 for Pocket PC. The Sega/Mega CD code is roughly based on Stephane Dallongeville's Gens.\r
 \r
+PicoDrive is the first emulator ever to properly emulate Virtua Racing and it's SVP chip.\r
+\r
 \r
 For help / comments / questions visit GP32X boards at:\r
 http://www.gp32x.com/board/\r
 \r
 \r
 [How to make it run]\r
-Copy PicoDrive.gpe, code940.bin and mmuhack.o to any place in your filesystem (all 3 files must be in the same directory) and run PicoDrive.gpe. Then load a ROM and enjoy! ROMs can be in .smd or .bin format and can be zipped.\r
+Copy PicoDrive.gpe, pico940_v3.bin and mmuhack.o to any place in your filesystem (all 3 files must be in the same directory) and run PicoDrive.gpe. Then load a ROM and enjoy! ROMs can be in .smd or .bin format and can be zipped.\r
 \r
-If you have any problems (game does not boot, sound is glitchy, broken graphics), make sure you enable "Accurate timing", "Emulate Z80" and use "16bit accurate renderer". This way you will get the best compatibility this emulator can provide.\r
+If the game has graphic problems, make sure you use "16bit accurate renderer" (press Y). If it still doesn't work, try clean copy of the emulator, as you may have config problems.\r
 \r
 \r
 [How to run Sega/Mega CD games]\r
@@ -55,52 +57,49 @@ Other two are accurate line-based renderers. The 8bit is faster but does not run
 2. "Scaling"\r
 "hw" means GP2X hardware scaler, which causes no performance loss, but scaled image looks a bit blocky. "sw" means software scaling, which uses pixel averaging and may look a bit nicer, but blurry. Horizontal scaling is only for games which use so called "32 column mode" (256x224 or 256x240), and scales image width to 320 pixels. Vertical scales height to 240 for games which use height 224 (most of them).\r
 \r
-3. "Accurate timing"\r
-This adds some more emulation precision, but slows the emulation down. Without this option some games do not boot (Red Zone for example), others have sound problems. This options has no effect for Sega/Mega CD emulation.\r
-\r
-4. "Accurate sprites"\r
-This option improves emulation of sprite priorities, it also enables emulation of sprite collision bit. If you see one sprite being drawn incorrectly above the other (often seen in Sonic 3D Blast), you can enable this to fix the problem. This only works with the accurate renderers (see first option).\r
-\r
-5. "Show FPS"\r
+3. "Show FPS"\r
 Self-explanatory. Format is XX/YY, where XX is the number of rendered frames and YY is the number of emulated frames per second.\r
 \r
-6. "Frameskip"\r
+4. "Frameskip"\r
 How many frames to skip rendering before displaying another. "Auto" is recommended.\r
 \r
-7. "Enable sound"\r
+5. "Enable sound"\r
 Does what it says. You must enable at least YM2612 or SN76496 (in advanced options, see below) for this to make sense.\r
 \r
-8. "Sound Quality"\r
+6. "Sound Quality"\r
 Sound rate and stereo mode. If you want 44100Hz sound, it is recommended to enable the second core (next option).\r
 \r
-9. "Use ARM940 core for sound"\r
+7. "Use ARM940 core for sound"\r
 This option causes PicoDrive to use ARM940T core (GP2X's second CPU) for sound (i.e. to generate YM2612 samples) to improve performance noticeably.\r
 \r
-10. "6 button pad"\r
+8. "6 button pad"\r
 If you enable this, games will think that 6 button gamepad is connected. If you go and reconfigure your keys, you will be able to bind X,Y,Z and mode actions.\r
 \r
-11. "Region"\r
+9. "Region"\r
 This option lets you force the game to think it is running on machine from the specified region, or just to set autodetection order. Also affects Sega/Mega CD.\r
 \r
-12. "Use SRAM/BRAM savestates"\r
+10. "Use SRAM/BRAM savestates"\r
 This will automatically read/write SRAM (or BRAM for Sega/Mega CD) savestates for games which are using them. SRAM is saved whenever you pause your game or exit the emulator.\r
 \r
-13. "Confirm savestate"\r
+11. "Confirm savestate"\r
 Allows to enable confirmation on savestate saving (to prevent savestate overwrites), on loading (to prevent destroying current game progress), and on both or none.\r
 \r
-14. "GP2X CPU clocks"\r
+12. "Save slot"\r
+This is a slot number to use for savestates. This can also be configured to be changed with a button (see "key configuration").\r
+\r
+13. "GP2X CPU clocks"\r
 Here you can change clocks of both GP2X's CPUs. Larger values increase performance. There is no separate option for the second CPU because both CPUs use the same clock source. Setting this option to 200 will cause PicoDrive NOT to change GP2X's clocks at all (this is if you use external program to set clock).\r
 \r
-15. "[Sega/Mega CD options]"\r
+14. "[Sega/Mega CD options]"\r
 Enters Sega/Mega CD options menu (see below).\r
 \r
-16. "[advanced options]"\r
+15. "[advanced options]"\r
 Enters advanced options menu (see below).\r
 \r
-17. "Save cfg as default"\r
+16. "Save cfg as default"\r
 If you save your config here it will be loaded on next ROM load, but only if there is no game specific config saved (which will be loaded in that case).\r
 \r
-18. "Save cfg for current game only"\r
+17. "Save cfg for current game only"\r
 Whenever you load current ROM again these settings will be loaded (squidgehack and RAM settings will not take effect until emulator is restarted).\r
 \r
 \r
@@ -112,29 +111,35 @@ Enter [advanced options] in config menu to see these options.
 1. "Gamma correction"\r
 Alters image gamma through GP2X hardware. Larger values make image to look brighter, lower - darker (default is 1.0).\r
 \r
-2. "Emulate Z80"\r
+2. "A_SN's gamma curve"\r
+If this is enabled, different gamma adjustment method will be used (suggested by A_SN from gp32x boards). Basically it makes difference for dark and bright colors.\r
+\r
+3. "Perfect vsync"\r
+This one adjusts the LCD refresh rate to better match game's refresh rate and starts synchronizing rendering with it. Should make scrolling smoother and eliminate tearing.\r
+\r
+4. "Emulate Z80"\r
 Enables emulation of Z80 chip, which was mostly used to drive the other sound chips. Some games do complex sync with it, so you must enable it even if you don't use sound to be able to play them.\r
 \r
-3. "Emulate YM2612 (FM)"\r
+5. "Emulate YM2612 (FM)"\r
 This enables emulation of six-channel FM sound synthesizer chip, which was used to produce sound effects and music.\r
 \r
-4. "Emulate SN76496 (PSG)"\r
+6. "Emulate SN76496 (PSG)"\r
 This enables emulation of additional sound chip for additional effects.\r
 \r
 Note: if you change sound settings AFTER loading a ROM, you may need to reset game to get sound. This is because most games initialize sound chips on startup, and this data is lost when sound chips are being enabled/disabled.\r
 \r
-5. "gzip savestates"\r
+7. "gzip savestates"\r
 This will always apply gzip compression on your savestates, allowing you to save some space and load/save time.\r
 \r
-6. "Don't save last used ROM"\r
+8. "Don't save last used ROM"\r
 This will disable writing last used ROM to config on exit (what might cause SD card corruption according to DaveC).\r
 \r
-7. "craigix's RAM timings"\r
+9. "craigix's RAM timings"\r
 This overclocks the GP2X RAM chips, but may cause instability. Recommended if you use the second core for sound. Needs emulator restart to take effect.\r
 See this thread:\r
 http://www.gp32x.com/board/index.php?showtopic=32319\r
 \r
-8. "squidgehack"\r
+10. "squidgehack"\r
 Well known way to improve the GP2X performance. You must restart the emulator for the change of this option to take effect.\r
 \r
 \r
@@ -147,14 +152,15 @@ These options just show if your BIOS files were correctly detected by the emulat
 4. "CD LEDs"\r
 The Sega/Mega CD unit had two blinking LEDs (red and green) on it. This option will display them on top-left corner of the screen.\r
 \r
-5. "CDDA audio (using mp3s)"\r
+5. "CDDA audio"\r
 This option enables CD audio playback.\r
 \r
 6. "PCM audio"\r
 This enables 8 channel PCM sound source. It is required for some games to run, because they monitor state of this audio chip.\r
 \r
 7. "ReadAhead buffer"\r
-This option is for dealing with slow SD card access in GP2X, which makes FMV games unplayable. It will allow emulator not to access SD card for longer periods of time, but it will take more time to fill the buffer.\r
+This option can prefetch more data from the CD image then requested by game (to avoid accessing card later), what can improve performance in some cases.\r
+"OFF" is the recommended setting.\r
 \r
 8. "Save RAM cart"\r
 Here you can enable 64K RAM cart. Format it in BIOS if you do.\r
@@ -169,7 +175,7 @@ This option is similar to "Perfect synchro" in Gens. Some games require it to ru
 Key configuration\r
 -----------------\r
 \r
-When you select "Configure controls" from the menu, you enter a key configuration mode, where you use SELECT to change an action, and then press a key you like to bind to that action. You can press the same key again to unbind. Select "DONE" action and press any key to finish.\r
+Select "Configure controls" from the main menu. Then select "Player 1" and you will see two columns. The left column lists names of Genesis/MD controller buttons, and the right GP2X ones, which are assigned to them. If you bind 2 different GP2X buttons to the same action, you will get a combo (which means that you will have to press both buttons for that action to happen.\r
 \r
 \r
 [Other important stuff]\r
@@ -219,6 +225,8 @@ z80 @ 3.6MHz: yes, DrZ80 core
 VDP: yes, except some quirks 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 supported too.\r
 \r
 Sega/Mega CD:\r
 another 68k @ 12.5MHz: yes, Cyclone too\r
@@ -230,29 +238,32 @@ RAM cartridge: yes
 \r
 \r
 [Problems / limitations]\r
-* 32x and SVP are not emulated.\r
+* 32x is not emulated.\r
 * Various VDP quirks (window bug, scroll size 2, etc.) are not emulated, as very few games use this (if any at all).\r
-* Some games don't work or have glitches because of inaccurate timing and sync between the emulated chips.\r
+* The emulator is not 100% accurate, so some things may not work as expected.\r
 \r
 \r
 [Credits]\r
-This emulator uses code from these people/projects:\r
+This emulator is made of the code from following people/projects:\r
+\r
+notaz\r
+GP2X, UIQ, PSP, Gizmondo ports, CPU core hacks,\r
+lots of additional coding (see changelog).\r
+Homepage: http://notaz.gp2x.de/\r
 \r
 Dave\r
 Cyclone 68000 core, Pico emulation library\r
 Homepage: http://www.finalburn.com/\r
 \r
-notaz\r
-GP2X port, Cyclone 68000 hacks, lots of additional coding (see changelog).\r
-\r
 Reesy & FluBBa\r
-DrZ80, the Z80 emulator written in ARM assembly.\r
+DrZ80, the Z80 interpreter written in ARM assembly.\r
 Homepage: http://reesy.gp32x.de/\r
 \r
-Tatsuyuki Satoh, Jarek Burczynski, MultiArcadeMachineEmulator development software implementation of Yamaha FM sound generator\r
+Tatsuyuki Satoh, Jarek Burczynski, MAME development\r
+software implementation of Yamaha FM sound generator\r
 \r
-MultiArcadeMachineEmulator (MAME) development\r
-Texas Instruments SN76489 / SN76496 programmable tone /noise generator\r
+MAME development\r
+Texas Instruments SN76489 / SN76496 programmable tone/noise generator\r
 Homepage: http://www.mame.net/\r
 \r
 Stephane Dallongeville\r
@@ -263,18 +274,25 @@ Helix mp3 decoder
 \r
 \r
 [Additional thanks]\r
-* Charles MacDonald (http://cgfm2.emuviews.com/) for old but still very useful info about genesis hardware.\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
 * Mark and Jean-loup for zlib library.\r
+* ketchupgun for the skin.\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
 * GnoStiC & Puck2099 for USB joystick support.\r
 * Hermes PS2R, god_at_hell for the CpuCtrl library.\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
 * Anyone else I forgot. You know who you are.\r
 \r
 \r