Anyone want custom hp41 rompacks?



#26

Hi all.

If anyone wants some software for the 41 put in a plug-in module,
all you need to do is contact me and send me a module with a list of the software you want in it. I gut the modules and build in a chip, program and test it. Subject to copyright restrictions I am happy to supply reprogrammable, pre-programmed appliation packs for the 41. I am also able to write user code for the machine.

donwallace63@yahoo.com.au

For prices you will need to write to me.

DW


#27

I might be interested in a service ROM. Don't know what the copyright status is, but the bits are widely available.


#28

Do you use your own plug in module hardware solution, or the existing module designs Clonix or NoVRAM from Diego Diaz or the nice Zeprom ?

With best wishes from Germany - Christoph Klug


#29

Hi Chris.

At present the hardrware is a copy of Diego D.'s (actually almost identical to John I.'s) system.

At present the firmware is Diego's (John's?) old code.

I expect now I have it running reliably, I will alter the
PIC code a bit. Although that code is really great, I can see the possibility for some enhancements. Certainly to take the development work foward into other territory the code and hardware will change quite a bit. This is near the top of my list of prioroties.

I am going to do some audio and digital electronics engineering work too, though, so the projects will run concurrently.

DW


Edited: 21 Sept 2005, 6:18 p.m.

#30

Hi Howard.

(Tongue firmly planted in cheek...) What?! Is that all? You can put a lot of other code in there too.

The other thing Howard, is that given there are no 41 (spare) parts, I can't see a service module being all that useful to you. Also, if the service module works then there's not that much wrong with the calc.

You can test the RAM very easily with a user mode program.
Finally, the service module isn't just software. There's some unusual hardware in there too, which code can't emulate.

Still, if you want one, can do! Would be a lot of fun to play with.
How about some synthetics? Advantage? Assembler? Get my drift...?

Thanks for your feedback. Always nice to hear from you.

Cheers,

DW


#31

Don said:

Quote:
Finally, the service module isn't just software. There's some unusual hardware in there too, which code can't emulate.

And just what might that hardware be? Or at least, whats-it-do?


#32

Hi Randy.

I'm not really sure!

DW


#33

Thanks Don,

Saves me the trouble of opening my Clonix to look for extra bits - since it works fine with the service rom loaded (-:

#34

Quote:

The other thing Howard, is that given there are no 41 (spare) parts,


That's odd.. I seem to have lots on hand. 8)

Quote:

Finally, the service module isn't just software. There's some unusual hardware in there too, which code can't emulate.


I believe that the last time this came up, (in connection with emulating the service module on the MLDL2000,) Eric Smith stated this wasn't actually the case. Subsequent reading (In William Wickes "Synthetic Programming" book, I think) states that the service module takes over the 41 OS by virtue of living at a particular ROM address and implementing specific hooks. In other words, apart from the addressing, there's nothing but software involved. Perhaps Eric can set me straight if I have that wrong.

Quote:
Still, if you want one, can do! Would be a lot of fun to play with.
How about some synthetics? Advantage? Assembler? Get my drift...?

Welll, I am on the list to get an assembled MLDL2000. I think I'll wait to see how I do with that before I go hog-wild on copies of already existing modules. I might make an exception for the service module, assuming I remeber Eric's comments correctly.

As far as custom code, that sounds interesting. I need to think about that a bit more.

Quote:

Thanks for your feedback. Always nice to hear from you.

Cheers,

DW


And to you!


#35

Hi Howard,

Oh yes, I forgot you "got spare parts"... ;-)

The thing is, my clonix clone does not latch up or crash.
That's gotta be a positive factor vis-a-vis other stuff.

To check up on things w.r.t a service module I suggest a careful read of the original hp documents. You guys can probably prove
me wrong; that's cool. I haven't had time to read all of the documentation thoroughly enough to recite it chapter and verse.
There's a fair volume of material. (Show me the money...)

