(Link to AcmlmWiki) Offline: thank ||bass
Register | Login
Views: 13,040,846
Main | Memberlist | Active users | Calendar | Chat | Online users
Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album
04-29-24 11:57 AM
0 users currently in ROM Hacking.
Acmlm's Board - I3 Archive - ROM Hacking - Ok, how about clean room disassembly of Lunar Magic? New poll | |
Pages: 1 2 3Add to favorites | Next newer thread | Next older thread
User Post
calcwatch
Newcomer


 





Since: 11-19-05
From: Silicon Valley

Last post: 6474 days
Last view: 6280 days
Posted on 02-06-06 05:59 PM Link | Quote
Originally posted by Techokami
calcwatch, I think file locking should be left out of the open source build, as FuSoYa would... come back from the dead to eat you :X

... Good point... Personal safety aside, having an open source locking feature would be silly, anyway... It would make unlocking the file trivial for anyone who looks at the source code.
FreeDOS +

Giant Red Koopa
Legion: freedos = fritos








Since: 11-17-05
From: Seattle

Last post: 6279 days
Last view: 6279 days
Posted on 02-07-06 04:17 PM Link | Quote
Okay... now that there seems to be some interest, any volunteers for either position (can't be both for legal reasons)? (I'll set up a table in the first post.. )
Goplat
Newcomer


 





Since: 01-29-06

Last post: 6655 days
Last view: 6655 days
Posted on 02-07-06 08:25 PM Link | Quote
If you want to find out how stuff in SMW works, IMO the best way to go about it would be to disassemble SMW itself, not LM.
LocalH

Paragoomba


 





Since: 11-20-05

Last post: 6518 days
Last view: 6518 days
Posted on 02-07-06 09:06 PM Link | Quote
Well, I think both are laudable goals. Given that the vast majority of SMW hackers use LM, it would be immensely helpful if any open-source alternative be as compatible as possible. However, it would also be laudable to disassemble SMW itself. Speaking from the perspective of the Sonic hacking scene, we made huge leaps and bounds once we started disassembling the games.
Techokami

Porcupo








Since: 12-03-05
From: Mass-uh-chew-sits USofA

Last post: 6294 days
Last view: 6280 days
Posted on 02-07-06 10:00 PM Link | Quote
Originally posted by LocalH
Well, I think both are laudable goals. Given that the vast majority of SMW hackers use LM, it would be immensely helpful if any open-source alternative be as compatible as possible. However, it would also be laudable to disassemble SMW itself. Speaking from the perspective of the Sonic hacking scene, we made huge leaps and bounds once we started disassembling the games.

I thought someone was trying to disassemble SMW at one point. Also, SNES ASM isn't as well-known as Genesis ASM (might get proven wrong, but then you'd be asked "why didn't you start a disassembly?")

One reason people want to deassemble Lunar Magic is to figure out how it does certain things like read and format level layouts, as well as decompress graphics.

Also, surprize to see you here, LocalH. I see you more on SWS2B and CulT :o
Goplat
Newcomer


 





Since: 01-29-06

Last post: 6655 days
Last view: 6655 days
Posted on 02-07-06 11:38 PM Link | Quote
SMW graphics compression isn't that complicated. If anyone's interested I could write up a doc for it (it's almost the same as EarthBound's, which I cracked a long time ago)
LocalH

Paragoomba


 





Since: 11-20-05

Last post: 6518 days
Last view: 6518 days
Posted on 02-08-06 03:39 AM Link | Quote
Originally posted by Techokami
I thought someone was trying to disassemble SMW at one point. Also, SNES ASM isn't as well-known as Genesis ASM (might get proven wrong, but then you'd be asked "why didn't you start a disassembly?")

Well, the 65816 is a pretty standard processor, basically a beefed-up 6502. It's just a matter of someone doing it, although it is a lot of work. All it takes is one person willing to do the work and share it, and they'll likely be received as "gods" within the scene (same as Nemesis was when he first started disassembling S2). The method used for the Sonic games was to modify an emulator to create a log of all bytes in the ROM that are executed, to differentiate between code and data, and then feed that log into IDA (Interactive DisAssembler). The concept should be applicable to any system with a reasonably-accurate emulator.
Dragonsbrethren

440








Since: 12-01-05
From: New Jersey

