Slashdot Mirror


30 Years of the BBC Micro

Alioth writes "The BBC has an article on the BBC Microcomputer, designed and manufactured by Acorn Computers for the BBC's Computer Literacy project. It is now 30 years since the first BBC Micro came out — a machine with a 2 MHz 6502 — remarkably fast for its day; the Commodore machines at the time only ran at 1MHz. While most U.S. readers will never have heard of the BBC Micro, the BBC's Computer Literacy project has had a huge impact worldwide since the ARM (originally meaning 'Acorn Risc Machine') was designed for the follow-on version of the BBC Micro, the Archimedes, also sold under the BBC Microcomputer label by Acorn. The original ARM CPU was specified in just over 800 lines of BBC BASIC. The ARM CPU now outsells all other CPU architectures put together. The BBC Micro has arguably been the most influential 8 bit computer the world had thanks to its success creating the seed for the ARM, even if the 'Beeb' was not well known outside of the UK."

24 of 208 comments (clear)

  1. jaded by masternerdguy · · Score: 4, Insightful

    People used to get excited when a CPU clock was measured in MEGAHERTZ! Now we're jaded...

    --
    To offset political mods, replace Flamebait with Insightful.
    1. Re:jaded by syousef · · Score: 4, Insightful

      People used to get excited when a CPU clock was measured in MEGAHERTZ! Now we're jaded...

      The fucking things did not run a GUI that emulated transparent glass. They could process video or images that we use today etc. People use to get excited about ASCII art and how clever that was. Today you can see pictures Hubble has taken in intricate detail, and instead of playing ASCII strip poker people are viewing HD porn instantly.

      When home computers were new anything they could do was a marvel. Now we've seen what more processing power can do. We have a lot of bloat. We also have a lot of functionality that is taken for granted. You have to remember that international direct dialing was considered a wonder when the BBC microcomputer was introduced. ("What, you mean no operator connects you!?")

      --
      These posts express my own personal views, not those of my employer
    2. Re:jaded by fuzzyfuzzyfungus · · Score: 5, Interesting

      Not to worry! Thanks to the power of javascript and web2.0, you can again await the day when we'll be able to push a 6502 into the realm of the megahertz!

      (Please note, above linked project is actually pretty fucking cool: "In the summer of 2009, working from a single 6502, we exposed the silicon die, photographed its surface at high resolution and also photographed its substrate. Using these two highly detailed aligned photographs, we created vector polygon models of each of the chip's physical components - about 20,000 of them in total for the 6502. These components form circuits in a few simple ways according to how they contact each other, so by intersecting our polygons, we were able to create a complete digital model and transistor-level simulation of the chip.

      This model is very accurate and can run classic 6502 programs, including Atari games. By rendering our polygons with colors corresponding to their 'high' or 'low' logic state, we can show, visually, exactly how the chip operates: how it reads data and instructions from memory, how its registers and internal busses operate, and how toggling a single input pin (the 'clock') on and off drives the entire chip to step through a program and get things done."

      It is, however, the case that this might not be the fastest way to execute 6502 instructions...)

    3. Re:jaded by joshuac · · Score: 3, Funny

      But there were far more megahertz than we'll get in gigahertz! You'll never get a 150GHz machine...

      I'm with you totally...that's like well more than an order of magnitude faster than what we commonly have now, it would take huge advancements in technology to get there...heck, that would make the totally advanced and awesomely powerful computers we have these days feel like pocket calculators. Never'll happen ;)

    4. Re:jaded by broomer · · Score: 3, Informative

      I can do better...

      Sinclair ZX 81 with 1KB total memory.
      I do not recall how many bytes were free for programming, but 30 lines of BASIC was about the biggest before going out of memory.

    5. Re:jaded by Joce640k · · Score: 4, Informative

      I do not recall how many bytes were free for programming

      It varied...

      The screen display came out of the 1K of RAM but it only used as much RAM as was needed. There was a special 'end of line' character to mark the end of each screen line. A blank line only needed one byte (the end of line char). A line with 'Hello, world!' on it would need 14 bytes. A screenfull of text needed 768 bytes.

      Many programs went to extremes to save RAM. There was a 1K chess program which displayed the moves as five chars at top of the screen, eg. 'E2E4+'. You had to use a real chess board to follow the game.

      --
      No sig today...
    6. Re:jaded by Miamicanes · · Score: 3, Insightful

      Which means we go back to the same strategies we did in the 80s and early 90s -- coprocessors. Or, put another way, multiple cores, stacked GPUs, DMA, hardware DSPs. And (gasp), the Second Coming of CISC.

      At the end of the day, RISC was a way to get cheaper megahertz (and later, gigahertz). Now that we've largely maxed out clock speed to the point where it's almost counterproductive, CISC is just about the only place we have left to go. Instead of wasting 50 cycles loading values into registers. operating on those registers, evaluating the outcome, and branching based upon it, you can have complex variable-length opcodes that use billions of transistors and have sinful amounts of silicon dedicated to niche operations that would have been absurd to even contemplate 25 years ago with far fewer clock cycles.

      There's a reason why a 16MHz 68000 can still run circles around a 100MHz ARM, and why a 1GHz Pentium-M beats a 1GHz Atom or Arm to a bloody pulp -- the CISC chips get more done behind the scenes with every public clock cycle. The fact that behind the curtain, they're secretly executing chains of RISC instructions with private, semi-asynchronous clocks as fast as they can & just presenting the public facade of a CISC architecture responding to a system-wide clock is a quibble. The point is that every time the public system clock ticks, they're getting WAY more done than a conventional RISC architecture could ever fantasize about. In effect, a modern AMD64 (or Core2) CPU is like a container full of virtual, disposable/pooled RISC processors that get instantiated to execute a single public opcode while privately dancing to the beat of their own drummer.

    7. Re:jaded by raddude99 · · Score: 3, Interesting

      You are very sadly deluded if you think that a 16Mhz 68000 could run circles around a 100Mhz ARM. Saying something that stupid means your whole argument collapses. I was a big Amiga fan back in the day, but I would never dream of saying that an Amiga with its 7Mhz 68000 could perform faster than a basic Acorn Archimedes with its 8Mhz Arm 2. Load up any 3d game that was common to both platforms (Zarch/Virus) and watch them side by side. The Amiga loses (The Amiga wins in 2d games though because of its powerful blitter :-) ). Also the Atom is a CISC chip and saying that one CISC chip (Pentium-M) can beat another (Atom) to a bloody pulp has other implications. Surely then, one RISC chip can beat another to a bloody pulp and they do. The rest of your so-called argument is also flawed. You think that CISC is good because the instructions are complicated and they can do more. Unfortunately it's these complications that make it harder to do what chip designers have been resorting to these past few years, that is coaxing CPU's to run more than one instruction at a time. Even you should be able to understand that this is easier to do if the instructions are simpler.

    8. Re:jaded by hairyfeet · · Score: 3, Interesting

      Hey you spoiled kids, I had a VIC20 (you need to use caps, we didn't have no lowers back then ya know!) and ya know what? It was fun! Sure the datasette was flaky and if you didn't watch it your little sister would take the cassette that you had saved your three days worth of heavy programming onto and record culture club on it (That left scars) but where else could you get new games and programs out of magazines and have everyone who had a computer be as geeky as you?

      While everyone waxes on about the old days there are some things however I do NOT miss, like the prices of RAM. Back then a 4Mb stick cost more than a fricking car! As I sit here with 8Gb in my netbook, another 8Gb in my desktop, where even my $50 graphics card has 800 stream processors and 512Mb of RAM on its own? Yeah I really don't want to go back to counting each byte and having to PEEK and POKE and GOTO every chance I could just to squeeze a few more bytes in there.

      So congrats to all those Brits with their Beebs, I hear it was like us and our VICs, If you want to date yourself just compare your first machines to what you have now and boy won't you feel old. I could fit my VIC AND my first FIVE PCs into the speed and memory of my $50 GPU and have cycles left over. And the first 5 of my PCs could have their entire hard drives dumped to my $14 flash stick and still have room for every program I had ever written for the VIC...wow...yay excess?

      --
      ACs don't waste your time replying, your posts are never seen by me.
  2. 6502 assembly by leastsquares · · Score: 4, Informative

    Programming with 6502 assembly... all of us cool kids were doing that back in those days.

    1. Re:6502 assembly by Alioth · · Score: 4, Interesting

      What the 6502 in the C64 (and the BBC Micro, under discussion) had which most people who started asm on the Z80 missed was the zero page. Effectively, using the zero page you had 256 registers. Zero page operations on the 6502 were as fast as register operations on the Z80. While I'm much more proficient at Z80 asm than 6502, I really appreciate the very straightforward and uncomplicated - but powerful - design of the 6502.

  3. And still going strong by Anonymous Coward · · Score: 5, Insightful

    The most remarkable thing about the BBC is that they're still going running production code.

    I had the good fortune of working with (or rather, near) one of these systems a few years ago. When I asked why they hadn't upgraded the machine in nearly 3 decades the head of the system simply responded; "It still works."

    1. Re:And still going strong by ledow · · Score: 4, Interesting

      Ah, someone with brains. If it still works, why would you change it (concerns about suitable replacement being timely aside as that's a separate issue).

      BBC's were great for all sorts of things. Working in school IT departments I often find them, and sometimes I find "old" staff there who tell me how they used them for EEPROM reading/programming, and other interfacing that today's school machines hardly do any more with specialist adaptors.

      They even ran the Teletext service in the UK (they actually have a "Teletext" video mode on them) and all sorts. It was a programmable, extendable computer that did what was necessary and no more.

      Oh for those days again. Here's hoping that Raspberry Pi thing takes off.

  4. My first computer experience by aclarke · · Score: 4, Interesting

    The first computer I ever used was a BBC Micro. It was around 1986 in a small private boarding school in the middle of the bush in Zambia. We were over an hour's drive from the nearest telephone. The school got one or two of these computers just before I left, and somehow they got me hooked on computers.

    The only command I still remember was that you had to type "CHAIN" to run something. I've been curiours about that command ever since, but a quick Google search leads me to believe that it "chained" the LOAD and RUN commands together.

  5. Elite! Ahh happy days by Ivecowarrior · · Score: 5, Interesting

    Changing the screen mode 3/4 of the way down each screen refresh. Programming while counting every clock cycle - fantastic. I still wonder where all the resources are wasted in current software. I still say FRAK! when the need arises. Nobody knows what I'm talking about :(

  6. First computer I ever trashed. by Gumbercules!! · · Score: 4, Funny

    We used to have a room full of them at school and we soon discovered if you rubbed your feet on the carpet and then pushed your locker key in between the keys to the exposed circuit board... they stopped working.

    The irony is I later in life wound up maintaining student labs for a university and had to put up with "dickheads" like I forgot I used to be...

  7. A lot of us Americans did play Elite, though by elrous0 · · Score: 5, Informative

    Elite, developed for the BBC Micro and published by the same company that made the Micro, did get a lot of attention here in the U.S. (it was ported to all the major platforms). It was one of the first big universe sandbox games, and modern games like EvE Online are still influenced by it.

    --
    SJW: Someone who has run out of real oppression, and has to fake it.
    1. Re:A lot of us Americans did play Elite, though by tudsworth · · Score: 3, Interesting

      And there's now an Open Source remake/re-imagining, OOlite. I'd post a link, but I'm at work and I'm sure you can all use your search engine or package manager of choice to obtain it.

  8. Re:Remarkably fast my ass by Alioth · · Score: 5, Informative

    The BBC Micro at 2MHz was considerably faster than the Spectrum at 3.5MHz. The Z80 is a CPU that I like (I still write Z80 assembler, indeed I'm much more proficient at Z80 than 6502 and I've designed and made an ethernet card for the ZX Spectrum fairly recently as a fun retro project). However, we have to consider this. The fastest 6502 instruction executes in 2 T-states, most execute in 3 T-states, and the slowest take 7 T-states. The fastest Z80 instruction takes 4 T-states and the slowest over 20 T-states. The 6502 therefore has better interrupt latency (that monster 23 T-state index register instruction on the Z80 can't be interrupted).

    The other thing the 6502 has going for it is the very fast zero page instructions, which are tantamount to giving you 256 extra registers.

    The competing ZX Spectrum also had contended memory. Thanks to the 6502's predictable memory cycle when compared to the Z80, the BBC Micro designers could interleave screen memory access with CPU access, so no memory is contended. The Spectrum has to pause the processor while the ULA accesses the screen memory, meaning anything in the lower 16K of RAM takes a noticable performance penalty (and you can't use the lowest 16K for anything timing critical that must run while the ULA is reading the frame buffer).

    Don't get me wrong, I love the Speccy, it's probably my favorite 8 bit (and I own several!) - it did an awful lot for very little money, it was immense value for money - but the BBC Micro was at the time had excellent performance.

  9. Elite on the BBC Micro by Rik+Sweeney · · Score: 4, Interesting

    What Braben and Bell did to get this running on the BBC makes for pretty interesting reading.

    http://en.wikipedia.org/wiki/Elite_(video_game)#Technical_innovations

  10. Citadel by Tapewolf · · Score: 3, Interesting

    Aside from Elite, one of the classic games for the BBC was Citadel. I'm still amazed how it managed to fit about 100 screens worth of platform adventure game into 12k of memory without touching the disk after it had loaded. IIRC it ran in mode 2 - which took 20k out of the available 32k memory. I think they only used part of the screen and used the rest for storage with some weird trick to make it invisible. The Electron version (see link) couldn't do the hiding trick somehow.

    The BBC version also spoke to you when the menu program loaded up, and to this day I think of it as "Seeta-toddle", which gives you some idea of the audio quality.

    For those who are curious, there is a wikipedia entry here: Citadel (video game).

  11. Another (longer) article at The Register by alanw · · Score: 3, Informative
  12. Re:Comparison to Apple][, Atari 800, C64? by itsdapead · · Score: 5, Informative

    Was the Beeb available before the Apple ][ ? Was it more or less expensive in the UK?

    I get the feeling that the BBC Micro enjoyed a kind of tax protected status, the way American made pickup trucks do in the US.

    The BBC came quite a while after the Apple II - if you've been following the 30th Birthday announcements, its actually younger than the IBM PC (...of course, the IBM was eye-wateringly expensive for a few years, until the Clone Wars began).

    I've programmed both and, generally, the BBC was considerably more powerful than the Apple.

    It had a (much) better BASIC with 'structured programming' facilities (Repeat/Until loops, multiline if/then/else named procedures), a built-in 6502 assembler (so you could use BASIC as a macro language) and neat indirection facilities for working with bytes/words/strings in memory. Unusually for "home" computers of the time it had a 'proper' operating system, quite separate from BASIC - the BASIC ROM lived in a paged memory space alongside applications such as wordprocessors and other utility ROMs such as the disc filing system (popular BBC expansions included extra ROM sockets for applications or 'sideways RAM' for use as a RAMdisk or to let you develop your own ROMs).

    The graphics were much better (but with a caveat) than the competition - 160x256 in 8 colours, 320x256 in 4 colours or a TV-tousing 640x256 in monochrome. Also, those colour modes were fully bit-mapped c.f. the attribute-based solutions on other systems (where you could e.g. only have 2 colours in each 8x8 cell, or on the Apple where you could only plot white by plotting a magenta pixel next to a green pixel). There was a proper palette system (so you could do fast animation by palette switching - only TTL though so its always the same 8 colours) and 'hardware' scrolling by tweaking the memory mapping (which could also pull tricks like changing display mode half-way down the screen, as used in Elite). The caveat was that the RAM was shared between data and video - so the higher modes used 20K out of your 32K. Although aftermarket upgrades appeared that added a 20K page to replace the video RAM (which worked seamlessly provided that the application used the correct OS calls rather than poking things directly) Acorn took their own sweet time before building that feature into later models.

    It also had a shedload of internal hardware: a Teletext-compatible character generator chip for low-memory, high-quality TV friendly 40 col text & block graphics (without eating your RAM); a 'proper' sound generator chip; analogue inputs (not audio frequency, but great for proper joysticks and school science experiments) and a 'user port' which made about half of a 6522 VIA chip available for digital I/O, a serial port, parallel port, proprietary expansion port & vacant sockets on-board for a floppy controller and 'econet' LAN... Plus a really decent keyboard (the kind with discrete key-switches for each key). Then there was Acorn's 'Tube' interface, which allowed you to hang off a 'second processor': i.e. a headless 6502, Z80 or (later) 32016-based computer that used the BBC as an I/O processor. (Of course, the really interesting one was the ARM second processor, but AFAIK that was never publicly available).

    The Apple's advantages were (a) software base (but the BBC accumulated quite a big software base in the UK) and (b) internal expansion (the BBC had lots of expansion potential but it was either via external interfaces or slightly kludey piggyback boards). I think there were more options for upgrading an Apple 2 to '64K clean' RAM configuration.

    However, If you got the BBC 6502 second processor (a 4MHz 6502 with 64k RAM, with the original BBC handling all the I/O) then anything else with 8 bits (and quite a few things with 16) could eat your dust... unfortunately the price of that hampered adoption and, hence, software support (although you could play the definitive version of Elite).

    The BBC B cost ~£400 - but

    --
    In a survey of 100 programmers, 111111 thought that duck-typing was a good idea.
  13. Re:Current ARM is about the Apple Newton by itsdapead · · Score: 3, Insightful

    The current ARM has little to do with the BBC micro. Apple purchased a stake in Acorn with the goal of getting them to FAB a low powered CPU to power the Newton.

    ...except that if the 6502 BBC micro hadn't happened, Acorn wouldn't have developed the ARM2/3 to use in the next gen BBC Micro and there wouldn't have been anything for Apple to buy in to. It may have evolved since then, but Apple sure as hell didn't invent the ARM.

    The first ARM-based machines were the ARM2-powered Acorn Archimedes range, released in 1987, the entry level model of which was still branded as "BBC Micro". At the time, they kicked sand in the face of 80286-based machines. The Newton didn't appear until much later.

    Cheekily, in 1994, Apple touted their new PowerPC-based Macs as the first RISC-based personal computers.

    --
    In a survey of 100 programmers, 111111 thought that duck-typing was a good idea.