A high-level assembly language for writing homebrew software and games on retro console platforms.
Wiz is a high-level assembly language that compiles to machine code for retro console platforms like the NES, Game Boy, and SNES. It solves the problem of writing efficient, hardware-specific software for these systems by providing structured programming features while maintaining direct low-level hardware access.
Retro homebrew developers and enthusiasts who want to create games or software for classic consoles using a modern, structured language instead of raw assembly.
Developers choose Wiz for its blend of high-level syntax and low-level control, enabling efficient code generation for constrained retro hardware without sacrificing readability or maintainability.
A high-level assembly language for writing homebrew software and games on retro console platforms.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports if, while, for, functions, and structured programming constructs, making assembly code more readable and maintainable compared to raw assembly, as highlighted in the language features.
Provides low-level register and memory access, branching, and I/O operations, enabling precise control over retro hardware for optimization, which is core to Wiz's philosophy of platform-specific code.
Targets multiple CPU architectures like 6502, Z80, and 65816, with built-in ROM formats for systems like NES, Game Boy, and SNES, simplifying cross-compilation and header configuration.
Includes attributes, inlining, constant folding, and conditional compilation, allowing for efficient code generation and metaprogramming, as detailed in the compile-time features section.
The README explicitly states 'Additional documentation isn't ready yet,' forcing developers to rely on examples and source code, which hinders onboarding and learning.
Build instructions vary by operating system and require specific compilers like C++14 or later, with multiple steps for Windows, Mac, and Linux, adding to the initial setup burden.
No standard libraries are mentioned; developers must write hardware-specific code from scratch or use minimal examples, increasing development time compared to tools with established communities.