[Coco] (No subject)
lost at l-w.ca
Thu Jul 14 03:19:56 EDT 2022
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.
-------- Original message --------From: Arthur Flexser via Coco <coco at maltedmedia.com> Date: 2022-07-13 23:49 (GMT-07:00) To: CoCoList for Color Computer Enthusiasts <coco at maltedmedia.com> Cc: Arthur Flexser <flexser at fiu.edu> Subject: Re: [Coco] (No subject) That's definitely not what I was talking about.A scan for the end of memory SHOULD check one byte of ROM, discover it isnot RAM, and so the byte before that would be the end of RAM. (I assumethat Super Extended Basic would patch in going to ROM mode first, so thatthe test would work for a CoCo 3.)ArtOn Thu, Jul 14, 2022 at 1:38 AM Allen Huffman via Coco <coco at maltedmedia.com>wrote:> On Jul 13, 2022, at 11:35 PM, Arthur Flexser via Coco <> coco at maltedmedia.com> wrote:> >> > Allen, I believe you're wrong about Microsoft having made a one-byte> memory> > mistake that Microware corrected for the CoCo 3. My memory is a little> > vague on this, but I have a recollection that the CoCo 1/2 actually needs> > that extra byte, but the CoCo 3 doesn't because Basic is running out of> RAM> > on the CoCo 3.>> I found it at LA084 in Color BASIC Unravled.>> There is a RAM scan to find the end of memory. X points somewhere and it> increments by 1, but when it does the test, it checked 2,X so when it gets> to 32766 it’s trying to check ROM and the test ends there. On a RAM system> it can continue to check.>> It kinda looks like a bug since it increments by 1 and maybe could have> just checked that byte or one after it.>> --> Coco mailing list> Coco at maltedmedia.com> https://pairlist5.pair.net/mailman/listinfo/coco>-- Coco mailing listCoco at maltedmedia.comhttps://pairlist5.pair.net/mailman/listinfo/coco
More information about the Coco