Interview: Thomas Jentzsch a Lot Has Already Been Said
Total Page:16
File Type:pdf, Size:1020Kb
Interview: Thomas Jentzsch A lot has already been said about the greatest programmers in the Atari 2600 history: David Crane, Carol Shaw, Gary Kitchen, Steve Cartwright, Rob Fulop, 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 Atari 2600, 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 Commodore 64, 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, Missile Command, 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 Stella 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).