Skip to content

Instantly share code, notes, and snippets.

View bbbradsmith's full-sized avatar
🦎

Brad Smith bbbradsmith

🦎
View GitHub Profile
@bbbradsmith
bbbradsmith / sinaria_dump.py
Created November 17, 2022 01:45
Sinaria Lost in Space DOS graphics and map extractor
# Sprite / Map dumper for Sinaria: Lost in Space (1994)
# place in "dump" folder within Sinaria install directory and run
import os
import struct
import PIL.Image
#DEFAULT_BG = 27 # red
DEFAULT_BG = 140 # magenta
@bbbradsmith
bbbradsmith / icekiss_sprite_bin_dump.py
Last active September 20, 2022 07:53
Ice Kiss (DOS) graphics extractor
# Extracts sprites from the Korean DOS game Ice Kiss
# First run icekiss_sprite_file_extract.py to create the sprite bin files
# Also, take a screenshot of the gameplay with DOSBox to make a PNG with the correct palette
# Then run this to extract graphics from them
import PIL.Image
screenshot = PIL.Image.open("screenshot.png") # use for palette
def decode_file(filename):
@bbbradsmith
bbbradsmith / TerranigmaCompressor.py
Created February 7, 2022 11:53
Compressor and decompressor for Terranigma (SNES)
# 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 December 14, 2021 07:24
Pasti STX to ST conversion utility, for analyzing partial conversions from STX of damaged/copy-protected disks.
#!/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 November 1, 2021 04:55
Iga Ninden Gaiou text extraction (unfinished)
# 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 June 18, 2021 03:52
Pasti STX disk image track merge utility (Atari ST)
#!/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 July 18, 2020 06:32
The Endless Night map dumper
# 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 12:16
Utilities for extracting data files from Elemental Gimmick Gear (Dreamcast) MDT, FNT, NJA, BIN, etc.
# 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 December 27, 2019 20:28
Phillips CD-i rule 90 demonstration
# 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 June 18, 2021 03:52
Pasti STX disk image python info dumper (Atari ST)
#!/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: