HP Forums
CMT 64Kb RAM module for HP-71b question - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html)
+--- Forum: General Forum (/forum-4.html)
+--- Thread: CMT 64Kb RAM module for HP-71b question (/thread-17447.html)

Pages: 1 2


CMT 64Kb RAM module for HP-71b question - polbit - 09-08-2021 01:23 AM

I have recently received one of these, and it has this silver rectangle pouch(?) that fits mostly into the module as it is inserted into 71. Since I can’t find any instructions, etc. can someone let me know what that is, why is is different from the 32k modules? Thanks!


RE: CMT 64Kb RAM module for HP-71b question - Sylvain Cote - 09-08-2021 02:51 AM

It is a backup battery.
When setup as an IRAM, the CMT 64KB RAM module with the inserted battery can be used to move data between 71B's or as an external backup as long as the battery is working.
As specified in the manual, the battery must be inserted correctly in the module, otherwise it may damage it.
Sylvain


RE: CMT 64Kb RAM module for HP-71b question - rprosperi - 09-08-2021 02:56 AM

(09-08-2021 01:23 AM)polbit Wrote:  I have recently received one of these, and it has this silver rectangle pouch(?) that fits mostly into the module as it is inserted into 71. Since I can’t find any instructions, etc. can someone let me know what that is, why is is different from the 32k modules? Thanks!

That's a battery. The 32K modules could preserve contents for a few seconds, e.g. while swapping ports; the board/component design had enough capacitance (maybe not the right term here) to maintain the RAM contents. But the 64K+ modules could not retain their contents, so CMT added this very small lithium battery, to similarly retain RAM contents for short periods.

Your battery is almost certainly dead, and unfortunately, no one has been able to locate a supplier for replacement batteries. The module itself will still work fine, even with a dead battery, but if you remove it from a 71B, it will instantly lose contents.

Yeah, he beat me...


RE: CMT 64Kb RAM module for HP-71b question - polbit - 09-08-2021 11:44 AM

Thanks! I figured it was a dead battery, just an unusual shape Smile


RE: CMT 64Kb RAM module for HP-71b question - polbit - 10-09-2021 10:30 AM

I finally had a chance to actually use the module, and unfortunately all is not well - at first when used as main RAM, the 71b would crash after entering a program and running it for a bit, but MEM would show full amount. Now when I plug it and reset the calc, it’s showing 16K less, and no longer causes crashes. When and free the 1st port, then claim it again, it then shows full memory. Proceeding to free the port again causes it to crash…

Does anybody repair these by any chance? Or is there anything I can try myself?


RE: CMT 64Kb RAM module for HP-71b question - Dave Frederickson - 10-09-2021 09:10 PM

(10-09-2021 10:30 AM)polbit Wrote:  Does anybody repair these by any chance? Or is there anything I can try myself?

Trim a business card to the width of the module opening. Moisten about 1/4" of the end of the card with DeoxIT D-Series. Insert and remove the card into the module a bunch of times. If it's a contact problem hopefully this will take care of it.

Does the problem occur with all ports?

Dave


RE: CMT 64Kb RAM module for HP-71b question - polbit - 10-09-2021 10:52 PM

(10-09-2021 09:10 PM)Dave Frederickson Wrote:  
(10-09-2021 10:30 AM)polbit Wrote:  Does anybody repair these by any chance? Or is there anything I can try myself?

Trim a business card to the width of the module opening. Moisten about 1/4" of the end of the card with DeoxIT D-Series. Insert and remove the card into the module a bunch of times. If it's a contact problem hopefully this will take care of it.

Does the problem occur with all ports?

Dave

Thanks Dave, I will definitely try that.

Yes, I tried three ports on two different 71b machines.


RE: CMT 64Kb RAM module for HP-71b question - polbit - 10-09-2021 11:43 PM

(10-09-2021 09:10 PM)Dave Frederickson Wrote:  Trim a business card to the width of the module opening. Moisten about 1/4" of the end of the card with DeoxIT D-Series. Insert and remove the card into the module a bunch of times. If it's a contact problem hopefully this will take care of it.

Does the problem occur with all ports?

