Implement MBF binary file compatibility, fix binary loader null-byte truncation, update to v0.14.0

Binary tokenized SAVE/LOAD now stores float constants in Microsoft Binary
Format (MBF) on disk, matching original GWBASIC.EXE.  A token-walking function
(convert_floats) converts IEEE↔MBF at the save_binary()/load_binary() boundary.

Also fixes a latent bug where load_binary() scanned for 0x00 to find the end
of each token line — this fails when float bytes contain null (e.g. MBF for
100.5 is 00 00 49 87).  The loader now uses the next-line pointer to compute
token data length, matching the original's approach.
This commit is contained in:
Eremey Valetov
2026-03-21 01:38:53 -04:00
parent c488cb526d
commit 3f3104c385
9 changed files with 146 additions and 37 deletions
+1 -1
View File
@@ -10,7 +10,7 @@
#include "gw_math.h"
#include "strings.h"
#define GW_VERSION "0.13.0"
#define GW_VERSION "0.14.0"
#define GW_BANNER "GW-BASIC " GW_VERSION
/* Tokenizer */