[05:21] *** DFJustin has quit IRC (Remote host closed the connection) [05:26] *** DFJustin has joined #jsmess [06:16] *grumble* I got all this refactoring the mame guys wanted done, and the system works how it used to while using their preferred code structure, but now the feature I set out to implement in the first place no longer works [07:39] bai: make clean? [07:39] check nested #ifdefs [07:40] debug output before and up to that point. [07:40] date/time checks on those object files. [07:41] assert conditions to execute said code. [07:43] With what you've said so far it 'feels' like an #ifdef. Perhaps passed to the Makefile. [07:43] You know what they say. Always go back to the data. [07:43] ( At least in maths ;p ) [09:59] 6:00am. time for bed. [10:32] *** JohnTalen has quit IRC (Quit: leaving) [15:05] A minor but important (to me) thing: https://archive.org/details/emularity_engine_v1 now has an actual description. [15:05] It needs a much better one, but it was nothing for years because the system was choking on it [18:47] nice [20:17] where does that 6M views number come from [20:22] Anytime something grabs from it [20:31] which means any time anyone starts up an emulator [20:34] Right [22:40] *** JohnTalen has joined #jsmess [22:51] hah, so here's a conundrum. I got everything working with the new code structure, and while I was at it I even added features like "actually being able to tell the emulator to quit" [22:51] but mame's default binding for insta-quit is esc [22:52] which is a problem in browsers because people hit esc for all kinds of reasons there [22:52] so do I include this fix and we push out config changes to rebind that to something less common, or do I just leave the patch out and let someone else discover than it's unquittable at some point down the line? :D [22:53] that* [23:06] bai: what was the issue yesterday with it? [23:08] if you pass -confirm_quit 1 to mame then esc is no longer insta-quit [23:09] well, the way they wanted me to restructure the code actually introduced a subtle inversion of logic. it was doing something like, if (!paused) { while (machine.time() < stoptime) { machine.timeslice(); } } - but after rearranging the functions they didn't like, it ended up executing as while (machine.time() < stoptime) { if (!paused) { machine.timeslice(); } } [23:09] so it was entering into the loop when paused, but would never advance the system time because it was paused [23:11] then there was another subtle bug with loading saved states where it was properly loading the state, but because the state includes the system time, it would then hang while it simulated forward enough ticks to reach the current time [23:13] So, I am fine with us having to do a range of config files. [23:14] As part of the work with this, doing a round of improvements is a-ok [23:14] Just keep improving the thing, I say [23:26] bai: interesting. [23:27] i had a feeling it was some sort of conditional. You're definition described it perfect.