Current Status (20060126) ZPSX is one of the most exciting recent developments on the Zaurus.
It allows most games to be run at reduced resolution (stretch to full screen), and some at the full VGA rez.
See http://www.oesf.org/forums/index.php?showtopic=17052 for current activity.
|Buster Bros Collection||OK||OK|
|Dino Crisis 2||choppy sound, locks up||OK|
|Final Fantasy Tactics||OK?||?|
|Final Fantasy Tactics||OK||OK|
|One Piece Mansion||OK||OK|
|Street Fighter 3 Alpha||OK||Slightly slow|
|Wipeout XL||OK||Slightly slow|
How To Use
Download from http://www.friggingames.com/zpsx006.zip
Readme file therein says
ZPSX: A PSX emu for the Zaurus :P
Controls: START = ENTER KEY SELECT = SPACEBAR DIGITAL PAD = DIGITAL PAD ON YOUR Z :) TRIANGLE,X,SQUARE,O buttons = A,S,D,F keys (might be in the wrong order) L1,R1,L2,R2 = Z,X,C,V keys K/L = Lower/Raise Frameskip
BIOS: Use the scph1001.bin bios and put it in the same directory as zpsx. The BIOS is NOT needed if using HLE (High Level Emulation).
HLE: High Level Emulation can speed games up. To enable HLE hold down the H key when selecting a game.
NOTES: SDL 1.2.9 is highly recommended. You should *really* try running ZPSX from the console outside of X11 since you will get a fullscreen display as well as a large speed increase. Overclocking helps greatly, but overclock at your own risk. Also you will need the bz2 library installed. To install the bz2 library, copy the libbz2.so.1.0 file included with ZPSX to your /usr/lib/ directory.
UPDATED January 26th, 2006 Grab ZPSX v0.06 at: http://www.friggingames.com/zpsx006.zip
New in this version: - Fixed a bug that caused ZPSX to crash when the game menu's current directory had more than about 15 items. The menu system now scrolls. - Fixed a very irritating bug that caused a bunch of games not to work. If you had a game hang at the loading screen with a previous release, try it again now. - Added recommendation for using SDL 1.2.9 since it runs a bit better and works with ZPSX when run from a console.
- Changed the "low-res" version of ZPSX to the filename zpsx_xscale since it will become the standard ZPSX. The hi-res ZPSX is only useful with a few 640x480 games, but even then, zpsx_xscale will scale it down to 320x240, so there's little use for the hi-res version now. - Fixed a bug that stopped input from being processed in the middle of games.
UPDATED January 25th, 2006 Grab ZPSX v0.05 at: http://www.friggingames.com/zpsx005.zip New in this version: - Compressed ISOs work now. - Button input now only goes to the player 1 controller instead of to all controllers. No more pressing start and getting a second player joining the game. :P
UPDATED January 25th, 2006 Grab ZPSX v0.04 at: http://www.friggingames.com/zpsx004.zip New in this release: - HLE now works. Remember though, HLE will just not work with some games yet. Try it out though, as it may give a speed boost. - The file menu now traverses directorys properly - Minor changes to code such as the removal of debug statements. - Also, the PSX bootscreen no longer is displayed on loading of a game.
UPDATED January 24th, 2006 Grab ZPSX v0.03 at: http://www.friggingames.com/zpsx003.zip
ZPSX ( still a working title :P ) has been updated to version 0.03. This release is a good one, at least for me. I finally fixed a long standing bug in my Linux ports of this emulator. Now that this bug is fixed MANY more games work, including many games that required 3D rendering. Tactics Ogre now works, as does Final Fantasy Tactics! All three types of ISOs are now supported, including .BIN/.Z/.ZNX/.BZ. Use PocketISO 2.0 to compress ISOs, but remember that compression of ISOs is good, but when you rip out stuff from the ISO you might encounter errors in emulators. Also of note is HLE now works properly. Hold down the H key when selecting a game to load, and HLE will be used. HLE will speed up some games, but cause errors in others. Try it out and see how it fairs! Oh yeah, the default frameskip is set to 3. You should lower/raise it as needed by pressing the K (lower) and L (raise) keys.
Besides some compiler options, that's all for now. Give this version a go and let me know how it runs! Feedback of any sort is greatly appreciated. Thanks!
UPDATED January 23rd, 2006: Grab ZarPSX v0.02 at: http://www.friggingames.com/zarpsx002.zip
ZarPSX (working title), has been updated to v0.02. This release is pretty much a cleanup of code and a change of the CDR plugin to try to find out what's causing strange glitches in games. Changes include: - CDR plugin changed to cdriso. This allows for .bz compression, but has temporarily taken away .znx compression. Due to including bz compression, you will *need* to have the "libbz2.so.1.0" shared object file put inside the "/usr/lib" directory on your Zaurus. If you need this file, it is included in this release. - Clean up of code. I've tried to take away most of the crap needed for previous ports of this emulator. What's left is pretty much barebones. - Downgraded from PCSX 1.6b to 1.5. I seemed to have left some code related to 1.6b in the last release by accident. Fixed.
This release is only useful to those who care to look at or use the source. Not much has changed for end users of this emulator...yet. At least once I track down a certain bug, compatibility should go way up.
FIRST RELEASE: Yay! ZarPSX has been released!
Grab ZarPSX v0.01 at: http://www.friggingames.com/zarpsx.zip
So, I named the emu ZarPSX. It's a working title. It's ZarPSX and not ZaurPSX since I have a tendancy to prefix things with a 3 letter name. Any suggestions for a final name?
Stuff that works in ZarPSX so far: - Quite a few games. I'm playing R-Types right now. :P - Saving/Loading from memory cards should work. - BIN/Z/ZNX ISO support. I use XDuplicator (CDRTAO open source project frontend) for ripping to raw BIN format, then compress to Z or ZNX with PocketISO 2.0. - Frameskipping works. Right now I only have it so the frameskip setting makes the actual blit skip, not the rendering. I can get a good speed up if I skip rendering of frames, but it causes graphical glitches as you could imagine. - GPU is now my own custom version of Dr Hell's GPU. I like it a lot, but it needs more tweaking. - 640x480 build for full screen 640x480 screen, as well as a 320x240 build for a huge speed increase (60 FPS in Final Fantasy 7 with frameskip of 1-2, though FF7 crashes pretty quickly into the game, more on that later). - All the default controls work. They're mapped as noted below. They'll change as the emulator progresses, I just had this button layout set before people started suggesting there own. :) - File menu for loading ISO's. It sucks, but it works! :) - HLE support works. Hold down the 'H' key when selecting an ISO to run the game using HLE. HLE should improve performance, and perhaps fix or cause glitches by the way it handles emulating the PSX BIOS. When HLE is used, no BIOS ROM is needed, and no PSX splash screen is seen.
Stuff that doesn't work in ZarPSX yet: - Final Fantasy 7 as well as some other games don't work when they should. As you can see in the code for ZarPSX, it's based off of PCSX. Yeah, PCSX. :/ ...Good thing is, PCSX works with a lot of games, including FF7, which is why I'm unsure as to the reason my small modifications to the core of PCSX made these games not work. I was thinking it might actually have to do with some of the "plugin" code I jammed into ZarPSX such as PlugCD.c. If someone feels like getting these games working with ZarPSX, please PM me. :) - MDEC timings are off. This is probably a quick fix, but I timed the MDEC interrupt wrong. MDEC is the "movie codec" the PSX uses. So if you get really jittery or slideshow-like movies, this is why. I'll fix it asap. - Games that span multiple ISOs won't work currently.
As I've explained to Urielka, ZarPSX's code is horrid imho. I think we can make this emulator much better as a community. So take a look at the code, clean it up, edit it, and submit it back to me, and I'll keep everything in order and keep the ZarPSX project humming along. Urielka is researching dynamic recompilers, and if a dynamic recompiler is made for ZarPSX, we will see a fairly good speed increase from it. Right now, 320x240 ZarPSX is pretty fast, full speed for most games with a single frameskip. But 640x480 ZarPSX needs about a 3 or 4 frameskip to reach the same speed, yet appears choppy. So let's get 640x480 full screen ZarPSX fullspeed! :)
Things to help out: - Get a compatibility list for ZarPSX up and running. This will help me out greatly, especially when the emu progresses. A wiki would be good for this most likely. - Fix bugs in ZarPSX and submit them to me. ;) - Get a CVS going? - Help me figure out how to use the framebuffer on the Zaurus Cxxxx line. - Get ZarPSX running on Zaurus' other than the Cxxxx line.
Keep in mind it's "normal" to wait a minute or so for the stupid PSX splash screen to finish. I'll speed this process up for the next release, in the meantime, wait for it or use HLE to skip the process.
How to use ZarPSX:
Controls: PSX -> Zaurus UP/DOWN/LEFT/RIGHT -> Digital Pad X/SQUARE/O/TRIANGLE -> A/S/D/F (might have these in the wrong order, i'll get the correct order in a bit) L1/R1/L2/R2 -> Z/X/C/V START -> ENTER SELECT -> SPACE
SELECT ISO -> ENTER/OK QUIT EMU -> BACKSPACE LOWER FRAMESKIP -> K RAISE FRAMESKIP -> L
Every once and awhile an issue comes along that a game reads from the wrong coord in the VRAM set for the PSX. I made a little fix for this by using the 'P' key to toggle this graphics fix. Don't use it unless you think it's needed (such as when the game seems frozen or is stuck on a blank screen).
BIOS: If you do not use HLE, you will *NEED* a PSX BIOS. The BIOS should be named scph1001.bin and be located where zarpsx is. Please DO NOT ask for this file. If you can't find the file, try using HLE by holding down the 'H' key when selecting an ISO. HLE should give a slight speed increase as well, but may cause glitches.
Saving games: Currently only saving through a memory card file is supported. That's why the two formatted memory card files (.mcr files) are included. Saving within the game to the memory card files should be the same as if it were being saved to an actual memory card on a PSX. So nothing to worry about here. Just keep the .mcr files in the same directory as zarpsx.
Required Librarys: You will need the SDL library as well as the Zlib library installed on your Zaurus.
Required Zaurus: This version will probably only work on the Cxxxx line of Zaurus' from the sounds of things. But maybe not, let me know! :)
Hope you enjoy ZarPSX! There's a long ways for it to go, but it's coming along. Once the compatibility goes up and things speed up enough to be able to use 640x480 over 320x240, things will be smooth. I really do think a fullspeed PSX emulator with sound is possible on the Zaurus Cxxxx. Let's get this project nice and polished.
P.S. Anyone interested in a port of OpenTTD (Transport Tycoon Deluxe) to the Zaurus? I've ported it to many other handhelds, and can probably get it up and running on the Zaurus fairly easily if it hasn't been done already.