Tuesday 23 August 2016

Introduction

Foreword

In a previous series of Blog posts, here, I detailed the writing of an Commodore 64 emulator in JavaScript, from scratch.

With the resulting emulator, I could run the classic game Dan Dare, at almost full frame rate on a desktop PC.

When I tried to run this JavaScript Emulator on a mobile browser, however, I wasn't so lucky. On a mobile browser, I got about a tenth of the expected frame rate. I tried a couple of things to try and improve the situation, but everything ended up fruitless.

This brickwall inspired the following challenge for me: Writing an emulator that runs at full speed on a mobile device. In the coming set of blog posts, I will be tackling this challenge.

In this series of blog posts, I will be limiting myself to the Android mobile operating system. So, in effect I will be developing an Android application.

Approach


In the coming series of blog posts, I will be following the same approach as I did in my series on writing a JavaScript emulator from scratch. This, following an incremental approach, adding functionality as needed, bit by bit.

The first screen we will be developing in Android, will be one that shows the contents of the memory and registers, so at least we can verify that the instructions we implement bit by bit are functioning as desired.

Early in this series I will try and utilise the Android NDK (Native Development Kit) for potential performance improvements.

During the course of these posts, I will also be utilising the test assembly programs I wrote in my JavaScript emulator series.

In Summary

In this post I gave a short summary on what the coming posts will be about. We will attempt to create an Android emulator that will run at full frame rate.

In the next post, we will install Android Studio and create a screen that will used to show the contents of the memory and registers during execution.

Till next time!

No comments:

Post a Comment