The first project: Clonix 41

User's manual
You MUST read this. Really.

HEPAX (ROM-only)
An .HEX file for you to play with HEPAX features.

Forth-41 ROM
An .HEX file for you to play with
Forth-41 in CV machines (No, I don't have a manual)

CX-Forth.ZIP Archives that contains two files with a modified Forth-41 rearranged to run into CX machines. The .HEX file is for direct burning into Clonix while .MOD is for v41 emulator or MLDL2000.

Service Modules
These are .HEX files to emulate ET-11966 and 5061-7221 service modules. Please note they drawn current from batteries in a continuous way!.

Complete Doc's set
The whole set including source codes and electrical diagrams.

New ClonixLP
Low Power version for Clonix-41. 

*Coming soon*
*Very soon*

Boy meets girl...

This project started as an attempt to gain access to those HP-41 Rom Pacs wich I cannot afford. I must confess myself a very poor FOCAL programmer as well as an absolute ignorant of M-code by the time I decided to begin this adventure.

It was March '03 when I first seeked eBay for HP-41 related items and, simultaneously, started to download everything from Warren Furlow's site, I read hundreds of pages of PPC Journal for months to realize soon afterwards that most of the Pacs I was interested in were too expensive and had rised collector prices in the range of the hundred$... Too bad.

PPC ROM, CCD, Data Acq, and the like called my attention and also did HEPAX, ZENROM, David Assm. as I started to understand what a powerful tool M-code could be.

First I had to get full knowledge on the HP-41 interface, so I decided to build an MLDL according to the diagrams published in PPC Journal V9N3 by Linn A. Wilkins. I did it on a pair of bread-boards joined by several dozens of flying wires, quite awful to the sigth but it worked fine after all. I was July '03

Then I began some mods, mainly to overcome the necesity of using an 8L + 2U EPROM pair to hold a module image, substituting them by a single EPROM chip. After that I had gained enough control over the HP-41 I/O bus to handle it at will.

Next step was crucial, I had to find a way to put all that mess inside a standard module housing. It was obvious that it cannot be a hardware implementation, so I needed to replicate (clone) all those functions into a microcontroller. Fortunatelly, John Ioannidis had already done that first step some time before using a Microchip's 18C252 UV erasable microcontroller.

This method had several drawbacks: on one hand the device itself was too big to fit inside a module case and, on the other hand, an ultraviolet eraser was required everytime a re-programming was intended and, last but not least, the whole thing was "extremely" hungry, eating some 50mA from HP-41's batteries... cotinuously!!

Late on '02 a new Flash version of said 18C252 had been released, namely the 18F252 and, even better, a low voltage version, 18LF252, was also avavilable by mid fall '03. I asked for some samples and built a simple serial programmer suitable to use with IC-Prog. After some weeks I got Ioannidis' code and got the whole thing working by Sept '03. Main issue by these days was finding module well, it still is indeed!

Then re-coding PIC software to handle the three different HP-41 power status took most of my time, finally I manage to cope with that. By those days PIC code was *huge* and remaining memory allows just five pages to fit into Clonix's ROM. Then I asked a friend in Florida to seek for the required 18LF252 SOIC, not available in the Canary Islands, he did a perfect job and I got the chips soon afterwards. Another friend build the PCB's at Las Palmas University Laboratory. Not quite high standard PCB'c but the circuit itself was really very simple and PCB specs were fairly easy to meet.

Dec 15th '03 was the date, I placed an ad at MoHPC to sell my first Clonix 41 module and *suprisingly* (at least I was surprised) several offers were placed, and the unit finally goes to the winner.

After that I keep on refining the PIC code, re-writting most routines, and scrunching every single line trying to fit all required functions into a 2Kbyte block, thus allowing 6 pages to be comfortably installed into the ramaining 30K. By this time most of the original Iohannidis' code had been replaced, but I