I'm a bit loathe to respond to this thread as it seems to have devolved
into a religious war of sorts. While those can be fun, it usually
pisses everyone off and no progress is made anyway.
What bothers me is the derogatory "Emulator Jokeys" as the subject of
the original thread - I think there's enough room in this hobby of ours
for both those who appreciate real hardware and those who appreciate
emulators.
I happen to be in both camps - yes, such a thing is possible. Luckily I
do have enough physical space to be able to own a few dozen old
machines, though nothing very large, but certainly, I can experience far
many more machines than I can house by emulating them.
While there may be groups of raving rabid ravenous emulator fanboys out
there, I've not met many myself, most of these don't do much more than
trade lists of ROM sites to download from and aren't interesting in much
more than collecting as many bits as possible without necessarily
touching the majority of them, but it does seem to me that none of those
have shown up here. (I could imagine the existence of a class of
hardware fanboys whose goal in life is to do nothing more than collect
hardware and never touch it again, but I don't think that resembles
anyone in real life.)
By and large, the people I've dealt with in regards to emulation have
been civil and friendly and appreciative. Some of these have never seen
the systems they want emulators or, some of them have and wish to relive
the nostalgia, some couldn't afford the real thing, or couldn't repair
it and so forth. In other words, they're hobbyists, just like the type
of folks you'll find here on this list. And in fact, some were from
this list.
I will say this, a computer is nothing more than a bunch of parts that
don't do interesting things without software. Whether that software is
a specific set of applications, an operating system, or a ROM with some
sort of interpreter or debugger in it, or some code you yourself have to
type in, there's not much a computer can do without code. All it will
do is sit there and take up space and, if turned on, consume electricity
and produce heat.
I'll assume that we're not in this hobby for the sole purpose of using
classic computers as space heaters.
Now, of course, there is a lot of fun in the physical aspects of it,
repairing and reconfiguring systems, for example is a very good thing,
that's what allows us to keep our machines in running order, and there's
certainly a huge sense of accomplishment in fixing a machine, and
therefore saving it from the scrap heap.
Ultimately, I believe that's the key here (at least it is for myself -
and I don't presume to speak for others, except in the sense that they
might feel the same way) if you can't actually run the machine, it's
not very useful. It might be something nice to look at in a museum, but
you won't be able to interact with it, you won't be able to *run
programs on it*. So, to me, a non working machine isn't very much more
interesting than a statue, in fact, quite a lot less due to the lost
potential of what it could be.
Walking by a cordoned off exhibit that shows a non-functioning machine,
without the ability to see it run or interact with it, well that's just
not very interesting to me. Watching the blinking lights of a powered
on machine might be fun for only about 3 seconds (unless perhaps you're
one of those that tends to partake in mind-shrinking substances).
The experience of actually running code, and even better, coding for an
old machine is probably the largest part of the fun of this hobby.
Sure, when you take a machine apart and repair it and put it back
together again, that's interacting with it, but if that's all you do,
it's a very one dimensional experience, and for all the complexity, you
might as well get your kicks repairing a toaster or dish washer.
If you're not going to enjoy the end product of your work - a working
machine that runs some software, by actually running that software, what
good is all that work and effort beyond a fleeting sense of
accomplishment? If that's the only joy you get, you might as well break
it again, so you'll have something to fix.
So that brings us from hardware to software.
In software we can do something nearly magical.
Humans, as far as we can tell, have for tens of thousands of years
sought some path towards immortality. You'll find this theme in a lot
of areas, we see it when we talk about art - how this or that artist has
achieved immortality through their great works; you'll find it in almost
every religion and cult - the idea of living past the limits of our
bodies. And yet, we can't get there today. Sure, there are a few who
are working on it today.
But there is one area where we are actually able to create and provide
immortality: software.
Computers are relatively new things, and yet, their evolution and
obsolescence has been as far faster and more interesting than as that of
living things. Sure, we're the cause of that evolution, we're the ones
inventing new improvements for them daily, we're the ones building and
designing them. But they are indeed evolving.
You can look at a timeline and see that first there were large machines
which didn't do very much, then smaller ones which did almost as much:
minis, then micros, then more recently portable machines. The features
and capabilities from the larger make their way down to the small ultra
portable ones (such as PDA's and phones). There is a trend here. Large
machines got bigger, they went multi-processor, they went 64 bit,
they've had MMUs, multitasking, I/O processors, and so forth. Smaller
ones started out without those a lot of capabilities, but over time
acquired them. Technology from the big iron made its way to the
smaller, and all across the spectrum, everything evolved and grew and
changed. A lot of the very interesting machines became extinct, and
here's our hobby, the dull ones survived and we don't discuss them here
as they're off topic.
There are many reasons for these trends, mostly economic. To run a very
large system, you need lots of space, lots of cooling, and lots and lots
of energy. Whether you do this for a hobby or to gain some use in a
corporate environment, it's expensive to maintain and run a very large
system. But as those features made their way to minis and workstations
and off the shelf consumer machines, the neat capabilities were made
available to everyone.
Thanks to Moore's Law, the smaller ones gain abilities exponentially,
much, the same way as their larger brethren.
One of the more interesting discoveries is the idea of a universal
machine. While Turing came up with the idea, calling an invention is
somewhat incorrect as it's more of a law in and of itself.
The idea that one machine can run the very same code of another machine
is an amazing thing. And it's also a very old one (in our hobby's time
frame).
When actors in ancient times put on a mask, for a few hours, they became
that persona and the audience believed them, and some of those personae
were of things that didn't exist, but were imagined, others were of
historical figures and somewhat inaccurately portrayed due to the time
limits of the show. Similarly, one machine can mimic another at the
surface levels (such as DOS being similar to CP/M or Xenix being similar
to Unix), but it can go much, much deeper than that. One machine can
completely become another and can run the other's software, and in a lot
of cases very accurately.
While this may not satisfy a few vocal people on this list, the fact
that there are large communities who are centered around emulation
indicates a lot of interest and appreciation. For many people,
emulation is perfectly acceptable. (Like any other software (or
hardware) implementation, it can be very good or very poor, crying about
the poor examples as a means to put down the whole spectrum is merely
crying sour grapes. For shame!)
But it can also open the door to other things, not previously possible.
You can modify the running software - as it runs, something that's very
hard to do on real machines unless facilities for this are provided (or
created). You can run the software slower, or faster. You can
defeat various forms of DRM. You can provide portability. You can
provide the ability to save a running emulator's state to disk, transfer
that to another machine and restart it there. You can clone one system
into many at will. Something you cannot do with the original hardware.
I think the major complaint (or rather phobia) is that emulation can
allow one to run the same software WITHOUT the original hardware. Oh,
the excuses will come up from the back of the mind, dripping in terror
"But! But! But! If they can run it in software, they might throw out the
hardware!" Well, yes, they might, and when /they/ discard that old
hardware, it will likely make its way to our hands. Sure, some will
wind up being scrapped by those who don't know any better, but a lot of
folks realize our hobby exists. Some have various misunderstandings
about our ability to pay insane amounts for nostalgia (i.e. the rabid
ebay complaints that surface every few months), but others aren't
looking for a quick score, so they'll ask around or post on Craig's List
or Goodwill and do the right thing.
It precisely because a somewhat unique machine is no longer produced,
and therefore on the verge of extinction that we value it in this
hobby. And exactly because of this we treasure that machine. We don't
talk about (current) PC's much here, precisely because they are common.
The drivers for this hobby are nostalgia, and preservation.
They're not being made anymore, but they do continue to break down (yes,
entropy is evil, we know) so their availability can only shrink over
deep time, no matter what we do. Nostalgia (or curiosity for the past)
is why people wish to play with the older machines. Wishing to bestow
immortality on them is why some repair, others create replicas, and yet
others write emulators for them. (Some write emulators for the
challenge, for being the first to do so, etc. I admit all of those
sentiments in my own experiences, but preservation was the main one.)
So the goals of those who repair, those who create replicas, and those
who write emulators are very much the same.
The goals of those who buy and collect older machines, and of those who
run emulators are also similar.
There are also many reasons why emulation is a good thing. The ability
to liberate the soul of the machine from the hardware (whether broken
beyond repair, fixable, or working) is a good thing. It provides us
with the chance to collect unwanted hardware, it provides anyone who is
interested the ability to experience older software, and to some degree
get an idea of what the older hardware could do. Sure, it's not the
same, but it can be if the guys who write emulators care to make it a
close experience. If we ask for them to be as close to the real thing
as possible, the guys that write emulators will make it so.
What can you use emulators for?
You can run older operating systems on modern commodity systems, and if
you care about portability and space, on a laptop.
You can run multiple emulators at the same time on a single machine and
possibly network them together.
You can preserve old programs, and make them available even when the
last piece of media, or drive is gone and no longer readable.
You can recover personal data you had on systems (before they break
irreparably), and bring that with you on modern systems.
If you're short on space, you can run hundreds or thousands of systems
on a single machine at will and experience machines you never saw in
your life and have no hope of being able to house.
Same as the above due to money or electricity.
You can run them at many times their normal speed (hey life is short,
why wait for hours when you don't have to?)
You can even invent new systems and write emulators for them before they
are built - for example the P-System, the Java JVM, and so forth.
There's also a whole spectrum from actual original hardware to
virtualization in the form of hypervisors to partial emulators full
emulators to whole system simulators (down to the transistor level).
And yes, you can actually emulate systems that require far more
resources than a modern commodity machine (so long as you have enough
storage available) but they'll run very slowly - and these are quite
useful for situations where the actual guest system is too expensive or
doesn't yet exist.
You can use them to analyze malware in safe sandbox (for example, self
encrypting, self-modifying ones)
Those are all things you cannot do with the original hardware (or at
least not in their original forms.)
A couple more:
When the very last Commodore 64 refuses to run and is beyond repair is
no longer working, (yes, that day will someday come), the multitude of
commodore 64 emulators will still be around (and so will the various on
FPGA replicas and the like.)
While there may have been only a few Colossus machines, all of which had
been destroyed after WWII, if someone can get their hands on the
emulator for it, they can run one whenever the mood strikes. Not as
many can build their own replica, however, and none will have an original.
(Speaking of which anyone know where you could get a Colossus emulator
from? - there was mention of one here:
http://designresearchgroup.wordpress.com/2007/11/23/a-post-modern-colossus/
) :-)
Maybe emulators aren't for everyone, then again, neither is collecting a
lot of classic machines, or building replicas of such. To each their
own. Each have advantages the others can't meet.
And of course there is a huge spectrum between pristine sealed in box to
damaged beyond repair. (Of course, ideally, every classic machine
should be in pristine condition, with unyellowed cases, and completely
working. But that's a pipe dream.)
That spectrum also includes modern peripherals or upgrades. Some would
scream bloody murder at the thought of replacing a non-working hard
drive for a classic system with a modern hard drive (or CF card) and
interface, others would gladly welcome it as it means the difference
between an unusable machine and one that works.
This can go all the way to replacing the actual internals of a machine
with a modern one running an emulator (I recall someone installed a Mac
Mini inside a Mac Plus case and then ran mini vMac on it as an example),
or of course, just a plain emulator running on a normal consumer machine.
I don't think we should be bickering and fighting over where our
preferences lie on the spectrum. To each their own, and no matter where
your preferences lie, the end result is that more classic machines are
saved from scrap.