MCODE EPROM HARDWARE
08-26-2021, 06:28 PM
Post: #1
 Neve Senior Member Posts: 317 Joined: Oct 2014
MCODE EPROM HARDWARE
Hi all,

I’ve started reading “HP-41 M CODE FOR BEGINNERS” by Ken Emery.
There he specifies some needed hardware to have, like ERAMCO MLDL, PROTOCODER II, EPROM BOX, etc…
Are these things even still available today? Do I really need them, or are there any more modern ways to save M CODE programs and transfer them to the calculator?

I’m completely new to this.

Thanks

Engineer & Senior IT Executive
2x HP41CL, HP41CX, HP48GX, HP50g, 2x82162A Printer, 2x82143A Printer, 2x HP-IL, 2x Card-Readers, PIL-BOX.
08-26-2021, 07:12 PM (This post was last modified: 08-26-2021 07:24 PM by Sylvain Cote.)
Post: #2
 Sylvain Cote Senior Member Posts: 1,716 Joined: Dec 2013
RE: MCODE EPROM HARDWARE
(08-26-2021 06:28 PM)Neve Wrote:  There he specifies some needed hardware to have, like ERAMCO MLDL, PROTOCODER II, EPROM BOX, etc…
Are these things even still available today? Do I really need them, or are there any more modern ways to save M CODE programs and transfer them to the calculator?
These were hardware that implemented 10 bit words either in RAM (MLDL & RAM boxes) and/or in EPROM (MLDL & EPROM boxes).
Today, you can use the 41CL, DM-41X or NoV-64d as MLDL.
For the 41CL, you just need to initialize a 41CL internal RAM page with 0x00 and then map that page to the 41 memory space (page 6 to 15).
Then with the ROM of your choice, fill up that RAM page with nut instructions.
Sylvain

Edit 1:
Ángel has created an Excel page with special macros to generate his modules.
I had started to do the same but I have never completed mine.
There are several PC nut assembler available that can generate 4K MCODE modules.
Once you have a 4K module, you just need to transfer it to the target (41CL, DM-41X, Clonix-D, NoV-64d, etc) in the device RAM or Flash.

Edit 2:
Look at my HPCC 2020 presentation on Diego's modules, it should gives you some answers to your questions.
08-26-2021, 08:47 PM (This post was last modified: 08-26-2021 09:44 PM by Neve.)
Post: #3
 Neve Senior Member Posts: 317 Joined: Oct 2014
RE: MCODE EPROM HARDWARE
(08-26-2021 07:12 PM)Sylvain Cote Wrote:  These were hardware that implemented 10 bit words either in RAM (MLDL & RAM boxes) and/or in EPROM (MLDL & EPROM boxes).
Today, you can use the 41CL, DM-41X or NoV-64d as MLDL.
For the 41CL, you just need to initialize a 41CL internal RAM page with 0x00 and then map that page to the 41 memory space (page 6 to 15).
Then with the ROM of your choice, fill up that RAM page with nut instructions.
Sylvain

Thanks, I’ll have to look into that…

(08-26-2021 07:12 PM)Sylvain Cote Wrote:  Edit 1:
Ángel has created an Excel page with special macros to generate his modules.
I had started to do the same but I have never completed mine.
There are several PC nut assembler available that can generate 4K MCODE modules.
Once you have a 4K module, you just need to transfer it to the target (41CL, DM-41X, Clonix-D, NoV-64d, etc) in the device RAM or Flash.

Names of those PC nut assemblers? Where can I find these?

(08-26-2021 07:12 PM)Sylvain Cote Wrote:  Edit 2:
Look at my HPCC 2020 presentation on Diego's modules, it should gives you some answers to your questions.

Thanks Sylvain,

Watching it now. It’ll probably raise even more questions!

Engineer & Senior IT Executive
2x HP41CL, HP41CX, HP48GX, HP50g, 2x82162A Printer, 2x82143A Printer, 2x HP-IL, 2x Card-Readers, PIL-BOX.
08-27-2021, 05:34 PM (This post was last modified: 08-27-2021 05:40 PM by Sylvain Cote.)
Post: #4
 Sylvain Cote Senior Member Posts: 1,716 Joined: Dec 2013
