<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tools.nes/crates/runrom, branch main</title>
<subtitle>Tools for NES/Famicom development.
</subtitle>
<id>https://git.mssola.com/nes/tools.nes/atom?h=main</id>
<link rel='self' href='https://git.mssola.com/nes/tools.nes/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/'/>
<updated>2026-08-24T14:18:27Z</updated>
<entry>
<title>runrom: add the --until-address option</title>
<updated>2026-08-24T14:18:27Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mssola@mssola.com</email>
</author>
<published>2026-08-24T14:18:27Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/commit/?id=e6c41303c2da5afd230570cb5610905ade71fecf'/>
<id>urn:sha1:e6c41303c2da5afd230570cb5610905ade71fecf</id>
<content type='text'>
This allows the user to run execution until a given address is
reached. This can, like with the --start option, be coupled with the
--nasm option in order to be able to provide an identifier instead of a
regular hexadecimal value.

Signed-off-by: Miquel Sabaté Solà &lt;mssola@mssola.com&gt;
</content>
</entry>
<entry>
<title>Allow the --start flag to accept identifiers</title>
<updated>2026-08-24T14:17:25Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mssola@mssola.com</email>
</author>
<published>2026-08-24T14:17:25Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/commit/?id=86006af348be75412fdc3dfb5a037b89a01122e8'/>
<id>urn:sha1:86006af348be75412fdc3dfb5a037b89a01122e8</id>
<content type='text'>
This is coupled with the new -n/--nasm option, which works in the same
way as in `readrom`.

Signed-off-by: Miquel Sabaté Solà &lt;mssola@mssola.com&gt;
</content>
</entry>
<entry>
<title>Annotate the no-return from die()</title>
<updated>2026-08-24T12:16:42Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mssola@mssola.com</email>
</author>
<published>2026-08-24T12:16:42Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/commit/?id=ef5cacef65bed736ee0bdff7426684b3c1b5e35f'/>
<id>urn:sha1:ef5cacef65bed736ee0bdff7426684b3c1b5e35f</id>
<content type='text'>
In all crates we are using a die() function to print to stderr and quit
with a exit status &gt; 0. Apparently in Rust you can annotate the return
type with a bang just like the noreturn from the C family.

The added bonus is that some useless statements to make the compiler
happy without it can be removed altogether as now the compiler is able
to understand that it won't return so the returned type is not needed.

Signed-off-by: Miquel Sabaté Solà &lt;mssola@mssola.com&gt;
</content>
</entry>
<entry>
<title>Improve the description of runrom</title>
<updated>2026-08-23T21:15:08Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mssola@mssola.com</email>
</author>
<published>2026-08-23T21:15:08Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/commit/?id=347a6e372f76cf0cbad55f536794d5901bac3188'/>
<id>urn:sha1:347a6e372f76cf0cbad55f536794d5901bac3188</id>
<content type='text'>
Signed-off-by: Miquel Sabaté Solà &lt;mssola@mssola.com&gt;
</content>
</entry>
<entry>
<title>Add the runrom crate and the vnf library</title>
<updated>2026-08-17T21:06:23Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mssola@mssola.com</email>
</author>
<published>2026-08-17T14:03:21Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/commit/?id=df1041d40431251e22e03ec5c4df7fc5767e1543'/>
<id>urn:sha1:df1041d40431251e22e03ec5c4df7fc5767e1543</id>
<content type='text'>
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à &lt;mssola@mssola.com&gt;
</content>
</entry>
</feed>
