MLDL2000 Update


This time just a few bullets:

- New specifications ate (totally changed memory map, increased capacity, detailed addressing modes

- uploaded current VHDL design files

- Working on schematics

- Working on prototype (I have the Xilinx demo-board)

There is still much work to do, mainly on defining (and implementing) an interface to the outside world. In addition, some HP41 instructions need to be defined to interface with the MLDL2000.

Some issues that need to be resolved:

- HP41 is 6V, is above the limit of the 5V tolerant inputs. Are buffers required?

- Which HP41 instructions can/should be used?

- Need support for basic 'operating system' ROM

- Need some details on HP41 Bank Switching (bugs and exceptions)

Let me know if you can help me with some of the questions above.





Just wanted to say Keep it up!

Have you decided on a hardware profile?

Card reader like box?

Plug in module?

something else?



I am playing with the autorouter that came with the schematic entry program. Inside a module is out of the question, as the CPLD itself (144 pin PQFP) is too large. I will make a PCB that will fit inside a cardreader housing (that seems to be easy enough) but I cannot supply those housings!



is it necessary to scavenge the port connector part?

If not, it is probably conceivable that some old modelling fanatic (like me) cna make something in reasonably sized lots.

The plastic might not match exactly, or soemthing.

Let me scope around a bit.

(what exactly is the functionality of this again?)


It will be like having RAM modules plugged in that will work like ROMs. You can copy ram programs into these port/slots and run programs from them.

It will have built-in the ROMs of many pre-written application packs.

I'd love to have 32 or 64x the ram of a normal 41. Using flash, it's non-volatile too.


What'd be nice is a module/widget that can read from some cheap bulk memory (CompactFlash, SmartMedia, or SD).

Be interesting to have a 'module' that can be read/written to as an SD card but has an HP41 interface. SD is about the smallest and could fit in an HP41 module, along with a 44- or 52-pin fine-pitch logic device.

Gawd, the SMALLEST of these memory cards in current production is 8MBytes!



Forget about standard Flash cards. All of these require a harddisk like approach, and thus a kind of operating system. In addition, the interface specifications are not free, it requires an expensive license for most of the cards to be able to get just the specifications.

I will use just a standard Flash memory IC. I have not made up my mind yet on the type. The basic choice is between small sector and large sector. Small sector allows blocks to be erased and written in chunks of svereal hundreds of bytes, but the timing is more complicated (less than 150 microseconds between bytes, not possible under HP41 control). Large sector Flash means that blocks of (usually)64k are erased, but individual bytes can be written to under HP41 control, since there is no restriction to the timing between cycles. However, Flash should not be accessed between these cycles.

The extrernal interface will be done in such a way that it facilitates USB (for example) connections with a very cheap and simple microcontroller, but this will be a future project.

Again, I encourage all to download the specifications and flood me with comments and tips!


so, basically this will hold umpteen ROm module images, alow us to produce "rom module" images that are writable, and include the maximum extended memory (???)

what I see is a need to be able to plug in 2 modules along with this for some applications- HPIL and printer.

(Of course, I would like to be able to use a card reader at the same time, myself.)

the best thing to do might just be to duplicate the shape of the top 1/3 or 1/4 of the 41 itself, modify the base part of that to accept he same hold down clips as the card reader, and fabricate those for housings.

Making a single one from stock, by hand, would take some hours and be fun, but harldy acceptable as a method for producing a few dozen.

The shape is, or should be, regular enough to make it feasible to produce a form and bend some 22 gauge sheet.

Probably easier to use card reader housings- or maybe IR printer housings. Shame to waste the card readers, though :)


Dear Meindert Kuipers,

using existing card reader housing would be the easiest solution - some cardreaders with internal bugs or malfunctions exist (failured capstan wheel).

Please design the loading procedure of rom-files compatible to the existing RAM-BOX standard from W&W and ERAMCO or ZEPROM. This systems are working with HP-IL and IL-mass storage units. And actual we get the first PC emulator software EMU41 from Jean-Francois which also includes this nice standard.

Because the HP41 is an complete system (which includes different HP-IL devices and now gets additional gateway features to virtual emulator solutions and virtual IL devices like Emu41) your MLDL2000 system design must be compatible to this existing and powerfully standard !

Best wishes from Germany - Christoph Klug



>Meindert Kuipers wrote:
>"Forget about standard Flash cards. All of these require a >harddisk like approach, and thus a kind of operating >system. In addition, the interface specifications are not >free, it requires an expensive license for most of the >cards to be able to get just the specifications."

Um, there's quite a bit of public info on CompactFlash cards and SmartMedia, etc. interfacing out there. CF works very like an IDE interface; quite a few folks have tiny 8051 CPUs connected to these for MP3 players. No one's gonna charge you royalties (and you can prob "wing it" without official spec.)

Yes, a file system would be indeed needed for this approach. I admire your prog logic solution; I myself would try a tiny low-power 8051 microcontroller w/on-board ROM/RAM to run a small FAT file system (lotsa public domain code out there) and translate the input/output to the HP serial memory thru some firmware bit-banging as the speeds are not excessive for 12+MHz microcontroller CPU [which is in fact more powerful than the calc CPU! :)] The microcontroller code would also have to translate the HP41 'file system' concept and labels, etc. to/from this external FAT file system.

Bill Wiese
San Jose CA


I suggest you reconsider Compact Flash cards. (Although I admit not knowing whether the smaller cards are just as good or better for this purpose.)

CF cards are fairly cheap, readily available, and (I think) will be around for a while, although maybe not in small sizes.

The CF spec mentions a "memory mapped" mode that may be a bit simpler to implement than the "True IDE" mode (though it doesn't look all that different to me).

CF cards also take care of wear levelling, are timing tolerant, etc.

The specs are freely available at

One drawback is the cost of the connector (about $6), but I think this is outweighed by the potential to have multiple configurations on different cards.

I think 25-50 may be too few for the first run, but of course the demand will depend on the price. When you have a final design and working prototype(s), I am sure many of us will pay up-front so you can buy production boards and parts.

Good luck!



I haven't reviewed the 41C timing, but after further thought, I worry the overhead of the IDE interface would make reading from CF too slow, so the image would need to be loaded in bulk from CF into working RAM.

Perhaps the addition of RAM is not an issue and the convenience of removable CF cards would justify it.

I guess someone (Meindert) needs to freeze the feature set so this (rather substantial) job can be completed.

Good luck!



Hello Meindert,

would the PCB fit inside a 82143A printer plug,
or a wand plug?




The biggest component is the 144-pin Xilinx XPLA3 CPLD (128 or 256 macrocells). I can hardly pick a smaller one as the logic will probably not fit in a 64 Macrocell device and I want room for expansion.

This IC is about 22*22 mm, and first routing attempts show that I do need room around it. BGA seems to be beyond my routing and proto capabilities. An escape might be a 16*16 mm package for the 128 macrocell device, but I want enough room to spare for expansion.

I have not played yet with assigning a different pinout on the CPLD. It will make a difference, but routing a 18-bit address bus to two TSOP-32 devices (SRAM and Flash) requires space, and I intend to limit the PCB to 2 layers only (that's what the free version of the router allows).

In addition space is required for the 3.3 V regulator (actualy the caps are consuming the space) and most of all connectors for JTAG (In Circuit Programming) and I/O.

After building a few proto's I do intend to have the device produced at a decent PCB outfit, probably looking at a run of 25 to 50.



Before deciding to run 25 to 50 of these, please ask for a committment to buy. And/or make sure you could build more of them. :-)

Possibly Related Threads...
Thread Author Replies Views Last Post
  New website address for Meindert Kuipers' MLDL2000? Garth Wilson 2 942 08-11-2013, 01:43 PM
Last Post: Meindert Kuipers
  Meindert's MLDL2000 robertoataulfo 7 1,715 12-05-2011, 04:39 PM
Last Post: Ángel Martin
  HP41 MLDL2000 add-on wins Distinctive Excellence award Meindert Kuipers 4 1,180 05-28-2011, 07:56 AM
Last Post: exschr
  HP41 MLDL2000 V2 demo Meindert Kuipers 7 1,651 03-08-2011, 01:43 AM
Last Post: Paul Dale
  Important MLDL2000 update Meindert Kuipers 1 704 11-28-2010, 12:09 PM
Last Post: Angel Martin
  MLDL2000 update Meindert Kuipers 5 1,274 09-30-2010, 02:36 AM
Last Post: Håkan Thörngren
  MLDL2000 update Meindert Kuipers 5 1,208 07-05-2010, 11:45 AM
Last Post: Geir Isene
  MLDL2000 V2 update Meindert Kuipers 9 1,661 04-15-2010, 03:32 PM
Last Post: Gerry Schultz
  New MLDL2000 Disassembler function PeterP 3 786 03-07-2010, 10:04 AM
Last Post: Meindert Kuipers
  MLDL2000 Disassembler to SDK - Help PeterP 1 646 03-07-2010, 10:01 AM
Last Post: Meindert Kuipers

Forum Jump: