Don't understimate the power of PSyKe v0.1.5 ALPHA brought to you by -= FAB4 =- PSX emulator by RaskY and mOoNsHaDo Copyright (C) 1998, Giovanni Bajo and Stefano Crosara Legal ***** This product is provided AS IS, without warranties of any kind: the authors of this program cannot be held liable for any defects in the executable nor in the documentation nor in any other files contained in this package. Any damage directly or indirectly caused by the use/misuse of PSyKe is the sole responsibility of the user her/himself. In other words: PSyKe never formatted my harddisk, nor killed my cat, so I suppose it won't cause any damage to your system either, but, just in case, do not blame me if something nasty happens. PSyKe is not affiliated in any way with Nayma Software. Changes ******* 0.1.5 ALPHA August 3rd ------------------------ - CDROM emulation (still buggy). Now some commercial games and demos are working. - CD Audio should work. - 3DFX Glide Driver, pratically completed, but buggy (specially in alpha blending) - Rootcounters (needed for some games, eg. Crash Bandicoot) - Configurable IRQ system - Autostart CD with F1 - Some fixes in the GUI - Alpha blending on polygons in the software driver (still buggy) 0.1 ALPHA June 19th ----------------------- - First release What's PSyKe ************ PSyKe is a freeware PSX emulator written for Win32 operating systems (Win95/98), with DirectX 5. Project is started on February 1st, 1998. PSyKe is the first public project of Fab4, a group dedicated to emulation. Fab4 official web site will be online in next days. Psyke web site is: http://come.to/psyke or http://psyke.base.org PSyKe has been written using Visual C++ 4.0 and NASM 0.97, from *scratch*. It is freeware for now, and it cannot be SOLD nor MODIFIED in any way. CDROM routines has been written by Peter Barret. Features ******** A brief description of the features of PSyKe. Legenda: - means implemented + means partially optimized * means full optimized Features: + R3051 (CPU), with dynamic recompilation - BIOS support (all the known BIOS) + Memory (RAM, ROM, VRAM, data cache and parallel port) - Interrupts and DMA channels - Rootcounters * GTE (matrix calc) (a few opcodes missing) - GPU (graphics) - CDROM emulation - Software-only graphic driver - 3DFX Glide Driver - Standard PADs (both 1&2, only with keyboard for now) - easy-to-use GUI Status report ************* --------------------------------------------------------------------------- | | Implemented with dynamic recompilation, it emulates CPU & COP0 | 90% | all the things needed by the BIOS and the games. | | Some optimizations still left. --------------------------------------------------------------------------- | | MEMORY | 100% | All known memory accesses have been emulated | | --------------------------------------------------------------------------- | | We are emulating all the interrupts that seem to be INTERRUPTS | 60% | needed for running games. Tons of them are ignored | | but will be added if necessary. --------------------------------------------------------------------------- | | Rootcounters are fully implemented. MISC HARDWARE | 65% | Used DMA channels are implemented. | | --------------------------------------------------------------------------- | | Most of the functions are emulated. It should be GTE | 80% | enough to run most 3D code. It's coded 100% in | | assembler, and largely optimized. --------------------------------------------------------------------------- | | MDEC | 0% | Nothing for now | | --------------------------------------------------------------------------- | | It pratically works. Some bugs left, and some CD-ROM | 75% | primitives are still missed. | | --------------------------------------------------------------------------- | | GPU | 95% | Pratically full emulated | | --------------------------------------------------------------------------- | | Polygons, sprites, tiles are emulated, with alpha Software Driver| 90% | blending. It misses only lines. 100% C code, | | that will be rewritten to full ASM. --------------------------------------------------------------------------- | | Polygons, sprites, tiles and lines are emulated, with 3DFX Driver | 80% | alpha blending. It misses some heavy optimizations | | and the last alpha blending mode --------------------------------------------------------------------------- | | SPU | 0% | Nothing for now | | --------------------------------------------------------------------------- | | Full standard pad 1&2 emulation. Planned emulation PAD | 80% | for other devices (eg Namco). | | --------------------------------------------------------------------------- | | Memcards | 0% | Nothing for now | | --------------------------------------------------------------------------- | | GUI | 85% | Complete, friendly and easy to use. | | --------------------------------------------------------------------------- What you need ************* Pentium-class machine 24Mb RAM Fast graphic card or 3DFX BIOS image It is strongly recommended a Intel Pentium II, or at least a Genuine Intel Pentium. Remember that 3D calculation and drawing are/will be optimized for Intel processors, and they (will) run slower on clones like K6 or 6x86. The BIOS image is a dump of the ROM inside the Playstation. You are NOT allowed to have it if you do not have a PSX. So without a PSX, you CANNOT legally use PSyKe. PSyKe supports all the known BIOS. Compatibility ************* In the current releases PSyKe works with some commercial games (a complete compatibility list will be updated on the site) and several game demos, plus with a large amount of homebrewn demos, intros and yaroze games. If you want to see some homebrewn stuff, go downloading them from Insert Coin, http://napalm.intelinet.com. Most of them are 100% working on PSyKe, without music of course. There are also direct links from our web site. To run yaroze productions, you must first convert the executable using ECOFF2EXE by Silpheed (avaible at Insert Coin), and remember to load LIBPS before loading the executable. Getting started *************** Unzip all the files inside a directory, then copy your BIOS image there. The first time you execute PSyKe, configuration dialog will pop up; insert there your directories and BIOS image. When PSyKe starts, insert your CDROM, hit F1 (Menu File / Boot CDROM) and prey: several games are working, but most of them are still incompatible with PSyKe. If the game does not work, the first thing you should do is trying to manually load an executable from CD. Hit F3 (Menu File / Open PSX .EXE), and select an executable from the CDROM. Then, hit F5 to run. The homebrewn productions must be loaded in this way, of course. ** NOTE ** Before loading an executable, you MUST always reset PSyKe first. To do it, simply press CTRL+F2 (Menu Program / Reset). You will find out that most of the homebrewn demos/games have external data files that must be uploaded to the PSX memory. This can be done manually by hitting CTRL+F3 (Menu File / Load data file), selecting the file and entering the address inside PSX RAM. Instead, you can use the load lists, that are scripts file containg the list of all data files that must be uploaded, with their addresses. We put on our web site all .PLL needed to run programs that has been tested for the compatibility area. Look at them, and try to write your own. Try also on our web site to find load lists for most intros. While PSyKe is running, press ESC or PAUSE to stop execution. To switch to fullscreen mode, press F4 (only when PSyKe is not running). To switch to another graphic driver, go to Menu Display / Change Driver. All the avaible drivers will be displayed. The drivers (.DLL) must be inside the PSyKe directory. Note that for now it is not possible to change driver "on the fly": every change will automatically reset PSyKe. Controllers *********** Both pads are emulated with keyboard, and remapping is not allowed. This will surely be modified in next release. We'll add joystick support, and keyboard remapping. These are the key assignment: Button PAD1 PAD2 ****** **** **** UP UPARROW K DOWN DOWNARROW , LEFT LEFTARROW M RIGHT RIGHTARROW . QUAD INSERT A CROSS DELETE Z CIRCLE END X TRIANGLE HOME S L1 PAGEUP D L2 BACKSPACE C R1 PAGEDOWN F R2 SCROLLBLOCK V START RETURN LEFTCONTROL SELECT RIGHTSHIFT LEFTSHIFT Known problems ************** PSyKe may crashes with some programs, causing a General Protection Fault. It's normal, because there are things not yet emulated, and our emulator is still buggy. CDROM routines are not compatible with all the CDROM drives. The compatibility will be increased in the next releases. PSyKe runs in windowed mode only if Windows desktop has been set up with 16bit color-depth (there will be a "pixel format" warning when you start the emulator). Workarounds for this problem are planned, but they will surely slowdown emulation a bit, when activated. If you get the warning also while in 16bit resolution, mail us. PSyKe doesn't work under NT by now, basically because we work under Win95. This problem will surely be fixed in next releases. PSyKe works under Win98. If you can select beetween PAL and NTSC, always select NTSC. It works better with PSyKe. If you press ALT while in fullscreen mode, PSyKe will try to open menus, making a big mess. Remember to always stop emulation first, by pressing ESC or PAUSE. CDROM emulation is still buggy. If your favourite game does not work, wait for the next release. Alpha Blending is emulated correctly in the software driver, but it is very slow. MMX will surely speed up it a lot. With the Glide driver, alpha blending is fast, but it is still not perfect. Why my game doesn't work? ************************* Possible anwsers: - PSyKe CDROM routines are incompatible with your CDROM drive. Give us more time to fix them. - If you have pressed F1 to boot CDROM, the main executable could be incompatible with PSyKe. Try to manually load & run some executable from the CDROM (remember to reset PSyKe before loading something). - The game could freeze waiting for rootcounters (eg. Crash Bandicoot). Try to activate (Menu File / Config / Advanced). Remember to activate rootcounters only if they are really needed, because they may slowdown emulation. - The game could freeze on MDEC. This means that the game is waiting for MDEC to play some video movies, but MDEC is not emulated in PSyKe. In some cases, you should be able to see some MDEC errors at the end of OUT.LOG, immediatly after having run the game. We'll add a MDEC skipper. - The game could stop on an "Assert error", or simply crashes PSyke. In the first case, you can try to ignore the error (hitting the "ignore" button), but probably the game won't work anymore. This means that the game is trying to use something not yet emulated, or it is hitting a bug in PSyKe. Wait for a new version. ** DO NOT REPORT ANY ERRORS WITH ANY GAMES **. We have our betatesting team (INVITE ONLY) for this. Why my game is so slow? *********************** Possible answers: - Hey, it's a PSX emulator. Don't expect to have full framerate on a P166. - If you have 3DFX, use the Glide driver instead of the software driver. Switch to it wih Menu Display / Change Driver. - Try to disable some graphic settings (Menu File / Display / Configure). With the software driver, alpha blending is very slow. With Glide driver, go to a lower resolution. - Try to disable rootcounters (Menu File / Config / Advanced) - Try to modify the vblank period (Menu File / Config / Advanced). Find the setting that perform better on your game. Before mailing us ***************** We cannot reply to all e-mail. We don't/won't reply to e-mail regarding file requests of any kind. We don't like fileattaches. Please ask first. We don't know when next version will be out. We don't know why programs reported as working in compatibility list don't work on your machine. Some advices: always reset PSyKe before changing name, try to manually load some executables from the CD if the auto boot does not work- We will support Voodoo2 and SLI mode. Give us only some more time. Other graphic drivers (OpenGL and D3D mostly) are possible. We think that complete emulation of PSX is possible, but don't expect that it will be fast on a Pentium. Remember that SNES emus don't reach full frame rate with some games on a P166. Target machine will be Pentium II. We are not thinking about porting. PSyKe is not portable, and uses a lot of Win32 specific code, plus tons of x86 assembler. We will *never* include the built-in debugger in public releases. If you really need it, email us, and tell us why you need it. Other questions? Please consult also PSyKe FAQs on the website, before mailing us. Planned additions ***************** In the near future: ASM rewriting of software driver Finish the GTE emulation Finish the CDROM emulation In the far future: Sound emulation 24-bit truecolor graphic driver OpenGL (and D3D) graphic driver In a century far, far away: MDEC emulation How to help us ************** As you saw, PSyKe is freeware, because "emulation wants to be free" (if you are not a newbie in emulation scene, you can surely remember this sentence). However, we worked hard, spending our days and nights, and there are still tons of things that must be done, that will take much, much, much time. This is why we are asking for donations. If you like PSyKe, and you want to support us for new releases, please send us some money. Hardware is also well accepted (we mainly need PSX(s), Action Replay(s), PC Comm Link(s) and Intel MMX processor(s). Mail us before sending anything). If we don't receive enough donations, we will probably have to stop the project, or make it shareware/commercial: remember that we must also work/study to live. Contact infos ************* PSyKe: psyke@fab4.ml.org The address above must be used for all questions/comments/infos/etc regarding PSyKe. The following addresses must be used only to contact directly one of us. RaskY - rasky@fab4.ml.org mOoN - moonshado@fab4.ml.org Credits & Greetings ******************* THANKS (BIG THANKS) to Twin for his support. Without him, PSyKe probably would not be here today. We love you, Twin! CDROM routines have been coded by Peter Barrett. Thanks to Zer0 for the fantastic logo. It really rocks. Thanks to Nagra for his fantastic docs about BIOS and GPU, for his disassembler, for some direct help about GPU and interrupts, and other things he know. Thanks to Brainwalker for his sources than helped me fixing a nasty bug in GPU. Greetings ********* HiHo fly to (in no special order): Centauro, Nik, Jihad, Barog, JackRipper, Duddie, Tratax, Nagra, Silpheed, Brainwalker, Sardu, Y0shi, and all friends on #psxdev.