FPSE: Free or Fake PlayStation Emulator

http://www.geocities.co.jp/Playtown/2004/
bero@geocities.co.jp


----
JҌ[XȂ̂Ńtc[̐l͗ƂĂӖȂłB
ꕔ̃f삵܂B

CPU: C^[v^ƃRpCI
GPU: ꉞ
GTE: 
SPU: ꕔ
MDEC: 
CD-ROM: 
BIOS: ꕔ

^[Qbg: Windows
-------------------
ŏportableɏĂłႮɂȂĂ܂܂B
̓Iɂint = long = pointer = 32bitlittle endianłB


g
------
fpse [-option] [file]

file         PSX-EXE`̃t@CsB
-b<biosfile> biost@CwB
-i           C^v^s
-c           RpCs(ftHg)
-v           verbose mode o͂ĎB
-d           disassemble C^v^verbosê݁BxsƂ͕\ȂB
-e           debugger


--
BIOS ROMs(t@Cbios.romƂ)
  fpse -bbios.rom

Ȃ݂BIOS ROM͎@bfc00000512kȂ̂ŁAProActionReplayProCommsLinkget܂B

BIOSPSX-EXEs(t@Csample.psxƂ)
  fpse sample.psx

BIOS ROMPSX-EXEs(t@Csample.psxƂ)
  fpse sample.psx -bbios.rom


RpC
----------
RpCCygwin32(gccwin32)ōs܂B
Borland C++ Builder, WATCOM C++ɑΉ܂B

SEAL AUDIO libraryKvłB(LQ)

http://www.adaptec.com/adaptec/developers/
œłADPI SDKɊ܂܂WnASPI32.hwb_KvłB
܂́APɃRgAEgĂB


CZX
----------
{IɂFree SoftwareȂ̂A낢lƂ낪̂Œ܂ĂȂB


ӎ
----
قƂǂ̏ by Blackbag
http://www.blackbag.org/psx/playstation/playstation.html

葽̏ rw-pslib̃\[Xƃwb_t@C by Rob Withey
http://napalm.intelinet.com/_utils.htm

GPȔ by k-comm.
http://www3.airnet.ne.jp/kcomm/

ڂGPȔ by Doomed/Padua
http://www.student.io.tudelft.nl/~io185467/psxdev.html

SPUGTȄ by creature
ss

SPȔ by bITmASTER
http://members.xoom.com/_bITmASTER_/

CD-ROM info from psemu source(early dos version) by Duddie / Vision Thing

cygwin32 gccRpC by GNU/FSF and Cygnus Solutions
http://sourceware.cygnus.com/cygwin/

SEAL audio library
http://www.egerter.com/seal/

tDCT
Independent JPEG Group


status
------
This is developer's release. it is not useful for user.
only few demo work.

CPU: impremented both interpreter and compiler
GPU: impremented
GTE: impremented
SPU: partly
MDEC: imremenred
CD-ROM: none
BIOS: partly


target: Windows
---------------
First, I wrote it portably, but now, it is dirty.
int = long = pointer size is 32 bit, little endian only.


usage
-----
fpse [-option] [file]

file         run PSX-EXE file without bios rom
-b<biosfile> run bios rom
-i           run with interpreter
-c           run with compiler(default)
-v           verbose mode,watch hardware input/output
-d           disassemble for only interperter and verbose. once disassembled, not display.
-e           debugger

to stop, press ctrl-C.


example
-------
run BIOS ROM where filename is bios.rom.
  fpse -bbios.rom

BIOS ROM is 512kbyte at bfc00000 on real PlayStation.
you can get it using ProActionReplay and ProCommsLink.

run PSX-EXE with BIOS emulation where filename is sample.psx
  fpse sample.psx

run PSX-EXE with BIOS ROM where filename is sample.psx
  fpse sample.psx


key bind
--------
	VK_INSERT,	/* L2 */
	VK_PRIOR,	/* R2 */
	VK_DELETE,	/* L1 */
	VK_NEXT,	/* R1 */
	VK_V,		/* /\ */
	VK_Z,		/*  O */
	VK_X,		/*  X */
	VK_C,		/* [] */
	VK_TAB,		/* SELECT */
	0,
	0,
	VK_RETURN,	/* START */
	VK_UP,		/* UP */
	VK_RIGHT,	/* RIGHT */
	VK_DOWN,	/* DOWN */
	VK_LEFT		/* LEFT */


compile
-------
It compiled by Cygwin32(gcc for win32).
Now support Borland C++ Builder / Watcom C++
(Watcom C++ is only interpreter mode, dynamic compile don't work.)

you need SEAL Audio Libraly (see below)

you need WnASPI32.h header file in ASPI SDK alivable at
http://www.adaptec.com/adaptec/developers/
Or, just comment out.


licence
-------
basically,this is Free Software. I'm thinking which licence is better, GPL, BSD like, "notify me when modified",and so on.
PlayStation is registerd trademark of Sony Computer Entertainment Inc.


thanks
------
most info by Blackbag
http://www.blackbag.org/psx/playstation/playstation.html
(dead link)

more info from rw-pslib source & headers by Rob Withey
http://napalm.intelinet.com/_utils.htm

GPU info by k-comm.
http://www3.airnet.ne.jp/kcomm/

more GPU / SPU / CDROM info by Doomed/Padua
http://psx.rules.org/

SPU & GTE info by creature
unknown

SPU info by bITmASTER
http://members.xoom.com/_bITmASTER_/

CD-ROM info from psemu source(early dos version) by Duddie / Vision Thing

cygwin32 gcc compiler by GNU/FSF and Cygnus Solutions
http://sourceware.cygnus.com/cygwin/

SEAL audio library
http://www.egerter.com/seal/

fast inverse-DCT
Independent JPEG Group


Change
------
0.7
	support Borland C++ Builder / Watcom C++
	SPU initial work
	more GTE
	GPU Sprite&Tile bug fix
	compiler NOR opcode bug fix
	and Implovement by LDChen
	* Now sio, pads (even dual-shock) and memory cards work fully;
	* Interrupt and async events work fully.
	* All memory access are closed to 8 MB (infact 0x00000000
	 and 0x00200000 point to the same location);
	* GPU dma are closed to 8 MB (see above);
	* Added frame rate limiter to 60Hz (see HW.C for details);
	* Added frameskip and screenshot (see GPU.C for details);
	* Added a primitive but useful debugger ( '-e' option);
	* Added a CDNULL driver.
	* A small fix to root counters;
	* Bios can be used for running demos;
	* Now cdrom can generate interrupts;
	* Some changes on layout of the code:

	new bug : Direct3D not work

0.6
	MDEC
	GTE
	Direct3D
