[03:37] 0.239 has dropped [06:06] Hey there. [06:06] So, I started the work on it. [06:06] I started the compiles, etc. [06:06] And of the first two, both break [06:06] DFJustin: If you have any thoughts [06:24] Ah I see [06:30] I see what you said up there [06:30] We are going to have major issues implementing this when we're not on the same time zones at al. [06:41] But, anyway [06:41] I have a2600 going. [06:41] It blows up thusly: [06:42] Starting Atari 2600 (NTSC) ':' [06:42] loader.js?v=51c75c55:1053 exception thrown: 11235952 [06:42] atari_2600_pitfall_1983_cce_c-813:1 Uncaught (in promise) 11235952 [06:43] But otherwise, it's booting 0.239 right [06:45] I simply renamed a2600.js to mamea2600.js, renamed a2600.wasm to mamea2600.wasm, gzipped, uploaded, it works. [06:45] If that is causing something to explode let me know [07:09] you didn't update emscripten [07:11] the minimum requirement is now 2.0.25 but I would recommend the latest 3.0.1 [07:11] sorry I wasn't as explicit about that as I thought [07:16] versions over 2.0.7 will fail to install on fos due to outdated python so you will need to use teamarchive1 or another box [07:19] OK. [07:20] I can just dump emscripten in, right, it'll go over the thing [07:20] https://emscripten.org/docs/getting_started/downloads.html#updating-the-sdk [07:21] you will need to do a clean rebuild of mame after the update, easiest way is to rm -rf mame/build [07:22] I'm not sure what you mean by that question [07:22] Emscripten answered it [07:22] In teamarchive1 I'm extremely clean on the setup [07:23] So it's all in /1/EMSCRIPTEN [07:23] I went in there and followed update instructions, it told me to do a git pull and then so on [07:23] rm -rf mame/build done [07:24] after rebuilding now it might just work, there were two other problems I thought might occur but the a2600 is getting past both of them [07:24] Emscripten is now at 3.1.0 [07:24] I'm running the thing now, hopefully it juuuuust works [07:25] actually I take that back the buffer undefined error could still happen [07:25] https://twitter.com/textfiles/status/1476078725531897856 this caused the usual joy [07:26] Suppose I should double-check the compile settings in my MASTERBUILDER script [07:27] emmake make -j4 SUBTARGET=$driver SOURCES=src/mame/drivers/${driver}.cpp NOWERROR=1 REGENIE=1 [07:28] So, I don't think the rename trick is bad to do this round, do you [07:28] looks good, you can increase -j4 to -j8 or decrease it to -j2 depending on how many cores the box has and how busy you want to make it [07:28] I just try to avoid messing with loader.js, it's brittle [07:28] I didn't think the rename trick would work but it seems to have [07:30] I expected it to be possible to rename the js but not the wasm [07:31] there may be a loader change needed but I don't think it would be in loader.js itself [07:39] The first build always takes foreverrr [07:43] Linking 1942.html... [07:43] warning: undefined symbol: glPopAttrib (referenced by top-level compiled C/C++ code) [07:43] warning: undefined symbol: glPushAttrib (referenced by top-level compiled C/C++ code) [07:45] We started 1942 at Wed Dec 29 07:24:32 UTC 2021 and finished at Wed Dec 29 07:45:29 UTC 2021 [07:47] those warnings are OK [07:47] 1942 is getting uploaded. [07:47] As usual, it will take a small bit of time to reflect [07:48] And I backed up all the emularity in case of fallout so it's easy to back out [07:50] https://archive.org/details/arcade_1942 [07:50] Works. [07:52] nice [07:53] I mean, I don't see a huge speed jump. [07:53] But I assume that's some thing for specific stuff [07:54] We started 1943 at Wed Dec 29 07:45:29 UTC 2021 and finished at Wed Dec 29 07:48:35 UTC 2021 [07:54] We started 1945kiii at Wed Dec 29 07:48:35 UTC 2021 and finished at Wed Dec 29 07:51:56 UTC 2021 [07:54] So, based on that, about 3 minutes a driver. [07:55] apple2gs was specifically sped up this release but other than that probably nothing major on the mame side [07:55] Oooo [07:55] may be some benefit from newer emscripen/clang or could be worse [07:55] See, I was led to believe from the phrasing it'd be a bunch of things. [07:55] 1942 was already solid 100% I think so not a good testcase [07:55] Yeah, the only main good test cases are dc [07:55] And that one insane linux-on-a-chip one [07:56] Where people scream in the reviews [07:59] testing with the windows version, looks like a decent speedup on apple2e as well [08:04] Wrote a little script to upload the items as we go. [08:12] One thing this does come to light is that it's time to get things working doc-wise with the arcade machines [08:12] I went ahead and really blasted up the set [08:13] jackpotlounge is handled. [08:13] But internetarcade and internetarcadeturbo [08:13] That's 2,800 games [08:22] I think we have your bug in the a2600 [08:23] Cannot read properties of undefined (reading 'ENOTSUP') [08:25] that's something different [08:28] at first glance I don't know what's causing it [08:29] everything I ran into myself would have affected every system equally [08:32] a7800 blows up the same way [08:32] *** Sgeo has quit IRC (Read error: Connection reset by peer) [08:33] If I had to guess, the arcades are working and the "add this medias" are not [08:33] Because it's trying to tell the browserfs something bad [08:34] I'll see if bai is around [08:36] Bai, we're getting explosions when things reach out for other things [08:36] i.e. arcade machines seem fine. [08:36] Two game consoles did not. [08:36] (a2600 and a7800) [08:36] In those, we get: [08:37] browserfs.rollup.js:2399 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'ENOTSUP') at $.readlink (browserfs.rollup.js:2399) at Object.readlink (mamea2600.js.gz:1) at Object.doReadlink (mamea2600.js.gz:1) at ___syscall_readlink (mamea2600.js.gz:1) at 04b85052:0x51b1b2 at 04b85052:0x51b034 at 04b85052:0x26135d at 04b85052:0x21693b at 04b85052:0x18307f at 04b85052:0x66f4fb [08:37] $.readlink @ browserfs.rollup.js:2399 [08:37] readlink @ mamea2600.js.gz:1 [08:37] doReadlink @ mamea2600.js.gz:1 [08:37] ___syscall_readlink @ mamea2600.js.gz:1 [08:37] $func9869 @ 04b85052:0x51b1b2 [08:37] $func9868 @ 04b85052:0x51b034 [08:37] $func4232 @ 04b85052:0x26135d [08:37] $func3747 @ 04b85052:0x21693b [08:37] $func3359 @ 04b85052:0x18307f [08:37] $func11409 @ 04b85052:0x66f4fb [08:37] $func23507 @ 04b85052:0xbd3c6b [08:37] $func11029 @ 04b85052:0x62955c [08:37] $func11030 @ 04b85052:0x629aed [08:38] $wk @ 04b85052:0xc3292d [08:38] Module._main @ mamea2600.js.gz:1 [08:38] callMain @ mamea2600.js.gz:1 [08:38] doRun @ mamea2600.js.gz:1 [08:38] run @ mamea2600.js.gz:1 [08:38] runCaller @ mamea2600.js.gz:1 [08:38] removeRunDependency @ mamea2600.js.gz:1 [08:38] receiveInstance @ mamea2600.js.gz:1 [08:38] receiveInstantiationResult @ mamea2600.js.gz:1 [08:38] Promise.then (async) [08:38] just crawled into bed so I can't dig too deep....readlink implies we're using symlinks? and maybe the fs type we're using doesn't support them? [08:38] instantiateArrayBuffer @ mamea2600.js.gz:1 [08:38] instantiateAsync @ mamea2600.js.gz:1 [08:38] createWasm @ mamea2600.js.gz:1 [08:38] (anonymous) @ mamea2600.js.gz:1 [08:38] 04b85052:0xe96ed Uncaught RuntimeError: null function or function signature mismatch at 04b85052:0xe96ed at Object.Module.__ZN13sound_manager4muteEbh (mamea2600.js.gz:1) at MAMERunner.value (loader.js?v=51c75c55:1163) at loader.js?v=51c75c55:1685 [08:40] https://archive.org/details/arcade_actfancr also blows up [08:41] So, I'll give us a day to figure it out, and then I need to back these out. [08:41] (I can put in a few of the others, of course, but these are definitely indications it's hit or miss.) [08:41] I'm sure it's a simple solution. [08:42] actfancr is something different again [08:42] localStorage, IndexedDB, and MountableFilesystem don't support symlinks...in fact it looks like "emscripten" is the only fs backend that does, I'm not really sure ehat that means with our setup [08:42] Well, I'm going to do this [08:42] a2600 runs for me with a different loader so I think it's emularity-related [08:42] I'm going to backout a2600 [08:42] Just because that has lots of stuff people use [08:43] I'm going to leave a7800 broken [08:43] Since nobody cares about a7800 [08:43] harsh [08:43] (Especially as we have it set up) [08:43] Well, our 7800 is super crippled because atari basically told me to take 100% down [08:44] But a2600 actually has users on our site [08:44] and if stuff breaks they WILL start filling up an actual staff we have now [08:44] it used to be it would forward to me [08:45] now 12 people will take a shot at it [08:45] a2600 at normal. [08:45] So, I'm going to bed myself, maybe we can think out a7800 and what's causing that issue [08:45] I mean, covid and all [08:50] So, right now, I'm going to [08:50] - Let the compiler run [08:51] - Cherry-pick a few ones (apple2gs, apple) that were cited as faster [08:51] - Put them in, back out if they die [08:51] My priorities right now need to be recovery from covid and podcast recording before end of month. [08:51] But I can try a few. [08:52] I see I don't add 39-in-1 which is silly. After it's done compiling, I'll do it, just to see if it's faster. [08:52] https://archive.org/details/arcade_39in1 [08:52] I love this fucking thing, it is chef's-kiss-annoying to people [08:53] Currently 17% speed [08:54] ok, best wishes on your recovery [08:54] Thanks so far [08:56] a quick search through the mame codebase for calls to readlink doesn't turn uo anything that hasn't been there for 6+ years so I don't think anything changed there [08:59] I'll do some more digging tomorrow [15:12] *** Sgeo has joined #jsmess [17:34] Sleep was for the weak, and I am, weak [17:34] The compiler is down to the d's [17:42] Suppose I should bite the bullet and try apple2e [17:44] Apple2e clicking in, backout at the ready [17:51] browserfs.rollup.js:2399 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'ENOTSUP') [17:52] I've pulled apple2e back [17:52] Also stopping the compiling because clearly this problem is endemic [17:53] I am going to make 39in1 just in case, though :) [18:04] Ha ha, 39in1 is SLOWER. [21:57] Anyway, we can revisit, but the rush is over - the disadvantages outweigh advantages, and it's worth figuring out what's busting. [21:57] And also, since we have bounced up to Emscripten 3.1.0, I bet alon might have some generalized hints for us. [22:02] I've reached out to Alon to ask. [22:52] Just throwing some things at him, to see if anything jumps out [22:59] Where's the compilation lines in the code for mamedev again? [23:23] https://docs.mamedev.org/initialsetup/compilingmame.html#emscripten-javascript-and-html [23:23] https://github.com/mamedev/mame/blob/mame0239/scripts/genie.lua#L1150 [23:24] not sure what question you were asking but guessing it's one of those two [23:35] Second one was [23:36] I am always on the hunt for some amazing upgrades emscripten made, which we didn't know to add GIRAFFENECK=1 to the options [23:36] Followed by being told adding USE_WEBGL2 in any context is like making an infant smoke [23:37] John Vilk says he'll come look [23:38] there's some simd option I was meaning to look at [23:43] I do wish the runtime was smaller