Post Reply 
HP-71: FORTH/Assembler Pac Rev.B - and the Ultimate HP-71 ROM Extension.
01-11-2021, 04:37 PM
Post: #1
HP-71: FORTH/Assembler Pac Rev.B - and the Ultimate HP-71 ROM Extension.
I released a revision B of the FORTH/Assembler ROM for use with software emulators and hardware ROM emulators.
It is nothing as ambitious as my Enhanced Math Pac 2, but it mainly provides these improvements:
- FORTH LEX updated to version 1B to correct the problem of HP-71 bad crash in case the FORTH system is called when the hard-configured ROM part is missing,
- KEYBOARD LEX updated to version C,
- addition of the most common and useful HP-71 utility keywords, from the STRINGLX & CUSTUTIL LEX, to complement the two SCROLL/MSG$ keywords already provided by the original revision A,
- correction of the two main bugs of the Assembler (already published in 2015).

The reason of the inclusion of the keywords from STRINGLX & CUSTUTIL LEX is that these keywords are very common (especially the KEYWAIT$ function used almost in every serious application) and are a must in every HP-71.
It has even been supposed that the STRINGLX keywords were originally intended to be part of the built-in BASIC, but was left out due to memory constraints.
If you are not familiar with the advanced use of some of these keywords, you may refer to this article from Valentin Albillo.
As there was some unused space in the FORTH ROM, it was the opportunity to include this nice addition.

But the true cause of this update is that it was part of my "Ultimate HP-71 ROM Extension" project, that was to provide, in a single extension for the physical HP-71:
- the Math Pac 2,
- the JPC ROM,
- the FORTH/Assembler,
- a large part of the User Library keywords (ULIB).

I was developing a 128k ROM emulator to support this project when Mark Fleming coincidently announced his own ROM emulator, and it turned out that our solutions were not identical but quite close, using the same microcontroller for instance. Then Hans Brueggemann announced that the FRAM71 will be available again after several years of unavailability.
All this lead me to put this project on hold for the moment at the breadboard stage - I have other projects on going for which I'm now more motivated. I may propose my design later if I see a real need for it.

So I'm releasing this update as it is, it can be freely used in the FRAM71, Mark's ROM emulator when/if available, and of course in the Emu71 emulators.

J-F
Visit this user's website Find all posts by this user
Quote this message in a reply
01-11-2021, 05:23 PM
Post: #2
RE: HP-71: FORTH/Assembler Pac Rev.B - and the Ultimate HP-71 ROM Extension.
(01-11-2021 04:37 PM)J-F Garnier Wrote:  - addition of the most common and useful HP-71 utility keywords, from the STRINGLX & CUSTUTIL LEX, to complement the two SCROLL/MSG$ keywords already provided by the original revision A,


Great. The much needed and immensely useful string keywords in STRINGLX (only 800+ bytes) were indeed left out as there was no more ROM space because that useless abomination called "CALC Mode" wasted many Kbytes for no purpose other than blatant marketing and worse.

Also, do not forget to include the one keyword REPLACE$ from the REPLEX file, as it's also incredibly useful in many applications, for example it allows for quick filtering and conversions of data in strings, I use it all the time in everything from cross-compilers to user's input validation to you-name-it. Come to it, change the name to something shorter such as REPL$, because it frequently appears several times in a line, such as

T$=REPLACE$(REPLACE$( ... , "ė","e"),"ó","o"),"ú","u"),"ñ",n)

and it quickly fills up the command line and is quite cumbersome.

Last but not least, thanks for the link to my STRINGLX article, much appreciated.

Best regards.
V.

  
All My Articles & other Materials here:  Valentin Albillo's HP Collection
 
Visit this user's website Find all posts by this user
Quote this message in a reply
01-11-2021, 07:57 PM
Post: #3
RE: HP-71: FORTH/Assembler Pac Rev.B - and the Ultimate HP-71 ROM Extension.
(01-11-2021 05:23 PM)Valentin Albillo Wrote:  Also, do not forget to include the one keyword REPLACE$ from the REPLEX file, as it's also incredibly useful in many applications, for example it allows for quick filtering and conversions of data in strings, I use it all the time in everything from cross-compilers to user's input validation to you-name-it. Come to it, change the name to something shorter such as REPL$, because it frequently appears several times in a line, such as
T$=REPLACE$(REPLACE$( ... , "ė","e"),"ó","o"),"ú","u"),"ñ",n)
and it quickly fills up the command line and is quite cumbersome.

