Homebrew Homebrew game Chrono Trigger - Switch port

  • Thread starter Thread starter Nagaa
  • Start date Start date
  • Views Views 8,900
  • Replies Replies 92
  • Likes Likes 20
Then this issue shouldnt be new. I described the levels you need to achieve general stability in prior posts.
fixed_timestep = 0 fixes it

I'll try with OC
Post automatically merged:

Tested: 1581 MHz cpu and 691 MHz GPU in handheld 720p

It works much better, yes
 
Last edited by josete2k,
  • Like
Reactions: ppkantorski
All my work is on GitHub. I'll draft a PR soon. For now users can test this version out. Lots of improvements and changes from the last version I shared. See the config.ini for options. You can also checkout the README here for details.

For the field / map zoom, it is only recommended right now to use values of 2.0 (default) and 1.75. 1.5x zoom still needs more work to get all the alignments corrected, as well as 1x zoom. Other zoom values will create weird visual pixel glitches, like the default behavior.

The remove mobile ui patch has also been enhanced to remove touch buttons, back / exit buttons in the equipment and settings menu, etc. And I have also included a patch (on by default) to align text and icons a tad cleaner in the equipment menu as well.

Users can also map buttons. The right joystick is currently set in the config.ini to mirror the left joystick. Users can currently program zl, zr, plus, and minus to be any other recognized game button (A, B, X, Y, L, R).

I've also relinked the text ctp patch generator here for easy access, but nothing in its code has changed. This should be the final release version imo for what i wanted this version to include. I can still try to get 1.5x zoom working properly at some point, but it will take me more time.
 

Attachments

Last edited by ppkantorski,
Thanks!!


The OC is still needed for the fixed_timestep, I assume...

I don't know if it's mentioned in the readme.
OC is needed even for fixed timestep off, I'll make note of it. Ideally you should keep it on if you can imo. From my personal testing performance is about the same with it on and off. If you delete the config.ini it will regenerate a new one. Some of the settings are still going to be hidden / suppressed from being written.
 
Last edited by ppkantorski,
  • Like
Reactions: josete2k
OC is needed even for fixed timestep off, I'll make note of it. Ideally you should keep it on if you can imo. From my personal testing performance is about the same with it on and off. If you delete the config.ini it will regenerate a new one. Some of the settings are still going to be hidden / suppressed from being written.
OK, i'll test again...

The run speed decreases a lot without OC... I have an oled and all ports are working "fine" at stock clocks
 
OK, i'll test again...

The run speed decreases a lot without OC... I have an oled and all ports are working "fine" at stock clocks
if you want to compare it to other ports, use v1.0.1 as your baseline. Then compare this version to v1.0.1.

fixed_timestep is ensuring right now that it runs synced to the expected frame rates, which may be why you noticed it being faster with it off as the frame rate dips. Overall i say people should experiment with it on and off to their preferences. If oc is high enough, it does hold some benefits to being on.

I do have one idea. I can add the ability to control the frame rate cap. It may actually look pretty good locked at 30Hz. I'll run some more tests. *update: it actually looks very weird to me at 30hz. probably because the sprites are all pixel perfect. missing frames creates some choppy movement. not sure if its ideal, i'll think about it how i can optimize performance more
 
Last edited by ppkantorski,
  • Like
Reactions: lvlv and josete2k
just a note for the font in my config.ini still had the old path of ct/ChronoType.tff instead of the new one (default /switch/ct/font/ChronoType/ChronoType.ttf)
 
just a note for the font in my config.ini still had the old path of ct/ChronoType.tff instead of the new one (default /switch/ct/font/ChronoType/ChronoType.ttf)
My bad, forgot to mention. Delete your config.ini and let it regenerate. The font was moved into a subfolder with the reset of its own included files to respect the font creator's license and readme.

If anyone also wants some other decent looking fonts, the creator has his own webpage for them. However you will have to tweak the scaling to your preferences if using a different font.

Post automatically merged:

I've cleaned up the config entries a bit. Some of the settings are more for developers, so I am only making it write to the config now the default settings I believe it should retain. I've also slightly cleaned up some stuff in the code. It wasn't locking its behavior before to core 0 for its single thread CPU computations, causing it to drift from Core 0, to 1, to 2, etc in a random walk based upon the load. This should be a bit better pinning the main computations to Core 0. I've also aligned the text and sprites better on the Techs menu in the game as an expansion of the menu_alignment_fix tweak. It was bugging me a bit how character stats could overlap when transitioning, but didn't.

Here is the default config.ini for reference.

INI:
[config]
; --- Language ---
language = default

; --- Font ---
game_font = 1
game_font_path = /switch/ct/font/ChronoType/ChronoType.ttf
game_font_scale = 0.9

; --- Text shadow ---
text_shadow = 1
text_shadow_scale = 1
text_shadow_alpha = 200

; --- Input / controller ---
right_stick_mirror = 1
key_zl = key_zl
key_zr = key_zr
key_plus = key_plus
key_minus = key_minus

; --- Screen ---
screen_width_handheld = 1280
screen_height_handheld = 720
screen_width_docked = 1920
screen_height_docked = 1080
field_zoom = 2
map_zoom = 2
ui_scale_fix = 1

; --- Graphics ---
remove_bilinear_filter = 1
force_nearest = 0

; --- Performance ---
fixed_timestep = 1

; --- Enhancements ---
remove_mobile_ui = 1
menu_alignment_fix = 1

The main things I suggest testing are setting field_zoom and map_zoom to 1.75, which is a relatively even scaling (but not pixel perfect) or keeping it at 2 (which is pixel perfect). fixed_timestep will prevent frame dips at the cost of occasional slowdown, but with stable OC for the most part it will prevent animation frame drops. It's up to you if you prefer it on or off. Personally i keep mine on.
 

Attachments

Last edited by ppkantorski,
SPEED stock VS OC
Post automatically merged:


Nope, it's fine... Just curuious
Key take away is battery drain (~2.1-2.4 W). With the values I gave before, its very low. I can still get 6-8 hours of gameplay with those OC levels in this particular game. It is annoying tho that right now it requires a little bit of OC to be stable, but its very easy to set to get a great experience.

The only major bottleneck I can see right now is the devkitpro implementation of the mesa library. It can benefit from being modified, its just a major hassle doing that tho at the moment.
 
  • Like
Reactions: josete2k

Site & Scene News

Popular threads in this forum