This story begins early in 2012. I was listening to the latest episode of Retro Computing Roundtable, a podcast about old computers, when they started talking about KansasFest. KansasFest is a gathering of Apple // enthusiasts which has been happening yearly for many years. The 2012 event would be their 24th and the hosts of the Retro Computing Roundtable announced on their podcast that they would all be attending.
Among the hosts is Earl Evans who had often talked about wanting to attend KansasFest the same way that I had over the years. In university, I just didn’t have the money. After university, I was focused on my BeBox and BeOS. And then I was married and Matthew and Samantha arrived. There always seemed to be a good reason why I couldn’t go.
But Earl and the rest of the hosts found a way. I literally paused the podcast and started thinking “why couldn’t I go this year”. Maybe it would be too costly? But I have lots of air miles – enough to get me a flight there for free. And the cost of the event itself is cheap considering that meals and lodging is included. Would my family be OK with me going on a “vacation” by myself? And there is the problem that our wedding anniversary happens during KansasFest.
So, I asked the boss and after a bit of negotiating, I had my OK. I booked my flight and registered. I was going to KansasFest!
I subscribed to the KansasFest mailing list and as the date drew closer, the traffic on the list increased along with my excitement. At one point, someone sent an email asking who was going to be bringing real Apple //’s to the event. I was surprised to see how many people were bringing their old computers. I really wanted to bring my Replica One or my Apple //e but I didn’t trust the airline to treat them properly. I was only planning to bring my MacBook and an iPad.
But everyone seemed to be bringing a pile of cool old hardware. I needed to bring something so I looked around my room and saw my Curta mechanical calculator. That was something I could easily transport and people should be interested in that. So, I replied to the mailing list that I wasn’t bringing any of my Apple //’s but I would have my Curta.
Soon enough, I was in Kansas City and meeting people who I had heard of by watching the Apple // community. People like Ken Gagne, Tony Diaz, Geoff Weiss and more. I listened to John Romero describe the early days of game programming on the Apple // and the strange characters who wrote some of those classics. Randy Brandt talked about Beagle Bros. and the story of AppleWorks. Randy is a Canadian originally from Manitoba and we chatted for a short time about that. I met Vince Briel who created the Replica One which I built. I demonstrated the Curta to many people and it was definitely a unique bit of hardware at KansasFest.
At meals, people would often ask if I was working on a HackFest entry. HackFest is a programming competition where you create something during KansasFest and on the last day, everyone demonstrates their program. They are judged and winners are selected. I had a big project I was working on before KansasFest which was not eligible under HackFest rules and I planned to continue working on it throughout KansasFest. But everyone was encouraging me to do something for HackFest.
Walking back to the dorms afterwards, I started to think what I might do for HackFest if I was going to enter. Then I realized that what I should do is write a simulator of a Curta calculator for the Apple //. The Curta has a crank as its primary interface and I could simulate a crank using the joystick. With a bit of graphics and sound, I could make a pretty good simulation of a Cuta.
I started working on it right away. I used my MacBook and coded it in C using the cc65 cross compiler. I tested it using the Virtual ][ emulator. First, I got a basic simulation of the Curta working. I controlled the calculator using the keyboard on the first version and the output was just text. But that was the basics. I had something which worked and if all else failed, this could be my HackFest entry.
Next, I added graphics. I used the 280×150 resolution Apple // hi-res screen. The bottom of the screen has four lines of text which I used to display the output of the calculator. The graphical display allowed you to see the settings of the dials on the Curta. I coded this between sessions or in the evenings. While waiting for another session to start, I would open up my MacBook and code a bit more. Soon enough, I had graphics working.
But the controls were still through the keyboard. I really wanted it to be fully controlled using the joystick. So, I started coding those interfaces. I could adjust the dials. I could crank the calculator. Soon enough, I only used the keyboard to signal the program to quit. Everything else was controlled using the joystick which was kind of similar to the real Curta.
It still wasn’t quite enough. It didn’t make any of the grinding and clicking sounds of a real Curta doing calculations. The Apple // is actually pretty good at making grinding sounds. A bit more work and I had something approximating the sound of a Curta coming out of the speakers. I pretty much built the application I envisioned while walking back from breakfast a couple of days before.
On the final day, I sat nervously in my room waiting for the judges to come and see my entry. Before the public demonstration, the judges spent some time looking at the entrants. Once they arrived, I announced that “Lots of effort had been put into emulating the Apple // on newer platforms but I thought it was time that the Apple // emulate an older computing machine”. I gave a demo of the simulator and answered a few questions about how I coded it. They seemed impressed and I thought I did well.
A little while later, I had to demonstrate my simulator to all of the attendees. I was the first entrant to demonstrate and I did calculations on the real Curta and on my simulation. Then, I watched as people demonstrated their entries. There was a cool lo-res game. There were a couple of entries on the Apple /// demonstrating graphics and sound. There was a great modification to Applesoft Basic which allowed you to jump to subroutines by name instead of by line number. And many more great programs.
The winners were announced and I thought I might place. Third place when to the named subroutine utility. And second place was the lo-res game. And then they said that I had won first place! I was really taken aback. While still trying to absorb that I had won, I was asked which of several prizes I would like. I opted for a $50 gift certificate to Think Geek but I am not sure I really knew what my options were. I was still kind of shocked I had won. Since then, I used that gift certificate to pick up a couple shirts and some new puzzles like a 7x7x7 Rubik’s cube (not solved, yet).
Since then, I have published the source code to my program on github, was a guest on the Open Apple Podcast talking about my experience at KansasFest. I even wrote an article for JuicedGS about my HackFest entry. JuicedGS is the longest running Apple // publication and is still in print (I am ashamed to admit I only became a subscriber after KansasFest). I even was mentioned online in more mainstream computer news. There is an article at ComputerWorld about KansasFest and HackFest where my CurtaSim is among those featured.
Will I be going to KansasFest 2013? I sure hope so.