UK Vintage Radio Repair and Restoration Powered By Google Custom Search Vintage Radio and TV Service Data

Go Back   UK Vintage Radio Repair and Restoration Discussion Forum > Specific Vintage Equipment > Vintage Computers

Notices

Vintage Computers Any vintage computer systems, calculators, video games etc., but with an emphasis on 1980s and earlier equipment.

Reply
 
Thread Tools
Old 24th May 2025, 7:31 pm   #521
julie_m
Dekatron
 
Join Date: May 2008
Location: Derby, UK.
Posts: 7,966
Default Re: Commodore PET 4016

Thanks for all the testing work you've done so far, Colin.

Would you mind if I used some of your screenshots in the instructions that will go on the Github page I'm starting for ToePost? I know you obviously don't mind Forum members and guests seeing them, but I thought it would be polite to ask for permission before sharing them with the wider world.
__________________
If I have seen further than others, it is because I was standing on a pile of failed experiments.
julie_m is offline   Reply With Quote
Old 24th May 2025, 8:54 pm   #522
ScottishColin
Nonode
 
Join Date: May 2012
Location: Perth, Scotland
Posts: 2,436
Default Re: Commodore PET 4016

It would be really nice to be able to help others - please use any of the screenshots I have provided.

I'm aware that my photography isn't always the best - if you need any better photos or photos of particular errors/events then please ask.

I'm more than happy with the GPL v3.0 licence too. I'm a bit of a licence nerd and it's the one I would use in this situation.

Colin.
ScottishColin is offline   Reply With Quote
Old 24th May 2025, 11:45 pm   #523
ortek_service
Nonode
 
ortek_service's Avatar
 
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 2,613
Default Re: Commodore PET 4016

Quote:
Originally Posted by SiriusHardware View Post
One of the defining features of Darlingtons is that they (usually) have a very high gain due to the fact that the second transistor is effectively amplifying the already amplified output from the first.
Yes, even with a gain of only around 10 towards max. current on the output transistor of the pair, you'd expect a combined DC-gain of > 1000 if the driver-transistor of the pair is like a typical BCnnn small signal one with an hFE >100.

However, the (onsemi - Now obsolete on its product page) TIP29 Datasheet: https://www.onsemi.com/download/data-sheet/pdf/tip29b-d.pdf
only specifies an hFE of 75 type / > 15 @ 1A. And >40 @ 0.2A.
(Although from the graph, the hFE is a more-reasonable 200 typ. at currents < 0.1A - So nearly as much as a typical BCnnn transistor).

It is odd that they never mention it being a darlington anywhere (maybe as it has a much lower gain than most of these), But as Vce(Sat) is 0.7V, then that is quite-high for a typical TO220 transistor at 1A that this is only rated upto - And maybe that's why it's only rated upto 1A, which could also make it more prone to failure in this application, with no over-current protection.

These TIPnn transistors are also a bit different to other non TIP prefix transistors, in that their A/B/C suffix letter is the voltage rating
- Rather than a pre-selected narrower group of the gain range.

It will be interesting to see what the replacement ones measure.
ortek_service is offline   Reply With Quote
Old 25th May 2025, 10:00 am   #524
ScottishColin
Nonode
 
Join Date: May 2012
Location: Perth, Scotland
Posts: 2,436
Default Re: Commodore PET 4016

Attached is what my tester makes of the replacement (not new by the looks of it) part.

Colin.


Quote:
Originally Posted by ortek_service View Post
It will be interesting to see what the replacement ones measure.
Attached Files
File Type: zip 4016 Replacement TIP29.zip (2.25 MB, 321 views)
ScottishColin is offline   Reply With Quote
Old 25th May 2025, 2:21 pm   #525
ScottishColin
Nonode
 
Join Date: May 2012
Location: Perth, Scotland
Posts: 2,436
Default Re: Commodore PET 4016

More screenshots, some from early in the list of errors (all in high memory) and one at the end of a complete cycle of tests.

I'm assuming that this is reporting that D6, D5, D3, D2, D1 and D0 are in error?

I'm a bit confused why it reports errors in page 0000 as it passed the zero page check - is that a bug?

