Meindert's HP41C pages






Without doubt (for me that is ..) the HP41 is the best calculator that has ever been created. My main piece of work is the MLDL2000, for which all information is found in the MLDL2000 section of this website, which is actually this page .....

Items For Sale

MLDL2000 DOWNLOADS and Technical tips for users


MLDL2000 Protoype pictures can be found here!

Dec 20, 2010

Also found some time this weekend to finish the update of the software manual of M2kM, as usual found here

Nov 27, 2010

An important update for current MLDL users has been uploaded here. This is my (early) Christmas gift, and all MLDL2000 users now get a free upgrade to increase their MLDL's SRAM memory capacity for 64 ROM images to 127 or 256!
For this to work, you must upgrade both the M2kM application AND the firmware to version 1.70. Please follow the instructions in the README.TXT file carefully.

Sep 26, 2010

After having finished the design of the MLDL2000 V2 and about to request quotes from assemblers I was pointed to the website, and this is really a great product. I have made the decision to add it to the MLDL2000, instead of specialized SD card controller. The MBED controller will be able to support SD cards, and a lot more, including ethernet connectivity, serial ports and user application programming. It actually gives you a complete ARM Cortex to play with, complete with development tools, libraries and a user community online.

The only disadvantages are its somewhat higher price, and the size. Due to this size I have to redo the layout of the MLDL2000 from scratch, but it will be worth it. Imaging controlling an ethernet port from your HP41 (yes, there will be an RJ45 port on the MLDL2000 V2)!

Jul 4, 2010

