About J64

J64 is a Commodore 64 emulator that is written in Java. Here's its story.

1989: The Atari ST version

Have you ever seen Java on an Atari ST? I didn't. After learning programming in BASIC on a Commodore CBM 3032 in 1979, than having a VC20 (the german version of the VIC20) and finally getting this great C64 machine, I decided that this is the end of the computer's evolution.

It wasn't, and so I bought an Atari ST. But hey, why not teach the ST to behave like a C64? Was I the master of the machine or wasn't I? So I wrote a C program that turned the Atari machine into a C64, and the world was fine again.

I called this emulator "The incredible C64 emulator". It wasn't incredible at all, since it was a very simple emulator. No sprites, no graphics, no sound, no colours, not even the original C64 font. But it was one of the first C64 emulators (the only that I knew of at this time), so I thought it was incredible.

1995: The DOS port

After sticking around with this PCs for a couple of years, I went to the CeBIT computer show in Hannover with my friend Peter Helm. Since we had to sit in the train for some hours, we decided to use the time do do something cool. So I pulled out my notebook computer, on which I had the Atari sources, and we ported the emulator to MS-DOS. After we arrived back in Munich on late evening, the DOS version was running - still written in C.

I added some more C64 feeling to the DOS version later, by using the same beautiful screen colours that the original C64 did, and switching the DOS screen to 40 column mode. Wow! That looked good!

Later, there was a windows version, but I didn't like it and started to learn HTML and Java programming.

1997: The Java version

So there is this ultra-cool world wide web. But what's it good for, despite surfing?

Well, there was the possibility to write platform-independent programs. And everyone could use these programs, without the necessity to get them on a disk or CD and install them. This was the way to make the world like it was ment to be: Everyone could have its C64!

So I ported the emulator once more, this time to an applet that could be used in a HTML page. This wasn't easy, since the C program relied heavily upon pointers, and there are no pointers in Java. But I managed it, with some performance loss. Well, the machines were getting faster anyway, and those just-in-time compilers were emerging.

The coolest thing I added in this version, was the original Commodore 64 font. I decided to call it J64, to get a short name that pronounces the Java port. I had some other ideas how to improve the emulator - there was a lot missing compared to the original machine. Especially the load and save feature, that the C version had, was not working in the Java program. So I said "it's not finished yet" and gave it the version number 0.9.