<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tools.nes/lib/xixanta/fuzz/fuzz_targets, 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-04-30T11:18:13Z</updated>
<entry>
<title>tests: fix the assembler fuzzer</title>
<updated>2026-04-30T11:18:13Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mssola@mssola.com</email>
</author>
<published>2026-04-30T11:18:13Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/commit/?id=355120109b18844a29cdc25cf04380575c2589c4'/>
<id>urn:sha1:355120109b18844a29cdc25cf04380575c2589c4</id>
<content type='text'>
We needed to pass the new 'allow_unused' parameter.

Signed-off-by: Miquel Sabaté Solà &lt;mssola@mssola.com&gt;
</content>
</entry>
<entry>
<title>assembler: Add support for asan:reserve,ignore</title>
<updated>2025-09-02T14:40:38Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mikisabate@gmail.com</email>
</author>
<published>2025-09-02T14:40:38Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/commit/?id=8e7993a63e32981757c4d65fe6519439dde97d8e'/>
<id>urn:sha1:8e7993a63e32981757c4d65fe6519439dde97d8e</id>
<content type='text'>
This is the initial support for both directives for the address
sanitizer. Note that asan:weak has been moved into asan:ignore, which is
not exactly the same but for now it should suffice.

Signed-off-by: Miquel Sabaté Solà &lt;mikisabate@gmail.com&gt;
</content>
</entry>
<entry>
<title>nasm: Implement the -D flag</title>
<updated>2025-01-22T20:56:45Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mikisabate@gmail.com</email>
</author>
<published>2025-01-22T20:46:03Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/commit/?id=4a7e8db884fdaa80f6a026ec4c0c8409ea975d81'/>
<id>urn:sha1:4a7e8db884fdaa80f6a026ec4c0c8409ea975d81</id>
<content type='text'>
This allows users to define variables directly from the command line,
which is useful for testing purposes.

Signed-off-by: Miquel Sabaté Solà &lt;mikisabate@gmail.com&gt;
</content>
</entry>
<entry>
<title>Implement the .include statement</title>
<updated>2025-01-09T15:01:39Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mikisabate@gmail.com</email>
</author>
<published>2025-01-08T11:34:47Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/commit/?id=8b1c270910fce13077864bf39d6e88971a6eb062'/>
<id>urn:sha1:8b1c270910fce13077864bf39d6e88971a6eb062</id>
<content type='text'>
This needed some heavy lifting when it comes to how files were located.
This means that statements like .include/.incbin now take into
consideration a new list made out of SourceInfo, which holds enough
information to translate from which file a node comes from. This has
also been added into errors, so they are more informative on what went
wrong.

In order to tests this, besides all the regular unit tests, a new e2e
test has been added.

Signed-off-by: Miquel Sabaté Solà &lt;mikisabate@gmail.com&gt;
</content>
</entry>
<entry>
<title>Store a reference for macros instead of an index</title>
<updated>2025-01-06T23:50:30Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mikisabate@gmail.com</email>
</author>
<published>2025-01-05T15:34:52Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/commit/?id=f3c6b02fb2f2957b9b896c34d05abe75263c3f60'/>
<id>urn:sha1:f3c6b02fb2f2957b9b896c34d05abe75263c3f60</id>
<content type='text'>
It is not safe to store a node index for macros since the list of nodes
that is passed down during assembly might change depending on whether an
inner block is being evaluated. Hence, the previous implementation would
break on a simple macro call inside of a .proc.

This also raised some concerns on the design around the API, since the
lifetime of references for internal assembler data needed an explicit
lifetime now, and as a side-effect functions like `assemble` had to be
moved out of the inner impl Assembler. This is in retrospect also a
better design choice.

Fixes: ec8b709fa24c ("Implement block bodies inside of the assembler").

Signed-off-by: Miquel Sabaté Solà &lt;mikisabate@gmail.com&gt;
</content>
</entry>
<entry>
<title>Transform mapping configurations into toml files</title>
<updated>2024-12-22T22:05:18Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mikisabate@gmail.com</email>
</author>
<published>2024-12-22T21:40:11Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/commit/?id=4628873cfc53d3bdc7a0834b3edbb02b0b9cf4a7'/>
<id>urn:sha1:4628873cfc53d3bdc7a0834b3edbb02b0b9cf4a7</id>
<content type='text'>
This will allow the creation of configuration files that can live
outside of this tree, so developers can fine tune configuration files of
their own without having to pick up whatever is currently available.

Signed-off-by: Miquel Sabaté Solà &lt;mikisabate@gmail.com&gt;
</content>
</entry>
<entry>
<title>Implement the .incbin control statement</title>
<updated>2024-12-19T10:00:54Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mikisabate@gmail.com</email>
</author>
<published>2024-12-19T08:59:34Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/commit/?id=42ebea54e35062a1a998f25e8fe019a5e0205fd9'/>
<id>urn:sha1:42ebea54e35062a1a998f25e8fe019a5e0205fd9</id>
<content type='text'>
This also forced us to add the current working directory to the
`Assembler::assemble` public function, as otherwise this control
statement and others wouldn't know how to resolve relative paths.

Signed-off-by: Miquel Sabaté Solà &lt;mikisabate@gmail.com&gt;
</content>
</entry>
<entry>
<title>Rename xixanta's fuzz targets</title>
<updated>2024-12-18T11:03:46Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mikisabate@gmail.com</email>
</author>
<published>2024-12-18T11:03:46Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/commit/?id=82c5c350e569d77e2b05321cda553f388d948aa4'/>
<id>urn:sha1:82c5c350e569d77e2b05321cda553f388d948aa4</id>
<content type='text'>
They were named with increasing numbers due to the fact that that's the
default behaviour from cargo fuzz's command. So, just rename them to
proper human-readable names.

Signed-off-by: Miquel Sabaté Solà &lt;mikisabate@gmail.com&gt;
</content>
</entry>
<entry>
<title>ci: Run a fuzzy test also for the assembler</title>
<updated>2024-12-13T14:30:20Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mikisabate@gmail.com</email>
</author>
<published>2024-12-13T14:30:20Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/commit/?id=7ade650065a2693f41e3a858bfb25881bac06e9d'/>
<id>urn:sha1:7ade650065a2693f41e3a858bfb25881bac06e9d</id>
<content type='text'>
Signed-off-by: Miquel Sabaté Solà &lt;mikisabate@gmail.com&gt;
</content>
</entry>
<entry>
<title>Adapt the assembler to the changes on the parser</title>
<updated>2024-12-12T06:46:17Z</updated>
<author>
<name>Miquel Sabaté Solà</name>
<email>mikisabate@gmail.com</email>
</author>
<published>2024-10-09T13:41:30Z</published>
<link rel='alternate' type='text/html' href='https://git.mssola.com/nes/tools.nes/commit/?id=16114b2ca358dbbef09cb5a8d3a843a0e11a3b88'/>
<id>urn:sha1:16114b2ca358dbbef09cb5a8d3a843a0e11a3b88</id>
<content type='text'>
As of 184c39579227 ("Re-work the parser from scratch") the parser has a
proper AST, and the assembler has to traverse it accordingly.

Moreover, the assembler has been stripped from a lot of unneeded memory
allocations and it's overall more keen on using mere references when
possible.

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