The music is gorgeous! This is probably the first time someone has made VRC7 music entirely in assembly to be used in a game. Or if not assembly, how was the music made?
Is this an original composition? Sounds like something from the SNES Fire Emblem games.
It's made using assembly based on the disassembly file by doppelganger. If anyone wants to, I could make the file open to public. This is a cover tune. The original tune is 'Tsukidokei ~Lunar Dial~', which is from Touhou.
Another update: The VRC7 music system! Please patch this to the SMB ROM and listen. http://www.bwass.org/bucket/Sys03 VRC7 Music.ips (Note that the music system still needs to be altered. Tunes besides the overworld theme are all glitched.)
Neat, this looks mighty impressive! Since you'll be using the VRC7 for audio, do you think you could use this song as a theme? It's from the Mega Drive, that like the VRC7, uses FM Synth, so it would be (hopefully) easier to replicate the bassline and the buzzy "guitars" than by using the stock 2a03 and DPCM.
Personally it would greatly spice up that Bowser fight.
First, curse the Great Firewall of China.
After several attempts I was finally able to finish the video. I might take it into consideration, but is quite unlikely as there seems to be no boss fight in my plot which suits the BGM, since my plot has a somewhat late-medieval setting and is not light-hearted.
PS: Construction of VRC7 music system is successful. Functions are being added, though process is slowed down because of the midterm.
Yes. My last hack has already included a (simple) VRC7 music system, as I said. Currently I'm constructing a much more complex VRC7 music system which can use up to 6 VRC7 channels. (That should be the 3rd system constructed.) It should not be difficult, although using more channels consumes more time and may result in more lag in certain places.
Perhaps I should find some ways to save time in other parts of code, but this is hard.
I really like what you have so far. However, I can't fathom a more epic SMB1 hack than Extra Mario Bros. If you haven't played that yet then by all means, play through that so you know what you're competing with for that title lol.
I've cleared both the bad and good endings, the Area-Sp, and collected all 20 1-UP mushrooms. And I'm fully aware of what I'm competing against. In fact, I only see one effect in Extra Mario Bros which I probably cannot make by myself(though I do have some guesses, like using an enemy and run a completely different sprite handling routine): the 'wind' effect. Well, I'm really not good at graphics, so I cannot design GFX as good as those in EMB.
SMB hacking has been going downhill since 2006 or so, that's why even after 8 years no hack can outshine EMB(titles like SMU etc are awesome but not as awesome as EMB). And I hate such fact. SMB hacking really should end with a huge bang.
Update: A new system added. Now boss fights are programmed to be very complex. Here is the video of a boss whose behaviour clearly resembles Flandre Scarlet. (This is a Chinese video site) http://v.youku.com/v_show/id_XNjMwMDk1OTYw.html
Notice: This project is not dead. Unless this notice says otherwise or if 10 years have passed since this message was written (2017), this project is ongoing and will be hosted on RHDN (probably along with other sites) when released. However, updates will not be posted on this page regularly anymore. If you wish to join, contact me. This is not due to any grudge towards the site (I have mostly none).
Political views aside, this slogan is good for memetic use.
The short version: This Super Mario Bros. hack project, named Mario Gaiden, is meant to be as epic as possible. It's almost impossible for me to finish this project on my own, since I don't do well in coping with some aspects like graphics. What kind of things or people do I need? I need more ideas, people who draw good NES graphics, people who can help me with the story, and probably an English->Japanese translator. If someone is good at the NES chiptune, please help too! PM me if you'd like to help.
The short version doesn't look promising? Check the long version below.
Before the summer vacation in 2013 the project Rohrleitung Gate was progressing really slow due to lack of graphics. At that point, I copied the Rohrleitung Gate ROM into a new file, removed some of the effects and added some new effects. The new project was named Mario Gaiden. However, later my computer's hard disk was broken and then later I underwent a surgery. My SMB hacking projects were suspended until September. The ROM file was still yet to be recovered by then, so I started making patches for the new project. For now I've abandoned the Mario Gaiden ROM and started to use doppelganger's SMBDIS to program. (I still need to have the ROM recovered to retrieve some effects, though.)
List of effects already done in the old Mario Gaiden ROM: 1: VRC7 music, although limited to 1 channel like in Rohrleitung Gate. The music system is already a giant improvement on the SMB music system. (A new music system has been set up now.) 2: Multi-layer background, using CHR bankswitching. 3: IRQ. Now the split screen is not done by detecting sprite 0, it's done by using the IRQ system. This saves plenty of time. 4: Ground graphics forming. This was originally made by ATA, and altered by me. 5: The 'snake' effect. This is an effect used in a stage of Rohrleitung Gate. The snake goes in a fixed route. When it eats coins it grows. 6: Better usage of item attributes. One tile may appear to be tile A but function as tile B(stored in the level data).
New powerups, abilities, blocks and other minor changes / mechanics:
1: 'Soft' bridge. You can jump up onto it from below. (No demo image)
2: Megaman type cutscene. Demo:
3: Platform whose route is fixed and user-defined. Demo:
4: Boo. (The patch was updated later, this image is the demo of an older patch) Demo:
5: Special abilities, equipment etc: These are categorised into 4 categories: Ability-A (jump abilities), Ability-B (offensive abilities), Equipment, Spell Card (one shot items). Using the abilities consumes coins. Currently complete or half-complete items: AbiA: Feather (slow the descending speed down) Spin jump (graphics and mechanics incomplete) Double jump AbiB: Cloaking (injury invincibility) Starman (star invincibility) Cross (destroys normal enemies and do damage to bosses). Equip: Ether Ring (halves manacost i.e. coin cost) Speed Booster (I'm still considering adding the shinespark ability along with it) Charge Shot (Different powerups have different charge shots, for example Fiery Mario fires a charged wave) Pausing the game will let you switch abilities; Also all of these have descriptions(both serious description and memetic description). See Re#26
6: Powerups: Fiery Mario - Mostly same as the original, but Mario can shoot upwards('Technical fire' from Extra Mario Bros). Upgraded powerup creates a huge blast when the fireball explodes, killing enemies nearby. Bat Mario - Fires a larger but slower fireball, can turn into a bat and fly but this consumes coins. Upgraded powerup consumes less coins when in bat form, and automatically turns the player into a bat when he's about to fall into an abyss. Gunner Mario - Fires powerful shots in 10 directions but only on the ground. (Upgrade: Not yet designed) Ice Mario - Freezes enemies in place, frozen enemies can't harm the player but can be stepped onto. Upgraded powerup will destroy fiery enemies immediately. Ninja Mario - Wall clinging(slower descending speed in fact) and jumping. (Upgrade: None.) And probably two more to come.
7: Smart enemies setting: For example, goombas would jump if they are on the edge of a platform, and Lakitu throws spinies in a direction depending on mario's position. (No demo image)
8: The slope(only 45 degrees available). Demo:
9: Cheats: In the pause menu you can input cheats, but using one cheat would set the continue count to the maximum. Some cheats are sequence / game breaking. For example, the cheat 'AKARIN' sets the injury invincibility timer to the maximum.
System improvements: System 01: Tired of H- scrolling? We have ATA's V- scrolling. Tired of V-scrolling too? We have H+V scrolling.
(This is an experimental patch, hence the '000000' in the background.) This system has been enhanced: Now scrolling in 4 directions is possible.
Update: System 02: Boss fighting(see Re#1) Programmed boss fights System 03: VRC7 music system(see Re#13) Supports up to 6 channels, currently not many note effects are supported(unsupported: e.g. arpeggios). This has gone under a revision, but probably yet another revision is necessary for more complex music. System 04: Cutscene system(see Re#26) Very powerful in manipulating SMB mechanics, supports dialogue boxes System 05: Multi-layered map(not just background) System 06: New level data structure and loading mechanics, which allows more freedom in designing.
Other stuff mostly complete: IRQ system(which supports parallax scrolling), reworked sprites(minimum=8x16 instead of 8x8 and allows more freedom in arranging sprite slots: sprite shuffling is removed for this)
Help or ideas on any aspect is welcome. If you're interested you can even join the project.
Info about the ROM: This ROM uses Mapper 85(Konami VRC7), 4-screen mirroring, CHR ROM(not RAM). (some emulators don't support VRC7 4-screen, but according to the nesdev forum it's theoretically possible. FCEUX supports VRC7 4-screen anyway.)
For anyone who wants to design graphics for the game please be sure to read some detailed plan:
The script: W1 Cutscene: Mario goes to the castle and talks with Peach. W1: (Dawn)Plains, hills and forests. W2: (Noon)Desert land + Inside the pyramids. W3: (Day)Sky land + Paradeisos(Paradeisos looks like the Upper Kingdom in Chrono Trigger) W4: (Evening)Shimizu Town, (Night)Mountains & lakes. W5: (Dawn)Shin City, (Day)Mountains, the Great Wall, the underground ruins, the Ghost House. There is a huge tree at a certain spot, from one of the branches of which can people be HANGED. W6: (Noon--afternoon)The fort, and mountain scenery. W7: (Sunset)The drawbridge, (Evening--Night)Lava castle.
Also, if possible the post-game content would be quite large, with more sidequests and dungeons.
Do not design starry skies. The story takes place when it's rather near full moon, and when a full moon is in the sky there are few stars... Both the moon and the few stars are sprites.
Some time ago I was reverse engineering ATA's 'vertical' patch for the game Super Mario Bros. The patched game works on VNES, but it doesn't work on FCEUX or Nestopia. I used the FCEUX's debugging function, and I found that the game got stuck in the IRQ routine.
So here's the code: ;IRQ Routine ... ... LDA #$00 STA $C000 STA $C001 STA $E000 ... RTI
And the result: the IRQ routine gets executed immediately after the RTI, creating an infinite loop. Seemingly the IRQ isn't acknowledged at all--although this part of code ALWAYS gets executed.
So... Is there any problem with the code? Or, in what cases can this glitch occur?
I have broken the rules. I posted a link to hacked Rom. So has deleted the message.
1. Download: http://www.romhacking.net/utilities/581/ 2. Searching options: Separate byte: 01 3. Change options: Separate byte: 00 4. Address (10 Dec) 16 - 100 5. Button "Rechange file" 6. Button "Execute file" (before this select emulator - button "Emulator") 7. Execute file. If Mario small - go to  and change address 100-200. Step: 100, push button "> plus". And so until will find the Big Mario. (address hex 1072)
If I get you correctly... I suppose by only changing ROM $1072 from 1 to 0 you will get an imperfect solution, since when Mario dies and respawns, he will revert to small Mario again. Changing this value will also affect a variable $0757, although I have no idea what this variable affects.
Hmm. In most cases there are problems with the ROMs, but not in this case. I patched it using the correct ROM and this glitch still occurs. I suspect that the author probably edited a bad ROM, and used the correct original ROM to make the patch?? Well, the A+Start method doesn't work either. Maybe it's not the usual 0-1 glitch. If you really want to emulate the game, use VirtuaNES.
(I'm still upset about my SMB hack post being ignored...)
This is a 'check for coin block' routine. What you have to do is to insert the spike block judgement code into this routine. So this is what you have to do:
1: Jump to some free space. Remain the coin block judgement unchanged. That is, if you jumped from $DFA7 you need to write the rest of the coin block judgement code there. 2: If the block isn't a coin block, do not write CLC RTS immediately. Instead write your own spike code.
Example: ;Coin judgement fails CMP #$69 ;Which is the spike block in one of my hacks, in personal projects BNE CLCRTSCode LDX #$00 JSR $D958 ;Instant death if one touches it. Of course you can make changes here. PLA PLA RTS ;Immediately jump out of the previous routine. After all, as the player's dead, there's no point of continuing the block judgement routine. Probably PLA-PLA-LDX-JMP is also okay, but that doesn't matter much. CLCRTSCode: CLC RTS
Answers and some tricks: The SMB ROM has no free space left, and I believe it's a very bad idea to sacrifice other space(e.g. music space) for the levels. One of the most common ways to add levels is to change the mapper and expand the ROM. Expanded ROM would be rejected from the SMB Utility's ROM check. However, you can edit levels of a usual Mapper 0 ROM using SMB Utility, and then use SMB Map Importer to import the level data into the expanded ROM. ROM expansion is about assembly and bankswitching. Mappers that have the simplest bankswitching methods are the VRCx mappers I believe. (Don't use MMC1.) Although there are about 200 mappers, you don't need to memorize or even recognize all of them. Just select a mapper, find out how that mapper handles bankswitching, and then it's coding time. Mappers which generate scanline IRQs are: MMC3+, VRC3+, N106 etc; Superior mappers are VRC6+, N163, SN5B(Enhanced music), MMC5(Notable for easier 'multiplication' and enhanced music)
Crap stuff below: Well, personal opinion is quality over quantity. It's not that a huge course is bad; Extra Mario Bros has many long levels. But EMB has not only long and well-designed levels but also amazing graphics and effects. There are a great number of SMB hacks today, and level hacks are no longer fascinating unless the levels are real cool and creative. What is more important is that what you find creative might already be old-fashioned. Gain experience while hacking, and then you have good hacks. Want to learn how to expand the ROM? Go ahead, learn assembly. We need people who can handle 2A03 ASM. Soon enough you will find that using assembly, there are a lot more things to do other than expanding levels. In my community there are people who continually think of ideas like 'what if I can make reverse pipes...' and they can't. And that's a pity.
I believe that due to the game mechanics, it's highly impossible to design a puzzle-solving stage that is easy in action(correct route) but hardcore in action(other routes). Probably design stages in which multiple routes are availble, and puzzle&action are balanced?
(My computer suffers from this post reply form! I even posted an unfinished post before...)