With regard to the service module just being software,
how then would it be able to calculate processor clock speed?
(Think carefully before you answer..., where's the timebase?)

I am not talking about it being at page 4 in the system. That's got nothing to do with anything... And besides, Forth sits at page 4 and 5 and it does not run the cpu all the time, nor is it a program which can't exit back to the original rom os on command ("bye").

I'm not hp, but if I had designed the service rom (maybe I am getting confused with the diagnostics rom?) at that time, I CERTAINLY would have used some logic which was not rom circuitry.
Logic is just too useful (to have in a hardware diagnostic package)...

Contrary to what programmers think (and I am not having a go at anyone here, just being frank, honest and speaking from some experience), there is a lot of stuff you can do very differently with hardware or which requires hardware to implement. Turing might not agree, but then he was a mathematician and not an engineer. Babbage was way ahead of his time sadly for him, but his hardware solution to computation is interesting in that it actually works... I'd hate to have to actually compute (anything) on the original Turing machine. Do you see my point? Not all computers are digital machines, either, btw...

Software is great, but it's not the be all and end all.
You still need hardware to "run it on".

And most software of the type we are discussing here (as opposed to more specialized stuff) assumes the existence (intact) of all required hardware to run. That's not the case in a defective system under test. Intermittent faults make the situation worse again...

On a different, related subject this quiz might be interesting:

Q. The most complex software in the world is found:

a: In UNIX (/LINUX)

b: In Micro$oft Windows XP / NT4 etc...

c: In the space shuttle take-off / landing Computer

d: In AT&T's 4ESS telephone switching system (or whatever it's called nowadays)

You might just be surprised at the answer...

Q. In the correct answer above the largest proportion of the code is devoted to:

a. Kernel operations (including task switching)

b. mathematical computations (including memory addressing)

c. User interface and human factors (e.g. drawing graphics)

d. Error detection and correction (include software and hardware
malfunction detection and recovery in this category)

Again, maybe the answer will surprize you.

DW

P.S. happy coding, guys!

Edited: 21 Sept 2005, 9:41 p.m.


#36

Hmm. Lots of grist for the mill in this one! 8)

Quote:
The thing is, my clonix clone does not latch up or crash.
That's gotta be a positive factor.

All other things being equal, I'd say that one could be definitive. 8)

Quote:
...

With regard to the service module just being software,
how then would it be able to calculate processor clock speed?
(Think carefully before you answer...)


Good question. Seems like you'd need an external reference.

Quote:

I'm not hp, but if I had designed the service rom (maybe I am getting confused with the diagnostics rom?)


Maybe. Or maybe I'm the one who is confused. I wasn't aware there was a diagnostics ROM as distinct from the service ROM.

Quote:

Contrary to what programmers think (and I am not having a go at anyone here, just being honest and speaking from some experience),


Oh, yeah. And it's "to-may-toe" I tell ya! 8)

Quote:

there is a lot of stuff you can do very differently with hardware or which requires hardware to implement. Turing might not agree, but then he was a mathematician and not an engineer.


It's two levels in the abstraction layers we wrap around the mapping of the motion of electrons and photons into informationi processing. There is therefore no necessary disagreement. Alan Turing invented the field of Computer Science in one fell swoop in 1936. His work was pure Mathematics. And while it was revolutionary in scope and impact, it bore no relation to any physical machine doing real computational work. (This was before Bletchley Park, remember.)

Real computers have to deal with real electrons traveling through real circuits. Considerations of timing, temperature, conductivity, permissivity, crankiness, colic and gout are paramount. 8) There is plenty of theoretical work underpinning Electrical Engineering too, but the impact of the real physical world makes EE a whole different art form than CS. I say this as one who is untrained in the former and self-taught in the latter. (I have had frequently to make software work for EEs, MEs and Physicists in the past, so I am familiar to some degree with how they think. I've also formed some conclusions about why they think the way they do, which I'm saving for my Magnum Opus: "Everything I Need to Know I Learned by Cleaning Up After Computer Users Too Clever By Half To Clean Up After Themselves". The title is tentative. I may need to flesh it out a little more.)

So it's all well and good to conceive of an abstract machine, and to investigate its properties, thereby founding a new branch of Mathematics. (It's actually damned good, far exceeding anything most of us, or me at least, could even aspire to acheiving.) But it's another trick entirely to go and implement a physical system that embodies the abstract machine. And to expect that physical system (or multi-layerd systems of systems) to behave purely according to the abstract machine model is silly.

Quote:

Babbage was way ahead of his time sadly for him, but his hardware solution to computation is interesting in that it actually works... I'd hate to have to actually compute on the original Turing machine. Do you see my point?


I think so. 8)

I've heard it said, by the way, that Babbage was too much the Mathematician to design systems that could realistically be implemented with the available technology. I'm aware that a group in England created an Analytical Engine using machining techniques of the time. But "realistically" includes not only the mechanical engineering, but the financial wherewithall. That's another whole level of abstraction, God help us.

