Well, there is a particular game (Clash Elementalist) that does'nt create the "Data" folder but the "Content" folder yes
That game doesn't seem to be using saving at all.Well, there is a particular game (Clash Elementalist) that does'nt create the "Data" folder but the "Content" folder yes
So it will work without that folder?That game doesn't seem to be using saving at all.
Yes, some games don't use saves, so they don't need that folder.So it will work without that folder?
Not really. There are .NDS ROMs out there from dsiware titles. With this tool you can convert those ROMs to the folder structure used by HiyaCFW.So, with this tool,
I can use converted DSiWare from *.bin to *.nds to place them back to *.bin with a custom set Ticket and Key so you can play them on your DSi?
Do I understand that correctly?
How do I even install HiyaCFW in the first place?
The dsi.guide link wasn't updated in 31498 years and I think there are newer methods out there.
It's the same tutorial copy & pasted.
I got stuck at one point...
import struct
import sys
with open(sys.argv[1], 'rb') as file:
if sys.argv[2] == 'title_id':
file.seek(560)
print '%x' % struct.unpack('<i', file.read(4))
elif sys.argv[2] == 'save_size':
file.seek(568)
print struct.unpack('i', file.read(4))[0]
elif sys.argv[2] == 'privsave_size':
file.seek(572)
print struct.unpack('i', file.read(4))[0]
elif sys.argv[2] == 'banner_save':
file.seek(447)
print ' '.join('{0:08b}'.format(ord(x), 'b') for x in struct.unpack('c', file.read(1)))[-3]
root_folder=$(basename "${1}" ".nds")
title_id=$(python print_rom_data.py "${1}" title_id)
save_size=$(python print_rom_data.py "${1}" save_size)
privsave_size=$(python print_rom_data.py "${1}" privsave_size)
banner_save=$(python print_rom_data.py "${1}" banner_save)
content_folder="${root_folder}/${title_id}/content"
data_folder="${root_folder}/${title_id}/data"
mkdir -p "${content_folder}"
./maketmd "${1}"
mv title.tmd "${content_folder}/."
if [[ save_size -ne 0 ]]
then
mkdir "${data_folder}"
cp "mbr/${save_size}" "${data_folder}/public.sav"
truncate -s ${save_size} "${data_folder}/public.sav"
fi
if [[ privsave_size -ne 0 ]]
then
mkdir "${data_folder}"
cp "mbr/${privsave_size}" "${data_folder}/private.sav"
truncate -s ${privsave_size} "${data_folder}/private.sav"
fi
if [[ banner_save -ne 0 ]]
then
dd if=/dev/zero of=banner.sav bs=1 count=16384
mv banner.sav "${data_folder}/."
fi
cp "${1}" "${content_folder}/00000000.app"