pseudo-js
pseudo-js copied to clipboard
PLAYSTATION emulator in JavaScript
PSeudo JS
PSeudo JS is a PSX emulator based on JavaScript and is being developed using .h headers in addition to .js files. This unusual technique helps me keep the workspace clean and simple, while at the same time modular code gets inlined for optimization before runtime on the VM. The codebase is compatible with ES5 JavaScript onwards.
Check out this video demonstration
Live Build
https://naden.co/pseudo
Completion
Here's a list with the overall progress of the emulator, broken down in distinct parts.
-
95% -> CPU Mips R3000A
-
90% -> DMA
-
85% -> Mem IO
-
85% -> Movie Decoder
-
80% -> Interrupts
-
75% -> CD Decoder
-
70% -> GPU Primitives & Commands
-
65% -> GPU Textures
-
60% -> Audio
-
60% -> GTE
-
55% -> Rootcounters
-
25% -> Serial IO
-
10% -> XA Audio
PSeudo JS can load some commercial games, but speed and overall experience is mediocre at best. The emulator is quite inaccurate on timing and this is crucial most of the time. Also, for quite some time I will keep working on it with the provided slow CPU Interpreter. An attempt for speedup will be made later on with a JavaScript Tracer.
Compile / Build
PSeudo JS makes usage of Clang
compiler to build. In order to build PSeudo JS, just run the build
command on the terminal. You need to run this project from a localhost server like Apache. You must also include a valid BIOS file like scph1001.bin
in the bios
folder in order to test it. I will not provide information on how and where to find this.
License
Open-source under Apache 2.0 license.