Sunday 2 December 2012

Test Driven Design and C++

One of my long term projects is to build a simulator for a 6502 custom hardware device that will run on OSX, Windows and Linux.

I have been using Codeblocks and wxWidgets, and was wanting to have the same project be able to compile for all three platforms, ideally on the same machine.

It should be possible, I have successfully compiled under linux for both Windows and Linux on my (sadly departed) Linux laptop (and on a VM on the mac), but needed to compile the OSX version separately on my macBook.  At the moment I'm happy enough with that, but intend to spend a little time seeing if I can get the Windows and Linux versions compiling under OSX too. But not in the immediate future, I currently have too many part finished projects under way.

My aim is to have the cpu libraries working with the tdd structures, so that I know when I manage to break some essential functionality. I am trying to make the difficult decision to either rewrite from scratch, applying some of the design patterns that I've been reading about this summer, or to hack the tdd into the existing design.

I could do with a couple of months somewhere with no distractions to get some of these projects a little closer to completion.

The projects include:

  • The 6502 simulator
    • Comprising a library for a virtual 6502 cpu
    • The controlling general purpose simulator
    • A hardware specific simulator (although the urgency for that has disappeared, the hardware developer I was working with is no longer interested in the project)
  • Learning C# (a little difficult, my VM's run way too slow to be effective on the macBook)
  • Learning Android - and getting to grips with Java
    • I have two or three little apps I will be building
  • Working on my Ruby on Rails skills
    • And building an api for Android to access the app
  • Working on Python
  • Working on PHP
  • Finishing the hardware for my laser fence