HP Forums

Full Version: Envisioning how I might use my HP 41CL
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

Since we early adopters are very close to finally being able to play with the HP 41CL (Thanks Monte!), I have gone through the rom listings and created a few potential "loads" - arrangements of roms - that I think I'll end up trying.

I **think** it will be possible to write small HP 41 programs that will switch back and forth between these loads. The program would handle all the MMU off/on, the PLUG commands, etc.

The first two "loads" are the "fun" loads:

Load 1: This has the CCD OSX to make using the HP 41 easier and games.

Port 1: CCD - OSX - 4K, ROM 5 and Trek ROM - 4K, ROM 11
Port 2: Sandbox - 8K, ROM 8, 13
Ports 3 and 4: Funstuff - 16K, ROM 10

Load 2: This is the adventure game load.

Ports 1 and 2: Adventure ROM 1 - 16K, ROM 12
Ports 3 and 4: Adventure ROM 2 - 16K, ROM 13

Work Load 1: This is somewhat a "work" load with some fun in there.

Port 1: CCD - OSX - 4K, ROM 5 and Alpha ROM - 4K, ROM 6
Port 2: Finance ROM - 4K, ROM 4 and Games ROM - 4K, ROM 10
Port 3: Sandbox - 8K, ROM 8, 13
Port 4: Trekkies ROM, 4K, Rom 11 and RAM - 4K

Work Load 2: This is an example of a work load. Not for me, but an example.

Port 1: Math Rom - 4K - ROM 1 and Stat Rom - 4K - ROM 2
Port 2: Finance Decisions Rom - 4K, ROM 4 and Circuit Analysis Rom - 4K, Rom 6
Port 3: Advantage Rom - 12K, Rom 22,24
Port 4: Survey Rom - 4K, Rom 3 and Standard Rom - 4K, Rom 5

I think this is going to be really fun.

Nice to see this much gray matter put in place in anticipation of the big event :-)

One comment I'd make related to the SandBox.:= As seminal it was to get my feet wet on MCODE I should say it's been replaced by other modules since:

- use the the TOOLBox-II for utilities

- use the Sandmtah for ... er math stuff

- use the Alpha ROM for Alpha powerhouse

- and last but not least the Bufferland and Rampage modules for deep & wide buffer and RAM management

I know, too much stuff but hey, this is a live system after all these years :-)

Best,
'AM

Its like the first day you purchased the 41C!!!!!!!!

Have to find a cave and play for hours!!!

Hunt the wumpus, wasn't that a game?????

Geoff

As well as "The Caves" and more.

http://www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/archv019.cgi?read=169266

Gene,


I should point out that all of these presuppose that you have the 41CL Extra Functions in Page 6 or Page 7.
Otherwise there's no way to change the configuration.

Monte

Oops. Yes.

But I am assuming that you could have a program in regular ram memory that could enable the MMU and load up the ports, right?

It would need to...

LBL SETUP
MMUCLR
804070-8007 in alpha and YPOKE (for me since I want YFNZ at page 7)
MMUEN
RTN

LBL FUNLOAD
UPLUG1
UPLUG2
UPLUG3
UPLUG4
CCDX in alpha
PLUG1L
TREK in alpha
PLUG1U
SBOX in alpha
PLUG2
FUNS in alpha
PLUG3
RTN

or such. That way, you can have multiple programs in main memory to change the roms loaded between "sets."

Will the entire thing work like that or do the MMU functions need to be separate?

This should work. Note that you don't really need to UNPLUG the

current modules from the Ports. The PLUG functions will just

overwrite the current MMU programming, effectively replacing

what's currently in the Port. The UNPLUG commands are mostly

there for when you want to plug a physical module into a Port.

Monte

That's what I was hoping. I can imagine a set of 4 or 5 such "load roms into ports" programs if that works.

Woohoo!

I've contemplated the same thing :-)

Hadn't decided what load outs I wanted.


- Pauli

Quote:
...
LBL FUNLOAD
UPLUG1
UPLUG2
UPLUG3
UPLUG4
CCDX in alpha
PLUG1L
TREK in alpha
PLUG1U
SBOX in alpha
PLUG2
FUNS in alpha
PLUG3
RTN
...

Couldn't that be executed like this:

LBL FUNLOAD
CX in alpha
PLUG1L
TK in alpha
PLUG1U
SX in alpha
PLUG2
FS in alpha
PLUG3
RTN
because only the first and the last char are parsed?!

Or do you check that the module identifier has four chars?

then this:
LBL FUNLOAD
CAAX in alpha
PLUG1L
TAAK in alpha
PLUG1U
SAAX in alpha
PLUG2
FAAS in alpha
PLUG3
RTN
would do it because the two middle chars will not matter, right?

Edited: 7 June 2011, 8:29 a.m.

I believe 4 character labels are required, so yes, your second approach would work.

Yes, four-character labels are required, although only the first and last characters are parsed.

I went with four in an attempt to make the labels more user-friendly. When I started writing the parse routine I realized that it was going to take too much code to check all four characters. Hence the first-and-last check. I suppose that I should have just reduced it to two at that point, but I felt that a two-character code might appear too "techie" to the casual user. One of my primary goals was to make this machine accessible to users like myself.

Monte

Edited: 7 June 2011, 10:46 a.m.

Contrary to what my message above might imply, I agree with that.

I was just "exploiting the mechnisms behind it" to better understand.


Four letters are the better "mnemonic"!

Just two letters would be to short for beeing an aid to remember.
(even though the other guys in this forum are "hardcore"-experts enough to now most of the module names anyway by heart, not like me :-)