Skip to content

Instantly share code, notes, and snippets.

View downerj's full-sized avatar
📚
Continually learning

Jimmy Downer downerj

📚
Continually learning
View GitHub Profile
@downerj
downerj / README.md
Created June 1, 2026 04:50
Different hacks & patches for The Legend of Zelda: Ocarina of Time
@downerj
downerj / .gitignore
Last active April 21, 2026 07:30
Win32 Screensaver Preview Host
.github/**/*.md
build/
assets/
**/*.bak
**/*.bak.*
@downerj
downerj / .gitignore
Last active April 7, 2026 05:04
C++17/Win32/CMake example of a program that plays a sound without using the terminal
build/
@downerj
downerj / Add-Album-Artwork-M4A.ps1
Last active January 25, 2026 07:38
M4A to MP3 using FFMPEG
param (
[Parameter(Mandatory=$true)]
[System.IO.FileInfo[]]$InFiles,
[Parameter(Mandatory=$true)]
[System.IO.FileInfo]$ArtworkFile,
[string]$OutDir = ".\Out"
)
# Create output folder if doesn't already exist.
if (-not (Test-Path "$OutDir")) {
@downerj
downerj / count-items.sh
Created June 8, 2025 16:33
Count items in each directory and sort descending
#!/usr/bin/env bash
for d in *
do n=$(ls -1 --hide-control-chars "$d"/* | wc --lines)
printf "$n\t$d\n"
done | sort --numeric-sort --reverse
@downerj
downerj / Extract-All-NSF-Tracks.ps1
Last active January 1, 2026 06:35
Extract Mega Man Maker tracks from NSF files and convert them to MP3
param(
[Parameter(Mandatory)]
[string]$SourceDirectory,
[string]$OutDir = "$PWD",
[string]$Codec = 'aac',
[string]$OutExtension = 'm4a',
[string]$OutLength = 180,
[int]$FadeOutLength = 10,
[int]$ThrottleLimit = 1,
[switch]$Overwrite
@downerj
downerj / .gitignore
Last active December 19, 2024 08:54
Convert .bin/.gen to usable format
bin/
@downerj
downerj / .gitignore
Last active March 31, 2025 18:02
Arduboy example using arduino-cli and makefiles
.vscode/
build/
@downerj
downerj / reverse4bytes.py
Last active October 12, 2024 07:16
Reverse every 4 bytes in a file (e.g. for converting N64 Zelda saves)
import os
import sys
from pathlib import Path
if __name__ == "__main__":
args = sys.argv[1:]
if len(args) < 2:
print("Missing arguments", file=sys.stderr)
exit(1)
path_in = Path(os.path.expanduser(args[0]))
@downerj
downerj / Level File Layout.md
Last active August 2, 2026 16:36
Extract the 100 included levels from Jetpack by Adept Software

Jetpack Level File Layout

This is a rudimentary breakdown of how level files are formatted for the game Jetpack by AdpetSoftware.

Note that the term "JetSCII" used throughout this document is not an official term and is simply a placeholder for a subset of ASCII characters supported by Jetpack level file names.

Permissions

Adam Pedersen said the following on the official Jetpack Discord server:

I hereby grant anyone the right to make a Jetpack-inspired game, including use of all assets (graphics, audio, and levels), as long as it provides clear attribution to the original, and acknowledges that all intellectual property rights remain with Adept Software. For example, "Inspired by Jetpack by Adept Software", with link to adeptsoftware.com