Post Reply 
NoV-64D and HEPAX Questions
03-20-2024, 09:34 PM
Post: #1
NoV-64D and HEPAX Questions
I have one of Diego Diaz's Nov-64D modules on order.

I've been reading through the manuals for both the NoV-64D and then HEPAX modules that it emulates. And I have a few questions:

1. Can the clonixconfigure61.exe program configure/program the HEPAX RAM or only the NoV-64D ROM Banks.

2. Can the NoV-64D enable/disable individual 4K pages or is it 16K blocks only?

3. Can the HEPAX module enable/disable ROM images in it's RAM.

4. Since the NoV-64D module has 64K of RAM can it page the HEPAX 16K RAM blocks?

My goal is to use the blocking/paging capabilities of the NoV-64 and it's HEPAX emulation to create several different module configurations in one 41. One for synthetic programming and one for MCODING

One more question. I have the ZENROM and DEV IL ROMs what other ROMs would you recommend for general use, Synthetic programming and MCODE Programming. I've been considering the CCD and NOV CHAP roms.

Thanks for your help....
Find all posts by this user
Quote this message in a reply
03-20-2024, 11:34 PM (This post was last modified: 03-20-2024 11:46 PM by Sylvain Cote.)
Post: #2
RE: NoV-64D and HEPAX Questions
Hello Mike,

First, I would suggest that you read my Diego Díaz Clonix & NoV Modules - HHC 2020 & HPCC 2020 Presentations.
I have included lots of step-by-step examples and explained all the configuration options for all the modules.

(03-20-2024 09:34 PM)BitWiz Wrote:  1. Can the clonixconfigure61.exe program configure/program the HEPAX RAM or only the NoV-64D ROM Banks.
The program add either: 4 ROM images for the HEPAX 1D :or: 5 ROM images for the HEPAX 4H
then it activates the 64K RAM and map 1/4 of it (16K) to page 8, 9, 10 and 11.

(03-20-2024 09:34 PM)BitWiz Wrote:  2. Can the NoV-64D enable/disable individual 4K pages or is it 16K blocks only?
16K or 32K can be mapped to the 41 address space
The control address is 4100, the information can be found in Diego manuals (ClonixConfig61.pdf & NoV-64v08r_Man5.pdf) and in my presentation.

(03-20-2024 09:34 PM)BitWiz Wrote:  3. Can the HEPAX module enable/disable ROM images in it's RAM.
Please rephrase, I do not understand the question.

(03-20-2024 09:34 PM)BitWiz Wrote:  4. Since the NoV-64D module has 64K of RAM can it page the HEPAX 16K RAM blocks?
See answer 2 above.

(03-20-2024 09:34 PM)BitWiz Wrote:  One more question. I have the ZENROM and DEV IL ROMs what other ROMs would you recommend for general use, Synthetic programming and MCODE Programming. I've been considering the CCD and NOV CHAP roms.
  • ZENROM is great for synthetic entries, has a ROM/QROM editor (MCED) and a RAM editor (RAMED)
  • CCD ROM and its variants (CCD-OSX, etc.) is a great ROM to have
  • HP-IL Development and Extended I/O ROMs are great tools for advanced HP-IL control
  • HEPAX gives an equivalent and extended version of what the XFM/XM modules gives but with QROM (HEPAX RAM) memory and it also have a ROM/QROM editor (HEXEDIT)
  • RAMBOX32 allow you to create your own application ROM in QROM
  • Ángel's Total Rekall/Warp Code are great ROMs for advanced 41 user.
  • PPC ROM is a great utility ROM that you can use in your applications.
  • The are several MLDL ROMs available that will allow you to assemble/disassemble/edit/etc mcode.
Some reference materials ...

Sylvain Côté
Find all posts by this user
Quote this message in a reply
03-21-2024, 01:55 AM
Post: #3
RE: NoV-64D and HEPAX Questions
Sylvain,

Thank you for your response.

What I want to with the Nov-64D module is to maximize the entire address space. I figure I will have to do some kind of enabling/disabling of what goes where.

Then I can write some user/M-Code to switch NoV ROM and HEEPAX ROM Images in RAM on and off. Think of it as switching personalities.

Basic HP-41CX with Dual X-Mem, HP-IL (with printer enabled)

Something like the following:

Personality #1 (normal and synthetic programming):
41C Emulator (4K)
ZENROM (4K)
HP Development ROM (8K)
HP Extended I/O ROM (4K)
Library 4 (4K)
HEPAX (8K) (Possibly not necessary if I can do the switching some other way)
CCD ROM (Or my own ROM routines or the NOV CHAP ROM)

Personality #1A (normal with PPC)
Disable the Extended I/O and the CCD ROM and enable the PPC ROM.

Personality #2 (M-Coding):
HEPAX (8K)
ZENROM (4K) (Possibly not needed because of equivalent functionality in the HEPAX ROM)
HP IL Development ROM (8K)
HP IL Extended I/O ROM (4K)
8K RAM for M-Code work.

The reason that the HP-IL Development ROM is in all personalities is that it is build into my double X-MEM module. If someone has a double X-MEM then i could ditch the DEV-IL and that would simplify things a lot.

In a perfect world I would have a module with something like 128K (or more) of flash and 32K (or more of RAM) and any 4K block of flash or RAM could be configured to be at any address (R/W or Read only) at any 4K page in the HP-41 System Address Space. And for simplicity of use I would allow for switching sets of these configurations so a single command of some sort would switch the entire address space.

Thanks,

