Post Reply 
FRAM71B installation
01-28-2021, 08:53 PM
Post: #1
FRAM71B installation
Quick question, please: is it mandatory to remove existing ports/modules, when installing the FRAM71B?

I am quite unable to remove my HP-IL module, and one front port module (port 2, CMT 32KB RAM). They just won't budge.

Am I going to do damage, if I continue the install with those two still installed?

Or is the reason for removal simply to exclude them as causes, in case of issues with the FRAM71B initial configuration?

thanks very much…

Cambridge, UK
41CL/DM41X 12/15C/16C DM15/16 17B/II/II+ 28S 42S/DM42 32SII 48GX 50g 35s WP34S PrimeG2 WP43S/pilot/C47
Casio, Rockwell 18R
Find all posts by this user
Quote this message in a reply
01-28-2021, 09:28 PM
Post: #2
RE: FRAM71B installation
Never mind, and thanks for reading: I finally managed to get both out, without destroying anything (I hope).

Cambridge, UK
41CL/DM41X 12/15C/16C DM15/16 17B/II/II+ 28S 42S/DM42 32SII 48GX 50g 35s WP34S PrimeG2 WP43S/pilot/C47
Casio, Rockwell 18R
Find all posts by this user
Quote this message in a reply
01-28-2021, 11:27 PM
Post: #3
RE: FRAM71B installation
Although you've resolved it, the basic reason is to remove anything connected to the bus, to prevent possible interference or confusion with the initial setup process. In reality, it's unlikely the HP-IL module would interfere, but if it's not installed, it's 100% clear it wont.

Enjoy the fun, backup often, and please share any clever tricks you discover. Smile

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
01-29-2021, 01:57 AM
Post: #4
RE: FRAM71B installation
thanks very much Bob.

When I got it out, I saw that the date-stamp on the base of the HP-IL module was 8826, within two weeks of the date code in the 71B serial number.

So it may be that my unit has had that module in there from new, 32 years. No wonder it was reluctant to come out.

I've only had it a year or so myself.

thanks again.

Cambridge, UK
41CL/DM41X 12/15C/16C DM15/16 17B/II/II+ 28S 42S/DM42 32SII 48GX 50g 35s WP34S PrimeG2 WP43S/pilot/C47
Casio, Rockwell 18R
Find all posts by this user
Quote this message in a reply
01-29-2021, 07:31 AM (This post was last modified: 01-29-2021 07:36 AM by Hans Brueggemann.)
Post: #5
RE: FRAM71B installation
(01-28-2021 11:27 PM)rprosperi Wrote:  Although you've resolved it, the basic reason is to remove anything connected to the bus, to prevent possible interference or confusion with the initial setup process. In reality, it's unlikely the HP-IL module would interfere, but if it's not installed, it's 100% clear it wont.

this is indeed the reason why the installation instruction asks you to remove the HP-IL module.
your HP-71Bs have the tendency to shrink over time. On some specimens it is now almost impossible to remove the IL-module without applying excessive force, which should be avoided.
So, i do recommend to those who have an HP-71B with "jammed" HP-IL module to not try to remove the module and just go ahead with the installation instructions.
However, make sure that the AC-adaptor is disconnected and all batteries have been removed.
Find all posts by this user
Quote this message in a reply
01-29-2021, 01:27 PM
Post: #6
RE: FRAM71B installation
(01-29-2021 07:31 AM)Hans Brueggemann Wrote:  On some specimens it is now almost impossible to remove the IL-module without applying excessive force, which should be avoided.
On those units, I plug an HP-IL cable in the interface and use that as a lever to pull out the interface.
Some HP-IL cables are easy to unplug from the HP-IL interface while some other are hard to unplug, use the latter.
Find all posts by this user
Quote this message in a reply
01-29-2021, 04:19 PM
Post: #7
RE: FRAM71B installation
(01-29-2021 01:27 PM)Sylvain Cote Wrote:  
(01-29-2021 07:31 AM)Hans Brueggemann Wrote:  On some specimens it is now almost impossible to remove the IL-module without applying excessive force, which should be avoided.
On those units, I plug an HP-IL cable in the interface and use that as a lever to pull out the interface.
Some HP-IL cables are easy to unplug from the HP-IL interface while some other are hard to unplug, use the latter.

If modules 3 and/or 4 can be removed, a stuck HP-IL module can be pushed out from the back side using a small wooden dowel. Be careful.
Find all posts by this user
Quote this message in a reply
01-29-2021, 06:44 PM
Post: #8
RE: FRAM71B installation
thank you Hans, Sylvain, Dave & Bob.

A privilege to get such folk replying Smile

I hope I've not damaged my HP-IL module getting it out; I only used finger pressure (but considerable), so hopefully not. It went back in OK, and responds to VER$, so hopefully it is OK.

I like Sylvain's cable idea Smile

I'd read your dowel suggestion before, thanks Dave, and considered it, but was extremely nervous about damaging something else, so stuck to fingernails.


Come to that, I struggled a little getting the FRAM71B in, without pushing too hard on the pin connectors; the allen key sockets are sufficiently far away to cause it to tilt down, rather than go in, but I managed it in the end. And it's now working, thank you Hans Smile

Cambridge, UK
41CL/DM41X 12/15C/16C DM15/16 17B/II/II+ 28S 42S/DM42 32SII 48GX 50g 35s WP34S PrimeG2 WP43S/pilot/C47
Casio, Rockwell 18R
Find all posts by this user
Quote this message in a reply
01-31-2021, 12:28 PM
Post: #9
RE: FRAM71B installation
as i've got a few e-mails recently that reported installing the FRAM71B would send the HP-71B into coma, here's a bit of insight to the how and why. your FRAM71B consists of two parts:
1. a 265k x 16 bit FRAM memory IC, and
2. an FPGA with all the logic gates required to properly interface the FRAM memory to the internal bus of the HP-71B

normally, you would assume an FPGA to operate from a directly attached clock source, but in the case of FRAM71B there is no such source. instead, FRAM71B completely relies on your HP-71B's STR signal as the sole clock source for all internal operations. when the STR clock stops, your FRAM71B stops.
if you are wondering when this is happening, consider the blinking cursor of your HP-71B: whenever the cursor changes state (from invisible to visible and vice versa), there is a short burst of clock cycles during which the HP-71B does its display update job and FRAM71(B) is actually "awake". during times when the cursor is either visible or not, the clock pulses are gone and your FRAM71(B) has stopped all internal activities. this is the way how FRAM71B achieves its low power consumption, but that comes at a price:
when you switch [ON] your HP-71B, there are only so many clock cycles available to FRAM71B to organize its internals for proper operation before your HP-71B requests acces to its configuration registers. in fact, there are not enough clock cycles available for FRAM71B to re-load the configuration data from FRAM's 0x2C000 area into its internal config registers. instead, FRAM71B's config registers are simply overlayed on the same address space 0x2C000, so that a POKE"2C000","aaaa..." not only goes into FRAM memory but also into FRAM71B config registers. that means that as long as the power supply is good, FRAM71B's config contents will match the contents of the FRAM at 0x2C000 and there's no need to ever read the FRAM for configuration purposes. however, once power is lost even for a short moment, FRAM71B's config registers will contain data that may no longer match the FRAM data at 0x2C000. that's the reason why there might be a situation where your HP-71B freezes at [ON] although all data in FRAM are still valid. in order to overcome this, you can set CN2-2 to switch FRAM71B into "stealth mode". in this mode, FRAM71B can be configured via POKE"2C000","aaaa...", but its configuration will not go into effect until you remove CN2-2 and power cycle your HP-71B. here is a sequence how to do a configuration refresh after a power loss, if a simple POKE "2C000", PEEK$("2C000",32) doesn't work:

Code:
1.  switch the HP-71B [OFF]
2.  set CN2-2 
3.  switch the HP-71B [ON]
4.  if you had some known good configuration before:
    A$ = PEEK$("2C000",32)
5.  POKE "2C000", "00000000000000000000000000000000" ! make sure to POKE 32 zeroes
6.  switch the HP-71B [OFF]
7.  remove CN2-2
8.  switch the HP-71B [ON]
9.  if you did step 4.: 
    POKE "2C000", A$
10. switch the HP-71B [OFF]
11. switch the HP-71B [ON]
Find all posts by this user
Quote this message in a reply
02-01-2021, 06:46 PM (This post was last modified: 02-01-2021 06:56 PM by Hans Brueggemann.)
Post: #10
RE: FRAM71B installation
another question that came in via e-mail regarding programming of the FRAM71B:
you do not need a flashpro programmer to set up your FRAM71B configuration, a simple POKE command with configuration bytes will do.
all FRAM71B have the most recent firmware V607. no need to update.
find the most recent manual here:
FRAM71B_V6xx Manual
find Sylvain's excellent collection of related links here:
Sylvain's FRAM71 related link collection
Find all posts by this user
Quote this message in a reply
02-02-2021, 02:43 AM
Post: #11
RE: FRAM71B installation
Hello Hans,

Good news, I have received one of the two FRAM71B module today, the other should come soon now.

During my initial test, I have witness something that I had never realized.
  • FRAM71 → FRAM Block 2 reset is behaving identically between top and bottom FRAM board but
  • FRAM71B → FRAM Block 2 reset is behaving differently between top and bottom FRAM board.
Bottom board FRAM block 2 reset
Code:
[OFF]                                     → Powering off the computer
Remove jumper from [CN2-1]                → Bottom 512KB FRAM Board Selected
   Add jumper to   [CN2-2]                → IRAM Mapping Disabled
[ON]                                      → Powering on the computer
POKE "2C000","909192939495969700" [ENTER] → Map memory 8 * 32KB = 256KB
[OFF] then [ON]                           → Activate the new configuration
[ON]+[/] [3] [ENTER]                      → "Memory Lost" - erase mapped FRAM71 memory
PEEK$("2C000",18) [ENTER]                 → Display "000000000000000000" (on FRAM71,  expected, INIT 3 has erased block 2)
                                          → Display "000000000000000000" (on FRAM71B, expected, INIT 3 has erased block 2)

Top board FRAM block 2 reset
Code:
[OFF]                                     → Powering off the computer
   Add jumper to   [CN2-1]                → Top 512KB FRAM Board Selected
   Add jumper to   [CN2-2]                → IRAM Mapping Disabled
[ON]                                      → Powering on the computer
POKE "2C000","909192939495969700" [ENTER] → Map memory 8 * 32KB = 256KB
[OFF] then [ON]                           → Activate the new configuration
[ON]+[/] [3] [ENTER]                      → "Memory Lost" - erase mapped FRAM71 memory
PEEK$("2C000",18) [ENTER]                 → Display "000000000000000000" (on FRAM71,  expected, INIT 3 has erased block 2)
                                          → Display "909192939495969700" (on FRAM71B, surprise, INIT 3 should have erased block 2)

I understand that this is an edge case and I think I understand why, still, could you light up my lantern please.

Sylvain
Find all posts by this user
Quote this message in a reply
02-02-2021, 04:58 AM (This post was last modified: 02-02-2021 05:27 AM by Hans Brueggemann.)
Post: #12
RE: FRAM71B installation
sylvain,
FRAM71-1024 has its TOP FRAM soldered on top of its (standard) bottom FRAM. as a consequence, TOP FRAM is always write enabled, unless you declare it as ROM.

FRAM71B-1024 has a 512 kByte extender board that comes with a dedicated WRITE ENABLE jumper.

