• Please review our updated Terms and Rules here

PET 2001 CB2 Sound Mod

Holmes

Experienced Member
Joined
Dec 13, 2010
Messages
313
Location
Marietta, GA
So I am working on adding sound to my PET 2001N.

I have combed the internet sources, and found several designs based on using the CB2 pin. I got one from the "PET cookbook", and it used a variable resistor with a transistor and speaker and a 5V power source. I tried this design, but only got some wimpy sound from my speaker, which I was able to modify with some POKEs. Maybe I could try hooking up a piezo speaker to this setup and see if it gets any louder.

Some designs need an amplifier (the design from the first screen of space invaders) but I wanted to avoid any complicated circuits or too much additional equipment. I have not seen any plans for a piezo speaker, which I believe is that the PET 4000/8000's had.

I am interested in adding a mod for the piezo sound. I looked at the online schematics for the 8000's, and it seems on that they hook the CB2 pin up to pin PA7 on the 6520 chip through a NAND gate, and then through a 10 ohm resistor, to the piezo. I don't understand the connection to the 6520, or the need for the NAND gate.

It seems strange to me that no-one would do this mod, since it's what Commodore did on its later machines.

Has anyone successfully wired a piezo speaker mod to an early PET?

Any other thoughts or ideas?
 
I used a LM386 Op amp. I know you specifically said you don't want to do this, but I can't imagine doing it any other way, piezo element or not.

The NAND gate is there because it's cheaper than a buffer/driver, IMO. You wouldn't need it if you used an op amp, so it's a horse a piece.
 
OK, thanks for the suggestion. If I have to put in an op amp, I'll do it. I think I built a small LM386 amp circuit once before, and it worked pretty well, and wasn't that big. I'd love to build it all internally, but at the same time not make any permanent changes to the motherboard.
 
That's hard to do! Good luck. (Not sarcasm). I tried to do that and probably fried a 6520 :(
 
So I have been able to play around with my CB2 sound mod now that I've got my PET working again after the blown capacitor.

As I stated at the beginning of this thread, I wanted a simple sound mod, with as minimal components as possible. I looked at the schematics for the newer PETs for their sound circuit, which I found here (for the 8000): http://www.zimmers.net/anonftp/pub/cbm/schematics/computers/pet/8032/8032029-03.gif

On that schematic, it is basically the CB2 pin hooked up to pin PA7 on the 6520 chip (Diagnostic Sense line) through a NAND gate, and then through a 10 ohm resistor, to the piezo. I didn't understand the connection to the Diagnostic Sense line via the NAND gate. I figured it was just a means of disconnecting sound based on the output of the Diagnostic Sense line (basically, only make sound if the Diagnostic Sense line is off). Because of this presumption, I just omitted the Diagnostic Sense connection, and just arranged the circuit as follows:

CB2 (the 2nd to last pin on USER port) -----> 20 ohm resistor ------> (+) PIEZO BUZZER (-) ---------> GROUND (last pin on the USER port)

I used 20 ohms of resistance for extra protection just in case.

The RESULT? It seems to work great! Sound is very audible, and clean. No need for an amplifier (although it may be a bit muffled when I put it in the PET case, in which case I may use a 10 ohm resistor). Also a very minimal circuit, and as far as I can see, most close to Commodore's own sound circuitry of the 8000.

Can anyone shed light on the reason for the connection to the Diagnostic Sense line? Is it okay to omit that part of the circuit? It saves me having to add a NAND gate to my mod.

Does anyone see anything glaringly bad about my circuit?
 
Can anyone shed light on the reason for the connection to the Diagnostic Sense line? Is it okay to omit that part of the circuit? It saves me having to add a NAND gate to my mod.

Does anyone see anything glaringly bad about my circuit?

During power up, the PET reads the diagnostic pin from the User Port (thru the 6520 PIA), and if grounded, the PET goes straight to the Machine Language Monitor.

I'm not sure why the buzzer is forced to +5V if the diagnostic line is held low, one would think it would do the piezo no good although the piezo must have a pulse waveform to make sound. So perhaps it is just a handy way to disable the buzzer.

The only reason I can think of for disabling the buzzer after (power up) is to be able to use the CB2 line for a user function other than ringing a buzzer as it is a powerful feature of the VIA chip and of course the CB2 line is brought out to the User Port.

I assume your PET has been upgraded to BASIC 4 to have a sound on power up? If so I wonder if your toolkit ROM works? I think it may be for the BASIC 2 in the 2001N/3000 Pets.

