• Please review our updated Terms and Rules here

Commodore PET 2001 - Testing the IEEE488 Components

Nivag Swerdna

Veteran Member
Joined
Jul 17, 2020
Messages
740
Location
London, UK
I have never used IEEE488 on my PET but am warming up to it... I thought I would like to test the functionality first at the PET end.

Specifically I would like to test the PIA#2, the VIA and the MC3446 devices.

Starting with data it seems the PIA#2 drives a pair of transceivers... is it possible to test writing to out and receiving on in? Do I need loopback hardware of some kind.

A pointer to any IEEE488 diagnostics would be appreciated

Thanks
 
There are already a couple of Commodore PET repair threads that both dave_m and myself have contributed to on this topic.

There is a useful PET IEEE book that I recommended containing some test software in BASIC that you can type in - and dave_m split this up into very simple pieces of BASIC code to test out the various sub-systems of the IEEE port independently.

Nothing more than PEEK and POKE.

Have a quick search and (if you can't find the threads) post back and we will point you in the right direction.

Dave
 
No problem.

And the first post of that thread links to a more in-depth thread. You will need to work your way back from the end of that one though (the IEEE bit is later on after we got the PET itself operational).

Dave
 
I have never used IEEE488 on my PET but am warming up to it... I thought I would like to test the functionality first at the PET end.

Specifically I would like to test the PIA#2, the VIA and the MC3446 devices.

Starting with data it seems the PIA#2 drives a pair of transceivers... is it possible to test writing to out and receiving on in? Do I need loopback hardware of some kind.

A pointer to any IEEE488 diagnostics would be appreciated

Thanks

There's a good test routine here:
http://www.primrosebank.net/computers/pet/documents/PET_and_the_IEEE488_Bus_text.pdf

I have typed it once and stored in a tape (so I don't need the IEEE-488 disk to test the IEEE-488).
However keep in mind that the Basic 1 (unpatched) and the sightly patched one (-019 6540) both can't make any use of the IEEE disk drives.
First working revision is Basic 2 (aka ### Basic).

Frank IZ8DWF
 
I made some progress... once again I found I had a bad socket for a PIA... this time B8; I don't know if this was always bad or if I antagonised it by putting Logic Analyser wires (DuPont male flavour) into the holes whilst diagnosing other issues.

... I discovered an intermittent connection for pin 23... once again this is nCS2 so a bad pin to have disconnected! That explains a few more issues from the past.

After replacing yet another DIP Socket I now have more sensible behaviour from the B8 PIA

I can write to E822 and read the same value back at E820 so that's a good sign.
 
However keep in mind that the Basic 1 (unpatched) and the sightly patched one (-019 6540) both can't make any use of the IEEE disk drives.
First working revision is Basic 2 (aka ### Basic).
OK so my current ROM Set... *** COMMODORE BASIC ***
C000 rom-2-c000.901439-09.bin
C800 rom-1-c800.901439-05.bin
D000 rom-1-d000.901439-02.bin
D800 rom-1-d000.901439-02.bin
E000 rom-1-e000.901439-03.bin
F000 rom-1-f000.901439-04.bin
F800 rom-1-f800.901439-07.bin
won't work? Are the problems work around-able?
 
OK so my current ROM Set... *** COMMODORE BASIC ***
C000 rom-2-c000.901439-09.bin
C800 rom-1-c800.901439-05.bin
D000 rom-1-d000.901439-02.bin
D800 rom-1-d000.901439-02.bin
E000 rom-1-e000.901439-03.bin
F000 rom-1-f000.901439-04.bin
F800 rom-1-f800.901439-07.bin
won't work? Are the problems work around-able?

That's called "patched" basic-1. No it won't work with IEEE disk drives. Vossi made a patched ROM, but I've never tried it:
http://lc64.blogspot.com/2018/02/pet2001-basic1-ieee-patch-from-vice.html

What I did on my 2001 is install one of my RAM/ROM daughterboards with both basic2 and basic4 images, so disabling the daughterboard gives me basic-1, enabling it gives me either basic-2 or basic-4 (and 32K RAM with any basic revision if I want, total of 3 independent jumpers).

Frank
 
I took a look at VICE which has an option to patch the Basic 1 Kernel ROMs... on close inspection this actually creates some patch code at $EF00 and then links this in by changing the original. I don't completely understand the code but clearly its not possible to just dump the VICE Kernel and use that as is.

I will burn some Basic 2 ROMS; (Cannot do Basic 4 using onboard sockets) as I really want a combination that doesn't have an add-on board.
 
Just to keep you ‘on track’, testing out the IEEE hardware on the PET is independent of the BASIC ROMs that are actually fitted.

You will, obviously, have to change the ROMs to actually ‘use’ the port...

Dave
 
I will burn some Basic 2 ROMS; (Cannot do Basic 4 using onboard sockets) as I really want a combination that doesn't have an add-on board.

Just curious: if you can burn BASIC 2 ROMs that work in your board (I assume you have a 2316 version) why can't you burn BASIC 4?

AFAIR there are some minor video issues with BASIC4 in a 2001 but it sounds like it worked for Frank.
 
I translated the diagnostic program into commands to my in circuit gadget... (and a couple of extras to initialise the direction registers in the PIAs and VIA)...

W: E821=00
W: E822=00
W: E821=04
W: E823=00
W: E822=FF
W: E823=04
W: E842=06
W: E822=00
R: E820=00
W: E822=FF
R: E820=FF
GPIB Data Good : Out PIA PBx, In PIA PAx
W: E821=34
R: E840=88
W: E821=3C
R: E840=A9
NDAC Good : NDAC - Out PIA CA2, In VIA PB0
W: E823=34
R: E840=29
W: E823=3C
R: E840=A9
DAV Good : DAV - Out PIA CB2, In VIA PB7
W: E840=FF
R: E840=EF
W: E840=FD
R: E840=AD
NRFD Good : NRFD - Out VIA PB1, In VIA PB7
W: E840=FB
R: E821=BC
R: E820=FF
W: E840=FF
R: E821=3C
ATN Good : ATN - Out VIA PB2, In PIA CA1
W: E811=34
R: E810=BF
W: E811=3C
R: E810=FF
EOI Good : EOI - Out PIA2 CA2, In PIA2 PA6

So the loop backs are all good. Considering the IEEE hardware good now :p
 
Just curious: if you can burn BASIC 2 ROMs that work in your board (I assume you have a 2316 version) why can't you burn BASIC 4?

AFAIR there are some minor video issues with BASIC4 in a 2001 but it sounds like it worked for Frank.

2001 boards with 2316 ROMs use dual-CE 2316 that have different active levels on both CEs depending on the socket they live in. That's been done to save
some deconding logic as up to 4 ROMs can share the same enable lines if they are active each on a different combination of these lines.
That's the same reason why CBM used 6550 RAMs and 6540 ROMs in the first 2001 PCB, since they have 4 and 5 CEs with different active levels and need
even less deconding logic as in most cases they can "decode" directly the address lines connected to their CE pins.

Short answer: 2716 EPROMs can't be used in place of 2001's 2316 ROMs unless on maybe two sockets (or one, I can't remember).

Frank IZ8DWF
 
I took a look at VICE which has an option to patch the Basic 1 Kernel ROMs... on close inspection this actually creates some patch code at $EF00 and then links this in by changing the original. I don't completely understand the code but clearly its not possible to just dump the VICE Kernel and use that as is.

I will burn some Basic 2 ROMS; (Cannot do Basic 4 using onboard sockets) as I really want a combination that doesn't have an add-on board.

well, my 2001 can run entirely with original chips, it has all 16 x 6550 working (after like 10 failed ones that I had to source and replace) and all 6540 ROMs with patched Basic 1.
Since however I like to use the old PETs from time to time, I decided to install one RAM/ROM board (which is free, since I designed a couple of versions of these) and that allows me to actually use disk drives and even have a full 32K RAM if I want to run
some bigger programs.
So yes, 320008-PCB 2001 that can run on original chips aren't too many nowadays.
Frank
 
Just curious: if you can burn BASIC 2 ROMs that work in your board (I assume you have a 2316 version) why can't you burn BASIC 4?
My PET 2001 is 6540s ROMs with sockets H1..H7 providing $C000-$E7FF, $F000-$FFFF. I have a 6540 ROM replacement which I can use for arbitrary replacement but using the onboard sockets you cannot provide Basic 4 since this requires ROMs in the $B000-$BFFF range and there is no nSELB addressing at the sockets.

I actually replace using 4 devices by using 4K chips in H1, H2 and H4 with a 2K version for the editor in H3.

Capture_OMNI_Set.JPG

For Basic 4 I use a ROM/RAM replacement board via the CPU socket...

Capture_ROMRAM.JPG

The question related to finding the most contemporary BASIC for a PET 2001-8 which would allow me to use my (still to be repaired) 8050 drive... I think the answer is Basic 2 (sometimes referred to as Basic 3 i.e. the ### version) for Onboard or Basic 4 with a ROM/RAM replacement board.

PS
I replaced all my 6550 with modern equivalents for now. I do have enough 6550 that work but they seem to fail in multiple modes and I didn't want the aggravation... that and the fact that they are £7.50 each and rising.
 
PS
I replaced all my 6550 with modern equivalents for now. I do have enough 6550 that work but they seem to fail in multiple modes and I didn't want the aggravation... that and the fact that they are £7.50 each and rising.

I've repaired quite a few 6550 based 2001 PCBs (in the pre-covid era, people used to send me stuff to repair at a good rate), none of those boards (including my own one) had any failure after the repair. I power up my PETs (and other similar vintage equipment) regularly at least once every month, for a good hour or so of use, and I've recommended the same to the other PET's owners.
I have observed often that marginal parts fail in the first few hours of use on machines that have not been powered up for 20-30 years.
Frank
 
re: 6550s

That's fair. I have only seen old ones fail. I guess I could run with original 6550s... (perhaps use little heatsinks like I've seen in Adrian's Basement videos)...
 
re: 6550s

That's fair. I have only seen old ones fail. I guess I could run with original 6550s... (perhaps use little heatsinks like I've seen in Adrian's Basement videos)...

All 6550 are old. All I have seen on the original board have 1977 to 1979 date codes. Then I've ordered some claimed NOS stock from a UK old-components trader and they
all have the same 1981 week date code. The markings look original so I don't think they are older pulls remarked (at least I have seen quite a lot of remarked chips and these
don't look anything like them). However I don't believe running them cooler makes any noticeable difference in the lifetime.
That 1981 run might have been the last produced batch maybe to support repairing the old PET PCBs for a few years more.
Back in the '80s I used my C64 daily for several hours/day. That was for at least 5 years, then slowed down for some hours/month for another 4 years more or less.
That C64 still runs on the original chips (less the 8701 and one mT DRAM IC that have been found dead after about 20 years of no power on).
I think there's no real case use for such an old machine to stay on for several hours every day.

Frank
 
Short answer: 2716 EPROMs can't be used in place of 2001's 2316 ROMs unless on maybe two sockets (or one, I can't remember).

Frank IZ8DWF
True enough, Frank, but can't you replace a pair of 2316s with a 2532 the same way the OP did with his 6540s? I did the same thing with my 6540 2001 but never had a 2316 version to try it on, but offhand I don't see why not?

m
 
Back
Top