diff options
| author | Miquel Sabaté Solà <mikisabate@gmail.com> | 2025-09-04 07:56:44 +0200 |
|---|---|---|
| committer | Miquel Sabaté Solà <mikisabate@gmail.com> | 2025-09-04 07:56:44 +0200 |
| commit | 14c8f64f38b601398a144d507c0183016d27b87c (patch) | |
| tree | 9646b2094cbae3022418a8183f454f8436f566dd /README.md | |
| parent | 2e99bdfed0d4f0cd78f03886155ff175e115bb77 (diff) | |
| download | tools.nes-14c8f64f38b601398a144d507c0183016d27b87c.tar.gz tools.nes-14c8f64f38b601398a144d507c0183016d27b87c.zip | |
Move and expand the README on nasm
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 40 |
1 files changed, 7 insertions, 33 deletions
@@ -4,38 +4,8 @@ Tools I have created to help with NES/Famicom development. ## `nasm` -`nasm` is an assembler specifically tailored for the NES/Famicom. Build it and -run it with cargo, or you can install it somewhere in your `$PATH` and simply: - -``` -$ nasm awesome.s -``` - -This will produce an `out.nes` file placed under the same working directory. You -can change the name of the file with the `-o/--output` flag. Hence, you can call -it like so: - -``` -$ nasm -o awesome.nes awesome.s -``` - -Moreover, you can actually tell `nasm` to redirect the output to stdout instead -with the `--stdout` flag. This is useful when debugging the binary format with -another CLI tool. For example: - -``` -$ nasm --stdout awesome.s | hexdump -C -``` - -By default it will assume the configuration for an `NROM` mapper, but this can -be changed with the `-c/--configuration` flag, which accepts the following -values: `empty`, `nrom`, `nrom65`, `unrom`, `uxrom` and `mmc1`. These values -correspond to the configurations [already bundled](./lib/xixanta/src/mappings) -on this application, which follow a simplified syntax from the -[ld65](https://www.cc65.org/doc/ld65-5.html) one. Alternatively, you can also -pass the path to a configuration file to this flag. This file can either follow -the same [ld65](https://www.cc65.org/doc/ld65-5.html) syntax, or the simplified -one. +`nasm` is an assembler specifically tailored for the NES/Famicom. Read more +about it in [./crates/nasm/README.md](./crates/nasm/README.md). ## `xa65` @@ -44,7 +14,11 @@ results that it produces with a mature and stable assembler like [cc65](https://github.com/cc65/cc65). The purpose of `xa65` is to provide a bridge, and so it simply executes both `nasm` and `cc65` with the given arguments. If the results from both assemblers are not the same, then it will -display a warning and produce the binary as taken from `cc65`. +display a warning and produce the binary as taken from `cc65`. Moreover, if you +want this warning to be an error instead, then use the `--no-errors`. + +Last but not least, you can also pass flags to `xa65` like `--strict`, which +will invoke `nasm` with more pedantic features like its address sanitizer. ## `readrom` |