If so, there is a program called BATPRO that has the features of Toolkit and much more for the BASIC 4 PETs. The down side is that it takes both the A000 and the 9000 ROM sockets. :(
-Dave
 
Last edited:
Dave - okay, that makes some sense. If you wanted to do something with CB2 other than sound, then you could disable the piezo by holding the diagnostic pin low. If not, I guess it would be very irritating to have the CB2 pulses come out of the speaker!

Actually, my PET still has the upgraded ROMS (2.0). I have been doing all this for the very important reason of being able to play space invaders with sound (and possibly play with other sound programs like the cool PETsynth). I wish it did do the startup chirps, though. The earlier ROM machines start up so peacefully that you don't know anything's going on until the screen comes on.
 
My 2001N-32 has 4.0 ROMs, and they were installed by either Commodore or a dealer because there is a sticker inside the case that reads "UPGRADED TO 4.0".
It does not chirp at power up. I assumed the ROMs for this machine are different than the 4.0 ROMs in a chirping PET. Something should be different in the ROMs anyway I would think, as I haven't a CRTC.
 
Hmm, and you added the CB2 sound with an amplifier? That's interesting. Maybe your ROM versions are different from the later 4.0 ROMS, especially if it was done "officially".
 
Last edited:
My 2001N-32 has 4.0 ROMs, and they were installed by either Commodore or a dealer because there is a sticker inside the case that reads "UPGRADED TO 4.0".
It does not chirp at power up. I assumed the ROMs for this machine are different than the 4.0 ROMs in a chirping PET. Something should be different in the ROMs anyway I would think, as I haven't a CRTC.

I checked my "PET Personal Computer Guide", and there is a list called PET ROM Genealogy, and for the 2001N it lists ROMs 3.0, 4.0, and 4.0+. The 4.0 ROMs are 901465-19, -20,-21, -29, -22 and 901447-10. The 4.0+ ROMs are the same except for a 901465-23 instead of the 901465-19.
 
Mine are then 4.0+.

I have x, x, 901465-23, 901465-20, 901465-21, 901465-29, 901465-22; and 901447-10

Are there any clues what's different between 4.0 and 4.0+?
 
Mine are then 4.0+.

I have x, x, 901465-23, 901465-20, 901465-21, 901465-29, 901465-22; and 901447-10

Are there any clues what's different between 4.0 and 4.0+?

Sorry. I can't find any reference to what 4.0+ means. It also lists 4.0 and 4.0+ ROMs for the 4000 series, and for those ROMs, the only difference is the same 901465-23 in place of the 901465-19.

I can scan the table and post it when I get a chance.
 
Any meaningto add a speaker in a 2001-8C (320008), is there any software that produces sound?
I know "Fire" asks if I want to have sound or not, haven't checked much more software yet.
 
I ended up adding this solution that Holmes suggested:

"CB2 (the 2nd to last pin on USER port) -----> 20 ohm resistor ------> (+) PIEZO BUZZER (-) ---------> GROUND (last pin on the USER port)"

Thanks!

Put the connector in a DSUB37 shell, made a hole and put some mesh in:

Speaker is one like this (just the part with wires, not the shell below it), fitted pretty much in the shell without modification and tight enough not having to glue it:
http://g01.a.alicdn.com/kf/HTB1ZOkX...n-Wired-Rohs-12V-Black-46-5x39x23-5mm-TPS.jpg

Works fine with "Fire" and the "Space Invaders"-clone.


I might squeeze in a joystick connector as well but there seems to be different pinouts used for that. The "four player" adapter for the C64/VIC20 has a chip to be able to swap signals between two controller, perhaps I should make my own version - but it would be nice to have one compatible with the existing software.
 
I ended up adding this solution that Holmes suggested:

"CB2 (the 2nd to last pin on USER port) -----> 20 ohm resistor ------> (+) PIEZO BUZZER (-) ---------> GROUND (last pin on the USER port)"

Thanks!

Put the connector in a DSUB37 shell, made a hole and put some mesh in:

Speaker is one like this (just the part with wires, not the shell below it), fitted pretty much in the shell without modification and tight enough not having to glue it:
http://g01.a.alicdn.com/kf/HTB1ZOkX...n-Wired-Rohs-12V-Black-46-5x39x23-5mm-TPS.jpg

Works fine with "Fire" and the "Space Invaders"-clone.


I might squeeze in a joystick connector as well but there seems to be different pinouts used for that. The "four player" adapter for the C64/VIC20 has a chip to be able to swap signals between two controller, perhaps I should make my own version - but it would be nice to have one compatible with the existing software.


Hey, nice mod! And it's totally removable. I'm glad it worked for you as well.

I found this mod to be far easier than other CB2 sound mods I found.
 
Back
Top