Page 1 of 2

Not possible to convert to GameGenie Codes? (Maniac Mansion)

Posted: Tue Dec 04, 2018 2:36 pm
by gukingofheart
Please check all my posts below for update info & attachments .. I want new info, not old info please
Been watching some tutorials for how to make GameGenie codes, and decided to make some simple ones for Maniac Mansion.
I figured, the easiest codes would be to have doors unlocked.
I found the addresses, and they work fine... but when I converted to GameGenie, the addresses got changed and were no longer a match.
Are some addresses not possible to convert to GameGenie at all?

----------------------
6647:8F - Front Door
664F:8F - Gargoyale
66A9:CF - Jailcell
6687:8F - Yellow Door
6695:8F - Pool Drained
663F:CF & 65F3:CF - Buggy grating, maybe remove bush
66AD:8F - Inner lab door


Garage Door opened
669A:2F
669B:2F
669C:2F
(optional)
669D:2F
669E:2F
669F:2F

6163:01 - No need to feed tenticle
--------------------------------

Any clue what's wrong, and what I can do next?

Re: Not possible to convert to GameGenie Codes? (Maniac Mans

Posted: Tue Dec 04, 2018 2:39 pm
by lidnariq
CPU addresses below $8000 cannot be changed by the Game Genie.

(ROM addresses usually can, depending on how the bankswitching works)

Re: Not possible to convert to GameGenie Codes? (Maniac Mans

Posted: Tue Dec 04, 2018 3:04 pm
by gukingofheart
So, what you're saying is it's a complete dead-end, and there's no other ways to keep the doors open through a gamegenie even by going back in the memory.

If so, I'd be fine with that.. I'm working on some cheat videos, and didn't want to showcase address codes, but if I have to, then I have to.

Re: Not possible to convert to GameGenie Codes? (Maniac Mans

Posted: Tue Dec 04, 2018 3:05 pm
by lidnariq
Because it's MMC1, you should be able to figure out where that code is in ROM before it's copied to RAM. Assuming that's code that you're replacing.

Re: Not possible to convert to GameGenie Codes? (Maniac Mans

Posted: Tue Dec 04, 2018 3:14 pm
by gukingofheart
The example tutorials I watched don't even explain the below 8000 rule.
Maybe images can help you figure out if there's a next step.

Re: Not possible to convert to GameGenie Codes? (Maniac Mans

Posted: Tue Dec 04, 2018 3:18 pm
by lidnariq
Look at the previous instructions that load the value in A that is then stored to this copy in RAM. Use the game genie to conditionally patch that original location that it's copied from.

Re: Not possible to convert to GameGenie Codes? (Maniac Mans

Posted: Tue Dec 04, 2018 3:25 pm
by gukingofheart
How???
Told you, the video guide is so limited. I need more examples that I can learn from.
Keyword is "examples"

I can supply more pics, if you tell me what I should take a pic of!

edit: maybe this pic will help?

Re: Not possible to convert to GameGenie Codes? (Maniac Mans

Posted: Tue Dec 04, 2018 3:29 pm
by tokumaru
Maniac Mansion has RAM at $6000-$7FFF, and the Game Genie can only patch ROM. The good news is that while you can't patch RAM, you can patch the code in ROM that sets up the RAM, so you can set breakpoints on writes to those addresses, and then you can figure out new codes to modify the code in ROM so that it writes your desired values to RAM instead of the original values.

Re: Not possible to convert to GameGenie Codes? (Maniac Mans

Posted: Tue Dec 04, 2018 3:40 pm
by gukingofheart
what address do I add to the breakpoint?

I tried C717, and tried "execute" this time, because "write" did nothing
does any of this info help?

Re: Not possible to convert to GameGenie Codes? (Maniac Mans

Posted: Tue Dec 04, 2018 3:46 pm
by lidnariq
Scroll up in the instruction listing on the left to see what happened before the instruction at $C717

Re: Not possible to convert to GameGenie Codes? (Maniac Mans

Posted: Tue Dec 04, 2018 3:56 pm
by gukingofheart
Went back to searching 6647 "Write", and the scrolled up.
Wasn't sure if I had to search 6647 or c717, etc.. as the examples did not cover this stuff

Re: Not possible to convert to GameGenie Codes? (Maniac Mans

Posted: Tue Dec 04, 2018 4:24 pm
by gukingofheart
Please don't quit on me.
I'm sorry I didn't post all the images from the start, but I really would love to have more examples, and if I can solve this problem, then I save all the pics, write down all the text, so I'll have a general idea of what to do for other games with simple problems.

PS. sorry about the double post, if that's an issue.

Re: Not possible to convert to GameGenie Codes? (Maniac Mans

Posted: Tue Dec 04, 2018 5:33 pm
by lidnariq
So, taking a step back ...

Maniac Mansion actually runs on LucasArts' interpreted language system; as such, it's the only NES game that one can play using ScummVM instead of an NES emulator.

If you want certain things to be pre-opened or pre-whatevered, you need to change either where those variables are initialized or where they're tested.



The code that you've identified at $C715 is this tiny fragment

Code: Select all

 LDY #0
 STA ($E9),Y
 RTS
, assuredly part of the SCUMM interpreter rather than anything more useful. To patch the game, you need to find the corresponding chunk of the SCUMM script that ultimately called it and adjust that. There's several ways you could dig into this: You could look for any tools that will let you deal with SCUMM scripts, identify the corresponding scripts, and then the corresponding locations in ROM. Alternatively, you could dig up through the NES's SCUMM interpreter until you can figure out the same address. Once you have that address, making the patch is easy.

Regardless of approach, you'll need to become more familiar in general with either the NES's CPU or SCUMM in order to figure out how to make the patch: it's complex enough that this isn't a task that I'd enjoy guiding you though all the various steps.

Re: Not possible to convert to GameGenie Codes? (Maniac Mans

Posted: Tue Dec 04, 2018 5:44 pm
by gukingofheart
Would Retroarch work?
Or what program should I even get?
I at least want to know for the future, so I can learn something new.


edit: Thanks for all the help. will take a break on this for today

Re: Not possible to convert to GameGenie Codes? (Maniac Mans

Posted: Tue Dec 04, 2018 5:55 pm
by lidnariq
Both FCEUX's and Mesen's debuggers are adequate to this task. I haven't used RetroArch enough to know.