[03:33] Oh, wonderful [03:34] I was in the warehouse all day [03:38] Wait a minute [03:39] { [03:39] "name": "Atari2600", [03:39] "js_filename": "mamea2600.js.gz", [03:39] "bios_filenames": [""], [03:39] "peripherals": ["cart"], [03:39] "native_resolution": [352,223], [03:39] "extra_args": [""], [03:39] "driver": "a2600" [03:39] } [03:39] Where do I add that [03:51] Anyone have ideas - bai [03:51] arkiver: Ops please [03:56] db48x: hey [04:22] Also, it complains about no .wast file [04:56] (i left it up, broken, so you can see) [05:16] the order of the lines doesn't matter [05:17] But do I just literally put that in [05:18] one tweak needed: "file_locations": { "mamea2600.wasm": "mamea2600.wasm.gz" } [05:18] I just don't know JSON in this [05:18] note that this value is not an array (with square brackets), it's a hash (with curly brackets) [05:18] Like, do I put that under the thing above? [05:19] https://hastebin.com/lajeyecace.json [05:19] we're adding a property called file_locations to the object [05:19] the value of that property is itself an object [05:20] btw, firefox has a JSON view that is handy for this [05:20] if you load https://ia801906.us.archive.org/7/items/emularity_engine_v1/a2600.json you'll see it [05:20] Added [05:21] yea, now it looks right [05:21] Error: Don't know how to find file: mamea2600.wast [05:23] the extension there is unexpected [05:23] It's looking for some sort of text thing [05:24] It's in the javascript [05:24] oh, hrm [05:25] var wasmTextFile=Module["wasmTextFile"]||"mamea2600.w [05:25] ast";var wasmBinaryFile=Module["wasmBinaryFile"]| [05:25] oh, I see [05:25] it hasn't even decided which it needs [05:25] so really this is a bug in Emularity; we shouldn't throw an error [05:26] ok, for the purposes of this test, let's just extend the JSON [05:28] ok, Firefox, let's get going... [05:29] here: [05:29] file_locations: { "mamea2600.wasm": "mamea2600.wasm.gz", [05:29] "mamea2600.wast": "mamea2600.wast.gz", [05:29] "mamea2600.asm.js": "mamea2600.asm.js.gz" }, [05:31] Uploaded [05:31] same error but it could just be dumbmess [05:32] { [05:32] "name": "Atari2600", [05:32] "js_filename": "mamea2600.js.gz", [05:32] "bios_filenames": [""], [05:32] "peripherals": ["cart"], [05:32] "native_resolution": [352,223], [05:32] "extra_args": [""], [05:32] "driver": "a2600", [05:32] "file_locations": { "mamea2600.wasm": "mamea2600.wasm.gz", [05:32] "mamea2600.wast": "mamea2600.wast.gz", [05:32] "mamea2600.asm.js": "mamea2600.asm.js.gz" }, [05:32] } [05:33] if you load it in Firefox 54 you'll see an error message [05:34] although I'll admit that it's a little obscure, since the real error is that you have an extra comma on the end [05:36] I took out the last m [05:36] comma [05:36] and now it works [05:36] I still get the error [05:38] Yeah, my phone and my desktop here get the same error [05:39] hrm [05:39] I don't [05:40] when you load https://ia801906.us.archive.org/7/items/emularity_engine_v1/a2600.json, do you see the .wast and .asm.js lines? [05:40] I'll name "Atari2600" [05:40] js_filename "mamea2600.js.gz" [05:40] bios_filenames [05:40] 0 "" [05:40] peripherals [05:40] 0 "cart" [05:41] native_resolution [05:41] 0 352 [05:41] 1 223 [05:41] extra_args [05:41] 0 "" [05:41] driver "a2600" [05:41] file_locations [05:41] mamea2600.wasm "mamea2600.wasm.gz" [05:41] mamea2600.wast "mamea2600.wast.gz" [05:41] mamea2600.asm.js "mamea2600.asm.js.gz" [05:41] yep [05:41] Error: Don't know how to find file: mamea2600.wast loader.js:224:14 [05:41] locateAdditionalJS https://archive.org/includes/loader.js:224:14 [05:41] integrateWasmJS https://cors.archive.org/cors/emularity_engine_v1/mamea2600.js.gz:1:3038268 [05:41] https://cors.archive.org/cors/emularity_engine_v1/mamea2600.js.gz:1:6452978 [05:41] That's the error that stops the show [05:44] maybe I make a dummy file? [05:44] Made one just to see [05:47] Something's broke [05:48] what item are you testing with? [05:48] https://archive.org/details/demo_derivative_2600_dma_2015 [05:49] Found the problem [05:50] oh, that uses a different config file [05:50] exactly [05:53] Fixing [05:54] why is there an asm.js version that's separate from the regular js version? [05:54] isn't asm.js going to work in any js [05:55] Vito`: for asm2wasm mode [05:55] it falls back through several methods: [05:55] // wasm.js has several methods for creating the compiled code module here: [05:55] // * 'native-wasm' : use native WebAssembly support in the browser [05:55] // * 'interpret-s-expr': load s-expression code from a .wast and interpret [05:55] // * 'interpret-binary': load binary wasm and interpret [05:56] // * 'interpret-asm2wasm': load asm.js code, translate to wasm, and interpret [05:56] // * 'asmjs': no wasm, just load the asm.js code and use that (good for testing) [05:56] [05:56] A2600p and A2600 now both work [05:57] Can we do a800 before I turn in? [05:57] That's one where I know there's sound issues [05:57] there's no a800 driver [05:57] Oh, there's atari400 [05:58] building atari400 [06:00] I have to modify 5 .json files for it, so you know it's special to me [06:00] :) [06:01] anything interpreted is way too slow to use [06:01] yea, we won't actually bother to make that file available [06:01] SketchCow: it's built [06:03] -rw-rw-r-- 1 db48x staff 72607154 Jul 9 05:59 mameatari400.asm.js [06:03] -rw-rw-r-- 1 db48x db48x 3407896 Jul 9 06:00 mameatari400.js [06:03] -rw-rw-r-- 1 db48x staff 9739352 Jul 9 06:00 mameatari400.wasm [06:03] those are the ones [06:03] I do all three? [06:04] you don't need the .asm.js file [06:11] You will be shocked to hear I'm hitting errors [06:12] an example? [06:12] https://archive.org/details/Preppie_1982_Adventure_International_US [06:12] Error: Don't know how to find file: mameatari400.asm.js [06:12] { [06:12] "name": "Atari 800", [06:12] "js_filename": "mameatari400.js.gz", [06:12] "bios_filenames": ["a800.zip"], [06:12] "peripherals": ["flop1"], [06:12] "native_resolution": [336,225], [06:12] "extra_args": [""], [06:12] "driver": "a800", [06:12] "file_locations": { "mameatari400.wasm": "mameatari400.wasm.gz", [06:12] "mameatari400.wast": "mameatari400.wast.gz", [06:12] "mameatari400.asm.js": "mameatari400.asm.js.gz" } [06:12] } [06:13] I don't get that error [06:13] Nice, it started working. [06:14] Everything's not zoomed in anymore [06:14] I wonder what it's identifying as now [06:14] zoomed in? [06:15] Yeah, it's showing 1x instead of 2x [06:22] OK, here's the question... is it using webassembly? [06:22] (all of them are fixed now, all 5) [06:22] well, it loads the wasm file [06:24] I just don't know! [06:24] But I'm glad we have this in place [06:24] we can inspect it on machines, etc. [06:27] Thank you! [06:27] We're running webassembly biiiiiitches [06:29] https://github.com/copy/v86 is the emulator we were discussing, db48x [06:32] it would be handy if it printed out which version it's running [06:35] *** DFJustinZ has joined #jsmess [06:35] niiiice [06:36] *** DFJustin has quit IRC (Remote host closed the connection) [06:38] *** DFJustin has joined #jsmess [06:50] gotta figure out how to build all the "drivers" we have [06:50] for example, the "a800" driver is apparently really "atari400" :P [06:56] mame -listsource a800 [06:57] I don't even _have_ a mame executable :P [06:57] I've just got all of these js files [07:17] *** DFJustin has quit IRC (Remote host closed the connection) [07:17] we should set up build which does nothing but listsource, heh [07:19] *** DFJustin has joined #jsmess [07:24] *** DFJustin has quit IRC (Remote host closed the connection) [07:40] 1 [07:50] *** DFJustin has joined #jsmess [10:03] *** DFJustinZ has quit IRC (Remote host closed the connection) [14:55] So, I'm not sure where the lack of zoom is coming from. [14:59] The compile time speed is truly ridiculous. [15:02] uncaught exception: no binaryen method succeeded. consider enabling more options, like interpreting, if you want that: https://github.com/kripken/emscripten/wiki/WebAssembly#binaryen-methods [15:04] SketchCow: how did you manage that? [15:04] it should fall back to asmjs [15:04] I turned off .wasm [15:04] To see what it would do. [15:04] javascript.options.wasm in about:config [15:04] Just doing the testing we do. :) [15:07] hrm [15:12] We MIGHT want to haul Kripken in on this [15:12] Since we're doing this the first time, etc. [16:05] But we're at a good point. It doesn't work in usual Javascript, of course, but we can address [16:05] And it's Sunday, Kripken won't likely be around. [16:10] I pinged him. [16:10] ted______: Yo [16:11] So, other piece - the resolution/scaling. [16:11] There's something goofy there, which may or may not be the Archive being "clever" [16:57] ah [18:41] will investigate [21:05] sorry, I figured it out and then got distracted [21:05] turns out the documentation is slightly lacking [21:05] by default it only runs wasm and doesn't tall back to anything [21:06] you have to specifically ask it to fall back to asmjs [21:06] I rebult a2600 and atari400 with that option, if you want to give it a try [21:07] this time you will need the .asm.js file in addition to the .js and .wasm files [21:07] one thing I notice is that the .asm.js files seem to be humongous [21:13] oh, there was one oddity though, which is that it started making .mem files again [21:44] *** azakai has joined #jsmess [22:29] hey, azakai advised a different way [22:29] i am at warehouse, now driving back, will do loads when I get there [22:32] *** azakai has quit IRC (Quit: Ex-Chat) [22:33] *** azakai has joined #jsmess [23:47] Here I am hack at the thing.