The Museum of HP Calculators

HP Forum Archive 19

[ Return to Index | Top of Index ]

MLDL2000 Manager software: new BETA version
Message #1 Posted by Meindert Kuipers on 10 Jan 2010, 7:19 a.m.

I have just published a new BETA version of the M2kM software. It can be downloaded from my website .

The disassembler is completely changed internally, and the listing allows for much more customization. Apart from the disassembler there are no other changes in M2kM (I hope). As this is still a BETA version, please give me you feedback about the disassembler. Be aware that the disassembler also works if you do not have an MLDL2000.

The one thing I have to add to the disassembler is full SDK41 compatible disassembly, that will be part of the final release.

Meindert

      
Re: MLDL2000 Manager software: new BETA version
Message #2 Posted by Vieira, Luiz C. (Brazil) on 10 Jan 2010, 8:07 a.m.,
in response to message #1 by Meindert Kuipers

Thanks, Meindert;

will give it a try and let you know ASAP.

In time: many of the original X-Functions do not work in the MLDL2000 'emulation': ALENG works but ANUM, ATOX works but AROT... I have a complete Work/NoWork list, and I did not include the ones dealing with X-Memory, of course. Is it possible that Page #3 has some kind of hardware disabling in the HP41C/CV scheme? Or should some of the 'unreported' X-Memory areas exist and are used as scratch pad for these functions? Do you happen to know something about it?

Cheers.

Luiz (Brazil)

(so far, MLDL2018A is working flawlessly...)

            
Re: MLDL2000 Manager software: new BETA version
Message #3 Posted by Meindert Kuipers on 10 Jan 2010, 8:41 a.m.,
in response to message #2 by Vieira, Luiz C. (Brazil)

Luiz,

I suspect that this is due to the CX bankswitching, which is somewhat different from the external ports. The MLDL2000 switches the banks in pairs, so bank 2 and 3 are switched together, and 4 and 5. I would first try to fill all banks of a page with the same contents, and then try again, let me know if this works (or not) and what the offending functions are.

Meindert

                  
Re: MLDL2000 Manager software: new BETA version
Message #4 Posted by Meindert Kuipers on 10 Jan 2010, 12:15 p.m.,
in response to message #3 by Meindert Kuipers

Luiz,

I have checked the pages for the HP41CX: Bank 2 of Page 3 (CX XFuncftions ROM) maps to Bank 2 of Page 5, and that is not done in the MLDL2000. Keep a copy of Page 5, Bank 2 also in Page 3, Bank2. My documentation states that bankswitching is not supported in pages <6, but looking at my code it should work in exactly the same way as the bankswitching in the higher ports.

Good luck with further testing!

Meindert

Edited: 10 Jan 2010, 12:17 p.m.

                        
Re: MLDL2000 Manager software: new BETA version
Message #5 Posted by Vieira, Luiz C. (Brazil) on 10 Jan 2010, 3:06 p.m.,
in response to message #4 by Meindert Kuipers

Hi, Meindert;

Sorry, I did not notice you wrote a complementary message! I read Monty´s follow-up and wrote him an answer. Based on what you observed, my conclusions were wrong and the problem seems easier to be solved. I will test your configuration and post results later

Imagine hacking the HP41 O.S... What about adding Angel´s complex features and HEPAX functionality altogether in the first pages, as part of the system? If the OS can be rewritten with the use of bank switching, chances are that it would fit in the first page alone. Well, if the guys who wrote the O.S. did not write it so, chances are that it is not actually a good idea, though.

So much for the dreaming, let me get back to my teacher activities (have not concluded the end-of-semester paperwork yet... It sucks big time!)

Cheers.

Luiz (Brazil)

            
Re: MLDL2000 Manager software: new BETA version
Message #6 Posted by Monte Dalrymple on 10 Jan 2010, 12:05 p.m.,
in response to message #2 by Vieira, Luiz C. (Brazil)

It may have something to do with the fact the the C/CV mainframe
ROMs start searching for functions in Page 4, completely
ignoring Page 3?



Monte

                  
Re: MLDL2000 Manager software: new BETA version
Message #7 Posted by Vieira, Luiz C. (Brazil) on 10 Jan 2010, 2:50 p.m.,
in response to message #6 by Monte Dalrymple

Hi, Monte;

once I loaded pages 0, 1 and 2 of the CX mainframe in a CV mainboard through MLDL2000, I considered that the O.S. reads page #3 as it addresses it through the system software. Fact is when I first used MLDL2000 (some years ago) I loaded page #3 of some CV units (coco- and halfnut) with some different ROM images. These ROM list their contents with CAT 2 (hence the system 'sees' it) but once you try to execute anything there you get NONEXISTENT.

When I loaded the CX ROM set (few weeks ago) in the MLDL2000 and powered a coconut CV without the ROM IC´s with it, it behaves accordingly, as a CX, except that the time functions return blank display and X-memory functions either return file-not-found errors, as expected, or no reaction at all (EMDIR, for example, always returns [124.0000] to the X-register and no message at all, like [DIR EMPTY]). Many features, like program size in CAT1, ROM headings in CAT 2 and the fully-operating CAT 6, were observed.

When I decided to test the extended functions that might work, the following ones did not work at all:

ANUM
AROT
CLKEYS
CLRGX    (CX only, right?)
GETKEY
PASN
PCPLPS
POSA
PSIZE
STOFLAG
X...NN   (none of these)
These ones worked fone:
ALENG
ATOX
SIZE?
RCLFLAG
REGMOVE
REGSWAP
X<>F
XTOA
SigmaREG?  (also a CX-only, and works!)
I could see no pattern that might connect each of the working (or the nonworking) functions with each other. The only thing I could think of is the use of RAM scratch area that was not there. You see, I never accepted too well the concept of X-Memory discontinuity as physical, I aways took it as existing RAM area for system scratch in some X-Function/Memory 'maneuvers'. I'd gladly accept any other concise explanation, though.

This is all I can remember now. I did not have the time to test the emulation in an actual CX mainboard this weekend, will do it in the days ahead. I am trying to repair a faulty one for ages (I actually have it waiting for an actual definitive go-nogo repair procedure), and will soon post about the results here.

Cheers.

Luiz (Brazil)

Edited: 10 Jan 2010, 2:57 p.m.

                        
Re: MLDL2000 Manager software: new BETA version
Message #8 Posted by Monte Dalrymple on 10 Jan 2010, 10:38 p.m.,
in response to message #7 by Vieira, Luiz C. (Brazil)

Luiz,

As to your first question, the CAT function searches everything
from Page 3 on, but the XEQ function starts at page 4 (C/CV).
This is why a Page 3 function shows up but can't be executed.

I ran into this issue when writing functions for my new design
and it took me a while, watching a trace, to figure out the
problem. I ended up having to map my new functions into Page 7
at startup.

As far as the CX X functiuons, everything shows up in the CAT
because the function entries are all in Page 3. However, most
of the functions jump fairly quickly to an address in Page 5,
after switching to Bank 2. So, if the bank switching isn't
done correctly the code will end up in neverland. That's why
most of your CX X functions aren't working. The ones that do
work remain in Page 3. For proper operation, the bank select
for Page 5 must be updated while executing in either Page 3 or
Page 5, but only Page 5 actually has multiple banks.

The CAT function is only capable of searching Bank 1, and that
is why it has to be done this way.

Hope that clarifies things,
MOnte

                              
Re: MLDL2000 Manager software: new BETA version
Message #9 Posted by Meindert Kuipers on 11 Jan 2010, 5:55 a.m.,
in response to message #8 by Monte Dalrymple

Monte is totally correct here. Luiz, I do not expect the MLDL2000 to work in this configuration. Remember, it always switches the odd and even banks. That means that bank 2 of Page 2 must also have valid contents (system ROM 2) when ENBANK is executed in Page 3 as Page 2 will also be switched.

In the case of the 41CX, bank 5 is also switched when ENBANK is executed while in Page 3, and the MLDL2000 will fail to do this. New firmware is required to implement and it is not very difficult, but I have no time to do that this week (travelling again).

Meindert

                              
Re: MLDL2000 Manager software: new BETA version
Message #10 Posted by Monte Dalrymple on 12 Jan 2010, 10:34 p.m.,
in response to message #8 by Monte Dalrymple

Luiz,

And I just noticed that the last CX OS code ( Rev NFL) jumps
directly into Page 3 in several spots. Clearly the authors
needed more space than was available in Pages 0-2. This means
that the CX X functions must be available in Page 3 or "bad
things" will likely happen.

Monte

      
Re: MLDL2000 Manager software: new BETA version
Message #11 Posted by Ángel Martin on 12 Jan 2010, 9:59 a.m.,
in response to message #1 by Meindert Kuipers

Greetings Meindert - I just downloaded the newer code and will take it for a spin in a couple of days - feedback will come then.

Thanks for keeping the 41-flame on!


[ Return to Index | Top of Index ]

Go back to the main exhibit hall