BeebEm
It is quite gratifying to see the BeebEm project: http://www.mikebuk.dsl.pipex.com/beebem/ moving along nicely. I can enjoy all those fantastic BBC Micro (Also called Beeb) programs and get to dust off my old memories.
![]() | This machine was one of the most versatile microcomputers of it's time with the BBC Basic language being the most advanced Basic dialects available in any microcomputer at that time. BBC Basic included constructs like Procedures, Functions, support for recursion, typed pointers, typed variables etc. when various other dialects of BASIC were still stuck with GOSUB. The micro itself was amazingly versatile having features like Paged ROMs, VGA out, RGB out, basic networking, Parallel port, Serial port, external floppy disks, Advanced 4-channel sound, co-processor etc. |
My first introduction to Computers began with this box at the encouragement of my Mother. I wrote my first BASIC program to accept two numbers, add them and display the result. From then on it's been a journey of discovery and fun. Every now and then I will discover some new nifty info, trick, tweak etc. about this machine. Then I will be the happiest person in the whole family. I had even attended a couple of coding competitions on this machine and came away happily with prizes. One of the prizes was the excellent book Variations in 'C' by Steve Schustack that got me introduced to the 'C' language, but that's another story.
This machine was first introduced in 1981 but was available in India only about 8 years later as the SCL Unicorn brand! I was exposed to this wonderful gadget in the April of 1990. I would go to my Mom's office: Birla Industrial and Technological Museum regularly to marvel at the Scientific miracles and also get access to a bunch of computers including the BBC Micro.
I thoroughly devoured the ins and outs of this machine for close to 3 years before moving onto the comparatively cranky 4.77 MHz IBM PC-AT that seemed like a slow dinosaur compared to this sleek and fast 2 MHz beast! Most of my understanding of how Computers work were built on this machine, things like: Basic system architecture, Data Structures and Algorithms, OS stuff, 2D and 3D graphics, Animation, Assembly, and all the typical blah blah.
It was fun to do 3D graphics stuff with BBC Basic and eke out the last Hz of performance from the 1 MHz 6502 processor when doing hidden line removal and animating the results. I learned about memory paging and wrote a simple paging system in BASIC. This was a big paintbrush-style graphics editor that wouldn't all fit into the available 8K RAM after the memory-mapped graphics (20K) and OS workarea have taken their toll. The BASIC program was divided into multiple procedure modules which would be loaded on demand, from floppy, into the same region of memory overwriting the earlier contents.
BBC Basic supported inline Assembly code and it was a lot of fun. One weird thing to try was to update the memory mapped display faster than the Vertical retrace resulting in strange flowing curtain-like effects on the screen. BBC Basic allowed user defined characters for creating sprites. I still remember the hours I spent designing custom character sets and sprites for games on 8x8 grids. I'd even spend weekends poring over pictures drawn on graph paper and vectorizing the images by hand and transferring to the BBC Micro as DATA statements for rendering on screen.
I'd grab every BBC Micro book I could find on bookshelves and streets. I still have a good collection of those. I was always sad that I never could get my hands on the newer BBC models like B+ and Master 128. However BeebEm supports emulating those and is real fun to play with. I am enjoying those classic games like Elite and Chuckie Egg as well.
