[Coco] (No subject)
Allen Huffman
alsplace at pobox.com
Thu Jul 14 08:45:24 EDT 2022
On Jul 14, 2022, at 2:21 AM, lost via Coco <coco at maltedmedia.com> wrote:
>
> Actually, the test is completely removed.That missing byte is needed so VAL can work on a string stored at the very top of string space. It needs to temporarily put a NUL byte after the string so the number parser knows when to stop. After executing, VAL restores the byte to its original value. Things would fail if the byte after the string data was ROM though. On the Coco3, that byte is in RAM so it didn't need an extra reserved byte.I suspect, however, that Microware didn't know that, or thought it was a bug in the original, or just didn't notice when they replaced the now useless memory scan with a simple LDX.So, it's not a bug in the original ROM and, accidental or not, it's the behavior on the Coco3 also correct.
I’ll dig in to that code next, then. Since every string has a length in the variable tail entry, and since strings at not 0 terminated in string space, I am curious to see why they needed that for VAL.
More information about the Coco
mailing list