In 1981, Bill Gates and his buddy Neil Konzen sat down in the early hours and wrote DONKEY.BAS, commonly known as Donkey.
In 2016, Roseanna sat down in the early hours of the morning and re-wrote Donkey in an attempt to get it running on an old Toshiba T3100. Why? And what did I learn?... The reason why is pretty straightforward. A colleague brought this old Toshiba to work one day. I believe it used to belong to his mother and she used it during her job as a teacher. I thought it was kinda amazing, so I turned it on, and it still worked! It smelt old and the heat caused the plastic smell to waft towards me...I really wanted to play with this machine.
I could see that it had QBasic installed, then I remembered a post I had seen on Hacker news. ”Donkey-A computer game included with early versions of PC DOS”
The post was discussing Donkey.bas the game and the negative reputation it had for being generally terrible. Donkey had received some pretty salty reviews in its time, remarking on the ‘blob’ like graphics and jerky motions. The post also contained a link to a repo holding the src code for Donkey...The gem.
So off I went, I lugged this ten ton machine home with the eagerness of trying to get Donkey running on my mind. It WAS heavy, and no one knew WHY I wanted to bother. I don’t really know why I wanted to bother, I mean, it was rather boring. Re-writing all 2250 lines of code one by one, in one of the shittiest IDEs I've ever worked in.
But still, it was like a weird challenge for myself, to get it working. And I was genuinely intrigued by the code. The code, ah, the code. I learnt about drawing in Basic with the DRAW function, how to play sound and all about the renowned GOTO. Never before had I used the GOTO statement and I could kinda see why. It was hard to follow around in the code and with the bare bones IDE, getting clarity about what was doing what did not come easy. Up down, up down, and repeat. GOTO did not feel nice.
Anyway hours later I had Donkey running. I had changed a few things, to display my own name etc, and had to troubleshoot some bugs. However I had managed to get the program running in its entirety and this was very satisfying. We had fun with the game at work and I had a newfound appreciation for programming, especially after experiencing just how bad it used to be. We have come along way since then and it’s quite amazing. It is just another reason why I continue to love what I do.