Zophar's Message Domain

Go Back   Zophar's Message Domain > Emulation Talk > Rom Hack

Reply
 
Thread Tools Display Modes
Old 02-23-2012, 05:55 AM   #1
southbird
Junior Member
 
Join Date: Sep 2009
Posts: 9
Talking Super Mario Bros. 3Mix

Super Mario Bros. 3Mix 1.0 is out!

Download and information available at: http://sonicepoch.com/sm3mix/

I did submit the release to Zophar, but it's perpetually pending.

YouTube vids

Super Mario Bros. 3Mix is a large-scale hack that changes and adds lots of features to Super Mario Bros. 3, and pays homage to many past and (relative) FUTURE Mario titles, while attempting to remain faithful in spirit to the look and feel of Super Mario Bros. 3.
  • All new levels (and a few “remixed” Mario 3 levels somewhere in there)
  • Many new songs added from other Mario games (kept some SMB3 classics!)
  • Play as Mario, Luigi, or Toad (cosmetic only) in any configuration
  • New power-ups (Penguin replaces Frog, Carrot replaces Tanooki)
  • Star Coins (which are used to unlock portions of the game!)
  • Ability to re-enter past worlds (with level completion intact!)
  • Ability to re-enter past levels (to get all of your Star Coins)
  • Alternate exits in some levels
  • Ability to save progress
  • Many new enemies, typically some special ones for the world theme
  • All new bosses (many are “remixes” of bosses from other Mario games)
  • All kinds of gameplay changes to meet the theme of a level/world!

EDIT: Final release info

Last edited by southbird; 06-05-2014 at 03:39 PM.
southbird is offline   Reply With Quote
Old 02-23-2012, 07:59 PM   #2
Mike Chambers
Junior Member
 
Join Date: Apr 2011
Posts: 11
Default

holy crap, nice work! you, sir, are my hero. when can expect the source code to be shared? i would love to try porting it to x86.

you clearly put a lot of work into designing the levels.
Mike Chambers is offline   Reply With Quote
Old 02-24-2012, 12:30 AM   #3
southbird
Junior Member
 
Join Date: Sep 2009
Posts: 9
Default

Quote:
Originally Posted by Mike Chambers View Post
holy crap, nice work! you, sir, are my hero. ... you clearly put a lot of work into designing the levels.
Thanks!


Quote:
when can expect the source code to be shared?
I was thinking this weekend. I just need to get documentation and such organized.


Quote:
i would love to try porting it to x86.
Me too. That was always sort of a secondary objective of mine. But hey if you want to go ahead and spearhead that project, I'll be glad to assist in answering questions or something like that.
southbird is offline   Reply With Quote
Old 02-24-2012, 09:44 AM   #4
Mike Chambers
Junior Member
 
Join Date: Apr 2011
Posts: 11
Default

well, i'll be looking forward to getting a peek of the source. glad to see i'm not the only one interested in porting it to x86! a friend of mine that hangs out on my IRC server often talks of wanting to port SMB1's source to x86, i'm sure he'd be just as interested in SMB3. perhaps the three of us could collaborate.

he's very good with 6502 assembly, and knows a little x86 as well. i'm good with both. i've written CPU emulators for both chips actually.

i'm interested in what the minimum x86 system to run a port smoothly would be. obviously, even a 4.77 MHz 8088 will put the NES CPU to shame but the killer is going to be the graphics. the NES has a nice all-hardware tile/sprite processor, and of course a VGA card does not so it will eat a good chunk of CPU cycles to software-render.

the old commander keen games proved you can pull off smooth SMB-like side scrolling action on an 8088, though.. so with some slick assembly routines i wouldn't be surprised if we could do something similar with an SMB3 port. i bet we could pull it off on a low-end 286.

Last edited by Mike Chambers; 02-24-2012 at 09:49 AM.
Mike Chambers is offline   Reply With Quote
Old 02-24-2012, 04:32 PM   #5
southbird
Junior Member
 
Join Date: Sep 2009
Posts: 9
Default

Quote:
Originally Posted by Mike Chambers View Post
well, i'll be looking forward to getting a peek of the source. glad to see i'm not the only one interested in porting it to x86! a friend of mine that hangs out on my IRC server often talks of wanting to port SMB1's source to x86, i'm sure he'd be just as interested in SMB3. perhaps the three of us could collaborate.

he's very good with 6502 assembly, and knows a little x86 as well. i'm good with both. i've written CPU emulators for both chips actually.
I imagine the sanest thing would be some kind of automatic conversion with post-cleanup. I figure there's enough correlation between the way a 6502 and 8086 operate that it would be fairly feasible to do a lot of it that way. There's only a few fringe cases on how status flags are set etc. that might cause some real concern.


Quote:
i'm interested in what the minimum x86 system to run a port smoothly would be. obviously, even a 4.77 MHz 8088 will put the NES CPU to shame but the killer is going to be the graphics. the NES has a nice all-hardware tile/sprite processor, and of course a VGA card does not so it will eat a good chunk of CPU cycles to software-render.
Yeah I've thought about this a lot too... there's really no good way to do graphics on an original IBM PC/XT because of the lack of video acceleration coupled with the very limited bandwidth of the 8-bit data bus. Ideally for full effect you'd pull something off that ran on an original CGA of course which is barely more than a memory board tied to a CRT controller.

Quote:
the old commander keen games proved you can pull off smooth SMB-like side scrolling action on an 8088, though.. so with some slick assembly routines i wouldn't be surprised if we could do something similar with an SMB3 port. i bet we could pull it off on a low-end 286.
286 is more likely. I'm not really sure how to do it with sub-EGA though. CGA doesn't have enough memory for page flipping like an upgraded EGA or any VGA would. How they pulled it off in Keen I have no idea. Someone sent me his really fast CGA text-mode writer assembler that could push one word per horizontal blank and 470 words per vertical. (Being in the blank period of course avoids the CGA snow issue.) But given full-screen CGA in 4-color mode requires 16,000 bytes (320 * 0.25 bytes/pix * 200), we're far short of a full screen refresh. I don't know if there's any way to tweak the system and fake out the CGA to using another pool of memory or something imaginative like that, but I would doubt it.


EDIT: ... having said that, we don't really NEED a FULL screen refresh because of the NES's limited resolution coupled with the perpetual status bar. The actual resolution is something more like 256 x 208, which brings down the memory count to more like 13312 bytes. So if we can move a word per h-blank, we'd get 416 bytes, and then 470 * 2 = 940 bytes ... total of 1356 bytes per refresh based on that code. There might be some optimizations here or there, but for anything close to a decent framerate we're going to have dig deeper I think.

Last edited by southbird; 02-24-2012 at 04:38 PM.
southbird is offline   Reply With Quote
Old 02-26-2012, 03:47 AM   #6
southbird
Junior Member
 
Join Date: Sep 2009
Posts: 9
Default

Disassembly and documentation is now uploaded. Let me know if anything is really wrong with it; I spent 9 hours on a Saturday on it and just wanted to get it up there, so something might be wrong. Just let me know.
southbird is offline   Reply With Quote
Old 06-05-2014, 03:39 PM   #7
southbird
Junior Member
 
Join Date: Sep 2009
Posts: 9
Default

Bumping just to note that it's finished and released. I probably should have posted here more often.
southbird is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 10:09 AM.

Contact Us - Zophar's Domain - Archive - Top

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.