Allison wrote:
;) Having had noisy crash prone drives ( and still
having many)
if I want to build to explore some part/hack of CP/M it's usually
not writing yafd (yet another floppy driver). CF allows me to
build and pay attention to other things that might be more hardware
and software intensive. Examples over the years is low DC power
systems, page mappers and the memory management software. Both
hard to do in a sim but the sim can help in creating the code.
Besides, if you want noise, you could always add sounds. That's what I
did with LisaEm. Whenever there's floppy reads, you hear the sounds of
an actual 400K floppy drive spinning. I didn't add the sounds of the
head seeks, mainly because they're inaudible except if you're really
close to the drive, but certainly if you're going all out and emulating
5.25" or 8" floppy drives, where you can hear the head, you can always
add those in too.
Will cost you more in hardware as now you'll need a sound chip that's
able to play back samples on your single board computer, but if you're
willing to give up a parallel port, you could wire up a simple D/A
converter via a resistor network.
If you want more realism than that, you could always add some sort of
optional failure mode where there's a 1/10000 chance of disk failure
whenever you insert a disk, and have it wipe out an entire track or
whatever, and make the appropriate noises. Wouldn't that be fun when
you're trying do some work, or perhaps are trying to show how cool CP/M
was to a group of kids you were trying to impress into looking at
vintage hardware. :-)
Even better, since you are on an emulator you could do something that
was impossible - you could make a backup of the
about-to-emulate-a-failure floppy for the user in the background, so
once the fireworks are over, they can undo the damage. In real life,
back in the day, you couldn't do that.
Personally, that's one of the charms of emulators, you get away from the
unreliability of the original hardware. (I'm not about to debate
reliability of modern hardware, however, CF cards are certainly more
robust than single floppies precisely because you can't harm them with a
magnet, nor do they bend easily.)
Sure, there are a lot of things in the experience you can't really
emulate. These include the physical aspects of the hardware itself, you
just can't touch the original machine in an emulator, nor its keyboard,
nor feel the heat it gave off, nor the barely perceptible flicker, the
curvature of the CRT, but sounds, failures, fonts, behavior can be
easily emulated, if that's part of your goal.
Most of the emulators I've seen don't care about those things, and they
just barely give you the display output, and beeps, and not much more
from the experience. Ok, sure, they emulate some
devices too, but not
the experience of actually using the original machine. I
think the
goal of most emulator writers, myself excluded, is a) to say they've
managed to build an emulator - this feeds into the whole emu-scene
thing, and b) to get it going for software compatibility. Few actually
have the goal of allowing the end user to experience the original machine.
I do care about those things, so I took the trouble to add in sounds,
and even simulate the blueish tint of so called black and white CRT
phosphor. I would have simulated the curvature of the CRT, only after
doing some experiments, it was horribly ugly and slow that it wasn't
worth it.
There are a lot of things I've skipped over, for example, when printing,
I do simulate the output of an ImageWriter and it does look like
dot-matrix output. I would eventually add some sort of animation of an
actual imagewriter printer spitting stuff out and having playing
realistic sounds (based on the data printed), but haven't do so yet.
Yes, if we had holodeck like techonology where you could touch and feel
old hardware and take it apart and mess with it virtually, I'm sure I'd
be the first in line to build emulators in that environment, but you
work with what you have available.
Some folks here are against emulators because they feel it takes away
from the actual hardware. I disagree with that.
Sure, if you're a vintage computing enthusiast, you want the real
hardware, and you want it to work, but not everyone has the ability to
keep big iron in their house, some even live in small apartments, and
some of that hardware would cost a fortune in electricity to keep
running - if you were to keep it running 24/7. I don't think these
folks should be excluded from the fun and enjoyment of vintage computers
just because they can't afford to obtain, maintain, repair, or store
actual machines.
While most of us would wish ebay prices weren't as insane as they are,
they do tell an interesting truth: vintage hardware has a very finite
supply. When there is a demand for it, the prices get insanely out of
hand. Yes, there are crazy sellers out there selling machines for
10-100x what we think they should cost, however, what's crazy is that
there are buyers at those prices, and that makes our hobby more
expensive. Emulators are essentially free.
While I do live in a house, I don't have the space to collect big iron.
So I've artificially limited my collecting to mostly 8 bit home
computers, and small workstations, and these live on shelving, most of
the machines are plugged in and ready for me to work on whenever I want
to. However, I do find myself firing up an emulator more often when one
exists than the actual hardware. This is mostly so I don't
unnecessarily wear it out old mechanical components such as floppy drives.
As much as I hate to say it, eventually old machines will wear out and
some of the custom parts will become unobtainable. In the Lisa, there
are a lot of parts that can't be easily replaced. There are modern
replacements for some of these, such as the X/Profile, or IDE:File, but
for example the COP421 chip is really hard to get - the only source is
from another Lisa I/O board, and if you've had the
batteries in your
Lisa leak all over your I/O board, this is likely one of the
components
that will fail. Yes, you can buy parts from VintageMicros, yes, you can
get parts from another Lisa, for now. How about 5 years from now? 10?
20? 30? at what point will that last working Lisa fail and become
irreparable? Replace Lisa with your specific favorite machine and
reread this paragraph.
I do have some, although limited electronics experience, so I can repair
damage boards here and there, but I'm certainly not great at it, and I
appreciate that this is a huge part of the enjoyment of old hardware.
But, there's still a lot of enjoyment to be had from playing around with
the software from these machine, and that's where emulators come in.
So if you're just starting out, you could still experience a huge
variety of vintage systems, at no cost, and no physical storage cost by
downloading hundreds of emulators. Point in case, if you had the money,
time and space, you could fill quite a large space with hundreds of
arcade machines, repair the damaged ones, and clean up and restore them
all, or for very little effort, you could download MAME, purchase some
legal ROMs (or not) and perhaps for added realism build an arcade
cabinet with real controls.
Emulators also allow you to do something else too, they allow you to
ask, "what if" - if you have the ability to add your own code in them.
If you want to explore what might have been had a certain company not
gone out of business, or if they had expanded on your favorite machine.
You can add extra features to the machine that it never originally had.
The simplest of these is unthrottling the CPU speed. But if you're so
inclined, you can add color displays, or other hardware and explore it
further provided you're willing to rewrite some of the underlying
operating system, or you could even just look deep inside undocumented
proprietary land and figure out how it actually works. This in itself
is a hell of a lot of fun.
(I prefer the term emulator over simulator. Simulator to me has a very
specific meaning, and since emulators don't simulate the whole board at
the transistor level, but rather emulate the behavior of the machine, to
me, it's a better term.)