Skip to content

Instantly share code, notes, and snippets.

View windwakr's full-sized avatar
😐
Set your status

windwakr

😐
Set your status
View GitHub Profile
@windwakr
windwakr / tekutekupass.py
Last active October 6, 2025 23:41
Generates passwords for DS Tekuteku Diary - DSてくてく日記
# Generates passwords for DS Tekuteku Diary - DSてくてく日記
# TODO figure out all the unknown bits, clean up the code
import datetime
outfname = "tekuteku_pass.txt"
# sample password
# さ そ め す き に
# ひ い あ お め こ
# 2008-05-10 3032 steps
@windwakr
windwakr / genwavs.py
Last active September 30, 2025 14:30
Generates wav files for use with Won!Tertainment Music Channel: Dokodemo Style - ワンタメ ミュージックチャンネル Dokodemo Style(どこでも スタイル)
# Generates wav files for use with Won!Tertainment Music Channel: Dokodemo Style - ワンタメ ミュージックチャンネル Dokodemo Style(どこでも スタイル)
# Thanks to shonumi for documenting the sample format
import wave
import re
import os
english = True # DeSmuME cannot read wav files with Japanese names. Names were translated with DeepL.
path = "./Wantame wavs"
if not os.path.exists(path):
@windwakr
windwakr / !Readme.md
Last active July 10, 2025 01:04
Learn with Pokemon: Typing Adventure - Bluetooth info

Information regarding Learn with Pokemon: Typing Adventure

First off, I would like to acknowledge the PTSM project for the basic info on interacting with the cartridge. Refer to that page to see how save file access works.

All below info is from a Japanese version of the game and keyboard.

The bluetooth chip returns 0x00 when not returning actual data.

Here are replies from informational commands

@windwakr
windwakr / genwavs.py
Last active September 8, 2024 19:55
Generates wav files for use with Mega Man Star Force(JP) - Ryuusei no Rockman - 流星のロックマン - Wave Scanner - ウェーブスキャナー
#Generates wav files for use with Mega Man Star Force(JP) - Ryuusei no Rockman
import wave
import os
path = "./rockman wavs"
if not os.path.exists(path):
os.makedirs(path)
#The game samples the DS Microphone at 33,513,982 / 83784 = ~400.005Hz
#The game checks for peak/valley of 9-15 samples each to indicate the start
@windwakr
windwakr / gm4dec.py
Last active March 14, 2025 10:15
Game Maker 4.1/4.2/4.3 decompiler
#Game Maker 4.X decompiler
#for python 2.7 :^)
#Only tested on ~20 files
#
#As far as I can tell, there are no tools out there that actually support GM4(even if they claim to).
#Unlike later versions, image data is stored unencrypted. So we need to partially parse the GMD.
import struct
import io
import os
import sys
@windwakr
windwakr / !nxtmodelformat
Last active August 29, 2024 00:53
Runescape 3 RS3 NXT 3D model format
Models in the cache have an lzma wrapper
BIG ENDIAN
1 byte, header 0x03
1 int, compressed size?
1 int, decompressed size?
compressed data
The model data itself
LITTLE ENDIAN