[Coco] CoCo 3 MMU test for all

Roger Taylor operator at coco3.com
Mon Jan 21 23:17:30 EST 2008


At 09:38 PM 1/21/2008, you wrote:
>On 21 Jan 2008 at 19:29, Darren A. wrote:
>
> > 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.
>
>james



Now here's some guys who know their 6809 and GIME.  I never really 
had a reason to get into the guts of the CPU like this although I 
know all about what's going on "normally".  It's these demystified 
effects that add more excitement to using a CoCo.

If it weren't for the PEEK command giving these results, it might 
have been much harder to get some public feedback from their CoCo 
setup.  I think it's great that LOADM somehow sees the same bit pattern.





More information about the Coco mailing list