Home page : Régis CATTENOZ

My experience in computers and electronics

This page provides some sgnificant point on my personal experience in the use of computer world.
Some of this stuff gives some clue about having fun with computers.

As far as I can remember, I discover computer existence around 1981. At that time, I was about 15 and has no particular interest in computer. But computer soon became a significant hobby. Moreover, it appears to be a good opportunity to get a good job.
Most of my leisure time is spent for technical fun with computers and electronics. This hobby added to enginneer school and my job experience brings me to good (or not so bad) level of technical mastering of computers and electronics stuff.


Began to use programmable calculator

1981 : Buy an Apple ][

Welcome to computer world !

Apple ][ I/O board

(1 output using a simple D flip-flop). My first digital circuit.

Logic simulator in Basic applesoft

Used to reverse enginneer the video generation schematics of the Apple ][. (Not yet vhdl compatible but I was a beginner).

Paddles for Apple

Connect 2 potentiometers to the analog input of Apple. Reuse the packaging of a old TV set video game. Several games on your Apple ][ require it, and the commercial ones are very expensive.

Joystick for Apple

Paddle are OK but a 2D device is better. Use a standard mecanical part for the 2 axis input device. make the packaging myself. A requirement is to support a one meter drop on the floor (and it has been met several times). A sandow autocentering system has been added latter (new requirement to be abble to play boulderdash game).

digital I/O board for Apple

Connect a 6522 VIA part the the apple backplane (provides I/O, timer and interrupt). Used as a gateways between Apple slots and the other circuits I will build later.

Dynamic ram Apple ][ extension

My first PCB using photographic UV insolation. This project was much too ambitious for me regarding my technical capabilities. Refresh always failed to work reliably. It would need today some improved ground plane, better bypass capacitor and a higher resolution PCB copper (not yet at a PCB class 5 level in my garage). But I no longer needs such a extension board on my pentium class machine. I think the PCB is still into one of my drawers.

Maze generation software with 3D graphical exploration

Coded in Apple ][ basic (Applesoft Basic). It provides an "eyes of the beholder" like moves with a black and white wire (removing hidden wall) display.

Sharp PC 1500 bought

This is a basic pocket computer (includes 1850 bytes of ram, will be upgraded soon with a 16K bytes extension, a 4 pens color plotter and audio tape save unit).

PC 1500 Text editor

Writen in machine language for Sharp PC 1500. (This machine uses a LH5801, a Z80 like CPU). This can coexist with Basic program in the machine (the memory management is interesting).

PC1500 interface with an Apple ][

Use the I/O board for the Apple ][ and an I/O board for the PC1500. This interface is used to archive the PC1500 software on Apple Floppy. The audio tape saving of PC1500 was much too slow for me. The hardest job in this project was to find a sub-miniature connector compatible with the PC1500 (Thanks again to somebody that provides it to me).

Telex conversion to Apple printer

An old recycled telex (teletype) is connected to my I/O board of the Apple ][. A simple software allows to print on it (need to convert the ascii to the most close caracter, no difference between a I and a 1 for instance). Play with the hole puncher paper tape associated with the telex. I though to use it as a backup device, but it was already an obsolte technology.

Eprom emulator

Put an Apple ][ and a few TTL parts on a board and at the end of a DIL connector, you've got a E2prom in which the data may be changed under control of the Apple ][. The concept seems very interesting for me. I had never heard about it before, but soon several professional product (almost the same idea as mine) appears on the market (ever feel to be copied ?).

Eprom burner

Connected to digital I/O interface of the Apple ][. Not a complicated stuff, but anyway I destroy one EProm before I understand the Power supply I borrow to my father (assume to be a properly regulated one) generated glitch up to 35 Volts when it sustain mechanical shock (bad news is EProm Vpp require 21V +/- 10%). Conclusion : never trust the specification somebody gives when you borrow a power supply.

Use AJ860 text printer to print graphical poster

Software to dump a graphic image on a text printer. This gives great poster to cover the walls. (note : nowadays you can get a better quality with any laser printer, but once upon a time, it was not available).

New video prom for Apple ][

The video font is OK of a basic a basic Apple ][. But I prefer to put good looking touch on my Apple screen. The font are stored in an prom. I read it, understand how the font is encoded, generate the new one, test with the prom emulator. Ok it is done.

New video prom for Golem

A apple ][ compatible clone. They didn't even care too get a compatible storage of character in the prom. I need to reverse again the character encoding. I do it again using the magic prom emulator. The fun story is that this has been done with a single golem computer using a scrambled display when dynamically changing the prom info.

Apple ][ Trackpad

This is a track-ball input device for my Apple ][. Designed as a device compatible with the standard mouse. The mechanical part is fun, build with a billiard ball as a basis, precision mechanical part such as ball bearings, lego toys part as the holding frame. Low level electronic includes a optical incremental coder (optical sensor rebuild from unpacked transistor). The control board is based upon a Z80, interfaced with the Apple (software compatible with standard mouse board). The 6502 software fill a 2KB prom paginated as 256 bytes (interpage jump is touchy). The Z80 track the input device moves and report to the computer. The Z80 code as been assembled by hand using the Z80 instruction table, no compiler available ;-).

