[00:12] *** Swizzle has quit IRC (Read error: Operation timed out) [02:00] *** Swizzle has joined #jsmess [02:10] How about tonight! [02:10] Do Jaguar first! [02:18] not sure I see a difference http://assets.metacade.com/emulators/jaguar-wasm-imprecise.html [02:23] Well, it still crashes my Canary. :) [02:23] hey baby [02:23] you [02:23] uh [02:23] really crash my canary [02:24] Crashes my firefox too [02:24] 1. Thanks for compiling it [02:25] Does it show the compile option in the console? [02:25] I'm going to get the Machine It Does Not Crash on shortly [02:26] looks like it doesn't log any info about the link flags, no [02:26] Bummmmmer [02:27] (Booting it on my working box) [02:28] there is some possibility I'm not passing the argument at the right point. I'm passing it while linking, which is where the other -s flag goe [02:28] goes* [02:32] Definitely worth having azakai|2_ looking at it [02:33] I do see a speed difference [02:33] it still crashes for me in ff nightly. maybe the benfits are ore pronounced there [02:36] Agreed, mine gets sick too [02:36] I keep sending crash reports [02:36] Because I'm That Guy [02:38] Maybe compile a different platform as well [02:38] Pacman speeds now, so I don't know if it'll show a difference in anything [02:46] yeah, even the really old builds ran pacman at 100% [02:46] So many weird options, so questionable stuff [03:14] *** Swizzle has quit IRC (Read error: Operation timed out) [03:36] *** azakai|2_ has quit IRC (Read error: Operation timed out) [03:43] So thanks [03:43] This continues to be a case of "so not prime time" [03:44] I'm thinking of pros and cons of opening these compilations to The World [03:49] *** azakai|2_ has joined #jsmess [04:03] oh yeah. I think the timeline for this stuff actually being enabled in browsers is like, next march [04:04] the "con" of opening it to the world is that like 50 people will actually understand what a wasm-enabled browser build and be able/willing to enable those flags [04:04] so a bunch of people will just go "I don't get it, that one just does nothing but holy shit, you can run pacman in a browser??" [04:05] Yeah [04:05] Still [04:05] Causing an explosion of interest is fine with me [04:59] hey all, how's it going? [04:59] Crazytown [05:00] any experiments with pushing emulation into a webworker? or just crazy webassembly stuff? [05:01] we did some webworker experiments - it was about as we expected. for the simple case where it's just a regular page with nothing else on it, the performance was abotu the same but there was a noticable amount more latency [05:02] it just felt sloppier, even though the framerate was the same - likely because it's still limited by single-core performance, and there's some slight delay added to both input and output by proxying it to the worker [05:02] damn. i was asking because of our other crazy idea -- iso mounting / streaming -- depending on synchronous xhr being an ok thing to do [05:03] it'll probably be a better situation when browsers get offscreen canvas support [05:03] it's not pure messagechannel latency? [05:03] although that may not help with the async fs problem [05:03] there's an asyncfs problem? [05:04] oh I see what you mean, I misread [05:04] you want to be able to do blocking xhr calls to handle blocking fs calls in the emulators [05:05] i want to be able to do blocking xhr calls to start up an emu before the iso finishes 100% downloading [05:05] but those are deprecated in the main thread, but allowed in workers [05:05] yup. [05:06] we were talking adding range request support to the XHRFS to support iso streaming [05:06] yeah [05:06] now I remember it all [05:07] we probably can't get the browser to gunzip, but you can just do that in javascript. real easy to add on top of the deflate support browserfs pulls in. [05:08] yeah, I use pako.js for handling gzipped data for other projects. you probably already have something built in for zipfs though? [05:08] full-on iso support is crazy for other reasons, though. like Chrome's 1.4GB heap limit. [05:08] yeah, zipfs uses pako's inflateRaw directly. [05:09] it parses the zip file format and passes a buffer full of compressed goodness to deflateRaw [05:09] sucks that browsers don't implement gzip and basic things like that as an API. I brought that up at a w3c event I went to a couple weeks ago, there was some general agreement that it would be useful but I dunno if that'll go anywhere [05:09] with webassembly you can probably make it fast enough anyway. [05:09] I'd love to get basic stuff like gzip, crc-32, md5, sha-*, etc. as just a standard browser function, implemented natively [05:10] yeah [05:10] that would be nice [05:10] in firefox it would be trivial to wire up the existing decoders, too [05:10] as a procrastination tactic, i actually started poking around the ISO 9660 standard in case i feel like hacking together an IsoFS. [05:10] heh [05:11] totally not useful for jsmess and other emulators that have native support for isos. [05:11] but cool for in-browser browsing of isos or something. [05:18] I'd love it [18:10] :( [18:10] ../../../../../src/lib/http/server.cpp:24:3: error: use of undeclared identifier 'signals_'; did you mean 'signal'? [18:10] signals_.add(SIGQUIT); [18:10] ^~~~~~~~ [18:10] signal [18:15] * db48x sighs [18:16] I can't help but wonder how code that doesn't compile gets checked in [18:19] it probably compiles on not-emscripten [18:20] no, there was a typo fix a few hours later that fixes it [18:27] Nobody's perfect [18:27] So, quick coordination, if we could [18:28] - Multi-image floppy thing would be nice. I'm about to finish the consolidation of Apple II duplicates, which will be followed by putting "Side 1"/"Side 2" item pairs into the same item [18:28] I agree that nobody is perfect, but excusing bad behavior just perpetuates it [18:34] SketchCow: really hard to do with MAME right now [18:34] very easy with SAE though [18:35] well, aside from designing a UI for the user to click on or whatever [18:35] which is the same in both cases [18:36] Right [18:36] I do realize the addition of the "load two floppy drives" will cut back a certain amount [18:37] So that work, as just done, will fix two other problems (items with two disks that can go in two floppies, and items that don't boot, where we can pair them with a "helper disk" that will boot and then allow emulator access to the non-booting floppy's files) [18:40] yea, it's a good way of fixing those [18:40] SO that's absolutely been a step in the right direction [18:41] Ultimately, my hope is that we eventually shove something in with a UI upgrade on IA itself for swapping images. [18:42] Even if that means some change to MAME itself [18:42] yea, the right way to do that is probably with MAME's lua scripting [18:43] So that's something. OK, tabled. [18:43] Next. [18:43] as in we write a lua script that changes which images are associated with which devices, and modify the loader to include that script and to use it [18:43] - We have people willing to make Macintosh work now, including a Javascript Macintosh emulator working and people with software [18:44] I haven't juiced them in the last couple of weeks but will likely do that [18:44] cool [18:44] that'll be fun to work on [18:44] Yeah [18:44] Naturally, IA asked me for "what do you need" and I said "pay a developer" and then it went deep into the fucking black hole [18:44] So steady as it goes on THAT front [18:45] heh [18:45] I have no excuses for it, it's just typical [18:45] We continue to have a one-man operation [18:45] I said that at an event and poor wendy having to go "HE MEANS he has a lot of support from folks" [18:45] ha HA ha [18:46] - The screenshotter's back on the new machine, which is good. If you feel like there's benefit to writing a canvas ripper, I'm not against this. [18:46] Luckily, nothing is going to be halted if you're not interested, but I do begin to see the advantage of this [18:49] I'm sure some of my stuff gets cropped, mistakes happen, etc. [18:51] Let's see, I think there was something else.... [19:17] re: a thing in here about telling people to enable the wasm flags [19:18] I know there's a specification for a WebAssembly Javascript API and theoretically you could detect wasm by checking if there's a WebAssembly property on the global object [19:18] I can't seem to do that in Firefox though [19:18] even with wasm enabled [19:18] The demo seems to know this [19:19] oh, I thought those messages were from the emscripten/binaryen support code [19:20] oh, maybe I can't do that detection because my firefox is too old to actually do native-wasm [19:20] never mind [19:21] SketchCow: nah he's talking about auto-detecting whether to serve you the wasm vs the asm.js version [19:21] right now I just have a page for each, to test side by side, but for the real-world stuff we'd want one version which picks the best [19:21] unfortunately the binary-interpret fallback method is slow as balls [19:22] it would be nice if that were the same speed as asm.js [19:26] bai: yeah, it's really super slow [19:27] actually [19:27] * yipdw_ checks Nightly [19:28] http://webassembly.org/demo/ [19:28] See? [19:30] yeah, no fallback, just two different buttons [19:30] ok, on Nightly, you *can* detect whether wasm is enabled by the presence or absence of the WebAssembly object [19:30] nice [19:31] I don't know if that applies to Chrome Canary but I hope so [19:31] yipdw_: I would imagine so yes [19:31] SketchCow: yeah, but as bai pointed out it's two buttons, and the interpreter fallback for wasm is really poor UX right now [19:31] like, for me, it locks up Nightly [19:31] whereas the asm.js one is smooth as silk [19:31] huh, actually the "webassembly" one does run smoothly on my regular chrome build [19:32] the console doesn't have the same messages about native-wasm vs binary-interpret [19:36] *** yipdw_ is now known as yipdw [19:54] (By the way, I think it's obvious that WASM has a pile of rough edges, and we're on the factory where they make the bleeding edge doing full-stop runs against prototype bleeding edges) [19:56] yeah, no rush on this stuff since it'll still be a few more months before it hits consumers [19:56] we provide great test cases for them though :D [19:56] I'm trying to force that [19:56] So I do have the roughly-floating concern we have things compiled "wrong" [19:56] I need to poke dreamlayers about em-dosbox and wasm. ran into some errors while compiling that [19:56] But azakai|2_ needs to wrigh in [19:57] yeah, I also sort of suspect the same, but would be nice to have him confirm whether the -s BINARYEN_IMPRECISE option is for compiling, linking, or both [19:57] I just don't want a nightmare where your valuable time is wasted spending 4 hours making A compile with option B only to be told "Oh, that's -B_A1 now" [19:58] The fact it all kind of "works" is a nice step [19:58] But we're definitely in the realm of "things broke" [19:58] I feel like I had another - thing to go over [19:59] Let me see... multi-image, mac, screenshotter, webassembly... [19:59] I mean, I'm obviously on a tear about "get things going better" [20:00] But that's more on me with metadata, verification scripts, etc [20:05] So, stepping back for a minute [20:05] In October, I made a decision to 1. Stay at the archive, 2. Not end up climbing a bell tower with a sniper rifle over things I can't change [20:06] both sound like good choices [20:06] Subsequently, the entire realm of "the interface on IA isn't good for software and needs something like defacto2 did", I tabled at that point [20:06] So there's a lot where I'm Marlin from Finding Nemo and staring down the trench [20:06] So one of them is that if the metadata is good, and the program isn't insanely challenging, we can emulate it at the Archive [20:08] From this, things we can do make sense, the loaderlab work is a good example of getting around the Trench [20:09] Fixing the duplicates with Apple II, combining items, then redoing the metadata, or writing things to link Apple II programs and manuals on the archive [20:10] Most of this shouldn't be a shock to anybody [20:10] Like, it's obvious that the Arcade shit up is ... probably all going to be fine going forward [20:10] It's worth it to fix the things and test them [20:13] What I REALLY want to do is find out how hard it is to asm.js VLC [20:13] That solves.... oh man [20:14] VLC the movie player? [20:14] yeah [20:14] I have ffmpeg.js [20:14] that could be equivalently useful [20:15] got a whole system with it running in a worker thread, I'm using it for encoding but it can be used for decoding video frames as well [20:15] Yeah, but VLC does a pile of things and provides controls [20:15] Playing DVD isos in the browser [20:15] Playing MIDIs. Playing crazy formats [20:15] yeah this is a raw "feed me data, I'll feed back frames" type of thing [20:17] https://gmarty.github.io/jsconf-2014-talk-play-dvd-in-js/ [20:17] I tried this. fail. [20:18] Plus, again, the MAME model.... let VLC spend the hellscape of negotiating media formats. [20:20] I'll write an entry on this [20:20] It's different than this project [20:32] *** Ravenloft has joined #jsmess [20:38] I like that the "I have DVDs" slide is a giant anime wall [20:39] not hating on anime; my DVD shelf would look like that too, except much less full [20:46] bai: it's a link-time option. all the wasm stuff happens only when converting bitcode into wasm [20:48] SketchCow: doing VLC is an amazing idea [20:50] though it fails on accessibility (same as an emulator does) which is a shame because it might not be too much harder to do the UI in an accessible way [20:55] azakai|2_: ok, that's what I thought. we didn't see a huge difference from using BINARYEN_IMPRECISE=1 - http://assets.metacade.com/emulators/jaguar-wasm-imprecise.html vs http://assets.metacade.com/emulators/jaguar-wasm.html if you wanna check it out [20:59] *** Swizzle has joined #jsmess [21:00] db48x: Agreed [21:00] There's now a #vlcjs [21:01] yipdw: The problem with his stuff is you basically have to cook everything into a massive middle format set, and it takes hours, and it's really jankily added. [21:01] SketchCow: yeah [21:01] I tried, it was sort of neat [21:01] But it was super rough edges [21:01] VLCjs gets around this by fixing things up [21:01] libav.js [21:01] Leaves it to the kids [21:01] actually is libav gone and ffmpeg back in play now [21:02] I can't keep those projects straight [21:02] I read into the politics there [21:02] They were HILARIOUS [21:05] By the way, people have a few minutes while I write my pitch blog entry to tell me "oh, we have better with _____" [21:05] But I've spent some time on and off over the last year and I don't think so [21:09] you still do want to transcode the vobs I think, streaming mpeg2 is just pissing away bandwidth [21:10] In other channel! [21:20] bai: makes sense, it just helps in certain corner cases (like a loop that has a float-to-int version in it) [21:21] bai: azakai|2_ has said he'll profile the webassembly, see what's holding up the works [21:24] I think there's more performance to be had with the direct-to-wasm compiles, but I'll be patient on that one :D [21:25] I of course always hold out there's a secret -REALLY_YOU_WANT_THIS_ONE option [21:36] So, I'm updating my mame pull and will be doing an arcade machine assessment [21:36] Make a "killed list" of ones I had to dark [21:36] And look at non-clones never tried [21:41] (For the record, 406 machines took it in the face.) [21:42] http://pastebin.com/27Un2v9R [21:43] * SketchCow takes off top hat [21:47] these were removed because of take-down notices, or because they don't work? [21:50] I think it's 100% takedown notices [21:50] At the time, I had a system for compiling them, I go in and look, it boots, up to the archive [21:50] 12 companies had a lot, a LOT of these licenses [21:51] So, like, Atari. They blew up 20+ [21:51] Hamster blew up like 60 [21:51] Nintendo, well ha ha ha ha ha HA HA HA [22:13] *** Swizzle has quit IRC (Read error: Operation timed out) [22:32] > Subsequently, the entire realm of "the interface on IA isn't good for software and needs something like defacto2 did", I tabled at that point [22:32] Righto [22:32] Well, like I said, I had proof this was an uphill battle at the archive [22:33] just out of curiosity, does IA export enough data in the right formats (JSON-P or something that lets another website's JS properly consume it), that a third-party site could provide a different UI on top of the IA materials, and still letting the IA serve the actual data/content? [22:33] Right or wrong. We aren't even moving on base accessibility in any meaningful way, even after the lead dev in charge of it quit in frustration [22:33] Vito`: Yes, that was intentional [22:33] are there any live examples of a third-party site being a different UI/index on top of IA content? [22:33] No [22:33] Wait [22:33] Of non-emularity, yes [22:33] Of emularity no [22:34] what's a non-emularity example [22:34] http://mediahistoryproject.org/fanmagazines/ [22:34] if someone building a really popular front-end for IA content is the kick in the pants someone needs ("we could be getting all this traffic and their banner ads could be donate buttons but you wouldn't resource me") maybe that's worthwhile [22:35] ha ha no it is not [22:35] I just linked an authorized one [22:35] Want unauthorized? Easy [22:35] http://www.mp4videodownloader.com/gettingstarted/ [22:36] http://www.behindthesteelcurtain.com/pittsburgh-steelers-nfl-features-news-blog-long-form/2016/11/7/13551612/inside-the-steelers-locker-room-facing-the-music-following-loss-to-ravens-pittsburgh-baltimore-audio [22:36] Authorized: http://www.getty.edu/research/exhibitions_events/exhibitions/alchemy/ [22:37] No, we seriously don't care [22:37] And then we fixed a bunch of stuff so the stuff that WAS killing our bandwidth simply doesn't [22:37] For a long time, people were uploading 250mb "GIFs" that were of course mp4s. [22:37] We killed that shit programatically [22:39] ah [22:39] well, it was a thought [22:39] I know [22:39] Believe me, you can't shock the system [22:39] This VLC.js proposal. Brewster has no idea about it. [22:39] One day, it will consume the archive [22:40] We have a lot of DVD ISOs. [22:40] DFJustin: What's an easy way to get all the mame machine names [22:41] Throwing me a pastebin counts