Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 15:51 23 Apr 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 : Presenting experimental HELP system for Picomites

Author Message
electricat

Senior Member

Joined: 30/11/2020
Location: Lithuania
Posts: 279
Posted: 06:40am 14 Apr 2025
Copy link to clipboard 
Print this post

This is toy...  
OK. This is experimental 'Stand alone' help for Picomite HDMI/USB/2350 computer More on Picomite HDMI/USB/2350 computer at https://geoffg.net/picomitevga.html

In case you are away from main PC or just want 'better' retro feeling   Kind of  

Black&White version
https://github.com/ElectriCatLt/MMBasic/tree/main/MMBasic%20help%20BW/help

Colour version
https://github.com/ElectriCatLt/MMBasic/tree/main/MMBasic%20help%20color/help

I wrote it mostly while learning MMbasic.
I just wanted write some potentialy 'usefull' util  

Should work on VGA/HDMI.


This help is mostly copy of Picomites` family official manual but in form of searchable text database. As it is stored in SD card and in plain text format and does not take too much space, additional examples and reading materials can be added, comparing to official manual. Any beta changes in firmwares, like new commands or functionality, can be added or removed with no need to re-print paper version of oficial manual. Thanks to LIBRARY functionality, this help can be called typing 'help' in command prompt. Later user can get back to program editing. But keep in mind this is experimental project, so You must always check with official manual.

Use should be simple. User just enter one word search phrase and help returns everything maching phrase. Try and enter 'DRAWING' and program will list in short form everything relateted to drawing - commands, functions or tutorials. Every topic has number [nn]. If user enters >nn, topic will be listed in full format. For example type RUN and program will list few topics. List begins with number [>59] If user will type '>59' topic will be listed in full format.

Similar effect has key '-f' If user would enter 'RUN -f', same topics fill be listed, but this time in full format.

If user would type in '-x' or press 'ctrl+C' - program will exit. '-x' is reccomended way to exit as CTRL+C and re-Run might throw an "variable already declared" error. This case, Just enter - exit built in editor by pressing F4

Key '-s" would list keyword suggestions.

It must be noted: search phrase is not case sensitive, but keys '-f', '-x', '-s' and '-h' are CASE SENSITIVE.

Prepare: Copy HELP with contents to SD card. Enter command CMM2 LOAD "Help.bas"

Enter command LIBRARY SAVE

Now, you can type 'help' in command prompt, and call for help anytime without need of paper printed user manual or PC This will not destroy current program you might run-editing at the moment

HELP system was created to suit the author's personal needs. If you enjoy using it — great! If not — no worries.

> If you *do* enjoy it, please consider helping stray cats. 🐾

2025 Released for the PicoMiteVGA community with curiosity and love.

Oh.. forgot to mention it works on MMB4W too :)
Must change paths inside of it
Edited 2025-04-14 16:42 by electricat
My MMBasic 'sand box'
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4809
Posted: 10:10am 14 Apr 2025
Copy link to clipboard 
Print this post

Hi electricat,

I will give it a try this evening. You can't imagine how often I open the user manual PDF to check exectly in what order parameters must be added to commands and functions. If this help provides that info, I will be very pleased. I am most interested in the monochrome version, since it most likely works on my 2040 VGA.
Is this also usable via the console ?

Are you sure I can download the files from your Git? I was not succesfull this morning.

Volhout
Edited 2025-04-14 20:11 by Volhout
PicomiteVGA PETSCII ROBOTS
 
electricat

Senior Member

Joined: 30/11/2020
Location: Lithuania
Posts: 279
Posted: 11:05am 14 Apr 2025
Copy link to clipboard 
Print this post

@Volhout,

  Quote   You can't imagine how often I open the user manual PDF to check exectly in what order parameters must be added to commands and functions


Same case here    
This thing is made for reason  

You run, enter command or part of it - will list.
Now, enter number >nn from list and you will get syntax.
type in --> help for explanations

Only it was some amount of  boring hours convert official PDF manual  to TXT DB so there might be some errors. But I hope I hunted most of them.

There also integrated 3D command descriptions, and some BETA commands but not all as I switched to writing navigator.

I wrote also tool which converts one large TXT file (by the way, very easy to use in notepad++ :D typing and then >FIND ALL) to TXT database, so it should be very easy for user prapare his own database. So this thing will be adaptable for user needs.
But I want to add additional functionality, so not released yet, but if it is interesting I can PM you to play with all this to play as I`ve done enough of mesy posts for today  

  Quote  
I am most interested in the monochrome version


Did not tested, but both versions should work 2040VGA    
I just don`t remember how largely I used keydown() but it must be easy to adpot.

  Quote  
Is this also usable via the console

Did not tested.
However I do not think there would be any problems to adopt. It is TXT database by nature, and database might be held in A:
And listing.. do not see problem here. Easier than VGA/HDMI

  Quote  
Are you sure I can download the files from your Git? I was not succesfull this morning


I just checked my signature 'My MMBasic 'sand box'' from another browser without github logins, and all seems to be downloadable. Please report if something wrong.
My MMBasic 'sand box'
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3981
Posted: 12:23pm 14 Apr 2025
Copy link to clipboard 
Print this post

I also could not download from github (until I went up the tree to ElectriCatLt/MMBasic).

John
 
electricat

Senior Member

Joined: 30/11/2020
Location: Lithuania
Posts: 279
Posted: 03:03pm 14 Apr 2025
Copy link to clipboard 
Print this post



Oh..
I added releases for more easy download.
My MMBasic 'sand box'
 
electricat

Senior Member

Joined: 30/11/2020
Location: Lithuania
Posts: 279
Posted: 03:31pm 14 Apr 2025
Copy link to clipboard 
Print this post

I wanted to capture how it works, but went into focusing problems, so some screenshots here.

effect if entered RUN as search keyword without any keys




search with key -f (lists full info)
BW version. Ok.. not totally BW, all BW except short description  


Effect if entered search keyword FRAMEBUFFER (fithout -f key)


and you can read more detailed on topic entering >316



Colour version of >316


effect of just key -s
if there is no ideas what you are looking for

My MMBasic 'sand box'
 
homa

Guru

Joined: 05/11/2021
Location: Germany
Posts: 448
Posted: 08:17pm 14 Apr 2025
Copy link to clipboard 
Print this post

Brilliant idea,

but unfortunately it doesn't work so well for me yet ... RC14 !

> help
ready
[>1] Predefined Read Only Variables
[>4] Using the I/O pins. DIGITAL, ANALOG, COUNTING Inputs. DIGITAL Outputs.Pulse PWM. COMMUNICATIONS INTERFACES (Serial, SPI and I2C).INTERRUPTS.

[>8] DISPLAY PANELS. SPI, I2C based LCD panels . 8-bit and 16-bit Parallel LCD PaControl. Touch Support. LCD Display as the Console Output.

[>9] Graphics Functions
[>18] Expressions and Operators

[>19] Subroutines, Functions, Passing Arguments by Reference,Passing Arrays,Early[>22] CONFIGURING THE KEYBOARD,USING A MOUSE,USB GAMEPAD

[>23] Program and Data Storage.Flash Slots.Flash Filesystem.
[>24] SD Cards

[>25] MMBasic Support for Flash and SD Card Filesystems
[>26] WI-FI

[>27] MMBASIC - Long Strings, Long String Variables, Summary of the Commands and [>28] MMBasic Characteristics - NAMING CONVENTIONS,CONSTANTS,IMPLEMENTATION CHARACTERISTICS
[>31] A Tutorial - STRUCTURE OF A BASIC PROGRAM
[>36] A Tutorial - The IF Statement

[>37] A Tutorial - FOR Loops
[>41] A Tutorial - Testing for Prime Numbers

[>45] A Tutorial - SCIENTIFIC NOTATION
[>49] A Tutorial - FUNCTIONS

[>58] MM.INFO() MM.INFO$()
[>59] MM.INFO$(AUTORUN)

[>60] MM.INFO(ADC)
[>61] MM.INFO(ADC DMA)

[>62] MM.INFO(BOOT COUNT)est search ; -x > exit ; -h >how to
[>63] MM.INFO$(CPUSPEED)
[>64] MM.INFO$(LCDPANEL)
[>65] MM.INFO(LCD320)
[>66] MM.INFO$(SDCARD)
[>67] MM.INFO$(CURRENT)
[>68] MM.INFO$(PATH)
[>69] MM.INFO(DISK SIZE)
[>70] MM.INFO$(DRIVE)
[>71] MM.INFO(EXISTS FILE fname$)
[>72] MM.INFO(EXISTS DIR dirname$)
[>73] MM.INFO$(FREE SPACE)
I found more records. Press 'HOME' to refine; any key for more.
> help display
Error : Argument list
> help "display
Error : Argument list
> help
[LIBRARY] Dim INTEGER PICOMITE=1
Error : PICOMITE already declared
>


There is no reaction here in particular:
"I found more records. Press 'HOME' to refine; any key for more."
Only Ctrl-C helps here via Console (I have no keyboard, only a mouse connected for testing!)

The correct output on the console (e.g. TeraTerm) would also be ingenious. Unfortunately, it appears confused.

But I love the idea!

Matthias
 
homa

Guru

Joined: 05/11/2021
Location: Germany
Posts: 448
Posted: 08:26pm 14 Apr 2025
Copy link to clipboard 
Print this post

okay, a directly connected keyboard helps :-)

Unfortunately the path is "b:/help" after quitting.
Can the previous one be restored here?

Actually this kind of help (manpages) should be directly in the editor :-) !

Matthias
 
Amnesie
Guru

Joined: 30/06/2020
Location: Germany
Posts: 521
Posted: 09:23pm 14 Apr 2025
Copy link to clipboard 
Print this post

This idea is genius!

I am using the PicoMiteVGA as a real stand-alone computer. This idea makes so much sense to me.   The real problem probably is to maintain this version of the manual?

Greetings
Daniel
 
electricat

Senior Member

Joined: 30/11/2020
Location: Lithuania
Posts: 279
Posted: 07:17am 15 Apr 2025
Copy link to clipboard 
Print this post

@Homa,

Brilliant idea,

I am not fan of printed manuals too

Thank you for observations. I will correct when I find free time.  
Typical week is full of 'real life interrupts'  

As I am using VGA/HDMI versions 98% of time  , I completely ignored terminals  

@Amnesie
  Quote  This idea makes so much sense to me

Nice to hear I`m not alone here  

  Quote  real problem probably is to maintain this version of the manual


