You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
NOTE: Installing the development version is not recommended unless you know what
87
+
you are doing. Proceed at your own risk.
88
+
89
+
## Versioning and changelog
90
+
91
+
This library follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
92
+
We try to always keep backwards compatibility, so no breaking changes should
93
+
happen until a major release (i.e. jumping from 1.X.X to 2.0.0).
94
+
95
+
To see what changed on each release check either the [CHANGELOG.md](CHANGELOG.md)
96
+
file or check the [releases page on Github](https://github.com/Decompollaborate/ipl3checksum/releases).
97
+
You can also use [this link](https://github.com/Decompollaborate/ipl3checksum/releases/latest)
98
+
to check the latest release.
99
+
39
100
## Where does this come from?
40
101
41
-
This algorithm comes directly from the IPL3, which each variant is part of the first 0x1000 bytes of the rom of every retail N64 ROM.
102
+
This algorithm comes directly from the IPL3, which each variant is part of the
103
+
first 0x1000 bytes of the rom of every retail N64 ROM.
42
104
43
-
There are various implementations floating around on the internet, but for this specific one was reverse-engineered by myself.
44
-
I made this because I couldn't find a library to calculate this checksum, so I decided to reverse-engineer it myself instead of
45
-
taking somebody else's work. It also was an interesting learning experience.
105
+
There are various implementations floating around on the internet, but for this
106
+
specific one was reverse-engineered by myself. I made this because I couldn't
107
+
find a library to calculate this checksum, so I decided to reverse-engineer it
108
+
myself instead of taking somebody else's work. It also was an interesting
109
+
learning experience.
46
110
47
111
## Note about licensing
48
112
49
-
Most of the repository is licensed under the [MIT license](LICENSE), but I also made a
50
-
[reference implementation](docs/reference_implementation.md) that is part of the public domain (licensed under CC0-1.0), feel free to
51
-
use it however you prefer (acknowledgment is always appreciated, but not required).
113
+
Most of the repository is licensed under the [MIT license](LICENSE), but I also
114
+
made a [reference implementation](docs/reference_implementation.md) that is part
115
+
of the public domain (licensed under CC0-1.0), feel free to use it however you
116
+
prefer (acknowledgment is always appreciated, but not required).
52
117
53
118
## I want to learn more! What is an IPL3? What is CIC?
54
119
55
-
I'm not really the guy that can answer all your hunger for knowledge, but here are a few links that may be helpful:
120
+
I'm not really the guy that can answer all your hunger for knowledge, but here
121
+
are a few links that may be helpful:
56
122
57
-
* CIC-NUS: <https://n64brew.dev/wiki/CIC-NUS>
58
-
* Initial Program Load 3 (IPL3) <https://n64brew.dev/wiki/Initial_Program_Load#IPL3>
59
-
* List of retail games, containing which CIC they use: <https://docs.google.com/spreadsheets/d/1WgZ7DZSzWwYIxwg03yoN9NK_0okuSx9dVL2u5MWPQ60/edit#gid=1247952340>
60
-
* Research about the CIC 6105: <https://github.com/Dragorn421/n64checksum>
61
-
* Disassembly of all the retail IPL3 binaries: <https://github.com/decompals/N64-IPL/blob/main/src/ipl3.s>
123
+
- CIC-NUS: <https://n64brew.dev/wiki/CIC-NUS>
124
+
- Initial Program Load 3 (IPL3) <https://n64brew.dev/wiki/Initial_Program_Load#IPL3>
125
+
- List of retail games, containing which CIC they use: <https://docs.google.com/spreadsheets/d/1WgZ7DZSzWwYIxwg03yoN9NK_0okuSx9dVL2u5MWPQ60/edit#gid=1247952340>
126
+
- Research about the CIC 6105: <https://github.com/Dragorn421/n64checksum>
127
+
- Disassembly of all the retail IPL3 binaries: <https://github.com/decompals/N64-IPL/blob/main/src/ipl3.s>
62
128
63
129
## References
64
130
65
-
* "IPL3 checksum algorithm" section of the "PIF-NUS" article on n64brew.dev: <https://n64brew.dev/wiki/PIF-NUS#IPL3_checksum_algorithm>
66
-
* Used for getting the "8-bit IPL3" seed value.
67
-
* List of retail games, containing which CIC they use: <https://docs.google.com/spreadsheets/d/1WgZ7DZSzWwYIxwg03yoN9NK_0okuSx9dVL2u5MWPQ60/edit#gid=1247952340>
131
+
- "IPL3 checksum algorithm" section of the "PIF-NUS" article on n64brew.dev: <https://n64brew.dev/wiki/PIF-NUS#IPL3_checksum_algorithm>
132
+
- Used for getting the "8-bit IPL3" seed value.
133
+
- List of retail games, containing which CIC they use: <https://docs.google.com/spreadsheets/d/1WgZ7DZSzWwYIxwg03yoN9NK_0okuSx9dVL2u5MWPQ60/edit#gid=1247952340>
0 commit comments