[HN Gopher] Experimental Nintendo Switch Emulator written in C#
       ___________________________________________________________________
        
       Experimental Nintendo Switch Emulator written in C#
        
       Author : chwolfe
       Score  : 313 points
       Date   : 2021-03-13 21:20 UTC (1 days ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | [deleted]
        
       | smaudet wrote:
       | Regarding all the positions that piracy is bad vs freedom of
       | intellectual property, isn't this a bit a red herring?
       | 
       | I'm sure neither this nor Yuzu are 100% working - but if let's
       | say work was done regarding allowing legal ripping, i.e. a
       | license system whereby Nintendo grants sale or other rights to
       | hobbyist runningthe express purpose of runnin their games on some
       | emulator.
       | 
       | I think a lot of the people drawn to emulator, work, are drawn by
       | the cool factor. Working on homebrew games is a way to learn and
       | express passion about embedded platforms, game dev and coding.
       | 
       | They say 'piracy is stealing', but locking down platforms is also
       | stealing. We should enforce universal IP monetary attribution -
       | keep a low standard rate of mandatory fees which must be paid out
       | while at the same time make it illegal for companies to entirely
       | hide their designs.
        
       | royalghost wrote:
       | I am basically trying to learn c# after many years of working in
       | JVM languages. This project looks like a good hack to learn C#
       | and .NET.
        
       | yc-kraln wrote:
       | The one thing I used to really enjoy about developing for
       | Nintendo platforms once they've aged a bit is being able to have
       | fast test-play cycles without hardware; for Gameboy Advance or
       | Nintendo DS the emulators were very good and fully-featured
       | (debuggers, memory inspection, etc.)
       | 
       | Unfortunately with Switch we're not there, and I don't think we
       | ever will be. These emulators target, in order of priority,
       | Cracked/Dumped Retail Games, then Homebrew games. I can't use
       | them as part of my game development stack because they won't run
       | binaries if they haven't been submitted to Nintendo to be signed
       | (and subsequently cracked).
        
       | DC1350 wrote:
       | This is great to see. It would be nice to play switch games on
       | something at least as powerful as a modern phone
        
         | barbazoo wrote:
         | Are you implying that the Switch hardware isn't good enough for
         | its games? I have yet to play a game that doesn't run well.
         | 
         | Maybe I should try Witcher 3.
        
           | DC1350 wrote:
           | Yes. A lot of the games only run at 720p and all of the ports
           | are either really old games or significantly downgraded
           | compared to any other platform.
        
           | foobar33333 wrote:
           | Mario kart in 4 player mode can only run at 30 fps which
           | looks horrific compared to the 60fps 2 player mode. Most
           | games also seem to suffer from massive load times. Crash team
           | racing and Animal Crossing clock in at literal minutes to
           | load.
        
           | dmingod666 wrote:
           | Zelda will start to go wonky with what looks like 10 fps when
           | you go to a very dense place with lots of 3D models like the
           | 'korok forest'.
        
           | Grazester wrote:
           | There are lots of Switch games that have had to have serious
           | compromises made to run them. You need to checkout the
           | youtube channel DFRetro that does a thorough analysis of the
           | games between their various console releases. The switch is
           | slow and old hardware but Nintendo was never going for state
           | of the art and it serves its function well
        
           | oogetyboogety wrote:
           | It appears that many beg to differ with you https://www.reddi
           | t.com/r/NintendoSwitch/comments/lm5cvh/supe...
           | https://youtu.be/8FKUJaBCWdU
        
             | genewitch wrote:
             | all of the people were having issues with a patched game
             | (version 1.1) - no idea if it ever got fixed or not, i
             | don't have that game to test. Other than some weirdness on
             | 3rd party games i've never noticed any slowdown on any
             | games i've played.
        
       | edflsafoiewq wrote:
       | What made C# a good choice for this?
        
         | tester756 wrote:
         | Sometimes people just pick the languages they're most proficent
         | in so they can move fast
         | 
         | maybe that's the case here
        
           | bitexploder wrote:
           | Or as a "Look, you can do X in language Y, a lot of people
           | assumed this was not possible." Situation. Seen that a few
           | times.
        
             | DoctorOW wrote:
             | In my opinion this is the exact reason C# was picked.
             | Almost everything C# is either Windows-only or
             | Console/Server app. This is neither and that's what's
             | interesting to me.
        
               | moonchild wrote:
               | Many video games are written in c#. This includes pretty
               | much all games written using unity (the most popular 3d
               | game engine) and fna (a very popular 2d framework).
        
               | danhau wrote:
               | But that's an apples/oranges comparison, isn't it? C#
               | code in Unity games is predominantly high-level game
               | behaviour / scripting. Most of the heavy lifting is done
               | by Unity behind the scenes. So to me it's even more
               | impressive that an emulator for a modern games console
               | can be written in a 'managed' language.
        
               | tmitchel2 wrote:
               | The heavy lifting bit of unity is also written in C#. C#
               | has a rep for being slow which is undeserved these days.
        
             | david-cako wrote:
             | true, the first thing I thought was "wow, I didn't realize
             | you could do this with C#"
        
               | bitexploder wrote:
               | That's how more than a few of my projects have started.
               | It really helps you learn the performance mechanics of a
               | language and it's runtime doing something like,
               | implementing an emulator then optimizing it. Maybe not
               | something as ambitious as a switch emulator though. I
               | like 16 bit processors like the MSP430 :)
        
         | The_rationalist wrote:
         | C# is the fastest GCed language and emulators are not just
         | about performance, a high level language increase both
         | productivity and the number of contributors, hence the
         | number/depth of optimizations + features and correctness. C#
         | has C++ interop if ever needed.
        
           | kyberias wrote:
           | C++ interop?
        
             | Const-me wrote:
             | C++ interop is not supported in modern .NET out of the box,
             | but wasn't too hard to implement as a library:
             | https://github.com/Const-me/ComLightInterop
        
               | pjmlp wrote:
               | C++/CLI works perfectly fine on Windows, it was a major
               | milestone for .NET Core 3.0.
               | 
               | And then there is WinRT/COM as well.
        
         | GlitchMr wrote:
         | Mostly, because it's easier to program in C# than in C++, and
         | there is not much of a loss of performance (and worth noting
         | that C# has `unsafe` keyword if necessary). In the past Ryujinx
         | did use RyuJIT provided by .NET for JIT, albeit now it's using
         | a custom JIT because RyuJIT was too slow for the way it was
         | used by an emulator.
        
         | aksss wrote:
         | I'm a big fan of c# but this question still fascinates me too.
         | Would love to hear some input from the project devs on this.
        
       | MegaDeKay wrote:
       | The other popular Switch emulator, Yuzu, recently released their
       | progress report for February in case you are interested in how
       | far along the state of Switch emulation is these days. Yuzu is
       | C++ and roughly comparable to Ryujinx, feature-wise.
       | 
       | https://yuzu-emu.org/entry/yuzu-progress-report-feb-2021/
        
       | Cyph0n wrote:
       | Impressive! Is this the first modern console emulator written in
       | a GCed language, or even a language other than C++?
        
         | pjmlp wrote:
         | Nope,
         | 
         | https://hackaday.com/2018/08/07/even-the-playstation-2-cant-...
        
           | whoisthemachine wrote:
           | That's Java running on a console, not Java emulating a
           | console.
        
         | monocasa wrote:
         | There were a slew of older JITing PSP emulators when it came
         | out using C# that had modern architectures. It's a cute
         | technique to bootstrap a JIT, using a JIT runime that people
         | already can be expected to have.
         | 
         | pspplayer might have been the first? I could be wrong there
        
         | Orphis wrote:
         | I worked on Jpcsp a long time ago, PSP emulator in Java. It was
         | the first emulator to manage to run a large amount of games. We
         | had some crazy devs on it who even wrote a MIPS to Java
         | bytecode JIT. It worked great... sometimes. We ended up running
         | into lots of JIT issues as some patterns were unusual and not
         | always properly handled by hotspot. Fun times!
        
           | anthk wrote:
           | Would graalvm give a speed boost?
        
         | p1necone wrote:
         | The problems with GC'd languages are _very_ exaggerated. I 'm
         | not surprised at all that this is performant in C#.
        
           | userbinator wrote:
           | It's mainly the horrible "enterprise" culture around them,
           | which leads to ridiculous abstraction bloat and the
           | associated increase in resource consumption.
        
           | bob1029 wrote:
           | .NET 5 further improves upon an already very capable GC:
           | 
           | https://devblogs.microsoft.com/dotnet/performance-
           | improvemen...
           | 
           | Most notably:
           | 
           | > When running with the "Server GC", a thread per core is
           | involved in collections, and as threads finish their allotted
           | portions of the marking work, they're now able to "steal"
           | undone work from other threads in order to help the overall
           | collection complete more quickly.
        
           | akra wrote:
           | C#, or more specifically the .NET VM (goes for F# and VB too)
           | has a lot more features that make it a lot easier to avoid GC
           | events than in the past. Managing memory especially across
           | interop with Span support means a lot less copying from
           | managed to unmanaged memory as an example which would help a
           | lot with games that often need to invoke operating system
           | libs/drivers.
        
           | Cyph0n wrote:
           | For game dev (and emulators!), the non-deterministic behavior
           | of GCs can cause a lot of trouble, mainly because you have a
           | fixed frame budget. That's why it's usually easier to just
           | use a language where you can finely control when and where
           | allocations take place.
           | 
           | I'm sure there are techniques to work around this, but you'd
           | then usually have to leave behind the "idiomatic" area of the
           | language you're using.
        
             | astrange wrote:
             | C# is one of the most popular languages to write games in
             | (with Unity), so it can't be that bad. I'd expect it to
             | perform well if you only allocate short-term objects, since
             | it can do escape analysis and figure out they can all go on
             | a stack, but I don't know how Mono's GC works.
        
             | rafaelvasco wrote:
             | Yes, In C# you have to leave the idiomatic side somewhat to
             | get the most performance. Though this is getting better in
             | latter versions of C#, in which you get more low level
             | coding features. But for me the fun part is doing exactly
             | that. Coding as close to the metal as possible, leaving the
             | "safe" side of C# but still using the Quality of Life
             | features that C# offers compared to C++. That for me makes
             | C# my favorite language ever.
        
               | Const-me wrote:
               | I like C# and use it a lot, but for performance sensitive
               | apps I need SIMD. Microsoft is making improvements, but
               | not enough, still a long way to be comparable to C++.
               | Currently, they don't support NEON on 32-bit ARM, and
               | have performance issues in the JIT:
               | https://github.com/dotnet/runtime/issues/13811
        
       | andi999 wrote:
       | Did GC lead to any problems?
        
       | nicetryguy wrote:
       | It's really coming along! It took Dolphin a few years to nail it
       | but i'd imagine a near-perfectly emulated 4k switch in a couple
       | years time.
        
         | caslon wrote:
         | Ryujinx isn't actually the only Switch emulator; between
         | Ryujinx and Yuzu, you can emulate basically everything the
         | Switch can do and play most of the games it can.
        
           | R0b0t1 wrote:
           | Are there any issues getting games off of the carts?
        
             | GlitchMr wrote:
             | No, older hardware revisions of Switch have an unpatchable
             | exploit that ensures games could be dumped using those no
             | matter what Nintendo changes.
        
       | huachimingo wrote:
       | Check out MelonDS, looks very promising and faster than Desmume.
       | They managed to put a JIT for the emulation.
        
         | saagarjha wrote:
         | DeSmuME has a JIT backend.
        
       | jb775 wrote:
       | Is there a way to intercept data between the Switch and online
       | Fortnite services?
       | 
       | I recently bought a Switch and have been playing Fortnite
       | online...noticed more and more "online gamers" have been behaving
       | like bots, so I'd like to take a look at the data if possible (to
       | see if I'm playing against actual people)
        
         | 177tcca wrote:
         | Wireshark and alternatives.
        
         | klyrs wrote:
         | https://www.nintendolife.com/news/2019/09/epic_is_adding_bot...
         | 
         | It looks like that might be deliberate?
        
         | emodendroket wrote:
         | Seems like you could intercept the traffic with your router.
        
       | politelemon wrote:
       | I wanted to say dupe, but I can't really... my submission got no
       | attention. Is it just matter of timing?
       | 
       | https://news.ycombinator.com/item?id=26445101
        
         | geswit2x wrote:
         | How is possible to post duplicate links in HN? I think when you
         | do that, you get redirect to the duplicate one, and upvote the
         | old post...
        
           | grzm wrote:
           | I believe it depends on the duration between submissions and
           | maybe some other factors, such as votes and comments.
        
         | brundolf wrote:
         | Timing makes a huge difference in my experience
        
       | edoceo wrote:
       | Why wouldn't one create and emulator for this using QEMU?
       | Couldn't that be possible? Doesn't a bunch of hardware faking
       | have to be rebuilt in C# that QEMU already does (well?)? Or is it
       | too hard to introduce custom hardware/firmware (like this audio
       | stuff) into QEMU?
        
         | orra wrote:
         | > Couldn't that be possible?
         | 
         | I mena, in principle, presumably.
         | 
         | > that QEMU already does
         | 
         | Potentially a couple devices. But for most of the hardware,
         | probably not.
         | 
         | Regardless they might--I would--find QEMU harder to hack on,
         | harder to extend, because it is written in C. C is of course
         | the lowest level of all high level languages.
        
         | IntelMiner wrote:
         | There is one emulator currently that does do that, the "XQEMU"
         | emulator for the original Xbox https://xqemu.com/
         | 
         | It's in its infant stages at the moment according to the
         | "Emulation General" wiki and focuses heavily on "accuracy" over
         | performance
         | 
         | Other emulators such as CXBX-Reloaded have made larger strides,
         | currently emulating roughly 10% of the software library
         | 
         | It's also worth stating, while the Xbox seems like an "easy"
         | target, being based on an ia-32 (Pentium III) PC with an Nvidia
         | GeForce chip (somewhere between a Geforce 2 and 3 at the time)
         | it is an absolutely monstrous beast with minimal documentation
         | about its hardware and numerous "gotchas"
         | 
         | It also has a very small library of 'exclusive' content which
         | detracts from gaining many developers
        
           | MegaDeKay wrote:
           | Your information on xqemu is dated. xqemu was forked to xemu
           | a while back. Development of xemu is very active now: many
           | games are now playable with accurate graphics and sound with
           | performance up to native framerates. Improvements to speed
           | and accuracy are coming in on a regular basis. xqemu is
           | basically dead, with its discord shut down and the main
           | developer off the project. Now is a good time play around
           | with xbox emulation if it is of interest to you.
           | 
           | https://xemu.app/
           | 
           | https://github.com/mborgerson/xemu/commits/master
        
         | zapzupnz wrote:
         | For emulators that intend to run games at full speed, the sorts
         | of shortcuts and tricks needed to achieve high level emulation
         | (which can sometimes fall short of emulation in a strict sense)
         | are often incompatible with writing a plugin or extension to an
         | emulation framework that focuses on accuracy.
         | 
         | In the case of the Switch, it's not necessary to emulate the
         | whole device or even processor, especially if the intention is
         | to run Switch games on a computer. Rather, high level emulation
         | is more than sufficient -- anticipate what the software depends
         | on the actual hardware to do and redirect it to do the same
         | using what the computer has available.
        
           | landr0id wrote:
           | >In the case of the Switch, it's not necessary to emulate the
           | whole device or even processor, especially if the intention
           | is to run Switch games on a computer
           | 
           | Switch has an ARM processor so it's definitely a requirement
           | to emulate that, which QEMU is well-suited for. But to your
           | point, Windows has great graphics APIs that would make it
           | easier to pipe the graphic stack from the Switch OS into
           | rather than writing your own implementation. The processor
           | can be taken care of via JIT as well, but it still needs to
           | be lifted.
        
       | molticrystal wrote:
       | This emulator currently has the most complete guest audio
       | renderer implementations, as they just finished a project of
       | doing an in depth reversing of that portion of the firmware. [0]
       | 
       | Getting it to work with the host os(windows usually) can have
       | minor issues with output in rare circumstances, or when a game is
       | still not running the proper speed, but they've ironed out the
       | major ones.
       | 
       | -----------------------                   This is my requiem, I
       | present to you Amadeus, a complete reimplementation of the Audio
       | Renderer!         This reimplementation is based on my reversing
       | of every version of the audio system module that I carried for
       | the past 10 months.         This supports every revision (at the
       | time of writing REV1 to REV8 included) and all features proposed
       | by the Audio Renderer on real hardware.
       | 
       | [0] https://github.com/Ryujinx/Ryujinx/pull/1481
        
         | dt3ft wrote:
         | Awe inspiring. 10 months of work and 250 changed files!
         | Respect!
        
       | brundolf wrote:
       | I have mixed feelings about emulating current-gen consoles. I
       | think there's a very strong ethical case for emulating consoles
       | whose games are no longer made (despite Nintendo's best efforts
       | to shut that down too). But emulating something whose games can
       | still be bought new would tend to encourage piracy, I expect.
       | 
       | Edit: "cracking" -> "piracy", for clarity
        
         | [deleted]
        
         | apatheticonion wrote:
         | I think consoles are great devices to make gaming accessible to
         | the masses, requiring little to no effort to get up and
         | running. Where I draw the line is console exclusives.
         | 
         | I will not purchase a console that forces me to buy hardware I
         | do not need because they ban experiences from other platforms
         | to try gain a competitive edge. I feel this is damaging to the
         | industry as games with incredible experiences are blocked
         | behind a paywall (and often restricted quality).
         | 
         | Consoles should compete on experience and features, not
         | exclusive games that you _can 't_ play without buying into the
         | ecosystem.
         | 
         | I only just got around to finishing Bloodborne (at 20-30 fps)
         | and it's a game I have wanted to play since I saw the trailer
         | back in 2013. It's so sad that they limit this game's IP to
         | only PS4 owners. I would love to see the lore expanded upon in
         | sequels (that run at an unlocked, variable frame rate), but if
         | demon souls is anything to go by, we won't.
         | 
         | If it were available for PC, I would buy it. If it were
         | available via emulation, I would buy it.
         | 
         | People who pirate games do so because they can't afford them,
         | and there is nothing less affordable than having to buy an
         | entire device to play a game.
         | 
         | Emulation does complicate this somewhat because piracy is a
         | necessity to the experience, something that could be addressed
         | by the hardware vendors themselves.
        
         | ddevault wrote:
         | There are many reasons to use an emulator. You could play your
         | own games on a new platform, or without having to pay for the
         | hardware (a gaming PC which can run an current-gen emulator is
         | expensive enough!). You could use it to play or develop
         | homebrew software, or to research commercial software. You can
         | use it to bypass region locks, which I would argue are quite
         | unethical in their own right.
         | 
         | Even with all of that said, I support piracy. Information wants
         | to be free, and games are made of information. No one has lost
         | anything when a game is copied.
        
           | dmingod666 wrote:
           | The problem is not about free distribution of knowledge or
           | not.
           | 
           | The problem is, in compensation of the people involved in
           | doing the work.
           | 
           | For example if someone sponsored content 'x' and made it free
           | to the public it would be fine to copy it around. Think govt
           | funded research. This has its own problems. The people that
           | commission these works and the general public may not share
           | the same tastes.
           | 
           | The risks of selling to a patron and selling to a yet unknown
           | audience are vastly different. This is why the compensation
           | varies wildly between the two. Its possible that one game may
           | take enormous resources and then not give back any returns
           | resulting in a loss and another one makes massive profits.
           | 
           | The positive ones cover up for the failing ones. If you only
           | look at the positive ones it's easy to be dismissive and say
           | they are getting compensated undeservedly. In the broader
           | picture it is the massive successes that allow for variety in
           | the market place, it is an essential mechanism. If you cap
           | off the upper limits of getting paid, people will be
           | unwilling to make newer / different types of things. The
           | market is essentially funding innovation, variety and a
           | buffer for failures - it serves as a direction mechanism for
           | knowing what people want.
           | 
           | Knowing what to make that people will buy is a very hard and
           | expensive problem to answer. People that can answer it
           | correctly get paid a lot of money deservedly.
        
           | bscphil wrote:
           | > No one has lost anything when a game is copied.
           | 
           | Suppose an indie developer working alone hires an intern.
           | They release a game developed together for a console.
           | Suddenly the console becomes possible to emulate, and most of
           | the people who would have bought the game play a cracked and
           | pirated version on an emulator instead. Because of the
           | unexpected lack of sales, the developer has to fire the
           | intern. The intern no longer has enough money to feed their
           | family, and their children go hungry that month. The intern
           | has lost something.
           | 
           | My comment isn't intended to be positive or negative on the
           | whole towards piracy (I do sometimes pirate things). What's
           | it's critical of is the blithe way in which people dismiss
           | concerns with statements like "no one has lost anything".
           | Sure, maybe the developer _doesn 't_ have an abstract right
           | against copying the game, and it is true that they have not
           | lost _copies of the game_ when it is copied. But people do
           | lose things.
           | 
           | If you oppose intellectual property rights, it's important to
           | work productively towards creating a world without it in
           | which developers can work on a piece of software as their job
           | and still have a livelihood, not joke about them not standing
           | to lose anything through piracy. I'm not saying you don't do
           | this, I'm well aware of your contributions to open source,
           | for example.
        
             | DoreenMichele wrote:
             | _If you oppose intellectual property rights, it 's
             | important to work productively towards creating a world
             | without it in which developers can work on a piece of
             | software as their job and still have a livelihood, not joke
             | about them not standing to lose anything through piracy._
             | 
             | Thank you for speaking up. I try to make similar points at
             | times, though I'm usually talking about writing and content
             | creation and I'm a woman and a writer and poor, so people
             | feel pretty free to be openly dismissive and disrespectful
             | and act like my expectation that I should somehow be able
             | to support myself if I am doing good work is a laughably
             | stupid expectation and, at the same time, I'm an extremist
             | nutter if I start using phrases like "that amounts to an
             | expectation of slave labor."
             | 
             | I don't know what the solution is. A lot of amazing things
             | get done because someone dreamed it up off the clock
             | without the constraints of an employer or client telling
             | them what to do.
             | 
             | But it is a travesty of justice to act like those things
             | should be given for free and the creator has no right to
             | have that come back to them as financial prosperity. It's
             | not only a travesty of justice, it's an excellent way to
             | make sure all your best and brightest people are trying to
             | figure out how to make a buck, even if it means screwing
             | other people and even it means doing work that is less
             | valuable to humanity than what they might otherwise do.
             | 
             | If you want this to remain a dog eat dog, lord of the flies
             | hellscape, hey, dismissing the idea that people have a
             | right to profit from their labor when their labor is
             | clearly enhancing _your_ life (or you wouldn 't be using
             | their stuff for free while sneering at the idea that this
             | is a problem for them) is an excellent way to accomplish
             | that.
        
               | bscphil wrote:
               | Thanks. I think there's a whole interesting discussion
               | about classes of intellectual work like writing and
               | photography that are less respected in the digital world
               | (from the standpoint of copyright) than software and
               | films.
               | 
               | Your comment also highlights another aspect of
               | theoretical arguments of the sort ddevault gives that I
               | think is interesting. If you take them seriously, then
               | there ought not to be any intellectual property at all,
               | so someone should be able to just set up a website like
               | "get your stuff here dot com" where you can download
               | whatever you like, with no legal prohibition or moral
               | inhibition.
               | 
               | If this were true, the piracy landscape would look
               | _vastly_ different than what it looks like today, and I
               | think this seriously undermines the kind of pragmatic
               | responses my comment has gotten along the lines of
               | "actually, piracy is helpful to the industry". Because in
               | all likelihood, that can only be true (if it is true) up
               | to a point.
               | 
               | The ultimate question is, do we _see the point_ of making
               | sure artists and creators _have a way to live_ off the
               | work they do for us? A copyright system may not be the
               | best way to ensure this, or it might even be outright
               | unethical! If so, let 's come up with a better one.
        
             | witherk wrote:
             | Piracy surely does do damage. But I feel as if it's
             | probably a net positive for the gaming industry overall.
             | Maybe I'm wrong but Indie games currently seem to be in a
             | sort of golden age, despite piracy being as alive as ever.
             | As someone who grew up on blizzard and gamecube games
             | almost every game I purchase these days is an indie game,
             | similar patterns amongst my friends.
        
               | bscphil wrote:
               | That's quite possibly true. Again, I do pirate things
               | sometimes, and I'm not trying to rule one way or another
               | on piracy.
               | 
               | What I'm trying to get at is that saying on the basis of
               | _a priori_ arguments about what  "property rights" a
               | person has that they don't stand to "lose anything"
               | through piracy is incorrect reasoning, and maybe even
               | hurtful to the people who do stand to lose something.
               | 
               | You might as well pursue a long theoretical argument with
               | the conclusion that the Department of Homeland Security
               | has no right to exist, then claim that a janitor who
               | works there has "nothing to lose" from calls to abolish
               | it. Even if you're right about the DHS, it's a complete
               | _non sequitur_ , and a rather callous one at that.
        
               | witherk wrote:
               | I see what you're saying and I agree. I think this
               | particular argument, is pushing back on the notion that
               | piracy is straightforwardly the same thing as physical
               | theft.
        
               | adanto6840 wrote:
               | There are also more games than ever right now -- it's
               | _extremely_ competitive, even relative to just 5 years
               | ago. Source: Am founder of a small indie  'studio',
               | recently released our second title.
        
               | witherk wrote:
               | Yeah I would imagine it's insanely difficult. The bar for
               | genres dominated by indie games like puzzle platformers,
               | metroidvanias, roguelikes seems infinitely high these
               | days. Seems rough for devs, but as a gamer it's amazing.
        
               | croes wrote:
               | Surely? https://arstechnica.com/gaming/2017/09/eu-study-
               | finds-piracy...
        
             | ddevault wrote:
             | No one has a right to a viable business model. There are
             | other ways to make money.
             | 
             | I also oppose companies like Nestle monopolizing water
             | supplies to sell back to communities at a premium. If
             | they're not allowed to do that, then their employees will
             | have to find something else to do, or they won't be able to
             | feed their family and their children will go hungry.
             | Naturally, we'll not speak of any of the benefits which
             | might be possible if we eliminated their business model.
             | The only consequence of any import is that their employee's
             | family will starve and die.
             | 
             | This is clearly a false argument. Intellectual property is
             | based on an artificial scarcity and has no basis in the
             | tangible value of goods and services. It's a kind of
             | intellectual rent. It should not be granted special status
             | in law.
        
               | Jasper_ wrote:
               | The expectation here is fair trade. They are providing a
               | good for sale with a price. If you do not pay the price,
               | you do not get to enjoy the good, regardless of if the
               | distribution model inherently enforces its trade value
               | through scarcity or not.
               | 
               | The last several thousands of years of society and
               | economics are based on this principle. Capitalism depends
               | on it. You can be against capitalism and work towards
               | achieving that end. But until we get there, we need to
               | make sure that those in a society built around capitalism
               | obey these fair trade rules.
               | 
               | If you don't want to pay for your software, don't use
               | software that's offered for pay. There's a whole market
               | of free software out there.
        
               | bscphil wrote:
               | You're going back to the moral argument against
               | intellectual property, and I get you, it's sort of
               | compelling. My point was that suggesting that no one
               | stands to lose anything if we throw out the concept is a
               | bit bonkers. Schematically the argument is something like
               | this:
               | 
               | 1. Under capitalism, the only way someone who makes
               | something for others can be sure of providing for
               | themselves and their dependents is if they have a
               | _property right_ in the things they make, thereby
               | ensuring that it has exchange value for them as a
               | commodity.
               | 
               | 2. Property rights in intellectual or abstract creations
               | _do not exist_. Because (insert moral argument), no one
               | ever truly has an intellectual property right. (your
               | premise)
               | 
               | Conclusion: People who create intellectual or abstract
               | works should not be sure of providing for themselves and
               | their dependents, and should therefore do something else
               | and find "other ways to make money". In fact, we can't
               | even say that people forced into some other work (or
               | starvation) have _lost_ anything, because they never had
               | a moral right to it to begin with.
               | 
               | Me: Welllllll
               | 
               | I hope it's obvious that the conclusion doesn't follow
               | from the premises. (Though we can get into that if you
               | like.) I think it's also obvious from this perspective
               | that this is certainly not like the Nestle case. Nestle
               | is making things worse by monopolizing water that they
               | didn't even create and would exist if they did not.
               | Artists are people who create things that you and I love
               | which brighten our lives, and are asking that they not go
               | hungry in exchange. They are not seizing a pre-existing
               | work of art and holding it out in exchange for an income,
               | they are instead creating things and witholding them to
               | _ensure_ an income the only way that is possible under
               | our present system of capitalism.
               | 
               | I want to live in a world where artists can be assured of
               | _not_ going hungry. I certainly don 't think we need
               | intellectual property to get ourselves there, and I'm
               | nearly certain most artists themselves don't
               | _intrinsically_ love intellectual property. But this
               | means we need an alternative. What does that look like:
               | UBI? Something even more drastic? That 's the question I
               | was getting at toward the end of the comment you replied
               | to.
        
             | matthewrobertso wrote:
             | Releasing a game on a console is an involved process with
             | many steps and hoops to jump through. It is much easier to
             | release a game on PC. I haven't looked into the statistics
             | but it is my understanding that the large majority indie
             | games release first on PC before being ported to consoles
             | due to the barrier to entry.
             | 
             | Emulators might hurt developers who treat being console
             | exclusive as a form of DRM or have exclusivity agreements
             | with console manufacturers if their work becomes wildly
             | pirated. I don't track what is pirated or how frequently,
             | nor do I track game developers closely, are there examples
             | of this happening to developers who have shut down?
        
               | bscphil wrote:
               | > It is much easier to release a game on PC.
               | 
               | That's true. By giving a console example I was just
               | trying to talk about piracy in a way relevant to the
               | emulator topic. You could make exactly the same point
               | about piracy of PC games, though. Many indie PC games
               | don't have DRM.
        
               | matthewrobertso wrote:
               | I think for most indie developers piracy is free word of
               | mouth advertising, similar to the shareware model.
               | Hopefully when their work is widely pirated developers
               | can turn the attention into sales. I agree it would be
               | very tragic if people lost their jobs due to rampant
               | piracy.
               | 
               | To ask a difficult question though, are there actually
               | any contemporary indie PC games that have been massively
               | pirated to the point where the developer had to fire an
               | intern?
        
             | caslon wrote:
             | https://www.engadget.com/2017-09-22-eu-suppressed-study-
             | pira...
             | 
             | "In 2013, the European Commission ordered a EUR360,000
             | ($430,000) study on how piracy affects sales of music,
             | books, movies and games in the EU. However, it never ended
             | up showing it to the public except for one cherry-picked
             | section. That's possibly because the study concluded that
             | there was no evidence that piracy affects copyrighted
             | sales, and in the case of video games, might actually help
             | them."
        
               | RHSeeger wrote:
               | To be fair, those studies were done in a world where
               | software piracy is against the law in many places,
               | considered wrong by many, and can have real consequences
               | to those that engage in it. Those facts have direct
               | impacts on the amount of piracy that happens. If piracy
               | were completely legal and the average person was
               | comfortable doing it, then the impact on the sales of
               | software would likely be much higher.
               | 
               | It is not unreasonable to argue that some piracy is not a
               | big deal and may, in fact, be helping developers (and
               | producers of other content). However, as soon as you
               | start arguing that it should be legal, expected, and
               | normal to do so, you change the entire landscape.
        
               | bscphil wrote:
               | Seems like I'm getting a torrent (hah) of comments saying
               | that "piracy isn't that bad actually", when I explicitly
               | said in the comment that I wasn't interested in
               | advocating for or against piracy, and do in fact pirate
               | things myself.
        
               | caslon wrote:
               | Your argument was, literally, that piracy decreases
               | sales. But all of the evidence points toward piracy
               | increasing game sales. Therefore, the indie dev in your
               | example would make more money.
               | 
               | I'm not saying that piracy is good or bad; I really don't
               | care. I'm simply stating that your argument was wrong.
        
               | bscphil wrote:
               | That was quite literally not my argument. I gave _an
               | example_ in which piracy decreases sales, to respond to
               | an _a priori_ defense of piracy.
               | 
               | Edit: There is a world of difference between debating a
               | point on deontological ethical grounds and consequential
               | ethical grounds. My point is not about what the
               | consequences are, it's about the fact that a specific _a
               | priori_ ethical defense of piracy like that ddevault
               | gives can 't be used to argue that piracy doesn't have
               | bad consequences.
        
               | ohgodplsno wrote:
               | No, you gave a fully theoretical thought experiment, that
               | attempts to play with emotions (oh no, not just an
               | employee that can't be paid, but an intern, a poor
               | student that cannot feed his family after, because
               | that... wait non that's not what interns do) and tried to
               | spin it as an ethical argument.
        
               | bscphil wrote:
               | When ddevault said that "no one loses anything" when
               | something is copied, they did not mean that they had
               | looked at all the studies and determined that "piracy is
               | good, actually". They meant that simply by examining the
               | nature of intellectual property _as such_ , we could know
               | that no one ever loses anything when something is copied.
               | This is an implied deductive argument which does not
               | hinge on what conditions actually exist in the world.
               | 
               | In response to a deductive argument, it's always
               | acceptable to try to present a _possible world_ in which
               | the premises of the argument are true and the conclusion
               | is false. It simply _does not matter_ that quite a lot of
               | angry people in this thread are insisting that the world
               | I presented in the example does not actually exist. If
               | the world _could_ exist, then that 's enough to show that
               | there's something wrong with ddevault's point, and that's
               | what I wanted to do in my comment.
               | 
               | Ironically, ddevault understood this when hardly anyone
               | else did. They replied to my comment with a slight pivot
               | on the original take. They said that while people might
               | "lose things", it's not the kind of "losing" that
               | matters, because if someone loses something that was
               | never legitimately theirs to begin with, we don't care or
               | worry about this. (The example of Nestle stealing water
               | is used as an example.)
               | 
               | This was a great response from ddevault, because it
               | actually understood what I was getting at. I _disagree_
               | with the response, but the point is that it understands
               | what is happening at the theoretical level here, and that
               | 's crucial.
        
               | caslon wrote:
               | _I gave an example in which piracy decreases sales_
               | 
               | Which isn't something that would have happened in the
               | real world, since piracy increases sales.
        
               | bscphil wrote:
               | Thought experiments do not have to be things that would
               | have happened in the real world.
        
               | caslon wrote:
               | That's not a thought experiment! That's using a false,
               | unlikely example that goes against all evidence to
               | scarecrow.
        
               | bscphil wrote:
               | Let me try to spell it out for you.
               | 
               | ddevault:
               | 
               | > Even with all of that said, I support piracy.
               | Information wants to be free, and games are made of
               | information. No one has lost anything when a game is
               | copied.
               | 
               | "Information wants to be free, and games are made of
               | information" is a defense of piracy that has _nothing
               | whatsoever_ to do with the consequences of piracy. The
               | argument is that copyright claims are _morally invalid_
               | because they go against the nature of information _as
               | such_.
               | 
               | This is used to make the claim that "no one has lost
               | anything when a game is copied".
               | 
               | That claim is a bit of verbal trickery, and that's what
               | my comment is complaining about. If a developer has a
               | copy of a game on their hard drive, and after releasing
               | the game, someone pirates it, the developer still has a
               | copy of the game on their hard drive. This is one sense
               | of "not having lost anything", and it's what ddevault
               | understands to be the nature of information that
               | underlies the moral argument I gave above.
               | 
               | But what that moral argument _can not tell you_ is that
               | "no one has lost anything" in the fairly conventional,
               | pragmatic sense that one can "lose a job".
               | 
               | My comment is a _theoretical example_ (or thought
               | experiment) that highlights the difference in a way that
               | makes clear how the words  "no one has lost anything" are
               | at least misleading, and potentially hurtful. That is why
               | I begin with the words "suppose" (which is how
               | philosophers often introduce thought experiments) and
               | proceed to give a highly theoretical example about a
               | indie dev studio which does not exist. The upshot is the
               | philosophical point that people can "lose something" (a
               | livelihood) without "losing anything" (a piece of
               | intellectual property).
               | 
               | I have no idea whether, on the whole, piracy is good or
               | bad for video games. Despite your apparent certainty, I
               | do think the jury is still out on that point. But that is
               | most emphatically _not the point_ that I am making in my
               | comment.
        
               | matthewrobertso wrote:
               | Your argument strikes me as tautological in that you've
               | created a hypothetical sad situation and are arguing that
               | because it is sad we should change our behavior. I think
               | it's probably worthwhile to think about if the situation
               | could actually occur in our world.
               | 
               | Otherwise, why not construct the absurd thought
               | experiment: what if the intern that got laid off won a
               | bunch of money and didn't have to work? Piracy is
               | obviously moral and great because the intern is now rich.
               | 
               | Obviously this wouldn't happen to most interns given how
               | the world works (losing your job is bad). Thus it is a
               | bad thought experiment.
               | 
               | Similarly, if having a game pirated leads to an increase
               | in sales, this is a bad thought experiment.
        
               | caslon wrote:
               | > My comment is a theoretical example (or thought
               | experiment)
               | 
               | That goes against _all evidence and all studies on the
               | topic and has no supporting evidence to back it up._
        
               | bscphil wrote:
               | Premise: there are no colorful swans
               | 
               | Conclusion: all swans must be either grey or white
               | 
               | Me: that doesn't follow! Suppose there were a black swan.
               | 
               | You: That goes against all evidence and all studies on
               | the topic and has no supporting evidence to back it up.
               | ALL SWANS ARE WHITE.
        
               | utbabya wrote:
               | This is not thought experiment, it is straw man.
               | 
               | Here's my thought experiment, they told you studies shows
               | that vaccination is safe, you point out there happened to
               | be a case after injecting a person died. In some places
               | people categorize it as FUD.
               | 
               | Just to be clear I don't have a side in this race, I
               | haven't priated anything for a long time, don't find the
               | need.
        
               | bscphil wrote:
               | Thought experiments don't need to be realistic when they
               | are responses to _deductive_ arguments. [1]
               | 
               | You _can 't_ use a thought experiment to argue that
               | people should change their behavior because of a problem,
               | as you're pointing out - and I'm not doing that. I'm
               | _not_ saying people should not pirate things because
               | piracy is bad for game developers. I pirate things. I 'm
               | not making a statement about piracy.
               | 
               | ddevault is doing something rather specific: arguing that
               | because intellectual property rights _do not exist_ ,
               | anyone whose work is copied _does not lose anything_.
               | This is an argument that is contradicted by a possible
               | world in which someone loses something, even if _you_ don
               | 't think it's our actual world.
               | 
               | [1] https://en.wikipedia.org/wiki/Deductive_reasoning
        
           | dmingod666 wrote:
           | Only problem is, if while doing the work the developers were
           | told their work isn't going to be entirely paid for they
           | would have chosen to do something else.
           | 
           | You write a book and would be paid by the word. After toiling
           | away for 2 years, 30% of your work will not be paid for
           | because the publishers feel this is just information. You
           | have been decived.
           | 
           | When labor is carried out with certain promises of
           | compensation and after the work is completed if the fruits of
           | the labor are not compensated to the person company doing the
           | effort then it's fraud / stealing.
           | 
           | Broadly your argument sounds like 'knowledge work is not real
           | work' because it doesn't produce tangible assets.
        
         | matthewrobertso wrote:
         | Incidentally, around 20 years ago I purchased a copy of Bleem!
         | at a Fry's electronics and some games to play on it
         | (playstation was still a current-gen console at the time). I
         | would not have purchased nor played the games if I had not
         | purchased the emulator. This was probably not a typical thing
         | to do but I don't see it as a fundamental thing that existence
         | of emulators has to hurt software sales for a current-gen
         | console.
         | 
         | I also think steam has proved that the way to beat piracy is to
         | offer a better experience than piracy offers. I get headaches
         | playing 3d content at 30 fps, I would pay double the cost per
         | game to run first-party nintendo games on my PC at an unlocked
         | resolution and frame rate.
        
           | gambiting wrote:
           | If I remember correctly bleem! Could only play disc games so
           | it was specifically aimed at people buying playstation games
           | to play them on PC.
        
         | andy_ppp wrote:
         | If people who wouldn't have bought a Switch end up playing
         | those games on PC who has lost out here?
        
           | edflsafoiewq wrote:
           | And on _this_ meander of the great river Utilitarianism, we
           | find that you become entitled to have a thing for free by
           | pre-commiting never to buy it.
        
           | MaximumYComb wrote:
           | It's ignorant at best to argue that this is only going to be
           | used by those who wouldn't have purchased a Switch. Once
           | something is free then a lot of people won't spend hundreds
           | of dollars on it.
        
             | witherk wrote:
             | As someone who uses yuzu to play games at 4k, I have bought
             | 2 switches and purchased the grand majority of the games
             | that I have played on emulator. While I think it's true
             | that devs lose some customers this way, most people who are
             | playing BOTW on their pc (requiring a pretty good computer)
             | pay more money into the nintendo ecosystem than many people
             | imagine.
             | 
             | If anything the way nintendo treats it's competitive
             | communities makes me feel bad for giving them too much
             | money. But on the other hand they are one of the only devs
             | who consistently ships quality finished games, so that
             | should be rewarded.
        
               | brundolf wrote:
               | It's unfortunate that the devs are financially lumped
               | together with Nintendo's scummy legal/business people,
               | but at the end of the day that's the reality. Pirating
               | games means not paying the devs for their work.
        
             | capsulecorp wrote:
             | Right. Now lets ask ourselves why one would need to spend
             | hundreds to play a particular game. The answer you will
             | come across most commonly is platform exclusivity deals. I
             | am happy to pay for a game, but not buy the hardware for a
             | system I don't want, just because they leveraged their
             | business clout to prohibit games from releasing on other
             | platforms. In this case, I could care less about the bottom
             | line of the console company or the game company who agreed
             | to what I view as a corrupt collaboration.
        
             | andy_ppp wrote:
             | I really don't think the group of emulator pirates who
             | would have bought the console and games if they had not
             | been able to pirate is a particularly large group. How many
             | sales are you thinking are lost to this 1%?
        
         | nix23 wrote:
         | >But emulating something whose games can still be bought new
         | would tend to encourage cracking, imo.
         | 
         | That would be truly terrible!! Making a copy of your owned
         | games is a capital crime.
        
           | brundolf wrote:
           | When people refer to "cracked" games/apps there's usually an
           | implication of "pirated". I'll edit my wording.
        
             | nix23 wrote:
             | Good, because i make a big distinction between cracking and
             | pirated.
        
         | meibo wrote:
         | Unfortunately, Nintendo has not made any friends within the
         | emulation/homebrew community especially as of late(or ever), so
         | the common consensus seems to be "we don't care, as long as you
         | don't do illegal things on our front porch".
         | 
         | This is purely an observation, however these things have
         | tradition within the Nintendo hacking community and most
         | members of the community are very passionate about their
         | projects - the Wii is comparatively hard to emulate, which is
         | why Dolphin is still struggling with certain things after a
         | long time, while Switch emulators can run a lot of games nearly
         | perfectly after less than half a decade.
        
           | brundolf wrote:
           | My point is exactly about the emulation/homebrew community,
           | though. They only continue to have the moral high road
           | against Nintendo as long as they _don 't_ condone piracy. If
           | they get in bed with those who want to do genuine piracy,
           | Nintendo is no longer the bad guy for taking legal action.
           | 
           | Not that a Switch emulator completely falls into the latter
           | category, but it lies in a grey area that legacy emulators
           | have mostly steered clear of.
        
             | ripdog wrote:
             | There's no grey area here, though. Emulator devs explicitly
             | disavow using their software for piracy, and ban anyone on
             | official forums for mentioning or linking to pirated games.
             | That's all they have to do, really. (assuming the emulator
             | is clean-room, of course).
        
               | Jasper_ wrote:
               | It's pretty well established that the market for Yuzu is
               | playing commercial games. Just look at their home page:
               | https://yuzu-emu.org/ Maybe not direct piracy, but
               | clearly adjacent to it. We aren't running homebrew
               | software here.
        
               | spapas82 wrote:
               | Yes but you must own and rip these games yourself before
               | playing them: https://yuzu-emu.org/help/quickstart/
        
         | Wowfunhappy wrote:
         | It sucks, doesn't it? Developers deserve to get paid, but I'm
         | glad I didn't have to wait a decade to see Breath of the Wild
         | in 4K.
         | 
         | I wish there was an easier way to run legitimately purchased
         | cartridges. I don't know how many people ever did it, but
         | PCSX2, for instance, has always been able to run PS2 discs
         | right off a standard PC optical drive.
         | 
         | If buying games can be made easier than piracy, lots of people
         | will probably do that. But if piracy is way easier, then that's
         | what 99.9% of users will do.
        
           | mewse wrote:
           | > If buying games can be made easier than piracy, lots of
           | people will probably do that. But if piracy is way easier,
           | then that's what 99.9% of users will do.
           | 
           | Apart from folks who have no way to perform online
           | transactions and would have to physically visit a shop to pay
           | using cash, piracy hasn't been "way easier" than buying games
           | in more than a decade.
           | 
           | Everybody has online shops now. On the Switch, you can even
           | buy from your computer using their web shop, if the Switch
           | itself happens to be out of your reach (or in the hands of
           | your child or etc).
           | 
           | In the vast majority of cases, these days, I suspect that
           | piracy is a lot more about "cheaper" than about "easier".
        
             | Wowfunhappy wrote:
             | Sorry, I meant for emulators specifically. Buying a
             | cartridge _and ripping off the rom_ is much harder than
             | just downloading an illegal copy. So 99.9% of games played
             | in emulators are pirated copies.
             | 
             | It would be great if it was more like PCSX2. Not that I
             | have any idea at all how you'd do that.
        
             | rav wrote:
             | > On the Switch, you can even buy from your computer using
             | their web shop, if the Switch itself happens to be out of
             | your reach
             | 
             | How? When I go to a Nintendo store page for a game I want
             | to buy digital [1], all I get are the options "Add to Wish
             | List", "Download demo", "Buy physical".
             | 
             | [1] https://www.nintendo.com/games/detail/katamari-damacy-
             | reroll...
        
               | rav wrote:
               | UPDATE: I'm in Denmark (EU). On nintendo.com, I don't get
               | a "Buy digital" button. If I go to the region-specific
               | site nintendo.dk, the search function is broken, many
               | games aren't listed, and there's no buttons to buy games
               | or any login functionality at all (it seems half-baked).
               | If I go to nintendo.co.uk (the UK site), I can log in and
               | buy digital, hurray! What an incredibly inconsistent
               | experience!
        
               | mewse wrote:
               | I don't know what to tell you; I get a great big red "Buy
               | digital" button just to the right of the price if I go to
               | that page.
               | 
               | Edit: Australia, here.
        
               | phate wrote:
               | What region are you in?
               | 
               | In the US it clearly gives me the option to buy a digital
               | copy: https://i.imgur.com/dIbfnjP.png
        
           | Talanes wrote:
           | >I don't know how many people ever did it
           | 
           | It's been many years, but I tried this to play FFIX. Turned
           | out it was one of the few games that still had game-breaking
           | issues at the time. I wonder if it works now.
        
         | cdubzzz wrote:
         | > I think there's a very strong ethical case for emulating
         | consoles whose games are no longer made (despite Nintendo's
         | best efforts to shut that down too).
         | 
         | Do you differentiate between games being "made" and "sold"? If
         | not, which consoles specifically are thinking of as ethical to
         | emulate? Nintendo still sells NES, SNES, N64, etc. games via
         | Virtual Console.
        
           | brundolf wrote:
           | I personally would not emulate a game that Nintendo is
           | currently selling in a readily-playable form (unless I owned
           | it already). Used games don't count, because those a) don't
           | send any money to the original devs and b) become
           | increasingly scarce over time.
           | 
           | The problem is that in practice Nintendo only makes a very
           | small portion of their back catalog available for purchase at
           | any given time. The only Zelda games from previous
           | generations that I can play on my Switch are Zelda 1, and
           | (soon) Skyward Sword. No others are available.
           | 
           | If Nintendo made their whole catalog available for digital
           | purchase (or even better, as part of a subscription) then I
           | wouldn't emulate any of it.
        
             | larusso wrote:
             | You can play Zelda II and A link to the past via the online
             | subscription. And one could count the remake of Links
             | awakening as well.
             | 
             | But more to the small catalog. Nintendo has not the rights
             | to just publish the old NES/SNES catalogue as they are not
             | the sole rights owners. Also they won't dump all these
             | games at once. I still wait for Windwaker HD as I never
             | owned a WiiU and don't want to emulate the game.
        
         | foobar33333 wrote:
         | These emulators are usually useless for piracy until after the
         | console has reached its end of life. People start working on
         | them as soon as possible but they don't work well for years.
         | The switch is almost at the end now and there still isn't an
         | emulator which works very well.
         | 
         | When the competition for emulators is buying a hackable switch
         | and running dumped games natively with 0 bugs or slowdowns. I
         | doubt switch emulators have prevented the sale of a single
         | switch game.
        
           | brundolf wrote:
           | You may be right about the ramp-up time, though the Switch is
           | only at like 50% of its lifetime and I wouldn't be surprised
           | if the next console is a "Switch 2" or something with
           | backwards-compatibility, given what the other console makers
           | have done
        
             | Jasper_ wrote:
             | The typical lifetime of a Nintendo console is 5 years (N64
             | was 1996, GameCube was 2001, Wii was 2006, Wii U was 2012
             | because the Wii was such a smash success, Switch was 2017).
             | The release cycles have been slowing as of recent but we're
             | far more than 50% in.
        
               | brundolf wrote:
               | They've already announced an enhanced "Switch Pro" and
               | said they hope it "extends the life cycle of the Switch
               | platform for many more years": https://www.bloomberg.com/
               | news/articles/2021-03-04/nintendo-...
        
               | blonder wrote:
               | A rumor != Nintendo announcing a "Switch Pro", your quote
               | was from an analyst, not someone from Nintendo.
        
             | isaacimagine wrote:
             | I mean, after the success of the Wii Nintendo released the
             | Wii 2 *ahem* U.
        
             | cheschire wrote:
             | What you say is logical when considering things
             | generically, however I'm struggling to remember a decision
             | that Nintendo ever made that was based on what other
             | console makers have done.
        
             | hawthornio wrote:
             | A switch with increased pixel density and some other
             | improvements seems almost certain to me.
        
         | joshgoldman wrote:
         | Nobody cares about your mixed feelings and support for a
         | greedy, cheating, code stealing company... people like you ruin
         | the game industry and are just jealous
        
       | miguelmurca wrote:
       | Starting a betting pool as to how long this makes it before being
       | DMCAd
        
         | bri3d wrote:
         | Why would you see this emulator in particular getting DMCAed?
         | 
         | There's not really good precedent for this that I'm aware of -
         | Nintendo did DMCA the repo for a GBA emulator a while ago, but
         | it came with Nintendo game ROMs in the browser.
        
           | miguelmurca wrote:
           | > Why would you see this emulator in particular getting
           | DMCAed?
           | 
           | Nothing in particular, I was thinking about it from the other
           | end. Seeing as the Switch is Nintendo's latest gen console
           | I'd say it's different to something like Dolphin in terms of
           | how much it might bother Nintendo. That plus the fact that
           | when you want something off the internet nowadays a DMCA is
           | typically the legal path, makes me think that Nintendo would
           | love to find _something_ to DMCA the repository for.
           | 
           | Whether there's anything to be DMCA'd I can't say (and from
           | the replies I see probably not).
        
         | mappu wrote:
         | Emulators are legal (see Sony v Bleem).
         | 
         | Copyright infringement is a civil offense, but there's none
         | here.
        
           | perardi wrote:
           | And from that era:
           | 
           | https://en.wikipedia.org/wiki/Connectix_Virtual_Game_Station
           | 
           | Courts also decided in favor of Connectix, which made a
           | PlayStation emulator that ran games on the Mac at nearly full
           | speed.
           | 
           | Mainly bringing that up because: it was kind of wild to be
           | able to run current PlayStation games on your iMac. It was
           | just cool.
        
             | Cyph0n wrote:
             | There is a great video I watched recently on this:
             | https://youtu.be/fcD420hP3YM
        
           | miguelmurca wrote:
           | I had no idea.
           | 
           | I'm not familiar with this case, but [this page][0] seems to
           | be more focused on the use of screenshots rather than the
           | emulator software itself? Did this set a precedent?
           | 
           | [0] https://itlaw.wikia.org/wiki/Sony_Computer_Entertainment_
           | Ame...
        
             | mappu wrote:
             | Another emulation lawsuit, Sony v Connectix, happened the
             | previous year. In that case the concepts of emulation were
             | found to be legal but Connectix was hit for copyright
             | infringement of the Playstation's BIOS.
             | 
             | Bleem used HLE to avoid needing a copyrighted BIOS image.
             | Sony complained to the courts, but Bleem successfully
             | defended all counts using the Connectix precedent.
             | 
             | You're looking at the appeal - in appeal, the only leg Sony
             | had left to stand on was the use of screenshots of
             | copyrighted games, but the court determined it to be fair
             | use.
             | 
             | So the precedent comes from looking at a series of cases
             | around this time, but Sony v Bleem is commonly used as a
             | handwaving reference to the whole saga. It's the first
             | major time this defense was successfully used in court.
             | 
             | For an interesting comparison, the GPLv2 was written in
             | 1991 but technically wasn't tested in a US court until
             | 2014.
             | 
             | (IANAL.)
        
               | miguelmurca wrote:
               | Awesome, thanks for the explanation
        
         | mdgrech23 wrote:
         | what's that mean?
        
           | dev-tacular wrote:
           | [DMCA](https://en.wikipedia.org/wiki/Digital_Millennium_Copyr
           | ight_A....)
           | 
           | It could allow Nintendo to take action against this emulator.
        
       | azinman2 wrote:
       | Considering this is emulating an ARM processor, I wonder how such
       | software might perform if written specifically for the new M1
       | macs?
        
         | zapzupnz wrote:
         | I don't anticipate it would make much real difference. The
         | trick with console emulators is usually making the graphics,
         | audio, and game-specific quirks sing well on commodity hardware
         | rather than the specialised hardware the console has. Getting
         | ARM code to run on Intel isn't the hard bit -- so getting ARM
         | code to run on ARM may well be more performant than running it
         | on Intel - but rather the trick is getting all the other
         | precise console-specific hardware to sing with available cross-
         | platform frameworks for audio and video.
        
       | whoisthemachine wrote:
       | > The CPU emulator, ARMeilleure, emulates an ARMv8 CPU and
       | currently has support for most 64-bit ARMv8 and some of the ARMv7
       | (and older) instructions, including partial 32-bit support. It
       | translates the ARM code to a custom IR, performs a few
       | optimizations, and turns that into x86 code.
       | 
       | Interesting... since .Net is cross-platform and can run on ARM,
       | if it's running on an ARM processor does it just run the
       | instructions directly?
        
         | grishka wrote:
         | > if it's running on an ARM processor does it just run the
         | instructions directly?
         | 
         | You can't just run random instructions like that. That code is
         | compiled with the assumption that there's the Switch's OS and
         | hardware underneath, which means it will do all kinds of
         | things, like calling directly into the kernel and assuming a
         | particular address space layout, that would crash it under a
         | different OS.
         | 
         | ARM has hardware virtualization. If the host OS supports it,
         | you should be able to make use of it.
        
           | whoisthemachine wrote:
           | Interesting, Dolpin emulates the Wii and Gamecube OS's to
           | some degree, I would assume that would be necessary for the
           | Switch as well. What would that have to do with ARM assembly
           | however?
        
           | jyrkesh wrote:
           | I think it does beg the question though, of whether it might
           | be possible to dump the Switch OS and firmware and run it on
           | some alternative ARM hardware (with some modifications for
           | redirecting weird custom chips). IIRC the Switch is running
           | an overclocked Tegra (X1?)
           | 
           | IANAL, but in the US at least, I think every person would
           | need to buy their own Switch and dump the software themselves
           | for it to be even remotely legal.
        
             | tibbon wrote:
             | I might be making a bad analogy, but I don't think this
             | would work any better than dumping the CMOS firmware for a
             | C64 (6502 processor) and hoping you could just run it on an
             | Apple II or NES, even though they had the same architecture
             | processor (also a 6502).
             | 
             | Maybe things are more standard now these days, but the
             | support hardware around it, memory layout, etc... at least
             | for the 6502, made this prohibitive.
        
             | roblabla wrote:
             | I attempted this a while ago, running the Switch OS
             | (Horizon/NX) on a Jetson TX1. It's definitely possible,
             | *but* it requires modifications to the OS services,
             | otherwise you'll just fry the Jetson (that was a lesson
             | learned the hard way...). The pinmuxing between the two
             | devices is different, so you'd need to modify that at
             | least. And then you'd probably need some more modifications
             | to get joycons to work (how do you sync them without a
             | rail), etc...
             | 
             | The kernel however runs absolutely fine with zero
             | modifications required. HorizonOS is a microkernel, and all
             | the components are fairly well separated. To make it work
             | on a jetson, you'd only have to replace a handful of
             | services to make it work.
             | 
             | > IANAL, but in the US at least, I think every person would
             | need to buy their own Switch and dump the software
             | themselves for it to be even remotely legal.
             | 
             | Honestly, I'm pretty sure it'd violate the DMCA DRM
             | protections in the US (you'd have to dump some crypto keys
             | and provide them to an EL3 reimplementation, like
             | Exosphere, to run anything below the kernel).
        
             | grishka wrote:
             | As I understand it, there are two ways to approach
             | emulating a console that has a firmware, whether it's a
             | BIOS or a full-fledged OS:
             | 
             | - You could emulate the hardware only, on its lowest level,
             | and make the user provide the firmware dump. This makes the
             | emulation more faithful, but sourcing the firmware isn't
             | always easy.
             | 
             | - You could instead go up a layer emulate the firmware
             | interface that games see. This might get you performance
             | benefits, because you now have the freedom to optimize the
             | low-level implementation details for your particular host
             | platform, but that would mean the emulation itself would
             | not be 100% accurate.
        
             | astrange wrote:
             | There is a Switch emulator using virtualization on M1 Macs.
        
               | Wowfunhappy wrote:
               | Wow, that's neat. Link?
        
               | saagarjha wrote:
               | https://twitter.com/daeken/status/1340777743244509196
        
         | calaphos wrote:
         | The current ARMeilleure seems to emit x86 instructions directly
         | and execute them, so never really using the intermediate
         | representation of Jit compiler of the .Net runtime.
         | 
         | However the previous cpu emulator apparently emitted .Net byte
         | code and used RyuJIT (the .Net jit) to emit the final native
         | code.
         | 
         | > if it's running on an ARM processor does it just run the
         | instructions directly?
         | 
         | So maybe? There are some passes in between but one would think
         | it would at least result in very similar instructions.
        
           | worewood wrote:
           | > However the previous cpu emulator apparently emitted .Net
           | byte code and used RyuJIT (the .Net jit) to emit the final
           | native code.
           | 
           | This seems like a good use case for using .Net. Why did they
           | move away from it?
        
             | astrange wrote:
             | The .NET and Java VMs probably aren't optimized for the
             | incoming bytecode also being JIT generated, never needing
             | to allocate memory, wanting to be register-based, etc.
             | 
             | Also, I haven't tried JITting them but I've always found
             | their bytecodes to be pretty inexpressive compared to a
             | real CPU (or even LLVM).
        
       ___________________________________________________________________
       (page generated 2021-03-14 23:02 UTC)