did you check that jumper?
(hint: if you haven't yet set WRITE ENABLE, you may want to explore TOP FRAM's contents first. there was an easter egg hidden in the extender boards (highly experimental, there is a chance that not all modules function as expected. At least FORTH, FRTH-41 and MATH should function, though):
Code:
F0x30000: HRDFORTH  (E0000 part)
F0x40000: FORTH         (soft part)
F0x50000: FRTH-41      (E0000 part)
F0x60000: FRTH-41      (soft part)
F0x70000: MATH
F0xA0000: CUR
F0xC0000: FIN
F0xF0000: CIR
Find all posts by this user
Quote this message in a reply
02-03-2021, 03:02 PM
Post: #13
RE: FRAM71B installation
Hello Hans,

I saw that the module was initially setup with top FRAM enabled, top FRAM write disabled and E0000 mapping enabled.
I found that strange, so I plugged the module, saw that Forth was there and some other modules.
I thought that it was tests leftover so I reconfigured the module then did a full cleanup of both top and bottom content.
It was while doing that cleanup that I saw the unexpected behavior.

Anyway, I have reread the FRAM71B manual and for some unknown reasons I had skipped some information in there that is specific to the second generation module.
I just realized that all my pasts experiments has been done on the FRAM71 and used the FRAM71B with safe config only.
I am back to square one, well, not exactly one but very near, so I need time to experiments FRAM71B specific options and edge cases.

I have setup three 71B for testing:
  • 71B 1BBBB + IL 1B + FRAM71 (2015)
  • 71B 1BBBB + IL 1B + FRAM71B (2016)
  • 71B 1BBBB + IL 1B + FRAM71B (2021)
I will look for the easter egg when I receive the second module.

Sylvain
Find all posts by this user
Quote this message in a reply
02-03-2021, 04:30 PM
Post: #14
RE: FRAM71B installation
(02-03-2021 03:02 PM)Sylvain Cote Wrote:  I have setup three 71B for testing:
  • 71B 1BBBB + IL 1B + FRAM71 (2015)
  • 71B 1BBBB + IL 1B + FRAM71B (2016)
  • 71B 1BBBB + IL 1B + FRAM71B (2021)
I will look for the easter egg when I receive the second module.
The 2016 and 2021 modules are both H/W 105 and S/W 607. There shouldn't be any differences.

I believe the pre-loaded ROM's were the Easter Egg.

Dave
Find all posts by this user
Quote this message in a reply
02-03-2021, 05:20 PM
Post: #15
RE: FRAM71B installation
Exclamation I should have order the 1Mb version... note to self!

(02-03-2021 04:30 PM)Dave Frederickson Wrote:  
(02-03-2021 03:02 PM)Sylvain Cote Wrote:  I have setup three 71B for testing:
  • 71B 1BBBB + IL 1B + FRAM71 (2015)
  • 71B 1BBBB + IL 1B + FRAM71B (2016)
  • 71B 1BBBB + IL 1B + FRAM71B (2021)
I will look for the easter egg when I receive the second module.
The 2016 and 2021 modules are both H/W 105 and S/W 607. There shouldn't be any differences.

I believe the pre-loaded ROM's were the Easter Egg.

Dave
Find all posts by this user
Quote this message in a reply
02-03-2021, 06:23 PM
Post: #16
RE: FRAM71B installation
(02-03-2021 04:30 PM)Dave Frederickson Wrote:  The 2016 and 2021 modules are both H/W 105 and S/W 607. There shouldn't be any differences.

I believe the pre-loaded ROM's were the Easter Egg.

Dave

this is correct.
Find all posts by this user
Quote this message in a reply
02-03-2021, 06:35 PM
Post: #17
RE: FRAM71B installation
(02-03-2021 05:20 PM)KimH Wrote:  Exclamation I should have order the 1Mb version... note to self!

the design files are all available here, and i'd guess that, as soon there is a larger audience requiring the extender, someone will surely jump in to crank out a few.

the "easter egg" was a proof of concept for an adapter, that would allow for pre-programming of the FRAM71B on a TL866 II plus.
that didn't go too well, but in the end i was able to come up with an adapter that can program the -512 extender with the TL866 in "one shot". will follow up in a separate thread, will also be including the design files.
Find all posts by this user
Quote this message in a reply
12-15-2021, 02:47 PM
Post: #18
RE: FRAM71B installation
Hello Folks,

after a long time struggling during COVID19 lockdowns, Homeoffice, changing my flat - I start again using my old calculator. It seems that in the two years there was some dust on it so I disassembled it cause the display didn't show anything in the middle of the screen - looks like that the "rubber" connector was the problem. After cleaning it runs smooth again :-) The only thing I faced, that after POKEing the approbate string again, my iRAM was gone. So I tried to claim it again but without success. What I'm doing wrong and how can I claim it again?

best regards
Erwin
Find all posts by this user
Quote this message in a reply
12-15-2021, 05:12 PM
Post: #19
RE: FRAM71B installation
try again doing a POKE"2C000", config$, but make sure that config$ is exactly 32 nibbles long.
example: if your config$ was "B3B4B5", then POKE "2C000", "B3B4B500000000000000000000000000"
see also Q5 in chapter 13 of the "DENVER 2016" manual.
Find all posts by this user
Quote this message in a reply
12-16-2021, 08:08 PM
Post: #20
RE: FRAM71B installation
(12-15-2021 05:12 PM)Hans Brueggemann Wrote:  try again doing a POKE"2C000", config$, but make sure that config$ is exactly 32 nibbles long.
example: if your config$ was "B3B4B5", then POKE "2C000", "B3B4B500000000000000000000000000"
see also Q5 in chapter 13 of the "DENVER 2016" manual.

Hello Hans,

I did this starting with POKE"2C000", ”D3E4D5D69718191A9BEEEF00” after that I saw that my iRAM is not present and did a POKE"2C000", "00 ... 32 times" and then the above one again but with the same result. I have no idea ... it is not possible to claim this IRAM port.
It is 128kb MAIN RAM and 32kb IRAM additional to the other modules (MATH 2b, JPC04 FTH41, CIRCUIT and FINANCE)

best regards
Erwin
Find all posts by this user
Quote this message in a reply
Post Reply 




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