back to article Relive your misspent, 8-bit youth on the BBC's reopened Micro archive

The generation of Britons who honed their skills on 8-bit micros can revisit a well-spent youth. The BBC has put 129 educational computer programmes online, many from the early 1980s. "Is British industry falling behind in its use of silicon chip technology?" asked Bernard Falk in March 1980 – for example. It's part of the BBC …

Page:

  1. Locky

    Coding inspiration

    Will the give out the source code for Elite?

    1. Anonymous Coward
      Anonymous Coward

      Re: Will the give out the source code for Elite?

      You can always have a look at the source code for Oolite instead, as a sort of poor-mans substitute for the real thing ... :-)

      1. Anonymous Custard
        Alien

        Re: Will the give out the source code for Elite?

        There's nothing poor about it, at least if you're playing it right...

        Right on Commander!

    2. Dwarf

      Re: Coding inspiration

      Wasn't Elite written directly in Assembler, in which case, you already have 90% of the the source code :-)

      OK, there may be a few labels and the comments missing, but that's not hard to figure out when you start reading the code and work out what it does.

      Not that I'll ever admit to doing my fair share of reverse engineering on things to figure out how they work and to tweak them to do something slightly different.

      For those who've not seen it, x64dbg is worth a look.

    3. ThomH

      Re: Coding inspiration

      Ian Bell, Elite's coauthor, has been offering the source for download for years, along with what was produced as to ship designs for a putative sequel.

      If memory serves, they used the assembler built into the BBC's BASIC. So it's a few different files that when run produce parts of the whole.

      1. ThomH

        Re: Coding inspiration

        ... and it took me a while to find but Elite's source was transcribed to C and made available for then-modern platforms back at the turn of the millennium by Christian Pinder, but then taken down at the request of Elite's other coauthor, David Braben.

        Nevertheless, that conversion remains available thanks to the persistence of anything ever put onto the internet, and Github. It's probably easier to digest than the original assembly though the games library it relies on to access the display, read the keyboard, etc, has introduced significant breaking changes in the interim. It shouldn't be a big job to replace though.

        1. David Given

          Re: Coding inspiration

          Ian Bell had an officially unofficial rewrite of the trading engine in C:

          http://www.elitehomepage.org/text/index.htm

          ...so if you feel like trying to write scripts for ultra-efficient trading routes in order to achieve galactic financial domination, this is for you.

          You can also find the full text of the Elite novella, by noted fantasy author Robert Holdstock: http://www.elitehomepage.org/dkwheel.htm

          And you can also find the as-yet-unpublished Elite musical: http://www.iancgbell.clara.net/elite/musical/index.htm

        2. Anonymous Coward
          Anonymous Coward

          Re: Coding inspiration

          I grabbed a copy of the source code to Christan Pinder's "Eltite: The New Kind" back when Braben had it taken down despite (or perhaps because of) Bell's endorsement. I've kept it compiling as newer versions of the Allegro library have been released, so I guess I should send a pull request to that Github repo.

          1. TonyJ

            Re: Coding inspiration

            "...I grabbed a copy of the source code to Christan Pinder's "Eltite: The New Kind" back when Braben had it taken down despite (or perhaps because of) Bell's endorsement. I've kept it compiling as newer versions of the Allegro library have been released, so I guess I should send a pull request to that Github repo...."

            I believe he asked for it to be taken down because someone used the source to create a copy on a handheld device, and was selling them - in the back of my mind, it might even have been flogged as some king of "official" version.

      2. Camilla Smythe

        Re: Coding inspiration

        Ian Bell, Elite's coauthor, has been offering the source for download for years, along with what was produced as to ship designs for a putative sequel.

        http://www.iancgbell.clara.net/elite/bbc/

        ARGHHHHHH MY EYES!!

        Oh fuck. Thargoids and Cops.

    4. Anonymous Coward
      Anonymous Coward

      Re: Coding inspiration

      I genuinely miss my BBC model B, it felt like real empowerment between 1982-1988. It taught me so much.

      Windows 10 is a monitoring, slurping, buggy shithole in comparison.

  2. DJV Silver badge

    Ah...

    Those heady days when both computers and software came with thick manuals that explained things properly. Not like today when the most you get is an unenforceable EULA or a PDF written by a 10 year old that first needs to be downloaded from teh interwebs. Sigh...

    1. AMBxx Silver badge

      Re: Ah...

      And software mostly worked as it was difficult to issue updates.

    2. DropBear

      Re: Ah...

      Believe it or not my Speccy clone actually came with the full circuit diagram in its manual - and it wasn't a "5 ICs" diagram either, as our eastern clone implemented the obviously unobtainable ULA with 50 or so discrete 7400 series chips...

      1. Stoneshop

        Re: Ah...

        Believe it or not my Speccy clone actually came with the full circuit diagram in its manual

        The BBC B Advanced User Guide came with not just a circuit diagram, but there was also the better part of a chapter explaining the more advanced functions (like the processor speed switching from 2MHz to 1MHz for slower peripherals), and described adding interfaces. It also detailed every sodding OS function.

    3. Anonymous Coward
      Anonymous Coward

      Re: Ah...

      There was also a thriving industry of hardware like the add-on ROM board that you could pack with 3-party ROMs or DIY EPROMs (for which a UV EPROM eraser was handy). I also had the official second processor add-on, which I think was only of use with one game.

  3. Lee D Silver badge

    I have to explain "coding" (as it's now called) to children in the school I work.

    Given that I'm the only person on-site with even a remotest possibility of being able to be thrown into a language and knock up working code without having to copy/paste examples or spend hours doing so (and I'm not even a teacher), coding is a dying art.

    It wasn't because we had all the resources. It's because we DIDN'T. All I started on was a Sinclair BASIC manual. Outside of that there was NOTHING. It wasn't until years later I got started on INPUT magazine and could actually see other people's code. By then, I was tinkering with assembler, and not long after was playing with C, DOS programming (Ralf Brown, I love you, a single, off-line, downloadable list of interrupts and what they did!), etc. etc.

    But it's because we didn't have Google, StackOverflow, cut/paste, etc. We had to work out what we were doing and make it work without help. There were no debuggers to speak of, there was a huge time penalty on each test you did, and you had to learn how graphics, sound, data loading, and all the other parts actually worked.

    I glanced at an 11-year-old's Python script from a distance a year or so ago and spotted syntax errors, loop bounding problems, type-conversion problems, etc. all in a tiny glance.

    Running coding clubs with the IT teachers (who can sort-of-program but you wouldn't be able to get anything productive out of them and it would take them forever without IDE assistance and copy/paste examples), it's obvious that precisely one child I've seen in 20-years of working in schools could have a career in actual coding.

    They don't get what's happening behind things like "physics engines" (they love the word engine, they hate that I just explain it just means "bit of code"), 3D matrix transforms, HID device inputs, SIMD instructions, etc. They just don't understand that everything is manipulation of numbers, that's all, and so they need to work out what number that joystick is going to send, what number to act upon, and what to do about it. You don't need maths, necessarily, but you do have to work out "well, how is a 3D object represented as just numbers?", and they can't. They struggle with the concept of bitmaps and RGBA. They don't get that the physics is just numbers applied to simulate velocity, acceleration, mass, force, etc. They don't get that audio decoding involves things like Fourier transforms and conversion to frequencies and then oscillations at those frequencies.

    They have a total disconnect between what it is doing, and how computers work.

    An example I like to use... and I don't claim this is a good way to do things, but most people will figure it out. I'll write it in pseudocode ("because that's like a language, is this correct pseudocode Sir? Can I get a pseudocode compiler?"....):

    function Switch_Player()

    {

    current_player = 3 - current_player;

    }

    Kids just can't parse it. They don't get what it's doing. They don't understand how it works. They can't infer it.

    But when I was their age, I used tricks like that all the time to reduce the byte-size of code that switched players on things like TI-85 calculators and the ZX Spectrum. And, without them being anything genius, I often made my own tricks without referencing anything else, to do things I needed to do by sitting and working them out (e.g. the correlation between pits on a dice and the binary representation of a number, a way to shuffle a pack of cards stored in an array, etc.)

    It's all "old-hat that they'll never need", agreed, but I'm more worried about the loss of the discovery process. If you aren't in an intellectual struggle, if you aren't challenged, if you can just pull down an API that does it all for you, you aren't going to get the impetus to learn things deeply.

    I have a career in IT because I've spent my life understanding computers, and getting them to do what I need even when that's not available with anything in front of me. They won't have that kind of impetus or creation, and that's quite sad.

    Especially when you see what passes for "coding" these days (e.g. flowchart boxed things with graphical characters being used at GCSE / A-Level).

    1. Anonymous Custard
      Trollface

      Ah the old "we're so much better than you as we have the web, simple apps, easy block coding and all this other fancy stuff like IOT and self driving cars" modern day view.

      To which we old greybeards of course reply "we never had any of that, so we rolled up our sleeves and created all that stuff you take for granted..."

      And yes, I can remember when all this were fields, now get off my land! ;-D

      1. Anonymous Coward
        Anonymous Coward

        I remember when this were fields

        Now it's a two dimensional array

        1. GIRZiM

          Re: I remember when this were fields

          My only regret is that I have but one upvote to give.

          1. Yet Another Anonymous coward Silver badge

            Re: I remember when this were fields

            I remember when all this was mines and steelworks - now it's fields

      2. HmmmYes

        Speak for yourself.

        Things are a lot better these days ... I remember ASCII porn.

        1. I3N
          Angel

          Remember ASCII, hell ...

          Sent some ASCII to a radio station on a floppy that contained a list of songs for if stranded on desert isle ...

          Don't remember the songs ... but remember there was a bit of animation ... of course, once played the file 'sort of' deleted itself.

          Scored two tickets, row 30, center at an outdoor amphitheater, to see Elvis Costello!!!

      3. This post has been deleted by its author

    2. Dan 55 Silver badge
      Boffin

      Don't forget the Usborne 1980s computer books (scroll half-way down the page to get them as free PDFs)...

      1. Dave 126 Silver badge

        Cheers Dan 55, I remember hours reading Write Your Own Fantasy Games For Your Microcomputer by Usbourne, and plotting dungeons and sprites on graph paper. I don't recall actually doing any programming though for reasons I forget (it might be that that I only had a Vic 20 with cartridges and no tape drive, it might be because I was climbing a tree or damning a stream)

        1. Loyal Commenter Silver badge
          Coat

          ...it might be because I was climbing a tree or damning a stream

          I can understand how you could make your own adventures if you had the ability to curse waterways.

        2. Anonymous Coward
          Anonymous Coward

          Dave126,

          ... damning a stream (???!!!)

          What did that stream do that was SO bad ?

          :) :)

          1. Wayland

            ... damning a stream (???!!!)

            That would cause buffering.

      2. Dave 126 Silver badge

        And you've inspired me to find an electronic copy of the Usbourne Book of the Future (1979) which I read a lot as a child in 1985.

        It's got mention of Buckminster Fuller, space elevators, linear mass accelerators for shooting ore off the moon, giant flat screen TVs, watch phones that take their time from satellites, video discs...

        Great stuff.

        https://archive.org/stream/Usborne_Book_of_the_Future_1979_pointlessmuseum#page/n0/mode/1up

        1. Dan 55 Silver badge
          Happy

          That book is like all the Tomorrow's World episodes back-to-back not coming true at once.

        2. Anonymous Coward
          Anonymous Coward

          The future ain't what it once was..

          @Dave 126 - many thanks for hat link, Dave! Ah the future was so much better back then! I feel quite cheated, the way things have actually turned out!

      3. AJ MacLeod

        @Dan 55

        Brilliant, thanks - I had "keyboards and computer music" in the 80s, these books had a great style which somehow made complex concepts understandable in fairly few words.

        I will download a few others and almost certainly learn something!

    3. Mine's a Large One

      Lee D - I get where you're coming from. When my daughter first did ICT at school, I asked what sort of things she did and she said "Word and Excel and stuff". They did some Scratch, but not much.

      At her age (possibly younger) I remember "playing" with the ZX81 in WH Smiths, spending my Saturday afternoons laboriously typing-in programs from one of the few books and magazines alongside it, and it really sparked my interest. I subsequently taught myself BASIC and Assembler/machine code from my Sinclair Spectrum manual and reading magazines like Your Computer, Sinclair User and Crash. It was tough running into something that didn't work as expected - especially with assembler - but that meant I had to work things out, learning so much along the way. It set me up well for learning new languages when I became a programmer.

      Whilst I've spent much of the last 30 years in PC tech support roles, that same logical "work it out" attitude has meant that, from digging down into an issue and identifying exactly why and how something happens, I could better devise and implement a solution. I know others (usually younger) who'll have a Google, find a solution and implement it, but don't really understand the hows and whys, etc, and so are surprised when the same issue keeps cropping-up or the solution affects causes other issues.

      1. J.G.Harston Silver badge

        But "Word and Excel and stuff" *is* ICT. You're thinking "ICT" means "programming", it doesn't, it's today's "using a pen and paper" - just plain functional literacy. You're seeing "driving" and complaining it's not teaching automotive engineering.

        1. Martin an gof Silver badge

          But "Word and Excel and stuff" *is* ICT. You're thinking "ICT" means "programming", it doesn't

          As we have discssed recently in another topic, ICT is now off the curriculum for most schools in England, and Computer Science, which contains a lot more of the stuff we would be familiar with from O-levels back in the day, is the new fashion. It's just a shame that teachers who were perfectly competent teaching Word and Excel are struggling to stay ahead of the class when it comes to Python or Boolean Algebra!

          M.

          1. TonyJ

            Boolean Algebra!

            Ahh I hated Boolean Algebra and truth tables with a passion. Something about it never went in properly.

            Gimme a good Karnaugh map any day of the week :)

          2. John Brown (no body) Silver badge

            "As we have discssed recently in another topic, ICT is now off the curriculum for most schools in England,"

            Which is a shame, became as has been mentioned, ICT is the modern version of reading, writing, 'rithmetic. I've spoke to secondary school teachers and school techs who are seeing more kids coming through who can't use computers very well at all having gone through primary school using tablets/iPads.

            1. Martin an gof Silver badge

              "As we have discssed recently in another topic, ICT is now off the curriculum for most schools in England,"

              Which is a shame, became as has been mentioned, ICT is the modern version of reading, writing, 'rithmetic.

              Which is exactly how it is being treated in many schools. You don't "do ICT" any more, you "do" English (say) and part of the task is to produce a poster using (say) Publisher. You "do" History (say) and part of the task is to use Word (actually, these days it's more likely to be Google Docs) to produce an information leaflet. You "do" maths (say) and part of the task is to use a web browser to research the fuel efficiencies of cars online using manufacturer websites, then enter the data into a spreadsheet and plot graphs or produce ordered tables of cost, power, efficiency etc. This last one is something my 14-year-old has been doing today.

              Once the (very) basics have been taught which, just as with reading riting and rithmetic, tends to be concentrated in what is now called "Foundation Phase" (nursery and infants, effectively), the rest is taught (in the better schools at any rate), incidentally, as a byproduct of other activities. Very 1960s :-)

              One thing which isn't taught in many (any?) schools is touch typing. However popular tablets may be at the moment, the keyboard is not going away any time soon, and is necessary for fast, accurate, efficient content creation right the way through most people's careers. As I think I have mentioned previously, I believe touch typing should be taught alongside teaching how to hold a pencil and do "joined up" writing. It will - at the least - help to avoid many future RSIs!

              M.

        2. Mine's a Large One

          Well no, I don't think "ICT means programming", but I did think some programming would be involved. Scratch is something I suppose...

          As for your analogy, I also wouldn't expect "driving" to need an understanding of "automotive engineering", but I would expect someone to have a grasp of the basics like "going too fast in rain might mean that the tyres can't clear the water away quick enough, so theyrcan't grip the road and you may skid" rather than just telling them "go more slowly in the rain". It's not engineering (and it might not save you anyway...) , but if you know the reason why you're skidding in a downpour, then you have at least some inkling of what to do next (ie. slow down).

          1. Martin an gof Silver badge

            As for your analogy, I also wouldn't expect "driving" to need an understanding of "automotive engineering",

            The analogy I usually trot out in these circumstances - so apologies if anyone remembers me saying it in these hallowed halls previously - is that of a (hypothetical) newly qualified driver whose car breaks down one day, shortly after passing his test. He calls the AA out who diagnose a simple lack of petrol.

            "But I never had to put petrol in my instructor's car!"

            I feel the same about computer "users". Without some kind of basic understanding of what the computer is trying to do under the hood, users make all sorts of assumptions and end up making a bigger mess of things.

            Like the scenario (this one is real - from one of my first jobs) where I get called up from the basement (where us engineers live) to the office because "the printer isn't working". I arrive to find the user repeatedly clicking the "print" icon (Word 5 I think, WfW 3.11) and no printout appearing on the Laserjet at the end of the table.

            On the other hand, half a dozen printouts are making their laborious way through the colour HP A3 Deskjet at the other end of the table.

            Because in those days, the print icon meant "print using last settings", and the user didn't have the nous to check what those were, despite having recently returned from a training course in Word and us having explained the printer setup to everyone repeatedly, since installing the second printer some months prior.

            M.

          2. John Brown (no body) Silver badge

            "going too fast in rain might mean that the tyres can't clear the water away quick enough, so theyrcan't grip the road and you may skid" rather than just telling them "go more slowly in the rain".

            Most drivers don't know that much. At best, they know that a tyre must have a certain depth/quality of tread to help it grip the road and not get fined/points on their licence. Knowing the tread is carefully designed and engineered to expel water is beyond most of them.

      2. John Brown (no body) Silver badge

        "I know others (usually younger) who'll have a Google, find a solution and implement it, but don't really understand the hows and whys, etc, and so are surprised when the same issue keeps cropping-up or the solution affects causes other issues."

        This is only half of the problem. Playing with 8-bit computers was "easy" in that a single person could learn all about the hardware, the software, the ROM etc., and everything you did you were doing for the first time. Others may have already done it, but you didn't know that. Stick even a RaspPi in front of a kid today and it's likely got a full desktop OS already installed and running and it's so big and complex that it took teams of people to develop the hardware and software. And pretty much anything you can tink of to do with it has not only already been done but you can download the s/w or schematics or even buy a kit to do it. The sense of discovery is no longer there other than in the sense you are "discovering" what everyone else already knows as in all the other sciences taught in school. There's far less reward or incentive in the self-discovery we had in the 8-bit days so it needs the right teacher to inspire and right kids who want to be inspired.

    4. PATSYQB

      what? your 11 y/o's don't understand 3D matrix manipulation and Fourier transforms? Are they thick?

      1. Dave 126 Silver badge

        Well I did aim some choice Anglo-Saxon words in the general direction of a small river after the log on the end of a rope swing snapped.

  4. Fred M

    The reason I like coding on microcontrollers now is it give you that same sort of "I know about every byte in memory" sort of experience that I remember from the BBC Micro. Although even near the lower end of the microcontroller spectrum you may find higher specs that we were used to back in the 80s.

    1. Rusty 1

      So true. In my day-to-day job I get to play with systems that have up to several terabytes of memory (which is fun), but to get stuff done with kB or even B of memory is the bees knees.

  5. Zippy's Sausage Factory
    Thumb Up

    I was always a Commodore 64 person but I was totally in the ethos. I can still remember the bits of the memory map I used most - D000 was where the character rom lived, A000-BFFF was the basic, then there was C000, KERNAL started at E000, D012 was the current raster line, D020 was the border colour, D021 was the screen colour, always set $01 to $35 to clear out the ROMS from memory and turn the tape off...

    Ah, heady days...

    1. Loyal Commenter Silver badge

      I cut my teeth on the Amstrad CPC464 myself.

      10 PRINT "Press any key to continue"
      20 CALL &BB18

      I remember getting hold of a copy of this as a birthday or Xmas present one year, and reading it from cover to cover.

      1. monty75

        I had similar fun with this (PDF)

Page:

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