[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