Type-in program
Encyclopedia
A type-in program, or just type-in, is a computer program
listing printed in a computer magazine or book, meant to be typed in by the reader in order to run the program on a computer.
Very common in the early home computer
era of the late 1970s and 1980s, type-ins existed because of the period's lack of inexpensive portable storage media, the low frequency of usage of modem
s and bulletin board system
s, and the relatively short length permitted for a program on a home computer with a main memory of a few tens of kilobyte
s. Type-ins were often seen as useful for learning programming code (with users sometimes rewriting a program written for one system for use on another).
Listing 1.
10 PRINT "HELLO, WORLD!
"
20 END
To use this type-in, a reader would take a printed copy of the program listing, such as from a magazine or book, sit down at a computer, and manually enter the two lines of code. After typing the program in, he would be able to run it and also to save it to disk or cassette for future use. For the simple program displayed above, this does not present many savings. However, many type-ins were fully functional games or software packages, sometimes rivaling commercial software.
Type-ins were usually written in BASIC or a combination of a BASIC loader
and machine language. In the latter case, the opcode
s and operands of the machine language part were often simply given as DATA statements within the BASIC program, and were loaded using a POKE
loop, since few users had access to an assembler. In some cases, a special program for entering machine language numerically was provided. Programs with a machine language component sometimes included assembly language listings for users who had assemblers and who were interested in the internal workings of the program.
The downside of type-ins was labor. The work required to enter a medium-sized type-in was on the order of hours. If the resulting program turned out not to be to the user's taste, it was quite possible that the user spent more time keying in the program than using it. Additionally, type-ins were error-prone, both for users and for the magazines. This was especially true of the machine language parts of BASIC programs, which were nothing but line after line of DATA statements (or in some cases where the computer's version of the ASCII code had a printable character for each value from 0-255, the code could have been printed using strings that contained the glyphs that the values mapped to); while a BASIC program would often stop with an error at an incorrect statement, the machine language parts of a program could fail in untraceable ways. This made the correct entry of programs difficult.
To counter the difficulty of keying a type-in, some magazines developed checksum
programs. There were many different styles of checksum program, usually depending on the type of program being entered and on the complexity of the checksummer. Checksummers were proprietary and were often printed in every issue of the magazine. The most basic distinction was whether the checksummer was run only once, when the program had been completely keyed in, or whether it was used interactively. The former type either read the typed-in computer code off a disk, or read it directly from memory (this type of checksummer was usually manually appended to the end of a BASIC program). The checksum program would print a checksum for each line of code. The magazine would print the correct checksums adjacent to the listing, and the user would compare the two to catch errors. More advanced checksum programs were used interactively. They would take a line of code as it was entered and immediately produce a checksum which could be compared to the printed listing. Users, however, had to enter the checksum programs themselves correctly.
For example, COMPUTE!
and COMPUTE!'s Gazette
printed the BASIC listings for "The Automatic Proofreader
" (to verify lines of BASIC) and "MLX" (for binary data) in each issue that carried type-in programs in these formats. Once the user had typed in "The Automatic Proofreader" correctly, he had bootstrapped his way to verifying "MLX" and other programs.
Beyond the manual labor of type-ins, it was not uncommon for certain magazines to print poor quality listings, presenting the reader with nearly illegible characters (especially in the case where machine-code data was printed using extended ASCII
glyphs instead of DATA statements); this typically happened when transferring the list output from the era's ubiquitous 7–8-pin dot-matrix printers directly to the printing presses—sometimes even without prettyprint
ing. This was particularly troublesome in listings which contained graphical characters representing control codes, used for e.g. cursor
movements; such characters tended to be less legible than alphanumeric
ones in the first place. Additional issues arose after the advent of BASICs that did not require line number
s as the magazine broke logical lines across physical lines due to space constraints and without the line numbers the distinction was not always apparent. Compute! even for a time used a handwritten arrow to represent a carriage return
in its program listings. In other cases, the original program listing was already full of bugs by the time it had been type-set into the magazine, much to the frustration of readers. Magazines often issued "errata" notices for bad listings in subsequent issues.
Other solutions existed for the tedium of typing in seemingly-endless lines of code. Freelance authors wrote most magazine type-in programs and, in the accompanying article, often provided readers a mailing address to send a small sum (US$
3 was typical) to buy the program on disk or tape. By the mid-1980s, recognising this demand from readers, many US-published magazines offered all of each issue's type-ins on an optional disk, often with a bonus program or two. Some of these disks became electronic publications in their own right, outlasting their parent magazine as happened with Loadstar
. Some UK magazines occasionally offered a free Evatone
that played on a vinyl record player connected to the microcomputer's cassette input. Other input methods, such as the Cauzin Softstrip
, were tried, without much success.
wrote in 1983:
Most early computer magazines published type-in programs. The professional and business-oriented journals such as BYTE and Popular Computing printed them less frequently, often a test program to illustrate a technical topic covered in the magazine rather than an application for general use. Consumer-oriented publications, especially platform-specific magazines such as COMPUTE!'s Gazette
(Commodore
) and ANTIC
(Atari
), ran several each issue. Whether in book or magazine form, the programs were sometimes specific to a given home computer and sometimes compatible with several computers. Magazines which covered multiple platforms, such as COMPUTE!
and Family Computing
magazines would publish several versions of a program, each tailored to the capabilities of its target machine. Although type in programs were usually copyrighted, authors often encouraged users to modify them, adding capabilities or otherwise changing them to suit their needs. Many authors used the article accompanying the type-ins to suggest modifications for the reader and programmer to perform. Users would sometimes send their changes back into the magazine for later publication (in an early form of open source
software)
While most type-ins were simple games or utilities and likely only to hold a user's interest for a short time, some were very ambitious, rivaling commercial software. Perhaps the most famous example is the type-in word processor
SpeedScript
, published by COMPUTE!'s Gazette and COMPUTE!
Magazine for several 8-bit
computers starting in 1984. It retained a following into the next decade as users refined and added capabilities to it.
As the cost of cassette tapes and floppy disk
s declined, and as the sophistication of commercial programs and the technical capabilities of the computers they ran on steadily increased, the importance of the type-in declined. In Europe
, magazine cover tapes/disks became common, and type-ins became virtually non-existent. In North America
, type-ins remained popular for 8-bit
computers well into the 1990s, although type-ins for 16
/32-bit
computers quickly faded. Some magazines continued to print short code snippets for instruction purposes from time to time, but these 10–20-line segments would not be considered type-in programs in the proper sense.
Although type-in programs have disappeared today, the tradition of distributing software with magazines lived on, especially in Europe, with 3½" floppy disk
s included with magazines throughout most of the 1990s, eventually followed by CD-ROM
s and DVD
s.
Computer program
A computer program is a sequence of instructions written to perform a specified task with a computer. A computer requires programs to function, typically executing the program's instructions in a central processor. The program has an executable form that the computer can use directly to execute...
listing printed in a computer magazine or book, meant to be typed in by the reader in order to run the program on a computer.
Very common in the early home computer
Home computer
Home computers were a class of microcomputers entering the market in 1977, and becoming increasingly common during the 1980s. They were marketed to consumers as affordable and accessible computers that, for the first time, were intended for the use of a single nontechnical user...
era of the late 1970s and 1980s, type-ins existed because of the period's lack of inexpensive portable storage media, the low frequency of usage of modem
Modem
A modem is a device that modulates an analog carrier signal to encode digital information, and also demodulates such a carrier signal to decode the transmitted information. The goal is to produce a signal that can be transmitted easily and decoded to reproduce the original digital data...
s and bulletin board system
Bulletin board system
A Bulletin Board System, or BBS, is a computer system running software that allows users to connect and log in to the system using a terminal program. Once logged in, a user can perform functions such as uploading and downloading software and data, reading news and bulletins, and exchanging...
s, and the relatively short length permitted for a program on a home computer with a main memory of a few tens of kilobyte
Kilobyte
The kilobyte is a multiple of the unit byte for digital information. Although the prefix kilo- means 1000, the term kilobyte and symbol KB have historically been used to refer to either 1024 bytes or 1000 bytes, dependent upon context, in the fields of computer science and information...
s. Type-ins were often seen as useful for learning programming code (with users sometimes rewriting a program written for one system for use on another).
Description
Here is an example of a type-in:Listing 1.
10 PRINT "HELLO, WORLD!
Hello world program
A "Hello world" program is a computer program that outputs "Hello world" on a display device. Because it is typically one of the simplest programs possible in most programming languages, it is by tradition often used to illustrate to beginners the most basic syntax of a programming language, or to...
"
20 END
To use this type-in, a reader would take a printed copy of the program listing, such as from a magazine or book, sit down at a computer, and manually enter the two lines of code. After typing the program in, he would be able to run it and also to save it to disk or cassette for future use. For the simple program displayed above, this does not present many savings. However, many type-ins were fully functional games or software packages, sometimes rivaling commercial software.
Type-ins were usually written in BASIC or a combination of a BASIC loader
BASIC loader
A BASIC loader is a computer programming technique used with the BASIC programming language to POKE machine language opcodes into RAM. The technique was most prevalent in type-in program listings published for home computers of the 1980s as it allowed the publication of programs that gained the...
and machine language. In the latter case, the opcode
Opcode
In computer science engineering, an opcode is the portion of a machine language instruction that specifies the operation to be performed. Their specification and format are laid out in the instruction set architecture of the processor in question...
s and operands of the machine language part were often simply given as DATA statements within the BASIC program, and were loaded using a POKE
PEEK and POKE
In computing, PEEK is a BASIC programming language extension used for reading the contents of a memory cell at a specified address. The corresponding command to set the contents of a memory cell is POKE.-Statement syntax:...
loop, since few users had access to an assembler. In some cases, a special program for entering machine language numerically was provided. Programs with a machine language component sometimes included assembly language listings for users who had assemblers and who were interested in the internal workings of the program.
The downside of type-ins was labor. The work required to enter a medium-sized type-in was on the order of hours. If the resulting program turned out not to be to the user's taste, it was quite possible that the user spent more time keying in the program than using it. Additionally, type-ins were error-prone, both for users and for the magazines. This was especially true of the machine language parts of BASIC programs, which were nothing but line after line of DATA statements (or in some cases where the computer's version of the ASCII code had a printable character for each value from 0-255, the code could have been printed using strings that contained the glyphs that the values mapped to); while a BASIC program would often stop with an error at an incorrect statement, the machine language parts of a program could fail in untraceable ways. This made the correct entry of programs difficult.
To counter the difficulty of keying a type-in, some magazines developed checksum
Checksum
A checksum or hash sum is a fixed-size datum computed from an arbitrary block of digital data for the purpose of detecting accidental errors that may have been introduced during its transmission or storage. The integrity of the data can be checked at any later time by recomputing the checksum and...
programs. There were many different styles of checksum program, usually depending on the type of program being entered and on the complexity of the checksummer. Checksummers were proprietary and were often printed in every issue of the magazine. The most basic distinction was whether the checksummer was run only once, when the program had been completely keyed in, or whether it was used interactively. The former type either read the typed-in computer code off a disk, or read it directly from memory (this type of checksummer was usually manually appended to the end of a BASIC program). The checksum program would print a checksum for each line of code. The magazine would print the correct checksums adjacent to the listing, and the user would compare the two to catch errors. More advanced checksum programs were used interactively. They would take a line of code as it was entered and immediately produce a checksum which could be compared to the printed listing. Users, however, had to enter the checksum programs themselves correctly.
For example, COMPUTE!
COMPUTE!
Compute! was an American computer magazine that was published from 1979 to 1994, though it can trace its origin to 1978 in Len Lindsay's PET Gazette, one of the first magazines for the Commodore PET computer. In its 1980s heyday Compute! covered all major platforms, and several single-platform...
and COMPUTE!'s Gazette
COMPUTE!'s Gazette
COMPUTE!'s Gazette was a computer magazine of the 1980s, directed at users of Commodore's 8-bit home computers. Publishing its first issue in July 1983, the Gazette was a Commodore-only daughter magazine of the computer hobbyist magazine COMPUTE!....
printed the BASIC listings for "The Automatic Proofreader
The Automatic Proofreader
The Automatic Proofreader is a series of checksum utilities published by COMPUTE! Publications for its COMPUTE! and COMPUTE!'s Gazette magazines, and various books...
" (to verify lines of BASIC) and "MLX" (for binary data) in each issue that carried type-in programs in these formats. Once the user had typed in "The Automatic Proofreader" correctly, he had bootstrapped his way to verifying "MLX" and other programs.
Beyond the manual labor of type-ins, it was not uncommon for certain magazines to print poor quality listings, presenting the reader with nearly illegible characters (especially in the case where machine-code data was printed using extended ASCII
Extended ASCII
The term extended ASCII describes eight-bit or larger character encodings that include the standard seven-bit ASCII characters as well as others...
glyphs instead of DATA statements); this typically happened when transferring the list output from the era's ubiquitous 7–8-pin dot-matrix printers directly to the printing presses—sometimes even without prettyprint
Prettyprint
Prettyprint is the application of any of various stylistic formatting conventions to text, source code, markup, and other similar kinds of content. These formatting conventions usually consist of changes in positioning, spacing, color, contrast, size and similar modifications intended to make the...
ing. This was particularly troublesome in listings which contained graphical characters representing control codes, used for e.g. cursor
Cursor (computers)
In computing, a cursor is an indicator used to show the position on a computer monitor or other display device that will respond to input from a text input or pointing device. The flashing text cursor may be referred to as a caret in some cases...
movements; such characters tended to be less legible than alphanumeric
Alphanumeric
Alphanumeric is a combination of alphabetic and numeric characters, and is used to describe the collection of Latin letters and Arabic digits or a text constructed from this collection. There are either 36 or 62 alphanumeric characters. The alphanumeric character set consists of the numbers 0 to...
ones in the first place. Additional issues arose after the advent of BASICs that did not require line number
Line number
In computing, a line number is a method used to specify a particular sequence of characters in a text file. The most common method of assigning numbers to lines is to assign every line a unique number, starting at 1 for the first line, and incrementing by 1 for each successive line.In the C...
s as the magazine broke logical lines across physical lines due to space constraints and without the line numbers the distinction was not always apparent. Compute! even for a time used a handwritten arrow to represent a carriage return
Carriage return
Carriage return, often shortened to return, refers to a control character or mechanism used to start a new line of text.Originally, the term "carriage return" referred to a mechanism or lever on a typewriter...
in its program listings. In other cases, the original program listing was already full of bugs by the time it had been type-set into the magazine, much to the frustration of readers. Magazines often issued "errata" notices for bad listings in subsequent issues.
Other solutions existed for the tedium of typing in seemingly-endless lines of code. Freelance authors wrote most magazine type-in programs and, in the accompanying article, often provided readers a mailing address to send a small sum (US$
United States dollar
The United States dollar , also referred to as the American dollar, is the official currency of the United States of America. It is divided into 100 smaller units called cents or pennies....
3 was typical) to buy the program on disk or tape. By the mid-1980s, recognising this demand from readers, many US-published magazines offered all of each issue's type-ins on an optional disk, often with a bonus program or two. Some of these disks became electronic publications in their own right, outlasting their parent magazine as happened with Loadstar
Loadstar
Loadstar was a disk magazine for the Commodore 64 computer, published starting in 1984. It derived its name from the command commonly used to execute commercial software from a Commodore 1541 disk: LOAD "*",8,1, with inspiration from the word "lodestar"....
. Some UK magazines occasionally offered a free Evatone
Flexi disc
The flexi disc is a phonograph record made of a thin, flexible vinyl sheet with a molded-in spiral stylus groove, and is designed to be playable on a normal phonograph turntable...
that played on a vinyl record player connected to the microcomputer's cassette input. Other input methods, such as the Cauzin Softstrip
Cauzin Softstrip
Cauzin Softstrip was the first commercial 2D barcode format. Introduced in 1985, it could store up to 1000 bytes per square inch, which was 20 to 100 times more than the bar codes of the day. It is now known as Datastrip code....
, were tried, without much success.
History
Type-in programs preceded the dawn of the home computer era. As David H. AhlDavid H. Ahl
David H. Ahl is the founder of Creative Computing magazine. He is also the author of many how-to books, including BASIC Computer Games, the first million-selling computer book....
wrote in 1983:
- In 1971, while education product line manager at Digital Equipment Corp.Digital Equipment CorporationDigital Equipment Corporation was a major American company in the computer industry and a leading vendor of computer systems, software and peripherals from the 1960s to the 1990s...
, I put out a call for games to educational institutions throughout North America. I was overwhelmed with the response. I selected the best games and put them together in a book, 101 Basic Computer GamesBASIC Computer GamesBASIC Computer Games is a compilation of type-in computer games in the BASIC programming language collected by David H. Ahl. Some of the games were written or modified by Ahl as well...
. After putting the book together on my own time, I convinced reluctant managers at DEC to publish it. They were convinced it wouldn't sell. It, plus its sequel, More Basic Computer Games have sold over half a million copies proving that people are intrigued by computer games.
Most early computer magazines published type-in programs. The professional and business-oriented journals such as BYTE and Popular Computing printed them less frequently, often a test program to illustrate a technical topic covered in the magazine rather than an application for general use. Consumer-oriented publications, especially platform-specific magazines such as COMPUTE!'s Gazette
COMPUTE!'s Gazette
COMPUTE!'s Gazette was a computer magazine of the 1980s, directed at users of Commodore's 8-bit home computers. Publishing its first issue in July 1983, the Gazette was a Commodore-only daughter magazine of the computer hobbyist magazine COMPUTE!....
(Commodore
Commodore International
Commodore is the commonly used name for Commodore Business Machines , the U.S.-based home computer manufacturer and electronics manufacturer headquartered in West Chester, Pennsylvania, which also housed Commodore's corporate parent company, Commodore International Limited...
) and ANTIC
ANTIC (magazine)
Antic was the name of a home computer magazine devoted to the Atari 8-bit computer line . Its ISSN is 0113-1141. It took its name from the ANTIC chip, which produced the Atari line's graphics. The first issue was published in April 1982. While it began as a bimonthly magazine, within a year it had...
(Atari
Atari
Atari is a corporate and brand name owned by several entities since its inception in 1972. It is currently owned by Atari Interactive, a wholly owned subsidiary of the French publisher Atari, SA . The original Atari, Inc. was founded in 1972 by Nolan Bushnell and Ted Dabney. It was a pioneer in...
), ran several each issue. Whether in book or magazine form, the programs were sometimes specific to a given home computer and sometimes compatible with several computers. Magazines which covered multiple platforms, such as COMPUTE!
COMPUTE!
Compute! was an American computer magazine that was published from 1979 to 1994, though it can trace its origin to 1978 in Len Lindsay's PET Gazette, one of the first magazines for the Commodore PET computer. In its 1980s heyday Compute! covered all major platforms, and several single-platform...
and Family Computing
Family Computing
Family Computing was a 1980s U.S. computer magazine published by Scholastic, Inc.. It covered all the major home computer platforms of the day including the Apple II series, Commodore Vic 20 and 64, Atari 8-bit family as well as the IBM PC and Apple Macintosh. It printed a mixture of product...
magazines would publish several versions of a program, each tailored to the capabilities of its target machine. Although type in programs were usually copyrighted, authors often encouraged users to modify them, adding capabilities or otherwise changing them to suit their needs. Many authors used the article accompanying the type-ins to suggest modifications for the reader and programmer to perform. Users would sometimes send their changes back into the magazine for later publication (in an early form of open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
software)
While most type-ins were simple games or utilities and likely only to hold a user's interest for a short time, some were very ambitious, rivaling commercial software. Perhaps the most famous example is the type-in word processor
Word processor
A word processor is a computer application used for the production of any sort of printable material....
SpeedScript
SpeedScript
SpeedScript was a type-in word processor for various home computers. Approximately 5 KB in length, it provided many of the same features as commercial word processing packages of the early 8-bit era, such as Easy Script and Bank Street Writer....
, published by COMPUTE!'s Gazette and COMPUTE!
COMPUTE!
Compute! was an American computer magazine that was published from 1979 to 1994, though it can trace its origin to 1978 in Len Lindsay's PET Gazette, one of the first magazines for the Commodore PET computer. In its 1980s heyday Compute! covered all major platforms, and several single-platform...
Magazine for several 8-bit
8-bit
The first widely adopted 8-bit microprocessor was the Intel 8080, being used in many hobbyist computers of the late 1970s and early 1980s, often running the CP/M operating system. The Zilog Z80 and the Motorola 6800 were also used in similar computers...
computers starting in 1984. It retained a following into the next decade as users refined and added capabilities to it.
As the cost of cassette tapes and floppy disk
Floppy disk
A floppy disk is a disk storage medium composed of a disk of thin and flexible magnetic storage medium, sealed in a rectangular plastic carrier lined with fabric that removes dust particles...
s declined, and as the sophistication of commercial programs and the technical capabilities of the computers they ran on steadily increased, the importance of the type-in declined. In Europe
Europe
Europe is, by convention, one of the world's seven continents. Comprising the westernmost peninsula of Eurasia, Europe is generally 'divided' from Asia to its east by the watershed divides of the Ural and Caucasus Mountains, the Ural River, the Caspian and Black Seas, and the waterways connecting...
, magazine cover tapes/disks became common, and type-ins became virtually non-existent. In North America
North America
North America is a continent wholly within the Northern Hemisphere and almost wholly within the Western Hemisphere. It is also considered a northern subcontinent of the Americas...
, type-ins remained popular for 8-bit
8-bit
The first widely adopted 8-bit microprocessor was the Intel 8080, being used in many hobbyist computers of the late 1970s and early 1980s, often running the CP/M operating system. The Zilog Z80 and the Motorola 6800 were also used in similar computers...
computers well into the 1990s, although type-ins for 16
16-bit
-16-bit architecture:The HP BPC, introduced in 1975, was the world's first 16-bit microprocessor. Prominent 16-bit processors include the PDP-11, Intel 8086, Intel 80286 and the WDC 65C816. The Intel 8088 was program-compatible with the Intel 8086, and was 16-bit in that its registers were 16...
/32-bit
32-bit
The range of integer values that can be stored in 32 bits is 0 through 4,294,967,295. Hence, a processor with 32-bit memory addresses can directly access 4 GB of byte-addressable memory....
computers quickly faded. Some magazines continued to print short code snippets for instruction purposes from time to time, but these 10–20-line segments would not be considered type-in programs in the proper sense.
Although type-in programs have disappeared today, the tradition of distributing software with magazines lived on, especially in Europe, with 3½" floppy disk
Floppy disk
A floppy disk is a disk storage medium composed of a disk of thin and flexible magnetic storage medium, sealed in a rectangular plastic carrier lined with fabric that removes dust particles...
s included with magazines throughout most of the 1990s, eventually followed by CD-ROM
CD-ROM
A CD-ROM is a pre-pressed compact disc that contains data accessible to, but not writable by, a computer for data storage and music playback. The 1985 “Yellow Book” standard developed by Sony and Philips adapted the format to hold any form of binary data....
s and DVD
DVD
A DVD is an optical disc storage media format, invented and developed by Philips, Sony, Toshiba, and Panasonic in 1995. DVDs offer higher storage capacity than Compact Discs while having the same dimensions....
s.
External links
- Full text of classic type in program books
- Classic Computer Magazine Archive
- THE TYPE FANTASTIC (TTFn): The Sinclair magazine type-in programs archive – By Jim Grimwood; original archive by Michael Bruhn
- List of Commodore 64 Type-In Games Books