UK Vintage Radio Repair and Restoration Discussion Forum

UK Vintage Radio Repair and Restoration Discussion Forum (https://www.vintage-radio.net/forum/index.php)
-   Vintage Computers (https://www.vintage-radio.net/forum/forumdisplay.php?f=16)
-   -   Non-working Commodore PET 3016 (https://www.vintage-radio.net/forum/showthread.php?t=174829)

ortek_service 14th Mar 2021 2:36 pm

Re: Non-working Commodore PET 3016
 
Quote:

Originally Posted by SiriusHardware (Post 1353072)
I'm surprised aj, every technician I know always has an inherent craving to want to know not only what went wrong, but how / in what way it went wrong, so I will very often check / test parts which I already know, from substitution, are dud. UF9, the video latch, would be another interesting case to look at. I agree, though, that for the price of the video RAM we can probably dispense with my usual morbid curiosity.

In this particular case I am also very conscious that we are spending someone else's money and time - Colin's in this case, every time we make a decision to replace something, so I am always inclined to try to think of ways to test suspect parts using equipment he already has or substitute them in some way before replacing them - in part because I prefer to know, through diagnostic or other means, that a part really is dud before we change it.

Going to the other extreme, we could just ask Colin to price up every chip on the board and completely re-chip it and it would very possibly work straight away, but we would never know what the faults had been - which would be a source of annoyance to me personally, but might not bother others at all.

When it comes to the system RAM which is not in sockets we could adopt the 'test in situ' approach using Slothie's test routines - either that or hack all the original ICs out and replace them either with 'legacy' substitutes such as the ones you have indicated or with a modern RAM replacement board similar to the one you have in your older PET. I'd really prefer to keep it original, or as original as it can be, if possible.

Thanks for the pointer to the document regarding operation of the video circuitry, which I will peruse while I am downloading my lunch. I suggest you also study it carefully yourself in case I have a nervous breakdown before we get to the end of this project...

RRaaaaack! (sound of handbrake being pulled on again...)



I recall in the old days of taught C&G etc. repair to component-level courses, that several failed components were deliberately put into circuit to find - So they couldn't adopt the process by many garages of just keep swapping expensive parts until the fault was fixed, at customer's great expense.
Even in the days of field-servicing and panel-swapping, they'd often go back to the workshop for component level fixing. (Although when one had tried to fix a machine at work, I found he'd brought dead panels with him so I ended-up replacing the failed transistor myself!)

I've always kept all my old faulty parts in a 'graveyard container', in case it was useful to see how they failed, may be useful for testing how well a particular testing equipment handles these. And I now see people selling (faulty) framed Sinclair ULA's on an online auction site, for £30 for a few in a frame! - I've still got a ZX81 ULA that had an internal nWR short, so I tried to see what would happened if I 'blew' it out with a PSU - where it then blew the middle of the IC out, but left the die looking quite intact!
Although I did once get caught out buying a cheap bag of old fuses etc. parts from a Radio Rally club stand, and then found they were all blown!

Luckily I'd kept the many Spectrum 48K upgrade DRAM's, I'd got as a unused upgrade kit many years ago, that had seemed to be faulty.
As I only found out a while later, that these were actually officially 'half-dead' 4164's, that Sinclair got cheaper from TI / OKI, and you had to use ones with all the same half OK plus change links on the board to select this (something the kit's instructions hadn't mentioned!). So even the manufacturer's were recycling their failed parts - a long history of this, with post production grading of memory access speeds & component tolerances - carried onto CPU etc. IC's with failed parts disabled and sold as cheaper versions.


I've bought hundreds of fairly-vintage memory IC's, like 2114's & 4116's very cheap (<< 50p each) from Rallies / would usually get any I don't have from online auction sites, rather than pay many pounds each for ones from UK distributors, and some microcomputer boards could use tens of these in the main-memory. So a low-cost tester is very useful. (Chris has tested all my 2114's, on the tester I linked to, that I've been using in my Acorn system 1 memory board rebuild. And all checked-out OK).
And new old stocks will eventually disappear, so will only be able to gets used 'Pulls'

If something is regularly killing some IC's, then it's also useful to try to work out what the exact cause was to prevent it in future (like possible supply sequencing etc)

ajgriff 14th Mar 2021 2:40 pm

Re: Non-working Commodore PET 3016
 
Sound advice from Ortek regarding fitting ICs to sockets as I can testify from recent experience with the PET 2001-8.

Quote:

Originally Posted by SiriusHardware (Post 1353072)
I suggest you also study it carefully yourself in case I have a nervous breakdown before we get to the end of this project...

The dry humour in your earlier post certainly helped me download and digest my own lunch. I don't think you'll have a nervous breakdown as you are enjoying this thread far too much.

Alan

ortek_service 14th Mar 2021 2:53 pm

Re: Non-working Commodore PET 3016
 
Quote:

Originally Posted by SiriusHardware (Post 1353089)
(Thanks for the link to the adapted-for-Mega version of Danjovic's 2114 tester code - I already had that about 80% done myself, but now I don't have to).

Next up may be an Arduino or Raspi based 28C16 EEPROM programmer so that we have the option of posting bits of test code for Colin to try running.

Yes, I recently saw in the ongoing enhancement of the recent open-source EPROM Emulator project, that it's been suggested to just use a FLASH IC programmer, with some isolation buffers added. And this shows someone's original FLASH programmer board for the Uno: https://groups.io/g/eprom-emu-ng/message/323
- And maybe able to simplify further for less address lines on a 28C16 EEPROM etc. (although I'm not quite sure if code for that one is on Github etc)

You may also find you can buy, ready-made, a very cheap PC BIOS etc. Parallel FLASH IC-programmer (like for Serial ones) from the usual cheap sources. But no doubt there'd be very little info on the actual design & making it work with smaller-memory devices.

ScottishColin 16th Mar 2021 1:01 pm

Re: Non-working Commodore PET 3016
 
Right - chips and sockets here. I'll get on with removing the old ones.

Should I do any testing once they are out and before the new ones go in?

Colin.

Slothie 16th Mar 2021 1:14 pm

Re: Non-working Commodore PET 3016
 
Quote:

Originally Posted by ScottishColin (Post 1353924)
Right - chips and sockets here. I'll get on with removing the old ones.

Should I do any testing once they are out and before the new ones go in?

Colin.

If you have the patience it would be worth testing the pads on either side are connected (i.e. the through-hole plating is intact). You could just test ones that you struggled a bit with or look a bit cooked. Its easier to fix before you fit new sockets than after.

ScottishColin 16th Mar 2021 6:02 pm

Re: Non-working Commodore PET 3016
 
OK - both sockets in and continuity tested OK from each pin.

This feels like a step back, but I guess it might just be a step sideways....

With no video ram chips in, I get checkboard

With a chip just in F8 I get F0 in reverse

With a chip just in F7 I get 2F

With both chips in, I get a blank screen (although there is power to the screen as if I turn the contrast up, I can see lines on the screen).

Colin.

Mark1960 16th Mar 2021 6:11 pm

Re: Non-working Commodore PET 3016
 
I wonder if this means the pet is now clearing video ram and stopping at some later point in the initialisation. I’ll take another look at the schematic to see what we should expect to see in the R/W to video ram.

SiriusHardware 16th Mar 2021 6:17 pm

Re: Non-working Commodore PET 3016
 
If nothing else, this proves that there is a difference between the RAM chips you took out and the ones you have put in. Hopefully the difference is that the ones you took out were dud and the ones you've put in are working.

You remember I went off on one, trying to see what the CPU was supposed to be doing in the early stages of initialisation? Assuming the 6502 is executing code, it runs through a few bytes of code in the Kernel PROM UD9 and then it pushes the address of the program counter onto the stack (in system RAM) and then it jumps to a subroutine in the 'Edit' PROM UD8 where it does quite a bit of stuff including clearing the screen. What it should do eventually, after clearing the screen and setting up the VIA / PIA ICs, is recover the return address that it placed on the stack in RAM, jump back to where it came from in the Kernel PROM and carry on doing whatever it was doing.

However, it can only successfully go back to where it came from if you have fully working RAM. If you don't, the machine will do all the tasks in that first subroutine and then most likely crash or stall.

Try putting both new video RAMs in, taking out UD8 and starting up the machine with no UD8 in. What happens on the screen then? What happens if you start it up with UD9 removed rather than UD8?

Edit: crossed with Mark.

Mark1960 16th Mar 2021 6:18 pm

Re: Non-working Commodore PET 3016
 
Check for activity on UF7-10 or UF8-10, there should be a burst of active low on these just after reset.

ajgriff 16th Mar 2021 6:18 pm

Re: Non-working Commodore PET 3016
 
Page 2 of the document attached to post #1035 might also be of some help.

Alan

SiriusHardware 16th Mar 2021 6:35 pm

Re: Non-working Commodore PET 3016
 
I should say that Mark's check for write activity to the video RAMs needs to be done with everything installed, ie, all PROMs fitted.

Mark1960 16th Mar 2021 6:42 pm

Re: Non-working Commodore PET 3016
 
Quote:

Originally Posted by ajgriff (Post 1354059)
Page 2 of the document attached to post #1035 might also be of some help.

Alan

Page 7 says remove keyboard connector and connect plugs to use bootloader.

Does anyone know any more about how the plugs should be connected?

The instructions on page 7 seems to imply the ram can be tested without a special rom.

SiriusHardware 16th Mar 2021 6:47 pm

Re: Non-working Commodore PET 3016
 
I saw that but I am afraid I am none the wiser. If we can show that the video RAM is being intentionally cleared before the system hangs then I would say that is quite a strong pointer to a system RAM fault.

Even if we can't figure out the bootloader method we can put Slothie's test code into an EPROM or EEPROM, put it into an adaptor and see if that code will run.

ScottishColin 16th Mar 2021 6:53 pm

Re: Non-working Commodore PET 3016
 
2 Attachment(s)
Photos attached - similar but different.

Colin.


Quote:

Originally Posted by SiriusHardware (Post 1354057)
If nothing else, this proves that there is a difference between the RAM chips you took out and the ones you have put in. Hopefully the difference is that the ones you took out were dud and the ones you've put in are working.

You remember I went off on one, trying to see what the CPU was supposed to be doing in the early stages of initialisation? Assuming the 6502 is executing code, it runs through a few bytes of code in the Kernel PROM UD9 and then it pushes the address of the program counter onto the stack (in system RAM) and then it jumps to a subroutine in the 'Edit' PROM UD8 where it does quite a bit of stuff including clearing the screen. What it should do eventually, after clearing the screen and setting up the VIA / PIA ICs, is recover the return address that it placed on the stack in RAM, jump back to where it came from in the Kernel PROM and carry on doing whatever it was doing.

However, it can only successfully go back to where it came from if you have fully working RAM. If you don't, the machine will do all the tasks in that first subroutine and then most likely crash or stall.

Try putting both new video RAMs in, taking out UD8 and starting up the machine with no UD8 in. What happens on the screen then? What happens if you start it up with UD9 removed rather than UD8?

Edit: crossed with Mark.


Mark1960 16th Mar 2021 6:56 pm

Re: Non-working Commodore PET 3016
 
If removing one of the roms results in a random character display and with both roms fitted the display is blank, then I think this would mean the video is now working correctly.

This could also be verified with the activity on video R/W, pin 10 of the video rams.

I think Colin said he has two banks of 8k dynamic ram fitted, so he could try swapping CAS0 and CAS1 by lifting the two resistors and crosswiring them as described on page 1 of the document from #1035. Though the possibility of something killing only one bank of dynamic ram with both banks on the same address and data bus is quite slim.

ScottishColin 16th Mar 2021 6:58 pm

Re: Non-working Commodore PET 3016
 
2 Attachment(s)
Apologies - I hadn't reinserted one of the new chips. See attached - again similar but different.

Colin.

SiriusHardware 16th Mar 2021 6:59 pm

Re: Non-working Commodore PET 3016
 
I'm prepared to say I think that might be good - I think if you look closely the screen might be slightly different each time you switch the machine on with say UD8 removed, because although RAM starts up in a random state each bit of the RAM tends to have a favourite state that it powers up in more often than not - but not always.

Anyway what that suggests to me is that your screen is blank with the PROMs in because the CPU is managing to get far enough to run the clear screen routine, which if true, is a major step forward.

Mark1960 16th Mar 2021 7:01 pm

Re: Non-working Commodore PET 3016
 
Quote:

Originally Posted by ScottishColin (Post 1354071)
Photos attached - similar but different

It will be different every time you turn on the pet. Its just the random content of video ram.

Refit the roms and it should be blank again.

I think you have working video ;D

ScottishColin 16th Mar 2021 7:01 pm

Re: Non-working Commodore PET 3016
 
Confirmed definite square waves just under 4V for about a second after power up on UF7/10 and UF8/10.

Colin.

Quote:

Originally Posted by Mark1960 (Post 1354058)
Check for activity on UF7-10 or UF8-10, there should be a burst of active low on these just after reset.


SiriusHardware 16th Mar 2021 7:08 pm

Re: Non-working Commodore PET 3016
 
Good, that confirms what we hoped, that the CPU is doing a run of writes to the screen during initialisation - almost certainly all 0x20, the code of the 'space' character.

While a blank screen may not seem like cause for jubilation, it it really is because it is an almost sure sign that the CPU is reading and executing code from the PROMs, and for that to be happening a LOT of the machine has to be working.


All times are GMT +1. The time now is 5:07 am.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Copyright ©2002 - 2023, Paul Stenning.