Romhacking.net

Romhacking => ROM Hacking Discussion => Topic started by: SMB2J-2Q on February 06, 2008, 11:26:50 am

Title: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on February 06, 2008, 11:26:50 am
Hi,

Is anyone interested in hacking the NES Super Mario Brothers to make it look like Super Mario Brothers Special that was released for the NEC PC-8801 in 1986?

I would love to see it when it is done!

For those in the know, here are some samples:
World 1: http://www.youtube.com/watch?v=BAZnxPoqKJY
World 2, part 1: http://www.youtube.com/watch?v=jJ4Vv10DaXA
World 2, part 2: http://www.youtube.com/watch?v=ENuvrRJtFPY
World 3, part 1: http://www.youtube.com/watch?v=PsXGE8esXT4
World 3, part 2: http://www.youtube.com/watch?v=1z3F3JE2Qsc
World 4: http://www.youtube.com/watch?v=HzQbj-DXj64

EDIT:
*I want the NES SMB's scrolling to remain intact.
*I want the NES SMB's half-way points to remain intact.

~Ben (SMB2J-2Q)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: FinalMinuet on February 06, 2008, 12:36:16 pm
Sounds like you just volunteered yourself.  ;)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Googie on February 06, 2008, 04:01:25 pm
Word, yeah Ben make this a project you can work on. I didn't see all of videos, but in World 1 I saw some upside down pipes. There's a Japanese patch for that, if you do work on this I'll help with the title screen... ^^
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathOnNapkins on February 07, 2008, 07:55:34 am
I watched some videos of.... either world 8-2 or maybe it was 8-3, and it had some enemies that SMB 1 didn't have. If a full conversion was done I'd probably give it a whirl. Playing it on the original platform looks to be a subpar experience.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on February 07, 2008, 04:22:36 pm
it would be a lot easier to do if all the levels were screen capped first.. course that would be a pain the ass to do lol
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on February 07, 2008, 04:53:29 pm
it would be a lot easier to do if all the levels were screen capped first.. course that would be a pain the ass to do lol

That's what I did to get the idea for what the levels would look like.

However, the resolution for the PC-8801 is 320x200 while the NES' rez is 256x224, if that will help you...
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Disch on February 07, 2008, 05:01:45 pm
the NES' rez is 256x240

fixed
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on February 07, 2008, 06:21:10 pm
There's one thing the SMBS for the PC-8801 lacks: scrolling.

While the 256x240 display rez may have been standard for the NES, typically many games for NTSC-based systems had an effective display rez of only 256x224, as the top and bottom eight scanlines were not visible on many TV sets.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Disch on February 07, 2008, 06:46:57 pm
This I know.  But the operative word there is "many" (as in, not "all").

The NES (regardless of your TV) always output 240 scanlines to the TV.  Whether or not the TV displayed all of them depended on the TV and its settings.

</overly anal>
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on February 07, 2008, 06:54:59 pm
the screen resolution doesn't really matter that much.. super mario special has a wider but shorter screen.  The height will fit on the NES SMB engine and the width will just spill out into the horizontal scroll.

Quote
That's what I did to get the idea for what the levels would look like.

post up your screen shots if you've got them.  that will aide in encouraging people to make levels for it


edit:  well here's 1-1.. it's kinda of tedious to do though :\  plus it's missing whatever is in between the underground part

big image of 1-1 (http://img523.imageshack.us/img523/5018/11hk4.gif)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on February 07, 2008, 09:32:21 pm
If the emulator has a pause feature then it would probably be alot easier to just eye it rather than screen capture. I mean you can count the floor blocks to see how many more until you set up the next part of the level. I just hope that there would be enough blocks tho to complete the levels, cause I heard if you use too many blocks in one level, then it takes away blocks used in the next.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on February 07, 2008, 10:27:40 pm
ok well i got the game and emu and played it to find out the maps for that part and it's damn hard so good luck to anybody who can actually play it well enough to get the entire thing mapped out.  the video on utube doesn't show all of the secret stuff either

i think someone needs to hack the level format or something if a true conversion is to be made.. unless someone's really good at the game and wants to find everything

here's the rest of level 1-1 (http://img86.imageshack.us/img86/8047/11bvs7.gif)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Kitsune Sniper on February 07, 2008, 10:32:41 pm
I tried it, once. But I couldn't make heads or tails out of SMB1 editors, so I stopped.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on February 08, 2008, 03:01:33 am
I did 1-1... who's doing 1-2 lol

http://www.mediafire.com/?dd9z92c0jdt
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Space King on February 08, 2008, 04:48:47 am
The emulator didn't appear to have a save state function, and that's when the idea of this project died for me.

i think someone needs to hack the level format or something if a true conversion is to be made..

That's what it'd take - playing the thing is too masochistic for normal humans.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on February 08, 2008, 05:37:08 am
i agree.. it took me forever just to get the extra screens in level 1-1.  though one time i did get all the way to 1-3 where i promptly lost my last life.

and the emulator has no pause or save states at all so even screen caps are a pain to cut and paste.

i took a look at the program file and there is a lot of data which looks like it could be level data in a format which isn't super complex if someone wants to hack it
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on February 08, 2008, 09:44:01 am
i agree.. it took me forever just to get the extra screens in level 1-1.  though one time i did get all the way to 1-3 where i promptly lost my last life.

and the emulator has no pause or save states at all so even screen caps are a pain to cut and paste.

i took a look at the program file and there is a lot of data which looks like it could be level data in a format which isn't super complex if someone wants to hack it

Here's what you can do at the moment. Watch the videos posted on YouTube and then download them using keepvid.com. Then get Replay Converter and convert them to WMV, and then if you have Sony Vegas you can save the shots.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on February 08, 2008, 01:55:28 pm
i was able to make screen shots from the FLV in media player classic.. but the videos don't show the entire levels
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Googie on February 24, 2008, 01:15:48 am
Just played 1-1, it's nice to see the level done on an NES, when I get around to it, I'll work on the title screen tomorrow, it won't be fancy or anything, just trying to help motivate the hack to be done... ^______^'
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Reaper Man on February 24, 2008, 01:21:20 am
in a world.... where white hadn't been invented...
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Googie on February 24, 2008, 01:47:49 am
...

Here's the screen, I can't sleep until the meds kick in...

(http://valonzo.googlepages.com/speshal.png)

Like I said it ain't anything fancy...
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on February 24, 2008, 01:51:04 am
sweet :D

now who's gonna do 1-2?  lol  and i noticed a few bugs in my 1-1 like the exit pipe needs to be moved over one tile and there's two mushrooms at the end of the level
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Googie on February 24, 2008, 02:07:03 am
Whoops, I forgot to upload the file so here. (http://www.mediafire.com/?1mb2vtrgdns)

G'nite! ^^'
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on February 24, 2008, 05:07:23 am
cool i'll use that one when i fix the bugs

is anyone interested in finding and decoding the level data in the game?  if anyone can find it and figure out the format I'll make a program which will decode them into maps
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on February 25, 2008, 10:54:54 am
I'd be interested if the format is not too complicated. I could probably even automate the ripping and inserting, provided you get any missing features hacked into the engine. PM me and we can discuss the details.

Edit:

I did some looking and made a little progress. The disk image format the ROM is in is kinda arcane and it took me a while to get any info on it. I eventually had to poke around the source code of an obscure utility that convered another disk image format into d88. Here's what I've learned so far. (Some of this may be wrong, there are no docs that I could find.)

The disk is split up into 256 byte sectors, which each have a 16 byte header. This means each sector takes up 272 bytes in the disk image. The disk image also has it's own header, which is 672 bytes long. Empty sectors are marked in a strange way. If the sector is empty, it's filled with the same byte as the third byte of the sector header.

Using this basic info, I coded up a little util to do some handy things. The first thing I did was compile a list of non-empty sectors. These sectors are broken up into four chunks as follows:
Code: [Select]
Chunk 0
Disk Sectors 0 - 1
Image Addresses 0x0002A0 - 0x0004BF
Chunk 1
Disk Sectors 96 - 402
Image Addresses 0x0068A0 - 0x01AECF
Chunk 2
Disk Sectors 640 - 998
Image Addresses 0x02AAA0 - 0x04280F
Chunk 3
Disk Sectors 1008 - 1175
Image Addresses 0x0431A0 - 0x04E41F

With this information in hand, I started some experimental hex editing. I guessed that chunk 0 was some sort of header or bootstrap and that chunk 1 was proably the program code, so I started with chunk 2. I seem to have been at least a little bit correct.

I zeroed out all of sector 640 and started the game up in the emulator. I immediatly died due to time up, although the level layout wasn't changed (at least on the first screen). Oh well, at least I'm on to something.

I also did a quick look to see if i could locate the game's graphics. (Not that you'd likely have any use for them, but I was curious where they are. I suspect chunk 3.) I didn't find them, but that's no real surprize. The tool I was using only supports 1BBP, NES, and Gameboy formats. I guess I'll need to locate a more featurefull graphics viewer and give it another try. (Or someone here who's feeling ambitious could do so).

My primative tool also has support for dumping the raw sector data without the headers. This might be an easier format to work with than the original as you don't have to deal with skipping the headers every sector. Which would make doing things like using a graphics tool or disassembler (the CPU is a Z80 clone BTW) more productive. If anyone is interested, I could post the dumps I made, just ask

Anyway, now I'm off to do some more investigating.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on February 25, 2008, 03:53:51 pm
awesome!
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on February 25, 2008, 05:34:34 pm
Due to a brain fart on my part, the above map of what's empty and what has data is incorrect. While looking through the massive list of pages that my proggie said had data in them, I didn't pay enough attention and only spotted the major gaps. My code was fine, but the manual post proccessing I did was totally bogus.

The particular details are that chunk 2 and chunk 3 are actually a bunch of smaller chunks and are likely all level data. As I was hacking on the level data, I noticed some blank pages where listed as having data on my map. So I checked my software and it was fine, but my wetware was buggy :P (I'm starting to suspect each of the groups of non-empty sectors (there's about 28 of them) starting at sector 640 is a single level.)

I'll get a better map posted sometime, but in the meantime, I can report that I'm making some progress. While I can't be sure of the details yet, I'm managed to decipher some of the basic map data. Apparently, the maps are stored using a basic run length encoding scheme.

Single tiles are encoded as a single byte. Runs are encoded by starting with a byte that has the length of the run minus one anded with 0xC0. (So a run of 2 is C0, a run of 3 is C1, etc.) Following the run indicator, there is a byte that indicates the tile to be repeated. The map appears to be stored vertically in rows of 12 tiles. As the game displays 12.5 tiles, I'm currently missing something.

I'm currently working on mapping out what tile is what. I've also managed to find the enemy data and the some other level data, but I haven't tried to decipher it yet. Other than the time limit, which, for level one is at 0x02AAB3. (From the looks of the enemy code, it uses a similar RLE scheme.)

If you want to mess around with the level data, the first level's tile data starts at or around 0x2ACD0. Be careful of the sector headers, I don't know if the emulator cares if they're correct or not, but it's proably best not to mess them up. The two sectors before that contain the enemies and other level one data. The chunk that straddles the sector border is apparently the enemy data (zeroing it out removes all the enemies). The stuff before that in the first sector of the level (sector 640) is some other stuff. (Probably special events like pipes.)

Hack and enjoy.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on February 26, 2008, 03:48:20 pm
wow some really good progress has been made :D  keep us informed of an more info you learn.. i will fiddle with it a bit myself :D


edit:
btw I'm totally willing to try to hack in the various features of smb special.  with the disassembly most things aren't a huge challenge.  if it's easy to automate the ripping and inserting then that would be awesome, cause even with maps it's somewhat tedious recreate them in the editor.  either way though i'm down to make this a reality if it's at all possible :D

one issue about just straight ripping and inserting the maps will be placement of pipes and other special objects like scroll stops which might not exist in the smb special the same way.  also I smb special levels are much larger so to fully implement it a mapper will probably have to be used.  I've implemented mmc1 on smb to expand level data sucessfully so thats not an issue really but it will make it more complicated to insert automatically.  lol maybe it will have to be done by hand in the editor
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on February 26, 2008, 07:04:52 pm
I've made some more developments. I've discovered that I slightly misunderstood the RLE. The lenght of the runs is one longer than I though it was. It's actually run_byte ^ 0xC0 + 2. With this information, things started to make a lot more sense. It turns out that the level is stored in columns of 13 tiles each, which solves that little mystery. One complication I've ran into is that each level seems to end on a run indicator byte without a following tile. I thought some special value which only looked like a run indicator was being used as an end of level indicator, but the one I got for levels one and two aren't the same, so I'm not sure how that works at the moment. Perhaps there's a level length indicator in the data I haven't looked at yet and the last byte is something else.

I've written a little utility that dumps a level's tiles out to an uncompressed binary file. I've also included an option to render the level as a PNG, mostly to check my results. So far they seem to be good. If you want, I could post the renders of the first few levels so that you can verify the results.

If you want to check out the level data, the tile data starts 0x220 bytes from the start of the level data. (This is not counting the sector headers, which my current tool chain strips out before doing anything else.) For instance, level one is stored in sectors 640 to 649. If you extract those sectors from the disk image (without the headers), the tile data starts 0x220 bytes from the start. This is in the third sector of the level, with 32 bytes of some other data before the tile data.

So far, I've been able to locate level data by using my program to find groups of non-empty sectors. While this works, it's a kludge and I'd like to be able to figure out how the game itself locates the data. There's proably some sort of pointer table, but as it's stored on a disk, I don't think it'd be quite as simple as the usual ROM pointer tables. Is there anyone here who knows their way around a Z80 thats willing to take a look at the code? (If not, I think my method will work, but it's rather ad hoc.)

Next up on my adgenda is looking into the enemy data. I've got a pretty good idea where it's located, so I've simply got to figure out it's format. After that, I guess I'll have to see if I can figure out what any of the other data is.

Anyway, I think I can write a program that'll output the levels in a conviently usable binary form, but I'm not so sure about converting them to SMB format. From the little bit of looking I did into the format, it seem to be pretty complicated. I could proably do it, but it'd probably be easier for someone who knows how to deal with the format already.

In that case, it would be good to have a discussion of the interchange format the two programs should speak. SMBS basically stores it's maps as grid of tiles, while SMB stores it's maps as a list of objects with coordinates. I'd prefer to simply output a grid of tiles and let the other program deal with turning them into object lists.

Do any of the SMB level editors have support for a save format that's a grid of tiles, or do they all just store things in SMB native format?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on February 26, 2008, 07:49:49 pm
it sounds like the level formats are significantly different.. i think it would be much easier to just output the levels to images which can be entered into smb utility by hand..  that way the levels can be recreated using fewest amount of bytes. 

please do post up some of the levels in a usable format.. i'd love to start on 1-2 lol :D
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on February 26, 2008, 10:04:33 pm
Well, my current renderer doesn't indicate the locations of the hidden blocks or the contents of the non-hidden blocks. (They're in the level data I dump, but the renderer uses the graphics the game does, so the levels are not compleatly rendered.) Once I get that taken care of, I'll post the renders and then people can start working on the layouts while I try and decipher the enemies and other data.

I should have the renderer producing usable output and get the renders posted later tonight or sometime tomorrow. Until then, thanks for your support. This is looking to be a nice project.

Edit:

Well alrighty, I've rendered all 32 levels and posted them here (http://gis.net/~levi/gaming/smbs/). They're not perfect and may have some bugs (unbeknownst to me), but they're a start. In particular, they have no sprites whatsoever. No enemies, no elevators, no falling platforms. Without which, a number of the levels (mostly the X-3 ones) would be compleatly unplayable, even if built. However, it should be enough to tide y'all over untill I can get that stuff worked out.

Some of the tiles have been tagged with letters, so you can tell what exactly they are. The key is as follows:
Code: [Select]
C block with a coin
M block with multiple coins
F block with a fire flower (or super mushroom if small)
1 block with a 1-up mushroom
S block with a starman
E pipe you can enter
V block with a vine
X block with unknown object one
H block with hammer (or super mushroom if small)
X block with unknown object two
T block with clock (adds 100 to the timer)
W block with wings (makes it so you can "swim" in air)

I don't know if the extra power-ups where used in the game or not (I didn't look that closely), but they are in the code. If they are, we may need to do some ASM hacking. Another thing that may require some ASM hacking is upsidedown pipes. I don't know if any of them are enterable, but there are some.

I didn't edit most of the levels and most of them contain extra junk at the end. I did, however edit level 4-4 as it seems to have been corrupted or something. A chunk of the level was missing (or never finished) and so the end wasn't aligned correctly. I edited the compressed level dump to shorten the corrupted chunk and align the end part correctly and made a render of that. I included both versions in the archive, just to be compleat.

Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on February 27, 2008, 03:06:44 pm
dude.. you rock!!!  this is really really cool :D  i will begin entering the level data for the rest of world 1 when i get a chance

it definitely looks like there will be some asm hacking needed.. and unfortunately i'm not 100% sure if every power up will be able to be included in the game. :(
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on February 27, 2008, 04:19:29 pm
what we dont need ported is the screen by screen progression. Screen scrolling would be fine by me, probably everyone.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on February 27, 2008, 04:27:09 pm
lol of course.. thats half the reason to port it in the first place
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on February 27, 2008, 06:19:44 pm
I've been looking into the level's sprite data and it's actually in a pretty easy to use format. The sprite data starts at offset 0xA0 from the start of a given level (again, ignoring the sector headers). Each sprite's information is a block of four bytes. The first byte is the number of 8 pixel columns to advance from the column position of the last sprite. The second byte is the number of pixels down the column to position the sprite. The third byte is the sprite index. The last byte contains movement information.

While the position information is fairly straight forward and I've managed to figure out most of the sprites actually present in the level data, the movement information is giving me a bit of trouble. It doesn't seem to be that complicated, but I haven't muddled out all the details yet.

Unlike the level information, I can detect the end of the sprite data, because it has extra zero bytes between it and the tile data, so my code stops reading sprite data on a sprite data group that is four zeros. I should have a preliminary dumping program for the sprite data some time soon.

In regards to the extra power ups, as I said, I'm not sure they're even all present in the level data. Personally, I wouldn't worry about them until we come across a level that has them in it. As for getting the ASM hacks implimented, I'd be willing to help out.

With the availibility of cleaned up dissasemblies of the SMB source availible, I imagine they will be easier to impliment than they would be for some other games. If space becomes an issue, I'd be willing to look into ROM expansion. From what I've read about SMB rom expansion, it wouldn't be this complicated. (Of course, no ROM expansion is easy, but seeing as SMB uses no mapper, it's not a matter of mapper changing, just mapper adding.)

Anyway, we'll cross that bridge when we come to it.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on February 27, 2008, 07:27:10 pm
If your able to hack smb special why not make a infinite lives and powerup cheat/ So in case any of us need to go into the game it will be possible.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on February 27, 2008, 07:44:17 pm
In regards to the extra power ups, as I said, I'm not sure they're even all present in the level data. Personally, I wouldn't worry about them until we come across a level that has them in it. As for getting the ASM hacks implimented, I'd be willing to help out.

With the availibility of cleaned up dissasemblies of the SMB source availible, I imagine they will be easier to impliment than they would be for some other games. If space becomes an issue, I'd be willing to look into ROM expansion. From what I've read about SMB rom expansion, it wouldn't be this complicated. (Of course, no ROM expansion is easy, but seeing as SMB uses no mapper, it's not a matter of mapper changing, just mapper adding.)

Anyway, we'll cross that bridge when we come to it.


how do you know about the power ups that may or not be used?

and expanding smb isn't too hard i've been hacking it extensively for super mario unlimited i know plenty of locations which can be edited to add space and i've implemented two different mappers on it as well so that wont be hard either :D  looks like the first thing that needs to be done is upside down pipes though.  the way i did it loses the L pipes so i will look into other ways
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on February 27, 2008, 10:57:40 pm
how do you know about the power ups that may or not be used?

I know about all the power-ups becaus I hacked them into level one. When I was compiling data to build my level dumping program, I hacked various blocks into level one's first screen so I could figure out what they do.

Edit:

Extra, extra, read all about it! New SMBS level renders avalible! New and improved, now with 100% more sprites!

Well, I hacked on the level renderer some more and now it's dumping sprite data as well as tile data. I've rendered all the levels and posted a second tarball at the adress I linked to above. While it may not be perfect, it seems to work, for the most part.

One bug I noticed is that a handful of sprites at the end of 8-4 seem to be off by one column. I'm not sure why. Also, due to level 4-4 being corrupted (or something), the sprite data during and after the messed up section isn't accuratly placed. (Or rather, it is, but the tile data isn't so it amounts to the same thing.)

I implimented a hack to crop the level renders based on the sprite data. The sprite data has information indicating empty space, even after the last sprite, so I used it to cut off the level size. It seemed to work for the couple of levels I checked out, but it's a hairy hack and may not work correctly. (I've really got to decipher that header data.) If any of the levels seem to simply cut off unexpectedly, check out the version one renders and see if they help. (Note level 8-4 simply cuts off in the level data, it's not a result of this change.)

If you find any levels that get prematurely cut off, or any other apparent bugs, please report it and I'll look into it.

I've managed to get the sprite movement code data mostly worked out. Most sprites only use one of a three movement codes, which are "move left", "move right", and "stand still". One movement code is only used by parakoopas and cheep cheeps, so it proably has something to do with moving up and down, but I haven't quite worked it out. One movement code is only used by fireballs and upsidedown pirana plants, I'm not sure what it does, perhaps downward movement. The movement codes for elevators/falling platforms and firebars are more complicated. I haven't even started working out what they do exactly.

Once I get the movement codes worked out, I intend to have the level dumping program produce a series of text files that indicate the position, type and movement attribues of each sprite. While the position and type can be fairly easily determined from the renders, I'm not sure how to indicate the movement type graphically without a lot of work. The other info will be useful for verifying which sprite each movement code belongs to.

After I get the movement codes worked out, I'll be done with both the tile and sprite data, so I'll start looking into the level headers. In particular, I'll be attempting to figure out where the data that indicates how the pipes connect up. As the enterable pipes are marked specially in the level data, it's easy to tell where the entrances are, but the exit pipes are not marked, so that data must be stored somewhere else.

Until next time, keep up the good work.

If your able to hack smb special why not make a infinite lives and powerup cheat/ So in case any of us need to go into the game it will be possible.

Well, to do that, I'd have to go into the ASM code. Hacking data is a lot easier than hacking code. While I've been able to locate and mess around with the level data, I located it by means of an educated guess. I don't know anything about the Z80, or the PC-8801. The emulator that was packaged with the disk image has no save states, no debugger, no code tracer, no memory viewer, etc. While I haven't looked into finding a better one, I doubt that one with the sort of features a ROM hacker really needs to get ASM hacks done is available for such an obscure platform.

I have, however, come up with a theoretical way to rearrange the level orders. While I haven't built a tool to do so yet, it is on my to do list. I didn't want to mention it, because I didn't want to get anyone's hopes up, in case it doesn't work for whatever reason. If it works out, I should be able to move an arbitrary level to level 1-1. While that's not as nice as an unlimited starman and infintite lives, it's better than nothing.

That said, if anyone here does want to try hacking on the ASM, I can provide some (limited) information and tools. Just ask and I'll provide what help I can.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: hybrid on February 28, 2008, 01:55:07 pm
i was able to get some cheat Engine / Cheat Search codes for this game the first four digits vary but its easy to come up with them i hope this helps. to get the first 4 digits to the codes just hack out the infinite lives codes. its a single byte search.  searching for the exact value of the lives.
Infinite Lives
????ECC5 9

Infinite Time
????ECA1 150

You will have to turn the code off to pass to the next level

Max Coins
????EC9D 153

Always Big
????EC9E 6

Always Able to shoot Fireballs
????EC9F 1

Always Invincible (star)
????EC7E 15

you will have to turn off if you land in a lava pit

Sub-World modifier
????F019 ?
use 0-? it varies depending on which world you are in
World Modifier
????F018 ?
use 0-7
you will have to beat World 1-1 in order to go the level set by the codes
Sub-World modifier
????F019 ?
use 0-? it varies depending on which world you are in
World Modifier
????F018 ?
use 0-7
you will have to beat World 1-1 in order to go the level set by the codes
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: insectduel on February 28, 2008, 02:39:42 pm
What are the object or enemy level formats of SMB Special? Is it the same as the NES version. I got to encode the source and try to insert all levels into the NES rom if any space left out.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on February 28, 2008, 02:59:17 pm
the formats are totally different..  plus to design the levels using the least amount bytes requires human interaction.

it wasn't too hard to design the levels i just loaded up the level map in one window and lined it up with the SMB editor in a window above it.  still time consuming but not too annoying.  one issue is the fact SMB special is one tile shorter which comes into play in underground and castle levels.  I'll have to edit the brick arrangements.  they're stored as pairs of binary values

Code: [Select]
; $93dc-$93fb ( 0x13ec - 0x140b ) terrain rendering control bits
TerrainRenderBits:
      .db %00000000, %00000000 ;no ceiling or floor
      .db %00000000, %00011000 ;no ceiling, floor 2
      .db %00000001, %00011000 ;ceiling 1, floor 2
      .db %00000111, %00011000 ;ceiling 3, floor 2
      .db %00001111, %00011000 ;ceiling 4, floor 2
      .db %11111111, %00011000 ;ceiling 8, floor 2
      .db %00000001, %00011111 ;ceiling 1, floor 5
      .db %00000111, %00011111 ;ceiling 3, floor 5
      .db %00001111, %00011111 ;ceiling 4, floor 5
      .db %10000001, %00011111 ;ceiling 1, floor 6
      .db %00000001, %00000000 ;ceiling 1, no floor
      .db %10001111, %00011111 ;ceiling 4, floor 6
      .db %11110001, %00011111 ;ceiling 1, floor 9
      .db %11111001, %00011000 ;ceiling 1, middle 5, floor 2
      .db %11110001, %00011000 ;ceiling 1, middle 4, floor 2
      .db %11111111, %00011111 ;completely solid top to bottom
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Panzer88 on February 28, 2008, 05:39:41 pm
I've brought this up before, along with other enhancement projects bringing older games into the newer game engine.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on February 28, 2008, 05:43:32 pm
Couldn't you render the levels with an extra floor tile? Or are the allowed options only those you list? If so, would it be worth the effort to modify SMB's level renderer to do it?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on February 28, 2008, 06:29:23 pm
all i need to do is modify the bits and it will lower the ceiling one tile.  i'm going to go through the underworlds and castles to determine which will be the most useful ground settings :)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Jorpho on February 28, 2008, 08:31:20 pm
Someone at Digital Press managed to make it to World 4-4 or so by exploiting an extra-lives trick somewhere in the game, but found he could not proceed, as the game appeared to be corrupted.
http://www.digitpress.com/forum/showthread.php?t=83082&page=2
Perhaps it was just a bad dump, but it seems rather unlikely that more than one dump of such a rare game would be floating around out there.

(Also note that apparently M88 has save states.)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on February 28, 2008, 11:00:46 pm
Yeah, level 4-4 is corrupted. I noticed when I first rendered the level data for it. As the sprite data is not in the area that is corrupted and proper level data resumes after the corruption, I think I should be able to contstruct a version of the level that has the effects of the corruption minimized. (Due to the RLE scheme used to store the tile data, the corrupted area actually generates far more tile data that it was (apparently) originally supposed to.)

Hopefully between making the sprite data line up with what level data is present after the corruption and by looking into the (currently undeciphered) level header datam we should be able to get a fairly decent idea of what the level is supposed to look like. It also helps that 4-4's design follows a pretty regular pattern that makes it fairly easy to figure out approximately how it would go anyway.

The method I mentioned above for moving the level data around worked out, so once I get the tool packaged up, people will be able to use it to rearange the levels and (amoung other things) play past 4-4. (I may even make a patch to fix 4-4 in the original game once the layout we are going to use is figured out.)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on February 28, 2008, 11:20:24 pm
those videos on the beginning of the thread show playthrought in the game, so how did they do that, warp zones? or is this corrupted level passable?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Googie on February 29, 2008, 01:05:36 am
Check out this video fellas when Mario gets outta the water...

http://www.youtube.com/watch?v=uQcLIJt7Hdo&feature=related

Would adding those enemies be possible in SMB? I'm guessing yeah but prolly be hard as hell. ^^'

I really gotta hit the bed... 
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on February 29, 2008, 03:23:24 am
Yeah, there are a handful of new enemies. Mostly they come from the original Mario Bros. I hope we are able to add them.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on February 29, 2008, 05:47:49 am
the crabs are basically spinys so that's not terribly hard to add.  the jumping flies might be tougher and i dunno what those things are in that vid google linked
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on February 29, 2008, 06:17:06 am
All this talk about level 4-4 made me decide to see what I could do with the corrupted section. At first I tried hacking in a little placeholder data, just to make the level passable. So I hacked in my data, dropped the modified level 4-4 in place of level 1-1 and gave it a test. To my surprize, it didn't render correctly. It seemed like it was skipping part of the data or something, so I did some experimentation. When I changed things around, it still didn't render correctly, but as I experimented, I came to the conclusion that at a particular column, it was rendering the data from a fixed point, regardless of the preceeding data.

Then I remembered that I had taken a brief glance at the 16 bytes of data just before the tile data in one of the levels and that they looked like accending pointers. At the time, I just filed it away for more investigation later. Now I had a pretty good idea what they where. So I checked them out a little more, and sure enough, they pointed to spots in the level data.

In particular, they point to the start of each 20 column chunk of the level. Note that although the game displays 20 columns per screen, these pointers don't line up with the screens. This is because the screens overlap, while the chunks pointed at, don't. (I wonder if the game at one point didn't have the overlap, or if it's was just a handy size.)

Armed with this new bit of information, I went back to editing the level. Sure enough, once I got the 20 column chunks to line up at the addresses pointed to by the headers, it rendered properly. Once that was done, I got to thinking that knowing the specific compressed and uncompressed size of the corrupted data could give some indication of what the missing data looked like, so I did some more experimentation.

The corrupted data covered the end of one chunk and the begining of the next one. The last level arrangement before the corruption was a small tunnel, so I experimented with that. I found that if I continued the tunnel all the way to the end of the chunk, the next chunk would end up in the right spot. At that point I was pretty happy, because, that indicated (to me at least) a very high probability that I had recreated that part of the layout correctly. The next chunk wasn't so easy, untill I had a breakthrough.

I had remembered seeing castle bits in the extra data at the end of some of the levels I'd rendered earlier. In particular, I remembered seeing a bit I knew for a fact was from level 4-4. (If you look at the extra data present at the end of many of the levels, it becomes apparent that once apon a time they where all filled in with one of a small number of levels.) So I started looking at the other levels.

I located the peice I had seen before, but it was of no use. It was part of the non-corrupted data. (Which makes perfect sense, how else would I have recognized it?) But, figureing that that level couldn't be the only one that once had level 4-4's layout, I kept looking. Eventually, I hit pay dirt. Amazingly, at the very end of level 5-1, there was a chunk of data that exactly meshed with the uncorrupt part of the second chunk. When I pasted it in, it filled all but two bytes of the chunk. It was pretty easy to figure out what those bytes where and once I did, everything went together smoothly.

Wondering if I'd actually figured it out, or if I was simply fooling myself, I gave it a test run. Everything seemed to mesh perfectly. In particular, the data I reconstructed had a room with two pipes in it, one enterance and one exit. When I went through the pipe that used to drop you to your death in the corrupted part, it now placed you neatly on top of the first pipe. I'd consider that a success.

As I ponder this, I can't help but think that it was way too convient for it to work out like that. Does this project have some kind of divine intervention or something? I have a more realistic theory, but it's still pretty shaky. What if, the floppy the image was ripped from had bad blocks, but was subjected to some sort of bad block relocation?

That would explain why the missing data was handy elsewhere on the disk. That doesn't exactly jive with the fact that the other levels have extra data, but the apparent souce of that data isn't corrupted. It also dosen't explain where the bytes I had to recreate by hand went. (Perhaps those blocks when bad after the relocation. Or perhaps they're around elsewhere, but I missed them.) Also, if that's the case, it doesn't seem to have been a standard practice. PC88WIN doesn't know anything about it, and happily serves up the bad data.

However, if it was block relocation, that could explain why some people may have gotten past 4-4. (I haven't checked out the videos to be sure.) Perhaps some other PC-8801 emulator (there are several) knows about such things and did the the right thing. (Or perhaps there's a better dump somewhere.)

Anyway, the point of this long post is that I now have a version of 4-4 that I'm about 97% sure is correct. I'll get a render of it posted some time soon.

P.S. I'll check out the video and should be able to give some more info on the enemy in question.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Googie on February 29, 2008, 08:20:25 am
Those enemies that come to get Mario after Mario comes outta the pipe looks like Barrels and the Fire from Donkey Kong stage 1. When I saw them I was like "You gotta be kidding me" lol! It's nice to see progress in the data finding, I'm really hyped about this.  :thumbsup:
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on February 29, 2008, 10:20:07 am
Also, since the original PC-8801 version of SMB Special was produced by Hudson Soft (under license from Nintendo), their trademark "bee" logo is seen towards the end of W1-1, which gives Mario the continue option (just as it does on Adventure Island for the NES).
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on February 29, 2008, 01:27:55 pm
So if you fixed 4-4 then you should submit it to the site as a patch. It'll probably be the only PC88 patch this site see's, and it probably should be preserved.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on February 29, 2008, 10:08:38 pm
damn Karatorian yer pwning this game lol.. even restoring corrupted data  :woot!:  i should have some free time to work on it this weekend so hopefully we'll have a playable world 1 or something

edit:  got 1-2 and 1-3 done.. gonna look at the castles and mod the ground sets.  also patched in an upside down pipe & red piranha plants patch from betaworld so that's done at least :)

edit2:
i was just thinking.. are buzzy beetles in this game?  if not they could be the barrells pretty easily :)

modified the ceiling bits and i also made a new title screen which is more in line with the original game :D

(http://img233.imageshack.us/img233/4531/smbspecialupsidenewfloots5.png)

Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 01, 2008, 08:37:40 am
I've posted the level 4-4 restoration patch to the RHDN database, so it should show up there soon. In the meantime, it's availible at the SMBS section (http://gis.net/~levi/gaming/smbs/) of my website. I also posted the render of the fixed level there.

Just out of idle curiosity, I took a look at the corrupted data. What I found seems to confirm even more that I restored it correctly. There was a pattern in the corrupted data that seemed very similar to the level data. After a little investigation, it turned out that most of the corrupted area had simply been shifted right one bit. Once shifted back, it lined up with my restoration. Another part didn't seem to follow the same pattern, but I still feel that I've got it pretty well exact.

As for buzzy beetles, yes, the game has them. Once I'm done my level data investigation, I'll start compiling a list of required ASM hacks (and possibly even impliment some).

I have a question about level 1-1, what did you put in place of the Hudsonsoft Honeybee? (Marked as X = Unknown Item One) in my level renders? According to Wikipedia, it enables continues (which, given the difficulty of the game, are pretty badly needed).

As you intend to start working on world 1-4, I'll try to figure out the Firebar and Elevator movement codes so that you can set them up correctly. I'll let you know what I find out.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on March 01, 2008, 09:24:52 am
I think this should be a group effort, right now we got the guy trying to make the level renders as close as possible to SMB special, after that probably have to pass it off to some others who can make the ips patches, and try to get this as close as possible to the original. I'd like to see how close to the original we can get this.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 01, 2008, 10:19:21 am
i agree it should be a group effort.. anybody who wants to contribute whatever they can is welcome... 

Here's world 1 complete:

World 1 of Super Mario Special (http://www.swiftlytilting.com/download.php?file=smbspecial_world1.ips)

It's pretty much tile-for-tile though there's a bit of fudging in parts especially in relation to pipe exits.  I'm not quite sure how the pipe exits which are not at the bottom of the screen will be handled but i will decide when i get to those parts lol

for the enemy movement i watched videos on youtube.. looks like all firebars turn clockwise.  the platform in 1-2 is the moving downward type (like it moves down and once it reaches the bottom starts at the top and moves down again)  the one in 1-4 is a falling type (once you step on it, it falls)

For the Hudson bee I just replaced it with a 1up.  SMB has continue already built-in if you hold A while starting the game



Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 01, 2008, 11:22:45 am
I've managed to figure out almost all the movement codes. I'll give a little explanation of how they all work.

Normal Sprites
0x00    Not Moving
0x40    Moving Left
0xC0    Moving Right
Elevators

Elevator movement codes consist of two parts. The low nybble contains the elevator size and the high nybble contains the elevator's movement type. The direction the elevator moves in is controlled by the which one of the two elevator sprites is used and isn't encoded in the elevator movement code.
0x01    Medium
0x02    Large
0x04    Small

0x00    Self Moving
0x10    Falls When Stepped On
0x20    Sideways Self Moving
0x40    Left Half of Linked Pair
0x80    Right Half of Linked Pair
Firebar Sprites

Firebar sprites are also controlled by two parts. The first part is the sprites inital position. The Firebar animation has 16 positions. Position 0x0 is straight up and the positions proceed clockwise from there. The second part is the direction of movement 0x00 is clockwise and 0x80 is counter clockwise.

However, the inital postitions are somewhat misleading because the timing of how when you switch screens can affect thier positioning. This can even effect firbars that are offscreen. For instance, the third screen of 1-4 has two firebars that have the same inital position. However, they are only sometimes in sync. In my experimentation, the second firebar was usually a step or two ahead of the first one.

I'll see what I can do about getting some of this information incorporated into the renderer.

The two movement codes I haven't quite pieced together (mostly due to not checking them out yet) are 0x01 and 0xC0. The 0x01 is used by fireballs and inverted pirana plants. While I think for the pirana plants it simply means move down, I don't know what it means for the fireballs. The 0xC1 code is uses by parakoopas and cheep cheeps, I don't know what it does, but I figure the 0xC0 part means move to the left.

In regards to level 4-1, the info you've gleaned from the videos is correct. All the firebars in that level move clockwise and start in the up position. The elevator/platform is a large one and falls when stepped on.

Clearly, this is a group effort. There are a lot of things that people can do. I'm almost done deciphering the level data and after that I intend to look into ASM stuff. frantik is currently working on building the levels and I'm sure he would appreciate some help in that department. Once we start to hack in extra enemies and/or power-ups, we will need someone to make graphics for them. We will need play testers to check that everything works correctly and make sure that the levels are accurate. Plus, I'm sure there's some tasks I haven't even thought of yet.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 01, 2008, 11:59:43 am
Quote
While I think for the pirana plants it simply means move down, I don't know what it means for the fireballs.

podobos also move up and down.  really the direction is only important to know for the moving platforms and firebars since the rest of the enemies don't have direction settings in the smb engine and most if not all of them in SMBS move to the left unless they hit a wall :)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Googie on March 01, 2008, 01:26:35 pm
Now the world 1 patch is an awsome Birthday present for me, I just played through it and it's pretty cool. I hope to see this finished like yoyoyo...  :D
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on March 01, 2008, 02:25:25 pm
This has some unique design for the levels, not seen in other SMB1 type games, world 1-3 seemed to go on forever. This thing is gonna be epic when finished. Good job on porting the levels.

Also, if it turns out there is  a hammer powerup in smb special, there is a hammer powerup patch out there. it replaces the fireflower, so you'd just have to fix it so that its another powerup rather than a replacement to the fireflower.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 01, 2008, 03:23:22 pm
^ yeah i haven't seen it yet.. i'm hoping it's not in there actually lol

I hacked the piranha plants so they do not ever show up in pipes automatically, and also adjusted it so the piranha plant enemy object shows up correctly in the pipe when you place it there manually.     only certain pipes have plants in them in SMBS.  Just need to add the plants to 2-1 and 2-1 will be done :)  hopefully i can get all of world 2 done by today

List of differences in the engines

new enemies:
* barrel
* crab
* jumping fly
* falling spike
* plants not in every pipe (done)
* upside down plants (done)

power ups/misc:
* star man question block tile  in addition to brick tile
* hudson bee

pipes:
* upside down pipes (done)
* upper screen entrances - require work around in level design or some other kind of trick to tell the engine which entrance type will be required

data limit:
* requires expansion (will use mmc1)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on March 01, 2008, 10:57:40 pm
Good job on this so far! Keep up the good work!

I am hoping to see the NES-spec levels for Worlds 2-8.

For instance:
*Underground coin room in World 2-2
*Immediate entry into water room in World 8-2
*Water bonus room in World 3-1

~Ben (SMB2J-2Q)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 03, 2008, 09:44:40 am
Well, I've been looking at the level header data and I started to figure it out. In particular, I've mostly figured out how pipes work. I've also figured out that there is a mechanism to stop the sceen from flipping on some screens. With these things and a few others figured out, I've decifered almost all of the level data. There are still a couple of bytes who's function is unknown, but it's pretty well all accounted for.

I've discovered a bug in my level renderer. The elevators/platforms are rendered four pixels lower than they are supposed to be. I hope it's not too big of an inconvience to you to remember to correct for this when building the levels. Also, as the current renderer doesn't take the movement codes into accound, elevators/platforms are all currently rendered as though they where large size. I'm planning some more changes to the level renderer, but I can't say when they'll be finished and the next set of renders will be produced.

By the way, I played the world one beta and it's pretty cool. I didn't go over it with a fine toothed comb, but it seems to be pretty accurate. (Except for some background elements, like bushes being larger.)

Me and my roommate gave it a try and he managed to beat it on regular and hard mode. My roommate, did, however find something he didn't care for. In level 2-1, he managed to get stuck. He'd use the wall jumping trick (or whatever it's actually called) to get to the top of the level and then fell in the hole where the 1-up ends up after you get it. He couldn't get out and had to time out.

I don't really think this could be considered a bug, as it's not even possible on the original game, and depends on glitch abuse to even reach. Furthermore, the way the 1-up drops down like that depends on it, which is a kinda neat little thing, so it proabably should be left as is. I just mentioned it as it was some playtester feedback.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 03, 2008, 10:04:13 am
i assume you mean 1-2.. it's possible to get up there without wall jumping, but in SMB special there are multiple places which are actually traps so thats not going to be the only place where people will get stuck.  in 2-3 toward the end you can easily get stuck if block the mushroom from falling

regarding the backgrounds, the engines render the backgrounds completely differently.. in SMB it's just a loop of the same background over and over, while in SMBS i assume it's laid out just like the rest of the tile data.

i've finished world 2.. i need to sleep, then check it for bugs, then i will post it.  world 2-4 took sooo many objects oh man i wonder if i'll be able to fit 4 whole worlds into the unexpanded rom

oh yeah.. also check world 4-2.. it looks like there's some data corruption towards the end which would be awesome to recover..
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 03, 2008, 08:40:12 pm
Download: Super Mario Bros Special (worlds 1 and 2) (http://www.swiftlytilting.com/download.php?file=smbspecial_world2.ips)


(http://img143.imageshack.us/img143/5914/smbspecialupsidenewfloosx4.png) (http://img139.imageshack.us/img139/4200/smbspecialupsidenewfloojy6.png)
 (http://img182.imageshack.us/img182/1198/smbspecialupsidenewfloome9.png) (http://img337.imageshack.us/img337/6538/smbspecialupsidenewfloosx5.png)

(http://img116.imageshack.us/img116/4763/smbspecialupsidenewfloocg0.png) (http://img244.imageshack.us/img244/8725/smbspecialupsidenewfloohy2.png)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on March 03, 2008, 10:57:50 pm
So it's been 2 days since the 4-4 restoration patch was submitted. Don't tell me RHDN rejected another decent hack. They'll add FFIV stripper restoration patches but they won't add patches to fix corrupted levels?

Anyhow, good job on porting world 2, those levels look even more funky than world 1-1.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on March 04, 2008, 01:42:26 am
Well, I've been looking at the level header data and I started to figure it out. In particular, I've mostly figured out how pipes work. I've also figured out that there is a mechanism to stop the sceen from flipping on some screens. With these things and a few others figured out, I've decifered almost all of the level data. There are still a couple of bytes who's function is unknown, but it's pretty well all accounted for.

I've discovered a bug in my level renderer. The elevators/platforms are rendered four pixels lower than they are supposed to be. I hope it's not too big of an inconvience to you to remember to correct for this when building the levels. Also, as the current renderer doesn't take the movement codes into accound, elevators/platforms are all currently rendered as though they where large size. I'm planning some more changes to the level renderer, but I can't say when they'll be finished and the next set of renders will be produced.

By the way, I played the world one beta and it's pretty cool. I didn't go over it with a fine toothed comb, but it seems to be pretty accurate. (Except for some background elements, like bushes being larger.)

Me and my roommate gave it a try and he managed to beat it on regular and hard mode. My roommate, did, however find something he didn't care for. In level 2-1, he managed to get stuck. He'd use the wall jumping trick (or whatever it's actually called) to get to the top of the level and then fell in the hole where the 1-up ends up after you get it. He couldn't get out and had to time out.

I don't really think this could be considered a bug, as it's not even possible on the original game, and depends on glitch abuse to even reach. Furthermore, the way the 1-up drops down like that depends on it, which is a kinda neat little thing, so it proabably should be left as is. I just mentioned it as it was some playtester feedback.


I did notice that all the ceilings in the underground and castle levels were lowered one block. So could you fix that while you do your job? BTW, I thank you for posting the update with World 2 in it!

~Ben (SMB2J-2Q)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 04, 2008, 02:15:25 am
The ceilings where intentionally lowered. The SMBS engine only displays 12.5 tiles, so to properly duplicate the level designs, the height was reduced.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Nightcrawler on March 04, 2008, 09:16:03 am
So it's been 2 days since the 4-4 restoration patch was submitted. Don't tell me RHDN rejected another decent hack. They'll add FFIV stripper restoration patches but they won't add patches to fix corrupted levels?

Anyhow, good job on porting world 2, those levels look even more funky than world 1-1.

Way to jump to conclusions... Relax. Server directories for PC-88 hacks didn't exist, thus it was waiting on that issue to be resolved. It's been added. Honestly now, can you name 5 decent hacks, that weren't incomplete, that were turned down here?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on March 04, 2008, 11:17:12 am
well, i know the Castlevania dracula x hacks were at first rejected. And Ultimate mortal kombat trilogy was rejected, I guess due to the fact that many standard emulators won't run it due to the large rom size. A modified emulator was included tho. Also, I think the This hack was rejected cause of the way Kega emulates 32x roms.

http://forums.sonicretro.org/index.php?showtopic=8285&hl=chaotix

http://www.hacking-cult.org/?hacks/14

Kega don't properly emulate 32x, they just add fixes for each individual game, and if that game don't match up then it don't get emulated. So this hack don't work on it.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: InVerse on March 04, 2008, 12:37:03 pm
So it's been 2 days since the 4-4 restoration patch was submitted. Don't tell me RHDN rejected another decent hack. They'll add FFIV stripper restoration patches but they won't add patches to fix corrupted levels?

The guy who's in charge of reviewing and approving hack submissions works 50+ hours a week (plus 9 hours of commute time a week) so sometimes fails to check the submissions for a few days. The only reason he got to it this morning was because he injured his shoulder and called in to work so as to go to the doctor.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Nightcrawler on March 04, 2008, 01:31:45 pm
well, i know the Castlevania dracula x hacks were at first rejected. And Ultimate mortal kombat trilogy was rejected, I guess due to the fact that many standard emulators won't run it due to the large rom size. A modified emulator was included tho. Also, I think the This hack was rejected cause of the way Kega emulates 32x roms.

http://forums.sonicretro.org/index.php?showtopic=8285&hl=chaotix

http://www.hacking-cult.org/?hacks/14

Kega don't properly emulate 32x, they just add fixes for each individual game, and if that game don't match up then it don't get emulated. So this hack don't work on it.

1. Castlevania Dracula X - Initially rejected as being sprite only hacks. Further information showed more to the modification. They are here aren't they? You can't count material that is here. Sprite only hacks (not to be confused with a full graphics hack) are indeed rejected here as voted by the community.

2. Ultimate Mortal Kombat 3 - We're not emulatorhacking.net. It isn't classified as a ROM hack here as voted by staff in April 2006. It's rather a hybrid emulator, theoretical ROM deal. Impressive sure, but beyond the scope of this site.

3. Sonic in Chaotix - I cant' find data on this one. I seem to recall it being too big to host here. However, a second look at your link seems to show this is distributed as a ROM. We don't carry ROMs here. If you can provide evidence to the contrary, we can surely reconsider.

So... you brought up two hacks that aren't here. One isn't classified as a hack (sorry majority rules), the other is distributed as a ROM. Hardly the basis for negative ridicule...

Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on March 04, 2008, 02:05:29 pm
Um, 32x games can be made into a ips patch. That site don't host ips patches, cause sega don't care about people distributing roms. But a ips patch is possible to create, but I won't be the one to do it cause it might get rejected anyway.

Also, UMKT was already posted on the site before, with emulator. It was taken down as it wasn't final yet, and then i submitted the final later, which was promptly rejected.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: UglyJoe on March 04, 2008, 02:22:23 pm
Can you please stop derailing this thread?  It's one of my favorites.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 04, 2008, 02:48:10 pm
so yeah, back to super mario bros special....

will start world 3 today
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on March 04, 2008, 03:32:59 pm
lol, u shouldnt tell a staff member to not derail a thread. I can see nightcrawler getting out the ban hammer soon.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 04, 2008, 03:44:17 pm
Karatorian just a reminder to please check world 4-2.. it looks like there's some corruption at the end of the level.  it's past the flag but it looks like you could jump over the flag using hidden coin blocks and get to the secret area which i think says "HELLO" but all you can see is "HEL" lol
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: UglyJoe on March 04, 2008, 04:14:40 pm
lol, u shouldnt tell a staff member to not derail a thread. I can see nightcrawler getting out the ban hammer soon.

I was talking to you.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on March 04, 2008, 04:39:35 pm
Hi Guys,

I'm the one on the Digital Press board who got to 4-4 and also discovered the hundred lives trick and the glitched level 4.  It's the same as in SMB but WAY easier to pull off.  You can do it on flat land!  Just jump on a turtle right next to a wall or block and rack em up.

BTW, please thoroughly read the thread on DP.  There is one level in particular that you CAN NOT pass unless you allow an elevator to drop of its track.  This is either a glitch (HIGHLY DOUBTFUL) or extraordinarily sadistic programming.  Man, I put some blood, sweat, and tears into figuring that one out!

Also, I forget which level, but there's actually places where you can go down a pipe and be stuck until the time runs out.  At least, I didn't find any way put.  But yeah, please read the DP thread.

http://www.digitpress.com/forum/showthread.php?t=83082

By the way, when I discovered the Bee, I didn't see any way that it was a continupower up, iirc.  I remember even holding either button and start like SMB, and left and start like Milon's Secret Castle and Hudson's Adventure Island.  I don't recall any effect.

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 04, 2008, 05:55:42 pm
hey rob yeah I did read that thread.  I suspect the problem you had in 4-3 is some kind of weird glitch more than anything deliberate.  Especially since there seems to be corruption in 4-2 and 4-4, perhaps 4-3 also has some issues?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on March 05, 2008, 01:03:56 pm
You could be right, frantik, but I think the code really needs to be examined to determine this.  It would be a shame not to include such a dastardly feature in a remake if it were purposely put there.  As insanely difficult as this game is, I have very little doubt it was put there on purpose.

I'll check to see if there's a Youtube of 4-3 to see if others had the same issue. It seems someone was already playing with an uncorrupted version in order to make those videos.  There must be a clean dump out there, but I haven't found it.

EDIT:

http://www.youtube.com/watch?v=HzQbj-DXj64

The elevator drop to make the platform appear in 4-3 is not a glitch as far as I can tell, because in this video you see the player exploit an entirely NEW glitch to get past the point in question.    Apparently, he didn't figure out the technique I did.  I think I spent 200 lives figuring that out!

Oh, and the complete 4-4 is shown, in case anyone wants to check to see if it was fixed correctly.

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 05, 2008, 01:45:34 pm
yeah i watched that video last night to see if a) there was the bonus part of 4-2 shown and to see bout the platform thing in 4-3 but the guy uses some glitch to get thru the whole level so it doesnt help one way or the other lol
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 05, 2008, 02:26:14 pm
About  the dead end pipes, I haven't run into them in the game, but from my testing of the level data, I know what causes them. In the level header, the pipe entrances have an entry that tells where they drop you and such. If an enterable pipe (they're marked with different blocks) exists on a chunk that doesn't have an entry defined (or the entry is somehow invalid), you'll get stuck.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 05, 2008, 04:16:37 pm
Have you decoded the pipe info?  it hasn't been an issue yet but in 4-4 there are lots of enterable pipes so it would be good to know which ones lead where
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on March 05, 2008, 05:18:59 pm
According to that DP post, there is a Sharp X1 version of this game too.  Really wish I could find that to compare!

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 05, 2008, 07:00:09 pm
Yeah, I've decoded the pipe info. I intend to make my level dumper create an info text file for each level that includes a human-readable version of the header info, including the pipe data. I haven't gotten around to it yet because I've been working a lot lately.

I took a look at the corruption in level 4-2 and I found the strangest thing. You know how I mentioned that the 4-4 corruption was caused by the data being shifted right one bit, well the 4-2 data was shifted right half a bit! Well, not really. Floppies use MFM encoding, which stores two bits (data and clock) for every one bit of data. Apparently, the drive got out of sync and started reading the clock bits, rather than the data bits.

I was able to confirm this by manually restoring part of the level. I could see pattern to the corruption, and I had a good idea what the next few columns of the screen would look like, so I was able to manually contruct a few columns. This gave me a data set to compare to the corruption. After messing about, I remembered that magnetic media don't directly store bits on a one-to-one basis, so perhaps that was a factor. As it turns out, it was.

(In fact, the part of level 4-4 that I couldn't identify the pattern of corruption was the same thing. Not that it mattered in that case as that part was very simple, so I could just reconstruct it from scratch, but it's good to know.)

I haven't applied this info to make an uncorrupted version of the level yet, but that's my next priority. Unless I run into trouble, it should be sometime tonight.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 05, 2008, 07:25:31 pm
Yeah, I've decoded the pipe info. I intend to make my level dumper create an info text file for each level that includes a human-readable version of the header info, including the pipe data. I haven't gotten around to it yet because I've been working a lot lately.

cool cool.. looks like world 3 is going to be a bit more tricky in terms of pipes so looking forward to the text files when you get a chance

and you're a freaking nut figuring out how the data is corrupted and whatnot.. good job  :beer:

it looks like maybe invisible blocks with mushrooms will need to be hacked in.. i've been using normal visible ones but it obviously makes the game easier
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on March 06, 2008, 11:28:47 am
Hey guys, when this is done, It would be really cool to make a guide of this game using screen grabs (or simply long jpgs or whatever of the complete stages) and with all the special hidden items and such mapped out.  It would make a great faq, since I highly doubt that a book or maps or anything on this game even ever came out in Japan.

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Starscream on March 06, 2008, 01:53:18 pm
According to that DP post, there is a Sharp X1 version of this game too.  Really wish I could find that to compare!

-Rob

That one is apparently a little rare, I found both punchball Mario and Excitebike in my stash, but no SMB.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on March 06, 2008, 03:53:34 pm
Right, I don't believe it has been dumped (OMG R4RE!).  Anyone own an X1? I'd be willing to bet this would pop up on Yahoo Japan eventually.  If nothing else, it would be a great comparison for reference to better the NES version.

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on March 06, 2008, 04:45:15 pm
Hey guys, when this is done, It would be really cool to make a guide of this game using screen grabs (or simply long jpgs or whatever of the complete stages) and with all the special hidden items and such mapped out.  It would make a great faq, since I highly doubt that a book or maps or anything on this game even ever came out in Japan.

-Rob

If this is a accurate port of the pc game then that won't be nessesarry. Cause finding the stuff on your own should be totally doable with a joystick, and savestates. You can just take that knowledge with you if you switch to playing the other game. Sounds like the main thing you'll be playing that version for willl be to see the hudson bee, cause it sounds like they won't bother putting that in here. PC version probably will be the inferior port.

Here's my suggestion tho, if there are dead end pipes and they look to be intentionally put in the game, leave them. It might be sadistic, but at least it will be accurate.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Starscream on March 06, 2008, 05:32:46 pm
Right, I don't believe it has been dumped (OMG R4RE!).  Anyone own an X1? I'd be willing to bet this would pop up on Yahoo Japan eventually.  If nothing else, it would be a great comparison for reference to better the NES version.

-Rob

 I just googled it on yahoo  (http://page2.auctions.yahoo.co.jp/jp/auction/b85183249). So yeah it's out there. I don't know about it's dumping status, I'm just speaking here from the perspective of somebody with access to all the sets (well, afaik - there should be only two) that circulate in the English-speaking sphere. The thing is, I couldn't find  any drastically more/different sets on Japanese P2p, but I haven't sorted my stuff yet completly, maybe it's somewhere in there. When I find something that isn't out there, I'll definitely release it at some point.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: KingMike on March 06, 2008, 06:30:02 pm
Cause finding the stuff on your own should be totally doable with a joystick, and savestates.
M88 has savestates, but if you find an emu with gamepad support, let me know. ;)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 06, 2008, 06:53:45 pm
It would be really cool to make a guide of this game using screen grabs (or simply long jpgs or whatever of the complete stages) and with all the special hidden items and such mapped out.

this already exists.. check the first few pages.  Thats how I'm mapping out the nes version: using the images of the maps generated by karatorian

Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: InVerse on March 06, 2008, 06:56:14 pm
I just googled it on yahoo


That sentence just made my brain do a backflip.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 06, 2008, 11:22:15 pm
In regards to the Hudson Bee, I'm in support of hacking it in myself. Perhaps not as a contiue feature, but as something special. Perhaps a 3-up like the moon in SMW. Of course, I don't think it'll be a high priority, but I'd like to see it, so when I get done with level reverse engineering, I'll be on my list of needed ASM hacks. (I intend to help out in the ASM department once the levels are dumped to my satisfaction.)

I definetly think we should make all hidden blocks hidden. It's part of the perverse charm of SMBS the way they hide stuff.

As for the 4-2 corruption, I haven't finished restoring it yet. Due the nature of MFM encoding, the corruption cannot be reveresed by an automated machine process. This is becase some bit patterns could have been the results of several different bit patterns. However, the info I've recovered is quite useful for assisting in a manual reconstruction. I've been working long hours, but I'll have the weekend off, so I should be able to get it done then.

frantik, which would you consider a higher priority? The pipe connection info or level 4-2's layout? I may be able to get them both done this weekend (then again, I may not), but I was wondering which one you'd prefer to get done first.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 06, 2008, 11:52:08 pm
the pipe info would be preferred :)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Starscream on March 07, 2008, 08:13:48 am
I just googled it on yahoo


That sentence just made my brain do a backflip.

It's also very risky,  Google's lawyers may come after me now.  (http://googleblog.blogspot.com/2006/10/do-you-google.html)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on March 07, 2008, 09:35:10 am
I'm of the opinion that we should first figure out what the hell the Bee does before it gets hacked for a different purpose in the NES version.  No matter what, I think the version should remain accurate. in every way, even if it involves major changes to the SMB code.  People say the Bee is a continue feature, but where's the proof?  I couldn't get it to do jack.  If there's some continue easter egg, then fine, but what is it?  And what's this hammer power up?

Quote
If this is a accurate port of the pc game then that won't be nessesarry. Cause finding the stuff on your own should be totally doable with a joystick, and savestates. You can just take that knowledge with you if you switch to playing the other game. Sounds like the main thing you'll be playing that version for willl be to see the hudson bee, cause it sounds like they won't bother putting that in here. PC version probably will be the inferior port.

Here's my suggestion tho, if there are dead end pipes and they look to be intentionally put in the game, leave them. It might be sadistic, but at least it will be accurate.

Guide books are never necessary, but I still have my SMB guide book that was available for sale in the Nintendo Fun Club News back in '87.  I was just saying that a similar guide would rock.

Oh, and could someone refresh my memory?  What's wrong with 4-2 exactly?

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 07, 2008, 03:25:05 pm
In 4-2, it looks like you can jump over the flagpole, which leads to a little bonus area. However, that area is partially corrupted.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 07, 2008, 04:48:19 pm
I'm of the opinion that we should first figure out what the hell the Bee does before it gets hacked for a different purpose in the NES version.  No matter what, I think the version should remain accurate. in every way, even if it involves major changes to the SMB code.  People say the Bee is a continue feature, but where's the proof?  I couldn't get it to do jack.  If there's some continue easter egg, then fine, but what is it?

I'd like to see someone hack in the bee before we even worry about what effect the bee has once it's collected ;) additionally, from a priority standpoint I think invisible power up blocks are more important to implement than the bee. 

I'm pretty familiar with the SMB source, and as far as I can tell it is not particularly easy to add new block types without major changes.  it's much easier to replace blocks than to add them.  I did recover two blocks in the brown palette by switching the underwater sideways pipes to the same blocks which are used by the other sideways pipes. (i could do this since i also edited the palette for the water world so the pipe palette looks good)  also the climbing "vertical balls" (also brown palette) blocks could be repurposed though it'll still require checking for the right block numbers in the various block detection routines. 

Adding the other enemies are also a higher priority than the bee imo.  there's not a lot of slots for new enemy types either so that might be tricky.  i suppose maybe some of the firebars or lifts could be dropped if they aren't used

The SMB source does not have ANY room to add things, so anything which is added will require removing other things, so choices will likely have to be made when porting to the NES.  My current goal is to make a level port which is faithful to the overall gameplay as much as possible, then tile accurate as much as possible.  I have to take liberties sometimes when the original design is not possible, so already it's not going to be a 100% accurate port.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on March 07, 2008, 08:22:00 pm
I could of swore you mentioned adding amapper that would allow rom expansion. So at which point are you gonnna run out of memory? Are you going to be able to structure the layout of the levels faithfully or are you gonna run out of blocks on world 7 or something€?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 08, 2008, 01:08:15 am
I could of swore you mentioned adding amapper that would allow rom expansion. So at which point are you gonnna run out of memory? Are you going to be able to structure the layout of the levels faithfully or are you gonna run out of blocks on world 7 or something€?

yeah I'm going to add a mapper but only to increase the level data by simply swapping in the new data once you reach world 5.  The rest of the memory will be identical.. i'll basically be like swapping in a second rom with new level data once you get halfway through the game.  i suppose the mapper could be used for other stuff too though.  even then making sure there are slots for everything could be an issue

and yes i'm rapidly running out of blocks and i just finished world 3.  i'm hoping i can fit all of worlds 1 - 4 into the unexpanded rom and that i can fit 5-8 in the second rom.  I will post world 3 once I double check everything
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 08, 2008, 08:52:54 pm
Allright, I posted the extracted pipe information to my website (http://gis.net/~levi/gaming/smbs/). It's the tarball labled "info". However, the pipe connection info can be a little tricky to use. I'll try to give a decent explanation of how it works.

The game tracks pipe connections by the same twenty column chunks that it uses for other stuff. A pipe connection consists of an entrance chunk, an exit chunk, a pointer for sprite info, the exit level type and the vertical height you exit at.

The exit chunk is pretty straight forward. Once you go through the pipe, it drops you out the specified chunk. The horizontal position (whithin the chunk) is fixed at 40 pixels. The vertical position is controlled by the vertical position argument. The level type gives info such as what music to play, whether you jump or swim, etc.

The sprite info pointer isn't needed for our purposes and the version of the info files I posted doens't have it included.

The entry chunk is a little more complicated. Rather than specifing the chunk that the pipe is located in, it specifies the chunk which the far left of the screen is located in when you enter the pipe. This may or may not be the same chunk the pipe itself is located in. For instance, the second pipe in 2-1 is located in chunk 6, but when you get to it, the far left of the screen is still in chunk 5, so the pipe info data has the entry chunk as 5.

What this basically means in practice is that if you can't find an entry for the chunk you're looking at, check the previous chunk.

I'll try to post a new set of level renders that has the chunk boundries delineated. In the mean time, remember that a chunk is 20 columns, which is 320 pixels.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on March 09, 2008, 01:22:29 am
Allright, I posted the extracted pipe information to my website (http://gis.net/~levi/gaming/smbs/). It's the tarball labled "info". However, the pipe connection info can be a little tricky to use. I'll try to give a decent explanation of how it works.

The game tracks pipe connections by the same twenty column chunks that it uses for other stuff. A pipe connection consists of an entrance chunk, an exit chunk, a pointer for sprite info, the exit level type and the vertical height you exit at.

The exit chunk is pretty straight forward. Once you go through the pipe, it drops you out the specified chunk. The horizontal position (whithin the chunk) is fixed at 40 pixels. The vertical position is controlled by the vertical position argument. The level type gives info such as what music to play, whether you jump or swim, etc.

The sprite info pointer isn't needed for our purposes and the version of the info files I posted doesn't have it included.

The entry chunk is a little more complicated. Rather than specifing the chunk that the pipe is located in, it specifies the chunk which the far left of the screen is located in when you enter the pipe. This may or may not be the same chunk the pipe itself is located in. For instance, the second pipe in 2-1 is located in chunk 6, but when you get to it, the far left of the screen is still in chunk 5, so the pipe info data has the entry chunk as 5.

What this basically means in practice is that if you can't find an entry for the chunk you're looking at, check the previous chunk.

I'll try to post a new set of level renders that has the chunk boundries delineated. In the mean time, remember that a chunk is 20 columns, which is 320 pixels.

What SMB level editor are you and Frantik using for my NES SMB Special project? BTW, keep up the good work and I hope to see World 3 pretty soon...

Oh, one problem I noticed: A lift is missing in World 1-3 in the part where there's a wide gap you can't pass without jumping on it.

~Ben
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 09, 2008, 04:02:50 am
i'm using SMB Utility to do the level editing.  And I just checked 1-3 and the lift is there....

Karatorian thanks for the pipe data :D  I've already used it to double check some things.  when you update the renderer with the chunk lines can you also include the enemy movement data for the firebars and elevators (if possible)?  thanks

edit:  i was just watching the video of world 3's castle and I saw an appearance of the hammer power up.  the weird thing is on the rendered map there is a hidden coin block high in the air but in the video it's a hidden hammer block much lower on the screen.  it looks like the hammer weapon isn't like the hammer bros hammer it's more like from donkey kong where it can be used to presumably smash the barrels which are also in that area.  i replaced the barrels with spineys and buzzy beetles since we dont have barrel enemies yet
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on March 09, 2008, 10:18:15 am
Now I see that too. Soo this means if you add this hammer thing your gonna have one of the most epic hacks ever.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 09, 2008, 12:53:10 pm
In regards to world 3-4, I'll have to check it out and see if there appears to be anything funny going on. It seems to me that some of the videos have been made from a different dump than the one I'm using. (Didn't someone say something about a non-corrupted version of 4-4?)

The disk image I have has an md5 sum of 94a92e15ad909b7510dccca26128b54c. Does anyone have a different version?

As for the firebar and eleveator movement data, I intend to integrate them into the next round of changes to the level renderer. Along with other movement data stuff and the chunk divisions. I don't know how long these changes will take, but I hope to get them done soon.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 09, 2008, 06:48:43 pm
yeah i dunno maybe the engine interprets that block as a hammer block based on other stuff?

anyways here's worlds 1-3 completed:

World 3 download (http://www.swiftlytilting.com/download.php?file=smbspecial_world3.ips)

 
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 09, 2008, 07:36:53 pm
Well, the engine changing the interpretation of a block based on something rather arbitrary like that wouldn't really seem to go along with the way it appears to be designed. After all, there's a hammer block, so it's not as if such a thing would be neccessary.

I've posted version three of the level renders to my site. They incorporate a few changes. Firstly, the levels have dividing lines to seperate the chunks from one another. Secondly, they are all rendered at a fixed size of sixteen chunks. As far as I can tell, the game doesn't store the length of the level anywhere in the level header. The max level size is sixteen chunks and the levels all seem to have pointers for all chunks. They also have data for unused chunks. (Even if said data is rather boring.)

Included in the package is the restored version of level 4-4. The restoration of 4-2 is not included, because I haven't finished it yet. (I stopped working on it to work on dumping the pipe data and improving the renderer.)

More exciting are the changes I made to sprite rendering. I've included experimental support for incorporating some aspects of the sprite movement codes into the renders.

Platform movement codes are (should be) fully incorporated. They now render at the proper length and include an icon that indicates their movement type. Also included is additional platform movement code info I discovered in the course of checking my results. Such as a size of 0x03 indicating a cloud coin zone platform and a movement of 0x08 indicating a plaform that moves up and down. (Also, platform's positions are no longer off by 4 pixels.)

Also included is preliminary support for standard sprite movement codes. Sprites that are moving right have been flipped so that they are facing that direction. Sprites that are moving left (most sprites) or standing still use left facing images. The issue of telling the two apart isn't really a problem, because stationary positioning is only used by a handful of sprites (Toad, Princess, Flag, etc.) that never move, so it's easy to intuit which is which.

Unfortunately not included is firebar movement codes. I hope to get them intergrated sometime soon, but I haven't yet. Also not handled is the 0xC1 movement code who's meaning I still haven't fully investigated.

These changes are all rather experimental, so please report any bugs you find.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 09, 2008, 07:43:29 pm
sweet :D  and i agree it would make no sense for the block not to be a hammer block in the level data but the block is the wrong block and the wrong location, but there is no other corruption so it also seems like it's unlikely the level data is messed up.  course u would know better than i :)

btw about the firebar movement:  world 1 and 2 castles rotate the bars clockwise while world 3 castle rotates them all counter-clockwise
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Googie on March 09, 2008, 07:54:30 pm
I'm taking it upon myself to beta test this as demos keep comin...  :D

A'ight here a little sumthin that goes down in 2-3...

(http://img.photobucket.com/albums/v681/QB3CF/eeee1.png)

I go down this pipe right fellas?

Only to wind up here...

(http://img.photobucket.com/albums/v681/QB3CF/eeee2.png)

But before I get there I gotta pass through here...

(http://img.photobucket.com/albums/v681/QB3CF/eeee3.png)

You can go down that pipe, it'll take you to here...

(http://img.photobucket.com/albums/v681/QB3CF/eeee4.png)

Now, pass it regularly'll take you to the 2nd castle, but like in the 2nd pic'll take you to world 3. I'm guessing it's a bug? Other than that I'm gonna play world 3 in a bit...  :thumbsup:   
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 09, 2008, 08:53:10 pm
lol.. world 2-3 is a lil crazy :D :D  thanks for the testing googie  :thumbsup:

edit:  i updated the patch.. not sure what happened but some of the objects went missing lol  fixed now

linky (http://www.swiftlytilting.com/download.php?file=smbspecial_world3.ips)

edit2:  karatorian it looks like you have the up/down arrows on the lifts switched.  in world 2-4 the first lift moves downward and the 2nd upward in this video: http://www.youtube.com/watch?v=ENuvrRJtFPY :)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Googie on March 09, 2008, 10:20:41 pm
Thanks for fixing it up, it's much better now. Yeah seeing that Hammer power up will really rock, seeing and playing through this hack makes me wanna work on my back burner smb hacks now.  :crazy:
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on March 09, 2008, 11:53:02 pm
WOn topic, good job on world 3.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on March 10, 2008, 01:43:39 am
lol.. world 2-3 is a lil crazy :D :D  thanks for the testing googie  :thumbsup:

edit:  i updated the patch.. not sure what happened but some of the objects went missing lol  fixed now

linky (http://www.swiftlytilting.com/download.php?file=smbspecial_world3.ips)

edit2:  karatorian it looks like you have the up/down arrows on the lifts switched.  in world 2-4 the first lift moves downward and the 2nd upward in this video: http://www.youtube.com/watch?v=ENuvrRJtFPY :)

Thank you again! That lift in 1-3 is back!

I can't wait to see 4-3!

~Ben
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 10, 2008, 04:29:07 am
glad to hear the lift is back :D

hey Karatorian whats up with the random dark block in world 4-1 above the hidden 1up?

also:

does anybody know if lakitu comes back if you go up the vine and return to the level?  perhaps the dark block is the lakitu continuation code or something?

and is that really a trap bonus room in 4-3?  there's pipe connection data but no enterable pipe.  the pipe connection data is also weird pointing to chunk 5 which has no exit pipe
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 11, 2008, 03:47:17 am
The random dark block in world 4-1 was caused by a bug in the level renderer that caused a few tiles to be rendered incorrectly. The missing hammer in 3-4 was caused by the same bug. The effected levels are 2-1 (Half Brick Under Spring), 3-2 (Wings), 3-4 (Hammer), 4-1 (Wings and Unknown Object), 7-1 (Half Brick Under Spring), and 8-3 (Clock). The bug has been fixed.

The lift direction arrows where indeed backwards, which was caused by a simple error when saving my marker images. This problem has also been fixed.

I've finished correcting the corruption to level 4-2 and it now renders nicely.

I was going to make another set of renders that incorporate all the above improvements, however, it's the middle of the night, so I figure I might have time to get some more work done on the movement code integration before anyone is awake. In that case, the next set of renders will include the better movement code support. If I don't manage to get better movement code support implimented by morning, I'll post a new set of renders generated with the current codebase.

I don't know if Lakitu comes back or not, but I could check it out. Also, 4-3's pipe connections seem kinda weird. I'm not entirely sure what's up with them. In addition to not having any enterable pipes, the pipe connection that seems to go the the bonus room has a level type code not used anywhere else in the game. As far as I can tell, said bonus room cannot be accessed, but I haven't messed around with the level in the game to verify this.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 11, 2008, 04:45:15 am
it's the middle of the night, so I figure I might have time to get some more work done on the movement code integration before anyone is awake.

.... except i'm an insomniac freak lol jk take your time.

glad to hear you've worked out some bugs in the renderer though, and fixed 4-2 up.  :laugh:

in 4-3 there is no enterable pipe but there is a vine which uses the same pipe codes....
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 11, 2008, 08:53:59 am
Ok, I posted the new version of the level renders. It's got all the bug fixes I mentioned above, the fixed 4-2, and full movement code support. The movement code now handles firebar intial positions and rotation direction. It also handles the previously unhandled 0xC1 code, which is up and down for Parakoopas and going forward in an up and down wave for Cheep Cheeps.

I also made a slight modification to the indicators for block contents. The Hudsonsoft Bee is now labled with a 'B' and the remaining unidentified powerup is labled with a 'U'.

I'll go mess around with 4-3 and see what happens.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 11, 2008, 07:15:31 pm
Ok, I posted the new version of the level renders. It's got all the bug fixes I mentioned above, the fixed 4-2, and full movement code support. The movement code now handles firebar intial positions and rotation direction. It also handles the previously unhandled 0xC1 code, which is up and down for Parakoopas and going forward in an up and down wave for Cheep Cheeps.

I also made a slight modification to the indicators for block contents. The Hudsonsoft Bee is now labled with a 'B' and the remaining unidentified powerup is labled with a 'U'.

I'll go mess around with 4-3 and see what happens.

sweet :thumbsup:  great work on 4-2 btw

hey on the next render (if there is one) can you number the chunks?  perhaps a number on the top row would work since therei's never any blocks on that row
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 12, 2008, 03:07:09 pm
I actually thought about numbering the chunks, but I never got around to it. Seeing as you've requested it, I guess I should have, he he. Actually, I don't see there being another set of renders unless any more bugs come up. Other than not numbering the chunks, the rendering portion of my code is pretty much feature complete. I suppose I could make another set of renders just to fix that.

The only other changes I see making to my code are to improve the info file functions to output some more information. In particular, I had planned to output detailed sprite information. I may also clean up the code to the point where it could be released to the general public. (I don't know who'd really want it, but it seems a waste to have put all the effort in and not release it.)

I think the next item on my agenda will be to add the fixed version of 4-2 to the patch I made.

Keep up the good work.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 13, 2008, 02:56:06 am
Ok so finished world 4 :)  I had to do a little trickery and change the pointers around so some enemies were turned into block objects instead cause i had tons of left over enemies and not very many blocks.  Some falling spikes were replaced with podobos.. they're not quite the same thing so i didn't include all of them in places where there's multiple spikes next to each other.  i did include them in hard mode though muhuhahaha.  also in 4-3 i didn't make the bonus a dead end but that may change if it's determined it indeed is a trap.  I also fiddled with the backgrounds to make them more like the SMBS backgrounds (taller trees, bushes in the tree/fence levels)

Download Worlds 1 thru 4 (http://www.swiftlytilting.com/download.php?file=smbspecial_world4.ips)

(http://img529.imageshack.us/img529/2212/smbspecialworld4level0gi4.png)

(http://img72.imageshack.us/img72/6783/smbspecialworld4level1yo2.png)

(http://img91.imageshack.us/img91/7558/smbspecialworld4level3ed1.png)

(http://img329.imageshack.us/img329/8292/smbspecialworld4level4lc6.png)

Download Worlds 1 thru 4 (http://www.swiftlytilting.com/download.php?file=smbspecial_world4.ips)


btw if you don't want to play thru the whole game to see the new stuff each time, you can enable world select at the main title screen using game genie code ALTEYZ.  Then press b at the main title screen and you can select a world as if you had beaten the game
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on March 13, 2008, 10:38:47 am
glad to hear the lift is back :D

hey Karatorian whats up with the random dark block in world 4-1 above the hidden 1up?

also:

does anybody know if lakitu comes back if you go up the vine and return to the level?  perhaps the dark block is the lakitu continuation code or something?

and is that really a trap bonus room in 4-3?  there's pipe connection data but no enterable pipe.  the pipe connection data is also weird pointing to chunk 5 which has no exit pipe


I believe the trap room is the one I mentioned in the DP thread.  By the way, was the "feature" in 4-3 added where you are forced to drop the elevator before the platform appears?

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 13, 2008, 12:42:47 pm
Quote
By the way, was the "feature" in 4-3 added where you are forced to drop the elevator before the platform appears?

i'm still not convinced it's intentional and/or appears in a proper copy of the game...  but regardless i haven't been spending much time on asm hacking yet and that is definitely something which is an extreme low priority

i was reviewing 4-3 again though and it definitely looks like there is no pipe in the proper exit pipe location so it is almost definitely a trap.  weird that there is a 1 up that looks like it's impossible to get though
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on March 13, 2008, 05:14:22 pm
Well, the fact that the youtube video is a unglitched version of the game and the player specifically skipped this part tells me it was put there on purpose.  So, we either need to find this version or get the X1 version.

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Googie on March 13, 2008, 05:17:03 pm
I just played through the latest build, here's what I gotta say...

 :thumbsup: eeee!

Can't wait for the next build.  :D
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on March 13, 2008, 05:26:01 pm
I tried pm'ing the guy who made the video on youtube, but I didn't get a responce.

Good job on world 4 anyway. It sucks that so much stuff needs replacing tho. Some of those things are what made the SMB Special, special. I hope you can add in the spikes or whatever in the end. Or someone will step up and put them in.

Once idea I had a while ago was what if you built the game on a Duck Hunt/SMB cart. and you can use the Duck Hunt space for parts of the hack.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Googie on March 13, 2008, 05:28:03 pm
Oh man, that be pretty cool! I gotta find that ROM to see how many kb it has, I don't even think I have that one. ^____________________^
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 13, 2008, 06:42:10 pm
The SMB+DH rom I have is 80k, 4 banks of PRG-ROM and 2 banks of CHR-ROM. The header says that it's a mapper 66 (GxROM and compatible) game and (as is apparently common for mapper 66 games) has the mirroring set wrong. FCEU runs it, but I recall having issues with it in some other emulator.

IMO, I'd proably be easier to simply do a rom expansion on SMB than to hack up SMB+DH to use the extra space.

Edit:

Does anyone know how much faster the SMBS timer is than the SMB one? I know it's faster and would like to have my info file generator provide the equivilant time in it's header info section. However, I don't trust the timing of the emulators I'm usings. I've been running PC88Win through Wine, so that could affect it's timing and the docs for the Linux emu I've found (quasi88) specifically say that it's timing isn't very accurate.

I'm sure someone who knows SMBs internals could tell me exactly how fast the SMB timer goes down. (In frames, preferably.) So basically, I just need an idea of how fast the SMBS timer goes down on an accurate emulator or real hardware. I don't know which PC88 emu has the most accurate timing, but if someone does, could you check it out for me?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 13, 2008, 10:59:22 pm
Quote
the fact that the youtube video is a unglitched version of the game and the player specifically skipped this part tells me it was put there on purpose

well we can't draw that conclusion from the player using a glitch, but I did check out the video and you can see that the platform is indeed missing during the brief flash of that room on the screen.

(http://img146.imageshack.us/img146/6986/snapshot20080313195619pi6.png)

i still doubt it was intentional but who knows..  and it's still low on the priority list imo compared to hidden power up blocks and various enemies which need to be added.  I think falling spike enemies shouldn't be too hard to add since they don't have very complicated movements or anything. 

right now I'm mostly focusing on making sure all of the basic level layout is implemented as faithfully as much as possible.  once all 8 worlds are ported over then if nobody else has started work on enemy code i will try to see what I can do.  thats one area i'm not super familiar with in SMB so if anybody else wants to give it a shot be my guest.

karatorian here's the game timer routine in SMB which is called every cycle.  I'm not 100% sure but I think the timer ticks down every $18 game cycles when the GameTimerCtrlTimer expires.  edit:  yep i modified "ResGTCtrl: lda #$18                   ;reset game timer control" and was able to speed up the clock :)

Code: [Select]
;-------------------------------------------------------------------------------------
; $b74f-$b7a3 ( 0x375f - 0x37b3 ) run game timer routine
RunGameTimer:
           lda OperMode               ;get primary mode of operation
           beq ExGTimer               ;branch to leave if in title screen mode
           lda GameEngineSubroutine
           cmp #$08                   ;if routine number less than eight running,
           bcc ExGTimer               ;branch to leave
           cmp #$0b                   ;if running death routine,
           beq ExGTimer               ;branch to leave
           lda Player_Y_HighPos
           cmp #$02                   ;if player below the screen,
           bcs ExGTimer               ;branch to leave regardless of level type
           lda GameTimerCtrlTimer     ;if game timer control not yet expired,
           bne ExGTimer               ;branch to leave
           lda GameTimerDisplay
           ora GameTimerDisplay+1     ;otherwise check game timer digits
           ora GameTimerDisplay+2
           beq TimeUpOn               ;if game timer digits at 000, branch to time-up code
           ldy GameTimerDisplay       ;otherwise check first digit
           dey                        ;if first digit not on 1,
           bne ResGTCtrl              ;branch to reset game timer control
           lda GameTimerDisplay+1     ;otherwise check second and third digits
           ora GameTimerDisplay+2
           bne ResGTCtrl              ;if timer not at 100, branch to reset game timer control
           lda #TimeRunningOutMusic
           sta EventMusicQueue        ;otherwise load time running out music
ResGTCtrl: lda #$18                   ;reset game timer control
           sta GameTimerCtrlTimer
           ldy #$23                   ;set offset for last digit
           lda #$ff                   ;set value to decrement game timer digit
           sta DigitModifier+5
           jsr DigitsMathRoutine      ;do sub to decrement game timer slowly
           lda #$a4                   ;set status nybbles to update game timer display
           jmp PrintStatusBarNumbers  ;do sub to update the display
TimeUpOn:  sta PlayerStatus           ;init player status (note A will always be zero here)
           jsr ForceInjury            ;do sub to kill the player (note player is small here)
           inc GameTimerExpiredFlag   ;set game timer expiration flag
ExGTimer:  rts         
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 14, 2008, 03:56:22 am
What does a game cycle mean? Is it one frame, or some other length of time?

Given that you where able to to speed up the clock, that gives me an idea. Rather than reduce the level time limits to an equivilent length of time, you could speed up the clock. Which do you think would be better?

Of course, we'd still need to figure out how fast the SMBS clock is either way.

On a related note, is Mario faster in SMBS than in SMB? When running, he seems to really zip along. (Oh dear, I can't belive I'm actually contemplating changing the physics. Is that a bad sign?)

I'm not too familiar with the SMB code myself, but I've managed to get a good grasp of 6502 ASM, so I am interested in helping out in that department. In regards to the changes you've implimented so far, have you been building from a modified disassembly, or have you just been hexediting the ROM itself? (Personally, I prefer the former method, if reasonable, which in SMB's case, I'd say it is.)

In either case, it'd be nice to know what changes you've implimented so far. While I could, of course, tease them out of the patches you've made, it'd be wasted effort.

Seeing as you've mentioned that space is getting pretty tight, I could work on expanding the ROM.

Finally, could anyone who's familar with the SMB code tell me whether doppelganger's or F.H.'s disassembly is better?

After looking at them, the answer is pretty clear, doppelganger's is the way to go. I've already gotten it to assemble and am looking into expasion.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 14, 2008, 04:13:30 am
i think it would be much better to just adjust the timer so it runs at the same time.  I was thinking one way you could measure the time using relative length meters would be to note where in the theme song the time runs out. 

Changes i've made so far besides level stuff

* add upside down pipes and red pirhanna plants
* modify ground tile layouts (like for castles and whatnot so the top brick is lower)
* modify background tiles a little bit
* modify underwater pipe palette and background palette
* modify underwater background type
* modify sideways pipe object to use the same tiles from the other sideways pipe

i think thats it so far..  and i've just been hex editing the existing rom..


I'm not sure what the F.H. disassembly is but doppleganger's is 100% complete.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on March 14, 2008, 09:21:26 am
Ok, I got another idea. IF, you have extra space left after doubling the size of the rom, perhaps you could dedicated that to unnique graphics, and code, and you could have those swapped in and out on a stage by stage basis. Like say, a stage requires a certain sprite, well, have the sprites not being used in vram, swapped out for the new sprite used in the extra space. So that way you won't have to replace enemies.

Another idea, at least for the hammer powerup. If you don't have space to draw it in, use the hammer bros hammer graphics, in it's pace, and try to make it replicate the SMBS hammer behavior.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on March 14, 2008, 12:15:40 pm
I don't want the timer in my SMB hack to tick any faster, please.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: insectduel on March 14, 2008, 01:05:08 pm
That was a great project so far. I wish I could be in this project. But unfortunely, I have no sound card to play SMB Special with PC-88.

World 4-4 is kind of interesting too. May struck the idea for my next plus series project. Plus the level rips aren't that easy to design if I had to be in the project.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SonofMog on March 14, 2008, 06:17:35 pm
I don't want the timer in my SMB hack to tick any faster, please.
Sorry to say, but I don't think it's your hack anymore... With frantik and Karatorian doing all the work if they want to make it as close a port as they can, it's their say.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 14, 2008, 07:55:14 pm
After looking at the layout and code structure of the ROM, I've found a nice way to gain a lot of space (about 3k) for additional code and data in the "hardwired" bank. This is by relocating the sound engine and data into another bank. The sound engine code is cleanly contained and there is only one entry point into it from the rest of the code. By relocating the sound portion of the code into another bank, and replacing the only entry into the code with a far call rather than a standard function call, a big chunk of space can be freed up.

Additionally, as ROM sizes have to be powers of two anyway, this also gives us a whole 16k bank of PRG-ROM to do whatever we need to with. Furthermore, the sound code would only use about 3k of it's bank, so there'd be another 13k or so there to work with as well. All in all, I think there'll be more than enough space.

While this may seem like a drastic fairly drastic change, it's pretty much neccessary to do something of the sort. Based on doppleganger's ROM map, there's only about 42 bytes of unused space in the SMB PRG-ROM. While I could proabably manage to squeeze the mapper handling code into such a small space, it wouldn't leave much room for anything else. This way, I free up a large area in the high bank, which is often the most useful area.

I should have a working demo of the expanded ROM some time soon. Once I get that done I'll start integrating the changes frantik has already made.

frantik: How much additional space for levels do you think you'll need? I know, as the saying goes, it's hard tellin' not knowin', but what would your estimate be? If we could manage to fit all the levels, other changes, and game engine (sans sound) into 32k, it would definetly simplify things.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 14, 2008, 09:04:51 pm
Well I was able to fit only 4 worlds into the original space allotted for 8.  I do have left over enemies but I doubt I could even construct an entire world 5 with them.  I would estimate about twice as much room for level data is required.

It doesn't look like SMBS uses the castle looping technique.  this means a fair amount of code can be cleared up

Code: [Select]
; $c047-$c06a ( 0x4057 - 0x407a ) enemies and loop commands core routine
; $c06b-$c075 ( 0x407b - 0x4085 ) loop command world number data
; $c076-$c080 ( 0x4086 - 0x4090 ) loop command page number data
; $c081-$c08b ( 0x4091 - 0x409b ) loop command Y position data
; $c08c-$c0cb ( 0x409c - 0x40db ) game level loopback handler (this makes the looping happen)
; $c0cc-$c12e ( 0x40dc - 0x413e ) loop command processing core

i think some of that area is used by the upside down pipes and/or piranha plant routines though so you might want to double check.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on March 15, 2008, 09:04:20 am
If you still have some space left in the original rom then I would suggest trying to make another level or two with it if u got enough space. Beacause you never know how much space the next 4 worlds are gonna take. If they got even more blocks laying around then the first four levels your gonna need whatever space you can get.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 15, 2008, 01:24:42 pm
What is the castle looping technique? I've never heard of it. An additional bit of code that perhaps could be removed is the warp zone specific stuff. SMBS doesn;t have any warp zones, so unless we add them, the warp zone code would be unused.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Hamtaro126 on March 15, 2008, 02:33:02 pm
You can either use mapper 69 (Sunsoft's FME7 mapper) or mapper 5 (MMC5) to help expand levels in new expansion at $6000-7FFF, or use MMC1 or MMC3 to put levels in WRAM/SRAM @ 6000-7FFF. Although I'd use the MMC5/FME7 space more than the usual WRAM/SRAM.

By The Way: I might try to create a SMB-SPECIAL style one-screen level changer. (one with and without expansion levels) But if I have the nessicary time to do it. (I am currently using SMB1 Disassembly by Doppleganger to do my hacks)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 15, 2008, 03:50:15 pm
What is the castle looping technique? I've never heard of it.

well not really a technique i guess but in some of the castles you have to follow the correct path, otherwise the castle loops back and you have to do it again.  SMBS does not have this in it i dont think
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on March 15, 2008, 04:03:18 pm
I don't want the timer in my SMB hack to tick any faster, please.
Sorry to say, but I don't think it's your hack anymore... With frantik and Karatorian doing all the work if they want to make it as close a port as they can, it's their say.

I came up with the idea in the first place.

Also, I do not want to lose the scrolling for this hack. It was my idea to have a version of SMBS in which the screen scrolls. Combine SMBS with NES engineering...
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 15, 2008, 04:14:54 pm
Quote
I came up with the idea in the first place.

no offense but i sincerely doubt you're the 1st person to want to play SMBS on the NES ;)

but anyways everyone is welcome to contribute to this project.  the more you contribute, the more the other people who have contributed (namely me and Karatorian so far) will value your opinion regarding the direction of the hack. ;)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on March 15, 2008, 04:21:46 pm
What is the castle looping technique? I've never heard of it.

well not really a technique i guess but in some of the castles you have to follow the correct path, otherwise the castle loops back and you have to do it again.  SMBS does not have this in it i dont think

Actually, in SMBS there is looping in parts of World 7-4 (you have to use pipes to advance to other parts of the stage, a la World 8-4 in SMB for NES):
http://www.youtube.com/watch?v=b9KvjAQIW_o

Like the NES version, World 8-4 in SMBS also makes use of pipes to advance from one part of the stage to the next:
http://www.youtube.com/watch?v=azPuClxuMUI

~Ben (SMB2J-2Q)

Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 15, 2008, 04:50:29 pm
i mean like in 4-4, 7-4 and 8-4 of SMB where you have to walk on the right bricks other wise the level loops without using any pipes.  that doesn't look like it occurs in SMBS, so that part of the code can be used for other things
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 15, 2008, 05:06:40 pm
Well, I've finished my SMB MMC1 expansion proof of concept hack. It doesn't currently do anything noticable, but things have changed "under the hood". As mentioned above, I've moved the sound engine into a bank of it's own. The call from the main loop into the sound engine has been replaced with a call to a custom function that switches banks, calls the real sound engine entry point, and then switches banks back. The only other change was the addition of a call to a mapper setup function in the startup routine.

So far, in my limited testing, everything appears to work perfectly. As I've said, it doesn't do anything noticable, put I've posted it to my website (http://gis.net/~levi/gaming/smbs/smb-expansion.ips), just in case anyone wants to check it out or do some more testing, etc.

My next step is going to be working on intergrating the changes frantik has made so far. It shouldn't be too difficult, but we may run into complications down the line. I'm not sure how flexible the level editor frantik is using is and whether or not it'll be able to edit the expanded rom directly. If not, I'll have to come up with some sort of exportation and importation tools.

In regards to the looping, in SMBS, if you walk past the end of chunk 16, you end up back at chunk 1. It's not the same effect, and it isn't actually used in any of the levels, so I think we could safely reclaim that bit of code, but given the amount of space I've gained, I don't think it'd be neccessary.

As I'm building from ASM sources, I can simply expand the area used to store the levels. The following code will simply be pushed down into the area that was previously occupied by the sound engine. As doppleganger's source is completely cleaned up, with labels and defines for everything, relocation of code is completely transparent. (After relocating the sound engine, I didn't have to edit it at all.)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 15, 2008, 06:59:33 pm
Sounds good so far Karatorian :D

regarding the level editor, it will not be able to edit the expanded rom because it expects the CHR-ROM to be at 0x8010. It rejects roms without the proper iNES header, though if you modify the header it will read any file, but it will not render the level correctly without the CHR-ROM in the correct place. 

if a rom can be made using mapper 0 the level editor will support it.  the best thing to do would be to make a mapper 0 rom with expanded level data and no sound engine, edit that rom in the editor, then insert the level data into the mmc-1 rom

just to check your rom mapping.. is this correct?

0x0010 - 0x400F - original 1st half of rom
0x4010 - 0x800F - empty bank
0x8010 - 0xC00F - sound engine
0xC010 - 0x1000F - original 2nd half of rom (not including sound engine)
0x10010 - EOF - CHR-ROM
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on March 15, 2008, 10:01:55 pm
I think frantik is saying what I was gonna say. You could edit another rom first with the final 4 worlds first. And then stick that rom to the back of the newly expanded rom.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 15, 2008, 10:24:33 pm
... except i'm almost done with world 5 now too ;)  really what needs to be done that no one is working on is the code for new enemies.  if someone wants to develop the code for any of the enemies, even replacing existing enemies, that code could be incorporated into expanded rom
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on March 16, 2008, 12:09:34 am
... except i'm almost done with world 5 now too ;)  really what needs to be done that no one is working on is the code for new enemies.  if someone wants to develop the code for any of the enemies, even replacing existing enemies, that code could be incorporated into expanded rom


You could get the Crabs and Fighter Flies from the Mario Bros. ROM and the Hammer and Barrels from Donkey Kong, both NES versions.

~Ben (SMB2J-2Q)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 16, 2008, 02:15:11 am
Ok here's world 5:

Download Worlds 1-4 updated (http://www.swiftlytilting.com/download.php?file=smbspecial_world4.ips)
Download World 5 (http://www.swiftlytilting.com/download.php?file=smbspecial_world5.ips)

(http://img404.imageshack.us/img404/881/smbspecialworld5c2io8.png)

(http://img137.imageshack.us/img137/2946/smbspecialworld5c0uu2.png)

(http://img178.imageshack.us/img178/6936/smbspecialworld5c1te0.png)

Patch world 5  onto a new rom since it only contains world 5 and not worlds 1-4. 

I also modified the height of the balance ropes.  In SMBS they have two heights.  I choose the one which is more commonly used.  I updated worlds 1-4 with this info

Download Worlds 1-4 updated (http://www.swiftlytilting.com/download.php?file=smbspecial_world4.ips)
Download World 5 (http://www.swiftlytilting.com/download.php?file=smbspecial_world5.ips)


oh and the long firebar in 5-4 spins the wrong way.. if there arent any more long fire bars or any swinging the other way then hopefully it will trivial to switch its direction

edit:  yep theres long firebars going both ways.  hopefully it won't be too hard to add.  one of the fast spinning bars can be replaced with the long bar or something

edit2:  well i added a 2nd long firebar... but it only spins for one quarter turn and then it stops lol.  making the one long firebar spin the opposite way isn't hard at all though just change one bit.  perhaps we could just add something where it spins a certain way depending on the level or something since we're adding custom code
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 16, 2008, 05:24:03 am
frantik, your understanding of the expanded ROM's layout is correct. I didn't even think about the location of the CHR-ROM having changed, but now that you mention it, I can see how it would matter. The method you've proposed should be workable and fairly easy to impliment with the setup I currently have.

What I was actually wondering about was whether the editor would be able to make use of additional space for levels if such space was provided. Specifically, I was wondering what sort of control it allows over where in the ROM the levels are located and whether it has any limit on how much space it'll let you use up. It seems like there might be such restrictions to prevent you from overwriting other parts of the ROM and corrupting it.

I've also realized that my current code leads to the creation of a woefully inefficant IPS patch. Due to my simply having added a call to my mapper setup routine in the main intialization, the entire contents of the rest of the ROM where shifted down three bytes. At the time I didn't think this'd be an issue, but the IPS format has no provisions for insertions or deletions and only handles overwrites, leading to a (relatively) huge patch.

However, given the nature of ROM expansions, even if I corrected this particular issue, all of the ROM's contents past the first 16k will still be affected by the limitations of the IPS format. This basically leads to the patch containing a large portion of the ROM's contents. The only reason the patch isn't even larger is that large chunks of the expanded ROM are (currently) empty (containing zeros) and so can be compressed by IPS's RLE compression.

Perhaps it's nothing and I shouldn't worry about it, but it seems a little bit distressing. In particular, with over half of the original ROM's contents contained in the patch, it seems that the (supposed) legal distinction between ROMs and patches is considerably blurred (in cases like this). Not that I'm worried about legal action or anything, but it is an issue hackers who use ROM expansion should be aware of and consider the implications of.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 16, 2008, 06:08:12 am
What I was actually wondering about was whether the editor would be able to make use of additional space for levels if such space was provided. Specifically, I was wondering what sort of control it allows over where in the ROM the levels are located and whether it has any limit on how much space it'll let you use up. It seems like there might be such restrictions to prevent you from overwriting other parts of the ROM and corrupting it.

I am unsure exactly what limitations the editor has on the data.  It seems pretty flexible however and I wouldn't be surprised if it didn't have any limitations and simply looks at the region defined by the various pointers.  can you whip up a rom for me with  expanded level data? add say 100 bytes onto the last room's data or something and see if smb util will still edit it properly


Regarding IPS issues:

yeah thats something I was going to have to deal with with SMU.. i was actually going include with the patch a program which would take the original SMB rom and create a new ROM with the correct structure.  then the patch would be applied to the newly created rom.  of course in SMU all i'm planning on doing is having two copies of the original rom with different level data and just swap from one to the other at world 5 so it would be a lot easier to format the rom since all i would need to do is strip the header off one, strip the CHR-ROM off another and tack the two together. 

since you're rearranging the code the program would also have to know where to offset the code by X amount of byte which would be pretty tedious if you had lots of changes
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on March 16, 2008, 10:38:09 am
I thought i t was gonna be more people, but it looks like it came down to just you two working on the hack. At least we'll get the level edits, if not the enemies, or other features. That's probably as much as we can hope for.

Anyhow yeah, I hope u guys figure out how to properly make a patch out of this. Cause I can imagine this site having a problem with hosting a patch that contains the original code and we don't want this patch getting lost on some geocities site or something. It should be hosted here. And good work on world 5.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 16, 2008, 08:27:26 pm
As for IPS related issues, if we run into difficulties with getting it hosted on RHDN, we'll come up with a solution of one sort or another. Possible solutions include using a more advanced patch format that can handle relocations, using a custom patching program, or as frantik plans for SMBU, using a custom tool to rearange the ROM prior to patching. On the other tentacle, it may not matter. Surely, in amoungst all the patches hosted here, there's bound to be at least a few ROM expansions, which are all quite likely to contain a signifigant portion of the original ROM if in IPS format. (Besides, RHDN hosts complete disassemblies, such as the one I'm using, which contain (in a modified form), ROM contents as well.)

I should be able to produce a patch that adds space to the level area for level editing testing without too much difficulty. I should be able to get something worked up sometime tonight.

As for the ASM hacking required to get the additional enemies and power-ups implimented, I wouldn't give up hope just yet. I've only just begun my work on the ASM, but as my work on the level dumping utils is pretty much complete, ASM hacking has now become my focus area for this project.

Furthermore, perhasps some more people would get involved if prompted to do so. If it looks as though I won't be able to handle the ASM hacks on my own, we could always post a help wanted ad.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 16, 2008, 10:06:54 pm
Once I finish the level entry I will be able to contribute to the asm hacking more.. though it wouldn't hurt to have a dedicated asm hacker on board i suppose, especially someone who's actually added new enemies to SMB, if there is anybody around like that



Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 17, 2008, 02:15:36 am
I've made a build of my expanded SMB that has an additional 512 bytes of zeros added the the last area (called L_WaterArea3 in doppleganger's code). Additionally, it's a mapper zero ROM without the sound engine, so it should be able to be edited. However, as far as I can tell, the game doesn't store the length of the level areas, it mearly has pointers to the start of each area. It appears that the end of an area is marked with 0xFD. So I can't figure out how the editor would know where it runs out of space, except by it being hardcoded somewhere. You can find the patch at my website (http://gis.net/~levi/gaming/smbs/smbs-edit.ips).

I've also tweaked my code slightly, so that the plain expansion makes for smaller patch. More importantly, it avoids (I belive) disrupting the location of the level code, so that it's where an editing program would look for it. (The mapper 0 editable version and the mapper 1 expanded version are built from the same sources.) The new patch is also at my website (http://gis.net/~levi/gaming/smbs/smb-ex-v2.ips).

I'm in the process of tracking down the locations of all the changes made to the code so far. With any luck, sometime soon, I should have a version of the source code that impliments all the hacks implimented up to this point. frantik, could you give me a pointer to the vertical pipe patch you used?

Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 17, 2008, 04:06:24 am
frantik, could you give me a pointer to the vertical pipe patch you used?

sure, it's one of the patches in this zip, though i forget which patch.  I think it's the one which changes the first level around a bit as well.  http://betaworld.hp.infoseek.co.jp/ips/R_plants.zip

I tried out the expanded ROM and unfortunately it does look like the memory addresses are hardwired or something because only one more item was added to the level (after I moved the 'FD' terminator byte to the end of the added bytes that is).  thats kind of a bummer :\
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 17, 2008, 05:37:12 pm
Thanks for the link to the patch.

As for the levels, we can work around it somehow. Just keep building worlds 5 through 8 in a sencond ROM and I'll come up with a method to insert them into the expanded ROM. It shouldn't be that big of a deal.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 17, 2008, 10:28:50 pm
As for the levels, we can work around it somehow. Just keep building worlds 5 through 8 in a sencond ROM and I'll come up with a method to insert them into the expanded ROM. It shouldn't be that big of a deal.

I agree it shouldn't be a big deal.. though one thing that might be an issue is the total number of levels.. the SMB engine allows for 34 levels total, which only leaves two levels which can be bonus rooms or whatever.  right now my lay outs have some bonus rooms which are on their own levels.  these will have to be consolidated i suspect, or we'll have to add in more rooms which hopefully won't be too hard.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on March 18, 2008, 12:05:04 am
For Karatorian and Frantik,

Besides the two-in-one cartridge (in the NES Action Set) with Duck Hunt as a second game, Super Mario Bros. also was available on a three-in-one cartridge that also included Duck Hunt as well as World Class Track Meet (referring to the cartridge in the NES Power Set bundle released in 1989). Perhaps the extra space reserved for the other two games may be used.

You may also want to take a look at the ROM for the Famicom Disk System version of SMB, as the Minus World in it is different.

~Ben (SMB2J-2Q)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: doppelganger on March 18, 2008, 05:10:30 am
I had no idea that SMB Special even existed until recently...and it's nice to see that my work has gotten several balls rolling. :-)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on March 18, 2008, 09:38:26 am
I just wanted to comment on the dungeons' "looping" effect.  I can say from experience that SMBS definitely does do this in some dungeons.  Definitely on 4-4, and possible at least one that preceded it.    Since I was the one who played up to the 4-4 glitch, I remember being a bit frustrated by the "looping."  Just wanted to make sure you didn't forget to implement this.

EDIT:  I just remembered...I think SMBS does this on some levels that are NOT dungeons, as SMB2J does.

One would have to physically play through the game to see what I mean....I can't remember what stages.

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 18, 2008, 03:23:32 pm
4-4 is a pipe maze.. if you go in the wrong pipe you end up at the beginning of the level. but thats not the castle loop thing which occurs in SMB.. are you sure you're thinking of the same thing?

i've been watching the videos on you tube and have no seen anything like that so it would be great to see an example
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on March 18, 2008, 03:55:20 pm
Oh, so you mean looping without the pipes?  Hmmm, can't say I recall this...I've only played half the levels, so I don't know about worlds 5-8, but I can't specifically recall it looping without pipes.  However, It would still be a good idea to play them to be sure.  Perhaps the guy in the videos knew which way to go so it didn't display this effect?  Probably not, but I figured it's best to keep the bases covered.

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on March 18, 2008, 05:18:35 pm
Yeah, the most reliable way to test everything is to actually play the game, if only people could hack up hacks or something to make it easier to play thru. Infinite time, starman, maybe higher jumps.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 19, 2008, 02:39:51 am
In regards to the looping, I don't think it's used. On a related note, I've been working on implimenting the changes frantik has made to the ROM into doppleganger's source code and I've discovered that the pipe patch he used stomps all over the looping code.

I've integrated the following changes so far:


There are still a handful of changes that I haven't implimented. I belive they're all related to the pipe hacking patch or frantik's prirana plant changes. I'd say I'm about a third to halfway done integrating the hacks into the ASM source.

The changes to the demo mode, scenery, levels, and CHR-ROM where all implimented by binary copy from the ROM produced by the latest patch. All the other changes have been implimented by changing the source code.

Once I've finished integrating the existing hacks, I'll start working on getting both sets of levels into one ROM. However, I will be out of town for the remainder of the week, so I proably won't get that done until next weekend, at the earliest.

In regards to the mysteriously appearing platform in that one level (I can't remember which one), I know what causes it. The game can only handle three elevators/platforms at once, if there are more than three active, the later ones are ignored. So the appearing platform isn't really a bug or a feature, it's a misfeature. Whether the engine limitation was intentionally abused by the level designer, I can't say, but I rather doubt it. (I discovered this a while back, but I didn't put two and two together until recently.)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 19, 2008, 03:18:33 am
In regards to the mysteriously appearing platform in that one level (I can't remember which one), I know what causes it. The game can only handle three elevators/platforms at once, if there are more than three active, the later ones are ignored. So the appearing platform isn't really a bug or a feature, it's a misfeature. Whether the engine limitation was intentionally abused by the level designer, I can't say, but I rather doubt it. (I discovered this a while back, but I didn't put two and two together until recently.)

I suspected something of this nature was the case actually.  similar things happen in the SMB engine as well.

Regarding the changes to the pipe code yes they are related to the piranna plant hack.  let me see if i can't give you the source for that stuff to save you the time of integrating it yourself

edit:  here you go.. double check it for errors but I think it's correct.  You can obviously clear out the residual and nop stuff

Code: [Select]
; $98e5-$9949 ( 0x18f5 - 0x1959 ) vertical pipe object handler
VerticalPipe:
          jsr GetPipeHeight
          lda $00                  ;check to see if value was nullified earlier
          beq WarpPipe             ;(if d3, the usage control bit of second byte, was set)
          iny
          iny
          iny
          iny                      ;add four if usage control bit was not set
WarpPipe: tya                      ;save value in stack
          pha
          lda AreaNumber
          ora WorldNumber          ;if at world 1-1, do not add piranha plant ever

------------- changes start here

          bpl DrawPipe             ; unconditional branch since A is always positive here
          ldy AreaObjectLength,x   ; residual
          beq DrawPipe             ; residual

PlacePlant:
          sta Enemy_X_Position,x   ; get enemy horizontal coordinate
          adc #$08                 ; add eight to put the piranha plant in the center
          sta Enemy_X_Position,x   ;store as enemy's horizontal coordinate
          lda CurrentPageLoc       ; residual
          adc #$00                 ; residual
          nop
          nop
          lda #$01
          sta Enemy_Y_HighPos,x
          sta Enemy_Flag,x         ;activate enemy flag
          lda Enemy_Y_Position,x
          adc #$08
          sta Enemy_Y_Position,x
          nop
          nop
          nop
          nop
          nop
          nop
          lda #PiranhaPlant        ;write piranha plant's value into buffer
          sta Enemy_ID,x
          jmp InitPiranhaPlant

------------- changes end here

DrawPipe: pla                      ;get value saved earlier and use as Y
          tay
          ldx $07
          ...




; $c282-$c291 ( $4292-$42a1 )
;jump engine table for newly loaded enemy objects

      .dw InitNormalEnemy  ;for objects $00-$0f
      .dw InitNormalEnemy
      .dw InitNormalEnemy
      .dw InitRedKoopa
      .dw NoInitCode
      .dw InitHammerBro
      .dw InitGoomba
      .dw InitBloober
      .dw InitBulletBill
      .dw NoInitCode
      .dw InitCheepCheep
      .dw InitCheepCheep
      .dw InitPodoboo
      .dw PlacePlant                               ; changed
      .dw InitJumpGPTroopa
      .dw InitRedPTroopa
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 19, 2008, 04:18:25 am
Hey, thanks. That's one less thing I have to reverse engineer.

Edit: I gotta go work on a stay-away job, so chances are I won't be able to do anymore work on the ASM until the weekend. If anyone wants to take a look at it, I've still got the following changes to investigate.

Code: [Select]
0x0000C06B 0x0005 RLE loop command world number data
0x0000C070 0x00BF STD loop command world number data
0x0000C930 0x0002 STD enemy movement subs
0x0000D3CF 0x0004 STD piranha plant movement routine
0x0000D3EC 0x0003 STD piranha plant movement routine
0x0000D799 0x0008 STD defeated enemy code used when enemies hit by ...
0x0000D8AB 0x0006 STD player to enemy collision handler
0x0000E853 0x0001 STD enemy graphics table offsets based on enemy ID number
0x0000E86E 0x0001 STD enemy attribute data
0x0000E8C5 0x0001 STD enemy graphics handler
0x0000EA17 0x0001 STD enemy graphics handler
0x0000EAB7 0x0009 STD enemy graphics handler

The effected bits of code are labled by doppleganger as follows:

Code: [Select]
0x0000C06B LoopCmdWorldNumber
0x0000C076 LoopCmdPageNumber
0x0000C081 LoopCmdYPosition
0x0000C08C ExecGameLoopback
0x0000C0CC ProcLoopCommand
0x0000C0D8 FindLoop
0x0000C102 IncMLoop
0x0000C115 WrongChk
0x0000C11C DoLpBack
0x0000C122 InitMLp
0x0000C12A InitLCmd
0x0000C905 EnemyMovementSubs
0x0000D3CF ChkPlayerNearPipe
0x0000D3E0 SetupToMovePPlant
0x0000D795 ShellOrBlockDefeat
0x0000D895 HandlePECollisions
0x0000E840 EnemyGfxTableOffsets
0x0000E85B EnemyAttributeData
0x0000E8BE CheckForBulletBillCV
0x0000E9FA CheckToAnimateEnemy
0x0000EAB6 ContES

Keep up the good work.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 19, 2008, 05:45:22 am
I suspect most if not all of those changes are related to the Red piranha plants :).. i will look into it
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on March 19, 2008, 09:21:03 am
Quote
In regards to the mysteriously appearing platform in that one level (I can't remember which one), I know what causes it. The game can only handle three elevators/platforms at once, if there are more than three active, the later ones are ignored. So the appearing platform isn't really a bug or a feature, it's a misfeature. Whether the engine limitation was intentionally abused by the level designer, I can't say, but I rather doubt it. (I discovered this a while back, but I didn't put two and two together until recently.)

I guess I'm wondering what makes an elevator an "active" elevator.  The fact is, the first two elevators are 2 or 3 screens before the one that magically appears.  How are those still active?  There's several levels where many elevator platforms appear, iirc.  How did those levels deal with it?  I find it tough to believe that the team of programmers who made this game accidentally missed this detail in their play testing for this level.

Anybody figure out how the bee works?

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 19, 2008, 01:20:17 pm
Quote
I find it tough to believe that the team of programmers who made this game accidentally missed this detail in their play testing for this level.

i would agree that play testers should have noticed this.   Maybe it was left in as an abuse of the engine, or maybe it was an unnoticed bug.  I honestly don't feel that it was intentional simply because that would make 4-3 one of the most difficult levels in the game, with a less obvious solution than even 8-4.

regardless of the intent of the bug, it does appear.  however as i said before, implementing that bug into the NES engine is an extreme low priority.  I actually would rather not include it in the game since most people will not know it's a intentional bug and assume is is an error made by one of the people porting the game.  You spent untold amount of lives figuring out the solution; most people will just delete the rom lol

You're of course welcome to write the code yourself and patch it in though ;)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 20, 2008, 06:58:52 pm
I really have no idea how the game determins what's an active elevator. All I know is that when testing, when I put in four elevators on one screen, only three of them show up.

What's a Red Piranha Plant? Do we actually need them. I don't recall any red pirana plants in SMBS. However, part of that code proably also has to do with upside down Piranha Plants.

Anyway, I got back earlier than expected, so I'll try and see what I can get done on the ASM tonight. Hopefully I'll get a working test of the expanded ROM with worlds one through five released soon.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on March 20, 2008, 08:24:20 pm
Quote
I find it tough to believe that the team of programmers who made this game accidentally missed this detail in their play testing for this level.

i would agree that play testers should have noticed this.   Maybe it was left in as an abuse of the engine, or maybe it was an unnoticed bug.  I honestly don't feel that it was intentional simply because that would make 4-3 one of the most difficult levels in the game, with a less obvious solution than even 8-4.

regardless of the intent of the bug, it does appear.  however as i said before, implementing that bug into the NES engine is an extreme low priority.  I actually would rather not include it in the game since most people will not know it's a intentional bug and assume is is an error made by one of the people porting the game.  You spent untold amount of lives figuring out the solution; most people will just delete the rom lol

You're of course welcome to write the code yourself and patch it in though ;)

I totally understand what you are saying, but I am also torn because Nintendo was so scrutinous of their second and third party developers...especially their second party developers.  That this would escape NOJ, even on an obscure system makes me doubtful still.  On the other hand, it WAS an obscure system, but was it known at the time that history would treat it as such?

Man, we've gotta find that X1 version.

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 21, 2008, 12:28:59 am
I've managed to incoporate all of the existing changes into the ASM source code. The block of code overwriting the looping code is a quick and dirty dissassembly of the patched ROM's contents in that area, but all the other changes have been integrated more or less cleanly. In any event, when compiled, I can generate a ROM identical to the latest world 1-4 patch released by frantik.

One change to the code seems kinda off to me. The following function had the "lda #$03" changed to "lda #$00". I'm not entirely sure what that does, but it doesn't seem that it'd be relevant to any of the changes that I'm aware of.

Code: [Select]
CheckForBulletBillCV:
       cmp #BulletBill_CannonVar   ;otherwise check for bullet bill object
       bne CheckForJumpspring      ;if not found, branch again
       dec $02                     ;decrement saved vertical position
       lda #$03
       ldy EnemyFrameTimer,x       ;get timer for enemy object
       beq SBBAt                   ;if expired, do not set priority bit
       ora #%00100000              ;otherwise do so
SBBAt: sta $04                     ;set new sprite attributes
       ldy #$00                    ;nullify saved enemy state both in Y and in
       sty $ed                     ;memory location here
       lda #$08                    ;set specific value to unconditionally branch once

Could anyone shed some insight into this.

Anyway, now that I've got all of that out of the way, I'm going to start working on the expanded ROM with worlds 1-5. Once that's taken care off, I'll probably start looking into cleaning up the existing ASM hacks and implimenting new ones.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 21, 2008, 05:46:08 am
Quote
What's a Red Piranha Plant? Do we actually need them. I don't recall any red pirana plants in SMBS. However, part of that code proably also has to do with upside down Piranha Plants.

the red plants are the upside down ones ;)  we can make then green though if you don't like red hehehe

and i have no idea where that bullet bill code change came from...  i'd guess the plant/pipe patch.

edit:

here's the upside down pipe code (in the looping area) cleaned up.. some really inefficient use of space too :'(

Code: [Select]
; $c070
RenderUpsideDownPipe1:
          ldy #$01                 ;check for length loaded, if not, load
          jsr ChkLrgObjFixedLength ; pipe length of 2 (horizontal)
          jsr GetLrgObjAttrib      ; returns vert length in Y
          dey
          dey
          sty $05                  ; save length - 2 in $05
          ldy AreaObjectLength,X   ; check pipe column
          sty $06
          ldx $05                  ; load length
          inx                      ; increase by 1
          lda VerticalPipeData+2,Y ; read pipe metatile data
          cmp #$00                 ; if vertical length is too short just draw pipe end
          beq DrawEnd1             ; (this might be residual/doesnt appear to work right)
          ldx #$01                 ; set upper render height
          ldy $05                  ; load length
          jsr RenderUnderPart      ; render pipe body
          clc
DrawEnd1: ldy $06                  ; check which column of pipe
          lda VerticalPipeData,Y   ; load pipe end
          sta MetatileBuffer,X     ; render pipe end
          rts                      ; return
          nop
          nop
          nop
          nop

; $C0A0
RenderUpsideDownPipe2:
          ldy #$01                 ;check for length loaded, if not, load
          jsr ChkLrgObjFixedLength ; pipe length of 2 (horizontal)
          jsr GetLrgObjAttrib      ; returns vert length in Y
          dey
          dey
          sty $05                  ; save length - 2 in $05
          ldy AreaObjectLength,X   ; check pipe column
          sty $06
          ldx $05                  ; load length
          inx                      ; increase by 1
          lda VerticalPipeData+2,Y ; read pipe metatile data
          cmp #$00                 ; if vertical length is too short just draw pipe end
          beq DrawEnd2             
          ldx #$05                 ; set upper render height
          ldy $05                  ; load length
          jsr RenderUnderPart      ; render pipe body
          clc
DrawEnd2: ldy $06                  ; check which column of pipe
          lda VerticalPipeData,Y   ; load pipe end
          sta MetatileBuffer,X     ; render pipe end
          rts                      ; return


edit2:

actually, use this code for the 2nd pipe.. I changed it so it has a set lower point and a variable high point (unlike the other which has a set high point and variable lower point :))
Code: [Select]
RenderUpsideDownPipe2:
          ldy #$01                 ;check for length loaded, if not, load
          jsr ChkLrgObjFixedLength ; pipe length of 2 (horizontal)
          jsr GetLrgObjAttrib      ; returns vert length in Y
          dey
          dey
          sty $05                  ; save length - 2 in $05
          ldy AreaObjectLength,X   ; check pipe column
          sty $06
          ldx $05                  ; residual
          inx                      ; residual
          lda #$08                 ; get height location from length
          clc                      ; make sure carry is cleared or else
          sbc $05                  ; wont render correctly
          tax                       
          lda VerticalPipeData+2,Y ; read pipe metatile data         
          ldx #$05                 ; set upper render height
          ldy $05                  ; load length
          jsr RenderUnderPart      ; render pipe body
          clc
          ldy $06                  ; check which column of pipe
          lda VerticalPipeData,Y   ; load pipe end
          sta MetatileBuffer,X     ; render pipe end
          rts                      ; return

and the suspected residual code can be nooped in the first one, alone with the fiddling with X before it


------

edit 3:

here's a version of code for both upside down pipes which doesn't waste any space :D  i didn't test it but it should be fine

Code: [Select]
InitUpsideDownPipe:         
          ldy #$01                 ;check for length loaded, if not, load
          jsr ChkLrgObjFixedLength ; pipe length of 2 (horizontal)
          jsr GetLrgObjAttrib      ; returns vert length in Y
          dey
          dey
          sty $05                  ; save length - 2 in $05
          ldy AreaObjectLength,X   ; check pipe column (horz length)
          sty $06
          rts         

RenderUpsideDownPipe1:
          jsr InitUpsideDownPipe
          lda VerticalPipeData+2,Y ; read pipe metatile data         
          ldx #$01                 ; set upper render height
          ldy $05                  ; load length
          jmp DrawUpsideDownPipe   ; render pipe

         
RenderUpsideDownPipe2:
          jsr InitUpsideDownPipe
          lda #$08                 ; set lower height location
          clc                      ; clear carry to render correctly
          sbc $05                  ; substract vert length to find upper location
          tax                       
          lda VerticalPipeData+2,Y ; read pipe metatile data         
          ldy $05                  ; load length
         
DrawUpsideDownPipe:
          jsr RenderUnderPart      ; render pipe body
          clc
          ldy $06                  ; check which column of pipe
          lda VerticalPipeData,Y   ; load pipe end
          sta MetatileBuffer,X     ; render pipe end
          rts                      ; return
         
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 22, 2008, 02:57:54 pm
Hey frantik, nice work on the inverted pipe ASM. It's nice to have a version that's properly labled and commented, unlike mine, which has arbitrary lables and no comments.

I've just gotten started on getting all the levels so far into the existing ROM. I've put in worlds 1-4 and am about to start looking at the changes needed to get world 5 in as well. On that note, I was wondering, how many rooms do you think you're going to need? SMB is set up for 34, but I'm sure I can change that if needed. I'd just like an estimate for now. Once you've got all the levels done, I can tweak it to the exact number needed so as to save space.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 22, 2008, 07:41:25 pm
I'd estimate about 50 rooms will be needed

Currently 27 rooms in 1-4.. i think i can consolidate room 42 and 43 though.
Quote
water
01 - 2-2
03 - 3-1

ground
20 - 3-3
21 - 4-2
22 - 4-1
24 - end 3-1
25 - 1-1
26 - 1-3
27 - 2-1
28 - pipe intro 1-2, 2-2 / end 1-2, 2-2 / bonus 2-4
2b - 4-3
2f - end 3-2
30 - 2-3
31 - pipe intro 3-1
32 - sky bonus  2-1, 4-1
33 - 3-2

underground
40 - 1-2
41 - underground midsection 4-2
42 - underground bonus 1-1, 1-4
43 - underground bonus 2-2 / end 2-3
44 - bonus 3-3
45 - bonus 4-3

castle
60 - 1-4
61 - 4-4
62 - 2-4
63 - 3-4

and 12 so far in worlds 5 and 6.  estimate another 10 rooms for the next 2 worlds
Quote
water
00 - bonus 5-2, 6-2

ground
23 - 6-2
26 - 5-3
2a - 5-1
2d - 6-3
2e - 6-1
31 - 5-2
34 - bonus 6-2

underground
40 - bonus 6-3
42 - bonus 5-3, 6-2

castle
60 - 6-4
62 - 5-4


unfortunately we're going to have room numbering conflicts.. not a big deal except for the pipe connection commands will have to be modified once the final room layout is determined.

oh also i removed a bug in the optimized code I posted on the last page in the Upsidedownpipe2 block of code.. if you've already inserted that code please be sure to update it
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 23, 2008, 04:39:53 am
Actually, once I got to work on the level insertion program, I realized that an estimate of the number of rooms wasn't neccessary. The game engine doesn't have the number of rooms hardcoded, it simply follows the pointers. Therefore, my code simply produces as many rooms as needed and will set up the pointers as required. But, thanks for the information.

As for room numbering conflicts, I'm aware of the problem and have a solution. My current code renumbers the rooms. This is to avoid conflicts and also make the segregation by type simple. Currently, I'm almost done with a stripped down proof of concept version.

It doesn't currently handle pipe connections, but I have a pretty good idea how I'll handle that as well. Basically, it'll go through the area data and record the pipe connections. Then, after the renumbering, it'll go through the list of pipe connections and patch them up.

A bigger issue is the fact that we can only have a max of 32 rooms of a given type as room numbers are stored as five bits (plus two bits for type). If we need more than that, we'll have to come up with an ASM hack of some sort. As one bit of the room numering bytes is unused, I could expand the max to 64 per type. However, as pipe pointers only have 7 bits for room, that won't work for them. The solution in that case would be to ensure that all rooms pointed at by pipe pointers are numbered less than 32.

Anyway, I'm going back to coding.

Edit:

Well, I've got the proof of concept level inserter working. At least it seems to be working. You can't do a whole lot of testing without pipes, but level 1-1, the pipe intro, and the first room of level 1-2 seem to be working anyway. Now I guess I'll have to start work on the pipe pointer functions.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on March 23, 2008, 07:40:16 pm
http://page2.auctions.yahoo.co.jp/jp/auction/b79343749

lolz

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 23, 2008, 08:09:07 pm
I've posted version 5 of the level renders at my website. Unless unknown bugs in the level renderer are discovered, this will be the final version. The only change is that the individual chunks are numbered for ease of use of the related level info files.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 24, 2008, 03:52:50 am
cheers :)  i just need to double check world 6 and i'll post it
Title: Playtesters Wanted
Post by: Karatorian on March 24, 2008, 03:58:24 am
Playtesters Wanted

I've implimented the pipe pointer handling code in the level inserter and produced an expanded ROM containing worlds one through five. You can download the patch here (http://gis.net/~levi/gaming/smbs/smbspecial_world5-ex.ips).

I've done some basic testing, but I suck at platformers. After dying about six times on level 1-3, I called it quits. Please report any bugs you find. Thanks in advance.

frantik

There seems to be something strange going on with room 0x43 in the world 1-4 ROM. It appears to have a pipe pointer to map 0x02, which isn't in the list you posted above. Map 0x2 has a bunch of pipe pointers to bogus maps (with pointer indexes of 34 or above. I suspect 0x02's pointer now points at garbage, which wouldn't be an issue, except that 0x43 points at it. Additionally, the bogus pipe-pointer and another one are only active on world 1, while 2 other pipe pointers are active on world 4, neither of which lines up with your numbers.

At least, that's what my code tells me. Of course, it could be a bug on my end. I wish SMB Utility ran under Wine so I could check it out myself. I guess I'll have to break out the hexeditor and look at the bits. Anyway, could you take a look at 0x43's pipe pointers and see if I'm correct?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 24, 2008, 04:50:56 am
There's a bunch of junk left at the end of room 43 which i should have cleared out but didn't..  the only relevant pointer is the one which points to room 01 page 7 in world 2.  hex bytes: 9e 01 27

I checked the rest of the pointers and they all point to room 43 in world 8 (the room used to be the world 8-4 castle which is why it has to many pointers to itself).  oh wait i do see one which points to room 02.  it is set for world 8 though so it's not a big deal and it's way past anywhere the player could get to so no big deal.  I suppose I should clean up all the levels though for the final version haha

Room 02 has no enemy data at all so i'm not sure why you're seeing pipe pointers in it
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 24, 2008, 05:25:27 am
Well, I guess that explains it, for the most part. As for the pipe pointers in 02, I'm not sure what's going on there. My code simply follows the pointer and reads until it finds 0xFF, then it stops. If there's really no enemy data in room 02, I may have a bug, I'll have to check it out.

As for the room 43 pipe pointers active in world 8, I do have a bug there. As I only read two bits for the world active number (I'm not sure why, it seems pretty dumb), the world 8 pointers where being reported as the wrong world. Luckily, the code doesn't actually do anything with the pipe pointer world numbers other than display them as information, so the code produced shouldn't be effected.

As for cleaning up the extra junk in the levels, that would be a good idea for two reasons. Firstly, while I've added a lot of space to the ROM, it'd be nice if we could save as much as possible. I'm hoping that I can avoid any bank switching other than the sound code relocation, to keep things fairly simple. If I have to relocate more of the ROM, it'll get a lot more complicated. Secondly, my level insertion program is fairly simplistic. It simply loads the rooms for each world. Then it scans each of them for pipe pointers to get the rest of the rooms, which it also scans for pipes, etc. This means that any spurious pipe pointers will cause it to load extra data.

Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: generalleoff on March 24, 2008, 08:36:01 am
Exactly what do you want tested and what types of bugs do you want reported? I can point out several issues with worlds 1-5 ranging from simple graphics issues and nitpicks caused from improper use of background graphics, improper enemy placement causing erratic or incorrect enemy movement patterns, graphics issues caused by hacks, disappearing objects, glitching color issues, places where the original map was poorly designed and could be corrected or improved, and sometimes broken levels. I don't want to report stuff yer already well aware of or personal opinions and minor nitpicks you might not care about :)

Also me and a friend have been thinking of converting the game off and on for some time now but we really don't have the hacking skills required for many of the things needed by the conversion. So it's good to see other people had the same idea. We started some maps but never got far. We wanted to be a little less true to the original then you guys are being though. Like we wanted to replace the lame Hudson added enemy's from MB and DK with more traditional SMB enemy's.

I also wanted to add new enemy's to SMB in general (for use in other hacks) but again do to lack of hacking skills never could. For example blue and yellow Koopas that would change their direction of travel depending on the side Mario was on. Like if he was on the left side and the Koopa was walking left then you jumped to it's right side it would turn in place and walk right. Blues would be like greens and will walk of a ledge or into a pit and die if led to do so but yellows would stop at the edge of the ledge/pit and wait for Mario. We also wanted to add piranha plants that could shoot fire balls. They would come out of the pipe fire a few fireballs (in a straight line or in an ark to the left and right side) then go back down. They would be blue and yellow as well and blue would be the same as green and yellow the same as red as far as when they do and do not come out of the pipe. We also wanted support for piranhas that could come out of horizontal pipes. A Fire Brother is another enemy we wanted to add. They would use the same basic fireball pattern as Mario uses to attack. We also wanted to add Mario a flying power up like from Special and a new Hammer Brother power up. Also the ability to play as Toad and the Princess with their SMB2 (US) like play mechanics. Luigi would be the same as he is in SMB2 (Japan). Would also love to see the game hacked to allow left scrolling. That kinda stuff might be asking to much of the games engine and proly takes mad hacking skills to implement if it's even possible. Anyway just wanted to take this opportunity to share some of my ideas for SMB hacks but I don't want to ramble to much. :)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on March 24, 2008, 01:24:21 pm
By the way, since the PC8801 version is 1 block taller vertically, was this cut out in the NES version from the top or the bottom?  Depending on the level, wouldn't it usually be best to remove the bottom layer of blocks since Marion walks on a ground that is two blocks high?

I'm sure some levels would call for top and some bottom, but to remain true, does what I say make sense?

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 24, 2008, 05:22:47 pm
I can point out several issues with worlds 1-5 ranging from simple graphics issues and nitpicks caused from improper use of background graphics, improper enemy placement causing erratic or incorrect enemy movement patterns, graphics issues caused by hacks, disappearing objects, glitching color issues, places where the original map was poorly designed and could be corrected or improved, and sometimes broken levels. I don't want to report stuff yer already well aware of or personal opinions and minor nitpicks you might not care about :)

well you certainly describe a lot of problems.. I would be interested to know about "graphics issues caused by hacks" and "glitching color issues".  as for the map design i'm only interested in knowing if there was an error in copying the level over.  broken levels of course I would like to know about.

I suspect Karatorian was primarily asking for someone to test his expanded ROM to ensure it plays like the unexpanded rom


Quote
the PC8801 version is 1 block taller vertically, was this cut out in the NES version from the top or the bottom?

the PC8801 version is one block shorter.  this has been incorporated into the hack as much as possible
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on March 24, 2008, 05:30:50 pm
Oh, the PC8801 is *shorter* than the NES SMB.  Ok, I misunderstood and had it backwards.  That's a lot easier to handle than if it were taller.   Sorry. Carry on.

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 24, 2008, 05:53:30 pm
 :thumbsup:



Hey Karatorian i noticed sometimes enemies aren't rendered exactly in the right place.. look at map 6-2 chunk 3 it looks like two enemies (buzzy beetle and last plant) are misplaced
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 24, 2008, 07:56:13 pm
In regards to the misplaced enemies, I'm aware of them, but as far as I can tell, they're like that in the original game. For instance, look at level 5-4. The two firebars next to the elevator are not in the center of thier blocks. I did my testing on world 5-4 because the misplaced sprites are near the begining of the level, unlike most of the others, which are near the end of their levels. Using my level relocator and a lot of patience, I managed to get the following screenshot.

(http://gis.net/~levi/gaming/smbs/smbs-5-4-sprite-bug.png)

As you can see, the firebar is off by one column. I'm assuming the other offset sprites are actually wrong in the game as well. I could do more testing, but I doubt I'd be able to reach the effected areas given my lack of skill. I really should package up my level relocator and release it so that others can test stuff like this. (It's on my to do list.)

As for bug testing, I guess I should have been more specific. I'm interested in any bugs in my expanded ROM that don't appear in the non-expanded ROMs produced by frantik. Of course, bugs in the other ROMs (or common to both) are good to know about as well. I wouldn't consider (supposed) poor level design inherited from the original game a bug.

As for various ideas about improving SMBS above and beyond a straight forward port, I think it's an idea with merit, but I feel that such a project should come later. (I've personally thought about producing a mega SMB with SMBJ2's Luigi and other physics changes and SMB, SMBS, and SMB2J's levels all in one. Of course, producing a patch for such a project would be problematic, to say the least.)

Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 24, 2008, 08:24:18 pm
cool as long as you know about it and it's not a bug.. it was trivial anyways but i figured you'd want to know :)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: generalleoff on March 24, 2008, 09:59:49 pm
Alright I'll just post some of the most problematic issues for now. Most I will screenshot but some I will just describe. I will not bother with tile placement errors, enemy placement errors, or places where the player can get stuck (both due to bad map design on Hudsons part and due to bugs present in the NES version of the game) for now.

Upside down pipes are graphically glitched on rim of the opening of the pipe. You are probably well aware of this already.

(http://img521.imageshack.us/img521/4167/supermariobrosjapanusa1ju7.png) (http://imageshack.us)
(http://img167.imageshack.us/img167/3644/supermariobrosjapanusa1wi9.png) (http://imageshack.us)

This balance lift will glitch.

(http://img180.imageshack.us/img180/8264/supermariobrosjapanusa1ze1.png) (http://imageshack.us)
(http://img237.imageshack.us/img237/2351/supermariobrosjapanusa1xj7.png) (http://imageshack.us)
(http://img156.imageshack.us/img156/4409/supermariobrosjapanusa1pa9.png) (http://imageshack.us)

This flag will glitch. It is caused by having inviable coin blocks so close to the pole. They also allow Mario to jump over the flag run further right and then die.

(http://img212.imageshack.us/img212/2086/supermariobrosjapanusa1ux6.png) (http://imageshack.us)
(http://img265.imageshack.us/img265/3673/supermariobrosjapanusa1hj6.png) (http://imageshack.us)

Mario can jump through this wall. It is a bug caused by having the invisible coin block right next to the wall.

(http://img101.imageshack.us/img101/2830/supermariobrosjapanusa1du2.png) (http://imageshack.us)
(http://img101.imageshack.us/img101/4003/supermariobrosjapanusa1yc3.png) (http://imageshack.us)

Two objects from a block may not occupy the same screen. One will disappear if both are activated at the same time. In 3-2 it's a mushroom/flower x2. In 4-1 it's a vine and mushroom/flower.

(http://img156.imageshack.us/img156/6643/supermariobrosjapanusa1mh1.png) (http://imageshack.us)

This balance lift has a color glitch and the left pulley is glitched.

(http://img156.imageshack.us/img156/9812/supermariobrosjapanusa1gp3.png) (http://imageshack.us)
(http://img156.imageshack.us/img156/8533/supermariobrosjapanusa1ua6.png) (http://imageshack.us)

This is as far into the game as I can go. The map will no longer scroll past this pipe. Going into the pipe sends you to the cloud world without the vine filling the hole. Dropping through that hole or walking to the end of the cloud world will drop you back to the proper cloud world drop point.

I'll post more as I see them in future patches.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 24, 2008, 10:41:03 pm
thanks for pointing those out

3-1 balance error is due to me not correcting the ropes after i moved the balance thing down. - will fix

3-1 hidden coin errors - minor issues that can't be helped if the map is to be the same.  and i assume it's a deliberate trick to get you to go over the flag only to die.. later in the game there is another one which leads to a bonus room

3-3 wrong color rope.. dunno whats up with that  :o edit: looks like it was due to not having a rope object there before so the palette wasn't set

multiple object glitch - annoying but it's an engine/level design problem more than something i can fix easily

4-1 problems - dunno whats up will investigate.. edit:  well it's not showing up on my copy of the rom so either Karatorian thats a bug on your end or a bug in the patching or something.. i don't see the random floating mushroom bit at the top of the screen either.  there should be a hole after the pipe as well

thanks :)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on March 25, 2008, 10:18:59 am
I'm glad that it's you guys that are doing the port tho. It sounds like others may of not taken the port as seriously, not to mention it requires alot more than a level editor to successfully make this.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 25, 2008, 08:59:25 pm
Ok, the issue with 4-1 was due to a bug in my level extraction program. The level object data terminator is 0xFD as the coordinate information, however, my code was terminating on any 0xFD byte. As map 4-1 had two instances of object 0x7D with the new page bit, the extractor terminated prematurely. Of course, the game engine didn't, so it started reading data from the next map.

This may have also lead to additional bugs. I've rewritten the object data extration routine (and enemies extraction as well) to fix this. You can download the updated patch here (http://gis.net/~levi/gaming/smbs/smbspecial_world5-ex-v2.ips).

However, the pipe going to the cloud area is present in the original patch and not related to this bug. According to the level render and pipe info file for 4-1, that pipe isn't supposed to be enterable.

Thanks for all the playtesting. Thanks especially for the speedy reply.

Hey frantik, any idea when world 6 will be up?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on March 26, 2008, 12:36:56 am
More flaws for you guys to correct:

The last part of World 2-3 (the goal), the dark area, is supposed to play the ground-level music (as usual), despite the graphics there looking like underground. Looks like there's more code you should do in your expansion to meet this demand.

Also: In the coin bonus rooms in Worlds 1-4 and 2-2, Mario is supposed to drop down from the top. Additionally, when he exits the coin bonus room of 2-2, he is supposed to emerge from the topmost pipe upon returning to the water level.

The bonus pipe in World 4-3's sky bonus (underground graphics)... I cannot go down it.

~Ben
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 26, 2008, 01:07:05 am
The improper height of the pipe exits is a known issue an is caused by the limitations of the SMB engine. While it's on the list of needed ASM hacks, it's not as high a priority as adding the enemies and power ups.

As far as can be determined from the original level data in SMBS, 4-3 cannot be exited. Neither of the two pipes present in the area are marked as exitable. However, the pipe connection data for the level seems to indicate that it should have been. (It's little issues like these that make me wonder if the ROM circulating on the net is the final version, or some dev version.)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 26, 2008, 01:16:25 am
More flaws for you guys to correct:

The last part of World 2-3 (the goal), the dark area, is supposed to play the ground-level music (as usual), despite the graphics there looking like underground. Looks like there's more code you should do in your expansion to meet this demand.

Also: In the coin bonus rooms in Worlds 1-4 and 2-2, Mario is supposed to drop down from the top. Additionally, when he exits the coin bonus room of 2-2, he is supposed to emerge from the topmost pipe upon returning to the water level.

~Ben

re: music.. not really a priority in any way

pipes in castle levels always make you come out of other pipes in the smb engine. could be changed but it's useful in 4-4 and not a big deal.  in 2-2, sideways pipes also make you come out of pipes instead of falling from the top.  trivial from a gameplay aspect
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: generalleoff on March 26, 2008, 04:37:59 am
(http://img180.imageshack.us/img180/6475/smbspecialworld5exv2001zy5.png) (http://imageshack.us)
(http://img180.imageshack.us/img180/1110/smbspecialworld5exv2002fl9.png) (http://imageshack.us)

This area is a bit screwed up. If you enter that center pipe it will send you to a short water world. After exiting that water world you will be back on level 5-1 but the counter will still say 5-2. Completing 5-1 again will send you to normal 5-3.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 26, 2008, 05:13:19 am
the pipes should be lower.. not sure why they aren't.  is that image from the world 5 rom or the expanded rom?  if from the expanded Karatorian you put the updated pipe code in (the one with the one bug removed) right?

 fixed the one pipe in the middle which should not be enterable

Download Worlds 5 and 6 (http://www.swiftlytilting.com/download.php?file=smbspecial_world6.ips)

will put out an updated worlds 1-4 soon
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: generalleoff on March 26, 2008, 05:27:40 am
It's from the corrected expanded ROM patch that was just posted.

[edit]

(http://img152.imageshack.us/img152/7467/smbspecialworld6001eq2.png) (http://imageshack.us)

Screwed up castle.

(http://img518.imageshack.us/img518/4900/smbspecialworld6002iy9.png) (http://imageshack.us)

Screwed up piranha

(http://img413.imageshack.us/img413/879/smbspecialworld6003me6.png) (http://imageshack.us)

This is as far as I can get. Imposable to make that jump.

Also I have been noting many instances of clouds, trees, hills, and other background titles that are missing tiles. I am not going to point them all out at this stage. But I am wondering if they are like that in the original? I kinda doubt they are supposed to be that way. I also highly doubt the available dumps of those discs are in the best of shape. I'm not sure f they are bad dumps or good dumps of bad discs but some of that stuff seems to be caused by corruption in some way or another. Attempting to get hold of fresh dumps would probably be a good idea.

[edit2]

Regarding the 6-3 imposable jump. It is related to the pipes you can go down near that area. If you do not go down those pipes the falling platform will be there allowing you to continue the level. Use the pipes and the platform will be gone.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on March 26, 2008, 05:51:53 am
It's from the corrected expanded ROM patch that was just posted.

[edit]

(http://img152.imageshack.us/img152/7467/smbspecialworld6001eq2.png) (http://imageshack.us)

Screwed up castle.

(http://img518.imageshack.us/img518/4900/smbspecialworld6002iy9.png) (http://imageshack.us)

Screwed up piranha

(http://img413.imageshack.us/img413/879/smbspecialworld6003me6.png) (http://imageshack.us)

This is as far as I can get. Imposable to make that jump.

Also I have been noting many instances of clouds, trees, hills, and other background titles that are missing tiles. I am not going to point them all out at this stage. But I am wondering if they are like that in the original? I kinda doubt they are supposed to be that way. I also highly doubt the available dumps of those discs are in the best of shape. I'm not sure f they are bad dumps or good dumps of bad discs but some of that stuff seems to be caused by corruption in some way or another. Attempting to get hold of fresh dumps would probably be a good idea.

When I use the expanded ROM, all I get is a screwed-up title screen when I re-patch (I think I'm supposed to get an already-expanded SMB ROM and then patch the smbspecial_world6.IPS onto it). What do I do?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: generalleoff on March 26, 2008, 05:54:10 am
I patched world 6 on a clean normal ROM.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on March 26, 2008, 06:44:23 am
I patched world 6 on a clean normal ROM.

Apparently, so did I...

~Ben (SMB2J-2Q)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 26, 2008, 08:08:45 am
updated world 6 patch.. the platform didn't show up if you went into the pipe bonus room cause the platform was on the 1st screen when you come back out of the pipe

Download world 5 and 6 (http://www.swiftlytilting.com/download.php?file=smbspecial_world6.ips)

patch onto an original smb rom


Quote
Also I have been noting many instances of clouds, trees, hills, and other background titles that are missing tiles.

do you mean in the NES version?  yes it's due to the way the background is drawn.  ionce everything else is done i will go back and clean those up too.. i've cleaned up most ones except ones near holes in the ground.  to hide them it usually costs two objects so it's easier to wait till everything else is done first
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: generalleoff on March 26, 2008, 09:11:05 am
I haven't played with he PC88 emulators in a while. I was wondering if those are in SMBS and being you are gong for as close to a 1:1 port as possible I was wondering if you where intentionally leaving clouds and other background objects with missing titles. If there are cases in SMBS with missing tiles I was suggesting that they might be caused by a bad dump or a corrupted disc. I know other stuff was corrupted and recently fixed. In this case you probably should not duplicate them so closely. It's not an issue that should be worried about right now though. I was just curios is all.

Now to go play with the new patch.

[edit]

Oh I forgot. When you do these patches with warp zones that skip ahead in levels like the world 5 and 6 patch if it's not to much trouble could you add power ups before the warp pipe. It makes testing the map harder if you have to go into an advanced world as small Mario.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 26, 2008, 09:55:50 am
Quote
if it's not to much trouble could you add power ups before the warp pipe

who's to say there isn't already some goodies before the warp pipe?  :laugh:

you might just want to use some game genie codes or other cheats.  setting $0756 to 01 will make mario invincible.. though he will alternate between big and small haha.  if you set $0754 to 0 he will be big all the time

but there's a mushroom pretty early in 5-1 in the row of ? blocks.. it's not too hard to get to ;)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: generalleoff on March 26, 2008, 10:27:38 am
I found the 6 1-ups if thats what you are referring to.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 26, 2008, 08:00:42 pm
In regards to the pipe code, the expanded ROM still has the original version from the worlds 1-4 ROM. I had gotten it to assemble before you posted your version, and I've yet to update the code. Now that you've released world 6, I guess I'll be making a new version of the expanded ROM, so I'll update the pipe code as well.

Edit:

An expanded world 6 rom has been made. You can get the patch here (http://gis.net/~levi/gaming/smbs/smbspecial_world6-ex-v1.ips). Also included in this version is frantik's refactored version of the inverted pipe hack. Please cross reference any bugs found against the approprate unexpanded ROM. Thanks and enjoy.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 26, 2008, 11:58:54 pm
just play tested it and everything seems to be working fine except upside down pipe #2.. let me double check the code :)

edit:  i see whats up.. my optimized code will still work but it's slightly different from what i've got in the worlds 5-6 patch.  I will modify my world 5+ to have the right code so the pipes will be the right length
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: generalleoff on March 27, 2008, 08:41:06 am
From the new 1-6 expanded ROM patch. Though a few of these also exist in the none expanded patches.

(http://img292.imageshack.us/img292/2563/smbspecialworld6exv1002ml6.png) (http://imageshack.us)

This vine grows up the bottom of the screen. (both patches)

(http://img402.imageshack.us/img402/3804/smbspecialworld6exv1001gw1.png) (http://imageshack.us)

The vine goes to this room. You can not exit this room as the pipe does nothing. (both patches)

(http://img442.imageshack.us/img442/2323/smbspecialworld6exv1003di6.png) (http://imageshack.us)

This got worst.

(http://img402.imageshack.us/img402/5701/smbspecialworld6exv1004ym9.png) (http://imageshack.us)

Watching the piranha come out the opposite end of this pipe upside down is funny.

(http://img180.imageshack.us/img180/8974/smbspecialworld6exv1005wf0.png) (http://imageshack.us)

This suicidal red Koopa is in both patches but in the expanded patch you can no longer make the jump. Now you must use the pipe just before this area to get across.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 27, 2008, 01:00:57 pm
the room in 4-3 is a trap

upside down pipe issue already mentioned by myself

need to fix 6-3


edit:

updated 5 & 6.  fixed upside down pipes and 6-3's jump

Download 5 & 6 (http://www.swiftlytilting.com/download.php?file=smbspecial_world6.ips)

also Karatorian can you change this line in the code:

Code: [Select]
GetHalfway:  ldy HalfwayPageNybbles,x ;get halfway page number with offset
to

Code: [Select]
GetHalfway:  ldy #$00  ;get halfway page number with offset
or set all the halfway page nibbles to zero...
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: generalleoff on March 27, 2008, 02:51:42 pm
See that 4-3 trap thing is really bad level design. If thats rely how it is meant to work then someone over at Hudson needed to be beat down in the parking lot. I would suspect data corruption. Many cases exist in this game where you really can get stuck just for making simple errors like choosing to jump on the wrong platform and several cases exist where the flag pole is so far away from the jump platform that it is imposable to get better then 800 points. But this is the only case I know where it is deliberate. A warp back to 1-1 would be annoying but fine but trapping the player in a small room with nothing to do but let the timer run out is just bad. Unfair game play like that is NOT very Nintendo like... But I guess thats why it's only available on a crappy Japanese computer. :)

Most of the level design is actually solid, clever and fun and the port yer doing is also solid. Just some stuff from the original really needs to be corrected. I might have to resurrect my own conversion.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on March 27, 2008, 03:25:04 pm
See that 4-3 trap thing is really bad level design. If thats rely how it is meant to work then someone over at Hudson needed to be beat down in the parking lot. I would suspect data corruption. Many cases exist in this game where you really can get stuck just for making simple errors like choosing to jump on the wrong platform and several cases exist where the flag pole is so far away from the jump platform that it is imposable to get better then 800 points. But this is the only case I know where it is deliberate. A warp back to 1-1 would be annoying but fine but trapping the player in a small room with nothing to do but let the timer run out is just bad. Unfair game play like that is NOT very Nintendo like... But I guess thats why it's only available on a crappy Japanese computer. :)

Ever play super mario bros 2? That game is piss hard too, even in the super mario all stars version. Imagine how much worst it is in the original version that didn't have game saves. Also note that the timer moves faster in the msx so the wait isn't as bad as it is in this hack.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 27, 2008, 03:52:34 pm
Quote
See that 4-3 trap thing is really bad level design. If thats rely how it is meant to work then someone over at Hudson needed to be beat down in the parking lot. I would suspect data corruption.

i double checked with Karatorian and it appears to be correct.  also there is no pipe in the appropriate exit location in the whole level, so it would seem it is on purpose.  I think originally it was supposed to not be a trap but it was changed because there is also a 1up on the level which is impossible to get to and it looks like you're supposed to use a pipe to get to it, but the pipe is not in a pipe exit location (2 blocks from the chunk divider)

Quote
several cases exist where the flag pole is so far away from the jump platform that it is imposable to get better then 800 points.

yes i noticed that as well.  it makes me wonder about the physics of SMBS.. if mario can jump farther or if it's just being 'mean' lol


Quote
Just some stuff from the original really needs to be corrected.

"corrected" is very subjective ;)  we've already had quite a discussion over a bug regarding a sometimes-missing platform in 4-3 lol the trap in 4-3 is not the first trap in the game either so it's not like some fluke imo

Quote
Imagine how much worst it is in the original version that didn't have game saves. Also note that the timer moves faster in the msx so the wait isn't as bad as it is in this hack.

plus in SMB2j to see all of the bonus worlds you had to beat the game like 8 times or something lol.  and yeah the timer will be modded in the final version to run faster ;)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: generalleoff on March 27, 2008, 04:31:10 pm
See that 4-3 trap thing is really bad level design. If thats rely how it is meant to work then someone over at Hudson needed to be beat down in the parking lot. I would suspect data corruption. Many cases exist in this game where you really can get stuck just for making simple errors like choosing to jump on the wrong platform and several cases exist where the flag pole is so far away from the jump platform that it is imposable to get better then 800 points. But this is the only case I know where it is deliberate. A warp back to 1-1 would be annoying but fine but trapping the player in a small room with nothing to do but let the timer run out is just bad. Unfair game play like that is NOT very Nintendo like... But I guess thats why it's only available on a crappy Japanese computer. :)

Ever play super mario bros 2? That game is piss hard too, even in the super mario all stars version. Imagine how much worst it is in the original version that didn't have game saves. Also note that the timer moves faster in the msx so the wait isn't as bad as it is in this hack.

I do not see how the difficulty level of SMB2j has anything to do with this. SMB2j was designed to be hard but it was also designed to be fair and fun. In that game a player can screw him/her self and have to warp backwards instead of forwards but he/she can not get stuck in a room with nothing to do but let time run out. There is simply no justifiable excuse for trapping the player in a room regardless of how much faster the clock on the PC88 ran. At no point whatsoever in a Mario game should the player be put in a position where the only option is death. Thats something SEGA might do but not Nintendo :) Cheap does not equal hard.

Hudson simply did some stuff they should not have done. Some of the things they have done where fine on the PC88 but become issues on the NES. Others are just bad no matter what. We are only talking about at most 2% of the game though. The rest is really solid and well designed. All of the games issues are pretty minor and easily correctable without altering the intended design of the level in any serious way.

The invisible block issues I noted in the screen shots (flag pole and passable solid wall) I posted for example are super easy to correct without harming the level design. Just move those blocks one square left. A handful of places exist where the player can get stuck due to poor platform placement but this can be corrected. If you place a background layer title next to an enterable horizontal pipe Mario will get behind that object when entering the pipe. This is easily fixed. The player should also be able to reach 5000 points on all flag poles. A player can VERY easily become stuck in those openings designed only to let small Mario pass but this can not be blamed on Hudson :)

Anyway I wasn't going to bring up these minor technical issues and only concentrate on severe level bugs but that trap room really annoyed me.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 27, 2008, 04:40:38 pm
Quote
At no point whatsoever in a Mario game should the player be put in a position where the only option is death.

there exists at least 3 places so far in the game where this is the case, and two where it's blatantly obvious that was the intent and not careless level design.  the first is in that one block pile in  2-3 where if you're small and trap in the mushroom you will be trapped.  the second is in 3-1 where you can go over the pole only to die.   there is also a spot in 1-2 where you can get trapped if you fall down from the between the bricks near the ceiling.  that one is not so clear if it's a deliberate trap or not.

so the trap in 4-3 is not some random occurrence :)


Quote
The invisible block issues I noted in the screen shots (flag pole and passable solid wall) I posted for example are super easy to correct without harming the level design. Just move those blocks one square left. A handful of places exist where the player can get stuck due to poor platform placement but this can be corrected. If you place a background layer title next to an enterable horizontal pipe Mario will get behind that object when entering the pipe. This is easily fixed. The player should also be able to reach 5000 points on all flag poles.

invisible block issues:  the one next to the wall:  i've played the level many times and never have accidentally gone thru the wall.  even if it does happen once in a while, not a big enough deal to modify the level design imo.  the one near the flag pole, again does not affect game play significantly and thus is not worth a deviation from the level design.  the only time i deviate from level design is when the engine requires it for proper game play.  this usually only is around pipes and also bowser's room.

backgrounds and pipes: if you want to give me a list of where there are sideways pipes next to background objects i'll go and correct them.  I think i recall seeing one when i was play testing it.

flag poles:  If in SMBS mario can hit 5000 on those levels, then either the physics needs to be adjusted in SMB or the flag pole moved closer.  but in SMBS if you can't hit 5000 then it would not make sense to adjust them in the port.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on March 27, 2008, 05:19:41 pm
The trap room in 4-3 had a blue background, iirc.  Minor, but I figured I'd point it out.  There's pics of it in that DP thread where I first mentioned it.

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: generalleoff on March 27, 2008, 06:18:49 pm
I jumped though that wall my first time playing the level and I whenever I want. I guess it's just my play style. I have been playing SMB for 22 years and I play like a speed runner. I'm hardly ever standing still and I never let go of the run button.

I'm not suggesting you alter yer goal for a 1:1 port though. Just so thats clear. I just have a differing opinion on how the game should be ported. When/if I ever do my conversion I will be correcting these little things that I see as errors. Both ports are valid as far as I am concerned so just keep doing what yer doing.

Eventually I would like to do a three game muti ROM with SMB, SMBS, and SMB2j all running on the SMB2j engine with the original SMB graphics. Thats being overly ambitious though for someone with very little hacking/programing skills. I'm more about hardware. Plus in about three months I'll be heading off to Navy (US) boot camp and training as an ET. I'll proly forget all about a SMB multi ROM by then :)

Anyway I will list off the instances where the pipe glitch happens from background objects. I think it happens at least twice but it could just be the one time. Proly the one you already know about.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 27, 2008, 07:11:01 pm
Since this project started, I've been saving all the patches released, even the buggy ones. Not for any particular reason, perhaps for posterity, perhaps just because I'm a strange cookie. However, frantik fixed the world 6 patch so quickly that I didn't manage to get a copy of the bad one. Does anyone have it?

Going through the wall in some cases in a know glitch in the SMB engine. If SMBS's leve design happens to make it easier to pull off in some places, well so be it. As for traps and such, I've been in favor of an accurate port. Part of what sparked the sudden internet popularity of SMBS was it's reputation as feindishly difficult. If that includes some cheap tactics, I'm fine with it.

While I'm not sure of frantik's position on the matter, I firmly belive that ROM hackers have no basis on which to tell others not to hack thier hacks. Therefore, I'd have no objections to others using my work to create a version more to thier liking, as long as proper credit was given and an effort was made not to generate confusion between the two hacks.

The next task I'm going to be workin' on is cleaning up the Red Piranha Plant code. It jumps around quite a bit to get it to fit in the original ROM. Since I don't need to worry about maintaing the exact size of various functions, etc. I can proably condense it somewhat. It will also be an opportunity to look into how a new enemy can be added to SMB, which will be helpful with future hacks. Once I'm done with that, I'll look into implimenting some new stuff, yay!
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Googie on March 27, 2008, 08:39:27 pm
While I'm not sure of frantik's position on the matter, I firmly belive that ROM hackers have no basis on which to tell others not to hack thier hacks. Therefore, I'd have no objections to others using my work to create a version more to thier liking, as long as proper credit was given and an effort was made not to generate confusion between the two hacks.


I'll have a Heineken for you, cause you rock...  :beer:

I don't see the prollem if people wanna finish dead hacks, there's a few hacks out there I wanna finish myself cause people been waiting for years for authors to finish'em but they're gone. I asked one author if he'd have a prollem if someone wanted to finish his hack, he read the PM and never bothered replying back to me, what a busta. I should finish it anyway lol!

I remember when I finished this hack, (http://www.romhacking.net/hacks/192/) it was dead for years. All that needed to be one was edit 11 levels, of course I gotta give credit where it's due... ^^'
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 27, 2008, 11:09:40 pm
Quote
While I'm not sure of frantik's position on the matter, I firmly belive that ROM hackers have no basis on which to tell others not to hack thier hacks. Therefore, I'd have no objections to others using my work to create a version more to thier liking, as long as proper credit was given and an effort was made not to generate confusion between the two hacks.

I agree.. especially in this hack since it's very much an "open source" project in the sense that we're exchanging ideas and even code publicly :)

and sorry I don't have some of the in between world 6 patches i didnt bother to save them
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 28, 2008, 03:04:08 am
Well, I hope this doesn't end up a dead hack that needs someone else to finish. But if anyone feels like doing more than a straightforward port, with improvements to percived designe flaws, etc. I'd have no objections.

As for my philosophy on the matter, it's simple. Rom hacks exist because of the work of the original programmers, designers, and artists. Hacks exist without explicit permission and it's hypocritical to expect that others ask you for permission when you never did in the first place. While ROM hacking is legal (and I'd argue, ethical too), the simple fact is that without building on the hard work of others, the hacks are nothing. So if someone wants to build on my work (which in turn builds on the work of others) I see no problem with it. In fact, I applaude it.

As for open source, once this project is finalized, I intend to release a package that has all ASM modifications and all custom tools source code. Of course, the original SMB code is owned by big N and the level desings are copyright Hudson Soft, so it's a little too legally grey to really be considred open source, but the source will be ouyt there any way.

I appologize if this post is too philosophical to be of any use to anyone, I'm really drunk right now.

P.S. I'll check those bugs out sometime after I'm sober; Good night youz guyz. (That's new englander for "y'all".)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 28, 2008, 10:33:32 pm
it's turned into a regular party in here haha  :laugh: :beer:

finally figured out how to adjust the swimming height correctly so now water levels will be correct  :thumbsup:
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on March 29, 2008, 12:41:35 am
Please do not kill off this hack. Please don't...

I really would like to see you finish Worlds 7 and 8 on this.

Thank you,



Ben
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 29, 2008, 02:27:06 am
i'm gonna finish copying the levels over don't worry lol
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on March 30, 2008, 03:21:37 am
Frantik, Karatorian,

I noticed in World 5-2 for SMBS there are the islands that you first see in World 1-3 and the blue water graphics that you first see in World 3-1. Around the middle of the stage (5-2) there are cloud block platforms. They're all missing in the SMBS for NES hack.

~Ben
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 30, 2008, 04:01:17 am
yes that is due to the fact you can either have islands or cannons and i chose cannons because it affects game play more.  also if you want to enable clouds you cannot have breakable bricks and the level has breakable bricks, so again game play wins out over graphics.  as for the water it's not possible to make it go that high in the SMB engine.  that level is one of the most changed graphically i would say.. but the gameplay is the same.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 02, 2008, 08:25:54 pm
I've produced a new version of the expanded world 1 through 6 based on the latest 5 and 6 patch. I've also fixed the halfway points. My earlier versions simply had the halfway data from the 1 through 4 patch, which, obviously didn't work for worlds 5 and 6. That's been rectified by trivially disabling the halfway page code as suggested by frantik.

Also included is new experimental Red Pirahna Plant code. Please report any strange Piranha Plant behavior (Red or Green, the code is intertwined) that you encounter. You can get the patch here (http://gis.net/~levi/gaming/smbs/smbspecial_world6-ex-v2.ips).

In relation to the various engine limitations mentioned in the last post, I'd like to be able to overcome them, but I don't know what that would entail. Additionally, other ASM hacks will, of course, be higher priority. The water level thing should proabably be pretty easy, but the other two may be pretty complicated.

Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Googie on April 02, 2008, 10:18:07 pm
(http://img.photobucket.com/albums/v681/QB3CF/doh1.png)

That's how the Red plant looks on my end, and in the last version, Spiney was where the upside pipes were in 6-4. Now he's near the fire bar. I'll have to watch the videos again... ^^'
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on April 03, 2008, 05:27:55 am
(http://img.photobucket.com/albums/v681/QB3CF/doh1.png)

That's how the Red plant looks on my end, and in the last version, Spiney was where the upside pipes were in 6-4. Now he's near the fire bar. I'll have to watch the videos again... ^^'

My whole goal for this project should be: 60% SMB Special original + 40% SMB 1 for NES.

Additional flaws I've discovered:
The stairway is missing in the goal area in World 2-3 (dungeon graphics).
A frenzied Spiny is seen towards the end of World 4-3.
The halfway point in World 5-3 puts Mario at a pit.

Still, keep it coming on Worlds 7 and 8, please...

~Ben (SMB2J-2Q)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on April 03, 2008, 11:16:25 am
Just curious...with the errors found in the original PC8801 disk image, could the glitched image be repaired so one could properly play through it now?  It would be an excellent way to really test these levels.

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on April 03, 2008, 06:33:55 pm
Just curious...with the errors found in the original PC8801 disk image, could the glitched image be repaired so one could properly play through it now?  It would be an excellent way to really test these levels.

-Rob

You know there is a patch on the main site right? It fixes world 4-4.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 03, 2008, 08:07:43 pm
Damn, I guess I messed that one up pretty bad, doh. I must have done something wrong in the mirrored sprite graphics code, hmm. Honestly, the only reason I released the latest version was to incorporate frantik's latest level fixes. I neglected to adequately test the other changes. As a result of such sloppy practices, I've released severely buggy code. I'll try not to do that again in the future. My apologies.

If I find time tonight, I'll fix it and, this time, be sure to properly test it.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 03, 2008, 09:30:42 pm
I've released severely buggy code. I'll try not to do that again in the future. My apologies.

(http://img530.imageshack.us/img530/2919/spankyv1.gif)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on April 04, 2008, 04:11:56 pm
Just curious...with the errors found in the original PC8801 disk image, could the glitched image be repaired so one could properly play through it now?  It would be an excellent way to really test these levels.

-Rob

You know there is a patch on the main site right? It fixes world 4-4.

Nope, didn't know that.  Thanks!  I guess I thought all the patches were for the SMB rom.

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 05, 2008, 10:39:29 am
almost done with 7-4.. it uses so many objects they can't all be put in one room! the smb engine starts to wig out after a certain amount.  luckily it's a pipe maze so parts of it can be put in other rooms
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Googie on April 05, 2008, 11:39:58 pm
Nice that 7-4 is almost done, can't wait to sink my teeth into the final product...  :beer:
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 06, 2008, 04:48:14 pm
Ok, I had a busy weekend, so I didn't get around to fixing my bugs until now. I've fixed the Red Piranha Plant code in the expansion codebase and have uploaded a new patch here (http://gis.net/~levi/gaming/smbs/smbspecial_world6-ex-v3.ips). While I did test it this time, it's still experimental, so please report any bugs.

There are two known differences between my code and frantik's original hacks. The Red Piranha Plants don't come out of the pipe if you are near it and they don't move faster than the Green ones. These are both intentional and more accurately reflect the gameplay mechanics of SMBS.

Additionally, due to having hit my webspace quota, I've removed all but the final version of the level renders from my page. I doubt anyone would actually want the old buggy ones, but if for whatever reason, you do, just message me.

I hope world 7 comes out soon, so I can intergrate it into the expansion.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: strfr on April 06, 2008, 06:39:15 pm
When you kill certain enemies with fireballs and shells (AFAIK Goombas, Bloopers, Spinies, Hammer Brothers, Lakitus, and Cheep-Cheeps, NOT Koopa Troopas or Buzzy Beetles), their graphics glitch - not unlike how Green Piranha Plants die without any cover (i.e. a pipe).  If you don't know what I'm talking about, the lower 4 tiles of the sprite is shown, then the upper 2 sprites are shown after a few seconds.  I suspect Bullet Bills are affected by this as well, since it seems as if the non-shelled enemies have trouble...dying properly.  :P  I think it's a good guess that killing these enemies with Starman invisibility also causes these glitches.  Otherwise, I haven't found other glitches so far - very impressive job with the port so far!   :)

EDIT:  Podoboos do not mirror properly when they go down.  The tiles themselves are mirrored, but their positions are not.  The balance platforms in the outside 3-1 area don't align properly with their ropes.  The left rope of the second set of balance platforms in 3-3 turns green when it moves, so it doesn't seem to change palette properly.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 06, 2008, 06:49:42 pm
when reporting bugs please state which ROM you are using :)

i suspect that you're using the rom with Karatorian's custom piranha plant code which he has acknowledged is buggy
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: strfr on April 06, 2008, 06:53:13 pm
when reporting bugs please state which ROM you are using :)

i suspect that you're using the rom with Karatorian's custom piranha plant code which he has acknowledged is buggy
Yes, it is indeed Karatorian's most recent version that I was reporting on.  Sorry!  ^^;
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 06, 2008, 08:32:35 pm
oh i didnt notice karatorian had just put out a patch in the post before yours.. so it should have been obvious which patch you were talking about.. so i should be saying sorry lol  :D

and Karatorian I can host stuff without fear of hitting my quota if you like :)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 07, 2008, 08:06:05 pm
Hey, thanks for the offer, but removing the old level renderers freed up about 4 megs, so I shouldn't hit it again anytime soon.

Well I tested the Pirhana plants, but I guess I introduced some other bugs which I didn't notice. I'll have to look into that. Lukily, based on the description of the bugs, I have a good idea where the problems might be.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on April 07, 2008, 08:14:17 pm
You surely dont really mean 4 MEGS do you? Cause NES games don't usually run that large. You must mean 4 kilos.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 07, 2008, 09:16:54 pm
he means the rendered PNG images of the levels.  each old pack was a little under a megabtye.

just need to finish checking for layout errors and ill post up the world 7 patch.. hopefully ill get the time to finish it to night
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 09, 2008, 01:02:11 am
Download World 5 thru 7 patch (http://www.swiftlytilting.com/download.php?file=smbspecial_world7.ips)  :)

includes water graphics height changes and mario swimming height changes.  need to implement swimming height changes for bloobers still

next i will release the 1-4 patch with water level changes and other various bug fixes
edit: here's that patch

Download World 1 thru 4 patch (http://www.swiftlytilting.com/download.php?file=smbspecial_world4b.ips)


four more levels to go :)

Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on April 09, 2008, 03:25:56 am
Some flaws I discovered:
*In the World 7 patch, after you leave the bonus room in World 7-3, you are returned to the beginning of it.
*In the World 4(B) patch, the game doesn't end at World 4, as Mario moves on to a glitched-up World 5-1. But I did discover the elevator bug in World 3-1 was repaired.

~Ben
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 09, 2008, 04:02:37 am
oopsies

fixed both those bugs and replaced the ips files.  (sorry karatorian ;))

edit: got 8-1 and 8-2 done.. almost there.. :D
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on April 09, 2008, 09:45:37 am
So when world 8 is done, then what? Are you gonna make some asm changes? or is it straight to the custom made patcher?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 09, 2008, 05:05:41 pm
once i'm done with the levels i'm going to start looking into how to add the hidden power up blocks. I feel those are necessary to replicate the game play properly for multiple levels.  I also think adding at least the falling spike enemy would be a good and not too difficult addition.

the "flying" and "clock" power ups wouldn't be so hard to implement either, though i'm not sure how to implement the actual power up sprite routine.  also these are only used like once each in the whole game, and are hidden power ups anyways, so gameplay isn't as affected

Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on April 09, 2008, 05:45:55 pm
once i'm done with the levels i'm going to start looking into how to add the hidden power up blocks. I feel those are necessary to replicate the game play properly for multiple levels.  I also think adding at least the falling spike enemy would be a good and not too difficult addition.

the "flying" and "clock" power ups wouldn't be so hard to implement either, though i'm not sure how to implement the actual power up sprite routine.  also these are only used like once each in the whole game, and are hidden power ups anyways, so gameplay isn't as affected



Whoa, wait, flying and clock power ups?  I knew about the hammer and the bee, but where did these come from?!  Wow. 

When this is finished, it would also be great to have a list of what could and could not be implemented from the original (NES limitations and such).

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 09, 2008, 05:50:59 pm
yep.. can't recall which level has the "flying" power up (it's really more like swimming according to Karatorian) and the clock showed up for the first time in world 8.  it just adds time to the game clock
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 09, 2008, 07:59:28 pm
The wings power-up is in level 4-1.

I was able to fix the graphical glitches introduced by my reworked Red Piranha Plant code pretty easily. However, while testing that, I noticed two other things about the Red Piranha Plants that needed fixing. Firstly, I renabled the code that I thought would make the Red Plants stay in their pipes when Mario is nearby, but it was working totally backwards. Rather than not come out, they'd not go in instead. This was as a result of the fact that they where moving in the opposite cycle as the Green Plants.

This also lead to the other issue I noticed. The plants where not syncronized properly. When a Green Plant and a Red Plant are near each other, they ought to move out of the pipe and and go back in at the same time. (Provided, of course, their cycle hasn't been disrupted by "hiding".) Instead one moves out while the other moves in.

To fix all of this, I've basically rewritten the Piranha Plant intialization code. Based on code from the original game, frantik's rewritten Green Piranha Plant code, and the Red Piranha Plant code from an unknown Japanese hacker, I've created a cleaned up implimentation of both plants types. However, I had to go to sleep last night before it was completely finished.

I should have the modifications complete sometime tonight. Once I get that done, I'll release a new expansion patch that incorportates the new plant code, worlds 1-7, and the bug fixes in levels in 1-4.

Once I'm done with that, I plan to look at fixing the graphics on the bottoms of the inverted pipes. While the fact that they're upside down is easy to ignore while playing the game, they stick out like a sore thumb in a sreenshot. Additionally, all this Piranha Plant hacking has given me a pretty good idea how to impliment new enemies in the SMB engine, so I'll look into that as well.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 09, 2008, 09:20:21 pm
it shouldn't be too hard to change the pipes, though it will require 8 tiles of CHR rom to do properly.  we could put the title screen information on a second CHR rom page which would free up a bunch of tiles

glad to hear you've got a handle on the enemies though :D

oh and hey you might want to hold off for a day on the new ROM cause i'm almost down with world 8
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 09, 2008, 11:28:59 pm
It's too late to hold off, I finished the latest patch before reading your message. You can get the patch at the usual place (http://gis.net/~levi/gaming/smbs/smbspecial_world7-ex-v1.ips). While I have extensively tested the new Piranha Plant code, there may still be issues, so please report any bugs that still remain. Thanks once again for all the feedback so far.

With the addition of world seven, space has gotten very tight in banks zero and three. I was only able to get it all in due to the reduced size of my refactored Red Piranha Plant code. In order to fit in world 8, I'll have to relocate more of the ROM to another bank. I've yet to investiage options for such relocation. Hopefully I'll be able to find some code that can be reloacted as easily as the sound engine was.

In light of this, my focus will instead be investigating how the ROM can be further rearranged. Only once I've found a solution to this will I have time (or space) to impliment additional gameplay related hacks.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 10, 2008, 12:45:30 am
how about moving the level data and/or the whole level decoding engine? 

check DecodeAreaData
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on April 10, 2008, 01:54:20 am
oh and hey you might want to hold off for a day on the new ROM cause i'm almost down with world 8

Anybody else down with the world 8? I know I am!
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 10, 2008, 04:20:43 am
w00t!  finally finished with porting the levels over  :woot!: :woot!:

Worlds 5 - 8 patch (http://www.swiftlytilting.com/download.php?file=smbspecial_world8.ips)

This patch incorporates some other changes.

The current world 1 - 4 file is not suitable to be joined with this one because of the floor mods.

Changes include:

- Slight modification to floors.  Here new code to add to source (search for comment and replace values):
Code: [Select]
      .db %11111110, %00011000 ;ceiling 8, floor 2

- Modified platforms so they are always 6 blocks wide (instead of 4 blocks in castles and  after 5-3)
- changed world for underwater castle bricks
- set timers right for all levels (hadn't done that at all before) - still need to change timer value.. will determine how long it takes mario to run a certain distance and adjust timer accordingly
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on April 10, 2008, 04:46:52 am
Found another flaw: at the bonus room in World 6-3, when you leave it you come right back to it.

~Ben
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 10, 2008, 05:25:58 am
^ corrected.  the pipe connector was there just set to the wrong world.  also removed a lot of junk objects and enemies which were stuck on the end of a few levels.  replaced the rom with the updated one.

working on world 1 - 4.  the floor changes freed up a fair amount of tiles.. now going through and checking the background stuff which i was kinda lazy about at first

edit:  finished with worlds 1-4 patch.  This patch is suitable for merging with the 5 - 8 patch, assuming the floor code has been modified in the expanded rom. 

Worlds 1 thru 4 (http://www.swiftlytilting.com/download.php?file=smbspecial_world4c.ips)
Worlds 5 thru 8 (http://www.swiftlytilting.com/download.php?file=smbspecial_world8.ips)

Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 10, 2008, 06:23:52 pm
Well, the changes you've made have definetly optomized things pretty well. The size of worlds 1 - 7 went from 8025k to 7500k. However, with world 8, it goes to 8319k, so it won't fit. I'm about to look into relocation options now. I'll let you know what I find out soon.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 10, 2008, 07:10:22 pm
good to know I was able to make a decent reduction in the size.. what is the current maximum size allowed for just level data?

edit.. actually.. hey don't we have a whole empty bank?  why not just put the first 4 worlds in one bank (plus the program code of course) and the other 4 in the other bank (with the same code).  then swap the banks at world 5.    this is basically what i'm doing for SMU..  if you switch the banks in the end of world code it's completely transparent.  sure its "wasteful" in that the same program code is included in both banks but it's a lot easier than trying to find another large self contained block of code like the sound engine.  and the bank is already there anyways completely empty so might as well fill it.  there would still be plenty of room in the other two banks for new program code
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: hap on April 10, 2008, 07:37:44 pm
Thought about relocating to WRAM ($6000-$7FFF) by copying to it at init, simulating it like a hardwired bank?
Out of interest, could you give a technical summary what's been done?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Disch on April 10, 2008, 07:40:26 pm
went from 8025k to 7500k.

o_O

uhhh.... wtf?  Am I reading that wrong?  or is your ROM 8 megabytes now?

Even if you mean "kilobit" (which is a retarded term, but don't get me started), that's still 1MB
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: tc on April 10, 2008, 07:55:50 pm
1MB? Yeow. I think you need to use some mapper magic for an NES to handle games that size.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 10, 2008, 07:55:58 pm
i suspect he meant bytes?

since space is at a premium, you can shrink down the halfway entrance code

new code (also remove HalfwayPageNybbles)

Code: [Select]
PlayerLoseLife:
             inc DisableScreenFlag    ;disable screen and sprite 0 check
             lda #$00
             sta Sprite0HitDetectFlag
             lda #Silence             ;silence music
             sta EventMusicQueue
             dec NumberofLives        ;take one life from player
             bpl StillInGame          ;if player still has lives, branch
             lda #$00
             sta OperMode_Task        ;initialize mode task,
             lda #GameOverModeValue   ;switch to game over mode
             sta OperMode             ;and leave
             rts
StillInGame: lda #$00                 ;beginning of the level
SetHalfway:  sta HalfwayPage          ;store as halfway page for player
             jsr TransposePlayers     ;switch players around if 2-player game
             jmp ContinueGame         ;continue the game


you can also remove the warp zone related stuff such as
* ScrollLockObject_Warp (would be good if you removed the pointer to this subroutine from the table as well)
* WarpZoneObject

Also the in SMBS there are no whirlpools (holes which suck you down) so that needs to be disabled and removed as well.

new code to disable whirlpools.
Code: [Select]
Hole_Empty:
            jsr ChkLrgObjLength          ;get lower nybble and save as length         
            ldx AreaType                 ;get appropriate metatile, then
            lda #$00          ;render the hole proper
            ldx #$08
            ldy #$0f                     ;start at ninth row and go to bottom, run RenderUnderPart

remove these blocks of code:
* HoleMetatiles
* ProcessWhirlpools (and also remove call to ProcessWhirlpools in GameEngine)


that should free up a lil space.. not sure if it'll be enough.  firework code could also be dropped
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: hybrid on April 10, 2008, 08:58:33 pm
i thought they had warpzones in SMBS ? btw great work on this game
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on April 10, 2008, 09:04:21 pm
He must be talking about those picturesa of the levels.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 10, 2008, 09:21:42 pm
no warp zones in SMBS.  in 4-2 there is what seems like a warp zone but it's a trap to send you back to the beginning of the level
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 11, 2008, 12:43:54 am
Thanks for the hints on stuff that could be trimmed down. At the moment I'm working on relocating the level data and every fuction that requires direct access to it to bank one. While not as easy as moving the sound engine was, things are going pretty well. I've only got one function left that's unhappy about being relocated. But I know what's wrong with it, so it shouldn't be too hard to fix.

While this does free up tons of space, it's also lead to the code being hacked to bits. Perhaps just deleating unused functions will be cleaner and less likely to cause obscure bugs. If enough space can be freed that way, perhaps that'd be the best option. To fit in worlds 1 through 8, we'd need to delete about 300 bytes of stuff. Can we do that?

I actually though about relocating the level data to SRAM. That's how Final Fantasy does it, so I'm familiar with the technique. I'll have to look into that as it may be cleaner than my current method.

And yes, I meant bytes before. I don't know why I put the "k" in there. Perhaps my brain was still fried from the hour and a half drive home from work. He he.

Anyway, I've got to get some sleep. I may get the 1 - 8 expanded ROM patch up sometime tomorrow, but I may also have other things to do, so I may not.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on April 12, 2008, 04:45:11 pm
How are things coming on the NES SMBS project?

Oh, and before you start distributing the complete patch with Worlds 1-8, please do a thorough test of all the levels first so that if you come across any outstanding graphical errors, you'll be sure to correct them before final release.

~Ben
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 12, 2008, 06:11:08 pm
After some consideration, I decided to use the SRAM loading method, rather than move all the level loading functions to a seperate bank. While I never finished the other method, it was ugly as sin and would have proabably introduced countless bugs that'd taken ages to track down and fix.

Basically, how it works is pretty simple. All the level pointers and whatnot are still in the main banks, just like the normal game. The actual object and enemy data has been moved into bank one. Also in bank one is a small function that copies the data into SRAM. From that point on, everything runs just like normal.

The total level data for worlds one through eight totals 8319 bytes. Of this, 269 bytes are headers and are stored in the main banks. The other 8050 bytes are the level data and are stored in a dedicated bank to be loaded into SRAM. This basically means that the level data (not including headers) could grow another 142 bytes before we have space issues. Hopefully that won't happen.

I've incorporated worlds 1 - 8, the changes to TerrainRenderBits for the latest patchs, and all the other changes so far. You can get the patch here (http://gis.net/~levi/gaming/smbs/smbspecial_world8-ex-v1.ips).

While I agree that intensive testing is needed before we release a final patch, I wouldn't consider this patch final. There are still a lot of things to be done. Honestly, despite all the hard work done so far, I think we've really only done the easy bits so far. There are several enemies and powerups yet to be added. Additionally, there are several engine limiations that compromize the accuracy of the port.

Now that the levels are pretty much done. I intend to go straight into gameplay hacking. I'm interested in compiling a list of outstanding differences between the games so that we have a checklist of things that need to be done.

I'm going to clean up my source code and will be making it availible to those who wish to help out with ASM hacking.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Hamtaro126 on April 12, 2008, 06:31:18 pm
Fantastic! I was planning to do levels in SRAM, But you beat me!

Can you please give me the source if possible, I really want to save space now.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on April 12, 2008, 06:41:36 pm
Actually what could be nice is if you could modify a level editor to work with an expanded rom. I imagine SMB hacks could get even better if they weren't so limited on space.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: hybrid on April 12, 2008, 08:27:21 pm
i noticed with the expanded rom theres no flags on the flag poles in the later worlds noticed on 7-1
pluss the 8-2 in the pc88 version looks diffrent from the one in the roms
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 12, 2008, 08:46:17 pm
nice job Karatorian :)

Quote
I'm interested in compiling a list of outstanding differences between the games so that we have a checklist of things that need to be done.

Ok well off the top of my head

Blocks:
Hidden blocks with power up
? blocks with starman

Power ups:
Bee
Hammer
Wings
Clock

Enemies:
Crabs
Flies
Falling spikes
Barrels
Flaming barrels
Long firebar spinning left


Quote
the 8-2 in the pc88 version looks diffrent from the one in the roms

it's not techincally possible to create that crazy castle :(  the code should be hacked to not include the blocks at the bottom of the castles in that level though

also in 7-1 the flag disappears when you get the power up or 1up which is close to the pole.  the flag sprite is treated like a power up and only one power up is allowed on the screen


edit:  hmm i noticed i was a little over zealous with the optimization and removed the 1up from 1-2.  will have to fix that
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: hybrid on April 13, 2008, 04:25:41 pm
i wasn't really talking about the castle
in 8-2 it starts with the castle on the island (musroom looking thing) a pitfilled with water than an L Pipe which leads to the underwater scene, and falling in the pit gets you to the wter room. every thing else is the same that i could see in that level.

Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 13, 2008, 04:47:00 pm
the water isn't included cause in SMBS it is lower than it is possible to put it in SMB.  the L pipe is replaced with a regular pipe cause if you go in the sideways pipe entrance it will cause you to exit a pipe not fall from the top of the screen.  as for the falling in the pit and being in the water section, how do know that happens?  you've played it?  or seen it on a video?

edit:  i put the 1up back in 1-2
http://www.swiftlytilting.com/download.php?file=smbspecial_world4c.ips
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: hybrid on April 13, 2008, 06:24:54 pm
i acutally played it. i loose one life and start in the water section
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 13, 2008, 06:44:05 pm
I was thinking that might have been the case.  that level has a "secondary level entrance" which is used after you die.  I bet if you let time run out in 1-2 before you go down the pipe, you would end up in the underground part after losing a life.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 13, 2008, 09:16:17 pm
As promised, I've cleaned up the source code and am providing it here (http://gis.net/~levi/gaming/smbs/smbs-src-0.8.0.tar.bz2) for interested hackers. Also, I've produced a new patch (http://gis.net/~levi/gaming/smbs/smbspecial_world8-ex-v2.ips) which incorporates the small changes I made while cleaning it up.

On the surface, nothing (should) have changed. Under the hood, things are a little bit different. I restored the level looping code. We don't need it, but I figured that others might be interested in the ROM expansion for thier own projects, so that makes it easier on them. I also made a few minor code changes, mostly to organize things nicely and to optimize a few inefficient hacks.

Now that I've gotten that out of the way, I guess I'll have to go back to my orginal "next step" and fix the inverted pipe graphics.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 13, 2008, 11:16:25 pm
^ you used the latest update to worlds 1-4 (http://www.swiftlytilting.com/download.php?file=smbspecial_world4c.ips) right?  (updated earlier today :) )
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Googie on April 13, 2008, 11:39:10 pm
Cool, I'm gonna play these patches before hitting the bed.  :thumbsup:

EDIT: I found this bug...

(http://img.photobucket.com/albums/v681/QB3CF/toitle_bwick.png)

Stuck in a brick *Laughs like Peter Griffin*

I played through both patches, everything else went smooth...  :beer:
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 14, 2008, 06:32:05 pm
Yes, I used the latest 1-4 patch.

Goonie, which patch did you find that bug in? The 5-8 patch from frantik, my 1-8 patch, or both?

I've looked into implimenting the additional eight blocks required to impliment all of those used in SMBS. While I've only done some preliminary investigation, it doesn't look like it'll be that hard to add them. I'll investigate some more and let you know what I find out.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: marioxb on April 14, 2008, 07:05:54 pm
Are there any complete maps of both the original PC88 version and this version? If not, can they be made availiable? I want to be able to look at both versions side by side w/o playing them or watching videos.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Googie on April 14, 2008, 07:21:15 pm
Karatorian: my bad, I forgot to say which patch I used when I found that bug. I used your latest patch world8-ex-v2.ips. ^_^;

Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Hamtaro126 on April 14, 2008, 07:30:00 pm
There is one thing about the .PY file in the TOOLS directory: Python support in Windows 98 isn't supported anymore. So you might have to rewrite it to another language!

I would go with the programming language called Euphoria. It supports a whole lot of OSes, Including Windows.

(or make an EXE using PY2EXE, Although it is not even a good idea in windows 98)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 14, 2008, 08:51:20 pm
Quote
I've looked into implimenting the additional eight blocks required to impliment all of those used in SMBS. While I've only done some preliminary investigation, it doesn't look like it'll be that hard to add them. I'll investigate some more and let you know what I find out.

you'll have to mess with "ClimbMTileUpperExt" among other things if you do that.  not sure where the data telling the game how many blocks total of each type is though.  edit:  acutally i see you just change the pointers in MetatileGraphics .  Course then there's the additional problem of changing the level data decoder to recognize the new objects too lol

googie:  yeah i knew about that bug i thought i fixed it before the patch went out

marioxb:  i wish i knew an easy way to render the SMB levels to graphics cause we have the SMBS ones already
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 15, 2008, 04:23:48 pm
In regards to Python not being supported on Windows 98, well '98 is no longer supported by Microsoft either. My position is that Windows is unsupported by my code. Sure, seeing as it's written in Python and I avoid OS specific modules, it should work wherever Python is supported, but if it doesn't I don't loose much sleep over it. While it may seem elitist, I got fed up with Windows back when I was running Windows 95, and I've never looked back.

One thing I did consider doing, but decided against was to provide the contents of the "data" directory to provide easier build support for non un*x users. In retrospect, perhaps I should have done so.

As for rewritting the level extrator in another language, I have no interest in doing so, especially if the only reason to do so it for '98 support. Python is my language of choice and I only code in other languages if there is a compelling reason to do so. I don't feel that in this case there is.

In regards to the new blocks, I actually started my investiagion by looking at DecodeAreaData, so I know how to handle that part. Additionally, I've looked at the metatile stuff and the BumpBlock routine, so I've got a pretty good idea as to what's required to add new blocks.

However, on further investigation, I've discovered a few things that may complicate matters. SMB object IDs are seven bits long. However, for normal objects, they're divided into two classes. If any of the upper three bits of the object ID are set, the object is considered a Large Object. If none of the upper three bits are set, the object is a Small Object.

This effectively limits the number of Small Objects (which blocks are) to sixteen. SMB uses twelve small objects, all which we need. In addition we need seven more blocks. This presents a bit of a problem. However, five of the additional blocks are all hidden blocks containing the (rare) new power-ups. I've considered several methods whereby all five of these blocks could be represented by a single object. How exactly that would work out depends on whether any given level or world requires more than one of them.

I've considered two methods. The first would be to simply hardcode the power-up based on the current world (or level, if required). This would proably be the simplest, but it'd be inflexible and wouldn't work if any level requires more than one new power-up. The other method I considered is to use an unused special row object to set the power-up type. This would be more flexible, but it would require a free byte of memory to store the power-up (memory is pretty tight in SMB, but I could use the SRAM) and would expand the size of the level data by two bytes for each special power-up.

The other snag is that the bump block code expects the block objects to be a sequencial range of IDs. Unless I can come up with a work around for this, adding any blocks would require renumbering three objects, specifically, the WaterPipe, EmptyBlock, and Jumpspring objects. I'd rather not do this as it'd require even more special effort on the part of anyone editing levels for the modified engine (frantik in the case of our port).

However, I think I can work around the issue by allowing the block handling code to treat these objects as blocks, but simply ignore them. I've yet to investigate whether this will cause any issues, but I think it should work. It's not as clean as I'd like, but renumbering existing objects seems be a bit excessive. (I'd do it if it was a solo project, but I have others to consider and would prefer not to break too many existing tools.)

So anyway, that's the state of the investigation in adding custom blocks. I'm going to go hack the code and see if what I've figured out in theory works in practice.

Oh, and one last thing. The current source release and expanded patch are missing one change from frantik's patches. The size of the platforms isn't fixed at six tiles. It's a pretty easy thing to fix, but I forgot all about it.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 15, 2008, 06:47:04 pm
I was thinking of doing a PHP port of the level extrator but i don't fully understand the action of struct.unpack which is used heavily
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 16, 2008, 08:29:06 pm
If you wish to port the level extractor to another language, feel free to do so. The struct module is used to access raw binary data, which, as a very high level language, Python doesn't have direct support for. Basically, struct.unpack turns a string containing binary data into Pythonic high level types and struct.pack does the opposite. What sort of data it deals with is specified by the format string. For the full details, see the struct module documentation (http://www.python.org/doc/current/lib/module-struct.html). While it looks complicated, it's actually pretty easy to use.

Please keep in mind that the level extractor isn't the cleansest code around. In fact, if it weren't basically required as part of the SMBS for NES build proccess, I wouldn't have released it in it's current state. At some point in the future, I intend to clean it up, make it's features more generic, add a user interface (command line, of course), and package it as a general purpose SMB level manipulation utility. At such time I will proably release stand alone binaries (created with Freeze and PyExe) in addition to the source release.

Finally, I've yet to decide on a license for the level extractor or other original source code produced for this project. While the SMB dissassembly and most of the modified code are derivative works of Nintendo owned code and are legally grey or outright illegal, other code, such as my mapper drivers, the level extractor, and the build scripts are all copyrighted by me. The current copyright notice on this code, "All Rites Reveresed", is a placeholder that will be filled in with a proper licence statement once I decide on a licence. That said, I will be using some sort of open license, so anyone producing derivative code in the interim will not suddenly be denied the right to do so.

On a different matter, my work on the block code was interrupted by other conserns, so I haven't produced any results as of yet. I hope to get at least some work done on it later tonight.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 16, 2008, 08:40:10 pm
yeah instead of a more or less direct port of your code it think i would be better off just starting from scratch.  could you provide the extracted level data so i can see what the output should look like?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 16, 2008, 09:40:22 pm
To assist frantik with building his own level extration tool and to allow building of the ROM by persons without Python, you can download a pack containg the level data here (http://gis.net/~levi/gaming/smbs/smbs-levels-0.8.0.tar.bz2).

The level data is spit into two files. One is a ".bin" file containing the level headers (pointers, etc.) and data, and the other is a ".s" file containing machine generated ASM code that defines lables required by the main source code and other administivia. The generated ASM is included in two places in the source proper. Due to some conditional compilation options, the file does different things at these to locations.

The first place in in the main banks where there the level data originally was. Here it defines a number of lables and includes the portion of the binary that contains the level headers. The other location is in the dedicated level bank. Here it included the level enemy and object data. (Which is copied into SRAM on boot up.)

The reason that the level data was split from the level headers is that the total size is greater than 8k, so it wouldn't all fit in SRAM. By leaving the headers in the main bank, the level data proper fits into the SRAM.

The SMB level headers are fairly complex and not documented anywhere I could find. If you need any help understanding their format, please let me know. (I've been thinking about writing a comprehesive doc on the SMB level data format, but it's only one item on a long list, so it may be some time before (if ever) I get around to it.)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 16, 2008, 10:31:15 pm
so the pointers tot he level data ends up being hardcoded into binary file huh?  what is the starting memory location of the level data (basically the location the the first pointer points to?) 

Also how does the compiled code know where to look for the pointer table?  the info in the binary file has no labels or whatnot.  for example "WorldAddrOffsets" is called in the source but i cannot find the label anywhere. 


edit:  oh DahrkDaiz did a document with info on level headers and whatnot: http://www.romhacking.net/docs/76/
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 17, 2008, 06:20:04 am
The labels are defined in "levels.s". The data offset is $6000, the start of SRAM, which is where the data ends up by the time the game engine gets ahold of it.

I've got the doc you mention, but it's too incomplete to be really useful when writing something as complex as a level extractor. In particular, it doesn't cover the pointers or offsets at all.

I've managed to hack in three new block types. They are a qestion block with starman (object ID 0x0C), a hidden block with super mushroom or fire flower (0x0D), and a hidden block with special power up (0x0E).

I've also hacked a little bit on power ups and added a placeholder power up for the new ones. As I haven't implimented a method to select which power up the special block gives, it currently gives a black koopa shell that gives a one up.

You can download the source here (http://gis.net/~levi/gaming/smbs/smbs-src-0.8.1.tar.bz2).

I've managed to find a level editor that works in Wine (YY Mario Edit), so I may release a patch with the new blocks sometime soon. However, I have to go to work now.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 17, 2008, 06:45:42 pm
ok cool now i get it :)

good job on adding the new block types :D  and i tried to make it easy on you by placing "placeholder" blocks" where the new blocks should be so you could go in and edit them without a level editor:

Most of the hidden mushroom/fireflower boxes are replaced with visble mush/FF blocks.  Most of the other hidden power ups are replaced with hidden 1ups
Most of the ? with starman are replaced with brick blocks with starman


edit:  ok one more thing..  how do you determine when to stop reading "World8Areas"?  It's easy to tell where "World7Areas" ends because you can use the offset for world 8 to know where world 7 ends.  but there is nothing obvious which tells you where World8Areas ends and EnemyAddrHOffsets begins.  this same type of problem looks like it will occur when using the other offsets as well so i must be missing something lol

edit2:  looks like you hardcoded the last "offset" into the code (if world == 8: b = 36).  i guess that works cause there will never be more than 36 rooms in the original rom right?  how many rooms in SMBS?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 18, 2008, 03:22:19 am
True, I hard coded the end of world eight in the extraction portion of the code. There is really no concrete way to know where the SMB world map numbers end. As for SMBS, I don't really know. While it's easy to figure out by lookin' at the offsets in "levels.s" (37 with the current level set), I've never had any reason to check. My code simply produces as many as required and, as such, has no hard coded limit. (AFAIKT there is no limit whatsoever in the SMB engine itself, except the (eight bit derived) limit of 255 worlds and 255 levels (including pipe intro sequences) per world. Of course, with a room limit of 128 (32 indices times 4 types), that's way more than anyone needs.)

As for adding the extra blocks, it wasn't as easy as I thougt it'd be due to various complications. If I was willing to alter the IDs of existing objects, it would've reduced the changes by about a third, but would, of course, have broken every level. Adding power ups is actually really easy. (Makin' them do interesting stuff may not be.)

As I'm well on my way to implimenting the special powerups and intent to work on enemies soon as well, we're gonna' need some graphics hacking. (Actually, I'm pretty good with GFX myself, but my low res, limited color, works leave something to be desired.) Frantik, as evidenced by your (exellent, I would venture) work on Ultimate SMB, you've achived total mastery of SMB graphics. It would be great if you could produce what we need. (Provided you have the time, of course.)

While I can provide reference shots from the PC88 game if required, I'll simply refer you to related NES and SNES games for now.

From the original Mario Bros., we need (animated) sprites for the Fighter Flies and Side Steppers.

From Donkey Kong we need Barrels, Flaming Barrels, the Hammer Power Up and Hammer Mario (Jumpman in original DK) animation sequences. (I belive we need both small and super mario hammer animations, I'll check tommorow.) In regards to the Flaming Barrels, in SMBS, they look a lot like like Sparkies, so I'd suggest SMW as a reference as well.

The falling spikes have no real pre-SMBS precedence. Wikipedia claims they're supposed to be falling iceicles!? However, with the chosen pallet and (indistinct) sprites, they're pretty open to interpretation. They look pretty similar to the (clearly) spikes in SMW, so I'd recommend that as a reference again.

The wing power up looks pretty much exactly like a SMB3 P-Wing sans the P.

I'm tempted to recommend SMB2 (US, Doki Doki Panic) as a reference for the clock, but given the vastly different function of the item, perhaps that's a bad idea. Something distinct, but still clearly a clock, would be better. I'll post the PC88 graphic when I get the chance.

That only leaves the Hudson Soft Honeybee and the Unidentified Power Up. As the PC88 Honeybee looks more like a bad graphic of a treasure chest than a bee, I'm not sure what to recommend as reference. Perhaps I (or you) can find a good rendering of the Hudson logo to base it on. As I have know idea what the Unknown power up is even supposed to be, I've got no suggestions for references. (I'll post some screenies sometime soon.)

Finally (not to step on a fellow artist's toes), a brief bit on style. While the images in USMB are amazing, they're more SMB3 than SMB. I think it'd be better to stick to an (extreemly) old school style to better mesh with SMB. Of course, given your artistic brilliance, I proably didn't have to mention this, but whatever.

While I've specificaly asked frantik's help with graphics, anyone else who can push pixels is welcome to contribute as well. Given the enormity of this undertaking, more than two hackers working on it would be nice.

In regards to the special blocks, etc. I noticed the placeholders and they're pretty handy. On the other tentacle, editing raw SMB level data with a hexeditor isn't very easy. While I had some success with YY-ME, it's not really going to work out. While it can easily enough create 0x0E objects, its strange interpretation of the object IDs makes adding (real) 0x0C and 0x0D objects impossible. It's a pity SMB Utiliy seg faults under Wine as it's raw hex access feature is perfect for this sort of hack.

One way or another, I'll get the new blocks added where they need to go. What this project really needs is an open source (or, at least, source availble) SMB level editor. Unfortunately, AFAIK, there isn't one. I may end up implimenting one of my own. If I do, it wouldn't be like any other level editor out there. Instead, it'd be more like a special use hexeditor.

Anyway, I've got to work in the morning, so good night.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 18, 2008, 03:34:22 am
ok well i'm not 100% sure we'll be able to fit all of those enemy sprites on the sprite page of the CHR-ROM but i'll see what I can do :D  And of course i'll make them fit stylewise as well :)  thanks for the suggestions on sprite sources too

dont think i'll need any screen shots the level rips should be fine [edit: actually screen shots of the power ups woudl be cool]

and if you want to tell me what hex values represent what objects i'll go thru and put them in with SMButil..

edit:  got 1/2 my level extractor done.. it extracts stuff nicely.. now time to build the new data file with it :)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 19, 2008, 12:46:28 pm
If you can't manage to get all the sprites into the CHR-ROM, don't worry about it for now. As long as you get the graphics themselves produced, then we can worry about squeezing them all in. I'll try to get some screenshots produced soon.

The hex values for the blocks I added are all listed in the post I made about them on Thursday.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 19, 2008, 10:33:45 pm
ok i see the values and ill add them in. though the one will cause an L pipe or flag (i forget which) in the editor and in the non-expanded rom unless it's disabled

here's some sprites i pulled off various sprite sheets

(http://img413.imageshack.us/img413/3580/82969209qh0.gif)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on April 20, 2008, 11:20:11 am
The hudson bee is used in Milons secret castle. I think it adds a bar of energy to your  max hp. It also refills your health. Maybe you wanna see what it does in other hudson games.

It's gonna be trippy seeing this patch finished. Expanding the rom, object filled levels. New items. Pretty epic.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 20, 2008, 01:53:29 pm
In regards to the new blocks rendering improperly in the un-expanded ROMs, yes, that will be a result. This is because when the game encounters a small object in the unused range (0xC - 0xF), it simply falls through to the next category of objects in the jump table (special row 13). As I understand it, there will be spurious L Pipes, Flag Poles, and Axes if the blocks I've added are used in an unexpanded ROM.

(I've realized in retrospect that YY-ME could actually be used to add the new blocks. The "strange interpretation of object IDs" I mentioned before is actually a reflection of the game behavior. However, as it doesn't seem to fully handle the offsets and such, it appears that which level is which room is hard coded, which makes finding the levels in your ROMs pretty tricky. Furthermore, the interface is pretty clunky.)

In light of this, it'd proably be best to not release the versions with the new blocks publicly or to release them in such a way that they're clearly labled as not suitable for stand alone play.

Those sprites look like they'll be a pretty good base on which to build the sprites we need. I keep slackin' on getting the screen shots I promised, for which I apologize. I'll get them up today.

On the special power up front, I've managed to impliment the Clock power up. Of course, that's not saying much as the clock is by far the easiest one to do. Of the other two power ups who's function is known, the Wings should be moderately easy, and the Hammer is likely to be pretty difficult.

I still haven't implimented a method to select which special power up is granted by the special power up block yet. However, the investigation I've done so far indicates that hardcoding them based on the level number isn't going to work as level 4-1 has both the Wings and the Unknown power-up. In light of this, I'm going to do something with a special row object. This also has the advantage of allowing control over the special power ups to be entirely contained in the level data, which makes editing them (whether for this project or a derivative one) easier.

In regards to pipe exits that aren't at the usual height, I think we may be able to provide a solution for that as well. As the  X coordinate of a pipe pointer is largely irrelevant, it could be used instead to store the height at which you come out of the pipe. As I understand it (and Dahrk Daiz's doc states), the X position isn't used because pipe pointers are active on a per page basis, so where on the page they appear doesn't matter. Is this correct?

Anyway, I'm off to produce some screen shots.

Edit 1: Screen Shots as Promised

First up, all the new power ups:

(http://gis.net/~levi/gaming/smbs/screenshots/smbs-power-ups.png)

Secondly, the hammer in action:

(http://gis.net/~levi/gaming/smbs/screenshots/smbs-hammer-mario.png)

(Man, I didn't realize how lame that looks. Hmm.)

Edit 2:

I've managed to impliment a selector object for the type of power up granted by the hidden special power up block. Using special object 0x4C on row 13 (0x0D) will now select which power up is granted by special power up blocks on that or any following page. The horizontal coordinate is used to select the power up type:

Code: [Select]
0x0D    Super Mushroom
0x1D    Fire Flower
0x2D    Starman
0x3D    One Up Mushroom
0x4D    Honeybee
0x5D    Hammer
0x6D    Unknown
0x7D    Clock
0x8D    Wings

The existing power ups are included because it's actually simpler to code that way. However, actually using them is a waste because they have thier own dedicated blocks, which takes up less space than a special block and a power up type selector. Due to the way the game is coded, selecting either the Super Mushroom or Fire Flower will still give results that depend on whether you're big or small. Also due the the way the game is coded, any unassigned number will get you an object with junk graphics that acts like a Starman.

Of the new power ups, only the Clock (as mentioned above) works at this time.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 20, 2008, 11:20:15 pm
cool nice job with the selector blocks.  i will get the sprites created.  looks like the hammer mario is just regular mario with a hammer so no extra sprites needed cept the hammer which is good

and you can implement swimming with a single game genie code so it can't be too hard :) PIGOAP
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on April 21, 2008, 09:49:40 am
The unknown power up looks like an atom, with nucleus and orbiting electrons.  It's an a-bomb!

Who knew the Mushroom Kingdom was in the nuclear club, just like N Korea!  :laugh:

No wonder no one's found their WMDs and NOJ was able to deny their existance.  They were hidden for 20 years in an obscure game!  ;)

So basically, the bee and the atom thingy still have unknown function.  In Milon's Secret Castle and Hudson's adventure Island, it allowed you to continue.  In Milon you had to hold left and start at the title screen, once the bee was found.  In HAI, you had to hold left and start.  I don't recall if the bee was in other games.  Would the PC 88 code give any clues to their use?

EDIT:  the bee had the same functionand was used the same way in all three HAI games.  Perhaps I had Milon wrong.  On looking online, the bee gives Milon a shield of some sort, but I coulda sworn it allowed the continue option.  It turns out you can do the left and start thing after getting the first crystal.

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 21, 2008, 07:32:22 pm
Yeah, I don't think implimenting the wings will be too difficult. Basically, it'll just require adding one more timer to the game and a few conditionals. However, what makes that qualify as moderately difficult is the shear ease of implimenting the clock. The content of it's collision handler is literally one "inc" instruction. Anything is hard compared to that, ha ha.

As for the Hammer, that really will be hard. It's going to require a timer, new animation, and collision detection. I'll proably have to dig throught the bowels of the fireball code to figure out how to handle the animation and collisions.

The power ups with unknown functions are a bit irksome. Does anyone here have z80 skills they'd be willing to contribute? I have a pretty good idea where the code is located on the disk image. (Actually, I know where it's not, which is almost as good.) I do agree that the unknown one kinda looks like an atom. The comparison is even more apt when you know (which I forgot to mention) that it's pallet cycling animated.

frantik, once you get the sprites hacked in, please let me know what their tile numbers are so that I can replace the current placeholder graphics (inverted black koopa shells) with them. I'll also need to know which pallet (attributes) they should use. BTW, my build system rips the CHR-ROM from the latest world 1-4 patch.

I was wondering. Should I release the current code with the new blocks now or wait until we have a level data set that'll actually use them before I do so? Further, given that you're currently working on both editing the levels for new blocks and the graphics additions, are you planning releasing one or the other as soon as it's done, or are you going to wait until both are finished. Likewise, if you do release seperate updates, should I? Or should I wait until we have both for the next expanded ROM and source release?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 22, 2008, 03:14:38 am
ok well I was looking at the CHR-ROM and there's no way to add ANY sprite tiles (or any tiles for that matter)  I was thinking I was going to be able to do it the same way I did in SMU which is to get rid of the duplicate mario tiles.  but that only works if we're using the SMB3 mario tiles, no SMB1 tiles. :(  I'm not sure at all how to get the extra sprites in.. you have any ideas?  if it were on the background object layer i'd say move the title screen info but it's not..

edit:

here's Worlds 1-4 with the new block data

World 1-4 not suitable for play as a stand alone rom (http://www.swiftlytilting.com/download.php?file=smbspecial_world4d.ips)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Disch on April 22, 2008, 07:22:04 am
You could modify the level data format (or create a new section of level data so as not to break compatibility with the editor you're using) to have it swap CHR pages as the player scrolls.

Example, if there are never any goombas and hammer bros on the same screen at the same time, you could put them at the same spot in the pattern tables, but have them on different CHR pages.  Then in your map data, have an indicator that the game should swap CHR when the user gets to certain points.  I believe SMB3 does something like this, but that's a total guess.

Getting it to swap wouldn't be that hard.  Your level format could be something like:

XX XX PP XX XX PP

Where 'XX XX' would be a scroll position, and 'PP' would be a page number assigned to that position.  Once the in-game scroll exceeds XX XX, you simply swap in the next page on the list.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 22, 2008, 07:45:47 pm
Hmm, not having any room for sprites in the CHR-ROM is going to be a bit of a problem. I'll have to see what I can come up with for a solution. Something along the lines of what Disch has suggested is proably the best option were're going to get. I suppose I'll have to analyze the level's sprite contents and see what sort of division we could make.

Quick work on revamping worlds one through four, nice. Does this include the special powerup type selectors as well?

Perhasp we can put some sprites on the object layer instead. None of the new power ups are mobile and neither is the Fire Flower. We might be able to move them and some other non-mobile sprites (like Peach and Toad) to the object page, which would free up space on the sprite page. I'm not sure how involved such a hack would be, but I'll look into it.

I'm curious, how does using SMB3's Mario graphics free up space? Could the SMB graphics be slightly altered to do the same thing? (I.e. could the less space using SMB3 layout be done using SMB derived sprites?) And, if so, how many sprite tiles would it free up and how would it look?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 22, 2008, 09:03:53 pm
Quote
Does this include the special powerup type selectors as well?

yep :)

the way the SMB3 sprites freed up space is due the the fact there are fewer unique tiles.. in smb1 almost every frame has completely unique tiles.

actually I was thinking about what Disch said and perhaps the bowser graphics can be switched out because they are only used in the end castles.  also there is already code for a palette switch when the axe is loaded to make sure Bowser has the right palette.  this could ammended with a CHR-ROM page switch as well. :)  there are at least 16 bowser tiles so that could give us 4 whole sprites.  still not enough though for everything.  perhaps those object selector switches will also have to switch chr-rom pages?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 22, 2008, 09:14:15 pm
I may have found a solution to the sprite space shortage that is complatible with the current level format and won't require manual adjustment of CHR-ROM swap points to properly impliment.

I started simply looking at the levels to see what sort of partitioning of sprites we could do, when I had a realization, Bower is only in the castles. (While I was typing this, frantik mentioned the same idea.) Then I also added Toad and Peach to the "castle only" list. Inspired, I went through the renders of all eight castles and found that not very many enemy types show up in the castles. Which meant, that we could use a second CHR-ROM bank to store Bowser, Peach, etc. in the space normally used by the enemies that don't appear in castles.

As I seemed to be on to something, I went through the rest of the levels and compiled the following table:


            Ground   Under   Water   Castle    2   3

Goomba          x      x      .      x         x   x
Koopa           x      x      .      x         x   x
Parakoopa       x      .      .      x         x   .
Piranha Plant   x      x      .      x         x   x
Buzzy Beetle    x      x      .      x         x   x
Firebar         x      x      x      x         x   x
Cheep Cheep     x      .      x      .         x   .
Blooper         x      .      x      .         x   .
Bullet Bill     x      .      .      .         .   .
Latiku          x      .      .      .         .   .
Spiny Egg       x      .      .      .         .   .
Spiny           x      .      .      .         .   .
Hammer Bro      x      .      .      .         .   .

Bowser          .      .      .      x         .   .
Bowser Flame    .      .      .      x         .   .
Toad            .      .      .      x         .   .
Peach           .      .      .      x         .   .
Podobo          .      .      .      x         .   .

Side Stepper    x      x      .      .         x   .
Fighter Fly     x      .      .      .         .   .
Falling Spike   .      x      .      x         x   .
Barrel          x      .      .      x         x   .
Flaming Barrel  x      .      .      x         x   .


Based on this, I belive we can free up a signifigant portion of the sprites we need, even if we can't manage to fit all of them and have to adopt another solution for some of them. My next step is going to be to go through the CHR-ROM's sprite data and see exactly how much space would be availble if we implimented switching based on these results.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 23, 2008, 07:46:14 am
so what are the 2 and 3 collumns for?

here's the sprites (http://www.swiftlytilting.com/download.php?file=smbs-sprites.nes).. they're just in their own blank rom.  you'll want to copy them over with TLP or similar.  first is the sprites laid out so you can see how they should look.  second is the sprites laid out so all the of the repeat (mirrored) tiles are removed.

for animation, the side steppers need to be flipped like goombas.  fighter flies have two sprite frames.  barrels need to be flipped multiple ways to give the appearance of rolling.  not sure how to animate the fire and the spikes dont need animation

palette data:

red = red/white/yellow (green koopa palette)
green = green/white/yellow (red koppa palette)
black = black/tan/brown (buzzy beetle palette)

side stepper, barell, flaming barrel, spike, bee, atom, clock = red
fighter fly = green
hammer, wings = black


karatorian can you post the game with the new block stuff from worlds 1-4 so i can verify i'm doing it right before i go ahead with 5-8?

edit:

some addition sprite tile info:

bubble tile only used in water level
mario climbing  (big and small), flag graphics (flag pole and star flag) and vine graphics not used in water or castle levels
springboard - only used in overworld?

you also didn't mention the power up sprites in your table
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 24, 2008, 12:40:24 am
Yeah, there's a number of different sprites I left out, power ups, elevators, ropes, flags, etc. Thanks for the hints as to additional stuff that could be rearranged.

Columns "2" and "3" are just listings of which sprites showed up in two and three types of levels. Basically the point was to (mostly as a note to myself) to give some suggestions on which sprites are the most used.

In regards to a build using the new blocks, I'll get one up tomorrow. I would've done it tonight, but I just worked a twelve hour shift and then had to replace the motherboard in my computer, so I'm going to bed.

I'll do some experimenting and see what suggestions I can come up with for the flaming barrel animation.

Good night and happy hacking.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 26, 2008, 08:02:19 pm
hey i was thinking maybe we should put the SMBS ending "You have cleared all the worlds" or whatever it is (it's even more anticlimactic than the original ending haha) and then add a custom ending with credits for us.. or i could just shorten the credits message at the end

also bowser acts differently in SMBS he doesnt jump high enough to run under as much iirc
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 26, 2008, 09:46:25 pm
I've released the latest expanded ROM patch here (http://gis.net/~levi/gaming/smbs/smbspecial_world8-ex-v3.ips). New in this release are the recently added additional blocks (implimented in worlds 1 through 4), a working clock power up, and placeholders for all the new power ups.

Due to a bunch of real life stuff I needed to deal with, I've yet to add any of the new graphics yet. However, to assist with testing, each of the added power-ups has an idividual placeholder graphic for now. They are as follows:

0x04   Honeybee              Black Spiny
0x05   Hammer                Hammer Bro. Hammer
0x06   Unknown Power Up      Black Spiny Egg
0x07   Clock                 Black Podobo
0x08   Wings                 Black Koopa Shell

Using the Hammer Bro.'s hammer got me thinking. Should we simply use it for the hammer? It would save some space. However, it's only two tiles, so it might be kinda off.

Frantik, I did a little testing and the additional blocks in level 1-1 worked correctly, so it seems you've got them figured out. In regards to the end message, I'd be in favor of the SMBS original. Implimenting a custom end screen of our own would be really cool as well. If you could point me to a SMB TBL file and a screenshot of the SMBS ending, I can hack it in myself.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: KingMike on April 26, 2008, 09:50:28 pm
SMB Table:
0..9 = numbers 0xA-0x23=A-Z 0x24=space
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 27, 2008, 12:08:04 am
Hey, thanks.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on April 27, 2008, 03:39:10 am
Some flaws, mostly pipe related in this latest patch:

*Pipe entries missing are in:
**World 2-2 bonus room
**World 2-3, part 2
**World 8-3, start

Please fix these.

~Ben
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 27, 2008, 10:07:29 am
what are "pipe entries"  enterable pipes?  is there a problem with the unexpanded roms or does this only occur in the expanded ones?  cause they look right on the unexpanded ones.  the entry in 8-3 start  should be an automatic walk anyways so im not sure
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on April 27, 2008, 03:39:57 pm
what are "pipe entries"  enterable pipes?  is there a problem with the unexpanded roms or does this only occur in the expanded ones?  cause they look right on the unexpanded ones.  the entry in 8-3 start  should be an automatic walk anyways so im not sure

I am talking about the fact that some of these pipe entries were replaced by question blocks, if that should help the both of you involved in this project.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 27, 2008, 05:23:08 pm
I think I know what's going on with the problematic pipes. In an unmodified SMB, you can create IntroPipe objects using object ID 0x0C, although they're normally created with a special row 13 object instead. Apparently, some of Frantik's pipe objects where using the 0x0C method instead. As the new blocks use object IDs 0x0C through 0x0E, they've become question blocks instead.

I belive the 0x0C method may allow more control over the location of the pipe object, but I'm not sure. If that is the case and the extra control is needed, object 0xF can be used. It's unused and will fall through to the special row 13 objects like 0xC used to.

Actually in the unmodified SMB engine, IntroPipe, FlagpoleObject, AxeObj, and ChainObj can all be created using normal objects, rather than the row 13 objects they've been assigned to. Therefore, when additional normal objects are added (like I've done), all of those object types are potential bugs if they where created using normal objects.

I've gone through the sprite data with a fine toothed comb and have figured out what we need in the way of space. The new sprites Frantik has made use up a total of 40 tiles. The sprites used only in castles take up a total of 28 tiles. There is 1 tile that is unused. Therefore, we're 11 sprite tiles shy. I'm not entirely sure how to handle this.

I've been thinking of dividing the CHR-ROM banks up along the lines of Castle levels and everything else. The reason for this is that the ground type uses so many sprites that the other types are nearly subsets of the Ground type. However, there are some gains to be had by spliting the Underground and Water levels out. The Falling Spike isn't using in ground levels, so we could gain 4 tiles there. There are three sprites used in water levels that are not used in ground levels, they are the bubble and two tiles of Mario animations for swimming. This could save us 7 more tiles, leaving us only 3 shy.

The other option I considered is using seperate banks for large and small mario. I've yet to investigate exactly how many sprites we could free up this way. It would definetly be enough to free up the 11 tiles needed for the Castle vs Everything Else divsions. Of course, that'd still require 4 CHR-ROM banks. It may even be enough to get down to only 2 CHR-ROM banks (small and super).

I'd prefer to keep it down to 2 CHR-ROM banks unless absolutely required. To do that, we have to either eliminate 11 tiles or (provided there's space) use small and large mario banks. If we do end up going with 4 banks, there are two options. First, we could ditch 3 tiles and make a bank for each level type (we could use three in this case, but I don't think that's actually possible). Or, have small and super banks for each of the castle and everything else levels.

Frantik, as you've been the guy handling the graphics so far, what do you think? Would it be possible to eliminate 3 (or even better, 11) tiles somehow and still have everything look good?

Anyway, I'm going to investigate the Mario tiles more closely and see what kind of space we can gain by swapping CHR-ROM banks based on size. If I can get all 40 new tiles in that way, that's what I'll do. Otherwise, we'll have to discuss what option to go with.

Edit:

I looked through the Mario sprites and here's what I found. Mario uses 91 sprite tiles, of which 61 are Super Mario, 29 are Small Mario, and 1 is used only when in between sizes. Small mario is the limiting factor here, adding the 29 Small Mario tiles, the 1 intermediate tile, and the 1 unused tile gives us a total of 31 tiles. This would leave us 9 sprite tiles shy if we decided to bank switch only on Mario size changes.

I've been thinking about how we could free up some tiles. Simply looking at new sprites, I've found a few places where symetry could be increased (at the expense of accuracy) to free some tiles. If the hammer where made symetrical, we could elimate 2 tiles. If we used the Hammer Bro hammer instead, we could eliminate 4 tiles. The "atom" power up could be reduced to 2 tiles with basically no change, or to 1 if the little highlight was removed. By redesigning the wing to look more like the SMB3 one, I belive it could be done in 3 tiles. By making the spike symetrical, we could reduce it to 2 tiles.

But would such changes be a good idea? Discuss it and tell me what you think. I'm off to write some CHR-ROM switching routines to add to my MMC1 driver code.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 27, 2008, 06:19:57 pm
Quote
I think I know what's going on with the problematic pipes. In an unmodified SMB, you can create IntroPipe objects using object ID 0x0C, although they're normally created with a special row 13 object instead. Apparently, some of Frantik's pipe objects where using the 0x0C method instead. As the new blocks use object IDs 0x0C through 0x0E, they've become question blocks instead.

yeah i realized this must be what was happening :)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 27, 2008, 06:41:51 pm
As I started implimenting CHR-ROM switching, I realized something, the MMC1 can split the CHR-ROM into two 4k banks. I had originally thought it only did the full 8k. As we'll be required to double the size of the bank anyway to respect the powers of two, we actually can have three banks. Well, not actually three banks, but rather three banks of sprites and one bank of tiles.

Knowing this, I've decided that the cleanest way to impliment the CHR switching whould be to have one sprite bank for ground levels, one for castle levels, and one shared between underground and water levels. As mentioned above, this still leaves us 3 sprite tiles over our limit, but I think that's something we can deal with.

Somehow it's ironic that once I actually started coding, most of the (obnoxiously long, I appologize) post I made above was rendered irrelevant. Hindsight's 20/20 and all that. He he.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: strfr on April 27, 2008, 06:42:25 pm
Looking at Frantik's sprites, I personally think that they need a little extra work before they are inserted.  A minor issue I saw was the coloration in the Hudson bee's insides - they are supposed to be 2 combined dithered colors -> 1 color based on how Hudson drew it.  Two colors appear to switch with each other between the two Fighter Fly frames.  As for animating the flaming barrels, I think the barrels could flicker as quickly as possible between the normal barrel frames and the fire enemy frame - though that could be uncomfortable to watch.  IMO a different frame for the Side Stepper could also be used for reflection animation (ala Goombas) to show the illusion of motion better than the existing frame for it.

Also, sorry if I sound lazy to find out myself, but is the fire enemy (not the fiery barrel) used in Super Mario Bros. Special?  Or is that fire enemy frame only used for the flaming barrels?

Side Steppers have "angry" frames in the original Mario Bros. games.  Do Side Steppers also get angry in SMB Special?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 27, 2008, 07:02:04 pm
I somewhat agree with those critiques of the sprites. However, I'll leave it up to him to decide if they should be changed or not. In general, I think they tend to follow Hudson's sprites pretty exactly, which is unfortunate, because Hudson's sprites aren't really that good looking.

What do you mean by "fire enemy". The only fire enemies besides the flaming barrels that I can think of are the Firebars and the Podobos, both of which SMBS uses.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on April 27, 2008, 07:48:17 pm
He means that flame graphic in that blank rom is actually a enemy found in Donkey Kong.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 28, 2008, 03:16:56 am
Quote
I think they tend to follow Hudson's sprites pretty exactly, which is unfortunate, because Hudson's sprites aren't really that good looking.

i agree they are fugly but it's not like the rest of the SMB1 graphics aint fugly lol.  i just took the existing graphics and converted them to nes as directly as possible.  we can go with modified graphics though i dont mind

Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on April 28, 2008, 09:23:10 am
I too am in favor of doing the graphics as exactly as possible, only it seems SMBS had some color limitations.  It may be good to consider what colors the items would have been if they could have used SMB NES's pallette.

As far as adding something to the ending, I think it would be better to add to the title screen like all hackers, heh heh.  I dunno, just an accuracy thing.

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 28, 2008, 12:21:36 pm
So I went through the sprite data and figured out exactly what every tile was, how many tiles each sprite took up, what was really needed in each level type, etc. and found something out. Apparently, my earlier numbers where a little bit off. We've got enough room to fit all the graphics in without a hitch, even on the heavly occupied ground type levels.

I constructed the following chart to guide myself as I move forward with the sprite bank assignments. However, as I've looked into the matter, I keep having obnoxious math errors creep in, so I figured I'd share my results and let anyone who's interested proof them, in case I missed something. Am I missing any sprites? Are any of the level types missing sprites? Is my math wrong anywhere? (Note, I already reduced the Atom to two tiles simply by moving it up one pixel. Also, the Other type is both Underground and Water areas.)


Base 179 (77 free)

91  Mario
 9  Floaty Numbers
 2  Platform
 4  Coin
 2  Fireballs
 3  Explosions
 4  Blocks
 1  Blank

 4  Mushroom
 2  Fire Flower
 4  Starman

 4  [Honeybee]
 4  [Hammer]
 3  [Clock]
 4  [Wings]
 2  [Atom]

 5  Goomba
13  Koopa
 4  Parakoopa
10  Buzzy Beetle
 6  Piranha Plant

Ground 76 (1 free)

18  Hammer Bro
18  Latiku and Spiny
 6  Cheep Cheep
 4  Bullet Bill

 4  Castle Flag
 2  Flagpole Flag
 2  Vine
 4  Jump Spring

 4  [Side Stepper]
 6  [Fighter Fly]
 4  [Barrel]
 4  [Flaming Barrel]

Castle 38 (39 free)

18  Bowser
 5  Peach
 3  Toad
 2  Podobo

 2  [Falling Spike]
 4  [Barrel]
 4  [Flaming Barrel]

Other 18 (59 free)

 6  Cheep Cheep
 3  Blooper
 1  Bubble
 2  Mario Swim

 4  [Side Stepper]
 2  [Falling Spike]


As for the graphics, I'll be fine with whatever direction we decide to take them. While I've strived for accuracy in many parts of this project, I don't belive we have to have everything exactly as the PC88 version. Rather, I think the goal of this project is (or should be) to create SMBS as it would be on the NES. If the graphics could use a little tweaking to better match the rest of SMB's art (which may not be great, but it's not as bad as SMBS's), then I'm for it.

As for adding a custom ending screen, it's not true that all ROM hackers edit only the title screen. Larger projects often alter the credits sequence as well. Of course, SMB has no credits sequence, but I think adding one would be a good idea. I rather like how the current title screen only has the one subtle line at the bottom. Adding full credits to the title, even if it just said "Karatorian and Frantik" or some such would clutter it up. (I've seen many title screens that where destroyed by that sort of thing.)

Also I've been thinking, we could do a little research and credit the teams at Nintendo and Hudson. They are the giants on who's shoulders we stand.

Edit:

Doh! I just realized that one we get the wing power up implimented, we'll need the swim animation tiles in ground levels too. Damn, were're still one tile over. (I knew it was to good to be true.)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: strfr on April 28, 2008, 07:55:50 pm
While I've strived for accuracy in many parts of this project, I don't belive we have to have everything exactly as the PC88 version. Rather, I think the goal of this project is (or should be) to create SMBS as it would be on the NES. If the graphics could use a little tweaking to better match the rest of SMB's art (which may not be great, but it's not as bad as SMBS's), then I'm for it.
With what you said in mind (specifically what I made in bold), there are certain level designs in SMBS with puzzles that took advantage of the PC88's lack of scroll.  One in particular is a puzzle where if small, Mario needs to get a mushroom to enlarge and break a brick to escape.  Now with this goal in mind, I think the level designs may need to be considered for change to make them practical on the NES.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 28, 2008, 08:12:33 pm
One in particular is a puzzle where if small, Mario needs to get a mushroom to enlarge and break a brick to escape.  Now with this goal in mind, I think the level designs may need to be considered for change to make them practical on the NES.

if you're talking about the puzzle in world 2 with the hidden coin block.. that puzzle still works with the scroll :)  I tried to ensure the level designs retained the game play aspect as much as possible to the point accurate gameplay trumped accurate level design.  please let me know if there are any parts which could be changed to be more accurate to the game play

Karatorian, regarding sprites, if we just need 1 more i'd suggest perhaps using only one tile for the vine and or redesigning some of the new sprites.  I went and got the hudson bee from Adventure Island and it looks way better than the SMBS one lol..
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: strfr on April 28, 2008, 09:55:35 pm
if you're talking about the puzzle in world 2 with the hidden coin block.. that puzzle still works with the scroll :)  I tried to ensure the level designs retained the game play aspect as much as possible to the point accurate gameplay trumped accurate level design.  please let me know if there are any parts which could be changed to be more accurate to the game play
Huh...I remembered something else that could get you stuck in that screen if you scrolled too much...I have a feeling that it was hitting the mushroom block when the screen scrolled way too far.  But I could be wrong.  :P
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 28, 2008, 10:40:17 pm

Huh...I remembered something else that could get you stuck in that screen if you scrolled too much...I have a feeling that it was hitting the mushroom block when the screen scrolled way too far.  But I could be wrong.  :P

i thought i tested it and the mushroom would still bounce off the wall even if it was off screen but perhaps you can get the screen to scroll too far .. if anything it just makes it a tougher puzzle lol ;) [edit: i tested it and couldn't get the screen to scroll too far.. the mushroom is always possible to get (assuming you don't block it in with the coin block).  i guess though you're less likely to block it in cause the hidden coin is off the screen once you can hit the mushroom block

i updated some of the sprites including the hudson bee from adventure island, two versions of the modified atom and two versions of a modified p-wing.  i think the atom with the one dot in the center is better than the atom without the dot, but if we're in a bind for one tile it's a good candidate for timming imo.  The wing w/o the outline matches the rest of the game graphics better than the one with the outline, even though the outlined one is better overall

new smbs sprites (http://www.swiftlytilting.com/download.php?file=smbs-sprites2.nes)


another option for gaining one more tile would be to use tile 0x27 as 0x07 cause they are very very similar.  You would just need to modify tile 0x05 to match 0x027 better.  I included the modified tile 0x05 in with the sprites.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 29, 2008, 02:49:16 pm
I just found a mistake in my table, which explains why everything suddenly fit when it didn't before. The Blooper is missing from the ground enemies list. That's another three tiles. Arg, it's enough to make me pull my hair out.

Edit: I just realized that the blooper is actually four tiles. Things just keep getting worse. Five tiles, damn.

Ok, I think we can make it work.

I just noticed that the top of the Barrel enemy is symetrical, so it's actually only three tiles. I made a version of the Honeybee (the Adventure Island one) with a symetrical head that still looks pretty good. The Mario alteration suggested by frantik makes three, which only leaves two to go. The atom could be reduced to one, but the one with the highlight does look much better. It might be possible to make the left half of the wing symetrical, although, none of my attempts to do so have looked any good. I think I've found a way to reduce Lakitu by one tile.

What else can we do?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: BRPXQZME on April 29, 2008, 03:02:57 pm
“What? Whatta you doin’ there? You belong in the water! There’s no water here! (http://www.youtube.com/watch?v=koMIQipNbeA)”
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 29, 2008, 04:21:33 pm
we could ditch one of the vine tiles

and mario's tiles could probably be reduced smore as well let me look
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 29, 2008, 05:10:22 pm
We only need one more. I thought about ditching one vine tile, but I fear that exactly symetrical vines would look bad. As the graphics guy, I'll let you decide what we can most afford to lose.

I've added CHR-ROM switching to my mapper codebase and have built the ROM with 16k of CHR-ROM. Everything seems to be working so far.

I've started mapping out where I'll insert the new tiles. Once we figure out where we're pulling the one tile from, I can get the modified sprite ROM banks done and start hacking the graphics tables as needed.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on April 29, 2008, 05:19:36 pm
Are there any letters in the tile set for the alphabet that are unused in the game?

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 29, 2008, 06:35:02 pm
Rob, I don't know if any of the letters are unused, but it doesn't matter, because they're in tile ROM, not sprite ROM.

I've just discovered the strangest thing. The sprite tile I thought was unused, 0xFF, is used for something. But it's really weird. If you blank out that tile, the game locks up on boot while inside the sprite zero collision detection routine. If you modify the tile, the bottom of the status area at the top of the screen scrolls with the level as you move. It's really strange.

I looked in NESTech to see if I could figure out what exactly was going on, but it didn't shed any light on the issue. It must be some sort of Voodoo in part of the code I haven't looked at.

Anyway, this means we need to free up two tiles. I swear, if I find any more, I'll cry.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 29, 2008, 06:48:19 pm
tile 0xff is used for scrolling..  it's the bottom half of the coin icon in the status bar.

tiles 0x70 and 0x71 are just mirror images of each other, so goomba = 4 tiles now :)

and EB and EE are identical..
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 29, 2008, 07:09:21 pm
Nice work. I can't belive I didn't find either of those when I was looking at the CHR-ROM earlier. Now that everything will fit I can finally get to doing the real work.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Disch on April 29, 2008, 07:19:03 pm
Right -- tile FF is sprite 0.  If you blank it, sprite 0 is blank, so it can never hit.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 30, 2008, 06:49:35 pm
fixed the problems with missing items and also did worlds 5 - 8

- Worlds 1-4 with new blocks not suitable for standalone play (http://www.swiftlytilting.com/download.php?file=smbspecial_world4e.ips)
- Worlds 5-8 with new blocks not suitable for standalone play (http://www.swiftlytilting.com/download.php?file=smbspecial_world8b.ips)


oh hey K-man i was just looking at EnemyGraphicsTable and it doesnt look like there's really any room to add more enemy frames.. do you have a plan to avoid this problem?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 30, 2008, 09:01:50 pm
As I was hacking around last night, I discovered the same thing. My current thinking on the matter is to alter the enemy sprite handling routines to use a second table if the enemy ID is above a given number. As the new enemies are all likely to have IDs higher than the existing ones, it should work nicely.

I know why the Gooba sprite tile that's simply a mirror image was done that way, rather than by reusing the other tile. The game has a horizontal flip routine that doesn't play nice with mirrored tiles. Mostly it's used for enemies (and Mario) when they are moving or facing to the right. However, it's also used by the special cased Goomba animation routine, even though the Goomba keeps moving left.

The horizontal flip routine works by swapping the left and right tiles and then enabling the horizontal flip attribute on them. This means that if you've set the horizontal flip attribute of an individual tile, if the sprite is modified by the routine, the results do not turn out correctly.

The only enemy in the game that has mirrored tiles and faces both directions is Lakitu and they avoided the issue in his case by not using the horizontal flip routine, but instead by handling it with a special case in the general enemy mirroring code.

It'd be tempting to just restore the Goomba tile and find another one to use, but it's not the best solution. For starters, the barrel is going to need to be treated similarly due to it's mirrored tile. Plus, the Fighter Fly, with one animation frame mirrored and the other not, is going to need to be handled.

The solution I'm pursing is to turn the Goomba from a single frame into two frames and handle the mirroring in a special case like they did with Lakitu. However, I've yet to figure out how to determin which frame the enemy is on when the mirroring routine is called. The Lakitu code isn't any help here as it does it's frame and direction determination based on stuff that has to do with enemy frenzy and the Spiny throwing.

I'm confident that it can be done, but I've yet to figure out exactly how yet. Until I do, I can't really fully impliment the graphics additions. However, it's nice to see that you've got the levels edited and ready for when I get the power-up graphics inserted.

Do you think I should release an expanded ROM with the placeholder graphics like I did with the 1-4 patch? Or should I wait until the power-ups have graphics of thier own?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 30, 2008, 10:15:20 pm
Quote
Do you think I should release an expanded ROM with the placeholder graphics like I did with the 1-4 patch? Or should I wait until the power-ups have graphics of thier own?

I think you should release it with the placeholders so people can test it and whatnot :)  plus we're kind of at the end of a "phase" here in a way imo.. all of the things i feel were valuable for a decent port have been accomplished.  If we dropped the extra power ups and left them as hidden 1ups it could totally be a valid port :)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on April 30, 2008, 10:33:50 pm
All righty then, I should have the latest patch released within the hour.

Edit 1: Hey frantik, your first link is broken. I managed to figure it out (you forgot the dot), but I thought I'd let you know.

Edit 2: You can get the latest and greatest expanded ROM patch here (http://gis.net/~levi/gaming/smbs/smbspecial_world8-ex-v4.ips).
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 01, 2008, 12:18:29 am
oopsie fixed the link thanks :)

oh hey does the latest version include the bloober changers i sent u via PM?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on May 01, 2008, 07:31:12 am
There are some flaws I've discovered in the latest IPS patches of this hack. Among them:
1. Some of the ? blocks are replaced by L-pipes (remember when some of the accessible pipes were replaced by ? blocks before in earlier versions of this hack?).
2. Lakitu's palette is now color keyed by area type.
3. Some ? blocks are also replaced by flagpoles (I discovered one in the first castle level, and in World 8-3).

Also, some other things you still didn't fix:
*Still no points for shooting Piranha Plants with fireballs (as Fiery Mario). In the original SMB1, Piranhas were 200 points.

Have you got anymore ways to work around these problems?

Thank you,



Ben
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 01, 2008, 05:56:38 pm
There are some flaws I've discovered in the latest IPS patches of this hack. Among them:
1. Some of the ? blocks are replaced by L-pipes (remember when some of the accessible pipes were replaced by ? blocks before in earlier versions of this hack?).
3. Some ? blocks are also replaced by flagpoles (I discovered one in the first castle level, and in World 8-3).


if you're seeing these things you're playing the patches which say  "not suitable for stand alone play".  you need to use karatorian's patch not my two patches. 

i don't recall you mentioning the piranha plant problem before but Karatorian will have to look into that since he's been working on the plant code.

regarding lakitu, his pallette looks correct on 4-1 and 6-1 (both overworld levels).. what other levels does he even appear?  btw all palettes change depending on area type...


i noticed a starman block which should be a hidden power up block.. that was my fault.  fixed and will release a new patch once i test more.  Hey Karatorian I also noticed the demo isn't right any more though.. did the data get changed?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on May 01, 2008, 06:32:50 pm
Currently the demo data is being extracted from whatever world 4 patch is being used to build the release. If your current patches have a proper demo, it should work, but if it doesn't I may have done something wrong in the extraction (proably a typo of some sort.) I'll look into it.

In regards the points for killing Piranha Plants, I don't think this has been mentioned before. I'm not aware of any changes I made to that sort of thing, but there are still a small number of changes that where copied wholesale from the patch frantik originally used to add the Red Piranha Plants. (Although, not very many any more.) It may be related to one of those or an unintertional (and unbeknownst to me) side effect of some other change. Does this affect all Piranha Plants, or just the Red ones?

No, the Blooper swim height change hasn't been added. I've yet to get around to it. BTW, I don't recall making any changes related to water height (although I may have forgotten). Besides the Blooper one, have you made any that aren't in the expanded ROM? Also, are there any that still need to be made? (I seem to recall Mario being able to swim right out of the water in some testing I did a while back.)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 01, 2008, 06:47:28 pm
re swimming:  i thought i made a post about the mario swim height changes.. not sure though.  the mario and bloober swim height changes have been implemented in the 1-4 rom if you want to take a look.  Mario needs two different values changed.  bloobers just one.  doesnt look like cheep cheeps have a height checking routine..

re: the demo.. the demo in world 1-4 patch is definitely different so perhaps it's not being copied correctly?


and it does look like green plants aren't giving points.  probably has to do with the patch i used for the red plants :\
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on May 03, 2008, 07:38:49 pm
You can get the latest expanded SMBS patch here (http://gis.net/~levi/gaming/smbs/smbspecial_world8-ex-v5.ips). Changes in this patch are mostly bug fixes.

I've implimented the proper swim height checks for Mario and the Bloobers, so that they can no longer swim above the water line. These changes where in the unexpanded ROM, but hadn't been incorporated into the expanded codebase until now.

Piranha plants give points when killed like they're supposed to. This includes both Red and Green varieties. This bug was inherited from the Japanese inverted pipe patch Frantik originally used or my incoporation of it's changes into the code. (I'm not sure which.)

The demo importation code has been fixed so that the demo now does what it's supposed to do. This was the result of an off-by-one addressing error that caused the timing data to include the last byte of the action data as it's first value.

Finally, there has been a change to the special power ups. For the time being, they've been replaced with flags that give a 1 Up. This is to make them actually useful and look decent until such time as they can be implimented completely.

Hack and Enjoy.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Googie on May 03, 2008, 11:28:41 pm
(http://img.photobucket.com/albums/v681/QB3CF/doh1.png)

That's the only bug I coulda find, other than that, everything went smooth on my end.  :thumbsup:

edit: Hadda fix a typo
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on May 04, 2008, 08:00:47 am
(http://img.photobucket.com/albums/v681/QB3CF/doh1.png)

That's the only bug I coulda find, other than that, everything went smooth on my end.  :thumbsup:

edit: Hadda fix a typo

There's another one left unchanged in the second part of World 3-2, in which the ? Block is supposed to be the accessible pipe which brings you to the second part of the first map screen of the level.

~Ben
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Googie on May 04, 2008, 02:22:16 pm
(http://img.photobucket.com/albums/v681/QB3CF/meh.png)

Oh man, I forgot to go there last night lol! XD
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on May 04, 2008, 09:39:55 pm
Hmm, I thought Frantik fixed those. I'll have to check if I'm using the latest patches.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 04, 2008, 09:41:53 pm
no i missed them.  ill fix em
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on May 04, 2008, 10:03:37 pm
I have a little question that hopefully some Mario fan can answer. It's a borderline translation thing. In the credits to SMBS, the enemy names are untranslated or partially translated. They're written in romaji (sp?), so there's no "super fun kanji idenetification game" or any of that, I just can't figure out what some of them referer to. (My Japanese is almost none. Furthermore, I'm not sure knowing Japanese would help much in this case.)

Here's the relevant section of the credits and the translations (more like US names, really) I've been able to find:


Enemies in the game that I have yet to ID in the above list are:

So, can anyone help me out here?


P.S. You should see the Engrish in the rest of the credits, it's pretty bad.

Edit: That's all of them. Thanks guys.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: hybrid on May 04, 2008, 10:32:28 pm
Paipo=Spiney Egg
Killer= Bullet Bill
TSURARA= Icicle

this is all i could find
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Googie on May 04, 2008, 10:42:03 pm
I hope this'll help you out Karatorian, it's a Mario wiki (http://www.mariowiki.com/Enemies) with every enemy, with somma'em with their Japanese names. ^^'
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on May 04, 2008, 11:20:06 pm
I hope this'll help you out Karatorian, it's a Mario wiki (http://www.mariowiki.com/Enemies) with every enemy, with somma'em with their Japanese names. ^^'

He he. That's where I got what I've found so far. But, thanks anyways.

Hybrid, thanks. Every little bit helps.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: UglyJoe on May 04, 2008, 11:32:02 pm
  • CHOKICHOKI (...)
  • NAKAJI (...)
  • SIGEBOU (...)
  • TARUSAR (...)

From http://osaka.cool.ne.jp/k1/mariosp.html (http://osaka.cool.ne.jp/k1/mariosp.html)

Chokichoki = crab
Nakaji = jumping bee thing from Mario Bros
Sigebou = fire (from DK?)
Tarusar = barrel
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on May 04, 2008, 11:54:28 pm
Jumping bee thing is called Fighter Fly.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 05, 2008, 01:08:11 am
From http://osaka.cool.ne.jp/k1/mariosp.html (http://osaka.cool.ne.jp/k1/mariosp.html)

that site looks like it might explain what the Hudson bee does.  also the "unknown" power up isnt listed in the table....
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Spikeman on May 05, 2008, 01:23:47 am
Quote from: http://osaka.cool.ne.jp/k1/mariosp.html
取ると+8000点。ハドソンのロゴでしょ。

Receive 8000 points. It's the Hudson logo you know.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on May 05, 2008, 03:29:36 am
During the credits sequence, all the new power ups and thier applications are listed, so I have a better idea of what they do now. He're the text of the relevant bit:

NEW CHARCTERS!

HACHISUKE - 8000 POINTS
HUMMER - HIT ENEMY
CLOCK - TIME 100 UP
WING - FLY SKY
LUCKY STAR - KILL ENEMY

SEARCH THESE CHARACTERS!
PUSH BUTTON


Hey UglyJoe, thanks a bunch.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 05, 2008, 04:11:44 am
Quote
HUMMER - HIT ENEMY

so now we gotta put in humvees too?   :banghead:  >:D

so it sounds like unknown power up isn't used or what? (atom)  or is that the "lucky star" ?  i would assume starman is the lucky star since it "kill enemy"
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on May 05, 2008, 05:25:04 am
I would assume the same thing, but none of the other SMB power ups are on the chart. The "Atom" is used in one level and may actually "kill enemies". I didn't do a whole lot of testing, but I do rember some strange behavior when I was researching the power ups.

When you grabbed the atom, if there was another power-up on the screen, it'd disappear and you'd get it. Now, if the game is coded such that grabbing a power up and killing an enemy use a shared code path, this could simply be a side effect.

If that's the case, it kills everything on the screen, or within a given distance, or something. I'll have to test this theory out and see what happens.

Edit:

I just tested it out and I've confirmed that it seems to kill all enemies on the screen at the time you grab it. It appears about halfwaty through 4-1 in an area that's pretty heavily populated with enemies. Also, there is a Lakitu on that level which could lead to even more enemies about by the time the player gets to that point.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 05, 2008, 12:27:54 pm
That was the other thing i was thinking it might do..

I think there's already a routine to kill all enemies in the game so that might not be too hard to implement.  really the hammer is the only one which seems somewhat tricky, especially for all the collision detection and whatnot.  I like your idea of treating it like a fireball though..
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on May 05, 2008, 01:43:57 pm
so now we gotta put in humvees too?

Of course, how else would the "HUMMER BROS" get around?

Yeah, the routine is called "KillEnemies" or something. I think it takes an arguement and only kills enemies of the specified type though. (I'm not entirely sure, I didn't check it out very closely.) I guess it'd just be a matter of a simple loop then.

It's used so that there aren't any Piranha Plants in the Warp Zone pipes and in a few other places.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on May 05, 2008, 07:14:40 pm
HUMMER = HUdson + haMMER. They meant to spell "hammer" but could have misrepresented the Hammer Brothers as the "Hudson" Brothers (a Portland, OR-based music act from the 1970s and early 1980s).

~Ben
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: BRPXQZME on May 05, 2008, 07:26:36 pm
A mistaken U for “uh” instead of A (“ah”, which is the sound used for transcribing it in Japanese) is not all that uncommon in engrish. Case in point: “THE KING OF FIGHTERS ’98: DREAM MUTCH NEVER ENDS”.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: strfr on May 06, 2008, 04:46:50 pm
I have some ideas to "euthanize" the player whenever Mario gets in a trap - i.e. the hidden block-Mushroom puzzle and the underground vine area trap.  For the former, a little while after small Mario hits the hidden block, he gets killed off.  For the latter, if Mario tries to go inside the pipe, he dies instead.  I think it would be better than waiting for time to run out, because that could piss off impatient players.  :P  Of course though, I don't think they're really necessary - or even realistic for an "early" game - but they could be nice touches.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Spikeman on May 06, 2008, 05:40:25 pm
I have some ideas to "euthanize" the player whenever Mario gets in a trap - i.e. the hidden block-Mushroom puzzle and the underground vine area trap.  For the former, a little while after small Mario hits the hidden block, he gets killed off.  For the latter, if Mario tries to go inside the pipe, he dies instead.  I think it would be better than waiting for time to run out, because that could piss off impatient players.  :P  Of course though, I don't think they're really necessary - or even realistic for an "early" game - but they could be nice touches.

Or just add a spike or something. ;)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on May 06, 2008, 05:43:10 pm
I'm more in favor of keeping it as is.  I'm all about being as accurate as possible rather than changing stuff around just to convenience people.  The game is SUPPOSED to piss you off!

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 06, 2008, 07:05:55 pm
like you guys aren't just gonna load a save state anyways

really what should be adjusted is the game clock to better match the speed of SMBS' clock.. then the wait wouldn't be as long
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on May 06, 2008, 07:24:32 pm
With the amount of engine hacking already in this game, I'd not really be in favor of adding invisible kill mario blocks, pipes of doom or other such nonsense. Furthermore, such concepts "break the rules" of the Mario universe and fly in the face of player expectations.

Nothing is more frustrating to a player than dying for "no reason". Of course, there's always a reason of some sort (even if it's just a bug), but players don't see it that way. A properly designed game has a set of rules that become understood and expected by the player.

Mario dies if he falls in a hole, gets touched by an enemy's side or bottom, or stomps on the un-stomp-able. He doesn't die when he encounters invisible blocks of doom or goes down pipes of doom. While the physical laws of the Mario universe aren't accurately based on our own, they're just as real and violating them elicits a negative player response.

Of course, one can argue that these sorts of traps violate the rules as well. True, traditionally, Mario level design is done in such a manner that getting stuck isn't possible. However, I would argue that this is more of a convention than a rule. A convention Hudson has decided to alter and one we've carried over into the port.

The traps in the game abide by the rules of the Mario universe. Mario can only jump so high, so if he ends up in a hole taller than that, he's stuck. There are pipes one can come out of, but can't go into. Etc. These all follow the "laws of physics" as it where. The proposed "solution" violates them.

That said, the issue of having to wait for Time Up if you end up in such a situation is unfortunate. Perhasp a "start select" mechanism loosly based on the one in SMW would be in order. This solves the issue of "euthenizing" the player without breaking the rules or usurping player control. A similar mechanism is the "kill" console command in Quake.

If you get stuck or otherwise feel that respawning would be handy, Quake provides a convient method of doing so. (While you do not normally get stuck in Quake, it is possible, especially as the game supports user designed levels that may not provide a way out of every area. (Especially as some areas can be reached that where never intend to be reachable. This is by means of glitches that exist in the physics engine and have since been embraced as features of Quake physics.)

Of course, unlike SMW, the mechanism would work on all levels, not just those you've already beaten (as such isn't really relevant in SMB). In addition, it would cost you a life. If I do impliment it, chances are it will be considered dying due to time up.

In regards to the time thing, it can easily be added. We just need to figure out the proper speed.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on May 06, 2008, 07:47:31 pm
Oh man, I would play the mario games so differently if I knew there were pipes that kill you instantly when you go down them.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 06, 2008, 07:57:44 pm
Quote
Perhasp a "start select" mechanism loosly based on the one in SMW would be in order.

I have something like that implemented in SMU... lemme find the code

edit: here you go just modify the pause code starting at clr pause timer.  you will probably want to change the action to jump to the lose life routine or something too.  I just have it jump to the reset vector so i don't have to worry about the stack or anything like that.  I have the buttons as Up + Select to avoid accidentally resetting the game but you might want just select to activate the loss of life?

Code: [Select]
ClrPauseTimer:  lda SavedJoypadBits   ; load Joypad state
                cmp #$28              ; 0x28 = Up + Select pressed
                beq StartSelect       ; if Up + Select pressed, go to StartSelect
                lda GamePauseStatus   ; clear timer flag if timer is at zero and start button
                and #%01111111        ; is not pressed
SetPause:       sta GamePauseStatus
ExitPause:      rts
StartSelect:    JMP $8000             ; Jump to reset vector
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on May 06, 2008, 09:19:28 pm
Awesome. I'll have to get that integrated prior to the next release.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on May 06, 2008, 11:30:28 pm
SMB2 also had a instant kill code. I think you needed to push some buttons on controller 2 or something. Apparently it must of been possible to get impossibly stuck in that game.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on May 07, 2008, 06:07:07 am
SMB2 also had a instant kill code. I think you needed to push some buttons on controller 2 or something. Apparently it must of been possible to get impossibly stuck in that game.
In that case, you paused the game with Controller #1 (main) and then on Controller #2 you pressed Up, B and A. That was called the "suicide" code in codebooks. It also did other weird effects, such as:
*Watching your character fall down the ground for each life you have (if the code was done soon as you entered a door).
*Taking a bit off the Rocket (if you also performed the Illusion Item glitch and pulled up the Rocket as the Illusion Item).
*Having an empty Life Meter without dying, when you performed the code after you pulled up a Rocket.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: KingMike on May 07, 2008, 12:28:24 pm
There was also this platformer called Hi no Tori (a platformer game). There were several one-tile wide pits you could fall in, that were too deep to jump out of. (your character had the ability to magically make blocks appear, so he could build his way out of a pit that was at least two tiles wide.
There was also an invisiblity power-up. You could run through enemies, and walls. Guess what happens if the power-up runs out while you're in a wall?
There is also this river stage with fish or something that constantly flies out at you. They're supposed to stop when you reach the boss. But I remember taking a different route across the screen, to get a life-refill powerup, and the flying things didn't stop coming during the boss fight. That a glitch, or is that a penalty for getting the powerup?
Well, at least they made Select a suicide key.
(Still, though. How could Konami make such a crap game? Did they decide to get only the staff with bad ideas together? :P )
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: nomit on May 10, 2008, 07:37:15 am
There was also this platformer called Hi no Tori (a platformer game). There were several one-tile wide pits you could fall in, that were too deep to jump out of. (your character had the ability to magically make blocks appear, so he could build his way out of a pit that was at least two tiles wide.
There was also an invisiblity power-up. You could run through enemies, and walls. Guess what happens if the power-up runs out while you're in a wall?
There is also this river stage with fish or something that constantly flies out at you. They're supposed to stop when you reach the boss. But I remember taking a different route across the screen, to get a life-refill powerup, and the flying things didn't stop coming during the boss fight. That a glitch, or is that a penalty for getting the powerup?
Well, at least they made Select a suicide key.
(Still, though. How could Konami make such a crap game? Did they decide to get only the staff with bad ideas together? :P )
If it's based on the manga created by Osamu Tezuka ("The father of manga") they might not have have given it much effort thinking it would be a hit just because of the manga.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on May 10, 2008, 08:13:37 am
Could we please get back on the topic of trying to finish this SMB1 hack?

EDIT: But please do find some way to incorporate the SMB2USA suicide code into this SMB1 hack...

Thank you,



Ben
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Darkdata on May 10, 2008, 09:52:00 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... ^^;
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on May 10, 2008, 10:29:40 am
It's not like what we talk about in this thread is gonna keep them from working on the hack anyway.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on May 10, 2008, 10:41:40 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 =_=

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: [Select]
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.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: KingMike on May 10, 2008, 11: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.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: hybrid on May 10, 2008, 03: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.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 10, 2008, 05:40:45 pm
fixed various bugs.. should be all good now

- Worlds 1-4 with new blocks not suitable for standalone play (http://www.swiftlytilting.com/download.php?file=smbspecial_world4f.ips)
- Worlds 5-8 with new blocks not suitable for standalone play (http://www.swiftlytilting.com/download.php?file=smbspecial_world8c.ips)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on May 11, 2008, 06:28:58 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.

fixed various bugs.. should be all good now

In light of these new patches, you can get the latest expanded patch here (http://gis.net/~levi/gaming/smbs/smbspecial_world8-ex-v6.ips). 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.)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Googie on May 11, 2008, 07: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. ^_~
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on May 11, 2008, 07:33:26 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.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Googie on May 11, 2008, 07:55:22 pm
Can you put up some pics? I haven't played the patches yet, still in Mother's Day celebration over here... 
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 11, 2008, 07:59:52 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

Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on May 11, 2008, 08:04:35 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.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 11, 2008, 08:06:45 pm
yeah only use karatorian's patches (http://gis.net/~levi/gaming/smbs/smbspecial_world8-ex-v6.ips) from now on :)


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 :(  (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
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on May 11, 2008, 10: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?


Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 13, 2008, 06: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
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on May 13, 2008, 07:25:00 am
I fixed the hidden blocks issue. There where actually two places they where hard coded. One was for enemies and one was for players, I've fixed them both. I haven't gotten to the lifts yet, because I'm working on some other stuff, expect a release later today. (Speaking of which, it'd be nice to get the latest levels for it.)

With the hidden coins moved over one, can you still hop over the flagpole (much to your chagrin)?

Edit:

Hmm, I seem to be crankin' out the releases. You can get the latest expanded patch here (http://gis.net/~levi/gaming/smbs/smbspecial_world8-ex-v7.ips). There are some significant changes in this version.

Finally, after much promising, procrastinating, etc. I've fixed the graphics on the ends of the upsidedown pipes. To make room in the CHR-ROM for the new tiles, I moved the title screen into PRG-ROM. (It was actually a lot easier than I expected.)

As mentioned above, the new hidden blocks can no longer be stood apon. The whirlpools (water pits with downward suction) have been disabled. (Do you think they should be turned back on in hard mode?) The castle in the middle of 8-2 no longer generates spurious solid blocks. (I made a new object which is simply the castle object, but it never generates solid blocks. I figured that was the easiest way.) I restored the endless ropes for elevators which where removed as part of the original upsidedown pipe patch (but they'll have to be added to the levels where they belong, so there's no noticable change yet).

I still haven't made all the lifts six tiles wide. The code that handles that is spread out all over the place and after my first attempt messed them up, I backed it all out.

Hack and enjoy.

Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 13, 2008, 03:12:57 pm
(Speaking of which, it'd be nice to get the latest levels for it.)

i have worlds 1-4 modified but im still play testing it

Quote
With the hidden coins moved over one, can you still hop over the flagpole (much to your chagrin)?

you can still hop over the pole

Quote
The whirlpools (water pits with downward suction) have been disabled. (Do you think they should be turned back on in hard mode?)

sure turn them on in hard mode i like that idea

Quote
The castle in the middle of 8-2 no longer generates spurious solid blocks. (I made a new object which is simply the castle object, but it never generates solid blocks. I figured that was the easiest way.)


how do I include this new element in the level?  what is the hex for it?

Quote
I restored the endless ropes for elevators which where removed as part of the original upsidedown pipe patch (but they'll have to be added to the levels where they belong, so there's no noticable change yet).

the way the ropes are, they can't be centered correctly with the normal lifts.  you'll notice in SMB  that only the short lifts use the ropes.  the short lifts are shifted over slightly so they can be centered on the rope

Quote
I still haven't made all the lifts six tiles wide. The code that handles that is spread out all over the place and after my first attempt messed them up, I backed it all out.

i think i have it implemented in my world 5-8 patches....

Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on May 13, 2008, 04:15:00 pm
Quote
sure turn them on in hard mode i like that idea

Does SMBS have a hard mode?  I know SMB has one when you beat it, but should a hard mode even be included if SMBS didn't have one?  I just worry about keeping it true to the original and all.  Also, is the speed of the whirlpools the same (the rate at which they suck you down)?

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 13, 2008, 04:18:27 pm
there is no hard mode in original SMBS i don't think, but it's a cool addition to the port imo.  it doesn't reduce the accuracy imo because you can still play the game all the way thru on the normal way.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on May 14, 2008, 09:02:11 am
there is no hard mode in original SMBS i don't think, but it's a cool addition to the port imo.  it doesn't reduce the accuracy imo because you can still play the game all the way thru on the normal way.

Oh, so the normal run through the first quest is basically identical to SMBS?  The hard mode is just additional stuff being added?

BTW, Starscream sent me a link to the X1 version.  Didn't know if posting a link here was OK.  I can forward to whoever wants it.  I mentioned he should post it, but I don't see that he did.  I haven't gotten a chance to look at it yet, but I'm excited at the possibility of seeing the differences!

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on May 14, 2008, 11:38:27 am
In normal SMB, there are actually two hard modes. The first, called Secondary Hard Mode in Dopplganger's disassembly is activated at level 5-3 and beyond. The second, called Primary Hard Mode is activated when you beat the game and play through it for a second (or more) time and applies to all levels.

Secondary Hard Mode Features


Primary Hard Mode Features


As far as anyone knows, SMBS doesn't have a hard mode, so the proper way to handle all of this is open to interpretation.

Frantik has already implimented a hack to make it so that all platforms are large, rather than becoming small late in the game and in castles. I intend to impliment the same hack in the extended codebase, but I haven't gotten around to it yet.

As for the whirlpools, SMBS doesn't feature them. Rather, underwater holes don't suck you down. I recently implimented a hack to fix this. I asked (as it seemed like a good idea) if hard mode should include them, and the response was positive, so I've implimented that. (Although itt's currently unreleased.)

I've been doing some thinking about hard mode related stuff. In particular, I noticed that the hard mode enemies appear in secondary hard mode. This makes me think the feature was included because of all the level reuse in SMB. As we don't reuse levels, perhaps that should be changed to primary hard mode.

(As far as I know, the only use of the hard mode flag in the current levels is for Podoboos who're standing in for Icicles. Frantik didn't include a Podoboo for each Icicle when they appeared in groups, but did in hard mode. This was because Icicles are a transient threat, but Podoboos are a persistant threat. On any level past 5-3, this won't quite work as intended.)

The other thought I had was about platform sizes. What if, rather than simply make them all large, they where instead only small in primary hard mode. This would make normal mode closer to the original SMBS, but still make use of the existing feature to shrink them.

(SMBS actually includes three sizes of platforms, while SMB only has like two and a half. SMBS has large, medium, and small platforms, most of which are large. SMB has large and small. The large ones are shrunk to medium (?) in castles and in secondary hard mode.)

Frantik

The special castle object for level 8-2 is a special row 15 object, just like the normal castle, but rather than object ID 0x2n, it uses 0x6n. The endless rope was re-added to SR 15 with the ID 0x7n. (As far as I can tell, the size does nothing. Perhaps I should put it on SR 13 instead as that row has no size and signifigantly more free space. On the other tentacle, it was originally on SR 15.)

Why don't endless ropes work with large platforms?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on May 14, 2008, 11:54:43 am
I noticed that Bowser only throws hammers at Mario in Worlds 6-4 (repeat of World 1-4), 7-4 and 8-4. Why didn't they program Bowser to throw hammers at you starting in World 5-4 (which is a repeat of World 2-4)?

Also, when you play the Primary hard mode (after beating World 8 for the first time), Bowser's hammer-throwing is still relegated to Worlds 6-4, 7-4 and 8-4.

~Ben
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 14, 2008, 01:37:32 pm
Frantik

The special castle object for level 8-2 is a special row 15 object, just like the normal castle, but rather than object ID 0x2n, it uses 0x6n. The endless rope was re-added to SR 15 with the ID 0x7n. (As far as I can tell, the size does nothing. Perhaps I should put it on SR 13 instead as that row has no size and signifigantly more free space. On the other tentacle, it was originally on SR 15.)

Why don't endless ropes work with large platforms?


it doesn't center correctly.  the platforms which are aligned with the endless ropes in SMB are 3 tiles wide and are shifted slightly to center on the rope.  big platforms are not shifted and do not center correctly.. though i suppose if the platforms were 6 tiles wide it would center correctly...

(http://img501.imageshack.us/img501/6569/17030322qs8.gif)

and as far as adding the rope into the level data.. why not make a special case with the balance rope when it gets to a certain length then it turns into an endless rope? 
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on May 15, 2008, 02:35:40 am
Ok, thanks for the info. The reason I asked was that it seemed to me that they could work. So it's a matter of the platforms being aligned to the metatile grid, such that a plaform four tiles wide doesn't line up correctly. It occures to me that the engine could be altered to "correct" this (by moving the platforms 8 pixels), but should it?

I suppose the proper answer depends on SMBS and it's usual practices. Of course, a completely faithful reproduction of SMBSs behavior depends on a number of features not present in SMB or our alterations to date of it's engine. Firstly, there is the matter, mentioned above of SMBS having three independant sizes of lift. Secondly, and perhaps more importantly is that SMBS allows for higher precision in the alignment of inital sprite positions than SMB. SMBS can allign sprites to 8 pixel precision, while SMB only has 16 pixel precision.

If SMBS favors aligning four tile wide platforms such that they end up on even rows, the current behavior is more accurate in most cases. On the other tentacle, if SMBS favors aligning such lifts on odd rows, the idea I proposed above would be more accurate. However, I suppose the entire question is rendered moot if all platforms are to be six tiles wide anyway.

Which brings up another interesting proposal. While the addition of new sprites in general is a fairly complex proccess due to two factors, the lack of CHR-ROM space and the lack of frame table space, neither apply in the case of lifts. The lifts are all handled by special renderers and don't use the frame table and would require no additional tiles. A fuller investigation of the requirements to add the mid-sized platforms as first class objects would be needed, but it would probably entail much less work than other enemy additions. (In fact, I belive it'd be signifigantly less work than adding the Red Piranha Plants was.)

Furthermore, even if the mid-sized platforms are not added (at this juncture), if my proposal to shrink the large platforms down to mid-sized ones in primary hard mode (as opposed to secondary hard mode, as standard SMB does, or not at all, as Frantk's patches do) is implimented, the question of alignment is still present. Specifically, if large platforms are given endless ropes and align correctly centered on them, such alignment would be needed for the smaller case to look correct.

To better provide recommendations for these questions, I'm going to look at the SMBS level renders and see what sort of information I can glean about the usual positioning of platforms in SMBS and the usage (or not) of endless ropes. Some more concrete information (as opposed to my hazy recollections from months ago) will give some better guidance as to how to proceed.

As for the endless rope itself, it's much easier to give it it's own object, rather than special case the balance platform rope. The endless rope has it's own init handler which was not overwritten by the pipes patch, only it's entry in the level decoding jump table was overwritten. To re-enable them, all I had to do was add the init routine to the table. To add them as a special case of the balance platform rope would require alterning it's routine, which seems to be unneeded work to me.

To provide more detail on the space issue I mentioned earlier, it's a matter of level format ID space. The various types of SMB level objects have differing ranges of IDs based on thier usage of the seven bit space allocated to them. The following table provides the full details.

Object Type     ID Range  SMB Usage  SMBS Usage (current)

Small Objects   16        12         15
Large Objects    7         7          7
Special Row 12   8         8          8
Special Row 13  64        12         13
Special Row 14  n/a       n/a        n/a
Special Row 15   8         6          8

As you can see, SR 13 has the most free space. (In fact, it's possible that the ID range of the row could be expanded to 128 as one bit is specifically set to one. However, the full signifigance of that bit is currently unknown to me, so that may not be the case.)

In light of that, putting the endless rope on SR 15 may be somewhat wastefull. If at any point in the future we wish to add an object with a size feild, the use of the last SR 15 slot for an unsized object (the endless rope) may be imprudent.

Oh dear, sometimes I think I have entirely too much knowledge of SMB's internals crammed in my head. I wonder what got displaced to make room for it all. Proabably bits of my sanity =_=
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 15, 2008, 03:43:54 am
if your level renders are correct I think I only saw 6 tile wide platforms.  6 tile wide platforms will center correctly with 3 on each side, so no need to shift anything

and re line object: I agree in some ways it's easier but it's also not particularly hard to add the compare and jump commands ;)  also from a level editing perspective it would be less prone to error since it would already display a rope in smbutil.   it's entirely up to you but if you're pressed for object space it's a good candidate.  looks like row 13 has plenty of room though :)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on May 15, 2008, 04:14:23 pm
So, does no one want the X1 version?

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 15, 2008, 04:45:23 pm
just post the link i suppose...
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on May 15, 2008, 05:23:36 pm
So, does no one want the X1 version?

-Rob
Rob,

I would like screenshots of the X1 version, just to see if it's any better than the PC8801 version.

~Ben
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Hamtaro126 on May 15, 2008, 11:21:16 pm
So, does no one want the X1 version?

-Rob

I think I want it, Email or post the X1 ROM of SMBS if possible

@Katatorian: Can you please update the source code if possible?

@Frantik: Can you give me the (Python-extracted) SMB levels with code for use in the source?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on May 16, 2008, 03:27:39 am
So, does no one want the X1 version?

I definetly want the Xl version. (Or any other version for that matter. I'm still hoping to get a clean dump of the disk image. If anyone has a PC88 version which has an MD5 signature of something other than 94a92e15ad909b7510dccca26128b54c, please let me know.) Hopefully the level format is similar and I can reuse the level renderer codebase to generate a comparison set of images.

I appologize for not responding to your offer earlier. I was preoccupied with other stuff. I can't recall off-hand the RHDN rules on linking to ROMs. (Unlike many forum users (not anyone specifc, or even at this site, just in general) I read the rules when I joined, but the details escape me.) I know that requesting links to ROMs in the ROM hacking forii is frowned apon. (Thus my request for a clean disk image may be taboo, but I think there's some leeway.) However, (unlike many sites), ROM sources is an allowable topic in the General forum. (There's even a dedicated thread, so I hear.)

What I suggest you do is re-read the forum rules. If if's absolutely forboden (that is a word) to post the link here, go to the thread I mentioned above and post the link there. If posting ROM links (as opposed to requesting them) is allowable in the hacking forums, post the link here. I'm not the only one interested. Early in the thread, there was some interest in the Sharp version as well. One member in particular (I can't recall who and am too lazy to look) seemed to be a serious X1 fan and was disappointed to find that the image wasn't in his extensive collection.

In either case, PM me the link. It may be a distraction from the work at hand, but I'd really like to point my hexeditor at the port. BTW, (OT) can anyone recommend a good un*x or cross platform Sharp X1 emulator?

@Katatorian: Can you please update the source code if possible?

Sure, I can do that. I haven't really been keeping up on the source releases. This is because the intial one seemed to generate a lukewarm reception at best. Other than an aside concerning the custom level extractor, it didn't seem to garner any enthusiasm. Furthermore, there haven't been any requests for a second release until yours. (However, as I get my web hosting from my ISP, I have no download statistics, so I have no idea how many people actually grabbed the intial source release.)

Please be aware that the build enviroment is somewhat involved (especially for a Win32 user; un*x users, including those running OSX should have an easier time). The build process is automated using make. (GNU make specifically, but it should be reasonably portable across make variants, AFAIK.) Honestly, as a un*x freak, I (personally) can't imagine building a complex software project (and SMBS for NES has become moderately complex) without make (or an equivilant, like autotools, or Python's distutils), so I've got no sympathy for those without a proper dev enviroment. "Thems tha breaks", as they say =_=

In addition to make, there a number of other dependancies for a fully automated build. The primary ones are as65 and ld65, which are part of the cc65 suite of 6502 (and relatives) development tools. While not the most popular NES assembler, as65 is (in all likelyhood) the single most powerful freely availible and portable 6502 asm ever; Thus, it is my tool of choice. (As a side note, I was turned onto it by the famed (at least locally) Disch, who used it for his re-buildable dis-asm of  Final Fantasy, my other (on hold) ROM hacking pursuit (at the moment).)

Beside the assembler and linker, you'll also need some standard file manipulation tools (cp, rm, dd). However, copy and delete on a MS system should work fine; Provided you edit the Makefile. dd is a bit trickier; I don't know off hand a Win32 equivilant, but I imagine any serious ROM hacker has something that's roughly equivilant. Additionally, you'll need a command line IPS patcher and (optionally) an NES emulator (for testing).

Finally, as you're already aware, the level extraction tool requires Python. While a final source release will likely include a Win32 stand-along executeable (created using py2exe), probably as a seperate package, I haven't gotten a proper cross-compilation eviroment set up at the moment (I don't run Windows and won't).

That's a pretty heavy list of deps, but there are two cavetes that lessen the burden to the technically skilled. (Which one ought to be if one's interested in the source code.) Firstly, all that stuff is only needed tor an automated build. For most of it, a manual build could be accomplished with whatever ROM hacking tools one has on hand. Secondly, all the tools are open source and have been ported to all major (and many minor) plafforms, so they are readilly accessable.

The build processe has changed slitghtly since tha last release (streamlined mostly) and, as such, I should update the README, which hasn't been touched in weeks (or longer). Additionally, I've decided on a license for my personal source code contirbutions (i.e. the legal parts) and so should update that aspect of the documentation as well. While I'm at it, I may as well add a mini-HOWTO for building the package manually. All together, that entails a fair (but not major) ammount of documentation to be written. As you've requested a source release, I will provide one, but don't be surprized if it takes me a day or to to clean things up.

Quote
@Frantik: Can you give me the (Python-extracted) SMB levels with code for use in the source?

While I, clearly, can't speak for Frantik, I'm not sure he's got Py and is capable of generating level packages. That said, given the demand, I will release a level package coincident with the source package. (As I did shortly following the first one.)

Currenlty, there are (though it's not readily apparent) three "current" versions of the levels. The first (and primary) is those contained in the latest patches released by Frantik. Second is my own (very very minor) adjustments to those levels (well, one level, actually), which are present in the latest expanded build. Finally, there are any changes Frantik has implimented since the last release. (Although, those can be ignored as I doubt anyone will see them until they're released.)

When I do the source release, I'll include mine; Unless a new version shows up first.

Well, that was pretty random, and (I'm sorry) really long (and, probably boring as well). G'night!
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 16, 2008, 05:39:41 am
Quote
it didn't seem to garner any enthusiasm... the build enviroment is somewhat involved (especially for a Win32 user

i think those two statements are related ;)  i downloaded a lot of stuff needed to build the source but never finished with my PHP based extractor, and it's just easier to let you build it anyways :D

during play testing i saw quite a few things in the worlds 5-8 rom which need fixing so i will fix those things
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on May 16, 2008, 01:48:36 pm
http://www.filecrunch.com/fileDownload.php?sub=47fdce9f3b9fb5fc9ac20dfce7514ac7&fileId=146410

X1 Version

Dying to hear what differences folks find...especially the things we weren't sure would be in both versions, like some "features," or glitches.  I haven't even had a chance to open the file yet...I've been swamped.

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 16, 2008, 03:59:26 pm
so uh, where might one find an windows X1 emu?  i could only find a gameboy advance one  and a macOS one :\
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on May 16, 2008, 04:47:56 pm
http://www.jcec.co.uk/x1emu.html

Not very helpful, but this is the best I could find. :-(

I'd like to know too!

Lots of JP computer emus and info there...

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Kitsune Sniper on May 16, 2008, 05:15:07 pm
http://www.emulation9.com/emulators/computer.html#X1
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 16, 2008, 06:01:00 pm
(http://img207.imageshack.us/img207/6466/48863037sx8.gif)

emulator: http://retropc.net/ryu/ika/ika/winx1_010_ika5_1.zip
fonts: http://www.jcec.co.uk/fontsys.zip
system rom: http://www.jcec.co.uk/x1rom.ZIP

unzip all into one folder with the rom rbudrick provided.  run WinX1_ika.exe.  go to FDD(F) -> FDD 0 and load the mario rom.  the game should load up automatically if you load the rom before the system fully boots. 

you need a joystick to play as far as I can tell.  instead of quickly switching to the next screen the whole screen scrolls during the transition which is good in some ways and sucks in others.  the game also suffers from massive slowdown with even 2 enemies on the screen lol


actually looks like you might be able to just use this one: http://retropc.net/ryu/ika/ika/xmil026tt143_ika4.zip it's a newer version and seems to have the rom included.  you can also increase speed of the processor
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on May 16, 2008, 06:10:59 pm
(http://img207.imageshack.us/img207/6466/48863037sx8.gif)

emulator: http://retropc.net/ryu/ika/ika/winx1_010_ika5_1.zip
fonts: http://www.jcec.co.uk/fontsys.zip
system rom: http://www.jcec.co.uk/x1rom.ZIP

unzip all into one folder with the rom rbudrick provided.  run WinX1_ika.exe.  go to FDD(F) -> FDD 0 and load the mario rom.  the game should load up automatically if you load the rom before the system fully boots. 

you need a joystick to play as far as I can tell.  instead of quickly switching to the next screen the whole screen scrolls during the transition which is good in some ways and sucks in others.  the game also suffers from massive slowdown with even 2 enemies on the screen lol


And also, the area music sounds faster than on the PC8801 version.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 16, 2008, 06:16:09 pm
the music makes me want to kill myself the way it slows down and speeds up.  luckily you can turn it off
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on May 16, 2008, 10:24:51 pm
i think those two statements are related ;)

Well, honestly, I didn't try to make it that way, it just sorta happened. When it started out, basically, the only requirement was the assembler. But, of course, a way was needed to combine the levels, so I wrote one, which added Python to the list. Plus, there was a need to extract some other binary data from your versions (CHR-ROM, scenery, the demo) so dd or a similar tool was needed. (I suppose I could have just put most of them into the source code, but then I'd need to redo it if they changed.)

Make and the file manipulation commands where just gravy. I'd been using make since my first build, but it's not needed, just handy. I guess the real issue is that I had all this stuff on hand, whereas most (non un*x using) people don't. Hmm.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 16, 2008, 10:37:25 pm
hehe i was just giving you a hard time :-p once we work out all the bugs I'm hoping to put together a Windows friendly package
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on May 17, 2008, 12:59:26 am
Speaking of source releases, you can get the latest here (http://gis.net/~levi/gaming/smbs/source/smbs-src-0.9.0.tar.bz2) and the data pack (if you want it) here (http://gis.net/~levi/gaming/smbs/source/smbs-src-data-0.9.0.tar.bz2).

Changes since the last source release are pretty signifigant and I'm not going to go into all the details. (Read the various change lists that have been posted for the patch releases if you really want to know.) The automated build process has been streamlined (provided you've got the deps), and there are now detailed instructions for building the ROM image manually.

I've decided on a license for my original code containded in the package. Everything other than the level extractor is released under the LGPL. The level editor is realeased under the GPL. The documenation (ok, just the readme) is realeased under the FDL. All the bits derived from code belonging to Nintendo or Hudsonsoft are (of course) owned by them and used without permission.

In regards to making a Windows friendly package, at some point I am going to build a stand alone Win32 binary of the level extractor, so that should help.

Those with no interest in building the ROM themselves can get the latest patch here (http://gis.net/~levi/gaming/smbs/patches/smbspecial_world8-ex-v8.ips). Changes in this version are minor and include updates to the first half ot the levels.

Well, I'm off to mess around with the X1 version. Hack and enjoy.

Edit:

I took a look at the Sharp X1 disk image and it's very similar to the PC88 version as far as the levels go. The disk format is different (it's got no headers, just data), but once you account for that, the level data even occupies the same sectors. I was able to dump the levels and get my level renderer to generate images of the levels without too much difficulty.

The level format changed a little bit. All the data present in the PC88 levels are in the X1 levels in the same locations. However, the spaces inbetween are no longer filled with zeros and are filled with something else instead. They added a few more tiles and put them in the middle of the tileset, so any tiles beyond the addition points had their number changed. I created a new tileset image (using the X1 graphics) and almost everything seems to be working so far. I don't know if they changed any of the sprite data format or not. They don't appear to have.

I've still got a few things to check out, but I should have a set of X1 level renders availible sometime soon.

For some reason, all the X1 emu's I've tried have signifiganty worse performance than the PC88 emus I've found. I wonder why that is. They seem to have very similar hardware.

Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on May 17, 2008, 11:51:41 pm
So, percentage wise how far along is this project? And what timeframe do you expect this to be done? In a month? longer?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Hamtaro126 on May 18, 2008, 03:18:04 pm
So, percentage wise how far along is this project? And what timeframe do you expect this to be done? In a month? longer?

100% LevelWise (I Dunno, Depends on the level of ASM hacks will be implented in future versions)
ASM levels are unknown (about 50%-25%?)
Memory (70%-80%?)
Music does not need any modification what-so-ever.
Graphics - 75% (May need work due to NES Graphics Limits)

If you need someone else for that stuff, Might have to wait,
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 19, 2008, 05:07:09 am
Quote
So, percentage wise how far along is this project? And what timeframe do you expect this to be done? In a month? longer?

the initial version without new enemies or power ups (only new levels and a few new blocks) is in the beta testing stages right now.  I have some errors i need to correct and send to karatorian.  he's got at least one bug with hidden blocks (both mushroom and special power up) which aren't 100% hidden to correct.

once all the bugs are worked out of the initial version we'll start on the new enemies and power ups since that will require a bunch of new changes
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on May 19, 2008, 07:14:16 pm
Um, unless I missed something, the bug with the hidden blocks was fixed in the release prior to the latest one. If it's still present, I have some sort of regression and will have to look into it.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 19, 2008, 09:48:19 pm
oh sorry then thats fixed :)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 21, 2008, 04:26:59 pm
karatorian I sent u the updated level data :)  I forgot to mention to see if you can implement the 6 tile lift hack (if not already implemented) in the next release.  one of my patches if not both have it implemented already
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on May 22, 2008, 09:00:20 pm
Here's the latest patch (http://gis.net/~levi/gaming/smbs/patches/smbspecial_world8-ex-20080522.ips). Changes in this release are fairly minor. The large lifts are all now six tiles wide (regardless of the hard modes or the map type) and the lastest tweaking of the levels by Frantik is included as well.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 23, 2008, 02:36:37 am
sweet :D  everything look pretty good so far  :crazy:

 [edit:  spoke too soon.. two level format bugs and also one thing that hasn't been too urgent but we should fix is in 4-3 the vine comes up at the bottom of the screen ]

also what do you thnk bout changing the clock timer?  I tried it out and if you walk from the start until you hit the first goomba the clock says 392 in SMBSpecial (at least on the x1) and in SMBS it says 394.  I adjusted the clock and got it to be about the same time

Code: [Select]
           sta EventMusicQueue        ;otherwise load time running out music
ResGTCtrl: lda #$18                   ;reset game timer control
           sta GameTimerCtrlTimer

change 18 to 12
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on May 23, 2008, 05:36:33 am
Hmm. Well, just so you know, the current level data is using 8156 out of 8192 bytes of SRAM. So if things get much larger (18 objects left) I'll have to come up with an alternative method of handling the levels. (Not that it couldn't be done, but I'd like to avoid it if we can.)

The clock speedup sounds good to me. (Are the level's time limits currently at the SMBS lengths?)

Could I get a little more detail on this 4-3 vine thing?

Anyway, I got to go to work now and I'll probably go to bed after that. So chances are I won't get around to any more hacking until sometime this weekend.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 23, 2008, 06:07:15 am
neither bug i've noticed (one at the end of 4-1 and one in 4-4 with the 'HUDSON' writing) will require extra objects.. hopefully i shouldn't have to add any more.  in some ways it's good to know we're not wasting much level data space hehe :D

here's the vine problem.. I'll look into it can't be too tough
(http://img292.imageshack.us/img292/2563/smbspecialworld6exv1002ml6.png)

and yeah i adjusted the clock times a while back :)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on May 23, 2008, 01:56:49 pm
Hmm, I wonder what's causing that? It could be that none of the vines in the original SMB came out of blocks that high up. If that's not the case, I'm not sure what it is. If we just have the game draw less vine metatiles, will there be any vines that'd end up too short? (If that's the case, we'll just have to add a check to stop once it reaches the top of the screen. But just making them shorter would be easier.)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on May 23, 2008, 01:57:47 pm
Just curious, how were the correct clock times figured out?  It was mentioned that each "second" or whatever you want to call it of the count down in SMBS is a different (are they faster or slower?) speed from SMB.  Was the timing/clockcycle subroutine in each game figured out, or was a stopwatch used while the time ran out?  The reason I ask is that we don't know how accurate the emulation really is and the code should really be looked at instead for complete accuracy.

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 23, 2008, 04:27:46 pm
Hmm, I wonder what's causing that? It could be that none of the vines in the original SMB came out of blocks that high up. If that's not the case, I'm not sure what it is. If we just have the game draw less vine metatiles, will there be any vines that'd end up too short? (If that's the case, we'll just have to add a check to stop once it reaches the top of the screen. But just making them shorter would be easier.)

normally the ground covers up the tip of the vine but this vine is over a hole.  i hope shortening it by 1 tile should fix it..  and i'm not 100% sure but i think the vine blocks in SMBS are all at the same height

oh hey what is the hex for endless ropes?  hopefully there are fewer than 18 of them  :laugh:

Quote
Just curious, how were the correct clock times figured out?

as i mentioned i just walked from the start of the game into the 1st enemy and adjusted the game clock in the SMB engine to so the times are the same.  it's not the most entirely accurate way but it works and is at least relative to the speed mario moves.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on May 25, 2008, 01:36:55 pm
The special castle object for level 8-2 is a special row 15 object, just like the normal castle, but rather than object ID 0x2n, it uses 0x6n. The endless rope was re-added to SR 15 with the ID 0x7n.

In regards to the vines, it occured to me later that the hole was the likely cause. It shouldn't be too hard to simply not wrap around.

No time for hacking today, what with the holiday weekend and all. (Probably early next week.)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on May 27, 2008, 01:10:38 pm
Quote
as i mentioned i just walked from the start of the game into the 1st enemy and adjusted the game clock in the SMB engine to so the times are the same.  it's not the most entirely accurate way but it works and is at least relative to the speed mario moves.

I see, but couldn't the game code reveal an exact timing to put in?

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on May 27, 2008, 06:06:58 pm
Yeah, game code would be more exact, but nobody seems to have much interest in diggin into the Z80 ASM. I definetly don't. (I've already derailed all my other ROM hacking project with the work I've put in on this so far. Not that I mind, bud disassmbling code for a mostly undocument (in English at least) Japanses computer without quality tools isn't something I'm interested in at the moment.)

That said, as I've mentioned before, if anyone is interested, I can provide some useful pointers on the format of the disk images, where the code, levels, graphics, text, etc. are for both the X1 and PC88 disk images. They're both z80 based so anyone who knows that CPU (GB hackers, I guess) wouldn't have to hard a time with some of it.

Furthermore, I don't much care for the z80 ISA. Call me weird.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Hamtaro126 on May 27, 2008, 08:14:23 pm
Yeah, game code would be more exact, but nobody seems to have much interest in diggin into the Z80 ASM. I definetly don't. (I've already derailed all my other ROM hacking project with the work I've put in on this so far. Not that I mind, bud disassmbling code for a mostly undocument (in English at least) Japanses computer without quality tools isn't something I'm interested in at the moment.)

That said, as I've mentioned before, if anyone is interested, I can provide some useful pointers on the format of the disk images, where the code, levels, graphics, text, etc. are for both the X1 and PC88 disk images. They're both z80 based so anyone who knows that CPU (GB hackers, I guess) wouldn't have to hard a time with some of it.

Furthermore, I don't much care for the z80 ISA. Call me weird.

If you were to disassemble anything SMB1-related in Z80, I recommend trying to disassemble SMB1DX (Gameboy Color). After that, I can make a version of SMB1DX to Super/Original Gameboy and possibly Sega Master System.

Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: strfr on June 05, 2008, 05:27:03 pm
Karatorian/frantik, how is progress on the ROM hack?  It's been more than a week since the last reply from either of you.  I hope everything's doing good with the progress so far.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on June 05, 2008, 07:57:55 pm
i think i need to do some bug fixes or something but ive been kinda busy so hopefully i will send them to the big K soon
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on June 05, 2008, 09:32:37 pm
i think i need to do some bug fixes or something but ive been kinda busy so hopefully i will send them to the big K soon

Keep up the good work!

~Ben
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Googie on June 05, 2008, 10:31:50 pm
I'm with Ben, I can't wait to see how the new enemies will look in the hack. ^_~
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on June 07, 2008, 05:15:18 am
Karatorian/frantik, how is progress on the ROM hack?  It's been more than a week since the last reply from either of you.  I hope everything's doing good with the progress so far.

Progress has been kinda slow lately. For a while, hacking on this was my main computer-related project and took up a lot of my free time. I've backed off a bit. It's not like I'm abandoning the project or anything of that nature, but I doubt I'll be keeping up the every-few-days release schedual I was running.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on June 12, 2008, 01:45:25 am
sent an update to karatorian :)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Googie on June 12, 2008, 02:22:47 am
(http://www.rr-bb.com/images/avatars/crazy_kermit.gif)

YAAAAAAAYYYYY!!!11!

Oh man, now I can sleep in peace...  :D
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on June 12, 2008, 06:21:47 pm
lol don't get too excited it was just some bug fixes and adding the endless ropes
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on July 08, 2008, 09:21:20 am
Looks like it's been quite a while since any updates.  Anything new, guys?  :)

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on July 13, 2008, 03:11:55 pm
well i have a new gf lol.. so i dont have much time for working on hax but Karatorian still has my bug fixes which we're waiting for ;)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on July 24, 2008, 09:29:13 am
It's funny that the hack dies just as it finishes one of the hardest stages.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on July 25, 2008, 05:14:22 am
Please don't let your GF get in the way of things, Frantik... please finish it up...

Thank you,


Ben
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Googie on July 25, 2008, 08:49:34 am
Please don't let your GF get in the way of things, Frantik...

Women needs lots of TLC, so um, yeah...

frantik: Now, imagine this hack being released on the same day as SMU...  :o  :cookie:

^________^'
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on July 26, 2008, 02:17:08 pm
Let's rename the hack Super Mario Forever in honor of its delayed release.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on July 26, 2008, 05:23:52 pm
Quote
Let's rename the hack Super Mario Forever in honor of its delayed release

that was actually the first name of Super Mario Unlimited :-p

and we're waiting for Karatorian to give us the updated patches so dont blame my gf :D
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: strfr on August 05, 2008, 08:24:30 pm
franktik, have you (or anyone else) been in contact with Karatorian recently?  His last activity on the board was almost two months ago, on June 7th...the same day as his last post.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on August 06, 2008, 03:21:55 am
nope.. we mostly communicated thru the board

i might have to finish my php level ripper thingy to at least release the completed Phase 1 rom i guess  :-[
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on August 14, 2008, 04:29:34 pm
Hmmm, does anyone have Karatorian's contact info?  Perhaps someone could email him and see if his heart is still in it.  I know I get deep into projects sometimes and then I just can't take it anymore and come back later.

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on September 15, 2008, 02:06:10 pm
I figured I'd give this one a bump, since it's been a month since the last post and even longer since the last update.  It'd be a shame to see this one die after all the work we saw the boys put into it.   :(

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on September 15, 2008, 06:14:59 pm
if karatorian never returns i'll eventually figure out how to at least get the last round of bug fixes implemented since it's a decent port at this point if the bugs were removed

edit:  i tracked down his myspace and sent him a message...
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on September 16, 2008, 03:14:00 am
Hey all, I'm really sorry I've been absent for so long. I took a little break from ROM hacking. It wasn't really planned, it just sorta happened, otherwise I'd have given you guyz some sort of heads up. (I got pretty deep into a web realated project of mine and then revived work on my OS project, so SMBS just sort of got neglected.)

I'm going through the thread now too see what I've missed. Hopefully I can get the outstanding bugs fixed soon. You can get the latest patch here (http://gis.net/~levi/gaming/smbs/patches/smbspecial_world8-ex-20080916.ips). Unless there where unrealeased code changes that I don't remember, the only change is that this version uses the latest (three month old, my bad) level updates from frantik.

Once again, so sorry for the unexplained absence. I still want to work on this project.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on September 16, 2008, 04:40:41 am
Hey all, I'm really sorry I've been absent for so long. I took a little break from ROM hacking. It wasn't really planned, it just sorta happened, otherwise I'd have given you guyz some sort of heads up. (I got pretty deep into a web realated project of mine and then revived work on my OS project, so SMBS just sort of got neglected.)

I'm going through the thread now too see what I've missed. Hopefully I can get the outstanding bugs fixed soon. You can get the latest patch here (http://gis.net/~levi/gaming/smbs/patches/smbspecial_world8-ex-20080916.ips). Unless there where unrealeased code changes that I don't remember, the only change is that this version uses the latest (three month old, my bad) level updates from frantik.

Once again, so sorry for the unexplained absence. I still want to work on this project.

Nice to have you back with us, Karatorian! And please, do remain true to your original commitments toward the development of SMBS ...
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Lilinda on September 16, 2008, 04:56:08 am
Hey all, I'm really sorry I've been absent for so long. I took a little break from ROM hacking. It wasn't really planned, it just sorta happened, otherwise I'd have given you guyz some sort of heads up. (I got pretty deep into a web realated project of mine and then revived work on my OS project, so SMBS just sort of got neglected.)

I'm going through the thread now too see what I've missed. Hopefully I can get the outstanding bugs fixed soon. You can get the latest patch here (http://gis.net/~levi/gaming/smbs/patches/smbspecial_world8-ex-20080916.ips). Unless there where unrealeased code changes that I don't remember, the only change is that this version uses the latest (three month old, my bad) level updates from frantik.

Once again, so sorry for the unexplained absence. I still want to work on this project.

Nice to have you back with us, Karatorian! And please, do remain true to your original commitments toward the development of SMBS ...

Please don't try to pressure him.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on September 16, 2008, 01:44:05 pm
! And please, do remain true to your original commitments toward the development of SMBS ...

lol Romhacking is a hobby for fun, not a "commitment".

great to have you back Karatorian.. thanks for the updated rom.. perhaps we should release your latest patch as a preliminary version and hope that perhaps we could possibly get more people working on the project once they see how far a long it is? 
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on September 16, 2008, 02:24:21 pm
Well, we're very close to the point where I'd be willing to do an official release. There's the timing hack which is only one (or was it two) bytes which should definetly go in and there's the vine bug that needs to be fixed. Are there any other outstanding bugs or minor changes to be made?

While the major changes (new enemies, new power-ups, SMBS style credits sequence) will take some time, I'd like to fix any outstanding bugs (at least) before we release anything official.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on September 17, 2008, 09:53:06 pm
do we want to include any of these?

#  Lower the Flagpole Height
# Lower bowser bridge, rope and axe
# Modify Bowser behavior to match SMBS more (doesn't jump as high, moves faster)

todo
# Modify game clock timer
# Fix 4-3 vine issue
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on September 18, 2008, 02:34:21 am
do we want to include any of these?

Well, it basically depends on how complicated the changes are. I'd want to hold off on anything overly invasive for now. Here's my estimates.

Quote
# Lower the Flagpole Height

This might be as simple as changing a few constants. However, there is the issue of points. Depending on how the flagpole points routine works, making everything work correctly (i.e. proper values at the top and bottom) could get complicated.

Quote
# Lower bowser bridge, rope and axe

Should be pretty simple. All it proabably requires is changing a few constants.

Quote
# Modify Bowser behavior to match SMBS more (doesn't jump as high, moves faster)

This really depends on bowser's AI routines (which, as I recall are kinda involved). It could be as simple as tweaking a few values, in which case I'd say go for it. Or it could involve substantial editing, in which case I'd say hold off.

Quote
# Modify game clock timer

This is solved, I just need to add the value you derived into the code base. I'll do it next time dig into the code. (Should be soon, perhaps tomorrow if I have some free time.)

Quote
# Fix 4-3 vine issue

This needs some research done. I've never really investigated the vine routines, so I don't know what exactly it will entail. However, as a bug, rather than a new feature, it's gotta be taken care of.

I'll look into all of these and give you some more definite answers. All of your suggestions are things that should ultimately be done, but when depends on the size of the changes. I'll incorporate the game clock change and see what I can do about the vine bug. Once those are done I'll look into the other changes you've suggested.

Good night and keep upt the good work. Hopefully I'll release another patch soon.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on September 18, 2008, 03:29:47 pm
Awesome to see you back!  I've very much enjoyed this thread and watching it's progress, especially the genius methods used to overcome certain obstacles.

Can't wait to see more!

Quote
do remain true to your original commitments toward the development of SMBS ...

Commitment?  lolz.

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on September 19, 2008, 12:24:02 am
Commitment?

Yes, as in, I should be commited for spending so much of my free time on this ... he he he.

You can get the latest patch off my website (http://gis.net/~levi/gaming/smbs/patches/smbspecial_world8-ex-20080919.ips). The changes in this version are rather minor. The level data is the same as the last patch. I (finally) implemented the timer speed increase. I've also fixed the bug with the vine in 4-3.

As a side effect of the vine bug fix, vines that start below a certain point don't reach the top of the sceen. However, none of the vines in SMBS are effected. (This behavior is present in the original SMB code, just at a different height.)

Now I'm off to investigate some other stuff.

Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on September 22, 2008, 07:31:24 am
I can help you on some of these other investigations:

*The tall enemy bit in World 4-2 must be fixed (still not corrected in awhile).

~Ben
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on September 23, 2008, 10:08:36 pm
The tall enemy bit in World 4-2 must be fixed (still not corrected in awhile).

Um, what now? Sorry, but if you explained this before, please do so again, I must have forgotten. What exactly is wrong in world 4-2? (If you have already explained it in detail, just point me to the post number or somethin`.)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on September 23, 2008, 10:42:13 pm
I long forgot about this project. I'm glad it didn't go uncompleted and forgotten. I hope there is a final release someday.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on September 24, 2008, 03:52:05 am
The tall enemy bit in World 4-2 must be fixed (still not corrected in awhile).

Um, what now? Sorry, but if you explained this before, please do so again, I must have forgotten. What exactly is wrong in world 4-2? (If you have already explained it in detail, just point me to the post number or somethin`.)

Hi, I am referring to the fact one of the Spinys appears to be taller than usual here, and it is halfway through the underground portion of the stage. Play the stage again, and you'll find out why. I did so...

~Ben
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on September 24, 2008, 02:20:42 pm
wat?  taller than usual?  pls take a screenshot.  they're always 16 pixels tall...

edit:  well there's defintely some weird bounding box issue cause mario will die when not even near the spineys
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on September 24, 2008, 06:45:36 pm
Well, I'll investigate, but I haven't a clue as to what would even cause such a thing, so this could take awhile. I don't think I've changed anything relevant. Arg.

On the other tentacle, due to the spagetti code nature of the enemy handling routines, the Red Piranha Plant changes are all over the place, perhaps I messed it up while implementing them.

I'll go take a look ... (Now where did I put that chainsaw?) ...

Edit

Ok, I got it figured out. It wasn't a bug created by me. Rather, spinies apparently aren't supposed to appear in the map like normal enemies. They act a little odd if you do. For instance, if you put spinies in a level, Latiku will appear a little ways past them. (Frantik worked around this odd effect.) However, their initialization code isn't set up to handle them as normal objects, so it made for some strange bugs.

Anyway, I added a proper initalizer to an unused object and I belive I've fixed it. You can get the patch at the usual location (http://gis.net/~levi/gaming/smbs/patches/smbspecial_world8-ex-20080924.ips). I did some basic testing, but please test it some more.


Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Darkdata on November 02, 2008, 08:01:10 pm
So any more work done on this lately? Talk in #x wants to know. :P
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Wario Bros. on November 03, 2008, 04:26:05 pm
So any more work done on this lately? Talk in #x wants to know. :P

I know progress seems to be slow but it doesn't feel right bumping this.

Well, sinced it's bumped, wouldn't this project been easier if you used Super Mario Bros.: The Lost Levels instead since you could replace stuff like the Poison Mushroom with something else.

Keep up the good work on this project!!
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Googie on November 22, 2008, 11:40:19 am
Sorry for the bump fellas, I'm curious on how the progress is going too. I'm sure that real life is getting in the way, now that the holidays are coming maybe'll be more free time to work on this hack if anything hopefully.

Everytime I play the old betas I get really hyped on how the Mario Bros. enemies'll work. ^_^' 
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on November 22, 2008, 01:43:05 pm
well i don't want to burst anyone's bubbles but somehow i don't think we'll ever see new enemies.  i'm pretty much done with what i was planning on contributing to SMBS and Karatorian seems to have a lot of other projects going too.. i'd really like to get a releasable port done (w/o the new enemies) though

Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on November 24, 2008, 12:09:35 am
Sorry I've gone AWOL again. I've been working out of town and don't have a laptop, so I've got no way to work on any of my projects during the week. Spending all week living in a motel, I'd rather spend my weekends out with friends, so I haven't really done any computer related stuff lately. My personal life has also been rather complicated of late.

The job I'm currently on should only last another week or two, so I should be able to find some more free time to work on SMBS. (No promises. The next job could be stay-away as well. Construction in the winter tends to get like that.)

I'll look into the corrupted archive of the latest patch. I'm not sure what happend with that, but I'll look into it. I'm sorry I don't have time to do more at the moment, but I haven't forgotten you guys. (I might have some free time next weekend, we'll see.)

As for the new enemies, I havn't abandoned the idea yet. However, I'm not working on the project several hours a day like I once was. It could take some time, but don't give up hope just yet.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on December 12, 2008, 05:42:51 pm
I dunno, it seems sort of stupid that the project is so close to being finished and it could be dead. I mean, the level layouts are done. We can essentially play it from beginning to end on our own. I hope this thing gets finished.
Title: Official Beta Test Released
Post by: Karatorian on February 17, 2009, 04:05:22 pm
After long (and unfortunate) delays, I've just posted the first offical beta test release to the RHDN database. So please grab it and give it a spin. It should show up in the DB shortly, but in the meantime you can get it at my new website (http://static.karatorian.org/gaming/smbs/smbs-20090217.tar.bz2).

Now before anyone gets their hopes up, there are no major changes in this release. Just a few minor tweaks and a README. I haven't added any new enemies, new power ups or any of that. I know many of you where looking forward to those changes, but I simply don't have the time (at the moment) to impliment them. So, rather than leave the project in limbo, me and Frantik (he's busy with other things too) have decided to release the 1.0 version.

To that end, we're running an official beta test before we wrap the project up. If all goes well, this will be the 1.0 version. If not, we'll run some more betas. So please test this release if you're at all interested in this hack. I'm assembling a list of playtesters (see the README for details), so you'll all get your fair share of the credit. Testing on hardware would be especially appreciated.

Also, I'm running a mini screenshot contests. The final details havn't been worked out yet, but the best four will get thier screenshots featured in the database (and full credit, of course). So if you've got better skillz than me (I suck at Mario and cheat like crazy to test), grab a shot of anything cool or funny (or buggy, but that's another matter) and hold onto it. I'll work out the full rules and post them shortly.

I know a lot of you wanted more, but I'm not going to promise what I can't deliver, so I won't. Once 1.0 is out, I'll release another source package, so anyone who wants to take it to the next level can do so. (I've already started working on making it possible to build on a platform other than un*x, so that issue should be fixed by then.)

Once again, I'm very sorry that several planned (and much anticipated) features got cut and that I've dissappeared on you so many times. I'm very thankful for all the support, encouragement, advice, critiques, testing, and bug reports you've provided. It's been a great experiance.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Bitch In The Red Dress on February 19, 2009, 08:59:12 am
2-1 froze on me after climbing a vine. Music continued to play, but Mario never appeared on the screen.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on February 19, 2009, 06:42:51 pm
Doh. Ok, I think I know what's going on there. There was a vine related bug in 4-3, so I changed the vine code a little bit. I must have broken it completely. I'll go straighten that out. Thanks for the report.

Edit

Should be fixed now. You can get beta two here (http://static.karatorian.org/gaming/smbs/smbs-20090219.tar.bz2). Sorry for the inconvience.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on February 19, 2009, 10:26:52 pm
 :crazy:
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Next Gen Cowboy on February 19, 2009, 10:34:15 pm
That is one of the most useless post I have ever seen. Grow up, please!
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on February 19, 2009, 10:39:34 pm
lol, chill out dude, i was just excited that this hack got released after all of my hard word on it

i did get a kick out of a 22 year old kid telling me to grow up though  :thumbsup:

Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Next Gen Cowboy on February 19, 2009, 10:42:46 pm
I didn't get a kick out of it, hence a warning has been issued, as I said, please do not make such useless post, it is very annoying.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on February 19, 2009, 10:47:53 pm
lol.. i'm sure it felt good to send that warning.   :woot!:

anyways, thanks Karatorian for finishing up the loose ends on this hack.  Looking forward to the final beta testing and official release!!
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on February 19, 2009, 11:16:55 pm
You're welcome. It's been stagnant for entirely too long and so close to presentable too. Oh well, it's out now. Hopefully we don't run into anymore major bugs. (The vines being completely borked was embarassing.)

Re Next Gen Cowboy: I should probably keep my mouth shut, but I ain't like that, so ... fratik's post was actually on-topic (if a little vapid) and appreciated (by me if not you). On the other tentacle, you've done nothing but derail the thread.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Next Gen Cowboy on February 19, 2009, 11:37:50 pm
I am not in the mood of catering to your ego, post like that are against the rules, if you have a problem pm me with it, if you cannot follow the rules then warnings will be issued, what is so difficult to figure out about that? Enough of this all together, you have problems contact me with them, if you don't let it go.

Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Bitch In The Red Dress on February 20, 2009, 02:46:29 pm
More vine glitchiness.

The vine in 2-1 works now. For some reason after climbing it, going through the coin area, and finishing the level, the victory music glitched. It played for about one second and then returned to the basic level theme. I'm not 100% sure this is related to the vines, I haven't had a chance to retest that level yet.

Also, climbed a vine in 4-3 and could not escape the area. I don't know if there's something I'm missing, but the pipe does not function. All I could do was wait for the time to run out.

Edit: Two of 7-4's pipes lead you to a small area that you only barely have enough room to escape from. If you head slightly to the right as you get out of the pipe, the screen will scroll to that direction and leave you unable to do anything but wait for death. Yes, I know you have to be dumb to do this.

I've cleared the game now and haven't found any other issues.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: CaseCrash on February 20, 2009, 04:11:29 pm
Next gen cowboy: why are you even a moderator?   :-[

Karatorian & frantik: Great job, I hope you can finish and polish this off someday  :beer:
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on February 20, 2009, 04:15:46 pm
Quote
Also, climbed a vine in 4-3 and could not escape the area. I don't know if there's something I'm missing, but the pipe does not function. All I could do was wait for the time to run out.

thats *not* a bug, though I suspect everyone will think it is :\
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Bitch In The Red Dress on February 20, 2009, 06:53:01 pm
thats *not* a bug, though I suspect everyone will think it is :\

Really? Wow, then Hudson sure are assholes.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on February 20, 2009, 07:33:13 pm
Really? Wow, then Hudson sure are assholes.

It's like that in the original. I'd argue that is a a bug, but it's one we've decided to be bug-for-bug compatable with. Theres some discussion of that a while back in the thread. We decided to leave it like that even though it's obnoxious and against the spirit of SMB, because it's the what the project is about.

At first it was suspected to be disk corruption (we've had to work around some in the only dump of SMBS we've been able to find), but after investigation, it appears not to have been. (I wonder if the Sharp X1 version is like that too. I never checked.)

I should probably mention it in the readme.

As for the music glitches, I'm not sure what's up with that. I don't think it's vine related. If anything, it may have to do with going to the coin heaven, but I don't think the means of entry would effect that. (Honestly, I do most of my testing with sound disabled to speed up the emulation. I guess I'll have to stop doing that.)

I'll go check out the level 7-4 thing. It's probably a matter of poorly placed scroll stops or something.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on February 21, 2009, 01:21:36 am
Wow, what a strange coincidence.  I haven't checked this thread in months, since I used to check it at work and got laid off in November.  I go to check it today and there's a post from Karatorian only hours old.  Great job, dude!  I hope we get to see a 2.0 version someday. :-)

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on February 21, 2009, 05:31:19 pm
Quote
edit: Two of 7-4's pipes lead you to a small area that you only barely have enough room to escape from. If you head slightly to the right as you get out of the pipe, the screen will scroll to that direction and leave you unable to do anything but wait for death. Yes, I know you have to be dumb to do this.

did u try going back in the pipe? ;)

btw people, please post screen shots if possible when reporting bugs.. it makes it WAAAY easier to identify the problem areas
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Kasürva on February 22, 2009, 01:50:44 pm
About that 4-3 vine...I got there on my last life and couldn't get out, so I got the coins in the room and ran the timer down, on my last life...

with 99 coins.

Argh.

I did beat the hack later though.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Bitch In The Red Dress on February 22, 2009, 05:43:36 pm
Quote
edit: Two of 7-4's pipes lead you to a small area that you only barely have enough room to escape from. If you head slightly to the right as you get out of the pipe, the screen will scroll to that direction and leave you unable to do anything but wait for death. Yes, I know you have to be dumb to do this.

did u try going back in the pipe? ;)
I'm well aware that's the proper thing to do, I have beaten the hack after all. :)

Anyway, you have to be pretty dumb to accomplish it, but you can go to the right, then go to the left, and have no way back in because of the invisible block. That was my point, that you can trap yourself by being foolish.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on February 22, 2009, 06:25:45 pm
oh I see.. u can trap yourself outside of the pipe room

hmm.. that little part is my creation in an attempt to stay with the spirit of the game since in the original map the pipe is up higher (but you can't do that in the NES version) 

i'll mod it so you can't walk to the left i suppose
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Wario Bros. on February 23, 2009, 09:45:02 pm
Darn!  I want to play this game, but I don't have a tool that can open TAR files.  Does anybody know a good program that allows me to open one?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on February 23, 2009, 09:51:25 pm
I think 7zip or WinZip should. Perhaps I should do the release as a zip file instead. Athough it seems like pretty much any archiver will handle tar files. On the other tentacle, newer versions of windows have zip support bult in. Hmm.

Edit

Ok, I've made the third beta release. This one incorporates a level data bugfix by frantic. There are both tar and zip releases here (http://static.karatorian.org/gaming/smbs/)

Re: Bitch In The Red Dress

I looked into the music bug in 2-1, but I wasn't able to reproduce it.  What emulator are you using?

Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Bitch In The Red Dress on February 24, 2009, 10:18:24 am
I was running the game in FCE Ultra GX 2.09 on the Wii. I haven't been able to reproduce the bug either though. I don't really know what was going on there the first time.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: coinheaven on February 28, 2009, 06:00:25 am
Hi, i tried this on the power pak and it worked fine, but when i put it on a cart i got scrambled graphics.  any idea why?  btw, the chr file was expanded to 64 kb, but this usually doesnt affect the graphics.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on February 28, 2009, 06:26:34 pm
what kind of kart did you try?  we expanded the game so you have to use a kart with the right kind of mapper.. karatorian mentioned which one a few posts ago i think
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on February 28, 2009, 06:52:32 pm
I was running the game in FCE Ultra GX 2.09 on the Wii. I haven't been able to reproduce the bug either though. I don't really know what was going on there the first time.

Hmm, cosmic rays? Well, unless anyone can reproduce the bug, I'm gonna ignore it. I can't debug it otherwise.

Hi, i tried this on the power pak and it worked fine, but when i put it on a cart i got scrambled graphics.  any idea why?  btw, the chr file was expanded to 64 kb, but this usually doesnt affect the graphics.

Thanks a bunch for testing it. It appears to be a bug in my mapper code. During my experients (since put on hold) with adding new enemies, I expaned the CHR rom to four (4K) banks, the first three where the sprites and the last one was the objects. So my mapper initalization routine loaded banks 0 and 3. When I backed out the new enemies changes, I forgot to change this, so it's still trying to load bank 3, even though there are only banks 0 and 1 now. Apparently, emulators don't care and simply load the last bank when given too high a bank number or something.

Apply this (http://static.karatorian.org/gaming/smbs/smbs-mapper-fix.ips) patch to the already patched ROM and let me know if it fixes it. If it does, I'll make a new release. Thanks again.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Disch on February 28, 2009, 10:09:01 pm
So my mapper initalization routine loaded banks 0 and 3. When I backed out the new enemies changes, I forgot to change this, so it's still trying to load bank 3, even though there are only banks 0 and 1 now. Apparently, emulators don't care and simply load the last bank when given too high a bank number or something.

Typically they'll mask the selected bank with (number_of_banks-1) since that represents the number of "valid" bits.  This is the behavior seen on hardware too, provided you have the right chip size.

I'm wagering the problem was caused by his chip being too big, and him not mirroring the CHR data like he probably should've.  If you put 8K of CHR on a 16K chip, the second 8K will be garbage... but if you put 8K of CHR on an 8K chip, the 'virtual' 2nd 8K will be a mirror of the first 8K.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: coinheaven on March 01, 2009, 12:29:54 am
update, i applied the patch and tried it again, still the same result:

(http://i43.photobucket.com/albums/e371/coinheaven/smbspecial.jpg)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 01, 2009, 08:13:48 pm
the graphics look fine, it's the way the level header info is interpreted that looks messed up to me.  i modified the header and got the same results.. though mario is at the top of the screen on your copy

(http://img515.imageshack.us/img515/7333/smbspecialworld4fucked0.png)

Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 05, 2009, 01:47:50 am
Frantik, what change to the header did you make to get that result? Just out of curiosity. When I fixed the bug with the mapper, I made sure to review my header and everything looks right to me. I'm just wondering what sort of error choinheaven is running into. AFAIK, he's the only one testing on actuall hardware, so it'd be nice to help him straighten this out.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 05, 2009, 04:37:10 am
i edited the world 1 level header, not the NES header.  i can send you the rom if you want, but i dont think thats what you mean

it could be any number of reasons why it's loading like that though probably :\ it seems like SMB is tolerant towards stuff being slightly modified and the game still working, just certain things look messed up

coinheaven are you able to play the game?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: coinheaven on March 07, 2009, 09:46:53 am
i did test this again, just to make sure it wasnt the board and still got the same results.  i can start level 1, but it wont let me move mario at all.  i can press start and pause it though, and the music is there as well.  i am pretty sure i patched the mapper fix ok, but i think someone should send me a 32k chr file, then i will know it is correct.  it shouldnt have anything to do with me expanding the rom, i have done this many times and never had a problem.  what i might do is put the 32k chr file and 128 prg file back together in a .nes file to see how it runs. 

i edited the world 1 level header, not the NES header.  i can send you the rom if you want, but i dont think thats what you mean

it could be any number of reasons why it's loading like that though probably :\ it seems like SMB is tolerant towards stuff being slightly modified and the game still working, just certain things look messed up

coinheaven are you able to play the game?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 08, 2009, 07:04:00 am
From what you describe, I suspect you would be able to play the game if mario could fall lower.  The game prevents you from controlling mario at level start until mario falls below a certain height.  The height mario starts the level at is also defined in the level header.. everything displayed on the titlescreen points to a level header read error.  it's very strange it works fine in emus AND the powerpak, but not a an actual dev cart :(
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on March 08, 2009, 04:10:38 pm
I seen a posting about this on the main page. I'm glad to see the hack is back on track. Keep up the good work guys.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 10, 2009, 12:40:11 pm
coinheaven, does the cart you're testing on have SRAM and if so, how much. For complex technical reasons, the cart needs 8k of SRAM to load the level data to. While we don't use it for anything other than extra ram (i.e. we don't actually use it for game saves), it would be sure to not work without it.

Come to think of it, how common are MMC1 carts with at least 4 banks of PRG and 8k of SRAM? At the time, I didn't really worry about this issue as I've done all my work on emulators (my NES hardly works, so I haven't bothered getting/building any flash carts). I mean, I've got one (not flash modded), but it's an original Final Fantasy, I wouldn't want anyone to use one of those for a doner cart.

I suppose I should put exactly what is required of the cart in the README, although, IIRC, it's all in the header anyway.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: coinheaven on March 10, 2009, 01:03:08 pm
it works perfect now!!  i use a board from al unser racing, which as 8k sram and it works fine now.  thanks for the help!

Joe
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 11, 2009, 06:46:19 pm
coinheaven, that's good to hear. I was kinda worried because I have no hardware to test on. I really wanted the game to work on a real NES. (I don't consider a ROM hack complete unless it does.) And, of course, without hardware to test, it's nearly impossible to debug hardware issues. So I'm really thankful that you've tested it.

I'll add a note to the README about the what sort of cart is needed, so nobody else has this problem in the future.

The version coinheaven has is slightly modified from the last beta release. According to the information Disch posted on mapper behavior, the bug I fixed shouldn't effect either emulators or hardware. However, it is technically incorrect, so I'll make another release later today. Unless anymore bugs come up, this should be the last beta test. (Then again, I've said that before...) Thank you all for your help.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 12, 2009, 06:10:41 am
glad it works  :woot!:
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: coinheaven on March 12, 2009, 08:47:37 am
the correct board that is needed is called SKROM
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Xkeeper on March 17, 2009, 05:44:12 pm
I can throw it on the PowerPak if anybody's interested, I guess.

Edit: Wow, okay. Whoever made this archive is fucking retarded.

*145521 ~Xkeeper> [527]smbs-20090219.tar.bz2
*145525 ~Xkeeper> -> [527]smbs-20090219.tar
*145531 ~Xkeeper> -> -> [527]smbs-20090219 (no extension, actually another TAR)
*145536 ~Xkeeper> -> -> -> actual archive contents
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 18, 2009, 07:15:25 pm
219 is an old version anyways i think

there's a zip here http://static.karatorian.org/gaming/smbs/smbs-20090224.zip

and .tar.bz2 i think is standard unix style compression
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Xkeeper on March 18, 2009, 10:00:20 pm
and .tar.bz2 i think is standard unix style compression
I am more than well aware with this (I work with Linux on occasion), but that doesn't excuse it being a tar.tar.gz, especially with no damn file extension.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 19, 2009, 12:56:26 am
i'm pretty sure there is no 2nd tar.. it's just a folder.. but i dunno, you'd have to check with Karatorian.  In winrar both the zip and the tar.bz2 act identically
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 27, 2009, 08:57:08 am
It's not a tar file, it's a folder. It's standard practice (in most cases) to place the contents of a tar file in a folder. Just because it's fairly uncommon in zip archives (though still annoying), that doesn't excuse the name calling when you or the archiving program you use misunderstand this fact. Just to check (that the GNU toolchain wasn't somehow mistaken), I created a version of the archive that actaully was packed they way you described it. As expected, 'tar tj' listed just the interior tar file, unlike the original version (which listed the full contents). If you're really interested I could post it somewhere, though it seems rather pointless to me.

As there hasn't been any new bug reports, I guess 1.0 is ready to go. I'll make the release some time soon. (Although, nothing of substance will change, just the version number and readme.)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 31, 2009, 01:46:42 am
hold off on the 1.0 release.. i played through the game and there's a handful of minor changes i want to make :)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Obob on June 20, 2009, 03:11:27 pm
I just played through this, and I found a couple bugs (or at least I assume they are bugs; I haven't played the original).

In one of the levels of world 4, there is a beanstalk that leads to a room that can't be escaped.  There is a pipe in that room, but it doesn't go anywhere. 

In one of the levels of world 7, there is a pipe that takes you to a little bricked in room with a mushroom and a 1-up, right by the end of the level.  After taking this pipe, the flag was not on the flagpole.

The castle at the beginning of one of the levels in world 7 looks glitchy; there is a row of tiles at its base that doesn't belong.

This may well not be a bug, but the castle at the end of 7-3 is a small castle.

It was fun to play this.  Good work.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: florent on August 29, 2009, 11:44:15 am
hello , i tested the game and i noticed the following things :
- in world 1-1 near the pipe there's a ? block with a star in , in the original game it's not a ? block , it's a brick
- in the orginal game when you enter in a pipe while you are invunerable , the star effect remain for a few second , not in the nes hack.
-in the original game the honeybee give you 8000 points in the nes hack it give you 1 up.
-near the middle of the world 1-1 there's 2 koopa troopa one fall on bricks and the second don't fall on the bricks , in the orginal both fall on the bricks.

i have 3 version of the PC-8801 rom of super mario bros special  :

Super Mario Brothers Special (1985)(Hudson)[a].d88
Super Mario Brothers Special (1985)(Hudson).d88
Super Mario Brothers Special (1985)(Hudson)[a2].d88

i also have the SHARP X1 rom of super mario bros special :

SUPER MARIO.2D

the sharp x1 version is BETTER than the pc-8801 version and i advice the team of "smb special for nes" to make a port based on this version than the pc 8801 version. (the sharp x1 version have more advantage and is more playable that the pc 8801 version and it's not corrupted so you can see how look like the not corrupted levels)

if the team of "smb special for nes" is interested in these alternate roms please contact me

to answer obob's question  : the beanstalk in world 4 is a trap because it's the same in the sharp x1 port.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on September 05, 2009, 09:17:35 pm
I just played through this, and I found a couple bugs (or at least I assume they are bugs; I haven't played the original).

In one of the levels of world 4, there is a beanstalk that leads to a room that can't be escaped.  There is a pipe in that room, but it doesn't go anywhere. 

that's how it is in the original.

Quote
In one of the levels of world 7, there is a pipe that takes you to a little bricked in room with a mushroom and a 1-up, right by the end of the level.  After taking this pipe, the flag was not on the flagpole.

thats a SMB engine glitch
Quote
The castle at the beginning of one of the levels in world 7 looks glitchy; there is a row of tiles at its base that doesn't belong.

yeah thats on my list to fix
Quote
This may well not be a bug, but the castle at the end of 7-3 is a small castle.


i will check it out

Quote
It was fun to play this.  Good work.
thanks :)


Quote
hello , i tested the game and i noticed the following things :
- in world 1-1 near the pipe there's a ? block with a star in , in the original game it's not a ? block , it's a brick
- in the orginal game when you enter in a pipe while you are invunerable , the star effect remain for a few second , not in the nes hack.
-in the original game the honeybee give you 8000 points in the nes hack it give you 1 up.
-near the middle of the world 1-1 there's 2 koopa troopa one fall on bricks and the second don't fall on the bricks , in the orginal both fall on the bricks.

these are all minor differences mostly due to the two different engines.  the game is not an exact copy, but a port to the nes smb engine.  there are some places where i had to make some significant changes.  overall i tried to make sure not to change the gameplay if at all possible

Quote
if the team of "smb special for nes" is interested in these alternate roms please contact me

i'd love to check em out but this project is pretty much complete.. i have a last round of bug fixes i would like to make but neither karatorian nor I have been actively working on this project for quite some time


Quote
it's not corrupted so you can see how look like the not corrupted levels

karatorian managed to fix the corrupted levels so that's not a problem.  he's even put out a patch which i think is available on this site
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on November 20, 2009, 08:59:40 pm
How it is coming on the NES port of SMB Special, so far? Any new bug fixes for this? I am missing out on the posts so far.

~Ben
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on November 21, 2009, 05:16:53 am
i hope to fix the minor bugs present in the last release some day after I release Super Mario Unlimited

i doubt there will be any more changes.. certainly not the enemies added, at least not any time soon
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Wario Bros. on November 21, 2009, 07:09:32 pm
Well, good luck on the update.  I am so interested in this game that that I'm gonna rip the maps (PC88 Version) and send them to VGmaps (Currently making savestates starting at each level before I start ripping.)  Plus I found out when using the M88 emulator, setting the game speed to 50% makes the game feel so much more like the NES game (but the music is WAY slower =P) thus the clock the NES fast and the physics are MUCH smoother than it was at 100% speed.

Once again, good luck on this project.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on November 21, 2009, 07:18:46 pm
Well, good luck on the update.  I am so interested in this game that that I'm gonna rip the maps (PC88 Version) and send them to VGmaps (Currently making savestates starting at each level before I start ripping.)  Plus I found out when using the M88 emulator, setting the game speed to 50% makes the game feel so much more like the NES game (but the music is WAY slower =P) thus the clock the NES fast and the physics are MUCH smoother than it was at 100% speed.

Once again, good luck on this project.
Actually, as Florent had commented about this, I think we ought to use the Sharp X1 version of the game as the foundation, because the X1 port is better overall as it actually scrolls from one screen to the other, as opposed to the PC88 port which flashes to black between screens.

~Ben
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on December 29, 2009, 04:39:27 pm
http://www.youtube.com/watch?v=i8i3soQcUbU

The last few seconds show a disk error problem. Have you had this problem with your PC-8801 SMBS ROM?

~Ben
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: CelticMinstrel on February 19, 2010, 10:26:25 am
There seems to be a problem in 7-4 – this level doesn't quite match the original SMBS counterpart.

[EDIT: More detail... there's an extra page at the start of the level, page 4 (should be page 3) is mixed up – the pipe should be above the passage. And page 10 (page 9 in the original) cannot be passed if Mario is big, but that's not the case in the original.]

[EDIT 2: Almost forgot to mention... I'm using the 20090219 patch.]

That aside... what's the status of this hack? That is, what has been done so far yet not released, and what is yet to be done?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Vanya on February 19, 2010, 07:13:30 pm
Read the last few pages and you shall be enlightened.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: CelticMinstrel on February 19, 2010, 09:44:52 pm
I have read the entire thread, though that was a couple of days ago. Somewhere in there I got the impression that some of the enemies were at least partially implemented. It also confirms that I have the latest available patch (there's a link to a 20090224 patch, but it's broken; however, I think the only fix in that was to allow it to run on an actual NES).

Still, just to satisfy you, I re-read from page 32. :) The main things that were planned but never happened seem to be the enemies, power-ups, and credits; however, there is mention that some work had been done towards implementing some of the enemies. I was wondering if anyone knew more specifics (eg, which enemies)

I have no idea whether the flagpole and drawbridge were lowered; no mention is made of this. Ditto for the modification of Bowser's behaviour, though I suspect that might have been done.

I ask because I'm toying with the idea of picking up the project, if I can find Karatorian's latest source. I'd really like to see this finished. (Side note: are either Frantik or Karatorian still around?)

No promises though.



Oh, is there some way to dump the levels from the NES version into images, so that they can be easily compared to the original? I know there are some notable differences, and I'd like to be able to see them all...
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on February 20, 2010, 05:58:22 am
you're welcome to do whatever you like with it.. theres a few bugs i want to fix but otherwise i'm not interested in working on it.  would be interested to know about the place where you can't pass while big that isn't like that in the original.. can you take a screen shot?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: CelticMinstrel on February 20, 2010, 11:21:10 am
Sure.
(http://stuff.ermarian.net/Celtic%20Minstrel/smbs-tiny-passage.png)
That ceiling needs to be moved over two tiles, if I recall correctly.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on February 28, 2010, 02:50:02 pm
cool i'll fix that

though if you're super pimp you can get thru there while big  :laugh:
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on February 28, 2010, 03:40:49 pm
In regards to anyone wondering about the status of this hack, consider it about done. Frantik has mentioned that he wants to fix a few bugs, but other than that, there's nothing going on.

As for myself, until I got the urge this morning, I was taking an indefinite break from rom hacking (sometimes it's just more fun (and less bother) to write your own code). As for planned, but unimplemented features (power-ups and enemies), nothing substantial has been done in that department. There is pleanty of room in the PRG for code to implement them and a scheme whereby the CHR rom could be bankswitched was developed, but it never really went beyond that. (A decision was made to push such features off to a post 1.0 release.)

If anyone is interested in carrying this project forward, I'll be glad to provide what support I can. In particular, I really ought to release the long promised 1.0 source release. (Provided it's agreed we've reached 1.0...) To that end I suppose I should work on cleaning up some of the custom tools used to build the hack. Hopefully I'll find the time soon.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: CelticMinstrel on March 02, 2010, 01:22:18 pm
I eagerly await the source release, then. :)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 06, 2010, 05:36:32 pm
Ok, the current source code is availble here:
http://static.karatorian.org/gaming/nes/smbspecial-src-20100306.tar.bz2 (http://static.karatorian.org/gaming/nes/smbspecial-src-20100306.tar.bz2)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Wario Bros. on March 06, 2010, 05:55:46 pm
What are the changes in this version?  So far it's good.

Like I said previously, I'm ripping the levels of SMB Special: This time I'm using the Sharp X1 version instead of the PC8801.  I got the first three maps (almost) finished now.  But I'm hoping I can get some help from this project, mostly on the location of hidden blocks, enemy placement, and what each ? and Brick blocks contains.  Is it possible I can get some help so the maps are perfect?

Sorry if I sound like I'm spamming or sounding like a bot.


EDIT: Nevermind what I said earlier.  Is it okay if I use this Rom hack as a reference to my SMB Special Maps I'm ripping?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 06, 2010, 08:46:02 pm
If you're interested, I've still got the data that I ripped from the x1 version. As I recall it's pretty much the same as the pc88 version. It consists of a couple of tools to extract level data and a set of images generated from that data.

Edit

I've been thinking about how to make the build process less convoluted. As it currently stands, it's quite the process to get it all working. The dependancies for a fully automated build are pretty involved. They are, at the moment:


Of those, I think I can eliminate several of them.

Make is only required to automate the build. I have complete instructions in the source code package as to how to build it manually. However, given the complexity of the build proccess, it'd be a pain to pull off by hand. A less sophisticated automatic build could probably be made using a batch file or two and I'll look into setting that up.

CC65 is required as it's assembler is the one I used. It may not be strictly required, but to build a NES game from source, you need some assembler, so you might as well get the one I used. It's cross-platform and readily availible, so I'm not worried about this requirement.

UIPS is used by the build proccess to apply frantik's patches to get the ROMs to extract the level data out of. It's also used to patch the CHR image extracted from SMB. Any IPS patcher could be used, but UIPS has the handy convience of being command line based, so it can be used from a script. As any ROM hacker should have a patch utility, this isn't really a concern.

Python is required to run the level extracting utility. Recently I've been experimenting with PyInstall, which can make standalone applications out of Python scripts. It seems to work pretty well, so I should be able to release a Win32 version of the level extractor. Most Linux distros and OS X ship with Python pre-installed, so that should cover all the major platforms.

The level extractor isn't strictly required if you have the files it produces. However, without it, there's no easy way to edit the levels, so the source would be of pretty limited utility. Honestly, I wish there was a SMB level editor that was flexible enough to handle a ROM that been expanded like this. Then I wouldn't have to worry about is so much. I could just ship the binary blob and say, use editor such-and-such. Are there any SMB level editors with source availible?

The file utilities are the tricky bit. Generic stuff like copy and delete are easy enough, but the real stickler is dd. dd can do a lot of things, but it's basic function is to copy bytes from one file to another. It can start take offsets for the source and desination files and copies the specified number of bytes. Currently, I'm using it to extract a bunch of data from roms produced by frantik's patches. I'm sure there are similar tools availble, but unless I can script them from a batch file, that means the user has to extract the data by hand and that's tedious and error prone. (Plus it's just replacing one requirement with another.)

I'm currently extracting the demo, title screen, and scenery from the patched ROM. I could ship all of those as binary blobs, but then they become difficult to edit. I also use it to extract the CHR ROM from SMB (which then needs to be patched). I suppose I could ship the CHR too, but I don't know if that's wise. Any opinions?

I'm thinking of doing the following. In the Win32 package, I'll provide all the extracted data. The builder will be required to provide the patched version of the CHR (the patch is included). Then they'll be able to build it just by running a simple batch file. I'll include the standalone version of the level extractor. That should allow for editing the levels. If they want to edit anything else, they'll have to edit the binaries directly, or use whatever means they have to extract the data from the ROM they edit. That should bring the requirements down to cc65 and an IPS patcher. Any comments?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 07, 2010, 12:41:37 am
sent karatorian an update..
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 07, 2010, 02:23:42 am
And it's up:

bz2: http://static.karatorian.org/gaming/nes/smbs-20100307.tar.bz2 (http://static.karatorian.org/gaming/nes/smbs-20100307.tar.bz2)
zip: http://static.karatorian.org/gaming/nes/smbs-20100307.zip (http://static.karatorian.org/gaming/nes/smbs-20100307.zip)

So I guess this makes Beta 3. So test the heck out of it. Speaking of which, it's been so long since I worked on this, I can't remember, where there any outstanding bugs (on the ASM side of things)?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Wario Bros. on March 07, 2010, 05:06:42 pm
If you're interested, I've still got the data that I ripped from the x1 version. As I recall it's pretty much the same as the pc88 version. It consists of a couple of tools to extract level data and a set of images generated from that data.

Hmm.  I might be interested in the data.  You can send me that stuff if you want to.  Thank you for your help!  Once I finish ripping the maps, VGmaps.com viewers might get more interested in this game.

Oh, and I have an idea for this project.  When I was playing through a Sharp X1 level, I ran across an area where a Sidestepper was walking on a path made of brick blocks.  I decided to hit the block below it and the Sidestepper was instantly defeated.  Then it hit me:  This might be asking too much when it comes to the programing but maybe we could change that to it getting angry like it did in Mario Bros. instead of dying from one hit from below.  That way, we don't confuse players who grew up with the Mario Bros. arcade game.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 07, 2010, 07:11:35 pm
And it's up:

bz2: http://static.karatorian.org/gaming/nes/smbs-20100307.tar.bz2 (http://static.karatorian.org/gaming/nes/smbs-20100307.tar.bz2)
zip: http://static.karatorian.org/gaming/nes/smbs-20100307.zip (http://static.karatorian.org/gaming/nes/smbs-20100307.zip)

So I guess this makes Beta 3. So test the heck out of it. Speaking of which, it's been so long since I worked on this, I can't remember, where there any outstanding bugs (on the ASM side of things)?

i dont think there were any asm bugs.. just level things.  test it out folks and post screenshots of any bugs.

and no, thats not a bug in world 4-whatever in that one room ;)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on March 08, 2010, 08:01:22 am
...and no, thats not a bug in world 4-whatever in that one room ;)
Man, I really should write something about that in the README.

Hmm.  I might be interested in the data.  You can send me that stuff if you want to.
You can download it here: http://static.karatorian.org/gaming/nes/smbs-rip-x1.tar.bz2 (http://static.karatorian.org/gaming/nes/smbs-rip-x1.tar.bz2)

I didn't bother packing up the tools, so it's just the level images and the text files that explain the pipe connections. If you're interested in the tools too, just let me know.

While poking through this stuff, I realized that I never released a patch to fix the level corruption in 4-2. It's not a game stopper like the corruption in 4-4 was, but it'd be nice for people to be able to get to the bonus area. I'll have to do that.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Wario Bros. on March 08, 2010, 01:39:40 pm
Wow, that download is incredibly helpful.  Please not that I will NEVER submit your renders as the maps for VGMaps.  Instead, I'll use the renders to double check I got everything for the map I'M ripping.  Thank you for this and you'll be credited and be a special thanks on my maps.

While I'm working on my maps, I'll play the NES rom hack on the NES emulator on my DS's flash card to check for any problems/bugs.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: CelticMinstrel on March 08, 2010, 08:22:57 pm
EDIT: Nevermind what I said earlier.  Is it okay if I use this Rom hack as a reference to my SMB Special Maps I'm ripping?
There are a few significant differences in the NES version of the maps, due to limitations in the SMB engine. So I'd recommend using the original data rather than the NES version as your reference.

Speaking of which, would it be difficult to make similar renders of the NES port levels for easy comparison?

Also, I can't seem to find the Sharp X1 version anywhere... :(
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Wario Bros. on March 08, 2010, 09:09:48 pm
Quote from: CelticMinstrel

Also, I can't seem to find the Sharp X1 version anywhere... :(

I found the Sharp X1 version by googling Sharp X1 roms and there it was (not really that hard actually)  I'd go into more details but I don't want get into trouble.  :-X

And trust me, once you get the Sharp X1 version, you'll want to trash the PC8801 version in a heartbeat.

The reason why I said I want to use the rom hack as a ref is because I know in its current state is very accurate to the real game's levels (not so much on the enemy placement though XD)  So it's still reliable to me.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on March 09, 2010, 03:23:39 pm
(not so much on the enemy placement though XD)

i tried to make them as close as possible.. the enemies move differently so it coulnt be an exact 1-1, plus there are lots of enemies missing in the nes port
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: CelticMinstrel on March 10, 2010, 12:08:23 am
The reason why I said I want to use the rom hack as a ref is because I know in its current state is very accurate to the real game's levels (not so much on the enemy placement though XD)  So it's still reliable to me.
It's mostly accurate, I think, but there are a few notable places in which it is very different... and the backgrounds are completely different.

As for Google, it has failed me.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Wario Bros. on March 10, 2010, 02:03:39 pm

i tried to make them as close as possible.. the enemies move differently so it coulnt be an exact 1-1, plus there are lots of enemies missing in the nes port

Sorry I said that.  I guess you can't move the enemies by 8 pixels rather than 16 right.  Well nothing's perfect.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Snake Plissken on May 05, 2010, 06:13:25 am
I have some alternate dumps (non TOSEC) for SMB special for the PC-88, found in a japanese collection. If anyone is interested i can upload them somewhere so you can check if these versions are corrupted or not (just a simple comparison with an hex editor should be sufficient).
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 12, 2010, 09:19:53 am
karatorian might be interested but im not planning on doing any more work on the hack unless there's some glaring graphics glitch
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on August 25, 2010, 02:36:50 am
A little bit of a thread bump here.  Just wanted to say I finally got a chance to play through the X1 version of this game.  It turns out, that thing I mentioned much earlier in the thread in level 4-3 where you have to make the elevator drop off the screen in order to make a platform appear two screens over is alive and well in this version.  So, no glitch!  That's programmed in!  Evil. 

The last level has three incredibly difficult jumps.  The hardest in any official SMB game by far.  Also, the ending mentions the hidden "new characters," (flying wing, clock, etc.).  It also lists the "lucky star" among them, which is dumb because the starman isn't new.

Luckily, you can use a joypad in the X-Millenium emulator I used.  Using a keypad like the PC-8801 version was torture.

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on September 27, 2010, 12:46:33 am
Just wanted to bump again simply because I noticed a significant difference in Mario's jumping between the X1 and the PC88 versions.  In the X1 version, the distance you jump is about a block or maybe even half a block shorter, making some long distance jumps significantly harder, most especially those long jumps you have to make in 8-4 (SO hard in the X1 version, pretty easy in the NES and PC88 versions).

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on December 12, 2010, 08:48:47 am
A little bit of a thread bump here.  Just wanted to say I finally got a chance to play through the X1 version of this game.  It turns out, that thing I mentioned much earlier in the thread in level 4-3 where you have to make the elevator drop off the screen in order to make a platform appear two screens over is alive and well in this version.  So, no glitch!  That's programmed in!  Evil. 

interesting.. though it could still be a bug.  either way, not gonna be in the nes port :-p
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Superjustinbros on July 11, 2011, 05:01:54 pm
Sorry for the sudden bump, but since this is where the NES hack-port is discussed, I wanted to let in my honest opinions.

*I think the colors should've been closer to the PC88 version (of which this hack is based on), using only shades of RGB% blue, red, and yellow (plus black & white, the later for several things that were meant to be green.)
*The SMBS-exclusive enemies and items should have their original appearances, and via proper HEX editing, their original traits and behavior. I know the SMB ROM is already pretty much filled up to a brim, but maybe with a utility that can expand the size of a ROM, we can add these items and enemies in, plus other things, like Mario entering/exiting an area the intended way, the large castles being the proper height, and the underwater tiles being on the surface, like in W5-1.
*The overall structure of the levels should be perfectly accurate to the original version down to the finest detail, including the block graphics and backgrounds (not really a big deal, but just what I feel).
*The ROM hack should keep the W4-3 dead-end room, but have it so the exit pipe on the other side of the room actually warps you to the pipe that's underneath the mushroom staircase just beyond where you find the vine to access the room. If the point of doing this hack is to make both an easier and more fair experience for the player than the original PC88 version, then this change should be put into effect.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on July 13, 2011, 12:55:41 am
thank you for your opinions
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: messatu on May 28, 2012, 10:00:09 am
Hello. Levi "Karatorian" Aho and SMB Special Team

I am the Japanese ROM hacker and am called Messatu.
My romhacks use enhanced tilesets and new color pallets to make both games look even closer
to the arcade versions than their original Famicom releases.
My web site is http://messatu.wordpress.com/.


I played and enjoyed SMB Special for NES.
And since some bugs were discovered, it reports.

1. The star box is not hidden.
2. Registry commands are insufficient.
   It checked by MMC1 flash rom and working NES.
   It will freeze, if it resets.
http://messatu.files.wordpress.com/2012/05/edit_2012-05-28_1.jpg?w=512

I corrected to SMB Special and made Sharp X1 version.
1. Title screen
2. World selection addition
3. A dot picture and a color
4. Automatic walking is corrected to a manual. (Word 1-2 2-2)
5. Ending message
   The Hudson soft was dispersed.
   It corrected to the message for which HUDSON is appreciated.
6. etc
http://messatu.files.wordpress.com/2012/05/smbs-x1.png?w=812




I would like to exhibit a patch at my site.
It releases by IPS.
    smb.nes > smbs-20100307.nes > smbs-x1.ips

Please let me know conditions required for public presentation.
messatu@hotmail.co.jp


Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Valkyrie_Ace on June 29, 2012, 05:07:57 am
It's a shame that no one responded to the guy above, his patch looked really cool.  :(
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Easy on June 29, 2012, 08:31:05 pm
Hello. Levi "Karatorian" Aho and SMB Special Team

I am the Japanese ROM hacker and am called Messatu.
My romhacks use enhanced tilesets and new color pallets to make both games look even closer
to the arcade versions than their original Famicom releases.
My web site is http://messatu.wordpress.com/.


I played and enjoyed SMB Special for NES.
And since some bugs were discovered, it reports.

1. The star box is not hidden.
2. Registry commands are insufficient.
   It checked by MMC1 flash rom and working NES.
   It will freeze, if it resets.
http://messatu.files.wordpress.com/2012/05/edit_2012-05-28_1.jpg?w=512

I corrected to SMB Special and made Sharp X1 version.
1. Title screen
2. World selection addition
3. A dot picture and a color
4. Automatic walking is corrected to a manual. (Word 1-2 2-2)
5. Ending message
   The Hudson soft was dispersed.
   It corrected to the message for which HUDSON is appreciated.
6. etc
http://messatu.files.wordpress.com/2012/05/smbs-x1.png?w=812




I would like to exhibit a patch at my site.
It releases by IPS.
    smb.nes > smbs-20100307.nes > smbs-x1.ips

Please let me know conditions required for public presentation.
messatu@hotmail.co.jp

Very interesting. :thumbsup:
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: tymime on June 30, 2012, 02:30:54 pm
All the vines seem to be broken- whenever I enter the room they go to, Mario's disappeared. Do I have the wrong patch version? :-\
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: hossbags2 on July 13, 2012, 05:59:28 am
Is there any chance of allowing messatu to release his patch for this game. His looks amazing and exactly close to the original game.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: KingMike on July 13, 2012, 09:24:58 am
Nobody's stopping him from releasing it on his site.
He just needs to upload it somewhere and then it needs to be submitted to this site.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Jorpho on July 14, 2012, 01:51:18 am
Alternatively, someone may choose to take the liberty of writing up a readme, taking some screenshots, and submitting it himself (with proper credit, of course).
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on October 19, 2012, 09:28:11 am
Been out of the world for a bit. Nice to see that there's been some ongoing interest in this project.

I'm not sure when I'll get around to doing any more work on this, but I would like to respond to some of the issues that have come up. In one of the reviews, there's a bug report about the starman music being glitched. Also, messatu's additions probably deserve some looking into as it seems some of them purport to be bug fixes as well.

Current Bug Reports

Starman Music NEW I plan to investigate this and fix it if I can reproduce the problem (and figure out the cause).

Vines Broke NEW It seems like I'd have noticed this myself if all the vines where broken. On the other tentacle, there was an issue with one vine and some hacking was needed to work around it, so I might have broke the rest of them. I'll have to look and see.

Enemy Placement WONTFIX This is a limitation of the SMB engine and can't be (practically) changed.

W4-3 Dead End WONTFIX I've said it before and I'll say it again. The dead end in W4-3 is intentional, it's in the source material and, while a cheap shot, appears to have been a deliberate trap. That said, you can hack it yourself if you'd like.

Elevator Appearing WONTFIX The original behavior (even if intentional) was caused by an engine limitation in the original. The SMB engine doesn't have the same limitation and I don't plan on adding it.

Colors WONTFIX Part of the point was to give the game a facelift. Going back to ugly isn't gonna happen.

Backgrounds WONTFIX The way backgrounds are handled in the SMB engine and the SMBS engine are entirely different. Fixing this would require basically rewriting the engine.

Level Layout Issues WONTFIX The way level data is represented in the SMB engine and the SMBS engine are entirely different. Frantic has endeavored to make the levels as close as he can and extensive engine modifications have been made to support this. However, 100% accuracy isn't a realistic goal at this point. If you feel anything is very wrong, point out specifics and I'll look into it.

Two Point Oh

As I've mentioned before, the additional enemies and power ups have effectively been abandoned at this point. They've been pushed off to the 2.0 release. And that has been postponed indefinitely. However, to paraphrase Yoda, "Use the source, Luke". It's all available and anyone who really wants to see it done can do it themselves.

1.0-RC1 is currently in the database (with source code available), so if anyone is interested, beta testing would be appreciated. Once I investigate the Starman music and the Vines, if no other (legitimate) bugs are reported, I intend to release 1.0-Final shortly. Also, any daring soul who'll try building the source package and give feedback would be greatly appreciated.

Edit: Messatu's hack removes the RHDN credit from the title screen. That's just rude!
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: TRIFORCE89 on October 19, 2012, 11:12:19 am
Hi Karatorian,

For my own personal use (not uploaded anywhere, since I have not asked Messatu or yourself for permission), I took Messatu's version and restored the palettes and graphics to NES quality because, like you said, part of the point of this was to be a facelift. So, now I have the nicer looking title screen (minus the lack of the RHDN credit) and some of his other changes, but better looking.

I then went just slightly further and wanted Super Mario Bros. Special to truly be "special" and act as a sort of inbetweenquel to SMB and SMB2j. So, I brought over some SMB2j graphics (not all, only those that were also found in All Night Nippon SMB. So, a sort of hybrid between SMB and SMB2j) plus gave the Starman the smile "he" has in the actual SMB Special game.

Haven't played through this version or tested it in full yet, but... just felt compelled to let you know. Maybe something can be brought into a later official release? (At least the smiling Starman)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on October 19, 2012, 12:21:06 pm
Well, if you read the legal info in the README, you'd see that the permissions granted are pretty broad. Most of the code is copyright Nintendo, of course. New code is (mostly) written by me and LGPL'd. So feel free to release it if you want. Although, I'd really appreciate it if the RHDN credit was restored. Me and frantic decided to use that in lieu of a group name or individual credits, and it's a little disappointing to see it stripped out.

Also, at some point I want to hack in scrolling end credits like the original SMBS. There's lots of PRG space to do it in, so it's just a matter of translating and stuff. I suppose your hacks where done the old fashioned way (hex editors, etc.)? I'd be interested in converting you and Messatu's changes over to ASM, so then I could integrate them cleanly into the full source releases (as compile time options perhaps).

Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Vanya on October 19, 2012, 01:05:01 pm
I fully support integration of the changes Messatu did (Except the palettes) and the restoration of the RHDN credit.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: TRIFORCE89 on October 19, 2012, 05:20:55 pm
Well, if you read the legal info in the README, you'd see that the permissions granted are pretty broad. Most of the code is copyright Nintendo, of course. New code is (mostly) written by me and LGPL'd. So feel free to release it if you want. Although, I'd really appreciate it if the RHDN credit was restored. Me and frantic decided to use that in lieu of a group name or individual credits, and it's a little disappointing to see it stripped out.

Also, at some point I want to hack in scrolling end credits like the original SMBS. There's lots of PRG space to do it in, so it's just a matter of translating and stuff. I suppose your hacks where done the old fashioned way (hex editors, etc.)? I'd be interested in converting you and Messatu's changes over to ASM, so then I could integrate them cleanly into the full source releases (as compile time options perhaps).
Yeah, hex editor for palette restoration and the TileLayerPro and YY-Chr for the graphics restoration (and eventual conversion to SMB2j-tiles and the smiling Starman).

I've played your hack in full (thoroughly enjoyed it). Mine... I've only play-tested the first world. So, I should probably play the whole thing to make sure no graphics look out of place.

I fully support integration of the changes Messatu did (Except the palettes) and the restoration of the RHDN credit.
Palettes and graphics. Everything also looks "dotted" in his version.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Vanya on October 19, 2012, 10:45:05 pm
Palettes and graphics. Everything also looks "dotted" in his version.

Yeah, drop that too.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on October 22, 2012, 12:31:37 pm
What's "dotted"?

I'm thinking that with a little creativity, I could include both palettes and provide some means of switching between them. This would probably have to be at the title screen, but it might be possible on the pause screen or level start screens as well.

What are the actual graphics differences between SMB and SMB2 (JP, of course)?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Vanya on October 22, 2012, 09:11:54 pm
By dotted it is meant that some of the graphics have two dithered colors instead of a third color.

Here's a map of the Sharp X1 version:
http://vgmaps.com/Atlas/X1/SuperMarioBrosSpecial-World1-1.png

Look at the pipes & mountains
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Karatorian on October 23, 2012, 01:32:02 pm
Oh. If he'd have said dithered in the first place, I'd known what that was. While dithering has it's uses, if it's not necessary, it's use serves no real function. And the map you linked to is an example of how it can look particularly bad.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: TRIFORCE89 on October 26, 2012, 01:35:58 am
Fine, "dithered". Like on the hill here:

(https://messatu.files.wordpress.com/2012/07/x1e3839ee383aae382aasp-201206192147253.png)

As for SMB2j Here's a sprite sheet:
(http://spriters-resource.com/nes/supermariobros2japan/generalsprites.png)

I went for a hybrid-approach based on All-Night Nippon Super Mario Bros., but without the night-time setting and DJs. So, some SMB2j tiles but not the full set. Like the hill and bricks are still from SMB for instance. http://www.mfgg.net/index.php?act=resdb&param=02&c=1&id=12125 Plus the Peach from SMB2j because it looks like her DJ replacement in All-Night Nippon was based on that version

Also, Smiling Starman:

(http://themushroomkingdom.net/images/ss/smbs-x1/smbs-x1_starman.png)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: dudekindjack on November 04, 2012, 09:25:07 pm
isnt their a older hack that has the mario special levels in it?  not sure on pallets

im pretty sure i have the older hack of this somewhere if anyone needs a ips of it
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on November 26, 2012, 01:44:19 pm
I submitted messatsus hack to the main site as it is superior to the 1.0 version. I hope it is accepted I understand it will be it's own thing once and obsolete if a new version of the original hack is released. I made a new ips patch that can be applied without first using the SMB Special patch.

Good work on the hacks you guys! I love them!
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: TRIFORCE89 on November 26, 2012, 11:52:22 pm
I finally got around to play-testing my palette restoration and graphics improvement for Messatu's version. To reiterate, it restores the original NES colours and borrows graphics from "All Night Nippon Super Mario Bros." (essentially, whatever was used there that was taken from SMB2j) and gives the Starman a smile like in the Sharp games.

Happy to report that I didn't screw anything up. However, I do have a few issues. You can find the IPS patch at http://www.multiupload.nl/J83TXIBSRZ (http://www.multiupload.nl/J83TXIBSRZ), if anyone wants to finish it off. Basically, I'm having problems with the underwater stages. Namely:
- The sky and water are the same color blue. They should be different. This only applies when underwater. In overworld stages, the sky and waves are different colours and displaying correctly
- Underwater blocks (like in World 7-2) are either blue or transparent. I think they're supposed to be their usual yellow/orange?
- Strange floor pattern in underwater area of World 8-2. Kinda looks like the castle stage tile, but green.

Not sure if these are errors on my part or if they were in the original patch or Messatu's. So, if anyone would like to finish this patch off, I'd be much obliged.

Other than the above, I encountered no issues. Nothing looked out of place. I didn't glitch anything up. Played through every level in the game.

(If you're wondering why the IPS filename is "Mario's Adventure", it's just keeping within how the theme of special yet obscure. Levels from Special, graphics from ANNSMB, name from the original subtitle of VS. Super Mario Bros.. But this doesn't show up on the title screen or anywhere. It's just differentiate it as a file from the other two versions)

EDIT... I was using this resource to restore the palettes: http://www.freewebs.com/insectduel/Smb1PAL.htm
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on November 27, 2012, 11:32:30 am
http://www.romhacking.net/hacks/1011/

The hack was accepted on the site. I didn't understand this part in messatsus post "Ending message. The Hudson soft was dispersed. It corrected to the message for which HUDSON is appreciated." and haven't played all the way through the game yet so left what he said as is. If anyone knows what he really meant please edit the hack page. Thanks.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: TRIFORCE89 on November 27, 2012, 09:38:44 pm
Having just played through 8-4 yesterday as I playtested my variation of the hack, I think he's referring to how the ending screen how reads:

"THANK YOU MARIO!

YOU CLEARED EVERY WORLD
YOU ARE THE GREATEST PLAYER

2012.3.1 BYE BYE HUDSON
THANK YOU FOREVER"

So, Hudson is mentioned there at the ending. Don't know what 2012.3.1 is though

Also, I had no idea he added a level select. Would love to see that on the actual SMB game
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: KingMike on November 27, 2012, 10:32:14 pm
Was that the day Konami officially dissolved Hudson?
Title: Re: Anyone Interested in Doing \"SMB Special\" for NES?
Post by: MathUser2929 on November 28, 2012, 05:00:27 pm
Yes it was.

November 29, 2012, 10:20:12 am - (Auto Merged - Double Posts are not allowed before 7 days.)
http://www.thenesdump.com/screen%20shot%20pages/Hacked/super%20mario%20bros%20special.htm

Don't know if this was mentioned but your ROM hack is a repro. Maybe you should buy yourself a copy.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: TRIFORCE89 on November 30, 2012, 08:05:07 pm
Tried exploring the underwater issues in my version. I'm still stumped with my newbie skills. Did anyone explore it?

EDIT: Nevermind. Apparently, not an issue on my part. Looked a YouTube playthrough of Karatorian's original patch and all those underwater "issues" are the same. So, I'm just going to leave them
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Superjustinbros on January 29, 2013, 12:49:26 pm
The NES-X1 version is not perfect, but a much closer representation. It still misses the palettes for underground and castle levels, and in the actual SMBS, the tips of the upside-down pipes use the same graphics as the ones facing upwards (something that would be done in all the main Mario games up to Super Mario World).

Memory expanding and proper ASM hacking and we'll have all the SMBS exclusives in this ROM hack.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Jorpho on January 31, 2013, 10:15:39 pm
The NES-X1 version is not perfect, but a much closer representation. It still misses the palettes for underground and castle levels, and in the actual SMBS, the tips of the upside-down pipes use the same graphics as the ones facing upwards (something that would be done in all the main Mario games up to Super Mario World).

Memory expanding and proper ASM hacking and we'll have all the SMBS exclusives in this ROM hack.
Features like the crabs, hammer, and barrels are a long way off, I think.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on September 25, 2013, 12:37:43 am
I feel I must resurrect this thread as to ask you about this:

Regarding World 8-2 in SMBS, the intro screen has a short gap that you must jump over (unlike the pipe intro screens for Worlds 1-2, 2-2, 3-1, 4-2 and 8-3) to get to the pipe leading to the water stage.

I'm wondering: how can you folks change the code as to trigger Mario to automatically jump over that small gap in this intro screen while he walks to the pipe?

Thank you,



Ben
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on January 25, 2015, 08:38:15 pm
BUMP (1-25-2015)

I am resurrecting this thread yet again for a possible re-updating of the NES hack.

The reason I am resurrecting this post is because on YouTube, a user named "Kevin Smith" has uploaded an entire (world-by-world) playthrough of the Sharp X1 version of SMB Special.

Here's World 1:
https://www.youtube.com/watch?v=F89pAGVYe90

I'm hoping you can pay attention to all these videos so that people like Karatorian and Frantik can learn from them for future programming updates to the NES hack.

Thank you,



Benjamin Edge (SMB2J-2Q)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Tomato on April 17, 2015, 05:32:12 pm
I started playing this on stream yesterday ( https://www.youtube.com/watch?v=M59eQyX22H4&list=PL8fufren85t_q1QlqcaOUHYNSTTG3qVb1 ) after lurking in this thread for years. I'm really amazed at how it turned out, but there were some odd parts that I was curious about. Especially the invisible blocks - I wasn't sure/couldn't remember if they were in the original game or not and was curious to know.

Besides that, we got some funny and silly situations to happen during the game too - enough so that now I want to check out the original game sometime! Thanks to everyone involved who worked on this!
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on July 01, 2015, 01:16:39 am
I haven't checked this thread in years and was pleasantly surprised it was still going.  Anyone care to try this port in SMB Maker for Wii U.  Hah!

If noting else, perhaps someday the SNES All Stars version can be adapted to add the crabs and such.

-Rob
Title: Evil Invisible Blocks
Post by: Karatorian on May 15, 2017, 09:40:51 am
So I watched (a bunch) of that video and the evil invisible blocks that kept killing them aren't supposed to be there. (Or at least not most of them.) So now I'm wondering who screwed up? Does one of the ASM hacks (some of which add extra blocks) have a bug? Is the level data bad? Was the bug introduced by the X1 hack? (Is it an (unlikely) emu bug?)

I guess I'll have to go investigate.

Update 1

So I can confirm that the worst offender (the one on 1-3 that killed Poe and Mato repeatedly) isn't in the version I have sitting around (which makes me doubt any of the other ones are as well). Just to be sure, I downloaded the released patch and confirmed it produces the same ROM as the one I tested on. I looked into the X1 hack and verified that the raw level data is completely unchanged (which is not surprising given how involved editing the level data became with all our changes).

My current working theory is that there is a bug in the X1 hack that somehow borks the object drawing routines, causing the spurious blocks to appear. The level loading stuff was rather extensively modified, so hacks that work on vanilla SMB wouldn't necessarily apply cleanly to SMBS. I still have to actually test the X1 version and confirm the behavior. However, I have to go to work, so I'll look into it later tonight.

Update 2

So, I tried to reproduce the bug in the X1 (style) version, and that invisible block in 1-3 doesn't appear. I don't know what was going on. Oh well. If anyone else has any ideas, let me know.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: zacmario on May 16, 2017, 06:52:22 am
@ rbudrick
I plan a 16 bit version at somepoint.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: releasethedogs on May 22, 2017, 12:06:25 am
did the hammer, bee and extra monsters ever get added?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: VicVergil on May 22, 2017, 05:04:49 pm
did the hammer, bee and extra monsters ever get added?

I have been wondering this as well.
Same about the item that makes Mario swim in air (which explains a lot about some obtuse level designs).

Is there even any info about these additions online? Seems like most people experienced Special through this romhack so not much info is out there. Even Karatorian's level design dumps from the Sharp version are no longer online.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on January 20, 2018, 12:49:01 am
Hey folks, just wanted to point out there seems there is a third version of SMB Special aside from the Sharp X1 and PC-8801.  There is a PC-6601 version:

https://page.auctions.yahoo.co.jp/jp/auction/u177452970?al=11&iref=alt_1

Blown away by this news.  I had no idea. Received this in a Yahoo Japan auctions alert I had set from way back in the day for any listings of Super Mario Bros Special either in romanji or katakana.  Seems many years later, it paid off, at least in the manner that knowledge was gained. Wish I could have bid.

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Vanya on January 20, 2018, 11:04:02 am
Judging from the other games on the system, I imagine it must be an even more primitive looking version of the game.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: nesrocks on January 20, 2018, 11:06:23 am
That is clearly mario bros special, not super mario bros special.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Jorpho on January 20, 2018, 12:23:47 pm
Yes indeed.
http://www.hardcoregaming101.net/mario-bros-special/
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: rbudrick on January 22, 2018, 12:48:45 pm
Ah, you are correct.  My mistake.  Sorry to get anyone's hopes up!

-Rob
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: SMB2J-2Q on December 18, 2019, 02:17:34 am
Has anyone saw this version of the SMB Special NES hack?
https://www.youtube.com/watch?v=HF0bp5vj1C4

Video: Faithful Dancing Star

This version actually has the old Mario Bros. enemies added in (Sidesteppers, Fighter Flies) and the Hammer from Donkey Kong.

~Ben
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Green Jerry on December 18, 2019, 09:10:43 am
Has anyone saw this version of the SMB Special NES hack?
https://www.youtube.com/watch?v=HF0bp5vj1C4
That video is a gameplay of SMB Crossover, and not the NES hack. After Mario dies in the demo (which is from the hack), it directly goes to the WORLD X-X screen instead of the title screen.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 11, 2021, 12:13:25 am
Does anybody have Karatorian's source code for the last release hiding somewhere on their hard drive?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: niuus on April 11, 2021, 07:17:39 pm
and the data pack (if you want it) here (http://gis.net/~levi/gaming/smbs/source/smbs-src-data-0.9.0.tar.bz2).

Man, I really should write something about that in the README.
You can download it here: http://static.karatorian.org/gaming/nes/smbs-rip-x1.tar.bz2 (http://static.karatorian.org/gaming/nes/smbs-rip-x1.tar.bz2)

I didn't bother packing up the tools, so it's just the level images and the text files that explain the pipe connections. If you're interested in the tools too, just let me know.

Ok, the current source code is availble here:
http://static.karatorian.org/gaming/nes/smbspecial-src-20100306.tar.bz2 (http://static.karatorian.org/gaming/nes/smbspecial-src-20100306.tar.bz2)
Just found out about this hack today, 13 years later, or else i would have definitely archived a copy. :o

Sadly, only dead links, even the one in the romhack page. Kakatorian last time here was 4 years ago.  :banghead:
http://static.karatorian.org/gaming/nes/smbs-src-1.0~rc1.tar.bz2
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 12, 2021, 03:44:36 am
Yeah, I have a very old version ( 0.8 ) of the source on my computer, but it's missing some important stuff.  I have some ideas how to implement the missing parts of the port, would be nice to save time with the complete source


edit:  someone messaged me and pointed out the source was on archive.org (https://web.archive.org/web/20140401053154/http://static.karatorian.org/gaming/nes/smbs-src-1.0~rc1.tar.bz2)

I packed the 1.0rc source, the 0.8 source, plus the original images and other level data that Karatorian had on their site into a zip file.  You can download it here (http://trikome.com/downloads/smbspecial-src-data.zip)

I managed to adapt Karatorian's source to ASM6 and got it to build.. no promises on anything but it seems like almost everything besides the hammer power up shouldn't be too difficult

EDIT2:

WE GOT BEE

(https://i.imgur.com/2aAFDMA.png)

Bee, Wing, Clock and Atom (lucky star) have all been implemented.. Hammer i'll worry about after i add the enemies
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: niuus on April 14, 2021, 03:50:47 am
Yeah, I have a very old version ( 0.8 ) of the source on my computer, but it's missing some important stuff.  I have some ideas how to implement the missing parts of the port, would be nice to save time with the complete source


edit:  someone messaged me and pointed out the source was on archive.org (https://web.archive.org/web/20140401053154/http://static.karatorian.org/gaming/nes/smbs-src-1.0~rc1.tar.bz2)

I packed the 1.0rc source, the 0.8 source, plus the original images and other level data that Karatorian had on their site into a zip file.  You can download it here (http://trikome.com/downloads/smbspecial-src-data.zip)

I managed to adapt Karatorian's source to ASM6 and got it to build.. no promises on anything but it seems like almost everything besides the hammer power up shouldn't be too difficult

EDIT2:

WE GOT BEE

(https://i.imgur.com/2aAFDMA.png)

Bee, Wing, Clock and Atom (lucky star) have all been implemented.. Hammer i'll worry about after i add the enemies
Awesome news! Thanks for the zip files, btw. I'll bee watching this. ;)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: ShadowOne333 on April 14, 2021, 12:28:00 pm
Yeah, I have a very old version ( 0.8 ) of the source on my computer, but it's missing some important stuff.  I have some ideas how to implement the missing parts of the port, would be nice to save time with the complete source


edit:  someone messaged me and pointed out the source was on archive.org (https://web.archive.org/web/20140401053154/http://static.karatorian.org/gaming/nes/smbs-src-1.0~rc1.tar.bz2)

I packed the 1.0rc source, the 0.8 source, plus the original images and other level data that Karatorian had on their site into a zip file.  You can download it here (http://trikome.com/downloads/smbspecial-src-data.zip)

I managed to adapt Karatorian's source to ASM6 and got it to build.. no promises on anything but it seems like almost everything besides the hammer power up shouldn't be too difficult

EDIT2:

WE GOT BEE

(https://i.imgur.com/2aAFDMA.png)

Bee, Wing, Clock and Atom (lucky star) have all been implemented.. Hammer i'll worry about after i add the enemies

Incredible!
I cannot wait for what you have in store and for you to "hammer" down the rest of the features haha. Finally, a faithful port of SMB Special on NES is on the horizon! :D
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 14, 2021, 11:21:49 pm
WE GOT CRABS

(https://i.imgur.com/gVCbGAs.png)

Still learning the ropes with regard to adding new enemies but got crabs and flies working right now.  these enemies don't replace other enemies either (though their graphics are replacing Bowser's.. will switch to a different graphics bank for the bowser fights)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on April 15, 2021, 09:12:30 am
https://www.romhacking.net/hacks/1011/

This is a updated version of the original hack. You should add this too.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 15, 2021, 03:40:08 pm
Yeah, gonna put out two patches, one with NES colors, one with X1 colors.  Personally I think the X1 colors & dithering look terrible but apparently people like it
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on April 15, 2021, 04:28:18 pm
I like the changes made in the 2nd hack. It will be good to see the hack get closer to the real thing.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: erpster2 on April 15, 2021, 04:46:04 pm
https://www.romhacking.net/hacks/1011/

This is a updated version of the original hack. You should add this too.

this layout bugfix (https://www.romhacking.net/hacks/5538/) by PowerPanda should also be added to prevent potential "softlocks" in certain levels where players may get stuck.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 15, 2021, 06:43:09 pm
Right now I'm thinking the final rom will feature a choice between two options.

The "Enhanced NES Version"

* Will use NES colors
* Enable the exit pipe in the trap room in 4-3.  I read somewhere that the developers didn't intend for that to be a trap

The other softlock area I may leave since the fix Power Panda put in changed the way that whole area works


The "X1" version

* incorporate graphics/color changes from Messatu
* leave in all level design bugs


Both will have the full title screen and be the most legit versions possible
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on April 16, 2021, 09:01:56 am
That sounds good. So, what do you have planned? Are you trying to add everything missing? What you've done looks pretty good.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: ShadowOne333 on April 16, 2021, 10:56:35 am
Right now I'm thinking the final rom will feature a choice between two options.

The "Enhanced NES Version"

* Will use NES colors
* Enable the exit pipe in the trap room in 4-3.  I read somewhere that the developers didn't intend for that to be a trap

The other softlock area I may leave since the fix Power Panda put in changed the way that whole area works


The "X1" version

* incorporate graphics/color changes from Messatu
* leave in all level design bugs


Both will have the full title screen and be the most legit versions possible

If I may, I suggest making both the NES and X1 versions differences be only the graphics. I'd also like to play the X1 version with all the bugfixes in place.

I'd suggest making an optional IPS patch that applies to both versions, which solely restores the bugs and nothing else.
That'd add leaps to user choice and enjoyability. :)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 16, 2021, 12:59:15 pm
Thinking about it more, I'll probably not include the bugs.. I realized the original release actually "fixed" one bug in 4-2 so already it wasn't accurate.  An the "trap room" just makes everyone upset anyways.  In 2012 one of the original developers tweeted about this hack (https://twitter.com/meijin_sakurada/status/181640046028398592) and even about what they would fix " I definitely want to fix the place where I can't die until the time is up due to a dead end due to a bug. (https://twitter.com/meijin_sakurada/status/181640801464483841)

Last night I added a feature to control how pipes work better.. in the original SMB, you only come out of a pipe if you go into a sideways pipe, and always drop from the ceiling if you go down a vertical pipe.  But in SMB Special, sometimes the opposite happens. In the original release I added some sideways pipes were vertical pipes should be.  Now those can be returned to vertical pipes. 

Also got all the enemies except icicles working
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on April 16, 2021, 01:14:00 pm
Cool, how about the powerups too? I remeber it had some items not found in the other hack versions.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 16, 2021, 01:44:36 pm
all the new power ups graphics are in there and the bee, wing, atom and clock all work properly.  still need to work on the hammer, that one will be the hardest to implement

(https://i.imgur.com/mMIT78o.png) (https://i.imgur.com/yqLeOlJ.png)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on April 16, 2021, 01:54:27 pm
Looks good.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: thanksgoogle on April 16, 2021, 04:59:35 pm
Would it be possible to implement the backgrounds and tiles from the original version? Like having the trees and bushes being the same sizes in the same places, the underwater blocks being above water in 3-1, etc.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: TRIFORCE89 on April 16, 2021, 08:45:52 pm
Holy moly! This is exciting and came out of nowhere.

Your original release is quite simply my favourite hack. I've played your NES port, Messatu's X1 version, and my graphic patch many many many times.

Really looking forward to experiencing this fully realized version. Thank you!
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Vanya on April 17, 2021, 06:31:19 am
Just saw this! Can't say how hyped I am to see this hack get all the extra love.
Dying to play it again with all the newly ported features!
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 17, 2021, 08:13:15 am
Would it be possible to implement the backgrounds and tiles from the original version? Like having the trees and bushes being the same sizes in the same places, the underwater blocks being above water in 3-1, etc.

maybe the trees, since some of their placement seems to be "artistic".. the bushes and the rest not gonna worry about as much.

Did get the underground plant tiles and also the other ground tiles looking more like how it looks in the original

(https://i.imgur.com/ow7RQ6J.png)

getting some of these screens totally accurate is more complicated than adding a few of the power ups!

(https://i.imgur.com/5BhnMBK.png)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: TRIFORCE89 on April 19, 2021, 06:17:12 pm
I don't recall if it was in your original port or the X1 rendition but I recall a visual glitch in underwater stages where the water and the sky used the same blue. Just pointing it out in case that's something you wanted to address on this version.

Also, curious how the Lucky Star (Atom) will be handled. Doesn't it have too many colours? Would this edited sheet from MFGG (https://mfgg.net/index.php?act=resdb&param=03&c=1&id=21885) be helpful at all?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 19, 2021, 06:30:08 pm
I don't recall if it was in your original port or the X1 rendition but I recall a visual glitch in underwater stages where the water and the sky used the same blue. Just pointing it out in case that's something you wanted to address on this version.

Yeah.. In SMB the water is weird, to get the light blue water, the game puts background tiles everywhere.  But this causes weirdness where you can't see mario exit/enter a pipe.  You can see it most obviously in SMB 8-4 in the water area of the castle, mario just "appears" on top of the pipe.  Since there is more entering and exiting pipes underwater in Super Mario Special, the water was changed so that there's no background tiles.  This does cause everything to be the same color.  I guess it could be changed to all be lighter blue.  I have been putting some thought into this since the rest of the game is getting much closer to the original

edit.. messed around way too long to get what is visually almost the same, but mario can be seen going in pipes with the light blue sky in water now

(https://i.imgur.com/Cxh1Xxm.png)

Quote
Also, curious how the Lucky Star (Atom) will be handled. Doesn't it have too many colours? Would this edited sheet from MFGG (https://mfgg.net/index.php?act=resdb&param=03&c=1&id=21885) be helpful at all?

You can see the lucky star higher up in this thread :)


(https://i.imgur.com/AVO7V3L.png)
Got the underwater tiles looking green even above ground
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: PowerPanda on April 20, 2021, 11:03:41 pm
The other softlock area I may leave since the fix Power Panda put in changed the way that whole area works

Totally fine by me. I knew my addendum was going to be a matter of preference for most people. :thumbsup:

I'd also recommed doing something about that ceiling in 7-4 though. If all of the blocks need to be dropped by 2, then the "faithfulness" in the rom is actually creating a challenge that wasn't present in the original. Now, I changed a few other things about that room so that the changes could happen without code shifting, and you are welcome to ignore all of those. Just don't make a 1-block gap right next to a fireball/icicle, as that almost guarantees forced damage.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 21, 2021, 03:01:32 am
I'd also recommed doing something about that ceiling in 7-4 though.

So I saw your comments about that and some other issues... if you play the latest version of the hack I released with Karatorian, those graphic glitches and the error you mention in 7-4 don't exist because they were fixed in the final bug fix version.  But the source code Karatorian released to the public didn't have the last bug fix update.  I think this caused those errors to be present in the X1 version and the later version put out by Triforce99.  When I first saw your hack posted I was confused about the bugs you mentioned, but when I got the source code and saw it wasn't up to date, it made a little more sense

I have been thinking about how to fix that one soft-lock area with the mushroom, and still penalize you for doing it wrong, just not make you wait for the clock to run down
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: PowerPanda on April 21, 2021, 11:23:43 am
So I saw your comments about that and some other issues... if you play the latest version of the hack I released with Karatorian, those graphic glitches and the error you mention in 7-4 don't exist because they were fixed in the final bug fix version.  But the source code Karatorian released to the public didn't have the last bug fix update.  I think this caused those errors to be present in the X1 version and the later version put out by Triforce99.  When I first saw your hack posted I was confused about the bugs you mentioned, but when I got the source code and saw it wasn't up to date, it made a little more sense

I have been thinking about how to fix that one soft-lock area with the mushroom, and still penalize you for doing it wrong, just not make you wait for the clock to run down

Oh, I didn't know. I mainly played Triforce99's version, and assumed that was the latest one. Sorry about that misunderstanding.

For 2-3, I thought long and hard about what the original developers were trying to do. My belief is that they were trying to give you a mushroom, but prevent you from getting a Flower. The ability to lock yourself out of getting a mushroom was unintentional, I believe. I tried about 12 different versions of this room, and finally settled on what you see in this picture:
(https://www.romhacking.net/hacks/nes/images/5538screenshot1.png)

If you are VERY careful, you can get a fireflower from this room by crouch jumping. That requires never stepping past the powerup box. In that case, you'll get the flower, then fall down through the gap rather than clipping through the blocks on the right side. If you have moved far enough to the right to hit the hidden block, you are no longer able to fit through the gap on the left side (Edit: I tried again, and it is JUST possible to get the fireflower and clip through, but you have to really know what your doing ahead of time!). However, the mushroom, since it is allowed to travel off-screen, will still fall down on the left side and get to you, preventing a softlock.

I didn't really like changing the layout like this, but it was the best solution I could come up with that didn't produce obvious clipping.

I will say that I'm ecstatic for the changes you're putting in, adding the new powerups and such. When this is finished, I may invest in the hardware necessary to mod my Super Mario game and watch to add this as the 3rd game, in place of Ball.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 21, 2021, 04:26:54 pm
Quote
I mainly played Triforce99's version, and assumed that was the latest one.

they are the latest released but don't have the last error fixes.  Kind of a shame actually..

My belief is that they were trying to give you a mushroom, but prevent you from getting a Flower. The ability to lock yourself out of getting a mushroom was unintentional, I believe.

I never thought of that, your changes make sense if you view it that way.  To me it just looks like a trap.. I feel like they could have put more hidden blocks if the intent was to allow you to get the mushroom.  Just putting the one hidden block makes it so you trap yourself easily.  I've been thinking about putting in hole to kill yourself if you get trapped or something. 

There's a similar trap room in 7-1, but that one is only a trap in the SMB engine version.  There's a 1up and a power up mushroom in the same small room,  if you hit the 1 up before collecting the power up mushroom, the power up mushroom will disappear because in SMB engine only one power up can exist at a time

Added in the icicles last night.. pretty much just need to figure out how to implement the hammer power up and most all the tough stuff will be done, though still some background graphics stuff I wanna work on.  Trying to get this done quick though, my free time is gonna become less again soon

(https://i.imgur.com/Um2Dsx4.png)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: TRIFORCE89 on April 22, 2021, 01:17:02 am
Oh, I didn't know. I mainly played Triforce99's version, and assumed that was the latest one. Sorry about that misunderstanding.
My understanding, based on the above, is original release was ultimately revised to little fanfare.

But the source code release did not reflect that. The X1 release was likely based off that source, and then my graphic patch was further on top of that.

That aside, yay icicles! Really impressed and looking forward to playing this. Thank you for revisiting this project.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: PowerPanda on April 22, 2021, 09:41:10 am
Oh, it probably goes without saying, but I'd beta test this in a heartbeat. :)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 22, 2021, 11:13:28 pm
My understanding, based on the above, is original release was ultimately revised to little fanfare.

But the source code release did not reflect that. The X1 release was likely based off that source, and then my graphic patch was further on top of that.

Yeah, my final bug fix is dated March 2010, but the final version of the levels in the source are dated from late 2008 and early 2009.  I don't recall the release history but the update may have gone unnoticed.  It is for sure a shame the fixes didn't make it into the X1 edition.  No matter, all will be sorted soon enough.

Oh, it probably goes without saying, but I'd beta test this in a heartbeat. :)

Right on, I was hoping you guys would be interested in testing.  Really would like to have a test version ready for you guys by the end of the month, if not sooner. 

Got sideways pipes going.. I think I'm gonna add in some trees in levels where they seem to be placed more deliberately vs just random background elements.  Then I should be done with all the background changes.

Still need to add in the hammer power up.

also want to explore having mario exit from pipes at different heights, there's a few spots where this causes some big changes, like especially in 4-4

(https://i.imgur.com/S27UbFN.png)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: niuus on April 23, 2021, 10:52:16 pm
Yeah, gonna put out two patches, one with NES colors, one with X1 colors.  Personally I think the X1 colors & dithering look terrible but apparently people like it

Right now I'm thinking the final rom will feature a choice between two options.

The "Enhanced NES Version"

* Will use NES colors
* Enable the exit pipe in the trap room in 4-3.  I read somewhere that the developers didn't intend for that to be a trap

The other softlock area I may leave since the fix Power Panda put in changed the way that whole area works


The "X1" version

* incorporate graphics/color changes from Messatu
* leave in all level design bugs


Both will have the full title screen and be the most legit versions possible
Sounds great, more power to the player! I also dig the X1 colors, too.

(https://i.imgur.com/Um2Dsx4.png)

(https://i.imgur.com/S27UbFN.png)

Looking great!
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 26, 2021, 02:54:13 pm
Please Hammer, don't hurt em!

(https://i.imgur.com/NQNejLq.png)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Googie on April 26, 2021, 04:22:31 pm
Please Hammer, don't hurt em!

(https://i.imgur.com/NQNejLq.png)

Now that's gangsta. :D :cookie:
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: mahou on April 26, 2021, 04:59:29 pm
Ohh!
Perfect!! :thumbsup:
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: ShadowOne333 on April 26, 2021, 08:16:28 pm
Wow! Hammer hype! :D
It's looking great and better each time. Can't wait for this!
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Dracula X on April 26, 2021, 09:16:23 pm
That looks cool and fun to play! There is a way to get Mario to swim in the air. I always wonder what all of this stuff from SMBS would look or be like on the NES version.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: mahou on April 27, 2021, 08:08:03 am
Are there plans to implement the graphics for the small clouds and small shrubbery?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 28, 2021, 04:54:18 pm
Are there plans to implement the graphics for the small clouds and small shrubbery?

That random small cloud in 1-3 is unlikely to be added but maybe.. not sure what you meant but the small shrubbery.  Besides the trees I don't really feel like messing with the background much.

(https://i.imgur.com/jh4kyEW.png)

(https://i.imgur.com/PXLYbPf.jpg)

(looks like i need to fix one tree)



I still want to explore trying to have mario come out of various height pipes and also maybe try to work out a solution to having two power ups on screen at a time.. the two power ups might be trickier or more work than I feel like putting in though, but we'll see.  Getting real close to a beta test release though
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: mahou on April 28, 2021, 07:10:33 pm
that screenshot looks great,(height of the tree is different)
 :)
I'm excited to see everything exclusive to the special version on Nes

I'm not totally sure but I think one of them appears on the 1st / 2nd screen of level 1-3 (small shrubbery)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on April 29, 2021, 03:58:06 am
I'm not totally sure but I think one of them appears on the 1st / 2nd screen of level 1-3 (small shrubbery)

ah i see that.. maybe i will put them in.. and I already fixed that one tree  :thumbsup:

In other news my exploration with multiple power ups has proven successful!  :woot!:

(https://i.imgur.com/2QDfrCl.png)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: mahou on April 29, 2021, 10:37:06 am
Excellent!!  :woot!:
every update you give are good news,
hope you have luck for the pipelines
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: shanem on May 01, 2021, 12:19:06 am
Great job, frantik!

Will the source code be available for those interested in addition to a patch?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 01, 2021, 03:23:41 am
Variable pipe exit heights done.. need to apply the pipe changes to the second half of the game, do the title screen and other odds and ends and hopefully be done.  I never hacked by working directly with the game source code vs hex editor before, it almost feels like cheating

(https://i.imgur.com/YBHrc7g.png)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: mahou on May 08, 2021, 05:08:01 am
Variable pipe exit done  :crazy:
looks pretty good!
Would it be very difficult to add the exclusive final screens of this version along with the credits to the hack?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on May 08, 2021, 06:41:33 pm
looks good. what extra scenes?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Vanya on May 09, 2021, 05:42:24 am
This is fantastic work!
I'll totally do some play testing if it'll help!
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 09, 2021, 03:27:29 pm
Would it be very difficult to add the exclusive final screens of this version along with the credits to the hack?

Yes I was thinking I would include the "Congrats" screen and credits..

looks good. what extra scenes?

at the end of the game there's a credits sequence (https://youtu.be/2nGIyPHdUcM?t=5985)


I started experimenting with the Sharp X1 look and decided to NOT use any of the dithered tiles, they just look too horrible on NES with composite output.  The Sharp X1 only has 8 colors, so there's a lot of dithering to try to make new colors.  NES has slightly better color capabilities, though it has its own limits with only 4 colors allowed per sprite.  Having looked at a bunch of Sharp X1 screens though, the red/blue aspect of them seems to be the dominate charateristic, so I feel like that can be brought over.  I'm ending up with a kind of "hybrid" scheme that looks good on NES but still is reminiscient of the X1.  I will probably offer the option to switch to the regular NES SMB palette, but before I was thinking of making the option more prominent, now it might be more of an "easter egg" or just a button option that is mentioned in the manual (vs an on screen menu or whatever)

(https://i.imgur.com/4lL46NJ.png)

(https://i.imgur.com/ZnyAWR1.png)
(bonus: some enemies allowed to show up on the first screen of the level)

And I also decided this hack needs a title screen that makes it stand out from the other ones.. recreating the X1 title screen looks too much like existing hacks

(https://i.imgur.com/fguxmGL.png)


I hope to have a version ready for play testing soon.. just wanna get the credit sequence done and maybe some other minor stuff
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: TRIFORCE89 on May 09, 2021, 04:37:14 pm
Quote
I will probably offer the option to switch to the regular NES SMB palette, but before I was thinking of making the option more prominent, now it might be more of an "easter egg" or just a button option
Can't speak for others but personally, I'd prefer the NES palette as the default and the X1 variant as the button code easter egg. Any chance of there being two versions for choice of dominate palette? Or, I don't know if you're exploring having save functionality (I saw a high-score save patch (https://nes.goondocks.se/patches2.php) for the old hacks before) - but if so, maybe the palette selection can be saved to avoid a button code input everytime.

Quote
And I also decided this hack needs a title screen that makes it stand out from the other ones.. recreating the X1 title screen looks too much like existing hacks
Fair enough. But, if it helps I was planning on deleting this one (https://www.romhacking.net/hacks/3281/) after your new one goes live. I like an "official" look and Hudson copyright, but this new one is good too. I like just how large and pronounced your "Special" text is. Kind of reminds me of the "Deluxe" in the GBC title. But the "for NES" plaintext feels a little out of place.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 09, 2021, 09:20:06 pm
I don't know if you're exploring having save functionality (I saw a high-score save patch (https://nes.goondocks.se/patches2.php) for the old hacks before) - but if so, maybe the palette selection can be saved to avoid a button code input everytime.

Yes it would save the selection for next.  I was originally thinking to make a menu at the start and you could pick either one, but the blue/red started to grow on me and I don't feel like doing the selection screen, plus that would get just as annoying having to pick every time.  To change colors it's probably just require pressing select when the game is paused, or something simple like that, not some hidden code

As far as the title screen, no need to delete your hack, but trying to mimic the original title screen does look almost identical to either yours or the X1 version (depending on the colors).  It also looks like many other SMB hacks with minimal title screen changes.

  When I was planning on having the palette selection screen I was thinking the maybe having that main title screen I posted, and then a screen where you picked the colors, and THEN it would show the replica title screen, but that's so many button presses just to start the game.

Thanks for the feedback on the "FOR NES" part.. wasn't 100% sure about that or the Push Start text either.. but I spent so long on the "SPECIAL" graphic I definitely want to use it!  :laugh:
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: niuus on May 09, 2021, 11:55:33 pm
Yes I was thinking I would include the "Congrats" screen and credits..

at the end of the game there's a credits sequence (https://youtu.be/2nGIyPHdUcM?t=5985)


I started experimenting with the Sharp X1 look and decided to NOT use any of the dithered tiles, they just look too horrible on NES with composite output.  The Sharp X1 only has 8 colors, so there's a lot of dithering to try to make new colors.  NES has slightly better color capabilities, though it has its own limits with only 4 colors allowed per sprite.  Having looked at a bunch of Sharp X1 screens though, the red/blue aspect of them seems to be the dominate charateristic, so I feel like that can be brought over.  I'm ending up with a kind of "hybrid" scheme that looks good on NES but still is reminiscient of the X1.  I will probably offer the option to switch to the regular NES SMB palette, but before I was thinking of making the option more prominent, now it might be more of an "easter egg" or just a button option that is mentioned in the manual (vs an on screen menu or whatever)

(https://i.imgur.com/4lL46NJ.png)

(https://i.imgur.com/ZnyAWR1.png)
(bonus: some enemies allowed to show up on the first screen of the level)

And I also decided this hack needs a title screen that makes it stand out from the other ones.. recreating the X1 title screen looks too much like existing hacks

(https://i.imgur.com/fguxmGL.png)


I hope to have a version ready for play testing soon.. just wanna get the credit sequence done and maybe some other minor stuff
Wow, man. Looking great! Though i loved the X1 original look, it's cool to at least have an hybrid, after all. Really makes it stand out.

Loving the title screen.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: shanem on May 10, 2021, 12:24:06 am
  When I was planning on having the palette selection screen I was thinking the maybe having that main title screen I posted, and then a screen where you picked the colors, and THEN it would show the replica title screen, but that's so many button presses just to start the game.

Thanks for the feedback on the "FOR NES" part.. wasn't 100% sure about that or the Push Start text either.. but I spent so long on the "SPECIAL" graphic I definitely want to use it!  :laugh:

Why not have the first screen lock without button presses and clear after a few seconds and make the color palette screen and second title-screen press able? 
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on May 10, 2021, 09:22:22 am
If possible, you should leave the graphic changes. It makes it feel reallydifferent. Feels more different.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 10, 2021, 10:35:47 am
If possible, you should leave the graphic changes.

Are you talking about the dithering? (The alternating checkerboard pattern of pixels?)  The "X1 style" version has a few tiles dithered but they didn't really do a complete job, only the pipes, hills and ? blocks had that treatment, but practically every tile is dithered in the original game

I tried it out but using any NTSC filter or looking at a real NES on a CRT, dithering looks really bad; the alternating colors cause weird artifacts and just looks ugly. And the entire reason for the dithering was to create more colors, which can be done without dithering on the NES. 

I fully intended to include the dithered tiles but the more I added them, the worse things looked.  I'd rather just not include any dithered tiles than have some random bits be dithered while the rest is not. Imo the color changes are enough to evoke the feeling of the original and make it feel different from SMB.  And not everybody even likes those changes!
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: MathUser2929 on May 10, 2021, 12:09:16 pm
I think it looks nice like that. gives the game a different feel.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: ShadowOne333 on May 10, 2021, 12:34:59 pm
Lovely work on those last screens, frantik!
The look feels great!

I'm seeing many people requesting the original look of the X1 version.
Even though I like the new hybrid look, for what it's worth seeing how many people are requesting it, and if you allow me to with your permission, frantik, I could work on an optional patch for the hack that makes the graphics and palettes 1:1 with the X1 version, in case you don't want to tackle such a thing.
I'll be more than glad to work on it, so that optional patch can be included with the final release, that's if you want to of course :p
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 10, 2021, 02:02:20 pm
I could work on an optional patch for the hack that makes the graphics and palettes 1:1 with the X1 version, in case you don't want to tackle such a thing.

The thing is, it's impossible to make a 1:1 conversion of the graphics from X1 to NES.  X1 graphics can have 8 colors per tile, NES can only have 4 per tile, and one of those colors has to be the background color.  Many X1 tiles have too many colors to be 1:1 represented on a NES.  That's because they are using dithering to represent the colors that the NES already has 

You can make something that is more reminiscent of X1, but it's still going to be a "hybrid"... so if it can't be done 1:1, I figure why even bother... especially when it makes the game look worse!  The point of porting to to the NES is to take advantage of the benefits of the NES.  But one thing the NES does not handle very well is dithering.. it causes artifacts/banding/etc that make it look worse than even how the X1 originally looked

When looking at Messatu's "X1 style" version, I realized they only converted a small handful of tiles over to the X1 style... for example they didn't even convert the bushes or modify that palette to use the colors used in X1 (green and cyan). They also didn't even touch the underground palettes at all.  I started working on trying to make as close to 1:1 as possible, and the more I worked on it, the uglier things got.  I'm not gonna spend time making the hack look worse

That being said, there's already way too many versions of this game on this site.. if someone is gonna want to make an "ugly version" as soon as I release mine, it'd be better to incorporate it.  But I honestly don't think there's a way to make an ugly version that is actually proper and not just some gimmick on a few tiles
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: ShadowOne333 on May 10, 2021, 02:44:31 pm
Ah you're right, I forgot the original X1 version did use more colors per tile than the standard 4 the NES is capable of. I could still try making it as close as possible.

If you do decide to have that optional patch, I'll be glad to help, if not, that's okay too. :p
I'm still happy with how it's coming along!
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 10, 2021, 04:05:42 pm
I just want to release one patch and incorporate the options into the one rom.  It's eas(ier) to offer just the original colors and the new colors without graphic changes too.  I could offer THREE skin options to satisfy the various tastes, but I really feel like the mild hybrid look I'm working on is just the right amount of both systems look.  When porting from one system to another, you don't always make a one to one copy of the graphics and everything, if you can you want to make the graphics look better, just like how the gameplay is improved by having the better NES engine.

Maybe once I release the beta for testing if people still really think it needs a dithered mode it could be added in.  But to do it, it needs to be 100%, which is going to look terrible on some stuff.  Like for example, the water levels, the entire screen is dithered, which on a real NES or using an NTSC filter on an emulator creates a giant mess

(https://i.imgur.com/xLCHKM7.png)
Banding caused by dithering (example from Messatu's X1 style)


(https://i.imgur.com/oubIvdy.png)
Water levels would have banding across the entire screen
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: TRIFORCE89 on May 10, 2021, 05:37:04 pm
I once "upgraded" to an S-Video cable on my N64 and it exposed (or introduced? Not a great-quality cable) a whole lot of dithering. My immediate impression was that it made everything look like the surface of a basketball.

There can be a purpose to dithering (see Genesis and PS1), but there isn't a benefit here. The only improved tile in the actual X1 game, to my recollection, was that the Starman had a smiley face. Outside that the actual dithering edits aren't a benefit, as frantik explained.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: PowerPanda on May 10, 2021, 05:46:18 pm
I am of the personal opinion that dithering, as a practice, should never have been a thing, ever. I've almost never seen it not look sloppy, even back in the CRT days. I even did a graphics update of SMB (released here), SMB2j, and Triforce89's SMB Special hack to remove the dithering on the pipes, as it was the only place in the game that dithering was used.

As long as you're focusing on only doing 1 release, I have a request. Can you include the feature where pressing B on the title screen allows you to start at any world (or, if you're including sram, any world you've beaten)? This was the main reason I played Messatu's and Triforce89's version over yours and Karatorian's when I did my layout fix hack, and it is my favorite feature of the Super Mario Game & Watch.

If you're worried about patches coming out right after yours, just as a heads up I will likely be using Triforce89's graphics. I love how he struck a balance between SMB and SMB2j, along with some beta sprites, to make SMBS feel like SMB 1.5. You don't need to account for this; just encourage people to make addendum patches instead of stand-alone patches.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 17, 2021, 09:14:58 pm
Working on the end game congrats screen and scrolling credits now

(https://i.imgur.com/ZfKHehO.png)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: mahou on May 18, 2021, 05:20:11 am
cool!! excellent progress.
it seems that this hack is on its way to being the definitive version of the game :woot!:

I personally prefer the nes colors, as if the hack was a port of the full game to the console.Although if the colors of x1 were like an easter egg it would be great
Regarding the title screen, I prefer the nes style.
(although of course, it is true that this hack goes beyond all the previous ones with all the exclusive additions of the special version)
Another thing that is also exclusive is the way to enter the game's demo mode, (that is, the original of nes, continues on the title screen)
and the special version (it is as if the player played giving way to the demo of level 1-1)
I know this is something very additional, but could it also apply to the hack ??
It could also be difficult to add , I think
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 18, 2021, 01:36:13 pm
Another thing that is also exclusive is the way to enter the game's demo mode, (that is, the original of nes, continues on the title screen)
and the special version (it is as if the player played giving way to the demo of level 1-1)
I know this is something very additional, but could it also apply to the hack ??
It could also be difficult to add , I think

Hah you really know the details of this game!  It's unlikely that I will customize the demo.  Right now I actually have the demo completely disabled, but I may turn it back on.. depends on what I do with the title screen.  I want to mimic the X1 title screen but also want something completely original.  Haven't decided how to do both just yet
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: mahou on May 19, 2021, 05:54:02 am
Oh yeah ! I am a big fan of Mario and I think the special version is very good, with the new power ups that it adds, it has bugs and hardware limitations but in general it seems like a good Mario game.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: shanem on May 25, 2021, 01:01:39 pm
@mahou

Do you know if the original PC version has skid SFX for Mario like SMB2J does or without like the original SMB1?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: mahou on May 25, 2021, 02:32:50 pm
Sliding sound for Mario and Luigi when skidding in Special version, is that what you mean?
No ,the sound is not present in any of the versions, sharp x1 or nec pc88
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 25, 2021, 06:48:24 pm
Implementing the the end game text scroll was long and tedious, possibly the lamest part of this hack!  But it's over now, mostly  :laugh:  I took a bit of liberty to "correct" the misspellings and funky grammar, though I'm not sure exactly how far to go.


One thing that's weird is in Hudson game, they spell some characters like Kuribo as Kuribou.. I don't know if this is a different romanization of the same word or what, but I changed them to match what Nintendo calls them in print literature, which does not have the U on the end.  I noticed there was one new ememy name which ends with OU, "SIGEBOU" (the fireball).. I suspect this should also be SIGEBO to match with Kuribo and Togezo.  If anyone has any insight into this, I'd appreciate it.  I want the text to be free of errors in English and Japanese

Other questions are what is 'Enemy Dispoed By' supposed to mean?  I assume it's "Enemy Designed By" since it follows "Course Design By".. and "Sound Effected By" is funny but also got changed to "Sound Design By"

The final screen is a bit tougher.. not much space to turn "Fly Sky" into something a little more coherent, for example.

(https://i.imgur.com/lw7yiOm.png)


Anyways, moving into the final phase of minor tweaks and bug fixes, hopefully should be done very soon
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Runex on May 27, 2021, 12:15:10 am
Just seeing this for the first time, and wow looks very interesting. Didn't even know about the existence of SMB Special.
I would definitely play this hack!
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: FUTURA on May 27, 2021, 11:03:43 am
I just want to release one patch and incorporate the options into the one rom.  It's eas(ier) to offer just the original colors and the new colors without graphic changes too.  I could offer THREE skin options to satisfy the various tastes, but I really feel like the mild hybrid look I'm working on is just the right amount of both systems look.  When porting from one system to another, you don't always make a one to one copy of the graphics and everything, if you can you want to make the graphics look better, just like how the gameplay is improved by having the better NES engine.

Maybe once I release the beta for testing if people still really think it needs a dithered mode it could be added in.  But to do it, it needs to be 100%, which is going to look terrible on some stuff.  Like for example, the water levels, the entire screen is dithered, which on a real NES or using an NTSC filter on an emulator creates a giant mess

(https://i.imgur.com/xLCHKM7.png)
Banding caused by dithering (example from Messatu's X1 style)


(https://i.imgur.com/oubIvdy.png)
Water levels would have banding across the entire screen

I would like a dithered mode. I actually wouldn't mind playing it messy on an actual CRT TV. It would present a new challenge and I like that, because it might make playing it harder, and I relish higher difficulty.

Plus I love the retro look it gives off in that screenshot of it. I'd play the heck out of that mode.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: PowerPanda on May 27, 2021, 01:02:24 pm
Implementing the the end game text scroll was long and tedious, possibly the lamest part of this hack!  But it's over now, mostly  :laugh:  I took a bit of liberty to "correct" the misspellings and funky grammar, though I'm not sure exactly how far to go.

One thing that's weird is in Hudson game, they spell some characters like Kuribo as Kuribou.. I don't know if this is a different romanization of the same word or what, but I changed them to match what Nintendo calls them in print literature, which does not have the U on the end.  I noticed there was one new ememy name which ends with OU, "SIGEBOU" (the fireball).. I suspect this should also be SIGEBO to match with Kuribo and Togezo.  If anyone has any insight into this, I'd appreciate it.  I want the text to be free of errors in English and Japanese

Other questions are what is 'Enemy Dispoed By' supposed to mean?  I assume it's "Enemy Designed By" since it follows "Course Design By".. and "Sound Effected By" is funny but also got changed to "Sound Design By"

The final screen is a bit tougher.. not much space to turn "Fly Sky" into something a little more coherent, for example.

(https://i.imgur.com/lw7yiOm.png)


Anyways, moving into the final phase of minor tweaks and bug fixes, hopefully should be done very soon

Good questions. The "O" vs. "OU" question is a matter of romanization. Japanese is a rhythmic language, and the time that you hold vowels can change the meaning of the word. When the O sound is lengthened, it there are 3 different ways to do it, but they all sound the same. Depending on how it's written in Japanese, and the romanization, you could end up with "O", "Ō", "OO", "OH", or "OU". The one that's taught to most Japanese students is "OU", because it mimics what they're doing in Katakana. However, for English speakers, the single O is preferred. (ie - Tokyo instead of Tōkyō, Tookyoo, Tohkyoh, or Toukyou.)

I think you're right on the "Enemy Designed By", and I'd go with your instinct.

For the final screen, "Fly in the sky" is the most natural to me, but I think you could shorten it to "fly in sky" if there are space limitations.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 27, 2021, 04:06:58 pm
For the final screen, "Fly in the sky" is the most natural to me, but I think you could shorten it to "fly in sky" if there are space limitations.

Thanks for the help on the O/OU thing.  I went with all just plain O ending.  When I put out the test version please give it a double check that everything looks ok.

For the final screen, "fly in the sky" might just barely fit.. the rest of the power up descriptions are also pretty broken English sounding though.  And both the hammer and lucky star end up killing enemies.  I may just leave them, but we'll see


In other news, I switched back the original style title screen.. gonna add an "intro screen" that doesn't require any button pushing, and that intro screen will be the title screen used on RHDN to differentiate it, but the original title screen will also be there

(https://i.imgur.com/j3jmcAa.png) (https://i.imgur.com/4VovBlc.png)

also got the Bee to Bee the right colors
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: mahou on May 27, 2021, 06:30:12 pm
cool! everything looks great.
I've been searching the internet and wikis always end it with -ou
but it is true that this is due to the Japanese origin ...
So the most correct would be O, as you have chosen to leave it.
Cool!, I like the screen type Nes

want to try it
😁😁😁😁
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: shanem on May 27, 2021, 07:55:17 pm
Great job.

Will this version have SRAM saving of high score?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: PowerPanda on May 27, 2021, 08:33:26 pm
I've been searching the internet and wikis always end it with -ou

Yes, that's Hepburn Style Romaji, and it's the easiest to use for Native Japanese speakers because it focuses on 1:1 relationships between hiragana/katakana characters and roman letters. For Native English speakers, it leads people into mispronunciations because English has letter combos and Japanese doesn't. For example, EA in English is "eee", and in Japanese it is "Eh-Ah". In short, ending these with a single O is by far the best choice.  :beer:
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: TRIFORCE89 on May 27, 2021, 11:13:42 pm
1) Love that new title screen. And I think the new colours are starting to grow on me.

2) O vs OU... It isn't NES appropriate, but I go for Ō. Still curious to know what SIGEBŌ is though
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: marioxb on May 28, 2021, 12:29:21 am
I vote for the normal NES colors, and Americanizing and un-Engrishing everything.

So for that screen you posted, I'd do something like this:

________________
New Items!

Honey Bee - 8000 Points
Hammer - Hit Enemy
Clock - Timer +100
Wing - Flying
Lucky Star - Clear Screen

Search for
these items!

Push Start
________________

Honey Bee is what they called it in Adventure Island. Also, I'd be tempted to turn the text and image itself from Lucky Star to POW Block, to make it consistent with Mario Bros and SMB2 and 3, especially since there already is a Starman already. Of course the enemies need THESE names:

Barrel, Fire, Sidestepper, Fighter Fly, Icicle
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 28, 2021, 04:47:57 am
this is the "intro screen" that will display before the main title screen.. this release will be known as the "35th Anniversary Edition"  :cookie:

(https://i.imgur.com/Hv6ubRe.png)

Great job.

Will this version have SRAM saving of high score?

hmm.. maybe ;)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Vanya on May 28, 2021, 06:33:24 pm
I dig it! What about the actual title screen, tho?
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 28, 2021, 09:56:33 pm
I dig it! What about the actual title screen, tho?

Scroll up! :D

Small shrubbery and small cloud, by request!

(https://i.imgur.com/jnjWgkv.png) (https://i.imgur.com/5wFx3cD.png)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: mahou on May 29, 2021, 01:59:35 am
great, you implemented them too ... another step to make it the most complete version for Nes ...
thank you very much
they look pretty good.
So, you have already added everything exclusive in the hack.
or is there still something to be implemented?
title, credits, pipes, clouds, bushes, power ups ,dual power up on screen.
it's fantastic

Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: shanem on May 29, 2021, 03:27:06 am
So, you have already added everything exclusive in the hack.
or is there still something to be implemented?
title, credits, pipes, clouds, bushes, power ups ,dual power up on screen.
it's fantastic

Aren’t the castle windows different for the huge castles on stages like 1-3 (at the end) also? Apart from SMB1.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: mahou on May 29, 2021, 04:32:29 am
Yeah true
in the nes version there is a large window and in the special version there are 4 small ones
(I thought this was in the previous hack versions, but it seems not)
(in the central section of the castle)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 29, 2021, 05:15:29 am
it looks like the castle is shorter because they couldn't fit the full castle on the screen.. also I guess the flagpole is shorter too.  I wonder if it will make it too easy to jump over the flag pole..   The changed castle looks so funny to me

(https://i.imgur.com/QqcAiiQ.png)

In world 8 each level has a unique "big castle".. i guess I should add them now  ::)

(https://i.imgur.com/uuX7CPK.png)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: shanem on May 29, 2021, 12:38:39 pm
it looks like the castle is shorter because they couldn't fit the full castle on the screen.. also I guess the flagpole is shorter too.  I wonder if it will make it too easy to jump over the flag pole..   The changed castle looks so funny to me

Level data terminates with $FD. You could add scroll stops to levels (object $46) like SMB2J does to prevent jumping over the flagpole glitch.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: lilpuddy31 on May 29, 2021, 02:36:57 pm
I cant wait to play through this
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: powerup_retro on May 29, 2021, 07:13:15 pm
Love Mario games + Love Hudson games.

So definitely interesting and can wait to try / test it.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Vanya on May 29, 2021, 09:30:53 pm
I cant wait to play through this

Same here. Especially since the level design is so "weird" in comparison to Nintendo's levels.
And the extra enemies and power ups just make it feel like more of a "true" sequel to SMB1.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 30, 2021, 12:25:09 am
And the extra enemies and power ups just make it feel like more of a "true" sequel to SMB1.

At this point I'm pretty sure I've modded the engine way more than the lost levels  :laugh: 

Got that crazy background castle in 8-2 going.. kinda had forgotten about the castles until it was mentioned yesterday

(https://i.imgur.com/ysai7h1.png)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: mahou on May 30, 2021, 02:26:10 am
Great cool! It looks good, a pity that the castle of 1- 3 cannot be seen in its entirety(or is it just in the screenshot?)
hahaha that strange castle from 8-2 looks great
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: PowerPanda on May 30, 2021, 09:34:02 am
At this point I'm pretty sure I've modded the engine way more than the lost levels  :laugh: 

Yeah. I'm wondering if it even qualifies as a romhack at this point, or if it has crossed the line to homebrew.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Googie on May 30, 2021, 10:06:30 am
This is gonna be gangsta when it's done.  :D :cookie:
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Superjustinbros on May 30, 2021, 07:50:50 pm
I am so glad to see this being worked on, I always wanted to see the Special romhack get an upgrade so it more greatly resembles the original versions- I just didn't realize it would be this soon.

I did experiment with mockups a few days ago to sort-of replicate parts of the original PC88/X1 versions to greater detail, and that included altering the "green" palette a bit further on the three rooms that used the underwater tiles.
(https://i.imgur.com/J6AjUsp.png)(https://i.imgur.com/qDUjMyl.png)(https://i.imgur.com/Ohp44RR.png)

I also did this to incorporate the "castle brick blocks in non-castle levels" done in 6-3 and 7-1 though in hindsight I think they would look closer to the original's if they had the cloud palette in addition to the brighter pixels.
(https://i.imgur.com/lU4ll1r.png)(https://i.imgur.com/ClokS5g.png)
(the barrels look different here cause they're based on the Sharp X1 version's sprites)
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: thanksgoogle on May 30, 2021, 09:55:04 pm
Super excited about how this is turning out. The original NES version of this didn't really capture a lot of what made this game "special" (lol)

Scroll up! :D

Small shrubbery and small cloud, by request!

(https://i.imgur.com/jnjWgkv.png) (https://i.imgur.com/5wFx3cD.png)
It'd also be cool to include the green hills with the black dots in different locations than normal (like as seen in 1-1), though if it's too difficult to implement for how minor of a difference it makes it's not a big deal.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on May 31, 2021, 03:38:58 pm
I also did this to incorporate the "castle brick blocks in non-castle levels" done in 6-3 and 7-1 though in hindsight I think they would look closer to the original's if they had the cloud palette in addition to the brighter pixels.
(https://i.imgur.com/lU4ll1r.png)(https://i.imgur.com/ClokS5g.png)
(the barrels look different here cause they're based on the Sharp X1 version's sprites)

Wow i never noticed those bricks are supposed to be castle colored.  Looking at the pc88 maps those bricks are an orange/brownish color.... which is the same color as in the castles, but out of context it wasn't very obvious. Probably won't implement that

Yeah. I'm wondering if it even qualifies as a romhack at this point, or if it has crossed the line to homebrew.

It's still almost all Nintendo's code.. though working with the source code vs in a hex editor sure makes it feel less like hacking.  But figuring out some stuff like how to get power ups in the enemy slots certainly feels.. "hacky"

It'd also be cool to include the green hills with the black dots in different locations than normal (like as seen in 1-1), though if it's too difficult to implement for how minor of a difference it makes it's not a big deal.

Placing every single bush and hill would take up so much level data.. those small clouds/bush were only added cause I had a few extra bytes to spare late in development.  If you're talking about the dots themselves, I did move the dots shown on the first hill
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Hamtaro126 on June 01, 2021, 08:16:31 pm
Hey frantik bro, I am back from the dead because of your outstanding work!

As for code, Are you gonna include source code of your newer version of the hack as well? or is this gonna be a standalone patch?

I love the new features you added in and am curious to see what you did to Karatorian's code...

Good luck!
Title: Re: Anyone Interested in Doing \"SMB Special\" for NES?
Post by: Baggins on June 01, 2021, 09:45:32 pm
This is awesome work! Will you also get the art assets like seeing coral seen in the overworld water pits, or under bridges showing up? Like in the real game?

Is it possible to make multiple versions of the game for color palletes and game mechanics? Original colors of the two main versions of the game? A version that's full scrolling (like NES mario games), and a version that screen by screen like the original Special? Maybe include multiple modes (background colors, how maps scroll, etc) in the game from the main menu?

How about the other "Special" games in the series Donkey Kong SPecial, Donkey Kong 3 special, Mario Bros Special, and Punch Ball?
https://www.badgamehalloffame.com/super-mario-bros-special/

Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Trimint123 on June 02, 2021, 10:00:03 am
Can't wait to see this turns out! Keep it up, guys!
Title: Re: Anyone Interested in Doing \"SMB Special\" for NES?
Post by: thanksgoogle on June 04, 2021, 03:04:59 am
I did experiment with mockups a few days ago to sort-of replicate parts of the original PC88/X1 versions to greater detail, and that included altering the "green" palette a bit further on the three rooms that used the underwater tiles.
(https://i.imgur.com/J6AjUsp.png)(https://i.imgur.com/qDUjMyl.png)(https://i.imgur.com/Ohp44RR.png)

That looks pretty good! The bushes/trees/pipes being the same color as the sea bricks looks better than vice versa imo, at least in these areas

Wow i never noticed those bricks are supposed to be castle colored.  Looking at the pc88 maps those bricks are an orange/brownish color.... which is the same color as in the castles, but out of context it wasn't very obvious. Probably won't implement that

It's more obvious in the X1 version where they're white. It could use the cloud palette but it would also need a separate brick graphic, might not be worth it to include

(https://i.imgur.com/wqiungn.png)

This is awesome work! Will you also get the art assets like seeing coral seen in the overworld water pits, or under bridges showing up? Like in the real game?

Is it possible to make multiple versions of the game for color palletes and game mechanics? Original colors of the two main versions of the game? A version that's full scrolling (like NES mario games), and a version that screen by screen like the original Special? Maybe include multiple modes (background colors, how maps scroll, etc) in the game from the main menu?

Yes, some screenshots of the coral were posted a few pages back:

maybe the trees, since some of their placement seems to be "artistic".. the bushes and the rest not gonna worry about as much.

Did get the underground plant tiles and also the other ground tiles looking more like how it looks in the original

(https://i.imgur.com/ow7RQ6J.png)

getting some of these screens totally accurate is more complicated than adding a few of the power ups!

(https://i.imgur.com/5BhnMBK.png)

And there will be multiple color schemes IIRC, but the main one that combines both the NES and Sharp X1 colors looks good to me. There's probably not much of a point to adding a screen-by-screen scrolling option, though.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: powerup_retro on June 11, 2021, 09:40:41 pm
Checking this thread daily. Hope to have a beta version to play with :D  :woot!: :crazy:
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: Baggins on June 12, 2021, 04:09:26 pm
Oh cool. The coral colors look to be off, but I suppose that's more to do with the color limits on the NES?

Quote
And there will be multiple color schemes IIRC, but the main one that combines both the NES and Sharp X1 colors looks good to me. There's probably not much of a point to adding a screen-by-screen scrolling option, though.

Only for a 'classic mode' to maintain the mechanics, and puzzle solving element of the original game. Some of the challenge was not knowing what you'd run into from screen to screen, of course some elements couldn't pass from one screen into the next.

Also I like editions that have multiple versions of the same game... LIke Castlevania Chronicles series or Old & New series on GBA.
Title: Re: Anyone Interested in Doing "SMB Special" for NES?
Post by: frantik on June 16, 2021, 05:12:44 pm
Hey frantik bro, I am back from the dead because of your outstanding work!

hey welcome back!
Quote
As for code, Are you gonna include source code of your newer version of the hack as well? or is this gonna be a standalone patch?

it's unlikely i'll release the source code.. the original source has been obliterated, there's not much left of Karatorian's work besides the set up for the extra power up blocks


Been banging away at all the minor bugs and stuff that I had been putting off till the end.  Real close now.. just keep finding more stuff to fix!  Also decided I would do the inverted bricks in those two spots.

(https://i.imgur.com/rs4i3G1.png)

(https://i.imgur.com/jITAGnV.png)