View RSS Feed


A basic explanation of AHBPROT and MEMPROT

Rate this Entry
For an up-to-date version of this guide, see:
AHBPROT and MEMPROT: A basic explanation

I did some searching, and there is no simple explanation of AHBPROT and MEMPROT. What info exists is often either wrong, or too complex for beginners (including myself) to understand. While I lack the details, I felt it would be good to write a basic guide.

What is AHBPROT? Do I want it?
AHBPROT stands for Advanced High-Performance Bus Protection. Most people say you should "get AHBPROT" or "enable AHBPROT", which is incorrect. I did myself until I understood what it was. You want to disable it, so the correct phrase would be "Disable AHBPROT", or "Have AHBPROT/AHB access".

If you can disable that protection, you get full access to every piece of hardware on the Wii, without needing a cIOS, and it's much easier. This includes the disc drive, which allows playing DVD's, if your drive supports it of course.

How does it work?
Now, when you load the Homebrew Channel, AHB Protection is disabled. When you launch homebrew from there (with the ahb_access or no_ios_reload argument), AHB Protection continues to be disabled. Now with AHB access, you can disable what is commonly referred to as "MEMPROT". It is memory protection, specifically mem2 (part of the ram) where the IOS is loaded to. Through there, you can apply temporary on-the-fly patches to the current IOS. This includes the signature check, NAND, and ES patches.

With AHBPROT, and then MEMPROT, disabled, you can accomplish the same thing you would do by permanently patching an IOS on the NAND. The benefit is that, if you make a mistake, you don't risk screwing up the IOS, which would affect anything you run on it in the future.

Why can't I run a USB loader without installing a cIOS like 249?
Every single IOS has a USB module included, but most are USB1.1. This lets you access the USB drive (which is why you could run homebrew from the USB drive starting with v1.0.2), but it is far slower than USB2.0 (USB2.0 can theoretically be up to 48 times faster), so loading anything through it will be too slow to play a game without issue. To fix that, a cIOS replaces the USB module with custom one, supporting USB2.0.

But what about IOS58?
IOS58 was the first official IOS to include a USB2.0 module. Media players now use it as an alternative to cIOS202, and Devolution uses it for GC loading. There is, however, a downside. No IOS can run all games, nor do they support all hard drives. IOS58 works with a reasonable number of HDD's, but not many games will run on it. That's why IOS58 is not a common base for a cIOS. For this reason, a loader that only used IOS58 would be very poor.

Where can I get more info?
Take a look at this if you want more info:

You might not understand it all (I sure didn't), but it is an interesting read.

Thanks to megazig for doing a quick scan of this for major flaws.

Submit "A basic explanation of AHBPROT and MEMPROT" to Digg Submit "A basic explanation of AHBPROT and MEMPROT" to Submit "A basic explanation of AHBPROT and MEMPROT" to StumbleUpon Submit "A basic explanation of AHBPROT and MEMPROT" to Google

Updated 02-05-2013 at 03:05 PM by JoostinOnline

Tags: None Add / Edit Tags