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.