Dave

Well, I cleaned it, but it didn't seem to help. However, I realized that I have always tested with MultiMod (default config). Removed it and everything works perfectly. Furthermore, trying three 32K RAM modules with MultiRom installed the third one always has issues, just like the behavior of the second port of my 64K module when I had it installed with one 32K module. When I'm only using 2x32K or 1x64K, MultiRom works fine... Looks like false alarm on the RAM.


RE: CMT 64Kb RAM module for HP-71b question - Dave Frederickson - 10-10-2021 01:02 AM

(10-09-2021 11:43 PM)polbit Wrote:  
(10-09-2021 09:10 PM)Dave Frederickson Wrote:  Trim a business card to the width of the module opening. Moisten about 1/4" of the end of the card with DeoxIT D-Series. Insert and remove the card into the module a bunch of times. If it's a contact problem hopefully this will take care of it.

Does the problem occur with all ports?

Dave

Well, I cleaned it, but it didn't seem to help. However, I realized that I have always tested with MultiMod (default config). Removed it and everything works perfectly. Furthermore, trying three 32K RAM modules with MultiRom installed the third one always has issues, just like the behavior of the second port of my 64K module when I had it installed with one 32K module. When I'm only using 2x32K or 1x64K, MultiRom works fine... Looks like false alarm on the RAM.

I always run Paul Berger's MEMBUF, available in the FRAM71 Toolkit, to verify memory configuration.


RE: CMT 64Kb RAM module for HP-71b question - mfleming - 10-10-2021 12:07 PM

Yes, you've run out of address space with the default MultiMod configuration plus three 32K RAM modules. I think the address assignment after power up would be

E0000 Forth hard ROM
C0000 32K RAM
A0000 32K RAM
80000 32K RAM
60000 32K Math ROM
40000 32K JPC ROM (from first configuration pass)
40000 16K Forth ROM
40000 16K ULIB (from first configuration pass)

I'm not quite sure how the MultiMod would respond in this setting. Wish I had the RAM to reproduce the problem Smile

Try running the suggested utility to see what you get.


RE: CMT 64Kb RAM module for HP-71b question - Sylvain Cote - 10-10-2021 05:40 PM

(10-10-2021 12:07 PM)mfleming Wrote:  Yes, you've run out of address space with the default MultiMod configuration plus three 32K RAM modules. I think the address assignment after power up would be
Sure ?

VER$ -> HP71:1BBBB RCPY:E FTH:1B EDT:A KBD:C STRU:A MATH:2B JPC:F05 HPIL:1B

Modified MEMBUF output for MULTIMOD default config no additional memory module
Code:
Addr. Range   Port Dev Seq  Size Addr  Type   Description
00000..0FFFF                                  System    ROM   32K
10000..1FFFF                                  System    ROM   32K
20000..2FFFF                                  Reserved        32K (video RAM, configuration, etc)
30000..31FFF    0   0   0     4  30000  0     Internal  RAM    4K
32000..33FFF    0   1   0     4  32000  0     Internal  RAM    4K
34000..35FFF    0   2   0     4  34000  0     Internal  RAM    4K
36000..37FFF    0   3   0     4  36000  0     Internal  RAM    4K
Code:
38000..3FFFF                                  Unused          16K
40000..47FFF    0   5   0    16  40000  2     HP-IL     ROM   16K
48000..4FFFF    5   0   0    16  48000  2     Forth     ROM   16K
50000..5FFFF                                  Unused          32K
60000..6FFFF                                  Unused          32K
70000..7FFFF                                  Unused          32K
80000..8FFFF                                  Unused          32K
Code:
90000..9FFFF                                  Unused          32K
A0000..AFFFF                                  Unused          32K
B0000..BFFFF                                  Unused          32K
C0000..CFFFF    5   2   0    32  C0000  2     JPC       ROM   32K
D0000..DFFFF    5   1   0    32  D0000  2     Math      ROM   32K
E0000..EFFFF    0   0   0    32  E0000  1     Forth     ROM   32K (hard-configured, seen as IRAM)
F0000..FFFFF                                  Reserved        32K (debugger, configuration, etc)

