BASICODE
   HOME

TheInfoList



OR:

BASICODE was a computer project intended to create a unified standard for the
BASIC BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
. BASIC was available on many popular home computers, but there were countless variants that were mostly incompatible with each other. The project was initiated in 1980 by Hobbyscoop, a radio program of the Dutch broadcasting organisation
Nederlandse Omroep Stichting The Nederlandse Omroep Stichting (; NOS ; English: Dutch Broadcasting Foundation) is one of the broadcasting organisations making up the Netherlands Public Broadcasting system. It has a special statutory obligation to make news and sports program ...
(NOS). The language implementations were architecture-specific utility applications that executed calls of subroutines for text and audio defined in the BASICODE language standard, adapted according to the abilities of the host computer system. These applications, called ''Bascoders'', also enabled the sharing of data and programs across different computer platforms by defining a data format for the
Compact Cassette 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 that were regularly used as storage media in the 1980s.''Weet ik!'' October 1991, ‘Basiscode-3’ by Bob Munniksma A BASICODE program stored on cassette could be loaded and run on any computer supporting the language. BASICODE was often called "
Esperanto Esperanto ( or ) is the world's most widely spoken constructed international auxiliary language. Created by the Warsaw-based ophthalmologist L. L. Zamenhof in 1887, it was intended to be a universal second language for international communi ...
for computers" for that reason.


BASICODE


The situation at the beginning of the 1980s

From the late 1970s to the late 1980s home computers based on 8 bit processors were very popular. Amongst some of the most well-known models in the USA were the
TRS-80 The TRS-80 Micro Computer System (TRS-80, later renamed the Model I to distinguish it from successors) is a desktop microcomputer launched in 1977 and sold by Tandy Corporation through their Radio Shack stores. The name is an abbreviation of '' ...
by Tandy, the PET 2001,
VIC-20 The VIC-20 (known as the VC-20 in Germany and the VIC-1001 in Japan) is an 8-bit home computer that was sold by Commodore Business Machines. The VIC-20 was announced in 1980, roughly three years after Commodore's first personal computer, the PE ...
,
C64 The Commodore 64, also known as the C64, is an 8-bit home computer introduced in January 1982 by Commodore International (first shown at the Consumer Electronics Show, January 7–10, 1982, in Las Vegas). It has been listed in the Guinness Wo ...
, C128 and the
Plus/4 The Commodore Plus/4 is a home computer released by Commodore International in 1984. The "Plus/4" name refers to the four-application ROM resident office suite (word processor, spreadsheet, database, and graphing); it was billed as "the produc ...
by Commodore, the
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., ...
400/800 (XL/XE), whilst in Europe there were also the Sinclair Research computers (
ZX80 The Sinclair ZX80 is a home computer launched on 29 January 1980 by Science of Cambridge Ltd. (later to be better known as Sinclair Research). It is notable for being one of the first computers available in the United Kingdom for less than a h ...
,
ZX81 The ZX81 is a home computer that was produced by Sinclair Research and manufactured in Dundee, Scotland, by Timex Corporation. It was launched in the United Kingdom in March 1981 as the successor to Sinclair's ZX80 and designed to be a low-cost ...
,
ZX Spectrum The ZX Spectrum () is an 8-bit computing, 8-bit home computer that was developed by Sinclair Research. It was released in the United Kingdom on 23 April 1982, and became Britain's best-selling microcomputer. Referred to during development as t ...
), Acorn/BBC micros, several Amstrad systems, Dragon 32/64 from Dragon Data and the KC85 family popular in the
German Democratic Republic German(s) may refer to: * Germany (of or related to) **Germania (historical use) * Germans, citizens of Germany, people of German ancestry, or native speakers of the German language ** For citizens of Germany, see also German nationality law **Ger ...
. All these computers had a
CPU A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, and ...
of the MOS Technology 6502 or Zilog Z80, or a variant thereof. Most were supplied with (or could be upgraded to) at least 16
kilobyte 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 ...
of RAM although many were supplied with much more. Most would provide connectors for a cassette drive or have one built-in for data storage, and a
BASIC BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
interpreter that was generally stored in
ROM Rom, or ROM may refer to: Biomechanics and medicine * Risk of mortality, a medical classification to estimate the likelihood of death for a patient * Rupture of membranes, a term used during pregnancy to describe a rupture of the amniotic sac * R ...
. The flat learning curve of BASIC, which had been designed with newcomers to programming in mind, and the instant availability of the language on all these computers led to many users writing and sharing their own programs. A problem was that sharing programs and data across computers by different manufacturers was difficult, because the various BASIC dialects were often incompatible in some areas. Many used different BASIC commands to achieve the same result (such as clearing the screen, drawing a pixel or playing a sound), meaning that for example, a BASIC program written for the C64 was unlikely to work on an Atari XL without modification and vice versa. Another difficulty was the fact that while these computers were similar, they still differed in key hardware aspects like screen resolution, available color palette or audio abilities. Finally, the data formats used for storing data on cassette were incompatible as well.


