• Please review our updated Terms and Rules here

My first attempt at PET Repair. Model 4016. Advice Welcome!

I had trouble with that idea as well, but apparently the few failure modes where it does work are fairly common. BTW, I've got a few hundred 4116s and would gladly send you some but it's probably worth paying Jameco a few bucks and get them much quicker; mail from Canada can be abysmally slow sometimes.

FWIW, my money's on it being something else, but I'm often wrong...

I've got 16 4116 chips on order from Jameco as of today. I ordered extra in case I want to upgrade the RAM at some point. Jameco is pretty slow, so I don't expect it for a week. I also ordered a new scope probe, so I'm not chasing phantom ringing! :D

If you can burn 2732s then you can burn 2532s with a simple adapter; alternatively you can make or buy an adapter that lets you use 2732s in your PET instead of 2532s.

I read that with respect to C64 ROMs, but I've never tried it. Sounds like it should be fairly easy.

I'm sure we're all looking forward to dealing with that one ;-)

I hope I haven't been too much of a nuisance. I've been having a great time working on this, learning new things and re-learning things I had forgotten. I very much appreciate all of your help, and when I get to the 8032, I hope that the things I've learned here will help me so I don't have to ask so many questions!

Sounds like progress!

Agreed. Sure would like to hear that chirp though!

Last, I'm not even qualified to be in the current discussion. I'm just watching with fascination! If you guys come up with a memory test, I'll be thrilled to try it!
 
This is exactly why I bought a PETVet, so I could easily put it in and rule out all the ram/roms.

Later,
dabone
A great little device to be sure and certainly an option, but I think there's also a place for a free diagnostic ROM that will locate any bad RAM or ROM chips (assuming a functioning CPU and address & data lines).
 
A great little device to be sure and certainly an option, but I think there's also a place for a free diagnostic ROM that will locate any bad RAM or ROM chips (assuming a functioning CPU and address & data lines).
I've got a diagnostic ROM image specifically for the PetVet which is close to being releasable. With Mike's help, I have an petVET config that only replaces the areas from FC00-FFFF (petvet allows you to configure the address space in 1k chunks) and from A000-AFFF, the former just to grab the reset vector and the latter for the diagnostic code.

First, a bit like eud's routine, it does a low ram check (0000-0400) without making any use of stack or ZP locations. It's a little more sophisticated as it does a databus, address bus and device test. If a problem is found it uses the on-board LED on 2001's and screen to indicate the first data line at fault. ie 1 flash for D0, 2 flashes for D1 etc etc. Then, knowing the ZP & stack is good, it does the same for the screen and memory up to 32k, reporting back the first address at fault. Finally, it calculates CRC16 checksums for the ROMS and looks them up against a table to determine if they're good. As it only replaces the area from FC00-FFFF, it can also check the F800 ROM, bar the uppermost 1k.

I'm at the VCF next weekend where I'll be talking about this, the PetVET and other tools to keep your other 8-bit Commodore hardware up and running so time is tight over the next 10 days but I'll try and push it out the door by the middle of next week. Here's a screen shot captured from vice.

http://inchocks.co.uk/commodore/PET/diagPET1.png

Rob
 
Rob,
This sounds very interesting. Keep up the good work.
-Dave
Interesting indeed; I may have to get a PETvet after all...

Sounds like it'd have the same issues that we're trying to deal with in the diagnostic EPROM project, namely no provision for initializing the CRTC, lack of an LED in all the later models, etc., and of course if the problem is a bad ROM then a PETvet would be handy, but kinda overkill.

But maybe we could share some code... How're you doing with the merging, Dave?

When I was doing that sort of thing many years ago I found an NVRAM chip like the DS1220 or DS1225 really useful; put it into a socket adapter (either the 2532<>27xxx or the 6540<>27xxx version, whichever you need); run a jumper to the conditioned R/W line and program and patch away to your heart's content.

