SyntaxBomb - Indie Coders

Languages & Coding => SmallBASIC => Topic started by: chrisws on March 16, 2020, 09:30:20

Title: 0.12.18 released
Post by: chrisws on March 16, 2020, 09:30:20
This is just a minor update mostly to fix the issue with keyboard handling in the SDL version.

See: https://github.com/smallbasic/SmallBASIC/releases/tag/0_12_18

Download here:

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

Btw, the .exe's included in the zip file are:

- sbasicg64.exe - uses SDL for fast graphics rendering, compiled as a 64 bit executable.
- sbasicg.exe - uses SDL for fast graphics rendering, compiled as a 32 bit executable.
- sbasici.exe - My original port of SmallBASIC that I abandoned several years ago but recently brought back to life using FLTK 1.4.
- sbasicw.exe - Web server version that renders to your browser.
- sbasic.exe - console command line.

Cheers,
Chris
Title: Re: 0.12.18 released
Post by: bplus on March 16, 2020, 20:39:01
Yea! I can edit again! Don't have have time to give it a better check at moment but so far so good for g64.exe
Title: Re: 0.12.18 released
Post by: round157 on March 22, 2020, 14:23:55
Quote from: chrisws on March 16, 2020, 09:30:20

- sbasici.exe - My original port of SmallBASIC that I abandoned several years ago but recently brought back to life using FLTK 1.4.

Report: sbasici.exe still has the bug. This one:
https://www.syntaxbomb.com/index.php/topic,6677.msg33610.html#msg33610
Title: Re: 0.12.18 released
Post by: lettersquash on March 23, 2020, 13:14:48
That's great Chris, thanks - numpad keys work as expected. I don't have to keep remembering to use the numbers above the main keys now. Thanks also for the clarification of the files. I'm sticking with the SDL g64 version for now for those fast graphics on my Windows 7.

Another oddity I noticed is that the arrow keys give ASCII 27, same as the Escape key. Is that how it should be?
Title: Re: 0.12.18 released
Post by: bplus on March 23, 2020, 16:51:27
Quote from: lettersquash on March 23, 2020, 13:14:48
That's great Chris, thanks - numpad keys work as expected. I don't have to keep remembering to use the numbers above the main keys now. Thanks also for the clarification of the files. I'm sticking with the SDL g64 version for now for those fast graphics on my Windows 7.

Another oddity I noticed is that the arrow keys give ASCII 27, same as the Escape key. Is that how it should be?

I haven't checked with current update but arrow keys give two character code usually the first, an escape is it? and second (or one on right), for sure, the arrow number code.


' Get key codes.bas SmallBASIC 0.12.9 (B+=MGA) 2017-12-18
WHILE 1 'find code for keypress
    k$ = INKEY
    IF LEN(k$) THEN
        SELECT CASE LEN(k$)
            CASE 1: PRINT "1 char keypress = "; ASC(k$)
                IF ASC(k$) = 27 THEN EXIT loop
            CASE 2: PRINT "2 char keypress = "; ASC(RIGHT$(k$, 1))
        END SELECT
    END IF
WEND

Title: Re: 0.12.18 released
Post by: lettersquash on March 23, 2020, 21:41:28
Oh wow, that's a revelation to me, I didn't realise keys gave two keys like that.
I added,
asc(left(k$,1)), and yes, it's the escape 27.

Also, the numpad gives some further keys. Numpad 8, for instance, gives:
2 char keypress = 27    9
1 char keypress = 56

So a second single after the two-byte code. Numpad 8 has the dual function of Up (ascii 9) and an 8 (ascii 56). With numlock off, just the number code is output. But there are some odd things, DEL and INS, etc. - I guess it'll depend on the keyboard layout.

Anyway, thanks, that script gives me the ability to use many more keys with inkey.

Chris, I don't know if you're reading this or it's the right place to ask, but a big request of mine would be if inkey could be speeded up. Its slow speed makes it unusable in any kind of real-time control situation like a game.
Title: Re: 0.12.18 released
Post by: round157 on March 23, 2020, 22:09:35
Hi,

Another report: forget adding this feature to the sbasici.exe.
https://www.syntaxbomb.com/index.php/topic,6677.msg33355.html#msg33355
Title: Re: 0.12.18 released
Post by: round157 on March 24, 2020, 18:27:07
Quote from: lettersquash on March 23, 2020, 21:41:28
but a big request of mine would be if inkey could be speeded up. Its slow speed makes it unusable in any kind of real-time control situation like a game.

Hi..I don't understand. I want to know more about this "inkey". How slow is the "inkey"? Any example? Thanks.



Title: Re: 0.12.18 released
Post by: bplus on March 24, 2020, 19:09:49
Quote from: round157 on March 24, 2020, 18:27:07
Quote from: lettersquash on March 23, 2020, 21:41:28
but a big request of mine would be if inkey could be speeded up. Its slow speed makes it unusable in any kind of real-time control situation like a game.

Hi..I don't understand. I want to know more about this "inkey". How slow is the "inkey"? Any example? Thanks.

It doesn't show as much here in this example so maybe Chris fixed something along the way but there is a difference with INKEY commented out or NOT, and make sure you have everything else off in Windows.

'Updated Plasmatic with Full Color Mixing.bas translated to SmallBASIC b+ 2020-01-24
' from QB64 "Color Mixing 4 Plasmatic" ' b+ 2020-01-23
' continued study of what makes Plasmatic tick,
' here the color palette is updated for full range of color mixing options,
' PLUS I think color band creation for palette has been a little demystified,
' PLUS more fully commented code.

' common shared unchanging variables and static arrays
const xxmax = 500 'need smaller screen for interpreted Basic
const yymax = 400
const xoff = (xmax - xxmax) \ 2
const yoff = (ymax - yymax) \ 2
dim c(360), p(6), f(6)

'start program
randomize timer

label restart 'select rgb1 and rgb2 based on mode of color mixing
IF mode = 0 THEN 'new plasma option ANY color for border and ANY color for middle
    r1 = RND * 255: g1 = RND * 255: b1 = RND * 255: r2 = RND * 255: g2 = RND * 255: b2 = RND * 255
ELSE ' traditional high contrast plasma black borders, white centers
    r1 = 0: g1 = 0: b1 = 0: r2 = 255: g2 = 255: b2 = 255 'regular Plasma
END IF