RE: MCODE EPROM HARDWARE
(08-26-2021 08:47 PM)Neve Wrote:
(08-26-2021 07:12 PM)Sylvain Cote Wrote:  For the 41CL, you just need to initialize a 41CL internal RAM page with 0x00 and then map that page to the 41 memory space (page 6 to 15).
Thanks, I’ll have to look into that…

Example with one 4K QROM (RAM 10 bits), ZenROM & YFNX:
Code:
MMUDIS          // disable MMU MMUCLR          // clear MMU "YFNX"          // 41CL Extreme ROM PLUG1L          // plug it to page 8 "ZENR"          // ZenROM PLUG1U          // plug it to page 9 MMUEN           // enable MMU "830000-0000"   // 4K word RAM at 41CL internal page 0x830000 YMCLR           // write 0x00 from 0x830000 to 0x830FFF "-830 A"        // map 4K RAM internal page 0x830 to 41OS page 10 PPLUG           // plug 4K RAM to page 10
... then you can use MCED from ZenROM to directly edit the 4K RAM page.

(08-26-2021 08:47 PM)Neve Wrote:
(08-26-2021 07:12 PM)Sylvain Cote Wrote:  There are several PC nut assembler available that can generate 4K MCODE modules.
Names of those PC nut assemblers? Where can I find these?

Available on TOS
• SDS II, by Hewlett-Packard, runs on MS-DOS
• SDK41, by Warren Furlow, runs on MS-DOS
• asmnut, by Christophe Gottheimer, run Linux & Win32+Cygwin
• NutStudio, by Håkan Thörngren, run on Linux & macOS
• ... you can probably find more if you search the Internet

(08-26-2021 08:47 PM)Neve Wrote:
(08-26-2021 07:12 PM)Sylvain Cote Wrote:  Look at my HPCC 2020 presentation on Diego's modules, it should gives you some answers to your questions.
Watching it now. It’ll probably raise even more questions!

Anytime!
08-28-2021, 12:20 AM (This post was last modified: 08-28-2021 08:32 AM by Neve.)
Post: #5
 Neve Senior Member Posts: 317 Joined: Oct 2014
RE: MCODE EPROM HARDWARE
Thanks Sylvain,

I’m not there yet, not confident enough to use that. But I hope to be there soon, as I read the book. Slowly but, hopefully, surely trying to absorb all that new stuff….

I’ll check the PC software as well. Which method is easier to work with for a complete beginner, in your opinion?

Engineer & Senior IT Executive
2x HP41CL, HP41CX, HP48GX, HP50g, 2x82162A Printer, 2x82143A Printer, 2x HP-IL, 2x Card-Readers, PIL-BOX.
08-28-2021, 03:34 AM
Post: #6
 derekamos Member Posts: 54 Joined: Jan 2015
RE: MCODE EPROM HARDWARE
Hi Neve,
None of the 'ways' to create mcode are very easy compared to just programming RPN in the HP41. You had best read about & learn the approaches & choose the one that appeals most to you. If you have done assembly code programming before in other environments, then you at least know how to use a text editor for code input, then compile it into runtime code. Those methods in the 41 environment mean using a method like the SDK, or its latest new addition 'NutStudio'.
Personally I always found having to input the syntax to write code & then compile, a pain & waste of time - so I use DavidASM rom, which auto inputs directly, not even having to type in the text codes.
But other ways also exist like the MLDL assembler hardware route, which has a number of ROMs available for use in inputting code to a 4k RAM, before compiling it to a ROM for use.
The HEPAX rom includes a complete system for assembly/disassembly of mcode, and could be used in an MLDL environment, or using a desktop with an HP41 emulators RAM block.
Desktop emulators that allow RAM pages to be loaded are also a favourite of mine for their ease of use, They make the MLDL concept a bit out of date, & if you look at all the later ideas that came along after the 1980's, they virtually all use a desktop for their input/compile methods.
I hope this helps your choice of which way to go? DA.
08-28-2021, 05:13 PM
Post: #7
 Neve Senior Member Posts: 317 Joined: Oct 2014
