Dreamcast 60fps codes

Discussion in 'Sega Dreamcast Development and Research' started by asasega, Nov 15, 2017.

  1. Gizmo613

    Gizmo613 Active Member

    Joined:
    Jul 14, 2017
    Messages:
    29
    Likes Received:
    9
    If you are doing codes for NTSC-us games, I would like to request the following games. If not, it's kool. I think what you are doing is awesome!
    Skies of Arcadia NTSC-US
    Grandia 2 NTSC-US
    Tokyo Xtreme Racer NTSC-US
     
  2. asasega

    asasega Rising Member

    Joined:
    Sep 22, 2007
    Messages:
    62
    Likes Received:
    54
    @8bitplus what info do you need exactly? the 60 fps code?

    @Gizmo613
    Sorry no luck
    Skies of Arcadia, is Eternal Arcadia in japan, and is on list I posted
    Tokyo Xtreme Racer is a 60fps game by default
    Grandia 2 has a 60fps code for battles based on the debug menu (it was already posted in widescreen thread), on the field it will run double speed
     
    fafadou and Gizmo613 like this.
  3. Gizmo613

    Gizmo613 Active Member

    Joined:
    Jul 14, 2017
    Messages:
    29
    Likes Received:
    9
    So eternal Arcadia runs at double speed outside of battles as well? I figured TXR2 is 60 fps by default so thanks for confirming that. As for Grandia 2, The codes posted are for jap and pal version of the game. The Jap codes freeze my DC and the pal codes do not work for me. But thanks again.
     
  4. asasega

    asasega Rising Member

    Joined:
    Sep 22, 2007
    Messages:
    62
    Likes Received:
    54
    @Gizmo613
    Yes Arcadia is double speed everywhere.
    I wanted to see if I can find on my own a fps code for grandia and I was curious if the game is auto adjusting speed at 60fps. It is auto adjusting only for batlles, on the field remains double speed.

    Grandia II T17716N V1.001

    60fps battles
    0D301582
    00008BFB
    01301582
    00000009

    17F2 offset track5.bin

    still for Grandia, this is for Gizmo613 so he can play the fields at double speed

    60fps field, double speed
    0D3CCF52
    00008B0A
    013CCF52
    0000890A

    C9702 offset track5.bin
     
    Anthony817 and Gizmo613 like this.
  5. Gizmo613

    Gizmo613 Active Member

    Joined:
    Jul 14, 2017
    Messages:
    29
    Likes Received:
    9
    Thanks! Mainly looking for the 60fps for battles but I'll try them both as soon as I have some time.

    So I just enter these into aGameSharkk or codebreak list?
     
    Last edited: Dec 5, 2017
  6. fluffymadness

    fluffymadness Active Member

    Joined:
    Jul 7, 2016
    Messages:
    34
    Likes Received:
    5
    Awesome. First the widescreen topic and now 60fps codes :) :)
    Just out of curiosity. Would it be possible to make shoot em ups' go 120 fps on emulators ?
    This would be a huge deal when it comes to motion clarity on high refresh rate monitors.
    Because when it comes to motion clarity 60hz VGA-CRT vs 60hz lcd....there are worlds inbetween.
    And I guess 120hz would be a tad nearer to a crt
     
    Anthony817 likes this.
  7. Trenton_net

    Trenton_net AKA SUPERCOM32

    Joined:
    Apr 13, 2007
    Messages:
    2,355
    Likes Received:
    46
    Slightly off topic, but does enabling 60fps incur any performance penalties? I assume so, otherwise the developers would have enabled it by default to begin with?
     
  8. Anthony817

    Anthony817 Dauntless Member

    Joined:
    May 12, 2010
    Messages:
    715
    Likes Received:
    167
    If you are talking about on native hardware, then yes in many cases the games can and will run more choppy. But, this is basically done for a few reasons. The exclusive games, when run through an emulator on PC, can run much better, thus allowing us to achieve almost PC port level of quality when running the games.

    On PC we love our 60fps. But, the Dreamcast is still very capable of running games natively in 60fps in many cases. You won't ever get to see Shenmue running natively in 60fps on DC, but it is possible on lots of games. Especially those PSX and N64 ports.

    Overclocked systems would also vastly benefit from these codes.
     
    fafadou and Gizmo613 like this.
  9. Gizmo613

    Gizmo613 Active Member

    Joined:
    Jul 14, 2017
    Messages:
    29
    Likes Received:
    9
    I have my Dreamcast overclocked, VGA cable to HDMI with the widescreen codes and Tokyo Xtreme Racer 2 looks really great on it. Will try the Grandia 2 codes posted above.
     
    fafadou likes this.
  10. Esppiral

    Esppiral Peppy Member

    Joined:
    Oct 3, 2012
    Messages:
    386
    Likes Received:
    814
    You can actually slow down Ryo animations, but the value will change in memory in every single "stage" couple it with the 60 fps unlok and you get this.



    The isllusion of it running at 60 fps

    But anything else will run at 2x speed, everything needs to be slowed down, Npcs logic and phisics, for NPC's etc.

    BTW great findings!, this thread is something I was awaiting to pop up, I have a few questions, Has anyone tried this codes on a real console? I seee there is a code for revolt, but that game go as low as 20fps on a real console, so I guess it only reaches 60fpas when it is little to nothing on screen.
     
    Anthony817 likes this.
  11. asasega

    asasega Rising Member

    Joined:
    Sep 22, 2007
    Messages:
    62
    Likes Received:
    54
    @Gizmo613 the codes are in raw unencrypted form, I don't know about the official codebreaker and gameshark, but back in the day the group echelon released a codebreaker version which accepted unencrypted codes. Also gameshark and codebreaker sometime needs a so called enable or master code(which is a address where to hook the cheat engine into the main game). Or alternatively if you can run gdroms you can hexedit using the offsets I posted

    @fluffymadness what you are asking could work for games for which a timings(speed) value exist. example: le mans 24, you set demul to unthrottled(pressing the insert key) so the game runs as fast as possible, also you set the monitor refresh to 120Hz and enable vsync. Now the game will run at 120fps if your computer can keep up. And for correct speed you alter the speed value to 42F00000(120 in hex float).

    @Trenton_net, to Anthony817 answer i would add that these codes are best used on emus because an emulator does not emulate everything like speed penalties, latencies etc. Also on emu you can easily overclock, and games which are written by good programmers will not suffer from this, but other games will run faster or present other anomalies. These codes are not magically giving more processing power to the dreamcast quite the contrary they put more stress on the dreamcast. These games were limited to 30fps because either the programmers were incompetent and couldn't reach a stable 60fps or they preffered more bells and whistles to the gfx then a nice fps. One has to wonder how f355 is running at 60fps yet segagt which doesn't do more or have better gfx is only 30fps.

    @Esppiral, I dont have a dreamcast anymore so can't comment on how well they are running on real hardware, but as I have said above these code are better for emulator use. You saw this yourself when you tried your Rez code or other codes you posted I guess.
    No onto shenmue, the fact that the address always changes for new area is not a problem because in the end that value is still written by an instruction at area(stage) load. If you can provide a demul savetstate when you know the address of ryo's speed we can trace back which instruction writes that value and we could modify the instruction to write the wanted speed value. Who knows maybe this instruction writes the speed value for npc's too, worth a try.
     
  12. Gizmo613

    Gizmo613 Active Member

    Joined:
    Jul 14, 2017
    Messages:
    29
    Likes Received:
    9
    Yes, I'll try with a GameShark that accepts unencrypted codes. Currently working on getting a SATA HDD on my VA0 Dreamcast. Then I can hex edit the game. Currently, I have the original discs so I am stuck with cheat disc, for now.;)
     
    fafadou likes this.
  13. Esppiral

    Esppiral Peppy Member

    Joined:
    Oct 3, 2012
    Messages:
    386
    Likes Received:
    814
    @asasega I've upladed a cheat engine table containing several values, on of them will control ryo's animations and speed, it may be usefull, my memori may be failing but it seems the value works everyvhere, myabe its shenmue 2 the one changing its location in memory every different stage.
     

    Attached Files:

  14. asasega

    asasega Rising Member

    Joined:
    Sep 22, 2007
    Messages:
    62
    Likes Received:
    54
    @Esppiral I tested shenmue today
    2C221838 is written at every area load by
    H'8c13e74e: H'f34a fmov.s FR4, @R3 (put content of float register fr4 to 8c221838)
    and fr4 is set here
    H'8c140348: H'f49d fldi1 FR4 (put 3f800000 in fr4)
    and the value is used here
    H'8c13e8b8: H'f432 fmul FR3, FR4 (fr3 contains the value from 8c221838)

    now i modified the instruction where fr4 is set thinking that maybe that code region is used for npc's too, but sadly it is still affecting just Ryo (at least that is my impression), and only his moving speed.(idle anim is still double, or when he put on his shoes etc)

    On another note, one thing that i noticed which will help others if they use demul with cheatengine, is that demul stores the fr registers differently then the normal r registers
    As i stated in another post the r registers starts from demul.exe+875E2C0 and are stored sequentially like r0,r1...r15
    and the float registers fr starts from demul.exe+875E320 but are not stores sequentially like fr0,fr1..fr15 instead they are stored like so:
    fr1,fr0,fr3,fr2...fr15,fr14. Weird but that's how it is.
     
    Anthony817 and Esppiral like this.
  15. asasega

    asasega Rising Member

    Joined:
    Sep 22, 2007
    Messages:
    62
    Likes Received:
    54
    Totsugeki! Teketeke!! Toy Ranger HDR-0052 V1.031

    60fps
    0104E1BE
    0000E400

    1C6B64FE offset track15.bin
     
    Anthony817 and fafadou like this.
  16. Esppiral

    Esppiral Peppy Member

    Joined:
    Oct 3, 2012
    Messages:
    386
    Likes Received:
    814
    What value should I write to 1C6B64FE? The Ar Code works but nothing happens when I change the value on that offset.
     
  17. asasega

    asasega Rising Member

    Joined:
    Sep 22, 2007
    Messages:
    62
    Likes Received:
    54
    "01"04E1BE
    0000E400

    this 01 tells us that is a 16bit write(meaning two bytes)
    E400 are the two bytes

    since the dreamcast is little endian, in hex editor you change two bytes starting from 1C6B64FE in reverse order 00E4, check screenshot
    esppiral.png
     
    fafadou likes this.
  18. Esppiral

    Esppiral Peppy Member

    Joined:
    Oct 3, 2012
    Messages:
    386
    Likes Received:
    814
    Yes that's something I knew, thanks for the info anyway,

    Looking at your screenshoot it looks like the offset where the value is stored differs from my backup (SEGA SEGAKATANA SEGA ENTERPRISESA802 GD-ROM1/1 J 0799A10 HDR-0052 V1.03119991203 1GUTH.BIN SEGA ENTERPRISESTOY RANGER )

    upload_2017-12-10_15-10-35.png

    Maybe it is a diffrerent reversion of the game.

    It now works thanks.
     
  19. asasega

    asasega Rising Member

    Joined:
    Sep 22, 2007
    Messages:
    62
    Likes Received:
    54
    @Esppiral, oh that sucks. I mean I knew that were two types of gdrom dumps but i thought they differ in just they are treating cdda tracks with the 2sec gap :(. It means for a lot of the codes the offsests will be wrong :(
     
  20. Esppiral

    Esppiral Peppy Member

    Joined:
    Oct 3, 2012
    Messages:
    386
    Likes Received:
    814
    From now on posting an hex sequence would help to find the correct offset in that case, if you feel like it.
     

Share This Page