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 23rd Apr 2021 4:14 pm

Re: Non-working Commodore PET 3016
 
Quote:

Originally Posted by Slothie (Post 1367202)
Quote:

Originally Posted by SiriusHardware (Post 1367194)
Sounds reasonable, so now I have another question: Why are the CASS READ and CASS WRITE signals of the two cassette ports also connected to the user port? Just so that those lines can be used as extra user lines? Or...?

I think that was to allow the onboard diagnostics to work. There were connectors to plug into the user port and keyboard that pulled the 'diag' pin low, and I think the read and write pins were connected to the i/o port pins on the user porrt so that the function of the cassette circuits could be tested.

I had wondered why the User Port connector also had quite a few extra misc. signals added to it, including SRQin from IEEE interface & a few Video signals. And had presumed they may have been brought-out there to aid testing.

But I hadn't traced through all the the diagnostic loopback plug connections, so I hadn't thought that these may have been used as well as the normal port-lines. And I see they added the DIAG Sense line on that, as well as on the Keyboard connector, so can enter into diagnostic (or monitor on later Kernal?) mode without opening the 'bonnet'

ortek_service 23rd Apr 2021 4:23 pm

Re: Non-working Commodore PET 3016
 
Quote:

Originally Posted by ScottishColin (Post 1367227)
UA7 and UA8 replaced and the test program now runs through without error - thanks all.

Cassette port 2 next.

Colin.

Good to hear that replacing these has now sorted that.

Luckily there's really only 3 transistors & a zener-diode (all quite low-cost), in each of the cassette ports interface.
- So assuming the check SiriusHardware mentioned earlier shows that Port 2 is being controlled-correctly by the UC5 (6522), then it should be just a case of following through this switched transistor regulator circuit by measuring a few voltages with it enabled and disabled.

SiriusHardware 23rd Apr 2021 4:47 pm

Re: Non-working Commodore PET 3016
 
Another little milestone passed. Are you planning to get one of those SD2PET gadgets?

For the cassette-2 port can you try the check suggested in #1727, to see whether UC5 pin 14 is trying to turn the cassette motor on. We'll follow it from there.

(Crossed with Owen).

ScottishColin 25th Apr 2021 4:52 pm

Re: Non-working Commodore PET 3016
 
re 1727 - 2.4V in both instances.

For the record, when I try to LOAD a program from port 2, there is no power to the datasette - play, rewind or FF do not work.

In terms of the SD2PET - yes, but I need to wait a month or two as I've spent quite a bit so far on the PET.

Colin.

Colin.

ortek_service 25th Apr 2021 6:00 pm

Re: Non-working Commodore PET 3016
 
Quote:

Originally Posted by SiriusHardware (Post 1367087)
#1727

Plug a datasette into cassette port 2 and look again at the voltage on cassette port 2 pin C-3. I suspect that variable high voltage you are seeing there will vanish when there is a load connected to pin C-3.

You may also find that the voltage on pin D-4 (CASS READ) will be different when you do have a datasette plugged in / don't have a datasette plugged in.

With a datasette plugged into port 2, what voltage / logic level do you see on UC5 pin 14...

-When cassette port 2 is idle (not doing anything)?
-When cassette port 2 is trying to load something?

Quote:

Originally Posted by ScottishColin (Post 1367872)
re 1727 - 2.4V in both instances.

For the record, when I try to LOAD a program from port 2, there is no power to the datasette - play, rewind or FF do not work.

Colin.

Where did you measure this 2.4V?
- Was it on cassette port 2 pin C-3 or UC5 (6522) pin 14? (or one both?)

If UC5 (6522) pin 14 is always high, then that means the cassette port 2 interface's power-regulator supply will always be being disabled. So, unless something is shorting externally, then that could indicate a fault on the 6522's pin itself

But best to check the correct software commands are being used to control this / could try POKE-ing it's PB4 low, assuming there's no spare 6522 to hand (which'll probably be relatively expensive from Cricklewood, like the 6502, but can be obtained for a few £'s from other sources - particularly if prepared to wait a while / but may be a chance of dodgy ones if not from UK)

I think POKE 59456,0 should do this
But might be a clash with Kernal accesses, as the 6522 PortB lines are used as both outputs & inputs, some for internal use.
And might need to check the data-direction has been set correctly by the Kernal etc. first. So maybe try PRINT PEEK(59458) and see what that returns (assuming you can read DDRB as well as write it, on the 6522), if the POKE doesn't make any difference.
Converting to binary, the result should be: xxx1xxxx for bit4('16') High for O/P.

ScottishColin 25th Apr 2021 6:05 pm

Re: Non-working Commodore PET 3016
 
Measurements taken on UC5/14.

Colin.


Quote:

Originally Posted by ortek_service (Post 1367886)
Quote:

Originally Posted by SiriusHardware (Post 1367087)
#1727

Plug a datasette into cassette port 2 and look again at the voltage on cassette port 2 pin C-3. I suspect that variable high voltage you are seeing there will vanish when there is a load connected to pin C-3.

You may also find that the voltage on pin D-4 (CASS READ) will be different when you do have a datasette plugged in / don't have a datasette plugged in.

With a datasette plugged into port 2, what voltage / logic level do you see on UC5 pin 14...

-When cassette port 2 is idle (not doing anything)?
-When cassette port 2 is trying to load something?

Quote:

Originally Posted by ScottishColin (Post 1367872)
re 1727 - 2.4V in both instances.

For the record, when I try to LOAD a program from port 2, there is no power to the datasette - play, rewind or FF do not work.

Colin.

Where did you measure this 2.4V?
- Was it on cassette port 2 pin C-3 or UC5 (6522) pin 14? (or one both?)

If UC5 (6522) pin 14 is always high, then that means the cassette port 2 interface's power-regulator supply will always be being disabled. So, unless something is shorting externally, then that could indicate a fault on the 6522's pin itself
- But best to check the correct software commands are being used to control this / could try POKE-ing it's PB4 low

I think POKE 59456,0 should do this, but might there may be a clash with what the Kernal is trying to do, as the 6522 PortB lines are used as both outputs & inputs, some for internal use.
And have to ensure the data-direction has been set correctly by the Kernal etc. first. So maybe try PRINT PEEK(59458) and see what that returns, if the POKE doesn't make any difference.


ScottishColin 25th Apr 2021 6:55 pm

Re: Non-working Commodore PET 3016
 
The POKE didn't help - PRINT PEEK(59458) returned 30.

Colin.


Quote:

Originally Posted by ScottishColin (Post 1367887)
Measurements taken on UC5/14.

Colin.


Quote:

Originally Posted by ortek_service (Post 1367886)
Quote:

Originally Posted by SiriusHardware (Post 1367087)
#1727

Plug a datasette into cassette port 2 and look again at the voltage on cassette port 2 pin C-3. I suspect that variable high voltage you are seeing there will vanish when there is a load connected to pin C-3.

You may also find that the voltage on pin D-4 (CASS READ) will be different when you do have a datasette plugged in / don't have a datasette plugged in.

With a datasette plugged into port 2, what voltage / logic level do you see on UC5 pin 14...

-When cassette port 2 is idle (not doing anything)?
-When cassette port 2 is trying to load something?

Quote:

Originally Posted by ScottishColin (Post 1367872)
re 1727 - 2.4V in both instances.

For the record, when I try to LOAD a program from port 2, there is no power to the datasette - play, rewind or FF do not work.

Colin.

Where did you measure this 2.4V?
- Was it on cassette port 2 pin C-3 or UC5 (6522) pin 14? (or one both?)

If UC5 (6522) pin 14 is always high, then that means the cassette port 2 interface's power-regulator supply will always be being disabled. So, unless something is shorting externally, then that could indicate a fault on the 6522's pin itself
- But best to check the correct software commands are being used to control this / could try POKE-ing it's PB4 low

