back to article Hacking the computer with wirewraps and soldering irons: Just fix the issues as they come up, right?

Start your Monday with a cautionary tale from the files of Who, Me? and a warning (if one were needed) that hiring a teenager to write your operating system might not go so well. Today's tale comes from "Matt" and takes us back to the mid 1970s and a university computer lab full of Interdata machinery. Matt was looking for a …

  1. Headley_Grange Silver badge

    Wire-Wrap Gun?

    Gun? Bloody luxury! When I were a lad in my first proper job all I had was a hand-tool and RSI.

    1. Trollslayer

      Re: Wire-Wrap Gun?

      RSI?

      I used to dream about RSI!

      1. Anonymous Coward
        Anonymous Coward

        Re: Wire-Wrap Gun?

        I'm trying to figure out if this is being quite clever, or a reference to an abbreviation I'm not familiar with. The one I know is Repetitive Strain Injury.

      2. tel130y

        Re: Wire-Wrap Gun?

        .....hole in the road and ate coal....

    2. WonkoTheSane
      Trollface

      Re: Wire-Wrap Gun?

      RSI? We shopped at Farnell.

      1. Jusme

        Re: Wire-Wrap Gun?

        > RSI? We shopped at Farnell.

        +1

        The RS rep at Uni was a snobbish prat who didn't think students should get copies of their catalogue, or be allowed to order directly. Luckily by that point I already had a Farnell trade account (set up by a friendly rep when they noticed how much I was spending with them), and regular free copies of their catalogue (back when the catalogue could double as building material). They were rewarded with plenty of business sent their way after graduation. At one point I even had a better credit line on my personal account than the company I was working for, due to some issue over payment terms, so had to put a large order through on expenses!

        Pity they've now been taken over by a corporate conglomerate and don't seem to be as efficient as they used to be. Nothing lasts, nothing lasts...

        1. Missing Semicolon Silver badge

          Re: Wire-Wrap Gun?

          Plus even with a trade account, there is now a small order surcharge. Boo.

    3. WhereAmI?
      Facepalm

      Re: Wire-Wrap Gun?

      Mag core memory... thanks for the reminder.

      NOT!!!!!!!!

    4. Stuart Castle Silver badge

      Re: Wire-Wrap Gun?

      Hands? Luxury.. I had to learn to manipulate my "hand" tool with Telekinesis..

      1. horse of a different color

        Re: Wire-Wrap Gun?

        Telekinesis! Hark at you! In my day we relied on entropy to do the job, and thought ourselves bloody lucky!

    5. Martin an gof Silver badge

      Re: Wire-Wrap Gun?

      "Sandwich" placement from university working at a company specialising in surface-mount PCBs (still quite a novelty even in the late 1980s) one of the first jobs I was given was wiring up a very complex test rig by wire-wrap - never having even heard of the stuff before this time. Some 800 or 900 connections IIRC, I had two or three colours of wire, a hand stripper and a hand wrapper. At least the thing was properly drawn up for me, and I actually found it quite relaxing.

      The production manager was astounded to find no errors at all in the final result and said it was a very neat job. I had spotted two or three myself as I went along, but even I was impressed.

      Same company, first week there I was "inducted" through the various departments, including a stint at reception where the two secretaries gave me some typing to do (something in DOS, WordPerfect I think (something else I'd never met before) and a daisywheel printer). I think they expected me to peck away at the keyboard for the rest of the day, rather than get the letter done in ten minutes, including working out how to fit the correct wheel to the printer and how to get WP to print.

      Since then, I try never to assume that just because I know a lot about "something", the person I'm talking to doesn't.

      I don't always succeed...

      M.

      1. Jou (Mxyzptlk) Silver badge

        Re: Wire-Wrap Gun?

        > Since then, I try never to assume that just because I know a lot about "something", the person I'm talking to doesn't.

        This is a life lesson some never learn. You should have ten upvotes per upvote.

    6. BebopWeBop

      Re: Wire-Wrap Gun?

      We had a hand-wired PDP11 running Edinburgh's OS in the department. Sheer luxury....

    7. Aussie Doc
      Pint

      Re: Wire-Wrap Gun?

      You 'ad 'and tools?

      1. Sgt_Oddball Silver badge

        Re: Wire-Wrap Gun?

        I always thought tradition dictated that you started the job with mechanical aid and finished it by hand?

  2. elsergiovolador Silver badge

    Anyone

    Come on, programming is just a sitting in front of a computer and typing commands. Anyone could do that. Anyone, right?

    If you don't need a caliper to do your work, then it's not engineering...

    /s

    1. Aladdin Sane

      Re: Anyone

      How do you think we measure kerning?

      1. The First Dave

        Re: Anyone

        In my case, with one of those Ikea paper tape measures held against the screen

    2. Anonymous Coward
      Anonymous Coward

      Re: Anyone

      "[...] programming is just a sitting in front of a computer and typing commands."

      Luxury! There was a time when I had to enter programs in machine code via a set of switches on the engineers' panel. Set location address keys - enter data word - repeat.

      1. Will Godfrey Silver badge
        Linux

        Re: Anyone

        You had switches?

        We had to lick our fingers and press them across pairs of contacts.

        1. Stevie

          Re: Anyone

          "lick US fingers"!

          Blimey. Y'd think a proper programmer ud 'av a proper grasp o' technical jargon.

      2. knottedhandkerchief

        Re: Anyone

        For my undergrad final project, I handed in hand written hex machine code (including loops & branches etc) which had been typed into an EPROM burner via a hex keyboard. Debugging was with an oscilloscope.

        1. Boothy Silver badge

          Re: Anyone

          Had a similar set up when I was in college in the 80s.

          We had printed templates (basically grids) for writing down the hex machine code. Then depending on the boards we were working on, would sit there manually entering the hex directly to the board, then cross your fingers and hit the run button! Or into the EPROM, then onto the board and run.

          UV lamp in a box at the ready, when we inevitably needed to wipe and try again.

          EEPROMs made life a little easier later on, once we got some.

        2. Borg.King
          Pint

          Re: Anyone

          EPROM burner with a hex keyboard, you 'ad it lucky.

          I had to build my own EPROM burner from Veroboard and stick it into the back of a Commodore 64, AND write the burner program, in BASIC, AND create the EPROM contents as DATA statements in the burner program.

          <Beer, because after all that, I needed one, or 0x02>

    3. swm Silver badge

      Re: Anyone

      The entire time sharing system at Dartmouth was written by undergraduates around 1964. There were two machines: a GE-225 and a GE DN-30 - one programmer for each machine.

      I wrote the major part of the executive for the Dartmouth phase II time sharing system on a GE-635 around 1970.

      You do not need a hoard of programmers to write an operating system.

      1. BebopWeBop

        Re: Anyone

        They get in the way :-)

    4. Anonymous Coward
      Anonymous Coward

      Re: Anyone

      If you don't need a caliper, then it wasn't polio...

    5. matthewdjb

      Re: Anyone

      Calipers? I just 'ad an 'ammer. To flatten them 0s into 1s.

    6. GreyWolf

      Re: WRONG

      "Programming is thinking, not typing".

      Quote from a wiser man than me.

  3. Richard Tobin

    MagicSix?

    https://dspace.mit.edu/handle/1721.1/119585

    1. PghMike

      Re: MagicSix?

      Yup, MagicSix it is.

    2. PghMike

      Re: MagicSix?

      Any sufficiently advanced technology is indistinguishable from Magic.

  4. Jusme

    I'd hire him...

    Reads to me that "Matt" actually did a heroic job working around the problems caused by broken hardware:

    "The reason that the reported fault address had been incremented to the next instruction was that the machine had actually executed the instruction, using whatever noise was on the memory bus at the time the instruction executed."

    1. Anonymous Coward Silver badge
      Boffin

      Re: I'd hire him...

      I disagree, although I can understand his approach. He should have reported the hardware as unreliable and got that resolved instead. Computer doing random things with your data means it'll never be reliable or trustable.

      Noise pickup warrants better shielding/grounding.

      Unless what was meant was that it was executing from memory that hadn't been (intentionally) written, in which case a software fix is appropriate, but not by looking for specific instructions that you know would cause issues.

      1. Richard Tobin

        Re: I'd hire him...

        "He should have reported the hardware as unreliable and got that resolved instead."

        When you're an undergraduate working on a project that is not one of your options.

      2. PghMike

        Re: I'd hire him...

        The term 'noise' is a bit misleading -- the main issue was that the data returned by an instruction that took a fault was *undefined*. The hardware wasn't unreliable, the OS designers just assumed it provided functionality (restartable 'segment missing' faults) that Interdata didn't actually provide until 3 years later.

        They did eventually fix the issue, so that by 1978, the next model, the 8/32 worked as desired. But that was three years later, and we wanted a solution to share these machines much faster.

        1. Jou (Mxyzptlk) Silver badge

          Re: I'd hire him...

          Hello "Matt", you put Regomizer out of business...

        2. Stevie

          The term 'noise' is a bit misleading

          Aye, fer them soft southern jessies 'oo can't tell difference between technical jargon an' 'umerous technical slang.

          Ah once 'ad a trainee co-worker Ah tuld ter go an' play wi' editor an' she complained ter boss that she didn't appreciate bein' tuld ter play wi' computer.

          Mind you, there were mitigatin' circumstances - she were thick as a bacon doorstep.

          1. Glen 1
            Coat

            Re: The term 'noise' is a bit misleading

            "thick as a bacon doorstep."

            Good idea. I'm off to the kitchen.

      3. This post has been deleted by its author

      4. jgard

        Re: I'd hire him...

        Let me guess. You would have swapped out the hardware yourself, then written the OS stood on your head while playing the trumpet?

    2. gnasher729 Silver badge

      Re: I'd hire him...

      Well, you’d fix the compiler and linker so that the first instruction in any segment is a NOP…. Wait that doesn’t work because it doesn’t execute that instruction but random bits… So you’d fix the hardware so that reading from non-existing memory gives a NOP instruction.

    3. bombastic bob Silver badge
      Devil

      Re: I'd hire him...

      "The reason that the reported fault address had been incremented to the next instruction was that the machine had actually executed the instruction, using whatever noise was on the memory bus at the time the instruction executed."

      I thought that was a "feature"

  5. Anonymous Coward
    Anonymous Coward

    Computer O Level

    Early 1980's, we have built a RM 380Z from the kit that RM supplied (As it was slightly cheaper) and it was primarily going to be used by us pupils for the Computer Science O Levels.

    The 380Z was loaded with CP/M and it was apparent the hardware was capable of more than the then standard CP/M could do, so we created some CP/M extensions to allow us to do some basic graphics.

    I then wrote a program for my O Level (As did my friends doing the O Level)

    So after bolting the PC together, adding extension to the OS and then writing our programs we all managed to get a C grade, which looking back was a bit harsh from the examiners.

    1. Terry 6 Silver badge

      Re: Computer O Level

      Harsh? Back in those days doing all that and only getting a C sounds like something bordering on psychopathic by the exam board.

      1. Gordon 11

        Re: Computer O Level

        Back in those days doing all that and only getting a C sounds like something bordering on psychopathic by the exam board.

        Nowadays it would have to be a C++ at least.

        1. Stevie

          Re: it would have to be a C++

          Indeed. An object lesson for us all.

        2. Stevie

          Re: it would have to be a C++

          An object lesson for us all to pay attention in class.

          1. Paul Crawford Silver badge

            Re: it would have to be a C++

            I take exception to your comment!

            1. sniperpaddy

              Re: it would have to be a C++

              You need to handle it properly

              1. Jou (Mxyzptlk) Silver badge

                Re: it would have to be a C++

                Use the right methods!

              2. Stevie

                Re: it would have to be a C++

                Say that agen an' Ah'll punch thee in t' face!

                1. Not Yb

                  Re: it would have to be a C++

                  Just try that, and I'll catch the punch even before it becomes an exception.

        3. Anonymous Coward
          Anonymous Coward

          Re: Computer O Level

          Nowadays it would have to be a C++ at least.

          But...but... that would be a D wouldn't it?

          1. Mike 16 Silver badge

            Re: that would be a D

            well, actually, C++ means increment C but _use_ the previous value, so you'd be using C, as a lot of "C++" code does...

        4. the hatter

          Re: Computer O Level

          I think you mean A** - and these days you'd get that just for switching a computer on in fewer than 3 attempts of pressing the power button.

    2. Andy The Hat Silver badge

      Re: Computer O Level

      Basic graphics? In 1980 we ran the basicg (basicsg?) interpreter which would drive the video with "hi-res" graphics - about 320x200 or something - in blinding monochrome whoch looked great on a froopy green computer screen.

      I remember writing a programme to show the motion of a charged particle under the inflence of a magnetic and/or electric fields on a 2D screen ... As a teenager that made me a real physics geek!

      I loved that 380Z ...

      1. Steve Kerr

        Re: Computer O Level

        I've still got a graphical CP/M game of Star Trek on a floppu disk for a 380/Z somewhere

        There are some other games but I can't remember what they are!

        1. J.G.Harston Silver badge

          Re: Computer O Level

          I've been testing a text version of Star Trek over the last few days. I'm desperately struggling to remember how to play it!

          1. Mage
            Black Helicopters

            Re: text version of Star Trek

            Maybe EGA Trek for DOS works on DOSbox? It kept us amused though that's a later era.

          2. JohnG

            Re: Computer O Level

            I played a text version of Star Trek on a teletype attached to an IBM system at Exeter University in the 1970s. I seem to remember a message like "Yeoman Rand has just spilt coffee on the main console. Your shields are down and navigation controls are not working".

    3. Ken Hagan Gold badge

      Re: Computer O Level

      The examiners, then as now, can only award points for things in their mark scheme. If the qualification is designed badly enough, this can decouple the best candidates from the best grades.

    4. Ken Moorhouse Silver badge

      Re: we all managed to get a C grade

      The examiners gave you that grade because they'd heard that students really liked C.

    5. Stephen Wilkinson

      Re: Computer O Level

      Only a couple of the really amazing kids at school got to play with our RM 380Z of which I was not one - I could only look jealously at them as it looked amazing.

      I did get a Computer Studies O Level grade B though so it's not all bad!!!

    6. Mage
      Paris Hilton

      Re: RM 380Z

      I hated repairing those. Or adding the wire so the parallel port IC 8th bit got to the connector so you could print graphics and extended ASCII on an Epson MX-80.

      Terrible design. A metal "shoe box" with the bus along the top of the cards as a ribbon cable. It can't have saved much money compared with a proper but simple motherboard bus in the bottom of the case. Also why when the port I/O used an octal chip anyway did they only wire 7 bits to the parallel port?

    7. Martin an gof Silver badge

      Re: Computer O Level

      So after bolting the PC together, adding extension to the OS and then writing our programs we all managed to get a C grade, which looking back was a bit harsh from the examiners.

      Thing is, the task for the course was probably "write a program", and the rest of the stuff you did was not relevant and indeed couldn't have been taken into account even if the examiner had wanted. He (and it probably would have been "he") would have looked at your planning (flowcharts I imagine?) and logic, taken a cursory glance over the source code (MS BASIC?) and checked that your program produced the required output with the test inputs. Tick, tick, tick, cross - maybe you used a rectangle instead of a rhombus for a step in your flowchart, or you hadn't used a ruler for the lines.

      And don't forget the written exam which included logic, maths, history and suchlike. The actual programming was a very minor part of an O-level in those days I seem to remember.

      I suppose it shows up the problem with academic achievement assessed on a simple one-off metric. You'd have been better with some kind of coursework element, and a resourceful teacher might have been able to bend the guidelines to include "knowledge of hardware" and "extending the operating system" towards that element.

      By the mid 1980s, when I took O-level Computer Studies, it was a popular subject. So much so that there were some 60 children in two classes doing it at my school, a grand total of twelve BBC Micros attached to cassette recorders and sharing two printers, and a teacher very much out of his depth.

      I can't remember if it was two of us or three who passed (i.e. got a C grade or higher), but only my friend Rhys and I went on to do A-level Computer Science, and we found ourselves helping said teacher with his lessons during our "free" periods when we should have been studying...

      M.

      1. Caver_Dave

        Re: Computer O Level

        Similar experience here, although I was effectively teaching the O-level class as well as helping the A-level teacher. 'Only' got a B at O-level and C at A-level!

      2. Paul Cooper

        Re: Computer O Level

        I can't remember if it was two of us or three who passed (i.e. got a C grade or higher), but only my friend Rhys and I went on to do A-level Computer Science, and we found ourselves helping said teacher with his lessons during our "free" periods when we should have been studying...

        I was in a similar position at A-level for Physics. Our old-school Physics teacher had retired, and in his place, a young teacher with experience in the experimentally based Nuffield Physics course had been recruited. Of course, we were already partway through the conventional, mathematically based Physics course, and couldn't switch mid-course. Myself and another guy who was the school mathematical genius frequently ended up either correcting his working or being asked to explain to the class!

    8. keithpeter Silver badge
      Windows

      Re: Computer O Level

      "So after bolting the PC together, adding extension to the OS and then writing our programs we all managed to get a C grade, which looking back was a bit harsh from the examiners."

      I bet you got a high mark for the coursework component (depending on the program you devised and the assessment criteria for the project). Did your certificate split the components or just give a grade?

      When we had coursework on Maths GCSE courses, the coursework mark was always higher than the exam component mark. The students were not getting Aunty Carol to do it for them as they had to explain their thinking to us and at the College I was teaching in then we took that seriously.

      Of course, it does not really matter - in a 35 year teaching career noone has ever asked me what grades I got or what degree classification. I've been judged on what I actually do which suits me fine.

  6. bartsmit
    Pint

    Reminds me of Mel

    From the jargon file: http://catb.org/jargon/html/story-of-mel.html

    1. EVP
      Pint

      Re: Reminds me of Mel

      What a story, thanks. A pint to Mel!

  7. Paul Cooper

    I wouldn't go so far as to call it an OS, but I wrote a data logging program for a Z80 based S100 bus single card computer that had no software at all; just the bare iron. I used an Osborne 1 with WordStar, link and asm as my development environment (the system had to be debuggable in the Arctic!). The program was logging data in real-time from a prototype ice-sounding radar! The basic structure was sufficiently flexible that I was able to keep using it through several iterations of ancillary hardware, and I think (with hindsight) that it could have been developed into a real-time OS without too much trouble.

  8. Arthur the cat Silver badge

    PL/I … "think C with even crappier aesthetics"

    Probably one of the kinder descriptions of PL/I, a language "designed" by taking Fortran and COBOL, banging a six inch nail through them and spraying the result with Algol-ish syntax paint.

    1. a_yank_lurker Silver badge

      Re: PL/I … "think C with even crappier aesthetics"

      Given generally crappiness of Fortrash and COBOL I would hate to see what PL/1 was like. It must have been a real turd.

      1. A.P. Veening Silver badge

        Re: PL/I … "think C with even crappier aesthetics"

        COBOL is a great language as long as you use it for what it is designed, business. Fortran also has its advantages and disadvantages, so should be restricted to what it was designed for as well. The real power of PL/1 is writing compilers for some languages (not C and its derivatives).

        1. Admiral Grace Hopper

          Re: PL/I … "think C with even crappier aesthetics"

          I agree with this analysis.

    2. Anonymous IV
      Unhappy

      Re: PL/I … "think C with even crappier aesthetics"

      > Probably one of the kinder descriptions of PL/I, a language "designed" by taking Fortran and COBOL, banging a six inch nail through them and spraying the result with Algol-ish syntax paint.

      Rather harsh, if somewhat true. PL/I was notable for routines which handled the historic British currency of pounds, shillings and pence rather well. IBM must have put a lot of effort into the compiler for just this feature, and undoubtedly were mightily miffed when the British currency went decimal in Feb 1971...!

      1. Scott Wheeler

        Re: PL/I … "think C with even crappier aesthetics"

        Lyons, the tea-shop chain, build the first commercial computers, initially to handle supply chain logistics. Even before they build the LEO machines they were using decimal pounds for internal accounting, and putting lobby money into the decimalisation campaign.

      2. Mike 16 Silver badge

        Re: PL/I and LSD

        the IBM 1401 went so far as to offer LSD math as a (hardware) option. At extra cost, of course, just like the console sense switches that _rented_ for $6/month apiece, IIRC.

        One of the working 1401s at the Computer History Museum in Mountain View CA is alleged to have that option.

    3. Paul Cooper

      Re: PL/I … "think C with even crappier aesthetics"

      It was still around and occasionally used in the 1980s; I think I've got a programming manual for it on my shelf somewhere (the IBM variant). Thankfully I never actually used it - got the manual because I sometimes had to resurrect other people's programs, though I drew the line at things written in really strange languages (one was in SNOBOL, and I've seen RATFOR as well).

      1. Arthur the cat Silver badge

        Re: PL/I … "think C with even crappier aesthetics"

        the IBM variant

        The unfortunate thing about IBM's PL/I was that the checkout and optimising compilers actually compiled subtly different languages, thus defeating the idea that you developed and debugged your program using the checkout compiler and then used the optimising compiler for the production version. You'd get a program that worked perfectly using checkout and the optimising compiler would vomit all over it.

        I drew the line at things written in really strange languages (one was in SNOBOL, and I've seen RATFOR as well).

        I wouldn't regard either of those as really strange. RATFOR was simply a preprocessor that let you write Fortran in ALgol-ish free format. In my academic days the Prof who headed our research group used it a lot, at least until I got Algol 68C running on our system

        SNOBOL was interesting, if a little primitive in its flow control. At one point in my career I had to process vast amounts of climate data using programs all of which had different Fortran fixed format input and output specifications. SNOBOL (specifically the SPITBOL variant) was brilliant for rewriting the data as necessary. I also wrote a primitive text formatter in it.

        If you want a really strange language try INTERCAL (or Befunge).

        1. Mage

          Re: really strange languages

          Maybe these are not strange but rare? I used QUBAL, then 15 years later translated CHILL to Z80 assembler and played with Occam.

          Jupiter Ace with Forth has got to be the tiniest thing I used till JAL on the PIC family.

          1. Arthur the cat Silver badge

            Re: really strange languages

            I'd forgotten CHILL. Never used it myself (or wanted to) but worked with someone who'd had a hand in the design of the initial version.

          2. Anonymous Coward
            Anonymous Coward

            Re: really strange languages

            Mine was OnBoardC on a Sony Clie. Had to have a MemoryStick in it to hold all the header files.

        2. Scott Wheeler

          Re: PL/I … "think C with even crappier aesthetics"

          The Icon language was the successor to SNOBOL. It's really quite elegant for a 70's/80's language.

        3. A.P. Veening Silver badge

          Re: PL/I … "think C with even crappier aesthetics"

          If you want a really strange language try INTERCAL (or Befunge).

          How about Brainfuck.

          1. Arthur the cat Silver badge

            Re: PL/I … "think C with even crappier aesthetics"

            How about Brainfuck.

            Just a Turing machine. :-)

            Try Whitespace, the language that's just as easy for the visually impaired as it is for the normally sighted.

            1. Mike 16 Silver badge

              Re: Whitespace

              Lovely! I had no idea that someone had extended Stroustrup's whitespace overloading for C++

      2. l8gravely

        Re: PL/I … "think C with even crappier aesthetics"

        Or the stupid language designed for sendmail... all those tokens are insane. Even Eric has admitted he messed that one up... and which is why I use postfix now, much saner.

    4. Warm Braw Silver badge

      Re: PL/I … "think C with even crappier aesthetics"

      It at least had a block structure, though it did seem designed mostly to accommodate some of the S/360s more obscure arithmetic options, whether it be packed decimal or LSD. You spent a lot of time writing declarations....

      The idea that instead of getting the address of the *start* of the instruction that generated a missing segment fault... is reminiscent of the S/360 "imprecise interrupt". Some S/360 models incorporated early versions of out-of-order execution - and if a fault occurred it wasn't possible to identify exactly which instruction had caused it. But at least that was acknowledged.

      For some reason, PL/M was derived for system programming. I still don't see why...

      1. Anonymous Coward
        Anonymous Coward

        Re: PL/I … "think C with even crappier aesthetics"

        PL/M? Oh my word, I must be a youngster. My last foray into IBM sysprog stuff involved PL/x

        1. Richard Tobin

          Re: PL/I … "think C with even crappier aesthetics"

          PL/M was a language developed specifically for (Intel) microprocessors. IBM's own system programming version of PL/I was PL/S.

          It was said that IBM had trademarked all the names from PL/2 to PL/99.

  9. chivo243 Silver badge
    Headmaster

    dynamically linked

    where have heard this before? Let me think... I better hit the library for this one!

  10. jgard

    Mightily Impressive

    I have to take my hat off to you Matt. To be able to do that at such a young age is quite remarkable. I could barely tie my shoelaces at that age. It's fair to sat that many devs with 20yrs experience wouldn't even know where to start on that task. The fact that you actually got it working is incredible. Well done sir!

  11. scott2718282828

    When I was in college, around 1975, I got a part-time programming job in the Nuclear Physics lab. Based on the qualification that I had had a class in assembly language and knew in theory what an interrupt was.

    They were collecting data from instruments in their particle accelerator lab on a DEC PDP-15 computer. They did data analysis on the same computer, so of course there was a lot of competition for computer time. Time sharing was not an option, as the OS did not support it and the response time required for data collection would not allow it.

    DEC did have the option of a PDP-15/PDP-11 dual processing system, that connected via 8K of shared dual-ported memory. But nobody wanted to rewrite all their analysis code for a PDP-11, and being a bunch of PhD physicists they decided they could use the same dual-port configuration to build their own Frankenstein dual-processor PDP-15.

    That's not a supported configuration, said DEC. We'll figure it out, said PhDs. Just sell us another processor with hard disk and the dual-port memory.

    You need another DEC Tape on the new system to load an operating system, said DEC. We've too cheap to do that, and we've got a CS student who knows what an interrupt is, said PhDs.

    So my first task was to write a disk-copying routine that could be loaded on the new bare machine by paper tape, that copied the entire hard disk through the shared memory. OS and all, for some reason this did not violate any licensing.

    They put this thing together and split the peripherals between the primary and secondary CPU. Data collection was on the primary, the line printer was on the secondary. Their biggest challenge was if someone was printing something from the primary computer, if you typed Ctrl-C on the secondary it would reload the OS and forget the print job. Having the complete source code for the OS helped, but they still needed a way to know if a Ctrl-C was typed before letting it go through all the interrupt handling. But if you read the character in the keyboard buffer it also cleared the interrupt flag and the normal interrupt handling would be broken.

    Give a wirewrap tool, complete schematics for the computer, and too much time on their hands, they found an unused opcode and wired in a new read-the-keyboard-buffer-without-clearing-the-interrupt-flag instruction. Problem solved.

    1. MJB7

      Documentation

      "Given ... complete schematics for the computer" - those were the days. And the entire OS as source code.

  12. Neil 44

    OS/32?

    The Interdata machines (later Perkin Elmer Data Systems, then Concurrent Computer Corp) came with a quite capable real-time operating system called OS/32 (there was an OS/16, but I don't think the 7/32s could run it). Various people used it for its "real time" attributes.

    The assembler was very similar to IBM's BAL (it was called CAL!)

    Much of the operating system was actually written in C...

    Edition VII Unix got ported to the 8/32 range (from what I remember!) then System 5 to the later models.

    Wire wrapping was routing the interrupt lines round the expansion boards you had installed in the right order (Racu-Tacu - not sure of the spelling but it's how it sounded!)

    At one time I ended up working on a "peephole optimiser" to optimise the output of the C compiler (which was very much "template" so had lots of repeated/wasted instructions!) - it made a BIG difference and ensured I was proficient in CAL (the optimiser was written in CAL too!)

  13. Anonymous Coward
    Anonymous Coward

    A salesman sold a comms processor to a valued customer who was looking likely to move mainframe suppliers.

    The specified functionality would require a customised enhancement of the OS. That was a major challenge in the required time scales.

    Then a quick calculation showed that the software wouldn't be able to address the amount of data space needed for the number of terminals. A data 16bit addressing mode allowed twos-complement negative offsets - and generated an exception if the positive offset went over 32K.

    I suggested that we inhibited the exception logic - as a negative offset was never being used in the OS. A quick test in the factory showed it worked with a simple track cut that could be bridged by a switch.

    It was agreed the customer would get modified cpu boards. Two of us were drafted in from our normal roles - and we spent several months on site enhancing the software for their custom requirements. It all went live first time - ahead of the customer's deadline dictated by a building move.

    Our company gave me £50 for "a good suggestion".

  14. Anonymous Coward
    Anonymous Coward

    Prototype EEC System 4-70 ran its variant of the standard disk OS ok - but not time-sharing. Came the day when the system programmers switched on time-sharing - and user programs started crashing.

    Time sharing implemented the store protection settings. The OS had one tag - and up to fourteen running user programs each had a unique tag. The final tag was for "unprotected".

    The problem was that the 4-70 was a microcoded cpu - and some of its decimal operations had a few words of scratch space in the bottom block of memory. For very good reasons this block of memory was tagged as "system". Potential Catch-22 resolved by setting that block of memory to "unprotected" to allow user state access.

    It was declared a safe thing to do - as user programs theoretically couldn't affect anything by transiently writing anywhere in that memory block.

  15. nobody1111

    Ah, yes. Honeywell Multics.

    Combine an OS quirk that identically named batch files had priority over system commands with terminals that allowed primitive "programming" via ASCII codes. Result = hacking that was almost too easy.

    Make a batch file called DIR. Whenever anyone (hopefully with higher access) tried to list the files in your home directory the batch file would go to the user's own directory, give you full access, send you an email saying you now had access to this directory, then display a text file that looked like a boring directory listing. Normally each of these commands would show on the screen but via the terminal hacks you could temporary disable the terminal from displaying anything, do the command, then turn back to normal.

  16. TRT Silver badge

    I once wanted a fifth hard drive...

    in my PC running Windows 95...

    But I only had IDE cards which sat in a specific range of memory, and you only got a single choice of location within that using a dip switch on the card... so a maximum two cards per PC, with a master and slave* on each - so 4 hard drives only.

    Quick bit of jiggery pokery with wrapping wire, a spot-face cutter, some through pins and a soldering iron and I was able to fool the card into thinking it was on an address it expected when in reality, it wasn't. Unfortunately Windows 95 only expected those kinds of devices on specific address boundaries, so I had to make a few registry changes as well in order to get it the driver working half-way through the next address block instead of at the start...

    But I did it! And it worked. And it only took a day of reading/planning and a few hours of messing around.

    * Let's get HISTORICAL not HYSTERICAL - this is what they were properly called in those days - it said so on the cables and the devices!

    1. Alan Brown Silver badge

      Re: I once wanted a fifth hard drive...

      I solved that issue in DOS by using scsi (and old drives salvaged from Macs - with sticktion issues for which the answer was "don't turn them off")

  17. Scott Wheeler

    Later than most of these stories: I needed to acquire some image data in real time (photon by photon, recording the positions) from some lab equipment in the early 80's. This needed a big flat memory space on an 80386 PC, and at the time there were few ways of doing it. I ended up using OS/2 1.0. That was pretty much "half an operating system" at the time, as important stuff like the GUI were not yet supplied, but that didn't matter for me - I just wrote my own simple GUI. The problem was that I had to swap bits around in the coordinate information provided over incoming ribbon cables, and I needed to do this at about 200k events per second. There wasn't enough oomph in a 386/25, so I just used a box of wire-wrap.

    That did the job fine, and I got on with the research which was the point of the exercise. The problem was that OS/2 1.0 had been designed to be compatible with an 80286 processor (ask your grandparents) and the way some of the memory handling changed when they moved to OS/2 1.1 - at least that's how I remember it. Anyway, the wire-wrap was not compatible with OS/2 1.1. Didn't matter to me - I just stuck with 1.0 and carried on taking readings. But when I left I occasionally got calls from new students proposing upgrading the operating system to something modern. I'd point them at the big box of grey spaghetti that would need to be rewired - and wait for the next generation of students to make the same call.

  18. I miss PL/1

    PL/I

    Cheap shot at PL/I. Don't blame the compiler fire a bad language. I loved it. Not the compiler though. I still think there isn't an equal to it today.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like

Biting the hand that feeds IT © 1998–2022