Menu

Where are the .inc files

2018-07-10
2022-07-02
<< < 1 2 3 > >> (Page 2 of 3)
  • Jon Nelson

    Jon Nelson - 2022-06-11

    Is this a good place to report a problem with includes? It does not fall under the Compiler Problems section of the Great Cow BASIC forum.
    softserial.h contains...

    '*** 3 independent channels in 3 different files:
    #include <SoftSerialCh1.h>
    #include <SoftSerialCh2.h>
    #include <SoftSerialCh3.h>
    

    Please could that be changed before next release to

    '*** 3 independent channels in 3 different files:
    #include <softserialch1.h>
    #include <softserialch2.h>
    #include <softserialch3.h>
    

    so that it is exactly the same name as the actual files '/opt/GCBASIC/include/softserialch1.h' and '/opt/GCBASIC/include/softserialch2.h' and '/opt/GCBASIC/include/softserialch3.h'
    Linux has case sensitive file naming.

     
  • Jon Nelson

    Jon Nelson - 2022-06-11

    And on the same theme...
    http://gcbasic.sourceforge.net/help/_ssd1306_controllers.html
    Search for '#define GLCD_TYPE_SSD1306_CHARACTER_MODE_ONLY'
    Running that example "drive a SSD1306 based Graphic I2C LCD module with the built in commands of Great Cow BASIC using Low Memory Mode GLCD"
    we get an error on a Linux based system...

    /opt/GCBASIC/include//glcd.h (168): Warning: Cannot find 
     /opt/GCBASIC/include//GLCD_ST7789.h
    

    (Below we search for the file that glcd.h has missing using a case insensitive method)

    $ find ~/. -iname GLCD_ST7789.h
    ~/./GreatCowBASIC/include/glcd_st7789.h (It found this one file!)
    

    glcd.h contains

     '#include <GLCD_ST7789.h>'
    

    Please could that be changed before next release to

    '#include <glcd_st7789.h>'
    

    so that it is exactly the same name as the actual file '~/./GreatCowBASIC/include/glcd_st7789.h'
    Linux has case sensitive file naming.
    Windows operation is not affected by such a change.

     

    Last edit: Jon Nelson 2022-06-11
    • Anobium

      Anobium - 2022-06-11

      Jon,

      A very reasonable ask. So, yes.


      So, can anyone in the community write a script to change all instants of upper case includes ro lowercase includes for ALL .h files?

      or,

      I can change the compiler to force only lowercase. This implies EVERYTHING for includes usage is lowercase across all systems (OSs) and source files. I am happy to do this.

      Please let me know the best way forward.

       
      • Jon Nelson

        Jon Nelson - 2022-06-11

        Anobium,
        Thanks for kind reply.
        May we say the second option changing compiler fits in better with the following philosophy...
        "Is Great Cow BASIC case sensitive?
        No! For example, Set, SET, set, SeT, etc are all treated exactly the same way by Great Cow BASIC"
        and only needs change in one place.

         
  • ToniG

    ToniG - 2022-06-13

    I like the use of caps for making a File/Variable name more 'readable'.
    I would SecondTheSecondOption.

     
    • Anobium

      Anobium - 2022-06-13

      This change would only apply to #include statements. No change to variable etc.

       
      ❤️
      1
      • Anobium

        Anobium - 2022-06-19

        @Jon Nelson

        I am back home and I can now look to resolve the Linux file handler issue.

        Can you please edit preprocessor.bi adding the LCASE() function at line 658. As shown below. Recompile for your OS, test and report back please.

        This will now enforce lower case file handling in all operating systems. Where the user can use any case they like but the compiler will always looks for lowercase files - this is the best implementation I can think of. The installation process already makes all files lowercase - so this should work.

                      END IF
                      Temp = ShortName(Temp)
                      'Check to see if include file already in list
                      CE = 0
        

        to

                      END IF
                      Temp = LCase(ShortName(Temp))
                      'Check to see if include file already in list
                      CE = 0
        
         
        • Jon Nelson

          Jon Nelson - 2022-06-28

          @Anobium Test was:
          from http://gcbasic.sourceforge.net/help/_ssd1306_controllers.html
          Search for '#define GLCD_TYPE_SSD1306_CHARACTER_MODE_ONLY'
          Copy example "drive a SSD1306 based Graphic I2C LCD module with the built in commands of Great Cow BASIC using Low Memory Mode GLCD" into temp.gcb

          $ cd ~/Ref/gcbasic (where temp.gcb lives)
          $ gcbasic /A:GCASM test.gcb
          Great Cow BASIC (0.98.<<>> 2021-<<>>-24 (Linux 64 bit) : Build 1005)
          Compiling test.gcb ...
          Cannot find /opt/GCBASIC/include//GLCD_ST7789.h
          Done
          Assembling program ...
          Program assembled successfully
          A warning has been generated:
           /opt/GCBASIC/include//glcd.h (168): Warning: Cannot find 
           /opt/GCBASIC/include//GLCD_ST7789.h
          The message has been logged to the file Errors.txt.
          

          Modify preprocessor.bi as above...
          and "add Print Temp on a new line after the Lcase()"

          $ cd ~/GreatCowBASIC/sources/
          $ cp preprocessor.bi preprocessor.bi.Ref (Keep original)
          (Edit preprocessor.bi as above)
          
          cd ~/GreatCowBASIC/sources
          $ diff preprocessor.bi.ref preprocessor.bi
          618c618,619
          <               Temp = ShortName(Temp)
          ---
          >               Temp = LCase(ShortName(Temp)) 'was ShortName(Temp) see https://sourceforge.net/p/gcbasic/discussion/579125/thread/587d4c0f/?page=1
          >               Print Temp
          

          Do "Recompile for your OS"

          $ cd /GreatCowBASIC/sources/linuxbuild
          (Follow readme-linux-install.txt)
          
          $ chmod +x install.sh
          $ sudo mv /opt/GCBASIC /opt/GCBASIC_old 
          (NOTE Step 7: Suggest change to read "Execute [sudo] mv /opt/GCBASIC /opt/GCBASIC_old")
          $ sudo pwd
          ~/GreatCowBASIC/sources/linuxbuild
          $ sudo ./install.sh install
          (Wait for "*** Installed successfully to /opt/GCBASIC !")
          
          cd ~/Ref/gcbasic
          $ gcbasic /version
          0.98.<<>> 2021-<<>>-24 (Linux 64 bit) : Build 1005
          $ gcbasic /A:GCASM test.gcb
          

          Result same warning message viz:
          /opt/GCBASIC/include//glcd.h (168): Warning: Cannot find
          /opt/GCBASIC/include//GLCD_ST7789.h
          No 'Print Temp' so deducing not compiled !
          Possibly missing a step in re-compilation procedure.


          20:23 Update Missed out
          $ ./install.sh build (as Step 5)
          Recompiled okay now and trying to make sense of new error messages


          21:12 Progress

          $ more test.gcb
              #chip mega328p,16
              #include <glcd.h>
          
          $ gcbasic /A:GCASM test.gcb
          Great Cow BASIC (0.98.<<>> 2021-<<>>-24 (Linux 64 bit) : Build 1005++)
          Compiling test.gcb ...
          /opt/gcbasic/include//glcd.h (This is from debug 'print Temp')
          Cannot find /opt/gcbasic/include//glcd.h
          Done
          

          but...

          $ sudo find / -iname glcd.h
          /opt/GCBASIC_old/include/glcd.h
          /opt/GCBASIC/include/glcd.h
          

          Conclude:
          1) "Temp = LCase(ShortName(Temp))" is a path AND filename. The path casing must be preserved. It is only the filename part that must change to be consistent throughout case-wise.

          2) $ ls -al /opt/GCBASIC/include/////////glcd.h
          -rw-r--r-- 1 root root 140332 Jun 28 20:13 /opt/GCBASIC/include/////////glcd.h
          Multiple slashes amazingly appear to be tolerated but are not nice.
          The // shown in Temp might be due to a bad concatenation.
          Likely an OS independent path and file concatenation, like the 'os.path.join' in Python is needed.
          https://stackoverflow.com/questions/10918682/platform-independent-path-concatenation-using

          I will clean up above test method after a new day begins :-)


          29 June 2022
          Change Proposed. Modify preprocessor.bi so new code is...

          IF UCase(Left(Temp, 8)) = "#INCLUDE" THEN
              IF INSTR(Temp, Chr(34)) <> 0 THEN
                'Double quote seen so treat as full path and filename
                Temp = Mid(Temp, INSTR(Temp, Chr(34)) + 1)
                Temp = Trim(Left(Temp, INSTR(Temp, Chr(34)) - 1))
                Temp = Temp = AddFullPath(Temp, ProgDir)
              ElseIF INSTR(Temp, "<") <> 0 THEN
                Temp = Mid(Temp, INSTR(Temp, "<") + 1)
                Temp = Left(Temp, INSTR(Temp, ">") - 1)
                'Lcase (below) is needed to heal mismatch between Linux case sensitive
                ' file naming and GCB adopting opposite, as, 
                ' by convention(?), all GCB library include filenames happen to be
                ' only lower case.  
                'So to comply, ensure filename between angle brackets (not path) is 
                ' made lowercase before attempting file retrieval.
                'Assume only a filename lies between < and > and now stored in Temp
                Temp = AddFullPath(LCase(Temp), ID + "\include\") 'was Temp = AddFullPath(Temp, ID + "\include\")
              END IF
              Temp = ShortName(Temp) 'Path and Filename
              Print Temp 'Temporary for testing, see https://sourceforge.net/p/gcbasic/discussion/579125/thread/587d4c0f/?page=1
          

          Above works for <> include but note assumption that might throw a warning if untrue.
          In the double quoted include case presumably the caller has ability to ensure filenames match case-wise.


          Test Report/Method Used
          Platform:

          $ lsb_release -a|grep Descr
          Description:    Ubuntu 20.04.4 LTS
          

          From http://gcbasic.sourceforge.net/help/_ssd1306_controllers.html
          Search for '#define GLCD_TYPE_SSD1306_CHARACTER_MODE_ONLY'
          Copy first two lines from example "drive a SSD1306 based Graphic I2C LCD module with the built in commands of Great Cow BASIC using Low Memory Mode GLCD" into temp.gcb

          $ more test.gcb
              #chip mega328p,16
              #include <glcd.h>
          
          $ cd ~/Ref/gcbasic (where temp.gcb lives)
          $ gcbasic /A:GCASM test.gcb
          Great Cow BASIC (0.98.<<>> 2021-<<>>-24 (Linux 64 bit) : Build 1005)
          Compiling test.gcb ...
          Cannot find /opt/GCBASIC/include//GLCD_ST7789.h
          Done
          Assembling program ...
          Program assembled successfully
          A warning has been generated:
           /opt/GCBASIC/include//glcd.h (168): Warning: Cannot find 
           /opt/GCBASIC/include//GLCD_ST7789.h
          The message has been logged to the file Errors.txt.
          

          We note mismatch:

          $ sudo find / -iname GLCD_ST7789.h (case insensitive match)
          /opt/GCBASIC_old/include/glcd_st7789.h
          /opt/GCBASIC/include/glcd_st7789.h
          /home/andymc/GreatCowBASIC/include/glcd_st7789.h
          

          Preserve original sources that we intend to edit for this test
          Only do once and make reference copies read only.

          $ cd ~/GreatCowBASIC/sources/
          $ cp preprocessor.bi preprocessor.bi.ref 
          $ cp gcbasic.bas gcbasic.bas.ref
          

          $ diff preprocessor.bi.ref preprocessor.bi (can be used to check changes from original)

          Update buildVersion in gcbasic.bas to confirm re-compilation, example below

          $ diff gcbasic.bas.ref gcbasic.bas (example to see change)
          765c765
          < buildVersion = "1005"
          ---
          > buildVersion = "1005.2"
          

          Do "Recompile for your OS" as Anobium requested. Basically a two step process.

          $ cd ~/GreatCowBASIC/sources/linuxbuild
          (Follow readme-linux-install.txt)
          $ chmod +x install.sh (as Step 5a only do once)
          $ ./install.sh build (as Step 5b. Expect wait of up to 20 secs)
          Compiled successfully.
          Continue with 'install.sh install' (as root)
          Example: 'sudo install.sh install' 
          
          $ sudo install.sh install 
          sudo: install.sh: command not found (better Example 'sudo ./install.sh install' see later)
          
          $ ls -ald /opt/GCBASIC* (Step 7)
          If /opt/GCBASIC_old exists then 
            $ sudo rm -rf /opt/GCBASIC_old
          Endif
          
          $ sudo mv /opt/GCBASIC /opt/GCBASIC_old 
          (NOTE Step 7: Suggest change to read "Execute [sudo] mv /opt/GCBASIC /opt/GCBASIC_old")
          $ sudo pwd
          ~/GreatCowBASIC/sources/linuxbuild
          
          $ sudo ./install.sh install (Step 7)
          

          Wait for "*** Installed successfully to /opt/GCBASIC !"

          Check new test version

          cd ~/Ref/gcbasic
          $ gcbasic /version 
          0.98.<<>> 2021-<<>>-24 (Linux 64 bit) : Build 1005.2
          

          Re-run test with test code

          $ gcbasic /A:GCASM test.gcb
          Great Cow BASIC (0.98.<<>> 2021-<<>>-24 (Linux 64 bit) : Build 1005.2)
          Compiling test.gcb ...
          /opt/GCBASIC/include//glcd.h
          /opt/GCBASIC/include//glcd_st7789.h
          /opt/GCBASIC/include//glcd_ks0108.h
          /opt/GCBASIC/include//glcd_nt7108c.h
          /opt/GCBASIC/include//glcd_ssd1306.h
          /opt/GCBASIC/include//glcd_uc1601.h
          /opt/GCBASIC/include//glcd_ssd1306.h
          /opt/GCBASIC/include//glcd_ssd1306_twin.h
          /opt/GCBASIC/include//glcd_ili9341.h
          /opt/GCBASIC/include//glcd_ili9340.h
          /opt/GCBASIC/include//glcd_ssd1289.h
          /opt/GCBASIC/include//glcd_st7735.h
          /opt/GCBASIC/include//glcd_st7735r.h
          /opt/GCBASIC/include//glcd_st7735r.h
          /opt/GCBASIC/include//glcd_st7920.h
          /opt/GCBASIC/include//glcd_pcd8544.h
          /opt/GCBASIC/include//glcd_sh1106.h
          /opt/GCBASIC/include//glcd_ili9326.h
          /opt/GCBASIC/include//glcd_ssd1351.h
          /opt/GCBASIC/include//glcd_ili9486l.h
          /opt/GCBASIC/include//glcd_ili9486l.h
          /opt/GCBASIC/include//glcd_ili9481.h
          /opt/GCBASIC/include//glcd_hx8347.h
          /opt/GCBASIC/include//glcd_ssd1331.h
          /opt/GCBASIC/include//glcd_nextion.h
          /opt/GCBASIC/include//glcd_t6963.h
          /opt/GCBASIC/include//glcd_t6963.h
          /opt/GCBASIC/include//glcd_uc8230.h
          /opt/GCBASIC/include//epd_epd2in13d.h
          /opt/GCBASIC/include//epd_epd7in5.h
          Done
          Assembling program ...
          Program assembled successfully
          andymc@mvac18:~/Ref/gcbasic$
          
           

          Last edit: Jon Nelson 2022-06-30
          • Anobium

            Anobium - 2022-06-28

            Interesting.

            Why is the .h file still in uppercase?

            add Print Temp on a new line after the Lcase()

             
          • Anobium

            Anobium - 2022-06-29

            Send the revise code thru - the source gcbasic.bas. I will merge with the master source. We are at build 1135.

             
            • Jon Nelson

              Jon Nelson - 2022-06-30

              Regret not understood "Send the revise code thru - the source gcbasic.bas."

               
              • Anobium

                Anobium - 2022-06-30

                You edited some source files. I have assumed it was called gcbasic.bas

                Send the source file(s) you edited. You can upload as attachments or send me a personal message (PM) then attach to the PM.

                 
                • Jon Nelson

                  Jon Nelson - 2022-06-30

                  Only moved your LCASE earlier on in code so it affects the file and not both Path and File
                  Please see (above) marked 29 June 2022
                  Change Proposed. Modify preprocessor.bi so new code is...


                  The secondary // issue affects utils.bi (below)

                   
                  • Jon Nelson

                    Jon Nelson - 2022-06-30

                    @Anobium
                    Suggested changes are

                    $ diff preprocessor.bi.ref preprocessor.bi
                    609a610
                    >                 'Double quote seen so treat as full path and filename
                    616c617,621
                    <                 Temp = AddFullPath(Temp, ID + "\include\")
                    ---
                    >                 'Lcase (below) is needed to heal mismatch between Linux case sensitive file naming and GCB adopting opposite, 
                    >                 'as, by convention(?), all GCB library include filenames happen to be only lower case.  
                    >                 'So to comply, ensure filename between angle brackets (not path) is made lowercase before attempting file retrieval.
                    >                 'Assume only a filename lies between < and > and now stored in Temp
                    >                 Temp = AddFullPath(LCase(Temp), ID + "\include\") 'was Temp = AddFullPath(Temp, ID + "\include\")
                    618c623,625
                    <               Temp = ShortName(Temp)
                    ---
                    >               Temp = ShortName(Temp) 'Path and Filename
                    >               'Print Temp 'Temporary for testing, see https://sourceforge.net/p/gcbasic/discussion/579125/thread/587d4c0f/?page=1
                    > 
                    

                    $ diff utils.bi.ref utils.bi
                    57a58
                    >     If Right(FullPath, 1) = "\" Then FullPath = Left(FullPath, Len(FullPath) - 1)
                    62d62
                    < 
                    

                    Attached: preprocessor.bi and utils.bi with suggested changes

                     
          • Jon Nelson

            Jon Nelson - 2022-06-30

            Regarding The // shown in Temp might be due to a bad concatenation.
            Secondary discovery in utils.bi Function AddFullPath
            Here we have added two temporary print statements
            L and R are Left and Right parts of the Path and File concatenation before the / is inserted inbetween

              #Ifdef __FB_UNIX__
                'Remove trailing slash from full path
                If Right(FullPath, 1) = "/" Then FullPath = Left(FullPath, Len(FullPath) - 1)
                'If CurrPath not FQ, add full path
                If Left(OutPath, 1) <> "/" And Left(OutPath, 1) <> "~" Then
                  print "L:" + FullPath + " R:" + CurrPath 'debug
                  OutPath = FullPath + "/" + CurrPath
                End If
                print "OutPath:" + OutPath
            
            L:/opt/GCBASIC\include\ R:epd_epd7in5.h
            OutPath:/opt/GCBASIC\include\/epd_epd7in5.h
            /opt/GCBASIC/include//epd_epd7in5.h (print Temp as Anobium suggested, see above)
            

            Proposed fix (add another line):

             'Remove trailing slash from full path
             If Right(FullPath, 1) = "/" Then FullPath = Left(FullPath, Len(FullPath) - 1)
             If Right(FullPath, 1) = "\" Then FullPath = Left(FullPath, Len(FullPath) - 1)
            
             
            • Anobium

              Anobium - 2022-06-30

              Thank you.

              Can you attach these source files so I can merge. Cheers.

               
              • Jon Nelson

                Jon Nelson - 2022-06-30

                Done. Please see above

                 
                • Anobium

                  Anobium - 2022-06-30

                  I have merged into build 1136. There are many changes from the last full Linux release.

                  Hopefully. all is good.

                  I am running all the 1100 test programs under Windows. This will throw up and #include errors.. if there any.

                  I will report back soon with test results.

                   
                  👍
                  1
                  • Jon Nelson

                    Jon Nelson - 2022-06-30

                    When you 'merge into build 1136' do you paste the changes into the latest sources (e.g. Build 1135 sources) or use the entire source files I sent?
                    It is just that I notice I was working with

                    andymc@mvac18:~$ gcbasic /version 
                    0.98.<<>> 2021-<<>>-24 (Linux 64 bit) : Build 1005
                    $ md5sum ~/GreatCowBASIC/sources/*.ref
                    acd82332efc47156b0c628f69aae7204  ~/GreatCowBASIC/sources/preprocessor.bi.ref
                    68c6f16887ae9662c8dc30cc601bd675  ~/GreatCowBASIC/sources/utils.bi.ref
                    

                    whereas you mention making build 1136.
                    Downloading latest sources from https://sourceforge.net/projects/gcbasic/files/GCBasic%20-%20Linux%20Distribution/ the sources differ, viz:

                    $ md5sum *.bi
                    36a5bbf891033f287b4e8aebdfa07891  preprocessor.bi
                    f36eef30451e9e2d6e3ce3a3eb6cfa47  utils.bi
                    
                     
                    • Anobium

                      Anobium - 2022-06-30

                      I merged the changes into 1136

                      I will create a new complete archive for Linux tomorrow. This will be a 1136 build. Can you please test against 1136 please?

                       
                      👍
                      1
                      • Jon Nelson

                        Jon Nelson - 2022-07-01

                        Certainly.
                        BTW Where does one locate new builds under test?
                        Last evening we downloaded from https://sourceforge.net/projects/gcbasic/

                        $ md5sum GCB@Syn.rar
                        28e2536d4dcdb7db6d5cbf2e36e230ca  GCB@Syn.rar
                        

                        and it builds into...
                        0.99.01 2022-01-27 (Linux 64 bit) : Build 1073
                        but expected Build 1135 if you are about to release 1136

                        Googling: 'great cow basic latest build' results...

                        http://gcbasic.sourceforge.net/Typesetter/index.php/Download
                        Download latest version dated 30Jan2022 - not the latest build

                        https://sourceforge.net/projects/gcbasic/
                        The latest RELEASE is Jan 2022 (not build)

                        http://gcbasic.sourceforge.net/Typesetter/index.php/Download
                        Package heading: You want the latest VERSION
                        Usage heading: This is the latest BUILD with the Great Cow BASIC
                        Surely latest Version is not same as latest Build.

                        You write "I will create a new complete archive"
                        https://sourceforge.net/projects/gcbasic/files/GCBasic%20-%20Linux%20Distribution/Archived%20Versions/
                        Latest 29 Jan 2022 Archived usually implies historic/old versions

                        Where please?

                         
                        • Anobium

                          Anobium - 2022-07-01

                          I am building the compete distribution at the moment. I was incorrect to say archive.. I meant distribution build. I will be build 1137- I have fixed another issue this morning.

                          In the past I have only posted Linux distributions when I do a major release I will upload to the https://sourceforge.net/projects/gcbasic/files/Release%20Candidates/Patches/full_distros/ shortly.

                           
                          👍
                          1

                          Last edit: Anobium 2022-07-01
                          • Jon Nelson

                            Jon Nelson - 2022-07-02
                            $ gcbasic /version
                            0.99.02 2022-07-01 (Linux 64 bit) : Build 1137
                            

                            Re-run the 'include' test

                            $ cd ~/Ref/gcbasic; gcbasic /A:GCASM test.gcb
                            Great Cow BASIC (0.99.02 2022-07-01 (Linux 64 bit) : Build 1137)
                            Compiling test.gcb
                            Program compiled successfully (Compile time: 0 seconds)
                            Summary:
                                 Compiled:
                                      Program lines: 28754
                                      Subroutines:  User: 0 ; System: 1 of 871 ; Total: 1
                                 Chip resource usage:
                                      Program Memory: 14/16384 words (.09%)
                                      RAM: 0/2048 bytes (0.%)
                                      OSC: 16Mhz
                            Assembling program using GCASM
                            Program assembled successfully (Assembly time: 0 seconds)
                            Done
                            

                            The test code...

                            $ more test.gcb
                                #chip mega328p,16
                                #include <glcd.h> 
                            $
                            
                             
                            • Anobium

                              Anobium - 2022-07-02

                              That looks good!!

                              Thank you

                               
                              ❤️
                              1
                              • Jon Nelson

                                Jon Nelson - 2022-07-02

                                Below is the method to update GCB under Linux e.g. Xubuntu in case useful to anybody.

                                Step 1: Downloaded GCB@Syn_build_1137.rar

                                $ md5sum GCB@Syn_build_1137.rar
                                1113151a6bc28917d0ec89bd99ef93bf  GCB@Syn_build_1137.rar
                                

                                Step 2: This test build will replace e.g. 0.99.01 2022-01-27 (Linux 64 bit) : Build 1073
                                Rename ~/GreatCowBASIC to ~/GreatCowBASICbuild1073 or simply remove old version.

                                $ cd ~;unrar x ~/Downloads/GCB@Syn_build_1137.rar
                                Enter password to the download (GCB)
                                GreatCowBASIC/commands.dat - use current password ? [Y]es, [N]o, [A]ll  (type A)
                                Would you like to replace the existing file readme.txt (type Y for yes)
                                

                                If just testing a change to any of the GCB sources skip above steps.
                                Step 3: Below adjust path after Change Directory, cd, to wherever you keep compileGCB.sh (attached)

                                cd ~/Ref/gcbasic; sh compileGCB.sh
                                

                                Check new version is shown as expected.

                                 
                                👍
                                1

                                Last edit: Jon Nelson 2022-07-02
<< < 1 2 3 > >> (Page 2 of 3)

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.