Points of Required Attention™
Smaghetti, a new Super Mario Advance 4 editor, is currently in development! Check out the thread HERE!

Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,314,650
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 03-29-24 12:36 AM
Guest: Register | Login

0 users currently in ROM Hacking | 2 guests | 1 bot

Main - ROM Hacking - Ghosts'n Goblins MMC3 Conversion Patch (UPDATE: Fixed) New thread | New reply


RetroRain
Posted on 09-17-13 04:30 AM (rev. 2 of 11-15-13 11:35 PM) Link | Quote | ID: 154794


Fuzz Ball
Level: 66

Posts: 644/994
EXP: 2432464
Next: 29387

Since: 09-30-07

Last post: 1906 days
Last view: 929 days
I have successfully converted Ghost'n Goblins for the NES, to Mapper 4 - MMC3. I wanted to do something on my own, without help from anyone. And for the most part, I succeeded.

The game runs fine, however, due to the conversion, there are a couple of graphical glitches. But, they are not really glitches. What it is, is that the proper PRG-RAM isn't being loaded into the PPU. However, this can not be avoided. I have messed with this for quite a few hours. It seems to be a side-effect of switching the mapper over. Other than the lives screen, the scrolling map screen, and the game over screen, the game runs fine.



If you happen to find out what is causing the improper PRG to load, please let me know! I changed all of the ROM bank switching addresses, and for some reason the problem persists.

By the way, there is only one spot in the hard-wired bank that has free-space you can use. It is at $F1A3, incase you want to know. Placing the bank-swap routine at $CA76 or $C84C causes graphical problems on the title screen and on the lives screen if I recall correctly.

I think you can get around these glitches with some hacking, or if you decide to convert the game to CHR-ROM.

Anyway, here is the patch!

EDIT - 11/15/13

http://acmlm.kafuka.org/uploader/get.php?id=4472 (Old Patch - DELETED)

http://acmlm.kafuka.org/uploader/get.php?id=4487 (New Patch, no problems)

____________________
My YouTube Channel

infidelity
Posted on 09-17-13 12:40 PM Link | Quote | ID: 154798


Fuzz Ball
Level: 66

Posts: 390/968
EXP: 2362610
Next: 99241

Since: 05-24-07

Last post: 930 days
Last view: 786 days
Great work on converting mappers solo! :-)

I ran into graphical issues when my work was running on nestopia & nintendulator, but not fceux which is my emu of choice.

I dont know what mapper you converted from, but id like to share my info on what I did for conversions to mmc3.

For the bankswap routine, I use the one found in Super Mario Bros 2. Its never failed me.

0A 48 A906 8D0080 68 8D0180 0901 48 A907 8D0080 68 8D0180 60

Then what I do is within the reset vector, I set almost all the mmc3 registers to 00. I had issues with registers $E000 $E001, where the game wouldnt boot, so I just left those out, and the game booted.

This next part is crucial, especially for running the game on nintendulator, nestopia, or even a real cartridge.

You need to set up $8000 & $8001 for proper usage of chr. I have this code in the reset vector as well. If you dont have room, what you will have to do is perform a bankswap near the end of the reset vector, to somewhere else in the rom that had free space, to load up the routine.

A205 8E0080 BD####(address that loads table for chr setup) 8D0180 CA 10F4

This is what BD#### needs to load.

00 02 04 05 06 07

Anyways, congrats again! :-)

Superjustinbros
Posted on 09-20-13 05:23 AM Link | Quote | ID: 154805


Koopa
Level: 24

Posts: 51/105
EXP: 74755
Next: 3370

Since: 01-09-11
From: United States

Last post: 3170 days
Last view: 2418 days
I hope with this conversion being successful, it'll influence other MMC1 and MMC2 games to be upgraded to MMC3.

infidelity
Posted on 09-20-13 06:07 PM Link | Quote | ID: 154808


Fuzz Ball
Level: 66

Posts: 392/968
EXP: 2362610
Next: 99241

Since: 05-24-07

Last post: 930 days
Last view: 786 days
MMC1 is tricky with some games. I tried my hardest to convert whichever ones were favorites of mine I grew up with, and on a good amount of them, I fell short of success.

One thing is setting up custom chr page loading routines. From the games ive worked with, MMC1 loads 256 chr tiles as 1 whole page. Whereas MMC3 loads and stores chr differently due to the multiple mapper registers of the MMC3 mapper. MMC1 will typicaly have 2 registers in ram that are for all bg and all sprite, and if you got an irq going on, youll have another register loading the chr page for the irq split.

I created a custom routine for converting a games original MMC1 chr page setup, to a proper MMC3 chr page setup, (which depends on what chr setup you have going on, aka, bg has 2 sets of chr, sprite with 4, or, bg has 4 sets of chr, sprite with 2.)

At some point I will upload my guide on how I do conversions, I havent been home in a couple days to upload my docs.

Im on no way an expert, but simple MMC1 games ive had success. The most difficult was the success of converting Ninja Gaiden to MMC3.

Anywho, its great seeing mapper conversions taking place, its a great way of knowing and understanding mappers.

-infidelity

RetroRain
Posted on 11-15-13 11:26 PM Link | Quote | ID: 155128


Fuzz Ball
Level: 66

Posts: 673/994
EXP: 2432464
Next: 29387

Since: 09-30-07

Last post: 1906 days
Last view: 929 days
With the fix of the bankswitch code, I have updated my Ghosts n' Goblins MMC3 Conversion Patch.

It was in fact the error in the bankswitch code which was causing the graphical problems, and possibly other problems.

If you have the old patch, toss it.

This is the new one.

http://acmlm.kafuka.org/uploader/get.php?id=4487

____________________
My YouTube Channel

Main - ROM Hacking - Ghosts'n Goblins MMC3 Conversion Patch (UPDATE: Fixed) New thread | New reply

Acmlmboard 2.1+4δ (2023-01-15)
© 2005-2023 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 0.031 seconds. (340KB of memory used)
MySQL - queries: 57, rows: 82/82, time: 0.016 seconds.