Skip to content

Commit

Permalink
Change README.md
Browse files Browse the repository at this point in the history
And minor update to the LICENSE file (all instances of "http" became "https", etc.)
  • Loading branch information
ChainSwordCS committed Aug 1, 2022
1 parent c805042 commit 54a6731
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 60 deletions.
14 changes: 7 additions & 7 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007

Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

Expand Down Expand Up @@ -631,8 +631,8 @@ to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

{one line to give the program's name and a brief idea of what it does.}
Copyright (C) {year} {name of author}
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand All @@ -645,14 +645,14 @@ the "copyright" line and a pointer to where the full notice is found.
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
along with this program. If not, see <https://www.gnu.org/licenses/>.

Also add information on how to contact you by electronic and paper mail.

If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:

{project} Copyright (C) {year} {fullname}
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
Expand All @@ -664,11 +664,11 @@ might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
<https://www.gnu.org/licenses/>.

The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
<https://www.gnu.org/licenses/why-not-lgpl.html>.
82 changes: 29 additions & 53 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,68 +1,44 @@
# HorizonM
utility background process for the Nintendo 3DS (codename "Horizon")
# CHokiMod

`HorizonM` is licensed under the `GNU GPLv3` license. See `LICENSE` for details.
A continuation of HzMod, built for ChokiStream.

A utility background process for the Nintendo 3DS, purpose-built for screen-streaming over WiFi. Name is derived from "ChokiStream", and "HzMod" which itself is derived from "HorizonM"

## Current features
* screen streaming from 3DS using HorizonScreen
* VRAM corruptor (hold `ZL`+`ZR`)
`CHokiMod` is licensed under the `GNU GPLv3` license. See the [License](#license) section of this file for details, and see the file `LICENSE` for more details including the full terms of the license.

## Getting started

## Credits
- 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

## Building
- install devkitARM r45 (bundled with [devkitPro](http://devkitpro.org))
- install [ctrulib#5725ec2dedfffb2ee721dd8cddb3d24c288f452f](https://github.com/smealum/ctrulib/tree/5725ec2dedfffb2ee721dd8cddb3d24c288f452f)
- install zlib and libjpeg-turbo from [3DS portlibs](https://raw.githubusercontent.com/devkitPro/3ds_portlibs/master/Makefile)
- `make`
Please note, the HorizonScreen application in this repository is old and obsolete. We recommend using [ChokiStream](https://github.com/Eiim/Chokistream), but it may also work with Snickerstream and/or other old versions of HorizonScreen.

See other directories for more info about them.
> //TODO the rest of the readme
## Getting started
> //TODO usage
## Credits
- ### CHokiMod Credits
- ChainSwordCS - something idk, documentation and reverse-engineering of HzMod
- Eiim - Documentation and reverse-engineering of HzMod
- herronjo - Documentation and reverse-engineering of HzMod

- Install `HorizonM.cia` using an application manager
- For end-users [FBI](https://github.com/Steveice10/FBI) is recommended (optionally with [sockfile.py](#))
- For contributors and developers [socks](https://github.com/MarcuzD/socks) is recommended for faster testing debugging
- ### Original Code
- Sono - for creating the HzMod project and the code from which CHokiMod was forked.

- Install `HzLoad.cia` or `HzLoad_HIMEM.cia` (for high memory mode on old3DS systems) using an application manager
- Look in the nested `HzLoad` project directory for compiling instructions
- #### Additional credits for 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

- Open `HzLoad` or `HzLoad_HIMEM` and wait for the RGB LED to turn light blue
- Look at the [troubleshooting](#tshoot) section for help if the console softlocks on a black screen or the RGB LED has a color other than light blue after the launcher exits
- Look in the nested `HzLoad` project directory for `HzLoad`-specific issues and troubleshooting steps
# License

- Press and hold `START`+`SELECT` until the RGB LED turns off to exit HorizonM
- Look at the [troubleshooting](#troubleshooting) section for help if the the RGB LED didn't turn off after a small amount of time
Copyright (c) 2022 ChainSwordCS (https://chainswordcs.com), ([email protected])<br>
`CHokiMod` is licensed under the `GNU GPLv3` license. See `LICENSE` for details.

## Troubleshooting
`HzMod` code and project are licensed under `GNU GPLv3` license.<br>
`HzMod` code and project are Copyright (c) 2017 Sono (https://github.com/SonoSooS), (https://gbatemp.net/members/sono.373734/).<br>
The original `HzMod` project is otherwise also known as `HorizonM`, `HorizonModule`, and `HorizonMod`, and includes `HorizonScreen` and `HzLoad`.

##### RGB LED color codes
- off -> off ??? - failed to start HorizonM at all
- old3DS: not enough memory
- general: HorizonM is not even installed
- contrib/dev: check if rsf doesn't contain invalid entries
- off -> static red - HorizonM failed to enter the main loop, it means that it softlocked or crashed during initialization
- contrib/dev: check rsf permissions
- anything -> static white - a C++ exception occurred (most likely memory allocation failure)
- anything -> bright yellow - waiting for wifi availability
- bright yellow -> flashing white and yellow - failed to reinitialize networking (due to a program bug or a failed race condition)
- anything -> blinking dark yellow - `hangmacro()`, indicates a fatal error that didn't crash the process
- light blue -> rapid flashing black and red - failed to create the network thread (out of resources)
- light blue -> rapid flashing white and red - failed to accept new connections because we ran out of memory (memory leak)
- light blue -> green - network thread started, initializing stuff
- green && pink blink - connection estabilished with HorizonScreen
- green -> flashing pink&yellow - disconnected, waiting for cleanup
- flashing pink and yellow -> light blue - successfully disconnected from HorizonScreen
- anything -> dark blue - HorizonM failed to finalize services, it means that it softlocked or crashed while finalizing services
- contrib/dev: `SOCU_ShutdownSockets()` may have failed or blocked the main thread
**See `LICENSE` for more details.**

###### ~~And if you order now, you'll get 2 data aborts for the price of one!~~

0 comments on commit 54a6731

Please sign in to comment.