Mirror of the HPSx64 Repository on Sourceforge.net

Full Program Name: Highly-Experimental Playstation Simulator x64
Program Author: TheGangster
Platforms: Windows 64-bit


Contents:

hps1x64 - Playstation 1 simulator
---------------------------------

Current System Requirements:
64-bit x64 Processor

Status: In development - Pre-initial Source code and binary release - Development/Testing usage only
Current Version:
hps1x64 v0380 - dma priority changes, spu2 KON/KOFF fixes, spu2 LOOP flag fixes, dma timing fix, cdvd early dual layer support
Older Versions:
hps1x64 v0370 - spu2 interrupt fixes
hps1x64 v0360 - removed multi-threading from hps1
hps1x64 v0351 - reference dependency issue again after compiler switch - fixed thanks to Sharpnull (added to special thanks), spu2 SPUDIF fix, more logical adma
hps1x64 v0350 - dma interrupt fixes
hps1x64 v0340 - improved multi-threading, multi-player control pad fixes, R3000A reg read recompiler fix
hps1x64 v0330 - fixed SPU cmvol/vol l/r clamp bug, R3000A recompiler bug fixed (uninitialized variable), NAXH/NAXL fixes (spu2)
hps1x64 v0320 - R3000A recompiler optimizations, spu2 core 1 bug fixed, spu2 manual write fixed
hps1x64 v0310 - some recompiled instruction optimizations (SLT,SLTI,SLTU,SLTIU), SPU2 IRQ bug fixed, SPU2 VOL L/R inc/dec mode bug fixed
hps1x64 v0301 - bug report fixed - checked for and removed all dll dependencies
hps1x64 v0300 - spu improvements (ADSR, auto-dma)
hps1x64 v0290 - fixed dma lock/freeze problem, fixed a wraparound invalidation bug, preliminary direct input control pad api, multi-player fixes
hps1x64 v0280 - fixed LB/LH bug in recompiler
hps1x64 v0270 - fixed a problem with DMA PCR, corrected a timing issue in R3000A recompiler for scratchpad writes
hps1x64 v0260 - Window size options, R3000A optimizations (LWL/LWR/SWL/SWR)
hps1x64 v0252 - compatibility fixes
hps1x64 v0250 - GUI optimizations
hps1x64 v0244 - R3000A recompiler optimizations (load/store), fixed potential COP2 register issue in R3000A recompiler load/store
hps1x64 v0243 - initial R3000A recompiler optimizations (load/store)
hps1x64 v0241 - source code cleanup
hps1x64 v024 - pad remapping
hps1x64 v0232 - removed OpenCL references and non-standard windows dlls
hps1x64 v0231 - fixed GetOverlappedResultEx Windows 7 issue reported by Hector
hps1x64 v023 - fixed pad set mode command, faster graphics, multi-threading capability, async disk reads, program window fixes
hps1x64 v022 - GPU updates, CPU updates, improved CUE support, Scanline option, R3000A recompiler
hps1x64 v021 - Optimized event handling, fixed dma bug introduced by recoding ps1 dma
hps1x64 v020 - Recoded PS1 DMA
hps1x64 v019 - DMA priority fixes
hps1x64 v018 - polygon drawing fixes, bug fixes, improved speed
hps1x64 v017 - DMA modifications, improved System operation
v016 - SPU optimizations, timer interrupt bug fixed, MFC0 bug fixed
v015 - proper pixel format conversion, timer fixes, SPU fixes, Faster startup code. Improved accuracy.
v014 - less RAM usage, Fullscreen support (use "f" key), saved configurations, CD fixes. Improved speed. Improved compatibility.
v013 - pre-initial release 13 - MDEC fixes, GPU fixes, CD fixes. Improved compatibility.
v012 - pre-initial release 12 - CD fixes, DMA fixes, COP2 fixes. Improved compatibility.
v011 - pre-initial release 11 - improved XA, Timer overhaul, SIO/PAD fixes, CPU fixes. Improved compatibility.
v010 - pre-initial release 10 - SPU/LSA fixes, CD fixes (getparam, sector reads), COP2 delay slot fix, Auto Pause fixes, DMA2 fixes. Improved compatibility.
v009 - pre-initial release 9 - MDEC Overhaul. GUI fixes, CD fixes, SPU fixes. Improved compatibility.
v008 - pre-initial release 8 - Auto Pause implemented, GPU fixes, CD fixes, SPU fixes. Improved compatibility.
v007 - pre-initial release 7 - Disk change support, CDDA fixes, GPU fixes, COP2 fixes. Improved compatibility. Improved accuracy.
v006 - pre-initial release 6 - R3000A fixes. COP2 fixes. SPU fixes. CD fixes. improved compatibility.
v005 - pre-initial release 5 - improved speed, improved compatibility, improved accuracy
v004 - pre-initial release 4 - reverb support, dithering support, improved speed, improved compatibility
v003 - pre-initial release 3 - improved compatibility, bin/img/iso/cue/ccd/sub support, memory card support, joystick support, preliminary sound support.
v002 - pre-initial release 2 - improved compatibility, improved speed, improved accuracy. If something is not working, try enabling analog first thing.
v001 - pre-initial release - only use this version if you intend to test or evaluate progress
v000 - pre-initial evaluation only release