Colin.
Attached Files
File Type: zip 4016 early high memory error.zip (3.02 MB, 323 views)
File Type: zip 4016 later high memory errors.zip (3.05 MB, 295 views)
File Type: zip 4016 complete single run through.zip (3.13 MB, 326 views)
ScottishColin is offline   Reply With Quote
Old 25th May 2025, 2:59 pm   #526
ScottishColin
Nonode
 
Join Date: May 2012
Location: Perth, Scotland
Posts: 2,436
Default Re: Commodore PET 4016

Fyi Julie, with a cassette player plugged in the motor runs all the time whilst running your test software.

Colin.
ScottishColin is offline   Reply With Quote
Old 25th May 2025, 3:04 pm   #527
julie_m
Dekatron
 
Join Date: May 2008
Location: Derby, UK.
Posts: 7,966
Default Re: Commodore PET 4016

Quote:
Originally Posted by ScottishColin View Post
More screenshots, some from early in the list of errors (all in high memory) and one at the end of a complete cycle of tests.

I'm assuming that this is reporting that D6, D5, D3, D2, D1 and D0 are in error?
That's what it's looking like to me.

"4016 early high memory error.jpg" is similar to what I get testing an emulated 4016 with a version of ToePost built for 32K; read errors at location FF within a page of unpopulated memory.

"4016 later high memory errors.jpg" is reporting refresh errors -- by which it means non-zero bytes found in a quick look at the page tested previously, and which would have contained all zeros before the delay subroutine -- but this condition isn't necessarily caused only by a refresh error. Stuck ones would cause the same symptom.

I think the upper memory ICs probably are genuinely faulty (unless there's something going on that would prevent the upper memory, but not the lower memory, from being refreshed properly; I'm out until this evening, and haven't got all my notes with me, but anyone who's got the wiring diagrams in front of them can chime in). What happens if you do the CAS1 / CAS0 swapover now?

Quote:
Originally Posted by ScottishColin View Post
I'm a bit confused why it reports errors in page 0000 as it passed the zero page check - is that a bug?
I don't think so; I think it's just my bad explanation.

By "testing page 00 against page 7F", it means it is writing to page &00 and looking out for unexpected values in page &7F as well as in page &00. The last error message visible, "misread 7f00 as 6f with 01 in 00ff" means that after writing &01 to location &00ff, it searched all through page &00 except &00FF (i.e., the location it had written to), and found no non-zero values; but then while searching though page &7F, this time including &7FFF because if there is an address clash, we need to know about it, it found a non-zero value. And errors in the alternate page are (perhaps counter-intuitively) recorded against the "primary" page.

Quote:
Originally Posted by ScottishColin View Post
Fyi Julie, with a cassette player plugged in the motor runs all the time whilst running your test software.
That's something I hadn't even considered. I'm not actually touching the cassette motor control at all. (It might be a possible channel for feedback to the user, though .....)
__________________
If I have seen further than others, it is because I was standing on a pile of failed experiments.
julie_m is offline   Reply With Quote
Old 25th May 2025, 6:26 pm   #528
ScottishColin
Nonode
 
Join Date: May 2012
Location: Perth, Scotland
Posts: 2,436
Default Re: Commodore PET 4016

Got it - thanks. I'm away now for a few days so I'll make a start (one by one) on the memory when I return and report back.

Colin.
ScottishColin is offline   Reply With Quote
Old 25th May 2025, 6:35 pm   #529
ortek_service
Nonode
 
ortek_service's Avatar
 
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 2,613
Default Re: Commodore PET 4016

Quote:
Originally Posted by ScottishColin View Post
Attached is what my tester makes of the replacement (not new by the looks of it) part.

Colin.


Quote:
Originally Posted by ortek_service View Post
It will be interesting to see what the replacement ones measure.
Thanks for that. I presumed they might have been ordered from Cricklewood, but presumably they didn't have these and you had to go elsewhere. And if they do look used, then less-likely to be fakes (unless 'pulls' and then remarked as various others).

The hFE does look to be about what's expected from datasheet, with quite large spreads between min. spec. and typical.
Although the Vbe does look to be just a standard transistor, rather than a Darlington that it seemed these were plus on-semi datasheet gave Vbe of 1.3V. I wonder what a DMM's diode-test gives?

However, even if these replacements aren't actually TIP29's, there are many non-Darlington standard transistors in that package that should work OK with a high-enough current-rating and DC-gain at Motor load current. In fact they could work better, if they have a lower Vce(Sat), which will be lower for a standard transistor compared to a Darlington.
ortek_service is offline   Reply With Quote
Old 25th May 2025, 6:43 pm   #530
ScottishColin
Nonode
 
