Post Reply 
NutStudio 3.2.1 available
04-23-2021, 03:18 AM
Post: #1
NutStudio 3.2.1 available
For those interested I have put together a new version of NutStudio tools. It includes a couple of bug fixes and some new abilities for the debugger, mainly related to set up auto display or commands while single stepping.

There are installers available for macOS, Debian and Arch/Manjaro Linux (the Linux versions are both amd64).

There is still no Windows release, sorry. I ran into problems building it and had to postpone it further.

Downloads:
macOS
Debian Linux
Arch/Manjaro Linux

Guides:
Nut tools guide
Nut debugger guide

P.S.
In addition to this, I have also released a C compiler for the 6502 based on the same code base. I do not know if there are anyone interested in that here, but you can PM me in that case for details on how to download it.
6502 tools guide
Find all posts by this user
Quote this message in a reply
05-10-2021, 12:48 PM
Post: #2
RE: NutStudio 3.2.1 available
Thank you HÃ¥kan,

that is super! I only recently found out about your initiative and converted the (Debian) 3.1.1 release to an Arch Linux package. I still needed to fully test the conversion. I will now continue with 3.2.1 however.

I like to congratulate you on the possibilities Nutstudio opens for writing and testing programs for the hp 41. The package documentation is excellent also.

Thanks again,

Kees Jan
Find all posts by this user
Quote this message in a reply
10-08-2021, 02:20 PM (This post was last modified: 10-08-2021 02:26 PM by floppy.)
Post: #3
RE: NutStudio 3.2.1 available
I am using.

I was creating the first raw file. It works.
Now, I try to use functionality from the SandMath: "RCL* 07" for example.
But errors are coming.

First try without ".import 41cx, sandmath" in the top of the TXT file
rpncomp --raw-output PEREL6.TXT
PEREL6.TXT:41:1: unexpected "RC*" or 'R', expecting "RPN instruction", '"', '-', '>', '[' or digit
Terminating due to errors

Then with it in the top
rpncomp --raw-output PEREL6.TXT
unable to read XROM export file description file "sandmath.modexport"
Terminating due to errors

So, the use of external module functions has to be done.
I am now in the debugger and it seems I have to define a path with a list of all modules. Any help in-between is welcome.

Status for now; no modules seen
Quote:>dbnut
NutStudio debugger for Nut
listening for user interface connections on port 8080
(dbnut) module list
inserted modules pages
(dbnut)

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
Find all posts by this user
Quote this message in a reply
10-09-2021, 06:32 PM
Post: #4
RE: NutStudio 3.2.1 available
While the description you provide is somewhat lacking, like it does not show what steps you have taken and the results you see, I still think I can give some input on this.

In order to use a module you need a module exports file and while 41cx is provided with the tools, Sandmath is one of several modules that are not provided ready to use in this way.

I downloaded the latest sandmath from TOS (smath44_4x4.mod) and tried to generate an exports file from it. It does not work and it results in:

Code:

fatal error: bad bank switcher instruction 0x01b in secondary FAT header at address 0x8005

This is a rather confusing error, but I understand what it means.

The short explanation is that it will not work. My tools do not support the same scheme of using secondary function tables and postfix arguments as Angel is using. I follow the ideas in the OS4 module which provides rather nice generalization of these concepts and many others.

A little longer explanation follows.

There are two problems here. First, as I mentioned, my tools are modelled after the ideas in the OS4 module. They follow the module page layout as described by HP, but with one small extension in that it uses a (previously) unused marker bit in the ID field to signal that this module uses the extension layout as defined by the OS4 module. Some modules use these bits for other things, Advantage is one example and some of Angel's modules. The way I have interpreted the HP documentation is that it is not supposed to be anything but 0 there.

The presence of these bits causes modtool to think that this module has secondary function tables and set out to decipher them in order to include secondary functions in the export file. As the module is not organized that way, modtool detects that something is wrong and terminates with an appropriate error for that context. The problem is that it went down the wrong path earlier on and assumed that it was an OS4 module when it isn't.

Second, as the way Angel lay out secondary headers and do postfix arguments differs from the way it is done in OS4, so even if it was able to read and generate some form of export file, there would not be support for using secondary functions the way it is done in the Sandmath module.

References:
https://github.com/hth313/OS4
Find all posts by this user
Quote this message in a reply
10-11-2021, 08:08 AM (This post was last modified: 10-11-2021 02:28 PM by floppy.)
Post: #5
RE: NutStudio 3.2.1 available
Perhaps is there a Workaround?

Using SandMath functions, example, not "RC* 01" but "XROMxx.yyyy 01" in NutStudio? (making NutStudio just putting the XROMxx.yyyy into the raw file without further checks).

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
Find all posts by this user
Quote this message in a reply
10-18-2021, 05:00 PM
Post: #6
RE: NutStudio 3.2.1 available
(10-11-2021 08:08 AM)floppy Wrote:  Perhaps is there a Workaround?

Using SandMath functions, example, not "RC* 01" but "XROMxx.yyyy 01" in NutStudio? (making NutStudio just putting the XROMxx.yyyy into the raw file without further checks).

Yes, that should work. It should accept XROM ii,jj and a numeric literal. You can perhaps also use the C preprocessor to make it look tidier.

It may be possible to add support for it, but in that case I would need some documentation on how to introspect a ROM image to decipher the tables. That, and preferably some standard on the bits in the ID to properly mark what secondary function table scheme used.
Find all posts by this user
Quote this message in a reply
08-22-2024, 08:05 PM
Post: #7
RE: NutStudio 3.2.1 available
(10-09-2021 06:32 PM)hth Wrote:  While the description you provide is somewhat lacking, like it does not show what steps you have taken and the results you see, I still think I can give some input on this.

In order to use a module you need a module exports file and while 41cx is provided with the tools, Sandmath is one of several modules that are not provided ready to use in this way.

I downloaded the latest sandmath from TOS (smath44_4x4.mod) and tried to generate an exports file from it. It does not work and it results in:

Code:

fatal error: bad bank switcher instruction 0x01b in secondary FAT header at address 0x8005

This is a rather confusing error, but I understand what it means.

The short explanation is that it will not work. My tools do not support the same scheme of using secondary function tables and postfix arguments as Angel is using. I follow the ideas in the OS4 module which provides rather nice generalization of these concepts and many others.

A little longer explanation follows.

There are two problems here. First, as I mentioned, my tools are modelled after the ideas in the OS4 module. They follow the module page layout as described by HP, but with one small extension in that it uses a (previously) unused marker bit in the ID field to signal that this module uses the extension layout as defined by the OS4 module. Some modules use these bits for other things, Advantage is one example and some of Angel's modules. The way I have interpreted the HP documentation is that it is not supposed to be anything but 0 there.

The presence of these bits causes modtool to think that this module has secondary function tables and set out to decipher them in order to include secondary functions in the export file. As the module is not organized that way, modtool detects that something is wrong and terminates with an appropriate error for that context. The problem is that it went down the wrong path earlier on and assumed that it was an OS4 module when it isn't.

Second, as the way Angel lay out secondary headers and do postfix arguments differs from the way it is done in OS4, so even if it was able to read and generate some form of export file, there would not be support for using secondary functions the way it is done in the Sandmath module.

References:
https://github.com/hth313/OS4

I got here when trying to process ADVANTAGE.MOD.
That your tool fails to process an HP-supplied module is a bug. Why not have an option to ignore this extension?

/ji
Find all posts by this user
Quote this message in a reply
Post Reply 




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