wAx is a machine language monitor for the Commodore VIC-20. wAx runs as a BASIC extension. This means that wAx’s commands, including assembly, can be executed from BASIC’s direct mode, or seamlessly within BASIC programs.
wAx has all of the usual monitor tools like assembly, disassembly, data entry (hex, text, and binary), breakpoint management, search, transfer and fill, compare, memory load and save, that kind of thing.
But it also has features that are unique or uncommon in native assemblers. wAx is a “somewhat symbolic assembler,” supporting simple symbols and forward references, arithmetic operators, multi-pass assembly capability, and code relocation. It offers built-in support of 6502 “illegal” opcodes. It provides for code unit testing with an assertion tester and selection of multiple BASIC programs in memory. wAx integrates with BASIC by allowing substitution of BASIC variables into wAx commands.
wAx also has a user plug-in manager, with a documented API so that you can write your own plug-ins. Or, just use some of the built-in plug-ins included with the package!
wAx is hosted on the wAxpander cartridge, which includes 27K of expanded RAM, and a reset button.