hps2x64 - Playstation 2 simulator
---------------------------------

Current System Requirements:
64-bit x64 Processor (4+ cores)
SSE 4.2 (for R5900 recompiler)
1GB RAM free

Status: In development - Not ready for release
Current Version:
hps2x64 v025 - fixed an issue with HWREG, compatibility improvements, ps2 dma start/continue fixes
Older Versions:
hps2x64 v024 - vu recompiler state cache, gpu optimizations, better pcrtc, gpu code fixes, removed/disabled multi-threaded vu1 option, temporarily disabled R5900 DCache
hps2x64 v023 - gpu buffer in/out/copy fixes, gpu optimizations, early vu state cache
hps2x64 v022 - proper handling of disabled gpu packets
hps2x64 v021 - reference dependency issue again after compiler switch - fixed thanks to Sharpnull (added to special thanks)
hps2x64 v020 - early experimental multi-threaded vu1 option (disabled by default), R5900 DCache fixes
hps2x64 v019 - improved multi-threading, partial data cache implementation (except lock bit), partial btac simulation, R5900 reg read recompiler fix
hps2x64 v018 - IPU fixes, DMA fixes, vu0 watchdog timer implemented
hps2x64 v017 - fixed bugs in R5900 (PSUBSW,PSUBUW,PADDSW,PADDUW,SRAV), VU1 External Unit fixes, faster R5900 wait state for VU0, path 3 mask fixes
hps2x64 v016 - improved floating-point vector multiply accuracy, improved RNEXT accuracy, vif1 fifo cpu reads implemented
hps2x64 v0151 - bug report fixed - checked for and removed all dll dependencies
hps2x64 v015 - fixed GPU local copy bugs, fixed problems with MR32 and MTIR, crash fixes
hps2x64 v014 - fixed VU unpack lock/freeze problem, fixed gpu buffer copy bug, faster optimized gpu
hps2x64 v013 - invalidate crash fix, improved mfifo, RGET/RNEXT fixes, fixed LB/LH/LW bug in recompiler, fixed JALR bug in VU recompiler
hps2x64 v012 - GPU bug fixes, VU#0 macro/micro mode load/store recompile, R5900 optimizations (PADDSW/PADDUW/PSUBSW/PSUBUW), VU bug fixes (LQI/LDI/SQI/SDI)
hps2x64 v011 - Window size options, bug fixes, compatibility fixes, R5900 optimizations (LWL/LDL/SWL/SWR/SDL/SDR/QFSRV)
hps2x64 v0102 - compatibility fixes
hps2x64 v010 - GUI optimizations, multi-threading optimizations, early SPU2 backend multi-threading
hps2x64 v0094 - more R5900 load/store recompiler optimizations (LBU,LHU,LWU)
hps2x64 v0093 - R5900 recompiler optimizations (load/store), vectorized GPU backend
hps2x64 v0091 - R5900 recompiler fixes, FPU recompiler fixes, VU recompiler fixes, GPU fixes
hps2x64 v009 - R5900 FPU recompiler, R5900 unaligned load/store recompilation, VU macro recompiler, VU micro recompiler, pad remapping
hps1x64 v0082 - removed OpenCL references and non-standard windows dlls
hps2x64 v0081 - fixed GetOverlappedResultEx Windows 7 issue reported by Hector
hps2x64 v008 - R5900 2-way i-cache, R5900 recompiler fixes, gpu templates, multi-threading capability, async disk reads, program window fixes
hps2x64 v007 - R5900 recompiler
hps2x64 v006 - NVM write back
hps2x64 v005 - VU accuracy fixes, IOP sio fixes (Pad/Memcard), Optimized event handling, VU macro mode fixes, GPU fixes
hps2x64 v004 - IPU fixes, GPU fixes, CDVD fixes
hps2x64 v003 - IPU fixes, fog implemented, MFIFO fixes, GPU fixes
hps2x64 v002 - 2D/3D primitive drawing fixes, screen buffer fixes, improved compatibility
hps2x64 v001 - pre-initial release 1 - preliminary IPU, DMA fixes, R5900 fixes, VU fixes, preliminary mfifo and stall control
hps2x64 v000 - pre-initial release - SPU2 fixes, SIF fixes, timer interrupt bug fixed, QFSRV implemented, loads/runs some games
hps2x64 vXXX - very early pre-initial WIP evaluation only release. TEST/DEVELOPMENT USE ONLY.