'create 6 x 60 bands of color palette based on coloring mode (rgb1 set and rgb2 set)
FOR i = 0 TO 360
    IF i MOD 60 = 0 THEN r = RND * 255: g = RND * 255: b = RND * 255 'start new color band
    m = i MOD 60 'color bands have width of 60, 4 stages
    if m < 15 then ' 1st stage increase rgb1 towards rgb color in 15 steps
       c(i) = midInk(r1, g1, b1, r, g, b, m / 15)
    elif m < 30 ' 2nd stage increase rgb color towards rgb2 set in 15 steps
       c(i) = midInk(r, g, b, r2, g2, b2, (m - 15) / 15)
    elif m < 45 ' 3rd stage decrease rgb2 color back to rgb color in 15 steps
       c(i) = midInk(r2, g2, b2, r, g, b, (m - 30) / 15)
    elif m < 60 ' 4th and finally decrease rgb back to starting rgb1 set in 15 steps
      c(i) = midInk(r, g, b, r1, g1, b1, (m - 45) / 15)
    END if
NEXT

' behind the scenes variables for motion, weighting and shaping color mixing
FOR n = 0 TO 5
    p(n).x = RND * xxmax: p(n).y = RND * yymax: p(n).dx = RND * 2 - 1: p(n).dy = RND * 2 - 1 'create points
    f(n) = .1 * RND ' create the inverse size and weight factor, large f = small globs but carry weight
NEXT

'screen labeling 3 lines for title above, 2 lines instruction below
cls
at xoff, yoff - 60
if mode = 0 then
  CP yoff - 60, "New Color Options for Plasma:"
else
  CP yoff - 60, "Traditional High Contrast Plasma: Black Borders and White Centers"
end if
CP yoff - 40, "Borders: RGB(" + str(r1 \ 1) + ", " + str(g1 \ 1) + ", " + str(b1 \ 1) + ")"
CP yoff - 20, "Centers: RGB(" + str(r2 \ 1) + ", " + str(g2 \ 1) + ", " + str(b2 \ 1) + ")"
CP yoff + yymax + 10, "Press t to toggle between Traditional and New Color Options Plasma"
CP yoff + yymax + 30, "Press spacebar to get a new color set."

'plasma in motion   
WHILE 1
    'get user input choices
   
    ' Here! Check out Plasmatic with and without INKEY
    k = INKEY   '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    IF k = " " THEN GOTO restart
    'if k = "q" or asc(k) = 27 then end
    'IF k = "t" THEN mode = 1 - mode: GOTO restart
   
    'move points
    FOR i = 0 TO 5
        p(i).x = p(i).x + p(i).dx
        IF p(i).x > xxmax OR p(i).x < 0 THEN p(i).dx = -p(i).dx
        p(i).y = p(i).y + p(i).dy
        IF p(i).y > yymax OR p(i).y < 0 THEN p(i).dy = -p(i).dy
    NEXT

    'calculate each screen x, y color based on distance to 6 points
    FOR y = 0 TO yymax - 1 STEP 3
        FOR x = 0 TO xxmax - 1 STEP 3
            d = 0
            FOR n = 0 TO 5
                dx = x - p(n).x: dy = y - p(n).y
                k = SQR(dx * dx + dy * dy)
                d = d + (SIN(k * f(n)) + 1) / 2
            NEXT n: d = d * 60
            rect x + xoff, y + yoff STEP 3, 3, c(d) filled
        NEXT
    NEXT
    'showpage 'guess this not needed might work better without
WEND

'report the color number between rgb1 and rgb2 at fraction fr from rgb1
func midInk(r1, g1, b1, r2, g2, b2, fr)
  midInk = rgb(r1+(r2-r1)*fr, g1+(g2-g1)*fr, b1+(b2-b1)*fr)
end

'Center Print at topYpixel down from top
sub CP(topYpixel, stringg)
  at (xmax - txtw(stringg))/2, topYpixel :print stringg
end sub


On my system with INKEY this graphics intense program runs a bit slower and more jerky. But I have to say this is not as bad as it once was. PS run on v sbasicg64.exe

Hey I wonder if that is what slows down the editor version from FKLT, inkey has to be on all the time. eh?

BTW using the editor may be really slow testing runs but much more pleasant for editing with tabbed files and Help access right there, but Aurel's should have that maybe more but no help access.
Title: Re: 0.12.18 released
Post by: lettersquash on March 24, 2020, 19:51:10
Quote from: round157 on March 24, 2020, 18:27:07
Quote from: lettersquash on March 23, 2020, 21:41:28
but a big request of mine would be if inkey could be speeded up. Its slow speed makes it unusable in any kind of real-time control situation like a game.

Hi..I don't understand. I want to know more about this "inkey". How slow is the "inkey"? Any example? Thanks.
Hi round157, here's a better example for being a bit simpler. It's also the basis of many games where you use A,Z and <> to control something. I could name at least one other language where you'd have to put delays in to stop it whizzing off the screen before you know where you are.
REM SmallBASIC
REM created: 24/03/2020
x=xmax\2:y=ymax\2
? "INKEY speed test. Use a,z and <> keys to move '@' - see how fast it is?"
? "To compare (random motion)  without the inkey statement, hit q."
? "There's still a select case, in the loop, but a random slice of 'az,.' instead of inkey."
? "Or make it a constant of your choice to see it just go in one direction."
repeat
  k=inkey
  at x,y,:? " "
  select case k
    case "a":y--
    case "z":y++
    case ",":x--
    case ".":x++
  end select
  at x,y:? "@"
  showpage
until k="q"

repeat
  at x,y:? " "
  k=mid("az,.",(rnd*4)+1,1)
'  k=","
  select case k
    case "a":y--
    case "z":y++
    case ",":x--
    case ".":x++
  end select
  at x,y:? "@"
  showpage
until 0
end


Testing for a mouse click is way faster - hardly slows things down at all, but that doesn't give much in the way of different control inputs in a loop. I'm doing all this on Windows 7, not Android, with a middling kind of processor and plenty of memory. How does it compare on yours?
Title: Re: 0.12.18 released
Post by: chrisws on March 24, 2020, 22:03:33
The best way to achieve "real time" keyboard support is using the DEFINEKEY function.

Here's an example:

https://github.com/smallbasic/smallbasic.github.io/blob/5601c8bc1d794c5b143d863555bb7c15a5966a3c/samples/node/1360.bas

Title: Re: 0.12.18 released
Post by: chrisws on March 24, 2020, 22:11:03
Quote from: round157 on March 23, 2020, 22:09:35
Hi,

Another report: forget adding this feature to the sbasici.exe.
https://www.syntaxbomb.com/index.php/topic,6677.msg33355.html#msg33355

I've created an issue for this: https://github.com/smallbasic/SmallBASIC/issues/93
Title: Re: 0.12.18 released
Post by: round157 on March 24, 2020, 22:24:00
Quote from: lettersquash on March 24, 2020, 19:51:10
here's a better example for being a bit simpler.

I have tried your example. The problem of "Inkey" is typematic delay: when I press a key but don't release, the "@" will move one step, then will stop a moment, then will move again. I see, "@" did not move continuously. It is a problem.
Title: Re: 0.12.18 released
Post by: round157 on March 24, 2020, 22:51:45
Quote from: chrisws on March 24, 2020, 22:11:03
Quote from: round157 on March 23, 2020, 22:09:35
Hi,

