Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
documentations:basic_internals [2015/03/15 08:01] – created pulkomandy | documentations:basic_internals [2015/03/15 10:21] (current) – pulkomandy | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== BASIC file format ====== | ====== BASIC file format ====== | ||
- | Note: the following applies to the MO5 BASIC 1.0. It wasn't checked how much of this applies to the other BASICs. | + | The format is similar for all versions of the BASIC but there are some differences. The most obvious one is that the list of tokens was expanded, but there are other changes as well. |
===== Header ===== | ===== Header ===== | ||
Line 21: | Line 21: | ||
The end of the listing is marked with a NULL next line pointer. | The end of the listing is marked with a NULL next line pointer. | ||
+ | |||
+ | The " | ||
The line data is a mix of tokens and ASCII characters. The tokens are used to encode all the keywords and functions, but everything else (numbers, strings, comments) is stored in ASCII. | The line data is a mix of tokens and ASCII characters. The tokens are used to encode all the keywords and functions, but everything else (numbers, strings, comments) is stored in ASCII. | ||
Line 37: | Line 39: | ||
|0x84|'' | |0x84|'' | ||
|0x85|'' | |0x85|'' | ||
+ | |0x86| | ||
|0x87|'' | |0x87|'' | ||
+ | |0x88| | ||
|0x89|'' | |0x89|'' | ||
- | |0x8A|'' | + | |0x8A|'' |
|0x8B|'' | |0x8B|'' | ||
- | |0x8E| |'' | + | |0x8C|' |
- | |0x8F| |'' | + | |0x8D| |'' |
+ | |0x8E|'' | ||
+ | |0x8F|'' | ||
+ | |0x90| | ||
+ | |0x91| | ||
+ | |0x92| | ||
|0x93|'' | |0x93|'' | ||
- | |0x99| | + | |0x94| |
+ | |0x95| |'' | ||
+ | |0x96|'' | ||
+ | |0x97| | ||
+ | |0x98|'' | ||
+ | |0x99|'' | ||
|0x9A| |'' | |0x9A| |'' | ||
+ | |0x9B| |'' | ||
|0x9C|'' | |0x9C|'' | ||
|0x9D|'' | |0x9D|'' | ||
- | |0x9F| |'' | + | |0x9E|'' |
+ | |0x9F|'' | ||
|0xA0| |'' | |0xA0| |'' | ||
|0xA1| |'' | |0xA1| |'' | ||
- | |0xA2|'' | + | |0xA2|'' |
+ | |0xA3|'' | ||
|0xA4|'' | |0xA4|'' | ||
- | |0xA5|'' | + | |0xA5|'' |
- | |0xA6|'' | + | |0xA6|'' |
+ | |0xA7| | ||
|0xA8|'' | |0xA8|'' | ||
|0xA9|'' | |0xA9|'' | ||
|0xAA|'' | |0xAA|'' | ||
|0xAB|'' | |0xAB|'' | ||
+ | |0xAC| | ||
+ | |0xAD| | ||
|0xAE|'' | |0xAE|'' | ||
+ | |0xAF| | ||
+ | |0xB0|'' | ||
+ | |0xB1| |'' | ||
+ | | | ||
+ | |0xB2| |'' | ||
+ | |0xB3|'' | ||
+ | |0xB4| | ||
+ | |0xB5|'' | ||
+ | |0xB6|'' | ||
+ | |0xB7|'' | ||
+ | |0xB8| | ||
|0xB9|'' | |0xB9|'' | ||
- | |0xBB|'' | + | |0xBA|'' |
- | |0xBB|'' | + | |0xBB|'' |
- | |0xBF|'' | + | |0xBC|'' |
+ | |0xBD|'' | ||
+ | |0xBE| |'' | ||
+ | |0xBF|'' | ||
+ | |0xC0| | ||
+ | |0xC1|'' | ||
+ | |0xC2|'' | ||
+ | |0xC3| | ||
|0xC4|'' | |0xC4|'' | ||
+ | |0xC5|'' | ||
|0xC6|'' | |0xC6|'' | ||
|0xC7|'' | |0xC7|'' | ||
Line 70: | Line 109: | ||
|0xC9|'' | |0xC9|'' | ||
|0xCA|''/'' | |0xCA|''/'' | ||
+ | |0xCB| | ||
|0xCC|'' | |0xCC|'' | ||
|0xCD|'' | |0xCD|'' | ||
+ | |0xCE| | ||
+ | |0xCF| | ||
+ | |0xD0| | ||
+ | |0xD1|'' | ||
+ | |0xD2|'' | ||
|0xD3|''>'' | |0xD3|''>'' | ||
|0xD4|'' | |0xD4|'' | ||
|0xD5|''<'' | |0xD5|''<'' | ||
+ | ^DOS BASIC^Opcode^ | ||
+ | |0xD6|'' | ||
+ | |0xD7| | ||
+ | |0xD8| | ||
+ | |0xD9| | ||
+ | |0xDA| | ||
+ | |0xDB| | ||
+ | |0xDC| | ||
+ | |0xDD|'' | ||
+ | |0xDE|'' | ||
+ | |0xDF| | ||
+ | |0xE0| | ||
+ | |0xE1| | ||
+ | |0xE2| | ||
+ | |0xE3| | ||
+ | |0xE4| | ||
+ | |0xE5| | ||
+ | |0xE6|'' | ||
+ | |0xE7| | ||
+ | |0xE8| | ||
+ | |0xE9| | ||
+ | |0xEA| | ||
+ | |0xEB| | ||
+ | |0xEC| | ||
+ | |0xED| | ||
+ | |0xEE| | ||
+ | |0xEF|'' | ||
+ | |0xF0|'' | ||
+ | |0xF1|'' | ||
+ | |0xF2| | ||
+ | |0xF3| | ||
+ | |0xF4| | ||
+ | |0xF5| | ||
+ | |0xF6| | ||
+ | |0xF7| | ||
+ | |0xF8|'' | ||