So I wanted to briefly talk about what I’ve been up to lately. I’ve been doing a spot of compiler hacking, working on improving type Providers and generally tinkering with concepts relating to macros etc. I’ve also been tinkering with the Elixir and Rust programming languages which I like a lot. I might write about those things at a later time depending on my train of thought which can be quite disjoint. What was I talking about again? :-)
So, emulators, that’s what I was going to talk about. Lately I’ve been thinking about emulators, reading about them, and also watching streams about writing them. I’ve always been interested in emulators but never sat down and looked at the theory or written one. So I’ve started live streaming creating one on LiveCoding.tv which is apparently where you go to:
Watch coders code products live and hang out with them
So I’ve started live coding an Atari ST emulator with its 68000 CPU using LiveCoding.tv. I’ve chosen an Atari St because it was one of the computers that I grew up with and the computer I first started to program on. I have many many fond memories of it. I may also stream about building other types of emulators not just the 68000. There are plenty of interesting hardware systems and processor types that I grew up with. I was thinking of building an arcade emulator such as Capcom Play System but the technical data is a bit more difficult to get hold of.
In some respects emulator coding is quite tricky, a lot of research and digging is required to get the relevant information you need, and a lot of grunt work inputting data can also be involved too. In short its not a trivial task, at least it isn’t if you want to do one properly. I cant promise it will be super interesting, or even done properly, but it will be raw coding warts and all :-)
You can find my channel here Building Emulators with F# I normally stream a couple of days a week, currently Wednesday and Friday 17:00 GMT but I also may also stream at other times too.
Until next time …
- Megadeth - Dystopia
- Xentrix - Kin