Skip to content
uttoriPublic

About

Uttori ASM is a pluggable assembler toolkit for TypeScript and Node.js.

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Uttori ASM

A pluggable assembler, ROM-analysis toolkit, and VS Code extension for SNES and 6502-family CPUs. Build binaries, inspect evidence, regenerate source, and verify byte-identical ROM rebuilds.

Requirements

  • Node.js 26 or newer for npm packages, standalone tools, and development.
  • VS Code 1.145.0 or newer for the extension. It uses the editor's embedded runtime.
  • Live debugging requires a separately installed, manifest-matched ares runtime.

Support starts at the versions currently declared in the package manifests and moves forward. Earlier Node/editor releases and earlier development project formats are outside the support baseline. See the release gates and the ares sidecar runtime setup for validation requirements and platform limits.

Quick Start

npm install --save-dev @uttori/asm-cli

Create main.asm:

lorom
org $008000
sei

Then build it:

npx uttori-asm main.asm main.sfc --debug

This writes a one-byte assembly example and its debug map. It is not a bootable game. The CLI defaults to SNES. Use project configuration for other targets. Packages expose compiled ESM and TypeScript declarations. No TypeScript loader is required.

For editor setup, see the VS Code extension.

Packages

Package Purpose
asm-cli Assembly, evidence, Git source and saved asset workflows
asm-workflows Shared source and asset operations for Node hosts
asm-capture ACT2 archive contracts, readers, recovery and target payloads
asm-assets Standalone PNG, WAVE, data, and native conversion
asm-core Assembly engine, analysis, and plugin contracts
asm-disassembler SQLite projects, evidence, transactions, and declarations
asm-plugin-loader-node Project configuration and trusted plugin loading
asm-plugin-snes SNES, 65816, SPC700, and Super FX
asm-plugin-65xx 6502-family, raw, ca65-style, and NES targets
asm-debug-adapter Debugger contracts, DAP, replay, and sidecar protocol
asm-debug-sidecar-ares ares process host and debugger translator

The language server, VS Code extension, and plugin example, and Secret of Mana integration are private npm workspaces. The extension is distributed separately as a VSIX/Marketplace extension.

Documentation

CLI guide · SNES · 6502 / 65xx family · Plugin authoring · Project configuration · Analysis projects.

Analysis projects store metadata in SQLite and keep the source ROM external. Analysis is conservative. Unknown bytes remain raw assets. Asar/ca65 compatibility is partial. Emulator binaries and ROMs are not included. See the relevant package guide for exact limits.

Development & Support

npm ci
npm run verify

See CONTRIBUTING.md for source development and checks.

Report an issue.

Follow SECURITY.md for vulnerability reports.

Licensed under MIT, with 65xx third-party notices.

About

Uttori ASM is a pluggable assembler toolkit for TypeScript and Node.js.

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages