[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