Modified MEMBUF output for MULTIMOD default config with three 32K RAM
Code:
Addr. Range   Port Dev Seq  Size Addr  Type   Description
00000..0FFFF                                  System    ROM   32K
10000..1FFFF                                  System    ROM   32K
20000..2FFFF                                  Reserved        32K (video RAM, configuration, etc)
30000..31FFF    0   0   0     4  30000  0     Internal  RAM    4K
32000..33FFF    0   1   0     4  32000  0     Internal  RAM    4K
34000..35FFF    0   2   0     4  34000  0     Internal  RAM    4K
36000..37FFF    0   3   0     4  36000  0     Internal  RAM    4K
Code:
38000..3FFFF                                  Unused          16K
40000..47FFF    0   5   0    16  40000  2     HP-IL     ROM   16K
48000..4FFFF    5   0   0    16  48000  2     Forth     ROM   16K
50000..5FFFF                                  Unused          32K
60000..6FFFF                                  Unused          32K
70000..7FFFF                                  Unused          32K
80000..8FFFF                                  Unused          32K
Code:
90000..9FFFF    5   2   0    32  90000  2     JPC       ROM   32K
A0000..AFFFF    5   1   0    32  A0000  2     Math      ROM   32K
B0000..BFFFF    3   0   0    32  B0000  1     External  IRAM  32K Port 3
C0000..CFFFF    2   0   0    32  C0000  1     External  IRAM  32K Port 2
D0000..DFFFF    1   0   0    32  D0000  1     External  IRAM  32K Port 1
E0000..EFFFF    0   0   0    32  E0000  1     Forth     ROM   32K (hard-configured, seen as IRAM)
F0000..FFFFF                                  Reserved        32K (debugger, configuration, etc)

Modified MEMBUF output for MULTIMOD default config with four 32K RAM (48K Unused)
Code:
Addr. Range   Port Dev Seq  Size Addr  Type
00000..0FFFF                                  System    ROM   32K
10000..1FFFF                                  System    ROM   32K
20000..2FFFF                                  Reserved        32K (video RAM, configuration, etc)
30000..3FFFF    1   0   0    32  30000  0     External  RAM   32K Port 1
40000..4FFFF    2   0   0    32  40000  0     External  RAM   32K Port 2
50000..5FFFF    3   0   0    32  50000  0     External  RAM   32K Port 3
60000..6FFFF    4   0   0    32  60000  0     External  RAM    4K
Code:
70000..71FFF    0   0   0     4  70000  0     Internal  RAM    4K
72000..73FFF    0   1   0     4  72000  0     Internal  RAM    4K
74000..75FFF    0   2   0     4  74000  0     Internal  RAM    4K
76000..77FFF    0   3   0     4  76000  0     Internal  RAM    4K
78000..7FFFF                                  Unused          16K
80000..87FFF    0   5   0    16  80000  2     HP-IL     ROM   16K
88000..8FFFF    5   0   0    16  88000  2     Forth     ROM   16K
Code:
90000..9FFFF                                  Unused          32K
A0000..AFFFF                                  Unused          32K
B0000..BFFFF                                  Unused          32K
C0000..CFFFF    5   2   0    32  C0000  2     JPC       ROM   32K
D0000..DFFFF    5   1   0    32  D0000  2     Math      ROM   32K
E0000..EFFFF    0   0   0    32  E0000  1     Forth     ROM   32K (hard-configured, seen as IRAM)
F0000..FFFFF                                  Reserved        32K (debugger, configuration, etc)

Modified MEMBUF output for MULTIMOD default config with two 32K RAM and two 64K RAM
Code:
Addr. Range   Port Dev Seq  Size Addr  Type
00000..0FFFF                                  System    ROM   32K
10000..1FFFF                                  System    ROM   32K
20000..2FFFF                                  Reserved        32K (video RAM, configuration, etc)
30000..3FFFF    1   0   0    32  30000  0     External  RAM   32K Port 1
40000..4FFFF    2   0   0    32  40000  0     External  RAM   32K Port 2
50000..5FFFF    3   0   0    32  50000  0     External  RAM   32K Port 3.00 first  32K of 64K Module
60000..6FFFF    3   1   0    32  60000  0     External  RAM   32K Port 3.01 second 32K of 64K Module
Code:
70000..7FFFF    4   0   0    32  70000  0     External  RAM   32K Port 4.00 first  32K of 64K Module
80000..8FFFF    4   1   0    32  80000  0     External  RAM   32K Port 4.01 second 32K of 64K Module
90000..91FFF    0   0   0     4  90000  0     Internal  RAM    4K
92000..93FFF    0   1   0     4  92000  0     Internal  RAM    4K
94000..95FFF    0   2   0     4  94000  0     Internal  RAM    4K
96000..97FFF    0   3   0     4  96000  0     Internal  RAM    4K
98000..9FFFF                                  Unused          16K
Code:
A0000..A7FFF    0   5   0    16  A0000  2     HP-IL     ROM   16K
A8000..AFFFF    5   0   0    16  A8000  2     Forth     ROM   16K
B0000..BFFFF                                  Unused          32K
C0000..CFFFF    5   2   0    32  C0000  2     JPC       ROM   32K
D0000..DFFFF    5   1   0    32  D0000  2     Math      ROM   32K 
E0000..EFFFF    0   0   0    32  E0000  1     Forth     ROM   32K (hard-configured, seen as IRAM)
F0000..FFFFF                                  Reserved        32K (debugger, configuration, etc)



RE: CMT 64Kb RAM module for HP-71b question - mfleming - 10-10-2021 08:33 PM

Ah, you're right. I was a power of two off on module address space occupancy. I don't see ULIB52 in the version list or MEMBUF listing. Could you poke a "3" to enable it? I also haven't seen the HP-IL ROM at 40000 before either. Looks like I'll have to hook up my PIL-Box and load MEMBUF myself!

The OP's description of a crash after a few minutes of operation implies to me that there is an address range overlap between two devices, both of which want to drive the data bus on a read. I take it you're not seeing that...


RE: CMT 64Kb RAM module for HP-71b question - Sylvain Cote - 10-11-2021 12:32 AM

(10-10-2021 08:33 PM)mfleming Wrote:  Ah, you're right. I was a power of two off on module address space occupancy. I don't see ULIB52 in the version list or MEMBUF listing. Could you poke a "3" to enable it? I also haven't seen the HP-IL ROM at 40000 before either. Looks like I'll have to hook up my PIL-Box and load MEMBUF myself!

MULTIMOD
Code:
POKE "2C000","3"

VER$
Code:
HP71:1BBBB RCPY:E FTH:1B EDT:A KBD:C STRU:A MATH:2B JPC:F05 HPIL:1B ULIB:c

RUN MEMBUF (MULTIMOD only)
Code:
Port Dev Seq  Size Addr  Type   Description
  0   1   0     4  30000  0     Internal     4K RAM
  0   2   0     4  32000  0     Internal     4K RAM
  0   3   0     4  34000  0     Internal     4K RAM
  0   0   0     4  58000  1     Internal     4K IRAM
Code:
  0   5   0    16  40000  2     HP-IL       16K ROM
  5   0   0    16  48000  2     FORTH ROM   16K ROM
  5   1   0    32  D0000  2     MATH        32K ROM
  5   2   0    32  C0000  2     JPC         32K ROM
  5   3   0    16  50000  2     ULIB        16K ROM

RUN MEMBUF (MULTIMOD only + 2x 32K RAM)
Code:
Port Dev Seq  Size Addr  Type   Description
  0   1   0     4  50000  0     Internal     4K RAM
  0   2   0     4  52000  0     Internal     4K RAM
  0   3   0     4  54000  0     Internal     4K RAM
  1   0   0    32  30000  0     External    32K RAM
  2   0   0    32  40000  0     External    32K RAM
  0   0   0     4  78000  1     Internal     4K IRAM
Code:
  0   5   0    16  60000  2     HP-IL       16K ROM
  5   0   0    16  68000  2     FORTH ROM   16K ROM
  5   1   0    32  D0000  2     MATH        32K ROM
  5   2   0    32  C0000  2     JPC         32K ROM
  5   3   0    16  70000  2     ULIB        16K ROM

