Program

From C64-Wiki
Jump to navigationJump to search
Editing a BASIC program.

A program is shorthand for a computer program, which is an organized sequence of commands, instructions, and methods. These commands are written in a programming language understood by the computer. Once written, the program is saved on a data medium such as a floppy disk. When the program is loaded and executed, the computer interprets its instructions and performs the specified tasks.

These tasks can involve processing input information and data from various sources, such as keyboards, mice, or sensors. The processed data can then be output to different devices like printers, monitors, or additional storage media. This allows users to interact with the computer, making it a powerful tool for various applications.

Computer programs are broadly known as software. Software exists in various forms, ranging from simple scripts that automate mundane tasks to sophisticated systems that enhance productivity, provide entertainment, and facilitate communication.


Types of programs[edit | edit source]

Depending on the purpose, programs are differentiated and given an understandable type designation:

  • Application: Generally a program for processing data, but is often located in the context of commercial, technical-scientific data processing.
  • Operating System: Program which enables the operation of a computer, i.e. integrates and manages all components and resources (CPU, memory, periphery etc.) of the system for use (if necessary with user interface). It sometimes uses a BIOS to handle hardware-related input/output functions.
  • User Interface: Program(s) for simplified or better textual or graphically oriented operation of the computer, e.g. GEOS (see also GUI).
  • BIOS (short for Basic Input Output System): Basic program for setting and monitoring the individual hardware components of a computer (integrated in the KERNAL of Commodore).
  • Computer Game: Program for the entertainment and pastime of the user.
  • Demo: Program to demonstrate a game or application or what you can get out of your computer with tricks and clever programming.
  • Development environment: Program(s) for entering the source code of a programming language and for developing other programs.
  • Driver: Program for using additional hardware usually in connection with an operating system.
  • Utility (see also: Tool): A useful or helpful program for handling a more specific task, such as data manipulation, error detection during maintenance tasks, program development, etc.

BASIC Programs[edit | edit source]

The C64 and the other Commodore homecomputers (PET 2001, VIC-20, C116, C128/D/DCR or Plus/4) supports the coding language BASIC.


A BASIC program is characterized by the following features (a point marked with "+" may not be valid for software-protected BASIC programs):

  • Consists of one or more program lines that are numbered accordingly (in the range 0..63999) and arranged in order.
  • Consists of one or more BASIC commands
  • Can be started with RUN.
  • Is stored on diskette with the file extension PRG (abbreviation for PRoGram).
  • Can be loaded from data carriers with LOAD ["<program name>"] [,<device number>]. (+)
  • Can be saved to disk with SAVE] ["<program name>"] [,<device number>] are stored. (+)
  • Can be deleted from memory with NEW. (+)


0 POKE 53280,0

An simple BASIC program, that only change the color of the screen border.


Overview of BASIC RAM Memory

The information is valid for the computers in the basic state!

Computer:       | Decimal:     | Hexadecimal: | Remarks:
=================================================================================================
C64             | 02049-40959  | $0801-$9FFF  |
----------------+--------------+--------------+--------------------------------------------------
C128            | 07169-129534 | $1C01-$1F9FE | BASIC RAM (*Verschiebung 
                |              |              | bei Grafiknutzung!) aufgeteilt in 
                |*16385-129534 |*$4001-$1F9FE | 2 Banks (with each 2 64-KByte-Chips) 
                |              |              | zu BASIC-Text- und BASIC-Variables RAM
----------------+--------------+--------------+--------------------------------------------------
VIC20            | 04096-07679  | $1000-$1DFF  | free: 3583 Byte,
VIC-20 3 KByte    | 01025-07680  | $0401-$1E00  | 6655 Byte by using a 
                |              |              | 3 KByte memory expansion
VIC-20 ab 8 KByte | 04609~32768? | $1201~$8000? | free: 11775, 19967, 28159 Byte 
                |              |              | ?eventuell kleiner je nach zusätzlichem Speicher!
----------------+--------------+--------------+--------------------------------------------------
C16/116         | 04096~06143# | $1000~$3FFF# | BASIC RAM (#bei Grafiknutzung 
                |              |              |  wird dieser Bereich nach unten verkleinert!)
----------------+--------------+--------------+--------------------------------------------------
Plus/4          | 04096-64768  | $1000-$FD00  | Start of BASIC RAM 
                |*16385-64768  |*$4001-$FD00  | (*bei Grafiknutzung wird dieser 
                |              |              | Bereich nach oben verschoben!)
----------------+--------------+--------------+--------------------------------------------------
CBM505          | 00002-64093  | $0002-$FA5D  | Bank 1 with 64 KByte
----------------+--------------+--------------+--------------------------------------------------
CBM510/610/710  | 00002-64093  | $0002-$FA5D  | Bank 1: BASIC text
  128 KByte     | 00002-64189  | $0002-$FABD  | Bank 2: Variables, Arrays, Strings
----------------+--------------+--------------+--------------------------------------------------
CBM520/620/720  | 00002-64093  | $0002-$FA5D  | Bank 1: BASIC text
  256 KByte     | 00002-64255  | $0002-$FAFF  | Bank 2: Arrays
                | 32768-64255  | $8000-$FAFF  | Bank 3: Variables
                | 00002-64189  | $0002-$FABD  | Bank 4: Strings
----------------+--------------+--------------+--------------------------------------------------
PET Urzustand   | 01024-08191  | $0400-$1FFF  | Min.: Grundkonfiguration, frei: 
                |              |              | 7167 Byte
PET             | 01024~32767~ | $0400~$7FFF~ | Max.: ~je nach Speicheraufrüstung 
                |              |              | kann er kleiner sein!

Machine Code Programs[edit | edit source]

Other programs[edit | edit source]

Malware[edit | edit source]

In addition to useful programs, since the 1980s there have also been programs that wantonly harm computer users or at least abuse their computers, including the information available there. However, for Commodore home computer users only such a computer virus that can access data from disk or datasette is possible in this context.

A rough classification of common malware that cannot always be clearly separated:

  • Dialer: A dialer program used to connect to the Internet, which makes unauthorized use of an expensive telephone dial-in number.
  • Spyware: Program for spying on a user's data and their usage behavior on the computer.
  • Trojan: Program that pretends to be something (useful), but that it is not and does hidden things (transfers or manipulates data, puts computers under foreign control, reloads other programs, etc.).
  • Worm': usually a stand-alone program that typically spreads over a computer network and may infect neighbouring 'networks' and all computer systems used in them, sometimes interfering with them or performing other unwanted actions.
  • Virus: Program code which attaches itself to or nests itself in other programs and thus infects them. In addition to the propagation, unwanted or even destructive actions are also sometimes included.

Links[edit | edit source]

WP-W11.png Wikipedia: Computer_program
WP-W11.png Wikipedia: Malware