ares-emulator / ares

ares is a cross-platform, open source, multi-system emulator, focusing on accuracy and preservation.
https://ares-emu.net
Other
939 stars 114 forks source link

[system] opening Ocarina of Time makes Ares prompt for an N64DD rom #1143

Open marnason opened 1 year ago

marnason commented 1 year ago

When I open an OoT rom, I am prompted to load an N64DD rom immediately after. This is also the case when opening through CLI ie. "ares.exe --system N64 oot.z64".

Other users on the Discord have confirmed this issue exists when opening OoT.

file: Legend of Zelda, The - Ocarina of Time (USA) (Rev 2).z64
sha256: 49acd3885f13b0730119b78fb970911cc8aba614fe383368015c21565983368d

It would be nice to supress this with a flag in CLI or maybe limiting this behavior to an N64DD system instead of including it under N64.

hackgrid commented 1 year ago

I think that may be happening, because there was some N64DD stuff left in the retail game?

xdanieldzd commented 1 year ago

Seems to happen because the ROM headers of OoT's NTSC versions flag the game as being 64DD compatible (CZLJ and CZLE), which ares respects, giving the user the opportunity to insert an expansion disk. https://github.com/ares-emulator/ares/blob/cc81fd1015446f7dafbb03d74668bef889298ae5/mia/medium/nintendo-64.cpp#L156

Tho to be fair, an expansion for the game, i.e. the (in)famous "Ura Zelda", was never released. F-Zero X, on the other hand, did get an expansion disk, so ares' behavior isn't useless.

The PAL versions of OoT on the other hand are not 64DD compatible, or at least no longer flagged as such in the header (NZLP), so those do not ask for a DD disk image on load.

So not really a bug, although some way of specifying if the emulated N64 has a 64DD attached could be useful to have?

Jj0YzL5nvJ commented 1 year ago

This is unwanted behavior, the "smart menu" should only appear if the user boots the 64DD with the wrong N64 ROM... Not to mention, it would need to be disabled to correctly recreate the 64DD's misuse.

Tho to be fair, an expansion for the game, i.e. the (in)famous "Ura Zelda", was never released.

Ura Zelda and Zelda Gaiden were originally conceived for 64DD. Zelda Gaiden ended up becoming Majora's Mask and Ura Zelda became Master Quest.

P.S: Try Dawn & Dusk

xdanieldzd commented 1 year ago

Probably the best option would be to just have three setups for the N64 instead of two:

You wouldn't be bothered by the additional file dialog when loading N64 games that happen to be DD compatible, while one could still play F-Zero X with the Expansion Kit using the 64+64DD option.

Ura Zelda and Zelda Gaiden were originally conceived for 64DD. Zelda Gaiden ended up becoming Majora's Mask and Ura Zelda became Master Quest.

I'm well aware of the history of Ura Zelda, of all the stuff it was claimed to be able to do, but as we now know never could have from a technical perspective, of Master Quest literallly being called "Toki no Ocarina (GC) Ura" in Japan, etc., etc., I used to be part of the OoT proto and hacking community.

I specifically meant Ura Zelda in its 64DD form, as an expansion disk to regular OoT cartridges, as it was originally intended. This 64DD disk was never released. Master Quest obviously was, several years later, on the GameCube through emulation.

Jj0YzL5nvJ commented 1 year ago

What if I want to boot the 64DD without disk? I'm an enemy of "autopilots". Those of us who use the CLI despise the impositions of the GUI. Just expose all the parameters without the GUI intervening. If there is an error, it is our error.

xdanieldzd commented 1 year ago

Adding a generic "nomedia" command line option could do the trick, something that'll just boot the specified system without any cartridge/disk/CD inserted. Would result in a black screen for most of then, I suppose, but would allow booting into the 64DD IPL, Mega CD BIOS, Master System built-in games, etc. directly.

But I'm not sure how to best expose this via the GUI - making "Cancel" in the file dialog not cancel starting emulation, but start it without any media? Seems wrong to me, tho...

Screwtapello commented 1 year ago

Loading any media that supports extra media (like the Super Game Boy) should cause ares to prompt for that extra media. Cancelling any of those file dialogs will boot the system without the extra media inserted, so it would be consistent that cancelling the first file dialog should boot the system without any media inserted.

I could have sworn there was an open issue about how trying to load a new game always unloads the previous game, even if you cancel the file dialog, but I can't find it now. At any rate, if cancelling the first file dialog would boot the system without any media inserted, that would be a justification for that behaviour.

remutro commented 1 year ago

"I could have sworn there was an open issue about how trying to load a new game always unloads the previous game, even if you cancel the file dialog, but I can't find it now."

FYI - I think this came up as a discussion in the ares Discord, but I don't think an issue was created out of it. It's just currently how the workflow is structured. If you choose to load a new game, the existing game/emulator is closed so we can load the new emulator (and yes it could be the same) and determine what file types it supports and which slot to load it to.

LukeUsher commented 1 year ago

Partially fixed for command line users with dafb570, this adds a --no-file-prompt option which prevents the emulator from asking for further files; instead, ares will assume any additional media is to be disconnected.