mupen64plus / mupen64plus-video-rice

Video plugin for the Mupen64Plus v2.0 project, using OpenGL. This plugin is based on the RiceVideoLinux plugin from earlier versions of Mupen64Plus.
31 stars 40 forks source link

HarvestMoon 64 - Screen is cropped to approx 1/4 of expected size #51

Closed aaroncarsonart closed 7 years ago

aaroncarsonart commented 9 years ago

I was testing out mupen64 through OpenEmu and found that when running Harvest Moon 64, the screen is the wrong size, approximately 1/4 the expected size (in windowed and fullscreen modes). That is, the actual image is cropped, and thus part of the display is not visible. I tracked this down to using the rice video plugin. I duplicated the issues when using mupen 1.9 from EmuParadise and when using wxMupen64Plus, both when using rice (the game works perfectly using the glide plugin).

Screenshot: image

If I can provide any other info, let me know. I was wondering if this was a known issue, or if there is a specific work-around for this, as I would prefer to use OpenEmu and they only support Rice as a video plugin for Mupen 64.

Narann commented 9 years ago

Thanks for report, could you provide the MD5 of the ROM please?

Don't be too hasty for a fix but it's always a good thing to keep track of such problem. :)

aaroncarsonart commented 9 years ago

No worries, figured I would speak up to try to help where I can.

$ md5 HarvestMoon64.n64
MD5 (HarvestMoon64.n64) = 0a5d1e13b410d209835b43f2a985ef64
Narann commented 9 years ago

Thanks! mupen64plus print the md5 in its log. I think it's the same but if not, could you send it also. :)

aaroncarsonart commented 9 years ago

Oh, well I didn't even realize that! Here's the output when running mupen64plus:

Core: Goodname: Harvest Moon 64 (U) [!]
Core: Name: HARVESTMOON64
Core: MD5: 6DA848A70D83ECE130D274124760928E
Core: CRC: 98df9dfc 6606c189
Core: Imagetype: .v64 (byteswapped)
Core: Rom size: 16777216 bytes (or 16 Mb or 128 Megabits)
Core: Version: 1449
Core: Manufacturer: Nintendo
Core: Country: USA

Looks like the MDF value is different. Huh, I wonder why

ghost commented 9 years ago

md5(sum) is calculating over the raw file data. But mupen64plus is calculating over the normalized (reordered) file data. This is necessary because there are three supported file byte orderings ("file formats") which will end up as the same rom in the mupen64plus memory.

Checking the mupen64plus issue tracker (issue 435) makes me believe that the ucode used by harvest moon 64 is not (fully) supported/re-implemented by rice. The way to emulate is to either use a low level graphics plugin+low level rsp plugin or to try glide64mk2.

Narann commented 9 years ago

Thanks for the precious informations @conchurnavid!

searls commented 9 years ago

Does anyone have any specific theories about the cause of this? I'd be interested in taking a stab at a PR.

aaroncarsonart commented 7 years ago

Happy news! This bug appears to have been fixed in the mupen64plus 2.5 build retrieved from: http://www.emulator-zone.com/doc.php/n64/mupen64plus.html. I ran the exact same rom with both rice and glide, and the cropping issue is no longer reproducible. I will leave it to primary contributors to this repo if they want to close this issue, or leave it open.

Narann commented 7 years ago

Cool! Let's close this! :D

Kool-Aid-Kid commented 6 years ago

That's odd. I get this issue in version 2.5 on OS X. Anyone else?