Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

HzMod 3DS: Difference between revisions

From GameBrew
No edit summary
m (Text replacement - "Category:PC utilities for 3DS homebrew" to "")
 
(21 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Infobox 3DS homebrew
{{Infobox 3DS Homebrews
| title = HzMod
|title=HzMod
| image = https://dlhb.gamebrew.org/3dshomebrew/HzMod.jpeg|250px
|image=Hzmod2.png
| type = PC Utilities
|description=old3DS screen streaming
| version =  
|author=Sono
| licence = Mixed
|lastupdated=2020/06/06
| author = Sono
|type=3DS Streaming
| website = https://gbatemp.net/threads/hzmod-old3ds-screen-streaming.469817/
|version=2020
| download = https://dlhb.gamebrew.org/3dshomebrew/HzMod.rar
|license=Mixed
|download=https://dlhb.gamebrew.org/3dshomebrews/hzmod.7z?k33p0fil35 AIO Pack & N3DS Update
|website=https://gbatemp.net/threads/hzmod-old3ds-screen-streaming.469817
}}
}}
<youtube>vFyJt4UCPsU</youtube>
HzMod (or as more widely known HorizonModule, or HorizonM) is a sysmodule for the 3DS which runs in the background. It uses its own protocol which is not compatible with NTR streaming apps, but is supported by its own viewer, HorizonScreen (various versions are fully compatable with every HzMod version, but lacking features and user-friendliness), as well as [[Snickerstream 3DS|Snickerstream]] (much better UI, but doesn't support TARGA frames for games which use 16-bit color mode, like Smash and Mario Kart 7) and [[Chokistream 3DS|Chokistream]] (a from-scratch re-implementation of Snickerstream which has limited TARGA support).


HzMod (or as more widely known "HorizonModule" or simply just "HorizonM") is a sysmodule for the 3DS which runs in the background. By looking at the reason why this project was started, this could be a "trying-to-be NTR clone".
'''Note:''' No longer being developed. [[BootNTR Selector 3DS|BootNTR Selector]] is somewhat still under development and serves largely the same purpose, and [[Snickerstream 3DS|Snickerstream]]/[[Chokistream 3DS|Chokistream]] can replace HorizonScreen as described above.


==Pros over NTR:==
==Features==
* Framebuffer rendering received from HorizonM.
* An unfinished debugger (HzDbg).
* Runs natively.
* Old3DS-compatible screen streaming.


- runs natively (doesn't need to "eat" itself into random processes, though still needs a launcher (HzLoad) to launch)
==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).
* [https://gbatemp.net/threads/hzmod-old3ds-screen-streaming.469817/post-9684176 HorizonScreen] - PC-side viewer ([https://github.com/chenzw95/HorizonM/tree/master/HorizonScreen source]).


- old3DS-compatible screen streaming
==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).
- *much* better game compatibility (in theory it's >99%, and it works with *hax (Rosalina and non-Rosalina) too!)
* .\HorizonScreen-PC <ipaddress>
 
* Example for home network .\HorizonScreen-PC 192.168.1.65
==Cons over NTR:==
* In some old packages found on the internet it might be .\out\HorizonScreen-PC.
 
- slightly worse screen streaming performance (NTR does some very hacky things to squeeze every last bit of performance out of the system as it can in a RAM-wasting fashion)


- game plugins are part of HzTool (but you can still poke memory from PC side using custom HzScreen)
Set JPEG quality to at least two digits with UP/DOWN keyboard buttons in HorizonScreen (if you can even see it change). Set it to 0 to force TARGA mode.


===Boring statistical data / facts:===
Press L on the keyboard to connect (or Start if you have a PS2 controller plugged into the system).


* old3DS hard (read as "total maximum", not *hardware*) limit is a bit above 21FPS, but at that point the game is awfully stuttering
===Troubleshoot===
* 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))
If HorizonScreen freezes, terminate it with either:
* on new3DS the performance boost comes from the L2 cache, hence disabling it makes the performance drop *below* old3DS speeds
* Press Ctrl-C/Strg-C in the terminal.
* on new2DS only HzMod gets a dedicated CPU core due to a dummy qtm sysmodule, hence it runs somewhat faster than any other new3DS (QTM is sure a resource-hungry beast)
* Send the application a SIGTERM or SIGKILL (Linux and macOS).
* Close the terminal window.


==Features:==
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.


- screen streaming from 3DS
If it says data too long, check if you have mistyped the IP address.


(do you expect anything else from a purpose-built program on a purpose-built system?)
===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)).


==Usage:==
==Media==
 
'''[new3DS] HzMod + JoyViewSDL test''' ([https://www.youtube.com/watch?v=4hMFcm28hrE Sono]) <br>
* install HorizonM.cia or HzMod.cia (base module, does not show up in Home Menu)
<youtube>4hMFcm28hrE</youtube>
* install HzLoad.cia (this shows up in Home Menu, but this does NOT contain HzMod, this is only the launcher)
* install HzLoad_HIMEM.cia on old3DS/2DS 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)
* open the HzLoad of your choice
* open a console or PowerShell (SHIFT-RIGHTCLICK in an empty space in the directory where HorizonScreen is extracted)
* .\HorizonScreen-PC <ipaddress>
* on my home network I run .\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)


===If HzScreen doesn't connect then check the console:===
==Known issues==
Slightly worse screen streaming performance compare to NTR.


* 10060 - Windows can't find the 3DS on the network
Does not work properly with Mario Maker 3DS.
* 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
Crash on Rosalina Homebrew Launcher.


when you press a button, the LED must flash red and white very fast
No bottom screenstreaming.


* if you see "data too long" then check if you have mistyped the IP address
==External links==
* GBAtemp - https://gbatemp.net/threads/hzmod-old3ds-screen-streaming.469817

Latest revision as of 04:31, 6 Mayıs 2024

HzMod
Hzmod2.png
General
AuthorSono
Type3DS Streaming
Version2020
LicenseMixed
Last Updated2020/06/06
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 uses its own protocol which is not compatible with NTR streaming apps, but is supported by its own viewer, HorizonScreen (various versions are fully compatable with every HzMod version, but lacking features and user-friendliness), as well as Snickerstream (much better UI, but doesn't support TARGA frames for games which use 16-bit color mode, like Smash and Mario Kart 7) and Chokistream (a from-scratch re-implementation of Snickerstream which has limited TARGA support).

Note: No longer being developed. BootNTR Selector is somewhat still under development and serves largely the same purpose, and Snickerstream/Chokistream can replace HorizonScreen as described above.

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). Set it to 0 to force TARGA mode.

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: