Readme.txt 1.83 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
PSX emulation core - PS1/PS2 This core emulates the PS2 IOP, which can conveniently be dropped into PS1 compatibility mode to play PS1 sound as well. The unfortunate dirty secret here is that Sony BIOS is used. Originally this was the plain 512K SCPH1001 image we all know and love. But when PS2 support was added, starting with core version 0007 (HE 1.08), a new technique was used. A PS2 BIOS image (5.0 North American) is stripped module-by-module to just the necessary code for sound playing, plus PS1 compatibility (TBIN/SBIN). The result is about 350K smaller when compressed. Making this stuff 100% legal (via IOP kernel and PS1 BIOS HLE) is on the to-do list. mkhebios - This directory contains the tools for generating the new-style PS2 BIOS images. he - Source code for HE IOP module. This is the code that handles "hefile:" requests. Compiled into an .IRX file and then included in the mkhebios process. SHTest - A system for testing the emulation core for byte order / alignment issues, by compiling it to a sh-arm-elf target and then running it in a simple emulator. Slow, but effective. bios.c - when compiled, contains the BIOS image. Also includes some environment variable-like stuff (can be set in mkhebios). iop.c - IOP emulation (mostly just glue between other modules) ioptimer.c - IOP timers (root counters), both the 16-bit PS1 style and 32-bit PS2 style. psx.c - top-level PS1/PS2 emulation. r3000.c - R3000 core. all C, all slow (though with the wait loop detection, this hasn't been a big deal). r3000asm.c - R3000 quick assembler as used in PSFLab. r3000dis.c - R3000 disassembler (also as used in PSFLab). spu.c - SPU1 or SPU2 emulation. spucore.c - Emulates one SPU core (24 channels). PS2 has a pair of these. vfs.c - Virtual PSF2 filesystem stuff.