Tony Duell wrote:
Jerome Fine
replies:
Maybe that is why software can be even more fun - for those
of us who enjoy the challenge. With software, there is never
any end of enhancements. So after all the bugs are fixed, a
program can still provide a great deal of enjoyment.
And you think this
doesn't also apply to hardware? Any interesting
computer (heck, any interesting calculator as well) has some kind of
expansion bus. So there are always more interfaces to design and build :-)
Jerome Fine replies:
I just never thought about those aspects since I would
never be able to do them in any case. Just shows what
a lack of knowledge and understanding proves.
And there are internal hardware mods to try out too.
But my impression was that the definition of hardware for
a specific computer is a given. I would never even dream
of attempting to modify the hardware for my PDP-11 so
that it could do something different. Of course, not being
able to even consider that does lower my horizon.
In addition, I don't consider that limitation when I am dealing
with an emulator. I have asked John Wilson to modify E11
to allow a number of items:
(a) Be able to identify E11 via a PDP-11 instruction
(b) Add 32 bit integer arithmetic - at least add and subtract
(c) Add 64 bit integer arithmetic - at least add and subtract
In addition, there already is the capability to add a "dll" (don't
ask me exactly how is is done - and it is ONLY for the FULL
version) which is able to directly access the memory of the PC
via "emulated hardware registers" (addresses in the I/O page)
using PDP-11 instructions. Doing that with a real PDP-11
would probably be very easy these days - just add a board
that contains the required hardware - and with memory so
inexpensive, it could use the same memory chips that the PC
uses.
I guess that with software there are 2 main things you
can do (apart from
use it!). You can fix origianl bugs. Or you can modify it to do
something (slightly?) different.
Or even something very different, especially to add code which can
do something very different.
With hardware there are _3_ main areas. Fix design
bugs (and yes there
are plenty of those in some machines). Redesign bits to add nrew
features, etc. But you can also trace and fix component failures --
circuits that should work correctly but don't because a transistor is no
longer a transistor, or whatever. There doesn't seem to be an equivalent
for that in software.
If I thought about each hardware item, I am sure that an equivalent
software item could be found. That might possibly be because the
definition of hardware and software has become blurred due to
firmware. Hardware on the outside sees a firmware change as
a software mod. Software from the inside sees a firmware change
as a hardware mod.
I have a great example of an OLD bug in the firmware for the
CQD 220/TM which was corrected over ten years ago.
As for your last example, I think that a bug that is in the RT-11
operating system (been there for almost 20 years) could also be
equivalent to the hardware difficulty you mention. In this case,
the problem is almost impossible to duplicate, so it might even
seem to be a random hardware failure - especially since the
cause is unknown - and the fault which occurs could not easily
be traced to the software bug which causes the problem.
In that aspect, such intermittent problems are the most difficult
to trace and find the cause.
About the only real difference between hardware and software
problems is the essential nature of what is software and hardware.
Hardware can break in an individual manner and the problem would
then be with just one computer. Software can also cause such
problems, but only if there is a pre-existing bug.
Sincerely yours,
Jerome Fine
--
If you attempted to send a reply and the original e-mail
address has been discontinued due a high volume of junk
e-mail, then the semi-permanent e-mail address can be
obtained by replacing the four characters preceding the
'at' with the four digits of the current year.