Skip to content

Releases: marnixk/mmcore

mmcore v0.293.0

Choose a tag to compare

@marnixk marnixk released this 28 Oct 00:07
cce416d

mmcore v0.293.0

Bare-metal mmcore for Raspberry Pi. Each zip is a FAT-ready SD-card image
plus install-sdcard.sh for Linux, and native desktop builds are attached:
a Linux AppImage, a Windows x86_64 zip, and a universal macOS app.

Install

unzip mmcore-console-rpi3-v0.293.0.zip
sudo ./install-sdcard.sh --bootstrap --model rpi3 /dev/sdX   # Pi 3 / 3B+ / 3A+

unzip mmcore-console-pizero2-v0.293.0.zip
sudo ./install-sdcard.sh --bootstrap --model pizero2 /dev/sdX  # Pi Zero 2

unzip mmcore-console-pizero2w-v0.293.0.zip
sudo ./install-sdcard.sh --bootstrap --model pizero2w /dev/sdX # Pi Zero 2 W

unzip mmcore-console-pi400-v0.293.0.zip
sudo ./install-sdcard.sh --bootstrap --model pi400 /dev/sdX  # Pi 400 / 4B / CM4

--update refreshes kernel and firmware without wiping BASIC files on C:.

Linux native (AppImage)

Run the desktop build on a Linux x86_64 host (SDL2 window; type at the prompt):

chmod +x mmcore-x86_64.AppImage
./mmcore-x86_64.AppImage

Linux framebuffer (KMS/DRM)

Run the KMS/DRM build from a text virtual terminal (no X11/Wayland):

tar -xzf mmcore-fb-linux-x86_64.tar.gz
./mmcore-fb-linux-x86_64/mmcore-fb

Bootable USB / ISO (Alpine, KMS/DRM)

The ISO ships compressed as mmcore-fb-x86_64.iso.zst. Decompress it,
then write it to a USB stick or microSD; install-usb.sh adds a persistent MMCORE
partition so BASIC files survive reboots:

zstd -d mmcore-fb-x86_64.iso.zst
sudo ./install-usb.sh --iso mmcore-fb-x86_64.iso /dev/sdX

install-usb.sh also accepts the compressed .iso.zst directly.
--read-write keeps the live session writable and persists C: on that
stick or microSD without installing onto an internal disk.

Windows native (x86_64)

Unzip and run mmcore.exe from Explorer or a terminal; keep the
bundled SDL2.dll next to it (the SDL2 window shows output and keyboard
input). The executable is Authenticode-signed for release builds.

Expand-Archive mmcore-windows-x86_64.zip .
.\mmcore-windows-x86_64\mmcore.exe

macOS native (universal: Apple Silicon + Intel)

Unzip and drag mmcore.app to Applications, then launch it from Finder
(the SDL2 window shows the prompt and keyboard input):

unzip mmcore-macos-universal.zip
open mmcore.app

Artifacts

  • mmcore-console-rpi3-v0.293.0.zip — Raspberry Pi 3 / 3B+ / 3A+
  • mmcore-console-pizero2-v0.293.0.zip — Raspberry Pi Zero 2 (no onboard WLAN)
  • mmcore-console-pizero2w-v0.293.0.zip — Raspberry Pi Zero 2 W (CYW43436)
  • mmcore-console-pi400-v0.293.0.zip — Raspberry Pi 400 (also Pi 4B / CM4)
  • install-sdcard.sh — same installer, also inside each zip
  • mmcore-x86_64.AppImage — Linux native SDL2 desktop build
  • mmcore-fb-linux-x86_64.tar.gz — Linux x86_64 KMS/DRM framebuffer build
  • mmcore-fb-x86_64.iso.zst — bootable Alpine live USB/ISO, zstd-compressed (KMS/DRM, Wi-Fi/Ethernet)
  • install-usb.sh — decompress/write the ISO to USB and add the persistent partition
  • mmcore-windows-x86_64.zip — Windows x86_64 native SDL2 build
  • mmcore-macos-universal.zip — macOS universal app bundle (mmcore.app)

Tests

Full test suite. broad/core change: console/kernel.cpp matches console/kernel.cpp, so the release could not be scoped to related suites.