RUN MEMBUF (MULTIMOD only + 3x 32K RAM)
Code:
Port Dev Seq  Size Addr  Type   Description
  0   1   0     4  60000  0     Internal     4K RAM
  0   2   0     4  62000  0     Internal     4K RAM
  0   3   0     4  64000  0     Internal     4K RAM
  1   0   0    32  30000  0     External    32K RAM
  2   0   0    32  40000  0     External    32K RAM
  3   0   0    32  50000  0     External    32K RAM
  0   0   0     4  88000  1     Internal     4K IRAM
Code:
  0   5   0    16  70000  2     HP-IL       16K ROM
  5   0   0    16  78000  2     FORTH ROM   16K ROM
  5   1   0    32  D0000  2     MATH        32K ROM
  5   2   0    32  C0000  2     JPC         32K ROM
  5   3   0    16  80000  2     ULIB        16K ROM

(10-10-2021 08:33 PM)mfleming Wrote:  The OP's description of a crash after a few minutes of operation implies to me that there is an address range overlap between two devices, both of which want to drive the data bus on a read. I take it you're not seeing that...
I am not experiencing any crash on my side with or without ULIB activated


RE: CMT 64Kb RAM module for HP-71b question - polbit - 10-11-2021 03:06 AM

After spending some time testing on 1BBBB and 2CDCC 71 machines, and moving my RAM modules around, here is my conclusion:

- MultiRom with ulib52 enabled, with HP-IL works with 2x32K/1x64K RAM. Adding 3rd 32K RAM makes it crash as soon as I free port of the 3rd RAM module, or randomly while in use.

- if I disable ulib52 OR remove HP-IL module, I can reliably use the 3rd RAM module.

EDIT: I’ll load MEMBUF tomorrow to get some output and share, didn’t have my Pil-Box with me…


RE: CMT 64Kb RAM module for HP-71b question - Dave Frederickson - 10-11-2021 03:38 AM

(10-11-2021 03:06 AM)polbit Wrote:  After spending some time testing on 1BBBB and 2CDCC 71 machines, and moving my RAM modules around, here is my conclusion:

- MultiRom with ulib52 enabled, with HP-IL works with 2x32K/1x64K RAM. Adding 3rd 32K RAM makes it crash as soon as I free port of the 3rd RAM module, or randomly while in use.

- if I disable ulib52 OR remove HP-IL module, I can reliably use the 3rd RAM module.

Consider that initially the 3rd RAM module is configured as RAM, but when you freeport it it's configured as ROM/IRAM. See https://www.hpmuseum.org/forum/thread-7699-post-67770.html#pid67770 thru Post #23.


RE: CMT 64Kb RAM module for HP-71b question - J-F Garnier - 10-11-2021 06:50 AM

(10-11-2021 12:32 AM)Sylvain Cote Wrote:  MULTIMOD
Code:
POKE "2C000","3"

VER$
Code:
HP71:1BBBB RCPY:E FTH:1B EDT:A KBD:C STRU:A MATH:2B JPC:F05 HPIL:1B ULIB:c

RUN MEMBUF (MULTIMOD only)
Code:
Port Dev Seq  Size Addr  Type   Description
  0   1   0     4  30000  0     Internal     4K RAM
  0   2   0     4  32000  0     Internal     4K RAM
  0   3   0     4  34000  0     Internal     4K RAM
  0   0   0     4  58000  1     Internal     4K IRAM

Did you deliberately set PORT (0.00) to IRAM?
If yes, you may not be in the same configuration as the OP. If not, it may be the sign of something wrong.

J-F


RE: CMT 64Kb RAM module for HP-71b question - polbit - 10-11-2021 11:31 AM

Here is my output:

Working configuration:

VER$
Code:
HP71:1BBBB FTH:1B EDT:A KBD:C STRU:A MATH:2B JPC:F05 HPIL:1B

MEMBUF - 64K in port 1, 32K in port 2
Code:
Port Dev Seq  Size Addr  Type
  0   0   0     4  60000  0
  0   1   0     4  62000  0
  0   2   0     4  64000  0
  0   3   0     4  66000  0
  1   0   0    32  30000  0
  1   1   0    32  40000  0
Code:
  2   0   0    32  50000  0
  0   5   0    16  70000  2
  5   0   0    16  78000  2
  5   1   0    32  D0000  2
  5   2   0    32  C0000  2

Non-working configuration:

VER$
Code:
HP71:1BBBB FTH:1B EDT:A KBD:C STRU:A MATH:2B JPC:F05 HPIL:1B ULIB:c

MEMBUF - 64K in port 1, 32K in port 2
Code:
Port Dev Seq  Size Addr  Type
  0   0   0     4  60000  0
  0   1   0     4  62000  0
  0   2   0     4  64000  0
  0   3   0     4  66000  0
  1   0   0    32  30000  0
  1   1   0    32  40000  0
Code:
  2   0   0    32  50000  0
  0   5   0    16  70000  2
  5   0   0    16  78000  2
  5   1   0    32  D0000  2
  5   2   0    32  C0000  2
  5   3   0    16  80000  2

And after FREE PORT(2) and Memory Lost:
Code:
Port Dev Seq  Size Addr  Type
  0   0   0     4  50000  0
  0   1   0     4  52000  0
  0   2   0     4  54000  0
  0   3   0     4  56000  0
  1   0   0    32  30000  0
  1   1   0    32  40000  0
Code:
  0   5   0    16  60000  2
  2   0   0    32  D0000  1
  5   0   0    16  68000  2
  5   1   0    32  C0000  2
  5   2   0    32  B0000  2
  5   3   0    16  70000  2



RE: CMT 64Kb RAM module for HP-71b question - Sylvain Cote - 10-11-2021 12:44 PM

(10-11-2021 06:50 AM)J-F Garnier Wrote:  Did you deliberately set PORT (0.00) to IRAM?
If yes, you may not be in the same configuration as the OP. If not, it may be the sign of something wrong.
Yes, I was tired of reloading MEMBUF, but you are right I should not have done this.

I have redone the tests and there is a problem.

When I do polbit configuration with a 32KB RAM module in port 1, 2, and 3, it seems to work, but when I free one on the 32KB RAM port, I get a Memory Lost on the first free port but not on the others.

Startup configuration
Code:
INIT 3  → "Memory Lost" , lets start clean
MEM → 115049
DELAY 0,0
DISPLAY IS :PRINTER
COPY MEMBUF:TAPE
RUN MEMBUF
Port Dev Seq  Size Addr  Type
  0   0   0     4  60000  0
  0   1   0     4  62000  0
  0   2   0     4  64000  0
  0   3   0     4  66000  0
  1   0   0    32  30000  0   32K RAM in port 1 part of main RAM
  2   0   0    32  40000  0   32K RAM in port 2 part of main RAM
  3   0   0    32  50000  0   32K RAM in port 3 part of main RAM
  0   5   0    16  70000  2
  5   0   0    16  78000  2
  5   1   0    32  D0000  2
  5   2   0    32  C0000  2
  5   3   0    16  80000  2

First free first port:
Code:
FREE PORT(1)  → "Memory Lost" , what? not expected
MEM → 82241
DELAY 0,0
DISPLAY IS :PRINTER
COPY MEMBUF:TAPE
RUN MEMBUF
Port Dev Seq  Size Addr  Type
  0   0   0     4  50000  0
  0   1   0     4  52000  0
  0   2   0     4  54000  0
  0   3   0     4  56000  0
  2   0   0    32  30000  0   32K RAM in port 2 part of main RAM
  3   0   0    32  40000  0   32K RAM in port 3 part of main RAM
  0   5   0    16  60000  2
  1   0   0    32  D0000  1   32K RAM in port 1 is now IRAM
  5   0   0    16  68000  2
  5   1   0    32  C0000  2
  5   2   0    32  B0000  2
  5   3   0    16  70000  2

