Skip to content

Commit 0b271ec

Browse files
committed
Document that default offset is Model 100, not Tandy 200
1 parent c6d364c commit 0b271ec

File tree

1 file changed

+21
-10
lines changed

1 file changed

+21
-10
lines changed

README.md

+21-10
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@ single byte. Not only is this more compact, but it loads much faster.
2525
Programs for the Model 100 are generally distributed in ASCII format,
2626
but that has two downsides: ① the user must LOAD and re-SAVE the file
2727
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.
3030

3131
### The solution
3232

33-
This program solves that problem by tokenizing on the host computer
33+
This program solves that problem by tokenizing on a host computer
3434
before downloading to the Model 100. Additionally, this project
3535
provides a decommenter and cruncher (whitespace remover) to save bytes
3636
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
9090

9191
## Usage
9292

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.
9494

9595
### The tokenize wrapper
9696

@@ -133,12 +133,12 @@ m100-decomment --> m100-crunch --> m100-tokenize
133133
m100-decomment --> m100-tokenize
134134
```
135135

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 | |
142142

143143
<details><summary>Click to see more details about running these
144144
programs manually</summary><p>
@@ -264,6 +264,17 @@ work for any of them. However, the NEC family of portables -- the
264264
PC-8201, PC-8201A, and PC-8300 -- run N82 BASIC which has a different
265265
tokenization format.
266266

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+
267278
## Why Lex?
268279

269280
This program is written in

0 commit comments

Comments
 (0)