Skip to content

Instantly share code, notes, and snippets.

View inject.js
var Stylus = {
inject: function(what, loadCallback) {
return createInjector(what, loadCallback);
var STYLUS_STATUS_ID = '__STYLUS_style_el';
var Injector = function() {};
mmastrac / Wii
Created Feb 5, 2017
Wii Drive Investigation
View Wii

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/ %O %A %B %L %P
recursive = binary
View gist:d762407906003f8cfa72
Version: GnuPG v1
mmastrac /
Last active Aug 29, 2015
Keybase proof

Keybase proof

I hereby claim:

  • I am mmastrac on github.
  • I am 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.