PSeudo JS (https://naden.co)
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
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.
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.
Open-source under Apache 2.0 license.