The Museum of HP Calculators

HP Articles Forum

[Return to the Index ]
[ Previous | Next ]

EMU41 Update 2006

Posted by Christoph Klug on 15 June 2006, 4:44 p.m.

EMU41 Update 2006

Again Jean-Francois Garnier helpfully adds new features to his nice EMU41 emulator software : Up to now, for advanced applications like handling rom-images, creating own user code modules or machine code development, EMU41 emulated a 8KByte MLDL RAM page and the famous W&W RAM-Box. This virtual RAM-Box consist of two software selected 32 KByte banks = 64KByte RAM.


Now Jean-Francois also emulates the Eramco RSU RAM-Storage-Unit which supports four software selected 32 KByte banks = 128KByte RAM. The operating system for the W&W RAM-Box is stored in a 4KByte block. Similarly the Eramco operation system is stored in a 8KByte block and includes additionally commands for data storing applications and its own text editor. In my experience the 128KByte RSU from Eramco is the greatest "classic" RAM-Box solution designed for the HP41 system. I have also heard rumours about an extended 256 KByte RSU solution (8 software selected banks) but have never seen this. To activate the Eramco 128Kbyte RSU to EMU41, edit the EMU41.INI file and add the following extensions :

8 96 es_rsu.dat ; the 96k RAM = 4 banks of 24k in pages 8 to 13 14 8 rsu_os.rom ; the RSU OS (supporting the multiple banks)

In this case the 8 KByte RSU operating system is addressed to port 14 and port 15. If so, as Jean-Francois explained, it would be possible to override RSU pages by plug in modules. In the following example we place the CCD-Module to port 8 and port 9 :

8 96 es_rsu.dat 14 8 rsu_os.rom 8 8 ccd1b.bin ; override pages 8 & 9

When operating the RSU, remember that Eramco numbers the plug in port pages in an own way : W&W counts from page 8 up to port 15, identical to the the Zenrom page numbering. In contrast to this, Eramco starts with +1 for port 8, -1 for port 9 and ends with +4 for port 14 and -4 for port 15.

RS232 support

Besides this great implementation of the Eramco 128KByte RSU (which works with its own bank switching mechanism) Jean-Francois also adds a virtual HP-IL/RS232 interface device to EMU41, supporting the serial COM port of the PC. Now EMU41 includes the following list of virtual HP-IL devices (taken from the EMU41.INI file) :

[DEVICES] ; DISPLAY LPRTER1 HDRIVE1 ;HDRIVE2 SERIAL1 1,E3 ;SERIAL2 2,E3 ;FDRIVE1 ; insert a LIF DD floppy for correct function. ; Not available for modern PCs. DOSLINK XIL 300 ; HP-IL/PC Interface Card - 700 default ; address / 300 address for WIN2000/NT/XP

The new SERIAL1 device acts like a virtual HP82164A HP-IL/RS232 interface for EMU41 and works as a gateway to you real HP41 handheld. Use this to transfer the X-Register contents, programs, data register blocks, data-files and matrix-files (CCD-Module) between EMU41 and HP41 handheld computer. For your real HP41 you need the IL-Module, EXT-I/O and CCD-Module plus the HP-IL/RS232 interface HP82164A or CMT-RAM-DISC, wired to the serial COM port of the PC.

This new RS232 gateway solution between HP41 and EMU41 is handy for PC configurations that can not use the HP-IL/PC Interface Card : For example notebook- and laptop-PC┤s and PC┤s with motherboards without an ISA-slot. As Jean-Francois explained, it would be also possible to add a RS232-to-USB bus interface : With this expanded configuration you get a gateway solution for PC hardware that only supports the USB-Bus.

In contrast to the "classic" HP-IL/PC Interface Card gateway solution, the new RS232 application is limited to bidirectional program- and data transfer. Using the new RS232 gateway you are not able to control real HP-IL devices by EMU41. Controlling real HP-IL devices like the IL-Digitalvoltmeter or the IL-Plotter by EMU41 is only possible by using the HP-IL/PC Interface Card.

HP41 software

In order to use the new RS232 gateway between EMU41 and your real HP41 I create a software pack plus associated user documentation. You find this on the HPCC website. Because HP41 and EMU41 are running with different speeds (depending on the PC), and no COM data buffer exist on PC side for holding the transferred data for EMU41, we have a time critical application. Therefore the correct system configuration and time alignment is needed on PC side.

For data transfer we use the EXT-I/O commands OUTAN and INAN because only from this results a correct and save data transfer for this RS232 application. This two commands transfer a dummy-byte D followed by 7 data-bytes from the Alpha-Register of the sending device to the Alpha-Register of the receiving device. To exchange the 7 data-bytes between Alpha-Register and X-Register we use the (synthetic) commands STO M and RCL M.

For program download from EMU41 to HP41 we use the standard commands OUTP and INP. Because of the critical timing needed for program upload from HP41 to EMU41 we can not use the commands OUTP and INP. Instead we use the advanced commands PEEKB and POKEB from CCD-Module for the transfer of program bytes to the X-Register. Next STO M and RCL M transfer the program bytes to the Alpha-Register, and the commands OUTAN and INAN execute the RS232 transfer. The EMU41 software routine RECVP for receiving program code acts as a self programming program. After the program code transfer is complete, RECVP writes the new .END. position to status register c.

New EMU41 applications

Great thanks to Jean-Francois for expanding EMU41 with advanced RSU storage and RS232 gateway features. Jean-Francois has also added this new RS232 extension to EMU71. This is an encouraging result from a discussion during the last Allschwil meeting (HP-Collection) in Switzerland. In my own opinion EMU41 is the world┤s leading HP41 emulator software because :

- EMU41 runs on different HP handheld computer- and PC platforms - EMU41 allows the rom-image formats .bin and .rom - EMU41 includes plug in modules and bank switched modules - EMU41 includes HEPAX, MBK-Profiset, RAM-BOX and RSU support - EMU41 includes a gateway for data exchange to other PC applications - EMU41 includes different gateway solutions for interfacing your real HP41 - EMU41 includes some virtual IL devices like printer and mass storage - EMU41 includes virtual tapes for email exchange of data, programs, rom-images - EMU41 is able to control real HP-IL devices

May be this development will result in some more HP41 applications : For example an umbilical cord from EMU41, using RS232 + USB, to the MLDL2000 unit from Meindert Kuipers ?

Christoph Klug K÷rnerstrasse 47B 31141 Hildesheim Germany

Spring 2006


[ Return to the Message Index ]

Go back to the main exhibit hall