Author Topic: SuperMD tool [v1.0.0.9 [27/9/09]]( windows& linux binaries AND source code!)  (Read 26676 times)

0 Members and 1 Guest are viewing this topic.

Offline Conle

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2203
[Current version]
Tool : 1.0.0.9
Framework : 2.0.0.2

Latest changelog : http://www.neoflash.com/forum/index.php/topic,5760.msg40724.html#msg40724


[Credits]
SuperMD Tool coded by conleon1988
OpenGenie(temp name) SMS/MD Rom digging opensource framework coded by conleon1988

[Contributors]
-Chilly Willy for providing the the linux x86 arch binaries and for reporting
some critical bugs. Thanks!

[Thanks]
Special thanks to all emu authors , to all people who worked hard on the hardware documents,
and a special thanks to NEOFLASH team for providing me with their great MD MYTH 3in1 512M Flashcart
and i was able to test all patched roms on real hardware.


[Basic features overview]
SMDTool is able to perform the following actions:

->Is able to dump all rom info in one HTML file
->Is able to convert any rom(SMD/BIN/GEN) to clean BIN dump
->Is able to patch the region codes
->Is able to apply IPS patches
->Is able to apply COPYRIGHT HACK to roms that have invalid copyright data
->Is able to fix the chesum of roms
->Is able to to patch custom address with custom data!
->Is optimized in order to handle thousands of ROMS in no time.
->Supports multiple action modes
->Supports custom directory redirection of patched files
->Supports massive patching in directories
->Supports single file actions

A quick test shows that:
=>(BIN)It takes 0.001ms or 0.002ms to patch the region area and other info AND write the rom to a file
=>(SMD+decoding)It takes 0.004ms or 0.007ms to patch the region area and other info AND write the rom to a file
=>(BIN)It takes 0.001ms or 0.003ms to patch the region area and other info AND Install IPS/CRC patches AND write the rom to a file
=>(SMD+decoding)It takes 0.004ms or 0.08ms to patch the region area and other info AND Install IPS/CRC patches AND write the rom to a file

Another test proves that when using massive patching the above values go even lower because some extra code is not needed
and hence never executed!

The above tests do not include CPU speficic generated code!

[Basic usage : Available arguments & info]

-MODE switch options:
=======>INFO = Generate directory or single file info and write them to HTML file
=======>IPS = Installs all IPS patches found in a directory or a single file to the linked rom(s)!
=======>REGION = Patches the region code of all roms in a directory or a single file using the -REGION_CODE switch
=======>MAKEBIN = Creates a clean BIN dump of SMD/BIN/GEN roms without applying any patch
=======>COPYRIGHTHACK = Fixes incorrect copyright areas of roms that have invalid copyright code
=======>PATCHADDR = Patches an address with custom data. This is a special command and takes 2 arguments.
The first is the address and the second the data --see some examples.

-SINGLE_FILE switch: after the switch write the file to be patched. -DIR switch will be ignored!.

-DIR switch : after the switch write the directory to be patched or if you plan to patch a single file use -SINGLE_FILE switch

-REGION_CODE : Write the region data of the rom eg : U = USA , E = EUROPE , J = JAPAN , 8 = HONGKONG , 4&B = BRAZIL , F = FRANCE.
Don't enter more than 3 and make sure REGION mode is active.

-CHECK_SRC : This validates and fixes incorrect checksums. This is global switch.
Available options:
=======> ON or OFF

-PATCH_DIRECTORY : write the directory to export all patches instead exporting them to the active directory.
Please include the directory slash at the end of the directory. Eg : exports/ or exports\ for windows


[Basic usage : Examples]

Generating HTML file with all info of ALL roms in a directory :
smdtool -MODE INFO -DIR roms

Generating HTML file with all info of a single file:
smdtool -MODE INFO -SINGLE_FILE myrom.bin

Creating clean BIN dumps of ALL roms in a directory :
smdtool -MODE MAKEBIN -DIR roms -CHECK_CRC ON

Creating clean BIN dumps of a single file :
smdtool -MODE MAKEBIN -SINGLE_FILE myrom.smd -CHECK_CRC ON

