Skip to content

Instantly share code, notes, and snippets.

@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.
@bbbradsmith
bbbradsmith / blades_of_steel_ppudata.py
Created Mar 6, 2019
Blades of Steel PPU data (CHR/nametable) decoder and encoder
View blades_of_steel_ppudata.py
#!/usr/bin/env python3
#
# Python script for decoding or re-encoding PPU data
# (CHR or nametable) bundles from Blades of Steel.
#
# See bottom of this file for example usage.
#
rom_filename = "Blades of Steel (U).nes"
@bbbradsmith
bbbradsmith / circlemap.py
Last active Feb 20, 2019
Example renderings of the chaotic Circle Map. - Details: https://www.patreon.com/posts/24826459
View circlemap.py
#!/usr/bin/env python3
#
# circlemap.py
# Brad Smith, 2019
# http://rainwarrior.ca
#
# Example renderings of the chaotic Circle Map.
# http://mathworld.wolfram.com/CircleMap.html
import sys
@bbbradsmith
bbbradsmith / makeflop.md
Last active Apr 21, 2019
Simple file operations for a FAT12 floppy disk image. (Moved to GitHub)