On Mon, Apr 30, 2018 at 11:24 AM, Peter Corlett via cctalk
<cctalk at classiccmp.org> wrote:
On Mon, Apr 30, 2018 at 10:29:13AM -0400, Ethan Dicks
via cctalk wrote:
[...] The exact value to write to which address
is documented somewhere but I
haven't done any digging to find it. I've just been using the Fluke and
running the processor for a few seconds (UUT button) to let the ROMs do their
thing, _then_ using the Fluke for RAM tests at $FC0000-$FFFFFF.
I disassembled the A1000 boot ROM recently.
Hi, Peter,
Cool. I've always wondered what's in there (but not enough to do the
work myself ;-)
There's a lot of interesting
debugging cruft left in there, otherwise it could have fitted on a smaller
chip.
There probably wasn't any point to worrying about making it fit. I'm
sure the time pressure was far too great to let them spend extra time
trimming that stuff out.
As far as I can tell from the code, a 68000 RESET sets
the latch such that
F80000-FBFFFF contains the boot ROM and FC0000-FFFFFF is the writable WCS.
That makes perfect sense. The boot ROM is echoed throughout the
memory map (from my exploration), including $000000, which is typical
for any 68000 system, but at many other address ranges too.
What I've been doing to use the Fluke for testing WCS RAM is to power
up the Fluke (pod must have power before being attached to computer),
plug the pod into the 68000 socket, hit [RUN UUT] on the Fluke, which
responds with "UUT POWER FAIL -ATTEMPTING RESET", then power on the
A1000. At that point, the A1000 runs code from the boot ROMs, blinks
the power light, then hangs while displaying a turquoise screen
(because of the bad RAM). The ROMs leave the WCS writeable and I do
my tests.
A
*write* to F80000 (and probably any other address up to FBFFFF) flips the latch
such that the WCS is write-protected and is mirrored throughout the region
F80000-FFFFFF. Playing with the UAE debugger confirms this theory is correct
for it, but I don't own a suitable hardware debugger to test on my real A1000.
I have a Fluke 9010A and will be soldering in the replacement RAM chip
today (I found it in a box of spares I got when my local Commodore
dealer closed up shop). I can easily test writing to $F80000 and
other addresses to test.
It also seems to me to be handy to look at building a clip-on
diagnostic LED to show the state of that flip-flop. Not essential,
but would be interesting to watch.
Without a debugger, one could also build a Zorro-I
board for the edge slot
which presents a debug ROM at F00000-F7FFFF, and provided it starts with the
right magic number, will be executed with the WCS still write-enabled.
Hmm... interesting thought. Presumably one could also easily put a
textual LCD on it so no matter what state the custom chips are in, it
could still display text as long as the bus wasn't totally bunged up,
but if it were that bad, it wouldn't be running code anyway.
-ethan
P.S. - I found another A1000 looking for parts for this one... so now
I definitely have more things to test.