Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nestopia native game genie emulation #55

Closed
joepogo opened this issue Nov 24, 2013 · 5 comments
Closed

nestopia native game genie emulation #55

joepogo opened this issue Nov 24, 2013 · 5 comments

Comments

@joepogo
Copy link
Contributor

joepogo commented Nov 24, 2013

Great work on continuing this emulator! I Have a question/issue. Im trying to work into the source for nestopia 1.40 to utilize game genie emulation the way fce does where you rename the game genie bios to gg.rom and place it in the bios folder and be able to enable/load game genie and then start up a rom and put in your codes and then the rom loads just like the old days.

I was just wondering if its feasible to add this into nestopia, alot of us older gamers like the experience. Hopefully i put this in the right place as i would have mailed you on here but do not know how to. I work with the xbox nestopia port and nestopia 1.40pc source so i follow you guys closely when a change is made. :) Any changes you guys make i then have to add the xbox port as well.

Hopefully you will have mercy on my soul and accept as my coding skills for something of this magnitude are not high enough yet. :)

@rdanbrook
Copy link
Member

I don't have a problem adding this feature, but I probably won't be coding it personally, because I'm focussing on other areas right now (cross-platform universality plus sound, which can induce massive headaches). Of course, I'm always open to pull requests, assuming the code is clean and non-buggy. That said, if I ever have a eureka moment and find a simple way to implement this I may do it.

I am interested in hearing more about the Xbox port. Is this another fork? If so, I wouldn't mind keeping up with any core changes there myself ;). The goal of this project is to incorporate any positive changes from the wider community after all.

@joepogo
Copy link
Contributor Author

joepogo commented Nov 26, 2013

Thank you so much for the response. Im glad to hear it. I think an easy way to do this would be to Run the GG ROM and when it does the write to switch to the game ROM, save the GG patch chip register writes, load the actual game ROM, then decode the patch chip writes into GG codes that the emulator uses, and run the game as if the user entered them using the emulator's usual UI. I think this method would be easier and im glad to see you are thinking of adding this. Thanks again for even listening to me.

Concering the xbox port, yes it runs very well, and i am working on setting up a repository for it as we speak. I last released version 1.4 last year and have been mainly working on the xbox side of things. Im not sure if any of the changes i have made will be of benefit to you guys since i apply actual core updates from the professionals who post their changes, pretty much what you guys have is what i have, but you can always check when i get it up and see if anything helps. :) My codebase is based off of 1.40 with minimal changes. Ill shoot you a link once i get it all set up. :)

@joepogo
Copy link
Contributor Author

joepogo commented Nov 29, 2013

There is a thread regarding this in the nesdev forums. A user posted some source that states this is pretty easy to do, relevant link here: w/source d/l

http://forums.nesdev.com/viewtopic.php?f=3&t=9704&sid=ebea0492ede7a2bf16a0ff9e7662b625&start=15

@joepogo
Copy link
Contributor Author

joepogo commented Feb 18, 2014

Ok just an update to this,

Initially i asked about this due to being able to natively emulate the game genie, but what i was really trying to do is figure out why nestopia (when using game genie codes) should mess up sound on games like megaman 2 when game genie codes are activated.

The question is can we fix it do this? Maybe not add native game genie emulation but at least have it affect sound on the games like a real game genie did. The reason why it does not is because of:

"Because the Game Genie bios writes to the sweep registers to enable sweep, and Megaman 2 never clears them. For the emulators which bring up the actual Game Genie rom, it's executing all the code of a real Game Genie, so the sweep registers get written to."

SO is there a easy way to make it where it is accurate with the way a real genie affected sound on some games on a real nes?

"The Genie BIOS writes these values:
$09 → $4015
$0E → $400E
$04 → $400F
$25, $30 → $400C
$24, $30 → $4000
$F9 → $4001"
And it writes various values to $4002 and $4003, depending on what was the last letter entered was.

Nestopia resets all the registers in NstApu.cpp , but I have to admit I have no idea where it specifies the power-on values. It probably assumes they're all zero. You should be able to just modify the various Reset methods."

@rdanbrook
Copy link
Member

It has been added as an API call.

rdanbrook added a commit that referenced this issue Mar 26, 2017
Silence several -Wswitch warnings
rdanbrook added a commit that referenced this issue Aug 31, 2019
Silence several -Wswitch warnings
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants