HP Forums
DEL. SERV 1 (USPS) module: I didn't see that coming... - Printable Version

+- HP Forums (https://archived.hpcalc.org/museumforum)
+-- Forum: HP Museum Forums (https://archived.hpcalc.org/museumforum/forum-1.html)
+--- Forum: Old HP Forum Archives (https://archived.hpcalc.org/museumforum/forum-2.html)
+--- Thread: DEL. SERV 1 (USPS) module: I didn't see that coming... (/thread-233739.html)



DEL. SERV 1 (USPS) module: I didn't see that coming... - Luiz C. Vieira (Brazil) - 11-07-2012

Hi, all.

A few days ago I bought a DEL. SERV 1 module (USPS) announced at the local e-Bay (Mercado Livre). I had the ROM images downloaded from T.O.S. - which states it is undocumented - and inspected its contents. I found interesting the fact that, amongst its set of user-coded programs, it has five X-Functions:

XROM 21,21 CLFL
XROM 21,22 CRFLD
XROM 21,23 GETX
XROM 21,24 SAVEX
XROM 21,25 SEEKPTA
(edited to corret these XROM numbers)
These are enough to create some data files, clear their contents, store and retrieve data on them, control the pointer for each of them BUT it does not provide a PURFL (?). I was wondering that it could also have some X-memory inside of it, but it would be too much to ask for...

I grabbed it today and interestingly I saw a [WORKING] message being briefly displayed when I first turned the calculator ON after plugging the module in, but I did not check if some of the memory registers 'disappeared' (as for creating some memory bank). Anyway, the first thing I did was to try CRFLD with '10.0000' in X-register and [TST] in ALPHA. I got a (somehow expected)

NO X-MEMORY
in the display after the CRFLD. But then I thought: 'I need an X-Functions module for the first 124 X-registers so I can access the ones in the additional X-Memories; but this module provides these standard X-Functions, which leads to the conclusion that the functions in the X-Function module itself would not be needed if this module is plugged in... Why not?'

Yep, I plugged an X-Memory into the same HP41CV and it worked with these five X-Functions in the DEL. SERV 1 module: I could create data files and manage data with them. I did not try it yet, but I see no reason for these functions to work the same if the DEL. SERV 1 is plugged in as a ROM image.

I can only conclude that these five functions are not the same ones from the X-Functions module, instead that they are re-written versions of the original X-Functions with a different memory address mapping.

SO... it means that the functions in the X-Functions ROM image might also be changed in order to run in new gadgets like Meindert's MLDL2000 or Diego's NoV-series, CLONIX included, and access the RAM in the X-Memory modules directly, skipping the first X-Functions native 126 registers.

The 41CL itself already has all X-Functions and X-Memory facilities, so it does not apply.

Is there anything wrong with my reasoning?

I do not have knowledge enough to to do this right now, but I'm teasing myself to compare these five functions to the original ones in the X-Functions module. I'll need to read some books in order to reactivate some already-forgotten knowledge about M-Code and to add extra ones I do not have about the X-Memory access.

But I'd like to hear something from you guys; chances are I am just a happy boy scout finding my first (fake) rare coin... believing it is so.

Cheers.

Luiz (Brazil)


Edited: 8 Nov 2012, 8:49 a.m.


(edited): DEL. SERV 1 (USPS) module: works fine as ROM image - Luiz C. Vieira (Brazil) - 11-08-2012

Hi, all;

although no follow up had already been added, I would just like to add that the ROM images - lower and upper - of the DEL. SERV 1 work fine with the X-Memory module.

I have already contact T.O.S. manager about a small problem in his ROM images and they have been already updated. If you have the DEL. SERV 1 (USPS) ROM images downloaded form T.O.S., please make sure the XROM numbers of the lower ROM image are XROM 21,xx. If they are XROM 27,xx it means that the ROM image has an extra '1' in the first byte: it reads #115 and should be #015. You should download the correct version and discard this one.

Cheers.

Luiz (Brazil)

Edited: 8 Nov 2012, 9:48 a.m.


Re: DEL. SERV 1 (USPS) module: I didn't see that coming... - Meindert Kuipers - 11-08-2012

Interesting concept. There is really no reason why the XFUN module is needed, as long as the memory search algorith does not insist on having the XMEM in the XFUN module, so I expect the module image to work on all modern ROM emulators, inlcuding my MLDL2000, as long as a real XMEM module is plugged.
I may have told the story of a WAND I bought on TAS a long time ago. I turned out that the ROM of it was damaged, but by using a Wand ROM image in the MLDL2000 I had no problem in using the actual hardware for scanning barcodes.

Meindert


Re: DEL. SERV 1 (USPS) module: I didn't see that coming... - Luiz C. Vieira (Brazil) - 11-08-2012

Hi, Meindert.

Quote:
(...) I expect the module image to work on all modern ROM emulators, including my MLDL2000, as long as a real XMEM module is plugged.
Indeed, I tested the USPS ROM images in an MLDL2000 with an actual X-Memory and it worked pretty fine.

The lower 4K has two chunks of m-code that are not directly associated to any of the five functions - subroutine calls or simply portions that were part of the original code that are used with single JMP, I guess -, all of them with their codes also in the lower page. There is also a very small part of m-code in the end of the upper 4K.

Also, the lower 4K has a call for "Awaken by pressing ON key":

AFF9 2CB  JNC -27 LB_AFD2 [AFD2]
Indeed, it explains the brief [WORKING] message after turning the calculator ON for the first time with the module. The [AFD2] address is inside of one of these chunks of m-code (where else it could be...).

Thirty three years... and we are still being caught by surprise. HP had many great minds working for it. HAD MANY great minds, just a few today as we know.

Best regards.

Luiz (Brazil)


Edited: 8 Nov 2012, 2:15 p.m.


Re: DEL. SERV 1 (USPS) module: I didn't see that coming... - Ángel Martin - 11-09-2012

Hi Luiz, thanks for sharing your findings and impressions. It´s an interesting thing they did, effectively removing the need to have the X-functions for this application, and as I suspect also making it safer to use (users could not PURGE the files, or poke around).

The "WORKING" stuff was a very typical implementation HP did for many custom modules. It´s basically a mass key assignment, although some ROMS also have housekeeping tasks added tot he mix. Maybe here also the creation-checking of some XM file, supposing the XM module is plugged?

I´ll try to take a look at the code during the weekend.

Cheers,
ÁM