Last post: 6467 days
Last view: 6467 days
Posted on 02-08-06 04:01 AM Link | Quote
I point you to an emulator that strives for accuracy: BSNES

Maybe if someone asks nicely byuu will consider adding said feature.
Techokami

Porcupo








Since: 12-03-05
From: Mass-uh-chew-sits USofA

Last post: 6294 days
Last view: 6280 days
Posted on 02-08-06 08:45 AM Link | Quote
Originally posted by Dragonsbrethren
I point you to an emulator that strives for accuracy: BSNES

Maybe if someone asks nicely byuu will consider adding said feature.

Better than that; just edit the source code
byuu
Newcomer


 





Since: 01-11-06

Last post: 6534 days
Last view: 6534 days
Posted on 02-08-06 11:00 AM Link | Quote

Request it to become open source? I'd like to know how many of you would like to make a project you spent years on entirely public. As in, I'm really curious.


I would, and have. And I've had a ton of help from volunteers fixing bugs for me, porting my software to other platforms, etc


The concept should be applicable to any system with a reasonably-accurate emulator.

I've considered making table generators such as this for the debugger, e.g. marking which memory bytes are actually accessed, which ones are executed as code, etc.
For your idea to work with the SNES, you'd need to take it a step further. The SNES can execute the same exact code differently depending on the status register bits, so you'd pretty much be forced to log each opcode to a disassembly as it is executed in-game.
Just knowing what data is code and what data is not is not enough to disassemble 65c816 code.
It's doable, but I don't really have any plans to do that specifically myself.

Example:
binary code = a9 00 ea
This is: lda #$00 : nop, if the status register has the m flag set, and lda #$ea00 if the m flag is clear.
The 6502 (NES), 680x0 (Genesis), SPC700 (SNES), etc. do not have this problem.
Parasyte +

Red Paragoomba


 





Since: 01-05-06

Last post: 6600 days
Last view: 6600 days
Posted on 02-08-06 02:10 PM Link | Quote
File locking? Has everyone forgotten about RLM? It's source was released under GPL, and the development of the projects was done without any reverse engineering attempts on Lunar Magic. Personally, I think the whole idea of "locking" a hack is counterproductive and should be bannished forever.

That aside, I wish you luck in your endeavor to support the free software movement in the relm of ROM hacking.
FreeDOS +

Giant Red Koopa
Legion: freedos = fritos








Since: 11-17-05
From: Seattle

Last post: 6279 days
Last view: 6279 days
Posted on 02-08-06 02:42 PM Link | Quote
Originally posted by Parasyte
File locking? Has everyone forgotten about RLM?

No? Also more bonus points for making it 100% Unix-friendly.
Parasyte +

Red Paragoomba


 





Since: 01-05-06

Last post: 6600 days
Last view: 6600 days
Posted on 02-08-06 10:48 PM Link | Quote
Yes, indeed. When I can't use GNU, I <3 MinGW.

edit: I forgot to mention that RLM was moved into my projects directory.
http://parasyte.panicus.org/projects/rlm/rlm.zip
http://parasyte.panicus.org/projects/rlm/rlm_v1.1.zip
http://parasyte.panicus.org/projects/rlm/rlm_v1.2.zip

Original screenshot of the program in action: http://parasyte.panicus.org/projects/rlm/rlm1.png


(edited by Parasyte on 02-08-06 09:53 PM)
Kailieann



 





Since: 11-18-05

