/sf-cabinet

Tooling and Scripts for Hacking Super Street Fighter II Cabinets

Primary LanguageC

sf-cabinet

Tools and utilities for modifying SF2 Cabinets

What

This repository contains research and tooling around the mini Street Fighter 2 cabinet releasd late last year

Current capabilties include:

  • SPI flash extraction via the sunxi-fel utilities
    • Note You can also do this in circuit with a SOP8 clip and flashrom, but it's obviously much easier to do this via the FEL loader
  • Startup script modification via the scripts listed below
  • MINFS partition parsing, allowing for a full extraction of all availalble files

Tools

  • scripts: Bash scripts for extracting filesystem components / reflashing the cabinet via the FEL loader.
    • Note: There is a lot of development code in here
  • python: Assorted python scripts to extract files based on the autogenerated Kaitai classes, as well as my original implementation of the MinFS parser in python
  • binary-templates: A collection of kaitai and 010Editor templates for use with the entire SPI flash image as well as standalone MinFS filesystem images
  • logs: Logfiles generated by modifying the startup.esh script that is launched by the cabinet on startup. This contains a directory listing as well as other debug output about the boot and loading process.

Current Tasks / Next Steps

  • While some files can be viewed normally, others are compressed with some variation of LZMA
    • While we can extract some of these manually, this process could and should be automated
  • Decompression of the executable files
    • These are similarly compressed with some form of LZMA, but do not compress as easily as the bitmap files
  • Document and write up example of extracting and decompressing the splash screen on boot

Cabinet Specs

  • Architecture: ARM (Allwinner SoC)
  • Operating System: EPOS
  • Filesystem(s): MINFS,FAT12
  • OSS in Use: FBA