Another report: forget adding this feature to the sbasici.exe.
https://www.syntaxbomb.com/index.php/topic,6677.msg33355.html#msg33355

I've created an issue for this: https://github.com/smallbasic/SmallBASIC/issues/93

Thank you.
Title: Re: 0.12.18 released
Post by: round157 on March 24, 2020, 23:34:27
Quote from: bplus on March 24, 2020, 19:09:49

Hey I wonder if that is what slows down the editor version from FKLT, inkey has to be on all the time. eh?
BTW using the editor may be really slow testing runs but much more pleasant for editing with tabbed files and Help access right there, but Aurel's should have that maybe more but no help access.

Three editors:

sbasicg.exe -- It is an editor with dark texts(dark green, dark grey, etc.) and black background. Therefore, it is hard to view. If colours can be changed, this editor will be suitable for editing.

sbasici.exe -- "Slow motion" bug. Many graphic examples are adversely affected by the bug.

Aurel's editor -- It is a nice editor. I encourage users to give Aurel useful feedbacks for future versions.

(I tried your example. If the source code was run without the inkey statement(line 64), I could not feel speed increase in the the graphic motion.)
Title: Re: 0.12.18 released
Post by: lettersquash on March 24, 2020, 23:50:08
Quote from: round157 on March 24, 2020, 22:24:00
Quote from: lettersquash on March 24, 2020, 19:51:10
here's a better example for being a bit simpler.

I have tried your example. The problem of "Inkey" is typematic delay: when I press a key but don't release, the "@" will move one step, then will stop a moment, then will move again. I see, "@" did not move continuously. It is a problem.
Hmm, yes, thanks, maybe that's all it is. It is of course dependent on the typematic delay, but it will also depend on the speed the interpreter processes the command. Maybe it's as fast as it should be, whatever that means, I was just surprised that I can't write code with flow control via some keys in the way I expected. However, I checked out the same kind of test in BBC BASIC for Windows, and that wasn't any better.

The repeat rate in my keyboard settings is on maximum (it isn't continuous, of course, but repeated). I also realise the speed isn't going to be like it is in a text box, and I'm printing at the graphics cursor - changing to a suitable locate y,x command speeds up both loops to the eye and the physical distance moved across the screen - but proportionally; the keyboard polling takes a good lump of time (technical term ;) ). Oh well, another lesson. I have a feeling my old Acorn Electron from 1983 used to respond to key presses much faster - maybe because it only had a very limited set of tasks.
Title: Re: 0.12.18 released
Post by: lettersquash on March 25, 2020, 00:01:37
Quote from: round157 on March 24, 2020, 23:34:27
sbasicg.exe -- It is an editor with dark texts(dark green, dark grey, etc.) and black background. Therefore, it is hard to view. If colours can be changed, this editor will be suitable for editing.

Did you see this? Scroll down to "How to help design a better looking editor color theme" https://smallbasic.github.io/pages/sdl.html

I've not tried it yet, and it describes a manual method rewriting the settings file, but I intend to have a go soon....or just trying one of the others with alt-t might suit you.
Title: Re: 0.12.18 released
Post by: round157 on March 25, 2020, 12:25:12
Quote from: lettersquash on March 25, 2020, 00:01:37
Did you see this? Scroll down to "How to help design a better looking editor color theme" https://smallbasic.github.io/pages/sdl.html

Thank you!!! I have edited the text file and the file name is settings.txt. I uploaded to this forum. You can download in this post and the colour combination may be liked by you.
Title: Re: 0.12.18 released
Post by: round157 on March 25, 2020, 13:35:16
Quote from: chrisws on March 16, 2020, 09:30:20

Cheers,

A proposal: a theme for sbasicg.exe was made by me. If you think that this theme is okay, you can set this theme as one of the default themes for the next version of SmallBASIC. Here:
https://www.syntaxbomb.com/index.php/topic,7521.msg347040931.html#msg347040931

Title: Re: 0.12.18 released
Post by: round157 on March 25, 2020, 22:49:39
Quote from: lettersquash on March 24, 2020, 23:50:08

Hmm, yes, thanks, maybe that's all it is. It is of course dependent on the typematic delay, but it will also depend on the speed the interpreter processes the command. Maybe it's as fast as it should be, whatever that means, I was just surprised that I can't write code with flow control via some keys in the way I expected. However, I checked out the same kind of test in BBC BASIC for Windows, and that wasn't any better.


First, I am only a learner of programming. Second, I am not too familiar with SmallBASIC. I hope that chrisws will solve the keyboard control problem in the next version of SmallBASIC.

Nevertheless, I know that BBC BASIC for Windows is suitable for game development. I think that there is no keyboard control problem with BBC BASIC for Windows.:)

Many games made with BBC BASIC for Windows can be downloaded from this website. Ha...no keyboard control problem.
http://www.proggies.uk
Title: Re: 0.12.18 released
Post by: round157 on March 26, 2020, 00:24:08
Quote from: chrisws on March 16, 2020, 09:30:20

Cheers,

Hi...

Another proposal: add this feature to the next version of sbasicg.exe: make EXE file -- pack sbasicg.exe and one source code file into one single executable file.

Two purposes:
1. SmallBASIC users can distribute their finished programs to end-users easily.
2. Source code will not be viewed easily by end-users. Thus source code will be protected.
Title: Re: 0.12.18 released
Post by: bplus on March 26, 2020, 14:41:31
Quote from: round157 on March 26, 2020, 00:24:08
Quote from: chrisws on March 16, 2020, 09:30:20

Cheers,

Hi...

Another proposal: add this feature to the next version of sbasicg.exe: make EXE file -- pack sbasicg.exe and one source code file into one single executable file.

Two purposes:
1. SmallBASIC users can distribute their finished programs to end-users easily.
2. Source code will not be viewed easily by end-users. Thus source code will be protected.

It's a lot of work building a compiler for an interpreter!

If you want EXE's I suggest trying QB64, 0 interpreter. Funny some of the guys at that forum are asking for Interpreter too, like the old QB45 when a highly paid professional team of software engineers put together a package that could do both!

And it is a hell of allot easier to distribute SmallBASIC programs, it is not much more than a txt file, you can email them! What's so hard getting SmallBASIC to run them?

Accept it for what it is, a damn fine Basic Interpreter.
Title: Re: 0.12.18 released
Post by: round157 on March 27, 2020, 04:07:59
Quote from: bplus on March 26, 2020, 14:41:31
Quote from: round157 on March 26, 2020, 00:24:08
Quote from: chrisws on March 16, 2020, 09:30:20

Cheers,

Hi...

Another proposal: add this feature to the next version of sbasicg.exe: make EXE file -- pack sbasicg.exe and one source code file into one single executable file.

Two purposes:
1. SmallBASIC users can distribute their finished programs to end-users easily.
2. Source code will not be viewed easily by end-users. Thus source code will be protected.

It's a lot of work building a compiler for an interpreter!


Hi... I didn't mean "compile". Not "compile". I said "pack". I meant "embed" or "attach". I try to explain with my insufficient knowledge:

The interpreter(sbasicg.exe) and the source code are embedded in one EXE file, but there is no compilation in the process. "Combine" may be a suitable adjective. The source code is hidden because it is inside the EXE file. Moreover, if obfuscation or encryption can be done for the source code before "comblne", the source code will be safely protected(not only hidden).

A near comparison is Python(not exactly the same). Python source code files are .py files. Some small softwares can convert .py files to EXE files, so finished program distribution will be easier.
Title: Re: 0.12.18 released
Post by: bplus on March 27, 2020, 14:20:40
QuoteHi... I didn't mean "compile". Not "compile". I said "pack". I meant "embed" or "attach". I try to explain with my insufficient knowledge:

Oh yeah! the SDLBasic method, OK now I understand. Crypt the bas source, and attach to the end of a special version of SB that tells itself to find the encrypted part of itself at the end of normal SB.exe, decrypt and run that decryption, piece of cake!  ;-)
Title: Re: 0.12.18 released
Post by: round157 on March 28, 2020, 00:46:55
Quote from: bplus on March 27, 2020, 14:20:40
QuoteHi... I didn't mean "compile". Not "compile". I said "pack". I meant "embed" or "attach". I try to explain with my insufficient knowledge:

Oh yeah! the SDLBasic method, OK now I understand. Crypt the bas source, and attach to the end of a special version of SB that tells itself to find the encrypted part of itself at the end of normal SB.exe, decrypt and run that decryption, piece of cake!  ;-)

Thanks for your kind support! Chris may not have this kind of programming knowledge or skill. I expect that Chris searches other programming webpages for this kind of programming skill and learns how to apply this kind of skill in version 0.12.19.

"Generate EXE file" feature will be very helpful to SmallBASIC users.

Title: Re: 0.12.18 released
Post by: round157 on March 28, 2020, 07:34:01
Quote from: chrisws on March 16, 2020, 09:30:20

Cheers,


One more proposal for version 0.12.19: it is about sbasicg.exe. On the "source code page", after I changed the colours of the texts, it is easy to view the texts on this page. However, the colours of the three kinds of texts on the "directory page" cannot be changed. It is still difficult to view the three colours of the texts on this page. My proposal is that SmallBASIC users can set the colours of the three kinds of texts of the "directory page" by editing the settings.txt file.
Title: Re: 0.12.18 released
Post by: round157 on March 28, 2020, 07:37:04
Quote from: chrisws on March 16, 2020, 09:30:20

Cheers,

Another proposal: typematic delay makes game control development impossible.
??? :(
https://www.syntaxbomb.com/index.php/topic,7552.0.html
Title: Re: 0.12.18 released
Post by: round157 on March 31, 2020, 23:59:15
One more proposal: source code files of SmallBASIC are .bas files. Source code files of many other BASIC dialects are .bas files as well. Some SmallBASIC users will be in confusion. I have an idea. Using .sb as the file extension in future versions of SmallBASIC can avoid confusion.
Title: Re: 0.12.18 released
Post by: k1 on April 01, 2020, 19:31:25
@author

Is there something like "continue" (skip a for-loop iteration)? Referece/language does not yield any such.
Title: Re: 0.12.18 released
Post by: lettersquash on April 01, 2020, 19:51:40
Quote from: k1 on April 01, 2020, 19:31:25
@author

Is there something like "continue" (skip a for-loop iteration)? Referece/language does not yield any such.
I noticed that. I can't find anything, and it would be useful, but you can use the goto method.
repeat
  blah
  if blah then goto misstherest
  blah blah blah
  blah, this is actually how I program, blah
  label misstherest
until damned

Unfortunately, I also find the internal NEXT doesn't work:

for x=1 to 5
blah
if x=2 then next
...
other numbers are fine blah
...
next

That gives an error about missing a NEXT on the same level as the FOR.
Title: Re: 0.12.18 released
Post by: round157 on April 09, 2020, 10:10:45
Still have a little proposal:

It is about sbasicg.exe. Assume source code has setsize() command, for example:

w = window()
w.setsize(640, 480)

Run the source code. Right-click. Select 'Back' in the menu. The source code page comes back. However, the source code page is still in 640x480. The source code page is not in the original size(maximum size). sbasicg.exe forgets changing the source code page's size back to the original size(maximum size).

Thanks.




Title: Re: 0.12.18 released
Post by: lettersquash on April 09, 2020, 11:52:15
Quote from: round157 on April 09, 2020, 10:10:45
Still have a little proposal:

It is about sbasicg.exe. Assume source code has setsize() command, for example:

w = window()
w.setsize(640, 480)

Run the source code. Right-click. Select 'Back' in the menu. The source code page comes back. However, the source code page is still in 640x480. The source code page is not in the original size(maximum size). sbasicg.exe forgets changing the source code page's size back to the original size(maximum size).

Thanks.

Nice idea, and thanks for mentioning the window command - I hadn't experimented with that and I just found the example, which gives me lots of new things to use, like messages, alerts, question dialogs! The window example on the website needs a little debugging, as it interprets the square brackets in things like
w.message("[2] click to continue. ")
wrongly and gives an error about arrays or something - I just made it
w.message("2 click to continue. ")
instead.

I'm not sure resetting the window is going to be high on the todo list, but in the meantime, you could do something like this:
ox=xmax:oy=ymax
w = window()
w.setsize(640, 480)
?
? "Click/key to close"
pause
w.setsize(ox,oy)
end

It doesn't automatically reset the size (for instance, in an error situation) and you still have to end the program after resetting the size to the original.

Here's the window example (debugged, Win7), by the way.
REM SmallBASIC
REM created: 09/04/2020
' create the window object, this provides access to a number of sub-commands
w = window()
' select graphics mode screen 1 for output
w.graphicsScreen1()
for i = 0 to 10
  print "this is printed on screen 1"
next i
w.message("1 click to continue. ")
pause
' select graphics mode screen 1 for output
w.graphicsScreen2()
color 1,3
cls
print "this is printed on screen 2"
w.message("2 click to continue. ")
pause
w.graphicsScreen1()
print "back to screen 1"
w.message("3 click to continue. ")
pause
' select the text mode for output
' text mode can display more text but is slow
' also this is currently broken and will cause a crash
'w.textScreen()
w.alert("This is an alert", "title")
w.ask("Yes or no?", "Question")
print "your answer was "; w.answer
w.message("4 click to continue. ")
pause
w.menu("option1", "option2", "option3")
' weirdly the result is sent to the keyboard handler
' it should at least go to w.answer. also there is no option for placement
select case asc(inkey)
case 0
  print "one"
case 1
  print "two"
case 2
  print "three"
case else
  print "unk"
end select
w.message("5 click to continue. ")
pause
' this raises the virtual keypad on android
w.showKeypad()
' set the font size
' arg1 = size
' arg2 = unit amount for size, "px" or "em"
'   px=  pixels
'   em= emphasis - this is a multiplication factor for the current size
' arg3= bold 1=on 0=off
' arg4= italic 1=on, 0=off
' this sets the font to be double in size with bold and italic
' using pixels is likely to give an unexpected result in android
w.setFont(2, "em", 1,1)
cls
? "How does this look?"
w.insetTextScreen(5,10,90,90)
for i = 0 to 200
  ? "This is in the text screen"
next i
' comment out the above cls to see the bug
w.message("spot the bug (see comments)?")
w.setFont(11, "px", 0,0)
? "press a key to end..."
pause
Title: Re: 0.12.18 released
Post by: round157 on April 10, 2020, 00:32:56
Quote from: lettersquash on April 09, 2020, 11:52:15
The window example on the website needs a little debugging, as it interprets the square brackets in things like
w.message("[2] click to continue. ")
wrongly and gives an error about arrays or something

I ran this example several days ago but I faced the above problem. Now I understand why this problem happened. Very nice!

QuoteI'm not sure resetting the window is going to be high on the todo list,

Thus conversation is so important. :D I hope that the Author will spend more time on discussing with us(the community of SmallBASIC) about the direction of the development of SmallBASIC.

Quotebut in the meantime, you could do something like this:

Ha....thank you very much! ^-^

Quote
Here's the window example (debugged, Win7), by the way.

I tried this new example and no problem occurred. Thanks again!!
Title: Re: 0.12.18 released
Post by: chrisws on April 10, 2020, 10:46:32
Quote
Thus conversation is so important. :D I hope that the Author will spend more time on discussing with us(the community of SmallBASIC) about the direction of the development of SmallBASIC.

Hi,

At this stage I'm just making minor incremental changes, mostly from suggestions such as this one!

I'm using the github issue register to keep track of things:

https://github.com/smallbasic/SmallBASIC/issues

Cheers,
Chris
Title: Re: 0.12.18 released
Post by: lettersquash on April 10, 2020, 12:45:21
Chris, as I've probably said before, I can't thank you enough for maintaining and developing smallBASIC. I don't know about anyone else, but I often feel quite passionate about a programming language once I discover that it suits me. And then I worry it might not be maintained, as happened with a couple of my favourite languages in the past. I've sometimes been anxious to share suggestions and bug reports, here and elsewhere, because I hate to over-burden authors, and it can sometimes look like complaining. If I started to deliberately put a wish-list together, it might get quite long, but they're almost all that, just wishes, more icing on an already very tasty - and free - cake. So it's great to be reminded you're working on it and taking notes of suggestions. It might be good to put a pinned topic on the board with the link to the issues list. It's a pity it's not a dedicated forum. Can you add sections? It could really help to have a section for suggestions, bug reports, general chit chat, etc., rather than all of the threads being in one list.






     :P :P :P
f r e e      c a k e   !
Title: Re: 0.12.18 released
Post by: chrisws on April 11, 2020, 02:38:42
Adding a pinned topic is an excellent idea, but I don't seem to have permissions. I guess I could work something out with the forum maintainers, but it would be more awesome for people to create an account with git-hub.

Then you could register your suggestions and bug reports and they'd never be lost or forgotten:

https://github.com/smallbasic/SmallBASIC/issues

My ulterior motive is for people to help improve the documentation. Here's how:

1. Navigate to the documentation page:

https://github.com/smallbasic/smallbasic.github.io

2.  Click clone to create your own copy.

3. In your clone, navigate to any of the poorly documented SUBs/FUNCs

For example:

https://github.com/smallbasic/smallbasic.github.io/blob/master/_build/reference/569-data-data.markdown

4. Click the edit link to make some improvements.

Since this is BASIC, in a lot of cases there's already some other place that could be used for "inspiration" for example;

https://www.c64-wiki.com/wiki/DATA

5. Commit and raise a pull request.

Click "Create a new branch" for this commit and start a pull request.
Click "Learn more about pull requests."
Click "commit"

You don't need any special software to do any of this, just a web browser :)

Title: Re: 0.12.18 released
Post by: round157 on April 11, 2020, 09:20:42
Quote from: lettersquash on April 10, 2020, 12:45:21
And then I worry it might not be maintained, as happened with a couple of my favourite languages in the past. I've sometimes been anxious to share suggestions and bug reports, here and elsewhere, because I hate to over-burden authors, and it can sometimes look like complaining. If I started to deliberately put a wish-list together, it might get quite long, but they're almost all that, just wishes

Discussing new ideas, proposals or suggestions is good. If there are ideas, proposals and suggestions from a lot of users of a software, the author of that software should be very glad. This is because that software is really popular. That author should be very satisfied with the software's popularity. Moreover, that author will have motive and be willing to continue to improve that software. Of course that author will not 100% accept new ideas, proposals and suggestions from those users.

If I am an author of a free programming language software, I want to see many active users. Not only several active users.

QuoteIt might be good to put a pinned topic on the board with the link to the issues list. Can you add sections? It could really help to have a section for suggestions, bug reports, general chit chat, etc., rather than all of the threads being in one list.

Pinned topic! I agree with you! Child boards!  I also agree. Now we are in great confusion since all kinds of threads are in one section. Quite strange.

There are three child boards in BlitzMax / BlitzMax NG sub-forum. SmallBASIC sub-forum also needs appropriate child boards. Look!
https://www.syntaxbomb.com/index.php/board,19.0.html

I am not familiar with SmallBASIC. Chrisws is also busy for making the next version of SmallBASIC better. You are familiar with SmallBASIC. You are very enthusiastic, too. Would you mind being the moderator of the SmallBASIC sub-forum? If you don't mind being the moderator, then we need to suggest in this thread:
https://www.syntaxbomb.com/index.php/topic,43.210.html


Quote
It's a pity it's not a dedicated forum.

Ha.....then I will not come frequently. Many official forums of BASIC languages are dead forums or inactive forums. Basic4GL, NaaLaa, etc. Visiting them once per several months is enough. :D

I frequently come to SyntaxBomb forum because it is active and I can get information or news of different BASIC dialects.
Title: Re: 0.12.18 released
Post by: round157 on April 11, 2020, 09:25:48
Quote from: chrisws on April 10, 2020, 10:46:32
At this stage I'm just making minor incremental changes, mostly from suggestions such as this one!

Do you mean that the development of SmallBASIC nearly stopped? Oh....

Many programming languages died because of no more development. It is a nice example:
https://monkeycoders.boards.net

Anyway, SmallBASIC is a nice software.
:)





Title: Re: 0.12.18 released
Post by: Steve Elliott on April 11, 2020, 09:37:03
Quote
At this stage I'm just making minor incremental changes, mostly from suggestions such as this one!

Do you mean that the development of SmallBASIC nearly stopped? Oh....

No I think he means at this moment small changes are being made, he says nothing about stopping development at all.
Title: Re: 0.12.18 released
Post by: lettersquash on April 11, 2020, 12:31:08
Quote from: chrisws on April 11, 2020, 02:38:42
Adding a pinned topic is an excellent idea, but I don't seem to have permissions. I guess I could work something out with the forum maintainers, but it would be more awesome for people to create an account with git-hub.

Then you could register your suggestions and bug reports and they'd never be lost or forgotten:

https://github.com/smallbasic/SmallBASIC/issues
It's useful to know that's your preference, and I guess we'll all have our own. For me, github has always looked pretty daunting, and involves learning a new set of procedures to edit or submit things like bug reports, as well as involving setting up another account. Also, as I've just demonstrated a couple of times, a forum allows discussion and resolution of an issue that might look like a bug but is just a noob mistake, so nobody has to put it on github and you don't have to take it off again (meanwhile, probably not having time to explain why it wasn't a bug, so losing the learning potential for the noob)!

Quote
My ulterior motive is for people to help improve the documentation. Here's how:

1. Navigate to the documentation page:

https://github.com/smallbasic/smallbasic.github.io

2.  Click clone to create your own copy.

3. In your clone, navigate to any of the poorly documented SUBs/FUNCs

For example:

https://github.com/smallbasic/smallbasic.github.io/blob/master/_build/reference/569-data-data.markdown

4. Click the edit link to make some improvements.
Yeah, that all sounds a bit much, to be honest. Besides, I personally think the help files could be improved most not by improving each page of documentation (although they have value), but by rewriting it as either a set of html files with an index where every keyword is itemised in alphabetical order, linked to a details page, or - perhaps even better - a single html page with all the detail as well. I know the latter sounds mad, but it's surprisingly useful, because you can just have the page open in your browser and use Ctrl-F or whatever to find the info. It could maybe have tables and other layout types and would have hyperlinked index at the top. I would be happy to put something together like that. I just started experimenting with doing it using sB to write the text, hence the TSAVE experiment. Hopefully I'm better at writing html than text documents, lol.

For mostly-Windows users like me it's tempting to think the standard searchable help file is a good choice, but I guess this isn't so for something cross-platform. The RFO BASIC! help file is an alphabetical .pdf with a hot-linked index, which is also useful and also has the whole language documented in one single document, accessible on most platforms either by app or in a browser. What is most useful in a help document is searchability, and you can't easily do that with the sB help - it might be possible with a site-specific search-engine query, but really that's a big ask.

It may also seem a backward step to put every keyword together in alphabetical order, but one of the things that slowed down my introduction to sB was the sections, since it's not immediately obvious which section a keyword might be under. This is especially true when you don't know what you're looking for, but is actually just a logical problem with any tree or discrete section structure. It leads to repetitions, like PEN, which is listed under Console with barely any information, and under Graphics with the full list of parameters. What's ARC, or PTDISTLN, maths or graphics - so it goes on, slowing you down looking stuff up every time you write a new line of code as a newbie. Where should PRINT be, since it can be to the console or a file? It could be useful in an alphabetical list to indicate those categories with each keyword, but they're more like tags than sections.

Quote
Since this is BASIC, in a lot of cases there's already some other place that could be used for "inspiration" for example;

https://www.c64-wiki.com/wiki/DATA
Yes, but only for inspiration. Since every BASIC dialect/interpreter works differently, it is also confusing. I tried the first example on that very page and had to re-write it for sB, which doesn't use % in variable names and has different escaping of quotes. So this method is limited to fairly experienced programmers who know the differences, or you risk introducing errors into the sB help.

...
Quote

5. Commit and raise a pull request.

Click "Create a new branch" for this commit and start a pull request.
Click "Learn more about pull requests."
Click "commit"

You don't need any special software to do any of this, just a web browser :)
I think it's unrealistic to imagine ordinary users are going to bother to do any of that. When you're used to it, it probably doesn't seem a big deal. But as round157 said, it's good to discuss these sorts of things and I'm glad to hear where you're coming from.
Title: Re: 0.12.18 released
Post by: lettersquash on April 11, 2020, 14:01:52
Quote from: round157 on April 11, 2020, 09:20:42
I am not familiar with SmallBASIC. Chrisws is also busy for making the next version of SmallBASIC better. You are familiar with SmallBASIC. You are very enthusiastic, too. Would you mind being the moderator of the SmallBASIC sub-forum? If you don't mind being the moderator, then we need to suggest in this thread:
https://www.syntaxbomb.com/index.php/topic,43.210.html
Erm...I dunno, I guess it depends what it involved and if Chris or whoever- the forum owners - asked me, but I'm only slightly familiar with sB really. I ask lots of newbie questions myself. I've got long experience with BASIC, although mostly with an ancient version. Moderating would normally be day-to-day administration, like - if we had sub-boards - moving things to an appropriate place, 'policing' the guidelines, etc., so maybe you're as qualified as me for the role. :P

With numbers as they are, I don't suppose it would be a big job, but yeah, it looks like something Chris doesn't want to be doing too much of. From what he said earlier, it might also be useful if the moderator was actually fairly proficient with sB and with github - then they could add suggestions and bug reports posted here to the issues list there. Maybe if a moderator is an idea that catches on, the right person will volunteer.

Quote
Quote
It's a pity it's not a dedicated forum.

Ha.....then I will not come frequently. Many official forums of BASIC languages are dead forums or inactive forums. Basic4GL, NaaLaa, etc. Visiting them once per several months is enough. :D

I frequently come to SyntaxBomb forum because it is active and I can get information or news of different BASIC dialects.
I see. I'm less interested in the other languages on here. I've checked one or two out online, but I'm a bit fussy and there's usually something that puts me off. So far I only come here for the sB.
Title: Re: 0.12.18 released
Post by: lettersquash on April 11, 2020, 21:54:17
Suggestion: reverse logic of window.ask

I hope it's okay to keep putting suggestions here.

The w.answer returned from w.ask is 0 for Yes and 1 for No. Also, maybe because of this, <Escape> triggers Yes and <Enter> triggers No. This would be better the other way, surely? (Windows - not tested how this works on Android.)

ETA: if reversing the logic risks breaking too many older scripts, would it be possible to add new option to redefine both button texts - then the user can choose which way to have them as well as using Cancel, OK, or whatever else they want to put on them?

