MegaZeux v2.92d
AliceLR has released a new version of MegaZeux for your homebrew enabled Nintendo 3ds/2ds portable 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.
Instructions
# MegaZeux
[Official MegaZeux git repository](https://github.com/AliceLR/megazeux)
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](https://vault.digitalmzx.net/).
[!-- Download URLs. --]
[megazeux-w64]: https://vault.digitalmzx.net/download.php?latest=windows64
[megazeux-w32]: https://vault.digitalmzx.net/download.php?latest=windows32
[megazeux-dos]: https://vault.digitalmzx.net/download.php?latest=dos
[megazeux-osx]: https://vault.digitalmzx.net/download.php?latest=osx
[megazeux-ppc]: https://vault.digitalmzx.net/download.php?latest=osxppc
[megazeux-u64]: https://vault.digitalmzx.net/download.php?latest=ubuntu64
[megazeux-u32]: https://vault.digitalmzx.net/download.php?latest=ubuntu32
[megazeux-d64]: https://vault.digitalmzx.net/download.php?latest=debian64
[megazeux-d32]: https://vault.digitalmzx.net/download.php?latest=debian32
[megazeux-rpi]: https://vault.digitalmzx.net/download.php?latest=raspbian
[megazeux-nds]: https://vault.digitalmzx.net/download.php?latest=nds
[megazeux-3ds]: https://vault.digitalmzx.net/download.php?latest=3ds
[megazeux-wii]: https://vault.digitalmzx.net/download.php?latest=wii
[megazeux-swi]: https://vault.digitalmzx.net/download.php?latest=switch
[megazeux-psp]: https://vault.digitalmzx.net/download.php?latest=psp
[megazeux-src]: https://vault.digitalmzx.net/download.php?latest=src
[!-- 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]](https://aur.archlinux.org/packages/megazeux/)
[![Void Linux][arch-void]](https://github.com/void-linux/void-packages/tree/master/srcpkgs/megazeux)
[![Gentoo][arch-gen]](https://github.com/Spectere/megazeux-overlay)
[![Amiga OS 4 (outdated)][arch-ami]](http://aminet.net/package/game/misc/pfp-mgzx)
[![GP2X (outdated)][arch-gp2x]](https://dl.openhandhelds.org/cgi-bin/gp2x.cgi?0,0,0,0,26,2920)
[![Pandora (outdated)][arch-pand]](https://repo.openpandora.org/?page=detail&app=megazeux_ptitseb)
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
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
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](https://discord.gg/XJCvb4P) [br/]
[DigitalMZX forums](https://digitalmzx.net/forums/) [br/]
[MegaZeux Bug tracker](https://www.digitalmzx.net/forums/index.php?app=tracker&showproject=4) [br/]
[MegaZeux Feature requests](https://www.digitalmzx.net/forums/index.php?app=tracker&showproject=9) [br/]
[AliceLR on GitHub](https://github.com/AliceLR) [br/]
## Resources
[Official MegaZeux game archive](https://vault.digitalmzx.net/) [br/]
[MegaZeux help file](https://vault.digitalmzx.net/help.php) [br/]
[Development roadmap](https://www.digitalmzx.net/forums/index.php?showtopic=15226) [br/]
[Compiling MegaZeux on the official Wiki](https://www.digitalmzx.net/wiki/index.php?title=Compiling)
Credits
-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
Changelog v2.92d
May 8th, 2020 - MZX 2.92d
This release includes minor new features, an overhaul to the way
MZX handles text input from SDL 2.0 which should fix various
text bugs (particularly with non-US keyboards), fixes required
to get the Android port working, and a new file format document.
Other things of note are two libxmp patches fixing issues with
S3Ms saved by the original Modplug Tracker and with GDMs relying
on fine effect continue, checkres updates, and misc. fixes for
the Windows and HTML5 ports.
Fixed compatibility issues in this release are a string compare
bug that prevented Mines of Madness from working and MODs with
extended filenames working when referenced by their truncated
DOS SFN in the MZX file. The latter fix only works when there is
a single unambiguous match, which turned out to be essentially
every affected game.
It is worth noting that the Android port is EXPERIMENTAL and is
likely to have compatibility issues on many devices. A USB OTG
or Bluetooth keyboard or game controller is required at minimum.
Many devices have key press issues that are likely caused by
drivers or SDL. SDL text input events are disabled as they cause
even more keyboard bugs, and as a result non-US keyboard layouts
probably won't work with this port right now. Other problems
with this port that have been reported include graphical bugs
and crashes when focusing/unfocusing MegaZeux.
USERS
+ Added robot editor shortcuts CTRL+Home and CTRL+End to jump to
the start and the end of the current program.
+ Char selector tile movement is now disabled outside of the
char editor and for 1x1 char selections. This allows typing
-/_/=/+ in other char selectors to jump to those characters.
+ Added docs/fileform.html, a document describing all currently
supported MZX file formats in excessive detail.
+ When startup_file is provided with both a directory and a
filename and no startup_path has been set, the directory will
now be used as startup_path. If startup_path is set, the
directory portion of startup_file will still be ignored.
+ The flash thing editor functions (Show Robots, etc.) now use
the protected charset and will display with the protected
palette in SMZX mode and in regular mode situations where the
normal flashing would be difficult/impossible to see.
+ Fixed a bug where input text with no corresponding internal
key would be ignored by the robot editor.
+ Fixed a bug where some AltGr key combinations would not work
in the robot editor (note: SDL doesn't distinguish Alt from
AltGr, so any Alt key combos with a special meaning in the
robot editor will still be intercepted by MZX).
+ Windows Alt+numpad sequences corresponding to ASCII characters
32-126 should now be recognized.
+ Fixed an out-of-memory error in the save slot UI and improved
its mouse functionality.
+ Added optional CRC-32 output to checkres. Currently this flag
only works for files in ZIP archives and no CRC-32 validation
is performed.
+ Fixed checkres parsing for LOAD CHAR SET "+&+var&file.chr".
+ Fixed checkres crash that could occur on some platforms when
attempting to checkres a directory.
+ Fixed wrong robot board positions reported by checkres for
some files when run with -vv.
+ Repurposed the old checkres -A flag to display everything but
unused files, which should be much more useful than the older
behavior (particularly with loose files in directory dumps).
+ Fixed memory leaks in legacy_assemble_line.
+ Fixed potential null termination issues in both world loaders
that could be triggered with invalid board name, robot name,
scroll, sensor, sfx, and status counter strings. Also improved
loaded robot stack bounds checks.
+ Decreased the sizes of the counter and string structs and
fixed a crash that would occur when attempting to expand the
counters or strings lists beyond 1 billion. Checks have been
added to prevent them from expanding beyond 2^31 (please don't
actually use this many counters/strings).
+ Fixed string comparison for pre-2.81 games that relied on
null-terminated string compares. This fixes Mines of Madness.
+ Fixed hlp2html bug where certain chars wouldn't be escaped and
decreased the size of the output HTML files somewhat.
+ Fixed libxmp playback for S3Ms containing ADPCM4 samples. This
fixes mm2flash.s3m in ZeuxDrop.
+ Fixed libxmp playback for GDMs where 100/200/A00 should
continue the fine portamento and fine volume slide commands.
This fixes LB2_7.GDM from Kikan.
+ fsafetranslate now attempts to detect matches for truncated
DOS SFNs on non-Windows platforms. If an unambiguous match for
a truncated SFN is found, the SFN will be expanded to the
match. This fixes numerous games relying on truncated SFNs
with unambiguous matches.
+ Reimplemented COPY # # # # for layer-to-layer copies.
+ Fixed a collision bug affecting unbound sprites with ccheck 3
set in SMZX mode where wrong colors could be treated as the
transparent color for the purposes of collision.
+ Fixed softscale bug on some platforms where the screen border
wouldn't be cleared.
+ The GLSL renderer will now attempt to use a framebuffer when
available. This fixes GL_INVALID_OPERATION bugs with certain
OpenGL ES 2.0 implementations.
+ Directory navigation in the file manager now checks directory
access permissions before allowing navigation and displays an
error when navigation fails.
+ Fixed windowing code bug in extended macro editor that would
occur after selecting "Default" multiple times.
+ Fixed a bug where long extended macros could sometimes break.
+ Fixed extended macros not working when the params line is
indented by more than one space or tab.
+ Windows builds now attempt to load and call SetProcessDPIAware
on startup. This should fix undesirable DPI-related scaling
and fullscreen bugs.
+ Fixed Emscripten crashes on startup when built with Emscripten
1.39.5 and up caused by usage of deprecated canvas behavior.
+ Fixed a COPY BLOCK $string bug where the buffer could be
allocated at the empty destination string's value on some
platforms and a faulty bounds check would result in the string
being expanded but otherwise blank.
DEVELOPERS
+ Added a set of C++-based unit tests for portions of MZX that
can't be reached/tested easily by MZX worlds. These tests will
be built and run when "make test" is used prior to running the
test worlds.
+ Decoupled SDL 2 text input handling from regular key handling
and added a text input buffer. Text keys can now be requested
multiple times and either as ASCII or unicode; the next key in
the buffer is returned on subsequent calls. intake and editor
text entry can now accept multiple text chars per frame.
+ Added SDL 1.2 implementation for __peek_exit_input.
+ Contributed sound engines (libxmp, libmodplug) should now
properly rebuild after config.sh is run.
+ Fixed a bug where khash tables couldn't expand beyond 2^31,
added hash caching, made the MZX copy of khash use MZX style,
and better documented the changes made to it.
+ Added fast sprintf replacements for Robotic counter to string
conversion (counter interpolation, string/counter compares).
+ Fixed alignment issues in memcasecmp.
+ Fixed alignment issues in get_cursor_color.
+ Added a config.sh flag for UndefinedBehaviorSanitizer.
+ Categorized config.sh flags list.
+ Added a trace logging level that is disabled by default and
changed most dns.c, fsafeopen.c, and checkres.c debug logging
to use it. Use the --enable-trace config.sh flag to enable
trace logging for debug builds.
+ Added a config.sh flag to build using GCC's -fanalyzer flag
(disabled by default).
+ Refactored path functions out of util.c.
+ Replaced the Android build scripts with an improved Makefile
system. The Android Makefile now uses the NDK toolchains
directly. Also added support for APK signing and fixed several
Android port bugs.
+ MZX will now exit on startup if no world could be loaded and
the SDL dummy video driver is active.
- Removed -fpermissive from CXXFLAGS (pointless).
- Removed -fbounds-check from debug builds (pointless; MegaZeux
doesn't use GCC to build any Fortran or Java code)
Download: MegaZeux v2.92d
0 Comments