[04:47] *** logchfo_1 starts logging #jsmess at Thu Sep 10 04:47:34 2020 [04:47] *** logchfo_1 has joined #jsmess [04:49] *** godane has quit IRC (Ping timeout: 260 seconds) [04:49] *** godane has joined #jsmess [05:48] *** dboard420 has quit IRC (Read error: Operation timed out) [05:50] *** dboard420 has joined #jsmess [06:59] *** Sgeo_ has quit IRC (Read error: Connection reset by peer) [09:38] *** LordNigh2 has joined #jsmess [09:39] *** Lord_Nigh has quit IRC (Ping timeout: 272 seconds) [09:39] *** LordNigh2 is now known as Lord_Nigh [13:03] S's. [13:06] I could rename these files to fit the old template, but I think that's stupid since we're now talking about monthly recompiles. [13:07] So I'd like to work on loader.js when bai looks up from the swirl of the second kid, or you could take a hack, DF [13:56] V's [14:40] *** Sgeo has joined #jsmess [17:32] Z's [17:35] Well, we're pretty much done. Now what. [17:52] We started 1942 at Tue Sep 8 03:25:30 UTC 2020 and finished at Tue Sep 8 04:14:12 UTC 2020 [17:52] We started zx at Thu Sep 10 17:33:18 UTC 2020 and finished at Thu Sep 10 17:38:05 UTC 2020 [17:53] So there we go. Took about.... 2 days. [18:07] SketchCow: I can't commit to doing much coding on that sort of thing for another couple weeks, I'm already a bit swamped trying to find time to work on this film festival that's supposed to be going live on the 20th, but I should have some more time after that [18:28] Well, I will stumble around and make you folks respond. [18:28] I am POSITIVE this is a one-two line change, I'm going to figure it out. [18:29] oh, maybe I misunderstood when you said "an alternate loader" [18:29] I thought you were talking about writing a new version of emularity [18:29] Oh no [18:29] NO no [18:29] NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO [18:29] oo [18:29] OOOOOOOOOOOOOOOOOOOOOOOOOOOO [18:29] No, I mean it's looking for the wrong files since it appears we changed things. [18:29] I'm definitely available for any troubleshooting and surgical bubblegum patching :D [18:29] We went from that *_wasm_wasm.wasm horseshit we were living [18:30] Now it's just driver.js.gz and driver.wasm.gz [18:30] So I just need to read this: [18:30] https://github.com/db48x/emularity/blob/master/loader.js [18:30] and figure out where that's formed. [18:31] https://github.com/db48x/emularity/blob/master/loader.js#L744 [18:32] Oh shit [18:32] Oh shiiiiiiiiiiiiiiiiiiiiiiiiiiiiiit [18:32] looks like there's a modulecfg.wasmjs_filename and modulecfg.wasm_filename [18:33] I believe MAMELoader is called by IALoader, which grabs all the files here https://github.com/db48x/emularity/blob/master/loader.js#L193-L203 [18:33] https://i.imgflip.com/4eii2x.jpg [18:33] :D [18:34] let me go look. [18:35] { [18:35] "name": "Mr. Do's Castle", [18:35] "arcade": "1", [18:35] "js_filename": "mamedocastle.js.gz", [18:35] "bios_filenames": [ [18:35] "" [18:35] ], [18:35] "driver": "docastle", [18:35] "wasmjs_filename": "mamedocastle_wasm.js.gz", [18:35] "wasm_filename": "mamedocastle_wasm.wasm.gz", [18:35] "file_locations": { [18:35] "mamedocastle_wasm.wasm": "mamedocastle_wasm.wasm.gz" [18:35] So, obviously in theory the js.filename "Just Works" [18:36] I'm starting firefox with webassembly turned off. [18:37] Interesting. Javascript just died. [18:37] Uncaught ReferenceError: WebAssembly is not defined [18:37] ah, yeah so the file_locations stuff is telling the virtual filesystem, "to make the file named 'mamedocastle_wasm.wasm', fetch 'mamedocastle_wasm.wasm.gz' and make its contents available with that name" [18:38] https://ia801902.us.archive.org/18/items/emularity_engine_v1/docastle.json [18:38] So, take a look [18:38] and then "wasm_filename" points to...wait no....uhh yeah I'm not sure why it's specifying it in file_locations actually since it does look like it just fetches it normally with get_js_url [18:38] https://github.com/db48x/emularity/blob/master/loader.js#L607-L609 [18:38] There are two files generated: [18:39] mamedocastle.js.gz [18:39] mamedocastle.wasm.gz [18:39] There are two old files. [18:40] mamedocastle.wasm.js.gz [18:40] mamedocastle_wasm.wasm.gz [18:40] I'm going to delete those now, so we're trapped [18:41] so I think what that's about is - emscripten used to generate both targets, asmjs and wasm, because it would compile to asmjs and then turn the asmjs into wasm, and we were like "that's great, we'll serve them both, for backwards compatability" [18:41] The deletion has been set off. [18:42] asmjs target is just a .js file, while wasm target is a .wasm file and the .wasm.js file that sets up the environment for that [18:42] So, js_filename has absolutely not changed. [18:43] but now, emscripten skips straight to compiling to .wasm, there's no asmjs intermediary - there's still a js file, but it's what used to be named .wasm.js [18:43] What, in your opinion, should be the new settings in docastle.js [18:43] Oh, so you think right now we only do wasm? [18:43] I think that wasmjs_filename should be "mamedocastle.js.gz", wasm_filename should be mamedocastle.wasm.gz, and js_filename no longer exists [18:43] Oh. [18:44] OK, so I'm going to take a flying leap at this. [18:45] "driver": "docastle", [18:45] "wasmjs_filename": "mamedocastle.js.gz", [18:45] "wasm_filename": "mamedocastle.wasm.gz", [18:45] "file_locations": { [18:45] "mamedocastle.wasm": "mamedocastle.wasm.gz" [18:45] Kiij giid> [18:45] Look good? [18:45] I think so. let me just make sure it's not gonna go all weird if there's no js_filename specified at all though [18:46] yeah as long as the browser supports wasm, it should be fine [18:46] Yeah, I think that's just what we have to do. [18:47] Deletes are in for docastle in emularity_engine_1 [18:47] I'm not sure if any browsers are out there any more that we care about that don't support it - there's still a way to generate asmjs builds separately if we absolutely need to, we just don't get it "for free" anymore [18:47] https://archive.org/details/arcade_docastle fails, let's see why [18:47] (Could be a bunch of shit, including IA still dealing with the changes.) [18:48] it's trying to grab https://cors.archive.org/cors/emularity_engine_v1/mamedocastle_wasm.wasm.gz [18:48] GEThttps://ia601902.us.archive.org/cors_get.php?path=%2F18%2Fitems%2Femularity_engine_v1%2Fmamedocastle_wasm.wasm.gz [18:48] There's the error. [18:48] What's the fix. [18:48] https://ia801902.us.archive.org/18/items/emularity_engine_v1/docastle.json still seems to be the old json [18:49] Yeah, let's give it a moment, then. [18:49] It just takes a WHILE [18:49] TICK TOCK [18:50] And then I only need to fix it 2,706 more times! [18:50] And then all the fucked up ROMs! [18:50] Why don't we do this every month! [18:51] :D [18:51] https://archive.org/details/arcade_docastle [18:51] Booting with 0.224 [18:51] at least this should be a once-in-a-lifetime change [18:51] asmjs can only get kicked to the curb once [18:52] I guess maybe one day there'll be wasm2 and we'll have to do the electric boogaloo all over again [18:53] So.... [18:53] It looks like: [18:53] 1. No loader change [18:53] 2. we murder Javascript [18:53] 3. We make a few changes to the *.json files and it "just works" [18:54] 4. cross our fingers and pray [18:54] Well, luckily, we can rough-test this as many times as we want. [18:54] Like, just step through things [18:55] 3a4 [18:55] > "js_filename": "mamedocastle.js.gz", [18:55] 18,19c19,20 [18:55] < "wasmjs_filename": "mamedocastle.js.gz", [18:55] < "wasm_filename": "mamedocastle.wasm.gz", [18:55] --- [18:55] > "wasmjs_filename": "mamedocastle_wasm.js.gz", [18:55] 5. deal with the one person who leaves comments on every item saying "0/5 stars, I used to play this on my library potatocomputer from 1998 running ie6, and suddenly it doesn't work anymore, I demand you drop everything and fix this [18:55] > "wasm_filename": "mamedocastle_wasm.wasm.gz", [18:55] 21c22 [18:55] < "mamedocastle.wasm": "mamedocastle.wasm.gz" [18:55] --- [18:55] > "mamedocastle_wasm.wasm": "mamedocastle_wasm.wasm.gz" [18:55] We are going to, accurately, ascribe this to security [19:15] https://archive.org/details/arcade_docastle [19:15] So, I need to go to a training thing but. [19:15] I notice in fullscreen, it flips out. [19:20] fullscreen seems ok in chrome, lemme check ff [19:21] oh yeah, I see it in firefox [19:21] seizure-inducing [20:16] my firefox doesn't like it at all [20:16] Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://cors.archive.org/cors/emularity_engine_v1/mamedocastle_wasm.wasm.gz. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing). [20:16] Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://cors.archive.org/cors/emularity_engine_v1/mamedocastle_wasm.wasm.gz. (Reason: CORS request did not succeed). [20:17] ah works in private browsing mode [20:17] sounds like a cached json config [20:18] yeah [20:19] fullscreen works too [23:37] I've set someone on it [23:37] It's not a showstopper, we're going forward. [23:38] I have been zopfli'ing for 3 hours [23:38] ha HA ha