Also tried this on my Android phone - same except I got a 2, I think when I used the Back button. Using the Home button when the dialog was up caused smallBASIC to hang - I guess perhaps the dialog got behind the console screen or something, so the phone went black. After some time the system reported that sB wasn't responding.
Title: Re: 0.12.18 released
Post by: lettersquash on April 12, 2020, 14:34:12
I also think absmin and absmax are the wrong way round:
a=[3,2,1,-42]
? absmin(a),absmax(a)
end


->  42  1
Title: Re: 0.12.18 released
Post by: chrisws on April 12, 2020, 23:01:10
Quote
It may also seem a backward step to put every keyword together in alphabetical order, but one of the things that slowed down my introduction to sB was the sections, since it's not immediately obvious which section a keyword might be under. This is especially true when you don't know what you're looking for, but is actually just a logical problem with any tree or discrete section structure. It leads to repetitions, like PEN, which is listed under Console with barely any information, and under Graphics with the full list of parameters. What's ARC, or PTDISTLN, maths or graphics - so it goes on, slowing you down looking stuff up every time you write a new line of code as a newbie. Where should PRINT be, since it can be to the console or a file? It could be useful in an alphabetical list to indicate those categories with each keyword, but they're more like tags than sections.

Do you have any specific suggestion of how you'd like this to appear? I can add it to this page:

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

There used to be a list of keywords on the old drupal based site.
Title: Re: 0.12.18 released
Post by: chrisws on April 12, 2020, 23:01:54
Quote from: lettersquash on April 12, 2020, 14:34:12
I also think absmin and absmax are the wrong way round:
a=[3,2,1,-42]
? absmin(a),absmax(a)
end


->  42  1

Good catch, I will fix.

Title: Re: 0.12.18 released
Post by: lettersquash on April 13, 2020, 00:45:53
Quote from: chrisws on April 12, 2020, 23:01:10
Quote
It may also seem a backward step to put every keyword together in alphabetical order, but one of the things that slowed down my introduction to sB was the sections, since it's not immediately obvious which section a keyword might be under. This is especially true when you don't know what you're looking for, but is actually just a logical problem with any tree or discrete section structure. It leads to repetitions, like PEN, which is listed under Console with barely any information, and under Graphics with the full list of parameters. What's ARC, or PTDISTLN, maths or graphics - so it goes on, slowing you down looking stuff up every time you write a new line of code as a newbie. Where should PRINT be, since it can be to the console or a file? It could be useful in an alphabetical list to indicate those categories with each keyword, but they're more like tags than sections.

Do you have any specific suggestion of how you'd like this to appear? I can add it to this page:

https://smallbasic.github.io/pages/reference.html
What tends to work for me is an alphabetical list of keywords on one page, and I guess it would be good if they were on that main reference page, with a link direct to the details page for each keyword. Ideally, each keyword in the alphabetical list would also have a brief explanation next to it. But I'm aware you've got a more important task with the actual language, so if it's just me requesting this, don't make it a priority.

I have made a start on something myself. I don't know if I'll stick at it, but I hope so. I might get inspired. It's helping me learn more of the language as I do it. I've also remembered that there's a lot more to a language than the keywords, so I'll have to work out what to put in and how it might look and operate. It could be useful to have certain special characters like <<, &, @, etc. in the list itself, or headings like Special Characters that link to another page.

I wondered about making it an actual smallBASIC program, but I'm not sure how that would work. Probably better would be to output the data to an html file, adding the tags for the formatting programmatically.

So far, I've gathered the keywords from all the reference categories, sorted them and put them in column 0 of an array, with other columns for reference syntax, tags (largely reproducing the sections of the current help), description, examples, further notes, and related keywords. Most of that is populated by zeros - I've filled in the other bits as far as absmin(). Incidentally, I'm toying with writing them all in lowercase, and putting parentheses at the end when they take them.

It could be tabulated in a single html page, which might give that overview and searchability I wanted, but each item could also link to more detailed discussion or longer examples of code where available. Currently I'm working on displaying the data in the program itself, and routines to deal with structural changes like adding 'columns'. Since it's all in a text file that loads into the array, I can add information to the file in Notepad or whatever and save it, and I can copy a lot of it off the web, but it'll take a bit of time.
Title: Re: 0.12.18 released
Post by: chrisws on April 13, 2020, 02:59:02
Quote from: lettersquash on April 13, 2020, 00:45:53
Quote from: chrisws on April 12, 2020, 23:01:10
Quote
It may also seem a backward step to put every keyword together in alphabetical order, but one of the things that slowed down my introduction to sB was the sections, since it's not immediately obvious which section a keyword might be under. This is especially true when you don't know what you're looking for, but is actually just a logical problem with any tree or discrete section structure. It leads to repetitions, like PEN, which is listed under Console with barely any information, and under Graphics with the full list of parameters. What's ARC, or PTDISTLN, maths or graphics - so it goes on, slowing you down looking stuff up every time you write a new line of code as a newbie. Where should PRINT be, since it can be to the console or a file? It could be useful in an alphabetical list to indicate those categories with each keyword, but they're more like tags than sections.

Do you have any specific suggestion of how you'd like this to appear? I can add it to this page:

https://smallbasic.github.io/pages/reference.html
What tends to work for me is an alphabetical list of keywords on one page, and I guess it would be good if they were on that main reference page, with a link direct to the details page for each keyword. Ideally, each keyword in the alphabetical list would also have a brief explanation next to it. But I'm aware you've got a more important task with the actual language, so if it's just me requesting this, don't make it a priority.

I have made a start on something myself. I don't know if I'll stick at it, but I hope so. I might get inspired. It's helping me learn more of the language as I do it. I've also remembered that there's a lot more to a language than the keywords, so I'll have to work out what to put in and how it might look and operate. It could be useful to have certain special characters like <<, &, @, etc. in the list itself, or headings like Special Characters that link to another page.

I wondered about making it an actual smallBASIC program, but I'm not sure how that would work. Probably better would be to output the data to an html file, adding the tags for the formatting programmatically.

So far, I've gathered the keywords from all the reference categories, sorted them and put them in column 0 of an array, with other columns for reference syntax, tags (largely reproducing the sections of the current help), description, examples, further notes, and related keywords. Most of that is populated by zeros - I've filled in the other bits as far as absmin(). Incidentally, I'm toying with writing them all in lowercase, and putting parentheses at the end when they take them.

It could be tabulated in a single html page, which might give that overview and searchability I wanted, but each item could also link to more detailed discussion or longer examples of code where available. Currently I'm working on displaying the data in the program itself, and routines to deal with structural changes like adding 'columns'. Since it's all in a text file that loads into the array, I can add information to the file in Notepad or whatever and save it, and I can copy a lot of it off the web, but it'll take a bit of time.

