• Please review our updated Terms and Rules here

Commodore PET 4032 Problem

Dave,

Great idea! I would certainly go for the USB option if possible. However, I have no idea how easy/hard this would be

Tez,
Yes, USB would be better for newer machines, but as an amateur programmer, I dread the Windows environment so I would need some helpful tools.
-Dave
 
Rom set

Rom set

Thanks to this resource I have established I have the following ROM set:

ROM 4.1 - Basic Level IV - Graphic Keyboard – Series 2001 & 4000

Which comprises these ROMS from left to right as you view the front of the open PET:

The PET4032/8032 Kernal ROM - 4 KBytes
Position: UD9 - ROM: 901465-22

The Screen editor for BASIC 4, normal keyboard, no CRTC (40 columns) - 4 KBytes
Position: UD8 - ROM: 901447-29

The BASIC 4 ROM CHIPS - 12 KBytes total comprising:
Position: UD7 - ROM: 901465-21
Position: UD6 - ROM: 901465-20
Position: UD5 - ROM: 901465-23 (Patched Version which replaces 901465-19)

Thanks to this resource for the links to the bin files for the ROMS above.
 
It makes me a little queasy thinking about having to create an exe file for the Windows environment that will control the parallel port or any part of the PC hardware. I guess if I limit myself to DOS, it wouldn’t be so bad.
-Dave

I used Visual Basic to control a Parallel Port Relay Board under Windows XP. I have zipped the dll and instructions I used and put them here together with an example if it's of any use...
 
Thanks to this resource I have established I have the following ROM set:

ROM 4.1 - Basic Level IV - Graphic Keyboard – Series 2001 & 4000

Which comprises these ROMS from left to right as you view the front of the open PET:

The PET4032/8032 Kernal ROM - 4 KBytes
Position: UD9 - ROM: 901465-22

The Screen editor for BASIC 4, normal keyboard, no CRTC (40 columns) - 4 KBytes
Position: UD8 - ROM: 901447-29

The BASIC 4 ROM CHIPS - 12 KBytes total comprising:
Position: UD7 - ROM: 901465-21
Position: UD6 - ROM: 901465-20
Position: UD5 - ROM: 901465-23 (Patched Version which replaces 901465-19)

Thanks to this resource for the links to the bin files for the ROMS above.

Just to confirm the above list of roms are identical to the roms in my 3032 machine, so I'll look forward to checking things out for you, no prob..............Harry
 
2532 Reading / Writing

2532 Reading / Writing

I think I actually might understand this. Can you guys verify my logic?

2532b.jpg

To Read:

1) Pull E to 0 volts
2) Pull Vpp to 5 volts
3) Specify Address to Read using A11 to A0
(use 0 volts for binary 0s and 5 volts for binary 1s)
4) Read Data from D7 to D0
(0 volts = binary 0s and 5 volts = binary 1s)
(You can just use LEDs with Resistors to "Read" the Data)

To Write:

1) Erase EPROM using UV light
(All bits will be set to 1)
(UV Light should be 253.7nM and approx 2.5cm away from EPROM window)
(Takes between 10 - 15 mins but sunlight should do it in a week or so)
2) Apply 25 volts to Vpp
3) Specify Address to Write using A11 to A0
4) Specify Data to be Written using D7 to D0 (Only 0s will actually be written)
5) Pull E to 5 volts then pulse to 0 volts for 50ms then pull back to 5 volts
(tolerance of 10% over for pulse so it can be up to 55ms)

So a PET user who just wants to verify the first few bytes of a ROM could put the ROM on a breadboard and connect power from a USB cable, manually set the addresses and "read" the data with LEDs. The first few bytes could then be compared to those in the corresponding bin file which they could download.
 
Last edited:
Dwight,
Yes I think you are right about the timing. I looked at the spec again and the tolerance on the 50mS is 10% so even my sloppy coding should be able to handle that.
On the 25V circuit, wouldn't I need a DC/DC converter or a regulator chip somewhere?
Thanks,
Dave