Speaking of socket adapters, when working on the 6540 2001 PETs I've found one of Jim's $5.00 socket adapters really useful; I put a 27256 into it with image of all 7 BASIC 1 & 2 ROMs and a dip switch to select the appropriate image, with which I can then replace each of the ROMs.
 
Last edited:
Interesting indeed; I may have to get a PETvet after all...
It is a great product which really comes into it's own once you hook it up to your PC with the serial cable.

Sounds like it'd have the same issues that we're trying to deal with in the diagnostic EPROM project, namely no provision for initializing the CRTC, lack of an LED in all the later models
Initialising the CRTC is trivial, you can choose pretty much any of the register sets from the EDIT roms and get a viewable display (on the internal monitor that is, it's a bit different if you use a composite adapter)- the differences are largely cosmetic and ignorable for the purposes of a diagnostic tool.

and of course if the problem is a bad ROM then a PETvet would be handy, but kinda overkill.
It'd go on an EPROM just as easily but you'd need three of them (or adapters) to cater for all variants. PLus you can't check the uppermost kernal rom itself.

Rob
 
Last edited:
It is a great product which really comes into it's own once you hook it up to your PC with the serial cable.
I think we're all aware of what a great job Mike has done with the PETvet and folks like you are doing by adding features etc., and I'm certainly not arguing that any of the alternatives mentioned are better; if the OP wants to buy one, great.

But we're here to help the OP get his 8032 working and it sounds like so far your diagnostics are geared more toward the old 2001 PETs and not yet 100% effective in a CRTC model; nevertheless he could of course still use it with the basic firmware and replace the various memory sections.

On the other hand I still think it would be nice if we had the option to just send the OP an EPROM or just an image for him to program himself that would let him test and possibly find bad RAM or a bad ROM chip and which he could then use to actually replace said chip instead of having the PETvet sitting on the shelf once the PET's been repaired (much as I like to see Mike sell more ;-) )
 
we're here to help the OP get his 8032 working
no argument there.
it sounds like so far your diagnostics are geared more toward the old 2001 PETs and not yet 100% effective in a CRTC model
What made you think that? I have 13 PET's here, 6 2001's, 1 30xx, and the rest a mix of CRTC pets and the diagPET is for all of them. My point was that other than populating the 17 CRTC registers, which takes 6 lines of assembler, the rest of the architecture is identical.
On the other hand I still think it would be nice if we had the option to just send the OP an EPROM or just an image for him to program himself that would let him test and possibly find bad RAM or a bad ROM chip and which he could then use to actually replace said chip instead of having the PETvet sitting on the shelf once the PET's been repaired (much as I like to see Mike sell more ;-) )
Sounds like a good plan to me if the OP has the means to use it. I can easily drop this onto an F000 ROM as well if he's interested. As I said, I have a bit more than 1 PET, so it makes sense for me to use it for its versatility. I don't think Mike has pursued this option yet but I'm hoping to also use it as a VicVet :)
 
... How're you doing with the merging, Dave?

Mike,
I found a file called "pettester.bin" which seems to be Eud's code that checks low RAM and the screen memory. To this code, I added a few lines at the end to load the 6545 CRT Controller data before it loops to the start. This means the code must run one pass before the CRTC is loaded which means the screen will be blank for a short while on power up before anything shows up. It was easier that way for me to patch without a re-assembly of the code.

The EPROM would be inserted in the F000 socket and on power up, the RESET Vector will start the code at $F000.

Can you and anyone else check the code and perhaps even run it if you dare? I can't run it myself as my F000 ROM is not on a socket.

Here is what one is supposed to see if the lower 1K of RAM is good and the screen displays properly:

- 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"


Link to source code (pettest2.txt)

Link to 4K binary file (pettest2.bin)
 
Ok, I know this post is a little off topic....;), but the memory came in today, much faster than I expected!

Check this out!

http://www.youtube.com/watch?v=0RbXVml0fKM

