Eddie's Micro page.
Some recent micro projects can be found on my projects page

MINI-SCAMP - 1978
This is a photo of my first computer.

I built this Mini-Scamp microcomputer in 1976 (I think). It was a Dick Smith Electronics (DSE) kit from the days when Dick Smith actually owned and ran Dick Smith electronics. The design was published in "Electronics Australia" (EA). It was based on the SC/MP CPU from National Semiconductors. It boasted a massive 256 bytes of RAM (yes Bytes not Kbytes) - this was 4 times more than the earlier model. It had no ROM or EEPROM of any kind. The complete user inferface is visible in the photo above. Binary code was entered into the RAM by dialing up the data byte and address in binary using toggle switches. Pressing the deposit button stored the byte in memory. The LEDs showed the current contents of the memory location. After the program was enter in this manner one of the switches on the right was flipped from DMA to run mode and the micro executed the code (the other switch was power). The micro could display bytes on the LEDs and read bytes from the data switches - the request LED was there to signal the user to enter a byte and press deposit. No problem with Y2K bugs, viruses or hackers here.
I almost built a EDUC-8 - a computer that didn't use a micro-processor, you built the processor out of logic chips. There are still people around who get a kick out of this sort of thing - and amateurs who design and build there own processors as I hope to discuss later in this page.
I did not manage to do much with the SCMP, it played a few tunes out of the speaker I added and it flashed random numbers on it's LED display - but it was a good start into the world of micro-computers.....

The 2650 - 1979

After the SCMP came the sygnetics 2650. I stayed with this processor for many years and many generations of hardware. My first 2650 was another kit probably EA and DSE as above. From memory it had up to 7K of RAM and 1 K of rom. It ran from a 110 baud serial key board, talked to a 110 baud serial video terminal unit (VDU) and could load and save programs onto a cassette again at 110 baud. Compared to the SCMP this was heaven. The keyboard VDU and cassette were all kit built and I used a large valve TV for the display.
Then it started to grow. The EA cpu card was replaced by a KT9500 card and then by an S100 based card.
The serial VDU was replace with a memory mapped VDU (that could do chunky graphics). The cassette system was replace by a homebrew "non return to zero" (NRZ) interface and a homebrew tape file format. The NRZ interface used software driven phase encoding (aka Manchester encoding). Western digitial released a single chip floppy disk controller (wd-1770??) and a (now) friend of mine Mike Van Emmerik and a friend of his (Ron Harris) designed a floppy disk inferface and a DOS for the 2650. I wire wrapped a controller borrowed money off my mother to buy a drive (around $600 for a 100K floppy drive) and out went the tape. The floppy controller was single denisty (for those who still know what that means). Around 1982 WD released a double density controller (3 chip set), now it was my turn to design a controller card - and this was it.

Double density, 8 and 5 inch floppy disk controller with EPROM programmer and real time clock. - 1982

I had you do some major work on the DOS to get it to work with this card. The CPU only ran at 1 megaherz and wasn't fast enough to pole the controller as it did previously this was because of the higher transfer rates for double density and/or 8 inch drives. There were other problems as well while formating the longer tracks.
My first printer was a baudot printer. The type the post office used for sending telegrams. It weighed slightly less than I did and the whole house shook we it printed. Baudot code was a 5 bit code send at 50 baud - it would print around 5 cps. I had a number of printers over the years including a Burrows Teller terminal I hacked into.

One of the programs I wrote when I first got a VDU that could do crude graphics was a game I called UFO - very crude - it was around 1979. Anyhow I got this email a few months back...

Reply-To: "Andrew Davie" <adavie@mad.scientist.com>
From: "Andrew Davie" <adavie@mad.scientist.com>
To: <eddiema@ozemail.com.au>
Subject: 2650 UFO Date: Wed, 11 Mar 1998 22:29:05 +1100

"...every few seconds a UFO will traverse the screen, on the base line is drawn the lid of a missile silo" I have a listing in front of me, circa 1979 and written by E.Matejowsky. I'm figuring thats you, and thought you'd get a kick out of learning someone nearly 20 years later is casually browsing through the listing. Cheers A

I'm a collector of old computers - anything homebrew or early home and game computers (not IBM!!) and this is one of the ways I build up contacts and track down old machines, programs and documentation. This listing was saved from the dumpster some number of years ago by an electronics guy, and when he decided to sell his old computer (to me!!), I asked if there was anything of this sort he would like to send to a good home. Having found the listing I thought it would be both fun and possibly productive attempting to find the original authors of some of these programs. I'm persistant like that ;) So, a few net searches (just a couple of minutes actually - I wish I could make it sound more sherlock-holmesish but it was simple) and I found you :)

Of course, your name wasn't that hard to track down - but I've also found some of the other authors of these programs, too. The reactions have been fun, including "well bugger me dead!!"

Cheers A

Until 1982 virtually all the programming I did was in assembler. I got interested in a language called FORTH after spending some time on Great Keppel Island with Peter Milford and his friends who were forth fanatics. Later I was given a FORTH compiler for the 2650 by a friend -the late Dr Dan Hamilton and slowly got to understand this odd language. Around this time I resigned from my job in the photographic industry and tried to make a living amongst other things by fixed video games, unfortunately I didn't see the money for much of what I did and needed to find something else.
Another friend, Ed Hancock suggested I design a boat alarm and I did so. I figured the 2650 was too expensive @ $25 each and instead used a 6502 @ $5. I wrote a conventional 2 pass 6502 cross assembler in 2650 forth and programmed the 2K eproms for the alarm in the card show above. Needless to say it flopped we sold a grand total of one. We called the system Compu-guard. Around this time I met a guy named Terry Ryan who was Oz inventor of the year for his prop-scan propellor pitch measuring device. I wrote some code for him for a navy contract he had (sort of). He had a dream of setting up an innovations centre on the Gold Coast. This would have been great but Dan found me a job at the University of Queensland and I didn't get involved with the proposed centre.

U.Q. - 1984 to 1992

My job at UQ was in a neuro-science lab doing electronic bits and bobs. The processor I mainly used there was the 6511Q - a 6502 based micro controller from rockwell. Rockwell had a Forth for the 6511Q which I used. The black boxes were usually stimulus generators and data loggers of one sort or another. The experimental subjects were animals - from bats that could hear 200 kHz to platypus that could detect weak electrical gradients in water.
Here's a C.V. extract written in 1992.

- 1984 Appointed at PHYSIOLOGY and PHARMACOLOGY to work for Prof. Jack Pettigrew funded by a NHMRC grant. Designed and built sound sequencer and neural spike logger, interface them to I.B.M. PC. The above was programmed in assembler and the PC programmed in BASIC.

- 1985 Designed and built a transient recorder, 4K ROM, 32K RAM 50KHz sample rate. Simulated pre-trigger, programmed in assembler. Interfaced to I.B.M. PC, the PC was programmed in Pascal. Designed and built Avi-phone prototypes one and two. The latter using a 6511Q micro-processor to implement digital delay lines.

- 1986 Built a NEC 7220 based graphics display controller which was used to write a P.C.B. CAD system for the apple 2 (written in Pascal). Built stepper motor controller. Hoop position monitor. Digital sound generator for generating stereo with good phase characteristics

- 1987 Ported CAD to IBM. Built 6511Q based Forth system use for all future 6511Q based projects. Designed and built digital signal averager which uses C.R.O. in X-Y mode to display menus, text and graphics. Sample rates to 100KHz. This averager featured a nice user interface. The averager was programmed in Forth and included major portions of Forth assembler.

- 1988 Built an acoustic masking analyser for psyco-physical hearing measurement. I designed and built both electronics hardware for visually displaying reaction times for vision touch and hearing. This was used for our display for Univations at EXPO-88. I also made a system for measuring micro-electrode impedance.

- 1989 Moved to new premises as the Vision, Touch and Hearing centre was set up. Designed a digital servo system using optical shaft encoders and a software implementation of the servo loops. Shaft encoder output can be up to 25KHz will servo routine running at 1KHz. The above system was used to build a controller for the hoop in the anechoic room and also to control a vestibular platform. I wrote a simulator and Forth compiler for the RTX-2000 Forth engine.

- 1989 Wrote a cross-assembler , forth cross-compiler and native forth compiler for the transputer.

