Skip to content

Releases: sonicretro/s1disasm

v26.05

06 May 07:44

Choose a tag to compare

This is the first major release after the great file restructure.

Full Changelog: v26.03...v26.05

Highlights

  • Massive internal source code restructure across the disassembly:
    • Extracted and reorganized many shared subroutines
    • Improved file layout and include structure
    • Merged duplicate revision-specific files where possible
    • Standardized REV00/REV01 naming conventions
  • Major documentation overhaul:
    • Fully documented the Sonic player object
    • Fully documented all major game mode routines
    • Expanded documentation for collision, scrolling, object handling, Dynamic Level Events, HUD mappings, palette cycles, and various engine quirks
  • Large-scale cleanup of animation scripts, mappings, constants, labels, comments, and SST definitions
  • Improved Linux/Mono compatibility for utility projects and tools
  • Restored and maintained bit-perfect / bit-accurate builds throughout major refactors

Bug Fixes

  • Added and expanded numerous FixBugs fixes:
    • Display-and-delete bugs
    • Title card issues
    • Unsafe VDP access to Hud_Base
    • Drowning-related fixes
    • v_chunk0collision handling
    • Subpixel clearing fixes
  • Fixed SonLVL crashes caused by spike helix mappings
  • Fixed Mono compilation issue in Ring.cs
  • Corrected various inaccurate comments and outdated bugfixes

Engine and Code Improvements

  • Introduced various new constants and macros, including:
    • VBlank routine constants
    • FG/BG constants
    • Boss SST constants
    • lvlsize and dcb
  • Replaced make_art_tile helper usage with compound constants
  • Converted demos to macro-based demoinput format
  • Added warning for undersized RAM declarations
  • Added build_and_run.bat convenience script

Data, Asset, and Tooling Cleanup

  • Revamped animation scripts and cleaned up mappings labels and unlabeled tables/data
  • Added missing SonLVL objects
  • Renamed and reorganized various assets, scripts, and utility project files
  • Changed uncompressed graphics extensions to .unc

Documentation and Research Notes

  • Documented and clarified various internal engine behaviors, including:
    • CalcAngle and CalcSine
    • Platform SSTs
    • Initialization code
    • REV00 scrolling routines
    • MZ lava brick wobble quirk
    • Shared origins of Yad_ChkWall

Miscellaneous

  • Removed legacy "S U B R O U T I N E" comments
  • Added S1SSEdit.undo to .gitignore
  • Updated README with disassembly structure documentation links

v26.03

06 May 07:42
2754758

Choose a tag to compare

This is the last "original" version of the Sonic 1 GitHub disassembly before the major file restructure after March 2026.

It's also the first disassembly release after AS and ASM68K branches were fully aligned again.

Full Changelog: https://github.com/sonicretro/s1disasm/commits/v26.03