SyntaxBomb - Indie Coders

Languages & Coding => SmallBASIC => Topic started by: chrisws on July 19, 2020, 10:00:27

Title: 12.19
Post by: chrisws on July 19, 2020, 10:00:27
Is here:

https://github.com/smallbasic/SmallBASIC/releases/tag/12_19

The android version has also been updated.

If I've missed anything there's always next time :)

Cheers,
Chris
Title: Re: 12.19
Post by: johnno56 on July 23, 2020, 00:44:27
Hi Chris,

Just downloaded 12.19 deb file but my Linux Mint OS warned me that it needed libc6 v 2.29 or greater. My system already has libc6 installed (v 2.27) which is the 'latest' version of libc6 (for LM). I am running the latest stable version of LM (v 19.3).
Title: Re: 12.19
Post by: chrisws on July 23, 2020, 09:12:40
Quote from: johnno56 on July 23, 2020, 00:44:27
Hi Chris,

Just downloaded 12.19 deb file but my Linux Mint OS warned me that it needed libc6 v 2.29 or greater. My system already has libc6 installed (v 2.27) which is the 'latest' version of libc6 (for LM). I am running the latest stable version of LM (v 19.3).

Hi Johno,

Do you feel up for building from source? I can give you some extra instructions and help if you get stuck.

It should be fairly straight forward from mint.

Cheers,
Chris

Title: Re: 12.19
Post by: johnno56 on July 25, 2020, 03:17:27
Sounds like fun! I'm in!
Title: Re: 12.19
Post by: johnno56 on July 26, 2020, 12:47:40
Hi Chris,

Downloaded 12.19 file and accessed the README.md file for instructions to build the sdl version.

The "initial setup" ran to completion without error. (all packages that needed to be installed were already up to date)

"./configure --enable-sdl" completed no errors

"make" not so lucky... see attached.

I will also include the full text of the failed 'make' command.

Any assistance would be appreciated.

J
Title: Re: 12.19
Post by: round157 on July 27, 2020, 08:32:58
Quote from: chrisws on July 19, 2020, 10:00:27
Is here:

https://github.com/smallbasic/SmallBASIC/releases/tag/12_19

The android version has also been updated.

If I've missed anything there's always next time :)

Cheers,
Chris

This mentions "Implement DEFINEKEY undo".
https://github.com/smallbasic/SmallBASIC/releases/tag/12_19

However, the manual does not mention how to use "DEFINEKEY undo".
https://smallbasic.github.io/reference/1015
Title: Re: 12.19
Post by: chrisws on July 27, 2020, 09:42:47
Quote from: round157 on July 27, 2020, 08:32:58
Quote from: chrisws on July 19, 2020, 10:00:27
Is here:

https://github.com/smallbasic/SmallBASIC/releases/tag/12_19

The android version has also been updated.

If I've missed anything there's always next time :)

Cheers,
Chris

This mentions "Implement DEFINEKEY undo".
https://github.com/smallbasic/SmallBASIC/releases/tag/12_19

However, the manual does not mention how to use "DEFINEKEY undo".
https://smallbasic.github.io/reference/1015

Thanks for the reminder, I've updated the page. Basically you just pass 0 instead of the SUB, for example:

DEFINEKEY 0xFF04, 0


Title: Re: 12.19
Post by: chrisws on July 28, 2020, 00:52:38
Quote from: johnno56 on July 26, 2020, 12:47:40
Hi Chris,

Downloaded 12.19 file and accessed the README.md file for instructions to build the sdl version.

The "initial setup" ran to completion without error. (all packages that needed to be installed were already up to date)

"./configure --enable-sdl" completed no errors

"make" not so lucky... see attached.

I will also include the full text of the failed 'make' command.

Any assistance would be appreciated.

J

Hi Johno,

Ah, I see it's a problem with how I've setup some dependencies.

Try saving the code below as a file, say "submodules.sh" in the SmallBASIC folder.

Then run it with:

$ sh submodules.sh

If you get an error, you might need to install git first:

$ sudo apt install git

Quote
#!/bin/bash
(cd src/lib && rm -rf lodepng && git clone https://github.com/lvandeve/lodepng.git)
(cd src/lib && rm -rf stb && git clone https://github.com/nothings/stb.git)
(cd src/lib && rm -rf miniaudio && git clone https://github.com/dr-soft/miniaudio.git)
(cd src/lib && rm -rf jsmn && git clone https://github.com/zserge/jsmn.git)



Title: Re: 12.19
Post by: johnno56 on July 28, 2020, 03:33:33
Excellent! 12.19 is now installed! Thank you for the fix. Much appreciated!
Title: Re: 12.19
Post by: round157 on July 29, 2020, 09:52:39
Quote from: chrisws on July 27, 2020, 09:42:47
Thanks for the reminder, I've updated the page. Basically you just pass 0 instead of the SUB, for example:

DEFINEKEY 0xFF04, 0


Thank you.

Sometimes the editor shows some squares. These squares are actually useless characters. Will there be any plan to remove the bug in the editor(sbasicg.exe)? Thanks again.
Title: Re: 12.19
Post by: round157 on July 31, 2020, 11:24:14
I want to report a flaw of the theme "R157" in sbasicg.exe.

In the [Online] section, text is still dark green. It is hard to read text in this color. Replacing the color with a bright color for the next version will be convenient for users. (The color cannot be changed in settings.txt.)
Title: Re: 12.19
Post by: round157 on August 02, 2020, 08:58:08
I need to report the font bug.

https://smallbasic.github.io/pages/sdl.html

The above page tells us that the default font of sbasicg.exe can be changed to Envy font or Adobe Source Code Pro font. I followed the steps of the page to try.(used Envy font files and also Adobe Source Code Pro font files). However, I could not succeed and the default font was still displayed.

A bug exists.
Title: Re: 12.19
Post by: chrisws on August 03, 2020, 00:57:06
Quote from: round157 on July 31, 2020, 11:24:14
I want to report a flaw of the theme "R157" in sbasicg.exe.

In the [Online] section, text is still dark green. It is hard to read text in this color. Replacing the color with a bright color for the next version will be convenient for users. (The color cannot be changed in settings.txt.)

Thanks for your report. The online page doesn't currently use the themes. When you click "online" the following page is downloaded an run:

https://github.com/smallbasic/smallbasic.github.io/blob/master/samples/index.bas

Actually this is the link that is used; it's a different view of the same thing:

http://smallbasic.github.io/samples/index.bas

So, the display issues could be fixed without making another update.

Cheers,
Chris
Title: Re: 12.19
Post by: round157 on August 04, 2020, 04:08:00
Quote from: chrisws on August 03, 2020, 00:57:06

So, the display issues could be fixed without making another update.


Thank you.

One small problem. I remember that bplus introduced the command "w.setsize()" to me in this forum several months ago. Nevertheless, I discover that w.setsize() is not talked about anywhere in the manual:

https://smallbasic.github.io/reference/624.html

So it is better to add w.setsize() to the manual. Thanks.

Title: Re: 12.19
Post by: round157 on August 06, 2020, 10:05:38
Hi.......an idea here.....

If w.setsize(640,480) is used, the small window will always be made at the top left corner. Maybe it will be nice for SmallBASIC users to decide locations of windows. For example, w.setlocation(0,0) is at the top left corner and w.setlocation((XMAX-640)/2, (YMAX-480)/2) is in the central part. This new command may be quite useful for all of us.
Title: Re: 12.19
Post by: round157 on August 08, 2020, 09:12:09
One more little idea,

When source code is run, text of title bar is "XXX.bas - SmallBASIC". This text cannot be changed. If SmallBASIC has SetTitle(),  it may be quite useful for SmallBASIC users. (eg. w.SetTitle("This is my program."))
Title: Re: 12.19
Post by: chrisws on August 09, 2020, 04:43:48
Quote from: round157 on August 06, 2020, 10:05:38
Hi.......an idea here.....

If w.setsize(640,480) is used, the small window will always be made at the top left corner. Maybe it will be nice for SmallBASIC users to decide locations of windows. For example, w.setlocation(0,0) is at the top left corner and w.setlocation((XMAX-640)/2, (YMAX-480)/2) is in the central part. This new command may be quite useful for all of us.

Thanks for the suggestion. Should be simple enough to add to the next version.

Also, I've updated the WINDOW help page.
Title: Re: 12.19
Post by: round157 on August 10, 2020, 09:28:05
Quote from: chrisws on August 09, 2020, 04:43:48
Quote from: round157 on August 06, 2020, 10:05:38
Hi.......an idea here.....

If w.setsize(640,480) is used, the small window will always be made at the top left corner. Maybe it will be nice for SmallBASIC users to decide locations of windows. For example, w.setlocation(0,0) is at the top left corner and w.setlocation((XMAX-640)/2, (YMAX-480)/2) is in the central part. This new command may be quite useful for all of us.

Thanks for the suggestion. Should be simple enough to add to the next version.

Also, I've updated the WINDOW help page.

Thank you.

One more little idea. Adding some information in the profile will be useful for some forum visitors . (View the picture.)



Title: Re: 12.19
Post by: round157 on September 03, 2020, 10:09:24
One more little idea:

If more sprite manipulation commands are in SmallBASIC, users will have more possibilities in creating interesting programs. For example, resize graphic file, rotate graphic file, etc. They are useful commands for many SmallBASIC users.
Title: Re: 12.19
Post by: round157 on October 17, 2020, 05:15:09
One more little idea:

I saw a long article about SmallBASIC:
{ https://www.softpedia.com/get/Programming/Other-Programming-Files/SmallBASIC.shtml }

This review. In fact, the reviewer gave 4/5 to SmallBASIC:


BASIC language interpreter that bundles a code editor with syntax highlighting, line numbering and other features that ease the work of programmers

SmallBASIC is a powerful interpreter for the BASIC, deploying all the tools, components and libraries needed to work with this programming language. Specifically designed to leave a small footprint on the host system, its engine can run with a minimum amount of resources.

Runtime and full package with included IDE

SmallBASIC comes in two separate editions: a runtime only installer and an all-in-one package that integrates libraries, functions and commands, alongside a built-in IDE. The runtime package only enables you to browse files and launch BASIC scripts, also deploying a set of samples you can work with.

The other version bundles a plethora of examples to show you how the interpreter works, as well as tests and an IDE you can load BAS files in to check the code.

Integrated editor to manage BAS files

The SmallBASIC IDE comes with an intuitive tab-based interface that enables you to work with more than one file at a time.

The editor delivers all the additional features any developer would expect from a code editor, namely line numbering, syntax highlighting, indentation and comment support, as well as font formatting capabilities. Additionally, it features navigation and search options and unlimited undo to help you easily correct mistakes.

A good tool for mathematicians and aspiring programmers

SmallBASIC can help you build scripts and perform everyday calculations, including all kinds of mathematical functions, from simple algebra operations to trigonometric ones. Therefore, it can also be used by mathematicians who want to use BASIC to parse expressions and solve problems.

SmallBASIC can execute BAS scripts without having to compile them beforehand. And since BASIC the language itself is designed for beginners, the interpreter is the tool to go if you are taking your first steps in programming.
---------------------------------------------------------------------------

However, their version is 0.12.14. The version is quite old. Perhaps sending an email to tell them that the version 12.19 was released is a good idea. (by SmallBASIC's author)