4 ms·
Ah, memories, memories. The BBC micro model B was the first ever computer I programmed, at the tender age of 8 or 9. My dad was (still is, in fact) working in
by chrisb 16y ago
Ah, memories, memories.
The BBC micro model B was the first ever computer I programmed, at the tender age of 8 or 9. My dad was (still is, in fact) working in the computing department at a university all those years ago and managed to get us all kinds of nice little extras.
Like duel floppy drives - no tapes for me! And I didn't even realise how lucky I was until I visited a friend and we spend 20 minutes loading a game from tape. And visited another friend who saved some of his work to tape, only for the tape to get corrupted somehow, so it never loaded again.
Like sideways RAM. I always thought it was called this because it plugged sideways into the motherboard, but apparent this is not so: http://en.wikipedia.org/wiki/Sideways_address_space http://en.wikipedia.org/wiki/Sideways_address_space. This supported an extra 16kB (I think) of memory, and allowed us to run a complete word processor, and my dad used a Pascal compiler - which took up to half an hour to compile his code! I remember him setting it going over dinner... But it used to die on the first compile error found, which did tend to slow things down even more. And we had a daisy-wheel printer, which gave fantastic quality so long as you only required one font at a single size.
Then, a couple of years later, we got a 6502 co-processor connected via the 'tube' (http://en.wikipedia.org/wiki/Tube_%28BBC_Micro%29 http://en.wikipedia.org/wiki/Tube_%28BBC_Micro%29) - an expansion port on the BBC micro. This more than doubled the memory, and ran faster. But various optimizations didn't work. You could no longer write directly to screen address-space, as this was still in the hosts address-space, whereas user programs now executed in the co-processors address space.
But, excitingly, there were API calls that allowed you to read/write to/from memory in the host system, so I wrote a (very simple) windowing system that stored the graphics contents beneath each window in the host memory, while executing on the co-processor.
The most ambitious programme I ever wrote was a sideways scrolling shooter game, which was written almost entirely in assembly, and could have up to 50 moving sprites on the screen at the same time without dropping frame-rate. Sadly I never fully completed it, as my dad had just got his first PC at the time and I moved over fairly quickly.
And of course, no discussion of the BBC is complete without mentioning Elite, which was a truely awesome game. They completely re-implemented line drawing routines, as the inbuilt ones weren't fast enough. And they used two screen modes _at the same time_ to allow high definition at the top of the screen, but only in black and white; and lower definition, but in colour, at the bottom of the screen. Try doing _that_ on a PC!
Sigh... Wonderful times... And all in less than 32kB of memory...
- gaius 16y agoI have a copy of Beyond BASIC, the BBC Micro 6502 manual, here on my desk! The Tube version of Elite was amazing.
- jacquesm 16y agoThe book that really rocked my world was 'advanced programming techniques for the BBC micro' by McGregor and Watt, I still have it somewhere. 3D graphics, animations sorting & searching, all the good stuff, and explained in a way that made sense to me.
- gaius 16y agoThat rings a bell - I may even have a copy of it at home!
- samlittlewood 16y agoHaving an assembler built in to the basic interpreter was pretty damn cool as well, even if you had to manage the passes and origin your self
- jlcgull 16y agoAah! The Beeb. My first love. Loved it ever since and will love it forever. My fav anecdote is writing an equation plotting program in high school using BBC Basic, which got corrupted while being written to disk (360KB floppy disk -- no less!) and I had rewrite the entire thing from my memory and a few grubby notes. Interestingly, the program got corrupted again (same floppy?) but it ran better than before -- because instead of drawing the plots on the screen real quick, it drew them in a weird swooping fashion that made the whole thing look so much cooler!! Damn, I am old! ( Edit: This seemed relevant --- http://catandgirl.com/?p=841 http://catandgirl.com/?p=841 )
- aquark 16y agoI must be getting old, but there was an accessibility in those systems that is hard to replicate today. I have fond memories many hours spent typing in game listing from a magazine ... and learning that you should always type 'save' before 'run' in case it crashed. And that was before we ever had a disk drive. I can still recall the tape noisy perfectly! My son has expressed an interest in wanting to write a game rather than just play them, but it always seems to stumble on the fact that he is used for 50fps full 3D and the learning curve to produce anything like that is huge. 25 years ago you could type something in an afternoon that was comparable to something you could buy off the shelf.