WebAssembly Amiga Emulator #21
Replies: 4 comments 2 replies
-
|
There are already two existing Amiga emulators running in WASM. Both are based on vAmiga which used Moira as it's CPU core. Here are the links: |
Beta Was this translation helpful? Give feedback.
-
|
@quartexNOR what is your use case ? do you like to embed vAmiga in your website ? vAmigaWeb has a player component. Using this player component you can embed your ADF on your own web site even without the need of building vAmiga ... simply by placing the player on your web page which then cross loads the emulator files ... see for reference this how to https://github.com/vAmigaWeb/vAmigaWeb/wiki (here @rhinoid of course you can also install the vAmigaWeb app on your iPhone or iPad homescreen as it complies to the PWA standard i.e. offline installation and more |
Beta Was this translation helpful? Give feedback.
-
|
@quartexNOR you are doing cool stuff … I had a look on your dev tool url … looks great ! I will try to give you a short technical summary of the amiga wasm ports and answer your questions
Moira and vAmiga does not share any code from UAE code base… There are currently two open source projects which build vAmiga to wasm vAmigaWeb has the following proxy which connects the Javascript/HTML and vAmigaCore/cpp https://github.com/vAmigaWeb/vAmigaWeb/blob/main/main.cpp all the methods herein prefixed with And they are mostly used in https://github.com/vAmigaWeb/vAmigaWeb/blob/main/js/vAmiga_ui.js vAmigaWeb has a player component which wraps the emulator window in an iFrame which is in turn part of the DOM of the hosting web page… With this player component one can easily embed vAmiga instances on a webpage … this is easy and clean but due to embedded iFrame the communication of the host page and the vAmigaWeb instance inside the player has to be done via message queue (i.e. browsers postMessage) because of the browser security police vAmigaNet defines also a proxy which connects the Javascript/HTML and vAmigaCore/cpp the following file is the cpp part of the proxy… it is has a svelte counterpart https://github.com/dirkwhoffmann/vAmigaNet/blob/main/src/lib/Proxy.svelte which defines sveltekit stores for the various components of the emulated Amiga. vAmigaWeb is a pure javascript / bootstrap PWA (try it at https://vamigaweb.github.io/) vAmigaNet is a compiled typescript / sveltekit PWA (try it at https://vamiganet.github.io/) |
Beta Was this translation helpful? Give feedback.
-
|
@quartexNOR sounds really sophisticated… 🤤 Maybe this is also an interesting read for you … it is about communicating with the Amiga …vAmigaWeb/vAmigaWeb#154 from what I understand @PTz0uAH is doing something which goes in a similar direction as what you plan to do… at least when I look at the screenshots which he also posted in a second issue vAmigaWeb/vAmigaWeb#151 |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I read on your website that the codebase is compatible with WASM. Would it be possible to roll a WASM build that can run Amiga software / ADF files et-al?
Beta Was this translation helpful? Give feedback.
All reactions