Last post: 6279 days
Last view: 6279 days
Posted on 02-09-06 08:15 PM Link | Quote
Originally posted by byuu
[The SNES can execute the same exact code differently depending on the status register bits, so you'd pretty much be forced to log each opcode to a disassembly as it is executed in-game.


Doesn't Geiger's debugger already do that?
MathOnNapkins

1100

In SPC700 HELL


 





Since: 11-18-05

Last post: 6279 days
Last view: 6279 days
Posted on 02-10-06 07:02 AM Link | Quote
^ Yes.

I still say that a disassembly of the executable would be going overboard. I mean jeez Freedos, I see you complaining about the lack of interest in making a new SMW editor, but if you're so interested you should take the initiative and get the ball rolling by actually working on it. Doesn't mean you'd have to finish it but projects need to start somewhere.
Parasyte +

Red Paragoomba


 





Since: 01-05-06

Last post: 6600 days
Last view: 6600 days
Posted on 02-10-06 01:19 PM Link | Quote
I just don't see the "start somewhere" being the problem. It appears to me that FreeDOS wants to clone Lunar Magic about as close as possible. Personally, I dislike the idea of cloning it. (Better to go with your own unique style than trying for a 1:1 copy.) If he were to drop the idea of cloning the editor via reverse engineering, then I imagine getting started on a new open-initiative editor wouldn't be such a hastle. But as mentioned previously, he will need some documentation of the Super Mario World ROM data. And there are several ways to go about that:

1) The easiest way is to take some of the freely available documentation that's already out there. Of course what is available is possibly too imcomplete, which makes the next method come in handy.
2) Use a debugger to quickly find whatever pieces of information you are missing.
3) Use a corrupter, with wildly varying results. Even if you find what you need with a corrupter, you still have a lot of researching to do before you can properly parse the data format and such.

Now I am probably beating a dead horse here with information that everyone is well aware of. However, that's not to say this post in meaningless. Unfortunately, I am also well aware that FreeDOS' earlier suggestion to start an editor from scratch was more or less overthrown by the idiot masses. This thread appears to be heading the same direction.

So here is my reccomendation: Gather all who are interested in helping the project, and work on it where acmlmorons (no offense to all, but the large majority of you people lack any credible amount of common sense) will not influence the project. If you are interested, I am willing to provide whatever support you may be lacking. All you have to do is respond to the private message I am about to send.
Glyphodon



 





Since: 11-18-05

Last post: 6320 days
Last view: 6301 days
Posted on 02-10-06 03:07 PM Link | Quote
Take me with you! I hate it here.
Techokami

Porcupo








Since: 12-03-05
From: Mass-uh-chew-sits USofA

Last post: 6294 days
Last view: 6280 days
Posted on 02-10-06 09:56 PM Link | Quote
Originally posted by Goplat
SMW graphics compression isn't that complicated. If anyone's interested I could write up a doc for it (it's almost the same as EarthBound's, which I cracked a long time ago)

Please do it, I'd love to give something like that a read.

If you need some help with the project guys, I'm available to assist any way possible. Maybe a rudimentary sprite tile mapping editor? :O
Parasyte +

Red Paragoomba


 





Since: 01-05-06

Last post: 6600 days
Last view: 6600 days
Posted on 02-10-06 11:51 PM Link | Quote
I think what the project really needs is a few coders to help with the editor core, and some other hackers who can locate and document ROM data (using debuggers, hex editors, corruptors... anything but reverse engineering Lunar Magic or other 'non-free' tools.)

I have offered to help with some coding and a little data hunting. Just contact FreeDOS if you would like to help. Just be sure that you agree with the GPL and such before you start pitching in.
LocalH

Paragoomba


 





Since: 11-20-05

Last post: 6518 days
Last view: 6518 days
Posted on 02-10-06 11:55 PM Link | Quote
I still say that there should be an effort to disassemble SMW itself - while ROM editors are nice, there will always be things that you can do with a disassembly but not with an editor. Also, rather than having one single comprehensive editor, I feel that it may be better to create a suite of tools that work together (and that also have the possibility of use with non-SMW games). On top of that, one could have an editor frontend that brings all the tools together to produce the final result. For example, SonED 2 doesn't work with ROM images, but rather split data which can be reinserted to the ROM once edited. And it's quite simple to generate the split data if you have an unmodified ROM. This is also where a disassembly would increase flexibility, as you don't have to worry so much about shifting data around and modifying pointers, all you do is reference the binary within the source, and all pointers are handled correctly when assembling.

Unfortunately, my knowledge is primarily of the Genesis, so I wouldn't be able to assist with such an effort. But, as I said, Sonic hacking improved by leaps and bounds once we started disassembling the games.


(edited by LocalH on 02-10-06 10:56 PM)
Pages: 1 2 3Add to favorites | Next newer thread | Next older thread
Acmlm's Board - I3 Archive - ROM Hacking - Ok, how about clean room disassembly of Lunar Magic? |


ABII

Acmlmboard 1.92.999, 9/17/2006
©2000-2006 Acmlm, Emuz, Blades, Xkeeper

Page rendered in 0.033 seconds; used 441.11 kB (max 569.56 kB)