Build An FPGA Microbee In Three (Not So) Easy Steps

Microbee,_Melbourne_Museum

[Brad Robinson] was feeling a bit nostalgic for his Microbee, so he rebuilt it in an FPGA. Not once, but three times. For the uninitiated, the Applied Technology Microbee was a Z80 based computer 1980’s. Designed in Australia, the Microbee did not see much popularity outside its home continent. Even so, the introduction to home computers many Australians was on a Microbee. [Brad] actually wrote several programs for the Microbee, including some games sold by Applied Technology themselves.

Fast forward to 2012, [Brad] is learning FPGAs, and wants to build a Microbee in VHDL. The FPGAbee was born. The first iteration of the FPGAbee began with the CPU, which came from the T80 open source VHDL Z80 core. Around this core [Brad] added the video controller, keyboard, and sound. When he started adding disk functionality, [Brad] ran into some problems. He wanted to use a FAT formatted SD card for cassette and hard disk emulation.

The relative complexities of the FAT format meant he would have to use some custom software to make this work. [Brad] decided to run this software on a second Z80 core. Both cores would need access to memory, and this is where [Brad] learned what he calls “a hard lesson in cross domain clocks” on FPGAs. Multiple clock nets can cause major propagation delay issues. [Brad] was able to work through the problems, but it caused him to step back and re-evaluate the entire design. This was the start of FPGABee2.

Brad eliminated the dual processor setup, and redesigned a few other parts of the system. This second iteration of the design proceeded smoothly to completion. At the end of the project, [Brad] had a Microbee emulated in a Xilinx Spartan6 on a Digilent Nexys-3 board. While great for prototyping, the Nexys-3 is not very practical as a final system. [Brad] wasn’t about to roll a BGA based PCB himself, so he tried out a Xess Xula2 board. The Xula2 did require some porting work, but [Brad] was able to get the system up and running. A custom through hole PCB carrier board resulted in a slick finished project, the XulaBee.

[Thanks Dave!]

13 thoughts on “Build An FPGA Microbee In Three (Not So) Easy Steps

  1. ..the memories..

    The Microbee was actually quite popular as a school-computer in Sweden. I remember as a student changing the BASIC code of “Worm” to get more score. It was actually running in some kind of network (serial?) with central storage too..

  2. Wow brings back memories! We had a network of these at our primary school and I changed the BASIC code of Taipan to get more money :)

    Ours had a central file server as well. If I remember right, you’d type NETDIR to see what programs you could load off the server and NETLOAD “program” to load it.

    The Bee was the first computer I ever saw that made me want to get a computer. I ended up with a Commodore 16 for a week or so, then we took it back to Grace Bros and bought a Commodore 64. Started my career :)

  3. Please check your posts for grammatical errors. [Brad] as we know him can be called “he” after mentioning his name once or twice in the article. You wrote [Brad] 9 times and Brad once. This makes for a hard to read article. Thanks!

  4. Ah, hundreds of hours spent after school learning programming on a MicroBee.

    in#5 anyone?

    We had a serial network made by one of the mothers at our school. It used an Apple ][e as a file server. You selected on an RS232 multiplexer box which computers would receive the program.
    First it downloaded a short bootloader and then loaded the actual program you requested (requested verbally, that is, to whoever was operating the file server. It was more correctly a “file pusher”).

    Good times!

  5. Microbee brings back memories. I remember impressing my grade 4 teacher that I knew BASIC, which I had learned on my Tandy 1000. This must have been about 1990.

    My school had about 10 microbees, whilst the ‘computer class’ teacher had an Amiga 1000.

Leave a Reply to xobmoCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.