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. 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 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 and
machine code. In the latter case, the
opcodes and operands of the machine code 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 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 [SHIFT-R] instructing 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. 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
flexi disc that played on a
turntable connected to the microcomputer's cassette input. Other input methods, such as the
Cauzin Softstrip, were tried, without much success. Not all type-ins were long.
Run magazine's "Magic" column specialized in
one-liner programs for the Commodore 64. These programs were often graphic
demos 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 ==