The REPLACE$ keyword is in the JPC ROM and so already part of my dreamt Ultimate ROM.
Also to map several characters such as in your example above, there is (in the JPC ROM too) the MAP$ function
T$=MAP$( ... , "ėóúñ","eoun")
and its powerful variant for files, the MAP statement - a very theoretical advice since I don't remember having ever used this statement :-)

J-F
Visit this user's website Find all posts by this user
Quote this message in a reply
01-11-2021, 08:15 PM
Post: #4
RE: HP-71: FORTH/Assembler Pac Rev.B - and the Ultimate HP-71 ROM Extension.
Thanks J-F for the excellent contribution! I've loaded it and will try something new in Forth. Perhaps Gerson's "another method of pi?"

(01-11-2021 04:37 PM)J-F Garnier Wrote:  So I'm releasing this update as it is, it can be freely used in the FRAM71, Mark's ROM emulator when/if available, and of course in the Emu71 emulators.

J-F

The emulator code was complete a few weeks ago, it's the packaging of the whole works that is giving me heartburn at the moment. I've settled on a bootloader to update flash as Tony does with his Classic CPU replacement boards, and a standalone PIC assembler to generate loadable hex files the way Diego does for the Clonix modules. That will eliminate the need for a $20 PIC programmer. Working on this is a lot less fun than getting the emulator working, and takes away time for finally using the ROMs Wink

(01-11-2021 04:37 PM)J-F Garnier Wrote:  I have other projects on going for which I'm now more motivated. I may propose my design later if I see a real need for it.
Go for it!

~Mark

Remember kids, "In a democracy, you get the government you deserve."
Find all posts by this user
Quote this message in a reply
01-12-2021, 03:17 AM
Post: #5
RE: HP-71: FORTH/Assembler Pac Rev.B - and the Ultimate HP-71 ROM Extension.
Wow! Very, very cool...

I've learned that when JFG is quiet for a while, something is cooking, and usually that's a good thing for us 71B fans!

Well, this recipe has not disappointed!

I'm looking forward to checking this out. The timing is perfect too, just in time to start chewing on to prepare to install into a new FRAM71B module.

Thanks Jean-Francois, thanks very much!

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
01-12-2021, 04:10 AM
Post: #6
RE: HP-71: FORTH/Assembler Pac Rev.B - and the Ultimate HP-71 ROM Extension.
Wow! Wow! Wow! did I say Wow ?
Mark doing his new Flash based card-reader module, cannot wait to order a couple of those btw, then Hans doing another round of FRAM71B and finally Jean-François releasing an improved FORTH/Assembler ROM.
This is like a replay of five years ago, with one great news after another on the HP-71B front. Big Grin THANK YOU! Cool
Find all posts by this user
Quote this message in a reply
01-12-2021, 06:59 AM
Post: #7
RE: HP-71: FORTH/Assembler Pac Rev.B - and the Ultimate HP-71 ROM Extension.
Thank you J-F. This ist very very nice.

When i enter "VER$" it shows : FTH:1B
When I enter "FORTH" is shows : HP-71 FORTH 1A

is this correct? or a very small bug ;-)

Tobie
Find all posts by this user
Quote this message in a reply
01-12-2021, 08:47 AM
Post: #8
RE: HP-71: FORTH/Assembler Pac Rev.B - and the Ultimate HP-71 ROM Extension.
(01-12-2021 06:59 AM)charger73 Wrote:  When i enter "VER$" it shows : FTH:1B
When I enter "FORTH" is shows : HP-71 FORTH 1A

is this correct? or a very small bug ;-)

No bug, or at least this is intentional :-)

This is a update of the FORTH/Assembler Pac to revision B, actually an update of some of the LEX files in the ROM, but the FORTH itself is unchanged and so I didn't change the FORTH interpreter version.

Quote:[Various quotes]
Thank you J-F. This ist very very nice.
Wow! Wow! Wow! did I say Wow ?
Wow! Very, very cool...

Thank you, Tobie, Sylvain and Bob, for your enthusiastic feedbacks but it's a relatively minor update, nothing as important or difficult as my Math Pac 2. As I said the motivation was the Ultimate ROM to include some important User Lib keywords.

J-F
Visit this user's website Find all posts by this user
Quote this message in a reply
01-12-2021, 01:23 PM
Post: #9
RE: HP-71: FORTH/Assembler Pac Rev.B - and the Ultimate HP-71 ROM Extension.
(01-12-2021 08:47 AM)J-F Garnier Wrote:  Thank you, Tobie, Sylvain and Bob, for your enthusiastic feedbacks but it's a relatively minor update, nothing as important or difficult as my Math Pac 2. As I said the motivation was the Ultimate ROM to include some important User Lib keywords.
I agree, but still, it adds up ...

