# Install xa with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

6502 cross assembler. Version 2.4.1 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:xa
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install xa
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install xa
```

  Evidence: MacPorts ports tree: devel/xa/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add xa
```

  Evidence: Alpine Linux edge package indexes: xa from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install xa65
```

  Evidence: Debian stable package indexes: xa65 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install xa
```

  Evidence: Fedora Rawhide package metadata: xa from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#xa
```

  Evidence: nixpkgs package indexes: pkgs/by-name/xa/xa/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S xa
```

  Evidence: Arch Linux sync databases: xa from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install xa
```

  Evidence: openSUSE Tumbleweed package metadata: xa from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:xa
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/xa>
- **Version:** 2.4.1
- **Source summary:** 6502 cross assembler
- **Homepage:** <https://www.floodgap.com/retrotech/xa/>
- **Repository:** <https://github.com/fachat/xa65>
- **Upstream docs:** <https://www.floodgap.com/retrotech/xa>
- **License:** GPL-2.0-or-later
- **Source archive:** <https://www.floodgap.com/retrotech/xa/dists/xa-2.4.1.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- file65 (cli)
- ldo65 (cli)
- printcbm (cli)
- reloc65 (cli)
- uncpk (cli)
- xa (cli)
- file65 (alias)
- ldo65 (alias)
- printcbm (alias)
- reloc65 (alias)
- uncpk (alias)
- xa (alias)

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, monterey, sonoma, ventura, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.4.1
- Local data: ok
- Upstream repository: https://www.floodgap.com/retrotech/xa/
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

xa, also known as xa65, is a 6502-family cross-assembler for Unix-like systems. It targets classic 6502-series processors, the Rockwell R65C02, and the 65816, and ships with companion tools for o65 objects and related 6502 development workflows.

Its appeal is old-school and practical: xa is small, portable, fast, and oriented toward cross-assembling retro-computing code on modern machines rather than assembling directly on a Commodore, Apple, Atari, or other 8-bit target.

### Project history

The original xa package is credited to Andre Fachat for 1989-1997. Later changes are credited to Fachat, Jolse Maginnis, David Weinehall, and Cameron Kaiser, with Kaiser listed as the official maintainer in current manual pages.

Fachat's public mirror describes xa65 as originally authored by him and currently maintained by Cameron Kaiser at Floodgap. The repository also notes that xa65 runs on Unix and Unix-alikes, produces 6502 and 65816 code, and comes with a set of tools.

### Adoption history

xa survived because the 6502 ecosystem stayed alive: Commodore 64, Apple II, Atari 8-bit, NES-adjacent, 65C02, and 65816 programmers kept needing a dependable cross-assembler on contemporary Unix-like systems. The manual's own 'Over 30 Years of Xa' note captures its unusual longevity.

The tool is distributed by multiple Unix-like package systems and is referenced in retro-computing circles because it is simple enough for small projects but has features expected by serious 8-bit work: segments, labels, listings, conditional assembly, a C-like preprocessor, o65 relocatable output, and companion tools such as ldo65 and reloc65.

### How it is used

Users write 6502-family assembly on a modern host, select options for CMOS 65C02 or 65816 opcodes, define include paths and macros, and emit either sequential binaries or o65 relocatable objects. The tool can also produce listings and label files for later inspection or disassembly.

xa is commonly used where exact addresses and binary layout matter: ROMs, monitor programs, demos, small operating systems, bootstraps, and retro-computing utilities. Its linking section documents both o65 object workflows through ldo65 and direct binary composition with explicit padding.

### Why package nerds care

xa is one of those packages that signals a living retro toolchain rather than nostalgia alone. It is not a generic assembler; it is a long-maintained 6502 cross-assembler with enough compatibility switches and object tooling to fit real historical codebases.

### Timeline

- 1989-1997: Original xa package by Andre Fachat.
- 2000s: Continued maintenance adds portability and package-system visibility.
- 2024: Current manual pages credit additional changes through 2024 and identify Cameron Kaiser as official maintainer.
- 2020s: xa remains packaged and used for 6502, R65C02, and 65816 cross-development.

### Related projects

- cc65 is another prominent 6502 development suite, with ca65 as its assembler.
- o65, ldo65, file65, and reloc65 form xa's relocatable-object side ecosystem.
- dxa is a related disassembler referenced by the xa manual.

### Sources

- <https://6502.org/users/andre/misc/>
- <https://github.com/fachat/xa65>
- <https://github.com/fachat/xa65/blob/master/xa/README.1st>
- <https://www.mankier.com/1/xa>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** xa
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Debian apt - xa65 - 2.4.1-0.1: normalized package name match | Debian stable package indexes: xa65 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | cross-assembler and utility suite for 65xx/65816 processors | https://www.floodgap.com/retrotech/xa/
- Nix - xa: normalized package name match | nixpkgs package indexes: pkgs/by-name/xa/xa/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - xa65 - 2.4.0-0.1: normalized package name match | Ubuntu 24.04 LTS package indexes: xa65 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | cross-assembler and utility suite for 65xx/65816 processors | https://www.floodgap.com/retrotech/xa/
- apk - xa - 2.4.1-r0: normalized package name match | Alpine Linux edge package indexes: xa from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | cross-assembler and utility suite for 65xx/65816 processors | https://www.floodgap.com/retrotech/xa
- apk - xa-doc - 2.4.1-r0: normalized package name match | Alpine Linux edge package indexes: xa-doc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | cross-assembler and utility suite for 65xx/65816 processors (documentation) | https://www.floodgap.com/retrotech/xa
- dnf - xa - 2.4.1-5.fc44: normalized package name match | Fedora Rawhide package metadata: xa from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | 6502/65816 cross-assembler | http://www.floodgap.com/retrotech/xa/
- pacman - xa - 2.4.1-2: normalized package name match | Arch Linux sync databases: xa from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Cross-assembler for the 6502 microprocessor | https://www.floodgap.com/retrotech/xa
- zypper - xa - 2.4.1-1.4: normalized package name match | openSUSE Tumbleweed package metadata: xa from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | High-speed, two-pass portable 6502 cross-assembler | https://www.floodgap.com/retrotech/xa/
- MacPorts - xa: normalized package name match | MacPorts ports tree: devel/xa/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [acme](https://www.automicvault.com/pkg/brew/acme/) - Shares av.db curated category or tags: 6502, assembler, cli, cross-assembler, developer-tools.
- [cc65](https://www.automicvault.com/pkg/brew/cc65/) - Shares av.db curated category or tags: 6502, assembler, cli, developer-tools, retro-computing.
- [yasm](https://www.automicvault.com/pkg/brew/yasm/) - Shares av.db curated category or tags: assembler, assemblers, cli, developer-tools.
- [asm6809](https://www.automicvault.com/pkg/brew/asm6809/) - Shares av.db curated category or tags: assembler, cli, cross-assembler, developer-tools.
- [tass64](https://www.automicvault.com/pkg/brew/tass64/) - Shares av.db curated category or tags: 6502, assembler, cli, developer-tools.
- [wla-dx](https://www.automicvault.com/pkg/brew/wla-dx/) - Shares av.db curated category or tags: assembler, cli, cross-assembler, developer-tools.
- [aarch64-elf-binutils](https://www.automicvault.com/pkg/brew/aarch64-elf-binutils/) - Shares av.db curated category or tags: assembler, cli, developer-tools.
- [atasm](https://www.automicvault.com/pkg/brew/atasm/) - Shares av.db curated category or tags: assembler, cli, developer-tools.

## Combined YAML source

View the package source record on GitHub. [combined/xa.yml](https://github.com/automic-vault/db/blob/main/combined/xa.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
