[Coco] CoCo 3 MMU test for all

Darren A. darccml at hotmail.com
Mon Jan 21 23:01:34 EST 2008

>> The critical ROM code for the PEEK command is:
>> LDB ,X
>> JMP $B4F3
>> This can also explain why PEEK returns $78, since the upper nybble of
>> the JMP opcode is $7.
>> Darren
> Can't be. 
> The 6809 machine cycle begins with the falling edge of the E Clock. WIth that, the address 
> on the address buss will be $FFAx. The PCR is advanced while the E clock is low and the Q 
> clock is low. On the rising edge of the Q clock the next address is presented to the address 
> buss. Therefore the next location in ram is not read until the next falling edge of the E 
> Clock. By that time the ACCB has already been loaded. The next byte is the JMP ($7E) 
> opcode and that will be loaded into the instruction register during an opcode fetch and not 
> the ACCB. 
> It  has to be the instruction prior and that is the RTS at $B74F. The last byte loded during 
> the RTS is the low byte of the program counter. In the case of the PEEK command that is 
> return address of $B752. Again $52 is binary 0101 0010. Bit 6 and 7 cancacted (01)  with 
> the six bits of the MMU registers form $78.  

Then explain why my test cases produce different results when the only change is the instruction which comes after LDB ,X ?

Try them for yourself. I am curious to know if anyone else gets the same results.


Climb to the top of the charts! Play the word scramble challenge with star power.

More information about the Coco mailing list