Manual does not changes as much, so not a big problem.
My MMBasic 'sand box'
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 7433
Posted: 08:46am 15 Apr 2025
Copy link to clipboard 
Print this post

Such heathens on here...  ;)
You can't beat a good printed manual that's either so worn that it opens at favourite pages or is bound so that it falls open at any page naturally. Or both.
Electronic manuals need screen space (or more than one screen) so that you can have them open while you are programming. Especially when you are on the verge of ancient and your eyes and short term memory are getting knackered...

"Updates?" says he with his Ver 5.07.03 printed manual...
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4809
Posted: 09:10am 15 Apr 2025
Copy link to clipboard 
Print this post

I did not print the 6.00.01 manual, simply becuase I was convinced Peter was not done yet.
But now I believe 6.00.02 will remain for while, especially for 2040 VGA. It was a squeeze before, and even more now. I even think the latest OPTION FAST TRIG is not needed, it has only minimal performance impact, as Kevin has shown.

Last night I realized that MMBasic has become a CISC language.

In microprocessors you have the CISC (Complex Instruction Set) processors like x86, and there was RISC IReduced instruction set (like ARM originally).
Historically BASIC was a RISC language. The core of BASIC only has few instructions. That made it simple to master. These few instructions are still withing MMBasic, but added to it is a wealth of complex additional instructions.
MMBasic may not fall into the category of "easy to learn" languages anymore.
I know, I am older, but I need the manual often. For the CISC instructions.

With something like a 2040 GEEK (you put in your pocket), dragging a paper manual with you is not common. The geek is a product that could benefit from this help system. It has an SD card. So I will try that when the console version is available.

Volhout
PicomiteVGA PETSCII ROBOTS
 
electricat

Senior Member

Joined: 30/11/2020
Location: Lithuania
Posts: 279
Posted: 11:03am 15 Apr 2025
Copy link to clipboard 
Print this post

@Mick,

I still have "The Complete Spectrum ROM Disassembly" printed on dot matrix priter and pack of z80 books
My MMBasic 'sand box'
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 7433
Posted: 04:33pm 15 Apr 2025
Copy link to clipboard 
Print this post

Not quite such a heathen then. :)
I still have a load of assorted computer books and magazines too. They've sort of accumulated over the years.

Not to mention the hardware....  :)
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
electricat

Senior Member

Joined: 30/11/2020
Location: Lithuania
Posts: 279
Posted: 05:04am 16 Apr 2025
Copy link to clipboard 
Print this post

- There is quick terminal/ headless/RP2040 compatible version
So output to VGA screen would be quite ugly, while somehow usable still.

help_console_RP240_headless_20250416.zip

- Now all keyboard sents should work ok through terminal (no need external keyboard)
Will not return path however. Have no any ideas how to do it, yet.

You can change pair of vars to your taste at the beginning of prg. if you want:

Dim integer max_prn_lines=29 ' for terminal height
Dim integer def_LineWidth = 80 ' for terminal width

p.s. forgot to mention
if you already has copied all help files held in dir 'hlp'
there should be no need to rewrite everything, only -> help.bas
And before saving as library

help
should be coment out of course


help
Sub help




'help
Sub help


Let`s see if it helps




Edited 2025-04-16 15:19 by electricat
My MMBasic 'sand box'
 
homa

Guru

Joined: 05/11/2021
Location: Germany
Posts: 448
Posted: 02:54pm 16 Apr 2025
Copy link to clipboard 
Print this post

  electricat said  - There is quick terminal/ headless/RP2040 compatible version
So output to VGA screen would be quite ugly, while somehow usable still.

- Now all keyboard sents should work ok through terminal (no need external keyboard)
Will not return path however. Have no any ideas how to do it, yet.

Let`s see if it helps


Many thanks for the console version!

Insert at the beginning of the SUB:

backupDrive$=MM.Info(drive)
backupCWD$=Cwd$


And add here when leaving ...

 If usr$="-x" Or usr$="-exit" Or usr$="-e" Then
  Chdir ".."
  Drive backupDrive$
  Chdir backupCWD$


Yes it helps  

Matthias
 
electricat

Senior Member

Joined: 30/11/2020
Location: Lithuania
Posts: 279
Posted: 03:33am 17 Apr 2025
Copy link to clipboard 
Print this post

I added at the wery begining

Dim remember_path$=Cwd$


but then returned paths on first ESC as if I was making corrections in my other project 'navigator'. Made it tits up    


       Loop Until pkey$ <> ""
 If pkey$=Chr$(27) Then
       Close #1
 Chdir remember_path$
       End
       End If


Paths sure were not returned, so I just decided things will not work that way.
Anyways You pointed it right. We need remember working drive too  

Another thing is, I wanted it work from command line like in linux or something, from the very begining. So it would remember what was entered also. But for me typing in "" e.i. "searchkeywoard" ruined it all.

How clean it would be if it would be posible to make it accept from cmd line something like
-h array


My MMBasic 'sand box'
 
Print this page


To reply to this topic, you need to log in.

© JAQ Software 2025