Software-update: QB64 Phoenix Edition 4.2.0

QB64 Phoenix Edition logo (Über)QB64 is een moderne versie van de programmeertaal BASIC. De code wordt gecompileerd naar machinetaal en is daardoor snel en kan er worden gelinkt naar externe C- en C++-programmeerbibliotheken. Het is nagenoeg volledig compatibel met QBasic 4.5 en biedt ondersteuning voor extensies, zoals OpenGL. Nadat Fellippe Heitor drie jaar geleden plotseling bij QB64 vertrok werd het erg stil rondom dit project. Een nieuwe groep ontwikkelaars heeft met QB64 Phoenix Edition echter een doorstart gemaakt. Net als QB64 is QB64 Phoenix Edition opensource, beschikbaar voor Windows, Linux en macOS, en heeft het een goed supportforum. Versie 4.2.0 is uitgekomen en de changelog daarvan kan hieronder worden gevonden.

Enhancements
  • #614, #615 - Audio updates and cleanup
    • Adds sample rate support to _SNDNEW.
    • Moves all information, warning, and trace logs to use our new logging features.
  • #626 - Support for using System MinGW on Windows
    • Adds support for using a system-installed compiler on Windows, such as a pre-existing MinGW toolchain (from MSYS2, Winget etc.). This can be helpful in situations where the user either cannot or prefers not to use the compiler bundled with QB64-PE.
    • This feature is available exclusively on Windows, a respective checkbox for switching is shown in the "Compiler Settings..." dialog under the "Options" menu, a clear warning is displayed when this option is enabled to ensure users understand the implications.
  • #630, #634 - IDE Help System improvements
    • Added/fixed some Unicode char replacements.
    • The "Update All Pages" download process now excludes the mostly static _GL command pages, i.e. 337 files less to fetch, which saves us 2-3 minutes time.
  • #635 - Add Windows on ARM support, closing issue #313
    • Enables full native support for QB64-PE on ARM-based devices, such as Windows devices using Qualcomm Snapdragon and macOS systems with Apple Silicon SoCs.
    • Eliminates reliance on runtime emulation (e.g. the Windows Prism x86 translation layer), enabling significantly faster startup times and improved execution speed.
    • The pre-compiler will set the _ARM_ flag and the _OS$ function return contains the string "[ARM]" when using QB64-PE on the ARM architecture.
    • On ARM architectures, the _FLOAT type is not natively supported due to the absence of x86-style 80-bit x87 FPU. This may lead to compatibility issues or reduced precision. Consider using DOUBLE or SINGLE for cross-platform consistency.
    • The VAL function previously returned values as _FLOAT by default. Users can now explicitly specify the target numeric type such as SINGLE, DOUBLE, or an integer type via the optional numericalType parameter, improving type control and cross-architecture compatibility.
  • #641 - Adjustments to Windows set-up scripts
    • Replacing wmic with PowerShell equivalent.
  • #642 - New dialog for easy logging configuration, closing issue #576
    • Access the dialog via the menu "Run -> Configure logging...".
Library Updates
  • #635 - Update libcurl to v8.14.0
  • #640 - Update libxmp-lite to v4.6.2
    • Also, the clip, miniz, tsf, qoa, qoi source files were updated to the latest releases.
Bug Fixes
  • #615 - Fix auto-formatting of _MEMPUT AS TYPE & _MEMFILL AS TYPE
    • The case of the given variable type names was not adjusted according to the active keyword formatting (UPPER/CaMeL/lower).
  • #616 - Fix _MOUSEX and _MOUSEY when the mouse pointer is hidden on macOS
    • This partially reverses the approach taken in #602. Using CGAssociateMouseAndMouseCursorPosition() was a mistake - it fixed _MOUSEMOVEMENTX and _MOUSEMOVEMENTY for FPS-style camera movement but broke _MOUSEX and _MOUSEY by preventing GLUT from triggering the glutMotionFunc callback while the mouse pointer was hidden.
    • To address this, we now use CGEventSourceSetLocalEventsSuppressionInterval() to work around macOS’s 0.25-second event suppression. However, this means _MOUSEMOVEMENTX and _MOUSEMOVEMENTY remain broken because macOS generates artificial movement events when glutWarpPointer is used.
    • For now, this is an acceptable trade-off. A proper long-term fix depends on implementing #608.
    • Many thanks to NakedApe from the QB64-PE forum for pointing out the issue. See this.
  • #627 - Fix IDE error when loading large source file
    • The IDE would crash when a large source file was loaded and the syntax highlighter had to build the list of sub/functions on its own, due to errors in the loaded file preventing compilation from going through.

Full Changelog: v4.1.0...v4.2.0

QB64 Phoenix Edition screenshot

Versienummer 4.2.0
Releasestatus Final
Besturingssystemen Linux, macOS, Windows 10, Windows 11
Website QB64 Phoenix Edition
Download https://github.com/QB64-Phoenix-Edition/QB64pe/releases/tag/v4.2.0
Licentietype GPL

Door Bart van Klaveren

Downloads en Best Buy Guide

29-06-2025 • 10:00

2

Submitter: danmark_ori

Bron: QB64 Phoenix Edition

Reacties (2)

2
2
2
0
0
0
Wijzig sortering
Even gedownload en geinstalleerd (ondanks dat Windows Defender het programma niet herkende en met een waarschuwing kwam). Het werkt prima, mijn oude QB 4.5 code wordt probleemloos ingeladen en gecompileerd. Wat mijn eigen oude software betreft lijkt het helemaal compatible met de DOS versie van QB 4.5. Leuk om de software nu op Windows te kunnen draaien zonder emulator.
Zeker hier dezelfde ervaring. In een grijs verleden redelijk wat progrmma's gemaakt en die lagen op de plank. Heel leuk om dat oude spul nog eens weer te zien en goed te zien werken.

Op dit item kan niet meer gereageerd worden.