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 |