Post Reply 
Calypsi (was NutStudio) tools 3.5.1 available
01-05-2022, 11:56 PM
Post: #1
Calypsi (was NutStudio) tools 3.5.1 available
Version 3.5.1 of my tools for the HP-41 is now available.

I have not made many announcements of this product lately and the reason is that I have been busy on using the code base for making C compilers. There are C compilers for 6502, 65816 and 68000 at this point (feel free to drop me a PM if you are interested in those).

The tools has been renamed Calypsi (as NutStudio was a bit specific to the HP-41). I have not added any real new features to the HP-41 tools, but it can be good to provide a release to make it up to date with the code base.

The most important change in this release is that it now also supports Windows.

If using the dbnut source debugger to debug your HP-41 MCODE, the VS Code front end can be used and it has been improved lately for assembly debugging, allow registers to be displayed while you are stepping the code (at source level). This should give a very nice debugging experience for your MCODE projects.

Installers are available from here:

User guide
Debugger guide
Arch Linux
Debian Linux
macOS
Windows

Only 64-bit operating systems are supported.
Find all posts by this user
Quote this message in a reply
01-06-2022, 07:13 AM
Post: #2
RE: Calypsi (was NutStudio) tools 3.5.1 available
Thank you very much for this New Year's present, Håkan!

Greetings,
    Massimo

-+×÷ ↔ left is right and right is wrong
Visit this user's website Find all posts by this user
Quote this message in a reply
01-06-2022, 08:19 AM
Post: #3
RE: Calypsi (was NutStudio) tools 3.5.1 available
This is really great new, thanks!

Regards, Meindert
Find all posts by this user
Quote this message in a reply
01-06-2022, 09:45 PM
Post: #4
RE: Calypsi (was NutStudio) tools 3.5.1 available
Wow! Installed on macOS 12.1 and working perfectly. Thank you! Cool
Find all posts by this user
Quote this message in a reply
01-07-2022, 04:54 PM
Post: #5
RE: Calypsi (was NutStudio) tools 3.5.1 available
Hi Håkan, all,

Running on Win11 too.

Brilliant! :-)

Diego.

"Do not suppose, check it twice."
Find all posts by this user
Quote this message in a reply
04-30-2022, 09:27 PM
Post: #6
RE: Calypsi (was NutStudio) tools 3.5.1 available
Just to let you know that my HP-41 tools are now available from https://www.calypsi.cc/

It will be updated from time to time, but I will not post here unless there is some significant news to report.
Find all posts by this user
Quote this message in a reply
05-02-2022, 02:24 PM
Post: #7
RE: Calypsi (was NutStudio) tools 3.5.1 available
This caused me to update from nutstudio-nut-3.1.1 and try to use the debugger.
I launched it to load the 41cv.mod:
Code:
dbnut --load-module 41cv.mod

I was able to set a breakpoint to a specific address, but couldn't see the sources.
This allowed me to step through the code in single steps, but felt like I was blindfolded.

With the help of the VASM listing I was able to extract the symbol table.
This was then used to disassemble the ROMs from 41cv.mod with d41.
Is there a way to use this with dbnut?

How could I load a FOCAL program into the debugger/emulator?
It seems possible to simply write the compiled raw file to the registers in the state file.
But maybe there is an easier way.

Thanks a lot for your programs.
Thomas



There is a small typo in the CalypsiNutDebuggerGuide.pdf:
Quote:The web application or HP-41 frontend is included in the installation under hp41-ui/hp41.html.

It is now under: dbnut-ui/hp41.html.
Find all posts by this user
Quote this message in a reply
05-03-2022, 09:30 PM
Post: #8
RE: Calypsi (was NutStudio) tools 3.5.1 available
(05-02-2022 02:24 PM)Thomas Klemm Wrote:  This caused me to update from nutstudio-nut-3.1.1 and try to use the debugger.
I launched it to load the 41cv.mod:
Code:
dbnut --load-module 41cv.mod

I was able to set a breakpoint to a specific address, but couldn't see the sources.
This allowed me to step through the code in single steps, but felt like I was blindfolded.

