Interview: Thomas Jentzsch

A lot has already been said about the greatest programmers in the 2600 history: , , Gary Kitchen, , , some among many geniuses that are always praised in shows and interviewed. However, there´s a generation that came right after the “golden era” of the , programmers that are still carrying the torch creating homebrews. Men and woman with a genuine passion for the Atari, an encyclopedical knowledge of the system, a huge talent and, the most amazing, that donate their time to the Atari community for love, not as a career. Of those modern masters of Atari, one of the most active and gifted is the german Thomas Jentzsch. At 55, Thomas is a software engineer who dedicated the last 20 years of his life to our beloved console, by launching new games, converting PAL exclusives to NTSC, helping recover and release long-lost games, or adding trackball support for some classics. He is so active in the scene that between he giving me this interview and I findind the time to write this piece he found the time to help recovering and releasing another prototype considered long lost: “Kickman”. A game wich recovery itself would demand and article of its own but that Thomas, with the sheer humbleness that characterizes him, sums up like this: “We found the source code on a disc but when compiled it would not run. I´ve massaged the source code, removed two bytes from the explosion when the balloon hits the floor and added missing 4 bytes for the startup vectors. Now the ROM works”. As if rewriting somebody else´s 6207 ASM code was simple and intuitive!

Jogos 80: Do you work as a professional game developer?

Thomas Jentzsch: No. I´m a professional software developer but no game developer. I had learned 6502 ASM on my first computer, a , but i´ve created no games back then. I´ve developed some aplications instead like a tape loader and a basic extension. Later I did assembler coding for the x86, like graphic libraries for Turbo Pascal but with the ever faster and more complex CPUs, this turned out to be superfluous eventually. When I looked for something new, I remembered and found the Atari 2600. That's 20 years ago now.

J80: And what´s your story with Atari?

TJ: I owned one back in the early 80s (still have it). Back then the carts were very expensive and I only had a few carts: Asteroids, Pele Soccer, Starmaster. But I had access to cart from friends - Pitfall, , Riddle of the Sphinx, for example. But Starmaster was my favorite back then. I hardly play the original games anymore, only for testing or if I want to convert one for the Trackball, for example. From the modern homebrews, I am a big fan of Oystron - that one got me started to code myself for the 2600 - and Ladybug, a brilliant arcade port within the original system limitations. And RoboMechanik, still under development, is becoming great too.

J80: And how you started programming for the 2600?

TJ: I knew 6502 ASM from my C64 time and never found it hard to learn (I was young then!). But despite using a different chip – the 6507 - the 2600 turned out to be very different to anything I had programmed before. And that extra challenge made me interested. Fortunately the Mailing list existed, where people were sharing all the needed information. So I could build upon other people's knowledge and there was very little frustration. Later on I started and dropped many game ideas. But only because I lost interest or found no good way to do them for the 2600. I suppose that happens to every developer. J80: Your first game was Thrust, widely recognized as one of the best 100% pure ASM Atari game with no extra hardware...

TJ: Thrust was a C64 game I used to play, one of my favourites. Designing the kernel took me quite a while (author´s note: Kernel is the centerpiece of code around wich you build your game. It´s were all the main routines are – graphics, áudio, controls, score and the game logic. It´s roughly equivalent to modern-day engines). Also the pod's physics where quite challenging to implement. And designing a ship which looks OK during all rotations. All was new to me, but that was fun. The only thing that was tedious was defining the underground playfield.

J80: And what about the footpedal support? (Note: There was a special, limited edition of Thrust that came with a special controller that allows you to control a ship with your feet, like an airplane)

TJ: The Foot Pedal idea came from a friend, Jahfish. We were wondering about the controls and how to support a driving controller. He knew someone selling the Foot Pedals very cheap, so the choice was logical.

J80: You and Andrew Davie created together another unanimity among modern homebrews, “Boulder Dash”. Can you tell us a little bit about its development?

TJ: The game was started and stopped multiple times by Andrew. People asked me to continue on my own, but for me it always was a collaborative effort and I was positive that Andrew would return eventually. And he always did. We both are very strong personalities with strong opinions. So we had a lot of back and forth discussions about some details which most likely no one will ever notice. You can find a lot of background story in the game's manual that´s available online.

J80: You also created another game that does not have much eye candy but that have a rare complexity in the Atari 2600, “Three´s”. And “Star Castle Arcade”, not only beautiful, has the hard mission to convert vector graphics to raster. Can you tell us a little bit about it?