I think POKE 59456,0 should do this, but might there may be a clash with what the Kernal is trying to do, as the 6522 PortB lines are used as both outputs & inputs, some for internal use.
And have to ensure the data-direction has been set correctly by the Kernal etc. first. So maybe try PRINT PEEK(59458) and see what that returns, if the POKE doesn't make any difference.



SiriusHardware 25th Apr 2021 7:16 pm

Re: Non-working Commodore PET 3016
 
Your results do sound as though there may possibly be a fault on the 6522, pin 14. To explore this further, remove the 6522 and carefully bend pin 14 outwards at an angle so that the IC can be replaced in its socket without pin 14 going into the associated hole in the socket.

Then try again with the measurement of the voltage on UC5 pin 14, both when the cassette 2 port is idle and when it is attempting to drive the tape.

When idle, UC5 pin 14 should be at logic 1, high, and when trying to drive the cassette 2 motor pin 14 should be at logic 0 / low.

When trying this, it may be that the cassette 2 motor will start running as soon as you turn the power on to the PET. If so, that in itself will be useful to know as it will mean that the motor control circuit Q3, Q2, Q1 is probably OK, but just not getting the turn-on signal from the 6522.

ortek_service 25th Apr 2021 7:42 pm

Re: Non-working Commodore PET 3016
 
I did have a sudden thought, that the PET only enables the Motor when the Datasette Play/FF/REW buttons are pressed-down
- which activates the switch to Gnd on the (so actually active-low) CASS SENSE line.

So the Motor supply may not be activated, if there isn't a Datasette connected, or if UC7 (6520) PIA is not reading these correctly, as it could be the Kernal is running in a loop that is reading the CASS SENSE line and writing to CASS MOTOR bit, so might override the POKE I gave.

But always having a Datasette connected to Port 2, with Play etc pressed, whilst checking it, should hopefully overcome this.

That PRINT PEEK (59458) of the 6522's DDRB was correct at least - as I'd just worked-out it should be 00011110 = 30 from directions of signals on the schematic. I wonder what PRINT PEEK (59456) returns? (I'm not sure if you can read-back the status of a set output line, but worth a try)

ScottishColin 25th Apr 2021 8:04 pm

Re: Non-working Commodore PET 3016
 
2 Attachment(s)
Hmm. I wonder if I have declared success too early. After all the great advances of the last few weeks, I think I may have gone backwards.

At power on now, I get one of the two attached screens - right now I can't get past the random characters screen (ignore the stripes - they're not there on the actual screen). If I get the other READY prompt with a weird amount of memory free, it accepts commands, but none of them actually work and I get syntax errors.

Confused of Perth.

ScottishColin 25th Apr 2021 8:18 pm

Re: Non-working Commodore PET 3016
 
OK - panic over for now. UC7 out and back in and the problem has gone for now.

Colin.

ortek_service 25th Apr 2021 8:23 pm

Re: Non-working Commodore PET 3016
 
EDIT: Just saw your reply after I was typing the below. Had you removed UC7 before the fault happened by mistake?
- As I thought UC5 (6522) was being being removed, to lift Pin14.

However, I think the CASS SENSE switch reading may be involved, so there may be some other things to check
(Possibly swapping-over the 6520's)

---------


Is that with all pins of the 6522 inserted ? / Is there a chance the wrong one has been lifted?

It seems the 6522's internal timers may be used by the Kernal for keyboard scan etc. periodic interrupts and could be some odd effects if not running correctly.

Otherwise, it does seem it's mostly running OK some of the time, to get that far. And maybe an intermittent connection on an IC socket etc. somewhere (like with previous occasional video characters shift, that seemed to go away once buffer IC's were changed)

So it might be worth ensuring all socketed-IC's are making good contact / gently lifting & re-inserting these.
And might have to try some of the diagnostic EPROM's to see if they find anything, if still playing-up.

ScottishColin 25th Apr 2021 8:28 pm

Re: Non-working Commodore PET 3016
 
OK - I got a 40 pin new socket and took pin 14 out. After boot, pin 14 was 5.1V. After a LOAD "",2, it stayed at 5.1V.

There was no power available to datasette 2 at any time.

Colin.


Quote:

