Points of Required Attention™
Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,495,832
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 04-28-24 09:03 AM
Guest: Register | Login

Main - Posts by ShaneM

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14

ShaneM
Posted on 03-25-14 10:37 PM, in My unnamed Mario 3 hack Link | Quote | ID: 156214


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

Posts: 101/285
EXP: 293552
Next: 14558

Since: 02-17-14

Last post: 3139 days
Last view: 2655 days
Hey, I just popped in very briefly. I'm having some personal problems with life at the moment. I have answers to all 3 questions. Will answer when I have more time.

____________________
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 04-16-14 10:09 AM, in SMB1 & SMB2J (2-in-1) Link | Quote | ID: 156377


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

Posts: 102/285
EXP: 293552
Next: 14558

Since: 02-17-14

Last post: 3139 days
Last view: 2655 days
What happens what you take something good and make it even better? A “ShaneM-quality” hack! That is precisely what I have done with my hack. I’ve been busy lately but I’ve added more ASM features to my work. Two things have been added to my work:

-I added evening feature to some stages in both SMB1.5 & 2J while maintaining the original day/night stages
-I made Hard Mode (after 8-4) in SMB1.5 even better by adding Red Piranhas, Aggressive Hammer Bros and Hammer Bowser to that mode!
Enjoy!





Patch it to a clean, unheadered SMB1 FDS ROM: http://www.mediafire.com/download/8fpxg1ikxxjx3z4/SMB1.5_&_SMB2J_(Japan)_(REV_B).ips
.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?

ShaneM
Posted on 04-25-14 08:42 AM, in My Super Mario Bros 3 Hack - ROM Saves Player(s) Progress *UPDATED v7 9-17-14* (rev. 5 of 04-25-14 09:05 AM) Link | Quote | ID: 156436


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

Posts: 103/285
EXP: 293552
Next: 14558

Since: 02-17-14

Last post: 3139 days
Last view: 2655 days
I really don't know if you care enough to fix this. I just thought I'd mention it, out of respect for your work. This is what I did to trigger the glitch:

I started a 1 Player game. I then made a score of around 112,000. Next, I did a reset and chose 2 Player mode. Luigi naturally started with a score of 0. Now, during Luigi's turn, I did a vs with Mario (where you go over their tile and battle them). I had Luigi win that battle. Next, immediately upon returning to the main map, I resetted the system and Luigi and Mario switched scores upon starting the save file! Even when going back to one player, Mario would still contain Luigi's score. I'm not sure why they switch scores during that vs battle.

EDIT: This glitch seems to be related to the hack, as even on a real console it would occur. I just wanted to mention this as it is pretty serious when playing with a second person.

____________________
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 04-25-14 08:14 PM, in How do I adjust Damage Charge shot does in Megaman 5 Link | Quote | ID: 156439


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

Posts: 104/285
EXP: 293552
Next: 14558

Since: 02-17-14

Last post: 3139 days
Last view: 2655 days
Posted by 32x1000
Does anybody know how to edit the damage the charge shot deals in MM5?


How about try using the Code/Data logger within FCEUX and trace the immediate value? (What you want here is an LDA.) Also, try entering a cheat to figure out what you are looking for.

____________________
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 08-14-14 09:03 PM, in Problems with ROM hacking utilities (rev. 2 of 08-14-14 09:03 PM) Link | Quote | ID: 157789


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

Posts: 105/285
EXP: 293552
Next: 14558

Since: 02-17-14

Last post: 3139 days
Last view: 2655 days
If you want to hack a title screen of a specific game, use FCEUX's Nametable viewer. It lists the the tile IDs and how they're loaded in. (Note that that tool does not pick up on OAM object attribute, but on bg tiles.)

Alternatively, when said game is figured out, you can use a tool such as YY-CHR to edit tiles and a hex editor to change tile pattern. If you are looking to add a menu routine, I would suggest using FCEUX's code/data logger to trace the ASM and see how it works. This is what hacking is all about; figuring things out on your own. Using tools are great, but when they are not available, that's where these skills come into play.

____________________
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 08-16-14 07:00 AM, in [CONCEPT] Super Mario Bros Utility Revival + SMB1 Homebrew Enhancement Link | Quote | ID: 157802


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

Posts: 106/285
EXP: 293552
Next: 14558

Since: 02-17-14

Last post: 3139 days
Last view: 2655 days
This sounds like an epic project! I support this 100%.

____________________
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 08-16-14 09:44 PM, in [CONCEPT] Super Mario Bros Utility Revival + SMB1 Homebrew Enhancement (rev. 3 of 08-16-14 09:47 PM) Link | Quote | ID: 157814


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

Posts: 107/285
EXP: 293552
Next: 14558

Since: 02-17-14

Last post: 3139 days
Last view: 2655 days
Posted by Superjustinbros
Big thanks.
With all these years the original SMB1 has existed, I'm rather surprised no one has ever tried a home-brew enhancement for use in ROM hacking along with a editor designed to go with it, sort of like what I did recently with Arkanoid.


I actually hacked the FDS version of SMB1 to include SMB2J mechanics. Here is a link: http://acmlm.kafuka.org/board/thread.php?id=7869

In addition to the things you suggested, how about adding things in like the skid sound from SMB2J, 1 Player game with Mario/Luigi different physics and castle timer at the end of X-4 stages? (I did those in my SMB1 FDS hack.) Maybe with some other sound enhancements like taking the right paths in castle mazes and springboard sfx, just like the Deluxe remake?

If you need ASM code, I'll be glad to help out. I coded my SMB2J stuff into SMB1 from scratch.

____________________
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
(post deleted) ID: 157837

ShaneM
Posted on 08-21-14 01:48 AM, in [CONCEPT] Super Mario Bros Utility Revival + SMB1 Homebrew Enhancement Link | Quote | ID: 157856


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

Posts: 109/285
EXP: 293552
Next: 14558

Since: 02-17-14

Last post: 3139 days
Last view: 2655 days
Posted by Superjustinbros
Well, to speak the honest truth I can't program or do ASM hacking; this is mostly for anyone else that'd like to try and make a home-brew enhancement for the original Super Mario Bros


Oh...So this was just an idea and not a WIP.

____________________
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 08-28-14 09:09 AM, in [CONCEPT] Super Mario Bros Utility Revival + SMB1 Homebrew Enhancement (rev. 3 of 08-28-14 09:11 AM) Link | Quote | ID: 157935


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

Posts: 110/285
EXP: 293552
Next: 14558

Since: 02-17-14

Last post: 3139 days
Last view: 2655 days
Or you all can just use this that I just whipped together. It incorporates absolutely EVERYTHING in SMB2J. Why? Because it is a hack of SMB2J! (I used doppleganger's SMB2J disassembly to do this in. This is different from my SMB 1.5 hack on here. This one is even better, and with the ability to have up to 18 Worlds! SRAM saving to save high scores; SMB2J on Side B.)

Please see my last post for download link. I'll add it to this forum, soon.

http://forums.nesdev.com/viewtopic.php?f=22&t=11576

____________________
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 08-31-14 10:01 PM, in Mega Man 2 - The Forgotten Bot <first hack!> - Released! (rev. 5 of 08-31-14 10:04 PM) Link | Quote | ID: 158039


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

Posts: 111/285
EXP: 293552
Next: 14558

Since: 02-17-14

Last post: 3139 days
Last view: 2655 days
I think you guys are being hard on Model FZx.

This guy is new to the forum. How do you all know that he's not new to hacking? Even the mighty oak starts out as a small seed!

Maybe this is his first time even using a hex editor or even a GFX editor. This can very much be a HUGE accomplishment for him. When he gets negative comments like this and such blunt statements like: "this is his first hack what do you expect?" how is that not turning him off from hacking? We need to ENCOURAGE new hackers, not throw sh*t at them.

Model FZx, don't worry about those guys. This might not have a lot of changes, but you did good for your first hack. Don't worry; keep at it and your next hack will be even better.

When I started out, I didn't even know how to edit sprites. Now I'm hacking and made the first ever 100% English Pokemon Green, fixed every known glitch; hack NES games and add a TON of features to my SMB 1 and 2J hacks etc. Keep at it and you will be fine. Learn at your own pace and ignore negative comments. EDIT: I understand constructive criticism, but that is NOT what this is about.

____________________
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 08-31-14 10:24 PM, in SMB1 graphics editing (rev. 5 of 08-31-14 11:17 PM) Link | Quote | ID: 158040


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

Posts: 112/285
EXP: 293552
Next: 14558

Since: 02-17-14

Last post: 3139 days
Last view: 2655 days
Posted by origamimaster7
Hello I was working on a SMB1 rom hack and was editing palettes. And trying to make a star/space background like in VS. Yellow Devil, but I could not figure out how to make the stars change colors like the ? blocks in the game.

Any help getting the star to change from dark blue to blue to light blue would be very appreciated. Thanks.




The first thing that I'd recommend doing is grab the SMB1 disassembly, by doppleganger, from RHDN. The next thing is, look at "Palette3_MTiles:" within the disassembly. All those tiles make use of the changing color palettes. You'd need to add sprite tiles to the game, as well as define it within that data spot. Then, look up "SolidMTileUpperExt:" and "ClimbMTileUpperExt:", these are what defines an object's attributes. Whether it is a solid (like a block) or climbing (like a vine). I would attribute the new star object after the "axe" or $C7. That way, it is defined without collision, if that's what you want.

My advice would be to convert this game to MMC3 since it is NROM. Use infidelity's work, since it is already done. Next, import the routine from his notes into the disassembly and create a routine and go from there. (Because assembling with a make.bat is twice as easy as using a hex editor.) Good luck!

EDIT: One last thing, the data at "ColorRotatePalette:" defines what colors will be rotating. So define your different shades of blue from 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?

ShaneM
Posted on 09-01-14 04:00 AM, in Donkey Kong Country 3 Player Character Editing (rev. 10 of 09-01-14 04:26 AM) Link | Quote | ID: 158050


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

Posts: 113/285
EXP: 293552
Next: 14558

Since: 02-17-14

Last post: 3139 days
Last view: 2655 days
Posted by Jonesy47
My idea is to simply replace the Kiddy Kong sprite with Donkey Kong's sprites.


I know that Simion32 is the one making the DKC1 editor.

*Sits back in chair and thinks for a minute before speaking*...

This is how this is going to go down. All you want to do is replace Kiddy Kong with DK? Here is your issue: All the sprites are compressed. (Even the level data to ALL levels are compressed.) Not only that, but the sprites are buffered as OAM within VRAM. This is near impossible to do without:

1) 65C816 ASM knowledge. Because it requires tracing code down to the compression routine, finding out what it's doing and how the sprites are being compressed. SNES9X is the best SNES debugger that I know of.

2) This game is not very popular within the romhacking community. What that means is that you have very limited resources (Datacrystal and Kingizor's very basic level editor). So either you would need to wait for it to become more popular and to have more tools at your disposal or learn ASM and create a tool in a more modern language yourself.

3) We have no known disassembly of this game. We don't know what bank the compressed sprites are in nor do we have any idea how the compression routines works. Whoever said a bunch of pointers involved has absolutely no idea what they're talking about. What you need to do is find the compression routine. (An OAM table or VRAM viewer within the debugger comes in handy here for tracing writes.) Without a labeled, or even partially labeled disassembly, this is a very tedious task.

4) How do you know there is even enough free space in the bank if code needs to be added (if the OAM sprites are more and even heavier hardcoded)?


