This thread is for current versions. Entries for versions that have already been released are here.
Rearchitecture/main loop (2.93):
- Updater (wrapper)
- Char Editor
Rearchitecture/main loop TODO:
- Blocked by mid-cycle update stop/restart
- Robot box
- Scroll editor/display
- Numerous dialogs
- Blocked by dialog architecture
- All dialogs and dialog wrappers
- Color selector
- List selector/board selector
- Help system
- Input window
- Blocked by input box/input window/scroll editor reliance on old intake:
- Char Selector
- All dialogs and dialog wrappers
- Robot box
- Blocked by needing delayed error messages and several contexts above:
- Error window
----------------------------------------------------------------------------------------
VERSION 2.93c (bugfix/minor features release)
FEATURES:
Initial SDL3 support.IMPLEMENTEDUpdated Xcode projectIMPLEMENTEDLinux (Fedora) transition/default to SDL3.IMPLEMENTEDLinux (Arch) transition/default to SDL3.IMPLEMENTED
FIXES:
Crash when disconnecting controllersFIXEDShift+(F1-F4) do not workFIXEDMegaZeux 2.93b fails unit tests on loongarch64FIXED- Rare 2.93/002 Custom SFX (old).mzx test failure
Editor block operations between boards crash when extra memory hacks are enabledFIXEDText input boxes sometimes fail to accept text inputFIXEDSet As Defaults Crashes DOSBoxFIXED
----------------------------------------------------------------------------------------
VERSION 2.93d (bugfix/minor features release)
FEATURES:
- Improved config file rewriter to replace .editor.cnf generation.
- Variable debugger shows both real and in-game values (instead of just in-game values).
CLIP layer renderer performance improvements.IMPLEMENTED- DJGPP LPT DAC audio support.
Buildscripts BlocksDS release builds.IMPLEMENTED- Windows (MinGW) transition/default to SDL3. (slow softscale renderer?)
- HTML5 transition/default to SDL3.
FIXES:
SDL doesn't have an easy way to distinguish Alt+key presses from AltGr+key presses (workarounds)PARTIALLY FIXED- Android: Config gets reset at launch
- sdl2_compat causing input delay
KEY1-KEY9 labels are 2.00 additions.FIXEDCaverns buildscript doesn't include .MOD for the NDS port.FIXED
----------------------------------------------------------------------------------------
VERSION 2.93X (bugfix/minor features releases)
FEATURES:
- Main loop char editor, updater.
- Configuration UI.
- Vector layer renderers.
- String setting via F11 is limited
- Further F11/Debug Improvements
- replace option for board editor
- Current char # updating in multi-char editor
- Visible char grid in multi-char editing mode
- Make all Robotic editor shortcuts visible in help display
- Windows (MSVC) transition/default to SDL3.
- macOS (Xcode) transition/default to SDL3. (requires minimum OS version increase to 10.14)
- macOS (Darwin ARM64) transition/default to SDL3. (requires Xcode transition)
- Linux (Debian stable) transition/default to SDL3.
- Linux (Debian testing) transition/default to SDL3.
- Linux (Ubuntu LTS) transition/default to SDL3.
- Linux (Ubuntu latest) transition/default to SDL3.
- Linux (Raspbian) transition/default to SDL3.
- Linux (Alpine) transition/default to SDL3.
- Linux (Flatpak) transition/default to SDL3.
- Switch transition/default to SDL3.
- Wii U transition/default to SDL3.
- Vita transition/default to SDL3.
- Possible portability enhancements / toolchain updates.
FIXES:
- MZX with SDL2 fails to return correct Unicode values for AltGr/deadkey combos
- 3DS file IO is slow, causes lag with sound effects and slow load menu (fsafetranslate)
- Run automatic update check asynchronously if set to "silent"
----------------------------------------------------------------------------------------
VERSION 2.94 (feature-oriented release)
MAJOR FEATURES:
- Finish main loop implementation.
- Socket counters to add barebones net support to MZX
- PlayStation Portable transition off of devkitPSP r16, possibly to SDL2 or SDL3.
- Android transition/default to SDL3.
- Possible portability enhancements / toolchain updates.
FIXES:
- Most thing matching commands have partially broken whirlpool support
- Commands with broken color wildcard support
- BOARD_ID and BIDx,y do not update the blocked array
- Robotic execution doesn't clear update_blocked
----------------------------------------------------------------------------------------
VERSION 2.95 (feature-oriented release)
MAJOR FEATURES:
- Internal robot overhaul, immutable programs, internal program merging during gameplay.
- Possible portability enhancements / toolchain updates.
----------------------------------------------------------------------------------------
VERSION 3.00 (initial debytecode release; debytecode replaces mainline)
- Feature: Decouple bytecode from Robotic. (CURRENT OPEN DBC ISSUES: #321, #240, #771, #773, #833)
- Source transformation
- Programs become separate from Robots
- Replacement of all special counters (e.g. FWRITE_OPEN, LOAD_ROBOT) and some string functions (e.g. SMZX_INDICES, LOAD_ROBOT) with proper commands.
- Replacement of copy/copy block prefixes with proper commands.
- Replacement of Image_file/Sprite/Sprite_colliding "things" with proper commands.
- Replacement of COPY BLOCK $string with proper commands.
- Replacement of COPY BLOCK @file with proper commands.
- Replacement of LOAD CHAR SET "@###file" with a proper command.
- Logical operators
- Extended slime blob spread speeds
----------------------------------------------------------------------------------------
VERSION 3.xx (further language extensions)
- Robot editor improvements (removal of column limit, improved selection, improved syntax highlighting, etc...)
- Control structures
- New bytecode, symbol tables, simple identifier optimizations
- User-defined commands/macros within Robotic
- User-defined functions within Robotic
- INCLUDE "program" (?)
----------------------------------------------------------------------------------------
VERSION TBA (low-priority, tentative, or blocked features)
- Config/F2 overhaul (this would be really great, but it doesn't help get to debytecode any faster and I don't feel like working on it.)
- [Config menu] Allow mapping an SDL joypad to a different MZX joypad number (see above)
- [Config menu] Remap joypad buttons to different generic or key values (see above)
- Editor buffer improvements and mouse block selection/placement. (use LayerEdit for now)
- Distribute game-specific default joypad configurations with MegaZeux (awaiting feedback)
- MZXNet (proper implementation is difficult; current progress by GreaseMonkey stalled)
- Built-in Debug Log (low demand)
- Platform-Neutral On-Screen Keyboard (low demand)
- Revised help system (linked to rearchitecture)
- Pixel-precise viewport and proper spr!_setview for unbound sprites? (it's too much of a mess and can be achieved with unbound sprites)
- Many SAM files from Bernard the Bard play at wrong frequency (Seems to have been a bug in DOS MZX being mistaken for normal behavior? Needs investigation, but low priority.)
- Emscripten: rename() doesn't work
- Better distribution method(s) for the Sega Dreamcast port?
----------------------------------------------------------------------------------------
Any and all comments would be HIGHLY appreciated.
This post has been edited by Lachesis: 13 April 2025 - 01:00 AM
Reason for edit: Xcode switch to SDL3 delayed due to minimum OS verison increase to 10.14 Mojave, no hardware to test.