Must I remind you, well probably not Wink, but for everybody else, your contribution to our small community:
  • Several HP-IL industrial cards and devices for Kristal S.A. Informatique
  • HP-IL-to-USB (PIL-Box) and HP-IL-to-UART-with-IO (PIL-IO) Interfaces
  • Several HP-IL peripheral emulators and LIF utility for Windows (ILPer, ILCtrl, ILvlif)
  • HP-41 (Emu41/DOS), HP-71 (Emu71/DOS) and HP-75 (Emu75/DOS) emulators for MS-DOS with HP-IL support
  • HP-41 Emulator (Emu41p) and HP-71 Remote terminal (Term71) for HP-110+ with HP-IL support
  • The reverse engineering, the bug fixes and the huge improvements that you have made to the HP-71 JPC ROM, to the MATH ROM and to the FORTH/Assembler ROM.
  • JPC, PPC-T/Micro-Revue clubs journals scanning and put online
  • ... and I am surely missing several other contributions that you have made over the years.
I would be very proud to have done only one of these, so these minor praises are nothing but deserved.

Sylvain
Find all posts by this user
Quote this message in a reply
01-12-2021, 04:21 PM
Post: #10
RE: HP-71: FORTH/Assembler Pac Rev.B - and the Ultimate HP-71 ROM Extension.
I think it fair to credit the HP-71B MultiMod ROM Emulator to the above list thanks to J-F's advice and assistance during development.

~Mark

Remember kids, "In a democracy, you get the government you deserve."
Find all posts by this user
Quote this message in a reply
01-12-2021, 07:13 PM
Post: #11
RE: HP-71: FORTH/Assembler Pac Rev.B - and the Ultimate HP-71 ROM Extension.
This is SO cool J-F, thanks for all the great work! I need to take some time this weekend to try it all out.




(01-11-2021 04:37 PM)J-F Garnier Wrote:  I released a revision B of the FORTH/Assembler ROM for use with software emulators and hardware ROM emulators.
It is nothing as ambitious as my Enhanced Math Pac 2, but it mainly provides these improvements:
- FORTH LEX updated to version 1B to correct the problem of HP-71 bad crash in case the FORTH system is called when the hard-configured ROM part is missing,
- KEYBOARD LEX updated to version C,
- addition of the most common and useful HP-71 utility keywords, from the STRINGLX & CUSTUTIL LEX, to complement the two SCROLL/MSG$ keywords already provided by the original revision A,
- correction of the two main bugs of the Assembler (already published in 2015).

The reason of the inclusion of the keywords from STRINGLX & CUSTUTIL LEX is that these keywords are very common (especially the KEYWAIT$ function used almost in every serious application) and are a must in every HP-71.
It has even been supposed that the STRINGLX keywords were originally intended to be part of the built-in BASIC, but was left out due to memory constraints.
If you are not familiar with the advanced use of some of these keywords, you may refer to this article from Valentin Albillo.
As there was some unused space in the FORTH ROM, it was the opportunity to include this nice addition.

But the true cause of this update is that it was part of my "Ultimate HP-71 ROM Extension" project, that was to provide, in a single extension for the physical HP-71:
- the Math Pac 2,
- the JPC ROM,
- the FORTH/Assembler,
- a large part of the User Library keywords (ULIB).

I was developing a 128k ROM emulator to support this project when Mark Fleming coincidently announced his own ROM emulator, and it turned out that our solutions were not identical but quite close, using the same microcontroller for instance. Then Hans Brueggemann announced that the FRAM71 will be available again after several years of unavailability.
All this lead me to put this project on hold for the moment at the breadboard stage - I have other projects on going for which I'm now more motivated. I may propose my design later if I see a real need for it.

So I'm releasing this update as it is, it can be freely used in the FRAM71, Mark's ROM emulator when/if available, and of course in the Emu71 emulators.

J-F
Find all posts by this user
Quote this message in a reply
01-13-2021, 10:06 PM (This post was last modified: 01-14-2021 03:58 PM by Dave Frederickson.)
Post: #12
RE: HP-71: FORTH/Assembler Pac Rev.B - and the Ultimate HP-71 ROM Extension.
The FRAM71 Tool Kit has been updated to include Rev. 1B of the FORTH/Assembler ROM.

Edit: Fixed typo
Find all posts by this user
Quote this message in a reply
Post Reply 




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