NTR-HR 3DS

From GameBrew
Revision as of 01:32, 21 February 2024 by HydeWing (talk | contribs) (→‎Changelog)
NTR-HR
Ntrhr3ds.png
General
Authorzbash92
TypeCustom Firmwares
Version0.2.1.1
LicenseGPL-2.0
Last Updated2024/02/15
Links
Download
Website
Source

NTR-HR is an updated NTR streamer homebrew based on NTR CFW. It is backward compatible with all existing NTR viewers.

Note: NTR CFW's video streaming only works for New3DS.

Features

  • Improved performance (and reduced battery life due to more CPU utilization).
  • Stability improvements.
  • Changes from NTR 3.6:
    • Use up to three cores for encoding (around 80% ~ 120% increased frame rate)
    • Ability to switch between games and keep streaming
    • Removed green tint when streaming games with RGB565 output
    • Can now update quality setting etc while streaming
    • Added a menu for changing Remote Play settings on the fly (accessible from the NTR menu which is accessed by pressing X + Y), can be used to change viewer's port
    • Better frame pacing: do not encode frame when encoder is faster than actual frame rate
    • Various optimizations and updated dependencies
    • Should no longer crash on startup or when starting remote play (worked around race conditions in startup hook restore code).

User guide

You can find a more detailed guide on Wiki Hacks Guide.

What you need:

Download the .cia (BootNTR Selector enhanced mod) from the release page and install it with FBI. You can also install it via the QR code.

Start NTR-HR on the 3DS, choose the second option 3.6HR.

On the PC, run an NTR viewer of your choice (kitkat slim, CuteNTR, Snickerstream, Chokistream, NTR Viewer HR, etc).

Enter the 3DS IP address, change quality, priority factor, etc and click Connect.

Note that Snickerstream will not let you change settings during a stream, but it does have more filters available.

Tips

Set your WiFi device used for hot spot to be 2.4 GHz only to maximize 3DS WiFi connection speed. There should be similar options in routers where you can disable 5 GHz radio or similar.

If you don't want to change your router setting, it's recommended to get a WiFi dongle that support AP mode and set it to 2.4 GHz only in device manager, then connect your 3DS to the hot spot from that WiFi dongle.

Controls

X+Y - NTR CFW Menu (Remote Play, Plugin Loader, Set Menu Hotkey, NFC Patch)

Known issues

  • Screenshot/debugger commands/night color are removed. They are available in Luma3DS' rosalina menu in better forms.
  • Real-time save/load removed.
  • Can no longer send NFC patch due to removed debugger command. Use the NFC patch function in NTR's remote play menu instead. (Press X+Y after starting NTR-HR, then choose remote play menu)
  • CPU state is locked to high clock and L2 cache enabled when remote play is started.

Changelog

v0.2.1.1 2024/02/15

  • Minor fix to priority calculation.

v0.2.1 2024/02/14

  • Minor stability improvements.

v0.2.0.4 2024/02/10

  • Always try to update the remote play viewer IP when updating remote play settings from the NTR menu.

v0.2.0.3 2024/02/10

  • (Attempt to) fix a short freeze when changing remote play settings/menu cannot be opened.

v0.2.0.2 2024/02/09

  • Network stability improvement.

v0.2.0.1 2024/02/09

  • Fix regression where skip duplicate frames was not working.

v0.2.0 2024/02/09

  • Various stability improvements.

v0.1.6.2 2024/02/05

  • Fix low priority screen sometimes gets stuck and no longer gets captured.

v0.1.6.1 2024/02/05

  • Do last core work load calculation from info from the right time.
  • Minor other changes.

v0.1.6 2024/02/04

  • Fix race condition in screen capture code that would hang remote play session.
  • Fix regression where viewer cannot update its IP address to 3DS.

v0.1.5 2024/02/03

  • Flush entire bin in initialization.

v0.1.4 2024/02/03

  • Fixed crash when toggling Loader Mem option.
  • Thanks @flanter21 for the report!

v0.1.3 2024/02/03

  • Fixed multiple crashes.