With the help of the VASM listing I was able to extract the symbol table.
This was then used to disassemble the ROMs from 41cv.mod with d41.
Is there a way to use this with dbnut?

How could I load a FOCAL program into the debugger/emulator?
It seems possible to simply write the compiled raw file to the registers in the state file.
But maybe there is an easier way.

Thanks a lot for your programs.
Thomas



There is a small typo in the CalypsiNutDebuggerGuide.pdf:
Quote:The web application or HP-41 frontend is included in the installation under hp41-ui/hp41.html.

It is now under: dbnut-ui/hp41.html.

You can debug with operating system source, but first you need to generate a debug image. I had a post earlier that shows how it can be done (see below). I use this to develop my modules and can step into the mainframe (VASM) as well as my other extension modules. This allows for stepping in the actual source code.

If you have a project without source, you can select "set stop-mixed-disassembly-line-count 4" (for 4 lines) and it should show disassembly for the current lines and 3 lines ahead. This may work for emergency use, but I suggest generating a project with proper debug information.

The debugger is for MCODE only, not RPN/FOCAL code development. You can generate RPN/FOCAL modules with the tools. Such modules can be loaded into the emulator. Loading RPN programs into (normal) RAM is currently not currently supported.

Reference:
https://www.hpmuseum.org/forum/thread-17987.html
Find all posts by this user
Quote this message in a reply
05-05-2022, 11:48 AM
Post: #9
RE: Calypsi (was NutStudio) tools 3.5.1 available
I really like the Calypsi tools. Recently started to play with the RPN compiler, and ran into an issue in reading the module-export files with the .import directive. I am running this under Windows. See the result of the attempt to make the games example. Any suggestions?

Code:

C:\Users\mkuipers\Documents\Development\CalypsiNut\example\games>make -B
C:\Program Files (x86)\Calypsi-nut\bin\rpncomp -l poker.rpn

fatal error: unsupported protocol in URI "C:\\Program Files (x86)\\Calypsi-nut\\module-export\\41z.modexport"

fatal error: document unpickling failed
no more contents to be read
context:    element "/"
attributes:  status="3" module="getContentsFromDoc" transfer-URI="C:/Program%20Files%20(x86)...
cannot parse XROM export file "C:\Program Files (x86)\Calypsi-nut\module-export\41z.modexport"
Terminating due to errors

Regards, Meindert
Find all posts by this user
Quote this message in a reply
05-06-2022, 05:18 PM
Post: #10
RE: Calypsi (was NutStudio) tools 3.5.1 available
(05-05-2022 11:48 AM)MeindertKuipers Wrote:  I really like the Calypsi tools. Recently started to play with the RPN compiler, and ran into an issue in reading the module-export files with the .import directive. I am running this under Windows. See the result of the attempt to make the games example. Any suggestions?

Code:

C:\Users\mkuipers\Documents\Development\CalypsiNut\example\games>make -B
C:\Program Files (x86)\Calypsi-nut\bin\rpncomp -l poker.rpn

fatal error: unsupported protocol in URI "C:\\Program Files (x86)\\Calypsi-nut\\module-export\\41z.modexport"

fatal error: document unpickling failed
no more contents to be read
context:    element "/"
attributes:  status="3" module="getContentsFromDoc" transfer-URI="C:/Program%20Files%20(x86)...
cannot parse XROM export file "C:\Program Files (x86)\Calypsi-nut\module-export\41z.modexport"
Terminating due to errors

I tried a simple RPN program with an import of 41z and that worked. I would need a more detailed step-by-step so that I can reproduce it. The problem is that the XML parser fails with the 41z.modexport file.

It would be good if you could open an Issue at https://github.com/hth313/Calypsi-tool-chains
Find all posts by this user
Quote this message in a reply
05-07-2022, 03:59 PM
Post: #11
RE: Calypsi (was NutStudio) tools 3.5.1 available
(05-06-2022 05:18 PM)hth Wrote:  
(05-05-2022 11:48 AM)MeindertKuipers Wrote:  I really like the Calypsi tools. Recently started to play with the RPN compiler, and ran into an issue in reading the module-export files with the .import directive. I am running this under Windows. See the result of the attempt to make the games example. Any suggestions?

