Posts Tagged ‘Acorn’

Announcing http://projects.cyberspice.org.uk/

Wednesday, September 29th, 2010

I am pleased to say that I have finally gotten around to starting to publish details of the hardware projects I have been working on.

I have created a new site http://projects.cyberspice.org.uk/ which contains all the details of these projects. Over the next few days I will be updating it with the details of Beebthernet, my programmable earrings and so on. Each of the projects will be described in detail and links to software and schematic downloads provided.

The first documented project is my ethernet for a BBC Microcomputer project known as Beebthernet.

Beebthernet

Thursday, September 3rd, 2009

Well I have a name for my project of getting ethernet on to my BBC Microcomputer. Its now called Beebthernet. After some prototyping on copper strip-board and testing I revised the schematic for the interface.

(more…)

Bit banging SPI in 6502 assembler

Tuesday, August 25th, 2009

During my adventures with my BBC Micro and external hardware I found I needed to read/write to an SPI bus. I ended up writing a bit banging routine to communicate in SPI Mode 0 with the device.

(more…)

Melanie’s Mad Projects #1 – Ethernet for a Beeb – Update!

Thursday, August 13th, 2009

A little while ago I wrote this blog post about adding ethernet capability to my aged BBC Microcomputer. Since then not a lot has happened. But very recently a couple of things have reinvigorated the project.

(more…)

Melanie’s Mad Projects #1 – Ethernet for a Beeb!

Friday, January 16th, 2009

Writing about my Beeb yesterday got me thinking about a project I consider every now and then and that is adding an ethernet adapter to my Beeb.

When I first thought about this I was working on a driver for a small embedded ethernet chip that was destined for a set top box. The chip was pretty simple and could be used on an 8 or 16 bit data bus. It could have been interfaced to my Beeb relatively easily but would have required me to write a whole TCP/IP stack for the machine. Something I could have done but not a quick task. Also you’d need memory buffers to build the packets in which, in a memory starved machine, are a costly overhead. Work got busier and I had more important things to do with my free time so I put the idea to bed.

I started thinking about the project again after reading about a chip that communicated using SPI. It was intended to be used with micro-controllers so seemed more suited to my needs. Except there were two issues. Firstly a BBC Micro doesn’t have SPI. In theory the 6522 VIA, of which there are two in the Beeb, can do SPI like IO. Unfortunately there’s actually a bug in the chip that means it doesn’t work properly. So either I would have to bit bang or I would have to use a second chip, probably a micro-controller, to communicate with the ethernet chip and the BBC Micro would interface with the micro-controller. Again other things became a priority and it got forgotten about.

So today I started thinking about it again. As more and more devices have become internet enabled some neat chips have been released. These chips have built in micro-controllers which have a TCP/IP stack built in. They do all the hard work. So I started Googling and I found this article on the W5100 which seems to be ideal. Specifically the W5100 is a fully hardwired TCP/IP stack with support for TCP, UDP, ICMP, IPv4 ARP, IGMP, PPPoE protocols. Features include 10BaseT/100BaseTX Ethernet MAC/PHY embedded support and ADSL connection (with PPPoE Protocol with PAP/CHAP Authentication mode). You can interface with it using a parallel data bus and it basically provides a socket level interface at the software level. Set up the MAC address, IP address and gateway address and you can ping the chip with no further work from the host machine.

The W5100 comes in quite a small package. Circuit board technology has come a long way since I last built anything complicated. To solder most modern packages is beyond the of the average amateur electronics engineer due pin density or the requirement for solder ovens or flow technologies. This could have put a damper on this project except I found the WIZ810MJ module. Its basically the W5100 chip on a pre built module. It seems perfect so I’m getting one.

I will need to provide a 3.3v supply but this can be relatively simply provided with a small regulator chip from the 5v supply of the Beeb. The IO on the module is 5v tolerant so it can be interfaced with directly. The module has an 8 bit data bus and address lines A0-A14, i.e. 32KB of address space. The Beeb supports Sideways ROMs, basically paged ROMs which occupy the same address space. These are 16KB in size so I intend utilizing this together with a latch to bank the address space in to two banks. The remaining IO lines can be supported relatively easily.

So this is my first mad project. Watch this space!

Apple Fan Girl Squee!

Wednesday, January 14th, 2009

The post below is based on a comment I made in a friend’s blog. Reading it back I realised it would make a good post in my own blog…


The first computer I ever used was an Altair 8800. It had a single 8 inch floppy and you had to toggle the boot sequence using the front panel switches. The first machine I ever really programmed in earnest was my father’s TRS-80. When I should have been listening to the teacher at the back of my math class I would be thumbing through a well used copy of Rodney Zaks – Programming the Z80 and hand writing assembler in my exercise book. I wrote a full screen memory editor that way.

Eventually I got my own machine. My trusty Beeb with all of its IO taught me all about programming hardware and is probably why I am an embedded software engineer today. It was the British equivalent of the Apple ][ which I lusted after but could never had afforded at its British price. However I loved my Beeb and was a total Acorn fan girl for years.

I first used a Mac back in 1988. It was an SE and was an all-in-one luggable which was smaller than PCs, but not much, and they had 9 inch screens. They were slow 680×0 machines. Then the PowerPC came along and the machines got better. But just before they did the Acorn Archimedes came along with their 32 bit RISC powered offering pipping Apple to the position of having an affordable desktop RISC workstation. These were machines I was used to; the 32 bit machines had a nice multi-tasking operating system; and macs were expensive; so bought myself an Acorn A3000 and I stuck with my Acorn machines through to relatively late in the 90s. I still have my Beeb, my A3000 and my Acorn RISC PC.

I have always liked Macs but, to be honest, as they went from System 6 through 7, 8 and 9 the operating system became more and more unweildy and showed its age. They were also incredibly costly, a reputation they still haven’t really lost. The hardware was being beaten by PCs and a PC running Linux seemed a far better choice. Jobs was ousted from Apple and Apple looked doomed. Then he came back. With him he brought NextStep. This eventually became the basis of OS X and is still reflected in the naming of Cocoa classes. Macs looked interesting again but were sill out of my price range.

Then a few years ago I was offered an old Blue and White Mac for $100 which I upgraded to running Panther. I loved OS X. Unix with useability and none of the unfinished faffiness of Linux. My PC was rapidly left abandoned even though it was more powerful. I then bought myself an iBook G4. I also acquired a used Power Mac G4 which became my desktop machine. The iBook and G4 have served me for several years with the iBook being my constant companion. The PC sat under the desk virtually unused, turned off for months at a time.

OS X has had a beneficial effect on Linux. It has raised the bar. Modern Ubuntu has more than a few ideas borrowed from OS X which is not a bad thing. So recently the PC was re-installed and is now a development server. But Linux still hasn’t got the sheer useabilty of OS X and Apple kit. And today I took delivery of a shiny new unibody MacBook. My love affair with the Mac continues. I am a total fangirl!