RE: MCODE EPROM HARDWARE
(08-28-2021 03:34 AM)derekamos Wrote:  Hi Neve,
None of the 'ways' to create mcode are very easy compared to just programming RPN in the HP41. You had best read about & learn the approaches & choose the one that appeals most to you. If you have done assembly code programming before in other environments, then you at least know how to use a text editor for code input, then compile it into runtime code. Those methods in the 41 environment mean using a method like the SDK, or its latest new addition 'NutStudio'.
Personally I always found having to input the syntax to write code & then compile, a pain & waste of time - so I use DavidASM rom, which auto inputs directly, not even having to type in the text codes.
But other ways also exist like the MLDL assembler hardware route, which has a number of ROMs available for use in inputting code to a 4k RAM, before compiling it to a ROM for use.
The HEPAX rom includes a complete system for assembly/disassembly of mcode, and could be used in an MLDL environment, or using a desktop with an HP41 emulators RAM block.
Desktop emulators that allow RAM pages to be loaded are also a favourite of mine for their ease of use, They make the MLDL concept a bit out of date, & if you look at all the later ideas that came along after the 1980's, they virtually all use a desktop for their input/compile methods.
I hope this helps your choice of which way to go? DA.

Thank you Derek,

My only experience with assembly code programming dates back to the early eighties with a 8086. Nothing to write home about as far as experience! ?
And I’ve forgotten 99% of it. But I know how to use a text editor to input code (mainly VIM and EMacs).

I can’t find NutStudio anywhere….
DavidASM rom? I’m not familiar with it.

Engineer & Senior IT Executive
2x HP41CL, HP41CX, HP48GX, HP50g, 2x82162A Printer, 2x82143A Printer, 2x HP-IL, 2x Card-Readers, PIL-BOX.
08-28-2021, 09:17 PM
Post: #8
 mfleming Senior Member Posts: 750 Joined: Jul 2015
RE: MCODE EPROM HARDWARE
I've used NutStudio to build ROMs with mixed user rpl and assembly. Highly recommended. Hepax is very handy for creating a quick ROM with your own user programs. With the 41cl you can have multiple Hepax ROMs in cl RAM that can be plugged in as needed. In my opinion, Hepax is best for casual on-calculator development and NutStudio for more complex ROMs, particularly bank switched ones. On Windows you'll need the MS Linux support extension.

Remember kids, "In a democracy, you get the government you deserve."
08-28-2021, 09:39 PM
Post: #9
 Neve Senior Member Posts: 317 Joined: Oct 2014
RE: MCODE EPROM HARDWARE
(08-28-2021 09:17 PM)mfleming Wrote:  I've used NutStudio to build ROMs with mixed user rpl and assembly. Highly recommended. Hepax is very handy for creating a quick ROM with your own user programs. With the 41cl you can have multiple Hepax ROMs in cl RAM that can be plugged in as needed. In my opinion, Hepax is best for casual on-calculator development and NutStudio for more complex ROMs, particularly bank switched ones. On Windows you'll need the MS Linux support extension.

Great! Thanks!
I’ve been looking for it unsuccessfully.
I’m on a MacOS BTW.

Engineer & Senior IT Executive
2x HP41CL, HP41CX, HP48GX, HP50g, 2x82162A Printer, 2x82143A Printer, 2x HP-IL, 2x Card-Readers, PIL-BOX.
08-29-2021, 01:28 AM
Post: #10
 derekamos Member Posts: 54 Joined: Jan 2015
RE: MCODE EPROM HARDWARE
Hi again Neve,
The previous thread directs to NutStudio, you can see just what users say about using it there.
For other plugin roms like Assembler 3, Assembler 4, DavidASM etc you will need to go to 'That Other Site'/TOS, it has an extensive library of old & new HP41 roms. You will probably need to join & sign-in to do downloads.
DA.
08-29-2021, 02:04 AM
Post: #11
 rprosperi Senior Member Posts: 5,066 Joined: Dec 2013
