Skip to content

Sonic the Hedgehog (1991, Sega Genesis / MegaDrive) C Port

Notifications You must be signed in to change notification settings

DS-Homebrew/SoniCPort

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SoniCPort

Sonic the Hedgehog (1991, Sega Genesis / MegaDrive) C Port

Dependencies

  • SDL2 (if COMPILE_SDL2 is set to ON)
  • pkg-config (for builds that require static-linkage)

Building

This project uses CMake, allowing it to be built with a range of compilers.

Switch to the terminal and cd into this folder.

After that, generate the files for your build system with:

cmake -B build -DCMAKE_BUILD_TYPE=Release

MSYS2 users should append -G"MSYS Makefiles" -DPKG_CONFIG_STATIC_LIBS=ON to this command, also.

You can also add the following flags:

Name Function
-DBACKEND=SDL2 Use the SDL2 backend (default)
-DREV01=ON Compile a REV01 ROM
-DJAPANESE=ON Compile a Japanese ROM
-DFIX_BUGS=ON Fix bugs that are blatant screw-ups that may harm performance (not gameplay bugs)
-DLTO=ON Enable link-time optimisation
-DPKG_CONFIG_STATIC_LIBS=ON On platforms with pkg-config, static-link the dependencies (good for Windows builds, so you don't need to bundle DLL files)
-DMSVC_LINK_STATIC_RUNTIME=ON Link the static MSVC runtime library, to reduce the number of required DLL files (Visual Studio only)

You can pass your own compiler flags with -DCMAKE_C_FLAGS and -DCMAKE_CXX_FLAGS.

You can then compile the executable with this command:

cmake --build build --config Release

Disclaimer

This project is not endorsed by SEGA or Sonic Team.

Credits

Sonic Team - Original game

Sonic Retro - Sonic 1 Github Disassembly

Clownacy - Additional porting (compression algorithms)

About

Sonic the Hedgehog (1991, Sega Genesis / MegaDrive) C Port

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • C 92.2%
  • CMake 4.1%
  • Makefile 3.7%