{"id":20530390,"url":"https://github.com/zoomten/sfcwsplash","last_synced_at":"2026-04-20T02:04:05.845Z","repository":{"id":101809511,"uuid":"66134820","full_name":"ZoomTen/sfcwsplash","owner":"ZoomTen","description":"Old Sonic Fan Character Wiki splash screen for Sonic 1/2/3K","archived":false,"fork":false,"pushed_at":"2022-10-19T11:58:57.000Z","size":36,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-06T02:24:21.226Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Assembly","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ZoomTen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-08-20T07:37:14.000Z","updated_at":"2022-10-19T11:53:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"c20f3022-ec23-4b89-8380-4c9ec9c6955c","html_url":"https://github.com/ZoomTen/sfcwsplash","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ZoomTen/sfcwsplash","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZoomTen%2Fsfcwsplash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZoomTen%2Fsfcwsplash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZoomTen%2Fsfcwsplash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZoomTen%2Fsfcwsplash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZoomTen","download_url":"https://codeload.github.com/ZoomTen/sfcwsplash/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZoomTen%2Fsfcwsplash/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32029861,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-15T23:36:38.469Z","updated_at":"2026-04-20T02:04:05.824Z","avatar_url":"https://github.com/ZoomTen.png","language":"Assembly","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SFCW Splash Screen\n\n![Screenshot](Sample.png)\n\n## Info\n\nThis is some random old (circa 2014) thing I have randomly. It's a Sonic Fan Character Wiki splash screen for classic Sonic games.\n\nEh, feel free to modify it however you want. :P\n\n## Applying it to your ROM hack\n\nOkay, first you have to have your modified Sonic 1/2/3K disassembly ready.\n\nDownload this by clicking on the big green **Code** button, then Download ZIP.\n\nExtract the SFCW_Intro folder from this archive into your project folder.\n\nThen follow these steps depending on which disassembly you have:\n\n* [Sonic 1 Hivebrain](#sonic-1-hivebrain)\n* [Sonic 1 HG](#sonic-1-hg)\n* [Sonic 2](#sonic-2)\n* [Sonic 3 and Knuckles](#sonic-3-and-knuckles)\n\n### Sonic 1 Hivebrain\n\nThis is for the older 2005 Hivebrain disassembly. (the main file is \"sonic1.asm\")\n\nFirst, we need to apply HCKTROX's S3K-style game mode handling fix. Find the \"MainGameLoop\" and \"GameModeArray\" labels. It should look like this:\n\n```\nMainGameLoop:\n\t\tmove.b\t($FFFFF600).w,d0 ; load\tGame Mode\n\t\tandi.w\t#$1C,d0\n\t\tjsr\tGameModeArray(pc,d0.w) ; jump to apt location in ROM\n\t\tbra.s\tMainGameLoop\n; ===========================================================================\n; ---------------------------------------------------------------------------\n; Main game mode array\n; ---------------------------------------------------------------------------\n\nGameModeArray:\n\t\tbra.w\tSegaScreen\t; Sega Screen ($00)\n; ===========================================================================\n\t\tbra.w\tTitleScreen\t; Title\tScreen ($04)\n; ===========================================================================\n\t\tbra.w\tLevel\t\t; Demo Mode ($08)\n; ===========================================================================\n\t\tbra.w\tLevel\t\t; Normal Level ($0C)\n; ===========================================================================\n\t\tbra.w\tSpecialStage\t; Special Stage\t($10)\n; ===========================================================================\n\t\tbra.w\tContinueScreen\t; Continue Screen ($14)\n; ===========================================================================\n\t\tbra.w\tEndingSequence\t; End of game sequence ($18)\n; ===========================================================================\n\t\tbra.w\tCredits\t\t; Credits ($1C)\n; ===========================================================================\n\t\trts\t\n; ===========================================================================\n```\n\nReplace the whole thing with this:\n\n```\nMainGameLoop:\n\t\tmove.b\t($FFFFF600).w,d0\n\t\tandi.w\t#$7C,d0\n\t\tmovea.l\tGameModeArray(pc,d0.w),a0\n\t\tjsr\t(a0)\n\t\tbra.s\tMainGameLoop\n; ===========================================================================\n; ---------------------------------------------------------------------------\n; Main game mode array\n; ---------------------------------------------------------------------------\n\nGameModeArray:\n\t\tdc.l\tSegaScreen\t\t; Sega Screen ($00)\n\t\tdc.l\tTitleScreen\t\t; Title Screen ($04)\n\t\tdc.l\tLevel\t\t\t; Demo Mode ($08)\n\t\tdc.l\tLevel\t\t\t; Normal Level ($0C)\n\t\tdc.l\tSpecialStage\t\t; Special Stage   ($10)\n\t\tdc.l\tContinueScreen\t\t; Continue Screen ($14)\n\t\tdc.l\tEndingSequence\t\t; Ending ($18)\n\t\tdc.l\tCredits\t\t\t; Credits ($1C)\n\t\tdc.l\tSFCW_SplashStart\t; SFCW Splash ($20)\n\t\trts\n```\n\nThen find the label named \"EndOfRom\". Add this above it:\n\n```\n\t\tinclude \"SFCW_Intro/sfcw_splash_s1.asm\"\n```\n\nThen, find the \"Sega_GotoTitle\" label. It should look like this.\n\n```\nSega_GotoTitle:\n\t\tmove.b #4,($FFFFF600).w\n\t\trts\n```\n\nReplace it with:\n\n```\nSega_GotoTitle:\n\t\tmove.b #$20,($FFFFF600).w\t; Go to SFCW screen\n\t\trts\n```\n\nLast, build and enjoy. ;)\n\n### Sonic 1 HG\n\nThis is for the newer HG disassembly. (the main file is \"sonic.asm\")\n\nThese are just basically the same steps as above, only with some labels changed.\n\nFirst, we need to apply HCKTROX's S3K-style game mode handling fix. Find the \"MainGameLoop\" and \"GameModeArray\" labels. It should look like this:\n\n```\nMainGameLoop:\n\t\tmove.b\t(v_gamemode).w,d0 ; load Game Mode\n\t\tandi.w\t#$1C,d0\n\t\tjsr\tGameModeArray(pc,d0.w) ; jump to apt location in ROM\n\t\tbra.s\tMainGameLoop\n; ===========================================================================\n; ---------------------------------------------------------------------------\n; Main game mode array\n; ---------------------------------------------------------------------------\n\nGameModeArray:\n\nptr_GM_Sega:\tbra.w\tGM_Sega\t\t; Sega Screen ($00)\n\nptr_GM_Title:\tbra.w\tGM_Title\t; Title\tScreen ($04)\n\nptr_GM_Demo:\tbra.w\tGM_Level\t; Demo Mode ($08)\n\nptr_GM_Level:\tbra.w\tGM_Level\t; Normal Level ($0C)\n\nptr_GM_Special:\tbra.w\tGM_Special\t; Special Stage\t($10)\n\nptr_GM_Cont:\tbra.w\tGM_Continue\t; Continue Screen ($14)\n\nptr_GM_Ending:\tbra.w\tGM_Ending\t; End of game sequence ($18)\n\nptr_GM_Credits:\tbra.w\tGM_Credits\t; Credits ($1C)\n\n\t\trts\n```\n\nReplace the whole thing with this:\n\n```\nMainGameLoop:\n\t\tmove.b\t(v_gamemode).w,d0\n\t\tandi.w\t#$7C,d0\n\t\tmovea.l\tGameModeArray(pc,d0.w),a0\n\t\tjsr\t(a0)\n\t\tbra.s\tMainGameLoop\n; ===========================================================================\n; ---------------------------------------------------------------------------\n; Main game mode array\n; ---------------------------------------------------------------------------\n\nGameModeArray:\n\t\tdc.l\tGM_Sega\t\t\t; Sega Screen ($00)\n\t\tdc.l\tGM_Title\t\t; Title Screen ($04)\n\t\tdc.l\tGM_Level\t\t; Demo Mode ($08)\n\t\tdc.l\tGM_Level\t\t; Normal Level ($0C)\n\t\tdc.l\tGM_Special\t\t; Special Stage   ($10)\n\t\tdc.l\tGM_Continue\t\t; Continue Screen ($14)\n\t\tdc.l\tGM_Ending\t\t; Ending ($18)\n\t\tdc.l\tGM_Credits\t\t; Credits ($1C)\n\t\tdc.l\tSFCW_SplashStart\t; SFCW Splash ($20)\n\t\trts\n```\n\nThen find the label named \"EndOfRom\". Add this above it:\n\n```\n\t\tinclude \"SFCW_Intro/sfcw_splash_s1.asm\"\n```\n\nThen, find the \"Sega_GotoTitle\" label. It should look like this.\n\n```\nSega_GotoTitle:\n\t\tmove.b\t#id_Title,(v_gamemode).w ; go to title screen\n\t\trts\n```\n\nReplace it with:\n\n```\nSega_GotoTitle:\n\t\tmove.b #$20,($FFFFF600).w\t; Go to SFCW screen\n\t\trts\n```\n\nLast, build and enjoy. ;)\n\n### Sonic 2\n\nFind \"MainGameLoop\" and \"GameModesArray\". It should look like this:\n\n```\nMainGameLoop:\n\tmove.b\t(Game_Mode).w,d0\n\tandi.w\t#$3C,d0\n\tjsr\tGameModesArray(pc,d0.w)\n\tbra.s\tMainGameLoop\n; ===========================================================================\n; loc_3A2:\nGameModesArray: ;;\nGameMode_SegaScreen:\tbra.w\tSegaScreen\t\t; SEGA screen mode\nGameMode_TitleScreen:\tbra.w\tTitleScreen\t\t; Title screen mode\nGameMode_Demo:\t\tbra.w\tLevel\t\t\t; Demo mode\nGameMode_Level:\t\tbra.w\tLevel\t\t\t; Zone play mode\nGameMode_SpecialStage:\tbra.w\tSpecialStage\t\t; Special stage play mode\nGameMode_ContinueScreen:bra.w\tContinueScreen\t\t; Continue mode\nGameMode_2PResults:\tbra.w\tTwoPlayerResults\t; 2P results mode\nGameMode_2PLevelSelect:\tbra.w\tLevelSelectMenu2P\t; 2P level select mode\nGameMode_EndingSequence:bra.w\tJmpTo_EndingSequence\t; End sequence mode\nGameMode_OptionsMenu:\tbra.w\tOptionsMenu\t\t; Options mode\nGameMode_LevelSelect:\tbra.w\tLevelSelectMenu\t\t; Level select mode\n```\n\nAdd this:\n\n```\nGameMode_SFCWScreen:\tbra.w\tPtr_SFCWSplash\t; SFCW splash screen\n```\n\nBefore the \"ChecksumError\" label, add this:\n\n```\nPtr_SFCWSplash:\n\tjmp\tSFCW_SplashStart\n\trts\n```\n\nNext, go to \"Sega_GotoTitle\". It should look like this:\n\n```\nSega_GotoTitle:\n\tclr.w\t(SegaScr_PalDone_Flag).w\n\tclr.w\t(SegaScr_VInt_Subrout).w\n\tmove.b\t#GameModeID_TitleScreen,(Game_Mode).w\t; =\u003e TitleScreen\n\trts\n```\n\nReplace it with this:\n\n```\nSega_GotoTitle:\n\tclr.w\t(SegaScr_PalDone_Flag).w\n\tclr.w\t(SegaScr_VInt_Subrout).w\n\tmove.b\t#$2C,(Game_Mode).w\t; =\u003e SFCW_SplashStart\n\trts\n```\n\nBefore \"; end of 'ROM'\", add this:\n\n```\n\tinclude \"SFCW_Intro/sfcw_splash_s2.asm\"\n```\n\nLast, build and enjoy. ;)\n\n### Sonic 3 and Knuckles\n\nThis version goes right before the Sega logo, since the Sega logo is transitioned into the title screen.\n\nIt looks fine when you first start the game, but it looks messed up after a demo. :(\n\nFind \"GameLoop\" and \"GameModes\". It should look like this:\n\n```\nGameLoop:\n\t\tmove.b\t(Game_mode).w,d0\n\t\tandi.w\t#$7C,d0\n\t\tmovea.l\tGameModes(pc,d0.w),a0\n\t\tjsr\t(a0)\n\t\tbra.s\tGameLoop\n; ---------------------------------------------------------------------------\nGameModes:\tdc.l Sega_Screen\t\t;   0\n\t\tdc.l Title_Screen\t\t;   4\n\t\tdc.l Level\t\t\t;   8\n\t\tdc.l Level\t\t\t;  $C\n\t\tdc.l JumpToSegaScreen\t\t; $10\n\t\tdc.l ContinueScreen\t\t; $14\n\t\tdc.l JumpToSegaScreen\t\t; $18\n\t\tdc.l LevelSelect_S2Options\t; $1C\n\t\tdc.l S3Credits\t\t\t; $20\n\t\tdc.l LevelSelect_S2Options\t; $24\n\t\tdc.l LevelSelect_S2Options\t; $28\n\t\tdc.l BlueSpheresTitle\t\t; $2C\n\t\tdc.l BlueSpheresResults\t\t; $30\n\t\tdc.l SpecialStage\t\t; $34\n\t\tdc.l Competition_Menu\t\t; $38\n\t\tdc.l Competition_PlayerSelect\t; $3C\n\t\tdc.l Competition_LevelSelect\t; $40\n\t\tdc.l Competition_Results\t; $44\n\t\tdc.l SpecialStage_Results\t; $48\n\t\tdc.l SaveScreen\t\t\t; $4C\n\t\tdc.l TimeAttack_Records\t\t; $50\n```\n\nAfter \"dc.l TimeAttack_Records\", add this:\n\n```\n\t\tdc.l\tSFCW_SplashStart\t; $54\n```\n\nNext, go to \"Sega_Screen\". Replace the whole thing with this:\n\n```\nSega_Screen:\n\t\tmove.b\t#$54,(Game_mode).w\n\t\trts\n```\n\nBefore \";EndROMPadding\", add this:\n\n```\n\tinclude \"SFCW_Intro/sfcw_splash_s3k.asm\"\n```\n\nLast, build and enjoy. ;)\n\n----\n\nUpdated:\n* March 2, 2014\n* August 20, 2016\n* October 19, 2022\n\n----\n\n(This has not been updated yet to keep up with the latest versions, sorry)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzoomten%2Fsfcwsplash","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzoomten%2Fsfcwsplash","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzoomten%2Fsfcwsplash/lists"}