Changes since v0.292.0

  • Merge pull request #1413 from marnixk/task/ramdisk-demo-test-robustness-0ccd
  • tests: decouple ramdisk capacity and pick-list tests from seed (#1412)
  • Merge pull request #1411 from marnixk/task/test-linux-native-frameprof-link-0ccd
  • tests: link frame profiler into SDL host builds (#1410)
  • Merge pull request #1409 from marnixk/task/pi-console-sync-0ccd
  • Pi: reconcile only the presented rect after a partial BLIT present (#1403)
  • Merge pull request #1408 from marnixk/task/pi-wait-0ccd
  • Pi: drop dead present-wait spin and audio mix coupling (#1404)
  • Merge pull request #1407 from marnixk/task/test-mouse-frame-prof-link-0ccd
  • tests: link frame_prof.c into mouse gfx reconcile driver (#1405)
  • Merge pull request #1406 from marnixk/task/pi-coalesce-0ccd
  • Pi: coalesce display-page BLIT presents per frame (#1402)

mmcore v0.292.0

Choose a tag to compare

@cursor cursor released this 27 Oct 22:57
3505ffb

mmcore v0.292.0

Bare-metal mmcore for Raspberry Pi. Each zip is a FAT-ready SD-card image
plus install-sdcard.sh for Linux, and native desktop builds are attached:
a Linux AppImage and a Windows x86_64 zip.

Install

unzip mmcore-console-rpi3-v0.292.0.zip
sudo ./install-sdcard.sh --bootstrap --model rpi3 /dev/sdX   # Pi 3 / 3B+ / 3A+

unzip mmcore-console-pizero2-v0.292.0.zip
sudo ./install-sdcard.sh --bootstrap --model pizero2 /dev/sdX  # Pi Zero 2

unzip mmcore-console-pizero2w-v0.292.0.zip
sudo ./install-sdcard.sh --bootstrap --model pizero2w /dev/sdX # Pi Zero 2 W

unzip mmcore-console-pi400-v0.292.0.zip
sudo ./install-sdcard.sh --bootstrap --model pi400 /dev/sdX  # Pi 400 / 4B / CM4

--update refreshes kernel and firmware without wiping BASIC files on C:.

Linux native (AppImage)

Run the desktop build on a Linux x86_64 host (SDL2 window; type at the prompt):

chmod +x mmcore-x86_64.AppImage
./mmcore-x86_64.AppImage

Linux framebuffer (KMS/DRM)

Run the KMS/DRM build from a text virtual terminal (no X11/Wayland):

tar -xzf mmcore-fb-linux-x86_64.tar.gz
./mmcore-fb-linux-x86_64/mmcore-fb

Bootable USB / ISO (Alpine, KMS/DRM)

The ISO ships compressed as mmcore-fb-x86_64.iso.zst. Decompress it,
then write it to a USB stick or microSD; install-usb.sh adds a persistent MMCORE
partition so BASIC files survive reboots:

zstd -d mmcore-fb-x86_64.iso.zst
sudo ./install-usb.sh --iso mmcore-fb-x86_64.iso /dev/sdX

install-usb.sh also accepts the compressed .iso.zst directly.
--read-write keeps the live session writable and persists C: on that
stick or microSD without installing onto an internal disk.

Windows native (x86_64)

Unzip and run mmcore.exe from Explorer or a terminal; keep the
bundled SDL2.dll next to it (the SDL2 window shows output and keyboard
input). The executable is Authenticode-signed for release builds.

Expand-Archive mmcore-windows-x86_64.zip .
.\mmcore-windows-x86_64\mmcore.exe

Artifacts

  • mmcore-console-rpi3-v0.292.0.zip — Raspberry Pi 3 / 3B+ / 3A+
  • mmcore-console-pizero2-v0.292.0.zip — Raspberry Pi Zero 2 (no onboard WLAN)
  • mmcore-console-pizero2w-v0.292.0.zip — Raspberry Pi Zero 2 W (CYW43436)
  • mmcore-console-pi400-v0.292.0.zip — Raspberry Pi 400 (also Pi 4B / CM4)
  • install-sdcard.sh — same installer, also inside each zip
  • mmcore-x86_64.AppImage — Linux native SDL2 desktop build
  • mmcore-fb-linux-x86_64.tar.gz — Linux x86_64 KMS/DRM framebuffer build
  • mmcore-fb-x86_64.iso.zst — bootable Alpine live USB/ISO, zstd-compressed (KMS/DRM, Wi-Fi/Ethernet)
  • install-usb.sh — decompress/write the ISO to USB and add the persistent partition
  • mmcore-windows-x86_64.zip — Windows x86_64 native SDL2 build

Tests

Full test suite. broad/core change: console/Makefile matches console/Makefile, so the release could not be scoped to related suites.

Changes since v0.291.0

  • Add Pi vs fbdev perf analysis and opt-in frame profiler (#1401)

mmcore v0.291.0

Choose a tag to compare

@marnixk marnixk released this 27 Oct 04:09
5614532

mmcore v0.291.0

Bare-metal mmcore for Raspberry Pi. Each zip is a FAT-ready SD-card image
plus install-sdcard.sh for Linux, and native desktop builds are attached:
a Linux AppImage, a Windows x86_64 zip, and a universal macOS app.

Install

unzip mmcore-console-rpi3-v0.291.0.zip
sudo ./install-sdcard.sh --bootstrap --model rpi3 /dev/sdX   # Pi 3 / 3B+ / 3A+

unzip mmcore-console-pizero2-v0.291.0.zip
sudo ./install-sdcard.sh --bootstrap --model pizero2 /dev/sdX  # Pi Zero 2

unzip mmcore-console-pizero2w-v0.291.0.zip
sudo ./install-sdcard.sh --bootstrap --model pizero2w /dev/sdX # Pi Zero 2 W

unzip mmcore-console-pi400-v0.291.0.zip
sudo ./install-sdcard.sh --bootstrap --model pi400 /dev/sdX  # Pi 400 / 4B / CM4

--update refreshes kernel and firmware without wiping BASIC files on C:.

Linux native (AppImage)

Run the desktop build on a Linux x86_64 host (SDL2 window; type at the prompt):

chmod +x mmcore-x86_64.AppImage
./mmcore-x86_64.AppImage

Linux framebuffer (KMS/DRM)

Run the KMS/DRM build from a text virtual terminal (no X11/Wayland):

tar -xzf mmcore-fb-linux-x86_64.tar.gz
./mmcore-fb-linux-x86_64/mmcore-fb

Bootable USB / ISO (Alpine, KMS/DRM)

The ISO ships compressed as mmcore-fb-x86_64.iso.zst. Decompress it,
then write it to a USB stick or microSD; install-usb.sh adds a persistent MMCORE
partition so BASIC files survive reboots:

zstd -d mmcore-fb-x86_64.iso.zst
sudo ./install-usb.sh --iso mmcore-fb-x86_64.iso /dev/sdX

install-usb.sh also accepts the compressed .iso.zst directly.
--read-write keeps the live session writable and persists C: on that
stick or microSD without installing onto an internal disk.

Windows native (x86_64)

Unzip and run mmcore.exe from Explorer or a terminal; keep the
bundled SDL2.dll next to it (the SDL2 window shows output and keyboard
input). The executable is Authenticode-signed for release builds.

Expand-Archive mmcore-windows-x86_64.zip .
.\mmcore-windows-x86_64\mmcore.exe

macOS native (universal: Apple Silicon + Intel)

Unzip and drag mmcore.app to Applications, then launch it from Finder
(the SDL2 window shows the prompt and keyboard input):

unzip mmcore-macos-universal.zip
open mmcore.app

Artifacts

  • mmcore-console-rpi3-v0.291.0.zip — Raspberry Pi 3 / 3B+ / 3A+
  • mmcore-console-pizero2-v0.291.0.zip — Raspberry Pi Zero 2 (no onboard WLAN)
  • mmcore-console-pizero2w-v0.291.0.zip — Raspberry Pi Zero 2 W (CYW43436)
  • mmcore-console-pi400-v0.291.0.zip — Raspberry Pi 400 (also Pi 4B / CM4)
  • install-sdcard.sh — same installer, also inside each zip
  • mmcore-x86_64.AppImage — Linux native SDL2 desktop build
  • mmcore-fb-linux-x86_64.tar.gz — Linux x86_64 KMS/DRM framebuffer build
  • mmcore-fb-x86_64.iso.zst — bootable Alpine live USB/ISO, zstd-compressed (KMS/DRM, Wi-Fi/Ethernet)
  • install-usb.sh — decompress/write the ISO to USB and add the persistent partition
  • mmcore-windows-x86_64.zip — Windows x86_64 native SDL2 build
  • mmcore-macos-universal.zip — macOS universal app bundle (mmcore.app)

Tests

Full test suite. broad/core change: native/platform_sdl.c matches native/platform_sdl.c, so the release could not be scoped to related suites.

Changes since v0.290.0

  • Merge pull request #1400 from marnixk/task/harness-poll-1399-0ccd
  • harness: poll the script during RUN (#1399)

mmcore v0.290.0

Choose a tag to compare

@marnixk marnixk released this 27 Oct 02:07
33e112c

mmcore v0.290.0

Bare-metal mmcore for Raspberry Pi. Each zip is a FAT-ready SD-card image
plus install-sdcard.sh for Linux, and native desktop builds are attached:
a Linux AppImage, a Windows x86_64 zip, and a universal macOS app.

Install

unzip mmcore-console-rpi3-v0.290.0.zip
sudo ./install-sdcard.sh --bootstrap --model rpi3 /dev/sdX   # Pi 3 / 3B+ / 3A+

unzip mmcore-console-pizero2-v0.290.0.zip
sudo ./install-sdcard.sh --bootstrap --model pizero2 /dev/sdX  # Pi Zero 2

unzip mmcore-console-pizero2w-v0.290.0.zip
sudo ./install-sdcard.sh --bootstrap --model pizero2w /dev/sdX # Pi Zero 2 W

unzip mmcore-console-pi400-v0.290.0.zip
sudo ./install-sdcard.sh --bootstrap --model pi400 /dev/sdX  # Pi 400 / 4B / CM4

--update refreshes kernel and firmware without wiping BASIC files on C:.

Linux native (AppImage)

Run the desktop build on a Linux x86_64 host (SDL2 window; type at the prompt):

chmod +x mmcore-x86_64.AppImage
./mmcore-x86_64.AppImage

Linux framebuffer (KMS/DRM)

Run the KMS/DRM build from a text virtual terminal (no X11/Wayland):

tar -xzf mmcore-fb-linux-x86_64.tar.gz
./mmcore-fb-linux-x86_64/mmcore-fb

Bootable USB / ISO (Alpine, KMS/DRM)

The ISO ships compressed as mmcore-fb-x86_64.iso.zst. Decompress it,
then write it to a USB stick or microSD; install-usb.sh adds a persistent MMCORE
partition so BASIC files survive reboots:

zstd -d mmcore-fb-x86_64.iso.zst
sudo ./install-usb.sh --iso mmcore-fb-x86_64.iso /dev/sdX

install-usb.sh also accepts the compressed .iso.zst directly.
--read-write keeps the live session writable and persists C: on that
stick or microSD without installing onto an internal disk.

Windows native (x86_64)

Unzip and run mmcore.exe from Explorer or a terminal; keep the
bundled SDL2.dll next to it (the SDL2 window shows output and keyboard
input). The executable is Authenticode-signed for release builds.

Expand-Archive mmcore-windows-x86_64.zip .
.\mmcore-windows-x86_64\mmcore.exe

macOS native (universal: Apple Silicon + Intel)

Unzip and drag mmcore.app to Applications, then launch it from Finder
(the SDL2 window shows the prompt and keyboard input):

unzip mmcore-macos-universal.zip
open mmcore.app

Artifacts

  • mmcore-console-rpi3-v0.290.0.zip — Raspberry Pi 3 / 3B+ / 3A+
  • mmcore-console-pizero2-v0.290.0.zip — Raspberry Pi Zero 2 (no onboard WLAN)
  • mmcore-console-pizero2w-v0.290.0.zip — Raspberry Pi Zero 2 W (CYW43436)
  • mmcore-console-pi400-v0.290.0.zip — Raspberry Pi 400 (also Pi 4B / CM4)
  • install-sdcard.sh — same installer, also inside each zip
  • mmcore-x86_64.AppImage — Linux native SDL2 desktop build
  • mmcore-fb-linux-x86_64.tar.gz — Linux x86_64 KMS/DRM framebuffer build
  • mmcore-fb-x86_64.iso.zst — bootable Alpine live USB/ISO, zstd-compressed (KMS/DRM, Wi-Fi/Ethernet)
  • install-usb.sh — decompress/write the ISO to USB and add the persistent partition
  • mmcore-windows-x86_64.zip — Windows x86_64 native SDL2 build
  • mmcore-macos-universal.zip — macOS universal app bundle (mmcore.app)

Tests

Test suites related to the changes since 0.289.0:

  • tests/test_editor_char_picker.py
  • tests/test_editor_theme_contrast.py
  • tests/test_editor_tui.py
  • tests/test_tui_prompt_cmm2.py
  • tests/test_linux_native.py

Selected because:

  • editor: editor / TUI sources changed [mmbasic/src/editor.c]
  • test: tests/test_editor_tui.py changed
  • test: tests/test_linux_native.py changed

Changes since v0.289.0

  • Merge pull request #1398 from marnixk/task/appimage-open-0ccd
  • EDIT: guard outline scan on empty untitled buffer (#1382)

mmcore v0.289.0

Choose a tag to compare

@marnixk marnixk released this 27 Oct 00:24
f24f228

mmcore v0.289.0

Bare-metal mmcore for Raspberry Pi. Each zip is a FAT-ready SD-card image
plus install-sdcard.sh for Linux, and native desktop builds are attached:
a Linux AppImage, a Windows x86_64 zip, and a universal macOS app.

Install

unzip mmcore-console-rpi3-v0.289.0.zip
sudo ./install-sdcard.sh --bootstrap --model rpi3 /dev/sdX   # Pi 3 / 3B+ / 3A+

unzip mmcore-console-pizero2-v0.289.0.zip
sudo ./install-sdcard.sh --bootstrap --model pizero2 /dev/sdX  # Pi Zero 2

unzip mmcore-console-pizero2w-v0.289.0.zip
sudo ./install-sdcard.sh --bootstrap --model pizero2w /dev/sdX # Pi Zero 2 W

unzip mmcore-console-pi400-v0.289.0.zip
sudo ./install-sdcard.sh --bootstrap --model pi400 /dev/sdX  # Pi 400 / 4B / CM4

--update refreshes kernel and firmware without wiping BASIC files on C:.

Linux native (AppImage)

Run the desktop build on a Linux x86_64 host (SDL2 window; type at the prompt):

chmod +x mmcore-x86_64.AppImage
./mmcore-x86_64.AppImage

Linux framebuffer (KMS/DRM)

Run the KMS/DRM build from a text virtual terminal (no X11/Wayland):

tar -xzf mmcore-fb-linux-x86_64.tar.gz
./mmcore-fb-linux-x86_64/mmcore-fb

Bootable USB / ISO (Alpine, KMS/DRM)

The ISO ships compressed as mmcore-fb-x86_64.iso.zst. Decompress it,
then write it to a USB stick or microSD; install-usb.sh adds a persistent MMCORE
partition so BASIC files survive reboots:

zstd -d mmcore-fb-x86_64.iso.zst
sudo ./install-usb.sh --iso mmcore-fb-x86_64.iso /dev/sdX

install-usb.sh also accepts the compressed .iso.zst directly.
--read-write keeps the live session writable and persists C: on that
stick or microSD without installing onto an internal disk.

Windows native (x86_64)

Unzip and run mmcore.exe from Explorer or a terminal; keep the
bundled SDL2.dll next to it (the SDL2 window shows output and keyboard
input). The executable is Authenticode-signed for release builds.

Expand-Archive mmcore-windows-x86_64.zip .
.\mmcore-windows-x86_64\mmcore.exe

macOS native (universal: Apple Silicon + Intel)

Unzip and drag mmcore.app to Applications, then launch it from Finder
(the SDL2 window shows the prompt and keyboard input):

unzip mmcore-macos-universal.zip
open mmcore.app

Artifacts

  • mmcore-console-rpi3-v0.289.0.zip — Raspberry Pi 3 / 3B+ / 3A+
  • mmcore-console-pizero2-v0.289.0.zip — Raspberry Pi Zero 2 (no onboard WLAN)
  • mmcore-console-pizero2w-v0.289.0.zip — Raspberry Pi Zero 2 W (CYW43436)
  • mmcore-console-pi400-v0.289.0.zip — Raspberry Pi 400 (also Pi 4B / CM4)
  • install-sdcard.sh — same installer, also inside each zip
  • mmcore-x86_64.AppImage — Linux native SDL2 desktop build
  • mmcore-fb-linux-x86_64.tar.gz — Linux x86_64 KMS/DRM framebuffer build
  • mmcore-fb-x86_64.iso.zst — bootable Alpine live USB/ISO, zstd-compressed (KMS/DRM, Wi-Fi/Ethernet)
  • install-usb.sh — decompress/write the ISO to USB and add the persistent partition
  • mmcore-windows-x86_64.zip — Windows x86_64 native SDL2 build
  • mmcore-macos-universal.zip — macOS universal app bundle (mmcore.app)

Tests

Full test suite. broad/core change: mmbasic/include/mmb_priv.h matches mmbasic/include/*, so the release could not be scoped to related suites.

Changes since v0.288.0

  • Merge pull request #1397 from marnixk/task/help-link-fix-0ccd
  • docs: use the ON help topic for OPTION ERROR links (#1327)
  • Merge pull request #1396 from marnixk/task/error-continue-0ccd
  • core: honour OPTION ERROR CONTINUE as the RUN error baseline
  • Merge pull request #1395 from marnixk/task/core-findings-0ccd
  • core: resume after END SELECT colon and run deferred SUB in EXECUTE loops
  • Merge pull request #1394 from marnixk/task/tc-findvar-0ccd
  • tracecache: resolve variable names through the name hash (#1385)
  • Merge pull request #1392 from marnixk/task/core-runtime-0ccd
  • core: fix event error unwind, EXECUTE loops, and ENDIF colon resume
  • Merge pull request #1389 from marnixk/task/version-test-0ccd
  • Compare version tests against the image, not a live git describe
  • Merge pull request #1388 from marnixk/task/core-trio-0ccd
  • Merge pull request #1386 from marnixk/task/local-scan-0ccd
  • Fix keyword-colon prescans, spaced PRINT separators, immediate FOR resume
  • vars: make LOCAL binding lookup and slot recycle O(1) (#1328)
  • Merge pull request #1383 from marnixk/task/present-align-0ccd
  • Merge pull request #1384 from marnixk/task/colour-suffix-0ccd
  • expr: read suffixed colour-named variables as variables (#1307)
  • SDL present: align software/KMS scanout to the frame grid (#1380)

mmcore v0.288.0

Choose a tag to compare

@marnixk marnixk released this 26 Oct 15:04
f1ae045

mmcore v0.288.0

Bare-metal mmcore for Raspberry Pi. Each zip is a FAT-ready SD-card image
plus install-sdcard.sh for Linux, and native desktop builds are attached:
a Linux AppImage, a Windows x86_64 zip, and a universal macOS app.

Install

unzip mmcore-console-rpi3-v0.288.0.zip
sudo ./install-sdcard.sh --bootstrap --model rpi3 /dev/sdX   # Pi 3 / 3B+ / 3A+

unzip mmcore-console-pizero2-v0.288.0.zip
sudo ./install-sdcard.sh --bootstrap --model pizero2 /dev/sdX  # Pi Zero 2

unzip mmcore-console-pizero2w-v0.288.0.zip
sudo ./install-sdcard.sh --bootstrap --model pizero2w /dev/sdX # Pi Zero 2 W

unzip mmcore-console-pi400-v0.288.0.zip
sudo ./install-sdcard.sh --bootstrap --model pi400 /dev/sdX  # Pi 400 / 4B / CM4

--update refreshes kernel and firmware without wiping BASIC files on C:.

Linux native (AppImage)

Run the desktop build on a Linux x86_64 host (SDL2 window; type at the prompt):

chmod +x mmcore-x86_64.AppImage
./mmcore-x86_64.AppImage

Linux framebuffer (KMS/DRM)

Run the KMS/DRM build from a text virtual terminal (no X11/Wayland):

tar -xzf mmcore-fb-linux-x86_64.tar.gz
./mmcore-fb-linux-x86_64/mmcore-fb

Bootable USB / ISO (Alpine, KMS/DRM)

The ISO ships compressed as mmcore-fb-x86_64.iso.zst. Decompress it,
then write it to a USB stick or microSD; install-usb.sh adds a persistent MMCORE
partition so BASIC files survive reboots:

zstd -d mmcore-fb-x86_64.iso.zst
sudo ./install-usb.sh --iso mmcore-fb-x86_64.iso /dev/sdX

install-usb.sh also accepts the compressed .iso.zst directly.
--read-write keeps the live session writable and persists C: on that
stick or microSD without installing onto an internal disk.

Windows native (x86_64)

Unzip and run mmcore.exe from Explorer or a terminal; keep the
bundled SDL2.dll next to it (the SDL2 window shows output and keyboard
input). The executable is Authenticode-signed for release builds.

Expand-Archive mmcore-windows-x86_64.zip .
.\mmcore-windows-x86_64\mmcore.exe

macOS native (universal: Apple Silicon + Intel)

Unzip and drag mmcore.app to Applications, then launch it from Finder
(the SDL2 window shows the prompt and keyboard input):

unzip mmcore-macos-universal.zip
open mmcore.app

Artifacts

  • mmcore-console-rpi3-v0.288.0.zip — Raspberry Pi 3 / 3B+ / 3A+
  • mmcore-console-pizero2-v0.288.0.zip — Raspberry Pi Zero 2 (no onboard WLAN)
  • mmcore-console-pizero2w-v0.288.0.zip — Raspberry Pi Zero 2 W (CYW43436)
  • mmcore-console-pi400-v0.288.0.zip — Raspberry Pi 400 (also Pi 4B / CM4)
  • install-sdcard.sh — same installer, also inside each zip
  • mmcore-x86_64.AppImage — Linux native SDL2 desktop build
  • mmcore-fb-linux-x86_64.tar.gz — Linux x86_64 KMS/DRM framebuffer build
  • mmcore-fb-x86_64.iso.zst — bootable Alpine live USB/ISO, zstd-compressed (KMS/DRM, Wi-Fi/Ethernet)
  • install-usb.sh — decompress/write the ISO to USB and add the persistent partition
  • mmcore-windows-x86_64.zip — Windows x86_64 native SDL2 build
  • mmcore-macos-universal.zip — macOS universal app bundle (mmcore.app)

Tests

Full test suite. broad/core change: mmbasic/include/mmb_priv.h matches mmbasic/include/*, so the release could not be scoped to related suites.

Changes since v0.287.0

  • Merge pull request #1381 from marnixk/task/tui-dirty-0ccd
  • TUI: mark one dirty rect per glyph, not per pixel (#1379)
  • Merge pull request #1378 from marnixk/task/present-pacing-0ccd
  • SDL present: one display grid, dirty-rect list, no blocking vsync (#1367)
  • Merge pull request #1377 from marnixk/task/expr-cache-0ccd
  • tracecache: compile idiv/MOD, logic, expression indices and IF branches (#1370)
  • Merge pull request #1376 from marnixk/task/tc-slots-0ccd
  • tracecache: grow slots and evict cold entries (#1369)
  • Merge pull request #1375 from marnixk/task/input-pump-0ccd
  • input: rate-limit the per-line SDL event pump (#1370)
  • Merge pull request #1373 from marnixk/task/blit-fast-0ccd
  • Merge remote-tracking branch 'origin/master' into task/blit-fast-0ccd
  • graphics: fast BLIT arguments and native transparent BLIT (#1370)
  • Merge pull request #1372 from marnixk/task/tc-local-0ccd
  • vars: use per-slot generations for LOCAL/DIM cache validity (#1368)
  • Merge pull request #1371 from marnixk/task/on-goto-0ccd
  • language: ON n GOTO/GOSUB dispatch to named labels (#1370)

mmcore v0.287.0

Choose a tag to compare

@marnixk marnixk released this 26 Oct 11:48
d3c03c1

mmcore v0.287.0

Bare-metal mmcore for Raspberry Pi. Each zip is a FAT-ready SD-card image
plus install-sdcard.sh for Linux, and native desktop builds are attached:
a Linux AppImage, a Windows x86_64 zip, and a universal macOS app.

Install

unzip mmcore-console-rpi3-v0.287.0.zip
sudo ./install-sdcard.sh --bootstrap --model rpi3 /dev/sdX   # Pi 3 / 3B+ / 3A+

unzip mmcore-console-pizero2-v0.287.0.zip
sudo ./install-sdcard.sh --bootstrap --model pizero2 /dev/sdX  # Pi Zero 2

unzip mmcore-console-pizero2w-v0.287.0.zip
sudo ./install-sdcard.sh --bootstrap --model pizero2w /dev/sdX # Pi Zero 2 W

unzip mmcore-console-pi400-v0.287.0.zip
sudo ./install-sdcard.sh --bootstrap --model pi400 /dev/sdX  # Pi 400 / 4B / CM4

--update refreshes kernel and firmware without wiping BASIC files on C:.

Linux native (AppImage)

Run the desktop build on a Linux x86_64 host (SDL2 window; type at the prompt):

chmod +x mmcore-x86_64.AppImage
./mmcore-x86_64.AppImage

Linux framebuffer (KMS/DRM)

Run the KMS/DRM build from a text virtual terminal (no X11/Wayland):

tar -xzf mmcore-fb-linux-x86_64.tar.gz
./mmcore-fb-linux-x86_64/mmcore-fb

Bootable USB / ISO (Alpine, KMS/DRM)

The ISO ships compressed as mmcore-fb-x86_64.iso.zst. Decompress it,
then write it to a USB stick or microSD; install-usb.sh adds a persistent MMCORE
partition so BASIC files survive reboots:

zstd -d mmcore-fb-x86_64.iso.zst
sudo ./install-usb.sh --iso mmcore-fb-x86_64.iso /dev/sdX

install-usb.sh also accepts the compressed .iso.zst directly.
--read-write keeps the live session writable and persists C: on that
stick or microSD without installing onto an internal disk.

Windows native (x86_64)

Unzip and run mmcore.exe from Explorer or a terminal; keep the
bundled SDL2.dll next to it (the SDL2 window shows output and keyboard
input). The executable is Authenticode-signed for release builds.

Expand-Archive mmcore-windows-x86_64.zip .
.\mmcore-windows-x86_64\mmcore.exe

macOS native (universal: Apple Silicon + Intel)

Unzip and drag mmcore.app to Applications, then launch it from Finder
(the SDL2 window shows the prompt and keyboard input):

unzip mmcore-macos-universal.zip
open mmcore.app

Artifacts

  • mmcore-console-rpi3-v0.287.0.zip — Raspberry Pi 3 / 3B+ / 3A+
  • mmcore-console-pizero2-v0.287.0.zip — Raspberry Pi Zero 2 (no onboard WLAN)
  • mmcore-console-pizero2w-v0.287.0.zip — Raspberry Pi Zero 2 W (CYW43436)
  • mmcore-console-pi400-v0.287.0.zip — Raspberry Pi 400 (also Pi 4B / CM4)
  • install-sdcard.sh — same installer, also inside each zip
  • mmcore-x86_64.AppImage — Linux native SDL2 desktop build
  • mmcore-fb-linux-x86_64.tar.gz — Linux x86_64 KMS/DRM framebuffer build
  • mmcore-fb-x86_64.iso.zst — bootable Alpine live USB/ISO, zstd-compressed (KMS/DRM, Wi-Fi/Ethernet)
  • install-usb.sh — decompress/write the ISO to USB and add the persistent partition
  • mmcore-windows-x86_64.zip — Windows x86_64 native SDL2 build
  • mmcore-macos-universal.zip — macOS universal app bundle (mmcore.app)

Tests

Full test suite. unmapped path: .github/workflows/interrupt-fuzz.yml, so the release could not be scoped to related suites.

Changes since v0.286.0

  • Merge pull request #1366 from marnixk/task/interrupt-fuzz-0ccd
  • tests: add interrupt fuzz harness for SETTICK state isolation (#1352)
  • Merge pull request #1365 from marnixk/task/arena-per-console-0ccd
  • strings: make the expression arena per-console (#1351)
  • Merge pull request #1363 from marnixk/task/execute-frame-0ccd
  • core: run EXECUTE in a self-contained execution frame (#1354)
  • Merge pull request #1362 from marnixk/task/on-n-gosub-frame-0ccd
  • core: push a full gosub frame for ON n GOSUB (#1349)
  • Merge pull request #1360 from marnixk/task/events-branch-pos-0ccd
  • test: pin branch_pos save/restore across SETTICK handlers (#1350)
  • Merge pull request #1358 from marnixk/task/run-nested-helper-0ccd
  • core: route nested bodies through mmb_run_nested (#1348)
  • Merge pull request #1357 from marnixk/task/one-line-if-frame-0ccd
  • if: save one-line IF flags in the gosub checkpoint (#1353)

mmcore v0.286.0

Choose a tag to compare

@marnixk marnixk released this 26 Oct 08:22
9226485

mmcore v0.286.0

Bare-metal mmcore for Raspberry Pi. Each zip is a FAT-ready SD-card image
plus install-sdcard.sh for Linux, and native desktop builds are attached:
a Linux AppImage, a Windows x86_64 zip, and a universal macOS app.

Install

unzip mmcore-console-rpi3-v0.286.0.zip
sudo ./install-sdcard.sh --bootstrap --model rpi3 /dev/sdX   # Pi 3 / 3B+ / 3A+

unzip mmcore-console-pizero2-v0.286.0.zip
sudo ./install-sdcard.sh --bootstrap --model pizero2 /dev/sdX  # Pi Zero 2

unzip mmcore-console-pizero2w-v0.286.0.zip
sudo ./install-sdcard.sh --bootstrap --model pizero2w /dev/sdX # Pi Zero 2 W

unzip mmcore-console-pi400-v0.286.0.zip
sudo ./install-sdcard.sh --bootstrap --model pi400 /dev/sdX  # Pi 400 / 4B / CM4

--update refreshes kernel and firmware without wiping BASIC files on C:.

Linux native (AppImage)

Run the desktop build on a Linux x86_64 host (SDL2 window; type at the prompt):

chmod +x mmcore-x86_64.AppImage
./mmcore-x86_64.AppImage

Linux framebuffer (KMS/DRM)

Run the KMS/DRM build from a text virtual terminal (no X11/Wayland):

tar -xzf mmcore-fb-linux-x86_64.tar.gz
./mmcore-fb-linux-x86_64/mmcore-fb

Bootable USB / ISO (Alpine, KMS/DRM)

The ISO ships compressed as mmcore-fb-x86_64.iso.zst. Decompress it,
then write it to a USB stick or microSD; install-usb.sh adds a persistent MMCORE
partition so BASIC files survive reboots:

zstd -d mmcore-fb-x86_64.iso.zst
sudo ./install-usb.sh --iso mmcore-fb-x86_64.iso /dev/sdX

install-usb.sh also accepts the compressed .iso.zst directly.
--read-write keeps the live session writable and persists C: on that
stick or microSD without installing onto an internal disk.

Windows native (x86_64)

Unzip and run mmcore.exe from Explorer or a terminal; keep the
bundled SDL2.dll next to it (the SDL2 window shows output and keyboard
input). The executable is Authenticode-signed for release builds.

Expand-Archive mmcore-windows-x86_64.zip .
.\mmcore-windows-x86_64\mmcore.exe

macOS native (universal: Apple Silicon + Intel)

Unzip and drag mmcore.app to Applications, then launch it from Finder
(the SDL2 window shows the prompt and keyboard input):

unzip mmcore-macos-universal.zip
open mmcore.app

Artifacts

  • mmcore-console-rpi3-v0.286.0.zip — Raspberry Pi 3 / 3B+ / 3A+
  • mmcore-console-pizero2-v0.286.0.zip — Raspberry Pi Zero 2 (no onboard WLAN)
  • mmcore-console-pizero2w-v0.286.0.zip — Raspberry Pi Zero 2 W (CYW43436)
  • mmcore-console-pi400-v0.286.0.zip — Raspberry Pi 400 (also Pi 4B / CM4)
  • install-sdcard.sh — same installer, also inside each zip
  • mmcore-x86_64.AppImage — Linux native SDL2 desktop build
  • mmcore-fb-linux-x86_64.tar.gz — Linux x86_64 KMS/DRM framebuffer build
  • mmcore-fb-x86_64.iso.zst — bootable Alpine live USB/ISO, zstd-compressed (KMS/DRM, Wi-Fi/Ethernet)
  • install-usb.sh — decompress/write the ISO to USB and add the persistent partition
  • mmcore-windows-x86_64.zip — Windows x86_64 native SDL2 build
  • mmcore-macos-universal.zip — macOS universal app bundle (mmcore.app)

Tests

Full test suite. broad/core change: console/Makefile matches console/Makefile, so the release could not be scoped to related suites.

Changes since v0.285.0

  • Merge pull request #1356 from marnixk/task/pkg-node-1291-0ccd
  • test: free the archive node in test_package_run_app_over_95_nodes (#1291)
  • Merge pull request #1355 from marnixk/task/exec-frame-type-0ccd
  • core: add mmb_exec_frame execution-state type (#1347)
  • Merge pull request #1345 from marnixk/task/end-function-1343-0ccd
  • core: END inside FUNCTION/SUB stops the program (#1343)
  • Merge pull request #1344 from marnixk/task/if-shadow-1342-0ccd
  • if: preserve skipped nested-IF count across interrupt calls (#1342)

mmcore v0.285.0

Choose a tag to compare

@marnixk marnixk released this 26 Oct 05:19
88098a4

mmcore v0.285.0

Bare-metal mmcore for Raspberry Pi. Each zip is a FAT-ready SD-card image
plus install-sdcard.sh for Linux, and native desktop builds are attached:
a Linux AppImage, a Windows x86_64 zip, and a universal macOS app.

Install

unzip mmcore-console-rpi3-v0.285.0.zip
sudo ./install-sdcard.sh --bootstrap --model rpi3 /dev/sdX   # Pi 3 / 3B+ / 3A+

unzip mmcore-console-pizero2-v0.285.0.zip
sudo ./install-sdcard.sh --bootstrap --model pizero2 /dev/sdX  # Pi Zero 2

unzip mmcore-console-pizero2w-v0.285.0.zip
sudo ./install-sdcard.sh --bootstrap --model pizero2w /dev/sdX # Pi Zero 2 W

unzip mmcore-console-pi400-v0.285.0.zip
sudo ./install-sdcard.sh --bootstrap --model pi400 /dev/sdX  # Pi 400 / 4B / CM4

--update refreshes kernel and firmware without wiping BASIC files on C:.

Linux native (AppImage)

Run the desktop build on a Linux x86_64 host (SDL2 window; type at the prompt):

chmod +x mmcore-x86_64.AppImage
./mmcore-x86_64.AppImage

Linux framebuffer (KMS/DRM)

Run the KMS/DRM build from a text virtual terminal (no X11/Wayland):

tar -xzf mmcore-fb-linux-x86_64.tar.gz
./mmcore-fb-linux-x86_64/mmcore-fb

Bootable USB / ISO (Alpine, KMS/DRM)

The ISO ships compressed as mmcore-fb-x86_64.iso.zst. Decompress it,
then write it to a USB stick or microSD; install-usb.sh adds a persistent MMCORE
partition so BASIC files survive reboots:

zstd -d mmcore-fb-x86_64.iso.zst
sudo ./install-usb.sh --iso mmcore-fb-x86_64.iso /dev/sdX

install-usb.sh also accepts the compressed .iso.zst directly.
--read-write keeps the live session writable and persists C: on that
stick or microSD without installing onto an internal disk.

Windows native (x86_64)

Unzip and run mmcore.exe from Explorer or a terminal; keep the
bundled SDL2.dll next to it (the SDL2 window shows output and keyboard
input). The executable is Authenticode-signed for release builds.

Expand-Archive mmcore-windows-x86_64.zip .
.\mmcore-windows-x86_64\mmcore.exe

macOS native (universal: Apple Silicon + Intel)

Unzip and drag mmcore.app to Applications, then launch it from Finder
(the SDL2 window shows the prompt and keyboard input):

unzip mmcore-macos-universal.zip
open mmcore.app

Artifacts

  • mmcore-console-rpi3-v0.285.0.zip — Raspberry Pi 3 / 3B+ / 3A+
  • mmcore-console-pizero2-v0.285.0.zip — Raspberry Pi Zero 2 (no onboard WLAN)
  • mmcore-console-pizero2w-v0.285.0.zip — Raspberry Pi Zero 2 W (CYW43436)
  • mmcore-console-pi400-v0.285.0.zip — Raspberry Pi 400 (also Pi 4B / CM4)
  • install-sdcard.sh — same installer, also inside each zip
  • mmcore-x86_64.AppImage — Linux native SDL2 desktop build
  • mmcore-fb-linux-x86_64.tar.gz — Linux x86_64 KMS/DRM framebuffer build
  • mmcore-fb-x86_64.iso.zst — bootable Alpine live USB/ISO, zstd-compressed (KMS/DRM, Wi-Fi/Ethernet)
  • install-usb.sh — decompress/write the ISO to USB and add the persistent partition
  • mmcore-windows-x86_64.zip — Windows x86_64 native SDL2 build
  • mmcore-macos-universal.zip — macOS universal app bundle (mmcore.app)

Tests

Full test suite. broad/core change: mmbasic/include/mmb_priv.h matches mmbasic/include/*, so the release could not be scoped to related suites.

Changes since v0.284.0

  • Merge pull request #1340 from marnixk/task/if-skip-perf-0ccd
  • core: skip untaken block IF arms arm-to-arm (#1333)
  • Merge pull request #1339 from marnixk/task/cmd-assign-0ccd
  • names: reject bare command assignments instead of running them (#1337)
  • Merge pull request #1338 from marnixk/task/flow-midline-0ccd
  • flow: fix mid-line DO/LOOP and same-line EXIT SUB resume (#1329, #1332)
  • Merge pull request #1336 from marnixk/task/names-const-0ccd
  • names: reject terminating command names and name CONST parameter clashes (#1334, #1335)

mmcore v0.284.0

Choose a tag to compare

@marnixk marnixk released this 26 Oct 02:57
0cef101

mmcore v0.284.0

Bare-metal mmcore for Raspberry Pi. Each zip is a FAT-ready SD-card image
plus install-sdcard.sh for Linux, and native desktop builds are attached:
a Linux AppImage, a Windows x86_64 zip, and a universal macOS app.

Install

unzip mmcore-console-rpi3-v0.284.0.zip
sudo ./install-sdcard.sh --bootstrap --model rpi3 /dev/sdX   # Pi 3 / 3B+ / 3A+

unzip mmcore-console-pizero2-v0.284.0.zip
sudo ./install-sdcard.sh --bootstrap --model pizero2 /dev/sdX  # Pi Zero 2

unzip mmcore-console-pizero2w-v0.284.0.zip
sudo ./install-sdcard.sh --bootstrap --model pizero2w /dev/sdX # Pi Zero 2 W

unzip mmcore-console-pi400-v0.284.0.zip
sudo ./install-sdcard.sh --bootstrap --model pi400 /dev/sdX  # Pi 400 / 4B / CM4

--update refreshes kernel and firmware without wiping BASIC files on C:.

Linux native (AppImage)

Run the desktop build on a Linux x86_64 host (SDL2 window; type at the prompt):

chmod +x mmcore-x86_64.AppImage
./mmcore-x86_64.AppImage

Linux framebuffer (KMS/DRM)

Run the KMS/DRM build from a text virtual terminal (no X11/Wayland):

tar -xzf mmcore-fb-linux-x86_64.tar.gz
./mmcore-fb-linux-x86_64/mmcore-fb

Bootable USB / ISO (Alpine, KMS/DRM)

The ISO ships compressed as mmcore-fb-x86_64.iso.zst. Decompress it,
then write it to a USB stick or microSD; install-usb.sh adds a persistent MMCORE
partition so BASIC files survive reboots:

zstd -d mmcore-fb-x86_64.iso.zst
sudo ./install-usb.sh --iso mmcore-fb-x86_64.iso /dev/sdX

install-usb.sh also accepts the compressed .iso.zst directly.
--read-write keeps the live session writable and persists C: on that
stick or microSD without installing onto an internal disk.

Windows native (x86_64)

Unzip and run mmcore.exe from Explorer or a terminal; keep the
bundled SDL2.dll next to it (the SDL2 window shows output and keyboard
input). The executable is Authenticode-signed for release builds.

Expand-Archive mmcore-windows-x86_64.zip .
.\mmcore-windows-x86_64\mmcore.exe

macOS native (universal: Apple Silicon + Intel)

Unzip and drag mmcore.app to Applications, then launch it from Finder
(the SDL2 window shows the prompt and keyboard input):

unzip mmcore-macos-universal.zip
open mmcore.app

Artifacts

  • mmcore-console-rpi3-v0.284.0.zip — Raspberry Pi 3 / 3B+ / 3A+
  • mmcore-console-pizero2-v0.284.0.zip — Raspberry Pi Zero 2 (no onboard WLAN)
  • mmcore-console-pizero2w-v0.284.0.zip — Raspberry Pi Zero 2 W (CYW43436)
  • mmcore-console-pi400-v0.284.0.zip — Raspberry Pi 400 (also Pi 4B / CM4)
  • install-sdcard.sh — same installer, also inside each zip
  • mmcore-x86_64.AppImage — Linux native SDL2 desktop build
  • mmcore-fb-linux-x86_64.tar.gz — Linux x86_64 KMS/DRM framebuffer build
  • mmcore-fb-x86_64.iso.zst — bootable Alpine live USB/ISO, zstd-compressed (KMS/DRM, Wi-Fi/Ethernet)
  • install-usb.sh — decompress/write the ISO to USB and add the persistent partition
  • mmcore-windows-x86_64.zip — Windows x86_64 native SDL2 build
  • mmcore-macos-universal.zip — macOS universal app bundle (mmcore.app)

Tests

Full test suite. broad/core change: mmbasic/include/mmb_priv.h matches mmbasic/include/*, so the release could not be scoped to related suites.

Changes since v0.283.0

  • Merge pull request #1331 from marnixk/task/coord-onkey-release-1330-0ccd-0ccd
  • input: add ON KEYDOWN held-set handler (#1330)