The first standard

In 1979 the Dutch broadcaster NOS began transmitting computer programs by radio. Because programs and data were stored as audio on compact cassettes, it was possible to record such a broadcast on tape and load it into the computer later. However, because of the problems mentioned earlier, the program also had to be adapted for a variety of popular computers and broadcast multiple times. Because the compact cassette has a very low data density compared to today's storage media, the recording of the programs took quite a long time, and only a limited number of programs could be broadcast per show. So, the additional broadcasting of different versions of the same programs was a great inconvenience. In 1982 the executives at NOS decided to develop a unified data format. An application that was specific for each computer model, called ''Bascoder'', managed the recall and storage of programs and data in this unified format from tape. The Bascoders were broadcast by NOS as well, but could also be bought from NOS on cassette and shared among friends and acquaintances. The format, which was very well-protected against interference, could be read and written by many popular home computer systems. The robustness of the format also made broadcasting via
mediumwave Medium wave (MW) is the part of the medium frequency (MF) radio band used mainly for AM radio broadcasting. The spectrum provides about 120 channels with more limited sound quality than FM stations on the FM broadcast band. During the daytime ...
radio possible, which increased the range and in turn the number of potential users. For example, data broadcast by the Dutch radio station Hilversum could be received in large parts of the
German Democratic Republic German(s) may refer to: * Germany (of or related to) **Germania (historical use) * Germans, citizens of Germany, people of German ancestry, or native speakers of the German language ** For citizens of Germany, see also German nationality law **Ger ...
.


BASICODE 2

The standard solved one of the aforementioned problems, the incompatible data formats. However, programs still had to be adapted to each computer's BASIC dialect and hardware capabilities. Limiting the programs to only use instructions common across all dialects meant big limitations in terms of functionality, for example completely refraining from using graphics and sound whilst limiting functionality for data input using the keyboard and character output on the screen. For these reasons, in 1983 the enhanced standard BASICODE 2 was created. Bascoders using this standard did not only contain routines for input and output of data to tape. In addition to a set of about 50 BASIC commands, functions and operators that were common across all BASIC dialects, the language standard of BASICODE 2 defined a library of subroutines that emulated the same capabilities across all supported computers. To achieve this, all program lines below 1000 were reserved for the Bascoder, and BASICODE programs could only start at line number 1000. The subroutines of the Bascoder in the lines below 1000 were called with a GOSUB command. Necessary arguments were passed to the Bascoder by using special predefined variables that were reserved for use by the Bascoder. The standard contained a number of additional rules that were made necessary by the limitations of some computer models. For example, on the ZX-81 a line of code could only contain a single BASIC command, a behaviour that almost no other computer shared. On a KC series computer, a line of code could not be longer than 60 characters. These limitations had to be enforced for all BASICODE programs to guarantee platform independence, because the Bascoder was interpreted by the same computer specific BASIC interpreter as the BASICODE program itself. Thus, the Bascoders were loaded on the various computers like normal programs, and when run, they provided the additional routines for the common standard and cassette I/O. Programs written in BASICODE were only usable after the Bascoder had been loaded and started. However, on some computers the BASICODE programs could be merged with the routines of the Bascoders and saved in the native data format. The resulting program was not platform independent any longer, but due to the higher data density of most native formats it could be loaded much faster than the same program in BASICODE format. Also, because it was not necessary to load the complete Bascoder to run the program, more RAM remained available at run time. There were BASICODE 2 Bascoders for the Exidy Sorcerer,
Colour Genie The EACA EG2000 Colour Genie was a computer produced by Hong Kong-based manufacturer EACA and introduced in Germany in August 1982. It followed their earlier Video Genie I and II computers and was released around the same time as the business-orien ...
, Commodore PET,
VIC-20 The VIC-20 (known as the VC-20 in Germany and the VIC-1001 in Japan) is an 8-bit home computer that was sold by Commodore Business Machines. The VIC-20 was announced in 1980, roughly three years after Commodore's first personal computer, the PE ...
,
C64 The Commodore 64, also known as the C64, is an 8-bit home computer introduced in January 1982 by Commodore International (first shown at the Consumer Electronics Show, January 7–10, 1982, in Las Vegas). It has been listed in the Guinness Wo ...
,
Amiga Amiga is a family of personal computers introduced by Commodore in 1985. The original model is one of a number of mid-1980s computers with 16- or 32-bit processors, 256 KB or more of RAM, mouse-based GUIs, and significantly improved graphi ...
, Sinclair ZX81,
ZX Spectrum The ZX Spectrum () is an 8-bit computing, 8-bit home computer that was developed by Sinclair Research. It was released in the United Kingdom on 23 April 1982, and became Britain's best-selling microcomputer. Referred to during development as t ...
, QL, Acorn Atom, BBC Micro,
Electron The electron ( or ) is a subatomic particle with a negative one elementary electric charge. Electrons belong to the first generation of the lepton particle family, and are generally thought to be elementary particles because they have no kn ...
,
Tandy TRS-80 The TRS-80 Micro Computer System (TRS-80, later renamed the Model I to distinguish it from successors) is a desktop microcomputer launched in 1977 and sold by Tandy Corporation through their Radio Shack stores. The name is an abbreviation of '' ...
,
MSX MSX is a standardized home computer architecture, announced by Microsoft and ASCII Corporation on June 16, 1983. It was initially conceived by Microsoft as a product for the Eastern sector, and jointly marketed by Kazuhiko Nishi, then vice-p ...
,
Oric Atmos Oric was the name used by UK-based Tangerine Computer Systems for a series of 6502-based home computers sold in the 1980s, primarily in Europe. With the success of the ZX Spectrum from Sinclair Research, Tangerine's backers suggested a hom ...
, P2000T,
Grundy NewBrain The Grundy NewBrain was a microcomputer sold in the early 1980s by Grundy Business Systems Ltd of Teddington and Cambridge, England. Beginnings The NewBrain project was started in 1978 when Sinclair Radionics began design work with Mike Wak ...
, Amstrad CPC,
IBM PC The IBM Personal Computer (model 5150, commonly known as the IBM PC) is the first microcomputer released in the IBM PC model line and the basis for the IBM PC compatible de facto standard. Released on August 12, 1981, it was created by a team ...
,
Apple II The Apple II (stylized as ) is an 8-bit home computer and one of the world's first highly successful mass-produced microcomputer products. It was designed primarily by Steve Wozniak; Jerry Manock developed the design of Apple II's foam-m ...
, TI-99/4A, Mattel Aquarius and others. Additionally, advanced users were able to write their own Bascoder for their system of choice, since the language standard and data format were open and well-documented. The BASICODE 2 standard made the development of platform independent programs with advanced capabilities (for the time) possible. In addition, BASICODE was used to transmit and share information like computer scene news via radio, in the form of so-called "journals". Similarly, BASICODE coding tutorials and other documentation could also be transmitted this way.


BASICODE 3 / 3C

In 1986, the new BASICODE 3 standard was developed. The most important additions were routines for simple
monochrome A monochrome or monochromatic image, object or palette is composed of one color (or values of one color). Images using only shades of grey are called grayscale (typically digital) or black-and-white (typically analog). In physics, monochrom ...
graphics, reading and writing data from within programs and sound output. A booklet was published about the language, which came with a cassette containing Bascoders for various microcomputers. BASICODE 3 made BASICODE popular in the computer scene of the GDR, and from 1989 onward BASICODE programs were transmitted via radio throughout the GDR. Also, a book was published which included a vinyl record with Bascoders for all computers common in the GDR.''BASICODE Mit Programmen auf Schallplatte für Heimcomputer'' by Horst Völz, 1990, ISBN 3-341-00895-0 The last revision of BASICODE, which featured color graphics, was released as BASICODE 3C in 1991.


The end of BASICODE

From about 1990 onward the popularity of BASICODE declined rapidly due to the rise of 16- and 32-bit computers, such as the Atari ST, CBM Amiga, Acorn Archimedes and the plethora of IBM-PC compatible weclones. Even though there were Bascoders for these machines, BASICODE was too limited to make use of the resources that the new generation of computers provided. As the hardware, Operating Systems and software of new computers became more and more complex, many users were unable or less inclined to write their own programs. The rise of several sophisticated but incompatible graphical user interfaces and the decline in popularity of 8-bit computers, reduced the usefulness of BASICODE, and brought about the demise. The successor of the GDR's state broadcaster, the
Deutschlandsender Kultur Deutschlandsender (, ''Radio Germany''), abbreviated DLS or DS, was one of the longest-established radio broadcasting stations in Germany. The name was used between 1926 and 1993 to denote a number of powerful stations designed to achieve all-Ger ...
(which later became part of the new
Deutschlandradio Deutschlandradio (DLR) (''Radio Germany'') is a national German public radio broadcaster. History ''Deutschlandfunk'' was originally a West German news radio targeting listeners within West Germany as well as in neighbouring countries, ''Deutsc ...
), continued to broadcast BASICODE programs until about 1992. A planned standard called BASICODE 4 never became reality, because NOS stopped supporting the project shortly after BASICODE 3C was released. BASICODE is still used by enthusiasts, in particular 8-bit computer fans, for nostalgic value, but is not of any practical relevance.


Historical significance

BASICODE was an early attempt at creating a standard for the exchange of programs and data across mutually incompatible home computer systems. It is roughly contemporary to the
MSX MSX is a standardized home computer architecture, announced by Microsoft and ASCII Corporation on June 16, 1983. It was initially conceived by Microsoft as a product for the Eastern sector, and jointly marketed by Kazuhiko Nishi, then vice-p ...
standard developed by
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washing ...
, which specified a shared hardware platform in addition to a common BASIC dialect. These computers were sold by multiple companies and directly competed with other popular home computers. MSX was successful mostly in the home markets of the manufacturers, for example
Japan Japan ( ja, 日本, or , and formally , ''Nihonkoku'') is an island country in East Asia. It is situated in the northwest Pacific Ocean, and is bordered on the west by the Sea of Japan, while extending from the Sea of Okhotsk in the north ...
,
South Korea South Korea, officially the Republic of Korea (ROK), is a country in East Asia, constituting the southern part of the Korea, Korean Peninsula and sharing a Korean Demilitarized Zone, land border with North Korea. Its western border is formed ...
, the
Netherlands ) , anthem = ( en, "William of Nassau") , image_map = , map_caption = , subdivision_type = Sovereign state , subdivision_name = Kingdom of the Netherlands , established_title = Before independence , established_date = Spanish Netherl ...
and Brasil. Unlike MSX, BASICODE made no effort to standardise the hardware it ran on, rather it offered a standardised subset of the ubiquitous BASIC programming language and a common data format for
Compact Cassette 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 which could be read and written on all computers for which BASICODE was available. As a result of this device independence, unlike MSX, BASICODE was not limited to computers by specific manufacturers. The
installed base Installed base (also install base, install ''ed'' user base or just user base) is a measure of the number of units of a product or service that are actually in use, as opposed to market share, which only reflects sales over a particular period. ...
of BASICODE is hard to estimate, because both the Basicoders and the programs written in BASICODE were generally freely available. They were available for a large number of home computers sold during this era. Though not a commercial product, several vendors offered versions on tape which could be bought cheaply, presumably aimed at those that could not receive BASICODE radio broadcasts. It must be stated that BASICODE was, by design, unable to use the capabilities of the host computers to their full extent. The language standard defined by BASICODE was the lowest common denominator of all relevant computer systems. This concept was partially abandoned only with BASICODE3/3C, as some computers or computer variants like the
ZX80 The Sinclair ZX80 is a home computer launched on 29 January 1980 by Science of Cambridge Ltd. (later to be better known as Sinclair Research). It is notable for being one of the first computers available in the United Kingdom for less than a h ...
/
ZX81 The ZX81 is a home computer that was produced by Sinclair Research and manufactured in Dundee, Scotland, by Timex Corporation. It was launched in the United Kingdom in March 1981 as the successor to Sinclair's ZX80 and designed to be a low-cost ...
and the
KC87 The Robotron KC 87, fully known as the Kleincomputer robotron KC 87 (''KC'' standing for ''Kleincomputer'', lit. "small computer"), was an 8-bit home computer released in 1986 and produced in East Germany by the Volkseigener Betrieb, VEB VEB Robot ...
were not capable of graphics and color and the new sections of BASICODE using these capabilities were not usable on them. Especially for applications that relied on timing and graphics or sound, for example
video game Video games, also known as computer games, are electronic games that involves interaction with a user interface or input device such as a joystick, controller, keyboard, or motion sensing device to generate visual feedback. This fee ...
s, BASICODE was clearly inferior to programs written in "native" BASIC or machine code. The strengths of BASICODE were in the areas of application design, education software and data sharing. The BASICODE format was also used for
Pascal Pascal, Pascal's or PASCAL may refer to: People and fictional characters * Pascal (given name), including a list of people with the name * Pascal (surname), including a list of people and fictional characters with the name ** Blaise Pascal, Fren ...
programs. Pascal was a much more consistent language across systems, but compilers were available only for very few types of home computers. The underlying concept of BASICODE, which is the definition of a language standard for platform-independent software development and the implementation of said standard as system-specific runtimes (Bascoder) was later revisited in the programming language
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
, via
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
-specific
Java Virtual Machine A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes ...
s which execute Java programs. Additionally, the distribution of data and information in the BASICODE data format is reminiscent of current platform-agnostic document types like the
Portable Document Format Portable Document Format (PDF), standardized as ISO 32000, is a file format developed by Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating systems. ...
(PDF) and the PDF reader applications it necessitates.


The BASICODE data format

In the BASICODE format, the recording of programs is analogous to the recording of data. So, when recording programs, the commands are not read and written in the form of single
byte The byte is a unit of digital information that most commonly consists of eight bits. Historically, the byte was the number of bits used to encode a single character of text in a computer and for this reason it is the smallest addressable unit ...
units (
token Token may refer to: Arts, entertainment, and media * Token, a game piece or counter, used in some games * The Tokens, a vocal music group * Tolkien Black, a recurring character on the animated television series ''South Park,'' formerly known as ...
s), but character by character. A data block begins with the character 02 (STX, start of text), and ends with the character 03 (ETX, end of text). After ETX, a check byte made up of the previous bytes including STX and ETX by binary addition (XOR), is transmitted. A 0D character (decimal 13) marks the end of a line during transmission. Data files created by programs are able to use all characters as data and must contain no control characters. Each byte is transmitted in the sequence "1 start bits - 8 data bits - 2 stop bits". The data bits are sent with the least significant bit first. The most significant bit is transmitted inverted and is always 0 (transmitted as 1) because BASICODE uses only
ASCII ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because of ...
characters. So another way to describe the transmit sequence is "1 start bit - 7 data bits - 3 stop bits". The resulting redundancy is intended for maximising compatibility with different computers. For the audio signals, square waves in the form of a 1200 Hz wave for a "0" bit and two 2400 Hz waves for a "1" bit are used, resulting in a time of 1/1200 seconds for each bit. A pause longer than 1/1800 seconds between waves marks the beginning of a byte, making the following wave the start bit. After the start bit and before the eight data bits is another pause of at least 1/1800 seconds. A 2400 Hz signal with a length of five seconds marks the beginning of a transmission and is used for synchronization of the reading program. At the end of the transmission, a 2400 Hz signal with a length of one second is sent. The theoretical
data rate Data rate and data transfer rate can refer to several related and overlapping concepts in communications networks: Achieved rate * Bit rate, the number of bits that are conveyed or processed per unit of time ** Data signaling rate or gross bit rate ...
of this format is 1200 bits per second. Considering the transmission of three additional bits per data byte and the pauses before and after the start bit, this results in a usable data rate of 102 bytes per second, and about 6 kilobytes per minute.


Decoding Audio Cassettes

On a modern computer, Basicode audio cassettes can be decoded using minimodem, a freely available software modem. If the cassette has been converted into a wav file called ''basicode.wav'', the following command will decode it into its corresponding data bytes into a file called ''basicode.txt''. minimodem—rx 1200 -S 1200 -M 2400—startbits 1 -7 --stopbits 3 -f basicode.wav >basicode.txt


See also

*
Hardware abstraction Hardware abstractions are sets of routines in software that provide programs with access to hardware resources through programming interfaces. The programming interface allows all devices in a particular class ''C'' of hardware devices to be acce ...
*
Library (computing) In computer science, a library is a collection of non-volatile memory, non-volatile resources used by computer programs, often for software development. These may include configuration data, documentation, help data, message templates, Code r ...
*
Virtual machine In computing, a virtual machine (VM) is the virtualization/emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Their implementations may involve specialized hardw ...
* Kansas City standard


References


Further reading

* Michael Wiegand, Manfred Fillinger: ''BASICODE. Mit Programmkassette.'' Ravensburger Buchverlag, Ravensburg 1986, * Hermine Bakker, Jaques Haubrich (authors), Stichting BASICODE (publisher): ''Het BASICODE-3 boek.'' 3. Auflage. Kluwer Technische Boeken B.V., Deventer/ Antwerpen 1988, * Horst Völz: ''Basicode mit Programmen auf Schallplatte für Heimcomputer.'' Verlag Technik, Berlin 1990,


External links

*
Official Dutch Hobbyscoop-site
the original development group of BASICODE

- Historical information *
BasiCode – Software für alle
- Information about history and programming
downloadable tape images
downloads are with permission of Hobbyscoop
A collection of BASICODE programs by various authors
Various BASICODE programs {{DEFAULTSORT:Basicode BASIC programming language family Dutch inventions 1980 introductions 1980 establishments in the Netherlands 1980 in computing 1982 introductions 1982 in computing Science and technology in East Germany