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 23rd Apr 2025, 2:10 pm   #141
Mark1960
Octode
 
Join Date: Mar 2020
Location: Kitchener, Ontario, Canada
Posts: 1,524
Default Re: Commodore PET 4016

Quote:
Originally Posted by ScottishColin View Post
Thanks for taking a look.

For the record, I have removed that modification at the moment.

Colin.

Quote:
Originally Posted by TonyDuell View Post
Assuming the ICs are as on the schematic I'm working from, the that modification is not insane. It would change the timing of singals to the DRAM (the main 32K of RAM) by replacing phi_2 by a slightly delayed version of it.

I don't see how it could affect the video RAM though.
I wonder if this is related to the additional 16k dram. Are they the same speed rating as the originals?
Mark1960 is offline   Reply With Quote
Old 23rd Apr 2025, 2:21 pm   #142
ScottishColin
Nonode
 
Join Date: May 2012
Location: Perth, Scotland
Posts: 2,436
Default Re: Commodore PET 4016

The original 16k is made up of 8 chips marked as JAPAN 1F3 HM4716AP-4N

The added 16k is made up of
1 marked as ITT 8111 4116 3N
7 marked as NEC K14348-114 D416C-2

Colin.
ScottishColin is offline   Reply With Quote
Old 23rd Apr 2025, 2:59 pm   #143
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 13,693
Default Re: Commodore PET 4016

After a brief look at the datasheets for all three types it looks like the two types used in the expanded memory are somewhat faster than the type used for the original 16K. This is very much what I expected, that the person fitting the expansion would err on the side of caution and use chips which were a little bit faster than necessary.

Probably, the oddball ITT one is a later replacement for an NEC one which failed at some point.
SiriusHardware is online now   Reply With Quote
Old 23rd Apr 2025, 10:32 pm   #144
julie_m
Dekatron
 
Join Date: May 2008
Location: Derby, UK.
Posts: 7,966
Default Re: Commodore PET 4016

OK, I've modified my test program as mentioned above.

Here's what it (still) looks like if it passes:
Click image for larger version

Name:	pet_3rd_test.png
Views:	303
Size:	26.9 KB
ID:	313576
There is a new first test: a simple visual read-modify-write test. The first 256 locations in screen memory are all cycled through all possible values. This is done by increasing the value already stored in that location; so if the screen RAM is not reading back correctly, then this will look wrong (a bunch of "@" signs means nothing at all is being read back). After cycling through the character set, there will be a delay of about 5 seconds, and then the workspace test begins as per the previous test ROM.

If a failure occurs when reading back a value already written to memory, and if the display system is working (and Colin's seems to be), then it will display the address at which the fault occurred, the value it was trying to write there and the value it actually read back, clear of the block of memory under test, something like this: A00W01R00 means address &8000, tried to write &01, read back &00.

If the value written to memory is read back successfully, then every other location of the 256 under test -- which should all contain &00 -- will be read and checked for spurious ones (due to stuck bits, or address clashes). If anything other than &00 is read, it will (try to) display the address at which the fault occurred and the value it read, something like this: A40 R01 means address &8040, read back &01.

And I have inserted what I hope are the right CRTC initialisation values for Colin's PET.

Here is the ROM image: (For the benefit of anyone discovering this thread in future, it goes in a 2716 and replaces the editor ROM.)
testrom_03.zip
If the read-modify-write test seems wrong, I can make a new version with that test slowed down, or have it running for more passes, to make it a bit easier to spot anything going wrong.
__________________
If I have seen further than others, it is because I was standing on a pile of failed experiments.
julie_m is online now   Reply With Quote
Old 24th Apr 2025, 7:12 am   #145
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 13,693
Default Re: Commodore PET 4016

Thanks Julie, it will be good to (hopefully) understand just what it is that's making Daver's Pettester halt on the screen RAM test.
SiriusHardware is online now   Reply With Quote
Old 24th Apr 2025, 11:51 am   #146
ScottishColin
Nonode
 
Join Date: May 2012
Location: Perth, Scotland
Posts: 2,436
Default Re: Commodore PET 4016

Screenshots of the failing 4016 attached; I haven't attached the 4032 success screens as they are just working as designed but it's still useful for me to have a reference device.

The error message is a00w01r80 which at least relates to the screen as it is an inverse @ which is hex 80 in Graphics mode.

As you and Sirius said, would it be useful to repeatedly run the tests so I can start to probe devices?

Colin.
Attached Files
File Type: zip Test 1_3 4016 fail initial screen.zip (3.22 MB, 316 views)
File Type: zip Test 1_3 4016 fail error message.zip (2.97 MB, 317 views)
ScottishColin is offline   Reply With Quote
Old 24th Apr 2025, 12:05 pm   #147
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 13,693
Default Re: Commodore PET 4016

+1 to that, can it be made so that on failure of a particular test the code will go into a tight loop where it continually re-attempts the failed test? (In this case, write 01 to 8000, read back from 8000). That would allow us to try to scope the data on both sides of one of the intervening buffers and also the relevant read / write signals of course.

Because it's easy to do, swap the 2 x 2114s over and see if that changes the 'wrong' number returned from 80H to something else.
SiriusHardware is online now   Reply With Quote
Old 24th Apr 2025, 1:52 pm   #148
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
Screenshots of the failing 4016 attached; I haven't attached the 4032 success screens as they are just working as designed but it's still useful for me to have a reference device.
Oh, yes. See also, how a stereo amplifier with a fault on one channel is often an easy fix because you basically have another, working one .....
Quote:
Originally Posted by ScottishColin View Post
The error message is a00w01r80 which at least relates to the screen as it is an inverse @ which is hex 80 in Graphics mode.
I see the read-modify-write test ended up as a block of inverse "a" characters (&81).

Did it start off very briefly (perhaps even too briefly to be seen) as non-inverted "@" signs and then stick at all inverse "a" ?

Because that would be absolutely consistent with every location in screen memory reading back to the CPU as &80. Though I'm not sure how it's ended up displaying inverse @ in location &8000 where it was writing &01.

Quote:
Originally Posted by ScottishColin View Post
As you and Sirius said, would it be useful to repeatedly run the tests so I can start to probe devices?
That will be my next move, I think.

(Side comment: Does your PET have the built-in machine language monitor?)
__________________
If I have seen further than others, it is because I was standing on a pile of failed experiments.
julie_m is online now   Reply With Quote
Old 24th Apr 2025, 1:57 pm   #149
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 13,693
Default Re: Commodore PET 4016

The built-in machine code monitor can be invoked by holding the DIAG line low at power-on - however it is unlikely to restrain itself from trying to use system RAM which for the moment we can't assume is working.

Nor do we know whether all the keys on the keyboard are working - traditionally the keyboard is the last or second last thing you have to fix on these.

There would be no harm in trying it though.
SiriusHardware is online now   Reply With Quote
Old 24th Apr 2025, 2:53 pm   #150
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 13,693
Default Re: Commodore PET 4016

I'm puzzled by one thing: When Pettester stalls on the screen RAM test section the second group of 256 characters - that is, the ones read back from the first 256 screen locations and then written back out to the second 256 locations - look perfect, exactly like the first 256 characters.

In particular, none of the first 128 characters in the second block of 256 have been made inverse.

So why this difference? Is Pettester still behaving the same way / giving the same result as in image #2, post #93? Or has that changed now?
SiriusHardware is online now   Reply With Quote
Old 24th Apr 2025, 3:09 pm   #151
ScottishColin
Nonode
 
Join Date: May 2012
Location: Perth, Scotland
Posts: 2,436
Default Re: Commodore PET 4016

I've fitted a reset switch so I can power off and on without using the mains switch - it starts at inverse a and does not cycle through any other characters. After about 5 seconds, the first character changes to inverse @ and the error message appears.

The 4032 does have the built in monitor but if (as Sirius suggested) it depends on internal RAM working then I'm not sure it'll work.

I have tried the monitor but for whatever reason with only the kernel and the test ROM fitted, it doesn't drop into the monitor but starts the test in the TEST ROM UD7; I'm not sure whether all ROMs need to be fitted?

Colin.


Colin.

Quote:
Originally Posted by julie_m View Post
Quote:
Originally Posted by ScottishColin View Post
Screenshots of the failing 4016 attached; I haven't attached the 4032 success screens as they are just working as designed but it's still useful for me to have a reference device.
Oh, yes. See also, how a stereo amplifier with a fault on one channel is often an easy fix because you basically have another, working one .....
Quote:
Originally Posted by ScottishColin View Post
The error message is a00w01r80 which at least relates to the screen as it is an inverse @ which is hex 80 in Graphics mode.
I see the read-modify-write test ended up as a block of inverse "a" characters (&81).

Did it start off very briefly (perhaps even too briefly to be seen) as non-inverted "@" signs and then stick at all inverse "a" ?

Because that would be absolutely consistent with every location in screen memory reading back to the CPU as &80. Though I'm not sure how it's ended up displaying inverse @ in location &8000 where it was writing &01.

Quote:
Originally Posted by ScottishColin View Post
As you and Sirius said, would it be useful to repeatedly run the tests so I can start to probe devices?
That will be my next move, I think.

(Side comment: Does your PET have the built-in machine language monitor?)

Last edited by ScottishColin; 24th Apr 2025 at 3:18 pm.
ScottishColin is offline   Reply With Quote
Old 24th Apr 2025, 3:11 pm   #152
ScottishColin
Nonode
 
Join Date: May 2012
Location: Perth, Scotland
Posts: 2,436
Default Re: Commodore PET 4016

The keyboard is mostly working - I've had a quick once over clean of it using my rubbing-the-pads-with-a-bit-of-paper method which has cleared up most keys but there are a few which need another go.

Colin.

Quote:
Originally Posted by SiriusHardware View Post
The built-in machine code monitor can be invoked by holding the DIAG line low at power-on - however it is unlikely to restrain itself from trying to use system RAM which for the moment we can't assume is working.

Nor do we know whether all the keys on the keyboard are working - traditionally the keyboard is the last or second last thing you have to fix on these.

There would be no harm in trying it though.
ScottishColin is offline   Reply With Quote
Old 24th Apr 2025, 3:17 pm   #153
ScottishColin
Nonode
 
Join Date: May 2012
Location: Perth, Scotland
Posts: 2,436
Default Re: Commodore PET 4016

Now I'm confused. I've popped the PETTESTER ROM back in and it's the same as image 2 on post 93 which is the same as the 40 column image on P4 of the manual?

https://drive.google.com/drive/folders/1fyLbr1kcG98a2FDOMo1H5pj9lIdJpHcx

Colin.


Quote:
Originally Posted by SiriusHardware View Post
I'm puzzled by one thing: When Pettester stalls on the screen RAM test section the second group of 256 characters - that is, the ones read back from the first 256 screen locations and then written back out to the second 256 locations - look perfect, exactly like the first 256 characters.

In particular, none of the first 128 characters in the second block of 256 have been made inverse.

So why this difference? Is Pettester still behaving the same way / giving the same result as in image #2, post #93? Or has that changed now?
ScottishColin is offline   Reply With Quote
Old 24th Apr 2025, 4:25 pm   #154
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 13,693
Default Re: Commodore PET 4016

Quote:
Now I'm confused. I've popped the PETTESTER ROM back in and it's the same as image 2 on post 93 which is the same as the 40 column image on P4 of the manual?
That's been the problem all along - Pettester halts on the screen RAM test as though it has found a fault but there is no visual evidence of a fault in its results output - apart from that blip that Red To Black found. Julie suggested one possible way this can happen - if, due to a fault, the video output hardware was displaying the first half of the screen memory -twice- and never scanning the second half of the screen memory which also had a legitimate fault in it for Pettester to find, Pettester would halt with a perfect no-faults results display.

That's why we have called in the cavalry (Julie) to get an alternative analysis of the screen RAM. Julie's code is trying to do a more robust test which takes the possibility of that sort of fault into account.

Now we just have to work out why that test code is giving the results it is.
SiriusHardware is online now   Reply With Quote
Old 24th Apr 2025, 4:32 pm   #155
ScottishColin
Nonode
 
Join Date: May 2012
Location: Perth, Scotland
Posts: 2,436
Default Re: Commodore PET 4016

This all feels like progress to me. And if we can get the test to continue ad infinitum on both PETs at the same time, then I can start to take a good look guided by you.

I still wonder about the lack of factory fitted changes that are documented in the Technical Reference manual, but PETs don't always confirm to the schematics as we have found before.

Colin.
ScottishColin is offline   Reply With Quote
Old 24th Apr 2025, 4:40 pm   #156
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 13,693
Default Re: Commodore PET 4016

Quote:
I'm not sure whether all ROMs need to be fitted?
The monitor could have been in the Kernel ROM (that would certainly be a reasonable place for it to be) but as it doesn't work with only that one original ROM in we have to assume that the whole of its code is either in the EDIT ROM (which isn't there at the moment because it is displaced by Pettester and Julie), or could be spread across other ROMs.
SiriusHardware is online now   Reply With Quote
Old 24th Apr 2025, 5:52 pm   #157
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 13,693
Default Re: Commodore PET 4016

