Skip to content

Instantly share code, notes, and snippets.

Prof9 /
Last active May 29, 2021
Kaeru WFC connection guide for Nintendo Wi-Fi USB Connector


  • For some people setting DNS settings in the Nintendo Wi-Fi USB Connector properties doesn't seem to work, if that applies to you you may have to set up DNS in the internet-facing connection properties instead.

Connection guide

  1. Set up a virtual machine running Windows XP.

    • Plenty of guides online on how to do this, so I won't be going into too much detail here.
    • I'd recommend using VirtualBox and the "Windows XP Mode" method found here, as all the downloads you need are from official sources: NOTE: Skip the part where it tells you to set up Windows XP Virtual Machine Network Settings, you don't need to do this if the internet connection in your VM is already working.
Prof9 / tomc.asm
Created Dec 5, 2017
The One Mod Card
View tomc.asm
CARD_NO equ 0
.create "card.msg",0x0
.area 0x5C
.dh @@scr0 - @@header
Prof9 /
Created Nov 1, 2017
Input replay PoC on PS4 Remote Play using FreePIE
import time
fps = 60
print_interval = 10
def getTime():
return int(time.clock() * 1000)
def getFrameCount():
global start, fps, delay
Prof9 /
Last active Sep 20, 2021
THIS SCRIPT NO LONGER WORKS! Twitter has rolled out a fix for the web client hack. (Original text: Force enable cramming (280 character tweets) on Twitter. Use TamperMonkey. NOTE: Stops working when you switch pages, refresh to fix.)

As of 7 November 2017 everyone has access to 280 characters in supported clients, so you no longer need this script!

Prof9 / scrape.js
Last active Sep 27, 2017
Quick-n-dirty Photobucket scraper
View scrape.js
// Quick-n-dirty Photobucket scraper
// Dumps one page of photos on Photobucket at a time.
// You'll have to do the folder management yourself.
// Hey, it beats saving everything one by one!
// Before you use it:
// Change the 3 on line 39 to the number of digits in the server number of your Photobucket album.
// (You know... the XXX numbers in the url
// How to use:
View mixernoshadow.user.js
// ==UserScript==
// @name Mixer No Shadow
// @description Makes the stream title, loading overlay and controls invisible on mixer. Ctrl+M toggles visibility of the controls.
// @author Prof. 9
// @version 0.1
// @match*
// @run-at document-body
// @namespace prof9.mixernoshadow
// ==/UserScript==
Prof9 / EncounterChanceCalc.cs
Last active Sep 15, 2016
Star Force encounter chance calculator
View EncounterChanceCalc.cs
using System;
using System.Collections.Generic;
namespace EncounterChanceCalc {
class Program {
static void Main(string[] args) {
// SF1
//decimal rate = 0.10M;
// SF2 and SF3
decimal rate = 0.05M;
Prof9 /
Last active Sep 26, 2021
Dumping GBA ROMs from Wii U Virtual Console

Dumping GBA ROMs from Wii U Virtual Console

Virtual Console games sold on the Wii U eShop are basically emulators that come prepackaged with a single ROM. If your Wii U is on an exploitable system version, then you can dump this ROM from memory and play it on a conventional emulator like VisualBoy Advance.

In this guide I'll be giving a brief rundown on how to dump the ROMs from your purchased GBA Virtual Console games. Although the steps are fairly simple, you will need some technical know-how for some parts. So if the thought of using a console or a hex editor scares you, turn back now. You've been warned!

This guide covers Windows PCs only. I believe any version from Windows XP onwards will work, but I've only tested this on Windows 10.


First we need to gather up some tools and information that we're going to need later.

Prof9 / zbmobile.js
Last active Sep 27, 2017
ZetaBoards mobile ads. Requires jQuery.
View zbmobile.js
* This is free and unencumbered software released into the public domain.
* Anyone is free to copy, modify, publish, use, compile, sell, or
* distribute this software, either in source code form or as a compiled
* binary, for any purpose, commercial or non-commercial, and by any
* means.
var main = $('#main');
Prof9 / bn4tourney.lua
Created Oct 18, 2015
MMBN4 Lua tournament matches viewer
View bn4tourney.lua
local rng = -1;
function rngNext()
rng = rng + 1;
return rng;
function getTourneyBoard()
local tourneyNum = memory.readbyte(0x0200ACC5);
local boardPtr = 0x02001460 + tourneyNum * 0x20;