Share Tweet reddit Email

This morning I learned about a new Amiga 500 emulator that runs on Google Chrome. It is a native port using Portable Native Client, a way to run existing C/C++ in the browser in a safe way across operating systems and across machine architectures.

I was curious to see how it performs, so I spent some time playing with it.

As soon as you access the page, the window at the center start to load the A500 Workbench 1.3. I was surprised to see a small icon of Cloanto, but soon after I learned that the Amiga ROM, OS, and First Demos files are provided under license by the Amiga Forever developer.

The boot takes quite some time to load everything which makes me believe it is emulating the real speed for disk access, too. But after a while, you will see the familiar blue Workbench interface. The mouse has to be captured in order to act as the Amiga mouse, as usual on browser-based games. To do that you just need to click over the emulator screen. To release the mouse, press ESC for a second and you are back to the host.

The emulator interface is very simple, containing the Pause and Reset buttons, joystick configuration and access to two floppy drivers. These last two are disabled from the start – I will get back to that later.

The Workbench will show the Workbench drive, another one called First Demos and the Ramdrive. If you want to have a glimpse of Amiga’s graphics capabilities, you can start the famous Boing or Juggler from withing the First Demos disk.

I noticed that even with very simple programs, like Boing, the emulator would crash and restart the workbench. When it starts it would run fairly well but not perfectly. There were glitches with the sound and some graphics imperfections that wouldn’t happen on native emulators like FS-UAE.

Another problem is that very often it fails to start showing the message “PNaCl module crashed: NaCl module crashed” and the only way to recover is to reload the browser page. It is not that you are going to lose things since that happens during the boot, but it is a little annoying.

Also, because JavaScript does not get notifications for all keys that the Amiga knows about, some of the games might not work, mainly the ones that would need those keys mapped. However, the main keys were properly mapped as follows:

F11 → Help

F12 → Esc

Home → Left Amiga

End → Right Amiga

Another downside of this version is the lack of NTSC support. The users will have to be happy playing PAL games. However, the developer mention if enough interest is displayed for NTSC content, the support may be added in the future.

How about the games!

To be fair, a browser-based emulator main quality should be its capability to play games and play well. To test the emulator gaming capabilities, I decided to play one of my favorites: R-Type.

For that, we need to be able to load any floppy into it and run the game. As I mentioned before, the two floppy buttons are disabled by default because to use other disks with the emulator, users must obtain a Kickstart ROM license by getting the Amiga Forever Essentials bundle for Chrome. Looking at Chrome Store, I found it for $1. To be able to test the emulator properly, I overstepped, opened Vintage is The New Old’s vault and bought the license!

The Chrome extension installs as any other, very easily, but you have to reload the emulator page to activate it. As soon as you do that, you will see the two floppies enabled properly.

After selecting the game ADF file, it loaded very fast and R-Type was ready for me!

By default the mouse is set to Joystick port 0, and nothing on port 1. A nice feature this emulator has is the controller keyboard configuration which allows you to change the configuration “on-the-fly” without the need to restart. This way is easy to select the best option for each game. R-Type, in particular, was better to keep the mouse on port 0 and select the keyboard on port 1.

The game was very fast and played well, but not perfectly smooth. The emulator was showing it running at 55-60 FPS, but sometimes it went below 30 FPS. The sound was flawless, but the scroll was freezing every few frames, making the animation a bit jerky.

Talking about sound, the emulator has a very annoying bug. When you pause it for any reason, the current sound “frame” that it was playing keeps repeating over and over, like a scratched CD. Ideally, it should go silent when the pause is pressed.

Conclusion

Overall, the performance is very good, considering it is Javascript running in your browser. It is important to highlight that I tested the emulator on a 2-years old i7 Macbook with 16GB RAM and 2MB NVidia video card which is not cutting-edge but not too shabby either. If you have a better setup you might have better experience. The same is valid for those who have slower machines whom might get worse results.

If you think it costs $1 to have a good emulator running on any browser, it is a good option if you can’t install a native emulator or just want to show off the maginificent Amiga to a friend directly on his computer.

The emulator can be accessed at http://pnacl-amiga-emulator.appspot.com/