v0.1.2.1 2024/02/03

  • Re-add NTR menu hotkey option.
  • Moved NFC patch to main NTR menu.

v0.1.2 2024/02/03

  • Fix possible crash if attaching to game fails.

v0.1.1 2024/02/03

  • Add RGB5A1 support, needed by some Virtual Console games. (perhaps)

v0.1.0 2024/02/03

  • Changes:
    • Improved start up handling code. Should no longer randomly crashes when initializing or when starting remote play.
    • Can no longer receiver NFC patch through the network. Use NFC patch option in the remote play menu instead. (Press X+Y to open NTR menu after starting NTR-HR, then choose remote play)
  • Removed following features:
    • Screenshot
    • Process dump (you can still use the 3.6 version for this)
    • Various debugger commands
    • Night color
    • Real-time save/load
    • (...and maybe a few other stuff I can't remember)
  • Most features above are also available in Luma3DS' rosalina in better forms.
  • Real-time save/load doesn't work very well as it has no way of retaining handles across saves. If people have uses for it I can add it back in.
  • Currently only remote play streaming and plg loading are available.
  • Note: Currently there's no way to change the CPU state back to low clock or high clock without L2 cache after starting remote play. I should probably put this option back in in case there's an compatibility issue.
  • Some other logging and error messages display changes. (No more need to connect to each attached process separately with NTRDebugger to see error messages, everything get sent through home menu process by default.)

v3.6 Modded 20240126-2

  • Increase lower bound of encoder priority to the default value . Lower nice value causes slowdown anyway.

v3.6 Modded 20240126

  • Synchronization adjustment. Less likely to hang when updating remote play settings.

v3.6 Modded 20230125-3

  • Minor synchronization adjustment.

v3.6 Modded 20230125-2

  • Fix variable initialized in wrong order.
  • Use separate thread for screen capture info.

v3.6 Modded 20230125

  • Added option to change encoding thread priority (between 0x8 to 0x3f) to avoid slowing down the game and causing audio crackling.
  • Added optional memcpy method from PabloMK7 NTR 3.6.1 for screen capture.
  • NTR menu should no longer cause CPP to disengage, or games to hang. Using functions from Luma3DS to pause the game when the menu is open.
  • Added a bunch of code from the current libctru to wait for vblank when overlay callback is not available.

v3.6 Modded 20240122

  • Refresh unchanged frames properly when reconnecting.

v3.6 Modded 20240121

  • Changed default options to be more compatible. Should no longer crash with CTRPF plugins (by default).
  • Added more options to NTR menu for game plugins loading.
  • Misc change to night shift menu.
  • Copied some code from CTRPF for overlay hooking. (TODO update license).

v3.6 Modded 20240119-2

  • Updated Remote Play request packet protocol to allow port number of viewer to be specified.
  • Used by NTRViewer-HR.

v3.6 Modded 20240119

  • Fixed some race conditions in networking code. Should have less flickering/frame drops in viewers.

v3.6 Modded 20240118-2

  • Added an option in the Remote Play menu to capture the previous frame instead of the current one. Can fix staircase artifact if present.

v3.6 Modded 20240118

  • Fixed a typo in my previous commit that prevents overlay plugins (and night shift) from working.
  • Priority factor 0 now behaves as expected.
  • Added an option to disable all screen overlay functions to be compatible with CTRPF-based plugins.

v3.6 Modded 20240117

  • Contains a major change: now use NTR's swap buffer callback to time screen capture if possible. Try the previous version if you are having issues.
  • When active, should lead to smoother frames. (Currently there's no indicator if this is active or not. Fallback happens automatically.
  • Networking fix: a major bug that may cause random frame drops was fixed.

v3.6 Modded 20240116-3

  • Maybe fix potential regression with home menu plugins (can't find any to test sorry.. do they even exist?)

v3.6 Modded 20240116-2

  • Added toggle to menu to disable sys region memory for plugins. For testing purpose only, as many plugins will crash if you use this option.

v3.6 Modded 20240116

  • Fixed a regression where certain games would freeze when closing NTR menu.

3.6 Modded 20240115

  • Revert some changes that caused many cheat plugins to crash. Unfortunately plugins will hang the launch of next game again for most games.
  • Minor change to menu code, it really shouldn't flicker out of existence now.

v3.6 Modded 20240114

  • Fixed hang on launching another game after attaching a process, or after using a cheat plugin (some hang may be the result of how the plugin is written and likely cannot be fixed in NTR).
  • Removed intentional delay in UI.
  • Misc stability improvement.

v3.6 Modded 20240113-2

  • Misc stability improvement when starting NTR and remote play.

v3.6 Modded 20240113

  • NTR menu no longer flickers in and out of existence.

v3.6 Modded 20240112-4

  • Fix crash when quality and core count are changed from the menu.

v3.6 Modded 20240112-3

  • Fix the latest frame not being sent when skipped, noticeable when screen is barely updating (regression in previous update, sorry).

v3.6 Modded 20240112-2

  • Fix auto adjust last encoding core load when skipping frames and when changing core count.
  • Edit: Has known issue, use the newer version please.

v3.6 Modded 20240112

  • Misc bug fixes from compiler warnings.

v3.6 Modded 20240111-3

  • Fix NTRViewer displaying less than 10% "Quality" (now update frame ID properly when skipping frames).
  • More reliable Remote Play menu item values.

v3.6 Modded 20240111-2

  • Fix remote play viewer's IP cannot be changed from viewer's side.

v3.6 Modded 20240111

  • Changes:
    • Can now start Remote Play from 3DS.
    • Can now change the number of encoding cores.
    • Can now update Remote Play viewer's IP if changed.
    • NFC patch from the menu.
  • BootNTR changes:
    • Can now exit first launch by pressing [B].
    • First launch config now saves properly.
    • Version bump.

v3.6 Modded 20240108

  • Main change is that duplicate frames (when actual frame rate is lower than encoding speed) are no longer sent.
  • Reported frame rate in viewer will be lower but frame pacing should hopefully be better.
  • Changed Remote Play menu so you can no longer start remote play from the menu. Can still change port before viewer is started.

v3.6 Modded 20240107-2

  • Added Remote Play to NTR menu (accessible by pressing X + Y).
  • Can now change the destination port of viewer in the menu. (In case you want to stream multiple N3DS at the same time with Snickerstream.) Currently the settings aren't saved and need to be changed each time you launch NTR.
  • Slight stability improvement (fixed a bug where remote play would crash if the network thread is hung for more than one second, say while in the menu).

v3.6 Modded 20240107

  • Modified DMA config, memory usage is now back to what it was before the change to support full-width top screen.

v3.6 Modded 20240106

  • Adjusted game switching check (hopefully USUM no longer crash when soft resetting).

v3.6 Modded 20240105

  • BootNTR:
    • Added "HR" logo to button (for this modded version).
    • Removed 3.2 and 3.3 versions.
    • Added 3.6.1 version (in case you need the original one)
  • NTR:
    • Updated game process handle obtaining method.

v3.6 Modded 20240103

  • Add support for format 0 (XBGR) output, used by some emulators.
  • Add support for full width top screen (800x240), used by some emulators.

v3.6 Modded 20240102

  • Slight improvement in screen capture latency.

v3.6 Modded 20231229

  • Bug fix dynamic restart marker had the wrong range.

v3.6 Modded 20231228-2

  • More reliable syncing between threads.
  • Adaptive restart marker interval depending on App Core 1 usage.

v3.6 Modded 20231228

  • Use restart marker for parallel Huffman encoding.
  • Use up to three cores for encoding. (Improve performance by up to 50%, though in some case performance is lower)

v3.6 Modded 20231224

  • Fix wrong QoS calculation introduced with the mod.

Credits

  • cell9.
  • Nanquitas.
  • PabloMK7 (for 3.6.1).

Thanks especially cell9 for releasing the source of NTR 3.6 making this mod possible.

External links

Advertising: