Do you have a question about the Commodore PET and is the answer not in the manual?
Processor | MOS 6502 |
---|---|
Clock Speed | 1 MHz |
RAM | 4 KB (expandable to 32 KB) |
Operating System | Commodore BASIC |
Manufacturer | Commodore International |
Model | PET 2001 |
Release Year | 1977 |
Power Supply | Internal |
Storage | Cassette tape |
Display | 9-inch monochrome CRT |
Graphics | 40×25 character resolution |
ROM | 14 KB |
Ports | IEEE-488 |
Keyboard | Chiclet keyboard |
Expressions of gratitude to individuals and organizations for their contributions and support.
How to interact with the PET using BASIC commands.
Explanation of Read-Only Memory (ROM) and Read/Write Memory (RAM) in the PET.
Overview of available pre-written programs and writing custom programs in BASIC.
Description of different PET computer models and their keyboards.
Key differences in PET models: ROM versions, keyboards, and memory.
Steps for safely unpacking and setting up a new PET computer.
Instructions for connecting the cassette tape unit to the PET.
Procedure for removing protective film from PET keyboard keys.
Steps to power on the PET and verify the initial display.
Overview of the PET keyboard layout and its function.
Details on the full-size PET keyboard layout and key features.
Details on the compact PET keyboard layout and its differences.
Key concepts related to entering data via the PET keyboard.
Explanation of variables, their names, types, and storage in PET BASIC.
Categorization of PET keys into functional groups for easier understanding.
Description of the PET's alphabetic keys and character sets.
Description of the PET's numeric keys and their input format.
Explanation of the dual uses of special symbols as punctuation and program operators.
Details about the PET's screen resolution, character positions, and line display capabilities.
Description of the PET's built-in and external cassette tape drive.
Procedures for inserting and removing tape cassettes from the PET tape drive.
Explanation of the cassette tape control keys: Record, Rewind, Fast Forward, Play, Stop.
Guidelines for cleaning and maintaining the PET, including tape heads.
Procedures for cleaning and demagnetizing the cassette tape head.
Tips for taking care of cassette tapes, including balancing tension and selecting quality tapes.
How to prevent accidental recording on cassette tapes by using write-protect tabs.
Basic troubleshooting procedures for common PET issues and internal cable checks.
Step-by-step guide to opening the PET and checking internal cable connections.
Procedure to identify and locate a faulty RAM chip in PETs with compact keyboards.
Using the PET as a calculator for direct arithmetic operations without line numbers.
Grouping multiple statements on a single line for immediate mode execution.
Editing and re-executing immediate mode statements directly on the screen.
Techniques for making character and statement modifications within a program.
Introduction to the components of PET BASIC: alphabet, numbers, and special characters.
Explanation of floating-point numbers and integers in PET BASIC.
How PET BASIC handles number rounding and potential inaccuracies.
Using scientific notation for large or small numbers in PET BASIC.
Definition and range of integers in PET BASIC, and their memory usage.
Definition and manipulation of strings, including concatenation and special symbols.
Explanation of variables, their names, types, and storage in PET memory.
Rules for naming and using floating-point variables in PET BASIC.
Rules for naming and using integer variables in PET BASIC.
Rules for naming and using string variables in PET BASIC.
Using longer variable names and understanding PET BASIC's limitations.
List and explanation of PET BASIC's reserved words and their usage.
Introduction to arithmetic, relational, and Boolean operators in PET BASIC.
Explanation and examples of arithmetic operators: addition, subtraction, multiplication, division, exponentiation.
How PET BASIC evaluates expressions with multiple operations and the role of parentheses.
Using relational operators to compare terms and strings in PET BASIC.
Explanation of logical operators AND, OR, and NOT, and bit-oriented operations.
Introduction to arrays, their dimensions, and storage in PET BASIC.
Format and storage of single-dimensional arrays in PET BASIC.
Format and storage of two-dimensional arrays in PET BASIC.
Overview of PET BASIC's built-in functions for various operations.
Details on INT, SGN, ABS, SQR, EXP, LOG, SIN, COS, TAN, ATN functions.
Details on STR$, VAL, CHR$, ASC, LEN, LEFT$, RIGHT$, MID$ functions.
Details on SPC, TAB, POS functions for controlling output format.
Details on PEEK, SYS, TI, TI$, USR functions for system interaction.
How to define and use custom functions with DEF FN in PET BASIC.
Creating and using file names for storing programs and data on tape.
Structure of BASIC programs, including numbered statements and execution.
The role and importance of unique line numbers in BASIC programs.
Using immediate mode to examine variable values within a program.
Categorization of BASIC statements by their functional groups.
How to control program flow using GOTO, FOR...NEXT loops, and GOSUB/RETURN for subroutines.
Statements for defining constants, assigning values, and dimensioning arrays.
How to interact with the user via keyboard and display during program execution.
Statements for programmed communication with external devices like cassette units.
Using REM for comments and POKE for memory manipulation.
Statements used to end or temporarily halt program execution.
Essential BASIC commands for program management in immediate mode.
Steps and considerations for creating and editing PET BASIC programs.
Using colons to combine multiple statements on a single line for efficiency.
Explanation of conventions used in PET BASIC format presentations (UPPER CASE, lower case, braces, ellipses).
Detailed description of fundamental PET BASIC commands like CLR and CONT.
Reinitializes PET system pointers, variables, and stack, equivalent to restarting the PET.
Resumes program execution after a BREAK, useful for debugging.
Displays program lines on the screen for examination and editing.
Loads a program from tape or other devices into PET memory.
Clears the PET's memory of the current program, preparing for new input.
Begins execution of the program currently stored in memory.
Writes a copy of the current program from memory to tape or other specified devices.
Checks for recording errors after saving a program by comparing tape data with memory.
How the PET keyboard handles rapid typing by remembering keystrokes in a buffer.
Potential issues with rollover on the compact PET keyboard's bottom row keys due to coupling.
Explanation of unpredictable three-key rollover behavior on the PET, especially with adjacent keys.
How the PET uses a 10-character keyboard buffer to store ASCII character equivalents.
Programming a loop to clear the keyboard buffer before fetching intended input.
Technique of holding one key while pressing another for repeating sequences or graphic diagrams.
Connecting strings end-to-end using the '+' operator to create single strings.
Creating and handling strings composed of numbers, including issues with leading blanks.
Combining numeric strings, handling leading blanks and sign values.
Using PRINT statements and CHR$ function to control cursor position for output formatting.
Using PRINT statements with cursor control keys and semicolons for formatting output.
Translating ASCII codes into equivalent characters for programming special symbols and controls.
Performing addition, subtraction, multiplication, and division with PET's numeric length limitations.
Techniques for adding numbers exceeding PET's 9-digit limit using numeric strings or multiple integer math.
Step-by-step process for adding large numbers using string manipulation and numeric conversion.
Method for adding numbers exceeding PET's 9-digit limit by dividing into segments.
Techniques for subtracting numbers exceeding PET's 9-digit limit using numeric strings or multiple integer math.
Step-by-step process for subtracting large numbers using string manipulation and numeric conversion.
Method for subtracting numbers exceeding PET's 9-digit limit by dividing into segments.
Performing multiplication for numbers exceeding PET's 9-digit limit using multiple integer multiplication.
Step-by-step process for multiplying large numbers by dividing into segments and using subroutines.
Using PET's graphics character set and POKE command for creating visual displays.
Sketching graphics directly on the screen in calculator mode without line numbers or PRINT statements.
Converting sketched graphics into executable programs by creating PRINT statements for each line.
Creating animated sequences by programming movement of graphic elements on the screen.
Using FOR...NEXT loops to create delays for controlling animation speed.
Precisely positioning characters and graphics on the screen using cursor movements and PRINT statements.
Modifying programs to draw larger rectangles and screen boundaries.
Understanding the concept of files, records, and fields, particularly for cassette tape data.
How programs are stored as files on tape, including naming and verification.
Creating and manipulating data files for processing large amounts of data.
The four essential steps for working with files: LOAD, OPEN, Read/Write, CLOSE.
Procedures for mounting and positioning data tapes for reading or writing.
Creating data files using OPEN, PRINT#, and CLOSE commands.
Writing numeric data to a data tape, record by record.
Writing string data to tape, including handling item separators like commas and semicolons.
Demonstrating writing complex records of data to a tape using MAIL.PRINT#.
Reading data from a tape file into PET memory for use in other programs.
Reading numeric data from a data file using the INPUT# statement.
Reading string data from a data file, including handling multiple strings per record.
Overview of the PET system architecture, including microprocessor, peripherals, and memory blocks.
Table detailing how PET memory is allocated into 4K blocks, including ROM, RAM, and I/O.
Description of the initial RAM allocation for working storage, stack, and user programs.
Allocation of memory addresses for expansion RAM up to 32K.
Memory locations allocated for screen display and POKE operations.
Memory addresses allocated for optional expansion ROM.
Memory addresses for BASIC interpreter, OS diagnostics, and memory-mapped I/O.
Detailed PET memory map showing addresses, sample values, and descriptions.
How the PET BASIC interpreter executes programs, manages lines, and stores data.
Format and storage of BASIC statements, keywords, and ASCII codes in memory.
Table of PET BASIC keywords and their corresponding abbreviations.
How the user program area of memory is initialized upon PET power-up or after a NEW command.
Key pointers indicating the start and end of program, text, variables, arrays, and strings.
How variables (floating point, integer, string) are stored in memory.
Detailed breakdown of the byte structure for storing floating-point variables.
Detailed breakdown of the byte structure for storing integer variables.
Structure and storage of string variables, including character count and pointers.
How constants are stored directly in BASIC statements, not in the variable area.
How arrays are stored in memory, including headers and elements.
Structure of the array header, including name, dimensions, and byte counts.
Explanation of ASCII and PET ASCII codes for character representation and PEEK/POKE usage.
When and why to use assembly language programming on the PET, and how to load programs.
Using the SYS function to transfer control to independent subsystems or machine language routines.
Using the USR function to call assembly language subroutines and pass parameters.
Description of the default PET character set for PET and CBM keyboards.
How PET graphic symbols are displayed and activated on the keyboard.
How the alternate character set is activated on the CBM keyboard.
Explanation of PET ASCII codes and how they relate to characters and PEEK/POKE numbers.
How PEEK/POKE codes are used to access and manipulate screen memory and characters.
Common BASIC error messages, their causes, and suggested remedies.
Error messages generated by the PET's operating system and how to address them.
The original BLANKET program listing.
Modifying BLANKET to clear the screen before displaying messages.
Modifying BLANKET to display different messages based on user input.
Combining messages into a single line and adjusting display output.
Restructuring BLANKET into a subroutine with a main program call.
Slowing down the program's display speed using a delay loop.
Speeding up the program's display by optimizing string handling.
Allowing user input to change display characters and modifying delay loops.
Modifying BLANKET to type over existing display characters without blanking or scrolling.
Enhancing PRINTOVER I for smoother visual character updates and cleaner display.
Displaying characters across the entire screen using POKE, avoiding scrolling.
Displaying characters in reverse order, from bottom-right to top-left, with cursor control.
Tables for converting between hexadecimal and decimal integer values.
Table of powers of two, useful for understanding binary representations.
Common mathematical constants and their decimal/hexadecimal values.
Table of powers of sixteen, useful for hexadecimal conversions.
Table of powers of ten, useful for understanding decimal representations.
Differences in the startup display between original (Rev 2) and new PET ROMs.
Differences in cursor blinking control between old and new ROMs.
Non-functional behavior of RND(0) in original ROMs and the method for generating random seeds.
Problems with reading/writing data files using old ROMs and necessary programming precautions.
Summary of PET BASIC capabilities including commands, statements, functions, and features.
Overview of the PET's physical and operational characteristics like chassis, CPU, memory, and keyboard.
Physical dimensions and construction details of the PET's chassis.
Information about the PET's microprocessor, the MCS 6502.
Details on PET's RAM, ROM, and expansion memory configurations.
Features of the PET keyboard, including key count, character sets, and editing functions.
Specifications of the PET's screen resolution, character display, and dot matrix.
Information on the PET's tape cassette unit, including its controls and baud rate.