|Re: Need some 41CX, Quick Start Answers|
Message #6 Posted by Steve (Australia) on 7 Dec 2000, 9:24 a.m.,
in response to message #1 by Mike
How much memory is an interesting question.
The HP41 architecture seperates RAM and ROM into different address spaces. In fact the different address spaces even have different word sizes!
8 bit bytes in RAM and 10 bit bytes in ROM.
The RAM address space is 1024 registers, but because of the requirement for gaps in certain areas, the practical maximum would be less.
The status registers take up 16 registers (T, Z, Y, X, L, M, N, O, P, Q, |-, a, b, c, d, e).
Then comes 64 registers for a C or 320 registers for a CV or CX.
Then there's a gap
Then at a fixed memory address the first there's 128 (not exactly sure of this) registers of Extended memory for the Extended functions module (internal on the CX)
With each additional extended mem module you add a further 238 registers of extended memory.
So the fully expanded RAM is 16 + 320 + 128 + 238 + 238 registers (a total of 940 registers or 7520 bytes)
Note also that some peripherals appear to have memory mapped to them. The card reader in early versions would corrupt extended memory when you executed some of the 7xxxx functions. I'm not sure if this reflects some use of RAM, or some sloppy coding.
ROM is another matter. The HP41 has 16 pages of 4K. This is a total of 64K, but there are some tricks...
Firstly the first 3 (?) pages are the HP41 Operating system.
One page is reserved for a diagnostic ROM
One page is pretty much reserved for the printer.
That leaves 11 pages.
But you can only have 4 modules plugged in! Some modules are actually double (i.e. they are 8K). In addition Port extenders were made by 3rd parties that allowed you to have more ports) Also some brave souls broke open their modules and fitted more than one inside each case (I have a X-FN + 2 x EM in one case).
But there's more. With the CX, HP demonstrated that it is possible to bank switch the HP41 ROM. Some additional ROM hides at the same address as the printer (from memory)
Some clever soul determined that it was possible to bank switch any bank, so it would be possible to address 128K of ROM (however bank switching the HP41 OS would be rather dangerous)
So In RAM, your CX has about 3.6 Kb and probably around 20K of ROM. With 4 ROM modules you would add between 16 and 32Kb to that.
And does anyone know if it was possible to do 4 way bank switching -- I seem to remember something about that????