Hi Dave
It would be tough to get a simple DC/DC converter that would put out 30ma at 25V. It would require
at least 150ma at 5 volts. It would be easier to stack a couple of 12v wall worts and then rectify, filter
and regulate to get the 25V. Another option is just to use a bench supply. Many of the them
put out either 50V or stack a couple that put out 0-15V. Do remember you don't need the entire
thing to be modular. For just reading, you don't even need the high voltage.
Of the programmers I saw I like the one that says it connects to a joystick connector.
It could just as easily be connected to a parallel printer port. It could be easily expanded
to handle most any size EPROM since it just loads with a shift register. It is the best
of the bunch in my eyes.
Dwight
 
Hi Dave
It would be tough to get a simple DC/DC converter that would put out 30ma at 25V. It would require
at least 150ma at 5 volts. It would be easier to stack a couple of 12v wall worts and then rectify, filter
and regulate to get the 25V. Another option is just to use a bench supply. Many of the them
put out either 50V or stack a couple that put out 0-15V. Do remember you don't need the entire
thing to be modular. For just reading, you don't even need the high voltage.
Of the programmers I saw I like the one that says it connects to a joystick connector.
It could just as easily be connected to a parallel printer port. It could be easily expanded
to handle most any size EPROM since it just loads with a shift register. It is the best
of the bunch in my eyes.
Dwight

Hi
I was looking at the schematic again an noticed a problem. The data shift registers
are not 3stated during the read. This is not real good for a EPROM or the 173.
I'd suggest a little modification to handle this.
Dwight
 
Emptymind,
You are getting close. There are a few things to note: Vpp should be at 25V during programming mode and 5V at all other times. The settling time for data is about 0.5 uS so it is only an issue for high speed reading or writing.

For programming, the /PGM (pin 20) signal must at a normal 5V and then pulsed low for 50 mS for each memory location.

Your idea of using 5V power from the USB port may not work with older USB ports. Your circuit will have a current demand of about 95 mA for the EPROM and 160 mA for the LEDs and drivers (8 X 20 mA if all are on) for a total of about 0.25 Amp. USB 2.0 ports may work. Check the spec of the PC you will be using.
 
Last edited:
Emptymind,
You are getting close. There are a few things to note: Vpp should be at 25V during programming mode and 5V at all other times. The settling time for data is about 0.5 uS so it is only an issue for high speed reading or writing.

For programming, the /PGM (pin 20) signal must at a normal 5V and then pulsed low for 50 mS for each memory location.

Your idea of using 5V power from the USB port may not work with older USB ports. Your circuit will have a current demand of about 95 mA for the EPROM and 160 mA for the LEDs and drivers (8 X 20 mA if all are on) for a total of about 0.25 Amp. USB 2.0 ports may work. Check the spec of the PC you will be using.

Thanks Dave, I have corrected my diagram and post above.

For kicks I gave it a try on my 901447-10 Character Generator ROM. (Which we kind of established was probably fine.) I read the first 8 addresses with the following results which match the binary file in the link perfectly: :D

CharacterROM.jpg

I posted my other ROMs to Harry this afternoon (thanks Harry ;-)) so hopefully we will know more in a couple of days...
 
For kicks I gave it a try on my 901447-10 Character Generator ROM. (Which we kind of established was probably fine.) I read the first 8 addresses with the following results which match the binary file in the link perfectly: :D
Cool! I wasn't entirely serious when I suggested that link to "the simplest EPROM reader", but it can indeed be quite useful (and simple ;-) ).

Like many diagnostic tests if it's negative (i.e. the sampled bytes match) that's not conclusive, since you might have a random byte(s) that's bad. But many failures are stuck bits which you will often find this way.

I don't know if you can still find all the pieces since it seems to have disappeared from the web a couple of years ago, but this was one of the simplest PC parallel port EPROM reader/programmer I ever ran across:

http://web.archive.org/web/20080501160421/www.larwe.com/zws/products/epromr1/index.html

Anyway, good luck, have fun, and you'll have a new friend in Harry ;-)

mike
 
