FRAM71B
|
05-22-2016, 08:26 AM
(This post was last modified: 05-22-2016 08:28 AM by Hans Brueggemann.)
Post: #1
|
|||
|
|||
FRAM71B
Some clarifications on the FRAM71B status and feature set, based on Sylvain's questions from another thread:
(01-02-2016 08:07 AM)Hans Brueggemann Wrote: 1) The oscillator is gone. FRAM71B won't have built-in UART support. as for 2),3): the 8KB chips had to go because i needed the associated config bit for other purposes. same holds for the new and previously not existing limitation of 16KB chips only being available on the BOT_FRAM. see attached FRAM71B's configuration table for detatils on how the configuration bits are used. as for 4): Sylvain says: Quote:It makes sense for me that page 0 & 1 to be controlled with the CN2:1 jumper but why include page 2 with it ?that is exactly the configuration that you would be using most of the time. so, for this use-case you would duplicate the BOT_FRAM config into the TOP_FRAM, and you should be all set. however... consider the case where you hold the DIAG ROM in TOP_FRAM. you may now set the TOP_FRAM config differently. and by setting that config to all zero, you are now able to test "real" modules with the DIAG ROM, without destroying any of the FRAM contents. well, that's at least how it is supposed to work ;o) the modified CN2:1 functionality still preserves the option to set up the HP-71B with some kind of "dual personality", but also allows you to quickly alter the base setup of the calculator for intermediate other purposes. |
|||
05-22-2016, 02:46 PM
(This post was last modified: 01-14-2021 03:26 AM by Sylvain Cote.)
Post: #2
|
|||
|
|||
RE: FRAM71B
Hello Hans,
(05-22-2016 08:26 AM)Hans Brueggemann Wrote: see attached FRAM71B's configuration table for detatils on how the configuration bits are used. Your table use a configuration of 5 bits where it should be 4 bits (I think). So starting from your explanation and your table I have reconstructed this table. (please correct any errors of my part) Left table is binary ordered while the right one is reversed ordered using the last 2 bits (like yours) Note 1: You seems to have a special meaning when the FRAM & Size bits are set to 1 (the * in the cells of the size column) Note 2: You have not listed the meaning when the FRAM & Size bits are set to 0 Since you have not yet answered the FRAM71A vs FRAM71B difference questions, am I correct in assuming these facts ... a) FRAM71B will have less current consumption than FRAM71A b) FRAM71B no longer have the UART support while FRAM71A has it from firmware 402 to 511 (current) c) FRAM71B & FRAM71A will both be compatible with the upcoming firmware that will implement the above table Best regards, Sylvain edit 1: typo edit 2: weblink update |
|||
05-22-2016, 04:13 PM
Post: #3
|
|||
|
|||
RE: FRAM71B
(05-22-2016 08:26 AM)Hans Brueggemann Wrote: ... consider the case where you hold the DIAG ROM in TOP_FRAM. you may now set the TOP_FRAM config differently. and by setting that config to all zero, you are now able to test "real" modules with the DIAG ROM, without destroying any of the FRAM contents. well, that's at least how it is supposed to work ;o) Could we not do this using the old scheme? A few comments: I recall that changing configuration under program control cause a lot of issues making on-the-fly bank-switching difficult to use. This was implemented for "backup purposes", but since FRAM71 can be backed up using other means it was not needed. I also recall that the blocks of FRAM that could be swapped under program control could not alter the file chain which limited the feature to the two HC ROM's and empty RAM. I liked being able to move a single jumper and have the entire personality of the 71 switch. It looks like the FRAM71B will not function like that. Dave |
|||
05-22-2016, 04:54 PM
Post: #4
|
|||
|
|||
RE: FRAM71B
(05-22-2016 04:13 PM)Dave Frederickson Wrote: I liked being able to move a single jumper and have the entire personality of the 71 switch.this is exactly what you get. on top of that, FRAM71B will now also allow you to mix BOT_FRAM and TOP_FRAM memory in the same config, regardless of what config (let's call it BOT_CONF and TOP_CONF for now) is activated. so, no more need to hold duplicate ROM images in different FRAM locations:if you want for example the MATHROM in both BOT and TOP config: just store it once somewhere in the FRAM and refer to it in both configs accordingly! |
|||
05-22-2016, 05:14 PM
Post: #5
|
|||
|
|||
RE: FRAM71B
(05-22-2016 04:54 PM)Hans Brueggemann Wrote:(05-22-2016 04:13 PM)Dave Frederickson Wrote: I liked being able to move a single jumper and have the entire personality of the 71 switch.this is exactly what you get. on top of that, FRAM71B will now also allow you to mix BOT_FRAM and TOP_FRAM memory in the same config, regardless of what config (let's call it BOT_CONF and TOP_CONF for now) is activated. Is that feature limited to FRAM configured as ROM, because sharing RAM between configurations is an opportunity to muck up the file chain? The base 16K of RAM is already shared between Top and Bottom FRAM71 configurations and must be FREEPORT'ed to avoid MEMORY LOST. Dave |
|||
05-22-2016, 07:09 PM
Post: #6
|
|||
|
|||
RE: FRAM71B
(05-22-2016 05:14 PM)Dave Frederickson Wrote: Is that feature limited to FRAM configured as ROM, because sharing RAM between configurations is an opportunity to muck up the file chain? The base 16K of RAM is already shared between Top and Bottom FRAM71 configurations and must be FREEPORT'ed to avoid MEMORY LOST. no, it' not limited to ROM. |
|||
05-25-2016, 07:16 PM
(This post was last modified: 05-27-2016 05:34 PM by Dave Frederickson.)
Post: #7
|
|||
|
|||
RE: FRAM71B
(05-22-2016 02:46 PM)Sylvain Cote Wrote: Note 1: You seems to have a special meaning when the FRAM & Size bits are set to 1 (the * in the cells of the size column) It looks like Size Bit_1 was re-purposed to select TOP or BOTTOM FRAM, but the FRAM USED column doesn't match Size Bit_1. The table should probably look like this: The highlighted cells indicate invalid 16K/TOP configurations. Note 1: These would be the 32K/TOP configurations. Only 32K F_Blocks can be swapped between the TOP and BOTTOM. See 6). Note 2: These would be the 16K/BOTTOM configurations. Note that 8 and C are also invalid as 16K blocks can only be LCIM. If BOTTOM = 1 then we gain configuration options 2 and 6 and lose 4. Dave |
|||
05-27-2016, 04:59 PM
(This post was last modified: 05-27-2016 05:01 PM by Dave Frederickson.)
Post: #8
|
|||
|
|||
RE: FRAM71B
(05-22-2016 08:26 AM)Hans Brueggemann Wrote: as for 4): Sylvain says:Quote:It makes sense for me that page 0 & 1 to be controlled with the CN2:1 jumper but why include page 2 with it ?that is exactly the configuration that you would be using most of the time. so, for this use-case you would duplicate the BOT_FRAM config into the TOP_FRAM, and you should be all set. We might be talking about two different jumpers. Typically to change the OS the SYSRAM feature is enabled, via J1 and enabling OD, which swaps in the OS in banks 0 and 1. CN2:1 is the TOP/BOTTOM FRAM jumper. I would expect bank 2 to be swapped with CN2:1, but why swap banks 0 and 1 also? Doesn't making banks 0 and 1 configurable, like banks 3 - F, more flexible? Dave |
|||
10-02-2016, 03:09 PM
Post: #9
|
|||
|
|||
FRAM71B HC ROM Feature
It appears that the instructions for using the E0000 jumper, CN2-5, have changed.
In the Nashville manual, after the HC ROM has been POKE'ed into RAM the instructions are as follows (p.21 Steps 11 and 12): 11. Turn the 71 off. Install CN2-5. 12. Turn the 71 on. Then there's a stern warning about the risk of MEMORY LOST if the jumper is removed. In the FRAM71B v1.0 manual the instructions are different (Para. 10.3, Steps 1-3): 1. POKE the HC ROM into RAM. Then there's a stern warning to NOT turn off the calculator. 2. Install CN2-5 3. Now cycle power Also, the warning about removing the jumper is gone. The steps have been reversed. Are the instructions for using the CN2-5 jumper truly different? Dave |
|||
10-05-2016, 10:45 AM
Post: #10
|
|||
|
|||
RE: FRAM71B
(10-02-2016 03:09 PM)Dave Frederickson Wrote: It appears that the instructions for using the E0000 jumper, CN2-5, have changed.Hi, I installed my FRAM71B today with the very very helpful installation guide from Sylvain (http://www.hpmuseum.org/forum/thread-5068.html) I did it like in his guide. Switch off the calculator activate the jumper CN2-5 switch on and continue with the installation. I let the jumper in this position after i finished the installation. In the guide only a filename in FRAM71 Toolkit Ver 1.3 has changed: TRANS41 is now FTH41ROM I'm very happy with my new HP71B with 4 free slots for modules. Maybe I will take some of my modules in the FRAM71B too. Another question: what can I do with the free not used RAM in the FRAM71B? regards Erwin |
|||
10-05-2016, 03:42 PM
Post: #11
|
|||
|
|||
RE: FRAM71B
(10-05-2016 10:45 AM)Erwin Wrote: In the guide only a filename in FRAM71 Toolkit Ver 1.3 has changed: TRANS41 is now FTH41ROMHi Erwin, I believe TRANS41 was changed to FTH41ROM quite a while ago. I changed the name to be consistent with Sylvain's 71B Compendium. There is a v1.3a update due to a missing file. (10-05-2016 10:45 AM)Erwin Wrote: Another question: what can I do with the free not used RAM in the FRAM71B? That is why Bank Switching was devised and why the configuration string has address nibbles. Bank Switching allows you to switch "active" F-Blocks. With a 512K FRAM71/B you can load up to 15 32K F-Blocks with RAM or ROM images, 31 32K F-Blocks with the 1024K version, and switch between them. Unfortunately this has never been documented in the manual. Perhaps this will help: FRAM71/B Bank Switching Dave |
|||
10-05-2016, 07:36 PM
Post: #12
|
|||
|
|||
RE: FRAM71B
(10-05-2016 03:42 PM)Dave Frederickson Wrote:(10-05-2016 10:45 AM)Erwin Wrote: In the guide only a filename in FRAM71 Toolkit Ver 1.3 has changed: TRANS41 is now FTH41ROMHi Erwin, Thank you very much I'll give it a try - but it doesn't look easy :-) for me maybe its too late tonight now. Erwin |
|||
10-05-2016, 08:10 PM
Post: #13
|
|||
|
|||
RE: FRAM71B
(10-05-2016 07:36 PM)Erwin Wrote:(10-05-2016 03:42 PM)Dave Frederickson Wrote: Perhaps this will help: FRAM71/B Bank Switching- but it doesn't look easy :-) Swapping the FORTH and Translator ROM's combines many of the techniques that are in the manual. It also helps to have an understanding of the 71's memory configuration routine, IRAM Identifiers, Invisible Plug-Ins, and not being afraid to ignore warnings in the manual. The procedure wasn't written as an introductory example but rather in a terse format with the prerequisite that you're familiar with the above. The procedure isn't as robust as I'd like, so comments and suggestions are welcome. Dave |
|||
10-05-2016, 08:25 PM
Post: #14
|
|||
|
|||
RE: FRAM71B
Hi,
I installed my FRAM71B today with the help of the excellent guide from Sylvain (http://www.hpmuseum.org/forum/thread-5068.html):
Possible solutions:
regards Erwin |
|||
10-06-2016, 04:53 AM
Post: #15
|
|||
|
|||
RE: FRAM71B
Hello Erwin,
Assuming you have followed my guide, you should have the following configuration PEEK$("2C000",32) -> "D3E4D5D69798191A1B1C9D0000000000" I would suggest to modify it for the following POKE("2C000","D3E4D5D69798991A1B1C9D0000000000") / power cycle Legend: CV=Configuration Value, CN=Chip Number, FB=FRAM Block Code: CV CN FB Size Type Port Description With the above configuration, the FRAM block available (0, 1, 8, 9, E, F) for ROM image and the bank switching capability you can load all the ROMs. Warning 1: Although it should work, I have not tested the following configuration. Warning 2: The following commands will trigger on-the-fly bank-switching (OTF-BS) and if they contains LEX files they may cause a Memory Lost. Dave is the expert here on OTF-BS, not me, yet , so do a backup of your data before playing with this. To load two 16KB ROM into chip 5 and 6 with X and Y using 0, 1, 8, 9, E, F Template: POKE("2C000","D3E4D5D697AXAY1A1B1C9D0000000000") / power cycle Example loading Finance 16KB ROM into chip 5 using FRAM blocks E and loading TextEdit 16KB ROM into chip 6 using FRAM blocks F Code: POKE("2C000","D3E4D5D697AEAF1A1B1C9D0000000000") To load two 32KB ROM into chip 5 and 6 with X and Y using 0, 1, 8, 9, E, F Template: POKE("2C000","D3E4D5D6979X9Y1A1B1C9D0000000000") / power cycle Example loading Ampistat 32KB ROM into chip 5 using FRAM blocks 8 and loading Curvefit 32KB ROM into chip 6 using FRAM blocks 9 Code: POKE("2C000","D3E4D5D69798991A1B1C9D0000000000") To load one 64KB ROM into chip 5 and 6 with X and Y using 0, 1, 8, 9, E, F Template: POKE("2C000","D3E4D5D6971X9Y1A1B1C9D0000000000") / power cycle Example loading DataAcq 64KB ROM into chips 5 & 6 using FRAM blocks 0 & 1 Code: POKE("2C000","D3E4D5D69710911A1B1C9D0000000000") Sylvain |
|||
10-06-2016, 06:24 AM
(This post was last modified: 10-06-2016 12:57 PM by Erwin.)
Post: #16
|
|||
|
|||
RE: FRAM71B
(10-06-2016 04:53 AM)Sylvain Cote Wrote: Hello Erwin,Good morning, thank you for your help ... checked the PEEK - was OK and started with the POKE and after power cycle ended with a <Memory lost>. Seems to be a tricky thing ... So I start to reconfigure my calculator again and then give the logic of the banks a better view :-) EDIT It looks like that with "original" version of the guide it is not possible to declare the PORT 5.05 with the POKE-Statement change "19" -> "99" to reduce the main memory. I tried it a second time and again get a memory lost, maybe there have to be another way for this (before declare the 160k in the first guide)? EDIT 2 I think it was my fault. I didn't put the jumper CN2‐5 back after configuration (is this correct? than this hint is missing in the guide) so I didn't get the Port 5.05 but the PEEKs were OK. But it ist mysterious that after I put the jumper back I additionally to the Port 5.05 I get a Port 5.07 after putting the jumper back ... very strange. EDIT 3 Cause the last trial was not successful with the mysterious PORT 5.07 and the calculator crash after. I made a fresh installation - to have more comfort I put the PILTERM and KEYBOARD file at the beginning of the process in the IRAM instead of fiddling around with the small keyboard on the calculator. I left the jumper CN2‐5 set - that seems to be right. Finally I get the 160 KB RAM in Port 5.05 in addition with the 16 KB MainRAM. Code: MEM = '178284'. Code:
So I'm not sure what I did wrong at the beginning of the installation for the bank switching. regards Erwin |
|||
10-06-2016, 03:55 PM
Post: #17
|
|||
|
|||
RE: FRAM71B
(10-06-2016 04:53 AM)Sylvain Cote Wrote: Warning 2: The following commands will trigger on-the-fly bank-switching (OTF-BS) and if they contains LEX files they may cause a Memory Lost. I vaguely remember Bob suggesting something about LEX files and poll handlers in the swapped F-Blocks. Has this been verified? I don't recall Hans saying anything about limitations with F-Blocks that contain LEX files. There are other cautions that should be observed when using OTF BS. See the FRAM71 Bank Switching, v2 article. Dave |
|||
10-06-2016, 05:41 PM
(This post was last modified: 10-06-2016 05:42 PM by Erwin.)
Post: #18
|
|||
|
|||
RE: FRAM71B
(10-06-2016 03:55 PM)Dave Frederickson Wrote:(10-06-2016 04:53 AM)Sylvain Cote Wrote: Warning 2: The following commands will trigger on-the-fly bank-switching (OTF-BS) and if they contains LEX files they may cause a Memory Lost. I don't think in the case it's about the LEX-Files. I did the installation like Sylvain's guide and only let the ROMCOPY in the IRAM. If this is real not possible - that would mean that no LEX files in the banks - then the bank switching function would be useless - I think it's another problem but I have no more idea. The only thing I could try would Bussi Erwin to cancel all programs on the calculator that this part could be excluded. If there are no other opinions I will give it a try tomorrow :-) Meanwhile I'm used to quickly set up the calculator again ... The problem comes with the first POKE command from Sylvain's very detailed proposal (thanks on this point). Maybe there is the problem - it's not clear for me if the deactivate and activate process described in the bank switching article (http://www.hpmuseum.org/forum/thread-697...RAM71+Bank) is on the first POKE necessary and when how to do this properly? I'm wondering that no one did bank switching in the forum, although there are some FRAM71 out in the wild :-) regards Erwin |
|||
10-06-2016, 06:19 PM
Post: #19
|
|||
|
|||
RE: FRAM71B
(10-06-2016 05:41 PM)Erwin Wrote:(10-06-2016 03:55 PM)Dave Frederickson Wrote: I vaguely remember Bob suggesting something about LEX files and poll handlers in the swapped F-Blocks. Has this been verified? I don't recall Hans saying anything about limitations with F-Blocks that contain LEX files. There are other cautions that should be observed when using OTF BS. See the FRAM71 Bank Switching, v2 article.I don't think in the case it's about the LEX-Files. I did the installation like Sylvain's guide and only let the ROMCOPY in the IRAM. Hi Erwin, I'm talking about OTF BS. ROMCOPY can't be used with OTF BS. See the Bank Switching article. (10-06-2016 05:41 PM)Erwin Wrote: I'm wondering that no one did bank switching in the forum, although there are some FRAM71 out in the wild :-)Bank Switching is a feature I proposed to Hans about a year and a half ago. Shortly after that Hans extended the feature to swap banks on-the-fly. After HHC2015 I put together the FRAM71 Toolkit and wrote v1 of the Bank Switching article, but we had no idea of what the "rules" were. Consequently, the safe thing to do was to try to avoid OTF BS. Since then Bob and Sylvain have given clues that appear to define the rules for using OTF BS and those are in v2 of the bank switching article. So when you say, "no one did bank switching in the forum", I don't know what you mean. Regards, Dave |
|||
10-06-2016, 07:03 PM
Post: #20
|
|||
|
|||
RE: FRAM71B
(10-06-2016 05:41 PM)Erwin Wrote: The problem comes with the first POKE command from Sylvain's very detailed proposal (thanks on this point). Hello Erwin, I will do your desired setup, document the procedure and post it here when I have free time this weekend. FYI, Since I have not yet received my FRAM71B-1024 (HW105/FW600) module, I can only test with my FRAM71A-1024 (HW104/FW502) modules. Sylvain |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: