Making new ROM-files for the 41


Is there a simple How-to on making new ROM files for the HP-41?

Specifically I would like to create a ROM file with my own FOCAL programs (for inclusion in a Clonic or NoVram).


For creating a FOCAL ROM you need the SKD41 package. You should be able to get this on "the other site." This is the HP package for creating ROM code. Unfortunately, there is no "simple" guide because HP never really intended the package for the casual user.

The process is [1] create a text file of FOCAL code using your favorite text editor -> [2] compile the code to ROM -> [3] link the code and create the directory. But...the SKD code is DOS based so you'll need...a Microsoft OS.

Actually, I've been able to run the SKD applications from the WinXP command line [and even Vista Business] and under Linux using WINE/DOS emulation.

The package should also have the HP manual for the programs which you really need to read through because the whole process can be confusing. But this package was what HP supplied to those who wished to create commercial ROMs and it does work.


For creating an own individual HP41 Focal Rom containing your user code software applications use EMU41 in combination with the HP-IL / PC Interface Card.

Than you are able to transfer the software from your real HP41 to EMU41. On EMU41 side you are working with a virtual RAM-Box emulation and if needed with other virtual plug in modules like CCD.

By executing the RAM-Box commands (W&W or Eramco or MBK Profiset operating system) or Hepax commands you create your own ROM solution = transferring the program code from main memory into the RAM page (= MLDLRAM.DAT file of EMU41).

In the next step you are able to test your finished Focal ROM inside EMU41 – including HP-IL support if needed. In the last step you convert the finished 4KByte ROM to your target hardware like ZEPROM, Clonix, NoVRAM or RAM-Box.

More detailed information and helpful tips about creating user code software ROM image files you find in my paper “HP41 & EMU41 Uploading plug in module ROM image files” :

Appendix IV = creating a user code software ROM for EMU41
Appendix V = creating a user code software ROM for Clonix
Appendix VI = creating a user code software ROM for Zeprom

Furthermore this document describes software tools for converting the MLDLRAM.DAT ROM image file into the different existing file formats like .lst /.rom / .bin and RAM-Box = Zeprom / Hepax / MBK Profiset :

Part III = generating a .bin file
Appendix V = generating a .rom file for Clonix / NoVram
Appendix I = ROM file conversion Hepax / RAM box
Appendix II = ROM file conversion MBK Profiset / RAM box
Appendix III = ROM file conversion .bin / .rom

The “HP41 & EMU41 Uploading plug in module ROM image files” document is available at HP-Museum and HPCC webpage. By creating and using an individual programmed user code software ROM (= Focal ROM) you extend your HP41 system. Now you are able to execute really voluminously program applications compared to the limited main memory size.

When selecting the XROM number (increment part, running from 01 up to 31) make this compatible to the other plug in module XROM numbers, check your HP41 port configuration (do not double XROM numbers).

The FAT for an Focal ROM is limited to 63 entrees (= XROM number fractional part). Therefore avoid not needed Alpha LBL´s in your program code and replace them by numerical LBL´s. Because from any Alpha LBL of your program code result an FAT entry.

With help of the CCD Module you are able to activate different user keyboard assignments for operating your own program solutions….

Best wishes from Germany- Christoph Klug


I have a fairly simple and clean way of creating the ROM file from your own FOCAL programs. You need two pieces of software: Leo Duran's hp41uc and HP's SDS-II. You can get them both on TOS. If you have trouble finding them let me know and I can send it to you. Further, you need to make a .BAT file that looks something like this (example for geometry ROM):

rem convert .txt files into .bin files (ucc files)
hp41uc /t=cirtgnt.txt /b=cirtgnt.bin
hp41uc /t=distlns.txt /b=distlns.bin
hp41uc /t=gridall.txt /b=gridall.bin
hp41uc /t=gridisc.txt /b=gridisc.bin
hp41uc /t=lninsec.txt /b=lninsec.bin
hp41uc /t=pnttngt.txt /b=pnttngt.bin
hp41uc /t=ptsline.txt /b=ptsline.bin
hp41uc /t=sinplt.txt /b=sinplt.bin
hp41uc /t=tapers.txt /b=tapers.bin
hp41uc /t=vnotch.txt /b=vnotch.bin
rem convert .bin files into .41t files (these can be put into ROM image)
read41p -u cirtgnt
read41p -u distlns
read41p -u gridall
read41p -u gridisc
read41p -u lninsec
read41p -u pnttngt
read41p -u ptsline
read41p -u sinplt
read41p -u tapers
read41p -u vnotch
rem buid ROM image
build geometry.def geomtry
rem rename geomtry0.41r to geomtry0.ROM

and your definition file .def should look like this:

where 17 is an XROM number that you choose.

Edited: 21 July 2007, 1:43 a.m.

Possibly Related Threads…
Thread Author Replies Views Last Post
  How to copy files from 9114B to hard drive via PIL-box? Joe Horn 23 10,311 12-14-2013, 11:57 PM
Last Post: Geoff Quickfall
  How to update PRIME Firmware using Files on PC Harold A Climer 2 1,983 12-04-2013, 12:05 PM
Last Post: Erwin Ried
  Loading .prgm files to the Prime Thomas Chrapkiewicz 8 3,038 10-25-2013, 09:34 AM
Last Post: Eddie W. Shore
  Proper location for files on the PC for Connectivity Kit ,etc. Harold A Climer 8 2,861 10-23-2013, 02:43 AM
Last Post: Marcus von Cube, Germany
  Updated PPC DVD Version 2.10: HP-41 Searchable Program Files and Scannable Barcode Jake Schwartz 3 1,888 09-27-2013, 09:51 PM
Last Post: Olivier (Wa)
  HHC 2013 speakers' files Joe Horn 2 1,616 09-26-2013, 02:51 AM
Last Post: Geoff Quickfall
  Nonpareil Rom files davorin 2 1,452 09-20-2013, 06:20 PM
Last Post: Didier Lachieze
  WP-34S Overlay - making it a bit more permanent? Marcel Samek 1 1,112 07-05-2013, 09:02 PM
Last Post: htom trites jr
  How much would making a one-off calculator cost? KoenDV 17 4,918 06-03-2013, 05:35 AM
Last Post: Nick_S
  HP85 Programmable ROM cardtridge 82929A-service ROM not working- inaki 2 1,886 04-25-2013, 08:08 AM
Last Post: inaki

Forum Jump: