+  RHDN Forum Archive
|-+  Romhacking
| |-+  ROM Hacking Discussion
| | |-+  Help with ISD SMB Utility (more or less a general knowledge question)
Pages: [1]
Author Topic: Help with ISD SMB Utility (more or less a general knowledge question)  (Read 2 times)
segwayspeedracer
Guest
« on: January 07, 2010, 05:29:51 am »

Hi people  Smiley , before I get started, I need to state that this isn't a suggestion or request, because it has already been accomplished before many different ways.. I have done plenty of research also, the problem is that I am to big of a Noob to figure it out.  Embarrassed

In short, I want to have a SMB1 game that supports SMB2J's Items (Poison Mushroom, Upside Down Pipe, Hidden Mushroom, Etc.)  I also want the same Rom to support reverse Piranha plants/Red Piranha Plants. I have been able to accomplish both separately through available patches, but not together.

My best bet is to use Insectduel's SMB Utility to get the job done; however, I don't understand Step #5 of the smb_mapper1 instructions well enough.. I created the Mapper1.nes file, but it is a 1kb nes file, which is obviously wrong.  I know I'm messing it up but I'm not sure how.  I would really love to have a SMB game that supports these features: could anyone shove me in the right direction?
 
Just in case the readers are unfamiliar with ISD Utility:

Here is where you can find the ISD Utility Package... Its also available on RomHacking.net
http://insectduel.t35.com/gameutitils.html

Also, I found this detailed FAQ concerning ISD Utility
http://insectduel.proboards.com/index.cgi?board=10&action=display&thread=493

All credit for these files belongs to Insectduel.

Sorry for the mouthful.  Grin   Thanks  Smiley



Bond697
Guest
« Reply #1 on: January 07, 2010, 04:29:04 pm »

wait a minute, that utility is smb utility international.  what did he even do to it that he's calling it his own?  and why is it coming with a patch to apply a trainer to the rom?  wtf?  the original doesn't.

you should probably stay away from this thing if it's adding a trainer to the rom.  it looks like it is to me, but i might be mistaken.

e:

what a trainer is and why you should not be using one:

Quote from: Disch on May 12, 2008, 02:06:59 pm
Quote from: Dr. Floppy on May 12, 2008, 01:32:01 pm
Dr. Floppy is confused. Are trainers the same things as headers; i.e. those little 16-byte lines at the beginning of NES ROM's which tell the emulator what to expect from the file in question, but are otherwise ignored by the ROM itself?

No.  The header is $10 bytes and tells things like PRG/CHR sizes, mirroring mode, mapper used, etc, etc.  This tells the emulator the layout of the board it needs to emulate.  It's sort of like a software representation of what hardware the game uses.

Trainers are an additional $200 bytes that follow the header.  Traditionally it's placed at $7000-71FF in addressing space -- although more accurate emulators will either put SRAM at that address or leave it open bus if there's no on-cartridge RAM.

Trainers, unlike headers, do not represent anything on the cartridge.  They don't exist in any commercial game (or any game that is functional on an actual cartridge) for the simple reason that a trainer doesn't exist anywhere on the hardware.  It's not part of PRG or CHR-ROM, and  there's no seperate chip for it on a cartridge board.

Trainers were originally used by FFE copiers (I think, anyway).  FFE copiers were kind of like the Super Wildcard DX for the SNES -- they would let the user play ROMs on their famicom.  The thing is, rather than actually emulate all the dozens of mappers that games use, the FFE had it's own "custom" mappers that games were hacked to use.  Since mapper hacks often involve additional code, the FFE copiers had an additional $200 bytes of "trainer" space that could be used for such mapper hacks.

Back in the day, some games only had the dump of the hacked FFE version available, so early emulators like NESticle, iNES, etc had to emulate the FFE mappers and put in the trainer to get those games to work.  Nowadays... the proper, unaltered ROMs have been dumped, so there's no longer any need to emulate any FFE mapper numbers, and no longer any need for trainers.

No games actually use FFE mappers -- they're sort of fake mapper numbers.  If you look through the GoodNES set, you'll find that the only games to use FFE mapper numbers (6, 8, 12, 17, etc) are games that have been hacked to do so -- and the good dumps of those games all use a different mapper.

Quote
Dr. Floppy has received reports that his recent hacks only work on certain emulators, and he very much wants to avoid this event in the future...  Embarrassed

Ideally, test your game on the real hardware if you can (PowerPak is good for most things).  If that's not an option, test it on as many emulators as you can.  Ones you really want it to work on are NEStopia and Nintendulator.  If it fails on either of those, odds are there's a serious bug somewhere.  Don't bother with older emulators like NESten, NESticle, fwNES, NNNJ, as their emulation isn't exactly what I'd call accurate.  I wouldn't rely on FCEU either -- it's debugger is nice for sure, but don't use it as a final word on emulation accuracy... it's really starting to show its age.

And pretty much.. just follow a few simple rules:

1)  don't use trainers
2)  keep your PRG/CHR sizes a power of 2
3)  if you're using a mapper that has bus conflicts, be mindful of them.
4)  don't assume the contents of any register on startup.


and a thread on this utility:

http://www.romhacking.net/forum/index.php/topic,6222.msg101469.html#msg101469
Rolen47
Guest
« Reply #2 on: January 07, 2010, 11:25:01 pm »

There's a ROM called "Super Mario Bros 2 (Lost Levels) (Unl)" that I think has all that. I think it's a pirated port of the FDS version. I dunno if it will help though, cause it probably doesn't work with any SMB1-specific tools.
« Last Edit: January 07, 2010, 11:30:18 pm by Rolen47 »
segwayspeedracer
Guest
« Reply #3 on: January 07, 2010, 11:29:16 pm »

Yeah, I understand the difference between the two.. ISD utility is meant to allow the user to modify Smb2j, and i think it is similar to the more updated japanese versions of SMB Utility. You're right though, his instructions require that you add a  trainer to the rom.


I found this link before but I didn't understand the relevance at first.

I think my main problem with it is that I was applying a trainer to the rom then re-adding the space again manually.
Thank you for your help. It'll take alot of research, but I most likely will attempt to emulate what Frantik has done with SMB Special and SMB Unlimited concerning the reverse Pirahna Plants/Pipes.

Rolen, I did find a pirated port of the fds version, but I don't believe smb utility recognizes it (even though its bytes are within the requirements) I may have to give yy-me a shot, since it is much more versatile.



January 07, 2010, 11:37:33 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
I just realized how vague i was... I hope to modify a super mario bros game that supports many of the features of smb2j... and Smb Utility and ISD smb utility are too different utilities (Insectduel did not create the utility). sorry for the confusion.
« Last Edit: January 07, 2010, 11:37:33 pm by segwayspeedracer »
Bond697
Guest
« Reply #4 on: January 07, 2010, 11:58:10 pm »

the thing is, isd smb utility, is pretty much no different than smb utility.  he just wrote a one-line batch file and tossed in some other crap and called it his own.  and to make it worse, he adds in a trainer to the rom that's being edited with no warning about what it is, how bad that is, or why you shouldn't do it.

anyway, you should really avoid this thing.  it'll be a lot more work most likely, but do it the right way.  you'll just be screwing yourself in the end if you use it, because it won't work on real hardware or some(most?) emulators.

grab some docs on 6502 assembly if you want to add in the poison mushroom and other features from smb2.
segwayspeedracer
Guest
« Reply #5 on: January 08, 2010, 12:17:53 am »

Excellent   Cheesy You've been a big help
Pages: [1]  


Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC