Docs › Reference

Reference

Credits

Credits

Project

Created by jamesj999 and Raiscan.


This project uses documentation, tools, and reference implementations from many talented members of the Sonic hacking and emulation communities.

It would not have been possible without their hard work; we truly stand on the shoulders of giants.

Audio & Sound

ContributorContribution
ValleyBellSMPSPlay - SMPS music playback tool and libvgm integration

https://github.com/ValleyBell/SMPSPlay
TweakerHacking CulT music hacking guide

https://www.hacking-cult.org/?r/4/80
drxHacking CulT

https://www.hacking-cult.org
jsgroth”Emulating the YM2612” blog series - FM synthesis reference

https://jsgroth.dev/blog/posts/emulating-ym2612-part-1/
MaximSN76489 PSG documentation (SMS Power!)

https://www.smspower.org/Development/SN76489
Stephan DittrichGens YM2612 Java port (YM2612.java.example)
XeeynamoSMPSPlay contributions (wave output, channel muting)
Eke-EkeGenesis Plus GX - YM2612 and PSG emulation cores

https://github.com/ekeeke/Genesis-Plus-GX
MAME TeamSound emulation cores used by SMPSPlay
libvgmAudio output and emulation libraries
flamewingS3K Z80 sound driver documentation and bugfixes
clownacySMPS sound driver disassembly work across S1, S2, and S3K
MarkeyJesterOriginal S3K Z80 sound driver disassembly
LinncakiS3K sound driver routines, pointers, and data identification
XenowhirlSonic 2 Z80 sound driver disassembly

Physics & Collision

ContributorContribution
Sonic RetroSonic Physics Guide (SPG) - comprehensive physics documentation

https://info.sonicretro.org/Sonic_Physics_Guide
LapperDevSPGSonic2Overlay.Lua - sensors, hitboxes, and solid object visualization

https://info.sonicretro.org/SPG:Overlay_Scripts
MercurySilverSPGSonic2Overlay.Lua - terrain and misc additions

Disassembly & ROM Research

Sonic 1 Disassembly (s1disasm)

https://github.com/sonicretro/s1disasm

ContributorContribution
HivebrainCreated the original Sonic 1 disassembly
MainMemoryMajor contributor, ongoing maintenance
clownacyDisassembly improvements
flamewingDisassembly contributions
DevonArtmeierDisassembly contributions

Sonic 2 Disassembly (s2disasm)

https://github.com/sonicretro/s2disasm

ContributorContribution
NemesisCreated original Sonic 2 disassembly (2004, SNASM68K), Nemesis compression research

https://info.sonicretro.org/SCHG:Nem%20s2
XenowhirlPorted to AS assembler, extensive annotation, Z80 sound driver disassembly (2007)
FraGagHost/maintainer, constants/equates system, major refactoring
shobizVDP command conversion, commenting, label cleanup
qiuuRAM address equates, collision and level select commenting
flamewingSound driver work, merged contributions
clownacyDisassembly improvements, decompression tools, documentation
MainMemoryDisassembly contributions
Marzo (marzojr)Disassembly contributions

Sonic 3 & Knuckles Disassembly (skdisasm)

https://github.com/sonicretro/skdisasm

ContributorContribution
MainMemoryPrimary maintainer, split disassembly
flamewingThorough Z80 sound driver documentation and bugfixes
MarkeyJesterOriginal Z80 sound driver disassembly
LinncakiSound driver routines, pointers, and data identification
clownacyDisassembly contributions
NatsumiDisassembly contributions

General ROM & Hardware Research

ContributorContribution
Sonic RetroSCHG documentation and community disassembly hosting

https://info.sonicretro.org
Brett KosinskiKosinski compression research

https://segaretro.org/Kosinski_compression

Compression & Tools

ContributorContribution
clownacyDecompression tools
flamewings2ssedit (Sonic 2 Special Stage Editor) - used as reference

Communities

  • Sonic Retro - The invaluable wiki, forums, and community resources
  • SMS Power! - Sega hardware documentation
  • Hacking CulT - Pioneering Sonic ROM hacking research

If you contributed to resources used in this project and are not listed, please open an issue or PR!