MegaZeux v2.92b Released

MegaZeux v2.92b Released

AliceLR has released a new version of MegaZeux for your homebrew enabled Nintendo Switch hybrid video gaming console. MegaZeux is a game creation system (GCS) created by game developer Alexis Janson in 1994. Originally a DOS program, in 2005 a multi-platform port was released by Exophase. The most recent version of MegaZeux is 2.92b, which was released on September 23rd, 2019.


This is a somewhat important bugfix release. Things of note for all users: this fixes a fairly bad bug that's pretty much as old as the port where, while COLOR FADE OUT is active, saved games would save the active palette (i.e. a bunch of 0s) instead of the stored palette (i.e. your game's palette). Some games managed to work in spite of this because of another bug specific to LOAD_GAME when loading faded-out saves. The LOAD_GAME bug was fixed in 2.92, which made the save bug more apparent. Affected games fixed by this release include Ruin Diver III, Better Than Nothing, and Welkin(?). Other bug fixes include a mouse warp bug and some bugs loading and importing pre-port worlds with null boards. basically, update already

There are also a few things of note to embedded port users. Saving and loading worlds/saves on the NDS, 3DS, Wii, and Switch should now be somewhere between "slightly faster" and "a lot faster" (slower computers might benefit from this too). File manager load times for the NDS, 3DS, and Wii should now be much faster than they were before in folders containing a lot of files (this issue isn't entirely resolved for the 3DS when loading a world, but it should be much more bearable). The NDS and 3DS ports now respond to the "video_ratio" config setting for the lower screen, which now defaults to "classic" for the NDS, 3DS, and Wii. The RAM cartridge support unique to the NDS port has received numerous fixes and enhancements. A graphical issue in the Wii's GX renderer has been fixed. Finally, the 3DS renderer should be more stable than before, and some of its graphical issues have been resolved.

Finally, asie has written a frontend for the HTML5 (Emscripten) port, meaning it is much closer to general usability. asie also adapted it to use Asyncify instead of Emterprify, so performance is much closer to what you'd expect from a native port. I've held back release of this port for the time being until some frontend issues are resolved, but ideally there will be a 2.92b build of it within the next week or so.

What's New?

September 23rd, 2019 - MZX 2.92b

This release fixes several bugs, notably 3DS and Wii rendering
issues and a bug where the wrong palette would be saved while
COLOR FADE OUT was active. Also in this release are performance
and usability improvements for the NDS and 3DS ports and a new
frontend for HTML5/Emscripten builds (special thanks to asie).


+ Fixed a bug where mouse warping both mouse coordinates would
not actually warp both coordinates.
+ Fixed a port regression where save files would be saved with
the wrong color intensities while COLOR FADE OUT was active
(or during the first cycle of a board for [2.90 worlds). This
fixes fading bugs in Ruin Diver 3.
+ Added compatibility for a bug where the robot message box
would disable COLOR FADE OUT in versions 2.83 through 2.90X.
This fixes several BKZX games.
+ Fixed checkres bugs separately preventing detection of global
robots in both world formats.
+ Fixed 3DS renderer bug where the UI wouldn't properly display
char foregrounds with extended graphics enabled.
+ Fixed 3DS renderer bug where sprites containing chars with
transparent foregrounds wouldn't draw any char backgrounds.
+ Fixed 3DS renderer crashes that would occur when large numbers
of sprites were active.
+ Improved file manager directory read times for 3DS/NDS/Wii.
+ File IO for world saving/loading is now buffered, which should
improve save/load times on the 3DS and Switch.
+ Enabled writing zip data descriptors for the Switch.
+ Added classic/stretch video ratio support for the 3DS and NDS
lower screens. (asie)
+ "classic" is now the default ratio for the 3DS, NDS, and Wii.
+ Fixed GX renderer bug where chars with both colors transparent
could cause various graphical bugs in normal MZX mode.
+ Fixed bug where board exits could be cleared when deleting a
board or after loading a world containing null boards.
+ Fixed bugs when playing STARDSTM.GDM with the libxmp engine.
+ Fixed a crash that could occur when importing a world in the
editor containing a null board.
+ Fixed a bug where null boards wouldn't be properly refactored
on the NDS while using a memory cart, causing entrances to
point to the wrong boards and possibly other problems.
+ Fixed a bug that could corrupt the ends of robot programs when
using an NDS memory cart.
+ Improved world loading times when using an NDS memory cart.
+ Improved NDS memory cart transfer speed. (asie)
+ Disabled NDS logging hacks when stdio redirect is enabled.
+ Exiting MZX on the NDS should now power off the NDS.
+ Added Emscripten frontend. (asie)
+ Fixed bug where errors in the title screen Load World window
could clear the rest of the screen.
+ Fixed crash that could occur when attempting to load an
invalid zip world.
+ Non-recursive directory deletion in the file manager now tries
to delete the directory itself instead of its contents. Added
error messages for failed file and directory deletes.


+ Added initial support for the dirent d_type field to help
avoid stat calls when reading directories.
+ Replaced most fseek calls in the legacy world loader.
+ Refactored move_current_board to be more readable.
+ Corrected some of the editor's bad extram handling and added
warnings to debug builds to help debug it (no platforms at the
present support both the editor and extram).
+ Replaced error wait_event() with update_event_status_delay().
+ Added preliminary VFS code to replace function pointer casting
in zip.c.
+ Fixed Wayland/X11 detection for setups that don't allow X or
Xorg to be run normally.
+ Unix builds should now attempt to load the icon from the
installed path instead of from a hardcoded path. Builds with
no sharedir set will use "contrib/icons/quantump.png" instead.

Firmware 9.0.0 Warning
Due to changes in the way firmware 9.0.0 handles user input homebrew will have to be recompiled to function correctly using this firmware. Read the changelog to make sure the homebrew you're using has been updated to work on 9.0.0 if you're using firmware 9.0.0 or newer.


# MegaZeux
[Official MegaZeux git repository](

MegaZeux is a game creation system (GCS) created by game developer Alexis Janson in 1994.
Originally a DOS program, in 2005 a multi-platform port was released by Exophase. The most
recent version of MegaZeux is 2.92, which was released on July 22nd, 2019.

MegaZeux is officially supported on Windows, Linux/BSD, MacOS, as well as the NDS, 3DS, Wii,
and PSP consoles. Historical support has also existed for GP2X, Pandora, and AmigaOS 4.

## Downloads

Windows releases are packaged with a copy of the game Caverns of Zeux.
Older versions are available at [DigitalMZX](

[!-- Download URLs. --]

[!-- Images for download links. --]
[arch-w64]: contrib/archicons/windows64.png "Windows x64"
[arch-w32]: contrib/archicons/windows32.png "Windows x86"
[arch-dos]: contrib/archicons/dos.png       "MS DOS (MZX 2.70)"
[arch-osx]: contrib/archicons/osx.png       "MacOS"
[arch-ppc]: contrib/archicons/osxppc.png    "Mac OS X (PowerPC)"
[arch-u64]: contrib/archicons/ubuntu64.png  "Ubuntu AMD64"
[arch-u32]: contrib/archicons/ubuntu32.png  "Ubuntu i386"
[arch-d64]: contrib/archicons/debian64.png  "Debian AMD64"
[arch-d32]: contrib/archicons/debian32.png  "Debian i386"
[arch-rpi]: contrib/archicons/raspbian.png  "Raspbian"
[arch-aur]: contrib/archicons/archlinux.png "Arch Linux (via AUR)"
[arch-void]:contrib/archicons/voidlinux.png "Void Linux"
[arch-gen]: contrib/archicons/gentoo.png    "Gentoo"
[arch-nds]: contrib/archicons/nds.png       "Nintendo DS"
[arch-3ds]: contrib/archicons/3ds.png       "Nintendo 3DS"
[arch-wii]: contrib/archicons/wii.png       "Nintendo Wii"
[arch-swi]: contrib/archicons/switch.png    "Nintendo Switch"
[arch-psp]: contrib/archicons/psp.png       "PlayStation Portable"
[arch-ami]: contrib/archicons/amiga.png     "Amiga OS 4"
[arch-gp2x]:contrib/archicons/gp2x.png      "GP2X"
[arch-pand]:contrib/archicons/pandora.png   "Pandora"
[arch-src]: contrib/archicons/src.png       "Source code"

[!-- Displays the download links as images. --]
  [![Windows x64         ][arch-w64]][megazeux-w64]
  [![Windows x86         ][arch-w32]][megazeux-w32]
  [![Mac OS X            ][arch-osx]][megazeux-osx]
  [![Ubuntu AMD64        ][arch-u64]][megazeux-u64]
  [![Ubuntu i386         ][arch-u32]][megazeux-u32]
  [![Debian AMD64        ][arch-d64]][megazeux-d64]
  [![Debian i386         ][arch-d32]][megazeux-d32]
  [![Nintendo DS         ][arch-nds]][megazeux-nds]
  [![Nintendo 3DS        ][arch-3ds]][megazeux-3ds]
  [![Nintendo Wii        ][arch-wii]][megazeux-wii]
  [![Nintendo Switch     ][arch-swi]][megazeux-swi]
  [![PlayStation Portable][arch-psp]][megazeux-psp]
  [![Source code         ][arch-src]][megazeux-src]

The following platforms have MegaZeux releases available via repository:

  [![Arch Linux (via AUR)][arch-aur]](
  [![Void Linux][arch-void]](
  [![Amiga OS 4 (outdated)][arch-ami]](
  [![GP2X (outdated)][arch-gp2x]](,0,0,0,26,2920)
  [![Pandora (outdated)][arch-pand]](

Downloads are also available for the following platforms, but are not regularly updated:

  [![Mac OS X (PowerPC)  ][arch-ppc]][megazeux-ppc]
  [![Raspbian            ][arch-rpi]][megazeux-rpi][![MS DOS (MZX 2.70)   ][arch-dos]][megazeux-dos]

## Credits

| MegaZeux 2.9x     |                                  |
| ----------------- | -------------------------------- |
| Alice Rowan       | Developer/current maintainer     |
| Dr. Lancer X      | Developer (layer rendering)      |
| Adrian Siekierka  | Developer (various ports)        |
| Alistair Strachan | Developer (initial SDL 2 support)|
| Terryn            | Help file                        |
| Spectere          | Mac OS X builds                  |
| Insidious         | Ubuntu/Debian builds             |
| Others            | Various                          |

#### MegaZeux Credits

Programming and Overall Design by Gilead Kutnick (Exophase),
Alistair Strachan (ajs), Alice Rowan (Lachesis) and Lancer-X.

Based off of original program and source code by Alexis Janson.

Help file by Terryn.

Default SMZX palette by Joel Lamontagne (LogiCow).

ccv utility by Lancer-X.
png2smzx utility by Alan Williams (Mr_Alert).
checkres utility by Josh Matthews (Revvy), ajs and Lachesis.

Port contributors: Adrian Siekierka (asiekierka) [3DS],
Mr_Alert [Wii], Kevin Vance [NDS], Simon Parzer [GP2X].

Renderer code contributors: LogiCow, Mr_Alert.
Shader code contributors: David Cravens (astral), GreaseMonkey.

Icon by Quantum P.; Extra icons by LogiCow.
GDM conversion by ajs and MadBrain.
Other past contributors: Spider124, Koji, JZig, Akwende, MenTaLguY.

#### Special Thanks

Insidious (.deb Builds)
mzxgiant (MSVC Testing, Bug Fixes)
mzxrules (Testing)
Quantum P. (OS X Testing / Builds)
Spectere (OS X Builds)
Terryn (Testing)
Wervyn (Testing)

## License

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

## Contact

Want to talk about MegaZeux? Encountered a bug or would like a new feature?
The MegaZeux community and development team can be contacted through Discord,
GitHub, or the DigitalMZX forums.

[MegaZeux Discord]( [br/]
[DigitalMZX forums]( [br/]
[MegaZeux Bug tracker]( [br/]
[MegaZeux Feature requests]( [br/]
[AliceLR on GitHub]( [br/]

## Resources

[Official MegaZeux game archive]( [br/]
[MegaZeux help file]( [br/]
[Development roadmap]( [br/]
[Compiling MegaZeux on the official Wiki](

Alice Rowan Developer/current maintainer
Dr. Lancer X Developer (layer rendering)
Adrian Siekierka Developer (various ports)
Alistair Strachan Developer (initial SDL 2 support)
Terryn Help file
Spectere Mac OS X builds
Insidious Ubuntu/Debian builds Others Various

Links & Downloads

Post a Comment