Join Date: May 2012
Location: Perth, Scotland
Posts: 2,436
Default Re: Commodore PET 4016

It was the message

"page 00 failed 4141 errors"

that confused me.

Colin.

Quote:
Originally Posted by julie_m View Post
Quote:
Originally Posted by ScottishColin View Post
I'm a bit confused why it reports errors in page 0000 as it passed the zero page check - is that a bug?
I don't think so; I think it's just my bad explanation.

By "testing page 00 against page 7F", it means it is writing to page &00 and looking out for unexpected values in page &7F as well as in page &00. The last error message visible, "misread 7f00 as 6f with 01 in 00ff" means that after writing &01 to location &00ff, it searched all through page &00 except &00FF (i.e., the location it had written to), and found no non-zero values; but then while searching though page &7F, this time including &7FFF because if there is an address clash, we need to know about it, it found a non-zero value. And errors in the alternate page are (perhaps counter-intuitively) recorded against the "primary" page.
ScottishColin is offline   Reply With Quote
Old 25th May 2025, 6:54 pm   #531
ortek_service
Nonode
 
ortek_service's Avatar
 
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 2,613
Default Re: Commodore PET 4016

Quote:
Originally Posted by julie_m View Post
Guess who's back, and look what she's got!

Attachment 314943

I'm about ready to call this a release, now.

Attachment 314944

The bit faults are now split into high and low chunks (it turned out to be easier than I was thinking) and there is now a refresh test; which just picks up on any zeros in the alternate block that have changed to ones during the last "picture pause" between tests, and indicates them with an "F" in the write failure bits for high or low memory.
The sequence of page tests has also been altered.
After testing the stack and zero page, there is a round of testing pages &02, &04, &08 and so on up to &80, against page &00.
This ought to show up how much memory is actually fitted: on a 16K machine, page &40 will clash with page &00 and on an 8K machine, page &20 will clash with &00.
If there were such a thing as a 4K PET, then page &10 would clash with &00.

After testing as far as page &40, the program then goes on with the same process as before, testing page &02 against &01, &03 against &02 and so on.
I'd thought Colin had requested two rows of bits 7..0, so that they showed whether problem was in lower or upper 16K?
So I;d been expecting that, but maybe I'd misunderstood that (Plus it would really only make this logical for 32K PET's)


According to: https://en.wikipedia.org/wiki/Commodore_PET

