Stream: SIG-Embedded

Topic: Target Platform Updates


view this post on Zulip Chris Woods (Sep 03 2024 at 18:18):

Following our meeting today, I've updated the Target Platform document and created a PR (not merged yet) with the changes. I hope we can use this to drive the conversation along via the PR.

From the PR comment:

Based on our E-SIG meetings the document has been updated to:

  1. Define the ISA platforms to be supported (excludes MIPS)
  2. Define the Operating Systems to be supported (prioritizing the RTOS platforms no other group will focus on)
  3. Defined both a development environment and a deployed (target) environment for both OS and ISA
  4. Define the memory (RAM) and non-volatile memory (storage) footprints to address
  5. Provided more detailed descriptions of what it means for the E-SIG to address a platform
  6. Provided explanation of how Moore's law impacts the embedded space and how we can compromise for MCU and MMUs
  7. Provided stated support for Game Console Development Kits

Please check the link below - visit, comment, object and correct:

https://github.com/bytecodealliance/sig-embedded/pull/6

Based on our E-SIG meetings the document has been updated to: Define the ISA platforms to be supported (excludes MIPS) Define the Operating Systems to be supported (prioritizing the RTOS platforms...

view this post on Zulip Chris Woods (Sep 03 2024 at 21:08):

And the latest youtube video is available here: YouTube - - YouTube

view this post on Zulip Christof Petig (Sep 03 2024 at 21:37):

I just realized that if you combine game consoles with embedded, you might talk about a fictitious game console mimicking the resource constraint environments of the 80s: https://en.m.wikipedia.org/wiki/Fantasy_video_game_console
These clearly are a good candidate for web assembly experiments.

A fantasy video game console (or simply fantasy console) is an emulator for a fictitious video game console.[1][2] In short, it aims to create the experience of retrogaming without the need to emulate a real console, allowing the developer to freely decide what specifications their fictional hardware will have.

view this post on Zulip Milan (Sep 03 2024 at 22:18):

Like WASM-4? https://wasm4.org/docs/#hardware-specs

WASM-4 is a low-level fantasy game console for building small games with

view this post on Zulip Chris Woods (Sep 04 2024 at 03:26):

Christof Petig said:

I just realized that if you combine game consoles with embedded, you might talk about a fictitious game console mimicking the resource constraint environments of the 80s: https://en.m.wikipedia.org/wiki/Fantasy_video_game_console
These clearly are a good candidate for web assembly experiments.

Ahh I know the Pico8, kinda cool. Also seen the more recent "retro" gaming from the Spectrum Next and the Commander X16.

view this post on Zulip Chris Woods (Sep 04 2024 at 03:27):

Milan said:

Like WASM-4? https://wasm4.org/docs/#hardware-specs

Oh, that's pretty cool. I need to check that out too.

view this post on Zulip Chris Woods (Sep 04 2024 at 03:28):

I know #wamr has (or had) a UI element to it. I recall a demo from @Jonathan Beri some time ago on it.

view this post on Zulip Chris Woods (Sep 04 2024 at 03:42):

I wonder if we could take the WASM-4 engine and run on it on embedded device... I like the memory mapping idea, talk about totally simplifying hardware mapping... that's kinda super sweet, and simple.

Ahh I just need more hours in the day to play with this stuff!

view this post on Zulip Chris Woods (Sep 04 2024 at 03:42):

https://wasm4.org/docs/reference/memory

Endianness

view this post on Zulip Jonathan Beri (Sep 04 2024 at 04:17):

Chris Woods said:

I know #wamr has (or had) a UI element to it. I recall a demo from Jonathan Beri some time ago on it.

Yup! It was using their "app framework" and a popular OSS GUI for embedded systems, lvgl. They've since more capabilities around graphics into their framework (which is separate from the runtime AFAIK.)

WebAssembly Micro Runtime (WAMR). Contribute to bytecodealliance/wasm-micro-runtime development by creating an account on GitHub.
WebAssembly Micro Runtime Application Framework. Contribute to bytecodealliance/wamr-app-framework development by creating an account on GitHub.

view this post on Zulip Milan (Sep 04 2024 at 06:11):

Chris Woods said:

I wonder if we could take the WASM-4 engine and run on it on embedded device... I like the memory mapping idea, talk about totally simplifying hardware mapping... that's kinda super sweet, and simple.

Ahh I just need more hours in the day to play with this stuff!

I've used wasm4-aot to build GBA ROMs from wasm4 carts although I've only run the ROMs in emulators so far: https://github.com/asiekierka/wasm4-aot

Ahead-of-time compiled WASM-4 runtime. Contribute to asiekierka/wasm4-aot development by creating an account on GitHub.

view this post on Zulip Chris Woods (Sep 04 2024 at 11:30):

Milan said:

Chris Woods said:

I wonder if we could take the WASM-4 engine and run on it on embedded device... I like the memory mapping idea, talk about totally simplifying hardware mapping... that's kinda super sweet, and simple.

Ahh I just need more hours in the day to play with this stuff!

I've used wasm4-aot to build GBA ROMs from wasm4 carts although I've only run the ROMs in emulators so far: https://github.com/asiekierka/wasm4-aot

You have acheived hero status! - One of my fave consoles. I only got as far as downloading the open source SDK for the GBA, and got a hello world working. What I loved about the GBA was the way in which the hardware and software SDK worked so well together, it was really cool. But that's the extent of my Game Console experience.

view this post on Zulip Chris Woods (Sep 04 2024 at 11:41):

Jonathan Beri said:

Chris Woods said:

I know #wamr has (or had) a UI element to it. I recall a demo from Jonathan Beri some time ago on it.

Yup! It was using their "app framework" and a popular OSS GUI for embedded systems, lvgl. They've since more capabilities around graphics into their framework (which is separate from the runtime AFAIK.)

Ohh, so it should be... :)


Last updated: Dec 23 2024 at 12:05 UTC