A type-in program or type-in listing was computer
source code
In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the wo ...
printed in a
home computer magazine or book. It was meant to be entered via the
keyboard
Keyboard may refer to:
Text input
* Keyboard, part of a typewriter
* Computer keyboard
** Keyboard layout, the software control of computer keyboards and their mapping
** Keyboard technology, computer keyboard hardware and firmware
Music
* Musi ...
by the reader and then saved to
cassette tape or
floppy disk. The result was a usable game, utility, or application program.
Type-in programs were common in the home computer era from the late 1970s through the early 1990s, when the
RAM
Ram, ram, or RAM may refer to:
Animals
* A male sheep
* Ram cichlid, a freshwater tropical fish
People
* Ram (given name)
* Ram (surname)
* Ram (director) (Ramsubramaniam), an Indian Tamil film director
* RAM (musician) (born 1974), Dutch
* ...
of
8-bit systems was measured in
kilobytes
The kilobyte is a multiple of the unit byte for digital information.
The International System of Units (SI) defines the prefix '' kilo'' as 1000 (103); per this definition, one kilobyte is 1000 bytes.International Standard IEC 80000-13 Quantiti ...
and most computer owners did not have access to networks such as
bulletin board system
A bulletin board system (BBS), also called computer bulletin board service (CBBS), is a computer server running software that allows users to connect to the system using a terminal program. Once logged in, the user can perform functions such as ...
s.
Magazines such as ''
Softalk
''Softalk'' () was an American magazine of the early 1980s that focused on the Apple II computer. Published from September 1980 through August 1984, it featured articles about hardware and software associated with the Apple II platform and the p ...
'', ''
Compute!
''Compute!'' (), often stylized as ''COMPUTE!'', was an American home computer magazine that was published from 1979 to 1994. Its origins can be traced to 1978 in Len Lindsay's ''PET Gazette'', one of the first magazines for the Commodore PET ...
'', ''
ANALOG Computing'', and ''
Ahoy!
''Ahoy!'' was a computer magazine published between January 1984 and January 1989 in the US, focusing on all Commodore color computers, but especially the Commodore 64 and Amiga.
History
The first issue of ''Ahoy!'' was published in January 198 ...
'' dedicated much of each issue to type-in programs. The magazines could contain multiple games or other programs for a fraction of the cost of purchasing
commercial software
Commercial software, or seldom payware, is a computer software that is produced for sale or that serves commercial purposes. Commercial software can be proprietary software or free and open-source software.
Background and challenge
While sof ...
on
removable media
Expandable storage is a form of computer storage that is designed to be inserted and removed from a system. Some forms of removable media, such as optical discs, require a reader to be installed in the computer, while others, such as USB flash dr ...
, but the user had to spend up to several hours typing each one in. Most listings were either in a system-specific
BASIC dialect or
machine code
In computer programming, machine code is any low-level programming language, consisting of machine language instructions, which are used to control a computer's central processing unit (CPU). Each instruction causes the CPU to perform a ve ...
. Machine code programs were long lists of decimal or hexadecimal numbers, often in the form of
DATA
statements in BASIC. Most magazines had error checking software to make sure a program was typed correctly.
Type-in programs did not carry over to
16-bit computers such as the
Amiga and
Atari ST in a significant way, as both programs and data (such as graphics) became much larger. It became common to include a
-inch floppy disk with each issue of a magazine.
Description
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 lines of code. Computers of this era automatically
booted into a programming environment – even the commands to load and run a prepackaged program were really programming commands executed in
direct mode
In computing, direct or immediate mode in an interactive programming system is the immediate execution of commands, statements, or expressions. In many interactive systems, most of these can both be included in programs or executed directly in ...
. After typing the program in, the user would be able to run it and also to save it to disk or a cassette for future use. Users were often cautioned to save the program before running it, as errors could result in a
crash
Crash or CRASH may refer to:
Common meanings
* Collision, an impact between two or more objects
* Crash (computing), a condition where a program ceases to respond
* Cardiac arrest, a medical condition in which the heart stops beating
* Couch su ...
requiring a reboot, which would render the program irretrievable unless it had been saved. While some type-in programs were short, simple utility or demonstration programs, many type-ins were fully functional games or application software, sometimes rivaling commercial packages.
Type-ins were usually written in
BASIC or a combination of a
BASIC loader
A type-in program or type-in listing was computer source code printed in a home computer magazine or book. It was meant to be entered via the keyboard by the reader and then saved to cassette tape or floppy disk. The result was a usable game, ut ...
and
machine code
In computer programming, machine code is any low-level programming language, consisting of machine language instructions, which are used to control a computer's central processing unit (CPU). Each instruction causes the CPU to perform a ve ...
. In the latter case, the
opcodes and operands of the machine code part were often simply given as
DATA
In the pursuit of knowledge, data (; ) is a collection of discrete values that convey information, describing quantity, quality, fact, statistics, other basic units of meaning, or simply sequences of symbols that may be further interpreted ...
statements within the BASIC program, and were loaded using a
POKE
Poke may refer to:
Arts, entertainment, and media
* Poke (''Ender's Game''), a fictional character
* Poke (game), a two-player card game
* Poke, a fictional bar owner in the television series '' Treme''
* The Poke, a British satirical website
Fo ...
loop, since few users had access to an
assembler
Assembler may refer to:
Arts and media
* Nobukazu Takemura, avant-garde electronic musician, stage name Assembler
* Assemblers, a fictional race in the ''Star Wars'' universe
* Assemblers, an alternative name of the superhero group Champions of ...
. In some cases, a special program for entering machine code numerically was provided. Programs with a machine code 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 code parts of BASIC programs, which were nothing but line after line of data, e.g. DATA statements in the BASIC language. In some cases where the version of ASCII used on the type of computer the program was published for included printable characters for each value from 0–255, the code could have been printed using strings that contained the glyphs that the values mapped to, or a mnemonic such as
HIFT-Rinstructing the user which keys to press. While a BASIC program would often stop with an error at an incorrect statement, the machine code 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, the
MIKBUG machine code monitor
A machine code monitor ( machine language monitor) is software that allows a user to enter commands to view and change memory locations on a computer, with options to load and save memory contents from/to secondary storage. Some full-featured m ...
for the
Motorola 6800
The 6800 ("''sixty-eight hundred''") is an 8-bit microprocessor designed and first manufactured by Motorola in 1974. The MC6800 microprocessor was part of the M6800 Microcomputer System (latter dubbed ''68xx'') that also included serial and para ...
of the late 1970s incorporated a
checksum
A checksum is a small-sized block of data derived from another block of digital data for the purpose of detecting errors that may have been introduced during its transmission or storage. By themselves, checksums are often used to verify data ...
into its hexadecimal program listings.
Later, some magazines developed checksum programs of their own. 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 generally 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!'' (), often stylized as ''COMPUTE!'', was an American home computer magazine that was published from 1979 to 1994. Its origins can be traced to 1978 in Len Lindsay's ''PET Gazette'', one of the first magazines for the Commodore PET ...
'' and ''
Compute!'s Gazette
''Compute!'s Gazette'' (), stylized as ''COMPUTE!'s Gazette'', was a computer magazine of the 1980s, directed at users of Commodore's 8-bit home computers. Announced as ''The Commodore Gazette'', it was a Commodore-only daughter magazine of the ...
'' printed the BASIC listings for "
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. These programs are designed to allow home computer users to easily detect ...
" (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, they had
bootstrapped their 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 printer
A dot matrix printer is an impact printer that prints using a fixed number of pins or wires. Typically the pins or wires are arranged in one or several vertical columns. The pins strike an ink-coated ribbon and force contact between the ribbon ...
s directly to the printing presses—sometimes even without
prettyprint
Pretty-printing (or prettyprinting) is the application of any of various stylistic formatting conventions to text files, such as source code, markup, and similar kinds of content. These formatting conventions may entail adhering to an indentatio ...
ing. This was particularly troublesome in listings which contained graphical characters representing
control code
In computing and telecommunication, a control character or non-printing character (NPC) is a code point (a number) in a character set, that does not represent a written symbol. They are used as in-band signaling to cause effects other than the ...
s, used for instance for
cursor
Cursor may refer to:
* Cursor (user interface), an indicator used to show the current position for user interaction on a computer monitor or other display device
* Cursor (databases), a control structure that enables traversal over the records in ...
movements; such characters tended to be less legible than
alphanumeric
Alphanumericals or alphanumeric characters are a combination of alphabetical and numerical characters. More specifically, they are the collection of Latin letters and Arabic digits. An alphanumeric code is an identifier made of alphanumeric ch ...
ones in the first place. Additional issues arose after the advent of BASICs that did not require
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 increm ...
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
A carriage return, sometimes known as a cartridge return and often shortened to CR, or return, is a control character or mechanism used to reset a device's position to the beginning of a line of text. It is closely associated with the line feed a ...
in its program listings. Of course, some errors in type-ins were the result of programmer error, and were simply
bugs in the program. Magazines often issued "errata" notices to correct 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$
The United States dollar (symbol: $; code: USD; also abbreviated US$ or U.S. Dollar, to distinguish it from other dollar-denominated currencies; referred to as the dollar, U.S. dollar, American dollar, or colloquially buck) is the official ...
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
flexi disc
The flexi disc (also known as a phonosheet, Sonosheet or Soundsheet, a trademark) 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
turntable
A phonograph, in its later forms also called a gramophone (as a trademark since 1887, as a generic name in the UK since 1910) or since the 1940s called a record player, or more recently a turntable, is a device for the mechanical and analogu ...
connected to the microcomputer's cassette input. Other input methods, such as the
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 was designed to allow magazines to distribute compu ...
, were tried, without much success.
Not all type-ins were long. ''
Run
Run(s) or RUN may refer to:
Places
* Run (island), one of the Banda Islands in Indonesia
* Run (stream), a stream in the Dutch province of North Brabant
People
* Run (rapper), Joseph Simmons, now known as "Reverend Run", from the hip-hop group ...
'' magazine's "Magic" column specialized in
one-liner program
In computer programming, a one-liner program originally was textual input to the command-line of an operating system shell that performed some function in just one line of input. In the present day, a one-liner can be
* an expression written in t ...
s for the Commodore 64. These programs were often graphic
demo
Demo, usually short for demonstration, may refer to:
Music and film
*Demo (music), a song typically recorded for reference rather than release
* ''Demo'' (Behind Crimson Eyes), a 2004 recording by the band Behind Crimson Eyes
* ''Demo'' (Deafhea ...
s or meant to illustrate a technical quirk of the computer's architecture; the text accompanying the graphics demo programs would avoid explicitly describing the resultant image, enticing the reader to type it in.
History
Type-in programs preceded the home computer era. As
David H. Ahl
David H. Ahl (born May 17, 1939) is an American author who is the founder of ''Creative Computing (magazine), Creative Computing'' magazine. He is also the author of many how-to books, including ''BASIC Computer Games'', the first computer book t ...
wrote in 1983:
: In 1971, while education product line manager at
Digital Equipment Corp., 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 Games''. 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 magazine, Byte'' and ''Popular Computing'' printed them less frequently, often as a test program to illustrate a technical topic covered in the magazine rather than an application for general use. Consumer-oriented publications such as ''
Compute!
''Compute!'' (), often stylized as ''COMPUTE!'', was an American home computer magazine that was published from 1979 to 1994. Its origins can be traced to 1978 in Len Lindsay's ''PET Gazette'', one of the first magazines for the Commodore PET ...
'' and ''
Family Computing
''Family Computing'' was a U.S. computer magazine published during the 1980s by Scholastic Corporation, Scholastic It covered all the major home computer platforms of the day including the Apple II, VIC-20, Commodore 64, Atari 8-bit family, as we ...
'' ran several each issue. The programs were sometimes specific to a given home computer and sometimes compatible with several computers. Entirely platform-specific magazines such as ''
Compute!'s Gazette
''Compute!'s Gazette'' (), stylized as ''COMPUTE!'s Gazette'', was a computer magazine of the 1980s, directed at users of Commodore's 8-bit home computers. Announced as ''The Commodore Gazette'', it was a Commodore-only daughter magazine of the ...
'' (
Commodore
Commodore may refer to:
Ranks
* Commodore (rank), a naval rank
** Commodore (Royal Navy), in the United Kingdom
** Commodore (United States)
** Commodore (Canada)
** Commodore (Finland)
** Commodore (Germany) or ''Kommodore''
* Air commodore ...
) and ''Antic'' (
Atari
Atari () is a brand name that has been owned by several entities since its inception in 1972. It is currently owned by French publisher Atari SA through a subsidiary named Atari Interactive. The original Atari, Inc. (1972–1992), Atari, Inc., ...
), since they only had to print one version of each program, were able to print more, longer listings.
Although type in programs were usually copyrighted, like the many games in ''
BASIC Computer Games
''BASIC 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. Among its better-known games are '' Hamurabi'' and '' Sup ...
'', 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.
This could be considered a predecessor to
open source software
Open-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Open ...
, but today most open source licenses specify that code be available in a
machine-readable format.
''
Antic
Alphanumeric Television Interface Controller (ANTIC) is an LSI ASIC dedicated to generating 2D computer graphics to be shown on a television screen or computer display. Under the direction of Jay Miner, the chip was designed in 1977-1978 by ...
'' stated in 1985 that its staff "spends a good portion of our time diligently combing the incoming submissions for practical application programs. We receive a lot of disk directory programs, recipe file storers, mini word processors, and other rehashed versions of old ideas".
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
A word processor (WP) is a device or computer program that provides for input, editing, formatting, and output of text, often with some additional features.
Word processor (electronic device), Early word processors were stand-alone devices ded ...
''
SpeedScript
SpeedScript is a word processor originally printed as a type-in MLX machine language listing in 1984-85 issues of ''Compute!'' and '' Compute!'s Gazette'' magazines. Approximately 5 KB in length, it provided many of the same features as c ...
'', published by ''Compute!'s Gazette'' and ''
Compute!
''Compute!'' (), often stylized as ''COMPUTE!'', was an American home computer magazine that was published from 1979 to 1994. Its origins can be traced to 1978 in Len Lindsay's ''PET Gazette'', one of the first magazines for the Commodore PET ...
'' for several
8-bit
In computer architecture, 8-bit Integer (computer science), integers or other Data (computing), data units are those that are 8 bits wide (1 octet (computing), octet). Also, 8-bit central processing unit (CPU) and arithmetic logic unit (ALU) arc ...
computers starting in 1984. ''Compute!'' also published ''SpeedScript'', along with some accessory programs, in book form. It retained a following into the next decade as users refined and added capabilities to it.
''Compute!'' discontinued type-in programs in May 1988, stating "As computers and software have grown more powerful, we've realized it's not possible to offer top quality type-in programs for ''all'' machines. And we also realize that ''you're'' less inclined to type in those programs".
As the cost of
cassette tape
The Compact Cassette or Musicassette (MC), also commonly called the tape cassette, cassette tape, audio cassette, or simply tape or cassette, is an analog magnetic tape recording format for audio recording and playback. Invented by Lou Ottens ...
s and
floppy disks 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 is a large peninsula conventionally considered a continent in its own right because of its great physical size and the weight of its history and traditions. Europe is also considered a Continent#Subcontinents, subcontinent of Eurasia ...
, magazine
cover tapes/disks became common, and type-ins became virtually non-existent. In
North America
North America is a continent in the Northern Hemisphere and almost entirely within the Western Hemisphere. It is bordered to the north by the Arctic Ocean, to the east by the Atlantic Ocean, to the southeast by South America and the Car ...
, type-ins remained popular for
8-bit
In computer architecture, 8-bit Integer (computer science), integers or other Data (computing), data units are those that are 8 bits wide (1 octet (computing), octet). Also, 8-bit central processing unit (CPU) and arithmetic logic unit (ALU) arc ...
computers well into the 1990s, although type-ins for
16/
32-bit
In computer architecture, 32-bit computing refers to computer systems with a processor, memory, and other major system components that operate on data in 32-bit units. Compared to smaller bit widths, 32-bit computers can perform large calculation ...
computers quickly faded. Some programming or technical 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 "
floppy disks included with magazines throughout most of the 1990s, eventually followed by
CD-ROM
A CD-ROM (, compact disc read-only memory) is a type of read-only memory consisting of a pre-pressed optical compact disc that contains data. Computers can read—but not write or erase—CD-ROMs. Some CDs, called enhanced CDs, hold both comput ...
s and
DVD
The DVD (common abbreviation for Digital Video Disc or Digital Versatile Disc) is a digital optical disc data storage format. It was invented and developed in 1995 and first released on November 1, 1996, in Japan. The medium can store any kind ...
s.
See also
* ''
Micro Adventure''
Notes
References
External links
Full text of classic type in program booksClassic Computer Magazine Archivenbsp;– By Jim Grimwood; original archive by Michael Bruhn
List of Commodore 64 Type-In Games BooksFirst encounter: COMPUTE! magazine and its glorious, tedious type-in code- by Nate Anderson; Ars Technica
{{DEFAULTSORT:Type-In Program
Home computer software
*Type-in program
History of software