[Coco] CoCo 3 MMU test for all
jdaggett at gate.net
jdaggett at gate.net
Mon Jan 21 22:38:12 EST 2008
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
More information about the Coco
mailing list