MZX 2.9x Credits
Credits:
Lachesis - Developer, maintainer
Terryn - Help file, testing
Lancer-X - Developer (layer rendering), testing
asiekierka - Developer (various ports), testing
Spectere - Developer (Vita port), testing, macOS builds, MSVC/Xcode
Dizzy - Testing, Debian/Ubuntu binaries
ajs - Developer (initial SDL 2 support)
>>Download MegaZeux 2.93<<
Or, on Windows, you can press U or F7 on the title screen to run MegaZeux's built-in updater.
Note: 2.93X is the last release series that will support Android Jelly Bean.
Note: 2.93X is the last release series that will use devkitPSP to compile the PSP port.
>>Useful Links<<
>>Features Added in 2.90+<<
Want to catch up on the major features added since 2.90 and don't want to read through the changelog for them? They're summarized in these threads:
>>Features Added in 2.93<<
This is a short summary of the most significant changes to MegaZeux in this release. Not all changes are listed here; please refer to the changelog for a more complete list.
MegaZeux 2.93 Changelog
Robot editor undo/redo
You can now use Ctrl+Z and Ctrl+Y to undo/redo in the robot editor! This one seemed important enough to bump up here!!!!!
New help file categories and Robotic command listing
The help file table of context and Robotic Reference Manual links are now categorized. Terryn has added a second Robotic command listing with commands categorized by type. Thank you Terryn!
General enhancements
- MegaZeux worlds now support up to 256 custom sound effects, and custom sound effects can be up to 255 characters long. For now, the custom SFX editor still has the same SFX length limitation, and only 100 custom SFX can be edited, but this should be addressed in a future version.
- Static sprites now collide as if they are located on the board at the position where they are displaying. This change also affects the "if Sprite x y" command.
- Encrypted MegaZeux 2.x worlds are now decrypted in memory instead of modifying the original file.
- MegaZeux 1.x worlds are now supported and can be loaded normally.
- Dragons now behave the same as they did in DOS versions by default (1/8th chance random movement). If you like the old port behavior, you can change this in the board settings dialog.
- By default, the board load/reset on entry features now also affect a board when entering it from itself (in 2.90 through 2.92, they did not). This can also be configured in the board settings dialog.
- There is now an About MegaZeux interface accessible from the main menu, which displays build and license information (unless you're using Debian apparently OH WELL).
Robotic enhancements
- New label: PLAYERDIED. This is sent when the player dies (HEALTH reaches 0 at the end of the cycle or endlife is used) on the board the player died on. Because player death occurs at the end of the cycle, this label won't be received until the next cycle.
- New counter: KEY_PRESSEDn. This is like KEYn, but it uses KEY_PRESSED keycodes instead of PC XT keycodes.
- New counter: DATE_WEEKDAY. This returns the current day of the week between 0 (Sunday) and 6 (Saturday).
- New counter: SPRn_OFFONEXIT. When set to 1, sprite n will be turned off when the current board is exited (same as setting SPRn_OFF).
- New counters: VIEWPORT_X, VIEWPORT_Y, VIEWPORT_WIDTH, and VIEWPORT_HEIGHT. These counters allow the current viewport settings to be read.
- When MOD_LOOPSTART is set to a position after MOD_LOOPEND, the Ogg Vorbis player will now correctly perform this "loop" instead of disabling the loop.
Editor enhancements
- When placing a layer MZM on the board, the block type (CustomBlock, CustomFloor, or Text) can now be selected. Previously, this would always place CustomBlocks.
- ANSi/TXT import and export has been reimplemented from scratch.
- Watchpoints should now perform much faster in most cases.
- A numeric or string value can now be specified for a watchpoint. When provided, the watchpoint will halt only if the value of the counter/string changes to the specified value.
- There is a new RAM submenu in the variable debugger (under "World"). This might be useful if you're trying to make a game for console ports.
- The vlayer now has saved positions in the editor, similar to the saved positions when editing the board. These use the same shortcuts as board saved positions and work more or less the same way.
Video and audio enhancements
- Added a new glslscale renderer. This renderer uses the software renderer internally combined with the GLSL scaling shaders of the glsl renderer. This renderer is much faster than glsl on anything with embedded or no graphics, and is now the default renderer selected by auto_glsl.
- Fixed graphical issues in the glsl renderer caused by texture packing (a bug sometimes referred to as "cocuments"). The new texture packing is also faster than the old packing.
- New libxmp update with numerous playback fixes, especially in the IT, FAR, and MED formats.
Utility improvements
- The ccv and png2smzx utilities now support several new formats, including BMP (most uncompressed variants, RLE8, RLE4), GIF (multiple layers will be composited), NetPBM, and PNG (ccv didn't support this before).
- New utility: y4m2smzx. This converts a y4m file (or more realistically, a piped stream from ffmpeg) into a custom "MZV" video file. A reference Robotic program for displaying these files can be found in the utils folder as "mzvplay.txt".
Portability enhancements
- The 3DS port now supports 800x240 mode. This can be toggled with the 3DS keyboard (thanks asie).
- The NDS port can now use an unused 352kB portion of VRAM as onboard extra memory storage, allowing bigger worlds to run on the NDS (thanks asie).
- I rewrote the extra memory system used by the NDS port to be cross platform and to support compression for boards and robot programs, allowing bigger worlds to run on the NDS. The PSP and DOS ports also enable this feature by default.
- I added a virtual filesystem to MegaZeux, which currently is used to cache files on the 3DS and Vita ports for decent file IO performance improvements.
- Save slots are now enabled by default on the console ports (thanks Spectere).
PlayStation Vita Port
MegaZeux now supports the PlayStation Vita. Thanks Spectere!
DOS 32-bit Port
MegaZeux now supports DOS! Again!!! This port currently supports the SoundBlaster 16 for audio only. Overall, file IO is slower than the original DOS versions, but gameplay is only roughly 40% slower than before (estimated by asie). Thanks to asie and Mr_Alert for their work on this port!
Wii U Port
What's a Wii U? Thanks to asie for this port.
Dreamcast Port
This is a very rough port, and using it for now will probably require making your own disc image from the contents of the provided ZIP archive (thanks asie).
This post has been edited by Lachesis: 11 January 2024 - 11:51 AM
Reason for edit: All releases are now up.