Software Development



I have managed a software development team of about 6 people for about 5 years programming in C++ and Java. I have also programmed myself in;


C   8 Years

The majority of my C was written for my company Nexus Alpha Ltd's product in relation to travel information systems.

See Industrial Design for more information on these products.


C++   6 months

Using C++ I wrote a web server serving HTML pages on the LAN.

The package was about 6 months work as I had to learn about C++. I wrote the underlying database and generated the HTML in C++. I call it C++ server pages. Thus the code is far more compact than some great sprawling Apachi and SQL based system.

Take a look at Time Zoo for yourself. It currently does basic time tracking and planning but it could go a lot further.

"No matter what kind of animal you are in the Time Zoo, we have Time Tools that are precise enough and yet flexible enough, to let you work according to your nature, rather than against it. Time Zoo   in a word   Adaptive."


VHDL   3 months

I Programmed the Xilinx FPGA on a Papilio which is the red PCB at the top left of the picture, so as to frame store the image from the camara on the blue PCB mounted on the red PCB and then generate a VGA compatible output for this rather old LCD monitor.

Java   1 month

In Java I wrote stream parsing code and documented it according to my specification standards. See the Java Docs Click on "InputStreamParser" in order to see the documentation. This took about three weeks to write of which half the time was documentation.

For parsing input streams and feeding the results into output streams, arrays or strings.

"If you have an input stream and need to process the bytes coming in then this class provides the support you need. This class is ideal for extracting data from an input stream. The extracted data can be provided in byte arrays or or fed to any output stream or provided as strings. It can be used simply to extract bytes between two given delemiters, read simple record formats or it can serve to interpret far more complex syntaxes."

Arm Assembler   3 month

I wrote the beginnings of an Optical Mark Reading system in Arm Assembler.

I decided that since one of my prime interests was computer recognition I should start by recognising a tick in a box to mark surveys and the like. I started work on an automatic questionnaire marking system. I stripped down a photocopier and built new electronics to drive the sheet feeder from my computer. A normal video camera scanned an A4 page in two frames and I managed to get the system to recognise a single Biro point in a 3mm box. Most systems at the time involved thick lines in soft pencil. All this was written in Arm Assembler on the then new Archimedes computer.

I did not complete this as work came through from the railways to create the display, the IDU. See Industrial Design.


68000 Assembler   6 months

I designed and constructed an electronic board for analogue to digital and digital to analogue conversion for use with the Atari 1040st and BBC micro. Plus controlling programs in 68000 and 6502 assembly language. The board was created by plotting using an etch resist pen directly onto the copper its self.


6502 Assembler   3 years

CAD program to simulate electronic on BBC Micro written in 6502 assembly language to emulate up to 64 freely laid out and wired electronic logic gates at high speed. The gate propagation time was 125ms. Runs in 12Kb!

More about my 6502 programming and design work appears below.

More 6502


BBC Education

The majority of my BBC Micro work was for BBC Radio Schools. When looking at these images it's worth remembering that I had 4 colours and a screen resolution of 320 x 256, this used 20 Kilobytes of ram leaving 12 Kilobytes to write the program. There was generally 100 kilobytes of floppy disk storage and that was it. So I wrote almost everything in 6502 assembly language and pushed the system to its absolute limits.


December 1985 Program development and design for part of a mixed media pack involving TV, Radio and software; entitled "Technology and Design". I was responsible for four programs in this pack to teach about Pneumatics, Electronic systems, Motors and Levers. I used a theatre as a means of teaching electronics as a way of hopefully appealing to both sexes.


In the best of these programs children can build electronic circuits and watch how the circuits control special effects in an on screen theatre. For this I had to write 6502 assembly language to emulate up to 64 electronic logic gates at high speed. The gate propagation time was 125ms. There was 3 bytes of un-used memory when this ran. (This was BBC Education financed by The Gatsby Foundation)


This was a very short animation project done on a BBC Micro. The sequence starts with a title frame and then the clear mountain is shown. The star becomes gradually brighter and as it reaches its brightest point a halo bursts out and its tiny flames move like blue fire. Then a lightning bolt strikes the mountain from the star and a host of tiny stars grow up to form the castle.


September 1984 Programming for "Computers at Work" a training pack about computers; how they work and are used. This involved creating 3-d wire frame real-time graphics from scratch, in 6502 assembly language. This was for BBC Education financed by The Micro Education Programme.