@@ -25,12 +25,12 @@ single byte. Not only is this more compact, but it loads much faster.
25
25
Programs for the Model 100 are generally distributed in ASCII format,
26
26
but that has two downsides: ① the user must LOAD and re-SAVE the file
27
27
on their machine to tokenize it as only tokenized BASIC can be run and
28
- ② the machine may not have enough storage space for the tokenized
29
- version while the ASCII version is also in memory.
28
+ ② the machine may not have enough storage space to tokenize if the
29
+ ASCII version is also in memory.
30
30
31
31
### The solution
32
32
33
- This program solves that problem by tokenizing on the host computer
33
+ This program solves that problem by tokenizing on a host computer
34
34
before downloading to the Model 100. Additionally, this project
35
35
provides a decommenter and cruncher (whitespace remover) to save bytes
36
36
in the tokenized output at the expense of readability.
@@ -90,7 +90,7 @@ Flex creates the file lex.tokenize.c from m100-tokenize.lex. The
90
90
91
91
## Usage
92
92
93
- One can either use the tokenize wrapper or run the executables manually.
93
+ One can either use the ` tokenize ` wrapper or run the executables manually.
94
94
95
95
### The tokenize wrapper
96
96
@@ -133,12 +133,12 @@ m100-decomment --> m100-crunch --> m100-tokenize
133
133
m100-decomment --> m100-tokenize
134
134
```
135
135
136
- | Programs used | Effect | Same as |
137
- | ---------------------------------------------------------------------------------| --------------------------------------------| -------------|
138
- | m100-sanity<br />m100-tokenize | Identical output as a genuine Model 100 | tokenize |
139
- | m100-sanity<br />m100-jumps<br />m100-decomment<br />m100-tokenize | Saves RAM by removing unnecessary comments | tokenize -d |
140
- | m100-sanity<br />m100-jumps<br />m100-decomment<br />m100-crunch<br />m100-tokenize | Saves even more RAM, removing whitespace | tokenize -c |
141
- | m100-tokenize | Abnormal code is kept as is | |
136
+ | Programs used | Effect | Same as |
137
+ | ---------------------------------------------------------------------------------| ------------------------------------------------ | -------------|
138
+ | m100-sanity<br />m100-tokenize | Identical byte-for-byte to a genuine Model 100 | tokenize |
139
+ | m100-sanity<br />m100-jumps<br />m100-decomment<br />m100-tokenize | Saves RAM by removing unnecessary comments | tokenize -d |
140
+ | m100-sanity<br />m100-jumps<br />m100-decomment<br />m100-crunch<br />m100-tokenize | Saves even more RAM, removing whitespace | tokenize -c |
141
+ | m100-tokenize | Abnormal code is kept as is | |
142
142
143
143
<details ><summary >Click to see more details about running these
144
144
programs manually</summary ><p >
@@ -264,6 +264,17 @@ work for any of them. However, the NEC family of portables -- the
264
264
PC-8201, PC-8201A, and PC-8300 -- run N82 BASIC which has a different
265
265
tokenization format.
266
266
267
+ ### Checksum differences are not a compatibility problem
268
+
269
+ The .BA files generated by ` tokenize ` aim to be exactly the same, byte
270
+ for byte, as the output from tokenizing on a Model 100. The Tandy 200
271
+ stores the first BASIC program in RAM at a slightly different location
272
+ (0xA000 instead of 0x8000). This has no affect on compatibility, but
273
+ it does change the line number pointers in the .BA file. The pointers
274
+ saved in the file are _ never_ used as they are recalculated when the
275
+ program is loaded into RAM.
276
+
277
+
267
278
## Why Lex?
268
279
269
280
This program is written in
0 commit comments