Menu

Road map for future versions of X11 Basic?

Developers
2019-05-30
2019-06-06
  • Yet Another Troll

    Is there a road map of what might appear in future releases of xbasic? Even if it doesn't become the next everything to everyone kitchen sink language with hundreds upon hundreds of built-in functions, commands, and operators like PL/I, Ada, C++, Java, or C#, under the hood improvements to the bytecode VM could make huge differences beyond just avoiding redundant array bounds checks within FOR loops within FOR loops within FOR loops, such as automatic SIMD vectorization or multithreading of big array or matrix operations.

     

    Last edit: Yet Another Troll 2019-05-30
  • Markus Hoffmann

    Markus Hoffmann - 2019-06-03

    X11-Basic goes where Users and Developer want it to go. Its open source. Everybody can contribute.

     
  • Markus Hoffmann

    Markus Hoffmann - 2019-06-06

    Here are some ideas:

    Bug fixes:

    The Array operators a(1:2,3) with a specified range are not implemented. Always a complete row must be used: a(:,3) works fine.

    Modifyable lvalued, like MIDS(t$,2,3)=a$ are not implemented, also TIME$="12:04:06" does not work as you might expect (resulting in setting the systems time). However, an array with index range as a lvalue does already work.

    System Variables

    DATAPOINTER or _DATA which points to the memory location of the DATA statements. Maybe have RESTORE also take these adresses instead of labels.

    Text console

    FORMINPUT
    Syntax: FORMINPUT a$[,n,prompt$,mask$]
    Action: Enables the insertion of a character string during program
    execution.
    'n' = the maximum length of the character string.
    a$ is the name of the string variable.
    If a$ is not empty, the current value of a$ is
    displayed, and can be edited.
    the text promt$ will be displayed at the beginning of a line.
    The n charackters of mask$ are used as a mask for the input:
    X -- any charackter
    9 -- only digits
    If n is ommitted or n > len(prompt$), the last charackter of
    prompt$ is used as a mask for positions > len(prompt$).

    This function was present in the GFA-BASIC

    SDL graphics:

    • Use TTF fonts (this is a complicated task...)
    • GPRINT routines should use the full VT100 emulation standard (including cursor).
    • 16 possible windows, USEWINDOW, --> SETWINDOW num,mode
    • Improve SCREEN and ROOTWINDOW, SAVESCREEN/SAVEWINDOW

    Sound

    • have a mixer command MIX (would be nice to have!)
    • produce event, when sound(file) is done

    Bluetooth

    FSFIRST$() and FSNEXT$() can be used to scan for bluetooth devices. (done)

    with OPEN "UB" you can open a RFCOMM connection
    with OPEN "UP" cou can open a L2CAP connection.

    you can use SEND/RECEIVE/CLOSE on L2CAP connections.
    you can use PRINT/INPUT/OUT/INP()/CLOSE on RFCOMM connections.

    you can as well setup a server and open a listening socket with OPEN,
    much the same as you would do it with normal internet connections.

    encryption

    The enhancements and new ideas concerning cryptography must be held separately from the master branch, because they can cause problems on US export limitations on sourceforge (I think)...

    err=KEYGEN(typ%,pubkey$,privkey$)
    

    Language translations

    ... well, maybe for the X11-Basic-Android IDE

     
    👍
    1

    Last edit: Markus Hoffmann 2019-06-06
  • Markus Hoffmann

    Markus Hoffmann - 2019-06-06

    Also: I always wanted it beeing ported to the I-Phone...

     
    • Yet Another Troll

      Noooo! Half the fun of X11 (and RFO) Basic is teasing iPhone people about what can be done entirely within Android without having to resort to a 'real' computer. The Basic programming tools I've seen for iPhone/iPad so far appear to require an Apple desktop or laptop computer for doing the actual coding.

       
      • Markus Hoffmann

        Markus Hoffmann - 2019-06-06
         
        • Yet Another Troll

          Augh! Looks like I have some mea maxima culpas to write and crow to eat. Still, X11 BASIC for ALL the platforms would be very cool.

           

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.