Points of Required Attention™
Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,483,630
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 04-25-24 10:21 PM
Guest: Register | Login

0 users currently in ROM Hacking | 5 guests

Main - ROM Hacking - SMB1 & SMB2J (2-in-1) New thread | Thread closed

Pages: 1 2 3

ShaneM
Posted on 02-27-14 02:50 AM (rev. 2 of 02-28-14 03:22 AM) Link | Quote | ID: 155804


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

Posts: 9/285
EXP: 293456
Next: 14654

Since: 02-17-14

Last post: 3136 days
Last view: 2652 days
The purpose of my hack is to add Lost Level features. This hack is PURELY ASM. So, do NOT ask what tools I used!



One player, of course, with changed player physics and gfx. (Compare my palettes to the original. It is even better than the original and Wii palettes! See below for original.)



Me showing off my Red Piranhas. Starting at 6-1:







I've added negative Warpzones, too. (I have improved z-order on the coin that I underlined to match Lost Levels):



Aggressive Hammer Bros. start at World 7, too:



I've added most beta features. Like unused enemies and an unused timer. I've even added flying Bloopers! (From the Lost Levels):




On side B, I've added The Lost Levels! (I've made use of every single beta tile, as well as fixed EVERY single glitch!):














THIS IS TWO GAMES ON 1 FAMICOM DISK. I WILL EXPLAIN HOW TO SWITCH DISK SIDES, TOO.


SMB1 Changes:

-Player starts with 5 lives
-Fixed the infinite lives glitch
-Poison Mushrooms have been added
-Green Super Springboards added
-All graphics taken from SMB2J.
-The game is now 1 Player, where Mario/Luigi have their 2J jump physics.
-The SMB2J Flagpole routine was used here
-The Player now gets points awarded after beating a Castle Stage, just like 2J.
-Skid sound added, from 2J.
-Fixed a bug at the end of all water areas/stages.
-Palettes have been optimized for various sprites.
-The Minus World has now been fixed.
-I have added the SNES SMAS (Super Mario Allstars) water tile from it's SMB1/TLL.
-I have optimized levels, as well as add beta enemies, such as the left-fast Firebar.
-I have added 2J enemies, such as but not limited to Flying Bloopers.
-Red Piranhas
-Aggressive Hammer Bros have been added to worlds 7-8
-Negative Warp Zones
-NUMEROUS and I mean numerous bug fixes. Over 27 fixes compared to the original SMB1

SMB2J (Side B):

-Player Starts with 5 lives
-I have added the SNES SMAS (Super Mario Allstars) water tile from it's SMB1/TLL.
-Palettes have been optimized for various sprites.
-The skid while wind blowing sound glitch has been fixed.
-The pause glitch at the end of 8-4 and D-4 have both been fixed.
-The message in World 9-4 has been translated into English.
-World A-1 level design has been optimized to match the SNES remake, where a glitch is fixed.
-The infinite lives game over fix has been made if you get more than 128 lives
-I have made use of ALL beta tiles. (See photos)
-Bowser throws hammers in Worlds A-D
-Aggressive Hammer Bros code has been added to Worlds A-D
-NUMEROUS and I mean numerous bug fixes. Over 27 fixes compared to the original SMB2J

Getting the FDS bios to work:
==================
To install the BIOS to Nestopia, first open Nestopia. Then go to Machine on the upper left (next to File). Once there, go to External, Disk System, then Options.
Once there, click on browse and upload the BIOS file from whichever directory you have it in. Then, click on Ok.

HOW TO SWITCH DISK SIDES (Nestopia):
=========================

To switch disk sides, go to Machine, External, Disk System, Insert, then select Disk 1 Side B. Now, what you want to do is go to Machine, Reset, Hard.
That's it; have fun! DO NOT FORGET TO DO A HARD RESET, AS MENTIONED.

How to use the included .pal file to enhance GFX on this and ALL NES games:
===============================================
To install the .pal file, go to Options, then choose Video. Now, on the bottom left you'll see "Palette". Choose Custom and then click on browse and choose the
file called "Custom.pal" in whatever directory you have it stored in. Enjoy.


Using a Joypad on Nestopia:
=================
To get a game controller working, go to Options, Input and under select Set All. The rest there should be self-explanatory.

Here is the IPS patch. Patch it to a clean, unheadered SMB1 FDS ROM: See below

Here is my custom PAL file: http://www.mediafire.com/download/6x9jodl8k434eg8/Custom.pal

____________________
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?

Drakon
Posted on 02-27-14 03:55 AM (rev. 7 of 02-27-14 12:57 PM) Link | Quote | ID: 155815


