Register | Login | |||||
Main
| Memberlist
| Active users
| ACS
| Commons
| Calendar
| Online users Ranks | FAQ | Color Chart | Photo album | IRC Chat |
| |
1 user currently in Super Mario World hacking: |
Acmlm's Board - I2 Archive - Super Mario World hacking - SMW Open Source Project | | | |
Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
User | Post | ||
HabsoluteFate Red Paratroopa Level: 23 Posts: 1/179 EXP: 58525 For next: 9198 Since: 03-15-04 From: Ottawa, Ontario, Canada Since last post: 10 days Last activity: 2 days |
| ||
Official Thread for the SMW Open Source Project located at: http://arock.redirectme.net Quick Update: No real update since last time, I'm still working on the latest release and hope to have it up soon (edited by HabsoluteFate on 03-14-04 10:57 PM) |
|||
Sokarhacd Ball and Chain Trooper Resistance is Futile You Will Be Assimilated Hab SoSlI' Quch Level: 61 Posts: 21/1757 EXP: 1799888 For next: 76708 Since: 03-15-04 Since last post: 6 days Last activity: 4 hours |
| ||
I was gonna post this thread again, but I thought, why, when I didnt start it, well hope to see the next version soon. | |||
HabsoluteFate Red Paratroopa Level: 23 Posts: 7/179 EXP: 58525 For next: 9198 Since: 03-15-04 From: Ottawa, Ontario, Canada Since last post: 10 days Last activity: 2 days |
| ||
Originally posted by Chaosflare I was gonna post this thread again, but I thought, why, when I didnt start it, well hope to see the next version soon. No biggy i would have forgiven you I'm hopping to have the next version out this weekend sometime. i have made a few important decisions that will change things quite a bit but i'm doing this keeping in mind that i have set myself the following requirements: 1. This is a tool made for SMW 2. Speed seems to be something everyone wants 3. This is a tool made for SMW 4. Did I forget to mention that this is a tool made for SMW? Anyways, I'm repeating myself here but considering we lost the original thread i'm going to repeat myself anyways Since speed seemed to be a problem with some people i did a complete re-write with speed in mind This tool is made specifically for SMW, the tool will now ensure that the ROM in question is an UNALTERED original SMW rom, nothing else will work. A checksume is made on the rom to check. This probably is a problem for some considering most of you have already edited the original rom. not to fear, i will add IPS patch support later on, you will still need the original rom but you will also be able to include your patch and have it applied dynamically to it (i'll explain better when its actually out). Another important change to the code is that the decompiled code created will assume the entire rom is DATA. There will be a properties file that will define what parts are code, at the beginning most of the rom will be assumed to be data but hopefully with everyone's contribution eventually most of the rom will be mapped out and will decompile data & code seperately. I will include some original information to the properties file so that some of the code is mapped out. Why did I decide to do this? Well I did write code that decompiles it by following subroutines, unfortunately this method is not 100% accurate; in some cases there is a possibility of wrongfully flagging parts of the rom as code or part of it as data when the opposite should be true. Using a properties file might not include all data either but at least its going to be 100% accurate; speed should also improve. The compiled code will also now be using a JAR file. To summarise the changes: -Attemps to seperate code & data (previously the entire ROM was assumed to be code) -Speed improvements -Only accepts the original SMW rom -Compiled code within a JAR file The format might change later on but here is the temptative format within the properties file, this example is the program's main sub routine 8000.RoutineName=Main 8000.RoutineDescription=ROM's Main Sub Routine 8000.mFlag=true 8000.EndRoutine=8BFF RoutineName: Mandatory RoutineDescription: Optional mFlag: Optional. Can either be true or false. Defaults to true if not provided the mFlag is required to properfly define whether or not we're going to use 8 bit or 16 bit numbers for certain op codes 8BFF might be incorrect (if anyone knows please let me know!). I came up with this number by looking for the first STP instruction after address 8000 Delivery Date: Update should be up on the site sometime this weekend (or earlier) Added March 18, 2004: I have decided to use a windows interface for the next release, here is a small preview screenshot of a download prompt. This download prompt appears when the application loads up if jSmwDev.ini is missing (notice the name change from jSnesDev to jSmwDev). This allows the user to automatically download the file (at some point in time there will be an update feature for the entire application...not right away though) Screenshot: |
|||
HyperLamer <||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people Sesshomaru Tamaranian Level: 118 Posts: 101/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||
The main routine's 3072 bytes? Any plans for a C/C++ version, or at least something we don't need Java for? |
|||
HabsoluteFate Red Paratroopa Level: 23 Posts: 9/179 EXP: 58525 For next: 9198 Since: 03-15-04 From: Ottawa, Ontario, Canada Since last post: 10 days Last activity: 2 days |
| ||
Originally posted by HyperHacker I do have something i'm looking into for that, the source code will still be in Java but the resulting application would be a native windows executable...i dont think ill have it in place for the next update (but you never know). Here is another screenshot, this time it shows the progress of a current download, this will appear while it downloads missing files that should be with the application (such as jSmwDev.ini) or updates (i'll have an option to update any of the existing files at some point in time automatically, for example it could download the latest file automatically that contains information about all sub routines) |
|||
Kario In Possession of a Stolen Shovel Level: 65 Posts: 112/2082 EXP: 2321379 For next: 14249 Since: 03-15-04 From: Texas... Yeehaw! Since last post: 2 days Last activity: 17 hours |
| ||
Just to let you know, the link to the SMW hacking page in links goes to overclocked still... | |||
HabsoluteFate Red Paratroopa Level: 23 Posts: 22/179 EXP: 58525 For next: 9198 Since: 03-15-04 From: Ottawa, Ontario, Canada Since last post: 10 days Last activity: 2 days |
| ||
Originally posted by Kario oops good catch Just changed it thanks! Added March 25th: Another screenshot! You can now open the ROM using an open file dialog box: I'm finally almost completed this version! Although very limited in functionality it will allow you to open the ROM and it will save the decompiled .asm file where you want to. Everything is visual but keep in mind there is no actual project area yet, i kept things to a bare minimum to allow finishing this version sooner, this does mean another version will follow (hopefully soon after). The program also currently checks the checksum of the SMW rom to make sure it is the original ROM (IPS patch support will also come later on, when you make an edit on the ROM it will instead either create an IPS file or use an existing one and make the changes on there, this way the original rom is NEVER modified and you would never have to create an IPS file for others since it will be in that form already). Added March 27th: Final screenshot for version 0.4, in this screen shot the user selects the filename to save the decompiled .asm source code as: The next update should be the release of this version and shouldn't be too far away! I apreciate any feedback anyone might have although I realise it is hard to give feedback until it is actually released! Added March 28th: I could not resist. Here is the latest screenshot for version 0.4. The screenshot displays the progress bar that appears when the user is decompiling the rom to a file: As well, here is a sample decompiled line of data produced by this code (there are 10 data fields per data line of code but that could be adjusted easily):
At this point, I only need to re-integrate the decompilation code I've already created and then I'm done. This should be sometime this week...I can then begin working on the next version and it will be critical at this point that i have people's feedback so I can improve and if you have any feature requests please ask! Added April 4th: 0.4 has now been released (Finally!) jSmwDev version 0.4 has finally been released! Application now uses a GUI interface Application now has a .ini configuration file Properties file now also contains information about what part of code is code in the ROM A checksum is now done on the ROM being decompiled to make sure it is the original unaltered ROM src directory within release contains source code class files are now within a jar file The Properties file supports the following: .RoutineName Name of sub routine .RoutineDescription Description of Sub Routine .mFlag Status of m Flag for the start of this sub routine .EndRoutine End address for this sub routine .LineComment Comments related to this line of code Example:
The following is a sample decompiled output (other than line D066 this is actual decompiled output). I modified D066 on purpose so you could see that jumps automatically will include the sub routine name instead of the address automatically now.
That's it for today! Any comments would be apreciated, suggestions, questions, and last but not least any sub routine locations you can provide . Thanks and enjoy! (edited by HabsoluteFate on 04-04-04 11:35 PM) (edited by HabsoluteFate on 04-04-04 11:36 PM) (edited by HabsoluteFate on 04-04-04 11:40 PM) |
Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
Acmlm's Board - I2 Archive - Super Mario World hacking - SMW Open Source Project | | | |