• Please review our updated Terms and Rules here

My continuing PET2001 repair, Eudi's 2K PETTESTER on a 2716 results

RizThomas

Experienced Member
Joined
Jan 2, 2012
Messages
198
Location
Surrey,BC,Canada
Hello all,
I decided to create a new thread of my own since the original one is getting long that my own messages seems to get lost from one topic to the other. My apologies., although I must admit that I learn a lot on the exchanges of ideas.

Anyway, I decided to build my own PETTester 2K version based on the newly compiled 2K file shared to me by Eudomorphodon intended to be burned into a 2716 EPROM. Being no expert in building PCBs and couldn't wait to order a 6540 adapter, I built my own adapter -a point to point wiring method.

Results of my PETTESTER tests.
1. With all ROMS and one 6520 (closest to kybrd input connector) taken out and 4 sets of 6550 RAM plugged in to the leftmost sockets, here are the results or things noticed:
- the screen displays /cycles through a screenfull of PETSCII characters starting from capitalized full Alphabet sets, small characters, graphics, etc. The pattern repeats itself until the screen is filled.
-then the screen is all filled up with "GGGGG" , then next, the screen is filled with "ggggggg"

2. Next I added 4 more 6550 RAMs, did the tests again and got the same results. I then added /repeated plugging in more RAMs (4 chips at a time) and got same results each time. All RAMs plugged in came up with the same displays (results)

Note: With the PETTESTER, I noticed the cassette motor keeps turning. I s this normal?
With this tests, may I know if this is a good sign that the RAMs are ok.

3. Tried putting back my 2sets of ROMs, V2 shows blank screen, V1 shows garbage screen displays changing each time I do a reset.

So far this is where my PET repair sits. I am hoping to receive something soon that will hopefully allow me to do my next steps.
 
Note: With the PETTESTER, I noticed the cassette motor keeps turning. I s this normal?
6520 PIA C7 controls the cassette motor. With it pulled out, this may happen.


Tried putting back my 2sets of ROMs, V2 shows blank screen, V1 shows garbage screen displays changing each time I do a reset.
V2 may be running a little at start by blanking the screen before going wrong in the program. This indicates that the CPU may be OK. The CPU does not seem to run in program at all with V1 indicating serious problem with that set of ROMs.

PETVet should solve a lot of these kinds of problems with ROM and main RAM.
 
Hey, that's cool that you got it working. I was understandably a bit nervous sending off a binary I'd only tested in emulation. ;^)

Results of my PETTESTER tests.
1. With all ROMS and one 6520 (closest to kybrd input connector) taken out and 4 sets of 6550 RAM plugged in to the leftmost sockets, here are the results or things noticed:
- the screen displays /cycles through a screenfull of PETSCII characters starting from capitalized full Alphabet sets, small characters, graphics, etc. The pattern repeats itself until the screen is filled.
-then the screen is all filled up with "GGGGG" , then next, the screen is filled with "ggggggg"

So, those results mean that everything that PETTESTER tests is healthy, so far as it can tell. If the PETSCII display is clean with no stuck/repeat characters within each of the four 256 character blocks than your VRAM is good, while the "GGG" and "ggg"s indicate the it thinks the RAM it's testing is good... (more below)

2. Next I added 4 more 6550 RAMs, did the tests again and got the same results. I then added /repeated plugging in more RAMs (4 chips at a time) and got same results each time. All RAMs plugged in came up with the same displays (results)

PETTESTER only tests the bottom 1k, so if you definitively wanted to test all your RAM you'll have to cycle pairs of chips through the lowest mapped sockets. But if the first 1K is good BASIC should be able to finish bootstrapping, which would give the ROM's RAM test a chance to find a bad block in the rest, so you don't *really* need to test the rest with the PETTESTER.

The one thing you could try, to make sure the tester isn't returning anomalous results, is yank all the RAM (or yank one of the bottom pair). You should get "B"s instead of "G"s.

Note: With the PETTESTER, I noticed the cassette motor keeps turning. I s this normal?

You know, I've never run it on a PET with a working tape deck attached. PETTESTER doesn't touch the I/O chips (6520/22) at all, so if a port needs to be initialized to *stop* it from running that would be normal. (I suppose that would make sense given "cassette motor keeps turning" is a generic symptom of a PET that doesn't initialize completely.)

3. Tried putting back my 2sets of ROMs, V2 shows blank screen, V1 shows garbage screen displays changing each time I do a reset.

V2 getting a blank screen means that at least some code is running before it crashes out. (clearing the screen is one of the first things the ROM does.) I'd tentatively say that bad ROMs are the most likely cause of your issues, although it seems like particularly bad luck that both sets of ROMs have at least one bad chip. Unfortunately I imagine reading your BASIC ROMs with your EPROM burner would be non-trivial, considering the "weirdness" of those old chips.

The one memory-related thing PETTESTER can't catch (the ROM memory test has the same issue) that could prevent a PET from booting would be if you had a stuck address line that was causing a page of memory to be repeated. In such an instance PETTESTER would test the same block multiple times, and it would pass, but if the stuck bit caused, say, every other 16 byte block in the zero page to be repeated, then that would undoubted crash BASIC pretty quickly. Your screen display is normal and the ROM is running so a stuck line like that would have to be restricted to system RAM, but it is a possibility.

(On my sickest 4032 board I ran into a "stuck address line in RAM" issue, but the repeat frequency was every other 4k page, so the system would get into BASIC and run, but the RAM test indicated only a little over 4K free (the test was clobbering itself when it ran into the "shadow" of the zero page) and poking above the 4K boundary would have similar results to poking under 1K, ie, you'd start corrupting things and crash the computer.)

I think ROM problems are more likely than RAM at this point, but you could just-for-fun do a continuity test of the ROM socket address lines up back as far as the address buffer circuitry (Which, looking at the schematics... seems to be a bunch of smaller discrete stuff rather than a pair of 74LS244s like it is in the -Ns?) and make sure there aren't any cracked traces. It looks to me like the same buffered addresses are shared between RAM, ROM, and video so the circuitry itself is probably fine.

I don't have time to work on it today, but if you wanted to reburn your 2716 I could add another loop to the PETTESTER which would copy the start of each ROM to the screen. You could compare the garbage you see there to what *should* be there. (based on an emulator running the same test.) With luck a bad ROM would be "obviously" bad, like nothing but a bunch of repeating characters...
 
Thanks Eudi for taking the time o explain things.

Question:
1. Can I leave or plugin the other ROM chips except for H7, and leave the PETTESTER on that socket (H7) ...and run the test?
2. There should be no harm done to do this, right?

I am curious what the test results will show...
 
1. With all ROMS and one 6520 (closest to kybrd input connector) taken out and 4 sets of 6550 RAM plugged in to the leftmost sockets, ...
Leftmost ??

Are you actually testing the RAM chips there? Have you tried putting the RAMs into the video RAM socket to test them?

Might as well remove the other 6520 while you're at it.

We really need some sort of ROM checksum routine in those various diagnostic ROMs...
 
Thanks Eudi for taking the time o explain things.

Question:
1. Can I leave or plugin the other ROM chips except for H7, and leave the PETTESTER on that socket (H7) ...and run the test?
2. There should be no harm done to do this, right?

I am curious what the test results will show...

PETTester right now doesn't care about the ROM sockets other than the highest one (which needs to work to boot), so it shouldn't make a difference whether the other ROMs are plugged in or not, unless one of them is somehow corrupting the bus. (Which could certainly happen.) So... if you try plugging in the other ROMs and PETTester quits working that would certainly tell you something. What it won't tell you without some changes is if a ROM not generically clobbering the bus is merely corrupted/invisible/not being selected/whatever.

Leftmost ??

Are you actually testing the RAM chips there? Have you tried putting the RAMs into the video RAM socket to test them?

Looking at the PET schematics on Zimmers PETTester should be testing whatever two RAM chips are in... J1 and I1. (I don't have access to a 6550-RAM-ed PET so I have no idea where those two sockets would be physically.) If you're getting an OK result with those two sockets empty something weird is going on.

We really need some sort of ROM checksum routine in those various diagnostic ROMs...

Like I said, I could do a "dump the ROM contents raw to screen" loop easily enough without needing to use RAM. Accompanied by screenshots from VICE (or a real PET) showing what to look for that would work to tell bad from good in a pinch...
 
My mistake, I meant the "RIGHTmost RAM locations at J1 and H1. I read somewhere that the PET can boot with 2 chips plugged in at these location as (minimum amount of chips). It mentioned also that 4 chips will give 1 full block of memory.
 
It's a pretty lame hack job, but find attached a first swipe at something that looks at the ROM sockets. This ROM has the same memory and character-set tests as the other 2k version of PETTESTER, but in addition to those it displays the contents of 2K of ROM socket space, starting at D000. (Literally all it does is copy the contents of that area directly from ROM and to screen memory and add a notation in the upper left corner indicating which page it is.) The delay loops are much longer as well, in order to allow more time to squint at the results.

In theory it would be possible to test every ROM in a 6540-based PET with this program by cycling them through the ROM socket that maps to D000, although it would require some clever usage of the Commodore emulator "VICE". There's two ways to do it: For BASIC 2.0 you can configure VICE to run BASIC 2 and run the following program to get a dump of what you should be looking for:

10 poke 59468,14
20 for x=0 to 1024
30 poke (32768+x),peek([the starting address of the ROM you're testing*]+x)
40 next x

(* In the case of the ROM that's supposed to be in the D000 socket this number would be 53248 for the first half, 54272 for the second page. Adjust accordingly if you're cycling other ROMs through the socket in the physical PET.)

Under BASIC 1 you can't PEEK into the BASIC ROM area. So to get the comparison pages for that you'll have to start VICE with a command line like this:

xpet -model 2001 -kernal ./[A copy of the tester ROM padded to 4k] -basic ./[A ROM file containing the ROM dump for the BASIC 1 ROM you want to test with the desired portion padded so VICE will put it at D000.]

An easy way to make the padded kernal rom (if you're running a UNIXoid OS) is this:

cat 2kromshow.txt > VICEKERNEL.bin ; cat 2kromshow.txt >> VICEKERNEL.bin

As for the BASIC ROM, I *think* this would do it:

dd if=/dev/zero of=mybasic.bin bs=1 count=8192
dd if=[desiredromimagefromzimmers.bin*] of=mybasic.bin bs=1 seek=4096 conv=notrunc

(*you should be able to match the part numbers on your ROM chips to image filenames on the Zimmers site.)

Haven't tested that latter bit, but I *think* that'll do it.

One *possible* complication is if your PET has the "reversed" character generator ROM you'll have to configure VICE appropriately, or else the patterns won't match for that reason.
 

Attachments

  • 2kromshow.txt
    2 KB · Views: 2
Last edited:
Hi Eudimorphodon,

Great work!

Just a question: I thought the Rom´s have different CS (Chipselect) values? will the all be swapable (and selected) in the D000 Socket?

Greetings TOM:)
 
Just a question: I thought the Rom´s have different CS (Chipselect) values? will the all be swapable (and selected) in the D000 Socket?

Huh. I was assuming that all chip select was external to the IC, and thus any ROM should be readable in any socket. (Which would be the case with a "normal" generic EPROM, for instance.) Do the 6540's used in the PET have some sort of internal programmed chip-select register?

(Okay, I'm looking at the schematic, and I see the two sockets covering the D000-DFFF area the first socket, H2, has CS4 wired in parallel with H6 on the SELD line (which I presume traces back to the 74154 decoder), but the other 3 CSx lines are wired differently. (The status of the A11 line seems to decide which of the pair is active when SELD is selected, which would make sense.) The pairing appears to be the same for the C000-CFFF and F000-FFFF sockets, so... unless there's something I'm missing I don't see why you couldn't put any ROM into the D000-D7FF socket and read it?)
 
Greetings (Eudi, Tom , MikeS)

(I composed a thread message which I thought got submitted but never displayed, so this is another try of the same topic)

Well, I decided to burn the latest PETTester file from Eudi (2kshowrom) on my last 2716 eprom.
Here are the results (which i think will be the version I'll use for now).

Installed PETTEster at H7, plugged in one ROM at H2 with original H2ROM Version1 and 2-6550 RAM Chips at the rightmost location of the RAM sockets:

- Same screen full of PETSCII characters.
- then a screen full of "GGGGGGGGG"s
- then a screen full of "ggggggggggg"s ( I took out 1 RAM in the lower row, got combination of GGGG and BBBBs)
- (Now this is the new one that Eudi added:)
---- Display starts with DOOO followed by some PETSCII (Screenfull) chars.
The test recycles
---- Display start with D300 followed again by a screen full of PETSCII chars.

I guess I should pull out my VICE emulator so I can at least have a picture of what I expect (as per Eudi) and make some comparison.
Nevertheless, I am enjoying doings this thing while waiting for some "good" stuffs (from Tom and MikeS).

Cheers
Rizal
 
The test recycles
---- Display start with D300 followed again by a screen full of PETSCII chars.

Doh. That's actually a bug. It should say "D400".

If you know the part numbers for your BASIC ROMs (to match to filename numbers) I could probably help with getting a few ROM dump snapshots, if that's any use. My guess (which may be wrong) is that there's a fair chance that a bad ROM will look "obviously" bad. (IE, would exhibit a repeating pattern of stuck characters), so it might be worth cycling them through in any case just to see if one of them shows nothing but a screenful of zeros or something. Catching a subtle single-bit error with this simple dump routine would be pretty annoying to try to do, no denying that.
 
Hello,

Apologies. I am testing on how I am going to insert an image link to my bigger pictures on the web. I meant
to show some pics related to this thread. It looks like it is faster for me to just put some links...hoping that the reader has the patience to look at my pics

First here is my original setup/installations inside my PET that has the SMS ROM switch which was working last time I parked it in my garage.
http://s6.postimage.org/mjcj1raf5/003_Original_SMS_Installed.jpg

Close up of the Switch board containing BASIC Version 1 and Version 2. Note my homemade "BEEPER" --copied from HUH
http://s6.postimage.org/672hc0w3l/002_SMS_ROM_Switch_Brd.jpg

and how SMS was connected on the board.
http://s6.postimage.org/dlrt4ehz5/001_SMS_Switch_connection.jpg

This time, I took it out from the garage, my PET2001-8 displayed garbage on the screen and no longer boot properly.



My PETTESTER 2K version built with a file supplied by EUDI due to my ROM is a 2716. Also, later on, EUDI modified the file "2kshowrom" to do the same test but also looks at the ROM plugged in to H2 socket.
1. My Hard-wired PETTESTER
http://s6.postimage.org/86noh6fsx/008_PETTester_Installed.jpg
2. Here are the results...
http://s6.postimage.org/6g4nfoy9t/009_PETTester_Display1.jpg
http://s6.postimage.org/msep5fcld/010_PETTEster_Display2.jpg
http://s6.postimage.org/nvythdx8h/011_PETTEster_Display3.jpg

I should modify the title of this thread as "SCOUTER3d PET Repair revisited, Eudi's PETTESTER and coming soon -PETVET from MikeS

In the meantime, I was going thru SCOUTER3D's web page on how he repaired his BLUE PET. This is How I got to know the PETTESTER from EUDI, the original board design from DONNI and SCOUTER3D's big help to get me a
PET ROM/RAM/Video Replacement boards. (I formally joined the forum because of this). I also found out about the PETVET. (I have MikeS PETDisk sitting to be assembled).
Actually the PETDISK was the reason why I brought out my PET 2001 from storage.

1. Yesterday, I built the ROM replacement board (Scouter3D made the boards for me). I also burnt the ROM file into my Willem programmer.
------First my Willem programmer does not seem to fill the buffers with the HEX file (which is odd). So I loaded the file into WINHEX and re-save the file to .txt format. This time it loaded into my Willem programmer and was able to burn the 27512 Eprom. Wired up the ROM replacement board. First try, nothing happened, still my PET won't boot to BASIC. I re-checked the PETROM board and found out that I missed soldering 1 pin in the header. Soldered it and VOILA!. the PET booted and displayed THE message.

The completed PET ROM replacement board from SCOUTER3D.
http://s6.postimage.org/4updnvo1t/014_PETROM_Replacement.jpg

My TEST before I went to work. PET booted with the long awaited message.
Note: There is no cursor showing (maybe because the 6520PIA is not plugged in). The memory is obviously small (see RAMs on the pic) and there is '*' showing on the screen (same location) all the time.
http://s6.postimage.org/f61qgjfr5/015_PETBoot_Screen_No_Cursor.jpg

I will continue my repair and this time, I am also going to wire the PET RAM replacement board.

MEANTIME: I am waiting for the PETVET from MikeS which is my insurance to have my PET resurrected and working!.

---.(to be continued)...
 
Last edited:
Much as I'd like to be able to take credit for the PETvet it's way beyond my humble talents; the other Mike, Gubbish, is the brains behind this most excellent device.
 
Much as I'd like to be able to take credit for the PETvet it's way beyond my humble talents; the other Mike, Gubbish, is the brains behind this most excellent device.

My fault..My apologies to Gubbish..all along I had the wrong Mike...
Thanks MikeS for correcting me out.

Anyway, Gubbish was kind enough to consider me to be one of the early recipients of the PETVet.
And as my nature to ensure myself that I have enough resources to fix my PET, I also contacted Donni (originator of the PetROM/RAM replacement project) who in turn directed me to Scouter3D, who was kind enough to fabricate the PCBs. In the meantime, I also PMed Eudi for the PETTESTER files.


..... Continuing events of my repair...
1. I got the cursor back when I plugged back the 6520 PIA chip.
2. Still getting that character showing in the middle (right side) of the screen. I noticed that whatever character on the first location of the screen Map, it is also displayed here. (maybe the ROM burnt into the EPROM could be the culprit?)
3. I tried a few video RAMs but there are no changes. That extra character is still on the screen.
4. Hoping to finish the RAM replacement board to try.
5. Anxiously waiting to receive the PETVET to try as well.

Basically, my PET2001-8 is now working.....

6.Large keyboard for PET2001
Years ago, I bought a large keyboard (can't remember from) which is wired in parallel to the chick let keyboard. Unfortunately this was lost. I searched the web but could not find any mention of it.
...well it looks like I have to clean the chicklet keys too.

........
 
Hi Rizal,

Now i would test all the RAM chips (using them as Video RAM), if they work, you can fill up your RAM Banks with them!

My Guess: I think the repeated character has nothing to do with the EPROM, more likely with some address-logic. (As it appears exactly at the middle of the screen, which is exactly where there happens a switch between the first half of the videoram and the second half.

Greetings TOM:)
Greetings TOM:)
 
I think the repeated character has nothing to do with the EPROM, more likely with some address-logic. (As it appears exactly at the middle of the screen,...
I agree, but FWIW I don't think it's that far down. Looks like it's part way along the 7th line, so it's probably the 256th location.
 
Two out of three of my Dynamic PET motherboards have screen anomalies which seem to be due to glitches in the addressing logic, so you're not alone there. I've been kept awfully busy with "real life" the last couple months but I'm hoping I'll get some time to dig deeper into them sooner than later.

Speaking of the devil, I've been doing some fiddling with an early-release PETvet myself. (Not getting enough time to do that either this last week, sigh, but one thing I *was* able to do with it is eliminate any interaction with system RAM as the source of the screen anomalies on my 2001.) It doesn't look like you'll necessarily be needing it though, as it seems like bad ROMs were the culprit. If you wanted to go back to being closer to stock you could try to figure out which of your old ROMs were bad, but if you're happy with using the EPROM replacement board then you can probably just call it good.

(Although it is worth noting that when the PETvet's software gets a little more advanced it should be possible to load it with diagnostic software that would make tracking down which of your ROMs is bad somewhat easier...)

Anyway, congratulations!
 
Again my thanks to ALL. I never had so much fun working on my old PET until now.

This is turning out like a series.. I am hoping to receive my PETVET soon. Meanwhile, I did some of the following:

1. Obviously my main problem was some BAD ROMS (maybe just like Eudi said I'll be able to pinpoint which chips are bad. So I retired my SMS BASIC Switch for now (all original ROMS versions 1&2 now socketed back).
http://s6.postimage.org/6s9j8jekh/BASIC_SW_retired.jpg

2. TESTED and re-installed all of my original 6550 RAMS. Each time I added a block, the memory increased until I filled all of the RAM Sockets.
http://s6.postimage.org/66kkcfji9/PETROM_with_8_K_6550.jpg
3. Did some tests including even loading CURSOr#16 menu tape.
http://s6.postimage.org/3moxibvy9/Cursor16.jpg

Big Decision --Keep old RAMS or build the new RAM Board? --
---first consideration is that these 6550 RAMS do get hot. Secondly, if I won't use them, then I'll have a few Video RAM spares.
---Decision --- build the RAM Board.
Started wiring the RAM board that Scouter3D sent me. Wow, the first time I plugged it in, it did not work. I thought the 6264RAM was at fault (since I salvaged 8 of this RAMS from recycled boards). After 6 of them showing garbage screens, I did some more investigations. First my header pins (more expensive ones are a little bit tiny ) were replaced with much thicker and longer pins . The RAM Sockets on the PET2K are even worse that the ROM sockets. I found out that there may have been a solder (even so thin) that may have been touching another header pin (causing the garbage display) so after cleaning the solder joints, I got the RAM board working. Tested each of my 6264RAMS --each one is good.

http://s6.postimage.org/naxa1d20x/Scouter3_D_ROMRAM_Clone.jpg
I also added some holes to use for holding the boards in place once I decide what to keep (The PETVET is still coming and would like to play/test it too). Thanks to Donni and Scouter3D...

4. Put my PETTESTER away, properly cleaned and labeled (Thanks Eudi).
http://s6.postimage.org/6xdai7lvl/Eudi_s_PETTESTER.jpg
5. Created a good documentation / book containing VCF discussions, SCOUTER3D BLUE PET repair, DONNI's PET RAM/ROM Schematic, and upcoming PETVET documentation.

6. Finally....resurrected PET2001-8. Still needs to clean the keys though.
http://s6.postimage.org/obxiqhj0h/Resurrected_PET2_K8.jpg
By the way, this unit has this serial number:
http://s6.postimage.org/8fgntd37l/005_P2_K_Serial_Num.jpg

NEXT --when I receive the PETVET, I will have more fun.
 
Back
Top