Red Paragoomba
Compromised account. Please contact staff for a password reset.
Level: 18

Posts: 27/62
EXP: 29866
Next: 31

Since: 01-26-14
From: Toronto Canada

Last post: 3703 days
Last view: 3386 days
I like the changes except for mario's skin colour. No need for the sauna look, really just a preference thing. Hopefully we can see a video of it in action someday, pictures don't do enough justice.

Hold on...the rom palette hasn't been edited? Palette changes are done by using an emulator palette replacement file? That's no good for playing on the real thing unfortunately. That's technically not romhacking, just emulator options changing.

____________________
http://16bitgamer.forumotion.ca/

ShaneM
Posted on 02-27-14 04:15 AM (rev. 5 of 02-27-14 04:20 AM) Link | Quote | ID: 155817


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

Posts: 10/285
EXP: 293456
Next: 14654

Since: 02-17-14

Last post: 3136 days
Last view: 2652 days
Posted by Drakon
I like the changes except for mario's skin colour. No need for the sauna look, really just a preference thing. Hopefully we can see a video of it in action someday, pictures don't do enough justice.

Hold on...the rom palette hasn't been edited? Palette changes are done by using an emulator palette replacement file? That's no good for playing on the real thing unfortunately.


I modified it for use on my .pal file. I didn't like the original color. I'm kind of like you and hack for my pleasure.

Second, you can make a video anytime you'd like. I don't mind. I did everything from add Poison Mushrooms to Green springs. Oh yeah, this is "hardware friendly" except for the fact that true FDS images are 65, 536 bytes and that all dumps are missing the dummy bytes. Though, my PRG would be stable if somebody were to port it to a "true" disk image. My SMB1 was mapperless and I used residual code that I wrote over to add stuff. Fixing World -1 (36) gave me some free space, too.

I feel I need to stress this one more time to everyone in general, since at my last forum I posted this I had to say the same thing 3 times...sigh. SMB2J is on SIDE B of the game. Sorry to all the diligent readers, but I'm sure someone along the way might have missed that point. (I just wish the non-diligent readers whoever they are would take the time to read the first post, as I took over 1 hour typing it.)

____________________
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?

XTTX
Posted on 02-28-14 12:56 AM Link | Quote | ID: 155834


Flurry
Level: 36

Posts: 174/251
EXP: 304301
Next: 3809

Since: 04-14-08
From: DTOWN

Last post: 2390 days
Last view: 66 days
Thanks for the hack man! Unfortunately i cant get this to run on nestopia. It cpu jams everytime. :/ Im pretty sure i did everything right...

ShaneM
Posted on 02-28-14 01:53 AM Link | Quote | ID: 155835


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

Posts: 14/285
EXP: 293456
Next: 14654

Since: 02-17-14

Last post: 3136 days
Last view: 2652 days
Did you patch it to an UNHEADERED FDS ROM?

____________________
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?

XTTX
Posted on 02-28-14 02:13 AM Link | Quote | ID: 155836


Flurry
Level: 36

Posts: 175/251
EXP: 304301
Next: 3809

Since: 04-14-08
From: DTOWN

Last post: 2390 days
Last view: 66 days
Hey, Yes, Thanks for that! I actually figured out what i was doing wrong and now it works perfectly. My current version of nestopia somehow became corrupted or something like that.

I downloaded a new version of nestopia 1.40 ad reinstalled and have no issues whatsoever. Thanks for sharing with us and ill take the time to post my feedback after playing through it some.

ShaneM
Posted on 02-28-14 02:37 AM (rev. 5 of 03-08-14 08:03 PM) Link | Quote | ID: 155839


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

Posts: 15/285
EXP: 293456
Next: 14654

Since: 02-17-14

Last post: 3136 days
Last view: 2652 days
Here is the new and final build. It fixes some of the original glitches, like the one in 4-3 with the Koopa etc. This is a complete project unless a bug is found. Enjoy and remember that SMB2J is on SIDE B (See my first post on how to swap disk sides on an emulator like Nestopia.) It has bugfixes too.

Build 2.0 SEE BELOW

____________________
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 02-28-14 03:14 AM Link | Quote | ID: 155840


Buster Beetle
Banned: Spammer takeover?
Level: 45

Posts: 240/467
EXP: 638753
Next: 21411

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

Last post: 3479 days
Last view: 3478 days
Hey, just as a hint, you can use < a href="...">< /a> and I think [ url="..."][ /url] (without the beginning spaces) to make a hyperlink to your file so we don't have to copy/paste the address to your patch in the address.

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

ShaneM
Posted on 02-28-14 03:22 AM Link | Quote | ID: 155841


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

Posts: 16/285
EXP: 293456
Next: 14654

Since: 02-17-14

Last post: 3136 days
Last view: 2652 days
@Chaobomr

Thank you. I have made the changes accordingly.

____________________
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?

XTTX
Posted on 02-28-14 05:11 AM Link | Quote | ID: 155851


Flurry
Level: 36

Posts: 178/251
EXP: 304301
Next: 3809

Since: 04-14-08
From: DTOWN

Last post: 2390 days
Last view: 66 days
Thanks again for posting this up. Ill be sure to get this newest ips patch and start from here. Looks awesome man!

ShaneM
Posted on 02-28-14 05:13 AM Link | Quote | ID: 155852


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

Posts: 20/285
EXP: 293456
Next: 14654

Since: 02-17-14

Last post: 3136 days
Last view: 2652 days
Why thank you.

I strive for absolute perfection in my work and take great pride in it. I guarantee that the coding and quality is superior to Nintendo's version. If you find a glitch or any other issue, please inform me. Thank you.

____________________
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?

Vanya
Posted on 02-28-14 05:25 AM Link | Quote | ID: 155855


Red Koopa
Level: 27

Posts: 46/139
EXP: 105081
Next: 11078

Since: 01-22-13

Last post: 3293 days
Last view: 3292 days
This is pretty damn cool.
Good job!

____________________
Krakenskin Leather Works, my Etsy store.
LordVanya, my art page.
FundamentalEssence, my game development page.

ShaneM
Posted on 02-28-14 05:36 AM Link | Quote | ID: 155857


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

Posts: 21/285
EXP: 293456
Next: 14654

Since: 02-17-14

Last post: 3136 days
Last view: 2652 days
Posted by Vanya
This is pretty damn cool.
Good job!


Thanks. I have more great hacks on the way. Stay tuned.

____________________
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?

NARFNra
Posted on 02-28-14 05:47 AM Link | Quote | ID: 155860


Koopa
Level: 25

Posts: 74/114
EXP: 87646
Next: 1974

Since: 02-13-10
From: Texas

Last post: 1806 days
Last view: 1806 days
Man, that's a lot you've done there. Very impressive. Is hacking for the FDS hard?

XTTX
Posted on 02-28-14 05:50 AM Link | Quote | ID: 155861


Flurry
Level: 36

Posts: 181/251
EXP: 304301
Next: 3809

Since: 04-14-08
From: DTOWN

Last post: 2390 days
Last view: 66 days
Posted by shanem
Why thank you.

I strive for absolute perfection in my work and take great pride in it. I guarantee that the coding and quality is superior to Nintendo's version. If you find a glitch or any other issue, please inform me. Thank you.


No problem, will do! It shows just in your screenshots that you do. Looks like some quality stuff man and some serious skills at that. I very much prefer these kind of hacks over other mario hacks where his penis shows when he jumps...LOL.

If i was good at romhacking this is the kind of stuff i would strive to achieve.

ShaneM
Posted on 02-28-14 06:06 AM (rev. 3 of 02-28-14 06:13 AM) Link | Quote | ID: 155863


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

Posts: 23/285
EXP: 293456
Next: 14654

Since: 02-17-14

Last post: 3136 days
Last view: 2652 days
Posted by NARFNra
Man, that's a lot you've done there. Very impressive. Is hacking for the FDS hard?


Well, it depends on the game. For SMB1 yes. FDS uses the 6502 form of ASM, just like the NES, trainers are not allowed and expanding FDS ROMs are not applicable. Basically yes, it is hard. Especially limited to only two banks of $3FFF for PRG. It would have been 100 times easier hacking the NES version over the FDS.

So then, why did I use the FDS version? Two reasons:

1) So I could put SMB2J on Side B with fixes, too.

2) To take advantage of the extra sound channel like SMB2J does.

Also, I forgot to add this pic in the original, I'll just add it, now. I should've taken some of the Green Springs, too in World 8.

The evil Poison Mushroom





____________________
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?

ShaneM
Posted on 03-04-14 08:53 AM (rev. 4 of 03-04-14 08:58 AM) Link | Quote | ID: 155953


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

Posts: 41/285
EXP: 293456
Next: 14654

Since: 02-17-14

Last post: 3136 days
Last view: 2652 days
I'm in a generous mood so I'll release some of my code...Not all, just a portion at a time.


