<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tools.nes, 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-25T05:36:54Z</updated>
<entry>
<title>Stop execution if not active in until_address()</title>
<updated>2026-08-25T05:36:54Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mssola@mssola.com</email>
</author>
<published>2026-08-25T05:36:54Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/commit/?id=765f66e909fbfe4b9182e61a08c5078112c5b1a8'/>
<id>urn:sha1:765f66e909fbfe4b9182e61a08c5078112c5b1a8</id>
<content type='text'>
Even if the desired thing is to run until the provided address is
reached, abort execution as well if the machine stops being active as
well. This is a common scenario when running in function mode and the
target end address is something passed that.

Fixes: e6c41303c2da ("runrom: add the --until-address option")

Signed-off-by: Miquel Sabaté Solà &lt;mssola@mssola.com&gt;
</content>
</entry>
<entry>
<title>Add a couple of notes on contributing</title>
<updated>2026-08-25T05:07:25Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mssola@mssola.com</email>
</author>
<published>2026-08-25T05:07:25Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/commit/?id=2177745a72de06285f71df03f7678dfc82bfb01d'/>
<id>urn:sha1:2177745a72de06285f71df03f7678dfc82bfb01d</id>
<content type='text'>
Signed-off-by: Miquel Sabaté Solà &lt;mssola@mssola.com&gt;
</content>
</entry>
<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>nasm: provide a better layout for the README file</title>
<updated>2026-08-23T21:15:27Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mssola@mssola.com</email>
</author>
<published>2026-08-23T21:15:27Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/commit/?id=dbfb03dcd7196fd4596192e4369aa0ec8c09390d'/>
<id>urn:sha1:dbfb03dcd7196fd4596192e4369aa0ec8c09390d</id>
<content type='text'>
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>nasm: fix typo on the README</title>
<updated>2026-08-18T14:53:17Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mssola@mssola.com</email>
</author>
<published>2026-08-18T14:53:17Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/commit/?id=104329a6c66db3a0db73414a254180f89a65b62d'/>
<id>urn:sha1:104329a6c66db3a0db73414a254180f89a65b62d</id>
<content type='text'>
Signed-off-by: Miquel Sabaté Solà &lt;mssola@mssola.com&gt;
</content>
</entry>
<entry>
<title>Do not mark some valid identifiers as invalid</title>
<updated>2026-08-18T14:44:27Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mssola@mssola.com</email>
</author>
<published>2026-08-18T14:44:27Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/commit/?id=34339ecae6c4d3284a099d34f09674b4c8bdfd62'/>
<id>urn:sha1:34339ecae6c4d3284a099d34f09674b4c8bdfd62</id>
<content type='text'>
Some identifiers like "@aa" were marked as invalid as "aa" is a
potentially hexadecimal value, but the "@" symbol actually disambiguates
this situation. Hence, if a non-alphanumeric character (that the parser
liked) is actually found, ensure it cannot be considered as an
hexadecimal value.

Provide also a test of is_valid_identifier(). The list is certainly not
exhaustive, but it should be good enough coupled with end-to-end tests.

Signed-off-by: Miquel Sabaté Solà &lt;mssola@mssola.com&gt;
</content>
</entry>
<entry>
<title>Validate labels when walking through the context</title>
<updated>2026-08-18T14:41:34Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mssola@mssola.com</email>
</author>
<published>2026-08-18T14:41:34Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/commit/?id=6cb4215f55876a7fffb1fd33f2bd061283d2389f'/>
<id>urn:sha1:6cb4215f55876a7fffb1fd33f2bd061283d2389f</id>
<content type='text'>
The parser does not validate label names completely (it only takes care
of validating that it something that makes sense syntactically). The
assembler can tell whether the label is actually taking a reserved name,
or an invalid hexadecimal constant, etc.

Before this commit a user would get a cryptic "invalid identifier"
message when referencing an invalid label (e.g. "jmp 1234"). Fix this by
validating the identifier there, but also when the label was defined
before any of this.

Signed-off-by: Miquel Sabaté Solà &lt;mssola@mssola.com&gt;
</content>
</entry>
</feed>