Installing IPS patches of ALL roms in a directory :
smdtool -MODE IPS -DIR roms -CHECK_CRC ON

Installing IPS patches of a single file :
smdtool -MODE IPS -SINGLE_FILE myrom.smd -CHECK_CRC ON

Patching the region of ALL roms in a directory :
smdtool -MODE REGION -DIR roms -REGION_CODE EUJ -CHECK_CRC ON

Patching the region of a single rom :
smdtool -MODE REGION -SINGLE_FILE myrom.smd -REGION_CODE EUJ -CHECK_CRC ON

Patching the addresses of a single file with custom data :
smdtool -MODE PATCHADDR 0x1f0 datadata -SINGLE_FILE rom.smd -CHECK_CRC ON

Patching the addresses of a given directory with custom data :
smdtool -MODE PATCHADDR 0x1f0 datadata -DIR roms -CHECK_CRC ON

Patching the copyright info of ALL roms in a directory :
smdtool -MODE COPYRIGHTHACK -DIR roms -CHECK_CRC ON

Patching the copyright info of a single file:
smdtool -MODE COPYRIGHTHACK -SINGLE_FILE myrom.bin -CHECK_CRC ON


[Download latest binaries -ONLY binaries-]
http://www.neoflash.com/forum/index.php?action=dlattach;topic=5760.0;attach=2184

[Download source code or contribute to the project]
http://www.neoflash.com/forum/index.php/topic,5760.0.html

Most recent source pack--v2.0.0.2-- :
http://www.neoflash.com/forum/index.php?action=dlattach;topic=5760.0;attach=2183
« Last Edit: September 28, 2009, 03:22:04 AM by Conle »

Offline Conle

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2203
Re: SuperMD tool ( windows& linux binaries AND source code!)
« Reply #1 on: September 13, 2009, 10:26:10 PM »
Please use this thread to ask questions on the Actual tool or report bugs
(i think there are no bugs but you never know!!!!!!!).

If you have any questions regarding the source code or the framework , please,
use this thread:
http://www.neoflash.com/forum/index.php/topic,5760.0.html

Thanks  ~sm-36.gif~


edited:
I will add io patching support soon.
You can do it with this version , but only using PATCHADDR $addr $data.
« Last Edit: September 13, 2009, 10:45:46 PM by Conle »

Offline mugenmidget

  • Jr. Member
  • **
  • Posts: 75
  • Retro Enthusiast
Re: SuperMD tool ( windows& linux binaries AND source code!)
« Reply #2 on: September 14, 2009, 03:57:55 AM »
Thank you so much for this tool, it'll make my life easier if I ever run into a problem ROM again.

 :)

Offline Conle

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2203
Re: SuperMD tool ( windows& linux binaries AND source code!)
« Reply #3 on: September 14, 2009, 03:14:49 PM »
Thank you so much for this tool, it'll make my life easier if I ever run into a problem ROM again.

 :)

This tool will not only work with roms that have issues , but you do many more , like installing IPS patches with translations  ~sm-42.gif~

Offline Conle

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2203
Re: SuperMD tool ( windows& linux binaries AND source code!)
« Reply #4 on: September 15, 2009, 01:58:44 AM »
Some good news , i managed to get the game genie decoder to work , and here are my results so far :

I found the codes in "mugenmidget's" thread , here :
http://www.neoflash.com/forum/index.php/topic,5777.msg40893.html#msg40893

Results :

Code: [Select]
~~~~REBT-A6XN~~~~
Game genie code : Alien Soldier (JPN NTSC, B version)
GG original code : REBT-A6XN
GG fixed(before patching) code : REBTA6XN
GG decoded address : 0x036C
GG decoded data : 0x4E71

~~~~REBT-A6XR~~~~
Game genie code : Alien Soldier (JPN NTSC, B version)
GG original code : REBT-A6XR
GG fixed(before patching) code : REBTA6XR
GG decoded address : 0x036E
GG decoded data : 0x4E71

~~~~RECA-A60R~~~~
Game genie code : Alien Soldier (JPN NTSC, B version)
GG original code : RECA-A60R
GG fixed(before patching) code : RECAA60R
GG decoded address : 0x04CE
GG decoded data : 0x4E71

real 0m0.001s
user 0m0.000s
sys 0m0.000s

Maybe we can add this to the menu source code  ~sm-42.gif~
« Last Edit: September 15, 2009, 02:31:46 AM by Conle »

Offline mugenmidget

  • Jr. Member
  • **
  • Posts: 75
  • Retro Enthusiast
Re: SuperMD tool ( windows& linux binaries AND source code!)
« Reply #5 on: September 15, 2009, 10:27:55 AM »
Great work, sorry I did not present them as the proper addresses before hand, but I'm glad to see you handled it.

 ~sm-44.gif~
« Last Edit: September 15, 2009, 10:29:51 AM by mugenmidget »

Offline Conle

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2203
Re: SuperMD tool ( windows& linux binaries AND source code!)
« Reply #6 on: September 15, 2009, 11:43:47 AM »
Great work, sorry I did not present them as the proper addresses before hand, but I'm glad to see you handled it.

 ~sm-44.gif~

So you are saying that cheats have more than 1 format?
Encoded and decoded raw addresses ?

Like for example :
(6chars)(delim)(4chars)
0xaddress-0xdata ?

Offline mugenmidget

  • Jr. Member
  • **
  • Posts: 75
  • Retro Enthusiast
Re: SuperMD tool ( windows& linux binaries AND source code!)
« Reply #7 on: September 15, 2009, 11:55:06 AM »
Oh, no I only meant I should decoded the Game Genie codes before posting them to make things more convenient.

Offline Conle

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2203
Re: SuperMD tool ( windows& linux binaries AND source code!)
« Reply #8 on: September 15, 2009, 12:02:20 PM »
Oh, no I only meant I should decoded the Game Genie codes before posting them to make things more convenient.

Its fine , we might need the decoding support ... ~sm-42.gif~

Offline Dr.neo

  • Administrator
  • Hero Member
  • *****
  • Posts: 3826
Re: SuperMD tool ( windows& linux binaries AND source code!)
« Reply #9 on: September 15, 2009, 03:38:03 PM »
great job conle,you should put it to the neo wiki  :)
In my world,have 0 and 1 only ......Matrix World......

Offline ChillyWilly

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1751
  • Just a coding machine.
Re: SuperMD tool ( windows& linux binaries AND source code!)
« Reply #10 on: September 16, 2009, 01:35:49 AM »
Excellent! Now I've got a directory full of roms to run this on...  :D

Offline Conle

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2203
Re: SuperMD tool ( windows& linux binaries AND source code!)
« Reply #11 on: September 16, 2009, 12:34:08 PM »
great job conle,you should put it to the neo wiki  :)
Sure , once its announced! ~sm-42.gif~


Excellent! Now I've got a directory full of roms to run this on...  :D

If you could post some results it would be really great ~sm-42.gif~ .
If your busy then sorry  ::sm-03:: .

Offline ChillyWilly

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1751
  • Just a coding machine.
Re: SuperMD tool ( windows& linux binaries AND source code!)
« Reply #12 on: September 18, 2009, 01:43:55 AM »
Been busy, but I'll see if I can't try it today and post my results.  ::sm-01::

Offline Conle

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2203
Re: SuperMD tool ( windows& linux binaries AND source code!)
« Reply #13 on: September 18, 2009, 03:12:57 PM »
Been busy, but I'll see if I can't try it today and post my results.  ::sm-01::

Its fine , take your time. ~sm-41.gif~
I had really bad luck with the tester. His home pc has some serious issues with the motherboard ~sm-34.gif~  :'(



~edited-
-A new update coming soon ~sm-42.gif~
« Last Edit: September 18, 2009, 04:17:57 PM by Conle »

Offline Conle

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2203
Re: SuperMD tool [v1.0.0.9 [27/9/09]]( windows& linux binaries AND source code!)
« Reply #14 on: September 28, 2009, 03:17:33 AM »
The tool have been updated to version 1.0.0.9 and uses the new and updated framework v2.0.0.2.

Here is the changelog : http://www.neoflash.com/forum/index.php/topic,5760.msg40724.html#msg40724

The download links can be found in my first post.


 ~sm-42.gif~