Waltress
The first ever PPC Assembler that's entirely handwritten in PPC. It is 100% Broadway compliant. Waltress is also a Gecko Cheat Code assembler.
Current version: 0.6
Created by
Vega
![[Image: waltressHBC.jpg]](https://mariokartwii.com/pics/other/waltressHBC.jpg)
Why the name
Waltress? Waltress is one of Daysha's cats, and she is a shy black & brown long hair cat with a gigantic fluffy tail. Waltress is also the site mascot.
Created by
Vega
Version 0.6
Release Date: October 16, 2023
Waltress is my own PPC Assembler that I have created using handwritten PPC Assembly. There is an HBC App version and a Desktop Version (QEMU required). There is full support for
04,
06,
C0, and
C2 Gecko codetypes. Anything that can be assembled can be disassembled, and vice versa.
Read the README!
Read the NOTES.txt!!!
Here's the Waltress Package Download Links~
https://mariokartwii.com/downloads/Waltress10162023.zip (v0.6)
https://mariokartwii.com/downloads/Waltr...023sha.txt (sha256sum hash for verifying download if desired)
Here's the Github Repo Link~
https://github.com/VegaASM/Waltress
Once you have downloaded Waltress, extract the Download. There will be a "Waltress10162023" folder. Inside the folder is a README. Please
READ the README to understand the rest of the files and document contained in the download, and also on how to run Waltress.
Also please
READ the NOTES.txt document!
Quick Guide (
HBC):
- Extract Waltress10162023.zip
- Inside Waltress10162023 folder is the HBC-Waltress-0.6 folder.
- Move that folder to the /apps folder of your SD/USB device
- Place code.txt or source.s into /apps/HBC-Waltress-0.6
- Launch HBC, launch App, follow on-screen instructions
Quick Guide (
QEMU; assumes QEMU is already installed and you know how to run it):
- Extract Waltress10162023.zip
- Inside Waltress10162023 folder is the DV folder.
- Place code.txt or source.s into /DV
- Make ./main executable and launch it. Follow on-screen instructions
--
Old version downloads and hashes:
v0.5
https://mariokartwii.com/downloads/Waltress07302022.zip
https://mariokartwii.com/downloads/Waltr...022sha.txt
v0.4
https://mariokartwii.com/downloads/Waltress07262022.zip
https://mariokartwii.com/downloads/Waltr...022sha.txt
v0.3
https://mariokartwii.com/downloads/Waltress07112022.zip
https://mariokartwii.com/downloads/Waltr...022sha.txt
v0.2
https://mariokartwii.com/downloads/Waltress07052022.zip
https://mariokartwii.com/downloads/Waltr...022sha.txt
v0.1
https://mariokartwii.com/downloads/Waltress07042022.zip
https://mariokartwii.com/downloads/Waltr...022sha.txt
Video demo of v0.6:
Version 0.2 released. Nothing major, added some more simplified mnemonics and did some clean up. Version 0.3 will be a bigger release, but I will be obligated with a lot of work, so it will have to be held off for some time.
Details of changes/updates for v0.2~
*Added in blr(l), bctr(l), sub(./o), and subc(./o) simplified mnemonics
*Re-did the initial process of creating the HBC application, saved a few lines of pre-generated Assembly code for the Inline file
*Got rid of the -33 error code in the HBC app (aka -3 in Assembler engine). If a source line is simply too long, we will let it output the same error as former -34.
*Engine files no longer hardcoded to certain function addr's that were specific to PAL MKWii. Empty reserved spots in lookup table now serve that job. Function addr's are written to reserved spots by software (HBC App)
*Fixed many typoes (lol)
Like always, great work by Vega
Version 0.4 has been released.
Here are the following new features~
- Can now compile Gecko Cheat Codes. However, proper decompiling is not supported (example: a Gecko Opcode present at the start of code.bin/txt will be diassembled to its PPC instruction equivalent). Therefore, Waltress can still only disassemble in a 'raw style'. Raw assembling still available.
- Gecko Cheat Codes supported (for compiling) are Mem80 32-bit RAM Write (04 Opcode), Mem80 String Write (06 Opcode), Execute ASM (C0 Opcode), and Insert ASM (C2 Opcode).
- C0 compilation will auto add required blr for you. No need to include it in your source.s file.
Version 0.5 has been released.
Waltress can now decompile Gecko Cheat Codes. New secondary menu within App allows users to choose the disassembly/decompilation option.
~Huge Announcement!~
Version 0.6 has been released!!
Waltress has awaken from her hibernation, and she brings us a gift.
She is now at Version 0.6, well what's new?
- Desktop version now available (requires QEMU). Yes you can run Waltress on your computer withOUT Dolphin.

- Both Engines completely overhauled
- Waltress will notify you which instruction that she cannot assemble if such a case occurs (1st instruction, not all), and will give you a general reason as to why

- Quirky SIMM ranges fixed
- Super strict formatting removed
- All simplified mnemonics (except clrlslwi, la, extlwi, extrwi, inslwi, & insrwi) are now supported, yes that means ALL branch simplified mnemonics work now!

- Files can now have comments, albeit it with some restrictions
- Files can now have extra spaces, enters, tabs, etc.
- Two bugs fixed (mfsr not assembling correctly, and fmul(s)(.) + ps_mul(.) not assembling correctly)
- No more quirky Error Code system. Error Text Messages specifying the problem are now displayed.
- Binary file (code.bin) support removed
- File Deletion support removed
Downloads~
Update: Waltress v0.6 has been added to my github
I goofed something up on the v0.5 repo so I had to delete and start the repo from scratch again, fyi.
Link -
https://github.com/VegaASM/Waltress