User:Vega

From Custom Mario Kart
(Redirected from User:Zak)
Jump to navigation Jump to search
Vega
Avatar: Vega's Profile Picture.png
Discord: vega8365
Website: MarioKartWii.com

Hi, my name is Vega. I am the founder & admin of the MarioKartWii.com Forums. Please note that these are not the old forums from many years ago (pre 2017). I am a veteran PowerPC Assembly Code Writer/Creator that has created over 100 Mario Kart Wii codes. If you use any codes I have created for your 'Hack Packs', please give proper credits. Thank you very much. If you are interested in learning PowerPC Assembly, view some of the Guides/How-To's on my Website.

Some Codes I Have Created
Perfect License Unlock + VR/BR Modifier
Perfect Item Code
Perfect Character/Vehicle Selection
Steal-Mii
Never Pickup Certain Item From Box
Change Mii Names In Between Online Races
Write to File on SD Card
Selective Item Max Probability
Ultimate Region ID Cycler In Between Races
Friend Roster Plus Your Mii; Name Changer Plus Extender
Friend Roster Friend Code Modifier
SYSCONF MKW Region Settings NAND Editor
Graphical SpeedBar (credits to Star & RiiDefi for Draw Text code)
Graphical In-Game Item Spy Online (credits to Star & RiiDefi for Draw Text code)
Advantageous Character/Vehicle Selection
Equal Item Probability
Live Replay (my own version that works for all controllers; credits to Mdmwii and Bully for their Live Replay Codes)
TAS Code (my own version that works for all controllers; credits to Mdmwii and Bully for their Live Replay Codes)
Luck Wheelie Bot (my own version that works for all controllers)
Rapid Fire/Hop (my own version that works for all controllers)
Region ID Algorithm Modifier
Globe Control
Choose Any Position to Start Race As
Can't Get Passed TC's Plus Perfect Shock Invincibility
Stacked Teams
Race as Ghost on Ghost Replay
Dump All Opponents' IP Address & Important USER Record Info to NAND
Change Reg ID, Flag, Globe Pos Live in Room or in Between Races
Online Room GP Points Modifier
Choose Character+Vehicle for All Opponents
Show Everyone's True Region ID
Clock
Press Button To Turn Off Wii / Restart Game / Restart Wii / Return to Wii Menu
Disable Data Save Reset For Region ID Change
Force CC On Grand Prix Mode
Force Track Selection Online
Random Track Selection For Offline
Universal IOS
File Encryptor/Decryptor (co-created with 1superchip)
Remove Mushroom Bug (my own version; Leseratte was the first to make this)
Mushroom Bug Item Modifier
Friend Roster Flag & Globe Location Modifiers
Bypass Mii Data CRC16 Check
Load Any Data Save
Force Character/Vehicle Everywhere
Memory Editor
Domain Name Changer
XYZ Position Swapper
License Creation VR+BR Modifier
Activate Bullet Bill at Anytime
Late Trick Bot
Trick Timing + Difficulty Modifier
Trick Anytime Anywhere
Hop Anytime Anywhere

Some Discoveries I Have Made

Washington DC, USA Hex Byte Location Mismatch

Every Region ID has a default 'geo-location'. The default geo-location for Region ID #1 (Americas) is Washington DC, USA. The hex byte (word) value for this location by the game is 0x1BA8C937. If you want to set the USA Flag on within the game if your Country is USA, you can access the Region Settings. You will be navigated to the hidden Region-Select Channel. After connecting online to the server that holds files that contains all these Region Settings, you can select a variety of locations within USA.

The top/first option is Washington DC. If you select his location and take a view of the hex byte value for this location on the SYSCONF file, the value is 0x1BA8C938. One number higher than the other value, a mismatch.

This doesn't happen for any of the other default geo location values for the other Region IDs.

Country Code 0xFF; Region Residence Code 0xFF

If your country code value in SYSCONF is 0xFF or the region residence code (location setting within country) is also 0xFF, the game will preform a series of instructions will not use the SYSCONF's globe location value and instead grab the Region ID's default geo location.

Remnants of a Chinese Disc Region

There are 4 Disc Regions. These Disc Regions are not MKWii Region ID's. The Disc Region is a byte which you can find in the Region.Bin file of an extracted ISO/WBFS file via Wiimm's WIT Tools.

List of Disc Region Values:

  • 0x00 = Japan (Traditional/Taiwan Games use this Disc Region, Nintendo only made 8 Taiwan Games)
  • 0x01 = America
  • 0x02 = PAL
  • 0x03 = Unused
  • 0x04 = Korea

These Disc Region bytes are read by your System Menu. If the Disc Region doesn't match the region of the System Menu, the disc will not be read in the Disc Channel.

Over time, there has been speculation of a never-released Simplified Chinese (China) MKW Disc due to the fact that there is a Region ID #6 (China). Also, along with the speculation of a never-released Chinese Wii made for the Chinese MKW Disc. At Memory Address 0x8028AF09 on the Korean Mario Kart Wii, there is a hex ASCII byte representing 'CN'. The 'CN' comes right after the four other listed Disc Region Abbreviations. A very likely indicator of remnants of a Disc Region for the Chinese System Menu of the Chinese Wii. Considering the fact the the 'CN' is listed after the other four Disc Regions, and the four Disc Regions are listed in order, the Chinese Disc Region may use the value of 0x05.

V-Unlock (A Wii Homebrew Unlocking App for Mario Kart Wii)

Based on the work I did on my code 'Perfect License Unlock & VR+BR Modifier', I have created a Wii HBC application to unlock everything for Mario Kart Wii. The app is called V-Unlock. V-Unlock will unlock everything for every license for all your Mario Kart Wii Data Saves. You have the ability to choose any Star Rank, whether or not to apply 9999 VR+BR, and whether not to apply 100% Wii Wheel Stat.

Latest Version Download (v0.5) HERE

Previous Version Download (v0.4.1) HERE

Version Date of release Information
v0.5 (Proper Manners) 2022-3-04
  • Fixed Star Rank editing mechanism to only modify necessary bits
  • Added VR+BR option to reset it back to 5000
  • Binary package compiled with latest DevkitPPC version at the time
  • Numerous source optimizations
v0.4.1 (Lol typo) 2020-6-10
  • Fixed some typos.
v0.4 (For the Sources) 2020-4-22
  • Fixed a Bug regarding Screen Navigation
  • Added a printf-made 'Graphic' at Main Menu
  • Source is now included in the Download
v0.3 (Auto Mii) 2020-4-06
  • Added on-screen options for VR+BR, and Wii Wheel Stat
  • Classic Controller support added
  • Better looking icon.png
  • App auto exits with a brief message after it has been ran
v0.2 (Noob Alert) 2020-3-23
  • App unlocks all data saves including data saves with custom Game ID's
  • GCN support added
v0.1 (The Beginning) 2020-3-21
  • App compiles and can run
  • Only works for RMCP data save

Waltress (First ever PowerPC Assembler that's written in PowerPC)

I have always wanted to create a PPC Assembler that's written in PPC. A sort of personal 'proof of work'. In August 2021, I began working on such a project, but then halted the work shortly after. Fast forward to June 2022, I've decided to finish the project and was able to push out a initial public release on July 4th, 2022. I call the project 'Waltress'.

Waltress is the first ever PPC Assembler that's completely handwritten in PowerPC. It is 100% Broadway (Wii CPU) compliant. She can be used as a HBC app or as a Desktop app (QEMU required). Waltress can also assemble Gecko Codes with full support for the 04, 06, C0, and C2 codetypes.

For assembling, a source.s file is expected to be present in the working directory. For disassembling, a code.txt file is expected instead. After Waltress has been executed, she will give you a Success Message or an Error Message. During assembling, if a faulty instruction(s) exist, she will notify you of the instruction (1st instruction only if multiple), and give you a vague reason as to why said instruction is faulty.

Gecko Cheat codes require Waltress-unique "Gecko Headers". Be sure to thoroughly read the README and NOTES.txt documents before using the App.

Latest Version Download (v0.9) - HERE

GitHub Repo - https://github.com/VegaASM/Waltress/

Version Date of release Information
v0.9 2024-3-24
  • Lifted more IMM restrictions off many instructions
  • Fixed a tiny bug in the disassembler when it came to deciphering crclr vs crxor instruction
  • On previous version, I thought I fixed the "junk name-only" bug. Apparently I didn't, so now it's actually fixed.
v0.8 2024-3-18
  • Engine files are now standard functions within Source.
  • Some Immediate Value restrictions have been lifted
  • Added in subi, subis, and subic(.) simplified mnemonics. Somehow I forgot those? lol
  • Fixed Bug that allowed multiple branch landings spots to have the same name
  • Fixed Bug that allowed name-only instructions to have junk appended to it and still be assembled
  • Fixed Bug that used SIMM range instead of UIMM range for addis when assembling
  • Placed in a function to check if any IMM exceeds 8 digits in net width.
v0.7 2024-2-14
  • Branch Labels (with some restrictions) can now be used during assembling
  • Fixed bug where addis/lis was being disassembled using SIMM instead of UIMM
  • Fixed bug that prevented faulty instruction from being displayed on HBC app error message during assembling
v0.6.1 2024-1-18
  • Restrictions on location of Comments removed
  • Chain comments (/*example*/) now allowed
  • Restrictions of having spaces, tabs, & enters before Gecko Header removed
  • Fixed bug on interpreting new lines (Enters vs Carriages)
v0.6 2023-10-16
  • Desktop version now available (requires QEMU)
  • Both Engines completely overhauled
  • Will be notified of 1st faulty instruction when assembling if such a case arises
  • Quirky SIMM ranges fixed
  • Super strict formatting removed
  • All simplified mnemonics (except clrlslwi, la, extlwi, extrwi, inslwi, & insrwi) now supported
  • Files can now have comments, albeit it with some restrictions
  • Files can now have extra spaces, enters, tabs, etc
  • Two bugs fixed on the Assembling side
  • Removal of Quirky Error Code system. Now uses regular Error Text Messages
  • Binary file (code.bin) support removed
  • File Deletion support removed
v0.5 2022-7-30
  • Can now decompile Gecko Cheat Codes. New secondary menu within App allows users to choose disassembly/decompilation option.
v0.4 2022-7-26
  • Can now compile Gecko Cheat Codes, however decompiling is not supported. Gecko related items are decommpiled to their PPC instruction equivalents
  • Gecko codes supported at 32-RAM Write, String Write, Execute ASM, and Insert ASM.
  • C0 compilation will auto add final blr for you.
v0.3 2022-7-11
  • Codes can now assemble-to/disassemble-from a code.txt file. Binary file option still available.
  • Added more error code returns due to added option of code.txt
  • Option added in to delete original input file after successful assembly/disassembly.
  • More typo and code clean up
v0.2 2022-7-05
  • Added in blr(l), bctr(l), sub(./o), and subc (./o) simplified mnemonics
  • Re-did initial process of creating HBC application, saved some lines of pre-generated Assembly code
  • Got rid of -33 error code in HBC app. If a source line is too long, we will let it output the error of former -34.
  • Engine files no longer hardcoded to certain function addr's that were specific to PAL MKWii.
  • Fixed many typos (lol)
v0.1 2022-7-04
  • Initial public release