Free second port:
Code:
FREE PORT(2) → works without loosing memory
MEM → 49500
RUN MEMBUF
Port Dev Seq  Size Addr  Type
  0   0   0     4  40000  0
  0   1   0     4  42000  0
  0   2   0     4  44000  0
  0   3   0     4  46000  0
  3   0   0    32  30000  0   32K RAM in port 3 part of main RAM
  0   5   0    16  50000  2
  1   0   0    32  D0000  1   32K RAM in port 1 is IRAM
  2   0   0    32  C0000  1   32K RAM in port 2 is now IRAM
  5   0   0    16  58000  2
  5   1   0    32  B0000  2
  5   2   0    32  A0000  2
  5   3   0    16  60000  2

Get back first port:
Code:
CLAIM PORT(1) → works without loosing memory
MEM → 82254
RUN MEMBUF
Port Dev Seq  Size Addr  Type
  0   0   0     4  50000  0
  0   1   0     4  52000  0
  0   2   0     4  54000  0
  0   3   0     4  56000  0
  1   0   0    32  30000  0   32K RAM in port 1 now part of main RAM
  3   0   0    32  40000  0   32K RAM in port 3 part of main RAM
  0   5   0    16  60000  2
  2   0   0    32  D0000  1   32K RAM in port 2 is IRAM
  5   0   0    16  68000  2
  5   1   0    32  C0000  2
  5   2   0    32  B0000  2
  5   3   0    16  70000  2

Get back second port:
Code:
CLAIM PORT(2) → works without loosing memory
MEM → 115008
RUN MEMBUF
Port Dev Seq  Size Addr  Type
  0   0   0     4  60000  0
  0   1   0     4  62000  0
  0   2   0     4  64000  0
  0   3   0     4  66000  0
  1   0   0    32  30000  0   32K RAM in port 1 part of main RAM
  2   0   0    32  40000  0   32K RAM in port 2 now part of main RAM
  3   0   0    32  50000  0   32K RAM in port 3 part of main RAM
  0   5   0    16  70000  2
  5   0   0    16  78000  2
  5   1   0    32  D0000  2
  5   2   0    32  C0000  2
  5   3   0    16  80000  2

All modules are back to main memory, lets try to free a port again

Free third port:
Code:
FREE PORT(3)  → "Memory Lost", not expected but same behavior as last time
MEM → 82281
DELAY 0,0
DISPLAY IS :PRINTER
COPY MEMBUF:TAPE
RUN MEMBUF
Port Dev Seq  Size Addr  Type
  0   0   0     4  50000  0
  0   1   0     4  52000  0
  0   2   0     4  54000  0
  0   3   0     4  56000  0
  1   0   0    32  30000  0   32K RAM in port 1 part of main RAM
  2   0   0    32  40000  0   32K RAM in port 2 part of main RAM
  0   5   0    16  60000  2
  3   0   0    32  D0000  1   32K RAM in port 3 is now IRAM
  5   0   0    16  68000  2
  5   1   0    32  C0000  2
  5   2   0    32  B0000  2
  5   3   0    16  70000  2

Same behavior applies to any port, when all memory modules are part of main RAM, when I free a module I get a memory lost on the first FREE PORT but not on the others.

I also did this test:
  1. no RAM memory modules
  2. INIT 3, MEM → 16760
  3. power off, insert 32K RAM into port 1, power on, MEM → 49517
  4. power off, insert 32K RAM into port 2, power on, MEM → 82280
  5. power off, insert 32K RAM into port 3, power on, MEM → 115043
  6. power off, insert 32K RAM into port 4, power on, MEM → 98654 → What?

OK, how this is mapped ...
Code:
MEM → 98654
DELAY 0,0
DISPLAY IS :PRINTER
COPY MEMBUF:TAPE
RUN MEMBUF
Port Dev Seq  Size Addr  Type
  1   0   0    32  30000  0
  2   0   0    32  40000  0
  3   0   0    32  50000  0
  0   0   0     4  78000  1
  0   1   0     4  7A000  1
  0   2   0     4  7C000  1
  0   3   0     4  7E000  1
  0   5   0    16  60000  2
  4   0   0    32  D0000  1
  5   0   0    16  68000  2
  5   1   0    32  C0000  2
  5   2   0    32  B0000  2
  5   3   0    16  70000  2

