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

ChirunoMod 3DS: Difference between revisions

From GameBrew
No edit summary
Line 4: Line 4:
|description=A utility background process for the Nintendo 3DS, purpose-built for screen-streaming over WiFi.
|description=A utility background process for the Nintendo 3DS, purpose-built for screen-streaming over WiFi.
|author=ChainSwordCS
|author=ChainSwordCS
|lastupdated=2023/10/14
|lastupdated=2024/09/09
|type=3DS Streaming
|type=3DS Streaming
|version=0.2.2
|version=0.3-pre
|license=GPL-3.0
|license=GPL-3.0
|download=https://dlhb.gamebrew.org/3dshomebrews/chirunomod3ds.7z
|download=https://dlhb.gamebrew.org/3dshomebrews/chirunomod3ds.7z
Line 25: Line 25:
==Features==
==Features==
*Screen streaming from 3DS to PC using the Chokistream client.
*Screen streaming from 3DS to PC using the Chokistream client.
*Hold the Y button while launching the loader to boot HzMod instead.


==Installation==
==Installation==
Line 40: Line 41:
* "ChirunoMod_verbosedebug.cia" - Alternate CIAs. Includes more debug logging and frame-time statistics but may run slightly slower.
* "ChirunoMod_verbosedebug.cia" - Alternate CIAs. Includes more debug logging and frame-time statistics but may run slightly slower.
* Nightly builds that can be found in the [https://github.com/ChainSwordCS/ChirunoMod/tree/nightly-v4 root directory of the repository], typically named "ChirunoMod.cia". Note that these builds are usually less stable and not recommended.
* Nightly builds that can be found in the [https://github.com/ChainSwordCS/ChirunoMod/tree/nightly-v4 root directory of the repository], typically named "ChirunoMod.cia". Note that these builds are usually less stable and not recommended.
== ChirunoMod RGB LED color codes ==
=== Status Codes ===
* light-blue / teal = connected to wifi, waiting for Chokistream client to connect
* green = connected to client
* yellow = waiting to connect to wifi...
** dev: sometimes this indicates when certain games switch the 3DS into Local Wireless (WLAN) mode.
* flashing yellow + magenta = stopping secondary thread, disconnecting...
=== Error Codes ===
* flashing yellow + black = fatal error. if possible, hold Start and Select to shutdown ChirunoMod.
** dev: main() function encountered an issue and panicked (hangmacro). check HzLog.log for details.
* flashing red + green = stuck (or crashed) in netfuncTestFramebuffer() function.
** dev: encountered an issue trying to obtain process ID of foreground process (?)
* flashing red + white = misc. error
** dev: possibly C++ exception; CPPCrashHandler(). check HzLog.log for details.
* flashing red + other color = failed to start secondary thread (out of resources)
* red = encountered an error near the start of the main() function
* dark blue = trying to shut down ChirunoMod (perhaps softlocked?)


==Changelog==
==Changelog==
'''v0.3-pre'''<br>
Changelog:
* Added new icon and banner. Note: you may have to uninstall and reinstall ChLoad for the icon change to go into effect.
* Fixed a major bug; C-Stick/ZL/ZR are now working in-game on New 3DS.
* Reduced memory usage compared to v0.2.2.
* Partially refactored the code. Hopefully things will be a little more stable and reliable.
* Some minor bugfixes, and many other minor adjustments.
Known Issues:
* On Old 3DS, there may be sound / performance issues in the Home Menu or in games. I'll be hoping to release a hotfix to address this in the next few weeks.
* Due to the new way ChirunoMod listens for button inputs, button remapping of Start and Select may not be respected, and Start+Select on a remote-play controller may not work. This potential issue will be investigated in the near future.
* also see: [https://github.com/ChainSwordCS/ChirunoMod/issues Issues]
'''v0.2.2'''
'''v0.2.2'''
* Fixed a bug where the DMA transfer would be stopped early when the compressed image was small enough. This fixes [https://github.com/Eiim/Chokistream/issues/26 Chokistream #26]
* Fixed a bug where the DMA transfer would be stopped early when the compressed image was small enough. This fixes [https://github.com/Eiim/Chokistream/issues/26 Chokistream #26]

Revision as of 01:58, 15 September 2024

ChirunoMod
3dspc.png
General
AuthorChainSwordCS
Type3DS Streaming
Version0.3-pre
LicenseGPL-3.0
Last Updated2024/09/09
Links
Download
Website
Source

ChirunoMod is a continuation of HzMod, built for Chokistream.

A utility background process for the Nintendo 3DS, purpose-built for screen-streaming over WiFi.

Features

  • Screen streaming from 3DS to PC using the Chokistream client.
  • Hold the Y button while launching the loader to boot HzMod instead.

Installation

Get the latest stable release of Chokistream to run on PC.

On 3DS, use FBI to install the .cia files.

First install the loader:

  • "ChLoad.cia" - Required.
  • "ChLoad_HIMEM.cia" - Also install this if you are using an Old 3DS (not a New 3DS/XL or New 2DS XL) and plan to play games utilizing High Memory Mode (e.g. Super Smash Bros).

Then choose the main ChirunoMod application from the following options:

  • "ChirunoMod.cia" - Stable release. Strongly recommended for stability.
  • "ChirunoMod_nodebug.cia" - Alternate CIAs. Omits debug logging for a slight performance boost.
  • "ChirunoMod_verbosedebug.cia" - Alternate CIAs. Includes more debug logging and frame-time statistics but may run slightly slower.
  • Nightly builds that can be found in the root directory of the repository, typically named "ChirunoMod.cia". Note that these builds are usually less stable and not recommended.

ChirunoMod RGB LED color codes

Status Codes

  • light-blue / teal = connected to wifi, waiting for Chokistream client to connect
  • green = connected to client
  • yellow = waiting to connect to wifi...
    • dev: sometimes this indicates when certain games switch the 3DS into Local Wireless (WLAN) mode.
  • flashing yellow + magenta = stopping secondary thread, disconnecting...

Error Codes

  • flashing yellow + black = fatal error. if possible, hold Start and Select to shutdown ChirunoMod.
    • dev: main() function encountered an issue and panicked (hangmacro). check HzLog.log for details.
  • flashing red + green = stuck (or crashed) in netfuncTestFramebuffer() function.
    • dev: encountered an issue trying to obtain process ID of foreground process (?)
  • flashing red + white = misc. error
    • dev: possibly C++ exception; CPPCrashHandler(). check HzLog.log for details.
  • flashing red + other color = failed to start secondary thread (out of resources)
  • red = encountered an error near the start of the main() function
  • dark blue = trying to shut down ChirunoMod (perhaps softlocked?)

Changelog

v0.3-pre
Changelog:

  • Added new icon and banner. Note: you may have to uninstall and reinstall ChLoad for the icon change to go into effect.
  • Fixed a major bug; C-Stick/ZL/ZR are now working in-game on New 3DS.
  • Reduced memory usage compared to v0.2.2.
  • Partially refactored the code. Hopefully things will be a little more stable and reliable.
  • Some minor bugfixes, and many other minor adjustments.

Known Issues:

  • On Old 3DS, there may be sound / performance issues in the Home Menu or in games. I'll be hoping to release a hotfix to address this in the next few weeks.
  • Due to the new way ChirunoMod listens for button inputs, button remapping of Start and Select may not be respected, and Start+Select on a remote-play controller may not work. This potential issue will be investigated in the near future.
  • also see: Issues

v0.2.2

  • Fixed a bug where the DMA transfer would be stopped early when the compressed image was small enough. This fixes Chokistream #26
    • I don't know if this ever affected Old 3DS, but the fix is there just in case.
  • Reduced some log spam.
  • Note: ChLoad.cia and ChLoad_HIMEM.cia are unchanged from v0.2.

v0.2.1

  • Fixed support for a few games which were broken previously.
    • This includes: Mario Kart 7, Animal Crossing: New Leaf, Luigi's Mansion: Dark Moon, Mario & Luigi: Dream Team, Mario & Luigi: Paper Jam, Nintendogs + Cats, Angry Birds Trilogy, and more.
  • Fixed colors of RGB565 games in TGA mode.
  • Fixed behavior for when both screens are requested in Interlaced mode.
  • Fixed some situations where screen format was outdated. Note: Issues related to incorrect or outdated screen information can still occur, but they should be less common.

v0.2

  • Fixes:
    • Old-3DS now works correctly! Note: you may have to download the latest release (or Nightly) of Chokistream to use this feature.
    • Fixed the banner sound-effect. Please delete and reinstall the ChLoad CIA(s) for the change to take effect.
  • Known Bugs:
    • On o3DS, when launching an application from Home Menu, sometimes it will fail and lock-up the system. The current known cause is because ChirunoMod is using too much CPU in the background (or something like that). A workaround that seems to work is to pause streaming before launching an application, and resume streaming after the 'Nintendo 3DS' bootlogo finishes. A proper fix is in the works.
    • Mario Kart 7 is still broken (and a small handful of other games with the same issue).

v0.1

  • Release Notes:
    • Unlike HzMod, requires the new PC client "Chokistream".
    • Has a different set of TitleIDs, so as not to conflict with any previous HzMod installation on 3DS.
  • Instructions:
    • Download the "ChirunoMod" .cia file or one of its two variants. That's the back-end. It doesn't matter which, but the Standard is recommended. "verbosedebug" is for real-time statistic logging to PC, and "nodebug" disables all debug output for a very small performance boost.
    • Then download "ChLoad.cia", that's the loader and the icon that appears on the Home Menu.
    • "ChLoad_HIMEM.cia" is only for Old-3DS, for using ChirunoMod while playing a game that requires extended-memory mode (such as Super Smash Bros.)
  • Changes:
    • Lots of code restructuring and reorganization.
    • Proper, near-complete basic support for all color modes (namely the problematic 16BPP ones). (Colors are finally accurate for Virtual Console games!)
    • Screen choice: top only, bottom only, or both.
    • New experimental option: interlaced video (not perfect; not recommended for basic users).
  • Known Bugs:
    • Old-3DS screen streaming doesn't yet work properly (Chokistream needs to be updated to support it).
    • Mario Kart 7 and a few other games may appear broken. The cause of the bug has not been precisely pinpointed, a manual hotfix is in the works.

v0.pre_beta2

  • Added new error pattern to README.

v0.pre_beta2

  • HorizonScreen stability update and added font renderer.

v0.pre_beta1

  • Originally released by Sono 2017-05-02.

Credits

  • ChirunoMod Credits
    • ChainSwordCS - C/C++ programming, code comments, logo design.
    • Eiim - Assistance with code logic and commenting, assistance with logo design.
    • herronjo - Assistance with code logic and commenting.
    • savvychipmunk57 - Assistance with code logic and commenting.
    • bol0gna - Assistance with code logic and commenting.
  • Chokistream Credits (Indirect help with this project)
    • Eiim - Documentation and reverse-engineering of HzMod, development of Chokistream
    • herronjo - Documentation and reverse-engineering of HzMod, development of Chokistream
    • ChainSwordCS - Documentation and reverse-engineering of HzMod, development of Chokistream
  • Original Code
    • Sono - for creating the HzMod project and the code from which ChirunoMod was forked.
    • Additional credits for original HorizonM / HzMod
      • Minnow - figuring out how Base processes can be used
      • ihaveamac - pointing me towards the right direction for fixing memory allocation on new3DS and getting HorizonScreen to compile on macOS
      • Stary - help with WinSockets in HorizonScreen
      • flamerds - betatesting
      • 916253 - betatesting
      • NekoWasHere @ Reddit - betatesting
      • JayLine_ @ Reddit - betatesting
  • ChirunoMod Logo assets
    • Cell9 - NTR rocket graphic
    • Mister Man (The Spriters Resource) - Mario sprites from Super Mario World
    • WordedPuppet (The Spriters Resource) - Cirno sprites from "Touhou Kaeizuka (Phantasmagoria of Flower View)"
    • gabrielwoj (The Spriters Resource) - Projectile sprites from "Touhou Koumakyou (The Embodiment of Scarlet Devil)"
    • Saigyou R. (The Spriters Resource) - Stage backgrounds from "Touhou Fuujinroku (Mountain of Faith)" (IIRC the Final Stage background with the moon was used)
    • Ryan914 and MaidenTREE (The Spriters Resource) - Extra Stage background from "Touhou Gensoukyou (Lotus Land Story)" (Pixel stars were used)

External links

Advertising: