Re: Test suite for 6509 processor

From: Michał Pleban <lists_at_michau.name>
Date: Sun, 25 Feb 2018 23:19:51 +0100
Message-ID: <5A933687.8080105@michau.name>
Hello!

Michał Pleban wrote:

> At the moment I am not testing whether the value is actually written to
> the RAM below $0000/$0001 registers. Since the 6509 CPU always reads
> back the written value, it is not possible to know what is in the RAM
> beneath it. To check the RAM, I will have to employ the 8088 CPU and
> it's too late to do that today.

OK, so I did test it :-) Writing a proper 8088 payload for the test
suite would take a whole night, but I examined the memory from the 8088
side by launching MS-DOS and running DEBUG.

Here's what happens:

* The 6509 DOES write data to memory when writing to registers $0000 and
$0001.

* The write occurs in the current execution bank (the one determined by
value of $0000 register). The KERNAL lives at bank $F only, so normally
these writes land in the internal SRAM and have no effect on anything.
However, if the code to be executed is placed in the DRAM, these writes
happen in the DRAM too and can be seen there by the 8088.

* The values being written are NOT what he CPU writes to these
registers, but rather what was left on the data bus from the previous
instruction. Therefore, if using simple STA $00 / STA $01 instructions,
value $00 will be written to $0000 and $01 to $0001, but if more
sophisticated instructions are used, other values may be placed there
(to be tested more thoroughly). That basically means that the 6509 CPU,
similarly to 6510, does not drive the data bus upon writing to these
registers, but it does drive the R/W signal.

Regards,
Michau.










       Message was sent through the cbm-hackers mailing list
Received on 2018-02-26 00:01:14

Archive generated by hypermail 2.2.0.