650vue
650Vue project logo

Myles Skinner's Development Portfolio: 650Vue

A 6502 Emulator (okay, Simulator) in Javascript

I currently work with Info-Tech Research Group, where we primarily use Ruby on Rails for application development. Some time ago, Vue.js emerged as our preferred front-end framework, edging out both Angular and React in a lengthy evaluation process. I think Vue was absolutely the right choice to pair with Rails at the time (although the landscape is always changing!), but it is fair to say that I have never been a Javascript guy. In fact, I've always viewed Javascript with a bit of suspicion. After all, I was online before Javascript even existed, and I lived through many of its early teething pains.

I figured that if we're going to use this framework, I should have at least a passing acquaintance with it. Armed with such knowledge, I could at least make semi-intelligent comments on peer reviews, even if I never ended up writing a line of Javascript myself. But you can't really learn about a thing without developing at least some of interest in it, and it wasn't long before I was doing a lot of reading and watching tutorial videos. None of this media was really sinking in; as it turns out, I don't really learn a language or framework until I start writing actual code. I started playing around with simple Vue components to deepen my understanding.

What happened next was unexpected and strange but not atypical of my creative process. A pattern emerged from my early Vue experiments, and before long my experimentation came into focus. I wasn't just goofing around anymore; I had a direction. I was building a single-page application, which evolved into 650Vue, a simulated 6502-based computer built in Vue and capable of running non-trivial software on a virtual machine in the browser.

This development journal documents the process of creating 650Vue, and is divided into several sections: