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