Tip: You can use the SMW Customizer to edit tons of misc. features in SMW, including the speed of Bullet Bills, how many points a 3-UP moon gives you, and more!
Recently I came up with a new ROM Hacking project. This project basically includes disassembling SMAS' whole ROM, so we can reveal the ASM stuff in it. A nickname for this project is "SMASH DIZ!". I dunno what it is good for though.
I've heard that SMW got disassembled with an alternate disassembler. However, since I know I will never ever find it, I decided to start up this projec withou itt.
The disassembly standards is pretty simple. Everything must be all.log styled. Labels everywhere and so on.
'Crew list': Disassemblers:
· Ersanio (Leader) - Banks $00-$0F. Commenting $20-$3F's ASM data.
· Roy - The rest.
Assistant:
· SWR - Various, valuable Information
Developer:
· Alcaro - Developing the "smashdiz.exe" tool
Kicked:
BlueRabbit: Inactivity due to real-life stuff. I'd like to see him return.
We do not accept members anymore. And lastly, here is the SMAS ROM map (in construction): http://snn.pac.am/SMASRomMap.html (OUTDATED)
Hamtaro126 Yellow Koopa
Posts: 9/317
Since:
Location: None of your Beeswax!
Pronouns: He/Him
Good luck on this. I attempted a little bit on this before, But did not really work a lot. Especially when finding pointers with Geiger's SNES9x debugger. I tried finding the games and tried to load only one game. It failed for me.
News: Since SMWC's IRC moved back to badnik again, there is an additional IRC channel. IRC server: irc.badnik.net
Channel: #smasdis
Password is the same as the centralchat one.
Also some notes: When writing branches (using the debugger of course), write them like this:
Code
BNE $C6 ;[$8037] $00/806F D0 C6
You see the [$8037]? It shows the location of where it branches to. And about tables...
There are really only two other people on this planet who know anything about the SMAS world afaik. That would be me and Insectduel. I am very familiar with the SMB1 ASM and have a large portion of its memory map. I'm not much for disassembling due to other projects with the game I'm doing, but I'd be glad to assist in others ways. Just PM me for my AIM name if you're interested. I really prefer AIM over IRC, but if you can't use AIM for some awful reason, then just give me the IRC pass I guess. =/
-SWR ----------
Interested in MushROMs? View its progress, source code, and make contributions here.
I'm not really familiar with SMAS ASM, but I assume it is not much different from SMW ASM, aside from a few commands that might not be used in SMW, maybe.
I'd like to join then.
-------------------- --------> Don't follow "Find Roy's Dignity", my hack. Because it's pretty outdated. <--------
All disassemblers PM me for up to date RAM addresses regarding SMB1, misc. data, or just random help. If you have AIM or MSN, that would be grand. ----------
Interested in MushROMs? View its progress, source code, and make contributions here.
I looked through banks 18-1F in yy-chr, and found...graphics, graphics, and more graphics. No ASM codes at all.
Graphics man, check there (the graphics is at least mainly from SMB2).
Ersan, don't give these banks to anyone.
Well, there is some empty space there, but that doesn't count, right?
Also, at PC 0D6A00 (in a headered ROM), there's some suspicious-looking stuff, but that doesn't look at all like that'd be ASM. Too repeative (24 10 24 10 24 10 24 10 24 10 24 10 24 10 24 10 etc), too few A9's, 8D's, etc.
It's propably related to VRAM.
Edit: Oops, I made a mistake. Bank 1F does contain ASM suspicious data. I'll try to disassemble that.
Edit: Oops, that's SPC data. I'll let someone else disassemble that if neccesary.
-------------------- <blm> zsnes users are the flatearthers of emulation
I did a check on how much space went into graphics data in the ROM about a year ago and arrived at 0x115000 bytes out of the 0x200000 bytes in the ROM. This means that (including empty space) there are, at most, only 30 banks to disassemble. In contrast to the original 64, I have just cut our work in half and then some. You're all welcome.
$01:8000-
$02:BFFF:GFX for the opening of the game. The rest of the second bank is mostly empty space and what appears to be static data. I'm not positive, but I would advise immediate inspection of the rest of the code and what it does.
$06:8000-
$07:BFFF:SMB1 GFX including objects, sprites and animated tiles
$08:8000-
$0A:FFFF:Layer 2 BG GFX and player GFX.
$0C:8000-
$0C:FFFF-This is a very odd bank. It sports a quarter of empty space, some SMB3 GFX, and some 3BPP GFX.
$10:8000-
$10:FFFF:A GFX bank for any differences between the SMB1 game and the SMB:TLL game (like poison mushroom).
$16:8000-
$1E:FFFF:SMB2 GFX and some empty space here and there. There's something odd at $1A:E800. It's not GFX, but it has a visual pattern where you know it's not code. It could use inspection though.
$2B:8000-
$2C:FFFFkay, this one was hard to figure out, but it's the box arts for the games on the select screen.
$2D:8000-
$3A:FFFF:The world of SMB3 GFX. It boasts a few other odd things though. Nothing looks like vital data however.
$3D:8000-
$3F:FFFF:A few final GFX for the SMB3 game.
Altogether, that totals for over half the space in the ROM. You may want to reevaluate the division of labor among the game Floating Munchsanio. If you could get ten people, they'd only have to do three banks of pure code. That's a pretty hearty deal! ----------
Interested in MushROMs? View its progress, source code, and make contributions here.
...I thought I said that banks 19-1F are only GFX/SPC and shouldn't be disassembled? So why does the list of disassemblers suggest that I'm disassembling these banks? ...Propably so you won't give them to someone else.
Well, as promised over IRC, I've made a tool to convert the debugger's data to the format of your smasdissasembly.asm. Link PM'd to you. Upload it to your own site if you want the rest of the team to have access to it.
Also,
Originally posted by Floating Munchsanio
Also some notes: When writing branches (using the debugger of course), write them lime this:
[/grammarnazi]
Also, why don't that sound code contain a STZ and a 16-bit LDA/STA instead?
-------------------- <blm> zsnes users are the flatearthers of emulation
...I thought I said that banks 19-1F are only GFX/SPC and shouldn't be disassembled? So why does the list of disassemblers suggest that I'm disassembling these banks? ...Propably so you won't give them to someone else.
Probably forgot about it. Tell me which banks you want to disassemble (which are not claimed yet)
Originally posted by Alcaro
Originally posted by Floating Munchsanio
Also some notes: When writing branches (using the debugger of course), write them lime this:
[/grammarnazi]
pfff. Typo #(who cares) I made this month now.
Originally posted by Alcaro
Also, why don't that sound code contain a STZ and a 16-bit LDA/STA instead?
The programmers were probably lazy or something.
-------------------- My blog. I could post stuff now and then
The programmers probably set it out something like this in order to make the code more readable. If anything this is the least lazy way to do it because you can move the location of the file without hassle.
Code
LDA #SMB1Music
STA $00
LDA #SMB1Music>>8
STA $01
LDA #SMB1Music>>16
STA $02
JSR UploadMusic
RTS
...
SMB1Music:
incbin "music.bin"
They could have used 16bit load/store, but I wouldn't have bothered since speed isn't 100% important here.
If it's okay, I'll take some assistant position.
I tried to disassemble a little to see how it feels, but I think the best thing I can do to support your project is to keep developing that tool.
-------------------- <blm> zsnes users are the flatearthers of emulation
I just wanted to point out that my progress is 2950 lines of code, and that I found something interesting:
Code
TABLE_00A017:
.db $00,$02,$04,$06,$20,$22,$24,$26 ;It seems like this has a 16x16 GFX pattern.
.db $08,$0A,$0C,$0E,$28,$2A,$2C,$2E ;Yep, this is the Nintendo presents tilemap.
.db $40,$42,$44,$46 ;
Someone should start to code a ROM map for us *shot*
Edit: Expect bank 1 being finished within this week since my progress is over 9000 6045 lines now.
You know what would be nice? If you also made a version for Motorola68000 (The one the Genesis uses). That way we would have a port of SMW for the Genesis!
Still, I'm in awe. Super Mario All-Stars is a favourite SNES game of mine.
Follow Us On