Somewherre I saw a modified ISO model of networks that illustrates this:

Religious <-- You are here
Financial
Application
Presentation
Session
Transport
Network
Data Link
Physical

Quote:

On a different related subject this quiz might be interesting:

Q. The most complex software in the world is found:

a: In UNIX (/LINUX)
b: In Micro$oft Windows XP / NT4 etc...
c: In the space Shuttle take-off / landing Computer
d: In AT&T's 4ESS telephone switching system (or whatever it's called nowadays)

You might just be surprised at the answer...



I think it's the phone switching system. It's an enormous, distributed computer. Linux is less complex than the NT code base, to judge by number of lines and tendency to crash. So I'd place Windows and Linux at 2 and 3. The software for landing the space shuttle has to run on some pretty old machines, so I'll put that as the least complex.

I answered that off the top of my head, and will not change it if I got it wrong.

Quote:

Q. In the correct answer above the largest proportion of the code is devoted to:

a. Kernel operations
b. mathematical computations (including memory addressing)
c. User interface and human factors (e.g. drawing graphics)
d. Error detection and correction (include software and hardware malfunction detection and recovery)

Again, maybe the answer will surprize you.


D. The uptime and fault tolerance of the phone system, in the US at least, is unrivaled.

Quote:

DW

P.S. happy coding, guys!


Yeah, and happy, umm, soldering there, Don. 8)


#37

Hey, Howard! Interesting post!

