# MegaZeux Platform Support Matrix

Best viewed with >=1920 pixel monitor. Requires Javascript.

Legend: Ideal Normal Not applicable Suboptimal, Trivially fixable Faulty, Not trivially fixable

### Platform Notes

1. These platforms are currently unsupported due to lack of available hardware to test on, lack of working toolchains, inherent compatibility issues with MegaZeux, or simply lack of interest. Information based on last known working builds (if any).
2. Could use existing `package.sh' however this does not handle PDB files.
   MSVC binaries are replicate of MinGW binaries and require a proprietary non cross-capable compiler.
3. "Optimized Visibility" refers to the hiding of library symbols which are not required or referenced outside of that library. An "optimized" library is smaller and loads faster.
   Required on Win32. Only applicable with CONFIG_MODULAR=y builds.
4. Disabled due to miscompilation of stack protector in conjunction with C++ exceptions with some MinGW compilers.
5. The editor and help system features are disabled to conserve cache on embedded platforms. The features build and work on these platforms, but they are basically unusable due to the lack of any on-screen keyboard. Additionally, hash tables have been disabled on the NDS to conserve memory.
6. The updater may or may not work on these platforms, but no builds are currently provided by the official update hosts.
7. The updater is typically disabled in the Linux binaries that are shipped (for distributions like Debian or Fedora), even though the feature can easily be enabled.
   The issue is that MegaZeux is installed system-wide on these platforms and overwrites cannot be guaranteed.
   Additionally, it is felt that the advanced package management on these platforms supercedes any usefulness of the built-in updater.
8. The Android platform, while having been listed in this table for a long time, has never really been supported. What little work exists is extremely old, and no viable build has ever been created.
9. Building MZX with SDL on the 3DS is viable, but the software renderer is far slower, currently offers no additional functionality, and doesn't allow for special features such as screen dragging. Furthermore, SDL significantly increases the size of the MZX executable.
10. Building MZX with SDL Wii is viable, but produces larger binaries than desired, relies on the software renderer, and SDL Wii is considered unstable.
11. Layer rendering is supported on this platform by as it uses the SDL software renderer, but this port does not currently support a color depth greater than 8bpp, so the UI palette will not be protected in SMZX mode.
12. The GL renderers work on the Switch but have been disabled because they cause system crashes when exiting MegaZeux. They generally seem to perform worse than softscale, so there isn't much reason to fix this.

### Copyright

This document may be copied and redistributed without limitation or reservation.