npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

romdev-toolchain-decomp-gcc

v0.1.0

Published

The gcc toolchains N64 and PS1 matching-decompilation projects pin (KMC gcc 2.7.2 with binutils 2.6 as; EGCS 1.1.2 with binutils 2.9.5 as; gcc 2.6.3-psx cc1; gcc 14.2 for mips-linux-gnu) and the build tools they run (slinky, pigment64, crunch64), bundled

Readme

romdev-toolchain-decomp-gcc

The gcc toolchains that N64 and PS1 matching-decompilation projects pin, and the command-line tools their builds run, as WebAssembly, for romdevtools' decomp tool.

  • wasm/kmc-2.7.2/: gcc 2.7.2 as shipped in the N64 SDK (KMC): the driver gcc, the preprocessor cpp (cccp) and cc1, with the binutils 2.6 assembler as it pairs with (including --force-n64align). Built from decompals/mips-gcc-2.7.2 and decompals/mips-binutils-2.6 (GPL-2.0) with kmc-gcc-2.7.2-wasm.patch (the driver runs its passes through romdev's spawn hook instead of fork/exec) and kmc-binutils-2.6-wasm.patch (lays out obstack chunks and frags as the reference x86_64 build does, so gas splits frags at the same places).
  • wasm/egcs-1.1.2/: EGCS 1.1.2 (gcc 2.91.66) for mips-linux (gcc, cpp (cccp), cc1) with its binutils 2.9.5 assembler as: the compiler N64 decomp projects build their iQue (China) versions with. Built from decompals/mips-gcc-egcs-2.91.66 and decompals/mips-binutils-egcs-2.9.5 (GPL-2.0) with egcs-1.1.2-wasm.patch and egcs-binutils-2.9.5-wasm.patch.
  • wasm/psx-gcc-2.6.3/: gcc 2.6.3 for the PlayStation (gcc, cc1, cpp), built with the steps of decompals/old-gcc's gcc-2.6.3-psx recipe (the cc1-psx-26 that PS1 decomp projects run directly), plus the driver with psx-gcc-2.6.3-wasm.patch (spawn hook, a sys_errlist built from strerror, -EL for its mips-linux-gnu as step). The build's generators are compiled with emcc too and run under Node. The projects' assembly post-processor, maspsx, is ported to JS in romdevtools.
  • wasm/mips-linux-gnu-14.2/: gcc 14.2.0 for target mips-linux-gnu (gcc, cpp, cc1), configured like Debian's gcc-mips-linux-gnu (trixie, 14.2.0-13cross1): the modern cross gcc projects use for data-only translation units, .s preprocessing and linker scripts. It assembles with mips-linux-gnu-as from romdev-toolchain-mips-gcc. Built with gcc-14-driver-wasm-spawn.patch and Debian's distro specs (gcc-14-debian-distro-specs.patch). Like Debian's cross cpp it pre-includes glibc's stdc-predef.h, shipped at mips-linux-gnu/include/ from Debian's libc6-dev-mips-cross (LGPL-2.1-or-later). romdev runs the driver with GCC_EXEC_PREFIX=<this dir>/lib/gcc/.
  • wasm/tools/: decompals' slinky (slinky-cli), pigment64 and crunch64 command-line tools (MIT), and raw-deflate, vanilla zlib's raw deflate (zlib license).
  • wasm/tools/psx-str, psx-disk, psx-assets: a PS1 decomp project's own setup tools (a string encoder in Rust, a disc image extractor and an asset tool in Go), built from that project's repository at the commit pinned in versions.json (AGPL-3.0). The Go tools are wasip1 modules run under node:wasi. romdev builds all three from a rewritten copy of the source that carries none of the game's text: names the tools need (project file paths, env vars, the console-port file lists, the disc's volume identifiers) are read at run time from the project and its original disc image, and objdiff progress labels are the overlay codes. Extracted and built assets and rebuilt disc images are unchanged.

Objects these compilers emit are compared byte for byte against the natively built compilers over full project builds. romdev drives the modules from its isolated WASM worker; they are not a general-purpose CLI. You normally install romdevtools (npx romdevtools), not this package directly.

Upstream and license

GPL-2.0-or-later (the old gcc and binutils trees), GPL-3.0-or-later (gcc 14.2), LGPL-2.1-or-later (stdc-predef.h), AGPL-3.0-only (the PS1 project's setup tools), MIT (slinky, pigment64, crunch64) and Zlib (raw-deflate). The upstream commits and tarballs are pinned in packages/romdevtools/scripts/versions.json in the romdev repo; the patches are in packages/romdevtools/scripts/patches/, and the source rewrites in packages/romdevtools/scripts/src/decomp-go-wasip1/ (Go tools) and packages/romdevtools/scripts/src/psx-str/ (string encoder).

Built by (all in packages/romdevtools/scripts/):

  • build-decomp-gcc.sh (kmc, egcs and psx targets) for the old gcc toolchains;
  • build-mips-linux-gcc-wasm.sh for gcc 14.2;
  • build-decomp-rust-tools.sh for slinky, pigment64, crunch64, raw-deflate and the Rust string encoder;
  • build-decomp-go-tools.sh for the Go setup tools.

See BUILD_MAP.md for the recipe-to-package map.