ejolson
Posts: 3684
Joined: Tue Mar 18, 2014 11:47 am

Re: Introduction to BBC BASIC

Sat Jul 20, 2019 4:29 pm

DavidS wrote:
Sat Jul 20, 2019 3:28 pm
RichardRussell wrote:
Sat Jul 20, 2019 2:15 pm
DavidS wrote:
Sat Jul 20, 2019 1:33 pm
I would still like to see the Basalt extensions become part of BASIC V and VI.
If that were ever to happen it would make the rift between the Wilson and Russell strands of BBC BASIC unbreachable, because whatever the merits of Steve's extensions, and of mine, they are fundamentally incompatible (not even similar, in most cases). Not surprisingly, I would rather support the moves to incorporate my extensions in ARM BASIC, as exemplified by Jonathan Harston's BASICPlus. Sadly development of that stalled several years ago, despite Jonathan having already implemented several of my extensions, and as his modifications were made to a version of ARM BASIC which has long been superseded it might be difficult to transfer them to a newer version.
I think someone could probably write a program to convert source that uses the extensions between your BBC BASIC and Steves extensions if they so wished. I do not think it would be to difficult.
In which Basic should the conversion tool be written and could it convert itself?

Heater
Posts: 13610
Joined: Tue Jul 17, 2012 3:02 pm

Re: Introduction to BBC BASIC

Sat Jul 20, 2019 4:36 pm

PerlBASIC.

:)
Memory in C++ is a leaky abstraction .

Soruk
Posts: 21
Joined: Thu Jun 20, 2019 11:25 am

Re: Introduction to BBC BASIC

Sat Jul 20, 2019 4:44 pm

Heater wrote:
Sat Jul 20, 2019 4:36 pm
PerlBASIC.

:)
On an Acorn Atom.

User avatar
RichardRussell
Posts: 590
Joined: Thu Jun 21, 2012 10:48 am

Re: Introduction to BBC BASIC

Sat Jul 20, 2019 5:50 pm

ejolson wrote:
Sat Jul 20, 2019 4:29 pm
In which Basic should the conversion tool be written and could it convert itself?
Don't you need two conversion tools, one for each direction?! In all seriousness an 'integrated' BasAlt would probably need to have significantly greater functionality than Steve's existing bolt-on extensions do to support full conversion from my BASIC, for example in respect of new data types (e.g. 64-bit integers which as far as I know BasAlt doesn't currently support). I have tried to locate an up-to-date set of BasAlt documentation but all I can find is in Acorn StrongHelp format which is gobbledegook when viewed in something like WordPad. If there's an HTML or PDF version I'd appreciate a link.

User avatar
DavidS
Posts: 4334
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: Introduction to BBC BASIC

Sun Jul 21, 2019 1:29 am

RichardRussell wrote:
Sat Jul 20, 2019 5:50 pm
ejolson wrote:
Sat Jul 20, 2019 4:29 pm
In which Basic should the conversion tool be written and could it convert itself?
Don't you need two conversion tools, one for each direction?! In all seriousness an 'integrated' BasAlt would probably need to have significantly greater functionality than Steve's existing bolt-on extensions do to support full conversion from my BASIC, for example in respect of new data types (e.g. 64-bit integers which as far as I know BasAlt doesn't currently support). I have tried to locate an up-to-date set of BasAlt documentation but all I can find is in Acorn StrongHelp format which is gobbledegook when viewed in something like WordPad. If there's an HTML or PDF version I'd appreciate a link.
Try viewing the BasAlt documentation with StrongHelp (it is a StrongHelp manual). Just an idea.

I do not think Steve ever wrote a different version of the manual.
RPi = The best ARM based RISC OS computer around
More than 95% of posts made from RISC OS on RPi 1B/1B+ computers. Most of the rest from RISC OS on RPi 2B/3B/3B+ computers

ejolson
Posts: 3684
Joined: Tue Mar 18, 2014 11:47 am

Re: Introduction to BBC BASIC

Sun Jul 21, 2019 2:19 am

DavidS wrote:
Sun Jul 21, 2019 1:29 am
RichardRussell wrote:
Sat Jul 20, 2019 5:50 pm
ejolson wrote:
Sat Jul 20, 2019 4:29 pm
In which Basic should the conversion tool be written and could it convert itself?
Don't you need two conversion tools, one for each direction?! In all seriousness an 'integrated' BasAlt would probably need to have significantly greater functionality than Steve's existing bolt-on extensions do to support full conversion from my BASIC, for example in respect of new data types (e.g. 64-bit integers which as far as I know BasAlt doesn't currently support). I have tried to locate an up-to-date set of BasAlt documentation but all I can find is in Acorn StrongHelp format which is gobbledegook when viewed in something like WordPad. If there's an HTML or PDF version I'd appreciate a link.
Try viewing the BasAlt documentation with StrongHelp (it is a StrongHelp manual). Just an idea.

I do not think Steve ever wrote a different version of the manual.
Is there a version of StrongHelp that works on my Android phone? I tried the Play Store but all it said was "Did you mean: StrongHold."

For the preservation of significant digital artifacts, it might be reasonable to create a copy that is readable using existing web standards. Alternatively, could a StrongHelp browser be written in JavaScript?

Heater
Posts: 13610
Joined: Tue Jul 17, 2012 3:02 pm

Re: Introduction to BBC BASIC

Sun Jul 21, 2019 5:47 am

Using the web standards, google, I cannot find any specification for the StrongHelp format.

Can you post that file here perhaps we can work something out from it.
Memory in C++ is a leaky abstraction .

User avatar
RichardRussell
Posts: 590
Joined: Thu Jun 21, 2012 10:48 am

Re: Introduction to BBC BASIC

Sun Jul 21, 2019 9:05 am

DavidS wrote:
Sun Jul 21, 2019 1:29 am
Try viewing the BasAlt documentation with StrongHelp (it is a StrongHelp manual). Just an idea.
Is there a StrongHelp reader for Windows? I certainly don't have one. All documentation should be available in a standard format that everybody can read, and you can't get more standard than HTML or PDF (or even plain text as a fallback).

User avatar
RichardRussell
Posts: 590
Joined: Thu Jun 21, 2012 10:48 am

Re: Introduction to BBC BASIC

Sun Jul 21, 2019 9:31 am

Heater wrote:
Sun Jul 21, 2019 5:47 am
Can you post that file here perhaps we can work something out from it.
The official BasAlt website appears to be here but the links all point back to the same page or lead to a 404 :(

Heater
Posts: 13610
Joined: Tue Jul 17, 2012 3:02 pm

Re: Introduction to BBC BASIC

Sun Jul 21, 2019 9:37 am

Turns out there is an attempt at a StrongHelp reader for WIndows, "StrawHelp"
https://heyrick.eu/software/strawhelp/

Source code in Visual Basic here:
https://heyrick.eu/software/strawhelp/download.html
Memory in C++ is a leaky abstraction .

Steve Drain
Posts: 105
Joined: Tue Oct 30, 2012 2:08 pm
Location: Exeter UK

Re: Introduction to BBC BASIC

Sun Jul 21, 2019 11:04 am

Heater wrote:
Sun Jul 21, 2019 9:37 am
Turns out there is an attempt at a StrongHelp reader for WIndows, "StrawHelp"
https://heyrick.eu/software/strawhelp/

Source code in Visual Basic here:
https://heyrick.eu/software/strawhelp/download.html
You beat me to it. ;-)

Make sure to download the dependencies first. Install them and skip any warnings.

Download the Basalt manual zip file from http://kappa.me.uk/StrongHelp/shBasalt175.zip

Copy the file in the zip to Program Files (86)/Heyrick/StrawHelp/Manuals and give it an extension .3d6.

Straw help does not completely parse all that StrongHelp can, and my manuals do exploit everything. So the result might appear a little odd. All the words will be there, but maybe not in the original layout. ;-(
Last edited by Steve Drain on Sun Jul 21, 2019 11:08 am, edited 2 times in total.

Steve Drain
Posts: 105
Joined: Tue Oct 30, 2012 2:08 pm
Location: Exeter UK

Re: Introduction to BBC BASIC

Sun Jul 21, 2019 11:07 am

RichardRussell wrote:
Sun Jul 21, 2019 9:31 am
Heater wrote:
Sun Jul 21, 2019 5:47 am
Can you post that file here perhaps we can work something out from it.
The official BasAlt website appears to be here but the links all point back to the same page or lead to a 404 :(
You found that, but I have not pointed to it. It was an attempt to parse the StrongHelp manual into HTML, but failed. It is very out of date anyway.

It is Basalt not BasAlt.

User avatar
scruss
Posts: 2546
Joined: Sat Jun 09, 2012 12:25 pm
Location: Toronto, ON
Contact: Website

Re: Introduction to BBC BASIC

Sun Jul 21, 2019 4:30 pm

Heater wrote:
Sun Jul 21, 2019 5:47 am
Using the web standards, google, I cannot find any specification for the StrongHelp format.
The StrongHelp format is described somewhere here: http://www.riscos.info/downloads/stronghelp/manuals/
… but in true RISC OS fashion, the files themselves are stored in the proprietary StrongHelp format, so you can only read them in using StrongHelp. You can't print a StrongHelp manual (!!!), you can't export, and the files are binary (of course).

Sometimes, RISC OS seems as interoperable as Krikkit robots …
‘Remember the Golden Rule of Selling: “Do not resort to violence.”’ — McGlashan.

Heater
Posts: 13610
Joined: Tue Jul 17, 2012 3:02 pm

Re: Introduction to BBC BASIC

Sun Jul 21, 2019 8:08 pm

Yep, I found those StongHelp format manuals.

It's hopeless. I give up.
Memory in C++ is a leaky abstraction .

User avatar
DavidS
Posts: 4334
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: Introduction to BBC BASIC

Sun Jul 21, 2019 8:41 pm

ejolson wrote:
Sun Jul 21, 2019 2:19 am
DavidS wrote:
Sun Jul 21, 2019 1:29 am
RichardRussell wrote:
Sat Jul 20, 2019 5:50 pm


Don't you need two conversion tools, one for each direction?! In all seriousness an 'integrated' BasAlt would probably need to have significantly greater functionality than Steve's existing bolt-on extensions do to support full conversion from my BASIC, for example in respect of new data types (e.g. 64-bit integers which as far as I know BasAlt doesn't currently support). I have tried to locate an up-to-date set of BasAlt documentation but all I can find is in Acorn StrongHelp format which is gobbledegook when viewed in something like WordPad. If there's an HTML or PDF version I'd appreciate a link.
Try viewing the BasAlt documentation with StrongHelp (it is a StrongHelp manual). Just an idea.

I do not think Steve ever wrote a different version of the manual.
Is there a version of StrongHelp that works on my Android phone? I tried the Play Store but all it said was "Did you mean: StrongHold."

For the preservation of significant digital artifacts, it might be reasonable to create a copy that is readable using existing web standards. Alternatively, could a StrongHelp browser be written in JavaScript?
I believe that someone made a StrongHelp viewer for other systems. I think it was for Linux if memory serves me.

Though there is a tool to extract the contents of strong help manuals to text files (you will loose the links, and have some weard styling here and there for what would be image, style, and link references). This later is available as part of the RISC OS SDK for Linux based systems.

And you know that I dislike Java Script.
Last edited by DavidS on Sun Jul 21, 2019 8:48 pm, edited 1 time in total.
RPi = The best ARM based RISC OS computer around
More than 95% of posts made from RISC OS on RPi 1B/1B+ computers. Most of the rest from RISC OS on RPi 2B/3B/3B+ computers

User avatar
DavidS
Posts: 4334
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: Introduction to BBC BASIC

Sun Jul 21, 2019 8:45 pm

scruss wrote:
Sun Jul 21, 2019 4:30 pm
Heater wrote:
Sun Jul 21, 2019 5:47 am
Using the web standards, google, I cannot find any specification for the StrongHelp format.
The StrongHelp format is described somewhere here: http://www.riscos.info/downloads/stronghelp/manuals/
… but in true RISC OS fashion, the files themselves are stored in the proprietary StrongHelp format, so you can only read them in using StrongHelp. You can't print a StrongHelp manual (!!!), you can't export, and the files are binary (of course).

Sometimes, RISC OS seems as interoperable as Krikkit robots …
The StrongHelp files are just an imageFS. In other words like a disk image that can be mounted on other OS's. The files inside these FS images are either text or Sprites (RISC OS Raster graphics Files).

You can get the text files out in RISC OS from StrongHelp, very easily. Just open the manual, then middle click in the window, select "Open Directory" and it will open the manuals ImageFS in a normal filer window.

See my post above for info on how to get to them on Linux
RPi = The best ARM based RISC OS computer around
More than 95% of posts made from RISC OS on RPi 1B/1B+ computers. Most of the rest from RISC OS on RPi 2B/3B/3B+ computers

User avatar
DavidS
Posts: 4334
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: Introduction to BBC BASIC

Sun Jul 21, 2019 8:53 pm

RichardRussell wrote:
Sun Jul 21, 2019 9:05 am
DavidS wrote:
Sun Jul 21, 2019 1:29 am
Try viewing the BasAlt documentation with StrongHelp (it is a StrongHelp manual). Just an idea.
Is there a StrongHelp reader for Windows? I certainly don't have one. All documentation should be available in a standard format that everybody can read, and you can't get more standard than HTML or PDF (or even plain text as a fallback).
I dissagree with sticking to a "current standard" of any kind. My reasoning is that we have lost just as many long standing standard file formats as we still have. There is no way to know for sure that a given file format will be easily accessable in 20 years time (and software can last a lot longer than that).

And as mentioned above there are multiple ways to get at the data in StrongHelp files.
RPi = The best ARM based RISC OS computer around
More than 95% of posts made from RISC OS on RPi 1B/1B+ computers. Most of the rest from RISC OS on RPi 2B/3B/3B+ computers

ejolson
Posts: 3684
Joined: Tue Mar 18, 2014 11:47 am

Re: Introduction to BBC BASIC

Sun Jul 21, 2019 9:39 pm

DavidS wrote:
Sun Jul 21, 2019 8:53 pm
RichardRussell wrote:
Sun Jul 21, 2019 9:05 am
DavidS wrote:
Sun Jul 21, 2019 1:29 am
Try viewing the BasAlt documentation with StrongHelp (it is a StrongHelp manual). Just an idea.
Is there a StrongHelp reader for Windows? I certainly don't have one. All documentation should be available in a standard format that everybody can read, and you can't get more standard than HTML or PDF (or even plain text as a fallback).
I dissagree with sticking to a "current standard" of any kind. My reasoning is that we have lost just as many long standing standard file formats as we still have. There is no way to know for sure that a given file format will be easily accessable in 20 years time (and software can last a lot longer than that).

And as mentioned above there are multiple ways to get at the data in StrongHelp files.
A format designated as suitable for digital archival comes with a guarantee to still be accessible after 20 years. While it could still happen that a digital apocalypse puts an end to the world as we know it, barring that, those archival formats really will be available for a long time.

On the other hand, since StrongHelp has already become quite difficult for people running popular operating systems to read, it seems of immediate practical importance to convert anything of value to a more accessible format.

How hard would it be for you to extract the documentation for Basalt as a subdirectory of text files and images?
Last edited by ejolson on Sun Jul 21, 2019 9:45 pm, edited 1 time in total.

User avatar
RichardRussell
Posts: 590
Joined: Thu Jun 21, 2012 10:48 am

Re: Introduction to BBC BASIC

Sun Jul 21, 2019 9:45 pm

Steve Drain wrote:
Sun Jul 21, 2019 11:04 am
Make sure to download the dependencies first. Install them and skip any warnings.
You have to be kidding. There's no way I am going to risk installing a dozen or so ancient DLLs and OCXs, especially if I am expected to do so by running an unsigned Setup.exe which may request elevation under UAC! The author of that StrawHelp utility could have written it in BBC BASIC for Windows which has no dependencies whatever, other than what comes as standard with Windows. Indeed I would have thought that was the obvious choice of language for a tool designed to read RISC OS help files in Windows, but what do I know?

User avatar
John Spikowski
Posts: 41
Joined: Sat Jul 20, 2019 5:34 pm
Location: Anacortes, WA USA
Contact: Website

Re: Introduction to BBC BASIC

Sun Jul 21, 2019 9:48 pm

Amazon needs to sponsor an archival bank for software that will evaporate if permanent storage isn't found.

User avatar
DavidS
Posts: 4334
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: Introduction to BBC BASIC

Sun Jul 21, 2019 9:51 pm

RichardRussell wrote:
Sun Jul 21, 2019 9:45 pm
Steve Drain wrote:
Sun Jul 21, 2019 11:04 am
Make sure to download the dependencies first. Install them and skip any warnings.
You have to be kidding. There's no way I am going to risk installing a dozen or so ancient DLLs and OCXs, especially if I am expected to do so by running an unsigned Setup.exe which may request elevation under UAC! The author of that StrawHelp utility could have written it in BBC BASIC for Windows which has no dependencies whatever, other than what comes as standard with Windows. Indeed I would have thought that was the obvious choice of language for a tool designed to read RISC OS help files in Windows, but what do I know?
StrongHelp is an example of a program that is not written in BBC BASIC on RISC OS.
RPi = The best ARM based RISC OS computer around
More than 95% of posts made from RISC OS on RPi 1B/1B+ computers. Most of the rest from RISC OS on RPi 2B/3B/3B+ computers

Heater
Posts: 13610
Joined: Tue Jul 17, 2012 3:02 pm

Re: Introduction to BBC BASIC

Sun Jul 21, 2019 10:41 pm

DavidS,
See my post above for info on how to get to them on Linux
There is no info on how to get to them on Linux in your post above.
The StrongHelp files are just an imageFS. In other words like a disk image that can be mounted on other OS's.
OK. How? Exactly?
I dissagree with sticking to a "current standard" of any kind. My reasoning is that we have lost just as many long standing standard file formats as we still have. There is no way to know for sure that a given file format will be easily accessable in 20 years time (and software can last a lot longer than that).
Disagree how you like. But if the format used ASCII and a markup like HTML, SGML, XML, JSON, MD, etc then at least any current computer could open it and display it in an editor. It would be human readable for the next million years, even if impressed as binary dots on clay tablets. We would have time to figure out how all the formatting/linking marks worked.
And as mentioned above there are multiple ways to get at the data in StrongHelp files.
As hinted at above perhaps. Please tell in detail how to do this on Raspbian, Debian, any other Linux. Or Windows or Mac will do.
Memory in C++ is a leaky abstraction .

User avatar
DavidS
Posts: 4334
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: Introduction to BBC BASIC

Sun Jul 21, 2019 10:52 pm

Heater wrote:
Sun Jul 21, 2019 10:41 pm
DavidS,
See my post above for info on how to get to them on Linux
There is no info on how to get to them on Linux in your post above.
Read again. I explained where to get the tool to extract the files from the StrongHelp ImageFS.
The StrongHelp files are just an imageFS. In other words like a disk image that can be mounted on other OS's.
OK. How? Exactly?
Sorry missinterpetable wording. It can be mounted in RISC OS, though I was using the analogy of disk images in other OS's that can be mounted.
I dissagree with sticking to a "current standard" of any kind. My reasoning is that we have lost just as many long standing standard file formats as we still have. There is no way to know for sure that a given file format will be easily accessable in 20 years time (and software can last a lot longer than that).
Disagree how you like. But if the format used ASCII and a markup like HTML, SGML, XML, JSON, MD, etc then at least any current computer could open it and display it in an editor. It would be human readable for the next million years, even if impressed as binary dots on clay tablets. We would have time to figure out how all the formatting/linking marks worked.
ASCII itself is only recently been widely adopted (only about 40 years has it been widely adopted). People expected similar from EBCD text encodings (with multiple of those).
And as mentioned above there are multiple ways to get at the data in StrongHelp files.
As hinted at above perhaps. Please tell in detail how to do this on Raspbian, Debian, any other Linux. Or Windows or Mac will do.
I do not use the Linux tools for RISC OS development personally, though you can look at the tools for the GCCSDK for RISC OS:
http://www.riscos.info/index.php/GCCSDK
RPi = The best ARM based RISC OS computer around
More than 95% of posts made from RISC OS on RPi 1B/1B+ computers. Most of the rest from RISC OS on RPi 2B/3B/3B+ computers

User avatar
John Spikowski
Posts: 41
Joined: Sat Jul 20, 2019 5:34 pm
Location: Anacortes, WA USA
Contact: Website

Re: Introduction to BBC BASIC

Sun Jul 21, 2019 10:54 pm

David,

It seems you have no interest in Raspbian so I've given up hope you would be the guy to give the Brandy extension module a refresh for RPi users.

It will be interesting to see if you can get ScriptBasic running on RISC OS. ScriptBasic runs great on ReactOS if a Windows alternative excites you.

Heater
Posts: 13610
Joined: Tue Jul 17, 2012 3:02 pm

Re: Introduction to BBC BASIC

Sun Jul 21, 2019 11:14 pm

DavidS,
Read again. I explained where to get the tool to extract the files from the StrongHelp ImageFS.
I read again. No you did not. No links to anywhere. No instructions. Nothing.

Whatever "ImageFS" is, it's not a file system that Linux or any other OS knows about.
ASCII itself is only recently been widely adopted (only about 40 years has it been widely adopted).
Yes. So what?

We managed to decipher Egyptian hieroglyphs from the Rosetta Stone. So I'm sure the simple ASCII representation, or similar, will be no problem.

All we need just now us a clue...
I do not use the Linux tools for RISC OS development personally,
So what?

The idea is to get the documentation out to the world in a way they can actually read it.

It's a file right? It's in a format that has some specification right? Can you show us that specification?
Memory in C++ is a leaky abstraction .

Return to “Other programming languages”