Points of Required Attention™
Friendly reminder: Please don't respond to spammers! Their posts inevitably get memory-holed when staff get around to, leaving behind an inexplicable tableau of you shouting at nothing and (if they otherwise would have been alone in a thread) dangling posts and wrong postcounts.
Views: 45,594,662
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 08-23-17 12:05 PM
Guest: Register | Login

0 users currently in ROM Hacking | 2 guests

Main - ROM Hacking - Super Mario All-Stars NES (v8-14-17) Emulator & NES/Famicom patches New thread | New reply

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

infidelity
Posted on 03-05-15 10:52 PM (rev. 134 of 08-14-17 11:38 PM) Link | Quote | ID: 159593


Boo
Level: 60

Posts: 707/938
EXP: 1757916
Next: 14862

Since: 05-24-07

Last post: 5 days
Last view: 8 hours
Super Mario All-Stars NES (v8-14-17)
Emulator & NES/Famicom Release

http://acmlm.kafuka.org/uploader/get.php?id=5247

NOTE ON REQUIRED SIZES FOR MMC5 CARTRIDGE CONSTRUCTION

1024kb/1mb PRG-ROM
1024kb/1mb CHR-ROM
32kb SRAM


NOTE ON FLASH CARTRIDGES

The N8 Everdrive uses 512kb SRAM chips for it's PRG & CHR ROM's. My game will not work on this device. The PowerPak is in the same boat as the N8 Everdrive. My game will not work on that device either. Unless Krikzz, the creator of the Everdrive devices, releases a new version of the N8 with larger chip support, then this game will only be playable on real hardware via an official MMC5 cartridge.

NOTE ON EMULATORS VIA PC

Super Mario All-Stars NES has been confirmed to work properly, on the following PC emulators latest builds. "FCEUX" "Nestopia" & "Nintendulator" For the correct/best results via PC, I strongly suggest using any of the 3 emulators I've mentioned.

NOTE ON EMULATORS VIA GAMING CONSOLES

The MMC5 "Mapper 005" is a sophisticated/complicated mapper, and alot of NES emulator ports for gaming consoles do not emulate that mapper correctly/or at all. However, the most consistent emulator port to demonstrate the correct results for emulating the MMC5, are ports of the emulator "Nestopia." I recommend using the launcher known as "RetroArch" for whatever gaming console you are using, and use the "Nestopia" core that goes with "RetroArch" to play Super Mario All-Stars NES. You will get undesired results trying to play this game on ports of "FCEUX" or other NES emulator ports for gaming consoles. I'm making note of this to stop users from saying the game is corrupted or broken, the game is not corrupted or broken, it is the lack of MMC5 "Mapper 005" support for whichever NES port the user is using.

WELCOME TO....



Mario Bros. Classic

This game is the PAL European Nintendo version, which I have converted to NTSC. To access this game, hold A and press Up while the pointer is on Super Mario Bros. For more in-depth details regarding this title, scroll past all the game descriptions for further info.

The following functions are saved and restored...

1. Top Score

Super Mario Bros.

When you start this game with a saved 2 player mode, and you last saved as Luigi, you will start as Luigi. But, during the title screen you will see Mario standing there. Once you press start, Luigi will be properly restored.

The Demo Mode has been disabled, once you reload a save game, just like the original SNES All-Stars does. Also vram writes to the number of players, and the removal of the Select button for the title screen, are other features when you reload a saved game.

The following functions are saved and restored...

1. Restart as either 1st or 2nd player, from when game was saved

2. Power-Up state (small, big, fire)

3. # of lives

