<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tools.nes/scripts, 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-10-09T19:45:05Z</updated>
<entry>
<title>vnf,runrom: detect bad data access</title>
<updated>2026-10-09T19:45:05Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mssola@mssola.com</email>
</author>
<published>2026-10-09T19:45:05Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/commit/?id=f6df4314945c1d37d314a7c88553b97b23c748e9'/>
<id>urn:sha1:f6df4314945c1d37d314a7c88553b97b23c748e9</id>
<content type='text'>
This includes detection for:

- Stack underflows (it was theoretically already there but it had never
  been properly tested).
- Load/store out of bounds for a given variable known via the .nasm/
  directory.
- Load out of bounds on a set of data referenced via a raw label (see
  commit aa5174fc055d ("xixanta: Add an hint for the ending of data
  labels")).

Signed-off-by: Miquel Sabaté Solà &lt;mssola@mssola.com&gt;
</content>
</entry>
<entry>
<title>Don't error out on conditional .include</title>
<updated>2026-10-06T15:33:16Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mssola@mssola.com</email>
</author>
<published>2026-10-06T15:33:16Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/commit/?id=e71a73d0875c416507a3207bdec6fee145a79f68'/>
<id>urn:sha1:e71a73d0875c416507a3207bdec6fee145a79f68</id>
<content type='text'>
The hard requirement that an .include statement cannot be inside of
another block was, in the end, a bit short-sighted. Imagine the
following block:

.ifdef DEBUG
    .include "debug.s"
.endif

This is perfectly sound-looking code, and it should not be punished as
the developer is doing something that is not bending the assembler in
weird ways. Hence, just nuke this check.

Signed-off-by: Miquel Sabaté Solà &lt;mssola@mssola.com&gt;
</content>
</entry>
<entry>
<title>readrom: add support for MMC3</title>
<updated>2026-10-06T15:06:39Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mssola@mssola.com</email>
</author>
<published>2026-10-06T15:06:39Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/commit/?id=b2ec385bf83ad895208e7eb481f704cf8a12a6c6'/>
<id>urn:sha1:b2ec385bf83ad895208e7eb481f704cf8a12a6c6</id>
<content type='text'>
In theory it's support for any kind of memory mapper, but in practice
only MMC3 has been added.

Signed-off-by: Miquel Sabaté Solà &lt;mssola@mssola.com&gt;
</content>
</entry>
<entry>
<title>nasm: warn on labels that point out of bounds</title>
<updated>2026-09-29T21:37:48Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mssola@mssola.com</email>
</author>
<published>2026-09-29T21:37:48Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/commit/?id=54e3fc561add5ce9d776a11a286b988aacb59daa'/>
<id>urn:sha1:54e3fc561add5ce9d776a11a286b988aacb59daa</id>
<content type='text'>
Signed-off-by: Miquel Sabaté Solà &lt;mssola@mssola.com&gt;
</content>
</entry>
<entry>
<title>fuzz: change names to have dashes instead of underscore</title>
<updated>2026-09-15T16:02:43Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mssola@mssola.com</email>
</author>
<published>2026-09-15T16:02:43Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/commit/?id=01bb4fee8c45caee757b3bdc5432fd88dbcdfca3'/>
<id>urn:sha1:01bb4fee8c45caee757b3bdc5432fd88dbcdfca3</id>
<content type='text'>
From the latest update of Rust's stable channel, this was raised as a
bad format for fuzz names.

Signed-off-by: Miquel Sabaté Solà &lt;mssola@mssola.com&gt;
</content>
</entry>
<entry>
<title>vnf: display also the break mark on report()</title>
<updated>2026-09-07T21:19:53Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mssola@mssola.com</email>
</author>
<published>2026-09-07T21:19:53Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/commit/?id=e2a20dedc354c0b8d2e5253ffd4ac22d2b2898aa'/>
<id>urn:sha1:e2a20dedc354c0b8d2e5253ffd4ac22d2b2898aa</id>
<content type='text'>
When reporting the final instruction, if that was actually a brk (and
hence we stopped because of it), show the breaking mark as that could be
relevant when debugging.

Signed-off-by: Miquel Sabaté Solà &lt;mssola@mssola.com&gt;
</content>
</entry>
<entry>
<title>vnf: add the 'Machine.halt_on_brk' field</title>
<updated>2026-09-07T21:03:55Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mssola@mssola.com</email>
</author>
<published>2026-09-07T20:31:33Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/commit/?id=a17bd972a99007099057d7901b88732b22d08270'/>
<id>urn:sha1:a17bd972a99007099057d7901b88732b22d08270</id>
<content type='text'>
This allows developers to use 'brk' as asserts which can then be
debugged. This is true by default but it can be turned off via the
--no-halting-brk option from runrom.

Signed-off-by: Miquel Sabaté Solà &lt;mssola@mssola.com&gt;
</content>
</entry>
<entry>
<title>tests: add a test on branching instructions</title>
<updated>2026-09-06T20:55:50Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mssola@mssola.com</email>
</author>
<published>2026-09-06T20:55:50Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/commit/?id=2d61e42fab657d61212a7aff1ecacbd674be8cda'/>
<id>urn:sha1:2d61e42fab657d61212a7aff1ecacbd674be8cda</id>
<content type='text'>
Signed-off-by: Miquel Sabaté Solà &lt;mssola@mssola.com&gt;
</content>
</entry>
<entry>
<title>vnf: also set the carry on a zero compare</title>
<updated>2026-09-06T19:42:34Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mssola@mssola.com</email>
</author>
<published>2026-09-06T19:42:34Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/commit/?id=9c685d5b6ca1686f944fb239ec89511f24801d44'/>
<id>urn:sha1:9c685d5b6ca1686f944fb239ec89511f24801d44</id>
<content type='text'>
Add also a test to further check corner cases on compare instructions.

Signed-off-by: Miquel Sabaté Solà &lt;mssola@mssola.com&gt;
</content>
</entry>
<entry>
<title>vnf-tests: set the proper exit code on e2e tests</title>
<updated>2026-09-06T19:37:31Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mssola@mssola.com</email>
</author>
<published>2026-09-06T19:37:31Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/commit/?id=30a572b2b3815abaf17dcd2a848430935a4ba729'/>
<id>urn:sha1:30a572b2b3815abaf17dcd2a848430935a4ba729</id>
<content type='text'>
Signed-off-by: Miquel Sabaté Solà &lt;mssola@mssola.com&gt;
</content>
</entry>
</feed>