It seems there were actually 4K versions of the PET (2001 at least (Although may not be encountered very-often, as probably too-low to run most software for it?)
Or they didn't sell these in the UK ? (Like with Timex version of the ZX81, being 2K in the USA).
ortek_service is offline   Reply With Quote
Old 25th May 2025, 7:01 pm   #532
TonyDuell
Dekatron
 
Join Date: Jun 2015
Location: Biggin Hill, London, UK.
Posts: 6,034
Default Re: Commodore PET 4016

Quote:
Originally Posted by ortek_service View Post
However, even if these replacements aren't actually TIP29's, there are many non-Darlington standard transistors in that package that should work OK with a high-enough current-rating and DC-gain at Motor load current. In fact they could work better, if they have a lower Vce(Sat), which will be lower for a standard transistor compared to a Darlington.
I don't think the TIP29's ever saturate.

I'll attempt to describe the circuit for motor #1. We start with UE16d {12, 13, 14} which is either cut off or saturated depending on the state of the output line from the PIA. R48 is the collector load of this transistor to the unregulated 9V supply. But, there's also VR6 between emitter and collector of UE16d. So the collector voltage is either the saturation voltage of UE16d (when it is saturated) or 7.5V (due to VR6) when it's cut off.

The output stage, UE16c {10, 9, 8} and Q1 form a darlington something-or-other emitter follower. The motor output on the emitter of Q1 will be 2 or 3 diode drops lower than the collector of UE16d depending on just what Q1 is internally. So either essentially 0V (motor stopped) or around 6V stabilised (motor running).

I seem to remember that in the Commodore cassette unit, this motor output simply connected to the +ve side of the motor, the -ve side being grounded. A stabilised supply is probably needed to keep the speed constant.
TonyDuell is offline   Reply With Quote
Old 25th May 2025, 7:02 pm   #533
ortek_service
Nonode
 
ortek_service's Avatar
 
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 2,613
Default Re: Commodore PET 4016

Quote:
Originally Posted by ScottishColin View Post
More screenshots, some from early in the list of errors (all in high memory) and one at the end of a complete cycle of tests.

I'm assuming that this is reporting that D6, D5, D3, D2, D1 and D0 are in error?

>>

Colin.
Well that's slightly-different from the results obtained by POKE & PEEK from BASIC (And the Tynemouth test), where although six DRAM's appeared to be faulty at the first upper 16K location, the datalines bits were slightly-different as it seemed D7,D6, D3,D2,D1,D0 were st fault - So difference of D7 & D5 being declared faulty between these.
ortek_service is offline   Reply With Quote
Old 25th May 2025, 7:48 pm   #534
Mark1960
Octode
 
Join Date: Mar 2020
Location: Kitchener, Ontario, Canada
Posts: 1,527
Default Re: Commodore PET 4016

Quote:
Originally Posted by TonyDuell View Post
I don't think the TIP29's ever saturate.
Is this not true of any darlington pair? At least for the second transistor in the pair as when its Vce drops below its Vbe the first transistors Vce will be negative. I suppose it depends on Ibe.
Mark1960 is online now   Reply With Quote
Old 25th May 2025, 8:02 pm   #535
ortek_service
Nonode
 
ortek_service's Avatar
 
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 2,613
Default Re: Commodore PET 4016

Quote:
Originally Posted by TonyDuell View Post
Quote:
Originally Posted by ortek_service View Post
However, even if these replacements aren't actually TIP29's, there are many non-Darlington standard transistors in that package that should work OK with a high-enough current-rating and DC-gain at Motor load current. In fact they could work better, if they have a lower Vce(Sat), which will be lower for a standard transistor compared to a Darlington.
I don't think the TIP29's ever saturate.

I'll attempt to describe the circuit for motor #1. We start with UE16d {12, 13, 14} which is either cut off or saturated depending on the state of the output line from the PIA. R48 is the collector load of this transistor to the unregulated 9V supply. But, there's also VR6 between emitter and collector of UE16d. So the collector voltage is either the saturation voltage of UE16d (when it is saturated) or 7.5V (due to VR6) when it's cut off.

The output stage, UE16c {10, 9, 8} and Q1 form a darlington something-or-other emitter follower. The motor output on the emitter of Q1 will be 2 or 3 diode drops lower than the collector of UE16d depending on just what Q1 is internally. So either essentially 0V (motor stopped) or around 6V stabilised (motor running).

I seem to remember that in the Commodore cassette unit, this motor output simply connected to the +ve side of the motor, the -ve side being grounded. A stabilised supply is probably needed to keep the speed constant.
Quote:
Originally Posted by Mark1960 View Post
Quote:
Originally Posted by TonyDuell View Post
I don't think the TIP29's ever saturate.
Is this not true of any darlington pair? At least for the second transistor in the pair as when its Vce drops below its Vbe the first transistors Vce will be negative. I suppose it depends on Ibe.
I'd forgotten that the Motor supply is actually stabilised / regulated by the TIP29 etc - I was thinking it was purely switching the supply, so a lower Vce 'saturation' voltage of a standard transistor would be an advantage as a Darlington would inherently always have around 0.7V across it when 'saturated'.
One other thing has just struck me: If the output voltage of this circuit is just 'Stabilised' (rather than true feedback-regulation) then the exact Vbe voltage is important as it affects the output-voltage if just set by a zener etc. on the base of a transistor. As well as output-voltage not being as stable with load-changes.

Hopefully the PET does use feedback-regulation (will have to refresh my memory of the circuit), otherwise the motor-speed could be dependent upon the transistor type used.
ortek_service is offline   Reply With Quote
Old 25th May 2025, 8:11 pm   #536
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 13,703
Default Re: Commodore PET 4016

Quote:
That's something I hadn't even considered. I'm not actually touching the cassette motor control at all. (It might be a possible channel for feedback to the user, though .....)
Presumably this is just because the relevant I/O port chip isn't being initialised - I don't have Daver2's code handy so I can't look to see whether he initialises the I/O ICs but I think he probably does because his Pettester includes a keyboard test, for which the relevant I/O IC would need to have its port DDRs correctly set. If he's setting up that chip he probably writes sane setup values to all three of the I/O ICs.
SiriusHardware is offline   Reply With Quote
Old 25th May 2025, 8:28 pm   #537
ScottishColin
Nonode
 
Join Date: May 2012
Location: Perth, Scotland
Posts: 2,436
Default Re: Commodore PET 4016

Yes - and who is to say which test is 'best'. Certainly we know from before that the Tynemouth memory tests are good pointers but not conclusive. I think that either the PETTESTER (using a MARCH C test) or Julie's code are more exhaustive, and I can't get PETTESTER to test upper RAM right now for some reason.

My plan (such as it is) is to slowly, one-by-one remove/replace RAM chips starting with D0, D1, D2 and D3 and see every time whether the replacement of that chip allows either the PETTESTER or the Commodore diagnostic board that I built to see upper RAM, and if so perform their tests too.

Something's stopping them getting at upper RAM for some reason and I don't know how we work that out with the tools we have.

Anyway - that'll be in a week or so.

Colin.

P.S. I have put 6821s in the 4016 for now and the IEEE port works fine; I have had failures with this combination before so it all goes to prove that every PET has its quirks, even comparing to other 'like-for-like' PETs.

Quote:
Originally Posted by ortek_service View Post
Quote:
Originally Posted by ScottishColin View Post
More screenshots, some from early in the list of errors (all in high memory) and one at the end of a complete cycle of tests.

I'm assuming that this is reporting that D6, D5, D3, D2, D1 and D0 are in error?

>>

Colin.
Well that's slightly-different from the results obtained by POKE & PEEK from BASIC (And the Tynemouth test), where although six DRAM's appeared to be faulty at the first upper 16K location, the datalines bits were slightly-different as it seemed D7,D6, D3,D2,D1,D0 were st fault - So difference of D7 & D5 being declared faulty between these.
ScottishColin is offline   Reply With Quote
Old 25th May 2025, 10:42 pm   #538
julie_m
Dekatron
 
Join Date: May 2008
Location: Derby, UK.
Posts: 7,966
Default Re: Commodore PET 4016

Quote:
Originally Posted by ortek_service View Post
I'd thought Colin had requested two rows of bits 7..0, so that they showed whether problem was in lower or upper 16K?
So I;d been expecting that, but maybe I'd misunderstood that (Plus it would really only make this logical for 32K PET's)
That was what I thought I had done .....

I think I might try omitting the alternate block tests in the final round of testing. I've thought of a way of doing that; it will add more code, but I should have (just) enough bytes of free space to fit it in. There might even be room to make it pause after a refresh test failure, but not if the refresh test passes and there's nothing new to see.

I think I'm actually getting the hang of this weird way of coding without a stack or indirect addressing, though I'm glad I don't have to do it all the time! I suppose it gives you a bit of a feel for how programmers used to have it, in even earlier days than those of the PET .....
__________________
If I have seen further than others, it is because I was standing on a pile of failed experiments.
julie_m is offline   Reply With Quote
Old 26th May 2025, 3:24 am   #539
TonyDuell
Dekatron
 
Join Date: Jun 2015
Location: Biggin Hill, London, UK.
Posts: 6,034
Default Re: Commodore PET 4016

Quote:
Originally Posted by ortek_service View Post
Hopefully the PET does use feedback-regulation (will have to refresh my memory of the circuit), otherwise the motor-speed could be dependent upon the transistor type used.
Alas it doesn't. When the motor is running, the PET circuit reduces to a resistor and zener to give a stabilised voltage followed by an emitter follower to give current gain.

How critical the voltage is to give the right motor speed, and indeed how critical the motor speed is I don't know. The fact there's no adustment would seem to suggest 'not too critical'
TonyDuell is offline   Reply With Quote
Old 26th May 2025, 7:03 am   #540
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 13,703
Default Re: Commodore PET 4016

Do the motors maybe have internal speed regulators, centrifugal, like most cheap domestic recorder / players?
SiriusHardware is offline   Reply With Quote
Reply

Thread Tools



All times are GMT. The time now is 12:16 am.


All information and advice on this forum is subject to the WARNING AND DISCLAIMER located at https://www.vintage-radio.net/rules.html.
Failure to heed this warning may result in death or serious injury to yourself and/or others.


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