+  RHDN Forum Archive
|-+  Romhacking
| |-+  ROM Hacking Discussion
| | |-+  Anyone Interested in Doing "SMB Special" for NES?
Pages: 1 ... 25 26 [27] 28 29 ... 39
Author Topic: Anyone Interested in Doing "SMB Special" for NES?  (Read 17 times)
Darkdata
Guest
« Reply #390 on: May 10, 2008, 08:52:00 am »

Quote from: SMB2J-2Q on May 10, 2008, 07:13:37 am
Could we please get back on the topic of trying to finish this SMB1 hack?

Thank you,



Ben


This is all quite on topic, it has not gone off on a multi-paragraphed essay, it is just comparing the types of kill codes from games, This may be important to Karatorian, and frantik in the creation of this game. Or it may not.

Anyway, I would like to say good job you two on all your work so far. It is nice to see a game get broken, rebuilt, and made better, faster, stronger... ^^;
deespence2929
Guest
« Reply #391 on: May 10, 2008, 09:29:40 am »

It's not like what we talk about in this thread is gonna keep them from working on the hack anyway.
Karatorian
Guest
« Reply #392 on: May 10, 2008, 09:41:40 am »

Quote from: Darkdata on May 10, 2008, 08:52:00 am
Anyway, I would like to say good job you two on all your work so far. It is nice to see a game get broken, rebuilt, and made better, faster, stronger... ^^;

Better? Yes and no. Stronger? Maby. Faster? Naw. Heck, if anything, with the stuff we've added, every loop of the main game engine takes a handful more cycles that it once did. Not that it matters as I don't think we've run out of vertical refresh yet ... Oh, you meant figuratively? Well, thanks, we do what we can =_=

Quote from: deespence2929 on May 10, 2008, 09:29:40 am
It's not like what we talk about in this thread is gonna keep them from working on the hack anyway.

Actually, it's the activity on this thread that keeps me motivated. Even when it's only tangentally related to the hack itself.

In regards to the current progress, I haven't really gotten anything done lately. I've been distracted by a bunch of RL stuff (fixing my truck) and a new utility project (Mototile). But now I've gotten back into it and I've started working on the credits sequence.

SMBS has a long credits sequence, of which we'd like to add the content of to the end of our hack. Additionally, SMB didn't have any credits, so I decided to add the hard working folks at Big N as well. Finally, of course, we have to credit ourselves and (more important to me anyway) give special thanks to all the playtesters, tool authors, etc. that helped make this project possible.

So I started looking into the victory messages code and stuff. Quite frankly, I don't quite know the NES and SMB's engine internals quite well enough to figure it out exactly.

Anyway, the text data is fairly straight forward. It consists of a three byte header, the text, and $00 as a terminator. I've managed to figure out two of the three header bytes. The second is the screen position to draw the text to. The third is the length of the string. (Why it has both a string length and null termination is beyond me.) The first one is the one that I haven't figured out.

In all of the text strings in the game, it's either $25 or $26. I thought I could figure it out from the text drawing routine, but, like so many other bits of SMB, it's hard to follow. Rather than do any actual work itself, it just sets some variables and lets some other part of the engine (that I haven't located yet) handle the real work.

So, does anyone here know what that first byte means?

Hey, Frantik, any ETA on getting the last of the bugs resulting from the new block code fixed? To test out my changes to the end code, I fixed the flagpole in 8-3, but as a result it's location ended up being $FD, the end of object data marker, so YY-ME simply moved it to $ED instead so it's not in the right spot. (I also messed up the hole before it somehow.) Anyway, if you find the time, a fix would be nice.

Edit: Never mind, I figured it out. The first byte is part of the screen location as well. Actually, the first two byte are a pointer to the location to write the string to. (Oddly, it's in big endian format, hmm.)

As the engine gets changed more and more, most Game Genie code don't work anymore. For anyone that's interested, I've developed a few cheat codes that only modify RAM locations and so are stable from build to build. The downside is that they can't be used with a GG or PAR or similar ROM modding device.

Here's the list (straight from FCEU):
Code:
1) *   $07fc:001     - World Menu
 2) *   $079f:010     - Invincible
 3) *   $0704:001     - Flight
 4) *   $075f:007     - World Eight
 5) *   $0760:104     - Castle

The "World Menu" code just activates hard mode, so you'll have to turn it off if you want to play in easy mode once you select a world. The "Invincible" code is an infinite starman. The "Flight" code lets you swim on all levels.

The final two are a little obscure. The "World Eight" code is an alternate method of selecting which world to load. You can modify the value to select other worlds. The so-called "Castle" code is used to select a specific level. Unfortunately, it uses the internal map numbers, so it's kinda difficult to use. I've yet to find an easy way of selecting a level.
« Last Edit: May 10, 2008, 10:07:44 am by Karatorian »
KingMike
Guest
« Reply #393 on: May 10, 2008, 10:13:53 am »

My guess is that it's $25 or $26 because that is hundreds digit the VRAM address of the tilemap offset where the text is stored.

$2400-$27FF is the right side of the screen.
$2500 would be 8 tiles down from the top (that count includes the top tile that is generally considered "invisible" on NTSC TVs) as the screen is 32 ($20) tiles wide, thus each line occupies $20 bytes of the table.

It is probably big endian because to set the VRAM address to write to requires writing the high byte, followed by the low byte, both to $2006.
hybrid
Guest
« Reply #394 on: May 10, 2008, 02:53:22 pm »

I could take care of any GG codes once the hack is finished or if you need any done for the most recent build.
frantik
Guest
« Reply #395 on: May 10, 2008, 04:40:45 pm »

fixed various bugs.. should be all good now

