Points of Required Attention™
Smaghetti, a new Super Mario Advance 4 editor, is currently in development! Check out the thread HERE!

Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,319,479
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 03-29-24 01:00 PM
Guest: Register | Login

0 users currently in ROM Hacking | 2 guests | 1 bot

Main - ROM Hacking - Super Mario Doomsday New thread | New reply

Pages: 1 2

Chaobomr
Posted on 02-17-14 03:24 AM (rev. 2 of 02-26-14 04:38 AM) Link | Quote | ID: 155697


Buster Beetle
Banned: Spammer takeover?
Level: 45

Posts: 222/467
EXP: 636569
Next: 23595

Since: 05-07-13
From: The dirty south

Last post: 3452 days
Last view: 3450 days
Chaos89P here, with -- oh crap, wrong forum.
Right, I have here Super Mario Doomsday, a SMB3 ROM hack. It's currently under stasis as I have no ideas for level design at the moment. This hack is meant to be done with as little ASM manipulation as possible.


Yeah, as it currently stands, it is little more than a texture hack, and I don't want that.

I also have a couple of videos related to this hack.


I apologize for the inconsistency with the volume.

Zip file for the demo is here. Please read the Readme first.

____________________
Sorry for the stupidity. That jerk will be dealt with in the most insane way possible.

Chaobomr
Posted on 02-26-14 06:32 PM Link | Quote | ID: 155790


Buster Beetle
Banned: Spammer takeover?
Level: 45

Posts: 234/467
EXP: 636569
Next: 23595

Since: 05-07-13
From: The dirty south

Last post: 3452 days
Last view: 3450 days
There's a demo available. .Zip file is in the above post.

____________________
Sorry for the stupidity. That jerk will be dealt with in the most insane way possible.

XTTX
Posted on 02-28-14 05:53 AM (rev. 2 of 02-28-14 05:54 AM) Link | Quote | ID: 155862


Flurry
Level: 36

Posts: 182/251
EXP: 303589
Next: 4521

Since: 04-14-08
From: DTOWN

Last post: 2363 days
Last view: 39 days
Thanks for posting this up. Ill add this to my list of all the hacks im currently trying out. Thanks for coming in here and sharing this.

EDIT**

Im getting a few glitches with sprites glitching up on levels. Is this something you already knew about>? Im using nestopia if it helps.

Chaobomr
Posted on 02-28-14 03:34 PM Link | Quote | ID: 155867


Buster Beetle
Banned: Spammer takeover?
Level: 45

Posts: 242/467
EXP: 636569
Next: 23595

Since: 05-07-13
From: The dirty south

Last post: 3452 days
Last view: 3450 days
Yup, and it was intentional in one of the levels. See, world 4 is called Error Isle, and that is a tendency, while I oughta remove that cloud in the castle.

____________________
Sorry for the stupidity. That jerk will be dealt with in the most insane way possible.

ShaneM
Posted on 03-01-14 09:08 PM (rev. 2 of 03-02-14 01:21 AM) Link | Quote | ID: 155911


Snifit
Compromised account.
Please contact an admin to restore access.
Level: 36

Posts: 32/285
EXP: 292375
Next: 15735

Since: 02-17-14

Last post: 3109 days
Last view: 2625 days
Hey. Since you helped me find a bug I wanted to repay your kindness with two fixes that I made in my SMB3. Here they are. 6502 may not be easy, if you need me to explain this to you in hex, let me know and I'll be glad to!



PRG003_B1D7: ;bubble OAM
; Bubble appears at Y + 3
LDA <Objects_Y,X
ADC #$03
STA SpecialObj_YLo,Y
LDA <Objects_YHi,X ; Bug? They don't apply the carry (ADC) here!
;;;;ADC #$03 ;this is missing!!!!
STA SpecialObj_YHi,Y



PRG010_CEBF:
; A Player pressed 'A' but they were not on top of each other, so no 2P vs...

