[Coco] CoCo 3 MMU test for all
Darren A.
darccml at hotmail.com
Mon Jan 21 23:01:34 EST 2008
>> 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
_________________________________________________________________
Climb to the top of the charts! Play the word scramble challenge with star power.
http://club.live.com/star_shuffle.aspx?icid=starshuffle_wlmailtextlink_jan
More information about the Coco
mailing list