Skip to content

Instantly share code, notes, and snippets.

@bbbradsmith
bbbradsmith / TerranigmaCompressor.py
Created Feb 7, 2022
Compressor and decompressor for Terranigma (SNES)
View TerranigmaCompressor.py
# Terranigma data compressor and decompressor
# Brad Smith, 2022-02-07
# https://rainwarrior.ca
#
# Format reference:
# https://www.terranigma.be/index.php/Compression
import sys
def usage():
@bbbradsmith
bbbradsmith / stx_to_st.py
Created Dec 14, 2021
Pasti STX to ST conversion utility, for analyzing partial conversions from STX of damaged/copy-protected disks.
View stx_to_st.py
#!/usr/bin/env python3
#
# Pasti .STX Atari ST image to .ST image converter.
# Creates an ST file using the sectors found in an STX, and reports missing/error sectors.
#
# Usage:
# stx_to_st("a.stx")
# stx_to_st("in.stx","out.st",tracks,sides,sectors)
#
@bbbradsmith
bbbradsmith / iga_ninden_gaiou_text.py
Created Nov 1, 2021
Iga Ninden Gaiou text extraction (unfinished)
View iga_ninden_gaiou_text.py
# Files:
# Iga Ninden Gaiou (Japan).chd CRC32 1243A2DE
#
# Use chdman to extractcd:
# ing.bin CRC32 07E9BA8D
romin = "ing.bin"
romout = "inge.bin"
rom = open(romin,"rb").read()
@bbbradsmith
bbbradsmith / stx_merge.py
Last active Jun 18, 2021
Pasti STX disk image track merge utility (Atari ST)
View stx_merge.py
#!/usr/bin/env python3
#
# Pasti .STX Atari ST disk image merger
# Allows combining of tracks from separate STX files,
# for cases where we can only dump part of a disk at a time.
#
# Usage:
# stx_main("a.stx")
# stx_add("b.stx")
@bbbradsmith
bbbradsmith / endlessmap.py
Last active Jul 18, 2020
The Endless Night map dumper
View endlessmap.py
# map dumper for The Endless Night (DOS, 1993, Andy Wood / MythicArts)
# Brad Smith, 2020-07-18
# make a "dump" folder before running this
# Python 3
import math
import PIL.Image
import PIL.ImageDraw
@bbbradsmith
bbbradsmith / eggstractor.py
Last active May 25, 2021
Utilities for extracting data files from Elemental Gimmick Gear (Dreamcast) MDT, FNT, NJA, BIN, etc.
View eggstractor.py
# eggstractor.py
# FNT file image extractor
# MDT packfile/map file extractor
# for E.G.G. Elemental Gimmick Gear (Dreamcast)
#
# Brad Smith, 2020
# http://rainwarrior.ca
#
# Dump result archive: https://mega.nz/#F!B74zmaTJ!LQcdMdeOji_cKyfxwoYDbg
@bbbradsmith
bbbradsmith / cdi90.py
Created Dec 27, 2019
Phillips CD-i rule 90 demonstration
View cdi90.py
# this program generates the "rule 90" fill bitstream
# seen at the start of many Phillips CD-i disc images
import PIL.Image
filename = "cdi90.png"
width = 29
height = 645
# first valid parent row starts at bit 188
@bbbradsmith
bbbradsmith / stx_dump.py
Last active Jun 18, 2021
Pasti STX disk image python info dumper (Atari ST)
View stx_dump.py
#!/usr/bin/env python3
#
# Pasti .STX Atari ST disk image info dumper
# Prints out a human-readable version of all data found in the file
#
# Usage:
# stx_dump("a.stx")
#
# Based on Pasti reverse engineering:
@bbbradsmith
bbbradsmith / rrdump.py
Created Sep 6, 2019
Read & Rhyme (Atari ST) python image file dumper
View rrdump.py
#!/usr/bin/env python3
#
# Python script for dumping images from Read & Rhyme (Atari ST)
# Brad Smith, 2019
# http://rainwarrior.ca
#
# Format is very simple:
# 1 x WORD header? always 0.
# 16 x WORD palette
@bbbradsmith
bbbradsmith / aspetra_dump.py
Last active May 4, 2021
Aspetra (DOS) data file formats and python dump script
View aspetra_dump.py
#!/usr/bin/env python3
#
# Python script for dumping data from Aspetra.
# Prerequisite: PIL
#
# Brad Smith, 2019
# http://rainwarrior.ca
#
# 2021-05-03 - Monster 0 is valid, object 157 disables monsters.