- Worlds 1-4 with new blocks not suitable for standalone play
- Worlds 5-8 with new blocks not suitable for standalone play
Karatorian
Guest
« Reply #396 on: May 11, 2008, 05:28:58 pm »

Quote from: hybrid on May 10, 2008, 02:53:22 pm
I could take care of any GG codes once the hack is finished or if you need any done for the most recent build.

Once the hack is finished, it would be kinda cool to include a list of handy GG codes, seeing as most SMB codes will no longer work. In the mean time, it's not really neccessary as I can do almost everything I need with FCEU cheats, which are actually easier to make and use.

Quote from: frantik on May 10, 2008, 04:40:45 pm
fixed various bugs.. should be all good now

In light of these new patches, you can get the latest expanded patch here. The changes in this release are relatively minor. It, obviously, includes all the fixes Frantik just made. Also included is the original (anticlimatic, but complementary) end game victory message and slightly changed hack credits to accomodate it.

I'm currently working on a few things. One is a full credits sequence. The other is a few minor bug fixes and engine tweaks. We've decided to back off of the major engine changes with the new enemies and power ups for now. This is to focus on getting some of the samller issues out of the way first and to provide a stable codebase for extensive play testing. (Thanks, once again, to everyone who's helped with that.)
Googie
Guest
« Reply #397 on: May 11, 2008, 06:22:44 pm »

I'll play with the three patches in a bit. You guys put alotta work into this, if I find anything I'l lgive a holler. See ya's. ^_~
SMB2J-2Q
Guest
« Reply #398 on: May 11, 2008, 06:33:26 pm »

Quote from: Googie on May 11, 2008, 06:22:44 pm
I'll play with the three patches in a bit. You guys put alotta work into this, if I find anything I'l lgive a holler. See ya's. ^_~

I'll holler back at you: Those L-pipes still where they shouldn't be.
Googie
Guest
« Reply #399 on: May 11, 2008, 06:55:22 pm »

Can you put up some pics? I haven't played the patches yet, still in Mother's Day celebration over here... 
frantik
Guest
« Reply #400 on: May 11, 2008, 06:59:52 pm »

Quote from: SMB2J-2Q on May 11, 2008, 06:33:26 pm
Those L-pipes still where they shouldn't be.

Again, are you playing Karatorian's patch or my patches?  cause my patches are NOT meant to be played by themseleves

SMB2J-2Q
Guest
« Reply #401 on: May 11, 2008, 07:04:35 pm »

Quote from: frantik on May 11, 2008, 06:59:52 pm
Quote from: SMB2J-2Q on May 11, 2008, 06:33:26 pm
Those L-pipes still where they shouldn't be.

Again, are you playing Karatorian's patch or my patches?  cause my patches are NOT meant to be played by themseleves


Your patches.
frantik
Guest
« Reply #402 on: May 11, 2008, 07:06:45 pm »

yeah only use karatorian's patches from now on Smiley


edit: hmm  looks like you havent implemented the hack to always make lifts 6 tiles.. i think i forgot to mention it or it was a while back haha.. its not out our list though

- bonus work in 2-4 missing scroll stop

- uh oh a semi-major issue:  hidden power up blocks (specifically hidden mushroom/fireflower blocks) can be stood upon even though they are invisible.  to make them truely invisible you might have to shift some other blocks around because the pass thru blocks are toward the beginning of each bock type.  it goes pass thru blocks  (background), normal blocks, and climbing blocks (vine and pole basically)

- hidden coin block in 3-1 (end) hides treetop

- coins next to flag in 3-1 can cause a lock up glitch Sad  (well not true lock up since coin thing is still flashing but mario gets stuck in a ducking position if you touch the top of the flagpole

- graphic glitch in 4-1
« Last Edit: May 13, 2008, 05:23:00 am by frantik »
Karatorian
Guest
« Reply #403 on: May 11, 2008, 09:56:39 pm »

Damn, that's a lotta bugs. I guess I'll have to start looking into them.

I did some checking on the hidden blocks and the fact that you can stand on them when you shouldn't be able to. I'm not entirely sure what's going on with them. All blocks and breakable bricks in the original game are set to be pass-through metatiles, so I figured that when I set my new blocks to be the same, they should've worked. I haven't figured out why they don't yet.

I figure it must be hard coded somewhere in the block handling code. As the blocks and bricks aren't set to be solid, somewhere is a routine that makes them act sorta solid. (If you actually set them to solid, they can't be bonked.) Also, somewhere in that code must be a special case for the hidden blocks. I'll have to investigate it and add the new ones.

As for the rest of those bugs, I'm not really sure what's causing them. I'll have to go take a look.

Edit:

I couldn't reproduce the bug with the lock-up in 3-1 or find the impassable area in 4-1.

When I hit the hidden coin blocks next to the flagpole and then got the flag, Mario got stuck up against the block for a bit, but then he hopped off the flagpole and things continued as normal. Do you have to do something special to trigger the bug?

I went through 4-1 a few times, but everything seemed normal.

I did notice the tree with the top obscured by the hidden coin block, but I'm not really sure what to do about it. Remove that tree like the rest of the glitched scenery?


« Last Edit: May 12, 2008, 05:21:29 pm by Karatorian »
frantik
Guest
« Reply #404 on: May 13, 2008, 05:25:32 am »

Quote
When I hit the hidden coin blocks next to the flagpole and then got the flag, Mario got stuck up against the block for a bit, but then he hopped off the flagpole and things continued as normal. Do you have to do something special to trigger the bug?

you have to hit the pole in a certain way.. it happens a few different ways so I moved the blocks over one.

some of the other bugs were just notes to myself lol i fixed everything except the lift and hidden block issues
Pages: 1 ... 25 26 [27] 28 29 ... 39  


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