News: 11 March 2016 - Forum Rules

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - dACE

Pages: 1 ... 12 13 14 15 16 [17] 18
Yeah - I'm giving up on this one...

Nobody except for Nagato extended me any help whatsoever and the current maintainer of nesDS, mr. huiminghao, does not know that 'his' own source-code for mapper 5 (MMC5) is a direct port from pocketNES!!

A couple of notes if anybody want's to pick this up in the future:

- The source of nesDS is available here:

- The source of Fceux is available here:

- The complete environment for building the source of nesDS is availble here:

- The latest by nesDS supported version of devKitARM is availble here:

To recreate whats messed up with 'Zelda - The Legend of Link' in nesDS on windows emulators like Nestopia/Fceux you only have to change the 6th byte in the romheader from 80 (1024kb CHR-ROM) to 20 (256Kb CHR-ROM).

What bothers me the most is that it seems so solvable, if I only knew more Assembler maybe I could been able to solve it myself.


Thanks for the tip Nagato, but the change you proposed alone didn't fix it.

Heck - propably none of the Assembler I have written is any good, I only know it passes through the syntax validation.

Snarfblam is probably right, there must be changes made to other parts of the code as well.

The next step should be to figure out how much storage is set aside for the PRG-ROM and the CHR-ROM in the source of nesDS (which by the way should be almost identical in that aspect to the source of PocketNES).

According to the specs of mapper MMC5 ( it should be 1MB each.


So I searched the source of nesDS and found the following in rompatch.c

Code: [Select]
void romcorrect(char *s)
unsigned char *rom = (unsigned char *)s;
[b]int prgsize = rom[4] * 16 * 1024;[/b]
[b]int chrsize = rom[5] * 8 * 1024;[/b]
int crcall = romcrc(rom + 16, prgsize + chrsize);
int crc = romcrc(rom + 16, prgsize);

Doesn't it at least appear to be large enough PRG-ROM and the CHR-ROM already defined in the source?


Browsed through the source of Nestopia and the implementation of MMC5 (located in NstBoardMmc5.cpp).
I found the following regarding special treatment of register x5130:

Code: [Select]
data = (data & Regs::CHR_HIGH) << 6;

if (banks.chrHigh != data)
banks.chrHigh = data;
for (uint i=0; i < 8; ++i)
banks.chrA[i] = data[7+i] | (data[19+(i/4)] & Regs::CHR_HIGH) << 8;

for (uint i=0; i < 4; ++i)
banks.chrB[i] = data[15+i] | (data[21+(i/4)] & Regs::CHR_HIGH) << 8;


You are probably right snarfblam - but what do you mean with
FCEUX simply modifies a variable that is used elsewhere

In the switch statement in FCEUX, the arrays CHRBanksA[A & 7] and CHRBanksB[A & 3] are assigned a value. A value that is adjusted, depending on the variable MMC50x5130 - that is also assigned in the very same switch statement.

So what variable is set and used elsewhere in the source of the mapper in FCEUX? What am I missing...?

Regarding the size of CHR used in the nesDS mapper - the following code appear in map5.s:

Code: [Select]
and r0,r0,#0x03
strb_ r0,chrsize
b mmc5chrb

I understod that as the size of the CHR was read from the actual ROM and placed in variable chrsize.

Is that also a misunderstanding of mine - knowing so very little Assembler?



Hopefully you already downloaded and played the latest beta release of the ultimate NES hack: Zelda - The Legend of Link:

I have been looking into why 'Zelda - The Legend of Link' does NOT run properly on the DS emulator nesDS. It seems as if it fit the profile of what is described by the author:

"There is a fast way to learn if my rom will play perfectly on an emulator you use.
Watch the intro after the title screen fades away. I have a golden scroll moving up the screen.
If that scroll & text comes up garbage, then you should stop playing unfortunately.

This is because the emulator you are using, is not utilizing the MMC5 register $5130 correctly.

I perform chr swaps for 3 specific things, the intro, a mini game, and the Ganon fight.
If you continue to play the game with the garbaged gfx, it will obviously look bad, and it might even crash."

Since the emulator FCEUX does handle the register in question correctly, I did a comparison of the source-code between the two.

Here is a screen-shot of the file mmc5.cpp from the source of FCEUX (

And here is the corresponding code of map5.s from the source of nesDS (

So, if I understand it correctly, it is a matter of translating the C-code below into Assembler, in a way that fit the rest of the Assembler code for nesDS:

Code: [Select]
CHRBanksA[A & 7] = V | ((MMC50x5130 & 0x3) << 8);
Is anybody skilled enough in Assembler to 'fix' nesDS?


This is what I've tried - so far:

1. Adding another variable, called mmc50x5130:
Line 33:
mmc50x5130 = mapperdata+25

2. Storing the value of address x5130:
Line 293:
   and r0,r0,#0x03
   strb r0,mmc50x5130

3. Modifying the sprite section:
Line 159:
_20: @ For sprites.
   ldrb_ r1,mmc50x5130
   mov   r1,r1,lsl#8
   orr   r2,r2,r1

   mov r1,#0
   strb_ r1,chrbank
   adrl_ r1,chrpage0
   sub r2,r2,#0x20
   strb r0,[r1,r2]

4. Modifying the background section:
Line 229:
_28: @ For background.
   ldrb_ r1,mmc50x5130
   mov   r1,r1,lsl#8
   orr   r2,r2,r1

   mov r1,#1
   strb_ r1,chrbank
   adrl_ r1,chrpage0
   sub r2,r2,#0x20
   strb r0,[r1,r2]

Nedless to say - that didn't all.
In fact - I made it worse, since now I get the 'red screen of death'.

At least another MMC5 game, Castlevania 3, seemed unaffected by my feeble attempts...


ROM Hacking Discussion / Re: WANTED: Morricone Music in GunSmoke
« on: May 13, 2014, 11:26:17 am »
Here is a teaser to get the hype going:

Please note that I manually pieced the above anim-gif together - it isn't 100% accurate to the NES intro.

Now - imagine this intro with revised text and set to a Morricone tune....


ROM Hacking Discussion / WANTED: Morricone Music in GunSmoke
« on: May 12, 2014, 04:26:16 am »
Got bored and started to tinker with the graphics in GunSmoke.

So I updated some power-ups items and then got the idea to replace the cowboy west with a way cooler poncho
- like the one Clint was sporting back in the day.

After editing the in-game character, the intro and the outro it struck me...

- How epic it would be to include some music from the iconic soundtrack from the 'Dollar-triology' (

Don't get me wrong - I think the in-game music in GunSmoke for NES is great.

I ONLY want to replace the intro and outro music with some Morricone tunes, especially one/two of the following:

- The good, the bad & the ugly (theme):
- Ecstacy of goold (tGtBtU):
- For a few dollars more (theme)
- For a fistful of dollars (titoli)

But... I don't have the slightest idea how to do it!

So - If you too share the dream of a spaghetti western NES game AND have the skills to compose and insert music in a CapCom game:

Stand and deliver!


ROM Hacking Discussion / Re: Metroid Map and Saving Hack
« on: April 24, 2014, 09:36:44 am »
Nice to hear you appreciate it!

I think the easiest way of adding automapper and wall-jumping to Metroid mOTHER is to wait until snarfblam releases a new version of his hack.

Then you would make a 'diff-patch' between his latest version and the one I used (version 0.3) and apply that patch on Metroid mOTHER. If you are lucky enough - it will not mess something else up and you are good to go.

If that works (without any/to much manual adjustments) I'll might consider to update Metroid mOTHER with those features.

As for minor adjustments like:
- Starting with 99 in energy
- Not warn until energy drops below 10 instead of 16

If anybody can investigate what hex-values to change (and what to change them into) OR supplying pathes that achieves this on a expanded Metroid rom - I might consider to make them a part of such a update too.


ROM Hacking Discussion / Re: Metroid Map and Saving Hack
« on: April 21, 2014, 09:26:59 am »
I'll make a serious effort in uploading the hack using FileTrip as host for the files - after I have had some lunch.

In case anyone was wondering over the title - mOTHER - it can be reffering to a number of things:

- a play on words with another (in)famous entry in the metroid series
- to the brain that is the mission to destroy
- to the fact that the game is the origin of the series

But I prefer another reference - the fact that this hack is a compilation of the work of OTHER's.

I will try my best of making it obvious, in my upload, that my part has been to make the individual hacks work together and that all credits for the actual content should go to the respective authors of the individual hacks.

Snarfblam, Infinity's End and DemickXII are the true creators - I'm just the guy who bundled their hard work together.


April 21, 2014, 11:26:29 am - (Auto Merged - Double Posts are not allowed before 7 days.)
Ended up rejecting FileTrip - since that did not work properly the last time (when submitting the hack: Kid Icarus - Retold).

I used, as suggested by this site, dropBox. That worked fine for the actual zip-archive and the readMe BUT not at all for the screen-shots. I couldn't manage to get a clean URL that passed the verification for image-links...


So I tried Imgur for the images - that didn't work... at all. So then I tried Photobucket - which did work...for the png images. But since I wanted to upload a gif (to show of the fancy animation stuff) I had to look elsewhere.


Finally managed to upload the images to TinyPic and submitted the hack. Nedless to say - the submit routine could be improved....

It is now in the queue to be approved (or disapproved).


ROM Hacking Discussion / Re: Metroid Map and Saving Hack
« on: April 20, 2014, 05:52:48 am »
OK - then I just need a little help understanding the form for submitting hacks to this site.

Last time I uploaded a hack (Kid Icarus Retold) I obviously did it wrong and got some help from the staff.

Am I supposed to host all the files on another server and then just enter the URL's in the submit form?

Can somebody please give me some detailed instructions how to submit a hack?


ROM Hacking Discussion / Re: Metroid Map and Saving Hack
« on: April 19, 2014, 05:54:20 pm »
Actually - I have made such a's called mOTHER!

It combines the hacks and features:

Metroid Plus (v 0.3)
 - Minimap
 - Savefiles
 - Beamstacking
 - Better Icebeam and bombs

 - Nicer titlescreen
 - Nicer endings
 - Updated run animation
 - Updated player sprite (suited and suitless)
 - Updated enemy sprites
 - Enlarged and updated Kraid and Ridley

 - Nicer background tiles
 - Animated lava, doors and elevators
 - Animated Norfair (Ridley level)
 - Animated Tourian (Mother Brain level)

The real kicker is that it is already complete and tested.
The only thing I need is to submit it....that is...if anyone is interessted?

/dACE a.k.a Nitendo

Well - if you cant do it, you cant do it.

Thanks for giving it a shot though...for ten minutes...



Can you do the same to volume1 - with Castlevania: The Adventure?

Yes - I know it is inferior, but I need the prequel to enjoy the sequel...


ROM Hacking Discussion / Castlevania - hacking a hack
« on: December 05, 2013, 12:43:05 pm »

I've been working on a special kind or hack lately - a graphics update only reboot of Castlevania. I ended up with the idea to restore the original levels and bosses to an already hacked version of Castlevania. I chose that approach since I tought the work would be less cumbersome that way - since I Could use the great tool 'stake' to great extent.

The original hack is called 'Overflow Darkness' and I'm basically done. I say basically because I've hit a roadblock. The hacker of the 'original hack' did quite a number on Frankenstein, well actually on Igor. Instead of jumping around firing a single fireball - he floats above Frankenstein and rapid-fires Tripple fireballs!!!

If someone could help me restoring Frankenstein and Igor, on the hack 'Overflow Darkness' and letting me know how to do it - I would be most pleased. It would be enough to restore the movement pattern - I've alredy done the new sprites.

P.S. Check out my first 'reboot' called Kid Icarus: ReTold - If you haven't already D.S.

Br, dACE a.k.a. Nitendo

December 06, 2013, 08:18:08 am - (Auto Merged - Double Posts are not allowed before 7 days.)

Thought I should share what I got so far:

- The hack seem to have shifted some of the pointers 28 or 30 bytes forward - which makes it hard to compare the differences to the original in a hex editor.

- I managed to stop the sprite flickering by changing the value '67' to '6F' at address: x1E9B6

- The most promising offset seems to be x15944 (corresponds to address x1591c in the original rom).

The address x15944 contains the values: 40 ed 4c c9. When you exchange the value '40' for '10' - Igor starts to behave somewhat similar to what he is supposed to but there are obvious glitches.

And that is about all I got I'm afraid.


Personal Projects / Re: Final Fantasy VII NES Project
« on: February 11, 2013, 02:29:27 am »
Great Lugia!

Any chance of having some enemy sprites posted as images on this forum?

I'm saving myself for when the patch is 100% done - before replaying the game...


Personal Projects / Re: Final Fantasy VII NES Project
« on: December 28, 2012, 02:26:09 am »
Great Lugia!

Since you have developed your skills during the course of this project - will you go back to the first couple of screens to reassure the quality and maybe tweak them some more? Or are they as ready as they ever going to be?

Also - did you ever managed to get somebody to help you with the enemy sprites?

Seems like that is basically whats left to update (besides the last couple of screens of course).

Looking forward to play through this game again - and I expect it will be an entirely different experience.

All the best for 2013,

Personal Projects / Re: Final Fantasy VII NES Project
« on: November 12, 2012, 02:53:20 am »

I’d love for someone to look-into the enemy sprite graphics being messed up.

As far as I can see it only happens when there are 3 different kinds of enemies present at once (but this might be an assumption).
Since the sprites are messed up with bits and pieces of the enemy’s translated name – it would appear as if the replacement of the Chinese characters have something to do with the messed up graphics?

Can anybody confirm that the enemy sprites are being scrambled on the Chinese original cart/rom?
If so – are the enemy sprites being corrupted with what seems to be Chinese characters?

Keep the momentum going Lugia!


Personal Projects / Re: Final Fantasy VII NES Project
« on: October 02, 2012, 02:49:22 am »
Looking forward to this! I haven't played the PS1 version so I'm eager to try this when its done.

Like Garoth said, the readability (or clarity) of the characters is quite difficult to discern because every tile has huge contrast in itself — characters and collision objects need the most contrast/focus, whereas things you walk on don't need as much. I'd suggest lowering the contrast of at least the floor tiles, which in some cases could mean just taking out the black and replacing it with a softer colour.

I made a quick mockup to show you how the clarity improves when just getting rid of the black in the floor tile. It's now not so tough to tell apart the walls and characters from the floor!

I'll have to agree with alastair - but I wouldn't have if he hadn't proven it with a mock-up...


Personal Projects / Re: Final Fantasy VII NES Project
« on: September 10, 2012, 03:16:54 am »
Whats up with the bricks on the upper right corner? I don't remember that..

Please follow the link Lugia presented before and see for yourself:


Personal Projects / Re: Final Fantasy VII NES Project
« on: January 19, 2012, 04:55:47 am »
Such drama!  :)

Have to agree with Wasteland though - what's the harm in releasing already patched roms?
Is it a clever way of sidetrack the 'law' by making the downloader assemble the parts into something 'illegal' himself?

Also - I love the virgin reference. I’m not entirely sure, since this is a concept that is quite new to me, BUT Wasteland is most likely a TROLL.

...unless she’s pretty – then perhaps... I could plow the Wasteland and lose my virginity?  ;)

Personal Projects / Re: Final Fantasy VII NES Project
« on: November 25, 2011, 02:55:18 am »
A couple of suggestions:

- Could you perhaps add a original screen-shot of all screens you have touched up? - that way it will be like one of those BEFORE & AFTER commercials.
- Could you perhaps add a percentage OR "screen ?? of ??? done"? - to give your fans a notion of how the work is progressing towards finalization.

Just finished the translated version of the ROM myself and one thing I really think the remake needs - is a better ending.
At least the game should leave you with a nice ending picture and some suitable music - not just throw you back to the game menu.
After all - it takes some time to get there, where is the reward for doing so?

Keep the momentum going!

Pages: 1 ... 12 13 14 15 16 [17] 18