Thanks for the clarification. Parts of the web site are generated using SmallBASIC. Have a look here:

https://github.com/smallbasic/smallbasic.github.io/tree/master/_build

I put this all together fairly quickly, but hopefully it's not too indecipherable  :-[

It should be fairly trivial to make the change.

Title: Re: 0.12.18 released
Post by: lettersquash on April 13, 2020, 11:07:35
QuoteThanks for the clarification. Parts of the web site are generated using SmallBASIC. Have a look here:

https://github.com/smallbasic/smallbasic.github.io/tree/master/_build

I put this all together fairly quickly, but hopefully it's not too indecipherable  :-[

It should be fairly trivial to make the change.

I see you've changed it already! It looks like you've got such a good handle on the data that it is "fairly trivial" to rearrange it, so I'll say a bit more, and you can decide for yourself. What you've put up now solves one issue I found as I started with smallBASIC, having to navigate through sections like "Console" and think where something might be before I go look for it, then backtrack to see if the thing I'm looking for is under "System" or somewhere else. I see those are still there when you click "More..." and linked elsewhere, so hopefully I haven't messed things up for people who liked it the way it was.  :(

However, personally, I wouldn't put all the keywords in a list with spaces and bullet points, as they're hard to read that way, but down the left hand side with linebreaks (leaving space for short descriptions next to them or under them, ideally, so you might not even have to nagivate - you might just scan for "COSH", for example, to confirm it's there, or for "MSGBOX" to realise it's not there and think, oh yeah, didn't I see something under WINDOW?...). It's easy enough to find something in an alphabetical list by scrolling in a browser page, and easier, IMHO, than reading them in a block.

This has made me rethink my project to write a new, "comprehensive" help file - I don't know what I was thinking, to be honest (blame it on lockdown). I'm far too ignorant of the language, html, github, Android and Linux (and Windows! :)) ), not to mention being easily distracted onto something else! Maybe I can help more with the occasional bug-catch or suggestion for an improvement to the existing details pages, which are lacking on some, very detailed on others.

I must say, having the context-sensitive help on F1 and F2 is absolutely amazing and I use those all the time. It's likely the sections - graphics, console, etc. - will suit many other people, and maybe I find them more useful than I realise now I'm more familiar. And of course it could be cumbersome in the F1 help in the editor to list all the keywords in one go especially as you have to scroll with the arrow keys.

ETA: If you do entertain the idea of a long vertical list as per my suggestion, it might be best not by default on the reference page, but with the sections list as it was and a link, "All keywords...", or "Full alphabetical reference list" (if more than just keywords is included).

Much appreciated,
¬~
Title: Re: 0.12.18 released
Post by: lettersquash on April 14, 2020, 12:10:20
My god, sorry, I seem to have taken over the whole sB forum! Just to say, on looking again, that new reference page is actually fine as it is, so I hope you don't go to further trouble. My helper script has taken an interesting turn, not now looking at writing html, and more towards an app to run alongside the IDE, so for now I'll keep working on it. Will post a new thread if it's worth sharing.
Title: Re: 0.12.18 released
Post by: round157 on April 15, 2020, 16:15:45
Quote from: lettersquash on April 11, 2020, 14:01:52
Erm...I dunno, I guess it depends what it involved and if Chris or whoever- the forum owners - asked me, but I'm only slightly familiar with sB really. I ask lots of newbie questions myself. I've got long experience with BASIC, although mostly with an ancient version. Moderating would normally be day-to-day administration, like - if we had sub-boards - moving things to an appropriate place, 'policing' the guidelines, etc., so maybe you're as qualified as me for the role. :P

With numbers as they are, I don't suppose it would be a big job, but yeah, it looks like something Chris doesn't want to be doing too much of. From what he said earlier, it might also be useful if the moderator was actually fairly proficient with sB and with github - then they could add suggestions and bug reports posted here to the issues list there. Maybe if a moderator is an idea that catches on, the right person will volunteer.

If we don't want to be the moderators, I believe that it is still okay. SyntaxBomb's managment team will still do the moderation professionally!

SmallBASIC really needs several child boards. Do you have any idea? After we come to a final conclusion, we should apply for some child boards in the official suggestion thread.



Title: Re: 0.12.18 released
Post by: round157 on April 15, 2020, 16:17:08
Quote from: Steve Elliott on April 11, 2020, 09:37:03
Quote
At this stage I'm just making minor incremental changes, mostly from suggestions such as this one!

Do you mean that the development of SmallBASIC nearly stopped? Oh....

No I think he means at this moment small changes are being made, he says nothing about stopping development at all.

Okay! Thanks for explaining.:)
Title: Re: 0.12.18 released
Post by: chrisws on July 13, 2020, 11:40:18
Quote from: round157 on March 25, 2020, 12:25:12
Quote from: lettersquash on March 25, 2020, 00:01:37
Did you see this? Scroll down to "How to help design a better looking editor color theme" https://smallbasic.github.io/pages/sdl.html

Thank you!!! I have edited the text file and the file name is settings.txt. I uploaded to this forum. You can download in this post and the colour combination may be liked by you.

The theme looks really nice. I'm using it in the next update. Just a quick question, mind if I call it "R157"?

Also, the themes will be selectable from the context menu in the start screen. This will be in the SDL and android versions.

I haven't done a huge amount of work on SB but plan to release what I have soon (I got side tracked writing an online cards game to play with family in the c19 shutdown - it's all ready for wave 2 lol).



Title: Re: 0.12.18 released
Post by: iWasAdam on July 13, 2020, 12:11:48
Another thing to really put time into is how everything fits together with icons color, etc.

Here's a shot of an editor with everything working together:
- On the left is the code view. note the colors and icons.
- On the right is the code editor, note the line numbers with the same icons and colors
(https://vjointeractive.files.wordpress.com/2020/07/screenshot-2020-07-13-at-12.08.02.png)
Title: Re: 0.12.18 released
Post by: round157 on July 24, 2020, 10:06:05
Quote from: iWasAdam on July 13, 2020, 12:11:48
Another thing to really put time into is how everything fits together with icons color, etc.

Here's a shot of an editor with everything working together:
- On the left is the code view. note the colors and icons.
- On the right is the code editor, note the line numbers with the same icons and colors


The above idea is nice.
Title: Re: 0.12.18 released
Post by: round157 on July 24, 2020, 10:07:11
Quote from: chrisws on July 13, 2020, 11:40:18

The theme looks really nice. I'm using it in the next update. Just a quick question, mind if I call it "R157"?


It is an unusual name. However, it is also a very appropriate name.:)

Quote
Also, the themes will be selectable from the context menu in the start screen. This will be in the SDL and android versions.

I tried this new version and the above function is very convenient for users.

Quote
I haven't done a huge amount of work on SB but plan to release what I have soon......

You are active and diligent in developing SB. :) Thank you!