Pete's Soft driver for PSX emus ------------------------------- Well, in early '99 I started to code my own PSX GPU, because I wanted to play Breath of Fire 3 on my PC, and at this time all of the PSEmu Pro plugins could not handle the game without showing severe glitches. So I leeched Duddie's public SoftGPU sources and tried to understand how the psx gpu is working, digging my way through Duddie's code. After a while I decided to switch to the OpenGL API, hoping I would get speed and graphical improvements... and after several versions it worked really nice :) Of course you have to do some trade-offs when you try to emulate the psx gpu with an hardware accellerated API like OpenGL or D3D... there are some things a psx game coder can do with the real gpu which are _not_ nice ;( Well, in the past I told users reporting strange displays or missing menus to try the Kazz SoftGPU. As a software gpu it has certain advantages to get the more weird gpu stuff right. Sadly enough, Kazz never 'finished' the plugin (mmm... sometimes I wonder if an emu could ever be finished :) missing certain psx features like polylines or texture tiles (texture windows). So, after releasing version 1.33 of my gpu plugins, I decided to create my most compatible psx gpu plugin ever. I took my d3d sources and mixed them with the soft gpu funcs I did over a year ago... and now, after some weeks, I can proudly present Pete's SoftGPU :) If you are encountering gpu bugs using my ogl/d3d plugins with a game, try this soft one... it doesn't look as nice as the hw accelerated ports, and of course it's not as fast, but it should be showing any splash screen, any menu and any funny gfx effect... if it doesn't, you can blame the main emu core :) ---------------------------------------------------------------------------- Requirements: Any 2 MB video card which can handle DirectDraw with 16 bit color depth should work fine... only 16 and 32 bit color depths are supported, if you are using a 24 bit desktop, switch to a fullscreen mode because in Window mode you will get funny colors. Note: some (older) gfx cards can't handle the 16 bit mode properly (screwed display), you have to use the 32 bit mode if that's happening. While the gfx card doesn't make much a difference with the SoftGPU, your cpu power will be most important... I have a P3 550, and most games are running at full speed... some others need the frame skipping option to run fast, though. Mmm... and if you want to use an add-on gfx card like the Voodoo 2, you will need at least DirectX 6 installed (dunno, if a V2 card will work with the gpu anyway, because it doesn't use buffer flipping). ---------------------------------------------------------------------------- Configuration: The SoftGPU has not much options... because it doesn't need them :) 0) Rendering device -------------------- If you have more than one gfx card installed (I have for example a GeForce and Voodoo3 PCI), you can select the card you want to use with the "Select device" button. 1) Resolution & Colors ----------------------- Well, that section should be self-explaining. Please note: some cards (like the 3dfx V2/V3) can't do a 32 bit color depth, or rendering in a window (V2). Selecting an option which your card can't handle will cause error message boxes or crashes or something like that... yup, sorry If you want speed (who doesn't): the 16 bit color modes are faster than the 32 bit ones... and with this SoftGpu you will _not_ get a better image quality by choosing 32 Bit modes, so I really suggest to use 16 bit colors. Enabling "unstreched display" will show the unstreched psx display centered inside the window. 2) Framerate limit/Frame skipping ---------------------------------- You can activate FPS limitation if your game is running to fast. You can use "Auto detect FPS limit", if you are not sure, what limit would be best to use. Or you just type in a FPS rate that suits you. PAL games use 50 FPS, non-PAL games 60 FPS. And if things are getting too slow... you can try Frame skipping. Tip: you can also try to turn on both... You can also enable the in-game menu right from the game start (showing the fps and let you change some gpu options while playing). Of course you still can use the "DEL" key for showing/hiding the menu. 3) Special game fixes ------------------------ Some gfx glitches are caused by the main emu core or because I've not found out (yet) how certain things are activated on a real psx gpu. But you can minimize bad effects with certain games by using the internal gpu patches.... push the "..." button to see (and activate) the list of available fixes. Keys ---- save psx vram as a bitmap to the 'Snap' sub directory - if you want to mail me a snapshot, please ask before doing it... + switch between window/fullscreen mode show/hide the gpu version (if no FPS is displayed) or an help text (if the FPS menu is displayed) show/hide FPS and option menu How it works: Hit and the Framerate und the menu will appear. It looks like: 'FPS XXXX.X FL< FS GF A' What does it all mean? Here's the legend: FPS: frames per second, higher means better :) FL : Frame rate limiter FS : Frame skipping GF : Game fixes A/M: Analog pad mode/PSX Mouse mode... that's an information from the emu core, telling you if the pad emulation is doing Mouse mode ('M'), Analog mode ('A') or Digital mode (no 'A' and no 'M') If a '*' character is beneath an option, the option is active, otherwise inactive. There is a '<' character you can move with the or keys toward an option you want to toggle. Just hit the / key to switch the selected option on or off. Changes will be done immediatly, you can see how the framerate is affected if an option is on or off. If you have found a setting that suits your game just hide the menu by pressing again. I don't store changed options permanently, you have to do that still in the main configuration dialog. ---------------------------------------------------------------------------- Some tips: - use a 16 bit desktop color depth if you want to play in Window mode or use a 16 bit fullscreen mode to get higher speed - activating the frame skipping option may be causing glitches... turn it off before sending me mails. - on nVidia cards you will notice blurred (or 'smoothed') screens. Well, some people enjoy that, others do not. You can turn off the auto-smoothing by disabling hardware accelerated DirectDraw. Go to the DirectX applet in your Windows Control Panel, start it and select the DirectDraw tab. Here you can turn acceleration off... the GPU will become slightly slower, though. And don't forget to re-activate the DD option, else you will have troubles to start DirectX based PC games. As always: mail me your results :) But NO bitmaps before asking me first... ---------------------------------------------------------------------------- For version infos read the "version.txt" file. Have fun! Pete Bernert EMail: BlackDove@addcom.de Web: http://home.t-online.de/home/PeteBernert ---------------------------------------------------------------------------- Disclaimer/Licence: This program is freeware and cannot be sold. Also this program cannot be distributed without written permission. This program cannot be used for any commercial purposes. You may not reverse engineer, decompile, or disassemble the enclosed software. Authors are not responsible for any damages that this program may cause, and are also not responsible for anything this plugin will be used for. ----------------------------------------------------------------------------