Commodore CBM P500 - Overview
The Commodore P500 is s short-lived computer from the CBM-II series. It has 128KByte of RAM, and similar video and sound capabilities to the Commodore 64.
Due to the MOS 6509 processor, this computer was able to address up to 1MByte of RAM via bank switching, the C64 can only address 64 KByte. The bank switching technology was later re-used in the Commodore 128. The P500 design has two joystick ports on the rear, these were still present in the B500, the business version of this computer, but removed in later versions of the CBM-II computers.Since the C64 was so much easier to produce, and cheaper as well, the US launch of the P500 was cancelled. In Europe where the machine did launch, the computer was discontinued in favor of the Commodore 64.
Commodore CBM 500 Series
The Commodore 500 series was introduced in 1982. They are very similar to the CBM 600 series computers, which were launched at about the same time. Memory ranged from 64KByte to 256KByte. There were three models:
- Model 505 - 64KByte RAM (No documentation found about this machine)
- Model P500 - 128KByte RAM for the professional market
- Model B500 (CBM 510) - 128KByte RAM for the Business Market
- Model B500 (CBM 520) - 256KByte RAM for the Business Market
The CBM 500 series uses a lot of the same chips that the Commodore 64 uses are used in the 500 series:
- VIC-II video chip - 320x200, 16 colors, 40 column text
- SID 6581 Sound chip - 3 channel sound
Features:
- Extended Basic v4.0
- 40x25 video mode in 16 colors (VIC-II)
- 64/128/256 KByte memory
- MOS 6509 CPU, Clocked at 1MHz
- Built in machine language monitor
- 2 joystick ports, user port & cartridge port
- IEEE488 parallel connector, RS232C port
Commodore CBM-II
The CBM-II has two incarnations, the P series (P = personal, or, home use) and the B series (B = business use). The B series was available with a built-in monochrome monitor with detached keyboard (hi-profile) but also available as a single unit with built-in keyboard but no monitor (lo-profile). These machines are often referred to as the "Porsche PETs" due to incorrect rumors that the case was designed by Porsche. Though Commodore did initially consult Porsche for a case design, it proved too expensive to produce, so Commodore enlisted designer Ira Velinski to create one based on the original PET prototype
Commodore BASIC
Commodore BASIC was a dialect of Microsoft BASIC, licensed by Commodore in 1977 for use in the PET 2001. It ran from ROM, freeing all RAM for user programs, and provided an immediate programming environment upon power-up. The interpreter was built on the 6502 processor, with tightly coded routines for tokenization, line storage, and execution. This structure allowed BASIC statements to be entered interactively, stored in memory as linked line records, and executed sequentially or via branching constructs. Commodore kept this design across its entire 8-bit product line, from the PET and VIC-20 to the Commodore 64 and beyond, creating a sense of continuity between machines.
Historically, Commodore BASIC differed from many other implementations in its limited feature set relative to machine capabilities. For example, the original PET BASIC lacked dedicated graphics or sound commands, requiring programmers to manipulate memory directly through PEEK and POKE. Even later versions, such as BASIC V2 on the C64, still omitted high-level graphics and sound statements, in contrast with Atari BASIC or BBC BASIC, which provided structured access to system hardware. Only with extended versions such as BASIC 3.5, 4.0, and 7.0 did Commodore add disk commands, string handling improvements, and more advanced features.
When compared to contemporaries, Commodore BASIC was often criticized as being underpowered, but its simplicity made it approachable. BBC BASIC, for example, incorporated structured programming constructs and inline assembler, whereas Commodore’s offering retained the line-numbered, unstructured style of early Microsoft BASIC. Atari BASIC, developed separately, emphasized graphics and sound integration through dedicated keywords. Commodore’s approach forced users to learn the underlying memory map, making them more technically literate about hardware but also raising the entry barrier for certain types of applications.
Despite its limitations, Commodore BASIC achieved massive popularity due to sheer reach. Millions of units shipped with it as the only built-in interface, ensuring every user interacted with it directly. Its ubiquity in schools, homes, and small businesses made it a de facto teaching language for a generation. Moreover, the reliance on PEEK and POKE, while cumbersome, fostered a culture of type-in listings and hardware exploration. This combination of accessibility, wide distribution, and necessity cemented Commodore BASIC’s role as one of the most influential programming environments of the late 1970s and 1980s.
Commodore BASIC Versioning
-
BASIC 1.0 (PET 2001, 1977)
Computers: Commodore PET 2001
Features: Essentially a stock Microsoft BASIC interpreter running in ROM, with support for integer and floating-point arithmetic, strings, arrays, and file operations for tape storage.
Limitations: No disk commands, no advanced error trapping, and no machine-specific extensions. Designed as a minimal environment to ship the PET quickly. -
BASIC 2.0 (VIC-20, C64, C-MAX, 1981–1982)
Computers: VIC-20, Commodore 64, Commodore MAX Machine
Features: Nearly identical to BASIC 1.0 with minor bug fixes, provided the same core Microsoft BASIC functionality.
Limitations: No disk drive commands, no dedicated graphics or sound statements. Hardware had to be accessed through POKE and PEEK. -
BASIC 3.5 (Commodore 16, C116, Plus/4, 1984)
Computers: Commodore 16, Commodore 116, Commodore Plus/4
Features: Added graphics and sound commands (GRAPHIC, CIRCLE, PAINT, SOUND, PLAY), integrated disk commands (DLOAD, DSAVE, DIRECTORY), plus utilities like RENUM and TRON/TROFF.
Limitations: Still line-number oriented and lacked the structured programming richness of competitors like BBC BASIC. -
BASIC 4.0 (PET/CBM Business Series, 1979+)
Computers: PET/CBM 4000 and 8000 series
Features: Expanded disk support with DLOAD, DSAVE, DIRECTORY, COPY, and SCRATCH. Improved error handling suitable for commercial environments.
Limitations: Focused on business and disk operations, no graphics or sound capabilities because target hardware lacked them. -
BASIC 7.0 (C-128, 1985)
Computers: Commodore 128
Features: Added high-level graphics (DRAW, CIRCLE, PAINT) and sound (PLAY, SOUND) commands, advanced disk operations, structured programming constructs like WHILE...WEND, RENUM, and support for memory banking and multi-mode operation.
Limitations: Despite enhancements, still less sophisticated in structured constructs compared to BBC BASIC or contemporary Pascal-like systems. -
BASIC 10.0 (C-65 prototype, 1990–1991)
Computers: Commodore 65 (prototype, unreleased commercially)
Features: Extended support for high-resolution graphics and larger color palettes through VIC-III, up to 8 MB memory addressing, advanced string handling, and structured commands.
Limitations: Never commercially released, so its practical impact was negligible despite advanced features.
Video - The Video Interface Chip v2
The VIC-II, or Video Interface Chip II, is a chip from MOS Technology. There are a few variants:
- For NTSC: 6567/8562/8564
- For PAL: 6569/8565/8566
The VIC-II generates Y/C signals and DRAM refresh signals for the Commodore 64, Commodore MAX, and Commodore 128 computers. It is the successor of the original VIC chip used in the VIC-20 computer.
Features:
- 16 KByte address space for screen, character and sprite memory
- 320x200 graphics in 16 colors
- 40x25 Text resolution
- Capable of 8 sprites per scanline (24x21 or 12x21 multicolor sprites)
- Raster interrupt
- Smooth Scrolling
- Independent DRAM refresh
- BUS mastering for the 6502-style bus. CPU and VIC-II can access the bus during alternating half-clock cycles.
Programmers quickly learned that the VIC-II was more capable than the specifications would indicate. By manupulating the 47 different control registers, and by using machine code hooked into the raster interrupt routine (or the scanline interrupt), the chip can be programmed to do sprite multiplexing. This allows for more than 8 concurrent sprites on screen. It basically allows for the screen to be split up in different slices, giving each slice its own scrolling, resolution, color and sprite properties. This even allowed programmers to use graphics outside the upper and lower borders of the screen.
Sound - The Commodore SID (MOS 6581)
SID is short for Sound Interface Device. It is the name of the sound chip that was used in the VC10, the commodore 64 and the Commodore 128. SID was developed by Bob Yannes, an employee of MOS Technology. Bob was not only an engineer but also knew a lot about music. His intention was to create a different sound chip than other devices at the time. He implemented a subtractive synthesis chip. The chip's distinctive sound is easily recognized and was clearly ahead of the ocmpitition. The SID combines analog and digital circuitry that cannot be 100% emulated, even today.
Source: C64 WikiMotorola MC6545 Video Display Generator
CPU - The Motorola 6510
The 6510 is an 8-bit MicroProcessor designed by MOS Technology. It is a modified version of the very successful 6502. The primary change in the 6510 was the addition of an 8-bit general purpose I/O port, altbough only six I/O pins were available in the most common version of the 6510.
The extra I/O pins were used for various purposes. In the Commodore 64, they were used to control bank switching, the signal lines for the Datasette tape recorder.
Source:WikiPedia320x200 16 color graphics
