It is a fact that most users use Windows. Not all of them have the right hardware to run BASIC Engine. I was able to compile and run BASIC Engline to run on Ubuntu. On the forum I have seen mentions of successfully compiling the system for macOS. However, there is no mention anywhere about compiling and running it on Windows. Nevertheless, in the help file there is this line:

system type; `0` for original (ESP8266), `1` for Shuttle (ESP32), `2` for NG (H3 bare-metal), `3` for LT (Linux/SDL-based), `4` for RX (Linux/bare-metal hybrid), `5` for Windows, `6` for macOS.

Any tips to compile and run BASIC Engine on Windows? This will help to popularize BASIC Engine among users.

  • uli replied to this.

    There's an SDL2 branch. It's a bit stale, but maybe that could help (I'm running BE in MacOS with a SDL2 version Ulrich made, and it works fine, but I have no idea if it'll be the same for Windows).

    9 days later

    CityAceE However, there is no mention anywhere about compiling and running it on Windows.

    It's implemented, but I did not enable a nightly build yet because I didn't have time to test it on a real Windows system...

    To compile, install a mingw32 toolchain and download SDL2-devel-2.28.5-mingw.tar.gz from somewhere, then do something along the lines of

    SDL_OBJDIR=build_win32 CROSS_COMPILE=i686-w64-mingw32- PATH="$PWD"/../SDL2-2.28.5/i686-w64-mingw32/bin:"$PATH" ./configure.sh
    ninja -f build.ninja.sdl

    I have downloaded the Windows SDL firmware and tried it on my laptop with Windows XP. In my limited use of it, I haven't had any problems. I am going to test it with the USB switcher that I have for doing Cross Development.

    What is the syntax to access the USB drive with this Windows firmware?

    I found this previous post for using the RX Firmware, but it didn't work for me at the time.

    I have included usbmount in the RX buildroot system, but did not put any effort into configuring it in any way. I can't try it out right now, but IIRC it did something when I plugged in a USB drive. Looking at the code, it seems that the default mountpoints would be /media/usb0 etc


    Thanks for all your hard work and I look forward to using it in doing Cross Development with the BASIC Engine project.

    • uli replied to this.

      Willard What is the syntax to access the USB drive with this Windows firmware?

      Regular Windows paths work for me (CHDIR "D:\" or something)

      uli If I didn't screw up the build bit it should show up in the git builds tomorrow.

      Thanks a lot!

      These builds are a really big step towards popularizing the BASIC Engine.

      At the very least, for me personally, it will help polish the translation.

      I tested the latest build on Windows 11. At first glance everything works - picture and sound are there, and test programs run. But additional testing is required. For example, I got a crash when I experimented with modplayer.

      • uli replied to this.

        CityAceE I tested the latest build on Windows 11. At first glance everything works - picture and sound are there, and test programs run. But additional testing is required. For example, I got a crash when I experimented with modplayer.

        I just remembered that I had a Surface Go 2 with Win11 that is not good for anything (even with Linux installed) and gave that a go. Here's the result:

        Unpacked the git build, tried to run enginebasic.exe. Windows told me it had "protected me from a threat"; I pushed some random buttons to continue, and the program would run. (playmod worked, BTW.)

        I then tried some things to fix the issue with the Windows port freezing when switching from windowed to fullscreen (on "real" Windows XP and 11, not in WINE). To that end I copied the new EXE file from a Samba mount to the Windows Desktop and ran it. Windows did not "protect me from a threat" and just ran the binary, even though it could have been anything. (I was not able to get fullscreen to work without freezing.)

        After (after!!) running the binary, Windows told me that it had "quarantined" the executable on the grounds of it being "dangerous and executes commands from an attacker". (w0t?)

        I'd like to make a categorical statement here: I am NOT EVER going to battle Microsoft Windows antivirus bullshit. It is blatantly obvious that it is useless garbage that serves no rational purpose. Any Windows version that does not allow Engine BASIC to run is considered unsupported.

        Took a quick search and found this:

        https://gamedev.stackexchange.com/questions/189075/how-do-i-prevent-my-game-from-being-detected-as-a-virus

        There is no way in hell I will subject myself to anything like that, meaning at least Windows 10 and up are never going to be supported, period. (I'll occasionally have a look up to what version Windows is not completely insane.)

        Edit: It's absolutely comical. Money quote:

        I am afraid I will not be going into too many specific details regarding my individual case. The reason for not being forthcoming is due to not having been granted permission to discuss the process by the vendors.

        Mind you, this "process" that is so shady that it cannot be revealed in detail was sufficient to make an executable "trustworthy" in the eyes of Windows...

        As for me, enginebasic-win32-2024-05-25 unpacked and worked without any warnings from Windows.

        I use Windows 11 Pro 23H2 with all latest updates.

        Notably, while it did complain about the build downloaded from the website, it did not quarantine it, unlike the executable that I copied from the local network. It doesn't make any sense, because they do the exact same thing.

        Anyway, if it works, fine; there's no point in removing it now. But I have a very uneasy feeling about this platform...

        Tested enginebasic-win32-2024-05-28 on Windows 10 Enterprise 22H2. No warninigs, no visual problems.

        a month later

        Big shout out to you guys for the Windows version! I look forward to fiddling with it tonight.

        10 months later

        This is an update of my experience using the Windows SDL firmware. So far it has been positive with just a few crashes and lockups that I can not identfy the cause to the firmware. I have been testing it on a Pentium III with Windows XP. In fact I have enjoyed programming with this Windows firmware. It has worked well with my cross-development setup with the H3 NG firmware. I was nervous about saving the screen capture to the file system, so I used a USB floppy drive to save the test code screen capture. It accessed the floppy drive with no issues. I even wonder if it can access files on a network drive.

        I decided to try the H3 RX firmware and it loaded without problems, but I can not access the flash drive like I can with the H3 NG firmware and Windows SDL firmware. I decided to load my program to the microSD card like I have done previously with the H3 NG firmware using Windows. Below are screen captures of the H3 NG and H3 RX directories.

        H3 NG screen capture

        H3 RX screen capture

        The F:drive is the flash drive I use for my programming. Is this a Windows issue not seeing the file structure on the H3 RX microSD card? Or is this a Windows XP issue?

        Right after I made the screen captures, a column of keys on the laptop stopped working so I am working on that problem currently. I have another laptop I am planning to install Linux on since none of my computers can be upgraded to Windows 11.

        Powered by: FreeFlarum.
        (remove this footer)