Hacking Wii backup Manager for Windows

MrGreg

Well-Known Member
Newcomer
Joined
Jun 2, 2010
Messages
47
Trophies
0
XP
55
Country
United States
@MrGreg
Sorry, I must've missed that page when I was catching up.. I think I'll remove the "Full scrubbing mode" in the next version because it doesn't really have any benefits. It saves a few meg, but fragments the file more than normal. I'll double check that your problem doesn't occur when using regular scrubbing and fix that if necessary.

Hi fig2k4,

Thanks for your reply. I decided to try the latest release 0.4.0 build 65. It seems that full scrubbing is not the problem. Here are my results showing NTFS sparse file sizes for Wii Sports...

0.3.5-beta1 Game Partition Only/Full Scrubbing - 314 MB (329,580,544 bytes)
0.3.5-beta1 Game Partition Only - 320 MB (335,544,320 bytes)
0.4.0-build65 Game Partition Only/Full Scrubbing 1st pass - 459 MB (481,689,600 bytes)
0.4.0-build65 Game Partition Only/Full Scrubbing 2nd pass - 314 MB (329,580,544 bytes)
0.4.0-build65 Game Partition Only 1st pass - 464 MB (486,539,264 bytes)
0.4.0-build65 Game Partition Only 2nd pass - 320 MB (335,544,320 bytes)
 

fig2k4

Well-Known Member
OP
Member
Joined
Oct 30, 2009
Messages
758
Trophies
0
Location
Scotland
Website
www.wiibackupmanager.co.uk
XP
173
Country
@Cyan
I didn't really mean to disappear again. Everyone that seemed to be interested in new features etc. kinda faded away and it's pretty boring working on an app without any feedback, especially this one that's only in development for the people that want it. I would've stopped adding features as soon as the transfers were working if it was only for myself :)

@redia
Cheers. The pic does show exactly what you said. :) I know it's something simple, but I haven't had the chance to get into it yet..

@MrGreg
Thanks for testing again. I need to get a clean/unscrubbed ISO to work with. I should be able to do that soon and debug it. The problem obviously slipped through the net because most people are either using scrubbed ISOs originally or transfer the ISO to WBFS. Once it's scrubbed, obviously the results are just like the second pass in tests..
 

fig2k4

Well-Known Member
OP
Member
Joined
Oct 30, 2009
Messages
758
Trophies
0
Location
Scotland
Website
www.wiibackupmanager.co.uk
XP
173
Country
@MrGreg

I've eventually found the problem. It happened when I coded the trimmed ISO function. When I build the disc usage, the partition selection is reset back to "keep all", which worked fine before. The function that finds the last used sector rebuilds the disc usage, but at that time it has been reset like I mentioned. So essentially, the data for all partitions was getting written with the correct partition table (ie. for game only). Exactly what you found from your tests. I'll send a link with an exe to test if you want it..

I haven't activated the trimmed ISO in the app yet because I wanted to code something similar to Wii scrubber's partition shuffle. It moves all the partitions to the start of the file. Without it, trimming the ISO is pointless because a lot of the time the game partition is at the end, making it about 4 gig when trimmed anyway.
 

fig2k4

Well-Known Member
OP
Member
Joined
Oct 30, 2009
Messages
758
Trophies
0
Location
Scotland
Website
www.wiibackupmanager.co.uk
XP
173
Country

redia

Well-Known Member
Member
Joined
Mar 9, 2008
Messages
371
Trophies
0
XP
234
Country
Swaziland
@redia
If you could also test the language filter, I'd appreciate it. It was a copy n paste error where I just assumed the block of code would work the same for the languages. It was a simple fix, hope it's working correctly now. :)

Testing done for the language.
seems to be working like a charm
I will do some extensive testing on the filter tomorrow... but it looks like you have done it ;)

Cheers,
R
 

MrGreg

Well-Known Member
Newcomer
Joined
Jun 2, 2010
Messages
47
Trophies
0
XP
55
Country
United States
@MrGreg

I've eventually found the problem. It happened when I coded the trimmed ISO function. When I build the disc usage, the partition selection is reset back to "keep all", which worked fine before. The function that finds the last used sector rebuilds the disc usage, but at that time it has been reset like I mentioned. So essentially, the data for all partitions was getting written with the correct partition table (ie. for game only). Exactly what you found from your tests. I'll send a link with an exe to test if you want it..

I haven't activated the trimmed ISO in the app yet because I wanted to code something similar to Wii scrubber's partition shuffle. It moves all the partitions to the start of the file. Without it, trimming the ISO is pointless because a lot of the time the game partition is at the end, making it about 4 gig when trimmed anyway.

Thanks fig2k4,

I just tested it and it now works correctly. Thanks for explaining what went wrong as well. As for the trimmed iso function, this would be a nice addition. I am familiar with WiiScrubber but I was not aware that the trim function did a partition shuffle. However there are some problems with WiiScrubbers trim function. I believe that it corrupts the iso in some way. If you trim an iso then try to reopen the trimmed iso again with WiiScrubber the app outputs tons of IO_Seek errors. Each time you press OK on the error, another one is generated. Eventually you must kill the process with task manager. The logging window tells you what is wrong but I do not know the internals of Wii iso's well enough to understand the messages. So I am very leery of WiiScrubbers Trim function. However WBM does load/transfer the trimmed ios's to wbfs. But I have not actually tried to play a game that has been trimmed/transferred. Can you confirm the WiiScrubber condition I describe above? I so then is the trimmed iso actually OK? Maybe you can implement the trim function better. Anyway thanks for fixing my problem...
 

redia

Well-Known Member
Member
Joined
Mar 9, 2008
Messages
371
Trophies
0
XP
234
Country
Swaziland
Thanks for testing it. I think it should be OK now, I just didn't think through the logic of it when copied and pasted the region check. Laziness really. :s

one thing I would not call you is lazy... brainless maybe :P

ok I have been testing the filter.
"disable all" is not working correctly.. one tiny mistake.. it does not disable the language checkbox...
apart from that I could not find any bug.

the next steps could be (in no particular order)
- add the filter to all tabs (hopefully reshuffling it as we already discussed)
- add more columns (for example language/developer/publisher)
- add a status to the games.

owned. which could be populated in different way
  • right click on a game in DB - 'set as owned'
  • when a new drive is loaded - if a game not yet marked as owned is discovered, popup a screen 'new games have been added to your drive do you want to change their status to owned'
  • in the tool menu add an entry 'change status from wanted to owned'
wanted. which could be populated from the DB page
  • this option will allow us to parse the DB, for games we want. then we can export the list before going to the shop
  • it also gives a validity to the 'change status from wanted to owned' after buying the games
not interested. which could be populated from the DB page to hide games through filters


- add a few export entries such as
  • 'export wanted games' to be able to print it,
  • 'export owned games'. I have 2 (small) disks with games. everytime I want a full list of my games I have to export both and concatenate the result.. with the DB we would not have to connect any disk to get an instant view of the games we own.
ok this is enough for now... once again this is only my two cents..

R
 

fig2k4

Well-Known Member
OP
Member
Joined
Oct 30, 2009
Messages
758
Trophies
0
Location
Scotland
Website
www.wiibackupmanager.co.uk
XP
173
Country
one thing I would not call you is lazy... brainless maybe
Yeah, kids can do that to you sometimes. I've definitely lost some brain cells over the years. :P

"disable all" is not working correctly..
Another one of those silly errors..

- add the filter to all tabs (hopefully reshuffling it as we already discussed)
I think the tabs should have separate filters, so you can do whatever you want with each tab without affecting the others.
- add more columns (for example language/developer/publisher)
To do.
- add a status to the games.
The easiest way to do this is keeping that info separate from the main database. By storing a list in a different file, the database can easily be updated without any risk of affecting your personalised info. When the app starts, I can read this file and merge it on the fly as if it is part of the database.

- add a few export entries
Wouldn't it be better to just use the filter for that? eg. Filter to show your owned games. Then it's possible to filter it more, like you're wanted PAL games etc.

While I was waiting on feedback from everyone, I decided to implement the SNEEK export. It's almost finished, I just need to find out what the bi2.bin and boot.bin files are, then integrate it into the app. I've compared the output with DiscEx and a binary comparison of the files and everything checks out, so it should work fine even though I can't test it myself.

Edit: I've also just received confirmation from nobody_tw that the error he was experiencing has been fixed. It was a problem with WBM and memory allocation when the ISO contained large files. I think I'll up a new build tonight with those fixes. This one especially is quite important because the SHA-1 verification won't work for most games the way it is in build 65.
 

redia

Well-Known Member
Member
Joined
Mar 9, 2008
Messages
371
Trophies
0
XP
234
Country
Swaziland
one thing I would not call you is lazy... brainless maybe
Yeah, kids can do that to you sometimes. I've definitely lost some brain cells over the years. :P
feels good to see I am not the only one suffering from this.. does it ever stop ?? ;)

- add the filter to all tabs (hopefully reshuffling it as we already discussed)
I think the tabs should have separate filters, so you can do whatever you want with each tab without affecting the others.
fully agree

- add a status to the games.
The easiest way to do this is keeping that info separate from the main database. By storing a list in a different file, the database can easily be updated without any risk of affecting your personalised info. When the app starts, I can read this file and merge it on the fly as if it is part of the database.
makes sense... when when when ??? lol
if I am not wrong the gameid is supposed to be a unique key... so I hope it won't be to hard to implement that.
I have been DDDYYYYIIINNNNGGG to see you implement that.
would you do it if I said please pretty please ??? lol :D

- add a few export entries
Wouldn't it be better to just use the filter for that? eg. Filter to show your owned games. Then it's possible to filter it more, like you're wanted PAL games etc.
stop being smarter than me !
I was not sure you were going to implement the status but it is obviously the best way, not to mention way more elegant ;)

While I was waiting on feedback from everyone, I decided to implement the SNEEK export. It's almost finished, I just need to find out what the bi2.bin and boot.bin files are, then integrate it into the app. I've compared the output with DiscEx and a binary comparison of the files and everything checks out, so it should work fine even though I can't test it myself.
send an exe if you want me to test this for you (I am not using sneek.. but shouldn't be hard to do two export and compare bit results.).

Edit: I've also just received confirmation from nobody_tw that the error he was experiencing has been fixed. It was a problem with WBM and memory allocation when the ISO contained large files. I think I'll up a new build tonight with those fixes. This one especially is quite important because the SHA-1 verification won't work for most games the way it is in build 65.
Bravo... once again do not hesitate to share the fix for testing (if I own the game.. lol)

Cheers,
r
 

fig2k4

Well-Known Member
OP
Member
Joined
Oct 30, 2009
Messages
758
Trophies
0
Location
Scotland
Website
www.wiibackupmanager.co.uk
XP
173
Country
I've upped 0.4.1 build 66 since it has a few fixes and the new features shouldn't interfere with normal use if there's any bugs.

|-Changed: The "Jobs" tab in the settings dialog is now "Downloads"
|-Added: General option, "Verify SHA-1 during SNEEK transfers". Transfers are slower when enabled, but it verifies that the data is OK.
|-Added: Convert/extract games to SNEEK format. See the transfer menu on each page. Consider this feature to be beta since I don't have any way to play test it. I have compared the output with DiscEx and everything is identical. If you use it, please let me know your results.
|-Fixed: "Disable All" in the database filter dialog didn't disable the language filter.
|-Fixed: SHA-1 hash check failed when the game contained large files because the whole file was read into memory. Allocating memory for these large files would fail and the error wasn't logged either. Now a 1MB buffer is used to read the files in small chunks.
|-Fixed: ISO->ISO transfers were writing all partition data, which made the resulting sparse ISO the same size as when not removing any partitions.
|-Fixed: The language database filter wasn't working correctly.
 

Fox888

Well-Known Member
Member
Joined
Mar 17, 2010
Messages
430
Trophies
0
XP
194
Country
really great app.. love it :yaywii:
but is there any way to get this great app to remember screen size and position... :unsure:

Thanks........
 

fig2k4

Well-Known Member
OP
Member
Joined
Oct 30, 2009
Messages
758
Trophies
0
Location
Scotland
Website
www.wiibackupmanager.co.uk
XP
173
Country
That could be done easily.

Your suggestion also sparked another idea, "Layout" profiles. This would allow the layout to switched quickly, instead of hiding individual tabs, cover display etc. it could be done with one click. I might add this too when I have time, but the main focus for now will be on the making the database info more useful.
 

Patryc

Well-Known Member
Member
Joined
Jul 30, 2007
Messages
452
Trophies
0
XP
182
Country
Could this fantastic backup manager have gamecube features also (ripping back up disc and database etc.?) Works a treat on Wii back up discs and love the sneek format feature!
 

redia

Well-Known Member
Member
Joined
Mar 9, 2008
Messages
371
Trophies
0
XP
234
Country
Swaziland
Fig2k4,

if this post catches you before you start working on the DB.
(maybe it makes more sense to implement it from the beginning.)

multiple user DB...
this way you can have DB for each member of the family and I could switch games on the HD depending on the user.

once again, just an idea...

R
 

fig2k4

Well-Known Member
OP
Member
Joined
Oct 30, 2009
Messages
758
Trophies
0
Location
Scotland
Website
www.wiibackupmanager.co.uk
XP
173
Country
@Patryc
I do plan to finish the gamecube support. I just need to get my head into it again and figure out whatever the problem was that I had. I honestly can't remember what that problem was now. Essentially, gamecube ISOs are just like a single Wii game partition, without any partition table etc. so once I look at the code again with fresh eyes, I should be able to get it working..

@redia
I'm not exactly sure what you want to do with multiple users. Can you give an example?

Once thing that does spring to mind is user defined tags. So you could tag a game as "wanted", "not for kids", "lol, this game is crap" or whatever. That would take some of the burden off of me to come up with tags that everyone wants. :) The filter dialog could allow you to choose a list of tags to filter the list, just like choosing the cover region order etc. in the settings. Also, you could add multiple tags to a game.

The right click menu would have something like..

- Tag as
---- Wanted
---- Owned
---- New Tag..
 

redia

Well-Known Member
Member
Joined
Mar 9, 2008
Messages
371
Trophies
0
XP
234
Country
Swaziland
fig,

I love your approach of having user defined tags.

about multiple user DB.
here is my thinking.

I currently have an unraid server with all my games.
and then I a couple of disks.
one for my.
one for my daughter.
and I am planning to have one for my son.
I would love to have your app being able to have multiple user DB
this way when I launch it I can select my "profile" and I get the DB as I like it with the games I want and for example hide games for kids I am not interested in.
or I can launch my daughter's profile in which the resulting DB is not the same (definitely)
and so on..

i hope I am clear... if I am not do not hesitate to tell me I will try to clarify.

once again, thanks for even considering all the features I bring up... it is really great of you.

Cheers,
R
 

fig2k4

Well-Known Member
OP
Member
Joined
Oct 30, 2009
Messages
758
Trophies
0
Location
Scotland
Website
www.wiibackupmanager.co.uk
XP
173
Country
That should fit perfectly with my idea of storing the personalised stuff separate from the main database. The separate file would basically be your profile settings (all the game tags etc.) The filter setup should probably be saved there too.

I'd only need to add a way to create and switch profiles, everything else would be almost the same as I planned.

To keep things simple, there should be a default profile. So you don't need to do anything regarding profiles unless you want to.
 

redia

Well-Known Member
Member
Joined
Mar 9, 2008
Messages
371
Trophies
0
XP
234
Country
Swaziland
That should fit perfectly with my idea of storing the personalised stuff separate from the main database. The separate file would basically be your profile settings (all the game tags etc.) The filter setup should probably be saved there too.

I'd only need to add a way to create and switch profiles, everything else would be almost the same as I planned.

To keep things simple, there should be a default profile. So you don't need to do anything regarding profiles unless you want to.
:D
 
General chit-chat
Help Users
    A @ abraarukuk: :rofl2: