aboutsummaryrefslogtreecommitdiff
path: root/README.md
Commit message (Collapse)AuthorAgeFilesLines
* Add the runrom crate and the vnf libraryMiquel Sabaté Solà10 days1-0/+9
| | | | | | | | | | | | | | | | | | | The vnf library supports the runrom crate and they both combined enable users to "run" a ROM file. This is basically an emulator, but with two key differences: 1. It is to be run programatically. That is, you are not expected to play games with this, but to run code by steps, start at a given address, run a function, etc. 2. It is headless: there are no graphics displayed on screen, nor sound being delivered. Thus, the target for both these things are developers, not players. This way developers can validate code paths without needing a full blown emulator. You can write tests with this and be able to run some checks as part of your testing infrastructure. Signed-off-by: Miquel Sabaté Solà <mssola@mssola.com>
* readrom: implement the -d/--disassemble optionMiquel Sabaté Solà2026-07-151-4/+3
| | | | | | | | This option can also be coupled with -n/--nasm-directory, and you can then get a human-readable disassembling of any proc or label you might be thinking on. Signed-off-by: Miquel Sabaté Solà <mssola@mssola.com>
* Move and expand the README on nasmMiquel Sabaté Solà2025-09-041-33/+7
| | | | Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
* Add a configuration for MMC1Miquel Sabaté Solà2025-01-231-17/+7
| | | | Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
* Introduce xa65Miquel Sabaté Solà2025-01-101-0/+9
| | | | | | | | This is a bridge between 'nasm' and 'cl65'. That is, it runs the same command on both 'nasm' and 'cl65', compares the resulting binaries, and gives back the binary from 'cl65'. Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
* Rename to tools.nesMiquel Sabaté Solà2024-12-251-9/+10
| | | | | | | | | | Let's continue with the good ol' tradition of being terrible at naming things. I have also renamed another project which was referenced here, so update all references as well. Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
* nasm: Allow file paths for the configurationMiquel Sabaté Solà2024-12-221-6/+15
| | | | | | | This opens up the door for developers to pass their own configuration files. Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
* Dual license the source code under this repositoryMiquel Sabaté Solà2024-12-201-0/+16
| | | | | | | | | | | | | | | | | | | This means that the source code under `crates/` is under the GNU GPLv3 (or any later version), and that source code under `lib/` is under the GNU LGPLv3 (or any later version). In practice this relaxes a bit the previous licensing because before it was all GNU GPLv3 (or any later version). For people compiling a binary with these libraries then this would've been spilling over the GPLv3 on their binaries as well, which might not be desired. Instead, for the libraries abide by the LGPLv3 (or any later version), which has the same guarantees when it comes to free/lliure software for this specific case, but at least we don't force the GPLv3 (or any later version) onto users. That being said, users of these libraries still need to provide object files so third parties could theoretically recompile those binaries under a modified library. Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
* Improve documentation on nasmMiquel Sabaté Solà2024-12-181-5/+22
| | | | Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
* Add the readrom binaryMiquel Sabaté Solà2024-12-181-0/+7
| | | | | | | | | | | | | | | The readrom binary is similar to `readelf` from Linux and it will allow to display information from an NES/Famicom ROM file. For now the information being shown is just the header, but in the future we might also include disassembling parts of the code, or retrieving the "CHARS" section for a given ROM file, and similar. In order to implement the header parsing part a new library has been introduced, simply named "header" which abstracts everything away so you just need to call `Header::try_from("my bytes")` to fetch the actual information. Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
* Update the README for open sourcing the projectMiquel Sabaté Solà2024-12-161-1/+21
| | | | Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
* Initial commitMiquel Sabaté Solà2024-12-121-0/+1
A lot is missing and there is a long road ahead to make the assembler even work. Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>