For kicks I gave it a try on my 901447-10 Character Generator ROM. (Which we kind of established was probably fine.) I read the first 8 addresses with the following results which match the binary file in the link perfectly: :D

View attachment 3801

empty,

Very good! Although when I noticed some of the 'zeros' had the lights on dimly, I found that you did not use an LED driver, typically an open collector inverter chip (7406) to buffer the EPROM outputs. It seems like you are driving the LEDs directly from the EPROM which may be stressing it as it is spec'd to sink only 2 ma of current (not the 20 mA the resistors may be set for). So don't leave the circuit on for too long.
-Dave
 
Cool! I wasn't entirely serious when I suggested that link to "the simplest EPROM reader", but it can indeed be quite useful (and simple ;-) ).

Mike,
I did not reply to your original post as I knew you were kidding, but emptymind had the last laugh on us! :)

Maybe he should have buffered the EPROM outputs and probably added a few address switches to make life easier, but he sure got the job done.
-Dave
 
Mike,
I did not reply to your original post as I knew you were kidding, but emptymind had the last laugh on us! :)
Well, I wasn't entirely kidding either since it is indeed a way of checking an EPROM, albeit somewhat limited; I was pleasantly surprised that EM actually tried it though.

Maybe he should have buffered the EPROM outputs and probably added a few address switches to make life easier, but he sure got the job done.
-Dave
Probably a good idea to at least sink current through the LEDs (i.e. connect to common Vcc), but to keep it simple any reasonable resistance would probably keep current within a safe value, at least for brief lengths of time.

One thing to keep in mind is that we're (probably) reading 2332s, not 2532s; I suppose the electrical specs will be similar since neither is CMOS, but the 2332 has programmable chip enables which can effectively be used as an extra 2 bits of external address lines. I don't think that's actually used in this model PET (they're programmed compatible with th 2532, 21=Vcc, 20=/CE) but it's something to keep in mind in the general case.
 
Thanks Dave, I have corrected my diagram and post above.

For kicks I gave it a try on my 901447-10 Character Generator ROM. (Which we kind of established was probably fine.) I read the first 8 addresses with the following results which match the binary file in the link perfectly: :D

View attachment 3801

I posted my other ROMs to Harry this afternoon (thanks Harry ;-)) so hopefully we will know more in a couple of days...


Great news is that all emtymind's roms have checked out ok! I did replace them one at a time, and no problems, the pictures show the roms unpacked, ( super packing by the way)
and if you can make out from the other picture all his roms are installed and the the screen shows exactly what it should. well lets hope its just one of the 40pin ic's he hasn't yet swapped,
best of luck, you'll have your roms back , soon as poss. ............Harry
 

Attachments

  • P1030200a.jpg
    P1030200a.jpg
    60.4 KB · Views: 1
  • P1030204a.jpg
    P1030204a.jpg
    86.4 KB · Views: 1
Harry,
Good work. The news is good and bad. Good that the ROMs are OK, but bad that the ROMs are OK... :)

Since Empty has gone through all the trouble of removing his ROMs, he should consider installing 24 pin IC sockets before replacing the ROMs for easier troubleshooting the next time. It would also allow for the placement of a diagnostic EPROM in the F000 slot in the future.

I would envision the diagnostic chip could contain 6502 code to try to communicate with the user by initializing the CRT controller and sending a simple menu to the screen. If that is not working, it could attempt to communicate via lights on the user port, etc. Simple CPU, RAM tests and I/O tests as well as ROM sum checks could be performed.

Dwight has mentioned that he uses this technique on some of his machines. Does anyone have such a EPROM for the PET? It might make for a good project for our software gurus.
-Dave
 
Harry,
Since Empty has gone through all the trouble of removing his ROMs, he should consider installing 24 pin IC sockets before replacing the ROMs for easier troubleshooting the next time.

Oh, I see from the photos, all the big chip are on sockets. That good. Then it will be fairly easy to try the 40 pin chips.

But after that, a methodical and tedious examination with an oscilloscope may be the best hope of finding the dead chip.
-Dave
 
Back
Top