*** HPS1x64 Instructions ***
----------------------------

To run bios dumped from a Playstation system:
Use File | Load | Bios to load a bios dump. Use File | Run to run a bios dump after loading it.

To run Playstation formatted game discs:
Can run bin/img/iso images with cue, ccd, and sub support.
To run a disc image, use File | Load | Bios to load a bios, then use File | Load | Insert/Remove Game Disk to load a game disk image (bin/img/iso/etc), then File | Run to run it.
Make sure that cue/ccd/sub files have the same name as the disk image and are in the same folder, or they will not load.

To change disks:
If a disk image is loaded, you will see a check mark next to the File | Load | Insert/Remove Game Disk option.
To remove the disk image, select the option again, and then you will see the check mark disappear. You can now load a new disk via the same option.

To load a save state:
First load the disk image, then load the save state, then use File | Run.

To switch between R3000A recompiler/interpreter:
You can choose to use the interpreter via CPU | CPU: R3000A | Interpreter: R3000A.
You can choose to use the recompiler via CPU | CPU: R3000A | Recompiler: R3000A.

Keys:
Use Peripherals | Configure Joystick... and then follow the instructions to configure a compatible dual analog game pad.
Note: If controller was inserted after program was started, then redetect pads (Peripherals->Re-Detect Joypad(s)).
Note: If the keys don't work for a title, then toggle analog/digital mode (Peripherals->Pad 1->Pad 1 Digital/Analog).

Troubleshooting:
If controls are not working properly, then try switching between digital/analog mode (for both pads if needed). Pads are set to analog by default for compatibility.
If a game does not load properly, try deleting/moving the memory card files.

Misc Credits/Disclaimer:
Currently only the MDEC backend is currently adapted from mame/mess/etc and is not currently entirely custom designed/coded by me.


*** HPS2x64 Instructions ***
----------------------------

To run bios dumped from a Playstation 2 system:
Use File | Load | Bios to load a bios dump. Use File | Run to run a bios dump after loading it.

To run Playstation 2 formatted game discs:
Can run bin/iso images.
To run a disc image, use File | Load | Bios to load a bios, then use File | Load | Insert/Remove PS2 Game Disk to load a PS2 game disk image (bin/img/iso), then File | Run to run it.
Make sure that cue files have the same name as the disk image and are in the same folder, or they will not load.
note: audio is delayed a few seconds by default. You can change the size of the audio buffer via Audio | Buffer Size.

To load a save state:
First load the disk image, then load the save state, then use File | Run.

To switch between R3000A recompiler/interpreter:
You can choose to use the interpreter via CPU | CPU: R3000A | Interpreter: R3000A.
You can choose to use the recompiler via CPU | CPU: R3000A | Recompiler: R3000A.

To switch between R5900 recompiler/interpreter:
You can choose to use the interpreter via CPU | CPU: R5900 | Interpreter: R5900.
You can choose to use the recompiler via CPU | CPU: R5900 | Recompiler: R5900.

Troubleshooting:
If a game disk loads improperly, ensure that it has been dumped properly from the original physical game disk. Pads are set to DualShock2 by default for compatibility.
This program is WIP and for testing only.

Misc Credits/Disclaimer:
Currently only the IPU backend is currently adapted from pcsx2 and is not currently entirely custom designed/coded by me.


Build/Debug instructions:

For hps1x64.exe (PS1 simulator) -
1. Run install-toolkit.bat.
2. Run MakefilePS1.bat.
3: There is also a vscode project for build/debug included (cd to hpsx64 folder and run "code ." to open project in vscode if installed, then Terminal | Run Task | Build hps1x64).
Note: If using the vscode project, you must have the "C++ extension for VS Code" installed. It should already be configured for build/debug.

For hps2x64.exe (PS2 simulator) -
1. Run install-toolkit.bat.
2. Run MakefilePS2.bat.
3: There is also a vscode project for build/debug included (cd to hpsx64 folder and run "code ." to open project in vscode if installed, then Terminal | Run Task | Build hps2x64).
Note: If using the vscode project, you must have the "C++ extension for VS Code" installed. It should already be configured for build/debug.

Note: A version of hps1x64.exe and hps2x64.exe should have been built for you already and should be in the same folder as this README file. For test/evaluate ONLY.


Special Thanks:
Martin Korth
Dr. Hell
psxAuthor
doomed
Anders Gavare
pcsx2 authors
unknownbrackets
Hector
Sharpnull
anyone else I didn't list


Similar Resources

