Jump to content

All my products and services are free. All my costs are met by donations I receive from my users. If you enjoy using any of my products, please donate to support me. Thank you for your support. Tom Speirs

Patreon

Nintendo 64 emulators


stephen

Recommended Posts

I was reading something on the EmuMovies forum about some ROMs being unplayable. It looks like some emulators work better on some games, but another emulator works better on others.

The emulators I see mentioned in the thread are:

  • Project64 (the only one I use on the PC currently)
  • Glide64
  • 1964 (ICE64, NICE64) - apparently ICE and NICE are forks of 1964

On the xbox, there is a "front end" / "emulator" called Surreal64. It is neither a front end, like GameEx, nor an emulator, like those listed above. It is a middleware which provides a UI like GameEx with a game list, box images, and even video previews; but it also has a database regarding the best emulator & video plugin for each game. Select a game, and it launches into the appropriate emulator.

Questions:

Does GameEx's plugin architecture support this kind of middleware?

If so, is anyone working on such a middleware plugin?

If not, is this the kind of feature which GameEx would be interested in investigating?

Dreamcast may be another platform which could benefit from this kind of middleware and database: nullDC, Chankast.

Link to comment
Share on other sites

I would suggest taking a look at the Emulator Groups function in GameEx. It’s not the sort of middleware you describe here, but it allows the user to decide what emulators should be used to run specific ROMs, while allowing those ROMs to appear in a single game list within GameEx.

Relative to the topic of your post, I actually run four separate N64 emulators: Project64 1.6, Project64 1.7, 1964, and Mupen64+ (One of these days I'm going to take Project64 2.1 for a spin). Each of them is configured as a single emulator slot within GameEx (meaning they each point to their own individual ROM directories), but I use the Emulator Group function so that all N64 games appear within one overarching game list. Each ROM "knows" what emulator it belongs to, and that emulator will be used to launch the associated ROM.

In some ways I prefer this approach since it allows me to decide which emulator should run any given ROM, as opposed to letting some nebulous piece of software make the decision for me. This also means that there are fewer "moving parts" within the system should something go wrong.

To answer your question in a more direct fashion; there wouldn’t be anything to prevent GameEx from interacting with the type of middleware you describe. In some ways this is exactly what GameEx does when it interacts with GameBase (and then some). I would imagine that middleware of the type you describe would need command line functionality in order to be called from GameEx, at which point it could simply be entered as an emulator slot within GameEx.

Link to comment
Share on other sites

I found this.

http://bmgcl.atspace.cc/n64mgcl/N64ConfigList.htm

It sounds like a good database to consume.

I prefer this approach since it allows me to decide which emulator should run any given ROM, as opposed to letting some nebulous piece of software make the decision for me

Right. Surreal64 provides the "recommended" emulator/settings, but allow the user to override those values. So you get the best of both. It's a bit like the MAME default control settings.

taking a look at the Emulator Groups function in GameEx

I will do that.

I'm going to see what I can do. V1 could be a command-line "emulator" which just takes the parameters, looks up the ROM (from a ROM Pref XML file), then launches the "preferred emulator" with "preferred settings". V2 would include some way of editing the ROM Pref settings. V3 would include a way of editing ROM Pref settings within GameEx.

Link to comment
Share on other sites

The middleman supporting a command line would be the ultimate. Then it would be one emulator in GameEx. If it could run headless that would be a huge bonus.

I think that request sould be directed to the makers of the middleware if you want a seamless suggestion. ;)

Sure a plugin could do this, just don't really see the point with the group's option. No offense. :)

Link to comment
Share on other sites

>>The middleman supporting a command line would be the ultimate.

Right. The place for a plugin (or something) would be the global and per-game settings editor.

>>I think that request sould be directed to the makers of the middleware

Yep. I don't think there currently is one for PC. Surreal64 is for the xbox - and it's a whole GUI. On the PC we already HAVE a GUI - it's called GameEx. So we just need the headless command-line execution to play the game, and a plug-in or something as a settings editor.

>>No offense.

Haha. It would take a lot more to offend me. :)

Link to comment
Share on other sites

Oh so that is for xbox? I should have researched it more before I posted. :me embarrassed:

I might have a project in mind that could work for this, but it would require the user to specify the system for the game themselves.

Link to comment
Share on other sites

I can certainly do that if that if it would be helpful, but in all honesty ever since I discovered Bighead's N64 Game Configuration List that's what I've used as a primary guide for N64 emulation. It's truly an excellent resource. For the most part my lists follows his suggestions. In some cases it's not even so much about what emulator you use as which plugins you use. The only game I've seen that I think he gets wrong is Shadows of the Empire. Mupen64+ is the only emulator I've seen capable of emulating that game properly (but I've not played it all the way through with Mupen64+).

  • Like 2
Link to comment
Share on other sites

Negative to that one, good sir. To my knowledge he's never offered his database as a download, and the list fills such a specific niche that to my knowledge no one has ever written a scraper to pull the data.

Who knows? Bighead seems to be genuinely interested in providing resources to those interested in N64 emulation. It might be worth contacting him to see if he's be willing to share his data source.

Short of that, it might not be terribly difficult to write a scraper for his site. Each page consists of a single table consisting of the various game specs. The trickiest aspect to address might be where he's using row spans in which multiple emulator options exist for a single game. Other than that, it looks like in most cases 1 <tr> = one game.

But that's me being an armchair quarterback though ;). My time is stretched kinda thin these days, and what time I do have for personal projects is pretty much already accounted for with a couple of ongoing projects.

Link to comment
Share on other sites

might be worth contacting him

I sent him an email yesterday.

scraper to pull the data

Yuck.

My time is stretched kinda thin these days

amen to that.

I think I'll just install all of the known N64 emulators, take a look at how they accept command-line args, build a mini database (just N64 games I have - about 50), see if I can get it going.

I built an app this morning that acts like the emulator (from GameEx perspective), and forwards the command-line args to Project64. I even added a keyboard hook to allow a N64 global configuration hotkey to allow the user to override the defaults.

Link to comment
Share on other sites

Not doing it. After further investigation, the requirements on the user would be too much: multiple emulators, many plugins. Looking at the Project64 source, there is no easy way to specify what I need easily. Also, building out the database of games, even starting from Bighead's list would be daunting.

Maybe someone else has more energy than I.

Link to comment
Share on other sites

Now you're kinda where I'm at. I am working on something but as I said the user would have to do the leg work. And it's gonna be awhile before I put anything out.

It is a good idea but it's just going to be a lot of grunt work to get that going. I thought of the exe route (as in setting this exe up as an emulator) but tbh I haven't got the time to maintain the code everytime some settings change in an emulator.

Link to comment
Share on other sites

  • 2 weeks later...
Guest
This topic is now closed to further replies.
×
×
  • Create New...