Meta emulator -- By aoneill

Online META Emulator

Author :  aoneill

Source code


This is a web-based emulator that I have been working on for the META. Provide a compiled META .bin file, and it will attempt to run the program. 

This is a work in progress. It is currently much slower than the actual hardware and lacking features like SD support and lights. However, the display and buttons work for most of the games I have tried.

How it Works

The emulation logic is written in TypeScript, which is converted to JavaScript for the browser. The META program is processed similar to how the microcontroller would execute the program; each instruction is simulated. Millions of these simulated instructions are run every second. There is also logic for handling various peripherals. An html canvas is used to display what the user would see on the screen.

Author :  STUDIOCRAFTapps

Thanks for this incredible tool ^^
Here are some suggestions:
- Make sure the font is the same as the website
- Add more examples
- Add a reset button just like Simbuino4Web
- After uploading a sketch, the screen clear itself in the shape of a square and it's kinda weird

Author :  aoneill

Good suggestions. I'll get to some of them soon. Funny story about the black square when uploading a sketch- That is coming from the sketch itself. The screen we are using supports different rotations. I just hard-coded the emulator to use the screen in landscape mode since I knew that's what the games will be using. I'm guessing the black square is actually a black rectangle that would fill the whole screen had I handled screen rotations correctly!

Author :  STUDIOCRAFTapps

Thanks for the new change ^^

Author :  Aurélien Rodot

Huge improvement of the speed with your last update, pretty close to the real hardware now, love it! <3

Author :  jicehel

Well done, it's very good. Thanks for this and i hope you'll continue to pefect and optimise it.

Author :  ripper121

Can you check please why the Emulator fails on this file?

To much RAM used?

or this

Author :  aoneill

I'm thinking you might be right with the too much RAM idea. I tried them on the META as well. Once it gave me something similar to the emulator. Usually it hard faults. might be relevant. Not sure what modifications were made to the version you posted earlier, but the `particles` array does eat up a good chunk of the available RAM. 

Author :  geed

Is the emulator works with the new version on yours PCs ?
i must downgrade to 1.5 to run .bin !

Author :  aoneill

Yeah I hear the emulator broke after some library improvements to drawing to the screen. I haven’t had a chance to look into it yet, but it is on my todo list. 

Author :  aoneill

I just uploaded a fix for the emulator not working with the latest version of the library. I've only tested it with one of my programs though.

Author :  eriban

Thanks. Unfortunately, it does not yet seem to work for my program. After uploading, the screen remains black.

Btw, the emulator has been very helpful so far in developing my game. Especially the fact that the screen is relatively big has helped to get everything pixel perfect.

Author :  aoneill

It is possible that the old version of the emulator's JavaScript file was still cached by your browser. Worth trying again now or clearing your browser cache if you know how to do that.

I'm now up to a few games built with the 1.1.0 library that I hear work on the emulator. I don't have an example that doesn't work to debug. If you or anyone else reading this has publicly available source code for a program that is still giving you the black screen on the emulator, let me know. I'm interested in trying to track down the problem. Thanks!

Author :  eriban

I just tried again today and also force-reloaded the page, and now my game loaded successfully as well. :-)

Author :  Nux

This is working perfectly with my game, Thanks for the update aoneill

Author :  NightWolf

Have you guys tried this on an Android device? Well i have a note 4 which is a little older, it lags quite a bit. I'll try it on my tablet. 

Author :  Sorunome

It's for me the same as for you: while it works on my phone it is slower.

Thinking about it, that isn't too surprising, as a phone has much weaker processing power than a computer

Author :  cptflconx

Do I have to do anything to activate sound?

Author :  aoneill

Sorry, sound has not been implemented in the emulator. 

Author :  jicehel

Aoneill, i have a request:  could you fork your emulator to make an HD compatible version or add the feature in the current if it's possible ?  We have more and more HD games and i think it's will continue but atm we can't test them on the pages. So it's could be so fine to have the abilty to manage HD in the emulator...