Mike
Find all posts by this user
Quote this message in a reply
03-21-2024, 04:10 AM
Post: #4
RE: NoV-64D and HEPAX Questions
Hello Mike,

I have read your last post and I understand what you want to do.
This is a very advanced configuration and the HP-41 was not designed to do this.
There are several constraints in your setup, some I can go around and some not.

For example, because your Extended-IO ROM is part of your double-X-Memory module shell, it cannot be deactivated and because HEPAX RAM from NoV module always use page 8 to 11, it mean that your triple module can only be inserted into either port 3 or port 4.

Also, you will need to verify which page the Ext-IO ROM uses, normally the Ext-IO use the lower page but in your case you have to validate it. I normally use HEPAX HEXEDIT or ZENROM MCED, go to the first address of a page where the XROM value is located, if it contains 000 then there no ROM there and if it contains or something else then I validate the XROM value with the one I am expecting. (Ext-IO XROM is 23 dec or 17 hex)
Code:
Port 3 lower page is page 12 → C000
Port 3 upper page is page 13 → D000
Port 4 lower page is page 14 → E000
Port 4 upper page is page 15 → F000
This knowledge is needed in order to configure the NoV Flash space correctly.

Another issue is that NoV HEPAX implementation always allocate 16K no matter what.
As a work around we can remove two pages from the HEPAX RAM link lists (page 10 and 11) and load ROM images in them, but in order to do so, the easier way would be use PIL-Box and a virtual cassette drive who would contains a virtual cassette that you will create that would contains the needed ROM images.

This is only the beginning and it will get more complicated as we go along.

The best platform to do these kind of advanced configuration is the 41CL or the DM41X.
I can probably do it with the upcoming MAXX module from Monte but the PILBox will be mandatory.
From what I know, I could also probably do it with the upcoming module from Meindert/Andrew/Thomas/... but until I build a prototype or have the real module, I do not know.
In all cases, you need to have a deep understanding of how the 41C page system and bank switching works.

Because I know my way around and I have all the equipment, I can create a configuration that does what you want or pretty close.
The setup will be complicated and lengthy, I will try to automate the personality switch but it may not succeed and in that case it the switching may be somewhat complicated.

Are you ready for this ?
Did you order Diego USB programmer for the NoV module ?
What version of HP-41 do you have ? (C, CV, CX)? (fullnut, halfnut)?
Do you have a HP-IL module ?
Do you have a PILBox ?

Sylvain Côté
Find all posts by this user
Quote this message in a reply
03-21-2024, 06:00 AM
Post: #5
RE: NoV-64D and HEPAX Questions
Sylvain,

Thank you for your rapid response.

The module trippled up with my dual X-MEM is the 8K IL Develment ROM (XROM #'s 22 & 24) and not the 4K Extended I/O module.

As I don't use X-memory very much I can, in the worst case, remove the module and put the IL Dev ROM in the Nov-64 or just skip it entirely (it's not that useful anyway compared to the IL Extended I/O ROM).

To answer your questions:

Yes I have a PIL-Box
Yes the NOV-64D was ordered with the USB Programmer
Yes I have an HP-IL Module
It is a Half Nut CX (NFL) that has Larry Weigal's Hyper-41 in it and runs either normal speed or 2.3X. I do not expect the NoV-64 to run at 2.3X.

I will look into the other Modules (Maxx and Meindert/Andrew/Thomas) when they become available.

Thank you again,

Mike
Find all posts by this user
Quote this message in a reply
03-24-2024, 05:02 PM (This post was last modified: 03-25-2024 09:27 AM by Sylvain Cote.)
Post: #6
RE: NoV-64D and HEPAX Questions
Hello Mike,

Sorry it took so long coming back, I had to test something I had seen 4 years ago on the NoV module before going back to your configuration.

Before going through your configurations, we must review the baseline.

The NUT CPU can address 64K of 10-bit words made of ROM/EPROM/Flash/RAM/etc memory.
That address space is divided into 16 pages of 4K.
The first 8 pages are reserved for the system and the last 8 pages are given to the external modules.

Pages mapping table (41CV include 41C)
Code:
Page  41CV    41CX    Note
----  ------  ------  -----------------------------
Code:
0: 0  CVOS    CXOS    Reserved for Operating System
1: 1  CVOS    CXOS    Reserved for Operating System
2: 2  CVOS    CXOS    Reserved for Operating System
3: 3          CXXF    CX built-in X-Functions ROM
4: 4                  Reserved for Takeover ROM      (Diagnostic ROM, 82160A IL printer [disabled], Library 4, etc)
5: 5  TIME    TIME    Reserved for Time ROM          (CX built-in & C/CV Time module)
6: 6  PRNT    PRNT    Reserved for Printer ROM       (82143A Printer, 82160A IL Module [enabled], 82242A IR Module, etc)
7: 7  HPIL    HPIL    Reserved for HP-IL ROM         (82160A IL module)
Code:
8: 8                  Port #1 - lower page
9: 9                  Port #1 - upper page   
A:10                  Port #2 - lower page
B:11                  Port #2 - upper page   
C:12                  Port #3 - lower page
D:13                  Port #3 - upper page   
E:14                  Port #4 - lower page           (82104A magnetic card reader)
F:15                  Port #4 - upper page