4. Current world & sub-level, (you save at 1-2, you start at 1-2, this also retains the individual world & sub-level for Luigi. Whoever is the furthest in the game, that world & sub-level # will be shown on the main menu, where you select one of 4 files)

5. Whether 1 or 2 player mode is active

6. Current high score

7. Mario's & Luigi's current scores

8. Mario's & Luigi's coins

9. Whether game has been defeated

10. Halfway point (within allowed worlds)

The following enhancements & modifications are....

1. On 2 player mode, players now switch off after clearing a flagpole. No more waiting for the other player to die, or defeat the game in order to play your turn.

2. Implemented the skidding sfx from Super Mario Bros. 2 Japan.

3. Implemented a new feature, where when a player dies during 2 player mode, he/she starts at the beginning of the current world they died in, and not being forced to not play the game anymore. Your lives are restored back to 3, and your score and coins are restored back to 00's.

4. Implemented Unused Lakitu Spiny Egg Toss

Super Mario Bros. 2 Japan

The "L" in the example stands for (Luigi Game)
This game was originally an .fds to .nes conversion I found online. It lacked the proper title screen construction, and various other functions. I've studied the .fds version thoroughly, to get my version running identical to the .fds version. The flashing stars on the SMB2 logo are there & save. World 9 is here as well, AND, I've made it so you can save on World 9-1 through 9-4, and when you reload, you WILL start where you left off. Luigi's skidding physics have been restored, (thanks to ShaneM for informing me) and the red piranha plants & green spring boards have been restored, (again, thanks to ShaneM for informing me)

The following functions are saved and restored...

1. Power-Up state (small, big, fire)

2. Lives

3. World & Sub-level

4. Coins

5. High score

6. Current score

7. How many #-4 castles have been cleared

8. Whether you have access to worlds A-D

9. How many times you have beaten the game

10. Halfway point (within allowed worlds)

The following enhancements & modifications are....

1. Implemented Unused Lakitu Spiny Egg Toss


Super Mario Bros. 2 USA

The following functions are saved and restored...

1. Number of bars in life meter

2. World & Sub-Level

3. # of lives

4. If first & second mushrooms have been pulled in saved level

5. If 1-up has been pulled in saved level

6. # of continues

7. Number of cherries obtained in saved level

8. Number of coins obtained in saved level

9. Number of big vegetables pulled in saved level

10. Number of levels finished as Mario, Luigi, Toad, Princess Toadstool

The following enhancements & modifications are....

1. Implemented SpiderDave's fix for missing 8th animation

2. Implemented SpiderDave's fix for missing sfx when player dies

Super Mario Bros. 3

The "M" in the example stands for (Mario), it also means he is the player that will start first when you load the file.
When you goto save, you can only save within an active stage, not during a 2p battle, not in a toad house, not during a mini-game.

The following functions are saved and restored... These apply to both Mario & Luigi...

1. Power-Up state (small, big, fire, raccoon, frog, tanooki, hammer)

2. Current score

3. Whether you saved last as Mario or Luigi

4. Current world

5. 1 or 2 player mode

6. # of lives

7. Power-Up form when on world map

8. N-Card 3 byte next score registers

9. Whether you have unveiled the penny ship, white mushroom house, etc

10. Map positions, as well as previous map positions (like when you die, and you get skidded back to your previous last spot)

11. Level complete flags

12. Inventory

13. Stage cleared cards

14. Coins

15. All sprite map objects

16. All sprite x/y map object locations

17. All sprite map id's

18. World map locations (example, world 2. If you saved at the castle in world 2, the game will load up that part of the world map, not the very beginning of the world where it says START. This goes for both Mario & Luigi!)

Deletion Of Saved Files


To erase a saved file, press the SELECT button over the desired file. An "ERASE?" prompt will appear at the top of the screen. Make your selection via the D-PAD and press the START button over your selection.

Deletion Of Mario Bros. Classic Top Score


To erase the top score, press the SELECT button. The text "ERASE TOP SCORE?" will appear above the logo. Make your selection via the D-PAD and press the START button over your selection.

Technical Information On My Mario Bros. Classic Conversion


PAL Nintendo games run much faster on an NTSC system. This goes for both gameplay & sound. I was convinced by fellow Acmlm member Da_GPer, to take a look at Mario Bros. Classic to see if I could use that version, instead of the version known as Mario Bros., because the PAL version is the closest to the original arcade version, than the NTSC version I incorporated into Super Mario All-Stars NES.

I came up with an idea to slow down the game, since it was designed to run at 50hz. I created a frame counter register, within the beginning of the games NMI routine. (after A,X,Y have been pushed to the stack) I then perform an LDA of that register, AND it for #$07, if this does not match, I then perform a JMP to the very end of the NMI rountine, where the pulling of Y,X,A from the stack occurs. What this does/what I am doing, is forcing the game to bypass everything, and have it return to it's reset vector loop until the NMI is fired up again. So what this does, is force the game to basically wait. If the AND #$07 does match, then I perform a JMP to the start of the games NMI after the pushing to the stack, resuming everything within the game.

In doing that, the game & music slowed down to NTSC speeds. The next step was to try to adjust the pitch to the games sound engine. I tried applying my AND method to all the sound registers before they were written to. It almost worked, but it didn't perform the proper results for all notes. I was shown some incredible 2 byte pitch tables, for converting PAL pitch to NTSC pitch. So I had to manually edit every 2 byte pitch that there was within the game. Once I had done that, I would play the original PAL version, along with my NTSC conversion, to see if the notes matched, and they do.

And on top of all that, I decided to incorporate the ability for the game to retain it's top score. It is consistently stored to SRAM, everytime that it is updated.

ENJOY! :-D
-infidelity

RetroRain
Posted on 03-05-15 11:05 PM (rev. 2 of 03-06-15 12:29 AM) Link | Quote | ID: 159595


Fuzz Ball
Level: 61

Posts: 834/984
EXP: 1855896
Next: 20700

Since: 09-30-07

Last post: 85 days
Last view: 74 days
Wow this is really awesome infidelity! What a great idea! You should make a video of it in action. I'll favorite it on YouTube.

Yeah I know, the Uploader has a problem right now. I need to upload something myself, and I can't because it won't let me log in. But I did post a thread about it in the General Chat forum.

You also gave me the inspiration for another idea when I'm done with my MM2 CHR-ROM conversion. I'll put Megaman 1 and 2 on a single cartridge, and call it Megaman Origins!

EDIT:

I just tested it! It works like a charm!

You put some nice effort into it. Is the FDS screen for SMB2J just graphical? Was it done to imitate the FDS, or is that really how SMB2J opens? SMB2J was only made for the FDS right?

Also, how long did it take you to make this if you don't mind me asking?

____________________
My YouTube Channel

infidelity
Posted on 03-06-15 12:38 AM (rev. 2 of 03-06-15 12:43 AM) Link | Quote | ID: 159602


Boo
Level: 60

Posts: 709/938
EXP: 1757916
Next: 14862

Since: 05-24-07

Last post: 5 days
Last view: 8 hours
Thanks for trying!

I took the Famicom Nintendo introduction from the actual .fds rom, just bypassed all the BIOS checks it performs. I had to redesign the NOW LOADING... because originaly I wanted to keep the PLEASE SELECT SIDE DISK or whatever it says before it says NOW LOADING... But Nintendulator was getting stuck in an infinite loop within part of the BIOS when it says NOW LOADING... So I had to bypass that section, and just make the logo says NOW LOADING... from the start.

I'm not that too familiar with the Famicom Disk System, but I believe all the games for it have that introduction. So I wanted users that are familiar with the actual Japanese version of smb2, to get the Famicom boot screen when selecting smb2j.

I've been working on this for almost 2 months off and on. The longest part was obviously the huge sprite introduction. That took a lot of time setting up within the rom.

Again thanks for trying it out. :-)

