Sonic The Hedgehog: Difference between revisions

From RPCS3 Wiki
m (Fix formatting, deduplication, remove whitespace)
 
(17 intermediate revisions by 7 users not shown)
Line 1: Line 1:
<!-- please read the wiki conventions page and documentation for templates before creating a new game page -->{{vginfobox
<!-- please read the wiki conventions page and documentation for templates before creating a new game page -->{{vginfobox
|image = [[File:{{#setmainimage:Sonic 2006 PS3.jpg}}|300px]]
|developer = Sonic Team
|developer = Sonic Team
|publisher = Sega
|publisher = Sega
Line 7: Line 8:
|genre    = Action, Adventure, Platform
|genre    = Action, Adventure, Platform
|modes    = Single-player, Multiplayer<!-- Choose all relevant options: Single-player, Co-op, Multiplayer -->
|modes    = Single-player, Multiplayer<!-- Choose all relevant options: Single-player, Co-op, Multiplayer -->
|gameid    = {{gameid|id=BLES00028, BLUS30008|ird=Yes}}
|gameid    = {{gameid|id=BLES00028, BLUS30008, BLJM60006|ird=Yes}}
|wikipedia = <!-- delete if not applicable -->
|wikipedia = <!-- delete if not applicable -->
|vndb      = <!-- delete if not applicable -->
|internal resolution = 1280x720
|title    = <!-- Used only in niche scenarios. Delete if not applicable -->
}}
}}


<!-- Give a brief description about the game -->
'''''Sonic the Hedgehog''''' (commonly referred to as '''''Sonic '06''''') is a 2006 platform game developed by Sonic Team and published by Sega. It was produced in commemoration of the Sonic series' 15th anniversary, and intended as a reboot for the seventh generation video game consoles. Players control Sonic, Shadow, and new character Silver, who battle Solaris, an ancient evil pursued by Doctor Eggman. Each playable character has his own campaign and abilities, and must complete levels, explore hub worlds and fight bosses to advance the story. In multiplayer modes, players can work cooperatively to collect Chaos Emeralds or race to the end of a level.
 
Reviewers singled out the game's camera system, loading times, controls, level designs, and glitches. GameSpot said the level design was worsened by the frustrating camera system and Game Informer criticized the game's high difficulty, citing the camera as causing most deaths. Some reviewers were unhappy that the majority of the game was not spent playing as Sonic; playing as Tails, GameSpot wrote, made a level boring. Similar criticism was offered by Eurogamer, finding that the supporting cast annoyed rather than fleshing the game out; they considered the camera system to be the worst they had ever seen in a video game. On the positive side, 1UP felt that despite the control and level design problems, the game still played like a Sonic game.


==Configuration==
==Configuration==
<!-- Enter mandatory non-default settings to be used. Recommendatory or default settings can be entered only on exceptional basis. -->{{config
<!-- Enter mandatory non-default settings to be used. Recommendatory or default settings can be entered only on exceptional basis. -->{{config
<!-- CPU configuration -->
<!-- CPU configuration -->
|ppu decoder                          = <!-- Interpreter (precise), Interpreter (fast), Recompiler (LLVM) -->
|ppu decoder                          = <!-- Interpreter (static), Interpreter (dynamic), Recompiler (LLVM) -->
|ppu decoder notes                    =  
|ppu decoder notes                    =  
|spu decoder                          = <!-- Interpreter (precise), Interpreter (fast), Recompiler (ASMJIT), Recompiler (LLVM) -->
|spu decoder                          = <!-- Interpreter (static), Interpreter (dynamic), Recompiler (ASMJIT), Recompiler (LLVM) -->
|spu decoder notes                    =  
|spu decoder notes                    =  
|preferred spu threads                = <!-- Auto, Single digit between 1 to 6 (e.g. 3), Range between 1 to 6 (e.g. 1 - 3) -->
|preferred spu threads                = <!-- Auto, Single digit between 1 to 6 (e.g. 3), Range between 1 to 6 (e.g. 1 - 3) -->
Line 26: Line 28:
|thread scheduler                      = <!-- Operating System, RPCS3 Scheduler, RPCS3 Alternative Scheduler -->
|thread scheduler                      = <!-- Operating System, RPCS3 Scheduler, RPCS3 Alternative Scheduler -->
|thread scheduler notes                =  
|thread scheduler notes                =  
|lower spu thread priority            = <!-- On, Off -->
|lower spu thread priority notes      =
|enable spu loop detection            = <!-- On, Off -->
|enable spu loop detection            = <!-- On, Off -->
|enable spu loop detection notes      =  
|enable spu loop detection notes      =  
|spu cache                            = <!-- On, Off -->
|spu xfloat accuracy                  = <!-- Accurate, Approximate, Relaxed -->
|spu cache notes                      =
|spu xfloat accuracy notes             =  
|accurate xfloat                      = <!-- On, Off -->
|accurate xfloat notes                 =  
|spu block size                        = <!-- Safe, Mega, Giga -->
|spu block size                        = <!-- Safe, Mega, Giga -->
|spu block size notes                  =  
|spu block size notes                  =  
Line 43: Line 41:
|aspect ratio                          = <!-- 4:3, 16:9 -->
|aspect ratio                          = <!-- 4:3, 16:9 -->
|aspect ratio notes                    =  
|aspect ratio notes                    =  
|framelimit                            = <!-- Off, 59.94, 50, 60, 30, Auto -->
|framelimit                            = <!-- Off, 50, 60, 30, Auto, PS3 Native, Infinite -->
|framelimit notes                      =  
|framelimit notes                      =  
|anisotropic filter                    = <!-- Auto, 2x, 4x, 8x, 16x -->
|anisotropic filter                    = <!-- Auto, 2x, 4x, 8x, 16x -->
Line 49: Line 47:
|anti-aliasing                        = <!-- Auto, Disabled -->
|anti-aliasing                        = <!-- Auto, Disabled -->
|anti-aliasing notes                  =  
|anti-aliasing notes                  =  
|zcull accuracy                        = <!-- Precise, Approximate, Relaxed -->
|zcull accuracy notes                  =
|shader quality                        = <!-- High, Low, Auto -->
|shader quality notes                  =
|3d rendering mode                    = <!-- Disabled, Anaglyph, Side-by-side, Over-under -->
|3d rendering mode notes              =
|default resolution                    = <!-- 1920x1080, 1280x720, 720x480, 720x576, 1600x1080, 1440x1080, 1280x1080, 960x1080 -->
|default resolution                    = <!-- 1920x1080, 1280x720, 720x480, 720x576, 1600x1080, 1440x1080, 1280x1080, 960x1080 -->
|default resolution notes              =  
|default resolution notes              =  
Line 65: Line 69:
|stretch to display area              = <!-- On, Off -->
|stretch to display area              = <!-- On, Off -->
|stretch to display area notes        =  
|stretch to display area notes        =  
|enable 3d                            = <!-- On, Off -->
|enable 3d notes                      =
|disable vertex cache                  = <!-- On, Off -->
|disable vertex cache notes            =
|multithreaded rsx                    = <!-- On, Off -->
|multithreaded rsx                    = <!-- On, Off -->
|multithreaded rsx notes              =  
|multithreaded rsx notes              =  
Line 74: Line 74:
|asynchronous texture streaming notes  =  
|asynchronous texture streaming notes  =  
<!-- Audio configuration -->
<!-- Audio configuration -->
|audio out windows                    = <!-- XAudio2, OpenAL, Disabled -->
|audio out windows                    = <!-- Cubeb, XAudio2, Disabled -->
|audio out windows notes              =  
|audio out windows notes              =  
|audio out linux                      = <!-- OpenAL, PulseAudio, ALSA, Disabled -->
|audio out linux                      = <!-- Cubeb, FAudio, Disabled -->
|audio out linux notes                =  
|audio out linux notes                =  
|audio channels                        = <!-- Surround 7.1, Downmix to Stereo, Downmix to 5.1 -->
|audio format                          = <!-- Stereo, Surround 5.1, Surround 7.1, Automatic, Manual -->
|audio channels notes                 =  
|audio format notes                   =  
|dump to file                          = <!-- On, Off -->
|dump to file                          = <!-- On, Off -->
|dump to file notes                    =  
|dump to file notes                    =  
Line 103: Line 103:
|camera input                          = <!-- Unknown, EyeToy, PS Eye, UVC 1.1 -->
|camera input                          = <!-- Unknown, EyeToy, PS Eye, UVC 1.1 -->
|camera input notes                    =  
|camera input notes                    =  
|camera settings                      = <!-- Null, Fake -->
|camera settings                      = <!-- Null, Fake, Qt -->
|camera settings notes                =  
|camera settings notes                =  
|move handler                          = <!-- Null, Fake, Mouse -->
|move handler                          = <!-- Null, Fake, Mouse -->
|move handler notes                    =  
|move handler notes                    =  
<!-- Network configuration -->
|network status                        = <!-- Disconnected, Connected -->
|network status notes                  =
|psn status                            = <!-- Disconnected, Simulated, RPCN -->
|psn status notes                      =
<!-- Advanced configuration -->
<!-- Advanced configuration -->
|debug console mode                    = <!-- On, Off -->
|debug console mode                    = <!-- On, Off -->
Line 112: Line 117:
|accurate llvm dfma                    = <!-- On, Off -->
|accurate llvm dfma                    = <!-- On, Off -->
|accurate llvm dfma notes              =  
|accurate llvm dfma notes              =  
|accurate getllar                      = <!-- On, Off -->
|accurate getllar notes                =
|accurate rsx reservation access      = <!-- On, Off -->
|accurate rsx reservation access      = <!-- On, Off -->
|accurate rsx reservation access notes =  
|accurate rsx reservation access notes =  
|accurate spu dma                      = <!-- On, Off -->
|accurate spu dma notes                =
|ppu llvm accurate vector nans        = <!-- On, Off -->
|ppu llvm accurate vector nans        = <!-- On, Off -->
|ppu llvm accurate vector nans notes  =  
|ppu llvm accurate vector nans notes  =  
|ppu llvm java mode handling          = <!-- On, Off -->
|ppu llvm java mode handling notes    =
|silence all logs                      = <!-- On, Off -->
|silence all logs                      = <!-- On, Off -->
|silence all logs notes                =  
|silence all logs notes                =  
Line 132: Line 143:
|disable on-disk shader cache          = <!-- On, Off -->
|disable on-disk shader cache          = <!-- On, Off -->
|disable on-disk shader cache notes    =  
|disable on-disk shader cache notes    =  
|disable native float16 support        = <!-- On, Off -->
|disable vertex cache                  = <!-- On, Off -->
|disable native float16 support notes =  
|disable vertex cache notes           =  
|relaxed zcull sync                    = <!-- On, Off -->
|rsx fifo accuracy                    = <!-- Fast, Atomic, Ordered & Atomic -->
|relaxed zcull sync notes             =  
|rsx fifo accuracy notes               =  
|driver wake-up delay                  = <!-- Value between 0 to 7000 -->
|driver wake-up delay                  = <!-- Value between 0 to 7000 -->
|driver wake-up delay notes            =  
|driver wake-up delay notes            =  
|vblank rate                          = <!-- Value between 1 to 500 -->
|vblank rate                          = <!-- Value between 1 to 500 -->
|vblank rate notes                    =  
|vblank rate notes                    =  
|vblank ntsc fixup                    = <!-- On, Off -->
|vblank ntsc fixup notes              =
|clocks scale                          = <!-- Value between 10 to 1000 -->
|clocks scale                          = <!-- Value between 10 to 1000 -->
|clocks scale notes                    =  
|clocks scale notes                    =  
Line 147: Line 160:
|force cpu blit emulation              = <!-- On, Off -->
|force cpu blit emulation              = <!-- On, Off -->
|force cpu blit emulation notes        =  
|force cpu blit emulation notes        =  
|use gpu texture scaling               = <!-- On, Off -->
|force gpu texture scaling             = <!-- On, Off -->
|use gpu texture scaling notes         =
|force gpu texture scaling notes       =  
|accurate getllar                      = <!-- On, Off -->
|accurate getllar notes                =  
|hook static functions                = <!-- On, Off -->
|hook static functions                = <!-- On, Off -->
|hook static functions notes          =  
|hook static functions notes          =  
|accurate ppu 128 reservations        = <!-- Always Enabled, Disabled, Value between 1 to 8 -->
|accurate ppu 128 reservations        = <!-- Always Enabled, Disabled, Value between 1 to 8 -->
|accurate ppu 128 reservations notes  =  
|accurate ppu 128 reservations notes  =  
|ppu llvm java mode handling          = <!-- True, False -->
|ppu thread count                      = <!-- Value between 1 to 8 -->
|ppu llvm java mode handling notes     =  
|ppu thread count notes               =
<!-- Recommended patches -->
|highly recommended patch              = <!-- Mention patch names -->
|highly recommended patch notes        =
|recommended patch                    = <!-- Mention patch names -->
|recommended patch notes              =  
}}
}}


==Known Issues==
==Known Issues==
<!-- Mention any known issues relating to the game. Use the issue and PR template if necessary. If no notable issues are present, mention "There are no reported issues with this title." -->
===Graphical bugs - {{issue|4122}}===
The game has a problem with the graphics, according one of the developers, kd-11, said the game doesn't send the draw commands to RSX (PS3 GPU), "It appears to be a synchronization bug in lv2 kernel semaphores. The game has two threads to manage which objects are on screen and presumably tag them to be rendered by the render thread, but they are not running and are stuck in an infinite loop"
According to kd-11, the game does not send draw commands to the RSX (PS3 GPU);
<br>''"It appears to be a synchronization bug in lv2 kernel semaphores. The game has two threads to manage which objects are on screen and presumably tag them to be rendered by the render thread, but they are not running and are stuck in an infinite loop".''


For more info:
Previously, this meant that 3D rendered objects would rarely appear and you would just be left with a skybox and 2D UI elements. After {{pr|12258}} was merged, the graphics improved to where they flicker in and out of existence and are at least somewhat visible. It may be possible to complete the game, but a seizure warning is advised.
https://github.com/RPCS3/rpcs3/issues/4122
 
===JP Can't get past title screen - <i>Fixed by {{pr|14443}}</i>===
*{{issue|14245}} <s>Japanese version fails to create save data making it impossible to get past title screen.</s>


==Special Notes==
==Special Notes==
<!-- Mention any additional notes if necessary. If no special notes are required, remove this section -->
{{patch
{{patch
|type    = PPU
|type    = Canary
|version = 1.2
|version = 1.2
|content =  
|content =
PPU-5fa63817d4349e8b47e6ddd2425fadfd2914a1fa:
Anchors:
   Custom Time Scale (ingame, menus, FMVs):
   sonic06_graphics_fix_notes: &sonic06_graphics_fix_notes
    "Fixes missing graphics."
  sonic06_graphics_fix: &sonic06_graphics_fix
    - [ be32, 0x00000000, 0x38800003 ] # li r4, 3
    - [ jumpf, 0x00000000, "RPCS3_HLE_LIBRARY:WaitForSPUsToEmptySNRs" ] # Args: (SPU ID, 3)
    - [ be32, 0x00000000, 0x38800000 ] # li r4, 0
    - [ be32, 0x00000000, 0x44000002 ] # sc
 
PPU-4b46d0161ca657ab16b0a779d9062810ea5ea2dd:
  "Graphics Fix":
     Games:
     Games:
       "Sonic the Hedgehog (Sonic '06)":
       "SONIC THE HEDGEHOG":
         BLES00028: [ All ]
         BLUS30008: [ 01.01 ]
     Notes: Increasing the Clock Scale setting increases performance but breaks the Red Gem.
    Author: "elad335"
     Notes: *sonic06_graphics_fix_notes
    Patch Version: 1.0
     Patch:
     Patch:
       - [ bef32, 0x16917E0, 0.016666667 ] # 0.03333333 for 30 fps, 0.008333333 for 120 fps, etc. (1/TargetFPS)
       - [ calloc, 0x00f07714, 0x04 ]
   Custom Time Scale (cutscenes):
      - [ load, *sonic06_graphics_fix ]
 
PPU-c1be5dc25994c9b4006295882516c829f8c63707:
   "Graphics Fix":
     Games:
     Games:
       "Sonic the Hedgehog (Sonic '06)":
       "SONIC THE HEDGEHOG":
         BLES00028: [ All ]
         BLJM60006: [ 01.01 ]
     Notes: Cutscene framerate is capped at half Vblank frequency. Increasing the Clock Scale setting increases performance but breaks the Red Gem.
    Author: "elad335, FlexBy"
     Notes: *sonic06_graphics_fix_notes
    Patch Version: 1.0
     Patch:
     Patch:
       - [ bef32, 0x16920D0, 0.03333333 ] # 0.016666667 for 60 fps, 0.008333333 for 120 fps, etc. (1/TargetFPS)
       - [ calloc, 0x00f06c64, 0x04 ]
      - [ load, *sonic06_graphics_fix ]


PPU-4b46d0161ca657ab16b0a779d9062810ea5ea2dd:
PPU-5fa63817d4349e8b47e6ddd2425fadfd2914a1fa:
   Custom Time Scale (ingame, menus, FMVs):
   "Graphics Fix":
     Games:
     Games:
       "Sonic the Hedgehog (Sonic '06)":
       "SONIC THE HEDGEHOG":
         BLUS30008: [ All ]
         BLES00028: [ 02.01 ]
     Notes: Increasing the Clock Scale setting increases performance but breaks the Red Gem.
    Author: "elad335, FlexBy"
     Notes: *sonic06_graphics_fix_notes
    Patch Version: 1.0
     Patch:
     Patch:
       - [ bef32, 0x16917B0, 0.016666667 ] # 0.03333333 for 30 fps, 0.008333333 for 120 fps, etc. (1/TargetFPS)
       - [ calloc, 0x00f06c68, 0x04 ]
   Custom Time Scale (cutscenes):
      - [ load, *sonic06_graphics_fix ]
 
PPU-10847518eb618b57777bc2df9d5e9a26eb58f9e3:
   "Graphics Fix":
     Games:
     Games:
       "Sonic the Hedgehog (Sonic '06)":
       "SONIC THE HEDGEHOG":
         BLUS30008: [ All ]
         BLES00028: [ 01.01 ]
     Notes: Cutscene framerate is capped at half Vblank frequency. Increasing the Clock Scale setting increases performance but breaks the Red Gem.
    Author: "elad335, FlexBy"
     Notes: *sonic06_graphics_fix_notes
    Patch Version: 1.0
     Patch:
     Patch:
       - [ bef32, 0x16920A0, 0.03333333 ] # 0.016666667 for 60 fps, 0.008333333 for 120 fps, etc. (1/TargetFPS)
       - [ calloc, 0x00f06c64, 0x04 ]
      - [ load, *sonic06_graphics_fix ]
}}
}}

Latest revision as of 07:27, 11 August 2023

Sonic The Hedgehog
Sonic 2006 PS3.jpg
Developer(s) Sonic Team
Publisher(s) Sega
Series Sonic the Hedgehog
Release date(s) JP December 21, 2006
NA January 30, 2007
EU March 23, 2007
Release type Console exclusive
Genre(s) Action, Adventure, Platform
Mode(s) Single-player, Multiplayer
GameID(s) BLES00028 (IRD), BLUS30008 (IRD), BLJM60006 (IRD)
Internal resolution 1280x720
Quick links Check Compatibility
Open Issues
Search Google
Wikipedia Page

Sonic the Hedgehog (commonly referred to as Sonic '06) is a 2006 platform game developed by Sonic Team and published by Sega. It was produced in commemoration of the Sonic series' 15th anniversary, and intended as a reboot for the seventh generation video game consoles. Players control Sonic, Shadow, and new character Silver, who battle Solaris, an ancient evil pursued by Doctor Eggman. Each playable character has his own campaign and abilities, and must complete levels, explore hub worlds and fight bosses to advance the story. In multiplayer modes, players can work cooperatively to collect Chaos Emeralds or race to the end of a level.

Reviewers singled out the game's camera system, loading times, controls, level designs, and glitches. GameSpot said the level design was worsened by the frustrating camera system and Game Informer criticized the game's high difficulty, citing the camera as causing most deaths. Some reviewers were unhappy that the majority of the game was not spent playing as Sonic; playing as Tails, GameSpot wrote, made a level boring. Similar criticism was offered by Eurogamer, finding that the supporting cast annoyed rather than fleshing the game out; they considered the camera system to be the worst they had ever seen in a video game. On the positive side, 1UP felt that despite the control and level design problems, the game still played like a Sonic game.

Configuration

No options that deviate from RPCS3's default settings are recommended for this title.

Known Issues

Graphical bugs - Issue 4122

According to kd-11, the game does not send draw commands to the RSX (PS3 GPU);
"It appears to be a synchronization bug in lv2 kernel semaphores. The game has two threads to manage which objects are on screen and presumably tag them to be rendered by the render thread, but they are not running and are stuck in an infinite loop".

Previously, this meant that 3D rendered objects would rarely appear and you would just be left with a skybox and 2D UI elements. After PR 12258 was merged, the graphics improved to where they flicker in and out of existence and are at least somewhat visible. It may be possible to complete the game, but a seizure warning is advised.

JP Can't get past title screen - Fixed by PR 14443

  • Issue 14245 Japanese version fails to create save data making it impossible to get past title screen.

Special Notes

Canary Patches

Anchors:
  sonic06_graphics_fix_notes: &sonic06_graphics_fix_notes
    "Fixes missing graphics."
  sonic06_graphics_fix: &sonic06_graphics_fix
    - [ be32, 0x00000000, 0x38800003 ] # li r4, 3
    - [ jumpf, 0x00000000, "RPCS3_HLE_LIBRARY:WaitForSPUsToEmptySNRs" ] # Args: (SPU ID, 3)
    - [ be32, 0x00000000, 0x38800000 ] # li r4, 0
    - [ be32, 0x00000000, 0x44000002 ] # sc

PPU-4b46d0161ca657ab16b0a779d9062810ea5ea2dd:
  "Graphics Fix":
    Games:
      "SONIC THE HEDGEHOG":
        BLUS30008: [ 01.01 ]
    Author: "elad335"
    Notes: *sonic06_graphics_fix_notes
    Patch Version: 1.0
    Patch:
      - [ calloc, 0x00f07714, 0x04 ]
      - [ load, *sonic06_graphics_fix ]

PPU-c1be5dc25994c9b4006295882516c829f8c63707:
  "Graphics Fix":
    Games:
      "SONIC THE HEDGEHOG":
        BLJM60006: [ 01.01 ]
    Author: "elad335, FlexBy"
    Notes: *sonic06_graphics_fix_notes
    Patch Version: 1.0
    Patch:
      - [ calloc, 0x00f06c64, 0x04 ]
      - [ load, *sonic06_graphics_fix ]

PPU-5fa63817d4349e8b47e6ddd2425fadfd2914a1fa:
  "Graphics Fix":
    Games:
      "SONIC THE HEDGEHOG":
        BLES00028: [ 02.01 ]
    Author: "elad335, FlexBy"
    Notes: *sonic06_graphics_fix_notes
    Patch Version: 1.0
    Patch:
      - [ calloc, 0x00f06c68, 0x04 ]
      - [ load, *sonic06_graphics_fix ]

PPU-10847518eb618b57777bc2df9d5e9a26eb58f9e3:
  "Graphics Fix":
    Games:
      "SONIC THE HEDGEHOG":
        BLES00028: [ 01.01 ]
    Author: "elad335, FlexBy"
    Notes: *sonic06_graphics_fix_notes
    Patch Version: 1.0
    Patch:
      - [ calloc, 0x00f06c64, 0x04 ]
      - [ load, *sonic06_graphics_fix ]