The concept of page switching in the HP-41 world was introduced with the 41CX.
HP used two intructions that was not defined in the CPU (NOP) and added the decoding logic to the CX time ROM chip to switch between page 5 bank 1 and bank 5 bank 2.
Unfortunately these instructions and behavior were not standardized so 3rd party hardware provider implemented their own instructions and logic to handle the number of pages and the switching behavior.
Anyway, just to summarize things, it you insert a CMT-10-16KB module in port 1 and ZEPROM module in port 3, each module is reponsible to handle how many pages there are and how to switch between them, while the NUT CPU has no understanding that page bank and page switching even exist.
My (unfinished) article, try to list these behaviors -> HP-41C Bank Switching Schemes

NoV-64(d) provide the following:
  • 64K 10-bit FRAM divided into 4 x 16K slot that can be used as HEPAX RAM or as QROM (Quasi-ROM, used to hold ROM images)
  • 48K 10-bit Flash divided into 12 x 4K slot that can hold ROM images
  • each 4K Flash slot has a individual page and bank configuration mapping
  • support for HEPAX ROM bank switching instructions (4x NUT CPU NOP instructions but understood by HEPAX and NoV modules)
  • support for HEPAX ROM relocalisation instruction (1x NUT CPU NOP instruction but understood by HEPAX and NoV modules)
  • special NoV QROM configuration word at address 4100 (control NoV-64 module QROM mapping, Flash mapping and some other functionalities)
NoV-64(d) 64K FRAM allocation:
  • 4x 16K slot mapped as follow:
    • 4x 16K mapped from page 8 to page 12 as HEPAX RAM and/or QROM
    • 2x 32K mapped from page 8 to page 15 as HEPAX RAM and/or QROM
  • slot selection is done through the special QROM configuration word at address 4100
NoV-64(d) 48K Flash allocation when HEPAX 1D is selected:
  • 4x 4K slot are reserved for HEPAX ROM images
  • 8x 4K slot are free to hold other ROM images, configured as:
    • 1x block of 8x 4K slot
      or
    • 2x blocks of
      • 4x 4K slot for block 1
      • 4x 4K slot for block 2
    • block deactivation, activation and/or selection is done through the special QROM configuration word at address 4100
NoV-64(d) 48K Flash allocation when HEPAX 4H is selected:
  • 4x 4K slot are reserved for HEPAX ROM images
  • 1x 4K slot is reserved for Library 4 ROM image
  • 7x 4K slot are free to hold other ROM images, configured as:
    • 1x block of 7x 4K slot
      or
    • 2x blocks of
      • 3x 4K slot for block 1
      • 4x 4K slot for block 2
    • block deactivation, activation and/or selection is done through the special QROM configuration word at address 4100
Next post will cover your first configuration.

Sylvain

edit: link to "HP-41C Bank Switching Schemes" article updated, thank you Thomas.

Sylvain Côté
Find all posts by this user
Quote this message in a reply
03-24-2024, 11:43 PM (This post was last modified: 03-25-2024 09:22 AM by Sylvain Cote.)
Post: #7
RE: NoV-64D and HEPAX Questions
Hello Mike,

(03-21-2024 01:55 AM)BitWiz Wrote:  Personality #1A (normal and synthetic programming):
Library 4 (4K)
HEPAX (8K) (Possibly not necessary if I can do the switching some other way)
41C Emulator (4K)
ZENROM (4K)
HP Development ROM (8K)
HP Extended I/O ROM (4K)
CCD ROM (Or my own ROM routines or the NOV CHAP ROM)

(03-21-2024 01:55 AM)BitWiz Wrote:  Personality #1B (normal with PPC)
Disable the Extended I/O and the CCD ROM and enable the PPC ROM.

(03-21-2024 01:55 AM)BitWiz Wrote:  Personality #2 (M-Coding):
HEPAX (8K)
ZENROM (4K) (Possibly not needed because of equivalent functionality in the HEPAX ROM)
HP IL Development ROM (8K)
HP IL Extended I/O ROM (4K)
8K RAM for M-Code work.

Q1: what ROM is 41C Emulator (4K) ?

I am putting the Double X-Memory + HP-IL Dev ROM module tentatively in port 3 but some compatibility test would have to be done to be sure that the system sees the double xmem.

HP-IL module is needed to load ROM images from virtual tape into QROM.

Constraint, the following setup uses four different NoV HEPAX RAM/QROM slots, meaning that files in HEPAX RAM of slot 1 is not visible when HEPAX RAM of slot 2 is activated, same behavior for the other two slots.

Here are my propositions ...

41CX-HN personality #1A configuration table: (Ext-I/O & ZenROM)
Code:
      _Banks_
Page  1 2 3 4  XROM  ROM Image
----  - - - -  ----  -----------------------------
Code:
0: 0  1         --   CX Operating System
1: 1  1         --   CX Operating System
2: 2  1         --   CX Operating System
3: 3  1         25   CX X-Functions
4: 4  1         --   empty or NoV Flash Library 4
5: 5  1 2       26   1: CX Time / 2: CX Extra ROM
6: 6  1         29   IL Printer ROM
7: 7  1         28   IL Functions
Code:
8: 8  1        auto  NoV FRAM slot 1.1 - HEPAX  RAM - HEPAX File System
9: 9  1        auto  NoV FRAM slot 1.2 - HEPAX  RAM - HEPAX File System
A:10  1         23   NoV FRAM slot 1.3 - HEPAX QROM - Ext-I/O
B:11  1          5   NoV FRAM slot 1.4 - HEPAX QROM - ZenROM
C:12  1         22   HP-IL Dev ROM - lower page - with double XM
D:13  1         24   HP-IL Dev ROM - upper page - with double XM
E:14  1          ?   NoV Flash block 1 slot 1 - 41C Emulator (4K) ?
F:15  1 2 3 4    7   NoV Flash HEPAX 4xROMs