I've looked around a bit and find, as Colin possibly already knew, that the internal monitor can also be entered via a keyboard command

Code:
The PET of the CBM series 20xx/30xx/40xx/80xx and CBM-II
series PCs integrates a machine code monitor called TIM (short
for Terminal Interface Monitor).
TIM can be started using one of these commands, although the exact one to use seems to depend on the machine in question.

Code:
SYS 4 (normally in PETs)
SYS 1024
SYS 64785 (only CBM series 20xx/30xx)
SYS 54386 (only CBM series 40xx/80xx)
SYS 60950 (only CBM-II series: CBM 500/600/700 series)
Of course the entire BASIC / Command input infrastructure would have to be working in order for this to work, which is probably why the hardware method of entry to the monitor is also provided.

No doubt Colin can try this out on his reference machine, and Julie on her fully working VICE emulated PET.

What I can't find for definite is where the monitor code resides. I had a dissasembly of the BASIC 4 ROMs somewhere but of course I can't find it now.
SiriusHardware is online now   Reply With Quote
Old 24th Apr 2025, 6:04 pm   #158
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 13,693
Default Re: Commodore PET 4016

By the way Colin, did you try swapping the 2114s to see if that makes Julie's code return a different error? Should only take a minute.
SiriusHardware is online now   Reply With Quote
Old 24th Apr 2025, 6:34 pm   #159
ScottishColin
Nonode
 
Join Date: May 2012
Location: Perth, Scotland
Posts: 2,436
Default Re: Commodore PET 4016

2114s swapped - same outcome.

Colin.
ScottishColin is offline   Reply With Quote
Old 24th Apr 2025, 6:43 pm   #160
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 13,693
Default Re: Commodore PET 4016

Fair enough - I know those 2114s are new or otherwise considered good but they needed to be ruled out.
SiriusHardware is online now   Reply With Quote
Reply

Thread Tools



All times are GMT. The time now is 11:02 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.