Clone the Apple Super-Serial board

I do it myself for cost reduction constraint, just a copy of the standard one with a mix of rerouted PCB and wire soldering..

Data communication using recycled modem

Minitel compatible modem connected to the Apple ][ (no hayes compatible, you have to dial by hand ;-)

PAL burner

The first programmable logic available, I just need to burn it at home, very usefull for home design. The most difficult was to get the programming algorithm from pal manafacturer (and to find sample components).


A plotter made from scratch. The structure is base on a tube (sticky tape for the sheet on it). The tube turn under control of a step motor. The pen is translate with another step motor. The pen is engaged or remove with an electromagnet (coilled by hand). Apple software to hardcopy graphical image.

68000 system

This is a major technical milestone. I have completly designed a complete micro-computer system, using 68000 microprocessor, static ram, E2prom, a wrapped backplane, ... I developped a basic monitor/debugged, including a dissambler. The developement tools are a cross development assembler on the Apple ][.

Recycling a wang computer

RPM meter for my car

No RPM meter for my car, I want one, so do it yourself ... The result is connected to the ignition circuit, and the led bargraph is perfectly integrated into the car console. Ambiant light is mesured to correct for led intensity.

Billard point counter with sensitive keys

7 segments leds digital display. Experiment an pretty way to have sensitive keys (using capacity property) with very cost effective approach. A wood package is build on purpose (materail reused). The leds optical filter uses a recycled candy packaging ;-). The result works OK.

Pi Calculation (=3.14159...)

Apply some series developpement of Arctg to estimate the Pi constant. Involve multiprecision arithmetic, theorical majoration of error. Coded in 6502 assembly language on my Apple ][. First run by the end of 1986. It tooks about 30 hours of CPU time to get 10000 digits. I later port this algorithm in C, it tooks only a few minutes to get the same result on modern workstation or Pentium class machine.
I also get e = 2.71828 ..., much easier for the math part.

Windscreen wiper automatic sequencer

Another car embedded electronics. No high tech features, just on more working design.

First PC compatible bought

An amstrad PC 1512 (8086 512KBytes, 1 floppy,  .... to be upgraded with 30 MB Hard disk, a Nec V20 processor, ...)

FFT software

Coded in pascal, classic implementation of fast Fourier transform, may be with some personnal touch. Good looking graphical interface for result drawing/plotting.

Text file compression software

Compression of text file using basic technique of dictionnary and repetition removal. Not intended to actually compress data, but great for tutorial purpose on pascal coding (lots of link list, trees, ...).

GPIB oscilloscope and plotter control with a PC

Develop software to control a GPIB bus and automatise a mesure bench. Do it in Basic only because pascal driver for the GPIB card was missing (and no time to develop mine). No major technical challenge unless the fact it use basic (try to get a clean structured code !). This was a school project.

Electrotechnical computer

68008, PCB backplane, source level code debugger (assembler) using a PC as a debug station accross a serial link, electrotech I/O using PWM output (for motor control electromagnetic coils, ...). 7 PCB build, C software on a PC side for debugger user interface, Pascal software for cross-development tool. Project involving a 7 student team (3 or 4 of them actively working on it). Work perfectly except for a minor bug the day of the demo (school project).
Also though about the basis of a multitask, real time operating system for it (time slicing (with improved priority management), process synchronisation, ...), this OS stay at the theorical stage, and was not put to live on the hardware.

PC keyboard macro add-on

Intel interrupt management on PC. First system developpement in PC world. keyboard macro are programmed dynamicaly. Memory allocation in a static memory array.

Dynamic function compiler (library used for a function plotter software)

Audio bandwidth transposer

Op amp, digital counters, ... Derivated from a school ADC/DAC pratical work. No comment.

Marcel, the hovercraft

Light blaster, 1 second and you are blind

S-record file convertor

Available for free download (provided as is).

Unix to Dos text file convertor

Available for free download (provided as is).

Bull Micral 60 bought

A 286 computer, get it at a low cost (never trust bull quality, it is lower than for a taiwan system).

New generation of E2prom emulator

Interface with a PC  parallel port, 32KB * 16 bits extendable if needed to larger size.

Matrix printer 24 pin reverse engineered


Interrupt based Serial port management

OS9 MMU-less OS protection hacking

Ever heard about the system administrator that changed the root password one day ago and did not remember it. Don't laught I have seen this :-(. So I need to do something to repair his stupid loss.

Small games coding (Mastermind, Othello/reversi or Go graphical user interface)

just a few line of code (not worth to go further on it)

PC to minitel world communication

PC C software to exchange text file to a minitel server in charge of achieving text translation. Go to a high level a user interface, including text mode windowing, text editor function, ...

386SX20 bought

Object oriented basic

A graphical object editor (much basic one) too discovered the object oriented concept in Turbo pascal world.
Also test some simple test on C++, using mathematical vector for concept support (2D/3D vector, operator such as scalar and vectorial product, ...)

OO assembler, First serious Object Oriented development

Really the object oriented approch pushed to its maximum (according to what I know on the subject at this time). The goal is not to get a performant assembler, but to see how Object may be usefull on a sample project. The assembler is monopass (oppose to classical 2 passes approach). Lexical analysis is simple (don't even use flex), grammatical analysis is interestingly coupled with the object oriented approach.

Linux discovery

I began to use linux. Think it is realy a good operating system. I will soon consider this as a perfect system for unix concept tutorial (network tools, unix administration, X graphical user interface, ...). It provides anything you need for cross development tools (gcc, ...). Documentations on network adiministration, kernel and tools are worthfull to be read. I still continue to use, study and play with linux machines (A network at home, Great !). Much less bugs than in Horrorsoft product   :-)

DX2-66 bought

Fractal graphic generation (Maldelbrot set)

Stereogram synthesis

You know these strange graphics that provides a spatialy repetitive image with period modulated. Adjust your brain vision on it and you get a 3D image. I build my own mathematical interpretation and generated some of these graphics (just to be sure my math are correct).

Win32 graphical editor

Object oriented graphical symbol editor. Vector graphics, C++, windows user interface, mentor like strokes, selection-copy- move operators, ...Good looking interface, lots of C++ code, ...

Elctronic Microcontrolled Chess Clock (EMC²)

Logic analyser

Hardware to sample digital signal. interface to PC with serial link. Windows user interface.(ever dream of getting a logic analyser at home, I did it). A friend of mine bet I will not be able to complete this by the end of the year. The acceptance test occurs in the night of December 31th. The schedule was extremely tight, but this worked on time.

Car thief protection device

Use a ST micro-controller (ST62 serie) as the heart of the system. It is in charge of preventing the car start up unless you enter the right key-code ! Use serial E2prom to store code, allow code change, delay in case of wrong key sequence (to prevent random try), code to desactivate the lock if you want to leave your car to somebody else (without giving any code). Very low power requirement. Randomly flashing led. Dual electric start up prevention (the same class as professional stuff, often less safe than my product). First prototype operational since 3/97, still no problem with it, hoping not to have to steal my own car in case of failure.
Note : It takes about 80Kbyte of assembler sources, no debugger/simulator available at all. (I made a C/C++ prototype for user interface validation).
Opps, my car has just been stolen on may 99. Good thieves or bad design ? Anyway, I can still be happy, more that 2 years of proper function without any failure. The only prototype is now missing in action.

FAT restoration test

Ever try to put a JAZ cartridge used on your PC into the JAZ unit of a macintoch ? I did, and the f.. macintoch put his JAZ driver on the start of the disk an then ask me for a formatting because it can't read anything. (it never asked me before writing his stuff). Result : the first FAT has been overwrited, and the disk is not readable anymore by my PC. After investigation, I succesfully recover all the usefull data on the JAZ.

Java port of GUI stuff

Just port my previously developped Win32 graphical editor (just to get in touch with the java GUI technology). Remember, Java is the future ! Stay in touch with sun stuff.


Analog front end using Motorola sensor, signal conditioning (OPamp Bessel filtering, gain adjust, ...), check to work.
May be a future IP block of car of aircraft recording blackbox. (one of the next project on the todo list).

... and many other project that are not supposed or not worth to be exposed publicly here !

Note that this list includes only my personal project (hobby), that are not related at all with my professional full time job.

n° Visite : 

Home page : Régis CATTENOZ