HP Forums
MCODE EPROM HARDWARE - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html)
+--- Forum: General Forum (/forum-4.html)
+--- Thread: MCODE EPROM HARDWARE (/thread-17396.html)

Pages: 1 2


MCODE EPROM HARDWARE - Neve - 08-26-2021 06:28 PM

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


RE: MCODE EPROM HARDWARE - Sylvain Cote - 08-26-2021 07:12 PM

(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.


RE: MCODE EPROM HARDWARE - Neve - 08-26-2021 08:47 PM

(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!


RE: MCODE EPROM HARDWARE - Sylvain Cote - 08-27-2021 05:34 PM

(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!


RE: MCODE EPROM HARDWARE - Neve - 08-28-2021 12:20 AM

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?


RE: MCODE EPROM HARDWARE - derekamos - 08-28-2021 03:34 AM

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.


RE: MCODE EPROM HARDWARE - Neve - 08-28-2021 05:13 PM

(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.


RE: MCODE EPROM HARDWARE - mfleming - 08-28-2021 09:17 PM

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.

https://www.hpmuseum.org/forum/thread-15125-post-132732.html


RE: MCODE EPROM HARDWARE - Neve - 08-28-2021 09:39 PM

(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.

https://www.hpmuseum.org/forum/thread-15125-post-132732.html

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


RE: MCODE EPROM HARDWARE - derekamos - 08-29-2021 01:28 AM

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.


RE: MCODE EPROM HARDWARE - rprosperi - 08-29-2021 02:04 AM

(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)


RE: MCODE EPROM HARDWARE - MeindertKuipers - 08-29-2021 11:25 AM

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.


RE: MCODE EPROM HARDWARE - Neve - 08-29-2021 11:59 AM

(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


RE: MCODE EPROM HARDWARE - Neve - 08-29-2021 12:01 PM

(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


RE: MCODE EPROM HARDWARE - Neve - 08-29-2021 12:02 PM

(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.


RE: MCODE EPROM HARDWARE - Neve - 08-29-2021 02:32 PM

The more I read, the more I realize how much I still have to read and learn. The more questions I have….


RE: MCODE EPROM HARDWARE - rprosperi - 08-29-2021 08:40 PM

(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. Smile

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!


RE: MCODE EPROM HARDWARE - derekamos - 08-30-2021 01:16 AM

ho41.org problem !
I can only say whoops, my finger slipped. DA
P.S. Glad to hear Neve is already a member there.


RE: MCODE EPROM HARDWARE - Sylvain Cote - 08-30-2021 02:36 PM

(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.

https://www.hpmuseum.org/forum/thread-15125-post-132732.html

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


RE: MCODE EPROM HARDWARE - Neve - 08-30-2021 05:50 PM

(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. Smile

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