Examples of Memory MAP with 2x Clonix-D?
|
09-22-2022, 03:25 PM
(This post was last modified: 09-23-2022 02:31 PM by floppy.)
Post: #1
|
|||
|
|||
Examples of Memory MAP with 2x Clonix-D?
Hello,
so far using Nov64D, it is of interest to use 2x ClonixD (version setup of Nov64d) for making an HP41 quite full. Example of a HP41CV w/ only 2x ClonixD in it (no hpil or printer connected). - all pages 3,5,6,7..F can be used?. Example, page 3 could be filled with the hp16c ROM? or the pages 3 5 6 and 7 have some limitations? - other identified limitations in the mail below and in the attachment. .. your comments or remarks are welcome. I am gathering the rules and facts for a quick Nov64d / clonixd mapping and configuration check (before I start to programm the Nov64d, then test, then adapt.. = avoidance of iterations) .. - (xfunction module will make busy the lower page of the port) - (warpcore cannot be placed in page 6) - (lib4 only in page 4, bank1) - (zenrom module will use the upper page of the port where it is in) - (page 4 becoming busy when the hp-il connector printer is switched off) - (other pages "eaten" as soon an hpil or printer or time or xfunction .. is connected to the HP41, therefore the occupied pages are nomore available for ROMs in a clonixd) - (= attachment: a summary of a simulator by having some model types and modules. Not complete version. Still in work). UPDATE Sept23 2022: - this thread looks like it gives the answer https://www.hpmuseum.org/forum/thread-18453.html - I have to update the bugged excel file HP71B 4TH/ASM/Multimod, HP41CV/X/Y & Nov64d, PILBOX, HP-IL 821.62A & 64A & 66A, Deb11 64b-PC & PI2 3 4 w/ ILPER, VIDEO80, V41 & EMU71, DM41X |
|||
09-24-2022, 03:45 AM
(This post was last modified: 09-24-2022 11:23 AM by Sylvain Cote.)
Post: #2
|
|||
|
|||
RE: Examples of Memory MAP with 2x Clonix-D?
41C/CV OS
41C/CV CAT 2 Scan Order → 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 41CX OS
41CX CAT 2 Scan Order → 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3 Note: page 4 does not support standard ROM format, only specially crafted for page 4 ROM can be mapped to that page. Examples: HP Diagnostic ROMs, Ángel Library4 ROM, etc. Edit 1: fixed page modules:
This module is a 12K ROM that uses bank switching on the upper port. To replicate this behavior with a ZEPROM/Clonix-D/etc, you need 16K of space and you must use a port linked-pages Code: bank: ___________ BANK 1 ___________ ___________ BANK 2 ___________ |
|||
09-26-2022, 11:18 PM
Post: #3
|
|||
|
|||
RE: Examples of Memory MAP with 2x Clonix-D?
Hi all,
Sylvain, as usual your detailed descriptions are outstanding. ;-) A note on the Adv. Pac replication, though. While it's true that ZENROM or CMT require 16K to emulate this bankswitched module; in the Clonix/NoV's modules only 12K are used. This is achieved by internally redirecting any access to the lower page into Bank 1, regardless of the active bank in the port. So you don't need to waste valuable memory with duplicated content. All the best! Diego. "Do not suppose, check it twice." |
|||
09-27-2022, 07:38 AM
Post: #4
|
|||
|
|||
RE: Examples of Memory MAP with 2x Clonix-D?
05 → can be bank switched if hardware allows it, page 5 is normally linked to page 6 when bank switched ?
06 → can be bank switched if hardware allows it, page 6 is normally linked to page 7 when bank switched ? 07 → can be bank switched if hardware allows it, page 7 is normally linked to page 8 when bank switched ? 08 → port 1 lower page, can be bank switched if hardware allows it, page 8 is normally linked to page 9 when bank switched 09 → port 1 upper page, can be bank switched if hardware allows it, page 9 is normally linked to page 8 when bank switched.. New questions in bold HP71B 4TH/ASM/Multimod, HP41CV/X/Y & Nov64d, PILBOX, HP-IL 821.62A & 64A & 66A, Deb11 64b-PC & PI2 3 4 w/ ILPER, VIDEO80, V41 & EMU71, DM41X |
|||
09-27-2022, 01:00 PM
(This post was last modified: 09-27-2022 01:02 PM by Sylvain Cote.)
Post: #5
|
|||
|
|||
RE: Examples of Memory MAP with 2x Clonix-D?
Only port pages (8 to 15) are linked, the other are switched individually, but remember, the behavior is hardware specific.
For Diego's modules, my understanding is ...
Sylvain |
|||
09-28-2022, 03:24 PM
Post: #6
|
|||
|
|||
RE: Examples of Memory MAP with 2x Clonix-D?
What does mean " is normally" ?
My thoughts.. When a ROM is created (for bank switching), then it uses most likely (sorry, I dont know how to read ROMs so far) a relative jump?. So, if a ROM is placed at page 5 (Bank1), it will spread around the memory from the start address of that page? I am not sure if all ROMs are using relative jumps and accepting page MOD 2 not zero. According Ange, Sandmath start its paging only at 8 or 10 or 12 or 14. Why is this? I would like to know the background of this and the details of "is normally" What does mean "if hardware allows it" ? Nov64d/Clonixd (the subject in that topic) allow this (so far I am aware). HP71B 4TH/ASM/Multimod, HP41CV/X/Y & Nov64d, PILBOX, HP-IL 821.62A & 64A & 66A, Deb11 64b-PC & PI2 3 4 w/ ILPER, VIDEO80, V41 & EMU71, DM41X |
|||
09-28-2022, 05:50 PM
(This post was last modified: 09-29-2022 01:06 AM by Sylvain Cote.)
Post: #7
|
|||
|
|||
RE: Examples of Memory MAP with 2x Clonix-D?
(09-28-2022 03:24 PM)floppy Wrote: What does mean " is normally" ?Sorry, a bad translation of my part, usually could be a better word. (09-28-2022 03:24 PM)floppy Wrote: What does mean "if hardware allows it" ? When the HP-41 was created, bank switching did not exist at all, so nothing in the 41 hardware nor in the 41OS support this feature. Several years later, when HP introduced the 41CX they added bank switching, they did it for two banks and only for themselves. → time module (page 5 bank 1) and 41CX functions (page 5 bank 2). They did not added the bank switching by modifying how the pages works nor by modifying the base 41OS, they did it by doing two things.
Later on, other companies introduced their own modules and their own way of doing bank switching who were sometime different than the other companies. They also introduced two more banks by replicating what HP did for the first two banks by using these two other NOP instructions: ENBANK3/ENROM3 (0x140) and ENBANK4/ENROM4 (0x1C0). In the middle of this, HP introduced the Advantage module who had another bank switching behavior. In the 41, when a bank switching is requested, several things happen: (simplified version)
In summary, because it was not planned beforehand, bank switching on the 41 is a mess. Over time, a consensus on how it should work emerged and the creators of new devices (MLDL2K, Clonix/NoV, etc) implemented their bank switching by following the agreed upon ways of doing it. Even after all that, when someone pushes the bank switching envelope sometime we find incompatibility, which is why Diego had to modify in 2020 his bank switching internal logic to support Ángel new ROMs. Regarding fixed/odd/even pages with bank switching. Each ROM developer decides on which page their ROM is assigned and which bank switching behavior it supports. Once he has decided his strategy, the simple way is to read and follow their instructions. If no instruction is given, then it is a trial and error process. Sylvain edit: typos |
|||
09-29-2022, 08:23 AM
(This post was last modified: 09-29-2022 10:34 AM by MeindertKuipers.)
Post: #8
|
|||
|
|||
RE: Examples of Memory MAP with 2x Clonix-D?
(09-28-2022 03:24 PM)floppy Wrote: My thoughts.. When a ROM is created (for bank switching), then it uses most likely (sorry, I dont know how to read ROMs so far) a relative jump?. So, if a ROM is placed at page 5 (Bank1), it will spread around the memory from the start address of that page? When a ROM is placed in Page 5 (which is not a good example in a 41CX, but possible in a HP41) its address range is from 0x5000 to 0x5FFF. And unless it is for a very specific purpose with a fixed page address (like the printer or a Page 4 ROM) any ROM, bankswitching or not, should be written with relative jumps only, independent from odd or even pages. This makes the ROM transparant to use in any hardware environment (MLDL2000, 41CL, NoVRAM, DM41X). The 'normal' bankswitching may limit the behavior above when it is a 2-page ROM and depends on switching banks in both pages at the same time. And this does depend on the hardware platform as some of us had to learn the hard way. Regards, Meindert |
|||
09-29-2022, 03:35 PM
Post: #9
|
|||
|
|||
RE: Examples of Memory MAP with 2x Clonix-D?
(09-22-2022 03:25 PM)floppy Wrote: so far using Nov64D, it is of interest to use 2x ClonixD (version setup of Nov64d) for making an HP41 quite full.If you give me what ROM images you want to use, I can give you the configuration to use them with a description as to why each ROM is configured that way. |
|||
10-04-2022, 10:18 AM
Post: #10
|
|||
|
|||
RE: Examples of Memory MAP with 2x Clonix-D?
(09-29-2022 03:35 PM)Sylvain Cote Wrote:Hello,(09-22-2022 03:25 PM)floppy Wrote: so far using Nov64D, it is of interest to use 2x ClonixD (version setup of Nov64d) for making an HP41 quite full.If you give me what ROM images you want to use, I can give you the configuration to use them with a description as to why each ROM is configured that way. thanks for the proposal. for my first machine (a CV), I was thinking for a full math setup (no complex rom) with longer programs therefore, an activated hepax would be good. To be added. - Hepax4H DoubleMemory Page 4, E and F - HepaxROM Page 5 (not sure if it works because not contiguous to the page E) - SandMath4x4 Pages A and B - Advantage Page 8 and 9 - HP16c Page 3 (or C if it hold not in Page 3) - Zenrom3B in Page D From the on-going hw analysis (result below), it should be one page free at the end. The proposal will make me moving ahead in defining a setup: especially the variants (Std_HEPAX, ADV_Hepax, HEPAX_mem HEPAX_double_mem ) of hepax implementation in Nov64d is still unclear for me since its new for me. I asked to Diego, too. It mean for now: making a setup analysis script based on missing knowledge (at me), makes me first dependant of the knowledge of this community. Code: -------------------------------------------------------------------------------- HP71B 4TH/ASM/Multimod, HP41CV/X/Y & Nov64d, PILBOX, HP-IL 821.62A & 64A & 66A, Deb11 64b-PC & PI2 3 4 w/ ILPER, VIDEO80, V41 & EMU71, DM41X |
|||
10-04-2022, 11:58 AM
Post: #11
|
|||
|
|||
RE: Examples of Memory MAP with 2x Clonix-D?
My understanding is that the 16c (at least) requires a 41CX as it makes OS calls so you can't use in a 41CV.
(10-04-2022 10:18 AM)floppy Wrote:(09-29-2022 03:35 PM)Sylvain Cote Wrote: If you give me what ROM images you want to use, I can give you the configuration to use them with a description as to why each ROM is configured that way.Hello, Calculator Clique on YouTube |
|||
10-04-2022, 01:02 PM
(This post was last modified: 10-04-2022 11:25 PM by Sylvain Cote.)
Post: #12
|
|||
|
|||
RE: Examples of Memory MAP with 2x Clonix-D?
(10-04-2022 10:18 AM)floppy Wrote: To be added. 1) the 41CV does not scan page 3 on CAT 2, also Clonix/NoV modules do not allow page 3 to be used, so AFAIK that page is lost. 2) page 4 can only be used by made for page 4 ROM. 3) a NoV-64d module is a Clonix-D module with a FRAM chip added, thus a NoV-64d can be programmed as a Clonix-D module 4) most of Ángel's ROMs only works with a 41CX OS (41CX, 41CL, DM41X, i41CX, etc), you must read each ROM manual to validate which 41OS the ROM is compatible with and which minimal Library4 version to use 5) AFAIK, HEPAX-4H only works inside a 41CX, you must use HEPAX-1D for a 41C/41CV (some testing is needed on my side to check this) 6) NoV modules automatically reseve 16K of HEPAX RAM (page 8 to B) which cannot changed, I may have a workaround to get you only 8K, I need to do some tests 7) HEPAX ROM reassigned automatically its own ROM to the first non used page, starting from page 5 I will post the configuration when I have validated it on my side. Sylvain edit #1: primary tests result for point (5) → HEPAX-4H seems to indicate that it will work with 41OS C/CV version. → update: → → nop, HEPAX-4H uses library4 and after verification, library4 has been designed for 41CX OS only → → ref: Library #4, HP-41 Extension Project Manual, May 2012 edit #2: ROMs dependencies → HEPAX-4H (rev. 4H, April 2021) has a hard dependency on Library4 (rev. ?) and a soft dependency on AMC_OS/X (rev. ?) and SandMatrix (rev. ?) . → AMC_OS/X (rev. 4M, Oct 2020) has a hard dependency on Library4 (R45+) and 41CX OS → at this point I need to create a dependency matrix between Ángel ROMs before going further. |
|||
10-04-2022, 11:30 PM
Post: #13
|
|||
|
|||
RE: Examples of Memory MAP with 2x Clonix-D?
Ángel,
Is the library4 version part of the ROM image ? If yes, how can I get it ? (fnc call, offset, address, etc) Thanks Sylvain |
|||
10-05-2022, 02:54 AM
Post: #14
|
|||
|
|||
RE: Examples of Memory MAP with 2x Clonix-D?
Follow-up on the CV version ...
(10-04-2022 10:18 AM)floppy Wrote: To be added.This rabbit hole gave me the opportunity the discover/revisit which of the new ROMs need the 41CX OS, thus not working with the 41C OS. 1) any modules that uses Library4 are not compatible with the C/CV OS, this include: Hepax4H, SandMath4x4, HP16c and several others. 2) CCD ROM or one of its non-library4 variants (CCD-OSX, etc) has keyboard handling issues with the ZenROM, so I will advise to not use both at the same time. 3) Advantage and HEPAX-1D can be used without issues. 4) CCD ROM or CCD-OSX or ZenROM can be used without issues, but only one can be chosen. Now we are going away from your math/hepax target with your 41CV (10-04-2022 10:18 AM)floppy Wrote: for my first machine (a CV), I was thinking for a full math setup (no complex rom) with longer programs therefore, an activated hepax would be good. Base on the above fact, what do you want to do ? Sylvain |
|||
10-05-2022, 10:47 AM
(This post was last modified: 10-05-2022 10:55 AM by floppy.)
Post: #15
|
|||
|
|||
RE: Examples of Memory MAP with 2x Clonix-D?
Thanks.
Based on the disclosed extensive analysis, the current math technical baseline for my HP41CV looks like (my use case): 1x Nov64d: - advantage (from my program working in a CX, delete the FROOT from Sandmath4x4 and use SOLVE; delete VMOD from Sandmath4x4 and use UV) - hepax1D (for using regmove and regswap) - CCD ROM or CCD-OSX or ZenROM (not sure which one is the best for me; I must have a look the next days) (more to read.. more to understand.. more facts and rules to code down.. And not forgetting the setup-review of a CX as next). HP71B 4TH/ASM/Multimod, HP41CV/X/Y & Nov64d, PILBOX, HP-IL 821.62A & 64A & 66A, Deb11 64b-PC & PI2 3 4 w/ ILPER, VIDEO80, V41 & EMU71, DM41X |
|||
10-05-2022, 06:23 PM
(This post was last modified: 10-06-2022 11:40 AM by Sylvain Cote.)
Post: #16
|
|||
|
|||
RE: Examples of Memory MAP with 2x Clonix-D?
HP-41CX configuration sample using two NoV-64d modules with one NoV-64d configured as a Clonix-D.
All the ROMs used in my tests are coming from rom_files_220923.zip. Thank you Monte for maintaining and releasing this monthly update. ROM images used Code: Module Size Pages Banks Page XROM Lib4 OS Notes Code: HP Advantage Pac 1B 4 1 1 lower-pg 22 C Module #1 - Clonix-D - joint blocks - Flash> used:48K free:0K - inserted in a lower port Code: Bank -> ____#1____ ____#2____ ____#3____ ____#4____ Code: Page B -> ADVU1-1B ADVU2-1B Module #2 - NoV-64d - joint blocks - Flash> used:36K free:12K - FRAM> mapped:16k - inserted in a higher port Code: Bank -> ____#1____ ____#2____ ____#3____ ____#4____ Code: Page B -> [Clonix-D] // HEPAX-RAM n/a, overwritten by lower port Clonix-D Ports used Code: Port #1: NoV-64d as Clonix-D CAT 2 Code: -TIME 2C Code: -ADV TVM Edit 1: typo Edit 2: added rom_files_220923.zip link |
|||
10-06-2022, 06:02 PM
(This post was last modified: 10-06-2022 06:16 PM by floppy.)
Post: #17
|
|||
|
|||
RE: Examples of Memory MAP with 2x Clonix-D?
Thanks.
The fact I read now is (quite natural from a boot systematic point of view?): a) the HP41 start its system and fill the pages with what it needs (from 0 on: cx system, time in a cx..) b) then it looks at ports starting from 1 .. 4 c) clonixd fill the pages we put him in (no decision there, it just do what it has to do) d) the detected modules in the port (hpil etc.) would try to overwrite the pages which are predefined (example hpil in page 6 and 7 if the printer switch is on). If the pages are already busy, perhaps an error would occur (an hpil with printer switch off would try to move the printer libs to page4.. not sure if it would be a true issue if the page 4 is already busy with lib4 from the nov64d if nov64d is in port3 and hpil in port4? probably. However not relevant in our case) d) nov64d is smart enough to find the room it needs (the dynamic one) and for this it must be in an higher port than all other modules/peripherals in order to adapt and use its smart behaviour. e) the port location of the hpil and the clonixd in the previous setup could be exchanged, the nov64d would stay where it is (since no collision in the pages) Comments are welcome. update: bit rework (no major change in the sense) HP71B 4TH/ASM/Multimod, HP41CV/X/Y & Nov64d, PILBOX, HP-IL 821.62A & 64A & 66A, Deb11 64b-PC & PI2 3 4 w/ ILPER, VIDEO80, V41 & EMU71, DM41X |
|||
10-06-2022, 07:20 PM
(This post was last modified: 10-07-2022 12:44 PM by Sylvain Cote.)
Post: #18
|
|||
|
|||
RE: Examples of Memory MAP with 2x Clonix-D?
Some clarifications ...
In general, ROM page options are: fixed, port-lower-page or port-upper-page (there are other options, but for our discussion here, these are the one we are using) so there is no dynamic page filling here, code run from ROM which has fixed addresses. All the hardware connected to the system bus receive the same cpu signals at the same time, which include the motherboard and all connected peripherals/modules. Generally, a bus lock-up happens (41 freeze) when two ROM share the same address/bank. Some emulation devices, like Clonix/NoV modules, detect that scenario and disable its own ROM for the faulty page if it can. Some devices like HePaX are able to change their ROM address(es), but that is a device capability and not an orchestrated feature of the 41OS. edit: added the last line |
|||
10-08-2022, 02:08 PM
Post: #19
|
|||
|
|||
RE: Examples of Memory MAP with 2x Clonix-D?
Hi all,
On a previous mail with the OP I noted that: "The only safe configuration for two of my modules plugged simultaneously is 2x Clonix-D (or NoV-64d configured like Clonix-D)". The key word here is "safe". While running NoV-64d (HEPAX emulation) along with Clonix-D is 'possible' and will not cause any address or bus conflicts; it will stress the power supply IC beyond its standard functional limits for "continuous"(*) use. Even though this part is a bipolar IC and can take a bit of 'abuse' quite well, this may cause premature failure in the long term, hence this configuration should be avoided as a working environment. It may work for years, but I won't risk an unobtainable IC betting against that odds. In all my functional scenarios there is only one case where it is used and just for a brief period of time (meaning a few seconds) when loading/saving a ROM image to/from a PC file thru the USB-41 interface module. The USB-41 is basically a Clonix-D with a dedicated area (both hardware and software) to interface with the RS232/USB adapter. (*) The Power supply IC, is a bipolar step-up DC-DC converter. It is nominally rated for 20mA continuous current (1826-0566). It was (and still is) a common practise to rate parts' safe operation about 130% below their "Absolute maximum ratings". Also the IC description states that the limiting resistor (R2) can be modified to allow higher current drains. In the later models this IC is replaced with 1826-0953 and R2 is suppressed allowing a free run to max current when needed. In a bipolar device the usual "killer" is the current-time>temperature increase (given no overvoltage is applied; which won't be the case here). So, short periods of time running up to 10 times the continuous rating are still in the "safe" area. In the HP-41 the power supply IC is 'resting' most of the time, since it is not used while the calc is in light or deep sleep mode. I ran several bench tests while checking the NoV's modules design on both -0566 and -0953 IC's, draining up to 100mA for 24hr confirming that the parts suffered no damage and my 41CX (which I used for the -0953 test) is still healthy after more than 15years of abuse. Using two Clonix-D simultaneously is well below the functional continuous limit of the power supply IC's. NoV-64d, can rise to 50mA max. which is still ok for continuous use and have proven safe since no HP-41 damage has been reported after 19 years of use of hundred of modules in the field. I would like to keep this safety record unchanged, hence I won't recommend to plug two of my modules when configured as NoV-64d. Sorry if this post has turned out to be too long and techie. Hope this clarifies the point. Best wishes. Diego. "Do not suppose, check it twice." |
|||
10-08-2022, 02:44 PM
(This post was last modified: 10-09-2022 11:25 AM by Sylvain Cote.)
Post: #20
|
|||
|
|||
RE: Examples of Memory MAP with 2x Clonix-D?
Thank you Diego.
If I understood you correctly, Code: safe → 2x Clonix-D Sylvain edit: replaced ok/not ok with safe/unsafe |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 2 Guest(s)