RSS Feed
  0 users browsing Emulation. | 1 guest | 2 bots  
Main » Emulation » N64 emulators vs. "PJ64 v1.x" emulators
Pages: 1
Posted on 19-08-13, 04:55 pm (revision 3)
Not from my cellphone

Post: #482 of 491
Since: 10-30-18

Last post: 2 hours
Last view: 37 min.
User is online
Recently I've got into the wonderful world of Super Mario 64 ROM hacks - the scene has really moved forward since I first tried with "The Missing Stars" (the very first complete ROM hack, released a decade ago!). New items, bosses, and amazing courses that give a new breath of life to this 3D platformer pioneer. Heck, they even tried to fix the camera!

Fast forward to the year 2019. Emudevs are now taking accuracy seriously. Mupen64plus is still progressing in this front (with the help of angrylion's RDP and the cxd4 RSP LLE plugins), and we now also have CEN64, whose goal is perfect LLE emulation (it's nowhere near yet, but MarathonMan's work is nothing short of impressive). And if you absolutely care about running your RAWMz on The Real Thing™, we now have very user friendly and (somewhat) affordable flashcarts (Everdrive 64 and 64drive), which leave the old Bung carts and clunky copiers eating dust. If you're a homebrew dev and/or ROM hacker, these are great times to be alive and kicking in the scene.

But then, it seems that the SM64 ROM hacking community (which for some reason mostly congregates at SMW Central) didn't got the memo and refuse to leave their own ZSNES platform. Most hacks are developed for some pirate N64 knockoff known as "Project 64 v1.x", because they will not run on anything but that emulator. Not on real hardware, not on CEN64, and not even on Mupen64plus (mostly newer versions after the accuracy improvements, but a bunch of older hacks will not run on older, less accurate versions). Very few hacks are actually developed for the N64 - when you open the readme files that ship with hacks and find the chapter on how to setup Project64 to get their hacks to run, you know you're in for a rough time if you happen to be not on a x86 PC running Windows (remember: PJ64 is still Windows-only, even after its revival). ROM hackers usually blame the toolchain: most of the hacking tools of choice (like the famous SM64 Editor) are made by a sole individual that is known to not give importance to compatibility with anything that is not PJ64. In fact, "hardware compatibility" seems to be taboo on places like SMW Central (the usual excuse is something down the lines of "you're getting this for free, stop bitching, you self-entitled brat!", which is a double edged sword: it reminds you that ROM hacks are copyright-infriging works that come with ABSOLUTELY NO WARRANTY, but also means that you, the ROM hacker, are intentionally narrowing down your possible audience, which is not good if you actually want to improve your skills, for fun or profit).

Impressive new hacks are still being released in this very 2019. For example, anything done by BroDute's Star Revenge series (from custom NPCs to Touhou-themed hacks, this guy does some seriously good hacks that deserve praise). Somari Dash (where the illegal stepchild of Sonic and Mario gas it up its way to victory - forget about Goombas and Thwomps), SM64 Openworld Quest (a remix of vanilla SM64 where you warp between worlds instead of using the castle for that, a common theme across SM64 hacks), Ztar Attack Rebooted (a well-balanced hack with plenty of new gimmicks, and that bastard "burn your ass 'till victory" sztar), among others. A bunch of fine hacks that won't work on a real console, ever. Or CEN64 or any Mupen64plus version released in the last 18 months, for that matter (some people suggest using Wii's VC emulator for testing as a real hardware equivalent, but that's so nuts I can't believe people try to bring a Nintendo-made emulator as a sort of "gold standard" for testing!). ROM hacks that are usually not updated after release, so they have next to no chance to get properly fixed so they can actually work on a N64, rather than the "PJ64 v1.x unconsole". And no, no sane emudev will give concessions towards supporting BROKEN ROMs that won't run on retail hardware!

Of all SM64 hacks I've tried so far, the only one that actually tries to target hardware is Super Mario and the Cursed Castles (another great hack I can recommend although the first King Boo boss is a PITA far bigger than the last Bowser course on vanilla SM64), and this one was just posted online a few weeks ago) - at least it's the only one that I managed to get running on CEN64 and a recently-built Mupen64plus 2.5.9 from Git (I'm sure there are other hacks out there that have little to no compatibility issues, but they're a tiny minority as of today, sadly). This also means that I now have to keep two separate Mupen64plus setups for gaming:
- The latest shiny (complete with GLideN64 for best HLE video compatibility and looks) for commercial ROMs and properly coded homebrew/hacks.
- An old, outdated, and buggy build, solely intended for emulating "PJ64 v1.x" ROMs.
Right now I'm relying on Debian Stretch stock packages (v2.5.0) for the latter, but the day I take the warp pipe to Buster, most likely it means I'll have to figure out how to build an outdated emulator on a recent distro. Not my idea of fun.

From reading old posts on the former bBoard incarnations, I can understand that the ZSNES "console" was (and still is?) a huge problem on the SMW hacking scene, and looks like the SM64 scene also has the same disease, with not much hope of improving in the short period (I can only hope that when the decompiling project ever gets finished, this gives ROM hackers and hacking tool authors a better understanding on how to better target the real thing, instead of sticking to a emulator that sooner than later will no longer work on PCs once MS drops the axe over Win32, except maybe through virtualization solutions that are usually ill-suited for most gaming workloads. Even PJ64 will have to get its shit together someday and start walking the road towards accuracy, if that doesn't have happened yet - I don't know as I'm not following that project due to its Windows-only nature). UPDATE: Oh, PJ64 is now opensource, and it's still alive, now at version 2.3.2 - does it break ROM hacks? Latest development versions indeed do break ROM hacks, but unsurprisingly there is now a compatibility option to turn off the correct accurate behavior just to appease those broken ROMs :/ And you're forced to use older, also broken video plugins because the good stuff (GLideN64, Angrylion) will refuse to work with ROMs sending broken/malformed commands.

For comparison, the Sonic ROM hacking scene didn't suffered of this at a large scale, because there has been no emulator monopoly in the last decade and a half. Sure, every now and then you will find a hack that crashes and burn on console (like the recent 32X hacks I reviewed on my 32X crashtest that will work on emulators but are known to not boot on hardware), but so far I've yet to see a hack that won't run on anything but Gens, for example. Hardware compatibility seems to be a given nowadays, and we have quite a few accuracy-focused emulators readily available (BlastEm, Genesis Plus, Exodus, even good ol' Kega Fusion was the gold standard of accuracy until the '10s). There has been no risks of monoculture in the Genesis/MegaDrive scene (or in the Sega scene in general, which basically restricts to the 16-bit generation as SMS/GG hacks are very rare, and Saturn/DC mods are virtually nonexistant considering the difficulties on emulating those two 32-bit platforms). Dunno why the Nintendo hacking scenes are very prone to this undesirable outcome (people turning broken emulators into platforms de facto)

If anything, I've seen efforts of a couple individuals for "hacking the hacks" to improve compatibility, but this is only a band-aid at most (if the hack has used custom code additions, chances are it is unfixable by anybody but its original author)

Preemptive answer: No sureanem, I am not going to emulate an emulator!

Licensed Pirate® since 2006, 100% Buttcoin™-free
Posted on 19-08-14, 06:38 am (revision 7)
Post: #244 of 253
Since: 10-30-18

Last post: 2 days
Last view: 9 hours
Mupen64 Plus and GLideN64 video plugin have both been a god send for N64 emulation. Mupen64+ because its accuracy is great & also allows it to use sane defaults for unknown games, allowing hacks like Zelda: Ocarina of Time Randomizer to work without having to do any shenanigans to load game-specific-hacks from a emulator database (the resulting files are also compatible with an actual N64!).

GLideN64 is able to accurately recreate many/all(?) visual effects that N64 games used which is pretty friggen amazing to see in action, though performance can be pretty abysmal for some games (Goldeneye anyone? Especially when you get the Night Vision goggles).

I'm disappointed there's no N64 music plugin for media players that can correctly play the music from 1080 snowboarding.

Intel i7 920 @ 3.6GHz | MSI Gamer Geforce 1070Ti 8GB | 24GB DDR3 1152MHz RAM | ASUS P6T Motherboard | Windows 10 x64
Posted on 19-08-14, 10:00 am (revision 1)
Custom title here

Post: #636 of 646
Since: 10-30-18

Last post: 41 min.
Last view: 10 min.
User is online
In fairness to SMWCentral, last I heard the Super Nintendo hackers were making a concerted effort to get people to stop making ZNES-only hacks and start testing against something resembling actual Super Nintendo behavior. As I recall, there was one specific tool responsible for most of the issues, and it wasn't super-important, just super-convenient.

Just in case you thought something could EVER be straightforward, and needed someone to dash your hopes across the rocky shoals of harsh reality.
Posted on 19-08-14, 11:26 am
Not from my cellphone

Post: #483 of 491
Since: 10-30-18

Last post: 2 hours
Last view: 37 min.
User is online
Oh, it seems Debian Buster still has the ancient broken ROM friendly Mupen64Plus version I'm using currently on Stretch.

But then, upstream didn't had released a new version until this year. 2.5.9 didn't made in time for Debian, but it's now on Experimental, if you're running Testing/Sid.

I've heard that this "fuck the hardware" is only specific to the SM64 hacking scene, and it's less of a concern in other N64 game modding places (I've seen Goldeneye and Zelda cited) - how true is that?

Licensed Pirate® since 2006, 100% Buttcoin™-free
Posted on 19-08-14, 12:32 pm

Post: #183 of 191
Since: 10-29-18

Last post: 2 days
Last view: 9 hours
When I get home from vacation, I intend to test my Adaptoid out with a few emulators and plugins in Windows (old and new) and Linux. I wanna see if I can get Memory Pack transfers working so I can go between a real console and and emulator before purchasing an Everdrive. (I picked up a console for 100 yen because the reset button is stuck....morons were standing behind me in line laughing and exclaiming, "It's junk!" Joke's on them...Also, the staff at the store (which is the one that used to have thousands of games and consoles and now just has hundreds of Nintendo games and a smattering of consoles) gave them death stares)
Posted on 19-08-14, 04:37 pm (revision 3)
Post: #246 of 253
Since: 10-30-18

Last post: 2 days
Last view: 9 hours
Posted by CaptainJistuce
In fairness to SMWCentral, last I heard the Super Nintendo hackers were making a concerted effort to get people to stop making ZNES-only hacks and start testing against something resembling actual Super Nintendo behavior. As I recall, there was one specific tool responsible for most of the issues, and it wasn't super-important, just super-convenient.
It was old versions of this tool https://www.smwcentral.net/?p=section&a=details&id=17546 because it overwrote the audio echo data or some such which for ZSNES is fine and for anything remotely like a real SNES will wreck havoc. (Snes9x has an option to emulate the ZSNES behaviour)

Intel i7 920 @ 3.6GHz | MSI Gamer Geforce 1070Ti 8GB | 24GB DDR3 1152MHz RAM | ASUS P6T Motherboard | Windows 10 x64
Posted on 19-08-15, 11:28 am (revision 2)
Not from my cellphone

Post: #484 of 491
Since: 10-30-18

Last post: 2 hours
Last view: 37 min.
User is online
In the case of SM64 hacks, from what I've been able to understand (I'm no N64 hacker, so feel free to expand/correct this), the two most usual pitfalls that cause hacks to not run on hardware (or less broken emulators) are the following:

1) Misaligned PI DMA transfers of MIO0 compressed data (that is, gamepak™ -> RDRAM): The real hardware requires PI DMA transfers to be byte aligned (2-byte aligned for cart, 8-byte aligned for RDRAM) - if your data is misaligned, the console will crash. Some retail games are specifically sensitive to this: if you check the pull request for Mupen64plus to fix DMA alignment, it improved compatibility with games such as Taz Express, at the cost of breaking nearly every single SM64 romhack because the developers of hacking tools neglected to obey a hardware restriction. Only those ROM hackers that have been careful to ensure proper ROM alignment of their MIO0 chunks (where the SM64 engine stores pretty much every single game asset, so you get a nice blank screen if the engine fails to load any of those) will actually stand a chance of getting their game to work on anything other than PJ64 1.x.

2) Invalid/malformed RCP commands: This one is on the video plugin (in the case of HLE emulators). Older plugins (like Jabo, Rice, and Glide64) were pretty much "anything goes as long as it can draw polygons to display". Modern HLE video plugins (GLideN64) and anything doing proper RCP/RSP LLE (Angrylion+cxd4, CEN64) are more strict, and will do exactly what the real hardware does: display garbage or nothing at all. This is also why even if you enable misaligned DMA transfers on recent PJ64 versions, you're still forced to use an older (and inaccurate/broken) video plugin. A possible fix here is to hexedit the ROM to replace the invalid commands with proper, well-formed commands (aka the "setcombiner trick"), and while this is enough to get some hacks working, you still have to deal with possible graphic issues later on.


Oh, even if you fix that, you still gotta deal with hacks exceeding polygon limits too, which at best will slow dwon massively, and at worst will crash. The PJ64 guys are having a hard time trying to combat their own "ZNES" situation, unfortunately for them.

Licensed Pirate® since 2006, 100% Buttcoin™-free
Posted on 19-08-15, 05:24 pm (revision 1)
Stop typing, start thinking.
Post: #576 of 584
Since: 01-26-19

Last post: 12 hours
Last view: 3 days
Polygon limits feel like kind of a different animal. They're not doing anything wrong, are they? They're just writing games which are too slow to play on console, but they're perfectly standards-compliant. By that measure, Perfect Dark is broken too.

The guy in the thread has a decent point: who the hell updates a romhack? Super Mario 64: The Missing Stars came out in 2009, ten years ago. The guy who made it last posted on his YouTube channel six years ago. And people in general tend to get their ROMs from big, immutable torrents containing the whole GoodSet. The old and unpatched roms are "evolutionarily superior," so to speak.

So what they could do is do a hack: allow people to enable the standards-violating features.
But if you don't want the legacy code in (I imagine it makes for exciting maintenance, but I could be wrong), but at the same time want to support legacy ROMs, there's a good but disgusting solution. Just like bad emulators used to take perfectly standards-compliant games and bludgeon them into working with their half-baked console implementation, couldn't good emulators include patches just the same? I can't imagine there being that many romhacks in existence, the maintenance debt is minimal, and the legal issues are nonexistent. Size should probably be OK too - they're just patches, after all.

Or perhaps you should just draw a line in the sand and say that you're making a N64 emulator and not a N64 emulator emulator, and tell people to go run PJ64 1.6 if they want to run ROMhacks.

EDIT: oh boy am I bad at reading

There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this.
Posted on 19-08-16, 09:48 am (revision 1)

Post: #79 of 80
Since: 11-04-18

Last post: 2 days
Last view: 2 days
Posted by tomman


But then, it seems that the SM64 ROM hacking community (which for some reason mostly congregates at SMW Central) didn't got the memo and refuse to leave their own ZSNES platform. Most hacks are developed for some pirate N64 knockoff known as "Project 64 v1.x", because they will not run on anything but that emulator. Not on real hardware, not on CEN64, and not even on Mupen64plus (mostly newer versions after the accuracy improvements, but a bunch of older hacks will not run on older, less accurate versions). Very few hacks are actually developed for the N64 - when you open the readme files that ship with hacks and find the chapter on how to setup Project64 to get their hacks to run, you know you're in for a rough time if you happen to be not on a x86 PC running Windows (remember: PJ64 is still Windows-only, even after its revival). ROM hackers usually blame the toolchain: most of the hacking tools of choice (like the famous SM64 Editor) are made by a sole individual that is known to not give importance to compatibility with anything that is not PJ64. In fact, "hardware compatibility" seems to be taboo on places like SMW Central (the usual excuse is something down the lines of "you're getting this for free, stop bitching, you self-entitled brat!", which is a double edged sword: it reminds you that ROM hacks are copyright-infriging works that come with ABSOLUTELY NO WARRANTY, but also means that you, the ROM hacker, are intentionally narrowing down your possible audience, which is not good if you actually want to improve your skills, for fun or profit).


yep, screw anything that only works on old outdated emulators seriously

i don't have any ways to play hacks on hardware, though still have an old n64 console, still running fine after all this time, but i've read "Super Mario 74" plays fine on hardware

https://www.youtube.com/watch?v=4A_MrGiugq8
Pages: 1
Main » Emulation » N64 emulators vs. "PJ64 v1.x" emulators
[Your ad here? Why not!]