On Fri, 06 Feb 2015 01:48:53 +0000
Martin Gregorie <mar...@gregorie.org> wrote:

> ICL mainframes for me: 1900 initially, then 2903 (in NYC would you
> believe) and then 2966 medium rang iron into the early 80. Even the
> '66s were using EDS200 and EDS640s.

Oooh, are we comparing greybeards?  (I don't have a beard any more...)

My first computer was a TRS-80 Color Computer ("CoCo"), the original
grey model.  I learned to program in 6809 assembly around 1981 after
I got fed up with the limitations of BASIC.

It was an awesome machine... really a bunch of horrible hacks to save
hardware and ROM space.

The joysticks had potentiometers on each axis.  The position was
calculated by a successive-approximation A-to-D converter implemented
in software!  The D-to-A part was a set of six discrete resistors in
parallel connected to a buffer and a comparator.  The A-to-D part was
done in six steps by flipping each bit from MSB to LSB and checking
the output of the comparator.  The same D-to-A hack drove the cassette
input and the ROM had a sine-wave table to generate 1200 or 2400Hz tones
on the cassette to save programs.

When I finally got a disk drive and looked at the disk ROM, the most
awful hack of all was revealed: The CPU was too slow to actually poll
the disk controller for new data... the conditional branch consumed
too many clock cycles.  So CPU ran in an infinite loop reading data
from the controller.  The CPU would be suspended by a hardware signal
from the controller until data was ready.  When all data had been
read, the controller would raise an interrupt, whose handler would
munge the stack to break out of the infinite loop... a sort of early
version of siglongjmp()

The ROMs were programmed by Microsoft, so it's even conceivable that Mr. Gates
had some code in there! :)

*sigh* the bad old days... awfully fun.

> > PS. Still under  50 :)

Me too, barely.

Regards,

David.

Reply via email to