LDA <Pad_Input
AND #PAD_A
BEQ PRG010_CEE1 ; If Player is not pressing 'A', jump to PRG010_CEE1

LDA <World_Map_Tile
LDY #$0a ; Y = $1A (BUG! Map_EnterSpecialTiles is much smaller than this, should be $0A! Causes some bytes used for palette data to be considered!)

;;;;change it to $1A

;;;;;;;;;; Map_EnterSpecialTiles: While the intended function of this LUT works correctly, a bug in the check code examines up to $10 bytes ahead from the actual end of this array. The data is loads is from palette arrays, but treated as tiles, meaning that there's a lot of tiles that will be enterable on the map that shouldn't be. But given the rigid structure of the map, this generally is not a problem, which likely explains why it went undetected despite other bug fixes. Of note, however, are a few tiles that are peculiar that were included in the list such as an alternate coloring of the World 5 spiral castle (never used), a path segment which goes nowhere (??), and perhaps most interesting, the dancing flower from World 4 (!!) It's always possible of course that these were mistakes, leftover from some kind of code/graphics reorganizing at some point, or maybe there really was to be some kind of plant-themed levels.




LoadLevel_LittleCloudSolidRun:
LDX #$01 ; X = 1 (use TILE1_JCLOUDSOLID)

; BUG!! This jump will always fail, dropping into the table below!!
; The table is misinterpreted as a BIT xxxx instruction followed by
; a BRK, which triggers the NMI but ultimately is MOSTLY harmless...
; The return is in the middle of the LDA LL_ShapeDef which is now
; misinterpreted as an "ASL <$07"... in one trial, I got $CF as
; the run length! Big oops there Nintendo...
BNE PRG014_CFD8 ; <-- MISTAKE!! This is never true! They wanted a BNE!!



____________________
At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day?

Chaobomr
Posted on 03-02-14 01:22 AM Link | Quote | ID: 155913


Buster Beetle
Banned: Spammer takeover?
Level: 45

Posts: 247/467
EXP: 636569
Next: 23595

Since: 05-07-13
From: The dirty south

Last post: 3452 days
Last view: 3450 days
I haven't gotten that far in ASM programming yet. I'm still on the basics: LD* and ST*, basically. Thanks to infidelity, I have been thinking of adding a simplefied save function. However, I'm more concerned about level editing at the moment.
I wonder where that wheel was gonna go.

____________________
Sorry for the stupidity. That jerk will be dealt with in the most insane way possible.

ShaneM
Posted on 03-02-14 03:07 AM (rev. 2 of 03-02-14 03:09 AM) Link | Quote | ID: 155914


Snifit
Compromised account.
Please contact an admin to restore access.
Level: 36

Posts: 33/285
EXP: 292375
Next: 15735

Since: 02-17-14

Last post: 3109 days
Last view: 2625 days
Posted by Chaobomr
I haven't gotten that far in ASM programming yet. I'm still on the basics: LD* and ST*, basically. Thanks to infidelity, I have been thinking of adding a simplefied save function. However, I'm more concerned about level editing at the moment.
I wonder where that wheel was gonna go.


If you want to learn the 6502 processor, use this as a reference: http://www.obelisk.demon.co.uk/6502/reference.html

Also, might I recommend this as an explanation of what the mnemonics do? http://skilldrick.github.io/easy6502/

That guide by skilldrick is what I used when I was now learning NES ASM. It is very useful for beginners. Also, I sent you a PM. (Sorry, forgot to put the "[url]" on the link on there.)

____________________
At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day?

Chaobomr
Posted on 03-02-14 05:02 AM Link | Quote | ID: 155916


Buster Beetle
Banned: Spammer takeover?
Level: 45

Posts: 248/467
EXP: 636569
Next: 23595

Since: 05-07-13
From: The dirty south

Last post: 3452 days
Last view: 3450 days
Posted by shanem

Also, might I recommend this as an explanation of what the mnemonics do?

That guide by skilldrick is what I used when I was now learning NES ASM.
This is actually what I was using as well! I don't think I bookmarked it, the last time, though.

____________________
Sorry for the stupidity. That jerk will be dealt with in the most insane way possible.

Chaobomr
Posted on 03-06-14 12:43 AM Link | Quote | ID: 155974


Buster Beetle
Banned: Spammer takeover?
Level: 45

Posts: 252/467
EXP: 636569
Next: 23595

Since: 05-07-13
From: The dirty south

Last post: 3452 days
Last view: 3450 days
New question: Where do these instructions go? I'm used to having line numbers (C++ and C#).

____________________
Sorry for the stupidity. That jerk will be dealt with in the most insane way possible.

ShaneM
Posted on 03-06-14 01:40 AM Link | Quote | ID: 155975


Snifit
Compromised account.
Please contact an admin to restore access.
Level: 36

Posts: 45/285
EXP: 292375
Next: 15735

Since: 02-17-14

Last post: 3109 days
Last view: 2625 days
Posted by Chaobomr
New question: Where do these instructions go? I'm used to having line numbers (C++ and C#).


Could you please clarify? By instructions do you mean the mnemonics/opcodes? Also, I personally use Notepad++ to do ASM coding and then assemble with ASM6 in all my hacks. (Except for Game Boy ones like Pokemon, in which case I use RGBDS.)

____________________
At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day?

Chaobomr
Posted on 03-06-14 05:16 AM Link | Quote | ID: 155985


Buster Beetle
Banned: Spammer takeover?
Level: 45

Posts: 255/467
EXP: 636569
Next: 23595

Since: 05-07-13
From: The dirty south

Last post: 3452 days
Last view: 3450 days
Just... where in the ASM do these mnemonics go? I'd like to be able to just quickly locat and insert these opcodes into the ASM, and I don't know where in the code to look.

____________________
Sorry for the stupidity. That jerk will be dealt with in the most insane way possible.

ShaneM
Posted on 03-06-14 05:56 AM (rev. 4 of 03-06-14 06:03 AM) Link | Quote | ID: 155987


Snifit
Compromised account.
Please contact an admin to restore access.
Level: 36

Posts: 48/285
EXP: 292375
Next: 15735

Since: 02-17-14

Last post: 3109 days
Last view: 2625 days
Posted by Chaobomr
Just... where in the ASM do these mnemonics go? I'd like to be able to just quickly locat and insert these opcodes into the ASM, and I don't know where in the code to look.


Mnemonics are like... LDA STA etc. The opcodes are those three-letter mnemonics in hex. Like... $A9 would be to LDA #$__. So right there, we'd be loading an immediate value. You can also have stuff like LDA $00, which is zero page and the opcode would be $A5.

If you got Southbird's SMB3 disassembly (try googling), then go to the "bin" folder, then go to the prgs and basically find what you need to and go from there. The ones above are from prg003 prg010 and prg014. Control+F helps you find stuff fast in Notepad++. Be sure to minus $FF for every extra byte that you add. In SMB3, each bank is $3FFF bytes (4000) and cannot exceed that. You can also do bankswitching. (LDA immediate and a JMP.)

EDIT: For example, say you want to fix the bubble code REALLY fast. Find it in the prg I marked, add the ADC #$03. ADC is add with carry. It is immediate so it adds 2 extra bytes. Find the $FF at the end of the prg file and minus 2 from them. When you're ready to assemble, go to the "bin" folder and double-click on the make.bat. Then, compare the changes to an unedited smb3 prg1 ROM and rip the changes within the bank in a hex editor. That's what I did with my SMB3 Extended when I fixed glitches and added the beta ghost house. Easy.


____________________
At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day?

Chaobomr
Posted on 03-06-14 04:25 PM Link | Quote | ID: 155991


Buster Beetle
Banned: Spammer takeover?
Level: 45

Posts: 256/467
EXP: 636569
Next: 23595

Since: 05-07-13
From: The dirty south

