|
4 | 4 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
5 | 5 |
|
6 | 6 | <title>JSNES: A JavaScript NES emulator</title>
|
7 |
| - <link rel="stylesheet" href="/style.3.css" type="text/css" media="screen" |
8 |
| -charset="utf-8"> |
9 |
| - <link rel="stylesheet" href="jsnes.3.css" type="text/css" media="screen" |
10 |
| -charset="utf-8"> |
11 | 7 |
|
12 | 8 | <script src="lib/jquery-1.4.2.min.js" type="text/javascript" charset="utf-8"></script>
|
13 | 9 | <script src="lib/dynamicaudio-min.js" type="text/javascript" charset="utf-8"></script>
|
|
25 | 21 | $(function() {
|
26 | 22 | nes = new JSNES({
|
27 | 23 | 'ui': $('#emulator').JSNESUI({
|
| 24 | + "Homebrew": [ |
| 25 | + ['Concentration Room', 'roms/croom/croom.nes'], |
| 26 | + ['LJ65', 'roms/lj65/lj65.nes'], |
| 27 | + ], |
28 | 28 | "Working": [
|
29 |
| - ['Bubble Bobble', 'roms/Bubble Bobble (U).nes'], |
30 |
| - ['Concentration Room', 'roms/croom.nes'], |
31 |
| - ['Contra', 'roms/Contra (U) [!].nes'], |
32 |
| - ['Donkey Kong', 'roms/Donkey Kong (JU).nes'], |
33 |
| - ['Dr. Mario', 'roms/Dr. Mario (JU).nes'], |
34 |
| - ['Golf', 'roms/Golf (JU).nes'], |
35 |
| - ['The Legend of Zelda', 'roms/Legend of Zelda, The (U) (PRG1).nes'], |
36 |
| - ['Lemmings', 'roms/Lemmings (U).nes'], |
37 |
| - ['Lifeforce', 'roms/Lifeforce (U).nes'], |
38 |
| - ['lj65', 'roms/lj65.nes'], |
39 |
| - ['Mario Bros.', 'roms/Mario Bros. (JU) [!].nes'], |
40 |
| - ['Mega Man', 'roms/Mega Man (U).nes'], |
41 |
| - ['Pac-Man', 'roms/Pac-Man (U) [!].nes'], |
42 |
| - ['Super Mario Bros.', 'roms/Super Mario Bros. (JU) (PRG0) [!].nes'], |
43 |
| - ['Tennis', 'roms/Tennis (JU) [!].nes'], |
44 |
| - ['Tetris', 'roms/Tetris (U) [!].nes'], |
45 |
| - ['Tetris 2', 'roms/Tetris 2 (U) [!].nes'], |
46 |
| - ['Zelda II - The Adventure of Link', 'roms/Zelda II - The Adventure of Link (U).nes'] |
| 29 | + ['Bubble Bobble', 'local-roms/Bubble Bobble (U).nes'], |
| 30 | + |
| 31 | + ['Contra', 'local-roms/Contra (U) [!].nes'], |
| 32 | + ['Donkey Kong', 'local-roms/Donkey Kong (JU).nes'], |
| 33 | + ['Dr. Mario', 'local-roms/Dr. Mario (JU).nes'], |
| 34 | + ['Golf', 'local-roms/Golf (JU).nes'], |
| 35 | + ['The Legend of Zelda', 'local-roms/Legend of Zelda, The (U) (PRG1).nes'], |
| 36 | + ['Lemmings', 'local-roms/Lemmings (U).nes'], |
| 37 | + ['Lifeforce', 'local-roms/Lifeforce (U).nes'], |
| 38 | + |
| 39 | + ['Mario Bros.', 'local-roms/Mario Bros. (JU) [!].nes'], |
| 40 | + ['Mega Man', 'local-roms/Mega Man (U).nes'], |
| 41 | + ['Pac-Man', 'local-roms/Pac-Man (U) [!].nes'], |
| 42 | + ['Super Mario Bros.', 'local-roms/Super Mario Bros. (JU) (PRG0) [!].nes'], |
| 43 | + ['Tennis', 'local-roms/Tennis (JU) [!].nes'], |
| 44 | + ['Tetris', 'local-roms/Tetris (U) [!].nes'], |
| 45 | + ['Tetris 2', 'local-roms/Tetris 2 (U) [!].nes'], |
| 46 | + ['Zelda II - The Adventure of Link', 'local-roms/Zelda II - The Adventure of Link (U).nes'] |
47 | 47 | ],
|
48 | 48 |
|
49 | 49 | "Nearly Working": [
|
50 |
| - ['Duck Hunt', 'roms/Duck Hunt (JUE) [!].nes'], |
51 |
| - ['Super Mario Bros. 3', 'roms/Super Mario Bros. 3 (U) (PRG1) [!].nes'] |
| 50 | + ['Duck Hunt', 'local-roms/Duck Hunt (JUE) [!].nes'], |
| 51 | + ['Super Mario Bros. 3', 'local-roms/Super Mario Bros. 3 (U) (PRG1) [!].nes'] |
52 | 52 | ]
|
53 | 53 | })
|
54 | 54 | });
|
55 | 55 | });
|
56 | 56 | </script>
|
57 | 57 | </head>
|
58 | 58 |
|
59 |
| -<body><div id="wrapper"> |
| 59 | +<body> |
60 | 60 | <h1>JSNES</h1>
|
61 |
| - <p class="summary">A JavaScript <a href="http://en.wikipedia.org/wiki/Nintendo_Entertainment_System">NES</a> emulator. <small>By <a href="/">Ben Firshman</a> <a href="http://twitter.com/bfirsh">@bfirsh</a></small></p> |
62 | 61 |
|
63 | 62 | <div id="emulator"></div>
|
64 | 63 |
|
65 |
| -<script type="text/javascript"> |
66 |
| -digg_url = 'http://digg.com/playable_web_games/JSNES_A_NES_emulator_written_entirely_in_Javascript'; |
67 |
| - |
68 |
| -</script> |
69 |
| -<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script> |
70 |
| -<script type="text/javascript" src="http://www.reddit.com/button.js?t=1"></script> |
71 |
| - |
72 | 64 | <h2>Controls</h2>
|
73 | 65 | <table id="controls">
|
74 | 66 | <tr>
|
@@ -116,28 +108,6 @@ <h2>Controls</h2>
|
116 | 108 | <td>Num-3</td>
|
117 | 109 | </tr>
|
118 | 110 | </table>
|
119 |
| - |
120 |
| - <h2>About</h2> |
121 |
| - <p>A few months ago, I stumbled across Matt Westcott's excellent <a href="http://matt.west.co.tt/spectrum/jsspeccy/">JSSpeccy</a>. I had seen some pretty imaginative <a href="http://en.wikipedia.org/wiki/Canvas_(HTML_element)">canvas</a> creations, but JavaScript emulators? What a perfect idea for a daft new project.</p> |
122 |
| - <p>I got underway shamelessly porting <a href="http://www.virtualnes.com/">vNES</a> into JavaScript. Although not the most efficient, it didn't have any of the pointer memory mapping magic associated with emulators written in lower level languages. As such, it was more or less a direct port, bar a few tweaks to compensate for the lack of static typing, and obviously a rewrite of all the I/O.</p> |
123 |
| - <p>JSNES runs at full speed on <a href="http://www.google.com/chrome">Google Chrome</a> with a modern computer, so it is highly recommended you use that to play. On <a href="http://www.apple.com/safari/">Safari 4</a> it runs at almost full speed. Otherwise, it just about works on <a href="http://getfirefox.com/">Firefox 3.5</a>, but it's hardly playable.</p> |
124 |
| - <p>The source is available on <a href="http://github.com/bfirsh/jsnes/">Github</a>, contributions welcome!</p> |
125 |
| - |
126 |
| - <h2>News</h2> |
127 |
| - <h3>7th January 2010</h3> |
128 |
| - <p>It has been in the pipeline for a while, but JSNES can now play sound! There is no way of playing dynamically generated sound in JavaScript, but I have created a tiny Flash application reads a buffer from JavaScript then writes it to the sound card. I hope to release this as a reusable library, hopefully opening up many possibilities for cool sound applications such as <a href="/projects/jstunes/">jsTunes</a>.</p> |
129 |
| - <p>Playing sound probably won't run at full speed, but Chrome appears to be fastest.</p> |
130 |
| - |
131 |
| -<script type="text/javascript" charset="utf-8"> |
132 |
| - var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); |
133 |
| - document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); |
134 |
| - </script> |
135 |
| - <script type="text/javascript"> |
136 |
| - try { |
137 |
| - var pageTracker = _gat._getTracker("UA-6774621-1"); |
138 |
| - pageTracker._trackPageview(); |
139 |
| - } catch(err) {} |
140 |
| -</script> |
141 | 111 |
|
142 |
| -</div></body> |
| 112 | +</body> |
143 | 113 | </html>
|
0 commit comments