Code:

C:\Users\mkuipers\Documents\Development\CalypsiNut\example\games>make -B
C:\Program Files (x86)\Calypsi-nut\bin\rpncomp -l poker.rpn

fatal error: unsupported protocol in URI "C:\\Program Files (x86)\\Calypsi-nut\\module-export\\41z.modexport"

fatal error: document unpickling failed
no more contents to be read
context:    element "/"
attributes:  status="3" module="getContentsFromDoc" transfer-URI="C:/Program%20Files%20(x86)...
cannot parse XROM export file "C:\Program Files (x86)\Calypsi-nut\module-export\41z.modexport"
Terminating due to errors

I tried a simple RPN program with an import of 41z and that worked. I would need a more detailed step-by-step so that I can reproduce it. The problem is that the XML parser fails with the 41z.modexport file.

It would be good if you could open an Issue at https://github.com/hth313/Calypsi-tool-chains

Thanks for the reply. I opened the issue as requested. A very simple RPN program compiles fine, until a .import is used. Actually any .modexport file will result in the same error message

Regards, Meindert
Find all posts by this user
Quote this message in a reply
05-08-2022, 09:21 AM
Post: #12
RE: Calypsi (was NutStudio) tools 3.5.1 available
(05-07-2022 03:59 PM)MeindertKuipers Wrote:  
(05-06-2022 05:18 PM)hth Wrote:  I tried a simple RPN program with an import of 41z and that worked. I would need a more detailed step-by-step so that I can reproduce it. The problem is that the XML parser fails with the 41z.modexport file.

It would be good if you could open an Issue at https://github.com/hth313/Calypsi-tool-chains

Thanks for the reply. I opened the issue as requested. A very simple RPN program compiles fine, until a .import is used. Actually any .modexport file will result in the same error message

Workaround fixed the problem, see https://github.com/hth313/Calypsi-tool-chains/issues/2. Thanks Hakan for looking into this so quickly

Regards, Meindert
Find all posts by this user
Quote this message in a reply
05-23-2022, 11:27 AM
Post: #13
RE: Calypsi (was NutStudio) tools 3.5.1 available
An error during install (perhaps no effect)

Quote:gdebi calypsi-nut-3.5.1.deb
Quote:Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Reading state information... Done

Calypsi nut tools
Do you want to install the software package? [y/N]:y
/usr/bin/gdebi:113: FutureWarning: Possible nested set at position 1
c = findall("[[(](\S+)/\S+[])]", msg)[0].lower()
Selecting previously unselected package calypsi-nut.
(Reading database ... 353469 files and directories currently installed.)
Preparing to unpack calypsi-nut-3.5.1.deb ...
Unpacking calypsi-nut (3.5.1-1) ...
Setting up calypsi-nut (3.5.1-1) ...
rm: cannot remove '/usr/local/lib/calypsi-nut': No such file or directory

however, files are there
Quote:ls /usr/local/lib/
Quote:calypsi-nut calypsi-nut-3.5.1 nutstudio-nut-3.1.1 python3.9

HP71 4TH/ASM & Multimod, HP41CV/X & Nov64d, PILBOX, HP-IL 821.62A & 64A & 66A, Deb11 64b-PC & PI2 3 4 w/ ILPER, VIDEO80, V41 & EMU71, DM41X, HP75D
Find all posts by this user
Quote this message in a reply
05-23-2022, 07:22 PM (This post was last modified: 05-23-2022 07:25 PM by ijabbott.)
Post: #14
RE: Calypsi (was NutStudio) tools 3.5.1 available
.deb packages shouldn't be installing anything to /usr/local. Das ist verboten! (EDIT: But perhaps it is just the installer trying to remove a manually built version. Ideally, it shouldn't be touching /usr/local at all though.)

— Ian Abbott
Find all posts by this user
Quote this message in a reply
05-24-2022, 08:03 PM
Post: #15
RE: Calypsi (was NutStudio) tools 3.5.1 available
(05-23-2022 11:27 AM)floppy Wrote:  An error during install (perhaps no effect)
[..]
rm: cannot remove '/usr/local/lib/calypsi-nut': No such file or directory

That message has been corrected in some recent release, but it only takes effect after the next update. What happens is that it tries to remove a symbolic link twice when it is uninstalling a previous installation.
Find all posts by this user
Quote this message in a reply
05-24-2022, 08:08 PM
Post: #16
RE: Calypsi (was NutStudio) tools 3.5.1 available
(05-23-2022 07:22 PM)ijabbott Wrote:  .deb packages shouldn't be installing anything to /usr/local. Das ist verboten! (EDIT: But perhaps it is just the installer trying to remove a manually built version. Ideally, it shouldn't be touching /usr/local at all though.)

Hmmm... I researched this years ago and the consensus was that /usr/local should be used for third party (not distro) stuff on UNIX style operating systems.

I checked it again and it seems to still be like that. System administrator installed local packages that are not part of the distro should go into /usr/local.

The .deb format is just an installer format used by Debian, using it does not imply that the software package is part of the Debian distribution.

If you have other information, feel free to provide a pointer to it.
Find all posts by this user
Quote this message in a reply
05-25-2022, 07:03 PM
Post: #17
RE: Calypsi (was NutStudio) tools 3.5.1 available
(05-24-2022 08:08 PM)hth Wrote:  
(05-23-2022 07:22 PM)ijabbott Wrote:  .deb packages shouldn't be installing anything to /usr/local. Das ist verboten! (EDIT: But perhaps it is just the installer trying to remove a manually built version. Ideally, it shouldn't be touching /usr/local at all though.)

Hmmm... I researched this years ago and the consensus was that /usr/local should be used for third party (not distro) stuff on UNIX style operating systems.

I checked it again and it seems to still be like that. System administrator installed local packages that are not part of the distro should go into /usr/local.

The .deb format is just an installer format used by Debian, using it does not imply that the software package is part of the Debian distribution.

If you have other information, feel free to provide a pointer to it.

I thought /opt was the proper place for stuff that is not part of the distro but is installed by a package manager.

https://refspecs.linuxfoundation.org/FHS...03s13.html

— Ian Abbott
Find all posts by this user
Quote this message in a reply
05-26-2022, 03:25 AM
Post: #18
RE: Calypsi (was NutStudio) tools 3.5.1 available
(05-25-2022 07:03 PM)ijabbott Wrote:  I thought /opt was the proper place for stuff that is not part of the distro but is installed by a package manager.

https://refspecs.linuxfoundation.org/FHS...03s13.html

There is also https://refspecs.linuxfoundation.org/FHS...04s09.html
Find all posts by this user
Quote this message in a reply
05-26-2022, 07:29 PM
Post: #19
RE: Calypsi (was NutStudio) tools 3.5.1 available
(05-26-2022 03:25 AM)hth Wrote:  
(05-25-2022 07:03 PM)ijabbott Wrote:  I thought /opt was the proper place for stuff that is not part of the distro but is installed by a package manager.

https://refspecs.linuxfoundation.org/FHS...03s13.html

There is also https://refspecs.linuxfoundation.org/FHS...04s09.html

This is probably one of those holy wars! The FHS isn't exactly clear on what exactly constitutes locally installed software versus system software. Many people find the system's default package manager a useful dividing line, but others disagree and use the distribution's repositories as the dividing line. The line becomes blurry when considering third party repositories and additional domain-specific package managers such as pip, npm, etc.

— Ian Abbott
Find all posts by this user
Quote this message in a reply
05-26-2022, 11:09 PM
Post: #20
RE: Calypsi (was NutStudio) tools 3.5.1 available
(05-26-2022 07:29 PM)ijabbott Wrote:  This is probably one of those holy wars! The FHS isn't exactly clear on what exactly constitutes locally installed software versus system software. Many people find the system's default package manager a useful dividing line, but others disagree and use the distribution's repositories as the dividing line. The line becomes blurry when considering third party repositories and additional domain-specific package managers such as pip, npm, etc.
Do not forget OS style package managers (Snap, AppImage, Flatpak, etc.) and container softwares (Docker, LXD, etc).
Find all posts by this user
Quote this message in a reply
Post Reply 




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