;This is the code to get Poison Mushrooms functioning in SMB1. You will need to add these codes (denoted by my name, Shane) within the SMB1 disassembly by Doppleganger. Also, you need to assemble with X86 or ASM6.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
.db $47, $47, $47, $47 ;brick (poison shroom) ;add this to Palette1_MTiles somewhere. What I did was remove an unused object in place to fit this.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
PowerUpObjHandler:
ldx #$05 ;set object offset for last slot in enemy object buffer
stx ObjectOffset
lda Enemy_State+5 ;check power-up object's state
beq ExitPUp ;if not set, branch to leave
asl ;shift to check if d7 was set in object state
bcc GrowThePowerUp ;if not set, branch ahead to skip this part
lda TimerControl ;if master timer control set,
bne RunPUSubs ;branch ahead to enemy object routines
lda PowerUpType ;check power-up type
beq ShroomM ;if normal mushroom, branch ahead to move it
;;;;;SHANE cmp #$03
;;;;;SHANE beq ShroomM ;if 1-up mushroom, branch ahead to move it
;;;;;SHANE cmp #$04
;;;;;SHANE beq ShroomM ;if poison mushroom, branch ahead to move it
cmp #$02
bne RunPUSubs ;if not star, branch elsewhere to skip movement
jsr MoveJumpingEnemy ;otherwise impose gravity on star power-up and make it jump
jsr EnemyJump ;note that green paratroopa shares the same code here
jmp RunPUSubs ;then jump to other power-up subroutines


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
.dw PoisonMushBlock ;add this to the routine labeled "BlockCode" at the end of it

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

PoisonMushBlock: ;;;;;add this whole labeled code somewhere of your choice
lda #$04 ;load poison mushroom type
.db $2c


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
HandlePowerUpCollision:
jsr EraseEnemyObject ;erase the power-up object
;;;;;;;SHANE lda PowerUpType ;SHANE
;;;;;;;SHANE cmp #$04 ;check power-up type
;;;;;;;SHANE bne Safe ;if not a poison shroom, branch
;;;;;;;SHANE jmp InjurePlayer ;otherwise injure the player properly ;SHANE
Safe: lda #$06 ;this value was in the original, I just gave it a label, now.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

.db $76, $77, $78, $79 ;poison mushroom ;add this to PowerUpGfxTable

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

PowerUpAttributes:
.db $02, $01, $02, $01, $03 ;The $03 at the end is now going to be the palette set for the poison mushroom.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

InjurePlayer:
lda InjuryTimer ;check again to see if injured invincibility timer is
;;;;;;;SHANE ora StarInvincibleTimer ;add this to make you immune to poison mushroom during star invincibility
bne ExInjColRoutines ;at zero, and branch to leave if so



____________________
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?

ShaneM
Posted on 03-07-14 07:30 PM (rev. 2 of 03-08-14 08:03 PM) Link | Quote | ID: 156017


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

Posts: 55/285
EXP: 293456
Next: 14654

Since: 02-17-14

Last post: 3136 days
Last view: 2652 days
I have a new patch. There was an oversight where I forgot to assign Koopa Paratroopas higher bounce rate to match SMB2J. This has been fixed. SMB2J on Side B is already fixed so nothing on that side changed.


SetBounce:
ldy #$fa ;set a regular bounce rate for all other enemies
lda Enemy_ID,x
cmp #RedParatroopa ;set a higher bounce rate for red paratroopas
beq BnceH ;and green paratroopas that fly
cmp #GreenParatroopaFly
bne BnceL

BnceH: ldy #$f8 ;set player's vertical speed for bounce
BnceL: sty Player_Y_Speed ;and then leave!!!
rts


Patch: SEE BELOW

____________________
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?

ShaneM
Posted on 03-08-14 08:02 PM (rev. 5 of 03-13-14 06:10 AM) Link | Quote | ID: 156032


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

Posts: 60/285
EXP: 293456
Next: 14654

Since: 02-17-14

Last post: 3136 days
Last view: 2652 days
Here is the new and final IPS patch. It corrects 1-1 to make it closer to the original and the 6-1 flagpole. I declare this a finished project and will not be posting on this thread furthermore unless I decide to share some code or answer any posts on here. Enjoy it as it is 100% stable and 100% quality guaranteed.

SEE BELOW POST FOR LATEST PATCH (03/13/14)

____________________
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?

XTTX
Posted on 03-08-14 09:32 PM Link | Quote | ID: 156033


Flurry
Level: 36

Posts: 189/251
EXP: 304301
Next: 3809

Since: 04-14-08
From: DTOWN

Last post: 2390 days
Last view: 66 days
Hey shanem, thanks for posting and sharing here. I hope you stick around man, i think you are an awesome hacker with serious skills as well as an all around great guy to even share your work and your code with the community.

Keep the hits coming, stay a while, hell, stay forever, LMAO.
Pages: 1 2 3


Main - ROM Hacking - SMB1 & SMB2J (2-in-1) New thread | Thread closed

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

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