[Coco] "Reading" non-readable bytes with PEEK vs ZBUG

Roger Taylor operator at coco3.com
Thu Jan 24 15:46:41 EST 2008


At 10:11 PM 1/23/2008, you wrote:
>Darren A. wrote:
>
>>>Does it make any difference in these tests if the CPU is in 
>>>double-speed mode?
>>
>>--
>>No Roger. I have tested it on a 128K CoCo3 68B09 at both speeds. 
>>There is no difference in behavior. I believe Robert G. has 
>>confirmed that the same results are seen on a 6309 in emulation 
>>mode (don't know about native mode).
>>One thing to consider about your LOADM trick is that the behavior 
>>is dependant on the sequence of instructions executed. Chances are 
>>fairly good that all third-party versions of Disk Basic have simply 
>>copied the LOADM code used in Tandy's version, but that's just a 
>>guess. As someone stated in a previous post, creating a process 
>>that relies on some undefined behavior makes the entire process undefined.
>>Darren
>
>The one thing clear from this discussion is not whether the CPU or 
>GIME are misbehaving or if clock speed is important. What is clear 
>is we should not try to read non-readable bits! Any attempt to get 
>info from the MMU registers should mask off non-active bits. It is 
>silly to insist that it is safe to take the entire byte as meaningful.


I agree it's normally silly, except for a much needed LOADM approach 
to loading stuff into the extended RAM.  Since LOADM always sees 
01xxxxxx for 128k/512k CoCo 3's until someone reports otherwise, the 
bits are readable and useable and assumed '01'.  I can't think of any 
other reason someone would want to use the bits.  However, there's no 
danger if the programmer knows what they're doing and has fully 
tested what they're doing.  This is how Sock has given so many 
impossible demos, by doing things to the GIME and video registers 
that some people would say is "not legal".






More information about the Coco mailing list