Me: mom, can I have Sega ChannelMom: we have Sega Channel at homeSega Channel at home:
-
currently I have to run nabud and websockify for this to work, which feels _very_ silly, but shit, it runs.
very slowly, for some reason, but I'm sure that's solvable.
Ideally I would integrate this with something like nabu.run, so it can run completely on the browser side without requiring me to run a server that has not been designed to be public-internet-facing
-
Ideally I would integrate this with something like nabu.run, so it can run completely on the browser side without requiring me to run a server that has not been designed to be public-internet-facing
I figured out the reason it was so slow - the speed-throttling code was running _per-scanline_, so wasm execution was being suspended hundreds of times per frame. Reworked the throttling system to be more emscripten-friendly and it's running quite smoothly now.
-
I figured out the reason it was so slow - the speed-throttling code was running _per-scanline_, so wasm execution was being suspended hundreds of times per frame. Reworked the throttling system to be more emscripten-friendly and it's running quite smoothly now.
I _think_ I've learned enough about emscripten's JS interface to redirect marduk's modem directly to https://nabu.run. There are a bunch of different mechanisms for linking stuff together, with various weird constraints, but I _think_ I can just tell the compiler to generate an ES6 module, and then pass a normal JS object to that module that can be referenced from inside the EM_ASM "inline JS" macro.
Still gotta turn Marduk into a preact component but that shouldn't be too hard.
-
I _think_ I've learned enough about emscripten's JS interface to redirect marduk's modem directly to https://nabu.run. There are a bunch of different mechanisms for linking stuff together, with various weird constraints, but I _think_ I can just tell the compiler to generate an ES6 module, and then pass a normal JS object to that module that can be referenced from inside the EM_ASM "inline JS" macro.
Still gotta turn Marduk into a preact component but that shouldn't be too hard.
nabu.run just wants a ReadableStream / WritableStream pair, which seems pretty straightforward to provide. Of course I haven't tested anything yet.
-
nabu.run just wants a ReadableStream / WritableStream pair, which seems pretty straightforward to provide. Of course I haven't tested anything yet.
Aarrgghh, the nabu.run build is choking on my emscripten module for some reason, fuckin javascript
-
Aarrgghh, the nabu.run build is choking on my emscripten module for some reason, fuckin javascript
fuck yeah!!
-
fuck yeah!!
@SpindleyQ I don't understand what's happening here but it sounds awesome
-
@SpindleyQ I don't understand what's happening here but it sounds awesome
@mogwai_poet I... probably should have given a little more detail in the thread, haha.
Nabu was a PC that streamed all of its programs from a cable TV connection in _1983_. We have a huge portion of all the software ever written for it, thanks to one dude who worked there and kept stuff. I feel like there ought to be an emulator that runs in the browser and streams everything from the internet, so I'm doing that.
My original Nabu thread from a few years back is here: https://gamemaking.social/@SpindleyQ/109487822505947105
-
@mogwai_poet I... probably should have given a little more detail in the thread, haha.
Nabu was a PC that streamed all of its programs from a cable TV connection in _1983_. We have a huge portion of all the software ever written for it, thanks to one dude who worked there and kept stuff. I feel like there ought to be an emulator that runs in the browser and streams everything from the internet, so I'm doing that.
My original Nabu thread from a few years back is here: https://gamemaking.social/@SpindleyQ/109487822505947105
@SpindleyQ Amazing, thanks for the explanation! I'd love to learn more about this
-
fuck yeah!!
@SpindleyQ woah, I love hero. I played it on the C64 as a kid. Right now I'm playing the 2600 version a lot (the best game on the platform by far).
Is love to try this one. When is it playable for pleebs like us?
-
@SpindleyQ woah, I love hero. I played it on the C64 as a kid. Right now I'm playing the 2600 version a lot (the best game on the platform by far).
Is love to try this one. When is it playable for pleebs like us?
@loke hopefully I'll have _something_ online in the next couple of days! My current plan is to spend a decent chunk of my break polishing it up so that it's actually _pleasant_ to use, but I'm happy to let people at it as soon as I'm reasonably confident it won't randomly hang your browser half the time haha
-
Thought 1: someone should make a website that "rebroadcasts" Sega Channel in realtime, with a browser-based emulator
Thought 2: wait, has no one made a browser-based Nabu emulator yet??
Thought 3: I bet Marduk would be pretty easy to build with emscripten, I'd just need to build a new API for interfacing with JavaScript to fetch content
Thought 4: OR I could use Rust async to design a cycle-accurate emulator framework.......
Thought 5: oh noI didn’t realise that there was another #Nabu emulator out there. I’ve been using the MAME one for developing #NthPongWars for the Nabu.
Should be amusing having it in the web browser. It’s only 1000 times faster (4Mhz vs 4Ghz), with 1000000 times more RAM (64KB vs 64 GB).
-
currently I have to run nabud and websockify for this to work, which feels _very_ silly, but shit, it runs.
very slowly, for some reason, but I'm sure that's solvable.
Or you could point it at my Nabu Internet Adapter server at www.agmsmith.ca and try out the local source for a recent version of #NthPongWars.
-
I didn’t realise that there was another #Nabu emulator out there. I’ve been using the MAME one for developing #NthPongWars for the Nabu.
Should be amusing having it in the web browser. It’s only 1000 times faster (4Mhz vs 4Ghz), with 1000000 times more RAM (64KB vs 64 GB).
@AGMS00 oh, sorry, didn't notice these because they didn't show up as replies!
Marduk is definitely less accurate than MAME, but it's a lot easier to build and hack on. I may revisit that decision at some point.
It's definitely possible to point it at a publicly-hosted Internet Adapter, but it has to be proxied over websockets to be accessible from the browser.
-
fuck yeah!!
OK, I think my web-based NABU Network emulator is in good enough shape to share!
https://www.information-superhighway.net/nabu/
The NABU was a Z80-based PC, released in 1983, that had all of its software delivered over a cable TV signal - like Sega Channel, but a decade earlier. It was only ever available in a handful of cities, including Ottawa, Canada, where it was developed.
Leo Binkowski, who worked at NABU creating arcade game ports, kept virtually everything, so you can experience it just like it was 1983.
-
undefined oblomov@sociale.network shared this topic on