I have worked out the hardware redesign and most of the preliminary layout, and will have a meeting with the assembler soon, I hope to have a quote before the holidays. currently the MLDL2000 V2 will be a (appr) 60 * 110 cm PCB. I have selected a transparant blue housing that is external to the HP41. It connectes with a cable to the HP41, and for that an old module with connector is needed. If you want an MLDL2000 V2, do not throw away your old modules! The new MLDL will come with a small additional piggyback PCB that has a few LEDs (visible through the transparant housing) and digital I/O signals. These LEDs and I/Os can be controlled from mcode! Instead of the I/O piggyback a microSD card controller may be piggybacked. This is a standard product that comes seperately or can be purchased by the user (see
As a background project, I have decided to create support for the MLDL2000 on operating systems other than Windows (Linux and OSX) and I am therefore switching from my trusted Delphi to Lazarus. During the porting I am meeting some challenges, but this is now priority before adding any more features to M2kM. In a test version I can import MOD and HEPAX RAM files mailed from i41CX (but that is still in Delhpi). Lazarus has compliers for various operating systems, and thus M2kM can become a real cross-platform application.

Apr 10, 2010

I finally found some time during the Easter weekend to work on my breadboard version of the MLDL2000V2, and I now have the last bits of design figured out. I have worked out most of the schematics and have started working on the layout. I hope to be in a position to request quotes for the PCB and assembly within a few weeks, and may need to do some changes based on the input of the assembler. Anyone who is interested in obtaining the MLDL2000 should contact me, so I can have an idea of quantities, as that is important for the quote. Technical details will follow when I have the feedback from the assembler (this may influence the choice of some of the components).

Feb 10, 2010

New beta version of M2kM published. Only the disassembler is changed, and will now allow disassembly in SDK41 format and syntax for re-assembly with SDK41. Also fixed various issues with type 0 mnemonics. This is still a BETA issue, please give me your feedback! Download here.

Jan 10, 2010

Beta version of M2kM published. Only the disassembler is changed, with many improvements, download here.
Note that this is a BETA release, I still need to implement full SDK41 disassembly (for direct re-assembly with SDK41). Please give me your feedback! The software is tested on Windows 7 and Windows XP.

Jan 1, 2010

Happy New Year to all!

Not much progress yet, but I have been cleaning up my attic, and came across some old magazines that I want to find a good place for, so have a look at my new For Sale page!

Nov 3, 2009

It has been a long time since my last update about the MLDL2000. It does not mean that I have not been busy, but unfortunately not with the MLDL2000. There has been some progres however:

  • Most important, the hardware design is done, expect for one small item, and I have done some trial layouts

  • Unfortunately the layout trials did not go very well. Due to the increased complexity I cannot manage to make a reliable design that fits in a cardreader. Added to that is the issue how to access the SD (micro) card in the cardreader, for which I could not find a good solution. Therefore the new MLDL2000 will be based on on a single PCB, that has to be mounted in an external housing. The good news is that the costs will be considerably lower. I will try to finalize the layout in the next month or so, if my spare time allows. More news to follow
  • I have been updating the specs of the MLDL2000V2, and should be able to publish a first draft within a few weeks
  • Work has been done on the software side as well. A new M2kM will be published with a completely overhauled disassembler, that allows for configurable disassembly listings. This will also take a few more weeks.
  • Finally I have upgraded my old PC and bought a new one. Of course it had to be an HP, this time with Windows 7. It runs really nice, and even the MLDL2000 runs good on it, but remember to download the latest FTDI drivers. No changes appear to be needed.
  • Also I am considering to make a version of M2kM for Linux. If you are interested in this let me know. I need to port the software (written in Delphi) to Lazarus, and I have no idea how much effort that might be. If nobody wnats this, then I will not do this of course.

Dec 30, 2008

My (late) Christmas present to all MLDL2000 users is a new release of the MLDL2000 firmware, software and documentation. Please have a look at this link for all the details. Please backup your MLDL2000 before doing the firmware upgrade and read the REAME files!!
The MLDL2000 V2 has some delay. The part I was planning to use for the SD card controller had far too much power consumption, although it was advertised differently. The low power mode is possible, but had a number of disadvantages, so I had to switch to a different controller. The samples have arrived just before Christmas and I will do some preliminary testing later this week. Have a healthy and good 2009!

Oct 22, 2008

MLDL2000 V2 is coming along nice. The breadboard version is ready, and communication with the SD card controller works surprisingly well. This will be shown at the meeting in Allschwill on November 1st. After the Allschwil meeting I need to do some additional testing for the various power modes to save battery power as much as possible. In the meantime I have started on the PCB design as well to make certain that the new design will fit (and can be routed) on the same size PCB's. If all goes well I should be able to finish the design and layout during the Christmas holidays of 2008 and then get a good idea of the cost of the new unit.
The work on V2 has led to the discovery of a few potential bugs in V1, and I have decided to add some new features there as well, because these had to be done for V2 anyhow. A new firmware release for V1 will be done within a few weeks, along with a new version of the M2kM software (fixing a few bugs) and a new specification. For version 1 the most interesting feature is the ability to send ALPHA output to a window inside M2kM. This is more a demonstration than really useful, but it opens a whole world of new possibilities.

Jun 19, 2008

Now the new version of the manuals are uploaded as well in the downloads section.

May 30, 2008

Finally I have finished the new MLDL2000 Manager. It can be found here. Please check the included readme.txt. The manual will be uploaded later this weekend. Most of the text is finished, I just need to add some of the new screenshots. I think I have tested most of the functions, but be keep looking for anything you do not like or do not expect. Please let me know if you find any bugs or things that should be improved. Sources will be published when this release version proves stable in the field.
With the new software a new firmware version is released. Upgrade your MLDL2000. Please be aware that the bankswitching is changed: the order of ROMS is now more natural, banks 2&3 are swapped. Also the sources are in the download list.
I can now use my time to start some real work on the MLDL2000 V2.

Apr 27, 2008

Uploaded the SDK41 manual here, originally written by Warren Furlow and formatted by Peter Platzer, who also added some examples.
The software for the MLDL2000 is nearly finished. MOD file manipulation is done and backups can be created. Only things to be added are restoring of backups and uploading ROM pages from the MOD file to the MLDL2000.

Apr 5, 2008

Uploaded the HEPAX-MLDL2000 how-to here. The to-do list is removed, since most of the work has been done. I am finishing the software, and will then start redesigning this website.

Mar 28, 2008

I have been working hard on the software side. I want to make a more or less finished version of M2kM before going to the hardware prototyping of the MLDL200 V2. I hope to do a final release within the next few weeks.

Nov 9, 2007

URL and email adress are changing! The new URL is, email is meindert_remove_underscores_at_kuiprs_dot_nl.

Jul 10, 2007

There is now some improvement in M2kM, the user interface is a bit better. Also the JTAG software for firmware updatig is almost done. This was really complicated and is working perfectly, I just want to make some improvements for making it really safe to work with. When that is done there will be a new software release. Right now I have a busines trip, vacation and more business coming up. I expect to do the new release end August. When that is done I will start on V2 of the MLDL2000, adding the USB Host interface. Details of the MLDL2000 V2 will be announced at the HCC Conference in San Diego, see this link. If all goes well I will do a presentation (although I am not physically present) on the extra's in V2. I have booked the weekend in London for the HPCC conference, where I want to do the same presentation, see this link. I hope to see many of my friends there. Have a good summer!

Apr 15, 2007

I have been working on the M2kM software, and released a new version. Apart from fixing one or two minor issues, the big changes are:
- The HP41 Disassembler is now integrated in M2kM ROM/SR Handler. Notre that this only works with a ROM loaded in the ROM tab. The disassembler will work on complete ROMs with a FAT, and will also decode User Code. It is not complete yet, but will work most of the time. The listing is shown in a seperate window, where code can be copied form and pasted in a text editor for saving.
- The contents listing of the MLDL2000 can be downloaded in the Settings Register tab of the ROM/SR Handler by using the "List MLDL" button. In combibation with the view of the HP41 Pages, it is now much easier to manage the Settings Registers. Double clicking a ROM will now automatically add it to the selected Page/Bank. See downloads for getting the file.

Mar 25, 2007

After a long period of relative silence I am finally ready to start working on the MLDL2000 again, so I am now giving a short overview of the status and plans.
The current MLDL2000 design is ore or less stable, and no parts are available anymore. My first priority is to implement some features in the software, the most important being the option to upgrade the firmware. This will fix a few minor issues and will allow me to work on a number of aditional features that can be easily implemented by the user (see the To Do list!)
Based on the current waiting list I have decided to do some more production. After the very good meeting and dicsussions we had in Allschwil last year I started thinking and came to the conclusion that it would be possible to add (at least) one great feature. This would require a hardware change however. Therefore I will do a redesign of the MLDL2000, that will be called MLDL2000V2. If there are better suggestions for a name let me know.
The MLDL2000V2 will have the following additional features:
- Redesign of all 3 PCB's to fix a number of design isssues
- USB Interface will be fully redesigned and will have an extra USB Host controller that will allow the user to add a USB Mass Storage Medium (like a USB stick) that can be accessable from the HP41
- The new USB interface can be used in an existing MLDL2000, replacing the original USB interface
- Since there are no more empty card reader shell available an extra PCB will be designed as a carrier to the other PCBs. This will allow users to have the MLDL2000V2 in an external box
All the designs as mentioned above are in draft and need to be completed. More specifically I need to do some testing to verify if this is all really possible. At the same time I need to have an idea of how much interest there is, so please contact me if you want to be added to the waiting list. Please be aware that it wil take some time before MLDL2000V2 will be in production.
Most important is that I will need some support from the user community to create an HP41 ROM that will support the mass storage on USB, so any volunteers should step forward an contact me.

Dec 31, 2006

Happy New Year to all! May 2007 bring you happiness and prosperity.
There is no news currently about a new production run for the MLDL2000. I have been away from my MLDL2000 activities for a few weeks and will make a fresh start in the new year.

Nov 16, 2006

I have evaluated the current waiting list, and it is still growing. This increases the chances of a new production run and I have asked a new quote at my PCB assembly house. Since I need to spend a bit more time with my family and also must add features to the MLDL2000 software (and some hardware additions!), I will not do any more assembly. Also, there are only a few more card reader housing left, and the remainder will have to sacrifice their own card reader, get one at eBay or put the MLDL2000 in a different housing. To support this last group, I will probably create an extra PCB that acts as a kind of carrier to make it easier to put in another box.

Nov 7, 2006

New version of M2kM is available in beta, see downloads. Also published the schematics in PDF.

Oct 16, 2006

Just finished assembling the last units from regular production. One special rebuild is remaining, I will take that to the Allschwil meeting. Last week I have tested an improvement, which is a relatively simple modification. This allows a goldcap (if it is installed) to be charged from USB instead of from the HP41. This saves battery power and allows the unit to be connected to USB for recharging. The standard cap built into the assembled units has a value of 0.1F, and keeps the SRAM contents alive for a few weeks. I have also tested a 1F supercap and that works fine as well.
Another addition is to pimp your MLDL2000 and add some bling-bling by using some (blue!) LEDs. The LEDs indicate MLDL2000 activity, USB activity and one can be user controlled (but not fully tested yet). To save battery power, these only work when USB is connected, the LEDs are powered from USB. This special version will be shown in Allschwill. Schematics and instructions to be published within a few days.

Sep 27, 2006

After a long and hot summer finally some news. I am currently working down the waiting list and have sent several units in the last weeks with a few more to come. If you are on the waiting list and have not heard from me, you probably will in the coming weeks. Several units are beyond repair, and with the help of the company that assembled the PCB's I can probably get a good deal in getting a few more PCB's produced. The problem is mainly in the CPLD print, which turned out pretty hard to solder. It looks like there will be about 10 more new units available.
A new version of the software is due, but first I want to finish assembly of the remaining units.
The HP Summit in Allschwil is on October 28 (see this page). Anyone who is interested to join please contact the organizer. If you are from The Netherlands you can travel with me by car, please contact me for detaills. I hope to have a new software release by them, but I cannot promise anything.

May 24, 2006

Solved the bug in erasing sectors. This turned out to be a pretty stupid mistake, but I do not know yet if is was my mistake or the fault of the producer of the PCB's. See the explanation here.
The last regular units are shipped. Repair is going slowly, but some units have now been rescued. I will inform those interested in obtaining an MLDL within a few days.

May 5, 2006

I am shipping the last units of regular production. The remaining units have failed the initial test and have to be repared, and I do not know if repair is possible.
I have added a remark about erasing FLASH with low batteries in the list of errata.
With regular production more or less finished (apart from the units under repair) I am now starting to work on improving M2kM software (see ToDo list in the support page)

Mar 13, 2006

One of the users found a bug in M2kM. It is not possible to erase the FLASH sector (Sector 34, address F80000-FFFFFF) with the Settings Registers individually, only by erasing the complete FLASH memory. This is a problem in the M2kM software, and will be fixed in the next release. The root cause is not found yet.

Mar 9, 2006

After more delay the assembly line is now working again (getting the house up and running costs more time than I expected). Those who have a unit on order and have their serial number assigned back in 2005 can expect some good news within the next two or or three weeks. There have been some additional orders as well. The potential problem is that I am down to my last 5 or 6 units from the initial production run, and some of the PCB's did not pass initial testing. These units have been reworked, but not yet tested and I am not certain if they will work at all.
Unless there is sudden interest for at least 25 units, this means that I will probably have stop accepting orders for the MLDL2000 and no more will be made. Which is also good news, because I need time to expand the functionality of the MLDL2000!
Corrected a type in the table about the ENBANK instruction on the support page.

Jan 31, 2006

Finally! I am settled in my new 'mission control' or better, MLDL2000 Central. Starting now I will continue to work on the MLDL2000. First thing is to sort out who gets what and what I have left in terms of supply. Many thanks again for your patience.

Jan 4, 2006

Happy New Year to all visitors! Things have been very hectic the last few weeks. I have moved to a new house, but do not have broadband internet yet. This website (and my email) has been down for totally different reasons but now works again. I will need a week or so to work on the last details of our house, and then will continue work on the MLDL2000. Thanks for you patience.

Nov 24, 2005

HEPAX really seems to be working. Please read this thread at the hpmuseum forum. I will write a how-to later.
A bug has been found by Diego (thanks for that) in the Bank Switching setup. Banks 2 and 3 are swapped. See the Support page for a more detailed description.

Nov 23, 2005

There are signals that HEPAX might work without further modifications. This is being investigated.
Right now I am working on the software to be able to reprogram the CPLD firmware from the USB interface. This is important for adding extra features (like emulation of User Memory).
Added the to-do-list to the support pages here so you know what I am planning to do to expand the software and items still to be tested. Let me know if there are any further suggestions or if you can help me out with some of the work. The order in the list roughly indicates the priority.

Nov 21, 2005

Added list with supported ROM images here. Please let me know your experiences so this list can grow!

Nov 15, 2005

Published source code for M2kM (written in Delphi). Please be aware that this is very much work in progress!

Nov 11, 2005

Reports from users assembling their MLDL2000 unit have indicated that units that are being tested without the USB Interface connected can sometimes be unstable and cause the HP41 to behave a bit strange. I therefore recommend to complete assembly and add the USB Interface before attempting testing with ROM images. The added advantage is that the USB connection allows inspection of MLDL memory from the PC to assist in troubleshooting.
Whenever the MLDL2000 refuses to communicate over USB and installation of the FTDI driver seems troublesome, please double check the USB cable and the soldering of the USB connector.
It could be that the test procedure as described in the manual fails when ROM images are being copied. I have seen that some units have been shipped with a partly wrong configuration of the Settings Registers.

Nov 6, 2005

We have moved to our temporary 'home' last weekend. All HP41 and MLDL2000 material is at my work, and therefore time to spend on the project is somewhat limited. Most units are now shipped, and several units still need to be assembled. Assembly is now done in some hours after work. In January all will return to normal when we have moved to our final destination.

Oct 6, 2005

Busy assembling, several kits have been shipped. Updated some details in both the specification and the manual. Also uploaded the firmware source and the PCB schematics and layout (in Eagle format)

Sep 25, 2005

The first batch is now ready. These are kits only, and almost all kits are now ready for shipping. You should have received an email today with payment instructions if your unit was among those. I will start assembling units this week as well. There is also a new version of the M2kM software available. One small bug is solved (verification of up/downloading of Settings Registers did not work correctly) and a feature is added to put the MLDL2000 in its shipping configuration. The path to the ROM images is programmed hard, so this will not work with everyone.

Aug 31, 2005

Full production is running. Most CPLD prints are tested, and that costs time. I have changed some of the testsoftware and the testjig, my old test setup was too unreliable. Some modules do not pass test and right now I am working on those. Next step is to test the USB print and the Interface PCB, but that cost much less time. I want to test as much as possible before starting shipping, so please have a little more patience ....

Aug 15, 2005

Production started again. There is one important change: the 100 Ohm resistor is already mounted on delivery, see the support pages.

Aug 9, 2005

Back from vacation (sigh ..) will resume 'production' again.

Jul 23, 2005

The first few kits have been shipped this week, more shipments to follow mid August

Jul 13, 2005

Production has arrived, see pictures in the download page!

Jun 29, 2005

Just some quick news regarding MLDL2000 progress:
- Production is delayed with some days due to some SRAM devices being damaged in storage, and new devices have to be purchased
- About half of the MLDL2000's will be shipped with the regular amount of SRAM, the other half with double the size due to availability of components. Although I do not know yet if the double size will actually work (it requires an extra wire to connect the additional address line and testing)
- The units with double SRAM storage will be made available at no extra cost (since it does not cost me extra) to those who have ordered their MLDL2000 first
- The complete batch of MLDL's will be produced this week or beginning next week, meaning that all orders can be fulfilled probably before my vacation, depending on how testing and assembly goes
- After fullfilling all existing orders there will be about 10 units left. It is unlikely that any new PCB's will ever be manufactured so if you still want one let me know

Jun 23, 2005

Moved all downloads to a new page, this page is also the place to be for updates technical information and stuff that did not make it inthe manual and or specification. The manual is updated and contains the full instructions for assembly and testing.

Jun 12, 2005

Very good news: the man behind the famous W&W Rambox and many other HP41 peripherals has made available a large number of new HP41 cardreader shells, complete with module connector and all other bits and pieces. Thanks to the large number of orders I am able to offer these shells at no extra charge. The price is now final and units will be in production shortly. A second production run is already scheduled for August/September. The price is now fixed at EUR 260 and includes the cardreader shell and module connector.

Jun 2, 2005

There are now enough orders for a good production run at the price of EUR 260. Actually, the first batch is almost sold out! Production will probably start in about two weeks. There is also a very limited amount of cardreader shells available, so you can keep your current cardreader intact. Please contact me for further details.

Apr 28, 2005

The MLDL2000 is now ready for ordering Please read the FAQ at the How To Buy section!

Apr 25, 2005

Beta one has arrived ate the testsite and seems to work just fine!

Apr 21, 2005

Beta number one, serial number MLDLB2003 was sent out earlier this week!

Apr 17, 2005

Updated the User Manual and the software, see downloads below. MLDL2000 Manager now has the missing DLL added in the zip-file and increased speed of communication. Beta number one is ready and will be shipped out within a few days.

Apr 6, 2005

I have now posted a beta release of the MLDL2000 Manager at the downloads section!

Apr 4, 2005

Very busy at the job, and also had to finish my taxes (and my wife's as well!) before April 1st. Also enjoyed the first days of spring with the family. That is all done now, weather is turning bad again, and in the meantime the test procedures have been largely finished. One beta will go out really very soon now. The other one has a fault that I have not been able to fix yet, most likely the hardware is damaged. Will spend some time fixing this and finalizing the first software release. Still no quote from my assembler, but I am overloading them with real work. I am preparing the webpages for ordering the MLDL2000, so keep watching this site.

Mar 1, 2005

While preparing the beta prototypes I encountered some problemes. It turned out that it was due to a production error (a short between two smd pins on both of the beta's!), and required me to rethink the test procedure and to recoded some of the CPLD and the software. This is now mostly done and the first beta will be sent out shortly. The second is damaged (due to desoldering of FLASH and SRAM) and it will take some more time to repair this one. This also led to a change in the specifications, see downloads.
The User Manual is heavily updated and now in version 1.0 DRAFT

Feb 3, 2005

New Specification V1.41 isnow released. This is compatible with the beta version. See downloads
The first draft is released for the User Manual (V0.99)to assist the beta testers in assembling and testing the MLDL2000. See downloads

Jan 16, 2005

All testing is now concluded so far. There were some problems with power consumption but that was fixed with an extra pulldown resistor. All functional requirements are working quite well. Bankswitching is tested using the Advantage ROM and that tested out fine. The next step is to clean up the MLDL2000 Software and build the units for the beta testers. In parallel the production will be planned and the documentation will be more or less finished. When the units are at the beta testers the ordering of the final production units can start. The Specification document (see downloads) will be updated within a week or so.

Dec 31, 2004

The software for USB is now working and I can program SRAM and FLASH from the PC through the USB interface. This is a very big step and only a few minor features remain to be tested. Happy new year to all!

Dec 9, 2004

Very very busy at my job
The MLDL2000 is working, and I have showed this at the meeting in Allschwill on November 27. I can copy a ROM page from a ROM to MLDL2000 RAM and run it from there. Next step is now to start working on the software for USB, which is required to program the SRAM and ROM from the PC.
Beta testers are now committed, and should receive their proto in a month or so, if everything works.

Nov 23, 2004

It appears that the HP41 pages have been offline for a while, all should be OK now. Pictures will be posted later.
Testing of the MLDL2000 goes well, things are slowly coming alive. The power supply PCB seems to work fine, the CPLD can be programmed and memory is accessed. It looks as if there is a small error in the VHDL code in the ISA output control and I am busy fixing it. I have hooked up the USB print to a PC and it is recognized without problems. The EEPROM containing the ID can be programmed as well.
Hot News: It works! Using an old Eramco ROMBOX I can now copy pages to SRAM and use them as normal HP41 pages. This proves the basic functionality of the MLDL2000. Now on to further testing .......

Nov 22, 2004

Today the proto's for the first 4 MLDL2000's arrived. Will post pictures later today.

Nov 2, 2004

Modified layout of the website for easier navigation and in preparation for the MLDL2000 information

Nov 2, 2004

New MLDL2000 Specifications are available under downloads, now at version 1.4

Nov 2, 2004

The MLDL2000 PCB's should arrive any time now. The current planning is to get a first version running for the European HP meeting in Allschwill, if I am able to attend.



The MLDL2000 will be available to the general public at a nominal price that will be close to EUR 260. This is very close to the actual cost of the device and you will pay for shipping etc. Note that the MLDL2000 PCB's are all professionally produced. The MLDL2000 will be sold as a kit (see pictures) and requires soldering. What you will need is the following:

The MLDL2000 comes with the following:

The first version of the MLDL2000 and the M2kM software may be somewhat limited. Updates will be available from this site at no cost. Functionality that is not yet supported but that may come in the future (note that these are ideas, some may not be possible at all):


Scope of the MLDL2000

My father gave me my first HP21 when I was 15 or 16. This one was quickly upgraded to the programmable HP25. At that time I had a holiday job at a local technical bookstore, which also sold cash registers, computers and &ldots; calculators. When the HP41 came out I was quickly there to buy one., as that was very useful in my physics study. Having the '41 I quickly became a PPC member (12xx) and through a message in the PPC Journal and the local HP dealer I came into contact with a group of other HP41 users. We had regular meetings, and being quite handy with a soldering iron I did many speed upgrades, module doubling (even did one triple module once) and built modules inside calculators. I ruined only one HP41 (my own), but quickly got another one. In the meantime I had built my own Eramco MLDL (bought the PCB's at Eramco and sorted out the rest myself) and has loads of fun with it. Even made my own rom: MEINROM which evolved into the -ML ROM, a co-production with another HP enthusiast.

After many years I decided to wipe the dust off my HP41. I also got myself (through eBay) a HP41CX in very good condition against a reasonable price. I downloaded the Xilinx WebISE environment for developing FPGA's and CPLD's and I decided to start using it to implement an MLDL. The Xilinx development environment is free (after registration) and offers a full VHDL suite with timing analyzer and simulator. A 3.3V Xilinx Coolrunner XPLA CPLD device is chosen for its low power consumption and possibility to interface directly to 5V CMOS and TTL levels.

I wanted both ROM emulation and MLDL (that is creating ROM) functionality. Combine that with a PC interface and the rough specs (or should I say thoughts) are quickly lined out. Flash EPROM it should be, to prevent use of programmers and UV erasers. SRAM obviously and a flexible interface to the outside world, also needed to get data into and out of the MLDL2000.

The MLDL2000 is my first serious attempt to program a device in VHDL. It will not be perfect and super efficient, but I intend to make it work. I donate the design to the user community for reproduction or improvement, on the condition that no commercial use is being made of the design and that I get all feedback. Users: have fun with it, and let me know!

What is an HP41 MLDL?

MLDL stand for Machine Language Development Lab. Sounds cool and high-tech, doesn't it? But what does it? The HP41 architecture understands two programming languages: User Code and Machine Code (or M-Code). The latter is normally not available to end-users. Expansion of the HP41 system is usually done with plug-in modules, or ROM (for Read Only Memory). These contain either User Code or M-code (or a mix thereof). These ROMs could be produced by HP only, although larger groups (like the PPC who made the famous PPC ROM) could develop code and have it produced by HP. When details of the HP41 interface became known it was apparent that the ROM could actually be emulated by (battery backed) RAM. An unused HP41 instruction was defined by the user community to enable writing into the RAM and the Machine Language Development Lab was born. It was now possible for end-users to write and test their own M-Code and later burn it into an EPROM.

MLDL2000 Features

Features of the MLDL2000 are:

Other features may be added as required. In theory it is possible for example to mimic HP41 User Memory (and thus Extended Memory as well) if enough SRAM is available. As the CPLD is fully configurable, other interfaces might be added, like a clock, printer, infrared, etc. Preparations will be taken to allow for these future expansions.


I am using the Xilinx free ISE WebPack 6.1i environment (free after registration) which is a great tool with a very good simulator (ModelSim). The free version has some limitations but I have yet to encounter one. The VHDL source files with testbench will be published when they are in a good working condition. If you want to have a look at it for your own development purposes send me an email and I will gladly share whatever I have at your own risk ;-)


Downloads are moved!

All schematics, layout, sources and other information will be released to the public. This will be done starting with the first official Beta release when I am somewhat certain if all works as expected.


More information about the HP41 can be found on:

Warren Furlow's great site with module images, a simulator and loads of documentation

Dave Hicks Museum of HP Calculators with a forum that I visit on a regular base

Matthias Wehrli has Europe's largest collection of HP calculators, also a report on the 2004 European Summit

Site of the UK based HP Calculator Club

The website of Clonix41, an absolutely great HP41 peripheral by Diego Diaz

Homepage of the NEWT project, the remake of the NUT CPU

French homepage of an MLDL2000 user

more links

even more links to HP41 things

Feel free to contact me at meindert_at_kuiprs_dot_nl (replace _at_ and _dot_ with the usual ...)


The documents on this website, the MLDL2000 design, VHDL code and software are copyrighted under the GNU General Public License. This means that anyone is free to use the design for his or her own purposes and may modify it. The MLDL2000 and components are supplied "as is" without warranty of any kind nor do I assume any kind of liability including consequential damages. The specifications, functionality or contents may be changed without notification to the user. If you wish to incorporate (parts of) the design into products which are distributed under any other conditions than the GNU Public License (commercial on non-commercial) you will have to have permission from the author. Please make certain that you have read and understood the GNU General Public License if you plan to use (parts of) the design.

Note that some parts of the MLDL2000, specifically the USB interface and driver software, are commercially licensed but free (without source code). Any license fees should be handled directly with the manufacturer. The development software for the Xilinx devices is basically free but requires registration with Xilinx. The application software controlling the USB module is written in Borland Delphi, the compiler must be purchased. All brand or product names are trademarks or registered trademarks of their respective holders.

Information in this document has been carefully checked and is believed to be accurate as of the date of publication; however, no responsibility is assumed for inaccuracies. I will not be liable for any consequential or incidental damages arising from reliance on the accuracy of this document. The information contained herein is subject to change without notice.