Program

From C64-Wiki
Jump to navigationJump to search
Under Construction Site / Sign
Language German TO Language:english
This article has recently been imported from the German C64-Wiki and not been translated yet. Please come back at a later time to read the English version of this article or help us.
Editing a BASIC program.

A program or programme is a short form for a computer program, that is a wise connection of commands, instructions and methods. After writting and saving a program on a data medium, it can loaded and started. The program is interpreted by the computer and processes the the input informations and datas, which can also output on printer, monitor, data medias, etc. A computer program is genarally called software.


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!

Machinecode 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