"Engineering Modern Systems on Legacy Hardware"
This repository contains a comprehensive collection of technical modules and examples for PlayStation 2 development using AthenaEnvJS. My work focuses on expanding and documenting the capacity of this environment to bridge modern JavaScript logic with legacy GS/VU1 hardware.
AthenaEnvJS isn't just a wrapper; it's a high-performance environment that makes retro development accessible:
- FPU Optimized: Uses specialized
float32semantics tailored for the PS2's 32-bit hardware. - Native Performance: Leverages an Ahead-Of-Time (AOT) compiler to translate complex math functions directly into MIPS R5900 machine code.
- Modern Workflow: Use ES6+ syntax to manage VRAM, sprites, and SPU2 audio processes without the traditional overhead of legacy C toolchains.
For those interested in the underlying framework or official documentation, please visit:
- Core Framework: AthenaEnv by Daniel Santos — The QuickJS-based runtime for the PS2.
- Documentation Hub: AthenaEnv Website by Daniel Abrante — The Docusaurus-based center for framework content and standards.
These nine modules represent a verified foundation of systems engineering on real PS2 hardware.
- Emulator: Use PCSX2 (v1.7+ recommended).
- Setup: Under
Settings > Emulation, ensure "Enable host filesystem" is checked. - Run: Boot the
athena.elffile and point it toward the script directory of the module you wish to test.
My long-term goal is to merge these low-level retro modules into a unified, cross-platform pipeline. The objective is a single codebase that can be deployed across modern and legacy systems simultaneously.
- Modern: Web (HTML/CSS/JS), Desktop (NW.js), and Mobile (Capacitor).
- Legacy: PlayStation 2 (Active), PS1, PSP, PS3, Dreamcast, and Game Boy.
while (true) {
// This loop is translated by the Framework into:
// PS2: Screen.flip() | Web: requestAnimationFrame() | Mobile: Canvas Draw
Screen.clear(black);
font.print(10, 10, "SYSTEM READY: CROSS-PLATFORM", white);
Screen.flip();
}Happy Hacking! *Created by Robert Fernandez*




