Skip to content

Instantly share code, notes, and snippets.

Matt Mastracci mmastrac

Block or report user

Report or block mmastrac

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@mmastrac
mmastrac / Wii Drive.md
Created Feb 5, 2017
Wii Drive Investigation
View Wii Drive.md

The Wii drive itself operates at the smallest possible DVD read size: a 32kB ECC block. This is the minimum that the drive can read from the disc, even if the game is asking for less data.

As game assets tend to be larger in size, the drive has a special 1MB (32 ECC block) streaming buffer that it maintains in the background. The drive will try to keep 1MB of data in memory from the last location the game requested. This streaming buffer is actually circular and will re-use old data still within the streaming buffer window. Seeking forward by more than 1MB or backward at all will destroy the buffer.

The drive has two seek speeds: short/slow and long/fast. Short seeks are slower and occur when seeking less than 1mm physically on the disc. Long seeks are much faster and occur when the drive needs to seek more than 1mm.

After completely filling the streaming buffer, the drive leaves the head parked on the track where the streaming buffer ended. If the game requests a read starting at this position it doesn't

View .git-slash-config
[merge "clang_format"]
name = clang-format merge driver
driver = /tmp/merge_driver.sh %O %A %B %L %P
recursive = binary
View gist:d762407906003f8cfa72
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1
hQIMAz2cwGg4V0HRAQ/6AjVTehOaMKHDsCyP74YqH96kPpCt9twy4vTnXqlEzxqz
tYVFhzcrqI/34wowR/sbHQEn15LpyogeDck+Dxa8adPHnB/ebq1DiulNBkvxPbAE
CXHHXhXDg+Ng3qx1yo+ruZQv6LoSR/zssu8iyskwQh7mtvz7UzHfBlTuaXWQYk7t
a8BwXdzyaSIe6cEkzE8dASmg6NiexZDJBIXHhY6EHSEMDUA7+35rDOV7FoT52/g5
kCELAdeIHtzz+O4kdDcA0b+nPnKEo5ihohxF8JByDyCBC1EIFwk3lZsPpj8b3r2U
sEoSOWnKfNbu1l2VSo6dWNIRU/PNI4Sl4oDkXwB6j5D2mwoFaR8FackElHxVR+Vk
3PCmExW5jsdszaX4vuGTruWS30qy2nBhhYaKBKc+I0l/BHSpNqCF+i4PNq5geTUK
@mmastrac
mmastrac / keybase.md
Last active Aug 29, 2015
Keybase proof
View keybase.md

Keybase proof

I hereby claim:

  • I am mmastrac on github.
  • I am mmastrac (https://keybase.io/mmastrac) on keybase.
  • I have a public key whose fingerprint is B64A 2338 BE69 9BDA 12C0 E642 B9B0 44E1 44AC E235

To claim this, I am signing this object:

You can’t perform that action at this time.