The Museum of HP Calculators

HP Forum Archive 17

[ Return to Index | Top of Index ]

Making new ROM-files for the 41
Message #1 Posted by Geir Isene on 15 July 2007, 5:11 p.m.

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).

      
Re: Making new ROM-files for the 41
Message #2 Posted by DavidMY on 16 July 2007, 12:48 a.m.,
in response to message #1 by Geir Isene

Hi: 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.

            
Re: Making new ROM-files for the 41
Message #3 Posted by Christoph Klug on 18 July 2007, 1:58 a.m.,
in response to message #2 by DavidMY

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

      
Re: Making new ROM-files for the 41
Message #4 Posted by Miki Mihajlovic on 21 July 2007, 1:41 a.m.,
in response to message #1 by Geir Isene

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:

&ROM#=17,HEADER=GEOMETRY.1B,PRIVATE
CIRTGNT
DISTLNS
GRIDALL
GRIDISC
LNINSEC
PNTTNGT
PTSLINE
SINPLT
TAPERS
VNOTCH
where 17 is an XROM number that you choose.

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


[ Return to Index | Top of Index ]

Go back to the main exhibit hall