RetroRain
Posted on 03-06-15 12:47 AM (rev. 2 of 03-06-15 12:49 AM) Link | Quote | ID: 159605


Fuzz Ball
Level: 61

Posts: 839/984
EXP: 1855896
Next: 20700

Since: 09-30-07

Last post: 85 days
Last view: 74 days
I know, it's a lot of work just to do what appears to be simple. But it definitely came out really well. I like it!

____________________
My YouTube Channel

infidelity
Posted on 03-06-15 12:51 AM (rev. 2 of 03-06-15 12:55 AM) Link | Quote | ID: 159606


Boo
Level: 60

Posts: 710/938
EXP: 1757916
Next: 14862

Since: 05-24-07

Last post: 5 days
Last view: 8 hours
Thanks!

The trickiest thing I did from scratch, was trying to re-create how the game logos scroll back and forth when you move the hand cursor. This was the first time I ever figured out how to draw to the nametable verticaly, while I scroll the screen from left or right. I wanted to add as much to this as I could lol. Even when you press start from the curtain introduction, or when you let the introduction end, the fade design, I tried getting that to look as close to the original as possible. You can see the tile design/formation within the fceux ppu viewer.

edit Uploader is back and running! Just updated the download link.

RetroRain
Posted on 03-06-15 12:58 AM (rev. 3 of 03-06-15 01:01 AM) Link | Quote | ID: 159607


Fuzz Ball
Level: 61

Posts: 840/984
EXP: 1855896
Next: 20700

Since: 09-30-07

Last post: 85 days
Last view: 74 days
Yeah I already looked at the PPU viewer while the sprites were scrolling on the titlescreen. I was curious to see what you did.

You know, another idea if you wish to make a future expansion to this patch. You could add special cheat codes, where the player has to press a certain order of buttons on the titlescreen, while the sprites are moving, and when the code is entered correctly, a coin sound plays or something, and then the cheat would be activated within the game you play.

Like with SMB3, on the SMAS screen, if you press Up, Down, Left, Right, Left, A, you hear a coin sound, so when you start SMB3, you start the game with 20 lives. Just an idea. I don't even know if it is that great of an idea, but it was just a thought.

____________________
My YouTube Channel

infidelity
Posted on 03-06-15 01:05 AM Link | Quote | ID: 159608


Boo
Level: 60

Posts: 711/938
EXP: 1757916
Next: 14862

Since: 05-24-07

Last post: 5 days
Last view: 8 hours
HA! Never knew that about SMAS.


RetroRain
Posted on 03-06-15 01:08 AM Link | Quote | ID: 159609


Fuzz Ball
Level: 61

Posts: 841/984
EXP: 1855896
Next: 20700

Since: 09-30-07

Last post: 85 days
Last view: 74 days
No no, you misunderstood. SMAS had nothing like that. I was just saying that as an example that you could do with your own hack.

____________________
My YouTube Channel

infidelity
Posted on 03-06-15 01:14 AM Link | Quote | ID: 159610


Boo
Level: 60

Posts: 712/938
EXP: 1757916
Next: 14862

Since: 05-24-07

Last post: 5 days
Last view: 8 hours
Oooooh, gotcha, lol. But yeah that could probably work. It would all need to reside within $5C00-$5FFF, to initiate all the codes, and have specific values set aside for which ever game, and you boot the game, have those values inserted from the $5C00-$5FFF into the ram for the current game. But if you have hard coded stuff for a certain game, then that will need to be modified to look at a ram register, so that the $5C00-$5FFF value can be used properly. Again, all possible, but I'm not going that crazy, lol! People could even insert they're own Super Mario Bros. rom hacks into the Super Mario Bros. rom location, as long as it's not expanded. It wont be simple for the other 3 games, since they are modded to use the MMC5, so you cant perform a simple copy/paste.

muckyfingers
Posted on 03-06-15 07:15 AM Link | Quote | ID: 159611

Newcomer
Level: 3

Posts: 1/2
EXP: 84
Next: 44

Since: 03-06-15

Last post: 899 days
Last view: 661 days
Just wanted to register and say thank you!

I was in the process of making a Legend of Link and saw this post so I decided to throw some sockets on my Famicom board and test it on real hardware. It seems to be working great! The only "issue" I've seen is a little bit of garbage data or glitch in SMB3 that isn't normally there, well some of it is there. The 2nd pic is Super Mario Bros. 3 (U) (PRG1) [!] running through an everdrive (FCEUX shows same results), the 3rd pic is your SMB3 MMC5 version, with the "Super Mario All-Stars_$5010dpcm.ips". FCEUX shows that glitch with both IPS patches. Not sure if there is anything to be done about it, definitely doesn't bother me, just thought I should mention it.

Running on actual hardware



Original Glitch



MMC5 Glitch


jonwvsu
Posted on 03-06-15 08:03 AM Link | Quote | ID: 159612

Newcomer
Level: 5

Posts: 4/4
EXP: 389
Next: 140

Since: 02-20-11

Last post: 901 days
Last view: 827 days
Nice work! Might I suggest adding the Item Select patch to SMB3 and the De-Engrish patch to SMB2us? Also, are you going to add that block to the end of the the last boat in the second level of World 8 in SMB3, (like they did in all stars)?

infidelity
Posted on 03-06-15 01:20 PM (rev. 2 of 03-06-15 04:42 PM) Link | Quote | ID: 159613


Boo
Level: 60

Posts: 713/938
EXP: 1757916
Next: 14862

Since: 05-24-07

Last post: 5 days
Last view: 8 hours
@muckyfingers: I responded your post at nesdev

Posted by jonwvsu
Nice work! Might I suggest adding the Item Select patch to SMB3 and the De-Engrish patch to SMB2us? Also, are you going to add that block to the end of the the last boat in the second level of World 8 in SMB3, (like they did in all stars)?


I've never known about any of what you mentioned. This game is pretty much as is. I accomplished what I originally set out to. I honestly have no desire to continue this any further, but as always, others are more than welcome to take it further if desired.

