HzMod 3DS

From GameBrew
Revision as of 03:50, 18 August 2022 by HydeWing (talk | contribs)
HzMod
Hzmod2.png
General
AuthorSono
Type3DS Streaming
Version2017
LicenseMixed
Last Updated2017/06/27
Links
AIO pack + N3DS update Download
Website

HzMod (or as more widely known HorizonModule, or HorizonM) is a sysmodule for the 3DS which runs in the background. It has its own custom protocol and does not work with NTR stream program (NTR uses UDP, while HzMod has its uses TCP).

Note: No longer being developed. You can use SnickerStream (has a user-friendly UI, but doesn't support TARGA frames for games which use 16bit color mode, like Smash and Mario Kart 7) and also Chokistream (a from-scratch re-implementation of Snickerstream).

Features

  • Framebuffer rendering received from HorizonM.
  • An unfinished debugger (HzDbg).
  • Runs natively.
  • Old3DS-compatible screen streaming.

Installation

The all-in-one pack contains the following:

  • HorizonM.cia or HzMod.cia - Base module only, does not show up in Home Menu.
  • HzLoad.cia - This shows up in Home Menu, but this does not contain HzMod, this is only the launcher.
  • HzLoad_HIMEM.cia - For Old3DS/2DS and if you plan on using extended memory games (if the backlight turns off for more than a few seconds when launching the game then it is most likely an extended memory game).
  • HorizonScreen - PC-side viewer (source).

User guide

Open the HzLoad of your choice, then open a console or PowerShell (Shift+Right Click in an empty space in the directory where HorizonScreen is extracted).

  • .\HorizonScreen-PC <ipaddress>
  • Example for home network .\HorizonScreen-PC 192.168.1.65
  • In some old packages found on the internet it might be .\out\HorizonScreen-PC.

Set JPEG quality to at least two digits with UP/DOWN keyboard buttons in HorizonScreen (if you can even see it change).

Press L on the keyboard to connect (or Start if you have a PS2 controller plugged into the system).

Troubleshoot

If HorizonScreen freezes, terminate it with either:

  • Press Ctrl-C/Strg-C in the terminal.
  • Send the application a SIGTERM or SIGKILL (Linux and macOS).
  • Close the terminal window.

If HzScreen doesn't connect then check the console:

  • 10060 - Windows can't find the 3DS on the network.
  • 10061 - Windows can see the 3DS, but HzMod is not running on the 3DS, or it has crashed.
    • Look at the LED color, it must be bright blue.
    • When you press a button, the LED must flash red and white very fast.

If it says data too long, check if you have mistyped the IP address.

Notes

  • Old3DS hard (read as total maximum, not hardware) limit is a bit above 21FPS, but at that point the game is stuttering.
  • On New2DS only HzMod gets a dedicated CPU core due to a dummy qtm sysmodule, hence it runs somewhat faster than any other New3DS.
  • On New3DS the performance boost comes from the L2 cache, hence disabling it makes the performance drop below Old3DS speeds.
  • New3DS softhard limit is 63FPS, but it would be possible to reach the 120FPS hardware limit via unstable and crashy hax on a pure white top screen (would require a complete rewrite (of the wifi sysmodule, also known as nwm)).

Media

[new3DS] HzMod + JoyViewSDL test (Sono)

Known issues

Slightly worse screen streaming performance compare to NTR.

Does not work properly with Mario Maker 3DS.

Crash on Rosalina Homebrew Launcher.

No bottom screenstreaming.

External links

Advertising: