Hi
5 beer and 2 Chivas Regal later, I try to answer..... :-)
Additionally, English is not my mother tongue, so please excuse any typos or other problems with this text. If something isn't understandable, just ask over and over.
Hope, the following text doesn't add up to your confusion...
It's 1:14 a.m. here in Austria.
------------------------------------
You show all the Memory Map used up to FFFFF, with a few things that were not accounted for, as follows:
What's not configured here
+-------------------+ xxxxx
| Port5 RAM 3 (5.3) | 32 k RAM
+-------------------+ xxxxx
| Port0 RAM(0.0-0.3)| internal 16k RAM
+-------------------+ xxxxx
| Port0.05 (ILROM)) | 16k HPILROM
+-------------------+ xxxxx
| Port5 RAM 1 (5.2) | 16k FORTHROM (movable part)
+-------------------+ xxxxx
This amounts to 64K + 16K. Is this how short I am with space?
---------------------------------------------------
Yes, I've shown an address space occupied by 4 RAM modules in the front port and an (imaginary) Forth ROM (32kBytes unmovable + 16kBytes movable) + 128 kBytes Card reader. In theory, you could solder all the 64k modules into the machine and plug 4 additional modules into the front ports (this would be a real overkill).
---------------------------------------------------
You also show: 4 RAM Spaces that take 64K each (ports 1-4) 1 Forth Space that takes 64K
---------------------------------------------------
Yes, that was a small error in the model I used, but anyway, even in my nmodel, you would have to remove a ForthROM and a 64k module to free enough space. The CONFIG routine in the 71B ROM is some pages long and not easy to understand without all the theory. I try to explain the mechanism anyway.
----------------------------------------------------
But you can't use 4 64K RAM ports (1 to 4) and have a space for the FORTH ROM. So, even though the address space is fixed for the FORTH ROM, doesn't that free up 64K that is movable and can
be used by some of the items above that was left out.
----------------------------------------------------
No, the uppermost 32kBytes (F0000-FFFFF) are always reserved, like the 32 k from 20000-2FFFF) and a ROM space of 64k (00000 - 1FFFF)
If so, does that mean I am only 16K short?
I mean you show Port 4 as:
+-------------------+ 8FFFF
| Port4 RAM 1 (4.0) |
+-------------------+ 9FFFF Front Port 4 64kBytes
| Port4 RAM 1 (4.1) |
+-------------------+ AFFFF
But if I plug the FORTH ROM into port 4, doesn't this free up 90000 to AFFFF for some of the RAM at the top that did not fit into the Memory Map?
---------------------------------------------------
In my model you had a 64k module too much, which occupied a port too much.
If you remove this and have
3 * 64k RAM (Ports 1-3)
+ 32 k ROM (Forth, Port 4 unmovable) + 16k ROM(Forth, movable)
+ 16 k (IL)
+ 128k (Crd reader) +
128 k system (ROM + reservedRAM )
+ 16 k internal RAM
you're only 16kBytes short. It depends on luck, if this is the 4 internal 4k RAMs (fortunate case) or the 16k HPILROM (unfortunate case). I'd believe, the smaller 4k parts are falling out of configuration, but I'd have to study the Internal Design Specifications to verify that.
My feelings about such things are normally 99% right, so I would believe my opinion in first approximation.
-------------------------------------------------------
It appears that I'm somewhere between 16K and 64K short. IF I pull the HP-IL (16K) I still get the WRN:
-------------------------------------------------------
I'm not sure yet, what happens, when the available space is filled up exactly, but I am sure, that 128 kBytes of address space are reserved for system purposes.
Cited from the HP71B HP Journal: "1 Meganibble is easy to use up."
Look at the 48 series. There's a serious amount of Bank switching, though there's plenty of space (theoretically).
--
Oh, what would I give for the possibility of working on the Saturn's successor....
I'd do everything for the chance working on a new generation of HP calculator processors.
I'd have some ideas, that would kick TI's 68000 clone in the ass...
-------------------------------------------------------
but if I pull one of the 64K RAM, I don't. Anyway, I guess if I don't get the WRN:, I'm ok,
right?
----------------------------------
That's true. If you don't get the warning, you won't experience any troubles with failing modules, lost ROMs, ...
--
One additional problem in calculation of address space is, that this calculation is only valid, when you have no RAM ports assigned. RAM ports are moved into the upper region of the address space to guarantee a continously :MAIN address space (which begins at 30000).
Hope I didn't add too much confusion with this explainations. I'm glad to answer such a technical theme here in the forum.
I believe, there are other great guys too, who seem to have understanding of the 71s architecture.
In fact I mean Tony Duell, who has surely read and understood the articles about that stuff and our friends of PPC Paris, who were great 71B wizards.
Anyway, I'm always ready to help, when there's a 71B question. I'm not sure, if I have enough expertise for talking obout other machines, but if I'm good enough, I try...