RE: MCODE EPROM HARDWARE
(08-29-2021 01:28 AM)derekamos Wrote:  Hi again Neve,
The previous thread directs to NutStudio, you can see just what users say about using it there.
For other plugin roms like Assembler 3, Assembler 4, DavidASM etc you will need to go to 'That Other Site'/TOS, it has an extensive library of old & new HP41 roms. You will probably need to join & sign-in to do downloads.
DA.

TOS = ho41.org (replace "o" with "p", which can't be listed here, due to some ancient and uninteresting history)

--Bob Prosperi
08-29-2021, 11:25 AM
Post: #12
 MeindertKuipers Member Posts: 144 Joined: Dec 2013
RE: MCODE EPROM HARDWARE
Learning HP41 MCODE is an exiting process, and I had loads of fun (and a bit of frustration) learning and implemention back in the good old days, using DAVID assembler and a real MLDL (which I still have but do not use anymore). I remember a friend reading HEX codes while I typed these in an EPROM programmer, and having to do this a few times because of typing errors (including the wait to erase the EPROM).

Today I would start with the V41 emulator and HEPAX to make the first steps in learning how to program mcode. HEPAX offers great documentation and tools, while V41 offers tracing through your code, so there is less need to recover from lockups when you make a mistake.

Regards, Meindert
08-29-2021, 11:59 AM
Post: #13
 Neve Senior Member Posts: 317 Joined: Oct 2014
RE: MCODE EPROM HARDWARE
(08-29-2021 02:04 AM)rprosperi Wrote:
(08-29-2021 01:28 AM)derekamos Wrote:  Hi again Neve,
The previous thread directs to NutStudio, you can see just what users say about using it there.
For other plugin roms like Assembler 3, Assembler 4, DavidASM etc you will need to go to 'That Other Site'/TOS, it has an extensive library of old & new HP41 roms. You will probably need to join & sign-in to do downloads.
DA.

TOS = ho41.org (replace "o" with "p", which can't be listed here, due to some ancient and uninteresting history)

Ohh, that was my next question! What the heck was that non-working link all about?! LOL

Thanks Rob

Engineer & Senior IT Executive
2x HP41CL, HP41CX, HP48GX, HP50g, 2x82162A Printer, 2x82143A Printer, 2x HP-IL, 2x Card-Readers, PIL-BOX.
08-29-2021, 12:01 PM
Post: #14
 Neve Senior Member Posts: 317 Joined: Oct 2014
RE: MCODE EPROM HARDWARE
(08-29-2021 11:25 AM)MeindertKuipers Wrote:  Learning HP41 MCODE is an exiting process, and I had loads of fun (and a bit of frustration) learning and implemention back in the good old days, using DAVID assembler and a real MLDL (which I still have but do not use anymore). I remember a friend reading HEX codes while I typed these in an EPROM programmer, and having to do this a few times because of typing errors (including the wait to erase the EPROM).

Today I would start with the V41 emulator and HEPAX to make the first steps in learning how to program mcode. HEPAX offers great documentation and tools, while V41 offers tracing through your code, so there is less need to recover from lockups when you make a mistake.

I still have have much to read, learn and process before I start coding in MCODE, but I’ll try all the options you guys have mentioned, and will hopefully find one that suits me the most.

Thank you

Engineer & Senior IT Executive
2x HP41CL, HP41CX, HP48GX, HP50g, 2x82162A Printer, 2x82143A Printer, 2x HP-IL, 2x Card-Readers, PIL-BOX.
08-29-2021, 12:02 PM
Post: #15
 Neve Senior Member Posts: 317 Joined: Oct 2014
RE: MCODE EPROM HARDWARE
(08-29-2021 01:28 AM)derekamos Wrote:  Hi again Neve,
The previous thread directs to NutStudio, you can see just what users say about using it there.
For other plugin roms like Assembler 3, Assembler 4, DavidASM etc you will need to go to 'That Other Site'/TOS, it has an extensive library of old & new HP41 roms. You will probably need to join & sign-in to do downloads.
DA.

Thank you. I already have an account on that “TOS” site.

Engineer & Senior IT Executive
2x HP41CL, HP41CX, HP48GX, HP50g, 2x82162A Printer, 2x82143A Printer, 2x HP-IL, 2x Card-Readers, PIL-BOX.
08-29-2021, 02:32 PM
Post: #16
 Neve Senior Member Posts: 317 Joined: Oct 2014
RE: MCODE EPROM HARDWARE
The more I read, the more I realize how much I still have to read and learn. The more questions I have….

Engineer & Senior IT Executive
2x HP41CL, HP41CX, HP48GX, HP50g, 2x82162A Printer, 2x82143A Printer, 2x HP-IL, 2x Card-Readers, PIL-BOX.
08-29-2021, 08:40 PM
Post: #17
 rprosperi Senior Member Posts: 5,066 Joined: Dec 2013
RE: MCODE EPROM HARDWARE
(08-29-2021 02:32 PM)Neve Wrote:  The more I read, the more I realize how much I still have to read and learn. The more questions I have….

For the HP-41, this is the beginning of wisdom.

It's a crucial concept to grasp, to assess the magnitude of the learning curve. Very few ever master it all, (certainly not including me) but those that have are likely hanging out here, so you're in the right place.

But it's a fun journey, welcome!

--Bob Prosperi
08-30-2021, 01:16 AM
Post: #18
 derekamos Member Posts: 54 Joined: Jan 2015
RE: MCODE EPROM HARDWARE
ho41.org problem !
I can only say whoops, my finger slipped. DA
08-30-2021, 02:36 PM (This post was last modified: 08-30-2021 02:37 PM by Sylvain Cote.)
Post: #19
 Sylvain Cote Senior Member Posts: 1,716 Joined: Dec 2013
RE: MCODE EPROM HARDWARE
(08-28-2021 09:39 PM)Neve Wrote:
(08-28-2021 09:17 PM)mfleming Wrote:  I've used NutStudio to build ROMs with mixed user rpl and assembly. Highly recommended. Hepax is very handy for creating a quick ROM with your own user programs. With the 41cl you can have multiple Hepax ROMs in cl RAM that can be plugged in as needed. In my opinion, Hepax is best for casual on-calculator development and NutStudio for more complex ROMs, particularly bank switched ones. On Windows you'll need the MS Linux support extension.

Great! Thanks!
I’ve been looking for it unsuccessfully.
I’m on a MacOS BTW.

The latest version of Håkan Thörngren's NutStudio 3.2.1 for macOS and Linux is available → HERE
Very nice set of tools, I have been using it recently to create my own MCode ROM.
Sylvain
08-30-2021, 05:50 PM
Post: #20
 Neve Senior Member Posts: 317 Joined: Oct 2014
RE: MCODE EPROM HARDWARE
(08-29-2021 08:40 PM)rprosperi Wrote:
(08-29-2021 02:32 PM)Neve Wrote:  The more I read, the more I realize how much I still have to read and learn. The more questions I have….

For the HP-41, this is the beginning of wisdom.

It's a crucial concept to grasp, to assess the magnitude of the learning curve. Very few ever master it all, (certainly not including me) but those that have are likely hanging out here, so you're in the right place.

But it's a fun journey, welcome!

Yes, the learning curve is steep. I’ve always been using my 41’s rather casually, and not really as it was intended to be used. I’m now trying to catch up, and be more proficient. Maybe someday I’ll be good enough to write something meaningful for others to use. It’ll take me 200 years, but I’ll get there. LOL

Engineer & Senior IT Executive
2x HP41CL, HP41CX, HP48GX, HP50g, 2x82162A Printer, 2x82143A Printer, 2x HP-IL, 2x Card-Readers, PIL-BOX.
 « Next Oldest | Next Newest »

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