Itpp - IT++ library mirror/fork. C++ library of mathematical, signal processing and communication classes and functions.

Introduction ************ IT++ is a C++ library of mathematical, signal processing and communication classes and functions. Its main use is in simula

Oct 20, 2022

Mirror of Apache ODE

============== Apache ODE ============== Apache ODE is a WS-BPEL compliant web services orchestration engine. It organizes web services calls follo

Jun 28, 2022

ncurses Git mirror

------------------------------------------------------------------------------- -- Copyright 2020,2021 Thomas E. Dickey

Nov 15, 2022

Grassroots DICOM read-only mirror. Only for Pull Request.

This is the source code of GDCM. It is available from sf.net website. Official GIT repository is at: https://sourceforge.net/p/gdcm/gdcm/ For a genera

Nov 24, 2022

Mirror of Apache Portable Runtime

Apache Portable Runtime Library (APR) ===================================== The Apache Portable Runtime Library provides a predictable and cons

Nov 15, 2022

Mirror only. Please do not send pull requests.

README - 08 March 2021 Welcome to the WebM VP8/VP9 Codec SDK! COMPILING THE APPLICATIONS/LIBRARIES: The build system used is similar to autotools.

Nov 24, 2022

A programming language designed to be stack-based and concatenative with reverse polish notation. (Mirror)

VIRNA IS STILL UNDER-DEVELOPMENT. PLEASE USE AT YOUR OWN RISK! Virna A programming language designed to be stack-based and concatenative with reverse

Jul 14, 2022

GitHub mirror of our basic C++ plotting library

Basic C++ plots This is a minimal header-only and dependency-free C++ plotting library. It's maintained mostly for internal Signalsmith Audio use, so

Oct 16, 2022

This repository is for everyone for Hacktoberfest 2021. Anyone can contribute anything for your Swags (T- Shirt), must be relevant that can add some value to this repository.

This repository is for everyone for Hacktoberfest 2021. Anyone can contribute anything for your Swags (T- Shirt), must be relevant that can add some value to this repository.

Hacktober Fest 2021 For Everyone! Upload Projects or Different Types of Programs in any Language Use this project to make your first contribution to a

Nov 17, 2022
Nov 19, 2022
🖱️⌨️ Arduino Input Proxying for PC (.NET Core)
🖱️⌨️ Arduino Input Proxying for PC (.NET Core)

SerialProxy SerialProxy is a complete MiTM solution for modifying ??️ mouse & ⌨️ keyboard input against highly sophisticated FPS anti-cheats (ESEA/Fac

Apr 22, 2022
BAAF-Net - Semantic Segmentation for Real Point Cloud Scenes via Bilateral Augmentation and Adaptive Fusion (CVPR 2021)
BAAF-Net - Semantic Segmentation for Real Point Cloud Scenes via Bilateral Augmentation and Adaptive Fusion (CVPR 2021)

Semantic Segmentation for Real Point Cloud Scenes via Bilateral Augmentation and Adaptive Fusion (CVPR 2021) This repository is for BAAF-Net introduce

Nov 8, 2022
Inject .NET assemblies into an existing process
Inject .NET assemblies into an existing process

inject-assembly - Execute .NET in an Existing Process This tool is an alternative to traditional fork and run execution for Cobalt Strike. The loader

Nov 15, 2022
A small and easy to use neural net implementation for C++. Just download and #include!
A small and easy to use neural net implementation for C++. Just download and #include!

NN++ A short, self-contained, and easy-to-use neural net implementation for C++. It includes the neural net implementation and a Matrix class for basi

Nov 11, 2022
A decompilation of Banjo Kazooie. (MIRROR of https://gitlab.com/banjo.decomp/banjo-kazooie)

banjo Building Grab tools git submodule update --init --recursive Drop in US v1.0 as baserom.us.v10.z64 (sha1sum: 1fe1632098865f639e22c11b9a81ee8f29c7

Nov 21, 2022
Mirror of Kernel-Assisted Superuser
Mirror of Kernel-Assisted Superuser

Kernel-Assisted Superuser for Android KernelSU Like being able to do quick cycles of fastboot boot out/arch/arm64/boot/Image.lz4-dtb, but annoyed by t

Sep 11, 2022
Mirror of MRuby JIT

What is mruby mruby is the lightweight implementation of the Ruby language complying to (part of) the ISO standard. Its syntax is Ruby 1.9 compatible.

Nov 18, 2021
LuaTeX mirror

LuaTeX mirror

Aug 23, 2022
Appupdater is a C++ cross-platform framework to update desktop software (gitlab mirror)

appupdater is a C++ cross-platform framework to update desktop software. How it works Framework checks the URL you specified for info about versions a

Jan 8, 2022