[00:02] try http://www.219.dic.at/tmp/add.js [00:03] work from back to front for line-numbers [00:03] that won't work [00:04] I can configure a hook in SAERunner, but SAERunner isn't in the same scope as the splash, runner, or muted variables :) [00:05] this._cfg.hook.event.started = function () { [00:05] console.log("test hook called"); [00:05] } [00:05] [00:05] let's see if that gets called [00:06] ic the problem :) [00:06] yea, that got called [00:07] naTmeg: what do you see? [00:08] have you updated? [00:08] updated what? [00:08] ahm,i meant about the scope [00:08] ah [00:09] I added a simpler hook instead [00:09] and yes, it calls the hook if I add it to the config earlier [00:09] ok, thats the normal way [00:11] all hooks works like that. they need to be setup prior to start() [00:12] ok, I swapped it so that it calls onStarted before start [00:14] bah, still doesn't work [00:15] maybe making a Emulator.getRunnerSplash(), returning runner and splash pointers for hook.event.started() ? [00:15] eww, no [00:16] ugly :) [00:19] or call Emulator.started() from hook.event.started(), a little less ugly [00:19] also not doable, since it would have to be called on the Emulator instance, not the Emulator class or function [00:20] hmm [00:21] I don't see what it's not working [00:21] the hook _is_ being called, now that I'm calling onStarted before start, but the sound is still playing [00:25] call start() afer onStarted() ? [00:25] I am [00:25] is sae.mute() == 0 ? [00:25] runner.onStarted(function () { [00:25] if (muted) { [00:25] runner.mute(); [00:25] } [00:26] splash.finished_loading = true; [00:26] splash.hide(); [00:26] }); [00:26] runner.start(); [00:26] [00:26] dunno, lemme check [00:26] oh, you updated that :) [00:28] i reloaed, now it's below, ok [00:29] hmm, should work [00:29] yes, it returns 0 [00:30] 0 is success, right? [00:30] yes [00:31] could also return 2 for not running [00:32] I've uploaded a new version; it prints out the error number if it isn't 0 [00:41] i think it get overwriten in audio.js:384, cos reset_sound() belongs to "reset", which will be called after the hook [00:43] muted = paused = false; [00:44] why does it reset at the start of emulation? [00:44] to clear and setup things [00:45] that's initialization :) [00:45] normaly :) [00:45] +l [00:45] :) [00:46] can you trick that line. it's hard for me to update now. [00:56] if i press the mute-button in chrome, i get an error-msg that the emul is not running, even if it's running [00:56] yes, that's a known bug [00:56] ah ok [00:56] the page bypasses the loader and just tries to call SDL_PauseAudio [00:57] since that doesn't exist, it just assumes that the emulator isn't loaded [00:57] would a wrapper help? [00:58] would a wrapper around what help with what? [00:58] SDL_PauseAudio -> sae.mute [00:58] heh, I guess that'd be one way to do it [00:58] :) [00:58] I'd rather just wait and fix the button [01:01] how does the reset function in audio.js get called? [01:03] on startup an so-called hardreset is called, means memeory is also cleared. also the cpu may call a softreset anytime. [01:04] can we call the hook after the hard reset? [01:04] it get call with many other in the soft/hardreset-routine [01:05] maybe hook.events.reseted but i'm not sure when this exaltely get called now [01:06] yes, try this. move the mute-stuff to reseted() and leave the rest in started() [01:08] done and uploaded [01:11] it worked :) [01:12] so? here not [01:12] reloading... [01:12] did you run AJS.emulator.muted() before starting the emulation? [01:13] ups [01:15] yes, does work also here :) [01:15] sweet [01:16] of course, the button is still broken [01:17] such a small button and such a troublemaker :p [01:17] yep [01:17] full-screen is worse though [01:18] that is, another chapter. requires many work [01:18] yes [01:22] so what about this: [01:22] diff --git a/sae/audio.js b/sae/audio.js [01:22] index 3989f09..305015b 100644 [01:22] --- a/sae/audio.js [01:22] +++ b/sae/audio.js [01:22] @@ -381,7 +381,7 @@ function SAEO_Audio() { [01:22] } [01:22] [01:22] function reset_sound() { //reset_sound() [01:22] - muted = paused = false; [01:22] + paused = false; [01:22] [01:22] cache.readoffset = 0; [01:22] cache.writeoffset = 0; [01:27] please move muted = paused = false; to the first line of setup_sound() [01:34] ok merged. i was too slow, sorry for the abuse. [01:34] abuse? [01:34] :) [01:35] I hadn't noticed any [01:35] on the other hand, you do use tabs for indentation... [01:37] yes? [01:37] using tabs for indentation could be seen as a kind of abuse [01:38] hehe [01:39] Hey hey hey [01:39] SketchCow [01:55] *** n00b125 has quit IRC (Ping timeout: 268 seconds) [02:29] Snapshotting at full bore [02:32] Converting everything to stream_only just to avoid annoying people. [02:35] Also, there should be no "orange errors" ones anymore. [02:35] All should have been murdered [02:48] OK! All stream_only now. [02:48] All with proper metadata names. [02:48] All with proper metadata dates, and authors, where that information was around. [02:51] Now it's just screenshotting. [02:51] There's a chance a couple of them finished a "first run" and then didn't regenerate, I'll double-check [03:38] OK, db48x [03:38] I now have it not working on both Chrome and Firefox on my home machine. [03:38] "Failed to download game data!" [03:39] I suspect when it was stream_only, it [03:39] "poisioned" it the way something else was "poisioned" [03:39] I wonder if there is a cookie or thing related to BrowserFS happening [03:39] Happy to find something for you if needed to diagnose [03:42] hrm [03:44] SketchCow: some titles can not be started anymore. is that on purpose? [03:46] It's a function of stream_only. I'm undoing stream_only [03:46] oh :) [03:46] Yeah [03:47] I dumped a LOT of stuff into the queue, I have to wait for it to finish [03:47] Might cause the poor screenshotters to fail on a lot. [03:47] I can re-run the orange killer though [03:54] *** GLaDOS has quit IRC (Ping timeout: 260 seconds) [04:15] *** naTmeg has quit IRC (Leaving) [04:17] *** GLaDOS has joined #jsmess [04:20] OK, stream_only is out [04:21] *** GLaDOS has quit IRC (Ping timeout: 260 seconds) [04:22] *** GLaDOS has joined #jsmess [04:33] SketchCow: can you show me a screenshot of a broken one with the messages in the console? [04:35] *** GLaDOS has quit IRC (Ping timeout: 260 seconds) [04:37] https://www.flickr.com/photos/textfiles/28225337143/in/dateposted/ [04:37] https://www.flickr.com/photos/textfiles/28735535702/in/dateposted/ [04:38] can you show the console instead of the debugger? [04:40] https://www.flickr.com/photos/textfiles/28809107556/in/dateposted/ [04:40] or go to the gear icon on the right-hand side there and set it to pause on exceptions, then reload [04:40] oh, UnknownError from BrowserFS [04:47] jvilk: I don't suppose you're lurking, are you? [04:49] It's 12:48 where we both live, so maybe he won't be here until tomorrow or something. [04:49] But it might be something baked in there. [04:49] We have persistence for DOSBOX, maybe it's screwing us here [04:50] (By the way, Hip Hop Mixtapes passed 8.3 million listeners as of end of July) [04:53] * bai Likes this [04:53] Doing another pile of Orange screenshot murders, because I think they broke during all stream_only [04:57] (and a bunch of other stuff) [07:02] *** GLaDOS has joined #jsmess [10:35] Oranges cleaned [10:36] PILE of brand new Apples added [11:00] *** mavs has joined #jsmess [11:58] *** naTmeg has joined #jsmess [12:36] Absolutely verified, Amiga screenshotters, all five, going at full bore [12:39] hi SketchCow, it's going viral now. +500 views on some titels in the last 6h :) [12:41] I saw [12:41] It's going to flare [12:41] It's too nice [12:41] was to lazy to work today, changed with thursday. too much action :) [12:42] or better too busy [12:42] so many news-articles [12:43] Ha [12:43] In germany [12:46] I can see referrers. [12:46] http://www.cdaction.pl/news-46193/10-tysiecy-gier-z-amigi-za-darmo-dzieki-archiveorg.html [12:46] http://www.heise.de/newsticker/meldung/Internet-Archive-10-000-Amiga-Spiele-online-spielen-3289718.html [12:46] https://tweakers.net/ [12:46] http://www.pcwelt.de/news/10.357-Amiga-Spiele-im-Browser-spielbar-10022956.html [12:46] http://www.sweclockers.com/forum/trad/1438137-amiga-spel-gratis [12:46] https://news.ycombinator.com/ [12:46] http://betanews.com/2016/08/08/play-amiga-games-in-your-browser/ [12:46] http://www.metafilter.com/ [12:47] http://www.pcwelt.de/news/10.357-Amiga-Spiele-im-Browser-spielbar-10022956.html [12:47] http://www.epicbundle.com/article/games-for-free-internet-archive-s-amiga-classics [12:48] So... yeah [12:48] people like it [12:49] Well, of course they do. [12:49] So yeah, I guess you're going to get more players this week than the entire length of your project. [12:49] But it's a big public stage. [12:50] yeah also some one sae.net now [12:51] i'm so happy that we bring amiga back to light, it's big days [12:52] Ans almost everybody is absolutely delighted! [13:30] https://twitter.com/gschmidl/status/762641937996345345 [16:56] db48x: When you're available, I'd like to track down possible solutions to the failing 4am collection boots. [16:58] SketchCow: I'm available [17:01] OK, one moment while I pretend I'm in a meeting [17:02] :) [17:02] Do you understand the situation with the 4am collection. [17:02] not specificially [17:04] OK. So, the main thing is that 4am really doesn't like avoiding using spaces in filenames. [17:04] Having things named like "Bank Street Cooking Love (4am Crack).dsk" [17:04] and somehow those are causing troubles [17:04] We originally had a solution of "make a second image called 00playable.dsk". That made it Just Work. [17:05] It would boot the thing up, off that. [17:05] Now, the new "load everything in when we start up" made that stop working again. [17:05] Hacky solution: Just load in alphabetical order, it will boot off the main disk. [17:05] Might do that just to push it down the road. [17:07] Let me experiment right now. [17:08] No. [17:09] jvilk: Your help needed, by the way. [17:10] So, the problem is that the thing will try to download all the .dsk images, and it will fail because they have spaces. [17:10] yea, I'm trying to figure out why it's failing [17:11] It's definitely choking on spaces in filenames. That's the source of the problem, flat out. [17:11] How we solve it is a different thing. [17:11] Also, it's quite obvious that something is "wrecked" with the firefox on my machine. [17:11] I will going to try clearing the cache and seeing if that "fixes" it [17:12] yea, but spaces in the filename shouldn't cause an error [17:13] Cleared cache and cookies in Firefox. [17:13] Restarting [17:14] No, it still fails. [17:15] did you get the sourcemap for browserfs installed on the server? [17:15] No. [17:15] I don't know how [17:15] I just uninstalled firefox. [17:15] it's in the loaderlab, just copy it along with browserfs.js [17:24] Complete re-install, problem is still there. [17:24] SketchCow: as far as I can see, the problem is with the cors_get.php script [17:27] downloading these files from the browser works because the request doesn't have to go through the php script [18:21] And they will never support spaces. [18:21] Not really. [18:21] And I can't get them to move on it. [18:24] is it because it's hard to fix, or because they don't want to sink time into something that's going to be replaced with an nginx configuration? [18:35] maybe we can help them get rid of the cors_get.php script entirely? [18:42] that would save a redirect and running the script on every request [19:04] Another screenshotter "went orange" [19:06] were you able to copy the sourcemap over? [19:06] I need to get someone to do that. [19:06] Let me see about that. What's the file? [19:06] https://archive.org/download/loaderlab/browserfs.min.js.map [19:07] Request made [19:09] thanks [19:11] back in a bit [19:12] I have to chase down and destroy an errant screenshotter. [19:13] Like a shitty version of Blade Runner [19:29] Found it. [19:29] Time..... to die [20:26] heh [20:38] https://archive.org/download/loaderlab/browserfs.min.js.map is going in [20:43] awesome [20:43] now when you stop at that exception in the debugger, it'll show you the real source [20:44] and maybe we can figure out what's going on [20:51] After I see why this screenshotter isn't working (might need to kill it, bringing us to just 4) [20:51] I'll try out the problem [21:09] OK, let's see. [21:10] if (!this._isInitialized) { [21:10] throw new ApiError(ErrorCode.EPERM, "OverlayFS is not initialized. Please initialize OverlayFS using its initialize() method before using it."); [21:10] } [21:23] hrm [21:23] what's the next thing up the call stack? [21:34] }private checkInitialized(): void { [21:34] if (!this._isInitialized) { [21:34] throw new ApiError(ErrorCode.EPERM, "OverlayFS is not initialized. Please initialize OverlayFS using its initialize() method before using it."); [21:34] } [21:35] see the call stack tab? [21:35] to the left of the source? [21:35] what's the next item up in the list? [21:35] MountableFileSystem.ts [21:36] next? [21:37] I'm looking for the first one that's part of the loader, as opposed to part of browserfs [21:39] https://www.flickr.com/photos/textfiles/28239409754/in/dateposted/ [21:39] saveat, line 831 [21:40] can you click on that and show me what line it is? [21:41] it must be game_data.fs.writeFileSync('/'+ filename, new Buffer(data), null, flag_w, 0x1a4); [21:43] which is weird [21:44] oh, I see [21:45] Verified, it is. [21:45] ok, having clicked on that item in the call stack, can you look on the right-hand side and see what value the variable 'e' has? [21:48] Where is that [21:48] (I never do anything like this.) [21:48] on the right, under variables [21:48] e (optimized away) [21:48] heh [21:53] Ready to answer any other questions [21:53] well, I don't quite know what's going wrong [21:54] but [21:55] ok, if you grab the new loader.js from the loaderlab, it should at least print out what e was [21:55] part of the problem here is that I was ignoring a previous error [21:56] we're initializing the OverlayFS, it has an error, we ignore the error and try to write to it anyway, we get a different error [21:56] When you say "grab" [21:56] You mean, make them shove it in? [21:56] yep [21:56] I could test it in the loaderlab with my thing [21:56] Right? [21:57] sure [21:59] Failed to initialize the OverlayFS: Object { syscall: "", errno: 0, code: "EPERM", path: null, stack: "f@https://archive.org/download/load.", message: "Error: EPERM: OverlayFS is not init." } [22:00] dwwell [22:00] that seems to be telling us that we can't initialize the overlayfs because the overlayfs isn't initialized :P [22:14] I sent him an email [22:15] Great [22:17] since he's such an inveterate lurker [22:21] If you want fun: [22:21] https://www-giovanni.archive.org/details/color-computer-magazine-1983-04 [22:21] Click on the magnifying glass next to book reader [22:22] Goes to full view [22:22] click on 'search inside' [22:22] book, search text in book [22:22] neat [22:34] db48x: So we're at "hey, jvilk" [22:34] Right? [22:35] yea [23:17] *** naTmeg has quit IRC (Leaving) [23:48] MAN, THAT GUY [23:49] heh [23:50] *** Coderjoe has quit IRC (Read error: Operation timed out) [23:59] *** Coderjoe has joined #jsmess