Strange behaviour with MATDIM (Advantage ROM) on NoV-64D - Printable Version +- HP Forums (https://www.hpmuseum.org/forum) +-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html) +--- Forum: General Forum (/forum-4.html) +--- Thread: Strange behaviour with MATDIM (Advantage ROM) on NoV-64D (/thread-22145.html) |
Strange behaviour with MATDIM (Advantage ROM) on NoV-64D - emefff - 08-08-2024 12:25 PM Hello, first post here, although long-time user of many different HP Calcs. A friend of mine brought this to my attention, because he needs to go 'back to the roots' on some digital design project. The task is to get the inverse of some special matrix in hardware and finding a good algorithm for that. I said: we can even try that on a HP-41, even doing some algos from numerical recipes etc. However, I wanted to try the built in algorithms in the Advantage ROM first. On page 54 of the Advantage ROM manual there's a neat example. If I go through that on a 41CX with NoV-64D in port 1 (Advantage ROM is burnt to it the usual way according to NoV-64D manual, just pressing the button and burning it. Source of these ROMs is Monte's ROM files rom_files_240109.zip) and REAL MATH 1 ROM in port 2 (SIZE? = 50): INPUT:_________________ DISPLAY: FIX 4__________________ "0.0000" ALPHA R0 ALPHA _______"0.0000" 3.003 XEQ MATDIM ______"0.3003" (This is VERY wrong!) The last line should give "3.003". Also if I try DIM?, the calculator changes the . to , and behaves strangely. The I pressed PRGM and subsequently I couldn't turn it off. I had to remove the batteries briefly. The real MATH rom does not have any influence, I tried. Of course, there is no usable matrix that I can actually enter any numbers into. I also converted the ADVANTAGE.MOD from hp1.org into 3 .ROMs with Christoph Giesselinks MODFileWin.exe and flashed this to the NoV-64D. Same result, the converted ROMs are the same like Monte's, bit by bit I checked afterwards with sha512sum. Anybody having experienced this? If I do that on the DM41X I get the correct number displayed (MOD file supplied by Swissmicros) and can actually use this matrix, also on a 41CV with a REAL Advantage ROM in port 1. I do not know what is wrong here, could my 41CX be in some mysterious state? Are the 3 Adv.ROM files in Monte's library erroneous, as is the ADVANTAGE.MOD on hp1.org (possibly both files from same source). But then, where did the .MOD Swissmicros uses come from? Can anybody try that with Advantage on a NoV-64D? Thanks in advance, emefff. EDIT: In the meantime I checked by switching NoV-64D to the 41CV and putting the real Advantage into the 41CX. The NoV-64D is definitely the culprit, not the 41CX. RE: Strange behaviour with MATDIM (Advantage ROM) on NoV-64D - dmh - 08-14-2024 12:54 AM I tested the steps as listed (haven't used the Advantage matrix functions before so just blindly followed) and I got 3.003. DIM? also shows the same result without any of the described weird behaviours. I have a 41CV (fullnut), NoV-64d and no other modules installed. NoV-64d has HEPAX, Advantage and (not related) ZENROM. Hope this helps. Let me know if you need any more information / testing. RE: Strange behaviour with MATDIM (Advantage ROM) on NoV-64D - AndiGer - 08-14-2024 04:44 AM My guess: you toggled decimal point to comma by CF 28 (and maybe SF 29 to get the thousands dot). So you enter 3003 (three thousand and three)? instead of 3,003 i.e. 3 comma 003. Or it‘s a bug and you MUST set flag 28. Andi RE: Strange behaviour with MATDIM (Advantage ROM) on NoV-64D - emefff - 08-14-2024 07:07 AM Hello, thank you both for your answers. @AndiGer: Initially, I had SF 28, that's right. But when I CF 28 and repeat "3,003 ENTER" "XEQ MATDIM", I get the same result "0,3003". When I do "XEQ DIM?" I get: "001F 0CE ___" ? and I am trapped in some weird state. I have to remove the batts briefly. Interestingly, "3003 ENTER" "XEQ MATDIM" gives the same result. FLAG 29 set or not, doesn't have an influence, as FLAG 28 also doesn't. Thanks, Mario. RE: Strange behaviour with MATDIM (Advantage ROM) on NoV-64D - ThomasF - 08-14-2024 01:38 PM (08-14-2024 07:07 AM)emefff Wrote: When I do "XEQ DIM?" I get: Could it be a mismatch with XROM numbers? What happens if you enter "DIM?" in PRGM mode, does it still shows "DIM?"? And if you then remove the NoV module, does it say "XROM 22,18"? If another module exists in the NoV module with ID 22, then it might explain what you see ... Cheers, Thomas RE: Strange behaviour with MATDIM (Advantage ROM) on NoV-64D - emefff - 08-14-2024 02:39 PM That I do not suppose, otherwise there would be a lot of other stuff going wrong? And, aren't these numbers assigned by the config software or the HP41? Oh, by the way, the "?" is not part of the output, that should have been an emoji. When I enter program mode I first do a "GTO .." Then, without a label I type "XEQ DIM?", the calc shows me "01 DIM?" which seems correct. Did you have that in mind? When I turn off the calc and remove the NoV-64D and I change to PRGM it indeed shows me "01 XROM 22,18" I attach my setup of this module, I suppose it is ok. Been using the same banks for a long time. Mario. RE: Strange behaviour with MATDIM (Advantage ROM) on NoV-64D - dmh - 08-14-2024 02:57 PM Do other functions in the Advantage module work correctly? RE: Strange behaviour with MATDIM (Advantage ROM) on NoV-64D - emefff - 08-14-2024 03:24 PM I mostly use INTEG and SOLVE, both work correctly, I just tested (Kahan's spiky polynomial HP Journal 08/1980 p.28 Fig. 8). Other functions I didn't test at this moment. So, I don't have any reason to believe other functions do not work (staying optimistic... :-) ). RE: Strange behaviour with MATDIM (Advantage ROM) on NoV-64D - ThomasF - 08-14-2024 10:02 PM Hi, The "001F 0CE ___" really looks like a ROM editor, waiting for input on what to write at address 001F. So I thought that if there was a mismatch so that a MLDL ROM editor was called instead of DIM?. I guess it was just a guess from my side. But I don't think the Advantage module has any code for ROM editing, and also that the display you got is not just random, but really an editor that is called somehow. And the HP41 ROM at address 001F does really contain the value 0CE (octal 316), so this proves that the output is not just random but actually a correct state - but doesn't explain how we got here. Note that the HEPAX includes a editor (HEXEDIT), which has precisely that format of input, but I just can't explain why it would be called when you execute DIM? ... If you execute HEXEDIT and enter address 001F you will get the display that you showed above. Maybe some error in the flash image? With a Pico device it would be possible to trace the MCode execution, another way would be to dump the Advantage ROM and compare to the original code. Cheers, Thomas RE: Strange behaviour with MATDIM (Advantage ROM) on NoV-64D - Sylvain Cote - 08-15-2024 12:35 AM It does not look like there is a XROM conflict. Code: XROM Module But there is a page usage conflict: Code: Page Description Code: 7 Thermal Remove the MATH ROM from port 2. edit: there is a potential XROM conflict between HEPAX RAM and one of the ROM. You need to validate this with HEXEDIT, the XROM values of 0x8000, 0x9000, 0xA000 and 0xB000 should not be equal to the XROM of the above ROMs. RE: Strange behaviour with MATDIM (Advantage ROM) on NoV-64D - emefff - 08-15-2024 05:35 AM Hello all, thank you for your answers and time investigating this. @Thomas: It really looks like an editor, I can enter stuff (I didn't, I just pressed enter), press ENTER and it goes to the next line. I tried the HEXEDIT, it is exactly as you described. I really have no idea how to do the dump. The PICKit 2 Software seems to be able to read the module, I assume I will get an ASM-HEX-file?? :-) I have no idea, I just use these things. @Sylvain: There was indeed a MATH ROM in the calc when I first uploaded my findings. But the MATDIM-thingy does not go away when I remove it and repeat above steps. When I do the following without the MATH module: "HEXEDIT 8000" I get "8000 3FF ___" "HEXEDIT 9000" I get "9000 3FF ___" "HEXEDIT A000" I get "A000 3FF ___" "HEXEDIT B000" I get "B000 3FF ___" I don't understand what is happening here, the contents is all the same, Mario. RE: Strange behaviour with MATDIM (Advantage ROM) on NoV-64D - Diego Diaz - 08-15-2024 06:44 AM Hi Mario, From your last post it seems that the HEPAX RAM content has been somehow corrupted. Please proceed with the Recovery as described in the NoV-64d manual, page 10, to completely erase the HEPAX RAM and re-initialize the HEPAX File System. Hope this fixes the issue. Please report back in either case. Best regards from the Caribbean. Diego. RE: Strange behaviour with MATDIM (Advantage ROM) on NoV-64D - emefff - 08-15-2024 07:24 AM Hello Diego, thank you very much for your answer, will the HEPAX file system be erased? I have some routines there, Mario. EDIT: indeed it clears the FILESYS! :-) I copied all my stuff to calc memory before. Interestingly, if I try to repeat the MATDIM thingy, it shows me "NONEXISTENT". "CAT 2" doesn't show me any signs of ADVANTAGE ROM anymore! It's gone! "HEXEDIT 8000" gives me "8000 000 ___". "XEQ HEPDIR" shows me "H:NO FILESYS" EDIT2: I reflashed the same files to the same banks/pages to the NoV-64D, and the MATDIM-error is BACK!!! The contents of HEXEDIT 8000 is again "3FF". Could it be, that by reusing all the contents of the folder where ClonixConfig61.exe resides, I am reflashing the same stuff exactly as it was before (also the corrupted RAM and my routines are also back??)? I have no idea, I'm giving up for today, but thank you all! |