[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)