How it fits together
examples/check/main.go
|
| yaroze disc ./examples/check
| TinyGo, -target=playstation-yaroze tinygo, or TinyGo as WebAssembly
| -> prog.elf, traps replaced (mips1fix)
| -> MAIN.EXE, libps combined in (eco2exe)
| -> the disc, with assets/... that (mkdisc)
| the program registers
v
check.bin + check.cue
|
+--------------------------+--------------------------+-----------------------------+
v v v v
emu (go test, emutest) web (WebAssembly, Pages) yaroze run, psxplay (a window) real hardware / psxe
yaroze runs all of it, from the package to the disc, in one step, and yaroze run plays the disc in a window as well. Each step is also a tool of its own, named on its right, for a build that wants only one of them.
A Net Yaroze program is only half a program: the rest is libps, the library the Net Yaroze boot disc leaves resident in RAM. eco2exe combines the two into a standalone PSX-EXE, so the result boots from an ordinary disc in an emulator or on a console that plays burned discs, with no Net Yaroze hardware involved.