mupen64plus / mupen64plus-core

Core module of the Mupen64Plus project
1.3k stars 257 forks source link

General Transfer Pak Issues #688

Open Yersho opened 4 years ago

Yersho commented 4 years ago

I have encountered multiple problems with the Transfer Pak emulation that I feel it better to list them all out here than make a post for each individual issue. For reference this is all on the Windows 32bit version of the 2.5.9 release of Mupen64plus. I will include reference pictures of issues occurring in the console for a visual aid and proof of happening when needed. I have tried multiple combinations of plugins, (stock rsp and rsp-cxd4, GLideN64, and Angrylion RDP Plus) and pure interpreter and DynaRec with all having the same results. I will also mention testing on the latest developmental build of Project 64 to see what happens there and what doesn't although I don't know how useful this info is.

  1. Failure to locate Gameboy cartridge rom and Gameboy cartridge ram. This issue is a simple one. If a rom and/or ram has certain characters in it (for example, the "é" character) Mupen64plus will fail to detect the rom/ram. I don't know what other characters or if any other characters at all cause this issue as I don't have the time to go through the entire character map for Windows but due to one failing I feel it would be safe to assume more characters will cause the error. When testing on the latest developmental build of Project 64, there seems to be no problem as it can detect both rom and ram with the "é" character. gameboy name read error

  2. "Core Warning: Trying to read from non enabled GB ram 0000" and "Core Warning: Invalid cart write (MBC5): 6000" When loading Gameboy ram into Mupen64plus, the first error I get is "Core Warning: Trying to read from non enabled GB ram 0000". Now I know my ram file is valid as multiple Gameboy emulators (Sameboy, BGB, and mGBA were able to read the ram just fine. Also ram files made from all these emulators have lead to the same error. After this error, the error "Core Warning: Invalid cart write (MBC5): 6000" when I assume Mupen64plus tries to write something to the ram file of the Gameboy game. When testing with Pokémon Yellow in Stadium 2, any changes made to my PC, pokémon party, and items were not saved. Also the Gameboy Tower just crashes after trying to load the Gameboy game to be played in game. When testing in Project 64, all changes to the PC, pokémon party, and items were saved. Additionally the Gameboy Tower does in Project 64 work however the emulator is brought to a crawl once it loads, going less than 1 frame a second. Worth mentioning that in Pokémon Stadium 1 in Project 64, the Gameboy Tower also crashes the emulator. Non enabled GB RAM 0000 and Invalid cart write (MBC5) - 6000

fzurita commented 4 years ago

@bsmiles32 Same issue in Android.

Mastergatto commented 4 years ago

I have encountered multiple problems with the Transfer Pak emulation that I feel it better to list them all out here than make a post for each individual issue.

  1. Failure to locate Gameboy cartridge rom and Gameboy cartridge ram. This issue is a simple one. If a rom and/or ram has certain characters in it (for example, the "é" character) Mupen64plus will fail to detect the rom/ram. I don't know what other characters or if any other characters at all cause this issue as I don't have the time to go through the entire character map for Windows but due to one failing I feel it would be safe to assume more characters will cause the error. When testing on the latest developmental build of Project 64, there seems to be no problem as it can detect both rom and ram with the "é" character.

Mupen64plus' odd handling of strings in a struct is also giving me a headache, I couldn't make Transferpak/64DD work on my Python frontend without it segfaulting or corrupting the memory. See #525 .

I feel there must be a better solution for the TransferPak/64DD support.

HilbertIdeals5 commented 3 months ago

Is this issue still present, the one about the Transfer Pak not saving data to a Game Boy save?? I'm using version 2.5.9, but I wonder if the state of things has changed after 5 years.