41CX-HN personality #1B configuration table: (PPC ROM)
Code:
      _Banks_
Page  1 2 3 4  XROM  ROM Image
----  - - - -  ----  -----------------------------
Code:
0: 0  1         --   CX Operating System
1: 1  1         --   CX Operating System
2: 2  1         --   CX Operating System
3: 3  1         25   CX X-Functions
4: 4  1         --   empty or NoV Flash Library 4
5: 5  1 2       26   1: CX Time / 2: CX Extra ROM
6: 6  1         29   IL Printer ROM
7: 7  1         28   IL Functions
Code:
8: 8  1        auto  NoV FRAM slot 2.1 - HEPAX  RAM - HEPAX File System
9: 9  1        auto  NoV FRAM slot 2.2 - HEPAX  RAM - HEPAX File System
A:10  1         10   NoV FRAM slot 2.3 - HEPAX QROM - PPC ROM lower page
B:11  1         20   NoV FRAM slot 2.4 - HEPAX QROM - PPC ROM upper page
C:12  1         22   HP-IL Dev ROM - lower page - with double XM
D:13  1         24   HP-IL Dev ROM - upper page - with double XM
E:14  1          ?   NoV Flash block 1 slot 1 - 41C Emulator (4K) ?
F:15  1 2 3 4    7   NoV Flash HEPAX 4xROMs

41CX-HN personality #1C configuration table: (CCD ROM)
Code:
      _Banks_
Page  1 2 3 4  XROM  ROM Image
----  - - - -  ----  -----------------------------
Code:
0: 0  1         --   CX Operating System
1: 1  1         --   CX Operating System
2: 2  1         --   CX Operating System
3: 3  1         25   CX X-Functions
4: 4  1         --   empty or NoV Flash Library 4
5: 5  1 2       26   1: CX Time / 2: CX Extra ROM
6: 6  1         29   IL Printer ROM
7: 7  1         28   IL Functions
Code:
8: 8  1        auto  NoV FRAM slot 3.1 - HEPAX  RAM - HEPAX File System
9: 9  1        auto  NoV FRAM slot 3.2 - HEPAX  RAM - HEPAX File System
A:10  1          9   NoV FRAM slot 3.3 - HEPAX QROM - CCD ROM lower page
B:11  1         11   NoV FRAM slot 3.4 - HEPAX QROM - CCD ROM upper page
C:12  1         22   HP-IL Dev ROM - lower page - with double XM
D:13  1         24   HP-IL Dev ROM - upper page - with double XM
E:14  1          ?   NoV Flash block 1 slot 1 - 41C Emulator (4K) ?
F:15  1 2 3 4    7   NoV Flash HEPAX 4xROMs

41CX-HN personality #2 configuration table: (MCode development)
Code:
      _Banks_
Page  1 2 3 4  XROM  ROM Image
----  - - - -  ----  -----------------------------
Code:
0: 0  1         --   CX Operating System
1: 1  1         --   CX Operating System
2: 2  1         --   CX Operating System
3: 3  1         25   CX X-Functions
4: 4  1         --   empty or NoV Flash Library 4
5: 5  1 2       26   1: CX Time / 2: CX Extra ROM
6: 6  1         29   IL Printer ROM
7: 7  1         28   IL Functions
Code:
8: 8  1        auto  NoV FRAM slot 4.1 - HEPAX  RAM - HEPAX File System
9: 9  1        auto  NoV FRAM slot 4.2 - HEPAX  RAM - HEPAX File System
A:10  1        tbd   NoV FRAM slot 4.3 - HEPAX QROM - MCode development
B:11  1        tbd   NoV FRAM slot 4.4 - HEPAX QROM - MCode development
C:12  1         22   HP-IL Dev ROM - lower page - with double XM
D:13  1         24   HP-IL Dev ROM - upper page - with double XM
E:14  1          5   NoV Flash block 1 slot 1 - ZenROM
F:15  1 2 3 4    7   NoV Flash HEPAX 4xROMs

Let me know if you are ok with these or not.
I will write down the steps only after we have an agreement.

Sylvain

Sylvain Côté
Find all posts by this user
Quote this message in a reply
03-25-2024, 08:39 AM
Post: #8
RE: NoV-64D and HEPAX Questions
(03-24-2024 05:02 PM)Sylvain Cote Wrote:  My (unfinished) article, try to list these behaviors -> HP-41C Bank Switching Schemes

Hi Sylvain!

Thanks for interesting information!
But the link above is wrong - it just points back to this thread - I guess I should be this instead -> HP-41C Bank Switching Schemes

Cheers,
Thomas

[35/45/55/65/67/97/80 21/25/29C 31E/32E/33E|C/34C/38E 41C|CV|CX 71B 10C/11C/12C/15C|CE/16C 32S|SII/42S 28C|S 48GX/49G/50G 35S 41X]
Find all posts by this user
Quote this message in a reply
03-25-2024, 09:25 AM
Post: #9
RE: NoV-64D and HEPAX Questions
(03-25-2024 08:39 AM)ThomasF Wrote:  
(03-24-2024 05:02 PM)Sylvain Cote Wrote:  My (unfinished) article, try to list these behaviors -> HP-41C Bank Switching Schemes
But the link above is wrong - it just points back to this thread - I guess I should be this instead -> HP-41C Bank Switching Schemes
Hello Thomas,
The link has been updated, Thank you! Smile
Sylvain

Sylvain Côté
Find all posts by this user
Quote this message in a reply
03-26-2024, 07:10 PM
Post: #10
RE: NoV-64D and HEPAX Questions
Hi all,

