Time |
Nickname |
Message |
03:33
🔗
|
SketchCow |
Oh, wonderful |
03:34
🔗
|
SketchCow |
I was in the warehouse all day |
03:38
🔗
|
SketchCow |
Wait a minute |
03:39
🔗
|
SketchCow |
{ |
03:39
🔗
|
SketchCow |
"name": "Atari2600", |
03:39
🔗
|
SketchCow |
"js_filename": "mamea2600.js.gz", |
03:39
🔗
|
SketchCow |
"bios_filenames": [""], |
03:39
🔗
|
SketchCow |
"peripherals": ["cart"], |
03:39
🔗
|
SketchCow |
"native_resolution": [352,223], |
03:39
🔗
|
SketchCow |
"extra_args": [""], |
03:39
🔗
|
SketchCow |
"driver": "a2600" |
03:39
🔗
|
SketchCow |
} |
03:39
🔗
|
SketchCow |
Where do I add that |
03:51
🔗
|
SketchCow |
Anyone have ideas - bai |
03:51
🔗
|
SketchCow |
arkiver: Ops please |
03:56
🔗
|
SketchCow |
db48x: hey |
04:22
🔗
|
SketchCow |
Also, it complains about no .wast file |
04:56
🔗
|
SketchCow |
(i left it up, broken, so you can see) |
05:16
🔗
|
db48x |
the order of the lines doesn't matter |
05:17
🔗
|
SketchCow |
But do I just literally put that in |
05:18
🔗
|
db48x |
one tweak needed: "file_locations": { "mamea2600.wasm": "mamea2600.wasm.gz" } |
05:18
🔗
|
SketchCow |
I just don't know JSON in this |
05:18
🔗
|
db48x |
note that this value is not an array (with square brackets), it's a hash (with curly brackets) |
05:18
🔗
|
SketchCow |
Like, do I put that under the thing above? |
05:19
🔗
|
db48x |
https://hastebin.com/lajeyecace.json |
05:19
🔗
|
db48x |
we're adding a property called file_locations to the object |
05:19
🔗
|
db48x |
the value of that property is itself an object |
05:20
🔗
|
db48x |
btw, firefox has a JSON view that is handy for this |
05:20
🔗
|
db48x |
if you load https://ia801906.us.archive.org/7/items/emularity_engine_v1/a2600.json you'll see it |
05:20
🔗
|
SketchCow |
Added |
05:21
🔗
|
db48x |
yea, now it looks right |
05:21
🔗
|
SketchCow |
Error: Don't know how to find file: mamea2600.wast |
05:23
🔗
|
db48x |
the extension there is unexpected |
05:23
🔗
|
SketchCow |
It's looking for some sort of text thing |
05:24
🔗
|
SketchCow |
It's in the javascript |
05:24
🔗
|
db48x |
oh, hrm |
05:25
🔗
|
SketchCow |
var wasmTextFile=Module["wasmTextFile"]||"mamea2600.w |
05:25
🔗
|
SketchCow |
ast";var wasmBinaryFile=Module["wasmBinaryFile"]| |
05:25
🔗
|
db48x |
oh, I see |
05:25
🔗
|
db48x |
it hasn't even decided which it needs |
05:25
🔗
|
db48x |
so really this is a bug in Emularity; we shouldn't throw an error |
05:26
🔗
|
db48x |
ok, for the purposes of this test, let's just extend the JSON |
05:28
🔗
|
db48x |
ok, Firefox, let's get going... |
05:29
🔗
|
db48x |
here: |
05:29
🔗
|
db48x |
file_locations: { "mamea2600.wasm": "mamea2600.wasm.gz", |
05:29
🔗
|
db48x |
"mamea2600.wast": "mamea2600.wast.gz", |
05:29
🔗
|
db48x |
"mamea2600.asm.js": "mamea2600.asm.js.gz" }, |
05:31
🔗
|
SketchCow |
Uploaded |
05:31
🔗
|
SketchCow |
same error but it could just be dumbmess |
05:32
🔗
|
SketchCow |
{ |
05:32
🔗
|
SketchCow |
"name": "Atari2600", |
05:32
🔗
|
SketchCow |
"js_filename": "mamea2600.js.gz", |
05:32
🔗
|
SketchCow |
"bios_filenames": [""], |
05:32
🔗
|
SketchCow |
"peripherals": ["cart"], |
05:32
🔗
|
SketchCow |
"native_resolution": [352,223], |
05:32
🔗
|
SketchCow |
"extra_args": [""], |
05:32
🔗
|
SketchCow |
"driver": "a2600", |
05:32
🔗
|
SketchCow |
"file_locations": { "mamea2600.wasm": "mamea2600.wasm.gz", |
05:32
🔗
|
SketchCow |
"mamea2600.wast": "mamea2600.wast.gz", |
05:32
🔗
|
SketchCow |
"mamea2600.asm.js": "mamea2600.asm.js.gz" }, |
05:32
🔗
|
SketchCow |
} |
05:33
🔗
|
db48x |
if you load it in Firefox 54 you'll see an error message |
05:34
🔗
|
db48x |
although I'll admit that it's a little obscure, since the real error is that you have an extra comma on the end |
05:36
🔗
|
SketchCow |
I took out the last m |
05:36
🔗
|
SketchCow |
comma |
05:36
🔗
|
db48x |
and now it works |
05:36
🔗
|
SketchCow |
I still get the error |
05:38
🔗
|
SketchCow |
Yeah, my phone and my desktop here get the same error |
05:39
🔗
|
db48x |
hrm |
05:39
🔗
|
db48x |
I don't |
05:40
🔗
|
db48x |
when you load https://ia801906.us.archive.org/7/items/emularity_engine_v1/a2600.json, do you see the .wast and .asm.js lines? |
05:40
🔗
|
SketchCow |
I'll name "Atari2600" |
05:40
🔗
|
SketchCow |
js_filename "mamea2600.js.gz" |
05:40
🔗
|
SketchCow |
bios_filenames |
05:40
🔗
|
SketchCow |
0 "" |
05:40
🔗
|
SketchCow |
peripherals |
05:40
🔗
|
SketchCow |
0 "cart" |
05:41
🔗
|
SketchCow |
native_resolution |
05:41
🔗
|
SketchCow |
0 352 |
05:41
🔗
|
SketchCow |
1 223 |
05:41
🔗
|
SketchCow |
extra_args |
05:41
🔗
|
SketchCow |
0 "" |
05:41
🔗
|
SketchCow |
driver "a2600" |
05:41
🔗
|
SketchCow |
file_locations |
05:41
🔗
|
SketchCow |
mamea2600.wasm "mamea2600.wasm.gz" |
05:41
🔗
|
SketchCow |
mamea2600.wast "mamea2600.wast.gz" |
05:41
🔗
|
SketchCow |
mamea2600.asm.js "mamea2600.asm.js.gz" |
05:41
🔗
|
SketchCow |
yep |
05:41
🔗
|
SketchCow |
Error: Don't know how to find file: mamea2600.wast loader.js:224:14 |
05:41
🔗
|
SketchCow |
locateAdditionalJS https://archive.org/includes/loader.js:224:14 |
05:41
🔗
|
SketchCow |
integrateWasmJS https://cors.archive.org/cors/emularity_engine_v1/mamea2600.js.gz:1:3038268 |
05:41
🔗
|
SketchCow |
<anonymous> https://cors.archive.org/cors/emularity_engine_v1/mamea2600.js.gz:1:6452978 |
05:41
🔗
|
SketchCow |
That's the error that stops the show |
05:44
🔗
|
SketchCow |
maybe I make a dummy file? |
05:44
🔗
|
SketchCow |
Made one just to see |
05:47
🔗
|
SketchCow |
Something's broke |
05:48
🔗
|
db48x |
what item are you testing with? |
05:48
🔗
|
SketchCow |
https://archive.org/details/demo_derivative_2600_dma_2015 |
05:49
🔗
|
SketchCow |
Found the problem |
05:50
🔗
|
db48x |
oh, that uses a different config file |
05:50
🔗
|
SketchCow |
exactly |
05:53
🔗
|
SketchCow |
Fixing |
05:54
🔗
|
Vito` |
why is there an asm.js version that's separate from the regular js version? |
05:54
🔗
|
Vito` |
isn't asm.js going to work in any js |
05:55
🔗
|
db48x |
Vito`: for asm2wasm mode |
05:55
🔗
|
db48x |
it falls back through several methods: |
05:55
🔗
|
db48x |
// wasm.js has several methods for creating the compiled code module here: |
05:55
🔗
|
db48x |
// * 'native-wasm' : use native WebAssembly support in the browser |
05:55
🔗
|
db48x |
// * 'interpret-s-expr': load s-expression code from a .wast and interpret |
05:55
🔗
|
db48x |
// * 'interpret-binary': load binary wasm and interpret |
05:56
🔗
|
db48x |
// * 'interpret-asm2wasm': load asm.js code, translate to wasm, and interpret |
05:56
🔗
|
db48x |
// * 'asmjs': no wasm, just load the asm.js code and use that (good for testing) |
05:56
🔗
|
db48x |
|
05:56
🔗
|
SketchCow |
A2600p and A2600 now both work |
05:57
🔗
|
SketchCow |
Can we do a800 before I turn in? |
05:57
🔗
|
SketchCow |
That's one where I know there's sound issues |
05:57
🔗
|
db48x |
there's no a800 driver |
05:57
🔗
|
SketchCow |
Oh, there's atari400 |
05:58
🔗
|
db48x |
building atari400 |
06:00
🔗
|
SketchCow |
I have to modify 5 .json files for it, so you know it's special to me |
06:00
🔗
|
db48x |
:) |
06:01
🔗
|
DFJustin |
anything interpreted is way too slow to use |
06:01
🔗
|
db48x |
yea, we won't actually bother to make that file available |
06:01
🔗
|
db48x |
SketchCow: it's built |
06:03
🔗
|
SketchCow |
-rw-rw-r-- 1 db48x staff 72607154 Jul 9 05:59 mameatari400.asm.js |
06:03
🔗
|
SketchCow |
-rw-rw-r-- 1 db48x db48x 3407896 Jul 9 06:00 mameatari400.js |
06:03
🔗
|
SketchCow |
-rw-rw-r-- 1 db48x staff 9739352 Jul 9 06:00 mameatari400.wasm |
06:03
🔗
|
db48x |
those are the ones |
06:03
🔗
|
SketchCow |
I do all three? |
06:04
🔗
|
db48x |
you don't need the .asm.js file |
06:11
🔗
|
SketchCow |
You will be shocked to hear I'm hitting errors |
06:12
🔗
|
db48x |
an example? |
06:12
🔗
|
SketchCow |
https://archive.org/details/Preppie_1982_Adventure_International_US |
06:12
🔗
|
SketchCow |
Error: Don't know how to find file: mameatari400.asm.js |
06:12
🔗
|
SketchCow |
{ |
06:12
🔗
|
SketchCow |
"name": "Atari 800", |
06:12
🔗
|
SketchCow |
"js_filename": "mameatari400.js.gz", |
06:12
🔗
|
SketchCow |
"bios_filenames": ["a800.zip"], |
06:12
🔗
|
SketchCow |
"peripherals": ["flop1"], |
06:12
🔗
|
SketchCow |
"native_resolution": [336,225], |
06:12
🔗
|
SketchCow |
"extra_args": [""], |
06:12
🔗
|
SketchCow |
"driver": "a800", |
06:12
🔗
|
SketchCow |
"file_locations": { "mameatari400.wasm": "mameatari400.wasm.gz", |
06:12
🔗
|
SketchCow |
"mameatari400.wast": "mameatari400.wast.gz", |
06:12
🔗
|
SketchCow |
"mameatari400.asm.js": "mameatari400.asm.js.gz" } |
06:12
🔗
|
SketchCow |
} |
06:13
🔗
|
db48x |
I don't get that error |
06:13
🔗
|
SketchCow |
Nice, it started working. |
06:14
🔗
|
SketchCow |
Everything's not zoomed in anymore |
06:14
🔗
|
SketchCow |
I wonder what it's identifying as now |
06:14
🔗
|
db48x |
zoomed in? |
06:15
🔗
|
SketchCow |
Yeah, it's showing 1x instead of 2x |
06:22
🔗
|
SketchCow |
OK, here's the question... is it using webassembly? |
06:22
🔗
|
SketchCow |
(all of them are fixed now, all 5) |
06:22
🔗
|
db48x |
well, it loads the wasm file |
06:24
🔗
|
SketchCow |
I just don't know! |
06:24
🔗
|
SketchCow |
But I'm glad we have this in place |
06:24
🔗
|
SketchCow |
we can inspect it on machines, etc. |
06:27
🔗
|
SketchCow |
Thank you! |
06:27
🔗
|
SketchCow |
We're running webassembly biiiiiitches |
06:29
🔗
|
SketchCow |
https://github.com/copy/v86 is the emulator we were discussing, db48x |
06:32
🔗
|
db48x |
it would be handy if it printed out which version it's running |
06:35
🔗
|
|
DFJustinZ has joined #jsmess |
06:35
🔗
|
bai |
niiiice |
06:36
🔗
|
|
DFJustin has quit IRC (Remote host closed the connection) |
06:38
🔗
|
|
DFJustin has joined #jsmess |
06:50
🔗
|
db48x |
gotta figure out how to build all the "drivers" we have |
06:50
🔗
|
db48x |
for example, the "a800" driver is apparently really "atari400" :P |
06:56
🔗
|
DFJustin |
mame -listsource a800 |
06:57
🔗
|
db48x |
I don't even _have_ a mame executable :P |
06:57
🔗
|
db48x |
I've just got all of these js files |
07:17
🔗
|
|
DFJustin has quit IRC (Remote host closed the connection) |
07:17
🔗
|
bai |
we should set up build which does nothing but listsource, heh |
07:19
🔗
|
|
DFJustin has joined #jsmess |
07:24
🔗
|
|
DFJustin has quit IRC (Remote host closed the connection) |
07:40
🔗
|
bai |
1 |
07:50
🔗
|
|
DFJustin has joined #jsmess |
10:03
🔗
|
|
DFJustinZ has quit IRC (Remote host closed the connection) |
14:55
🔗
|
SketchCow |
So, I'm not sure where the lack of zoom is coming from. |
14:59
🔗
|
SketchCow |
The compile time speed is truly ridiculous. |
15:02
🔗
|
SketchCow |
uncaught exception: no binaryen method succeeded. consider enabling more options, like interpreting, if you want that: https://github.com/kripken/emscripten/wiki/WebAssembly#binaryen-methods |
15:04
🔗
|
db48x |
SketchCow: how did you manage that? |
15:04
🔗
|
db48x |
it should fall back to asmjs |
15:04
🔗
|
SketchCow |
I turned off .wasm |
15:04
🔗
|
SketchCow |
To see what it would do. |
15:04
🔗
|
SketchCow |
javascript.options.wasm in about:config |
15:04
🔗
|
SketchCow |
Just doing the testing we do. :) |
15:07
🔗
|
db48x |
hrm |
15:12
🔗
|
SketchCow |
We MIGHT want to haul Kripken in on this |
15:12
🔗
|
SketchCow |
Since we're doing this the first time, etc. |
16:05
🔗
|
SketchCow |
But we're at a good point. It doesn't work in usual Javascript, of course, but we can address |
16:05
🔗
|
SketchCow |
And it's Sunday, Kripken won't likely be around. |
16:10
🔗
|
SketchCow |
I pinged him. |
16:10
🔗
|
SketchCow |
ted______: Yo |
16:11
🔗
|
SketchCow |
So, other piece - the resolution/scaling. |
16:11
🔗
|
SketchCow |
There's something goofy there, which may or may not be the Archive being "clever" |
16:57
🔗
|
db48x |
ah |
18:41
🔗
|
SketchCow |
will investigate |
21:05
🔗
|
db48x |
sorry, I figured it out and then got distracted |
21:05
🔗
|
db48x |
turns out the documentation is slightly lacking |
21:05
🔗
|
db48x |
by default it only runs wasm and doesn't tall back to anything |
21:06
🔗
|
db48x |
you have to specifically ask it to fall back to asmjs |
21:06
🔗
|
db48x |
I rebult a2600 and atari400 with that option, if you want to give it a try |
21:07
🔗
|
db48x |
this time you will need the .asm.js file in addition to the .js and .wasm files |
21:07
🔗
|
DFJustin |
one thing I notice is that the .asm.js files seem to be humongous |
21:13
🔗
|
db48x |
oh, there was one oddity though, which is that it started making .mem files again |
21:44
🔗
|
|
azakai has joined #jsmess |
22:29
🔗
|
SketchCow |
hey, azakai advised a different way |
22:29
🔗
|
SketchCow |
i am at warehouse, now driving back, will do loads when I get there |
22:32
🔗
|
|
azakai has quit IRC (Quit: Ex-Chat) |
22:33
🔗
|
|
azakai has joined #jsmess |
23:47
🔗
|
SketchCow |
Here I am hack at the thing. |