RetroRain
Posted on 03-06-15 08:12 PM (rev. 3 of 03-06-15 08:25 PM) Link | Quote | ID: 159619


Fuzz Ball
Level: 61

Posts: 842/984
EXP: 1855896
Next: 20700

Since: 09-30-07

Last post: 85 days
Last view: 74 days
Why do some games like SMB2J and Zelda1 write code to $6000-$7FFF? I opened up Zelda1, and in order for the code to get stored in that SRAM range, it has to already be in PRG-ROM. What is the point in doing that if the code already exists in PRG-ROM? The only thing I can think of, is that the code has to be constantly read, regardless of what bank is loaded, and that there is not enough free space in the hardwired bank to hold that code.

____________________
My YouTube Channel

infidelity
Posted on 03-06-15 08:50 PM (rev. 3 of 03-06-15 08:52 PM) Link | Quote | ID: 159621


Boo
Level: 60

Posts: 714/938
EXP: 1757916
Next: 14862

Since: 05-24-07

Last post: 5 days
Last view: 8 hours
For Zelda, its because it modifies the asm, swaps out palettes for dungeons and outworlds, holds palette changes for Link and his items. The other reasoning is due to lack of ram. Its also due to lack of prg-rom, cause $C000-$E010 is filled with dpcm samples, so there goes precious 2000 bytes worth of prg-rom, so they utilized the SRAM for the prg-rom they lost due to dpcm, and as mentioned before all the other stuff I said. And what you said at the end, about needing another bank to read, can very well be another reason.

RetroRain
Posted on 03-06-15 09:00 PM Link | Quote | ID: 159622


Fuzz Ball
Level: 61

Posts: 843/984
EXP: 1855896
Next: 20700

Since: 09-30-07

Last post: 85 days
Last view: 74 days
When you say that Zelda modifies the asm, are you saying it modifies the code in PRG-ROM during run-time? I thought that couldn't be done on a NES.

____________________
My YouTube Channel

infidelity
Posted on 03-06-15 09:22 PM (rev. 2 of 03-06-15 09:23 PM) Link | Quote | ID: 159623


Boo
Level: 60

Posts: 715/938
EXP: 1757916
Next: 14862

Since: 05-24-07

Last post: 5 days
Last view: 8 hours
No i mean editing asm within PRG-RAM. The $6000-$7FFF asm can be modified. I cant remember where, but I'm pretty certain ive seen certain values edited depending on certain conditions. I've swapped out different types of branches within prg-ram myself, as long as what you are doing is not interfearing with other code, you should be able to edit the asm, it's just the same as copying from the ROM to RAM, it's the same thing when modifiying the existing asm within SRAM, you just need to be careful in doing so.

EggplantPimp
Posted on 03-07-15 12:59 AM Link | Quote | ID: 159625


Slime
Level: 39

Posts: 198/332
EXP: 371355
Next: 33416

Since: 04-30-07
From: Boo York, Home Of The Big Pumpkin

Last post: 6 days
Last view: 6 days
This looks sooo cool! Thanks for making it!

Spoiler:
Work on your MM hack now, please?


____________________
- Nikki




ShaneM
Posted on 03-07-15 06:40 AM Link | Quote | ID: 159626


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

Posts: 271/285
EXP: 172314
Next: 13049

Since: 02-17-14

Last post: 699 days
Last view: 215 days
Good work, infidelity!

The YT video looks promising.

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

Proveaux
Posted on 03-07-15 07:30 AM Link | Quote | ID: 159629


Red Goomba
Level: 13

Posts: 12/42
EXP: 10116
Next: 151

Since: 11-11-13

Last post: 12 days
Last view: 6 hours
Looks great! Love the intro!


infidelity
Posted on 03-07-15 01:58 PM Link | Quote | ID: 159630


Boo
Level: 60

Posts: 716/938
EXP: 1757916
Next: 14862

Since: 05-24-07

Last post: 5 days
Last view: 8 hours
Oh wow this was already done? Does that image need specific chips in order to pull it off? Mines all within one rom, now dip switches or anything fancy required if put on an mmc5 cart. I like the label!
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24


Main - ROM Hacking - Super Mario All-Stars NES (v8-14-17) Emulator & NES/Famicom patches New thread | New reply

Acmlmboard 2.1+3δ (2016-01-08)
© 2005-2016 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 0.132 seconds. (350KB of memory used)
MySQL - queries: 131, rows: 171/0, time: 0.093 seconds.