Power cycle and show memory map again
Code:
MEM → 146306 , memory is now what was expected
RUN MEMBUF
Port Dev Seq  Size Addr  Type
  0   0   0     4  70000  0
  0   1   0     4  72000  0
  0   2   0     4  74000  0
  0   3   0     4  76000  0
  1   0   0    32  30000  0
  2   0   0    32  40000  0
  3   0   0    32  50000  0
  4   0   0    32  60000  0
  0   5   0    16  80000  2
  5   0   0    16  88000  2
  5   1   0    32  D0000  2
  5   2   0    32  C0000  2
  5   3   0    16  90000  2

mmm, ok, what happen when I remove module now ?
  1. four RAM memory modules, all part of main RAM, MEM → 146303
  2. power off, remove 32K RAM from port 4, power on, MEM → 113540
  3. power off, remove 32K RAM from port 3, power on, Memory Lost , MEM → 82236
  4. power off, remove 32K RAM from port 2, power on, MEM → 49523
  5. power off, remove 32K RAM from port 1, power on, MEM → 16760

I have to go, but more test are needed on this last part.

Sylvain


RE: CMT 64Kb RAM module for HP-71b question - J-F Garnier - 10-11-2021 01:33 PM

(10-11-2021 12:44 PM)Sylvain Cote Wrote:  I also did this test:
  1. no RAM memory modules
  2. INIT 3, MEM → 16760
  3. power off, insert 32K RAM into port 1, power on, MEM → 49517
  4. power off, insert 32K RAM into port 2, power on, MEM → 82280
  5. power off, insert 32K RAM into port 3, power on, MEM → 115043
  6. power off, insert 32K RAM into port 4, power on, MEM → 98654 → What?

OK, how this is mapped ...
Code:
MEM → 98654
DELAY 0,0
DISPLAY IS :PRINTER
COPY MEMBUF:TAPE
RUN MEMBUF
Port Dev Seq  Size Addr  Type
  1   0   0    32  30000  0
  2   0   0    32  40000  0
  3   0   0    32  50000  0
  0   0   0     4  78000  1
  0   1   0     4  7A000  1
  0   2   0     4  7C000  1
  0   3   0     4  7E000  1
  0   5   0    16  60000  2
  4   0   0    32  D0000  1
  5   0   0    16  68000  2
  5   1   0    32  C0000  2
  5   2   0    32  B0000  2
  5   3   0    16  70000  2

Power cycle and show memory map again
Code:
MEM → 146306 , memory is now what was expected
RUN MEMBUF
Port Dev Seq  Size Addr  Type
  0   0   0     4  70000  0
  0   1   0     4  72000  0
  0   2   0     4  74000  0
  0   3   0     4  76000  0
  1   0   0    32  30000  0
  2   0   0    32  40000  0
  3   0   0    32  50000  0
  4   0   0    32  60000  0
  0   5   0    16  80000  2
  5   0   0    16  88000  2
  5   1   0    32  D0000  2
  5   2   0    32  C0000  2
  5   3   0    16  90000  2

Interesting, all the internal 4K ports were put as IRAM. Then a power cycle restored them as MAIN RAM.

Some background: during system config, each RAM (but not the ROM) is temporarily configured at 80000 to check if it is MAIN RAM or IRAM, by checking the IRAM signature, then parked at 40000 waiting for the final config.
Maybe something is wrong there.

J-F


RE: CMT 64Kb RAM module for HP-71b question - Dave Frederickson - 10-11-2021 02:55 PM

(10-11-2021 12:44 PM)Sylvain Cote Wrote:  mmm, ok, what happen when I remove module now ?
  1. four RAM memory modules, all part of main RAM, MEM → 146303
  2. power off, remove 32K RAM from port 4, power on, MEM → 113540
  3. power off, remove 32K RAM from port 3, power on, Memory Lost , MEM → 82236
  4. power off, remove 32K RAM from port 2, power on, MEM → 49523
  5. power off, remove 32K RAM from port 1, power on, MEM → 16760

I have to go, but more test are needed on this last part.

Sylvain

You MUST FREEPORT a RAM module before removing it.