Hardware BatchGBA

  • Thread starter Thread starter TrolleyDave
  • Start date Start date
  • Views Views 16,914
  • Replies Replies 51
Status
Not open for further replies.
I think BatchGBA overtrims slightly; it produces trimmed files that are a few bytes smaller than GBATA does. Double Dragon Advance (U) with the mode 7 intro won't load when trimmed with your app, but it works fine when trimmed by GBATA.

I've only tested one other game so far (pokemon fire red, just because the rom was handy), and your app produced a smaller file that GBATA did for it too, but it still starts up normally.
 
I think BatchGBA overtrims slightly; it produces trimmed files that are a few bytes smaller than GBATA does. Double Dragon Advance (U) with the mode 7 intro won't load when trimmed with your app, but it works fine when trimmed by GBATA.

I've only tested one other game so far (pokemon fire red, just because the rom was handy), and your app produced a smaller file that GBATA did for it too, but it still starts up normally.
GBATA uses safe trim. I guess this app doesn't. Actually, I don't like safe trimming, so that's good.
 
What is safe trim exactly, and why does it matter?

The smallest allocation units you'll see on a microSD card are 2KB, so a few extra bytes trimmed will almost never result in the rom taking up less space on the card. It would make a slight difference if you were compiling a pogoshell rom, but only a very slight difference.
 
I think BatchGBA overtrims slightly; it produces trimmed files that are a few bytes smaller than GBATA does. Double Dragon Advance (U) with the mode 7 intro won't load when trimmed with your app, but it works fine when trimmed by GBATA.

I've only tested one other game so far (pokemon fire red, just because the rom was handy), and your app produced a smaller file that GBATA did for it too, but it still starts up normally.

Ok nice one, I'll see if I can hunt down a copy of DD Advance (U) to see what's going on. I thought I might know what it is but just realized it can't be that. I'll have to check the rom out.

EDIT : Fixed. The problem is that any rom with a patch applied the file size has to be divisible by 16. I only tried it on a handful of roms (I couldn't hunt down DD Advance with the mode 7 intro) but they all seemed to work ok and the file sizes matched GBATA.
 
Just thought I'd pop in and say that trimmed ROMs don't seem to work properly on my M3 DS Real. I didn't test the trimmed ROMs in emulators though.
 
Just thought I'd pop in and say that trimmed ROMs don't seem to work properly on my M3 DS Real. I didn't test the trimmed ROMs in emulators though.

No trimmed roms at all work? I don't own a M3 Real so can't test it. Do the roms work patched but untrimmed?

EDIT : Do the roms play when trimmed with GBATA?
 
V0.04 CHANGES
--------------------------
+ Now asks if you want to view the log after trimming/patching.
+ You can now batch trim only.
+ You can now cancel during a batch operation.
+ Items in window now scale properly.
+ Status log information now more informative and tidier.
+ Sped up scanning for save type.
+ Sped up patching routines.
+ Information display is now updated as file in batch is being processed.
+ Now shows whether a rom is already patched when patching.
 
Great update TrolleyDave. Thank you for the batch trimming only feature. Looking forward to using it.

edit: Batch trimming worked great. It was very fast too. At first it was telling me that no file was found when I clicked trim, but then I realized the rom has to be zipped for it to get trimmed. That's pretty nice.

If you're wanting any recommendations for future requests, drag and drop support would be great. I usually don't download my games to one specific folder. I usually just save them directly on my desktop. So to just drag them and drop them directly onto BatchGBA would be great.

It's a great app. Thank you for it. It'll replace GBATA for me.
 
Great update TrolleyDave. Thank you for the batch trimming only feature. Looking forward to using it.

edit: Batch trimming worked great. It was very fast too. At first it was telling me that no file was found when I clicked trim, but then I realized the rom has to be zipped for it to get trimmed. That's pretty nice.

If you're wanting any recommendations for future requests, drag and drop support would be great. I usually don't download my games to one specific folder. I usually just save them directly on my desktop. So to just drag them and drop them directly onto BatchGBA would be great.

It's a great app. Thank you for it. It'll replace GBATA for me.

Not a problem mate, thank you for the feedback. I'll look into why it's not trimming the unpacked roms, it should be! I'll try and add drag and drop into it over the weekend. I was thinking about it but started on something else as I wasn't sure if anyone would use it. When it's done I'll send you a PM if you wouldn't mind testing it out for me?
 
Yes, of course I'll test it for you. And thank you for taking the idea into consideration.

And yeah, it could have been an error on my end why it wouldn't trim an unpacked rom. A little window pops up and says File Not Found. But if it works for you then it has to be on my end.

Thanks again.
 
You shouldn't scan for the save type when "SRAM Patch" is unchecked. You also shouldn't scan for the save type a second time if the file has already been scanned once. Currently, if I select a rom it gets scanned automatically. If I then invoke Inspector Gadget to trim the file, it gets scanned for the save type again.

If I select multiple roms, one of them (who knows which) is scanned for save type.

I think you should have a button that will scan the selected file(s) for save type and trimmed size, and only extract & scan when that button or the patch/trim button is clicked. Once scanned, the information should be retained until the program is closed.

You should have a button for displaying the log rather than prompting after patching/trimming.

It would be nice if you could pack all of the required libraries into the .exe file.

Zip, RAR and 7z files all work just fine, but I get the same "File not found" error when I try to trim an uncompressed rom.

You should add an option for modifying the original file, rather than writing a new file to the output folder.


I hope all that doesn't seem too critical. Once you get the issues hammered out this will be one of the most useful and usable GBA rom utilities ever.
 
You shouldn't scan for the save type when "SRAM Patch" is unchecked. You also shouldn't scan for the save type a second time if the file has already been scanned once. Currently, if I select a rom it gets scanned automatically. If I then invoke Inspector Gadget to trim the file, it gets scanned for the save type again.

If I select multiple roms, one of them (who knows which) is scanned for save type.

I think you should have a button that will scan the selected file(s) for save type and trimmed size, and only extract & scan when that button or the patch/trim button is clicked. Once scanned, the information should be retained until the program is closed.

You should have a button for displaying the log rather than prompting after patching/trimming.

It would be nice if you could pack all of the required libraries into the .exe file.

Zip, RAR and 7z files all work just fine, but I get the same "File not found" error when I try to trim an uncompressed rom.

You should add an option for modifying the original file, rather than writing a new file to the output folder.


I hope all that doesn't seem too critical. Once you get the issues hammered out this will be one of the most useful and usable GBA rom utilities ever.

Nice one, cheers for the feedback DB! I'll do a bunch of work on it over the weekend and get that stuff hammered out and added in. I'm not too sure about pack all the dll's into the exe though but everything else should be pretty do-able. Cheers again for the feed back mate.
 
V0.06 Released
-------------------
+ Program no longer automatically scans a file for details when file in file list/drag on drop list is clicked. Use the button located next to lists to scan the last file clicked on in the list boxes.
+ There's now a checkbox to select a custom output folder. Not selecting one means patched/trimmed roms will be saved to their original folder. This goes for drag and drop files as well.
+ Selecting the Overwrite original files checkbox means that original GBA files will be overwritten by the patched/trimmd version. This only applies when not using a custom output folder.
+ It now only prompts if you want to see the status log if an error occurred while patching/trimming.
+ Fixed a bug that caused it to crash if the drag and drop list was showing but empty.
+ It now saves window size and position when you exit.
+ Sped up searching for actual cart size.
+ Fixed a big in Eeprom_V122 and Flash_V126 patching.
+ Improved detection of previously patched roms. It throws up an error on 2 roms, these are both pre-patched by the release group using different routines than standard. Even though it throws up the error the games run just fine on the cart.
+ Various other bug fixes and adjustments.
+ Added Select all/Select none buttons.
+ Sped up patching routines.
 
+ Added tips for all buttons.
+ After a batch run it now shows start and end time of batch run plus the total time taken in minutes.
+ After a batch run it now shows total amount of space saved in MB if trimming is selected.
+ Added button to clear drag and drop list and return to file browser mode.
+ Fixed a bug where file browser would show contents of custom output path when setting it.
+ Now clears rom info text before scanning.

STILL TO DO
---------------------
- Batch renaming
- RTC patching
- Allow creation of folders while setting custom output path.
 
TrolleyDave said:
It would be nice if you could pack all of the required libraries into the .exe file.
I'm not too sure about pack all the dll's into the exe though but everything else should be pretty do-able. Cheers again for the feed back mate.


You have 2 ways of packing the DLLs into the exe:

1- Make a resource file (.rc) with both and compile them into a .res with brcc32. You can then add them to the exe resources with {$R mydlls.res}
You can then use TResourceStream to extract them to a temporal folder at run-time, load them dynamically, then delete them when the app is closed.

2- (used by NDSTokyoTrim) Same steps as 1. But there is a way to load them straight from the resource so you don't have to extract them do disk.
This method however is quite tricky, undocummented and non-standard at all. It doesn't work in Vista 64-bit, so I had to make another build for that OS using traditional methods.
 
BrianTokyo said:
TrolleyDave said:
It would be nice if you could pack all of the required libraries into the .exe file.
I'm not too sure about pack all the dll's into the exe though but everything else should be pretty do-able. Cheers again for the feed back mate.


You have 2 ways of packing the DLLs into the exe:

1- Make a resource file (.rc) with both and compile them into a .res with brcc32. You can then add them to the exe resources with {$R mydlls.res}
You can then use TResourceStream to extract them to a temporal folder at run-time, load them dynamically, then delete them when the app is closed.

2- (used by NDSTokyoTrim) Same steps as 1. But there is a way to load them straight from the resource so you don't have to extract them do disk.
This method however is quite tricky, undocummented and non-standard at all. It doesn't work in Vista 64-bit, so I had to make another build for that OS using traditional methods.

Cheers Brian mate, that's well handy - I know what I'll be doing today now! lol
wink.gif
 
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum