Roger Holmes wrote:
From: Ray
Arachelian <ray at arachelian.com>
An excellent, almost definitive summary of the subject.
Thank you.
I would just like to add a little of my own experiences.
I have the real thing too (1962 mainframe) but also have an emulator
for it. I initially wrote it so I could write software for it in the
comfort of my house in the cold winter months without having to (a)
risk damaging Germanium transistors which have a minimum official
temperature rating of 50F, 10C. (b) having to warm up a whole barn to
be comfortable to work in (c) having to hand start an old 3 phase 3.5
litre diesel generator with cold thick oil in it (d) having to pay for
lots of diesel fuel or after I had 3 phase installed, to pay for 13
kWh electricity per hour.
Yes, exactly! There are reasons to sometimes NOT run
older hardware.
(As an aside, I wrote most of LisaEm without actually using a real Lisa
as much as possible. I wound up using my NeXStation slab to do the CPU
opcode tests, and mostly referring to schematics and documentation
instead. There were a few things I had to just give up on and fire up
the Lisa, but for most of the development time, I avoided it, both as a
challenge to see if it could be done, and as a way to preserve the older
hardware from possible damage.)
I now plan to publish my emulator on the web, along with original
software which non programmers can run on it. I am very unsure of how
many people will be interested in such a thing. I need to get the
physical machine running to retrieve said software from unique ten
track mag tapes and from standard 80 column cards, though I could
probably get the latter read elsewhere, I don't want to have to
transport about 150,000 card somewhere to have them read, probably at
great cost.
Hey, I'd happily play with it. I probably won't get very deep
into it,
but I would like to interact with it and see what it was like. (Which
mainframe btw?)
Hopefully you'll add various things to make the experience more
authentic, such as sounds and pictures/animation of actual tapes, punch
cards, etc. (As much as possible.)
I am also into classic cars and hold an annual car show at my home
attended by about 4000 people. The opportunity to try opening the door
and show visitors the mainframe was too hard to resist, so we did and
were very surprised by the results. No negative comments, even by
children who were amazed that computers were ever so much bigger than
their familiar home machines. It was surprising how many adults people
had experienced mainframes and who loved being reminded of just what
it had been like, and having the opportunity for their children to
experience what words alone cannot really describe. The smell of hot
electronics by the ton, the heat, the noise, and of course the sights
of the whole thing and the main console with its flashing lights, the
scale of a machine big enough that you can stand INSIDE it and being
told it weighs five tons.
In the early years I had to simulate some of what the machine should
have done, by using diagnostic facilities and one or three
instructions entered directly into the control registers when the
machine had failed. If the machine ever completely failed and had to
be shut down I certainly would be very disappointed and I feel the
visitors would be too, I'm sure a static museum exhibit just does not
have the same impact. I once visited Manchester museum and they had a
couple of old mainframe. No explanation, nobody to ask, I could have
been very interested and spent hours there but without any information
I passed on to the next room in about two minutes. I have to say the
temptation to try the on switch was hard to resist, there wasn't even
anything saying not to do so.
Exactly! I remember visiting the Boston Computer Museum many years ago
(well, when it was in Boston) and seeing the large exhibits - the one
that strikes me the most was one showing a disk drive with small
flipable magnets and a very large drive head hovering over it making the
bits flip around. That one attracted a lot of people. The ones behind
velvet rope that showed actual machines that were powered off and you
couldn't interact with gained about 10-15 seconds at most of attention.
You've done a wonderful thing by letting people look inside a large
machine. Hopefully you'll get the chance to do it again and get to see
lots of smiles on the little kiddies faces.
..
The same thing in the classic car scene. There are people who spend
years building replicas of E Type Jaguars (called XKE in the US), D
Type Jaguars, AC Cobras, 1930s roadsters etc, often with better
performance/handling than the originals. Very nice people, and I'd
rather they did that than modify a working original.
Wish I knew more about cars.
:-) Sadly that's one area of technology
I've not delved too deeply into. Though a lot of the sentiments are the
same.
For micro computers I agree, not quite sure this applies to
mainframes. I guess it depends on how you define software. If a single
instruction is software then I suppose so. At the lowest level
debugging I can set an instruction into control register one, set the
machine to single cycle and watch the lights on the console as I send
single clock pulses through the hardware every time I press a button.
Sorry,
that's still running software. Microcode is still software
(though some have tried to define it as firmware at times.) But yes,
I'm sure walking inside a large mainframe while it's on and feeling the
heat and hearing the sounds is a totally different experience from
powering on a somewhat quiet machine.
I'll assume that we're not in this hobby
for the sole purpose of using
classic computers as space heaters.
Not solely no. Just a useful side effect.
Right, depends on the weather I suppose.
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.
Yes but how can you give this experience to several hundred visitors
in a day. With a multi-programmed machine this might be possible but
with an older machine, specially ones without terminals (my one does
not even have an operators terminal) you cannot do much without
affecting the experience of the bulk of less technical visitors. I
suppose it would be possible to provide an emulated machine to the
minority but would they be interested in that?
You can hold a programming class.
Maybe provide actual documentation
ahead of time so they know what to expect and can have an idea of what
sort of programs that they can execute, maybe provide some samples for
them to start with and tweak as they go along. If you can get actual
terminals to the mainframe, once they're done using the emulator, you
could fire up the real thing and let them play with that for a short
time. Maybe if you're worried about the cost of the electricity, you
could charge a bit of cash for that purpose and let them know what the
cost is for.
I don't think several hundred visitors a day would write code, they
might just want to see it in action, but maybe a few dozen would like to
get deeper.
But there is one area where we are actually able to create and provide
immortality: software.
So that's why I'm a programmer? I don't really expect my programs to
be around in 20 years time let alone a hundred. One member here did
express approval for a program I wrote in the 1980s but that is
exceptional. The program drove a particular colour dot matrix printer,
very few of which survive, and is of no use whatever without that
hardware, which in time will become extinct. Applications I've worked
on could fare better but why would anyone want to run a 2D drafting
program or a 3D modelling program on an emulated Mac in a hundred
years time? For me I think its pleasing people NOW which matters, and
of course the money to spend on cars, old computers, food etc
Sure, there will be
much better 3D modeling software out there by that
time, but I imagine many would want to go back and see what it was like
in the day and experience that for themselves.
Driver software for a very specific printer would likely not be part of
that. Sorry, you're right on that.
As I am not going to live for ever I want my old
computer to go to a
museum. I've already tried with one which eventually went to a
privately run museum as I could not GIVE it to a publicly run one. I
would like this to happen to my remaining one whilst I am young enough
to tell them how to move it, reassemble it and help get it running, I
don't want to be doing it in my eighties, but I MIGHT still be
interested in running an emulator which does not develop faults and
need a resident engineer to fix them.
Sure, and if you can find people of the same
mindset, those that would
like to demonstrate the running thing to visitors rather than just
cordon it off, so much the better.
Myself, I have two little ones, they're not quite old enough to
understand computers yet, though I've given them one to play with -
right now they just use it to watch videos or listen to kids' audiobooks
on. Rarely they play games on them. But when they're about 9 or so I
imagine I can show them a lot more and let them play with the machines
I've collected over the years and maybe they can play with the ROM BASIC
and code a bit. :-) Something I'm looking forward to.
One aspect of emulators I have not yet explored is, well hold on a
second and I'll explain. When looking through the 1301's
documentation, circuit diagrams and instruction set, I am very tempted
to add improvement which could have been done by the designer, but for
some reason, either budgetary or lack of knowledge (some software
techniques had not been invented yet). In an emulator I could add
indexing or indirect addressing, or immediate mode data, or relative
mode, or branch on NOT some condition without having to modify the
actual hardware. I could then try programming the machine in that
configuration and see how it affected the program size and ease of
programming.
It would be even more fun if the emulator was done at logic gate level
and even more so if mated to an interactive 3D model of the hardware
where you could open the cover, insert emulated scope probes and look
at the signals. You could even emulate random logic failures for
educational reasons, though to do so as a game would probably be a
step too far for me, though programming the emulator to do it WOULD be
fun.
Right, a logic simulator could be used to model this, and later you
could change the emulator around to match the proposed change. Gate
level emulation is very difficult. Not so much difficult to write, but
its going to require a lot of processing power, and the timing aspects
will be very hard to get right.
It has been done in the past, mainly to help designers test out their
designs, but they typically run several thousand times slower than the
actual machine.
The emulation page of the CCS web site seems to have disappeared so I
can't check. As Colossus, like early US machines was not a stored
program computer, I'm not sure at what level you want the emulation to
run. I think there was an emulator for Baby, the first stored program
computer on the web site.
I remember there was something, possibly Java or such on that page, but
it's long gone now. Unfortunately it wasn't something one could
download. That's one of the things that utterly sucks about the web.
You can archive it, but things that depend on a back end server can't be
replicated without having what runs there (or a simulation thereof.)
It's sad that it wasn't released publicly.
Most of Colossus was just circuitry, not much to program there, but you
could code simulations of those circuits and provide code that does
similar enough things. (At least what little I know if it comes from
the book.)
Never had a sealed in box machine which was beyond
economic repair? :-)
Never had a sealed-in-box machine. :-) I've used every machine I have
to some extent or other.
I do have a sealed copy of Sun OS 4.x - will never open it as I have an
opened copy of the same elsewhere.
Rest of the stuff I have has been throughly played with. :-)