View Full Version : n64 tech help requested
n00by duddy
January 21st, 2007, 08:08
hello,
basically I need to know how to calculate crc1 and crc2. What address ranges and how each boot code affects this calculation
I need it to finish a n64 header tool
regards
zilmar
January 21st, 2007, 09:40
crc1 & 2 are straight from the header .. offeset 0x10 and 0x14 I believe.
how they are caculated are based off the cic chip and checked during booting if they are not correct the game does not boot.
n00by duddy
January 30th, 2007, 09:45
crc1 & 2 are straight from the header .. offeset 0x10 and 0x14 I believe.
how they are caculated are based off the cic chip and checked during booting if they are not correct the game does not boot.
Thank zilmar but I mean how to actualy perform the calculation for the crcs so that you can check them against the internal crcs
zilmar
January 30th, 2007, 18:17
no idea .. you might check dextrose, they might have something. I have never had the need to check if they are not correct. Cause if they are not then the game will not boot.
When I have created test roms, there was a program that set it for cic-nus-1/2 values. For other cic chips then I would run them under emulations and see what it is saying the value should be, and change my code I created to have that value in the header.
MIO0
February 1st, 2007, 02:44
There is source code for computing the checksums posted here (http://board.acmlm.org/thread.php?pid=78887) as an attachment. You can study it to learn the algorithm.
I see that you want this info for a program you are making. Note that the souce code I linked to is under the GPL, so don't use the code in your program unless you are willing to relese your program under the GPL.
smcd
February 1st, 2007, 16:46
Actually, unless he modifies it he can simply provide the part that is under the GPL - there is no obligation to release his entire program. (disclaimer: I am not a lawyer but have read several discussions on the GPL)
MIO0
February 1st, 2007, 23:37
Having GPL'd code, modified or not, anywhere in a program requires the program's author to release the entire program under the GPL, even if the GPL'd code is used as a library. The GPL was specificly designed not to allow authors of proprietary programs to take advantage of GPL'd code.
The LGPL, on the other hand, allows non LGPL'd programs to link to LGPL'd code, unless the LGPL'd code is intermixed with the rest of the program. It is for libraries that the author is willing to allow proprietary programs to use.
smcd
February 2nd, 2007, 00:59
Ah.. hmm - if you use the gpl code and modify it into a dll (dynamic linking then) you could release the source of your modifications and keep the rest of the app proprietary I'd think, since the derivative work would be open source and your application would only be accessing it in a non-static way thus it isn't actually "included?"
MIO0
February 2nd, 2007, 03:57
According to the people who wrote the GPL, that is not allowed either (http://www.gnu.org/licenses/gpl-faq.html#IfLibraryIsGPL).
smcd
February 2nd, 2007, 19:07
Thanks for the clarifications. I'd browsed their site and several other forums and found conflicting answers.
n00by duddy
March 8th, 2007, 20:02
Thanks you very much.
I'm not using the code, just the algo, so it's ok I don't need to post my source code. The gameheader has been released btw.
See you!!
n00by duddy
June 25th, 2007, 16:40
The tool is programmed and mostly complete
It can check N64 roms header checksum against real checksum
You can use it to verify that your roms are good
Download it @ No-Intro Forums (http://forums.no.intro.free.fr/showthread.php?t=1111)
smcd
June 26th, 2007, 07:20
For some information on the NDS icon (and other useful header info) try http://www.bottledlight.com/ds/index.php/FileFormats/NDSFormat Also for encryption stuff on NDS, the source code to ndstool is available (and in C) from darkfader's site. This might help move your project along :)
Powered by vBulletin® Version 4.1.11 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.