This progress is all thanks to you guys. Still needs some work, of course, but after a day on the phone with Symantec Endpoint tech support, coming home, putting that RAM in and hearing that chirp was the highlight of my day!

Please don't let this dissuade you from your test ROM project. I will happily put the old RAM back in and use it to see how the test ROM works! What do I need to buy, 2732s? Then I just need to make an adapter, right? I've got the diagram for that around somewhere.....
 
Check this out!

Wow, I bet that was nice to hear! Are your video RAMs (2114) on sockets? That may determine the next step. Now that the PET is capable of POKE and PEEKing memory, you may not need the EPROM, but if you do, I'll be glad to send you a 2532 so you will not need an adapter.
-Dave
 
It's alive!! Great!!. Hmm...as Dave said it would be worth swapping out thos video RAM chips to see the it gets rid of the garble.

Tez
 
Excellent!

Definitely looks like a video memory issue; does it work otherwise, i.e. can you type the classic ?"hello ?

Ok, I know this post is a little off topic.... ;-)
Well put! LOL!
 
Last edited:
...What made you think that? I have 13 PET's here, 6 2001's, 1 30xx, and the rest a mix of CRTC pets and the diagPET is for all of them. My point was that other than populating the 17 CRTC registers, which takes 6 lines of assembler, the rest of the architecture is identical.
I hope you don't think I'm criticising. I'm just saying that we both have to add the simple CRTC load routine to use our respective software on a CRTC machine, although we can't assume good RAM so we need a few more instructions than your 6; as a matter of fact we were just checking out what needs to be added and how when you joined the discussion. Also, you don't have a diagnostic LED on the late models for your data line diagnostic.
Sounds like a good plan to me if the OP has the means to use it.
Why not?
I can easily drop this onto an F000 ROM as well if he's interested.
Well, we'd sure love to see the code, for sure.
As I said, I have a bit more than 1 PET, so it makes sense for me to use it for its versatility.
That's been my point; the PETvet is great and makes a lot of sense for you, but in this thread we're exploring a simpler and cheaper (or free) way of diagnosing the common problems; obviously the OP would not have needed a PETvet.
I don't think Mike has pursued this option yet but I'm hoping to also use it as a VicVet :)
As a mattter of fact we were even exploring the possibility of using it to replace/expand the RAM and ROM in an AIM65 SBC elsewhere on this forum.
 
Last edited:
Can you and anyone else check the code and perhaps even run it if you dare? I can't run it myself as my F000 ROM is not on a socket.

Here is what one is supposed to see if the lower 1K of RAM is good and the screen displays properly:

- 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"
I'll try to find time this weekend to check it out; my 8032 and FAT40 already have a few mods, so one more cut trace to swap the A and F ROMs won't matter.
 
I got it!

P1020494.jpg

The video RAM was already socketed, so I had already changed those. Then I put the character ROM from my 8032 in there, and the characters changed, but it was still garbled. Finally, I replaced the socket, and it came up perfectly!

The keyboard was practically useless. Only about half the keys worked. So that's all apart now, having gotten a good cleaning. I washed the keyboard frame, sans PCB in the sink with dish soap and a brush. It has always worked great on C64 keyboards. Anyway, I have a fan on it, and it should be dry by morning, and I will be able to type something. Then I will plug in a disk drive and see if that works.
 
The keyboard was practically useless. Only about half the keys worked.

That's a common problem. If the cleaning doesn't do the trick, the black keypad ends may need reconditioning to make them conductive. You can try something like this product, or some people have success with rubbing pencil lead on them.


Then I will plug in a disk drive and see if that works.

OK, That will be the next adventure...
 
I'll try to find time this weekend to check it out; my 8032 and FAT40 already have a few mods, so one more cut trace to swap the A and F ROMs won't matter.

I thought one of your PETs was on sockets. Don't cut & jumper your machine just to try this EPROM. We can try it just as easy when I get my PETVet.
 
Back
Top