I really enjoy raving on this forum (I just hope I don't bug too many people...) Only bettered by the great replies I get from you and the other knowledgeable people here (*everybody* here in their own way).

So many good points in your post Howard!

The thing is, when you look at it, Maths, CS and EE are just amazing endeavours. The whole idea of developing systems which do symbolic processing at the speed and precision at which the cutting edge operates is amazing to me. A systems approach, with that line
between the hardware and software being somewhat arbitrary and certainly movable, really fascinates me.

You wrote:

Religious <-- You are here
Financial
Application
Presentation
Session
Transport
Network
Data Link
Physical

well, I guess that would also apply to me some of the time...

Congrats on the quiz, you scored 100%

There's a great book which some people here might find interesting called "Fatal Defect" by Ivars Petersen. Although it is not actually 100% correct in every single detail, it covers software glitches in a way I have never read before. It's well written too.
Examples are a software glitch in a therapeutic x-ray / electron beam machine which killed a few people in Texas 20 years ago, a
bad GUI in the A300 aircraft which has led (it's been argued) to a number of (real aviation) crashes, the famous AT&T phone system crash of 1991 and the aborted launch of the first space shuttle flight in 1981 (when I was "doing time" in the Aussie Air Force as a cadet comms engineer and mucking around with my then-new 41CV doing math for third year students...).

But I am getting into another (+ve) rave again...

I suppose that is what I like about the "old" hp, the engineering
involved in the whole package, whether it was an oscilloscope, RF spectrum analyzer or a humble scientific calculator, were simply not bettered. Equalled, maybe, by other firms in particular fields, but not bettered. So hp had a real "class act", back then...

Now they are making bubble jet printers, competing with Canon
(whom I once worked for doing repairs on calculators and desktop computers... for $A306 a week before tax).

You also wrote:

Oh, yeah. And it's "to-may-toe" I tell ya! 8)

Absolutely...

DW

Edited: 21 Sept 2005, 11:31 p.m.


#38

Quote:

The thing is, when you look at it, Maths, CS and EE are just amazing endeavours. The whole idea of developing systems which do symbolic processing at the speed and precision at which the cutting edge operates is amazing to me. A systems approach, with that line
between the hardware and software being somewhat arbitrary and certainly movable, really fascinates me.


Yes, and it's miracle it all works, sometimes. Or maybe all the time. 8)

Quote:

You wrote:

Religious <-- You are here
Financial
Application
Presentation
Session
Transport
Network
Data Link
Physical

well, I guess that would also apply to me some of the time...


I remember now that this was on a t-shirt I bought around 1987, I think. At any rate, it was then when I first got sime insight into how networks were being managed at the large scale. The big fights then were between TCP/IP, the protocol of the Internet or "arpanet" as it was still sometimes called) and other protocols like X.25 and DECNet. The latter was important where I worked, in the Physics department at UCSB. We ran Vaxen with connections to various DECNET based "internets." SPAN, the Space Physics Analysis Network from NASA and HEPnet, the High Energy Physics network were two of those. (Digression: one of our links to the latter was over a 56K line to the Stanford Linear Accellerator. When the Loma Prieta earthquake struck the Bay area in 1989, that line stayed up. That was an early indication for me of just how robust the telephone network really was.) Anyhow, the "Religion" in the diagram was just so appropriate, given how the various groups sniped at each other. The thing about computer networks, then as now, is that they cross organizational lines. But back then that was kind of novel. So there was a lot of groping around for how to deal with groups needing to cooperate in ways they hadn't had to up to then. And the usual outrageous academic politics would flare up in ways that could be amusing - from a distance.

So the "religious" layer could just as well be labeled "political" is the point of all that.

Quote:

There's a great book which some people here might find interesting called "Fatal Defect" by Ivars Petersen. Although it is not actually 100% correct in every single detail, it covers software glitches in a way I have never read before. It's well written too.
Examples are a software glitch in a therapeutic x-ray / electron beam machine which killed a few people in Texas 20 years ago, a
bad GUI in the A300 aircraft which has led (it's been argued) to a number of (real aviation) crashes, the famous AT&T phone system crash of 1991 and the aborted launch of the first space shuttle flight in 1981 (when I was "doing time" in the Aussie Air Force as a cadet comms engineer and mucking around with my then-new 41CV doing math for third year students...).


Sounds like some of the topics that were and are kicked around on the RISKS list. How organizations succeed and fail is very interesting to me. I'm a geek, not a manager, but I just get a kick out of exploring how human beings act in packs.

Possibly apropos of that, I read a very dry sociological work called "The Challenger Launch Decision" several years ago. This was an analysis of that famous disaster undertaken several years after the fact. The author was an academic who was puzzled by the conclusions of the official investigations, the independent commission and two congressional inquiries, insofar as it ascribed basically evil motives to the managers at Morton Thiokol and NASA. The idea was called the "immoral calculator hypothesis," and it asserted that those managers deliberately hid evidence of problems with the SRB seals, in order to keep to the flight schedule. This didn't make sense to the author, so she looked more closely at the actions of the people that were involved, starting from the beginning of the shuttle program forward to the disaster. So there's lots of detail about how the different groups that contributed to the space shuttle's development and management worked over a fairly long period. She concluded that what really happened was that each time something unexpected occurred, like the seals showing more erosion, as they did flight after flight, they would re-baseline their expectations of what was "normal" for the next flight. So they would see 20% burn through of the inner seal, for example, which they would go off and exhustively analyze. They would conclude that it wasn't actually a danger to the mission, since there were two seals in a redundant arrangement. The next time, there would be 40% burn through, and they would go through the same procedure. So they incrementally accepted more and more risk, never taking too big a jump into the unknown. She called this process "normalization of deviance," and made a persuasive case that that was the real reason the fatal decision was eventually taken.

Something similar may have happened with the Columbia and debris from the external tank. They had plenty of evidence that the foam was a problem, but no truly mission threatening damage until the final flight.

Quote:

I suppose that is what I like about the "old" hp, the engineering
involved in the whole package, whether it was an oscilloscope, RF spectrum analyzer or a humble scientific calculator, were simply not bettered. Equalled, maybe, by other firms in particular fields, but not bettered. So hp had a real "class act", back then...


There's a whole other topic we have beat to death in other threads, about how the rate of change has tended to flush that sort of attention to quality out of commercial electronics and software. I always feel middle aged when I consider it. "Why, when I was a boy, we had REAL computers, not these new-fangled low-quality, fancy-schmancy quantum entaglement thingamajigs.." 8)

Quote:

Now they are making bubble jet printers, competing with Canon
(whom I once worked for doing repairs on calculators and desktop computers... for $A306 a week before tax).


And they continue to beat the pants off Canon and everyone else in that market. Cold comfort, I say.

#39

Quote:
Subsequent reading [...] states that the service module takes over the 41 OS by virtue of living at a particular ROM address and implementing specific hooks.

Just one hook. The mainframe ROM does a CALL 4000 (hex) early on. If there is any ROM there, that gets control. Otherwise, the fetch from 4000 will return an all-zeros word (due to bus precharge). Normally that would be a NOP, but the Nut processor will treat a zero word at the target of a CALL instruction as a RETURN.

The service ROM never returns control to the normal 41 OS; it might call some subroutines in the 41 OS, though I somewhat doubt it. I have not taken the time to disassemble the code.


#40

Hi Eric.

Thanks for the info; useful...

DW

#41

Hi Eric,

Yes, the call is @ 0180H, early in the sleep wakeup. Interesting that you should call it a RTN when there is no rom there (or more correctly: a null word at 4000H). What surprized me about your post is that you say it is a RTN instead of a NOP.

This implies that a stack level is used, something i hadn't realised. Other references i have indicates it is a two word NOP, so i never bothered to test the stack contents.

Thanks!


#42

Hi Eric, Doug.

Does the 41 os do a real CALL or does it first test the data returned from ADDR:4000?

I have not bothered to look at the VASM listing, but if I was designing, I'd test the word first, then do the CALL if the ROM
existed... That makes much more sense in a system which is designed to have optional ROM in different locations.

I read something vague in the hp literature whcih said if a null was read then the processor doesn't do a CALL. I imagine the data is tested first... Your thoughts, guys?

DW


#43

The JSB (otherwsie known as a CALL) is executed normally. If the first instruction fetched after a JSB is a NOP (all zeros) it is automatically interpreted as a RTN by the CPU. There is a trace of what this looks like on http://www.systemyde.com/hp41. The CPU contains special logic to do this.

Monte


#44

Thanks Monte.

I couldn't remember the way it was implemented.

DW

#45

This is a very powerfull feature of the NUT processor. Any attempt to execute a subroutine in a non-existing part of memory would result in an immediate return and saves bytes when coding. This is also used when executing the entry points at the end of a module. I do not recall if the status of the carry is influenced by the result of the jump.

Meindert

#46

The (image of the) Service Module runs quite well on the MLDL2000, I have verified this about one month ago. There is no strange hardware in the module, but depending on the test you just need the modules being tested and in some cases (see the Service Manual) you could measure voltages of verify signals with a scope.

There is no recovering from the Service Module, apart from removing it from the HP41 or, in case of the MLDL2000, disabling page $4000.

Meindert


#47

Hi Meindert.

How do you know the service module is only a ROM?

Any unusual hardware will not be visible to you because all you have is the bits in the ROM image.

How does the module measure processor frequency?

DW


#48

Have a look at the HP41CX Service Manual, page 4-8: a Time Module is required for the clock frequency test on the '41C and '41CV (built inside the CX). I have been able to runs almost all tests, and those I did not run was because I did not bother to plug the hardware in (Cardreader etc).

I have even done a more spectacular test. I have bought a Wand through Ebay, but it did not work (could not see anything in the CAT 2 listing), but the LED would light up. I plugged this Wand in a port, loaded the WAND ROM image in the MLDL2000 and voila (excuse my French) : I have a perfectly working WAND again!

Meindert


#49

Ah!

Thanks for the info, Meindert.

Now that all DOES make sense...

DW

#50

Hi Howard. If you want one write to me:

donwallace63@yahoo.com.au

Don W


Possibly Related Threads...
Thread Author Replies Views Last Post
  Custom Key Asignment CD Dodds 2 156 11-15-2013, 10:13 PM
Last Post: CD Dodds
  3D printing custom molds Han 3 188 08-02-2013, 03:26 AM
Last Post: Bruce Larrabee
  HP-41C Custom Survey Module Identificaiton Help Dan Grelinger 0 127 01-27-2013, 01:51 PM
Last Post: Dan Grelinger
  Custom builders? jason foose 21 769 10-26-2012, 03:16 PM
Last Post: Eddie W. Shore
  Custom Made Leather Cases for Voyager Calculators Juergen Keller 8 378 01-09-2012, 02:47 AM
Last Post: Paul Dale
  WP34s with custom finish :) Lode 9 330 08-24-2011, 09:58 AM
Last Post: Lode
  Your opinion about this custom USB charger for vintage Calculators Namir 3 151 08-10-2011, 09:56 PM
Last Post: BobVA
  Obscure 41 Custom Modules: SNEAP Ángel Martin 1 116 06-28-2011, 09:07 AM
Last Post: Philippe Lasnier
  Custom HP 45 Jim Gossett 4 182 05-06-2011, 08:16 AM
Last Post: Mike Morrow
  HP-41 MCODE: Compilation of routines for custom modules? Geir Isene 0 88 11-28-2010, 05:03 PM
Last Post: Geir Isene

Forum Jump: