. |
Author: The
Scribe
Foreward
I want to thank the many, many people who
have made this document possible - providing source material, making suggestions,
offering corrections, etc. I wish I had room to give credit
where credit is due, but you know who you are. Thanks again ... thank
you very much.
This document is very much a work in progress.
It is still far from complete on the emulation side of things and probably
too long by half on both background data and concurrent events, but this
is the way that you have demanded it to read. My apologies for any
errors that may still remain.
As always, your comments are welcome.
Abbreviation key
-
(C) - Combination or "combo" emulator
An emulator that has both hardware
and software components. The software component is usually the
actual emulator, while the hardware component provides key parts of the
original system required for popular emulation. This offers the most
flexibility in terms of design, but is generally frowned upon by emulation
purists as not offering "true" emulation. Combo emulators are by
far the most prevalent form of the technology, including many examples
not documented here.
-
(F) - Firmware emulator
An emulator that is contained entirely
within hardware. This usually involves one or more emulators
embedded in ROM that reconfigure the system into behaving like another
completely different system. By far the fastest form of the technology,
it is also the most specialized and requires a high degree of systems knowledge
in order to implement properly. Firmware emulators are usually limited
to situations where back-compatability with an older system is a major
concern.
-
(S) - Software emulator
An emulator that is contained entirely
within software. In other words, the only hardware components
involved are those of the host system, which the emulator then reconfigures
as needed for its own purposes. Purists consider this to be "true"
emulation in that no part of the original system is required. It
is also the slowest form of the technology for the same reason. The
chief advantages to a "true" emulator are twofold - it can be easily changed
or updated as need requires, and it can be easily ported across different
platforms.
Birth Pains:
Emulation Prehistory (1800 - 1961)
In order to make a personal computer
system or videogame emulator, you have to have something to emulate.
Well, how did these "wunnerful" technological concepts come about, anyway?
How did they set the stage for the birth of emulation as we know it today?
1822
-
British futurist Charles Babbage conceives
of a programmable, multifunction, multitaskable problem-solving machine
on a level above and beyond anything available in his day. He calls
it the difference engine, but the steam-and-gear
based technology of the time is just too crude to make it a practical reality,
although he did live to see it become a reality. Though he did not
realize it, he had just conceived of a computer system as we know it today.
The result is that Babbage is widely regarded
as the inventor of the computer.
(NOTE: the Babbage's retail
compter store chain is named in his honor, and the device is the object
of William Gibson's what-if sci-fi novel The Difference Engine).
1833
-
Charles Babbage refines his difference engine
into the analytical engine, another
theoretical construct that is designed to use punched cards for input.
It will serve (with surprisingly few changes) as the design concept for
the first generation of true computers.
1842
-
Lady Ada Augusta Byron, the daughter of poet
Lord Byron and later known as the Countess of Lovelace, documents Babbage's
efforts for history. She also writes a series of letters demonstrating
just how Babbage's devices could be dedicated to different tasks.
As a result, the Countess of Lovelace is widely regarded
as the first computer programmer.
1855
-
Swedish engineers George and Edvard Scheutz
build the first mechanical computing device to be directly influenced by
Babbage's theories.
1857
-
A scaled-down version of Babbage's difference
engine is delivered to the Dudley Observatory in Great Britian to assist
in the computation of math tables.
1889
-
Fusajiro Yamauchi
founds the Nintendo company in Japan.
1890
-
The 1890 U.S. Census is tabulated by a punch-card
mechanical computing device invented and patented by Herman Hollerith (application
made in 1884, issued 1889). It is the first recorded instance of
the commercial application of a computing device.
1896
-
Herman Hollerith
founds the company that we know today as International Business Machines
(IBM). Its original name is the Tabulating Machine Company,
and its first product is a mechanical sorting machine.
1903
-
The legendary Yugoslavian engineer Nikola
Tesla invents and patents (among many other things)
the logic gate circuit, which proves
to be crucial to subsequent computer developent.
1928
-
Russian immigrant Vladimir Zworykin invents
the cathode-ray tube - the major component
used in all visual display devices for the remainder of the century.
1931
-
German engineer Konrad Zuse quits his job
at Henschel Aircraft, thus giving him the time he needs in order to invent
the Z1, the very first calculator.
1939
-
Iowa State College professor John Atanasoff
and graduate student Clifford Berry design the
world's first true computer, the ABC (Atanasoff-Berry Computer).
The actual working model is not finished until 1945 due to the intervention
of World War II. The honor was eventually granted to the ABC after
a lengthy and well-researched court battle (Honeywell v. Sperry, 1973)
for right of "first recognition" (i.e. an academic pissing contest).
(NOTE: The ENIAC design team,
which had "first recognition" rights prior to the lawsuit, disputed the
recognition of the ABC up to the day of their respective deaths)
1940
-
George Stibiz of Bell Labs designs and demonstrates
the Complex Number Calculator, considered by several authorities as the
first digital computer.
1941
-
Bell Laboratories creates the
first video display terminal (VDT) as part of a series of remote
processing experiments.
-
The first television broadcast in color is
conducted.
-
Konrad Zuse develops the Z3, the
first calculating machine with automatic control of its functions.
He has somehow managed to hide his efforts from the Nazis during this time,
and continues to do so right up to the end of World War II. The Z3
is destroyed by an Allied bombing raid in 1944, although a slightly enhanced
successor termed the Z4 survived the war.
(NOTE: Zuse is also credited
with the first alorighmic programming language, Plankakül, which he
developed in 1945. The Z4 was "rediscovered" in 1949 and used until
1960. A full-scale mockup of the Z3 can be seen at the Deutsches
Museum in Munich.)
-
The British government commissions the building
and operation of a series of computer that eventually results in Colossus,
an early computer of the hard-wired variety (same as the ABC). It
is designed by Alan Turing and built by M.H.A. Neuman at the University
of Manchester. Its primary task is to crack the Enigma encoding system
in use by Nazi Germany (remember, this was during World War II). Some
authorities still consider Colossus to be the first "real" computer,
as it was the first operational machine to be used outside of academic
purposes (unlike the ABC). Unfortunately, H.M. government kept its
existence secret until many years after hostilities had concluded, thereby
dimishing its role and all but negating its influence.
(NOTE: Many
emulation experts consider this to be the first early example of emulation
in action, since Colossus and its contemporaries were called
upon many times to simulate the operational functions of the Enigma machine)
1944
-
Howard Aiken of Harvard designs the ASCC
Mark I for IBM (also called the Harvard Mark I), which is generally
credited as the first relay-based calculator.
A small but highly vocal handful of IBM advocates claim this to be IBM's
first computer (although most historians and computer experts
contend otherwise).
1945
-
Mathemetician John von Neuman first describes
the stored-program concept in a paper
written about the then-developing EDVAC. He is generally credited
as the first to conceive the notion.
-
On 9 September, Lt. (j.g.) Grace Murray Hopper,
USN, the third programmer hired to work on IBM's Mark I, discovers the
first "computer bug" when she finds the body of a dead moth
that had been caught and beaten to death in one of the machine's many mechanical
relays.
(NOTE: The term "debugging"
is generally credited to American inventor Thomas Alva Edison, who was
frequenly quoted as "having to work the bugs out" of his many creations.
Ms. Hopper's discovery has been preserved by the Smithsonian Institution.)
1946
-
The U.S. Department of Defense "officially"
completes work on ENIAC (Electronic Numerical
Integrator And Computer), designed by J. Presper Eckert and
John Mauchly. It is another hard-wired computer which is located
at the University of Pennsylvania. Its first task was to compute
artillery firing tables for the United States Army. Some sources
have it working on an "informal" basis as early as mid-1945 (in the closing
stages of World War II), even though it was incomplete at that time.
It was considered to be the first true computer for many years (and you
will find it so described in older, non-IBM computer-related books) until
the ABC court battle and lack of public knowledge about the Colossus project.
The core unit measured 8' x 100' and weighed some 80 tons. Its top
speed was 5000 additions and 360 multiplications per second.
1948
William Shockley, with the assistance of John
Bardeen and Walter Brattain, invents the transistor
while working under contract to Bell Labs. It would go on to spark
a major revolution in electromechanical technology and eventually supplant
vacuum tubes in system design. Transistor-based technology is generally
credited with making the so-called Age of Information possible (1948 -
present).
1951
The Whirlwind Computer, designed by Jay Forrester
and Ken Olsen as the very first computer to operate
in real time, is installed at the Massachusetts Institute of
Technology (NOTE: The Whirlwind is now located at the Boston
Computer Museum, where it is maintained in full operational condition as
a working monument to the era).
1952
Computer-based statistical surveys come into
being when the Sperry-Rand UNIVAC I is used to predict Dwight Eisenhower
as the winner of the American presidental race. The results are delivered
just one hour after the polls close, predicting a 7% margin of victory
The United States Department of Justice files
criminal and civil charges against IBM, contending violation of the Sherman
Anti-Trust Act in establishing an unlawful monopoly over the existing calculating
and emerging computing industries. United States v. IBM would
drag on in one form or another for three decades, representing a constant
source of annyoment for IBM during this period.
1954
FORTRAN, the first
programming language, is invented by John Backus for IBM, with
the first FORTRAN program successfully executed by Harlan Herrick.
The name stands for FORmula TRANslator, and it is still being taught in
some educational institutions as an entry-level language for would-be programmers.
1958
-
NEC of Japan builds the NEC-1101 and NEC-1102,
the first "native" computers (of any kind) for that country.
-
William Higinbotham and David Potter invent
the
very first videogame, Tennis for Two, at the Long Island
Research Center while working under contract to the U.S. federal government.
It is an early form of Pong played on an ocilloscope, done to amuse
visitors to their laboratory. They do not patent it for various reasons
(but if they had, and their employer had exercised "work for hire" rights,
then ... hmmmm!)
-
The Perceptron Mark I by Frank Rosenblatt
is the first computer to use a VDT for output.
The resulting subcomponent would eventually become known as a "video monitor"
(describing its function - a video screen used to monitor system operations).
-
The Control Data CDC 1604 by Seymour Cray
becomes the first fully transistorized computer
upon its completion. It represents a major milestone in system design
and sounds the death knell for vacuum tube technology.
(NOTE: Cray would eventually
go on to found the company and build the world-famous supercomputers that
bear his name)
1956
-
David Rosen, a Korean War veteran who had
moved to Japan, recognizes the growth of leisure income in the Japanese
marketplace. He founds Rosen Enterprises, a company dedicated to
the amusement industry
(NOTE: See Part 2 in order
to find out what happened to Rosen Enterprises).
1958
The next major breakthrough in computer component
design occurs when Jack Kilby of Texas Instruments invents the integrated
circuit (IC), consisting of an array of minituarized transistors
and other components integrated together within a common housing (sound
familar?). He applies for a patent the following year.
1959
The COBOL programming language, long the favorite
of mainframe and minicomputer industrial programmers, is defined by the
CODASYL conference. It is directly derived from a concept language
called FlowMatic, invented by naval officer and noted computer programmer
Grace Murray Hopper. She has since become known as "the mother of
COBOL."
1960
Benjamin Curley develops the PDP-1 (Programmed
Data Processor) for Digital Equipment Corporation (DEC). It is the
world's first minicomputer, as opposed to the mainframes of
the day, and represents a major step forward in computer design and reduction
in size.
1961
IBM's fully transistorzed Stretch computer,
the first to use 8-bit bytes and 64-bit data paths, is delivered to the
Los Alamos Nuclear Weapons Laboratory in New Mexico, U.S. It remains
operational until 1971. It is frequently credited with being the
first
multitasking computer, despite its less-than-stellar performance.
to be continued
. . .
Permission is hereby granted
to reproduce this document subject to the following terms:
All copies must not be altered
in any way, including but not limited to reformatting and conversion to
alternate document formats, without the express consent of Zophar's Domain.
The sole exception is for necessary formatting changes that may berequired
to adapt this document to suit your particular needs; however, this document
must be retained in as close a layout to the original as possible.
For any questions in this regard, please contact Zophar's Domain or its
official representatives.
No copy may be reproduced
in whole or in part within a for-profit commercial publication or Internet
site without the express consent of Zophar's Domain. We recognize
the right of our users to reproduce limited portions of his work under
the "fair use" clause of the appropriate sections of U.S. copyright law
and the international Berne Copyright Convention.
Any trademark to be found
within this document is the exclusive property of its respective owner(s),
and is reproduced here merely for reference.
The History of Emulation by
Sam Pettus, copyright © 1999 Zophar's Domain, all rights reserved.
Want to learn more?
Want to contribute? Do you have an emulation history story to tell,
or want to know more about one? Then watch in the coming months for
the Scribe's next project ...
A "Year 2000" Zophar's Domain
exclusive!
(besides, we gotta have
somthing to do during Y2K, right? *grin*)
Questions? Comments?
Praise? Flames?
Contact the
Scribe! |
. |