- 1990 Photo-Refractor controller, Servo systems for a tunnel to test how bats judge when to fold their wings to fly through an opening. This was done by flying them through a 6 metre tunnel which was fitted with infrared trip beams every 10 cm ( 56 beams plus some tunnel without i.r.) to sense position and speed of the bat. A transputer based card running my own forth compiler was used to calculate the desired window position every millisecond based on the bat's position and speed in order to give the illusion that the end of the tunnel was closer than it really was. The position commands were sent via the transputers 10 megabit/sec serial link to a servo system similar to the one in the anechoic chamber.

- 1991 I'm currently working on two main projects one using the transputer to generate complex waveforms to play digital sound at 250 khz sample rate. This is the first project that used GALS. The other involves testing platypus electro-reception by digitizing the electrical signatures of it's prey and replaying them through one of sixteen pairs of electrodes (in water) at difference voltage levels (volts to microvolts). I've also put object oriented extensions and floating point support into my transputer forth compiler and worked out a network protocol for hooking transputers to pc's. Designed and built an audio variometer. This is a device used by glider pilots to measure rates of climb and decent by differentiating air pressure using a solid-state pressure transducer. It can detect altitude changes of 10 cm/sec or so and produces visible and auditory feedback to the pilot (me).

- 1992 I'm working on a new variometer which is based on a 68hc11 single chip micro-controller. This vario has airspeed sensing as well as altitude sensing. The 68hc11 does the altitude differentiation, digital filtering, speed compensation, keyboard scanning, display driving and hopefully can do speed to fly calculations.

Some how the Amiga didn't get a mention. The Amiga should have been a force to be reckoned with but somehow the market forces choose inferior machines to become the standard - I'd say the same about operating systems. One of the nice things about the amiga was a program called sculpt-3d - simple 3d modeling package I had a lot of fun with it. The transputer was another good idea that fizzled. The transputer had on board hardware to making linking it into large arrays easy but I think the high price prevented it being widely used and supported. I teamed up with Dave Keenan to make a transputer system. He did the PCB design an I wrote a version of forth for it.

QUT, school of optometry/Centre for Eye Research.
1992-present.

My job at QUT is similar to that at UQ. I design and built electronic equipment for a number of research units and kept the place running electronics wise. For me this has been the era of the 68HC11. While I did look at other micros and put together a 68HC16 system and more recently some Atmel AT90s1200 stuff. Mostly the HC11 has been the workhorse I've used for almost everything. I won't attempt to keep everything in exact chronological order because some project are ongoing and have been modified many times.

Some things I've done at QUT

- The opthalmatron (David Atchison) - The is an antique piece of equipment for measuring the power of a human lens. The opthalmatron was modified by my predecessor to do continuous recording instead of a single shot mode. The opthalmatron needed much attention to keep it alive long enough to complete a series of experiments it was used for.

- LED Controller (Andrew Carkeet). A HC11 based device for flashing two LEDs with a user downloaded wave shape (usually a Gaussian). The time delay between to two flashes was accurately controlled.

- Chart recorder replacement. (Chris Wildsoet). A HC16 based signal generator, and data logger which interfaced with and eye-tracker. This is used in prac classes. The device has a graphical LCD running a simple GUI I wrote. The data which was logged could be printed out on a cheap dot matrix printer.

- Eye tracker (Chris Wildsoet). A replacement for a dead eye tracking unit. This uses a IR LED flashing at 3Khz (I think) and a pair of IR detectors plus associated filters and amplifiers to detect the direction of gaze of a human eyeball by detecting the reflected light off the iris.

- Stretcher (Chris Wildsoet). A HC11 based controller which stretched a piece of tissue using a stepper motor screw drive and measured and logged the tension at each step using an FT-03 force transducer.

- Eye track ( David Atchison). I interfaced a commercial eye tracker to a PC and also interface the PC to an auto-refractor. PC software was in turbo-vision.

- Traffic Light simulator (David Atchison). A HC11 based controller which simulated traffic lights measured subject re-action times to different colors and brightness. This was done by building two small filter turrets and back lighting them with HC11 controller lamps. PC software was in turbo-vision.