Last post: 3452 days
Last view: 3450 days
Alright, I have Southbird (had it for a while, actually) and the ASM can be easily loaded into Microsoft Visual Studio. How do I delete an $FF out of the code? I apologize in advance if this seems like a stupid question.

____________________
Sorry for the stupidity. That jerk will be dealt with in the most insane way possible.

ShaneM
Posted on 03-06-14 07:14 PM Link | Quote | ID: 155995


Snifit
Compromised account.
Please contact an admin to restore access.
Level: 36

Posts: 49/285
EXP: 292375
Next: 15735

Since: 02-17-14

Last post: 3109 days
Last view: 2625 days
Posted by Chaobomr
Alright, I have Southbird (had it for a while, actually) and the ASM can be easily loaded into Microsoft Visual Studio. How do I delete an $FF out of the code? I apologize in advance if this seems like a stupid question.


Oh sorry. For this the assembler takes care of that. You don't need to manually take out the $FFs. I got it mixed up with my SMB1 disassembly where you actually do. Just makes the changes, save and make.bat it like I said and you'll be fine.

Visual Studio? I use Notepad++ because the lines are numbered so when there is an error assembling I can trace the line in question and fix it. I don't do any other programming besides 6502 and Z80 ASM so I didn't know Visual could do the same thing. Cool.

Here is the code for the box-in, too:

____________________
At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day?

Chaobomr
Posted on 03-06-14 08:26 PM Link | Quote | ID: 155998


Buster Beetle
Banned: Spammer takeover?
Level: 45

Posts: 258/467
EXP: 636569
Next: 23595

Since: 05-07-13
From: The dirty south

Last post: 3452 days
Last view: 3450 days
The box-in's missing.
I like using various programming languages. It started with TI-BASIC and it just mushroomed from there.

____________________
Sorry for the stupidity. That jerk will be dealt with in the most insane way possible.

ShaneM
Posted on 03-06-14 10:09 PM (rev. 5 of 03-06-14 10:23 PM) Link | Quote | ID: 155999


Snifit
Compromised account.
Please contact an admin to restore access.
Level: 36

Posts: 50/285
EXP: 292375
Next: 15735

Since: 02-17-14

Last post: 3109 days
Last view: 2625 days
Posted by Chaobomr
The box-in's missing.
I like using various programming languages. It started with TI-BASIC and it just mushroomed from there.


Can you please be more specific when you say "the box-in's missing"?

EDIT: Oh, I see what you mean. You're saying when you assembled that it is missing. Well of course it is missing. That box-in code that I did that I sent you was custom asm code that I restored from the Japanese version. If you want me to, I can include what to do in asm. Do you want it?

EDIT2: Here. But it is LONG and tedious.

EDIT3: The Level intro SFX is stored in prg028.asm. If you want the exact one, I can list it for you.


;use prg030.asm

; Leftover optional code, see below
LDA #$00
STA <Map_EnterLevelFX ; Map_EnterLevelFX = 0
; Defines screen vertical position starts

; NOTE: If the "box out" effect were to be used, needs to sync with BoxOut_ByVStart
GamePlay_VStart: .byte $EF, $00, $00, $EF, $30, $70, $B0, $EF

; This LUTs are for the unused-in-US-release "Box out" effect when a level starts

; This one selects the appropriate init values for everything
; else based on what the vertical start position is...
BoxOut_ByVStart: .byte $00, $30, $70, $B0, $EF ; Needs to sync with GamePlay_VStart

; ORIGINAL VERSION DID THIS (addresses relate to original code!):
; LDA Level_Tileset
; CMP #15
; BEQ PRG030_8BC2 ; If Level_Tileset = 15 (bonus game intro), jump to PRG030_8BC2
;
; LDA Map_UNK713
; BEQ PRG030_8BC5 ; If Map_UNK713 = 0, jump to PRG030_8BC5
;
;PRG030_8BC2:
; JMP PRG030_8CC9 ; Jump to PRG030_8CC9
;
;PRG030_8BC5:
; LDA #$00
; STA <Map_EnterLevelFX ; Map_EnterLevelFX = 0
;PRG030_8CC9:

;all of this stuff is already in the disassembly but it is not active. You see, Captain Southbird disassembled part of it but the US version is completely missing it. The US code is cut. When you add the above, change the JMP location to point to your code from this one:

JMP PRG030_8CB8



____________________
At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day?

Chaobomr
Posted on 03-11-14 07:43 PM Link | Quote | ID: 156069


Buster Beetle
Banned: Spammer takeover?
Level: 45

Posts: 267/467
EXP: 636569
Next: 23595

Since: 05-07-13
From: The dirty south

Last post: 3452 days
Last view: 3450 days
Do I put the code that's commented out at BoxOut_ByVStart? How do I include the sync information? Should I just disassemble your version of my demo just for comparison?

____________________
Sorry for the stupidity. That jerk will be dealt with in the most insane way possible.

ShaneM
Posted on 03-12-14 05:33 AM Link | Quote | ID: 156076


Snifit
Compromised account.
Please contact an admin to restore access.
Level: 36

Posts: 72/285
EXP: 292375
Next: 15735

Since: 02-17-14

Last post: 3109 days
Last view: 2625 days
Posted by Chaobomr
Do I put the code that's commented out at BoxOut_ByVStart? How do I include the sync information? Should I just disassemble your version of my demo just for comparison?


I actually added it at the end of my assembly work. I lost my original files way back last August, in which I fixed bugs and added code for the unused ghost house.

If you want, you can do a hex comparison against a clean copy of your hack to find differences in hex.

Box-out effect was done in December. 4 months after I lost my original files. What I did was JMPs to the code at the end of bank $3F. I added the sound which took no additional space at all, merely changing existing data. The way I added it to your hack was a simple copy + paste from my SMB3 hack using a hex editor. Though, it basically does exactly the same thing of the code I listed above. If you can't find it, I'll just give you the answers in hex. Cool.

____________________
At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day?

Chaobomr
Posted on 03-23-14 04:05 PM Link | Quote | ID: 156180


Buster Beetle
Banned: Spammer takeover?
Level: 45

Posts: 279/467
EXP: 636569
Next: 23595

Since: 05-07-13
From: The dirty south

Last post: 3452 days
Last view: 3450 days
So, it looks like my hack - and several others - will be in stasis for a little while longer. About a week ago, my computer broke and I took it to a shop to get it fixed. Last update I received was that the replacement parts have been ordered, but that was also a week ago, so... I believe I had an idea or two in my head, but since I was unable to implement them (I haven't backed things up in a while), I feel like I may have lost the inspiration.

Will update as soon as I get another one.

____________________
Sorry for the stupidity. That jerk will be dealt with in the most insane way possible.

ShaneM
Posted on 03-23-14 05:11 PM Link | Quote | ID: 156182


Snifit
Compromised account.
Please contact an admin to restore access.
Level: 36

Posts: 98/285
EXP: 292375
Next: 15735

Since: 02-17-14

Last post: 3109 days
Last view: 2625 days
Posted by Chaobomr
So, it looks like my hack - and several others - will be in stasis for a little while longer. About a week ago, my computer broke and I took it to a shop to get it fixed. Last update I received was that the replacement parts have been ordered, but that was also a week ago, so... I believe I had an idea or two in my head, but since I was unable to implement them (I haven't backed things up in a while), I feel like I may have lost the inspiration.

Will update as soon as I get another one.



I hope your computer gets fixed, soon. I really enjoyed the demo of your hack. If you need any help at all, just let me know.

____________________
At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day?
Pages: 1 2


Main - ROM Hacking - Super Mario Doomsday New thread | New reply

Acmlmboard 2.1+4δ (2023-01-15)
© 2005-2023 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 0.031 seconds. (350KB of memory used)
MySQL - queries: 132, rows: 172/172, time: 0.019 seconds.