Sorry if it rains on your parade, but you asked an honest hack question and I'm just being real with you. Now, I know 6502 ASM (NES) pretty well and I can tell you that looking at some Mario games like Super Mario Allstars that are programmed in 65C16 ASM (SNES) is very similar. What I can do is link you to some documents that help newbies out with SNES ASM. I've already mentioned the lack of tools, so this is your best bet. http://en.wikibooks.org/wiki/Super_NES_Programming That site has enough resources for someone to learn to make a homebrew themselves. The issue is are you willing to take the time to learn; do you want this hack bad enough? I found this by doing a 1 minute Google search. So now that I gave you info and the programming language of the SNES, find a good simulator and try stuff. The rest is up to you. Ask for help-related programming questions if you get stuck. Good luck.

EDIT: I think by pointer calculation they meant either absolute addressing or high low pointer addresses. I highly doubt the compression routine would have a checksum of some sort. These change depending on where the code/data in question is located. So there is nothing really to "calculate" unless you already know where the code is (in this case, you don't).

____________________
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 09-01-14 05:52 AM, in Donkey Kong Country 3 Player Character Editing (rev. 9 of 09-01-14 06:07 AM) Link | Quote | ID: 158054


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

Posts: 114/285
EXP: 293552
Next: 14558

Since: 02-17-14

Last post: 3139 days
Last view: 2655 days
If you come from a programming background with a more modern language like Python or C++, learning ASM isn't that bad. If you don't have any previous knowledge then ASM may take longer. I can tell you that there really isn't much to learn about hexadecimal editing. other than $xxxx or 0x means offset. Really, every hex editor is different but with similar functions. Some more than others. What you could do is pick a hex editor, learn its functions (such as "inserting" "find/find all" "highlight" etc.). What you really need to do and what's most helpful is learning ASM. Really. This is your only bet at getting this done. You can do ASM through hex editing. For example, say you want to change code within a hex editor. So... let's say (NES code here as I know only NES and GB ASM) we want to change LDA #$05 STA $7292 to JSR $B0F0 and this is all at 0x4667... So, at that address we'd have $A9 $05 $8D $92 $72 we change that to $20 $F0 $B0 $EA $EA. This is doing ASM coding within a hex editor.

Let me explain the above: A9 is the opcode for LDA, 05 is the immediate value we loaded into the accumulator, 8D is the STA absolute address mnemonic( 8d 7292; always 3 bytes). Notice that I put the numbers in backwards. In RAM everything is big endian and it is stored in ROM as little endian. That is how absolute addressing works within the NES and GB (and I'm sure SNES). We changed the code to a jump to subroutine, so what we did was do $20 (the mnemonic for JSR), and the absolute address B0F0 (again, I put it as little endian because hex editing is ROM). I put 2 EAs there next because those represent NOP, or no operation. We add those if you want to cancel something out. otherwise the game would crash/"act weird" if we left the remnants of the old code, there. This is how to change code within a hex editor. You need to learn ASM to be able to actually trace code and then you can edit it within a hex editor. That's all there really is to know about that.

Now, to not overwhelm yourself, learn slowly. If you don't have a background in programming, go at a snails pace. Take what I just said, reread it until it makes sense and understand. Find the registers used within SNES ASM. (In NES we have A, X, Y and Memory.) Try to find a simulator where you can makeup routines and see if it works (it should say if it does if it's a good simulator). Learn a few mnemonics first to make a routine (mnemonics are the written form of opcodes; so, for example mnemonic=LDA (#$) opcode=A9 (immediate value). You'll find things like loading a zero page, absolute, immediate and x and y values with A. But learn that later on. I'm just mentioning it here so you don't think LDA is always immediate. For NES ASM when I now started out, I used Skilldricks page. If you want, google "skilldrick 6502 ASM" and it should come up. Hope this was helpful.

EDIT: I want you to see what the code was doing, here. Before, it was loading 05 into address (RAM) $7292. But now we made it jump to a subroutine at $B0F0. (Whenever the sub is done it ends with either a JMP or RTS, depending on what it's doing. Branching is always conditional [local or cannot be greater than $FF from memory; whether branching forwards or backwards] while a JMP [jump] is always unconditional. An RTS will always return to the mnemonic after the JSR code was called.)

____________________
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 09-01-14 07:46 AM, in Donkey Kong Country 3 Player Character Editing (rev. 3 of 09-01-14 07:49 AM) Link | Quote | ID: 158058


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

Posts: 115/285
EXP: 293552
Next: 14558

Since: 02-17-14

Last post: 3139 days
Last view: 2655 days
Well, a simulator is something that you use to test custom code that you've made. Once you learn some more mnemonics (like the LDA) you can create some routines in them and test to see if they work. Here are some 6502 simulators (NES), for example: http://www.6502.org/tools/emu/ (Scroll down to "Desktop-based 6502 Emulation and Simulators".)

____________________
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 09-01-14 08:12 PM, in Donkey Kong Country 3 Player Character Editing (rev. 2 of 09-01-14 08:12 PM) Link | Quote | ID: 158068


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

Posts: 116/285
EXP: 293552
Next: 14558

Since: 02-17-14

Last post: 3139 days
Last view: 2655 days
I would really recommend the Skilldricks page since NES and SNES ASM are so similar. Start here to begin understanding: http://skilldrick.github.io/easy6502/

____________________
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 09-04-14 06:23 AM, in SMB Lost Levels: Extended Edition with SRAM Saving (FDS hack) (rev. 7 of 10-06-14 09:05 PM) Link | Quote | ID: 158110


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

Posts: 117/285
EXP: 293552
Next: 14558

Since: 02-17-14

Last post: 3139 days
Last view: 2655 days
This is a hack that includes both SMB1 and SMB2J. Almost every single known SMB glitch has been fixed.

Side A: This is a hack of SMB2J that brings all the level designs and other various data over from SMB1. I hear all this hype from many other forums of people wanting to add SMB2J stuff to SMB1, such as Wind, Upside-Down Piranha Plants, more Worlds, etc. So I did something about it. I thought to myself: If the point of the hack is to make SMB1 like SMB2J, why not just hack SMB2J?

So that's what this is. SMB1 with all the features of SMB2J. The levels are the same, I've just incorporated SMB2J stuff in various places to add and show off its features. I've done all the work on this myself so that people can now rip their SMB1 levels and paste them to this without having to worry about the ASM work (assuming they don't know it).

There are no Worlds A-D in Side A of this hack as I NOP'd the code that does a check to see how many stars are on the title screen. World 9 is still intact. What I did was recreate the Minus World from both SMB versions (NES and FDS) to make a World! The NES Minus World has 1 level, while the FDS version has 3. So 3+1=4 or 1 World. This is better because the SMB2J 9 World is based off of this Fantasy glitch from the original game. So doing this is only fitting. Well, minus the glitches that came with the original Minus World. I even gave the NES version a total makeover of its Minus World! (https://www.youtube.com/watch?v=Dh-3PuJjFN4)

9-1 = NES version of Minus World
9-2 = FDS version of -2
9-3 = FDS version of -3
9-4 = FDS version of -1

This work took about 4 days.

I've left the title screen logo wide to allow all 24 stars to be recorded (note that I just temporarily changed 0xCC3C here to $18 to show all 24 stars. It's been reverted to $00 for final release.)


Poison Mushrooms, green springs etc. can all be found in this game.



Like I've said, beta scenery and cactus have been used from SMB2J



Saving occurs upon beating 8-4; high score is also saved to SRAM upon receiving a Game Over and choosing "Quit"



Wind and flying Bloopers have been added to some stages.



Certain levels like 1-3 and 5-3 no longer share data, so you are free to create new levels or scenery. On 5-3 I made it a windy snowy level. (Since World 5 is already a snow World.)



Upside-down Piranhas have been added to various areas in appropriate places to give it an authentic "Nintendo" feel.




What's a purple beta cactus, clouds and trees doing under there?




A flying Blooper! I thought this was only found on 7-3! I wonder where else I might find these guys?



Lava underground, just like SMB2J!



A MUCH more difficult version of 7-3 (which is a harder version of 2-3).


An underwater sea current.


New invisible items have been added where there were only invisible coin blocks. Arigatou, ShaneM-chan!




Beautiful clouds from up above have replaced the Mushrooms from SMB1 to give it a more real SMB2J feel.





Wait a minute...That's a decoy!



Remember, my SMB2J is on Side B of this game!





What I did was fix up the original stages that repeat to match the VS SMB counterparts. These include repeats of 5-3 (but I left the snow and wind in), 5-4, 6-4 and 3-4 (I did the last one because it is the same level, but more challenging). Here are maps of the VS SMB stages if anybody needs them for the repeat stages I fixed: http://themushroomkingdom.net/maps/vssmb

Also, in case no one realized this, I've made the maze of 4-4 to be like ANNSMB, as well as the lava pits of 7-4. The stages of 4-1 and 4-2 have also the Koopas added to them from the ANNSMB version. Here are maps in case you get stuck on 4-4: http://themushroomkingdom.net/maps/annsmb

So really, this SMB1 with SRAM and SMB2J features is the best because it incorporates the greatest strengths of VS SMB, ANNSMB and the original SMB1.



====

Side B:

-SRAM saving (completely redone; upon getting a Game Over on any world except 9 World; and when beating 8-4/D-4. Only saves the highest score.)
-I've added features from the SNES Allstars version:
*Hard Mode on Worlds A-D (where Buzzy Beetles replace Goombas and all enemies move faster, smaller platforms and anything else found in Hard Mode)
*Bowsers now have their own identities when defeated in Fiery state (originally they shared Bowsers World 1-4 identities since Worlds A-D were counted as 1-4 before. I even fixed the A-1 identity glitch found in the Allstars version.)
*Worlds A-D now have their own attributes and no longer share codes and limitations the original, such as spring in World B being red like they're supposed to be etc.
*I've written a little routine in bank $02 to play the beta Game Over music when loading the special message for 9 World

-Many sprite loading issues with OAM have been corrected
-I've fixed every single SMB2J glitch known to man...including:
*The timer would erroneously award player 999 seconds if the timer got down to 0 (50*999 =50, 000 points)
*The platforms had a collision error where they would loop instead of kill the player if they went below the screen ($D0)
*The hammer immunity glitch has been corrected where if the player went all the way to the left of the screen, the player was previously immune to hammers
*The glitch on 4-2 has been corrected
*Lakitu was originally supposed to throw Spinys according to the player's velocity. I fixed this. (A was getting overwritten because the JMP to bounding box control was too early.) Now Spinys bounce and Lakitu moves better. The only other version that fixed this was SMB Deluxe on GBC.
*Infinite lives glitch where the player would receive a Game Over upon accumulating too many lives.(I credit this fix to Kasumi, who gave me a hand with this)
*Many other glitches I corrected based on videos and the Mario wiki

-New features have been added, including:
*A brand new sunset palette has been added. It always bothered me that we had day and night stages but none in the evening.
*Brand new snowy palette. It always bothered me that the shrubs were colored white but the ground was left brown. (I had to clear 8 bytes in the first VRAM table data to make room for this.)
*Brand new bonus areas added and a hidden new level! (World 9-4 = new bonus room, World A-1 = secret hidden level within the stage... 2 exits in total! [Can you find the hidden level? ], B-1 = new bonus room with beta enemies used [can you find the hidden message? ], C-1= a very special new bonus room, D-2 = ??? [I think this stage speaks for itself]. No rooms were taken out; only stuff added
*Underwater currents [9-4 only] - These use the same wind code as on land except I had to code them to push the player around, as wind would previously only do this on land stages.
*Level fixes from the Allstars version. Some of them include the fact that on the NES version it is impossible to get 5000 points as either form of Mario on some stages like 2-3 and 8-2.
*I've also found a TON of beta stuff. Like unused blocks, BG scenery, etc.

I think this is indeed a great work that I've done, here. Also, I've studied in-depth the FDS format and came up with my own custom header (I've created my own detailed doc of it which I will include with this). My game is the first to make use of it. I also made a SMB2J manual that I translated/created from my own notes. I also borrowed from the Wii channel's description of the game. I personally own 2 FDS copies of this game. One sealed and one opened. I used the opened one's manual. I think it should be the same as the sealed one.

Link to the glitches I fixed:
https://www.youtube.com/watch?v=1nzyWWDYSvc
http://www.mariowiki.com/List_of_Super_Mario_Bros.:_The_Lost_Levels_glitches

Here are some screenshots:
Wow. Look at them beta cactus. Im'ma sure glad Shane M. found them! Brrrr! This snow is sooo a' cold! (I made snow on the ground for snowy stages. So they no longer look dry.)



Ouch! That damn hammer gave me a bump on my mama-mia head!


The beta ground with lava like in the SMAS version.


Mama mia! I was here in SMB1!



It's evening...Almost time to have the rest of that spaghetti...I hope I'm close to the Princess, now. (I know it says B-3 but it's really A-3. This was an old shot from when I was now learning how to add rooms. This has been fixed.)


The new bonus room on B-1 with beta blocks and the new beta enemy...What do those blocks spell?


The top secret level of A-1. This looks familiar...Didn't I beat this last spring? (Now 6 months later in time.)



Lakitu got over his "bug" and regained his strength! LOL XD


Finally...Someone translated this message into English for me and used beta blocks to do it in. What? underwater sea current?!? Noooo!!!! Lol



I've also made a custom .pal file which gives the NES an updated graphics feel, as if you were using A/V.




SMB2J original ROM (65,000 bytes) CRC16 = BA55
My hacked SMB game CRC16 = F667

Patch it to a clean ROM with the CRC16 listed above. http://www.mediafire.com/download/ddzkgk9qcxwgyep/New_folder.zip

EDIT: On Side A I didn't borrow any SMB2J stages for SMB1, what I did was use the VS SMB counterparts of the SMB1 stages. They are in different Worlds on VS SMB.


____________________
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 09-04-14 06:55 AM, in Donkey Kong Country 3 Player Character Editing (rev. 7 of 09-04-14 07:02 AM) Link | Quote | ID: 158113


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

Posts: 118/285
EXP: 293552
Next: 14558

Since: 02-17-14

Last post: 3139 days
Last view: 2655 days
Posted by Jonesy47


EDIT: FINALLY got around to skilldrick's tutorial and its AWESOME. I can't believe how well this is finally clicking...thanks a lot Shanem!! If anything, I'll at least be able to start completing my nes ideas if I can get this down.


No need to thank me. I only pointed you in the right direction. You are doing all the work to learn. This is the true spirit of ROM hacking: enticing others to partake in it and get them to see how easy it really is. Keep at it. When you've read the entire Skilldrick's page, you'll know enough to code in ASM. Take your time and do paragraphs a day if that's what it takes to absorb the knowledge. And really, SNES ASM is really similar to the 6502 (NES).

EDIT: Here is a page with all the mnemonics. When you read more of Skilldrick's it will make more sense: http://www.obelisk.demon.co.uk/6502/reference.html




____________________
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 09-07-14 05:32 AM, in nes programming? (rev. 14 of 09-07-14 05:53 AM) Link | Quote | ID: 158163


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

Posts: 119/285
EXP: 293552
Next: 14558

Since: 02-17-14

Last post: 3139 days
Last view: 2655 days
Posted by MartsINY
hi!

I have a simple question : I'm now analyzing the whole code of MM4, ans then I'd like to create a new rom from scratch, in which I could write my function in assembly (like with FCEUX). I wondered if such a program exists? and if so, I'd like to know if there is one which allows me to give name to function, so when I create the code, it would place my functions in banks I set previously, but to adress not predetermined, so I would be able to expand my code again if I need to...

thx!!


First off, if I understand you correctly, you're asking how does one make a homebrew? It's either that or you're asking how to 'hack' a ROM image. Well, no. There are no tools that do specifically that (unless you count a disassembler which spits out raw code/data which would need to be labeled). What you would do is start a .asm file from a disassembly of MM4 then add/take away what you want in it. Then you'd use an assembler, such as ASM6 by loopy to assemble the file/files. Whether you are merely wanting to edit binary or the whole ROM is up to you. What I'd do is use a make.bat to assemble with (I personally add @pause and @echo).

What you are looking for are called "labels". You can also accomplish your needs within a hex editor. I really feel you are asking how to hack rather than homebrew. What you'd do is a JMP (unconditional) or JSR or branch to the subroutine that you want to create. If you are using hex, make sure your absolute address reflects Program RAM and that the code is in the right bank within PRG (in case MM4 is not NROM, which I've never hacked MM games). Code looks something like this:


;;;SMB2J:

BuzzyBeetleMutate:
cmp #Goomba ;if below $37, check for goomba
bne StrID ;value ($3f or more always fails)
;;;;; ldy PrimaryHardMode ;check if primary hard mode flag is set
JSR newcode
beq StrID ;and if so, change goomba to buzzy beetle
lda #BuzzyBeetle
StrID: sta Enemy_ID,x ;store enemy object number into buffer
lda #$01
sta Enemy_Flag,x ;set flag for enemy in buffer
jsr InitEnemyObject
lda Enemy_Flag,x ;check to see if flag is set
bne Inc2B ;if not, leave, otherwise branch
rts

newcode: ;;;;somewhere where there's freespace
ldy gamesbeatencount ;the number times game is beaten value saved to SRAM
cpy #$08
bcc $03 ;if 0-7 we branch
ldy #$01 ;otherwise set bit
rts ;return
ldy $00 ;clear bit
rts ;return


^The above code changes Goombas into Buzzy Beetles after accumulating 8 stars on the title screen. It's code I added to my Mario hack.

Notice that I replaced my "ldy PrimaryHardMode" with "JSR newcode". (Assemblers don't read antyhing past a ";", which are considered comments.) Then I put my custom routine in. This is how it's done. Anywhere, period. Whether it is an .asm file or hex editor. (In a hex editor you use opcodes rather than mnemonics.) Make sure that you have room in the bank for your code as each PRG bank is $4000 bytes. Good luck.

EDIT: You cannot add more bytes in than what was taken out within a hex editor or an UNLABELED disassembly. My LDY was to check if a flag bit was set at RAM address 076A (PrimaryHardMode). It was an absolute address = 3 bytes. My JSR took three bytes. If you ever do something like use branching (conditional statements; 2 bytes) then you'd NOP the third byte, if there was one.

____________________
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 09-07-14 07:43 AM, in SMK Hack with custom characters Link | Quote | ID: 158168


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

Posts: 120/285
EXP: 293552
Next: 14558

Since: 02-17-14

Last post: 3139 days
Last view: 2655 days
Well if the sprites aren't compressed why not use a GFX editor such as YY-CHR? You can just view the sprites in SNES 4bpp format and either create them from scratch there or rip them from somewhere else. Good luck.

____________________
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 3 4 5 6 7 8 9 10 11 12 13 14


Main - Posts by ShaneM

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

Page rendered in 0.344 seconds. (344KB of memory used)
MySQL - queries: 133, rows: 165/165, time: 0.328 seconds.