Home
This is the wiki for the original wAx. If you have wAx2 or wAxpander, please see https://github.com/Chysn/VIC20-wAx2/wiki
Video Manual: https://www.youtube.com/playlist?list=PLC5d4vp670Nu-dw8KbIhtJjpz7Y0RTM89
- About wAx
- 6502 Disassembler
- 6502 Assembler
- Advanced Assembler Topics
- Memory Dump
- Memory Editor
- Register Editor
- Subroutine Execution
- Breakpoint Manager
- Memory Save and Load
- Copy
- Search
- Assertion Tester
- Numeric Conversion
- Change BASIC Stage
- User Tool
The wAx source code targets the xa cross assembler (https://www.floodgap.com/retrotech/xa/). Various degrees of modifications may need to be performed to target other assemblers, especially with respect to label redefinition syntax (-loop), data pseudo-ops (.byte, etc), and sometimes (more annoyingly) case for text data.
To assemble wAx, use the following command (Linux and macOS):
xa -o wax4k.bin ~/wAx/src/wax4k.asm
Then, to add a location header for loading on a VIC-20, use the following command (Linux and macOS):
printf "\x00\x60" | cat - wax4k.bin > wax4k
Then, transfer the file to your favorite VIC-20 storage medium and LOAD "WAX4K",device,1
With your VIC-20 turned off, plug the wAx cartridge in, then power up your VIC. Start wAx with
SYS 6*4096
Load wAx with
LOAD "WAX4K",8,1
When it is loaded, start wAx with
SYS 6*4096
wAx is friendly to your BASIC programs. When you start wAx, it will fix the BASIC pointers that are usually corrupted with LOAD,8,1. You may feel free to load wAx with a BASIC program in memory, but you will need to start wAx after the load operation to fix BASIC pointers.