TJ: Star Castle came first. It was started by Chris (Walton) because of that other Star Castle which should be sold for a ridiculous price (Note: in 2012 D. Scott Williamson started a crowdfunding campaign for a 2600 version of the arcade classic. Starting price was 50 USD for a loose cart or 100 USD for a boxed version, something that stirred some protests in the community). When he thought it was mostly done I came into the project. This lead to some major changes in the code which improved the gameplay quite a lot. I also aligned the game as close as possible to the arcade original, but made it a lot easier. Still it is quite hard, like almost all of my games. No idea why! Due to a shortage of boards, the release of Star Castle was much delayed. During that time 2048 became famous. I liked the game but the iOS original Threes! is in my opinion much better because it adds some extra level of strategy. I asked the author of the game for permission to release the game for the 2600. He is a very nice person and even created a tweet about my game. The most complex thing of the game is the kernel display. Timing was very close and for the first time I had to use the RIOT timer as an index.

(Here goes another note: We haven´t discussed all the long list of games Thomas worked in simply because there´s too many of them. Besides the one discussed above we can list “Jammed”, “Swoops!”, “Star Fire” – that he claims have worked only in animations -, “Robot City”, “Aardvark” – recently released and made with another Atari legend, Nanochess -, and “The Stacks”, still under development. Thomas also created a very impressive pong clone called “RAM Pong”, a game that fits entirely in the 128 bytes – yes, BYTES – of RAM that the Atari has – and that keeps working even after you take off the cartridge with the console on). J80: You also like to convert PAL games to NTSC, and released so many that makes it seems easy. There´s over 30 of them. How hard is it?

TJ: In most cases it is just manual work. First you "DiStella" the game and then you have to identify the color data and replace all magic numbers with color constants. Finally you change the constant's values from PAL to NTSC. That's the colors (Note: The Atari video chip, TIA, exists in two different versions, PAL and NTSC, and they can use the same code for very different colors. So, the blue sky on a PAL game can turn orange on a NTSC console because those two share the same code. You must change the colors one by one) . For the timing (60 vs 50 Hz) you often only have to adapt two timer values. But sometimes the game needs the extra CPU time it has in PAL, then you have to find a working compromise. Very rarely this also includes small changes to the game's kernel (another note: PAL and NTSC TVs works in different frequencies. A PAL TV draws the screen 50 times for second while a NTSC draws 60 times. This implies in two different things: A PAL game is faster on NTSC, and also on PAL you have more time – so, extra CPU cycles – between drawing two screens. A programmer can use that minimum extra amount of time to do more calculations, for example).

J80: You are also involved in the release of two “lost” games that were finally released this year: “Birthday Mania” and “Pink Panther” (both discussed on an article in this edition). Can you tell us a little more about it?

TJ: I got the scanned and transcribed code from Birthday Mania. So only had to make it compile with DASM and fix a few typos. Finally I replaced the displayed garbage with some meaningful text and was done. For Pink Panther, all the needed info was already there in Stella. So when Dutchman was looking for help in dumping his own cart, I only had to adapt my RAM based dumper to the game's unique bankswitching. By now it turned out that hardware is a bit bizarre, but not as bizarre as described in Stella. E.g. the three extra bytes at the end do not exist. We fixed that and will release a ROM when we release the matching Stella version.

J80: How do you see the homebrew scene today? Any predictions for the near future?

TJ: Currently it is alive and kicking, that's for sure. But I wonder what will happen in the distant future when we are all long gone. Will there be still people who at least preserve the history? I doubt there will be another crash, even though a lot of mediocre or plain bad games are put on cart to milk collectors. There are always enough really good ones to counter that. I am a purist, I don´t use bAtari, I only code in pure ASM and with no extra hardware in my carts. I wonder what will happen with the ARM based games in the future. (Note: some of the latest homebrews have an extra chip in the cartridge that allows calculations and graphics that are impossible to do in the “normal”, stock Atari 2600. That pushes the boundaries of the platform, but also brings the discussion if those are “Atari games” after all). We now have Harmony and Encore and the even more powerful UnoCart. Games for the latter are being written already. So what was once a more or less stable platform, where developers competed under the same rules, has now become quite different. I am sure there will be even more powerful hardware in the future. Many of these games are really technical marvels, but they completely change the way of coding for the 2600. A lot of optimizing for bits and bytes and CPU time become irrelevant with these. For me this always has been the most loved challenge of the 2600.

J80: Any final comments for our readers?

TJ: It should really be mentioned that the Atari 2600 scene is a very, very nice community. By far the most people are very kind and helpful. There is a lot of respect and a place for everyone playing fair. And I am sure without this special spirit, the 2600 would be long dead.