- Interferometer (David Atchison). A HC11 based controller to automate stimulus presentation on a interferometer. This allowed a number of visual acuity tasks and contrast sensitivity task to be performed. We were trying to match these tasks with similar ones based on a VSG (see below). PC software was in Delphi.

- VSG (David Atchison). The VSG (visual stimulus generator) is a PC based card for generating gratings and other visual stimulus and a monitor. PC software was in Delphi.

- Car timer. (Joanne Wood) A laptop PC based re-action timer for test drivers on a test track. The PC turns on one of 5 possible lamps when the researcher pushed a button and then measures the time taken for the driver to press the brake pedal.

- Light house (Joanne Wood). A HC11 based controller which controlled the speed of a rotating mirror and also fired and electric shutter. This is for testing dynamic visual acuity by projecting moving image on a screen. That is - to test a persons ability to identify moving targets.

- Merry-go-round. (Katrina Scmid). A HC11 controlled optokinetic drum. That is a drum which rotated in a particular manner and is stripped on the inside. Something to make chickens dizzy.

- Stereo Acuity tester. (Michael Collins) A HC11 based controller to move some pins under PC control. This is to test depth perception. PC software was in Delphi.

- Video Attenuator (Neal Strang) - a resistive attenuator for mixing RGB video outputs into a high resolution monochrome signal.

- UV dose meter (Tom). A HC11 based UV dose meter which has two parts to it. One was a matchbox sized unit which was worn like a badge. This was experimentally worn by professional arc welders. It measures UV dose, total arc time and the number of arc strikes. The second part plugged into the first and had a LCD display and switches for reading out the dose measurement and resetting the device.

- Double flash apparatus (Brain Brown). A HC11 based controller for presenting accurately time pulses and pairs of pulse from a LED. It also rotates a stepper mounted neutral density wheel.

- Stiles-Crawford apparatus (David Atchison) A HC11 based controller for measuring the Stile-Crawford effect for images projected into different parts of the eye. The optical set up in quite complicated. The controller moves a stepper driven xy stage and controls a pair of LEDs - one of these LEDs can be varied in brightness over a range of 10,000 to 1. PC software was in Delphi.

- Vernier Alignment apparatus (David Atchison) A HC11 based controller for measuring vernier alignment for images projected into different parts of the eye. It controls the same xy stage as the Stiles-Crawford setup plus it lets the subject align a spot on a CRO with a fixed target be using a joystick. PC software was in Delphi.

This is one of the many printed circuit boards (PCBs) that I've designed and built over the years. I guess I've done over one hundred by now but not all as complicated as this one (but some more so). Many of my PCBs use microcontrollers. In recent years I've mainly used the M68HC11 Microcontroller but before that it was the 6511Q and before that the 6502 (a microprocessor not a microcontroller). In future I might use the 68HC12.

The image above is a screen shot from the PCB design program (protel). The red lines represent the tracks on the top side of the board and the blue ones represent the bottom ones. The gray dots are pads.

The above image is a scan of an actual PCB. This particular PCB is based on the M68HC16 Microcontroller which is the square chip slightly to the left. To the left of that is a serial interface to a PC and to the right is a RAM chip and a flash rom chip. The components in the bottom right corner are the switched mode power supply. The components which have been omitted (empty holes) are for an interface to a graphical LCD.

This is my lastest PCB (dec-1997). It's a 68hc11 based PCB that interfaces to a PC via an rs-232 serial line and controls one or two stepper motors, up to four lights, senses up five limit switches and it has other spare inputs and outputs for future expansion. While intended as a general purpose card it's current application is a part of a stereo vision testing device. The hc11 is programmed in forth-assembler and the PC in delphi.

If you not sick of looking at PCBs I've got some work stuff here.
If you want to see some of the software I've been working on look here.

F21V1.PCB is a pcb I designed for Jeff Fox of ultra forth.
http://www.dnai.com/~jfox/forth.html
http://www.dnai.com/~jfox/f21.html
http://www.dnai.com/~jfox/misc.html#chips
M68HC16 Microcontrollers.
Great Microprocessors of the Past and Present

Hits since 14/dec/97 =

Back to Eddie's home page