PET 2001
PET 2001 | |
Type: | Computer |
Producer: | Commodore |
Price: | 1977: USD800, DEM2,900 (ca. EUR1,450) |
Released: | 1977 |
Discontinued: | 1986 |
Processor: | MOS 6502 @ ca. 1 MHz |
Memory: | 4KByte or 8KByte, upgradable to 32KByte |
OS: | BASIC 1.0 |
Info: | PET 2001 alias CBM 2001 different names and designs. Predecessor: KIM-1 Successor: CBM-II series |
PET is an acronym of Personal Electronic Transactor. The PET was one of the first Commodore computers. It was sold fully assembled with an integrated monitor, keyboard, and cassette memory, making it a candidate for the title of "World's First Real Personal Computer."
The CBM PET[edit | edit source]
The PET prototype debuted at the Consumer Electronics Show CES in Las Vegas in January 1977. Its Processor was the ground-breaking MOS Technology 6502, developed in 1975. The production version of the PET made its humble first public appearance in the basement of the West Coast Computer Fair in San Francisco, costing USD800.
In 1978, "Computerwoche" magazine reported big crowds around the Commodore booth at the CeBit show in Hannover (Germany), where the PET 2001 was so popular that anybody wanting to see it had to use their elbows vigorously. The release price was a relatively high DEM2,900, but after one year it dropped below DEM2,000. Commodore's German branch sold at least 4,000 units.
Unfortunately, Philips had previously trademarked "PET", forcing Commodore to change the computer's name. From then on, they sold it under the CBM name (Commodore Business Machines). It went on to become a top seller in the Canadian and United States education markets. It was Commodore's first fully featured computer, and it formed the basis of their entire 8-bit product line.
Technical Details PET 2001[edit | edit source]
CPU : MOS Technology 6502 Clock : 1MHz RAM : 4 or 8KByte, up to 32KByte external BASIC : 1.0 Interfaces : IEEE-488, tape recorder (2x), Userport, memory expansion Keyboard : 73 small keys Mass Storage: Internal tape recorder Monitor : 9 inch green, b/w or rare blue (40 chars)
PET, CBM 2001, CBM 3001[edit | edit source]
Only computers with the PET label on the front are actual PETs. They usually contain a 1977 circuit board. Today, these first machines are collector items, and they should only be powered on after careful maintenance, including a power supply test. Owners are also advised to check the old electrolytic capacitor near the transformer, which are known to fail as they age (replacement capacitors are still available for purchase).
Defective RAM or ROM can be replaced with Nicholas Welte's universal 6502 RAM/ROM Expansion.
Here is the typical BASIC 1.0 PET start screen:
*** COMMODORE BASIC *** 7167 BYTES FREE
This BASIC version is known to contain bugs. The CBM-2 series is often called the PET-2, but this is incorrect. The PET label is found only on the first machines. The later CBM 2001 series had a reworked board from 1978 and a bug-fixed BASIC.
These BASIC 2.0 computers start with the following screen:
### COMMODORE BASIC ### 7167 BYTES FREE
BASIC V2 from 1979 can be identified by using the BASIC command:
WAIT6502,n
.
MICROSOFT! is printed n times on the screen. If n is set to 0, it is printed 256 times.
Until this board version, it was possible to use 3 optional 4 KB ROMs at the memory addresses $9000-$9fff, $a000-$afff and $b000-$bfff. They were often used for small tools, BASIC add-ons or software dongles.
With the newer 2001 series, the uncomfortable "chicklet" keyboard changed to a regular computer keyboard. The tape recorder was moved off the main unit and had to be connected externally.
The CBM 3001 series distinguishes itself only by the front label and the larger memory. Machines of the 3001 series often have the 2001 series type label on the rear.
Teacher's PET[edit | edit source]
North American schools who ordered two PETs between autumn 1979 and summer 1981 received a third PET free, donated by Commodore:[1]
2001 Series - TEACHERS' PET(TM) - professional computer donated by C= Commodore
This strategy, meant to give Commodore a competitive edge in education against their main business rival, Apple, wasn't successful, probably due to the lack of educational software! After 1982, Commodore manufactured the PET 64 for a short time. It was also known as the "Educator 64" and was merely a modified C64 in an old PET case!
Interfaces[edit | edit source]
Userport[edit | edit source]
The connector is designated J2, interface has 12 positions (24 contact pads) with a 3.96mm (0.156") division between the centre of pads. Keying slots are placed between pads 1-2 and 10-11.
The upper row of pads (1..12) was intended for support service teams and retailers.
The pins on the bottom row (A..N) connect to a VIA, a 6522 chip from MOS-Technology, which is a "Versatile Interface Adapter".
The parallel interface in the userport is made up from eight programmable bidirectional I/O signals (PA0..PA7), an input handshake line (CA1) for these eight signal lines, which could also be used as a edge triggered input, and finally the CB2. CB2 has most functions that CA1 has, but can also be used as an I/O line for the shift register in the VIA. CB2 is often used as a sound output on early pets that have no internal speaker.
All the lines of the VIA that aren't connected to the userport are used by the computer for internal controls. The user should never use these signal lines.
The base address of the userport VIA 6522 is $E840 / 59456
Userport: 1 2 3 4 5 6 7 8 9 1 1 1 0 1 2 -|K|-|-|-|-|-|-|-|-|K|-|- ---E-----------------E----- -|Y|-|-|-|-|-|-|-|-|Y|-|- A B C D E F H J K L M N
Contact | Signal | Description |
---|---|---|
1 | GND | Digital ground |
2 | VIDEO | Video output for external screens. |
3 | IEEE-SRQ | Connection for testing the SRQ (Service Request). |
4 | IEEE-EOI | Connection for testing the EOI (End Of Identity). |
5 | /DIAG | If pulled low at power on, jumps to the diagnostic test routine. |
6 | #1 READ | Used by the test routine for checking the read function of recorder #1. |
7 | WRITE | Used by the test routine for checking the write function for both recorders. |
8 | #2 READ | Used by the test routine for checking the read function of recorder #2. |
9 | HORZ. | Horizontal synchronization signal. Is checked by the test routine. |
10 | VERT. | Vertical synchronization signal (60 Hz). Is checked by the test routine. |
11 | GND | Digital ground |
12 | GND | Digital ground |
A | GND | Digital ground |
B | CA1 | Edge triggered connection of 6522 VIA #1 (position A5). |
C | PA0 | PA0..PA7 can be programmed individually for input or output. |
D | PA1 | |
E | PA2 | |
F | PA3 | |
H | PA4 | |
J | PA5 | |
K | PA6 | |
L | PA7 | |
M | CB2 | Connection CB2 of 6522 VIA #1. |
N | GND | Digital ground |
Interface for internal and external tape recorder[edit | edit source]
This interface is an edge connector, designation J3 (internal J6). It has 6 positions and 12 contacts. Contact pad division is 0.156' (3.96mm). The coding slot is between contacts 2/B and 3/C.
1 2 3 4 5 6 -|-|K|-|-|-|- -----E--------- -|-|Y|-|-|-|- A B C D E F A-1 GND Digital ground B-2 +5V Power supply for the tape recorder. C-3 MOTOR +6V (controlled from computer) for the motor of the tape recorder. D-4 READ Read signal from tape recorder. E-5 WRITE Write signal to tape recorder. F-6 SENSE Senses if one of the buttons REW, FFWD or PLAY is pressed on the recorder. Note: On some early machines the pads 1 to 6 are not connected with A to F.
IEEE-488[edit | edit source]
In 1975 the first information about the IEC-BUS was published. With time different names for the IEC-BUS were used. The reason is that the international IEC-BUS norm had not been declared at this time. Only the various, but nearly same, national norm proposals exists. So e.g. in Germany the common name was IEC-Bus which was based on the German norm DKE 66.22(2). In the USA the same norm had the name IEEE 488/75. Apart from this the name GPIB (Hewlett Packard / General Purpose Interface Bus) has been established. After adoption of the international norm the official paper received the name IEC 625-1 which was effective for all countries. Out of this follows the international approved name IEC-625-Bus with the shortcut < IEC-625 >.
Important at first is, that all these names mark the same bus system and that hardware with this identifier is compatible with each other. In the following text the identifier IEEE-488 will be used because this is more popular to use with the CBM computers. This bus system was originally developed for measure and control duties but was very soon used for computer mass memories as well. With the IEEE-488 bus disk drives and hard drives could also be controlled. CBM, just as Hewlett Packard, used these (relative) fast bus systems for external drives. The complete CBM office computer palette was equipped with the IEEE-488 bus. Further down the road home computers have used optional interfaces that have had some incompatibility with the used software because the kernal of the computer had to be adjusted or the cartridge version occupy certain memory space.
Pinout : --___ (1) Data Input/Output 1 = DIO1 1 * * 13 Data Input/Output 5 = DIO5 (A) (2) Data Input/Output 2 = DIO2 2 * * 14 Data Input/Output 6 = DIO6 (B) (3) Data Input/Output 3 = DIO3 3 * I * 15 Data Input/Output 7 = DIO7 (C) (4) Data Input/Output 4 = DIO4 4 * E * 16 Data Input/Output 8 = DIO8 (D) (5) End of Identify /EOI 5 * E * 17 REN Remote Enable (E) (6) Data Valid /DAV 6 * E * 18 GND 6 (F) (7) Not Ready for Data /NRFD 7 * * 19 GND 7 (H) (8) Not Data Accepted /NDAC 8 * 4 * 20 GND 8 (J) (9) Interface Clear /IFC 9 * 8 * 21 GND 9 (K) (10) Service Request /SRQ 10 * 8 * 22 GND 10 (L) (11) Attention /ATN 11 * * 23 GND 11 (M) (12) Shield 12 * * 24 Logic GND (N) __--- Connector J1 on the PET computer Just like the userport and tape connector it has 0.156" spacing between contact centres (3.96mm), key slots are between contacts 2-3 and 9-10. 1 2 3 4 5 6 7 8 9 1 1 1 0 1 2 -|-|K|-|-|-|-|-|-|K|-|-|- -----E-------------E------- -|-|Y|-|-|-|-|-|-|Y|-|-|- A B C D E F H J K L M N Note: E to N is GND on PET, same digital GND.
Mainboard connectors (CBM 2001)[edit | edit source]
These connector strips with a raster of 2.54 mm can be found on the mainboard.
(J10) (J11) * * * * * * * * * * * * * * 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 -5V unreg. 1 +9V unreg. 2 -5V unreg. 2 Codierung 3 Coding 3 Coding 4 +12V unreg. 4 +9V unreg. 5 +12V unreg. 5 Ground 6 Ground 6 +9V unreg. 7 Ground 7 Ground
Memory Expansion (PET 2001)[edit | edit source]
All upper connectors are digital GND. 2. A0 42. NS6 4. A1 44. NS7 6. A2 46. NS9 8. A3 48. NSA 10. A4 50. NSB 12. A5 52. -- 14. A6 54. Reset 16. A7 56. IRQ 18. A8 58. Clock (Phi2) 20. A9 60. R/W 22. A10 62. -- 24. A11 64. -- 26. -- 66. BD0 Data Bit 28. -- 68. BD1 30. -- 70. BD2 32. NS1 Address select 72. BD3 34. NS2 74. BD4 36. NS3 76. BD5 38. NS4 78. BD6 40. NS5 80. BD7
Memory Expansion (CBM 2001)[edit | edit source]
J4 and J9 Side B are ground connections. 1111111111222222 1234567890123456789012345 Side A ************************* Side B ************************* J4-1 GND J4-2 BD0 Buffered data line J4-3 BD1 J4-4 BD2 J4-5 BD3 J4-6 BD4 J4-7 BD5 J4-8 BD6 J4-9 BD7 J4-10 SEL2 (2000-2FFF) J4-11 SEL3 (3000-3FFF) J4-12 SEL4 (4000-4FFF) J4-13 SEL5 (5000-5FFF) J4-14 SEL6 (6000-6FFF) J4-15 SEL7 (7000-7FFF) J4-16 SEL8 (8000-8FFF) J4-17 SEL9 (9000-9FFF) J4-18 SELA (A000-AFFF) J4-19 SELB (B000-BFFF) J4-20 RAS J4-21 CAS J4-22 RES Power-on Reset J4-23 RDY Ready line of the 6502 J4-24 NMI J4-25 GND J9-1 GND J9-2 BA0 Buffered address bit A0 to A15 J9-3 BA1 J9-4 BA2 J9-5 BA3 J9-6 BA4 J9-7 BA5 J9-8 BA6 J9-9 BA7 J9-10 BA8 J9-11 BA9 J9-12 BA10 J9-13 BA11 J9-14 BA12 J9-15 BA13 J9-16 BA14 J9-17 BA15 J9-18 SYNC J9-19 IRQ Interrupt Request Line of the 6502 J9-20 -- J9-21 B2 Clock J9-22 R/W J9-23 R/W J9-24 DMA J9-25 GND
Memory map[edit | edit source]
.----------------------------------------------------------------------------------------------------------------. | | | | | | | | | $0-$03FF | $0400-($7FFF) | $8000-$8FFF | $9000-9FFF | $A000-AFFF | $B000-BFFF | $C000-$FFFF | | | | | | | | I/O $E800-EFFF | '----------------------------------------------------------------------------------------------------------------' Zeropage BASIC memory Video-RAM ROM ROM ROM BASIC,Kernel,I/O
The BASIC memory varied depending on development. The 1kB video memory is mirrored four times in the area $8000-$8FFF.
I/O
$E800-0F free 10-1F PIA 1, 4 x 20-2F PIA 2, 4 x 40-4F VIA
The rest of the area consists of mirrored addresses.
DIY[edit | edit source]
CB2 Sound[edit | edit source]
1 2 3 4 5 6 7 8 9 1 1 1 0 1 2 -|K|-|-|-|-|-|-|-|-|K|-|- ---E-----------------E----- -|Y|-|-|-|-|-|-|-|-|Y|-|- A B C D E F H J K L M N | +-----------+=================. CB2 | _____ | Audio Amplifier | +-|_____|-----+=================' 50-500 kOhm resistor Alternative version: 1 2 3 4 5 6 7 8 9 1 1 1 0 1 2 -|K|-|-|-|-|-|-|-|-|K|-|- ---E-----------------E----- -|Y|-|-|-|-|-|-|-|-|Y|-|- A B C D E F H J K L M N | +-----------+================. CB2 | ______ | Piezo speaker | +-|______|----+================' 22 Ohm resistor
Joysticks[edit | edit source]
The PET was not initially designed for joysticks but a determined user had devised a dual-joystick interface employing the parallel port. This interface allows you to plug in standard Atari/Commodore compatible joysticks....
Interface Diagram:
Looking at back of user port: 1 2 3 4 5 6 7 8 9 1 1 1 0 1 2 -|K|-|-|-|-|-|-|-|-|K|-|- ---E-----------------E----- -|Y|-|-|-|-|-|-|-|-|Y|-|- A B C D E F H J K L M N 8 1 2 3 4 J1 1 2 3 4 8 J2 Joystick pin diagram => 5 [4] [3] [2] [1] looking at back of \ / male connector 9 [8] 7 [6]
The 'fire' button (pin 6) is added by connecting joystick port pins 1 & 2 to pin 6 with diodes, solder each diode from (already wired) pins 1 & 2 to pin 6 with the banded end (cathode) to pin 6. When fire is pressed the two opposite directions forward+backwards will be triggered at the same time, this construction prevents from using fire at the same time as forward or backward.
6 ----|<|----- 1 6 ----|<|----- 2
Some games list joystick connections as LEFT=PA0, RIGHT=PA1, FIRE=PA5, such choice of interface is not compatible with the hookup above. That would be pins C, D, J on the above interface which is forward, backward on joystick 1 and backwards on joystick 2...
Haven't found a complete schematic for single joystick but why not LEFT=PA0, RIGHT=PA1, FORWARD=PA2, BACKWARDS=PA3, FIRE=PA5?
FORWARD, BACKWARD, LEFT, RIGHT, FIRE on PA0-PA4 would seem more logic.
Looking at back of user port: 1 2 3 4 5 6 7 8 9 1 1 1 0 1 2 -|K|-|-|-|-|-|-|-|-|K|-|- ---E-----------------E----- -|Y|-|-|-|-|-|-|-|-|Y|-|- A B C D E F H J K L M N 8 1 2 6 DSUB9 pin numbers for the three functions above.
Diagnostic plugs[edit | edit source]
Here's how to construct dongles to use with the diagnostic mode:
Keyboard Connector Pinout A B C D E F H J 1 2 3 4 5 6 7 8 9 10 12 Keyboard Diagnostic Connector A-1-9 B-2-10 C-3 D-4 E-5 F-6 H-7 J-8
For Userport pinout look above. Userport Diagnostic Connector 2-B 3-C 4-D 5-E-11 6-7-8 9-K 10-L
Usage: Plug in connectors, turn PET on, as soon as screen clears you'll see a block moving through all character positions from top left to bottom right then display all ROM characters on screen. @ABCDEFGH... etc then graphical characters and then all of them inverted as well and repeated again three more times. LED on the motherboard will lit up after finished test.
Software[edit | edit source]
The first spreadsheet software VisiCalc was published in 1979.
Commodore published software on Datassette tape for the PET/CBM under the PETSOFT label. The following titles were published: BASIC BASIC, Merge, Band Pass, Graphics, PET BASIC Tutor, PASCAL, Fortran, ALGOL, Commodore BASIC Compiler. A monthly datassette magazine was published by PETSOFT from September 1979 until about June 1980. Other titles published by PETSOFT were the games: Backgammon, Super Alien, Invasion Orion.
References[edit | edit source]
- ↑ Portcommodore.com: "PET/CBM FAQ - MODELS OF THE PET/CBM"
- ↑ Updated from schematic at Zimmers.net; 08. Jan. 2016
- ↑ Sources: Magazine: Elektronik 8/1980, CBM 600/700 Manual, CBM 2001/3001 Manual