[Coco] CoCo 3 MMU test for all
Roger Taylor
operator at coco3.com
Mon Jan 21 23:21:57 EST 2008
At 10:01 PM 1/21/2008, you 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.
> >
>
>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.
>
>Darren
One problem or difference might be the use of ZBUG?
More information about the Coco
mailing list