Originally Posted by SiriusHardware (Post 1367911)
Your results do sound as though there may possibly be a fault on the 6522, pin 14. To explore this further, remove the 6522 and carefully bend pin 14 outwards at an angle so that the IC can be replaced in its socket without pin 14 going into the associated hole in the socket.

Then try again with the measurement of the voltage on UC5 pin 14, both when the cassette 2 port is idle and when it is attempting to drive the tape.

When idle, UC5 pin 14 should be at logic 1, high, and when trying to drive the cassette 2 motor pin 14 should be at logic 0 / low.

When trying this, it may be that the cassette 2 motor will start running as soon as you turn the power on to the PET. If so, that in itself will be useful to know as it will mean that the motor control circuit Q3, Q2, Q1 is probably OK, but just not getting the turn-on signal from the 6522.


ScottishColin 25th Apr 2021 8:32 pm

Re: Non-working Commodore PET 3016
 
No - I was just removing and refitting all socketed ICs one by one to see if I could get past the random characters screen.

I do have a full can of Deoxit D5 - is that useful stuff to be using? Can it do any harm?

I swapped over UC6 and UC7 - same results for datasette 2 though and datasette 1 still works after the swap.

Colin.


Quote:

Originally Posted by ortek_service (Post 1367931)
EDIT: Just saw your reply after I was typing the below. Had you removed UC7 before the fault happened by mistake?
- As I thought UC5 (6522) was being being removed, to lift Pin14.

However, I think the CASS SENSE switch reading may be involved, so there may be some other things to check
(Possibly swapping-over the 6520's)

---------


Is that with all pins of the 6522 inserted ? / Is there a chance the wrong one has been lifted?

It seems the 6522's internal timers may be used by the Kernal for keyboard scan etc. periodic interrupts and could be some odd effects if not running correctly.

Otherwise, it does seem it's mostly running OK some of the time, to get that far. And maybe an intermittent connection on an IC socket etc. somewhere (like with previous occasional video characters shift, that seemed to go away once buffer IC's were changed)

So it might be worth ensuring all socketed-IC's are making good contact / gently lifting & re-inserting these.
And might have to try some of the diagnostic EPROM's to see if they find anything, if still playing-up.


ScottishColin 25th Apr 2021 8:36 pm

Re: Non-working Commodore PET 3016
 
If I POKE 59456,0, PRINT PEEK(59456) repeatedly returns 145.

Colin.


Quote:

Originally Posted by ortek_service (Post 1367916)
I did have a sudden thought, that the PET only enables the Motor when the Datasette Play/FF/REW buttons are pressed-down
- which activates the switch to Gnd on the (so actually active-low) CASS SENSE line.

So the Motor supply may not be activated, if there isn't a Datasette connected, or if UC7 (6520) PIA is not reading these correctly, as it could be the Kernal is running in a loop that is reading the CASS SENSE line and writing to CASS MOTOR bit, so might override the POKE I gave.

But always having a Datasette connected to Port 2, with Play etc pressed, whilst checking it, should hopefully overcome this.

That PRINT PEEK (59458) of the 6522's DDRB was correct at least - as I'd just worked-out it should be 00011110 = 30 from directions of signals on the schematic. I wonder what PRINT PEEK (59456) returns? (I'm not sure if you can read-back the status of a set output line, but worth a try)


ortek_service 25th Apr 2021 8:39 pm

Re: Non-working Commodore PET 3016
 
Quote:

Originally Posted by ScottishColin (Post 1367933)
OK - I got a 40 pin new socket and took pin 14 out. After boot, pin 14 was 5.1V. After a LOAD "",2, it stayed at 5.1V.

There was no power available to datasette 2 at any time.


Is that with a button pressed-down on an attached to Port 2 Datasette?

Is UC7 Pin 7 (PA5 = nCASS-2 SWITCH), with attached on Port-2 Datasette button down, measuring 0V?

(UC7 Pin 6 (PA4 = nCASS-1 SWITCH), with attached on Port-1 Datasette button down, should measure 0V)
And > +2V without a Datqsette / without it in Play/FF/REW

ortek_service 25th Apr 2021 8:50 pm

Re: Non-working Commodore PET 3016
 
Quote:

Originally Posted by ScottishColin (Post 1367935)
No - I was just removing and refitting all socketed ICs one by one to see if I could get past the random characters screen.

I do have a full can of Deoxit D5 - is that useful stuff to be using? Can it do any harm?
>>

It shouldn't really do any harm, but it may not be a permanent fix for a dodgy socket / very-oxidised pin. So may be better to see how long it keeps working for now / seeing if there is definitely a dodgy socket / cleaning suspected bad contacts IC's pins manually with some very fine wet & dry abrasive paper with some of that D5 sprayed on (or fibre cleaning block, but difficult to get to pins inside edge), until nice and shiny.
There was also a discussion on here about D5 a while ago: https://vintage-radio.net/forum/showthread.php?t=99254

ScottishColin 25th Apr 2021 8:54 pm

Re: Non-working Commodore PET 3016
 
Ok. I will plug in a datasette into port 1 and one into port 2. Both are known working dataset yes.

I'll do this systematically and report back.

Colin.


Quote:

Originally Posted by ortek_service (Post 1367942)
Quote:

Originally Posted by ScottishColin (Post 1367933)
OK - I got a 40 pin new socket and took pin 14 out. After boot, pin 14 was 5.1V. After a LOAD "",2, it stayed at 5.1V.

There was no power available to datasette 2 at any time.


Is that with a button pressed-down on an attached to Port 2 Datasette?

Is UC7 Pin 7 (PA5 = nCASS-2 SWITCH), with attached on Port-2 Datasette button down, measuring 0V?

(UC7 Pin 6 (PA4 = nCASS-1 SWITCH), with attached on Port-1 Datasette button down, should measure 0V)
And > +2V without a Datqsette / without it in Play/FF/REW


ortek_service 25th Apr 2021 9:04 pm

Re: Non-working Commodore PET 3016
 
Quote:

Originally Posted by ScottishColin (Post 1367938)
If I POKE 59456,0, PRINT PEEK(59456) repeatedly returns 145.

145 = 10010001. And so UC5(6522) Port B lines are set to:

PB7 nDAV (In) = High
PB6 nNFRD (In) = Low
PB5 VIDEO ON (In?) = Low
PB4 nCass-2 Motor (Out) = High (So this is not enabled, as this output is active-low
PB3 Cass Write (Out) = Low
PB2 nATN (Out) = Low
PB1 nNFRD (Out) = Low
PB0 nNDAC (In) = High

Therefore, all the pins that are actually configured in DDRB (bits 7:0 set for: In In In Out Out Out Out In) to be outputs are being set low except for PB4 (Pin 14) which is not actually getting set low internal to 6522 (Unless the 6522 always uses its read-buffers, even with Data Direction bit set to Output, to measure the actual pin status rather than relying on what internal dataout latch is set to)
- And probably because the Kernal is interrupting between the Poke & Peek. (Only way to tell would be by running some assembly language code to do the Poking and Peeking, with interrupts briefly disabled at the start, before re-enabling them afterwards).

So I do think it's worth measuring voltage on the UC7 Pin 7 (In case there's a bad contact there, and it's staying high)

ScottishColin 25th Apr 2021 10:27 pm

Re: Non-working Commodore PET 3016
 
PET booted with known good working datasettes plugged into port 1 and port 2.

At boot, there is a small amount of power to Datasette1 and none to Datasette 2 (i.e. I can hear datasette 1 turning for a small amount of time)

At rest after powerup,
UC7/6 (datasette 1) - 4 v
UC7/7 (datasette 2) - 5v

Pressing play (without any LOAD commands)
UC7/6 - 0.23v
UC7/7 - 5.1v (this noticeably changes on the meter from 5v)

LOAD "",1 command issued and PLAY pressed on datasette 1 - 0.23v
LOAD "",2 command issued and PLAY pressed on datasette 2 - 5.1v

Colin.


All times are GMT +1. The time now is 10:55 pm.

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