Impressive compilation of details and information on this (not always easy to understand) subject!

Look forward to reading the whole document when finished.

Congrats for yet another invaluable contribution.

Best wishes.

Diego.

"Do not suppose, check it twice."
Find all posts by this user
Quote this message in a reply
03-26-2024, 09:01 PM
Post: #11
RE: NoV-64D and HEPAX Questions
Sylvain,

Thank you very much.

I mistyped about the 41C emulator ROM (Martin-McClure). I was referring to the 16C emulator ROM which is a 4K bank selected ROM.

Thank you so much for your efforts. I am reviewing it and when my NoV-64D gets here I will be ready to make a ton of mistakes programming it ?.

Mike
Find all posts by this user
Quote this message in a reply
03-26-2024, 09:17 PM (This post was last modified: 03-26-2024 11:39 PM by Sylvain Cote.)
Post: #12
RE: NoV-64D and HEPAX Questions
Mike,
(03-26-2024 09:01 PM)BitWiz Wrote:  I mistyped about the 41C emulator ROM (Martin-McClure). I was referring to the 16C emulator ROM which is a 4K bank selected ROM.
ok, no problem.

(03-26-2024 09:01 PM)BitWiz Wrote:  Thank you so much for your efforts. I am reviewing it and when my NoV-64D gets here I will be ready to make a ton of mistakes programming it ?.
Regarding my 4 configurations, do you agree, yes? no? modifications?

Sylvain

Sylvain Côté
Find all posts by this user
Quote this message in a reply
03-29-2024, 12:48 PM (This post was last modified: 03-29-2024 01:14 PM by Sylvain Cote.)
Post: #13
RE: NoV-64D and HEPAX Questions
Hello Mike,

Until you reply on the configurations validity, I will assume that you will use what I have proposed.

The complete configuration will be spread over several posts.

Post #1 - Overview

Reference files At high level, the steps we need to do are:
  • Configure the NoV-64d module with the HEPAX and ROM images in Flash
  • Create a virtual tape with the ROM images that will be loaded into QROM
  • Build a functional HP-IL loop with physical and virtual equipments
  • For each personality
    • Select HEPAX RAM block and Flash block with address 4100
    • Load ROM images in QROM
    • Initialize HEPAX RAM
    • Validation & testing
These are the ROM files that we will need in order to achieve our objective
Code:
Description          :XROM:Page :Bank: Filename     : C/CV Version : CX Version   : Note
Code:
Library-4            :    :  4  :  1 : →            : XLIB4_B1.ROM : LIBRARY4.ROM :
Library-4            :    :  4  :  2 : →            : XLIB4_B2.ROM :              :
Code:
HEPAX 1E             :  7 : any :  1 : HEPX1-1E.ROM :              :              : alternative to HEPAX 1F
HEPAX 1F             :  7 : any :  1 : HEPX1-1F.ROM :              :              : alternative to HEPAX 1E
HEPAX 1D             :    : any :  2 : HEPX2-1D.ROM :              :              : 
HEPAX 1D             :    : any :  3 : HEPX3-1D.ROM :              :              : 
HEPAX 1D             :    : any :  4 : HEPX4-1D.ROM :              :              :
Code:
HEPAX 4H             :  7 : any :  1 : →            : HEPX4H_1.ROM : HEPX4H_1.ROM : need Library-4
HEPAX 4H             :    : any :  2 : →            : XHEPX_B2.ROM : HEPX4H_2.ROM : need Library-4
HEPAX 4H             :    : any :  3 : →            : HEPX4H_3.ROM : HEPX4H_3.ROM : need Library-4
HEPAX 4H             :    : any :  4 : →            : HEPX4H_4.ROM : HEPX4H_4.ROM : need Library-4
Code:
HP-16C Emulator -1A  : 16 : any :  1 : →            : X16C_B1.ROM  : HP-16C_1.ROM : need Library-4
HP-16C Emulator -1A  :    : any :  2 : →            : X16C_B2.ROM  : HP-16C_2.ROM : need Library-4
HP-16C Emulator -1A  :    : any :  3 : →            : HP-16C_3.ROM : HP-16C_3.ROM : need Library-4
HP-16C Emulator -1A  :    : any :  4 : →            : X16C_B4.ROM  : HP-16C_4.ROM : need Library-4
Code:
PPC ROM              : 10 :lower:  1 : PPCL.ROM     :              :              :
PPC ROM              : 20 :upper:  1 : PPCU.ROM     :              :              :
ZenROM 3B            :  5 : any :  1 : ZENROM.ROM   :              :              : same XROM as CCD-OSX
CCD Module 1B        :  9 :lower:  1 : CCDL-1B.ROM  :              :              :
CCD Module 2B        : 11 :upper:  1 : CCDL-2B.ROM  :              :              :
CCD-OSX              :  5 : any :  1 : CCD-OSX.ROM  :              :              : same XROM as ZenROM, alternative to CCD
Code:
HP-IL Module 2E      : 29 :  6  :  1 : ILPRT-2E.ROM :              :              : printer fncs, ref only, part of HP-IL module
HP-IL Module 1H      : 28 :  7  :  1 : ILMOD-1H.ROM :              :              : control fncs, ref only, part of HP-IL module
Extended I/O 1A      : 23 : any :  1 : EXTIO-1A.ROM :              :              : need HP-IL module, advanced IL control functions
HP-IL Development 1B : 22 :lower:  1 : HPILDEVL.ROM :              :              : need HP-IL module, ref only, part of your Triple module
HP-IL Development 1A : 24 :upper:  1 : HPILDEVU.ROM :              :              : need HP-IL module, ref only, part of your Triple module

Note #1: AFAIK NoV-64 and NoV-64d modules only support the CX version of HEPAX-4H
Note #2: I will never thank you enough Monte for the dedication that you are showing in updating the ROM files every month. THANK YOU!
Note #3: I will update the above table as I go along with the configuration

Sylvain

Sylvain Côté
Find all posts by this user
Quote this message in a reply
04-03-2024, 11:05 PM
Post: #14
RE: NoV-64D and HEPAX Questions
I am trying to fully understand what can be configured and how on the NoV-64D and its HEPAX emulation.

I have a handle on the NoV-64D command register at 0x4100. I have attached a graphic bit outs of the control register as I understand them. If you want the original Word for it please PM me.

I cannot find, in the HEPAX documentation, how the HEPAX module in QROM mode assigns what 4K RAM block is configured to a particular HP-41 Page.

I couldn't find HEPAX ROM commands for this in either the Hepax or NoV-64D manuals.

The NoV-64D can address it's ROM blocks anywhere in the HP-41 ROM address space (using the clonixconfig program). Can the HEPAX do this? Where is it in the documentation? What commands do I need to do to do this?

Sylvain, I'm trying to understand it so I don't bother you as much.

Thank you....


Attached File(s) Thumbnail(s)
   
Find all posts by this user
Quote this message in a reply
04-04-2024, 03:00 AM (This post was last modified: 04-04-2024 03:13 AM by Sylvain Cote.)
Post: #15
RE: NoV-64D and HEPAX Questions
(04-03-2024 11:05 PM)BitWiz Wrote:  I am trying to fully understand what can be configured and how on the NoV-64D and its HEPAX emulation.
Cool

(04-03-2024 11:05 PM)BitWiz Wrote:  I have a handle on the NoV-64D command register at 0x4100.
I have attached a graphic bit outs of the control register as I understand them. If you want the original Word for it please PM me.
Your attached page is pretty good. I have similar pages in my HPCC 2020 Presentation. (see below)

(04-03-2024 11:05 PM)BitWiz Wrote:  I cannot find, in the HEPAX documentation, how the HEPAX module in QROM mode assigns what 4K RAM block is configured to a particular HP-41 Page.
I couldn't find HEPAX ROM commands for this in either the Hepax or NoV-64D manuals.
See below and HEPAX Module Owner's Manual Volume 2, Section 7: HP-41 internal structure, page 97, The HEPAX module

(04-03-2024 11:05 PM)BitWiz Wrote:  The NoV-64D can address it's ROM blocks anywhere in the HP-41 ROM address space (using the clonixconfig program). Can the HEPAX do this? Where is it in the documentation? What commands do I need to do to do this?
The HEPAX and the NoV-64 modules support dynamic page relocation.

At each power up
  1. the HEPAX ROM is located at page 8
  2. then it try to find an unused page between page 5 and page 15
  3. if it find an empty page it then relocated itself to that page
  4. if not it then display the ILL CONFIG message

(04-03-2024 11:05 PM)BitWiz Wrote:  Sylvain, I'm trying to understand it so I don't bother you as much.
Good, you will retain more informations if you work harder for it. Wink

Note: there is a bug in the latest Clonix Config. release that prevent you to use the #0xx 16K Flash Unmapped feature.
Diego has corrected the bug for the two HEPAX versions and the updated version is currently being tested by Diego and me.
Preliminary tests shows that the bug has been removed, but more complete tests are needed before Diego release it on his website.

[Image: diegos_modules_hpcc2020_p83.jpg]

[Image: diegos_modules_hpcc2020_p81.jpg]

[Image: diegos_modules_hpcc2020_p86.jpg]

Sylvain Côté
Find all posts by this user
Quote this message in a reply
04-04-2024, 05:23 AM
Post: #16
RE: NoV-64D and HEPAX Questions
Sylvain,

I'm sorry to be such a nudge. I still have some questions.

1. According to the manual for the NoV-64D control register the NoV-64D can only map the HEPAX RAM at pages 8 - B in 16 K mode how can the HEPAX ROM go on Page 8? What am I missing here?

2. I read through chapter 7 of the HEPAX manual and i didn't see where how to address QROM blocks in HEPAX RAM into the HP-41 ROM space? Or even how to load multiple bank ROMs into the HEPAX RAM as QROMS.

Bob Prosperi said that I would need to load each bank into bank 0 of the HEPAX ROM space and then copy it to the appropriate location in the HEPAX RAM and configure that 4K for the appropriate HP-41 Page and Bank. Please forgive me for being slow but I have not found out how to do this in either the NoV-64D or either HEPAX manual. Does your presentation from 2020 describe how to do this?

Thank you for your time,

Mike
Find all posts by this user
Quote this message in a reply
04-04-2024, 09:42 AM (This post was last modified: 04-04-2024 09:45 AM by Sylvain Cote.)
Post: #17
RE: NoV-64D and HEPAX Questions
(04-04-2024 05:23 AM)BitWiz Wrote:  1. According to the manual for the NoV-64D control register the NoV-64D can only map the HEPAX RAM at pages 8 - B in 16 K mode how can the HEPAX ROM go on Page 8? What am I missing here?
Yeah, this is a special case, the original HEPAX module was the first of this kind, effectively the HEPAX 10-bit ROM memory and the HEPAX 10-bit RAM memory share the same address space for a very short time, but since both memory are in the same module and are handled by the same logic, there is no memory lock-up.

(04-04-2024 05:23 AM)BitWiz Wrote:  2. I read through chapter 7 of the HEPAX manual and i didn't see where how to address QROM blocks in HEPAX RAM into the HP-41 ROM space?
The HP-41 has two type of memory, the 10-bit word kind and the 56-bit register kind.
The 10-bit word kind is organized into 16 pages (0 to 15) of 4K words for a total addressing space of 64K words.
Originally, only ROM was able to exist in this kind, but users decided to create RAM and/or EPROM boxes for mcode development purposes.
A 4k 10-bit RAM page is called a QROM page (Quasi-ROM) and HEPAX RAM pages are QROM.
We calling this differently because it indicate who is in charge of that page, if the HEPAX ROM logic is in charge, then it is a HEPAX RAM page, if not, it is a QROM page.

(04-04-2024 05:23 AM)BitWiz Wrote:  Or even how to load multiple bank ROMs into the HEPAX RAM as QROMS.
Full stop!
NoV modules support 4k banks switching for its 10-bit Flash memory (aka ROM)
but does not support 4k banks switching for its 10-bit FRAM memory (aka QROM & HEPAX RAM).

(04-04-2024 05:23 AM)BitWiz Wrote:  Bob Prosperi said that I would need to load each bank into bank 0 of the HEPAX ROM space and then copy it to the appropriate location in the HEPAX RAM and configure that 4K for the appropriate HP-41 Page and Bank.
I am not following that logic and why you would need to copy things from NoV Flash pages to NoV FRAM pages.

Sylvain Côté
Find all posts by this user
Quote this message in a reply
04-04-2024, 03:18 PM
Post: #18
RE: NoV-64D and HEPAX Questions
Sylvain,

I'm sorry for not making what I'm trying to accomplish very clear.

First let me give you a little background on me. I've been an embedded systems engineer for more than 40 years. I started synthetic programming not long after Bill Wickes book came out. Once I got my ERAMCO 16K RAM box I started M-Coding. So I am familiar with both the FOCAL and M-CODE architecture of the 41.

My goal with the NoV-64D is to maximize the number of ROMs I can have in the M-CODE Address space. If the capabilities are there I would like to be able to switch some of ROMs enabled on and off without removing the module from the 41.

The only use for all of the memory on the Nov-64D will be either to hold ROM images or for M-Code development. I will not be using the HEPAX 64K RAM for anything other that. I don't need to have FOCAL programs in the M-CODE address space.

I totally understand what QROM (ROM Emulation) is.

Here's what I understand the NoV-64D can do:

1. NoV-64D 48K flash ROM - Map any 4K block of flash ROM to any HP-41 Page and Bank.
2. Nov-64D 64K FRAM - Map "RAM Chip" 1, 2 or 3 (16K) to HP-41 Pages 0x8 to 0xB.
3. Nod-64D 64K FRAM - Disable flash ROM and MAP, "RAM Chip" 1, 2 or 3 (16K) to HP-41 Pages 0xC to 0xF.

What I don't understand is what the HEPAX capabilities are for using it's RAM only as QROM. That includes the following questions:

1. Can the HEPAX RAM (regardless of what RAM chip it is) be assigned in 4K blocks to any HP-41 Page and Bank like the NOV-64D flash ROM?

2. Clonixconfig puts the HEPAX ROM at HP-41 Page 8. However, the NoV-64D configuration, in both 16K and 32K mode puts RAM there. If all HP-41 Pages below 8 are in use (library 4 in HP-41 Page 4, HP-IL module installed). Will the HEPAX module see that HP-41 Pages 0x8 - 0xB are RAM and then move itself to HP-41 Page 0xC?

3. The NoV-64D can assign HEPAX 16K RAM chips 1, 2 & 3 but there are 4 16K RAM chips in the NoV-64d. How does that last 16K get used.

4. In conjunction with the answer to #1, how do I assign HEPAX RAM as QROM 4K blocks to HP-41 Page and Bank?

5. Are there HEPAX ROM commands that will allow me to reconfigure the HEPAX RAM (as QROM) mapping in the HP-41 M-Code address space so that I can enable and disable QROMs (with a power cycle) under software or manual control without having to download new ROM images into the HEPAX RAM? This would allow me, for example, to turn on the PPC ROM when I want to use it but map that out and map the HP-IL DEV ROM into the same 2 HP-41 Pages?

6. Will #5 work with bank selected ROM in QROM.

If this still doesn't make clear what I am trying to accomplish, please DM me and I will send you my phone number and maybe we can clear all of this up in a quick phone call.

Thank you again for all of your help and please forgive my ignorance,

Mike
Find all posts by this user
Quote this message in a reply
04-04-2024, 06:45 PM
Post: #19
RE: NoV-64D and HEPAX Questions
(04-04-2024 09:42 AM)Sylvain Cote Wrote:  [snip]

(04-04-2024 05:23 AM)BitWiz Wrote:  Bob Prosperi said that I would need to load each bank into bank 0 of the HEPAX ROM space and then copy it to the appropriate location in the HEPAX RAM and configure that 4K for the appropriate HP-41 Page and Bank.
I am not following that logic and why you would need to copy things from NoV Flash pages to NoV FRAM pages.

The context for this advice was the question of how to load the various banks of a multibank module from HP-IL media. As the HEPAX READROM function can only load 4K ROM images into the 'topmost' bank, this was a suggestion to load the various banks one-at-a-time from HP-IL, and then move them to the target bank depth required. This may in fact not be possible, but it was the only way I could think of to accomplish that.

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
04-04-2024, 06:50 PM
Post: #20
RE: NoV-64D and HEPAX Questions
Mike,

I understand.

(04-04-2024 03:18 PM)BitWiz Wrote:  Here's what I understand the NoV-64D can do:
1. NoV-64D 48K flash ROM - Map any 4K block of flash ROM to any HP-41 Page and Bank.
2. Nov-64D 64K FRAM - Map "RAM Chip" 1, 2 or 3 (16K) to HP-41 Pages 0x8 to 0xB.
3. Nod-64D 64K FRAM - Disable flash ROM and MAP, "RAM Chip" 1, 2 or 3 (16K) to HP-41 Pages 0xC to 0xF.
Yep! that is almost correct.
1. NoV-64D 48K flash ROM - yes, but the first 4 pages (0 to 3) are not supported. It means that you cannot replace the 41OS.
2. Nov-64D 64K FRAM - Map "RAM Chip" 0, 1, 2 or 3 (16K) to HP-41 Pages 0x8 to 0xB.
3. Nod-64D 64K FRAM - nothing to add

(04-04-2024 03:18 PM)BitWiz Wrote:  1. Can the HEPAX RAM (regardless of what RAM chip it is) be assigned in 4K blocks to any HP-41 Page and Bank like the NOV-64D flash ROM?
The NoV modules are not pure MLDL boxes, they are HEPAX emulators and behaves as such. So, no QROM page reassignement and no bank support.

(04-04-2024 03:18 PM)BitWiz Wrote:  2. Clonixconfig puts the HEPAX ROM at HP-41 Page 8. However, the NoV-64D configuration, in both 16K and 32K mode puts RAM there. If all HP-41 Pages below 8 are in use (library 4 in HP-41 Page 4, HP-IL module installed). Will the HEPAX module see that HP-41 Pages 0x8 - 0xB are RAM and then move itself to HP-41 Page 0xC?
The NoV-64 module behave exactly like the original Advanced HEPAX (ROM:16K+RAM:16K) and the Double HEPAX (RAM:16K) memory modules were behaving.
With the original Advanced HEPAX module, when inserted in port 1 or 2, at power up ROM, the ROM is being mapped to page 8 and the HEPAX RAM is also mapped to page 8, then the 41OS calls the HEPAX ROM power-up polling point routine which then scan the pages from 5 to 15 to find an empty page (no ROM or QROM), if it find one, it then remapped his own ROM to that page and thus preventing a page lockup.
Ex#1: 41CV + Adv HEPAX -> the HEPAX ROM will be relocated from page 8 to page 5
Ex#2: 41CV + Adv HEPAX + Time -> the HEPAX ROM will be relocated from page 8 to page 6
Ex#3: 41CV + Adv HEPAX + Time module + HP-IL module -> the HEPAX ROM will be relocated from page 8 to page C

(04-04-2024 03:18 PM)BitWiz Wrote:  3. The NoV-64D can assign HEPAX 16K RAM chips 1, 2 & 3 but there are 4 16K RAM chips in the NoV-64d. How does that last 16K get used.
See my correction above, HEPAX 16K RAM chips 0 is the default one.

(04-04-2024 03:18 PM)BitWiz Wrote:  4. In conjunction with the answer to #1, how do I assign HEPAX RAM as QROM 4K blocks to HP-41 Page and Bank?
You cannot.

(04-04-2024 03:18 PM)BitWiz Wrote:  5. Are there HEPAX ROM commands that will allow me to reconfigure the HEPAX RAM (as QROM) mapping in the HP-41 M-Code address space so that I can enable and disable QROMs (with a power cycle) under software or manual control without having to download new ROM images into the HEPAX RAM? This would allow me, for example, to turn on the PPC ROM when I want to use it but map that out and map the HP-IL DEV ROM into the same 2 HP-41 Pages?
Nop!

(04-04-2024 03:18 PM)BitWiz Wrote:  6. Will #5 work with bank selected ROM in QROM.
Nop!

It is clear to me that you have the wrong module for what you are trying to do.

The NoV-64 module goal is to emulate the Advanced HEPAX and the Double HEPAX memory modules, period.
In this role, it is the best HEPAX implementation that I have seen to date.
You also have some supplemental features, but these are icing to the cake.

The MLDL2000 was a better fit for what you are trying to do, unfortunately it is no longer produced.

The upcoming MAXX module should be able to do what you want.
MAXX Module feature summary from Monte Dalrymple (MAXX module manual)
  • 1x 4K 10-bit MAXX ROM.
  • 4x 82106A memory modules, if missing.
  • 1x 82180A X-Functions/Memory module, if missing.
  • 2x 82181A X-Memory modules, if missing.
  • 1x 82182A Time module, if missing.
  • 3x 1024 56-bit SRAM Y-Memory registers.
  • 12x 4K 10-bit SRAM bank capable QROM pages.
    • can hold HEPAX ROM images and HEPAX RAM pages
    • can hold RAMBOX ROM image and QROM pages
    • etc

Also, there is another module being developped that could do what you want.
See: HP41C with Rp Pico attached and HP41 with Pico RP2040 attached, update

And, if you have a fullnut calculator, the 41CL motherboard replacement is able to do what you want.

(04-04-2024 03:18 PM)BitWiz Wrote:  If this still doesn't make clear what I am trying to accomplish, please DM me
and I will send you my phone number and maybe we can clear all of this up in a quick phone call.
You have a PM.

Sylvain

Sylvain Côté
Find all posts by this user
Quote this message in a reply
Post Reply 




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