Issue when compiling
coreybruce opened this issue · 9 comments
Got to what I assume is near the end of the compiling but I ran into error
mips64-elf-objcopy --pad-to=0xC00000 --gap-fill=0xFF build/us/mk64.us.elf build/us/mk64.us.bin -O binary
tools/n64cksum build/us/mk64.us.bin build/us/mk64.us.z64
build/us/mk64.us.z64: FAILED
sha1sum: WARNING: 1 computed checksum did NOT match
make: *** [Makefile:186: all] Error 1
I did have a issue with the checksum not matching with the original rom I downloaded, is this a similar issue with the second rom I downloaded?
Hi Corey,
Which OS are you using? There's an issue with alignment on arch linux mips64-elf toolchain.
If this is the issue here, the solution is to use binutils-mips-linux-gnu
Thanks
Hey there, I am using Manjaro. Would This be the issue and do I need to remove mips64-elf and instead use binutils-mips-linux-gnu?
Yes, remove mips64-elf and use binutils-mips-linux. I cannot speak for Manjaro. However, this is an issue with mips64-elf. Feel free to join the Discord if you need more help.
The mips64-elf issue needs to be looked at one day. It's basically just fixing alignment in data. binutils-mips assumes alignment whereas mips64-elf does not.
ex:
glabel some_data
.word 0x00000000
.balign 4 # binutils will assume this goes here if this line is missing.
ok so it compiled mk64.us.elf in the build folder but something is wrong with the executable
[corey@corey-pc us]$ ./mk64.us.elf
bash: ./mk64.us.elf: cannot execute binary file: Exec format error
Any ideas on what the issue is? did I do something wrong?
That is a ELF which is converted to N64 ROM by way of objcopy
, it is not an ELF for your system
Oh right I see so what do I do next than? I am a little lost and does this produce a native binary for my system? from what I've been told by the developer of kirby64 decompilation it doesn't until it's 100% complete.
Porting the game to other systems are out of the scope of this repository. Nor does 100% completion result in a port. Aftewards, the code-base must be integrated with the Fast3D renderer (or a custom one) along with minor code changes to support specific platforms.
Porting the game to other systems are out of the scope of this repository. Nor does 100% completion result in a port. Aftewards, the code-base must be integrated with the Fast3D renderer (or a custom one) along with minor code changes to support specific platforms.
Yeah and depending of the scope of the project and what it's aiming for it could do those things as multiplatform is the best way to do things.