Skip to content

# Trap MBF32 assignment overflow in GW and BASICA - #293

Merged
Hawkynt merged 2 commits into
mainfrom
fix/mbf32-overflow-signed
Oct 7, 2026
Merged

Hawkynt merged 2 commits into
mainfrom
fix/mbf32-overflow-signed

Conversation

@Hawkynt

@Hawkynt Hawkynt commented Oct 5, 2026

Copy link
Copy Markdown
Owner

Reject MBF32 stores whose rounded IEEE exponent cannot map to MBF, raising BASIC Error 6. Add BASICA/GW optimized and unoptimized boundary tests and a genuine GW-BASIC 3.23 differential fixture. Local suite: 6,560 passed, 12 environment skips. Genuine oracle and patched DOS output match byte for byte; pre-fix DOS output differs. The second commit refreshes INDEX.md.

Sourcing rung 2: GW-BASIC 3.23 is proprietary; the expected output comes from the genuine interpreter through tests/diff/gw/MBF32OVR.BAS, with no proprietary code copied. The MIT 1983 interpreter source is not a version-matched 3.23 implementation; the Microsoft GW-BASIC User Guide supplies the MBF layout. The pre-fix runtime printed MISSED; the patched runtime matches the oracle byte for byte.
@Hawkynt
Hawkynt merged commit e516445 into main Oct 7, 2026
5 checks passed
@Hawkynt
Hawkynt deleted the fix/mbf32-overflow-signed branch October 7, 2026 12:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant