Post Reply 
CMT 64Kb RAM module for HP-71b question
10-11-2021, 12:44 PM (This post was last modified: 10-11-2021 12:47 PM by Sylvain Cote.)
Post: #18
RE: CMT 64Kb RAM module for HP-71b question
(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
Find all posts by this user
Quote this message in a reply
Post Reply 


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



User(s) browsing this thread: 1 Guest(s)