Last updated: 2 December 2001 - these pages are being gradually put
together, so check back often!
AXY Links - links to AXY compliant machines
Brief -coming soon
What is AXY?
is a 6502 based homebrew microcomputer platform, and takes its name from
the three principal registers of the 6502.
The original codename for the
project was "Jimini"
which came from "Jim and I" back when there were two of us building compatible machines. Since then a third person has also begun work building a machine, so a more generic platform name has been adopted. The hardware architecture is very simple, with the entry level system comprising processor, 8k ROM, 2k RAM, serial and parallel I/O and 8 LEDs for diagnostic purposes.
What is it for?
Well, it's mainly for fun. The rules are that we are allowed a compiler and assembler, but the OS and all the hardware are home-built and designed. AXY is one of a few hardware projects I've been working on, on and off. I happened to have a bunch of 65xx series devices in my parts collection, so my friend Jim and I decided to knock up compatible systems, and develop an OS and bits of hardware from my bits box as we go along. Andy has recently joined in the fun and started work on a system of his own.
How can I build one?
The entry level system is quite easy to assemble if you
can solder. Between the three of us, we are in the process of putting full
instructions on how to go about building your own AXY
compatible machine. This includes schematics as well as descriptions
of how to wire the thing up as we are all using different approaches. We
will be adding downloadable development tools and OS ROM images as soon
as we get around to it.
If other people are interested we will make the OS and Applications open source (which
they are currently to the three of us).
We're still setting most of this up, but if you are interested in building your own computer and you'd like to contribute to the system software, or develop applications, you'd be most welcome. We'll be putting some contact details up soon, but you can email me at firstname.lastname@example.org in the meantime.
What tools are available?
We use the 6502 targetted version of Small C, which has
a compiler, assembler and linker. We generally edit with GNU emacs and
use GNU make, but the toolset can be run on a PC.
We use the compiler pretty much as is, except that we added library support for our own platform. There are two different C startup files, one for ROM-based system code and one for RAM-based applications.
We also have a simulator, Jsim (the J remains from the
Jimini codename), which is
a bit rough and ready. We basically took the Beebem program and tore out the 6502 core simulator, then wrapped it in a shell front end and added the commands we wanted. It allows single-step, run, breakpoints, disassembly, memory dump etc. Everything you'd expect from a basic debugger.
This is currently usable, but needs a bit more work to tidy it up. The basic idea was to get Jsim up and running so we could start code development as quickly as possible. The plan is to re-write it, separating the front and back ends to allow the real target hardware to talk to the front end when and to allow a GUI front end to replace the shell, if we so desire. It'll be available to download soon.
What hardware currently exists?
There are currently three AXY machines, built in different ways. The CPC Microsystems SBC-65 is an AXY compaible single board computer, built on a standard Eurocard. The circuitry is wrapped using one of those wiring pens, with combs to keep the wiring tidy. The "roadrunner" system is a wiring pen and set of castellated strips you can buy which is equivalent to the much older system I used. The basic principle is to use enamel coated wire to make the connections, with the solder melting away the enamel at the points of connection. This system has a backplane rather like VME or G-64 bus and is designed to be housed in a standard 3U rack.
Jim Thomson's AXY system is constructed on two Eurocard size pieces of stripboard and will be mounted in a nice aluminium briefcase. We have yet to take photos of this system, but it we do plan to include them soon.
Andy Clarke's VectorFlex is another AXY implementation, and he's currently in the process of setting up his website, www.vectorflex.com. Andy's volunteered to get the AXY schematics tidied up and ready to include on the webpages.
What software currently exists?
I have a small command line interpreter, which runs on
a number of my homebrew systems, known as R-SYS (rudimentary system). This
is written in C, and is intended to be used as the first simple OS for
machines. It resides entirely in ROM and has no file system, but has a
very simple serial download, which can be used to download files from within
a terminal emulator, such as tip or hyperterminal. Basic functions include
memory dumping and peek and poke functions. A multi-tasking OS is being
designed, and will be written in 6502 assembly language. We are planning
file system support for simple Flash devices such as the 29F010, as well
as EEPROM based file system solutions. I also have an 8Mb Disk on Chip
(DOC), which may find its way into the scheme of things.
R-SYS for AXY will be available for download soon, as a ROM binary image. This can be burned into an EPROM or EEPROM to run on real AXY compliant hardware, or used with Jsim.
What else is planned for the AXY platform?
The idea is to add hardware as we go. I have a lot of
interesting chips that MAXIM kindly sent me about 10 years ago when I was
a student. These include A/D, D/A and data aquisition devices. Andy and
I are planning to put gameboy sockets on our machines to enable reading
(and writing) of cartridges. I also have a tube of TI TMS320C25's. These
may find their way into the project at some stage as attached processors
for data aquisition. Jim's planning to add an AT keyboard interface and
some sort of LCD display. Longer term, we are planning PPP, ethernet and
TCP and perhaps a simple http web server. You can have a lot of fun, even
with such a limited CPU as the 6502, if you are happy with command line
interfaces. These 8-bit systems are pretty easy to put together, don't
take too much time to build and can be made to work without access to sophisticated
test equipment such as digital storage oscilloscopes and logic analysers.