On Tue, Jan 13, 2009 at 6:31 PM, HavNet <jason at havnet.net> wrote:
Is there anyone here that can help me with a Commodore
Pet problem that is really starting bug me !!
I'll give it a shot.
It is a Pet 2001 32N with a Computhink Pet II Disk
Controller Board and a pair of Dual Computhink drives (Model : DKH 642-I).
Nice. I wanted a Computhink back in the day - I already had a bare 8"
drive and couldn't afford a 2040 when they were new. Eventually, used
5.25" drives came down in price (some time after the 1541 and 2031
came out), so after a time, I went with genuine CBM disks.
The machine starts up just fine and you can enter
DISKMON by typing SYS11*4096
OK.
However, upon entering commands like
$LOD,1,"FOO" the screen turns to a complete screen full of small squares -
chequer board
style. Upon the command $DIR,1 the screen briefly displays a boarder around the screen
where the directory content would
normally appear and as soon as the drive activates the screen turns to chequer board.
I have done the usual of re-seating the IC's, and I am hoping this isn't failed
ROM.
Given the scenarios I can imagine for your setup, it's an
unfortunately easy explanation that satisfies your symptoms.
Another clue maybe that for some reason, when the
drives are activated, BOTH
drives activate together, which obviously they shouldnt. I haven't yet gone to the
lengths of scoping the control lines but will start there tommorrow evening ...
Interesting clue.
Does this sound like a problem that anyone has
enountered before?
Not me personally, but I've seen all sorts of strange behavior from
bad ROMs (it doesn't happen often, but it does happen).
Are there any 'Petsperts' out there that could
help get this machine back on the road?
Well... do you have any other utility ROMs? BASIC 2.0 and BASIC 4.0
PETs have a simplistic "TIM" machine language monitor built-in. You
can invoke it by SYS 1024 (or any other location with a zero byte), or
there is an official entry point that I'm forgetting off the top of my
head.
Whether you have an add-on monitor program or use the built-in TIM,
the syntax for a memory dump is the same. At the "." prompt, type "M
B000 B020". Since you say your DISKMON program is at "11*4096",
that's the entry point. I'm guessing things will look OK since you
invoke it and you get a prompt back. What's probably happening is
that the initialization code is patching "CHRGET" in zero page, which
is normally used to fetch BASIC keywords for tokenization, but is
often patched to extend the interactive command set. In your case,
I'm guessing there'll be a pretty simple patch to check for an initial
"$" and either jump off to DISKMON commands or back into BASIC for
regular commands.
Speaking of that, after you invoke DISKMON, do _all_ commands give you
the checkerboard or just DISKMON commands? That can help distinguish
where things are going wrong.
I'm guessing that your interface board has an EPROM - one possibility
is that your EPROM is undergoing bitrot from age. I do not have any
technical info on your interface (I wish I did), but if you have
schematics or a ROM dump, that could be very helpful.
Reverse-engineering the interface would probably not be _too_
difficult, but reconstructing the firmware from scratch is rather
unlikely to be feasible.
So does anyone on the list have a ROM image for a Computhink
interface? Schematics?
One other resource to invoke is to suggest you join the CBM Hackers
mailing list and ask questions there - there are many people on it
that know deep and intimate details about PETs, but to be honest,
there's more known about C= machines and peripherals than 3rd party
devices, so the better the docs you have with your interface, the
better off you might be.
-ethan