Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 08:59 01 Aug 2025 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : help.bas

     Page 1 of 2    
Author Message
TassyJim

Guru

Joined: 07/08/2011
Location: Australia
Posts: 6283
Posted: 06:43am 20 Nov 2020
Copy link to clipboard 
Print this post

This is a simple help system.
Seeing that I had the keyword list for MMEdit, it was easy enough to convert the csv file to DATA statements.
The next stage will be to convert the HTML to text files so I can offer a more complete help system.

This first stage will be a start.

RUN
Keyword ? page
MM.INFO( MAX PAGES        >> MM.INFO( MAX PAGES)
MM.INFO( PAGE ADDRESS     >> MM.INFO(PAGE ADDRESS n)
MM.INFO( WRITE PAGE       >> MM.INFO( WRITE PAGE)
PAGE                      >> PAGE options
PAGE AND_PIXELS           >> PAGE AND_PIXELS sourcepage1, sourcepage2, destinationpage
PAGE COPY                 >> PAGE COPY n TO m [,when]
PAGE LIST                 >> PAGE LIST
PAGE OR_PIXELS            >> PAGE OR_PIXELS sourcepage1, sourcepage2, destinationpage
PAGE RESIZE               >> PAGE RESIZE pageno, width, height
PAGE SCROLL               >> PAGE SCROLL pageno, x, y [,fillcolour]
PAGE STITCH               >> PAGE STITCH frompage1, from_page_2, topage, offset
PAGE WRITE                >> PAGE WRITE n
PAGE XOR_PIXELS           >> PAGE XOR_PIXELS sourcepage1, sourcepage2, destinationpage
Keyword ?



help.zip

Jim
VK7JH
MMedit
 
vegipete

Guru

Joined: 29/01/2013
Location: Canada
Posts: 1132
Posted: 07:11am 20 Nov 2020
Copy link to clipboard 
Print this post

  TassyJim said  The next stage will be to convert the HTML to text files so I can offer a more complete help system.

Unless some enterprising programmer steps forward with a rudimentary HTML renderer...
Visit Vegipete's *Mite Library for cool programs.
 
CaptainBoing

Guru

Joined: 07/09/2016
Location: United Kingdom
Posts: 2170
Posted: 08:39am 20 Nov 2020
Copy link to clipboard 
Print this post

or you could load it into a browser and scrape the window
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10310
Posted: 02:31pm 20 Nov 2020
Copy link to clipboard 
Print this post

Jim

I've been waiting for just this sort of list. Are you OK for me to build it into the firmware as a help command?
 
RetroJoe

Senior Member

Joined: 06/08/2020
Location: Canada
Posts: 290
Posted: 02:35pm 20 Nov 2020
Copy link to clipboard 
Print this post

+100 !
Enjoy Every Sandwich / Joe P.
 
markboston36
Regular Member

Joined: 27/10/2020
Location: United States
Posts: 76
Posted: 03:10pm 20 Nov 2020
Copy link to clipboard 
Print this post

  vegipete said  
  TassyJim said  The next stage will be to convert the HTML to text files so I can offer a more complete help system.

Unless some enterprising programmer steps forward with a rudimentary HTML renderer...


why not just use links?
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4311
Posted: 03:17pm 20 Nov 2020
Copy link to clipboard 
Print this post

  markboston36 said  
  vegipete said  
  TassyJim said  The next stage will be to convert the HTML to text files so I can offer a more complete help system.

Unless some enterprising programmer steps forward with a rudimentary HTML renderer...


why not just use links?


Links to/from what? There is no HTML browser on the CMM2.

Jim either has to convert his existing HTML files to text offline, or the "enterprising programmer" has to write an MMBasic program that will render the HTML files as "console type" output on the fly. The latter should be within the realms of possibility for a subset of HTML, infact a CMM2 web browser should be entirely possible if not necessarily worthwhile.

Tom
Edited 2020-11-21 01:18 by thwill
MMBasic for Linux, Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
markboston36
Regular Member

Joined: 27/10/2020
Location: United States
Posts: 76
Posted: 04:06pm 20 Nov 2020
Copy link to clipboard 
Print this post

  thwill said  
  markboston36 said  
  vegipete said  
  TassyJim said  The next stage will be to convert the HTML to text files so I can offer a more complete help system.

Unless some enterprising programmer steps forward with a rudimentary HTML renderer...


why not just use links?


Links to/from what? There is no HTML browser on the CMM2.

Jim either has to convert his existing HTML files to text offline, or the "enterprising programmer" has to write an MMBasic program that will render the HTML files as "console type" output on the fly. The latter should be within the realms of possibility for a subset of HTML, infact a CMM2 web browser should be entirely possible if not necessarily worthwhile.

Tom


links a program that renders html. back in the bad old days before gui's thats how you connected to the internet. its the only cli html browser im aware of thats still being supported.

there are a bunch of forks of it such as elinks which has more features but hasn't been developed since 2004. it probably still works but i wouldn't trust something that isn't being actively developed.


http://links.twibright.com/
 
markboston36
Regular Member

Joined: 27/10/2020
Location: United States
Posts: 76
Posted: 04:11pm 20 Nov 2020
Copy link to clipboard 
Print this post

it should be more then adequate for this purpose. you can also use it to browse the web but seeing as its text only it won't render fancy graphics. it does have basic image and javascript support so google works but anything that relies on fancy graphics or anything after html 2 won't work.


i use to use it to check how websites i wrote in basic html would render. i believe links was the last text based browser before mosaic was introduced.
 
LeoNicolas

Guru

Joined: 07/10/2020
Location: Canada
Posts: 504
Posted: 04:20pm 20 Nov 2020
Copy link to clipboard 
Print this post

  matherp said  Jim

I've been waiting for just this sort of list. Are you OK for me to build it into the firmware as a help command?


This will be amazing. It will be like the old Borland Turbo C with its super handy hrlp


 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4311
Posted: 04:20pm 20 Nov 2020
Copy link to clipboard 
Print this post

  markboston36 said  links a program that renders html. back in the bad old days before gui's thats how you connected to the internet. its the only cli html browser im aware of thats still being supported.

there are a bunch of forks of it such as elinks which has more features but hasn't been developed since 2004. it probably still works but i wouldn't trust something that isn't being actively developed.

http://links.twibright.com/


Ah, light dawns,

Do you mean "Lynx" which as the Wikipedia page says is "Not to be confused with Links (web browser)" ?

I'm not even sure it is possible to port that, and if it is then it would be a major undertaking; the CMM2 can't build/run binaries in the usual (Windows/Linux) sense and is missing pretty much all the operating system and library building blocks that underlie Lynx. Perhaps if we fed @matherp sufficient medical-grade coffee, whiskey and/or prescription medication it might be something that could somehow be levered into the firmware by statically linking in all the dependencies but my gut says "not on your nelly".

EDIT: OK, I see that "Links" also has a text-mode, but the same arguments apply.

Best wishes,

Tom
Edited 2020-11-21 02:41 by thwill
MMBasic for Linux, Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
markboston36
Regular Member

Joined: 27/10/2020
Location: United States
Posts: 76
Posted: 05:14pm 20 Nov 2020
Copy link to clipboard 
Print this post

links is a version of lynx. lynx is the original version but im not sure if its still actively maintained.
 
CircuitGizmos

Guru

Joined: 08/09/2011
Location: United States
Posts: 1427
Posted: 05:14pm 20 Nov 2020
Copy link to clipboard 
Print this post

The Lynx display would be a good starting point for a look and feel for a help system:



I think that it would be a huge task to implement an HTML browser in the CMM2 firmware and there would be nothing but bug reports ad nauseum. Peter doesn't need that headache.

But a help facility in EDIT would be grand. If it can read external files (from A:/help) then users can contribute to this help system.

If a simple mark-up language can be used to provide the ability to change text color, provide links (from one help file to another), and even a link to an image that can pop up in a window using the recent additions Peter made to the language, this would go a long way toward the appeal of this system to the education market.
Micromites and Maximites! - Beginning Maximite
 
markboston36
Regular Member

Joined: 27/10/2020
Location: United States
Posts: 76
Posted: 05:33pm 20 Nov 2020
Copy link to clipboard 
Print this post

i wasn't suggesting to build in links/lynx. but you could use parts of it to implement a help system that reads from the mmbasic online manual.
 
TassyJim

Guru

Joined: 07/08/2011
Location: Australia
Posts: 6283
Posted: 08:13pm 20 Nov 2020
Copy link to clipboard 
Print this post

  matherp said  Jim

I've been waiting for just this sort of list. Are you OK for me to build it into the firmware as a help command?

I was hoping you would say that.

Let me know what format you prefer and I can add it to my program.
I start with the CSV that gets distributed with MMEdit. (That might suit you as is)
I then use that CSV to generate the index HTML files and the list of any new required HTML detail files and now this DATA list.

The main idea is to make it relatively easy to keep up with your new commands.

The list is for all MMBasic so it contains commands that don't exist in the CMM2

Jim
VK7JH
MMedit
 
TassyJim

Guru

Joined: 07/08/2011
Location: Australia
Posts: 6283
Posted: 08:28pm 20 Nov 2020
Copy link to clipboard 
Print this post

  thwill said  
  markboston36 said  
  vegipete said  
  TassyJim said  The next stage will be to convert the HTML to text files so I can offer a more complete help system.

Unless some enterprising programmer steps forward with a rudimentary HTML renderer...


why not just use links?


Links to/from what? There is no HTML browser on the CMM2.

Jim either has to convert his existing HTML files to text offline, or the "enterprising programmer" has to write an MMBasic program that will render the HTML files as "console type" output on the fly. The latter should be within the realms of possibility for a subset of HTML, infact a CMM2 web browser should be entirely possible if not necessarily worthwhile.

Tom


The main use will be the one line syntax. I use it regularly in MMEdit and similar in other programming languages I use. I would be lost without t and hope Peter can incorporate it into the editor.

Re the HTML pages:
I was thinking more like MAN pages to make the Linux tribe feel at home.

I have already converted most of the HTML pages to text.
The ones that use tables need more work and as I made the HTML pages form different sources, there are some really crazy HTML to wade through. I will redo the worst of them in simpler HTML to make my conversion task easier.

The initial supplied help.bas will get another field for the link to the main page for each command. That's how MMEdit does it.
There will also be some smarter searching to try any remove some of the extraneous hits. Again, that's what MMEdit does.

The help system is designed to cover all of the MMBasic family so has to use common code wherever possible.
As is, it runs happily on the DOS version but not enough memory on the MM170

I actually prefer to use my tablet to view the on-line version but that is not very retro...

Jim
VK7JH
MMedit
 
CircuitGizmos

Guru

Joined: 08/09/2011
Location: United States
Posts: 1427
Posted: 08:33pm 20 Nov 2020
Copy link to clipboard 
Print this post

I hope that the help files will be on the SD card. This lets the help information get updated without the need for recompiling the source. Can you imagine how many times people will find little things to ask for?

Plus this lets the help file be a lot richer than just a simple bit of text. It would have syntax usage, example code, notes, pitfalls, and links to other help files and pictures.

I had this started, but when the displayed code needed to be scrolled, I decided on a different approach - and had to set that aside.
Micromites and Maximites! - Beginning Maximite
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 4044
Posted: 09:31pm 20 Nov 2020
Copy link to clipboard 
Print this post

Might also allow help in German, French, ...

John
 
CircuitGizmos

Guru

Joined: 08/09/2011
Location: United States
Posts: 1427
Posted: 09:36pm 20 Nov 2020
Copy link to clipboard 
Print this post

  JohnS said  Might also allow help in German, French, ...

John


Excellent point.
Micromites and Maximites! - Beginning Maximite
 
PeteCotton

Guru

Joined: 13/08/2020
Location: Canada
Posts: 543
Posted: 01:21am 21 Nov 2020
Copy link to clipboard 
Print this post

This ties in with a wee project I've been working on in the background (although it has to vie for space with the texture mapping algorithm, and the two other games I'm writing   ).

Basically it occured to me that given the CMM2 basic programs are stored as text files, I could write a combined program editor and tutorial, in BASIC that could be mapped to the user definable F11 or F12 keys e.g. "RUN BEGINNER_EDIT.BAS".

I know a number of people have mentioned using the CMM2 in a class-room environment. My idea would be that I could build a tutorial for absolute beginner programmers, to teach them the fundamentals of variables, FOR-NEXT loops, IF-ELSE-THEN etc.

I would be able to save lessons as scripts in to a folder and then the new user could access the folder of lessons, select one and maybe it would show a little tutorial on the right hand side of the screen (e.g. a for loop and an explanation of how they work), and then they could edit the program on the left hand side of the screen. And hit F2/run to save and call an EXECUTE command to run the users program.

It would not be my intention to replace the F2 editor (I suspect there are things that we can't compete on like speed of editing large programs), but to provide a cut down editor that I could highlight commands as the user started typing. Originally I thought I would just do the very basics of program structures and then when they are comfortable they can take the training wheels off and use the in built editor. This help file would allow me to include helpful pointers for all commands if they wanted to try them out.

Note: This is little more than a technical mental excersise just now, but it's something I'm progressing slowly.
Edited 2020-11-21 11:23 by PeteCotton
 
     Page 1 of 2    
Print this page
The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025