blob: 4a74a66d28575df4b182c3b929232a1f87dd3911 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
Utilities for NES/Famicom development. Note that this repository is under heavy
development and it's **not** currently usable.
## `nasm`
`nasm` is an assembler specifically tailored for the NES/Famicom. You can simply
run it like so:
```
$ cargo run --bin nasm <path-to-assembly-file>
```
By default it will assume the configuration for an `NROM` file, but this can be
changed with the `-c/--configuration` flag, which accepts the following values:
- `empty`: just `HEADER` and `CODE`. Useful for one-liners (e.g. "how is this
instruction encoded in binary?").
- `nrom`: the default configuration. It has the following segments: `HEADER`,
`CODE`, `VECTORS`, and `CHARS`.
- `nrom65`: same as `nrom` but it also has `STARTUP` for compatibility with the
default linker configuration from [cc65](https://github.com/cc65/cc65).
|