em_reset cleared only one row of em_meth_label: ldx #$FF / dex / bpl exits
after the first store because $FE is negative. Method label ids from the count
pass survived into the emitting pass after fl_init had freed every flow label,
so a later fl_alloc could hand the same id to another label. The loop now
clears all 256 rows, and labels are stored as id + 1 so 0 means unassigned.
hello-test.s never cleared em_on. Since 5489ae6 added emitter BSS, em_on lands
on RAM that VICE's power-on pattern leaves non-zero, so the statement emitter
ran without print vectors and reported E227 at end program. The fixture now
clears em_on before parse_file, as every emitter caller must.
harness.tests.ps1 embedded quotes in arguments for the call operator, which
PowerShell 7.3+ escapes into the path; it now passes plain arguments and runs
under both Windows PowerShell 5.1 and PowerShell 7.
Calls now stage their arguments and push them in reverse so arg0 lands at
FP+2, each body gets a patched frame prologue when frames are requested, and
return leaves the frame with a byte or word result preserved. A new args
fixture proves the parameter and result path in x128.
Generated with Codebuff
Co-Authored-By: Codebuff <noreply@codebuff.com>
The verifier proved the launcher path but never ran prepare-disk.ps1 itself,
so it now compares the injected n128c byte-for-byte with build/n128c.prg, and
the driver suite is part of the regression manifest.
Generated with Codebuff
Co-Authored-By: Codebuff <noreply@codebuff.com>
Suites run from a manifest into fresh build directories with time limits,
captured logs, JSON results and SHA-256 comparisons; source, lexer and parser
artifacts are pinned, and self-tests cover timeout, failure signature and
changed-artifact detection.
Generated with Codebuff
Co-Authored-By: Codebuff <noreply@codebuff.com>