Adding Web based emulators?


2021-02-23
Many platforms are available as web based applications. I think a few of these might fit in at UVL. I'm not suggesting that games or anything proprietary be added (archive.org is doing a fine job of that). But I think it would be of historic and educational interest if UVL uses could actually poke around (pun fully intended) some of the systems in a window on some the platform pages. Many of these web based emulators are not suitable, for legal reasons. But there are systems that are. Such as the Commander X16. The whole thing is legally allowed to be reproduced. There is nothing about the BIOS and internal ROM that present any legal barriers. UVL users could switch on the virtual machine, type in and run BASIC programs, run GEOS, enter some machine code.

2021-02-24
I will split my answer into two parts.

Emulator-Feature:
Yes I think this is generally something that could be interesting. And I am not speaking of only the pure Emulator on platform page, but for actual games as well (for "unproblematic" games). Since UVL is a games site I would consider games running in web emulators to be much more interesting. Another sort of emulator feature I liked on other sites was implementing a player to listen/download the "music" of games inside the game entries.

Platform-page:
Yes, your proposal would make an interesting addition for the platform page. My priority for platform pages are however: 1. A good picture for each platform and 2. a unified platform entry with just the right bit amount of text (not novella sized descriptions), most important models, tech specs and maybe a set of links to things like "best emulator", Wikipedia entry, other worthwhile sources etc. Once that is achieved a web-emulator could be a nice addition as well.

But except for the unified platform "presentation" - which we editors could agree upon ourselves without programming/site changes - I don't see anything of this to be implemented in the near future.

2021-02-27
Adding a platform emulator implies two things, finding a good browser-based emulator (I never looked at them in recent years, so any advice is welcome) and hosting the firmware/roms (not really sure about this legally, storage space is not an issue as old systems files are quite small)

A web-based MESS (now included in MAME) would be great as it includes so many platforms, but can't find it.

I agree that we need full/clean info about all platform BTW

2021-02-28 (updated 2021-03-19)
I finished installing the latest mame 0.229 (mame+mess) from source yesterday. mame now categories platforms by "BIOS" and "Not BIOS" which could be handy reference even if using other 'emulator systems' such as RetroArch or individual emulators.
I'm not sure when this feature was added so I can only recommend 0.229, sorry. But compiling from a blind start was relatively painless on Ubuntu with only 3 attempts needed (I could not locate an official list of actual dependencies (I'm not gonna install complete QT5 because it IS NOT needed) formatted for end user nubes to compile on Ubuntu so worked backwards from the list for the mame 0.220 deb package in the official repositories. ). Finding the correct curl.h was the trickiest, I used the one in the libcurl4-openssl-dev deb package from the official repositories because it was the first randomly chosen option that worked. "
make TARGET=mess" leaves out Arcade systems


Emulators with non-free BIOS, or legally reverse-engineered BIOS, or bypassed BIOS, may not be the best way to show off a system in an historical context. Because, it may work differently.
I was presuming UVL would only use systems with legally free-to-use BIOS or systems that originally operated without a distinct BIOS requirement (such as CP/M). Also, some emulators include illegal BIOS files, or their illegal code equivalent, and in rare cases also violate patents. But the companies involved do not pursue legal action. Trademarks may become legal to use when left undefended in many jurisdictions. Patents also can become void in a few jurisdictions (China notably). But copyrighted ROM code does not (Not even in China, despite lax enforcement). These would probably not ever be an issue on their own but could cause problems if some lawyer somewhere ever decided to make operations difficult for UVL for what ever reason. Any non-legal code available or used at UVL would be presented and prolong the event before being dismissed as irrelevant; even in cases of invalid legal claims.
BE CAREFUL when looking for BIOS ("KERNAL" and "FIRMWARE" are other terms used) for systems from the 1980s or earlier. Many companies provided detailed information and even source code in publicly available media. Not just in reference manuals that people could buy from the company, sometimes they included it in the computer's manual (Commodore for example). If you've opened one, if you've looked at a webpage with code, you can't legally use it. You'll need a team of people under qualified supervision to work around the legal issues that this would create. btw, I'm not available to help UVL with the Vic-20 nor Apple][ plus BIOS for this reason. This probably taints me for other systems from these PC families as well.
Permission to use BIOS for Commodore systems can be sought from Cloanto Inc (unless they are no longer the owner).
Many, many, many, many companies made their own IBM-PC compatible BIOS. I'm sure one of them would be willing to grant use. Most of them are out of the clone business these days. I'm referring to pre-286 BIOS, motherboards for later systems to this very day each have their own propriety BIOS that they protect with armed guards. Ask about using "Legacy BIOS"

EDIT: Atari, Like IBM and Commodore, provided detailed BIOS information to the public.

Commander x16 is good-2-go:
https://www.commanderx16.com/emulator/x16emu.html
Here's the build instructions:
https://github.com/commanderx16/x16-emulator/blob/master/webassembly/WebAssembly.md
They note that it has issues with portrait view and mobile devices (it actually worked fine for me for 3 android devices tested. It failed to download on Switch ("No native WASM support"). Personally I've found it unusably slow on even fast Chromebooks. But it is a good way to poke around the x16 on a desktop computer.
EDIT: Also of importance. X16 is not finalized at this point. Peeks, Pokes, system calls, the BASIC and other software in the BIOS (some of the very things I am suggesting UVL provide to users to investigate) will definitely be changing


I get the sense that the mame/mess Web Application is not officially supported by the mame devs. However, it seems good enough for archive.org to use:
https://knoats.com/books/self-hosted-applications/page/mame-web-application
Note my above ramblings, and, mame/mess strongly favors using actual BIOS files.

Edit:
libretro sourcecode (RetroArch) supports building a web app. Although, it is targeted for Firefox. Seems to work on Chrome on Android, slowly.
http://retroarch.com/?page=platforms

2021-05-24 (updated 2021-05-24)
"Preservation" is the legal term for the exemption that would be used in this case.

So, I've looked into libraries being able to make copies of copyright works and discovered that by US law, (UVL servers are all located in the USA still?), the exemptions that libraries, schools, museums, archives, research facilities, and such have, according to the letter of the law alone, makes no distinction between non-profit and for-profit entities. HOWEVER, for entities that are NOT non-profit, compliance is vastly more difficult to maintain. Basically, proof must always be maintained that the "unauthorized copies" legally made under fair use exemptions did not in any way contribute profit. So, for example, if a UVL user sees an ad while poking around an emulated Apple I computer (with the copyrighted BIOS code loaded), or sees and ad while reading instructions on how to load/run/play with an emulated Apple I computer, or sees an ad on the same document where they clicked a link to load/run/play with an emulated Apple I computer, Copyright law has most likely been violated.
No UVL 'employees' are paid, that helps. UVL users are members pay to use UVL, that helps. HOWEVER, these facts do not make UVL a non-profit organisation, they merely simplify some aspects of compliance. That said, UVL users and members might see ads (Note: Internet Archive has absolutely no ads), this complicates compliance.
I've been discussing systems so far, not games. Good news, non-proprietary games, public domain games, freeware or permissive license games are no problem whatsoever. But, providing a proprietary game pretty much doubles the complexity of compliance as you are now crossing both a hardware company and a software company.
No one can legally use someone else's legal original just because they have their own legal original. I own an Apple II plus. To legally use an Apple II plus BIOS (other than directly, in the machine), I must copy it from my Apple II plus. I cannot get a copy of my friend's Apple II plus BIOS and use it. The fact that the two files are 1:1 exact matches to each other is not considered in the law. My copy is mine, my friend's copy is his, they are not legally interchangeable. If UVL uses a BIOS file, it must be UVL's BIOS file and not one uploaded from some other source.
And now, a terrible aspect for compliance... To legally make an "unauthorized copy" of a Copyrighted work, you must legally have access to that work. ie: To provide an Apple I emulation on UVL, Andrea must own an Apple I BIOS. There are ways around this. You can, for example, own a legal Apple I clone and emulate that on UVL. To me, this kinda defeats the purpose of giving users an Apple I to play with, but... Also, Andrea could own a legal Apple I emulator, but then there would be two levels of compliance to meet (one with Apple, one with the maker of the Apple I emulator). A possible way around the LUCLAO (legal unauthorized copy of the legal authorized original) is to have access to legal authorized original owned by a UVL user/member. The law probably supports this, but in practice, it probably won't protect UVL. This has been proven. Connecting user-to-user so one can gain access to the originals owned by the other is how Napster worked. Napster never touched the copyright works, they merely told members without the work where to find a member with the work. This service provided by Napster was discontinued by court order and never resumed. A key difference here, in the case of Napster, at least one of the users was most certainly violating copyright. It is theoretically possible that a UVL initiated connections could not involve a violation of copyright. But somehow, this would need to be verified each time for each party. If someone claimed to have an original Apple I, but did not, how could that be verified?
And yet another terrible aspect for compliance... You can only do a single LUCLAO at a time. Having a single Apple I on hand means only a single user at a time can access the Apple I BIOS.
And for one last bit of good news. You may opt to leave it up to the user to provide their own BIOS files locally; providing instructions on how they may legally obtain the BIOS files from the systems they own using legal software to do so. The online emulator would look for the local file and run if found. The point of all this, for me, was to let uses play with systems that don't own (hence why I suggested only systems with no legal issues)
One more problematic issue: You cannot have "systematic copying". And that means, well, whatever the judge at the moment decides it means. I've been unable to find a single lawyer's clear opinion of what "systematic copying" means. Only advise that you, "don't do it".

A company that beat the odds:
Console Classix is blatantly for-profit. They are fully compliant. They use emulators that don't require systems BIOS and they legally own an original copy of every game they provide. And, when a user or member plays a copy, that copy is unavailable to others. Very important, use is verified moment-to-moment. So a game will not function for a user if they fail to maintain an internet connection throughout its use. And this could be key: They allow users to provide local files to do things to the provided works that they could not legally do themselves; also, they provide specific instructions for the user to do this. Specifically, they tell users how to create, maintain, and use patches that modify the works (cheats, hacks, translations, region code bypasses, DRM circumventions). They are not violating Copyright (nor actually DMCA). They could have been shut down, they still might be. I guess the publishers just don't see enough gain for the effort.


A case that discusses and shows many aspects of when a for-profit company overstepped and abused fair use. What makes this case so useful is that is was very borderline. Texaco was almost compliant. An important distinction, as noted in the case, the copyrighted works in question were not "fictional" in nature, rather the content of the works (and the results of their use) were "factual". These two legal categories draw fair use lines in different places ("fictional" being stricter). No mater how many facts they contain, Videogames must certainly be "fictional" even if only as a result of the 'frame story' that results and is necessary from the interaction of the player and the game. https://fairuse.stanford.edu/texaco/summary-of-decision/

2021-05-30
That said, UVL users and members might see ads


Are there still ads on UVL? I haven't seen one in ages. Could be because I have heavy ad blocking active, but even when I surf UVL with a non-ad-blocking browser there is nothing to see (Thank God).

2021-09-06
re: re:
Are there still ads on UVL? I haven't seen one in ages.

They are enabled on some pages, and disabled for logged users.

2021-09-06
re: re:
archive.org uses WebAssembly MAME

Thank you, I've read the instructions, it still look a bit too cumbersome, maybe because I haven't compiled C code since... well, before 2000 for sure.
I may give a try one day, but I need to clean up a bit my actual UVL backlog.

2021-09-27
OK, I think I found something helpful for the legal side of things:
https://cmsimpact.org/code/fair-use-software-preservation/
It is not game software specific and it is also much broader that mere software preservation; some interpolation is required. So, while you are compiling MESS for the website, have you team of lawyers reading the materials at the link. Compiling MESS of course is much easier to fully comprehend.

Again, following all the rules can not prevent the copyright holders from making life extremely difficult. The fact that archive.org takes down anything when a copyright holder so much as sneezes is probably why they haven't been shut down yet.