Difference between revisions of "Javascript Mess"

From Archiveteam
Jump to navigation Jump to search
Line 13: Line 13:


Information on how to build JSMESS, the status of JSMESS, and the future of JSMESS can be found out on its [https://github.com/jsmess/jsmess/wiki GitHub Wiki]. The source code can be found on its [https://github.com/jsmess/jsmess GitHub page].
Information on how to build JSMESS, the status of JSMESS, and the future of JSMESS can be found out on its [https://github.com/jsmess/jsmess/wiki GitHub Wiki]. The source code can be found on its [https://github.com/jsmess/jsmess GitHub page].
If you have a problem building JSMESS or have a feature suggestion, feel free to [https://github.com/jsmess/jsmess/issues open up an issue on our issue tracker].


==Manifesto==
==Manifesto==

Revision as of 03:05, 19 January 2013

This is the organizing page for the Javascript Mess Project, an effort to port the MAME and MESS emulators to Javascript. Manifesto and References will be at the bottom of the page, and actions at the top of the page. This entry is currently a work in progress, and more information is still being added.After writing the initial weblog entry and announcement for the project, a number of people have responded with interest. Feel free to use the discussion page of this wiki entry to add your thoughts and questions.

Javascript MESS currently runs Colecovision cartridges well

Functioning Demonstrations

The GitHub Status page links to all recent demos.

Currently, JSMESS works with Chrome and Firefox, recent versions. It has spotty performance elsewhere.

More Information and Source Code

Information on how to build JSMESS, the status of JSMESS, and the future of JSMESS can be found out on its GitHub Wiki. The source code can be found on its GitHub page.

If you have a problem building JSMESS or have a feature suggestion, feel free to open up an issue on our issue tracker.

Manifesto

  • The goal is to provide a ubiquitous, flexible, comprehensive-as-possible emulator that will appear in as many browsers as possible without installing a plugin or runtime. While a number of emulation solutions exist that allow much of what is wanted, they nearly all require plugins and most are directed towards a single machine or small sets of machines.
  • Currently, the most flexible runtime is current versions of Javascript, a horribly named runtime that utilizes a Turing-complete programming language to provide all manner of applications, effects and trickery to the browsing public. All major browsers support Javascript, and the language also allows support for cleanly informing end-users what is going on if something goes wrong.
  • MESS and MAME were started over a decade ago to provide ubiquitous, universal emulation of arcade/gaming machines (MAME) and general computer hardware (MESS). While specific emulation implementations exist that do specific machines better than MAME/MESS, no other project has the comprehensiveness and modularity. Modifications are consistently coming in, and emulation breadth and quality increases over time. In the case of MAME, pages exist listing machines it does not emulate. [1]
  • The dream/goal is to provide access to computer software and artwork that would otherwise require the user to have the original hardware and software at hand to bring into existence. While nothing beats having vintage, well-maintained computer hardware to show what software "was", it requires advocacy and often physical presence to do so. Games like Pac-Man' or Super Mario have been re-done many times and provided in all manner of online and offline presentations... not so much examples of Wordperfect, Peachtree Accounting, or the Atari TOS. By providing this method of calling in software, historians and academics and the merely curious can get near-instantaneous access to the gist of these early programming works. As a side benefit, people with collections of old software will be more inclined to share or donate their piles of materials knowing that universal access will come shortly after.

Communication Channels

Currently, most communication is done in the #jsmess channel on the EFNet IRC network. If you don't use IRC or just have questions, please mail jsmess@textfiles.com to inquire.

References

  • A team of Google engineers launched a project to port MAME to their own plugin runtime, NaCL (Native Client, or pronounced "Salt"). The report is here. High level summary: They did it in 4 days of work, pulled out parts that were too intense or time-involved, but still could emulate 75% of the games. The diff was 1200 lines of code. The report is useful for understanding MAME's unique structure.

Posts by Jason Scott about the Project