mailto: blog -at- heyrick -dot- eu

Navi: Previous entry Display calendar Next entry
Switch to desktop version

FYI! Last read at 13:36 on 2024/04/28.

Beeb goodies

Recently, I have interited two goodies for my BBC Micro. I guess I'll need to dust it off and get it running again. The irony is the Beeb is too simple for CMOS/NVRAM and leaky dead batteries and such, so I expect it to burrrr-bip again after a number of years of inactivity, and nearly twenty years after it was built.

The first item is pretty simple. Here it is:

A new ROM chip!

If you find yourself shrugging and asking "And?" then you're probably reading the wrong b.log, so try this instead.

For those still reading, it is a new ROM chip to put inside the BBC micro. It will require minor surgery, being 32 pins rather than the expected 28, but that is not an insurmountable problem.
But why?
I know you're asking this. Well, the process of burning an EPROM is quite a pain in the ass. It involves hooking up the EPROM programmer, getting the old A5000 running, getting the ROM image to the A5000, programming the EPROM... assuming I don't have to UV erase the EPROM first. This is a pain when you look at more modern solutions. For example I am recording a film as I write this. To videotape? Nope. To harddisc? Nope. To a flash device. It is a little slower than a harddisc, but ultimately just as flexible.

This is where the device pictured above comes in. It looks and feels just like a traditional ROM chip. But it isn't. The AM28F020 is a 256KiB FlashROM. Offering in-situ programming and an erase/reprogram capacity in the order of 10,000 cycles minimum, it should offer all the benefits of EPROMs with a lot less hassle.
This isn't to say it is perfect - for it will require a bit of patchwork to fit this into the system (normal EPROMs are either 8KiB or 16KiB). In addition to this, the entire Flash cell must be erased prior to programming, so individual EPROM images cannot be written at will.

All of this said, I plan on using half of the chip's capacity to provide 128KiB as 8 × 16KiB images. The BBC MOS can support up to 16 ROMs, the standard BBC micro only offers 4 slots (the B+ offers more), but a little bit of cut'n'paste into the logic decoding will allow possibilities to be expanded.
In addition to this, it does not look too difficult to write some code to write to the chip. It ought to be a weekend's work to code up something to permit up to 8 images to be selected. The chip will be erased, and the images will be loaded and written one after the other. The datasheet reckons on 4 seconds to program the entire chip, although we will probably take a bit longer than that. In fact, the only thing that concerns me is how the Write Enable is handled. Is it possible to write to EPROM space? I'll probably need to jack into the CPU control bus as I rather doubt Acorn has tracked !WE anywhere near the EPROMs. ☺

 

Here's the second thing:

65C02 2nd Processor
The Acorn 65C02 second processor expansion. Running at 3MHz, it is half again as fast as the host BBC. Not only that, but the mini-MOS is copied into RAM so the processor pretty much runs at full speed, slowing only for I/O operations to the host machine. It contains a full 64K of memory, of which a huge amount is available. For data or assembler code, up to 60KiB may be available. For BASIC code, 16KiB is needed for the HiBASIC interpreter, leaving you with a seriously large 44KiB to play with. Compare this to a normal Beeb with floppy, Econet, and running in a decent graphics mode, in which case you'd be lucky to have a mere 8KiB free.
Normally, however, you'll only have about 30KiB free as the co-pro will take a copy of the current 'language' and copy it across to the same memory location as on the host. This means most stuff will be copied at &8000 which is the 32KiB mark. Sadly, because of this, whole the space between 48KiB and 60KiB is free, it is only available if you know it is there... Still, 30KiB. That's a lot on a Beeb! [this is where HiBASIC comes in, as it is installed at the end of memory]

The system works by using the host computer (the Beeb) as an input/output device. It looks after the screen, the floppy discs, all the basic boring grunt work. The parasite processor, the co-pro, just... executes code. Really really quickly.
The Acorn patented 'Tube' interface contains FIFO buffers, so the co-processor can push instructions to the host machine. While some waits are inevitable (such as loading data from disc), a good many of these can be deferred to be the responsibility of the host processor. In essence, you'll have a 3MHz processor running in tandem with a 2MHz computer. The computer will deal with all the mundane work (keyboard scanning, writing to disc, blah blah) and the co-processor can just get on without worrying about that. Indeed, due to this duality, some programs may fly along twice as fast as before.

I don't want to try fitting this inside my Beeb. What with networking, floppy disc, etc, I do not wish to cook the power supply. I have an Acorn Teletext Adaptor in a "cheese wedge". Since teletext is, sadly, mostly historical, I think I might remove the teletext board and fit the co-processor in its place.

 

While the world is making use of Windows, seeing the liberty of Linux, and gloating over iWhatever, let me remind you that a little British home computer offered, pretty much as a standard set of options:

But all said, perhaps the most astonishing thing is the 6502 co-processor can provide immediate benefits just by, you know, plugging it in. This is hardware from the early '80s. No jumpers, no complicated drivers, no ritual to get it going. Just plug it in. It won't run optimally, but it'll be an immediate boost.
Technically, you'll require a ROM with the Tube code, however as this is a part of some DFSs and most versions of DNFS, there's a chance you'll already have this installed. I do, so getting the tube going will require me... plugging it in.

Okay, this is reading like a drooling advocacy post. But given the technical innovations that Acorn were capable of, it's a shame that the world tended to prefer the bargain-basement crap. Just look at the Spectrum...

 

But, hey. It's the final day of the year. There's half an hour left for me, and my favourite country (and, <cough> about half the planet...) has already had their New Year. You'll find some pictures here.

Whoever, wherever, Happy New Year. I hope 2011 is good to you.

Best wishes,
Rick.

 

Your comments:

Rob, 1st January 2011, 01:28
Happy new year, and a great post.. oh, and don't worry about overloading the Beeb PSU by putting the 2P inside - I used to run a fully loaded beeb, full ATPL board (12 roms) and beeb-powered dual floppies without a problem... The 6502 2P doesn't draw all that much power - it's got a jumper on-board to draw power from the host after all.
Austin, 2nd January 2011, 15:39
Happy New Year Rick! Looking forward to updates regarding your Beeb work. I might dig out one of my co-pro Masters... I have a turbo, 512 and one with a Torch Z80 board in storage. CPN (sic) in ROM on the Torch, a truly wacky piece of kit.
opal, 2nd January 2011, 18:20
Hello Rick, 
Happy New Year ! 
I wish you all the best in this year. Keep going with this nice blog and good luck with this project (I know you have been panning to get back to it for a long time). 
Regards

Add a comment (v0.11) [help?]
Your name:

 
Your email (optional):

 
Validation:
Please type 46408 backwards.

 
Your comment:

 

Navi: Previous entry Display calendar Next entry
Switch to desktop version

Search:

See the rest of HeyRick :-)