Page 1 of 2 12 LastLast
Results 1 to 10 of 13

Thread: BazzBasic

  1. #1
    Member
    Join Date
    Mar 2007
    Location
    Finland
    Age
    50
    Posts
    70
    Rep Power
    26

    BazzBasic

    Hi, and oh wow.


    There is actually still a subforum for PCOPY! Oh those days...
    It feels like the years have rushed by so fast that the pounds that have accumulated in my body haven't had time to catch up.


    So many dialects and communities are lost somewhere in time after I were active with BASIC.
    But thinBASIC still kicking? Damn. You folks are for sure doing something right here.






    BazzBasic is my own vision of how to achieve the same feelings today as I did long ago when I was writing hundreds of lines of code on a Spectravideo 328.


    It does not allow line numbers, which I think is a bit outdated ways of programming, but it allows [label] tags, which make the familiar GOTO and GOSUB successful.


    This is just my opinion, not a call to fight.


    Unlike old BASIC languages, BazzBasic also requires initialization of variables. I think this is something I would have learned with the interpreters of the 80s. It would have saved me a lot of swear words, at least for myself.


    I decided to use the number 0.5 as the version, because there has never been any real version system before.


    The interpreter can already be used for many things, mainly in the console, although a few graphical commands are already supported.


    Preliminary audio and file management functions are also already in use.


    There are certainly bugs, I will fix them as I have time from my real work.


    More versatile graphical and file management functions are now next on the development list. Some kind of implementation of network features is also on the todo list.


    Also bundling the tokenized code to executable is on my todo.


    Audio currently works via NAudio, not sure why I ended with it. But I need to move it to SDL2.
    Then in practice SDL2 + NET10 can also be ported to Linux.


    Check it out, unless you find some excuse not to.
    https://github.com/EkBass/BazzBasic
    Author of https://ekbass.github.io/BazzBasic/ and avid bass player

  2. #2
    thinBasic author ErosOlmi's Avatar
    Join Date
    Sep 2004
    Location
    Milan - Italy
    Age
    58
    Posts
    8,886
    Rep Power
    10
    Ciao and great to see you again.


    I like very much other are experimenting creating their own language and developing tokenizers and lexers.
    And the choice to use C# I think it is a wise choice
    Let me know if you need a dedicated subForum for BazzBasic and I will create.
    Last edited by ErosOlmi; 15-01-2026 at 18:39.
    www.thinbasic.com | www.thinbasic.com/community/ | help.thinbasic.com
    Windows 10 Pro for Workstations 64bit - 32 GB - Intel(R) Xeon(R) W-10855M CPU @ 2.80GHz - NVIDIA Quadro RTX 3000

  3. #3
    Member
    Join Date
    Mar 2007
    Location
    Finland
    Age
    50
    Posts
    70
    Rep Power
    26

    Cool

    Hi Eros.

    C# was not the first choice... actually it was a third option dictated by necessity. Although, in retrospect, it was a brilliant one
    Making a own language, even a small one truly is a big task. But also really rewarding if you can make it work.


    Let me know if you need a dedicated subForum for BazzBasic and I will create.
    Thanks a lot for the offer, buddy.


    If BazzBasic actually gets a some users, "I'll give you a call."
    A small player like BazzBasic doesn't need a own specialized forum. A subforum you mentioned would certainly handle this need just fine.
    Author of https://ekbass.github.io/BazzBasic/ and avid bass player

  4. #4
    thinBasic author ErosOlmi's Avatar
    Join Date
    Sep 2004
    Location
    Milan - Italy
    Age
    58
    Posts
    8,886
    Rep Power
    10
    Ciao,

    I was able to compile with VS2026

    Only an error regarding missing SDL2.dll
    But I downloaded dll from latest SDL 2.x repo and all was fine: https://github.com/libsdl-org/SDL/re...elease-2.32.10

    Will test in the week-end.

    Little note: file README.md seems containing twice the same text
    www.thinbasic.com | www.thinbasic.com/community/ | help.thinbasic.com
    Windows 10 Pro for Workstations 64bit - 32 GB - Intel(R) Xeon(R) W-10855M CPU @ 2.80GHz - NVIDIA Quadro RTX 3000

  5. #5
    Member
    Join Date
    Mar 2007
    Location
    Finland
    Age
    50
    Posts
    70
    Rep Power
    26
    Thanks Eros.

    Im positive there is more bugs in the documents than what its in the project souce

    I finished the built-in simple IDE, which makes getting started with BazzBasic as easy as it was with the BASIC interpreters of the 80s.


    My intention is not to make any major changes to the IDE. It is just intended to be an easy way to get started.


    For the more experienced, there are syntax highlighters in notepad++, Geany and Visual Studio Code.


    The homepage https://ekbass.github.io/BazzBasic/ is now open.
    Author of https://ekbass.github.io/BazzBasic/ and avid bass player

  6. #6
    Member
    Join Date
    Mar 2007
    Location
    Finland
    Age
    50
    Posts
    70
    Rep Power
    26

    Ver 0.6

    Lots of has happened and now I take a beer and then a good sleep.

    # News and changes

    ## Jan 2026

    ### 18th Jan 2026
    With all the previous add-ons, BazzBasic ver. 0.6 is not available as binary and source.


    ### 18th Jan 2026
    Merging BazzBasic and basic code into a single executable file is now possible.

    _bazzbasic.exe -exe filename.bas_ produces the _filename.exe_ file.

    BazzBasic does not compile the BASIC code, but rather includes it as part of itself.

    Read more https://ekbass.github.io/BazzBasic/manual/#/packaging



    ### 18th Jan 2026
    Finished working with PNG and Alpha-color supports.
    LOCATE in graphical screen now overdraws old text instead of just writing new top of it.

    **Supported Formats**

    **Format:** PNG
    Transparency: Full alpha (0-255)
    Recomended

    **Format**: BMP
    Transparency: None
    Legacy support

    ---

    ### 18th Jan 2026
    Generated a manual with Docify.
    BazzBasic homepage now links to it.

    Major idea is, that github wiki becomes a as development wiki and this docify as user wiki.

    ---

    ### 17th Jan 26
    Fixed a bug that prevented to use custom resolution with SCREEN 0
    Terminal now closes if no errors when running via IDE
    Small gap between IDE line numbers and user code.

    ---

    ### 17th Jan 26
    BazzBasic has now in-built simple IDE.
    Start _bazzbasic.exe_ with out params to open it.
    If opened with params, the .bas file is interpreted normally.
    After few new features, released as version 0.6

    ---

    ### 10th Jan 26
    Generated __vsix__ file to add BazzBasic syntaxes for VS Code.
    See https://github.com/EkBass/BazzBasic/...tras/readme.md

    ---

    ### 9th Jan 26
    Released first one, version 0.5

    Author of https://ekbass.github.io/BazzBasic/ and avid bass player

  7. #7
    thinBasic author ErosOlmi's Avatar
    Join Date
    Sep 2004
    Location
    Milan - Italy
    Age
    58
    Posts
    8,886
    Rep Power
    10
    My compliment: you are making a huge and great work!
    And it seems in short time.

    Maybe I will stole some ideas
    www.thinbasic.com | www.thinbasic.com/community/ | help.thinbasic.com
    Windows 10 Pro for Workstations 64bit - 32 GB - Intel(R) Xeon(R) W-10855M CPU @ 2.80GHz - NVIDIA Quadro RTX 3000

  8. #8
    Member
    Join Date
    Mar 2007
    Location
    Finland
    Age
    50
    Posts
    70
    Rep Power
    26
    Hi Eros and thank you for the positive word.


    To be honest, however, the development has not happened quite as fast as my previous message might have implied.


    In fact, the code has already started to develop last fall. Practically everything that has been released now has been developed as its own projects during the fall and early winter. Now I just had few week winter holiday to work with this.


    Combining all has succeeded even easier than expected, so based on my message, the development really seems fast.


    But since you develop your own programming language yourself, I probably don't need to describe the hours and days that have ultimately been spent on this.


    Or how many times has the definitely working code turned out to be pure chaos that after the "CTRL+A" + "DEL" combination is destroyed with a hellish tantrum


    Now, however, I am in a situation where there is actually nothing ready, even properly planned.


    Saving the tokenized code as a ".BB" library is the next bigger step.


    Now BazzBasic first tokenizes the code and then executes it. After tokenization, I thought it could save this and then use it as a library-like add-on.


    It's not a terribly demanding feature, but now I have to manually number all the tokens. Right now it works with a kind of auto-increase method. But if I put a new command and token in between, the whole system crashes.


    If you've looked at my code (TokenType.cs), you've probably noticed that the tokens are divided into groups. And I want to stick to this, so manual numbering should at least be implemented now. And leaving some free numbers between groups.


    If you find something useful in my code, feel free to steal it. It's nice if this actually brings some joy or benefit to someone, beside me.
    Last edited by E.K.Virtanen; 21-01-2026 at 13:14.
    Author of https://ekbass.github.io/BazzBasic/ and avid bass player

  9. #9
    thinBasic author ErosOlmi's Avatar
    Join Date
    Sep 2004
    Location
    Milan - Italy
    Age
    58
    Posts
    8,886
    Rep Power
    10
    Yes, I understand what you mean in tokens.
    thinBasic is the same, every token as a unique number that never change managed by me manually.
    About 1400 different tokens.

    New tokens created by loaded module are numbered dynamically.

    For this I will never created an intermediate already parsed and tokenized level but tokenization will always be performed at script startup.
    I worked hard on speed of course in order to have tokenization of even big script in less than few milliseconds.

    One way you can adopt is to identify tokens by a manual GUID instead of a dynamic number that can change and corrupt your already tokenized script.
    So every toke can have a numeric ID (if needed) and a 128 bit GUID that will never change.
    And use the GUID in your internal runtime dictionaries (hash tables)
    In this way your pre-parsed tokens will remain stable.

    PS: I've created a dedicated forum here for you project so you can have different posts for different BazzBasic discussions.
    https://www.thinbasic.com/community/...?401-BazzBasic
    Last edited by ErosOlmi; 21-01-2026 at 15:46.
    www.thinbasic.com | www.thinbasic.com/community/ | help.thinbasic.com
    Windows 10 Pro for Workstations 64bit - 32 GB - Intel(R) Xeon(R) W-10855M CPU @ 2.80GHz - NVIDIA Quadro RTX 3000

  10. #10
    Member
    Join Date
    Mar 2007
    Location
    Finland
    Age
    50
    Posts
    70
    Rep Power
    26
    Oops... there should read "now" and not "not"

    ### 18th Jan 2026
    With all the previous add-ons, BazzBasic ver. 0.6 is not available as binary and source.
    I thought during workday if I numbered them somehow based on the name. That is, the name of the command.


    For example, the token "NEXT" would get its value from the ASCII values ​​"N" + "E" + "X" + "T".
    At least it would be unique, but I think it's already a bit too unique


    By the way, I didn't even notice that you had created a subforum for BazzBasic before I read it in your message. I just came with the same link that I copied after my first message.


    Thanks. Now I just need to somehow get the community that uses BazzBasic started.


    That might be a bigger task than this interpreter itself.
    Author of https://ekbass.github.io/BazzBasic/ and avid bass player

Page 1 of 2 12 LastLast

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •