| Time | Nickname | Message | 
    
        | 00:00
            
                ๐ |  | ted has quit IRC (Read error: Operation timed out) | 
    
        | 00:02
            
                ๐ |  | balrog has joined #jsmess | 
    
        | 00:02
            
                ๐ | SketchCow | OK, let's do this. | 
    
        | 00:02
            
                ๐ | SketchCow | LET'S DO THISSSSSSSSSSSSSSSSSSSSSSSSS | 
    
        | 00:09
            
                ๐ | bai | YEAH!!! | 
    
        | 00:09
            
                ๐ | bai | wait, what are we doing? | 
    
        | 00:12
            
                ๐ | DFJustin | <("<) (>"<) (>")> | 
    
        | 00:14
            
                ๐ | DFJustin | แฆ(รฒ_รณห)แค | 
    
        | 00:20
            
                ๐ |  | Vito` has quit IRC (Ping timeout: 260 seconds) | 
    
        | 00:21
            
                ๐ |  | davidar has quit IRC (Ping timeout: 260 seconds) | 
    
        | 00:21
            
                ๐ |  | davidar has joined #jsmess | 
    
        | 00:23
            
                ๐ |  | arkiver has quit IRC (Ping timeout: 615 seconds) | 
    
        | 00:25
            
                ๐ |  | arkiver has joined #jsmess | 
    
        | 00:28
            
                ๐ | SketchCow | I'm going to write a combiner for the multi-sided items in C64. | 
    
        | 00:28
            
                ๐ | SketchCow | It's going to collapse a bunch and dark a bunch obviously | 
    
        | 00:28
            
                ๐ | SketchCow | But let's get Side A-Side B on the fucking road | 
    
        | 00:29
            
                ๐ | SketchCow | Also, I have a quest for Sgeo_ when he is ready | 
    
        | 00:29
            
                ๐ | SketchCow | The Quest of All Quests | 
    
        | 00:29
            
                ๐ | SketchCow | A Quest so important, money could be involved for him | 
    
        | 00:29
            
                ๐ | SketchCow | But first... combining | 
    
        | 00:33
            
                ๐ | SketchCow | root@teamarchive2:/2/C64# bash COMBINORS | 
    
        | 00:33
            
                ๐ | SketchCow | Paste in the Side A item. | 
    
        | 00:33
            
                ๐ | SketchCow | https://archive.org/details/Last_Ninja_The_1987_System_3_Side_A | 
    
        | 00:33
            
                ๐ | SketchCow | Last_Ninja_The_1987_System_3_Side_A it is. | 
    
        | 00:33
            
                ๐ | SketchCow | Is there a side B item? | 
    
        | 00:33
            
                ๐ | SketchCow | There is, there is. | 
    
        | 00:33
            
                ๐ | SketchCow | I will therefore shove Last_Ninja_The_1987_System_3_Side_B.d64 from Last_Ninja_The_1987_System_3_Side_B into Last_Ninja_The_1987_System_3_Side_A | 
    
        | 00:46
            
                ๐ | Sgeo_ | o.O | 
    
        | 00:48
            
                ๐ | SketchCow | ia search emulator:vice-resid identifier:*Side_A --itemlist | wc -l | 
    
        | 00:48
            
                ๐ | SketchCow | 1831 | 
    
        | 00:48
            
                ๐ | SketchCow | That's right, it's 1831 items | 
    
        | 00:58
            
                ๐ | SketchCow | It's running! | 
    
        | 00:58
            
                ๐ | SketchCow | So it's doing just A-B items now. | 
    
        | 00:59
            
                ๐ | SketchCow | (Easier to write the code to do the C-F ones as a separate run, including regenerating fliplist.) | 
    
        | 01:00
            
                ๐ | SketchCow | https://archive.org/details/softwarelibrary_c64_games?and%5B%5D=emulator%3Avice-resid+%22NOW+COMBINED%22&sin= | 
    
        | 01:01
            
                ๐ |  | ted has joined #jsmess | 
    
        | 01:13
            
                ๐ | SketchCow | Oh, so | 
    
        | 01:13
            
                ๐ | SketchCow | The guy who I said would be furious about the C64 emulation did his next salvo | 
    
        | 01:13
            
                ๐ | SketchCow | He tattled about us to the current owners of Epyx. 90 generally emulated items now off the viewable emulations on the Archive | 
    
        | 01:16
            
                ๐ | bai | I wonder how much he actually makes per year on that | 
    
        | 01:17
            
                ๐ | SketchCow | Not much, I bet | 
    
        | 01:36
            
                ๐ | Sgeo_ | Some of those side Bs actually run by themselves | 
    
        | 01:41
            
                ๐ | SketchCow | Gotta revisit frankly | 
    
        | 01:41
            
                ๐ | SketchCow | I will take the loss of second-side boots over the amount of disks that wanted a second-side and didn't boot at all to them | 
    
        | 01:47
            
                ๐ |  | SketchCow sets mode: +oooo arkiver balrog godane Lord_Nigh | 
    
        | 01:47
            
                ๐ |  | SketchCow sets mode: +oo Sgeo_ ted | 
    
        | 01:50
            
                ๐ | SketchCow | Another 299 gone. :) | 
    
        | 02:02
            
                ๐ | SketchCow | OK, sides C, D, E, F all plunked into their A counterparts. | 
    
        | 02:05
            
                ๐ |  | Vito` has joined #jsmess | 
    
        | 02:10
            
                ๐ | SketchCow | B is obviously taking some time., | 
    
        | 02:10
            
                ๐ | SketchCow | Also, obviously I need to then splash disks into each other as well. | 
    
        | 02:12
            
                ๐ | SketchCow | So, Sgeo_ | 
    
        | 02:13
            
                ๐ | SketchCow | I consider your work on Vice basically done. Like, maybe you can convince yourself to shave the yak further, but this thing's a clear and great done thing. | 
    
        | 02:19
            
                ๐ | Sgeo_ | :) thank you | 
    
        | 02:22
            
                ๐ | SketchCow | I offer the next quest | 
    
        | 02:25
            
                ๐ | SketchCow | I don't know how much you know this, but the structure of MAME is "wrong" for Emularity. | 
    
        | 02:30
            
                ๐ | Sgeo_ | I saw comments in Emularity that seemed like they were referencing something like that, I don't recall the precise details | 
    
        | 02:32
            
                ๐ | SketchCow | So, MAME works. Obviously Emularity-Version-MAME works. | 
    
        | 02:32
            
                ๐ | SketchCow | Like, it's not a "doesn't work vs. work" thing | 
    
        | 02:33
            
                ๐ | SketchCow | But in the conversion from MAME's code to JS/WASM, there's a set of conditions in place that, while they work, absolutely skyrocket the CPU usage, unnecessarily. | 
    
        | 02:34
            
                ๐ | SketchCow | And in almost every case, causes notable clicking and shuddering if the machine isn't up to the task, or even if it is. | 
    
        | 02:34
            
                ๐ | SketchCow | DOSBOX-js, however, does it "right". It only clicks and shudders if the machine is truly not fast enough | 
    
        | 02:34
            
                ๐ | SketchCow | (SAE/Amiga does something even crazier, it actually doppler-effects.) | 
    
        | 02:35
            
                ๐ | SketchCow | And PCE-js works "right" | 
    
        | 02:35
            
                ๐ | SketchCow | But MAME is, as you know, nearly 1,700 emulators to the others, i.e. 99% of our emulation | 
    
        | 02:35
            
                ๐ | SketchCow | So what is messed there, the vast majority are messed. | 
    
        | 02:36
            
                ๐ | SketchCow | We've done everything we can to optimize. We've had massive improvements on the compiler. We've had massive speedups on javascript and WASM engines in browsers. And we've even come up with a weird custom sound hook. | 
    
        | 02:36
            
                ๐ | SketchCow | But what really needs to happen | 
    
        | 02:36
            
                ๐ | SketchCow | .... is a patch set. | 
    
        | 02:37
            
                ๐ | SketchCow | One that shifts the flow of MAME for each new version and shoves it into a different flow that works with Emscripten. | 
    
        | 02:37
            
                ๐ | SketchCow | bai did a bit of work in this direction for proof. DFJustin has some of the magic in his head | 
    
        | 02:38
            
                ๐ | SketchCow | We even got MooglyGuy and Aaron Giles to at least describe the problem before they both had to withdraw from the pure blasphemy of it | 
    
        | 02:38
            
                ๐ | SketchCow | This is important enough that I'm happy to see about you getting some sort of honorarium for taking it on | 
    
        | 02:38
            
                ๐ | SketchCow | We can dump a pile of docs on you. | 
    
        | 02:39
            
                ๐ | bai | yeah I did a write-up of the problem, I can dig it up if you can't find it | 
    
        | 02:39
            
                ๐ | SketchCow | You showed the skill with VICEjs to make this happen. Ideally, like the VICE approach, it's a series of minimal patches to change the program flow and then you or others in the future noting when the patches fall out of sync. | 
    
        | 02:39
            
                ๐ | SketchCow | But basically: Fork MAME | 
    
        | 02:39
            
                ๐ | SketchCow | There's even a chance they'll ingest it into the flow, as part of the compile option in the future. | 
    
        | 02:40
            
                ๐ | SketchCow | And maintain it themselves. | 
    
        | 02:42
            
                ๐ | Sgeo_ | I'd like to see the write-ups and documents | 
    
        | 02:43
            
                ๐ | SketchCow | Yeah, let's find them | 
    
        | 02:44
            
                ๐ | bai | https://docs.google.com/document/d/1FHmn1kO3PGYYCRJejZsZMFk_BxWer_pOaTUANRFroM8 | 
    
        | 02:45
            
                ๐ | SketchCow | That's them | 
    
        | 02:45
            
                ๐ | bai | the long and short of it is that MAME uses the typical native busy-loop which just cranks through at a certain rate and advances the emulator by that many timeslices each loop | 
    
        | 02:45
            
                ๐ | bai | whereas emscripten breaks it up into asynchronous callbacks | 
    
        | 02:45
            
                ๐ | SketchCow | Right. As I understand this, part of the problem is it uses the video routines to do EVERYTHING | 
    
        | 02:45
            
                ๐ | bai | and there's some subtle difference in the timing when you do it that way | 
    
        | 02:45
            
                ๐ | SketchCow | So video drives timing instead of the other way around | 
    
        | 02:45
            
                ๐ | bai | yeah | 
    
        | 02:46
            
                ๐ | SketchCow | I consider a miniscule sacrifice in timing accuracy to be a perfectly acceptable thing in service of this working | 
    
        | 02:46
            
                ๐ | SketchCow | Because right now it murders CPUs and it doesn't have to | 
    
        | 02:48
            
                ๐ | Sgeo_ | Hmm. VICEjs uses emterpretify, but I got lucky that VICE doesn't need to do sync calls (including sleep) during the main loop, only in the menus | 
    
        | 02:48
            
                ๐ | SketchCow | Let me stress, if this was a super easy fix, it'd have been done | 
    
        | 02:48
            
                ๐ | bai | well, timing inaccuracies are part of why we get the stuttering, but yeah, fixing the maxed-cpu part would give us a lot ore leeway with that | 
    
        | 02:48
            
                ๐ | SketchCow | That's the part | 
    
        | 02:48
            
                ๐ | bai | yeah mame uses usleep heavily for ensuring timing, I believe | 
    
        | 02:49
            
                ๐ | bai | there is one other option which has become more of a possibility since this article was written, which is to run MAME entirely in a worker | 
    
        | 02:49
            
                ๐ | bai | then the fact that it's doing a cpu-maxing busy loop is less of a problem, albeit still a bit rude | 
    
        | 02:50
            
                ๐ | SketchCow | Problem is that we lose the ability to make it run less hot everywhere | 
    
        | 02:50
            
                ๐ | SketchCow | Phones can run mame in the browser if we get that CPU usage down | 
    
        | 02:51
            
                ๐ |  | SketchCow sets mode: +o Vito` | 
    
        | 02:51
            
                ๐ | SketchCow | VICE Disk consolidation is now down to the M's. | 
    
        | 03:35
            
                ๐ |  | azakai_ has joined #jsmess | 
    
        | 06:18
            
                ๐ |  | hook54321 has joined #jsmess | 
    
        | 07:54
            
                ๐ |  | gamingrob has quit IRC (Read error: Connection reset by peer) | 
    
        | 07:55
            
                ๐ |  | gamingrob has joined #jsmess | 
    
        | 09:40
            
                ๐ |  | gamingrob has quit IRC (Ping timeout: 260 seconds) | 
    
        | 09:40
            
                ๐ |  | gamingrob has joined #jsmess | 
    
        | 09:43
            
                ๐ |  | Vito` has quit IRC (Ping timeout: 260 seconds) | 
    
        | 09:43
            
                ๐ |  | Vito` has joined #jsmess | 
    
        | 09:47
            
                ๐ |  | davidar has quit IRC (Ping timeout: 260 seconds) | 
    
        | 09:47
            
                ๐ |  | davidar has joined #jsmess | 
    
        | 09:50
            
                ๐ |  | Vito` has quit IRC (Read error: Connection reset by peer) | 
    
        | 09:50
            
                ๐ |  | Vito` has joined #jsmess | 
    
        | 09:50
            
                ๐ |  | Vito` has quit IRC (Read error: Connection timed out) | 
    
        | 09:50
            
                ๐ |  | Vito` has joined #jsmess | 
    
        | 09:56
            
                ๐ |  | gamingrob has quit IRC (Ping timeout: 260 seconds) | 
    
        | 09:56
            
                ๐ |  | gamingrob has joined #jsmess | 
    
        | 09:59
            
                ๐ |  | balrog has quit IRC (Read error: Operation timed out) | 
    
        | 09:59
            
                ๐ |  | pfalleno1 has quit IRC (Read error: Operation timed out) | 
    
        | 09:59
            
                ๐ |  | balrog has joined #jsmess | 
    
        | 10:00
            
                ๐ |  | Sgeo has joined #jsmess | 
    
        | 10:00
            
                ๐ |  | zino has quit IRC (Read error: Operation timed out) | 
    
        | 10:00
            
                ๐ |  | Sgeo_ has quit IRC (Read error: Operation timed out) | 
    
        | 10:07
            
                ๐ |  | azakai_ has quit IRC (Read error: Operation timed out) | 
    
        | 10:14
            
                ๐ |  | azakai has joined #jsmess | 
    
        | 10:25
            
                ๐ |  | zino has joined #jsmess | 
    
        | 10:29
            
                ๐ |  | gamingrob has quit IRC (Ping timeout: 260 seconds) | 
    
        | 10:29
            
                ๐ |  | gamingrob has joined #jsmess | 
    
        | 10:37
            
                ๐ |  | gamingrob has quit IRC (Ping timeout: 260 seconds) | 
    
        | 10:37
            
                ๐ |  | gamingrob has joined #jsmess | 
    
        | 16:05
            
                ๐ | SketchCow | Sgeo: What do ya think! | 
    
        | 16:14
            
                ๐ | Sgeo | I'll start reading through the code soon, but I'm not at all sure about being able to fix things. | 
    
        | 16:14
            
                ๐ | Sgeo | AFK | 
    
        | 16:23
            
                ๐ |  | azakai has quit IRC (Ping timeout: 255 seconds) | 
    
        | 16:57
            
                ๐ | SketchCow | I have faith | 
    
        | 16:57
            
                ๐ | SketchCow | HUGE faith | 
    
        | 16:57
            
                ๐ | SketchCow | You've got a braintrust here that can answer any question | 
    
        | 18:18
            
                ๐ | shattered | what's for dinner? :) | 
    
        | 18:31
            
                ๐ |  | ted has quit IRC (Remote host closed the connection) | 
    
        | 18:35
            
                ๐ |  | ted has joined #jsmess | 
    
        | 19:37
            
                ๐ | SketchCow | Swedish Meatballs | 
    
        | 20:02
            
                ๐ | SketchCow | I'm now smashing all _Disk_2_of items into _Disk_1_of items | 
    
        | 20:02
            
                ๐ | SketchCow | This will drop another 800+ items into multi-disk versions | 
    
        | 21:30
            
                ๐ | SketchCow | bai: You think that's notch's problem, he's being misrepresented? | 
    
        | 21:32
            
                ๐ | bai | SketchCow: I think there was definitely some aspect of that, yes | 
    
        | 21:33
            
                ๐ | bai | I think he sometimes does a poor job of expressing complex ideas and it's easy to misinterpret them with the worst possible explanation | 
    
        | 21:37
            
                ๐ | bai | I dunno if I can really clarify too much without triggering a whole thing, but one case that comes to mind was when he tweeted something about not believing affirmative action was a good solution and everyone took it to mean he's a white suppremacist | 
    
        | 21:38
            
                ๐ | bai | when you reach that level of celebrity, people are just waiting in the wings to jump on everything you say and spin it in the worst possible light | 
    
        | 21:39
            
                ๐ | bai | I know I've said plenty of dumbass shit over the past 20 years on irc that could be used as ammo to paint me in a poor light | 
    
        | 21:39
            
                ๐ | SketchCow | notch is, objectively, a terrible person. | 
    
        | 21:39
            
                ๐ | bai | irony and sarcasm has a way of getting completely lost when people are motivated to interpret things in a certain light | 
    
        | 21:40
            
                ๐ | SketchCow | And now he's a terrible person with a billion dollars. | 
    
        | 21:40
            
                ๐ | SketchCow | I seriously don't think he needs a wingman. | 
    
        | 21:41
            
                ๐ | SketchCow | And the IRC stuff is awesomeeeeee | 
    
        | 21:41
            
                ๐ | SketchCow | Speaking of terrible people | 
    
        | 21:41
            
                ๐ | SketchCow | I've begun turning on Amiga stuff again | 
    
        | 21:43
            
                ๐ | bai | it's not so much that I'm wingmanning him, it's that watching that whole thing as it developped reinforced my own insecurities about what happens when you find success and unwittingly become a public figure whose every words are picked apart to find meaning which probably wasn't really your intent | 
    
        | 21:43
            
                ๐ | SketchCow | I think you can find better nightmares than his nightmare. | 
    
        | 21:43
            
                ๐ | SketchCow | He's a really terrible guy. | 
    
        | 21:44
            
                ๐ | SketchCow | I have lots of other people forced into a spotlight where it destroyed them or ruined them, and I have much more sympathy. | 
    
        | 21:46
            
                ๐ | bai | well, you're probably more familiar with the feeling than I, given your own somewhat controversial semi-celebrity status :D | 
    
        | 21:47
            
                ๐ | SketchCow | So, I blocked notch some time ago (feels good, man) so I haven't checked on him lately | 
    
        | 21:47
            
                ๐ | SketchCow | But unless he's become the dalai lama | 
    
        | 21:48
            
                ๐ | bai | there's a certain dgaf-about-the-haters attitude that you have to adopt, and I think he took the wrong tact of trying to engage and clarify which as we all know only makes things worse | 
    
        | 21:48
            
                ๐ | SketchCow | https://twitter.com/notch/status/936295448184348672 | 
    
        | 21:49
            
                ๐ | SketchCow | https://pbs.twimg.com/media/DDvMH9mU0AEUN66.jpg:large | 
    
        | 21:51
            
                ๐ | SketchCow | Anyway, he's a garbage human being but these IRC logs are just nerds testing a program | 
    
        | 21:51
            
                ๐ | SketchCow | And talking about what's hard and easy to put in | 
    
        | 21:51
            
                ๐ | bai | it's a complicated topic and he's certainly a shitidiot about expressing what I think he actually means | 
    
        | 21:52
            
                ๐ | SketchCow | You give him so much credit | 
    
        | 21:52
            
                ๐ | SketchCow | This is an adorable flaw! | 
    
        | 21:53
            
                ๐ | SketchCow | But I am fine with this flaw because you're generous to work on an insane programming project with solid ramifications but thanksless years of labor. | 
    
        | 21:56
            
                ๐ | SketchCow | Taking a short nap, then recording a couple podcasts which I promise will not be about notch | 
    
        | 21:56
            
                ๐ | bai | :D | 
    
        | 22:07
            
                ๐ | DFJustin | in other news, I thought there was a bug in the new emscripten version fucking over mame but after going back and trying incrementally newer versions now it works again | 
    
        | 22:07
            
                ๐ | DFJustin | so hooray I guess | 
    
        | 22:10
            
                ๐ | DFJustin | bgfx isn't working until https://github.com/kripken/emscripten/pull/7506 goes in but I don't think we're running that publicly anyway |