<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.alexthissen.nl/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Atari Lynx Mania</title><subtitle type="html" /><id>http://www.alexthissen.nl/blogs/atarilynx/atom.aspx</id><link rel="alternate" type="text/html" href="http://www.alexthissen.nl/blogs/atarilynx/default.aspx" /><link rel="self" type="application/atom+xml" href="http://www.alexthissen.nl/blogs/atarilynx/atom.aspx" /><generator uri="http://communityserver.org" version="4.1.31106.3070">Community Server</generator><updated>2010-09-17T21:21:56Z</updated><entry><title>Programming tutorial: Part 1–Getting Started</title><link rel="alternate" type="text/html" href="/blogs/atarilynx/archive/2012/04/06/atari-lynx-game-programming-tutorial-part-1-getting-started.aspx" /><id>/blogs/atarilynx/archive/2012/04/06/atari-lynx-game-programming-tutorial-part-1-getting-started.aspx</id><published>2012-04-05T22:02:48Z</published><updated>2012-04-05T22:02:48Z</updated><content type="html">&lt;h1&gt;Atari Lynx programming tutorial series:&lt;/h1&gt;  &lt;ul&gt;   &lt;li&gt;Part 1: Getting started&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;So, you want to develop a game or program for the Atari Lynx, right? Well, join me on my journey to learn how to program for this game console. This tutorial series will be expanded and updated as my knowledge of the platform grows, when feedback from the community is given. Some things in this tutorial might be wrong. Let me know and help grow this tutorial, so people can benefit from it.&lt;/p&gt;  &lt;p&gt;I will write this so others can also start developing games. At this point in time I think I will use a set of helloworld-ish samples to explain concepts, but also build a real game to explore the various aspects of Lynx game development. This means that I am not sure how the tutorials will be structured. I anticipate that they will be like living documents that grow and get better content over time.&lt;/p&gt;  &lt;h2&gt;The ingredients for a game&lt;/h2&gt;  &lt;p&gt;These are the things you will need to build, test and run your game for the Atari Lynx:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The actual hardware of an Atari Lynx device&lt;/li&gt;    &lt;li&gt;A programmable cartridge onto which you can transfer the game and test it in the real Lynx&lt;/li&gt;    &lt;li&gt;An emulator to make dry runs without needing the hardware and the time to transfer and test a cartridge&lt;/li&gt;    &lt;li&gt;A development environment that can produce the correct 65SC02 code that the Lynx console can run&lt;/li&gt;    &lt;li&gt;The idea for a game&lt;/li&gt;    &lt;li&gt;Basic understanding of programming&lt;/li&gt;    &lt;li&gt;Dedication, patience and perseverance&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Let’s briefly look at each one of these.&lt;/p&gt;  &lt;h3&gt;Actual Atari Lynx device&lt;/h3&gt;  &lt;p&gt;You probably have one already. Why else would you want to write a game for this device? If not, there are plenty of Lynx console to be bought in your neighborhood or on the Internet. &lt;a href="http://www.ebay.com" target="_blank"&gt;Ebay&lt;/a&gt; is probably a good place to start if no one around you has one for you. &lt;/p&gt;  &lt;p&gt;&lt;img border="0" alt="" src="http://vorming.minatica.be/Games/Specials/Handhelds/atarilynxns6.jpg" width="240" height="223" /&gt;&lt;/p&gt;  &lt;p&gt;There is no particular preference for the Atari Lynx Mark I (Classic) or II model. The games should run on both. The most noticeable difference in the hardware is the support for stereo in the Lynx II, where the Lynx I only has mono sound. The form factors are different as well. Here, there is a slight bias towards the Lynx II, because it has an open cartridge slot that allows for easy insertion of odd-shaped cartridges. This will help with the flashable cartridges as well (see later).&lt;/p&gt;  &lt;h3&gt;A programmable cartridge &lt;/h3&gt;  &lt;p&gt;There are a couple of ways to get a game binary image onto a cartridge. One of them is an EEPROM-burner. I have seen these out there. Or you can use the Flashcart by Karri Kaksonen. My personal favorite is the &lt;a href="http://www.atariage.com/forums/topic/159711-flashcard-information-and-news/" target="_blank"&gt;FlashCard&lt;/a&gt; by Lynxman. I own one and have used it extensively to try my games on a real Lynx device. Works like a charm and it is highly recommended. It’s affordable. Check with Lynxman for availability and pricing. Make sure you have a Lynx II or are willing to remove the cartridge bay door of your Lynx I.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://www.atariage.com/forums/uploads/av-12435.jpg" alt="" /&gt;&lt;/p&gt;  &lt;h3&gt;Emulator to quickly test a game&lt;/h3&gt;  &lt;p&gt;There are two main emulators out there:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;a href="http://sourceforge.net/projects/handy/files/handy/Handy%200.95/" target="_blank"&gt;Handy&lt;/a&gt; (with incarnations for about every platform and device)      &lt;br /&gt;      &lt;br /&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_38007CC0.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_thumb_5F00_059CA941.png" width="334" height="260" /&gt;&lt;/a&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://mednafen.sourceforge.net/" target="_blank"&gt;Mednafen&lt;/a&gt; (Multi-system emulator based of Handy source code with improvements)      &lt;br /&gt;      &lt;br /&gt;&amp;#160;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_44FA5CD1.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_thumb_5F00_55FE8AB4.png" width="383" height="260" /&gt;&lt;/a&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;I have always used Handy, but recently found that Mednafen has flawless sound support. It is a bit trickier to use (command-line based), but is well worth checking out.   &lt;br /&gt;When you choose Handy, do pick the &lt;a href="http://sourceforge.net/projects/handy/files/handy/Handy%200.95/Handy-Development-0.95.zip/download" target="_blank"&gt;Developer&lt;/a&gt; version, as it includes debugging support and has more features. Pick up the &lt;a href="http://sourceforge.net/projects/handy/files/handy/Handy%200.95/Handy-win32src-0.95.zip/download" target="_blank"&gt;source code&lt;/a&gt; for the emulator as well, which is for the developer version. I have written a blog article on &lt;a href="http://www.alexthissen.nl/blogs/atarilynx/archive/2011/06/20/compiling-handy-0-95-for-windows.aspx" target="_blank"&gt;how to compile the source for Handy on Visual Studio 2010&lt;/a&gt;.&lt;/p&gt;  &lt;h3&gt;Development environment for building 65SC02 code&lt;/h3&gt;  &lt;p&gt;In my book a development environment encompasses everything that you need to build games. This ranges from your operating system, to tooling and documentation.&lt;/p&gt;  &lt;p&gt;You have got the operating system taken care of already. How else would you be browsing this page? I cannot judge whether this will be the OS for game development of your choice. I know that it is possible to get a working and productive environment for Windows and Linux and not so sure for MacOS. Everything else will have slimmer chances. If you use one of the first two then your in luck. Otherwise you might need to switch. My operating system is Windows, and have nothing against the others. However, I do focus on Windows and Microsoft technology. I will not compare this with other operating systems and manufacturers thereof. You be the judge of what is better.&lt;/p&gt;  &lt;p&gt;My list of things for the Atari Lynx development environment:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Documentation&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Epyx developer documentation for Lynx.       &lt;br /&gt;Available &lt;a href="http://www.monlynx.de/lynx/lynxdoc.html" target="_blank"&gt;online&lt;/a&gt; from Bastian Schick’s website or as a set of scanned TIFF images from &lt;a href="http://www.atariage.com/" target="_blank"&gt;Atari Age&lt;/a&gt; at the &lt;a href="http://www.atariage.com/Lynx/archives/developer_docs/index.html?SystemID=LYNX" target="_blank"&gt;Lynx Archive&lt;/a&gt;.&lt;/li&gt;      &lt;li&gt;Atari Age &lt;a href="http://www.atariage.com/forums/forum/53-atari-lynx-programming/" target="_blank"&gt;Atari Lynx programming forum&lt;/a&gt;&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Tooling&lt;/li&gt;    &lt;ol&gt;     &lt;li&gt;Compiler, assembler and linker for 65SC02 source code&lt;/li&gt;      &lt;li&gt;Text editor and/or GUI for source code and resource files&lt;/li&gt;      &lt;li&gt;Framework specifically for creating Atari Lynx games&lt;/li&gt;   &lt;/ol&gt; &lt;/ol&gt;  &lt;p&gt;We’ll get into each of the tooling later on.&lt;/p&gt;  &lt;h3&gt;The idea for a game&lt;/h3&gt;  &lt;p&gt;Surely, to develop a game you will need to have an idea of what the game is like. That is not what this tutorial is about. It is meant to give you the knowledge on how to use the platform, hardware, tooling and programming environment to accomplish writing a game. As far as the game is concerned: that is your idea mixed with the things in this tutorial.&lt;/p&gt;  &lt;h3&gt;Basic understanding of programming&lt;/h3&gt;  &lt;p&gt;There are so many books, internet sites, people, training companies and schools out there that can teach you how to program, it’s not even funny anymore. If you are not comfortable writing code and haven’t got your head around it yet, this tutorial might not be for you. I do assume you have programming experience and skills. Then again, reading this might help you learn more about programming. You’ll notice if it can help you develop your skills. For me, it has been very educational to program in a low level way, instead of the high level languages and frameworks that I use every day.&lt;/p&gt;  &lt;h1&gt;&lt;/h1&gt;  &lt;h3&gt;Dedication, patience and perseverance&lt;/h3&gt;  &lt;p&gt;Being a developer of software can be a very rewarding task. Whether it is monetary gain, or personal satisfaction of solving a problem or completing a game, for everyone there is something to be had from developing. If there isn’t you should really reconsider starting development or being a developer. &lt;/p&gt;  &lt;p&gt;But, the other side of the medal is that there will almost certainly be moments where things get tough. You might not get the results you want, or not as quickly as you’d like. There will be bugs in your code that you need to hunt down and fix. There is not as much documentation as you will need and the developer community is small to say the least. You have been warned and should be prepared to deal with this. On the upside, take a look at the fun games that the homebrew community of the Atari Lynx has developed the past couple of years. And I must say after having spent a couple of evenings experimenting: it is really fun to program for the Lynx. Amazing what this little console can do. Little code, big results. I am enthusiastic. I hope you are too.&lt;/p&gt;  &lt;h2&gt;&lt;/h2&gt;  &lt;h2&gt;From this point on&lt;/h2&gt;  &lt;p&gt;This first part has not a whole lot to do with programming yet. But we’ll take it step by step. The next part will cover the various tools that you will need and could use. We’ll discuss the compilers, editors and frameworks. So, stay tuned for more on the Atari Lynx programming tutorial.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.alexthissen.nl/aggbug.aspx?PostID=22591" width="1" height="1"&gt;</content><author><name>alexthissen</name><uri>http://www.alexthissen.nl/members/alexthissen/default.aspx</uri></author></entry><entry><title>Dracula the Undead walkthrough</title><link rel="alternate" type="text/html" href="/blogs/atarilynx/archive/2011/07/19/dracula-the-undead-walkthrough.aspx" /><id>/blogs/atarilynx/archive/2011/07/19/dracula-the-undead-walkthrough.aspx</id><published>2011-07-19T06:50:00Z</published><updated>2011-07-19T06:50:00Z</updated><content type="html">&lt;p&gt;Below follows the complete solution to the graphical adventure on your Lynx, Dracula &amp;ndash; The Undead. &lt;/p&gt;
&lt;p&gt;&lt;img height="240" width="194" src="http://www.atariage.com/Lynx/boxes/b_Dracula_front.jpg" align="left" alt="Dracula the Undead - Box Front" border="0" style="margin:0px 25px 0px 0px;display:inline;float:left;" /&gt;&lt;/p&gt;
&lt;p&gt;Included are all the possibilities of exploration available in the game. You need not go through the list of commands given below. Stick to the bold commands and only execute the others if you&amp;#39;re interested in seeing what happens. Omitted are the commands that result in remarks like &amp;#39;there&amp;#39;s nothing unusual about it.&amp;#39; or &amp;#39;I don&amp;#39;t think that&amp;#39;ll work&amp;#39;. Some are quite interesting (and that&amp;#39;s the main reason I included them), since they more or less show the path of exploration you might have followed solving the game yourself. For instance, when you first try and climb out of the window in Jonathan&amp;#39;s antechamber he doesn&amp;#39;t believe it possible, whereas when he has seen Dracula do it, he does climb out, convinced it can be done.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap24_5F00_69B23B1D.png"&gt;&lt;img height="154" width="240" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap24_5F00_thumb_5F00_6226CBB0.png" alt="snap24" border="0" title="snap24" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap33_5F00_68D9D533.png"&gt;&lt;img height="154" width="240" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap33_5F00_thumb_5F00_419F8BFE.png" alt="snap33" border="0" title="snap33" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap55_5F00_081C7C07.png"&gt;&lt;img height="154" width="240" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap55_5F00_thumb_5F00_0ECF858A.png" alt="snap55" border="0" title="snap55" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Use the map in combination with the italic headers. The headers give the name of the location where you should be or move to before trying any of the actions given below them. If you would want to finish the game as quickly as possible, you should only execute the commands printed in bold. &lt;/p&gt;
&lt;p&gt;A note of caution: if something happens, like an animation of some sort or a narration by Bram Stoker, and the list prompts you to &lt;b&gt;use notebook&lt;/b&gt;, make sure you execute no other command. If you do, you might not be able to finish the game victoriously. Sometimes, however, you might be lucky if you accidently execute a false command, because in some instances you can examine something again and then use the notebook (like at Dracula&amp;#39;s coffin or in his study).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap64_5F00_554C7592.png"&gt;&lt;img height="154" width="240" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap64_5F00_thumb_5F00_2E122C5D.png" alt="snap64" border="0" title="snap64" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap66_5F00_0D8AECAB.png"&gt;&lt;img height="154" width="240" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap66_5F00_thumb_5F00_7B4225E8.png" alt="snap66" border="0" title="snap66" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap67_5F00_3F165A40.png"&gt;&lt;img height="154" width="240" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap67_5F00_thumb_5F00_65E47080.png" alt="snap67" border="0" title="snap67" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;On the other hand&lt;/h2&gt;
&lt;p&gt;Finishing the game in only two days (more like one) after about three go&amp;#39;s I really started wondering whether the solution given below is the only one. If you&amp;#39;ve read the original novel by Bram Stoker (which I can really, really recommend for all you English books readers or students who need a good book for their reading list), you find that the DRACULA - THE UNDEAD only covers about a seventh of the novel. Some arguments to confirm my doubts: in the sewing room where you fall asleep and nearly get killed by the three brides you come across several objects I cannot seem to use in any way. There are more of those unusable objects, by the way. Furthermore, most doors that are locked can be opened later on in the game. Some, however, not. What about the coins you carry, but do not seem to need? Although being warned several times to escape before the brides &amp;#39;claim you with their voluptuous kisses&amp;#39; I never got killed by them.&lt;/p&gt;
&lt;p&gt;I imagine this to be the result of always having broken open the window of Jonathan&amp;#39;s bedroom, so I could exit the room later in the game, when the door to the antechamber from the bedroom is locked. Does anybody know if this is really so? And last and certainly not least: if you happen to have GAMEZONE issue four handy, look on page 91, the LYNX previews. You&amp;#39;ll notice a picture from the DRACULA game showing Jonathan bending over Dracula in his coffin, stake in hand pointing towards Dracula&amp;#39;s chest. The text reads: &amp;#39;Finding a handy stake he is ready to end Draculas reign of terror.&amp;#39; I certainly did not find this picture anywhere in the game, so where did it go? Cancelled in a later version because Atari ran out of memory on the card, or did I miss out on a part of the game? &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap43_5F00_3EAA274B.png"&gt;&lt;img height="154" width="240" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap43_5F00_thumb_5F00_2C616089.png" alt="snap43" border="0" title="snap43" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap59_5F00_7E07DADB.png"&gt;&lt;img height="154" width="240" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap59_5F00_thumb_5F00_52C343D4.png" alt="snap59" border="0" title="snap59" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap61_5F00_0B6DEDE2.png"&gt;&lt;img height="154" width="240" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap61_5F00_thumb_5F00_7925271F.png" alt="snap61" border="0" title="snap61" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Walkthrough (Spoiler alert)&lt;/h2&gt;
&lt;p&gt;The actual walkthrough is too long for this blog post. I have uploaded it to the Media area of this blog. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.alexthissen.nl/media/p/22582.aspx"&gt;&lt;img height="110" width="113" src="http://t0.gstatic.com/images?q=tbn:ANd9GcSd8-JcdrlGpDcLoKiFTIhR0DJs-8oPVua2kZ0nDqYmvGmBNFGuVQ" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can find the PDF file for the walkthrough &lt;a href="http://www.alexthissen.nl/media/p/22582.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.alexthissen.nl/aggbug.aspx?PostID=22583" width="1" height="1"&gt;</content><author><name>alexthissen</name><uri>http://www.alexthissen.nl/members/alexthissen/default.aspx</uri></author><category term="Games" scheme="http://www.alexthissen.nl/blogs/atarilynx/archive/tags/Games/default.aspx" /></entry><entry><title>Completing Chip’s Challenge game</title><link rel="alternate" type="text/html" href="/blogs/atarilynx/archive/2011/07/18/completing-chip-s-challenge-game.aspx" /><id>/blogs/atarilynx/archive/2011/07/18/completing-chip-s-challenge-game.aspx</id><published>2011-07-18T14:52:47Z</published><updated>2011-07-18T14:52:47Z</updated><content type="html">&lt;p&gt;To be honest, I do not remember whether I completed the Atari Lynx game Chip’s Challenge myself back at the time. Anyway, yesterday evening I sat down, looked up the level start code for the final level and gave it a spin. I quickly realized that I either had to use every memory muscle in my brain to finish this level, or make some notes. Well, some notes turned into a complete level map. Here is the layout of the final level:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/Chip4before_5F00_7C403959.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="Chip4before" border="0" alt="Chip4before" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/Chip4before_5F00_thumb_5F00_4AF14EF9.png" width="479" height="480" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You start off at the place where Chip is shown. You first need to get the four keys to consecutively open the yellow, blue, red and green door. Then you head into the teleporter and find out you need to shove some bricks/boxes, brown thingies. Easy enough, except: underneath some of the boxes is fire, roasting your fine, nerdy buttocks. By trial and error you can find out which ones are safe to use, which ones are not. You will have to remember those. That’s possible because there is no randomization involved. You will have to try each and every box until you find the exit to finish the game behind one of them.&lt;/p&gt;  &lt;h2&gt;Spoiler alert!!!&lt;/h2&gt;  &lt;p&gt;You can save some time looking at the map below. It shows what is beneath a box, if something is there at all. So the fire indicates hotness beyond your ability to handle. The question marks will say: “This spot would be too obvious!”. Finally, the exit is shown to be at the top row, slightly off to the left side of the middle (second block from the middle). Here’s the map with the locations:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/Chip4after_5F00_220639F0.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="Chip4after" border="0" alt="Chip4after" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/Chip4after_5F00_thumb_5F00_1A2E2181.png" width="479" height="480" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Once you reach the exit, you are welcomed by the end sequence. Melissa is hugging you for completing this quest and takes you to the prom “E-prom”.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap31_5F00_181122B8.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="snap31" border="0" alt="snap31" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap31_5F00_thumb_5F00_70D6D982.png" width="240" height="154" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap32_5F00_3753C98B.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="snap32" border="0" alt="snap32" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap32_5F00_thumb_5F00_622C2D9D.png" width="240" height="154" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap33_5F00_0FAD4D61.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="snap33" border="0" alt="snap33" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap33_5F00_thumb_5F00_6873042B.png" width="240" height="154" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;For your entertainment I also uploaded a speedrun of the level to Youtube.&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:74ff0c58-37ef-4716-9e03-88633d87a214" class="wlWriterEditableSmartContent"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=QbHkL2spxkk&amp;amp;feature=youtube_gdata_player" target="_new"&gt;&lt;img src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/video83a2913e19cc_5F00_6F260DAE.jpg" style="border-style:none;" alt="" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="width:448px;clear:both;font-size:.8em;"&gt;Speedrun of level 149 “Special” of Atari Lynx game Chip’s Challenge&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;Have fun!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.alexthissen.nl/aggbug.aspx?PostID=22581" width="1" height="1"&gt;</content><author><name>alexthissen</name><uri>http://www.alexthissen.nl/members/alexthissen/default.aspx</uri></author><category term="Games" scheme="http://www.alexthissen.nl/blogs/atarilynx/archive/tags/Games/default.aspx" /></entry><entry><title>Maps of “Todd’s Adventures in Slimeworld”</title><link rel="alternate" type="text/html" href="/blogs/atarilynx/archive/2011/07/10/maps-of-todd-s-adventures-in-slimeworld.aspx" /><id>/blogs/atarilynx/archive/2011/07/10/maps-of-todd-s-adventures-in-slimeworld.aspx</id><published>2011-07-10T19:44:46Z</published><updated>2011-07-10T19:44:46Z</updated><content type="html">&lt;p&gt;These maps have been in my folder for a very, very long time (around 1992). I thought it would be a shame to see them go to waste. &lt;/p&gt;  &lt;p&gt;When I was still in university I had too much time and an Atari Lynx with “Todd’s Adventures in Slimeworld” to boot. A great combination. I drew all maps of the single player adventures by hand and stuck them in a folder. Today, I used my scanner to scan each of them. Then I stitched together the individual pages and came up with the maps you can see here. I hope you enjoy them and find them useful. Pay special attention to the map for adventure 6 (Arcade): it shows the easter egg to the zit-popping game.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap30_5F00_406919E4.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="snap30" border="0" alt="snap30" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap30_5F00_thumb_5F00_3F90B3FA.png" width="240" height="154" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Let me know what you think.&lt;/p&gt;  &lt;h2&gt;Adventure 1: Easy&lt;/h2&gt;  &lt;p&gt;&lt;a href="https://skydrive.live.com/?cid=bc47bfd75f6e49a0&amp;amp;sc=documents&amp;amp;id=BC47BFD75F6E49A0%211822#cid=BC47BFD75F6E49A0&amp;amp;id=BC47BFD75F6E49A0%211823&amp;amp;sc=documents"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="SlimeWorld Adventure 1 - Easy 25percent" border="0" alt="SlimeWorld Adventure 1 - Easy 25percent" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/SlimeWorld_2D00_Adventure_2D00_1_2D002D002D00_Easy_2D00_25percent_5F00_780362C6.png" width="640" height="64" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;Adventure 2: Exploration&lt;/h2&gt;  &lt;p&gt;&lt;a href="https://skydrive.live.com/?cid=BC47BFD75F6E49A0&amp;amp;id=BC47BFD75F6E49A0%211823&amp;amp;sc=documents#cid=BC47BFD75F6E49A0&amp;amp;id=BC47BFD75F6E49A0%211824&amp;amp;sc=documents"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="SlimeWorld Adventure 2 - Exploration 25percent" border="0" alt="SlimeWorld Adventure 2 - Exploration 25percent" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/SlimeWorld_2D00_Adventure_2D00_2_2D002D002D00_Exploration_2D00_25percent_5F00_4AC5168A.png" width="640" height="87" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;Adventure 3: Action&lt;/h2&gt;  &lt;p&gt;&lt;a href="https://skydrive.live.com/?cid=BC47BFD75F6E49A0&amp;amp;id=BC47BFD75F6E49A0%211823&amp;amp;sc=documents#cid=BC47BFD75F6E49A0&amp;amp;id=BC47BFD75F6E49A0%211825&amp;amp;sc=documents"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="SlimeWorld Adventure 3 - Action 25percent" border="0" alt="SlimeWorld Adventure 3 - Action 25percent" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/SlimeWorld_2D00_Adventure_2D00_3_2D002D002D00_Action_2D00_25percent_5F00_25B4081B.png" width="640" height="73" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;Adventure 4: Suspense&lt;/h2&gt;  &lt;p&gt;&lt;a href="https://skydrive.live.com/?cid=BC47BFD75F6E49A0&amp;amp;id=BC47BFD75F6E49A0%211823&amp;amp;sc=documents#cid=BC47BFD75F6E49A0&amp;amp;id=BC47BFD75F6E49A0%211826&amp;amp;sc=documents"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="SlimeWorld Adventure 4 - Suspense 25percent" border="0" alt="SlimeWorld Adventure 4 - Suspense 25percent" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/SlimeWorld_2D00_Adventure_2D00_4_2D002D002D00_Suspense_2D00_25percent_5F00_24DBA231.png" width="640" height="77" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;Adventure 5: Logic&lt;/h2&gt;  &lt;h2&gt;&lt;a href="https://skydrive.live.com/?cid=BC47BFD75F6E49A0&amp;amp;id=BC47BFD75F6E49A0%211823&amp;amp;sc=documents#cid=BC47BFD75F6E49A0&amp;amp;id=BC47BFD75F6E49A0%211827&amp;amp;sc=documents"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="SlimeWorld Adventure 5 - Logic 25percent" border="0" alt="SlimeWorld Adventure 5 - Logic 25percent" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/SlimeWorld_2D00_Adventure_2D00_5_2D002D002D00_Logic_2D00_25percent_5F00_280D8A19.png" width="640" height="119" /&gt;&lt;/a&gt;&lt;/h2&gt;  &lt;h2&gt;Adventure 6: Arcade&lt;/h2&gt;  &lt;p&gt;&lt;a href="https://skydrive.live.com/?cid=BC47BFD75F6E49A0&amp;amp;id=BC47BFD75F6E49A0%211823&amp;amp;sc=documents#cid=BC47BFD75F6E49A0&amp;amp;id=BC47BFD75F6E49A0%211822&amp;amp;sc=documents"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="SlimeWorld Adventure 6 - Arcade 25percent" border="0" alt="SlimeWorld Adventure 6 - Arcade 25percent" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/SlimeWorld_2D00_Adventure_2D00_6_2D002D002D00_Arcade_2D00_25percent_5F00_14802A78.png" width="640" height="38" /&gt;&lt;/a&gt;&lt;/p&gt;                &lt;h3&gt;Legend&lt;/h3&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="442"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="136"&gt;&lt;strong&gt;Key&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="304"&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="136"&gt;Number&lt;/td&gt;        &lt;td valign="top" width="304"&gt;Spawn point (see lookup list at right of map for start code)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="136"&gt;G&lt;/td&gt;        &lt;td valign="top" width="304"&gt;Gem&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="136"&gt;SG&lt;/td&gt;        &lt;td valign="top" width="304"&gt;Super gem&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="136"&gt;M&lt;/td&gt;        &lt;td valign="top" width="304"&gt;Megabomb&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="136"&gt;V&lt;/td&gt;        &lt;td valign="top" width="304"&gt;Snapper&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="136"&gt;B&lt;/td&gt;        &lt;td valign="top" width="304"&gt;Bait&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="136"&gt;S&lt;/td&gt;        &lt;td valign="top" width="304"&gt;Shield&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="136"&gt;P&lt;/td&gt;        &lt;td valign="top" width="304"&gt;Gun powerup&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="136"&gt;J&lt;/td&gt;        &lt;td valign="top" width="304"&gt;Jetpack&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="136"&gt;C&lt;/td&gt;        &lt;td valign="top" width="304"&gt;Cleanser (changes slime pool to water)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="136"&gt;R&lt;/td&gt;        &lt;td valign="top" width="304"&gt;Mushroom&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="136"&gt;Blue&lt;/td&gt;        &lt;td valign="top" width="304"&gt;Water&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="136"&gt;Green&lt;/td&gt;        &lt;td valign="top" width="304"&gt;Slime&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="136"&gt;Green (marked M)&lt;/td&gt;        &lt;td valign="top" width="304"&gt;Moving slime&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="136"&gt;Double line&lt;/td&gt;        &lt;td valign="top" width="304"&gt;Passway (door or ceiling)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="136"&gt;Brown edge&lt;/td&gt;        &lt;td valign="top" width="304"&gt;Bouncy slime&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="136"&gt;Red edge&lt;/td&gt;        &lt;td valign="top" width="304"&gt;Sticky slime&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="136"&gt;Blue edge&lt;/td&gt;        &lt;td valign="top" width="304"&gt;Ice&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.alexthissen.nl/aggbug.aspx?PostID=22577" width="1" height="1"&gt;</content><author><name>alexthissen</name><uri>http://www.alexthissen.nl/members/alexthissen/default.aspx</uri></author><category term="Games" scheme="http://www.alexthissen.nl/blogs/atarilynx/archive/tags/Games/default.aspx" /></entry><entry><title>Running Atari Lynx emulator on a Windows Phone 7</title><link rel="alternate" type="text/html" href="/blogs/atarilynx/archive/2011/07/06/running-atari-lynx-emulator-on-a-windows-phone-7.aspx" /><id>/blogs/atarilynx/archive/2011/07/06/running-atari-lynx-emulator-on-a-windows-phone-7.aspx</id><published>2011-07-06T20:00:00Z</published><updated>2011-07-06T20:00:00Z</updated><content type="html">&lt;p&gt;The implementation of the emulator for the Atari Lynx has been progressing steadily. I thought it would be a good time to show a particular point of progress: a working implementation of the emulator running on a Windows Phone 7. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;(Please visit the site to view this media)&lt;/p&gt;
&lt;div&gt;Update: here is another video of the emulator running in Windows Phone 7 emulator.&lt;/div&gt;
&lt;p&gt;&amp;nbsp;(Please visit the site to view this media)&lt;/p&gt;
&lt;p&gt;Some details:&lt;/p&gt;
&lt;p&gt;The emulator core is used in a &lt;a target="_blank" href="http://www.microsoft.com/download/en/details.aspx?id=23714"&gt;XNA Game Studio 4.0&lt;/a&gt; implementation for Windows, Phone 7 and Xbox 360 client. The Windows and Phone 7 implementations work correctly (give and take the remaining bugs and mayor performance issues), but the Xbox 360 variant doesn&amp;rsquo;t work. &lt;/p&gt;
&lt;p&gt;As you can see in the video the framerate is pretty dramatic with an estimate of 2 fps (where 0.2 would probably be more accurate). The Windows version can run at 60 fps, but the Windows Phone 7 doesn&amp;rsquo;t even come close. The Windows Phone 7 emulator can run most games at 25 fps. This is something that needs to be investigated. There were no performance optimizations made just yet.&lt;/p&gt;
&lt;p&gt;You can find the source code for the emulator at &lt;a target="_blank" href="http://lynxemulator.codeplex.com"&gt;lynxemulator.codeplex.com&lt;/a&gt;. Suggestions for improvement are very welcome.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://pepijnsitter.wordpress.com/author/pepijnsitter/"&gt;Pepijn Sitter&lt;/a&gt; helped develop part of this code. He refactored the controller handling implementation and did some first, rough implementation of the gestures for the Phone, so we could at least get past the start screen. (Which didn&amp;rsquo;t work out as expected). Thanks Pepijn.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.alexthissen.nl/aggbug.aspx?PostID=22575" width="1" height="1"&gt;</content><author><name>alexthissen</name><uri>http://www.alexthissen.nl/members/alexthissen/default.aspx</uri></author><category term="Development" scheme="http://www.alexthissen.nl/blogs/atarilynx/archive/tags/Development/default.aspx" /><category term="Emulation" scheme="http://www.alexthissen.nl/blogs/atarilynx/archive/tags/Emulation/default.aspx" /></entry><entry><title>Compiling Handy 0.95 for Windows</title><link rel="alternate" type="text/html" href="/blogs/atarilynx/archive/2011/06/20/compiling-handy-0-95-for-windows.aspx" /><id>/blogs/atarilynx/archive/2011/06/20/compiling-handy-0-95-for-windows.aspx</id><published>2011-06-20T08:25:20Z</published><updated>2011-06-20T08:25:20Z</updated><content type="html">&lt;p&gt;Quick runthrough to get the Handy sources to compile for Windows using Microsoft Visual Studio 2010 (or Microsoft Visual C++ 2010 Express, which is a free download).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/handylogo_5F00_69FF22D3.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="handylogo" border="0" alt="handylogo" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/handylogo_5F00_thumb_5F00_1AD1B472.jpg" width="486" height="142" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Download these first:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://sourceforge.net/projects/handy/files/handy/Handy%200.95/" target="_blank"&gt;Handy source code&lt;/a&gt; (Handy-win32src-0.95.zip contains the sources)&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express" target="_blank"&gt;Microsoft Visual C++ 2010 Express&lt;/a&gt; (in case you do not own a copy of Visual Studio that includes C++)&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=3904b19a-02b9-447b-ab58-c12e2456e9ba" target="_blank"&gt;DirectX 9.0 Software Development Kit Update (August 2005)&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Install Visual C++ and the DirectX SDK. Unpack the sources of Handy. &lt;/p&gt;  &lt;p&gt;Open the folder of the Handy sources and find the Handy.dsp file. Doubleclick to the open it in Visual C++. It will prompt you to convert the project. Choose Yes in the dialog.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_1D2B3670.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_thumb_5F00_0A0A09C4.png" width="436" height="263" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Save the solution. You must specify the location of the .sln solution file. The root of the project will be an appropriate location.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_48EB6492.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_thumb_5F00_661D1E6A.png" width="640" height="340" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Right-click the Handy project and open the Properties dialog. Go to the C/C++ section and enter a new entry under “Additional Include Directories”. This should be “C:\Program Files (x86)\Microsoft DirectX 9.0 SDK (August 2005)\Include” if you installed the DirectX 9 SDK to the default installation directory.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_16FBC1D7.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_thumb_5F00_31F4454B.png" width="640" height="168" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Next, go to the Linker section and add “C:\Program Files (x86)\Microsoft DirectX 9.0 SDK (August 2005)\Lib\x86” to the “Additional Libraries Directories”.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_06CBE5DF.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_thumb_5F00_390F6DC4.png" width="640" height="208" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;When you first try to compile the sources you will get a number of errors. Fix each of these, bullet by bullet and recompile in between:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;22 errors: error C1083: Cannot open include file: &amp;#39;strstrea.h&amp;#39;: No such file or directory     &lt;br /&gt;Apply fix 1.&lt;/li&gt;    &lt;li&gt;96 errors: related to endl, ostream&amp;amp;, ostrstream and ostrstream&amp;amp; references and declarations in error.h     &lt;br /&gt;Apply fix 2.&lt;/li&gt;    &lt;li&gt;43 errors: &lt;/li&gt;    &lt;p&gt;error C4430: missing type specifier - int assumed. Note: C++ does not support default-int     &lt;br /&gt;error C2664: &amp;#39;CWnd::OnActivateApp&amp;#39; : cannot convert parameter 2 from &amp;#39;HTASK&amp;#39; to &amp;#39;DWORD&amp;#39;      &lt;br /&gt;error C2440: &amp;#39;static_cast&amp;#39; : cannot convert from &amp;#39;void (__thiscall CLynxWindow::* )(WPARAM,LPARAM)&amp;#39; to &amp;#39;LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)&amp;#39;      &lt;br /&gt;error C2065: &amp;#39;loop&amp;#39; : undeclared identifier      &lt;br /&gt;error C2065: &amp;#39;endl&amp;#39; : undeclared identifier&lt;/p&gt;    &lt;p&gt;Apply fixes 2 to 6&lt;/p&gt; &lt;/ul&gt;  &lt;p&gt;This is the list of fixes you will need to make to get the sources to compile.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Replace #include “strstrea.h” in error.h with these two lines:&lt;/li&gt;    &lt;pre&gt;#include &amp;lt;iostream&amp;gt;
#include &amp;lt;strstream&amp;gt;&lt;/pre&gt;

  &lt;li&gt;Prefix ostream&amp;amp;, ostrstream and ostrstream&amp;amp; declarations with:&lt;/li&gt;

  &lt;pre&gt;&lt;strong&gt;std::&lt;/strong&gt;&lt;/pre&gt;

  &lt;li&gt;Change line 1192 in Lynxwin.cpp to &lt;/li&gt;

  &lt;pre&gt;static bool firsttime=0;&lt;/pre&gt;

  &lt;li&gt;Change HTASK hTask in line 2365 of Lynxwin.cpp and line 325 of Lynxwin.h to&lt;/li&gt;

  &lt;pre&gt;&lt;strong&gt;DWORD hTask&lt;/strong&gt;&lt;/pre&gt;

  &lt;li&gt;Comment out the lines 868 and 869 of Lynxwin.cpp. I do not know how to really fix these errors yet.&lt;/li&gt;

  &lt;li&gt;Add a new line at 1552 in Lynxwin.cpp with:&lt;/li&gt;

  &lt;pre&gt;ULONG loop=0;&lt;/pre&gt;

  &lt;li&gt;Change line 95 of Debuggerwin.cpp to:&lt;/li&gt;

  &lt;pre&gt;for(int loop=0;loop&amp;lt;mWinHeight;loop++) LineOutput(&amp;quot;&amp;quot;);&lt;/pre&gt;

  &lt;li&gt;Change line 550 of Debuggerwin.cpp to these two:&lt;/li&gt;

  &lt;pre&gt;int loop;
for(loop=0;loop&amp;lt;mLineInput-1;loop++)&lt;/pre&gt;

  &lt;li&gt;Change line 487 of codewin.cpp to these two:&lt;/li&gt;

  &lt;pre&gt;int loop;
for(loop=0;loop&amp;lt;MAX_CPU_BREAKPOINTS;loop++)&lt;/pre&gt;
&lt;/ol&gt;

&lt;p&gt;After that you should have a Handy C++ project that compiles, links and runs correctly.&lt;/p&gt;

&lt;p&gt;For the developer version of Handy you should add a preprocessor definition _LYNXDBG to the project:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_0D0EA86E.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_thumb_5F00_3E1DBD41.png" width="640" height="195" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The developer version gives you a Code, Debugger and Graphics dump window and ability to debug/step-through the 65SC02 code.&lt;/p&gt;

&lt;p&gt;You will also get new compile errors. To fix these, apply fix 7 to 9 to get rid of those.&lt;/p&gt;

&lt;p&gt;Run the Handy emulator, find yourself LYNXBOOT.IMG if you have got the boot image and some rom images for (homebrew) games.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_19F5105A.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_thumb_5F00_711D4946.png" width="640" height="360" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For your convenience, you can download the revised sources here: &lt;a title="http://www.alexthissen.nl/media/p/22572.aspx" href="http://www.alexthissen.nl/media/p/22572.aspx"&gt;http://www.alexthissen.nl/media/p/22572.aspx&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.alexthissen.nl/aggbug.aspx?PostID=22573" width="1" height="1"&gt;</content><author><name>alexthissen</name><uri>http://www.alexthissen.nl/members/alexthissen/default.aspx</uri></author><category term="Development" scheme="http://www.alexthissen.nl/blogs/atarilynx/archive/tags/Development/default.aspx" /></entry><entry><title>Come Lynx with me</title><link rel="alternate" type="text/html" href="/blogs/atarilynx/archive/2011/05/31/come-lynx-with-me.aspx" /><id>/blogs/atarilynx/archive/2011/05/31/come-lynx-with-me.aspx</id><published>2011-05-31T20:03:06Z</published><updated>2011-05-31T20:03:06Z</updated><content type="html">&lt;p&gt;One of the differentiating features of the Atari Lynx was its ability to link together up to 18 Lynx devices using a set of cables. This allows for multiplayer games, &lt;/p&gt;  &lt;p&gt;You need at least two Lynx devices and at least one ComLynx cable to make a connection. For more Lynxes you require an additional ComLynx cable for every extra Lynx. The ComLynx cable has two male connectors at either end. One end has a split cable with a female connector. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/IMAG1690_5F00_22FE3BD6.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="IMAG1690" border="0" alt="IMAG1690" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/IMAG1690_5F00_thumb_5F00_690EF8E9.jpg" width="244" height="148" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The single male side of a new cable can be connected to the female connector and to the next Lynx at the split end. This way you can connect an potentially unlimited chain of Lynxes. The practical limit is around 18 because of communication overhead and something called “pull-ups”.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/IMAG1686_5F00_28D8DF6F.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="IMAG1686" border="0" alt="IMAG1686" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/IMAG1686_5F00_thumb_5F00_68A2C5F4.jpg" width="125" height="70" /&gt;&lt;/a&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/IMAG1684_5F00_286CAC7A.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="IMAG1684" border="0" alt="IMAG1684" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/IMAG1684_5F00_thumb_5F00_3A494047.jpg" width="125" height="70" /&gt;&lt;/a&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/IMAG1684_5F00_7A1326CC.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="IMAG1684" border="0" alt="IMAG1684" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/IMAG1684_5F00_thumb_5F00_20E13D0D.jpg" width="125" height="70" /&gt;&lt;/a&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/IMAG1684_5F00_19C20095.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="IMAG1684" border="0" alt="IMAG1684" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/IMAG1684_5F00_thumb_5F00_6E7D698D.jpg" width="125" height="70" /&gt;&lt;/a&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/IMAG1684_5F00_2E475013.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="IMAG1684" border="0" alt="IMAG1684" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/IMAG1684_5F00_thumb_5F00_4023E3E0.jpg" width="125" height="70" /&gt;&lt;/a&gt; and so on.&lt;/p&gt;  &lt;p&gt;There were several games that used this capability for multiplayer support. Each Lynx will need a separate copy of the game. There is a possibility to game&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="573"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="246"&gt;         &lt;p&gt;&lt;strong&gt;Title&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="51"&gt;         &lt;p&gt;&lt;strong&gt;Players&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="220"&gt;         &lt;p&gt;&lt;strong&gt;Title&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="54"&gt;         &lt;p&gt;&lt;strong&gt;Players&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="242"&gt;         &lt;p&gt;Awesome Golf &lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="55"&gt;         &lt;p&gt;1-4&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="217"&gt;         &lt;p&gt;Pit-Fighter&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="57"&gt;         &lt;p&gt;1-2&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="239"&gt;         &lt;p&gt;Baseball Heroes&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="58"&gt;         &lt;p&gt;1-2&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="214"&gt;         &lt;p&gt;Raiden&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="60"&gt;         &lt;p&gt;1-2&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="236"&gt;         &lt;p&gt;Basketbrawl&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="61"&gt;         &lt;p&gt;1-2&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="212"&gt;         &lt;p&gt;Rampage&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="62"&gt;         &lt;p&gt;1-4&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="234"&gt;         &lt;p&gt;Battlewheels&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="63"&gt;         &lt;p&gt;1-6&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="211"&gt;         &lt;p&gt;Rampart&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="63"&gt;         &lt;p&gt;1-2&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="233"&gt;         &lt;p&gt;Battlezone 2000&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="65"&gt;         &lt;p&gt;1-4&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="210"&gt;         &lt;p&gt;Robo-squash&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="64"&gt;         &lt;p&gt;1-2&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="232"&gt;         &lt;p&gt;Bill and Ted’s Excellent Adventure&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="66"&gt;         &lt;p&gt;1-2&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="209"&gt;         &lt;p&gt;Shanghai&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="65"&gt;         &lt;p&gt;1-2&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="231"&gt;         &lt;p&gt;California Games&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="67"&gt;         &lt;p&gt;1-4&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="208"&gt;         &lt;p&gt;Super Off-Road&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="66"&gt;         &lt;p&gt;1-4&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;         &lt;p&gt;Checkered Flag&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="68"&gt;         &lt;p&gt;1-6&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="208"&gt;         &lt;p&gt;Super Skweek&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="67"&gt;         &lt;p&gt;1-2&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;         &lt;p&gt;Double Dragon&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="68"&gt;         &lt;p&gt;1-2&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="207"&gt;         &lt;p&gt;Todd’s Adventures in Slime World&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="67"&gt;         &lt;p&gt;1-8&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;         &lt;p&gt;European Soccer Challenge&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="68"&gt;         &lt;p&gt;1-2&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="207"&gt;         &lt;p&gt;Tournament Cyberball 2072&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="67"&gt;         &lt;p&gt;1-4&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;         &lt;p&gt;Gauntlet: The Third Encounter&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="68"&gt;         &lt;p&gt;1-4&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="207"&gt;         &lt;p&gt;Turbo Sub&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="67"&gt;         &lt;p&gt;1-2&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;         &lt;p&gt;Hockey&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="68"&gt;         &lt;p&gt;1-2&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="207"&gt;         &lt;p&gt;Warbirds&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="67"&gt;         &lt;p&gt;1-4&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;         &lt;p&gt;Jimmy Connors Tennis&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="68"&gt;         &lt;p&gt;1-4&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="207"&gt;         &lt;p&gt;World Class Soccer&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="67"&gt;         &lt;p&gt;1-2&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;         &lt;p&gt;Joust&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="68"&gt;         &lt;p&gt;1-2&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="207"&gt;         &lt;p&gt;Xenophobe&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="67"&gt;         &lt;p&gt;1-4&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;         &lt;p&gt;Lynx Casino&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="68"&gt;         &lt;p&gt;1-2&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="207"&gt;         &lt;p&gt;Xybots&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="67"&gt;         &lt;p&gt;1-2&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;         &lt;p&gt;Malibu Bikini Volleyball&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="68"&gt;         &lt;p&gt;1-4&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="207"&gt;         &lt;p&gt;Zarlor Mercenary&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="67"&gt;         &lt;p&gt;1-4&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;         &lt;p&gt;NFL Football&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="69"&gt;         &lt;p&gt;1-2&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="213"&gt;&amp;nbsp;&lt;/td&gt;        &lt;td valign="top" width="69"&gt;&amp;nbsp;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;The ComLynx-able games can be recognized by the yellow triangle at the bottom-right corner of the box. This shows that players can “Lynx Up” and the maximum number of players. The game “California Games” is an exception, in that is says “1 To 2 Players” on the box, where a total number of 4 players are possible.&lt;/p&gt;  &lt;p&gt;&lt;img border="0" alt="Todd&amp;#39;s Adventures in Slime World - Box Front" src="http://www.atariage.com/Lynx/boxes/b_ToddsAdventuresInSlimeWorld_front.jpg" width="191" height="230" /&gt; and pay special attention to the corner. &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_66F1FA20.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_thumb_5F00_05C86DFF.png" width="244" height="231" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Here is a video that shows two Lynxes connected together:&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:b6337df4-367f-4571-a18f-2afaeeeedee9" class="wlWriterEditableSmartContent"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=xikzrc0BgfA" target="_new"&gt;&lt;img src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/videobc0298ec3ab1_5F00_239C70D8.jpg" style="border-style:none;" alt="" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="width:448px;clear:both;font-size:.8em;"&gt;Atari Lynx version I and version II ComLynxed together&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;Remarks found all over the Internet:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;“The ComLynx does not have any hardware bugs. But the format is pretty much fixed to start bit, 8 data bits, even parity, 1 stop bit. And the only sensible baud rates are 9600 and 62500. The ComLynx has a combined Rx/Tx pin and it can sense if two Lynxes transmit at the same time. … The Lynx has +5V on one pin that is enough to power up the communications cable.” – &lt;a href="http://www.atariage.com/forums/topic/65776-red-eye-protocol-for-commlynx/" target="_blank"&gt;AtariAge forums&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;“&lt;a href="http://en.wikipedia.org/wiki/ComLynx"&gt;ComLynx&lt;/a&gt; was originally developed to run over infrared links (and was codenamed RedEye).&lt;sup&gt;&lt;a href="http://en.wikipedia.org/wiki/#cite_note-3"&gt;[4]&lt;/a&gt;&lt;/sup&gt; This was changed to a cable-based networking system before the final release.” – &lt;a href="http://en.wikipedia.org/wiki/Atari_Lynx" target="_blank"&gt;Wikipedia&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;“UART (for ComLynx) (fixed format 8E1, up to 62500 Bd)” – &lt;a href="http://en.wikipedia.org/wiki/Atari_Lynx" target="_blank"&gt;Wikipedia&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;img style="margin:10px 10px 10px 0px;display:inline;float:right;" align="right" src="http://www.mr-atari.com/afbeeldingen/lynx%20cable%20box.jpg" width="97" height="410" alt="" /&gt;&lt;/p&gt;  &lt;p&gt;Bugs in the ComLynx (from the Lynx development manual):&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;“A design error causes the power up state of the output to be TTL high, ALL code must set the TXOPEN bit in order to fix this&amp;quot; &lt;/li&gt;    &lt;li&gt;&amp;quot;Well, we did screw something up after all. Both the transmit and receive interrupts are &amp;#39;level&amp;#39; sensitive, rather than &amp;#39;edge&amp;#39; sensitive&amp;quot; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Links that seemed useful to me:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a title="http://www.monlynx.de/lynx/lynx8a.html#_11" href="http://www.monlynx.de/lynx/lynx8a.html#_11"&gt;http://www.monlynx.de/lynx/lynx8a.html#_11&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a title="http://www.freebsd.org/doc/en_US.ISO8859-1/articles/serial-uart/index.html" href="http://www.freebsd.org/doc/en_US.ISO8859-1/articles/serial-uart/index.html"&gt;http://www.freebsd.org/doc/en_US.ISO8859-1/articles/serial-uart/index.html&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a title="http://www.atariage.com/forums/topic/166164-new-usb-serial-to-comlynx-adapter/" href="http://www.atariage.com/forums/topic/166164-new-usb-serial-to-comlynx-adapter/"&gt;http://www.atariage.com/forums/topic/166164-new-usb-serial-to-comlynx-adapter/&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a title="http://www.classicgamedev.com/Blog:Hacking_Classics/USB_Serial_to_ComLynx_Adapter" href="http://www.classicgamedev.com/Blog:Hacking_Classics/USB_Serial_to_ComLynx_Adapter"&gt;http://www.classicgamedev.com/Blog:Hacking_Classics/USB_Serial_to_ComLynx_Adapter&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Here are some observations I made, which I hadn’t read on the Internet anywhere:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Some (maybe all?) ComLynx-able games can connect players while the start-menu/animations is displayed.      &lt;br /&gt;In other words: as long as no player has started the game, other players can join by switching their Lynx on. Bear in mind the next observation. I always believed that the Lynxes needed to be powered on at the (near-exact) same time. &lt;/li&gt;    &lt;li&gt;When multiple Lynxes are linked together, the outsides of the chain can switch off, without disrupting the other connected Lynxes. The same goes for switching the Lynxes on at a later time (see previous point) &lt;/li&gt;    &lt;li&gt;You can &lt;a href="http://www.classicgamedev.com/Lynx:Disable_cart_detection" target="_blank"&gt;disable the cartridge detection&lt;/a&gt; of the Lynx. In theory this should allow for multiple Lynxes to connect on one cartridge, provided that the Lynx have detection disabled and that the cartridge is read only at the startup of the game. Did anyone try this?&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;From the Lynx Frequently Asked Questions:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Q. What does &amp;quot;ComLynx&amp;quot; mean, exactly?        &lt;br /&gt;&lt;/em&gt;&lt;/strong&gt;A. Some Lynx games allow multiple players to play together simultaneously. This works when each player has a Lynx game machine, and all of the machines are connected to each other via cables. The connection is the ComLynx port, and the cables are ComLynx cables. Games that support this mutiplayer simultaneous play are usually identified by the phrase &amp;quot;1 to N players Lynx up&amp;quot; on the box, the instruction manual, and/or the game card. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Q. Do all players &amp;quot;Lynxed up&amp;quot; via the ComLynx need a copy of the game being played?        &lt;br /&gt;&lt;/em&gt;&lt;/strong&gt;A. Yes. All players need a copy of the game card. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Q. What&amp;#39;s the ComLynx port like? &lt;/em&gt;&lt;/strong&gt;    &lt;br /&gt;A. There is limit of 18 players via ComLynx. In practice it may be possible to connect more units together, but to operate within specifications, the drivers in the Lynx cannot drive over more than 17 units with pull-ups on the serial ports. ComLynx runs from 300.5 to 62.5K baud. It works on a &amp;quot;listen and send&amp;quot; structure. Data transmission between Lynxes is done in the background, freeing up the CPU to run the game instead of communicating. It&amp;#39;s called &amp;quot;RedEye&amp;quot; in-house at Atari, named after an early idea of having Lynxes communicate with infra-red transmissions. It uses a three-wire cable (+5V/Ground/Data) and allows for bi- directional serial communications. The system frames messages in terms of 11-bit words, each consisting of a start bit, eight data bits, a parity bit, and a stop bit. The ComLynx port is used solely for communications; it can&amp;#39;t be used to control other aspects of the Lynx, though in theory it can be used to send signals to external devices. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Q. Sometimes a multiplayer ComLynx game will freeze up. Why?        &lt;br /&gt;&lt;/em&gt;&lt;/strong&gt;A. A ComLynxed game will freeze if communication between the Lynxes is interrupted. If communications can be restored, the game will continue. The most common cause of this problem is a fray in one of the ComLynx cables, or a loose seating in one of the ComLynx jacks. Communication is broken, and the game &amp;quot;freezes&amp;quot;. Jiggling the cable or reseating the jacks may fix the solution temporarily, but the best cure is a new cable. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Q. I hear there&amp;#39;s a ComLynx port on the Atari Jaguar. How does that work? Can I connect my Lynx to it? Will there be a Lynx adaptor for the Jaguar?        &lt;br /&gt;&lt;/em&gt;&lt;/strong&gt;A. The ComLynx port allows communication between Jaguar units and Lynx units. In theory, it would be possible to daisy-chain multiple units of either machine type for multiplayer games. At the current time, however, no such plans are in the works. Instead, it is seen as allowing Lynxes to be used as peripherals: software can be developed to allow Lynxes to be part of a Jaguar game as controllers. An adaptor to allow the Jaguar to play Lynx games is not currently planned.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.alexthissen.nl/aggbug.aspx?PostID=22567" width="1" height="1"&gt;</content><author><name>alexthissen</name><uri>http://www.alexthissen.nl/members/alexthissen/default.aspx</uri></author></entry><entry><title>Dirty Larry Renegade Cop</title><link rel="alternate" type="text/html" href="/blogs/atarilynx/archive/2010/11/29/dirty-larry-renegade-cop.aspx" /><id>/blogs/atarilynx/archive/2010/11/29/dirty-larry-renegade-cop.aspx</id><published>2010-11-29T14:20:10Z</published><updated>2010-11-29T14:20:10Z</updated><content type="html">&lt;p&gt;Some time ago I decided to finish some of the Atari Lynx games that I hadn’t played that much or hadn’t completed. This post is on Dirty Larry Renegade Cop, a nice side-scrolling shooter/bash’m up in the tradition of games like Double Dragon (also a Lynx title). In a future post I will explain how I managed to complete the game. &lt;/p&gt;  &lt;p&gt;On a personal note: I pretty much enjoyed the game after some practice, but was glad I could play the game with the Handy emulator to save the game at different points of progress. Especially defeating the first boss (Mr. Snuff) was pretty much impossible without being able to reload the game at level 5. The bullets are your lifeline as much as your health is. No bullets means a certain death. You will (almost) always take damage using your fists. The more difficult villains like the machinegun toting Rastafarian are hard to beat.&lt;/p&gt;  &lt;p&gt;For now, here is some information and nowhere to be found screenshots of the game. Enjoy. &lt;/p&gt;  &lt;h2&gt;Synopsis (spoiler-alert!)&lt;/h2&gt;  &lt;p&gt;You are a police cop with an attitude and a will of his own. You are just gotten yelled at by your boss and learned that you do not get a car anymore.&lt;/p&gt;  &lt;p&gt;Larry’s boss: “&lt;em&gt;And darn it Larry, that’s the third car this week! You need to learn to respect police property! As of this moment, you walk or take the subway! Judge Smite just threw out another case! Get to the Knight Shade Hotel, this time with a proper warrant, and bring in Harold Snuff, A.K.A. Mr. White, an iceman boss. The charge is drug trafficking...&lt;/em&gt;”&lt;/p&gt;  &lt;p&gt;So, off you go to the Knight Shade Hotel on foot. First you travel to the subway, ride a cart on the sub and deal with a lot of criminals and scoundrels along the way. You face gun and knife wielding gang members, big mommas with chains, biker dudes, baseball club swinging crazies (like in the movie The Warriors) and self-igniting pyromaniac&amp;#160; and arrive at the hotel armed with a machine gun you found in the subway. In the meantime someone known as Mr. Big has a conversation with Harold Snuff.&lt;/p&gt;  &lt;p&gt;Mr. Big: “&lt;em&gt;Mr. Snuff, I require a favor of you. There is a cop that I need out of the way.&lt;/em&gt;”     &lt;br /&gt;Mr. Snuff: ”&lt;em&gt;Consider it done, Mr. Big…&lt;/em&gt;”&lt;/p&gt;  &lt;p&gt;You work your way through three levels of the hotel with assorted baddies and end up in a confrontation with Mr. Snuff/White. After you have defeated him you acquire grenades and head back to the office.&lt;/p&gt;  &lt;p&gt;Larry’s boss: “&lt;em&gt;Congratulations, Larry, you finally did something right! Mr. White goes on trial today. We got the address of a warehouse from one of his papers. Check it out and remember, ask questions first!&lt;/em&gt;”&lt;/p&gt;  &lt;p&gt;So, foot patrol to the warehouse along the sidewalks of Steelburg and through the subway. As you leave the subway there is another conversation, this time between Mr. Big and Dr. Electro.&lt;/p&gt;  &lt;p&gt;Mr. Big: “&lt;em&gt;Dr. Electro, it seems that Mr. Snuff was unable to do his duty. Would you mind showing Larry the light?&lt;/em&gt;”     &lt;br /&gt;Dr. Electro starts blinking with electricity.&lt;/p&gt;  &lt;p&gt;You enter a warehouse and get confronted with more villains, including grenade throwing mad scientists. At the far end of the warehouse you discover a trap door and open it to descend into the sewers. Near the end you battle against Dr. Electro. His electrifying rays may hurt you, but he is no match against the awesome power of your grenades and machine gun. You exit the sewers and find you are in… the courthouse of Judge Smite.&lt;/p&gt;  &lt;p&gt;Yet another conversation takes place. Mr. Big has a talk with &lt;/p&gt;  &lt;p&gt;Mr. Big: “&lt;em&gt;Office Stobbe, one of your detectives has been harassing my men. Could you see that it stops?&lt;/em&gt;”     &lt;br /&gt;Office Stobbe: “&lt;em&gt;Yes sir, I’ll get a few of my men to have a talk with him…&lt;/em&gt;”&lt;/p&gt;  &lt;p&gt;Office Stobbe must be a quick guy, because you are faced with a dozen or so corrupt cops that want to have a “talk” with you. They use a lot of bullits to do the talking. Finally, you reach the office room of the courthouse and find that none other than Judge Smite is waiting for you. He starts throwing his wooden hammer at you and hammers the floor to make earthquakes. A big man and hard to defeat. You manage to do so any way. &lt;/p&gt;  &lt;p&gt;As it turns out, Judge Smite is actually Mr. Big! Your actions will put Judge Smite behind bars for a long time. &lt;/p&gt;  &lt;h2&gt;The levels&lt;/h2&gt;  &lt;p&gt;Level 1 and 6, 2 and 7, 4 and 5 are pretty much the same levels. The levels 5, 9 and 10 have Boss battles with Mr. Snuff, Dr. Electro and Judge Smite. After defeating the corrupt judge you have finished the game and end credits are displayed. &lt;/p&gt;  &lt;p&gt;Level 1: The Steelburg Sidewalks &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap71_5F00_5209B69D.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap71" border="0" alt="snap71" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap71_5F00_thumb_5F00_0EDE3870.png" width="240" height="154" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap72_5F00_14B8DC09.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap72" border="0" alt="snap72" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap72_5F00_thumb_5F00_33231CF2.png" width="240" height="154" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap95_5F00_1DC5678A.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap95" border="0" alt="snap95" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap95_5F00_thumb_5F00_5C4AB530.png" width="240" height="154" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Level 2: The Steelburg Subway&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap96_5F00_70D004AE.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap96" border="0" alt="snap96" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap96_5F00_thumb_5F00_5A2DB667.png" width="240" height="154" /&gt;&lt;/a&gt;&amp;#160; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap98_5F00_79042A45.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap98" border="0" alt="snap98" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap98_5F00_thumb_5F00_176E6B2F.png" width="240" height="154" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap00_5F00_76E72B7C.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap00" border="0" alt="snap00" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap00_5F00_thumb_5F00_2323B261.png" width="240" height="154" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Meanwhile&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap01_5F00_2DE109B6.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap01" border="0" alt="snap01" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap01_5F00_thumb_5F00_47D4C9D8.png" width="240" height="154" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Level 3: The Knight Shade Hotel Ground Floor&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap02_5F00_51B9BB43.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap02" border="0" alt="snap02" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap02_5F00_thumb_5F00_564FC5FD.png" width="240" height="154" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap05_5F00_432E9951.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap05" border="0" alt="snap05" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap05_5F00_thumb_5F00_41119A88.png" width="240" height="154" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap04_5F00_5281FB60.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap04" border="0" alt="snap04" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap04_5F00_thumb_5F00_6A3932C6.png" width="240" height="154" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Level 4: The Knight Shade Hotel Second Floor&lt;/h3&gt;  &lt;h3&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap07_5F00_7EBE8244.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap07" border="0" alt="snap07" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap07_5F00_thumb_5F00_5BAE10D4.png" width="240" height="154" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap11_5F00_6D1E71AC.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap11" border="0" alt="snap11" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap11_5F00_thumb_5F00_3F50A8E7.png" width="240" height="154" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap09_5F00_70DC167C.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap09" border="0" alt="snap09" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap09_5F00_thumb_5F00_4DCBA50C.png" width="240" height="154" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap94_5F00_7B4CC4CF.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap94" border="0" alt="snap94" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap94_5F00_thumb_5F00_1303FC36.png" width="240" height="154" /&gt;&lt;/a&gt;&lt;/h3&gt;  &lt;h3&gt;Level 5: The Knight Shade Hotel 3rd Floor&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap08_5F00_1297C941.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap08" border="0" alt="snap08" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap08_5F00_thumb_5F00_49257485.png" width="240" height="154" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap18_5F00_419A0518.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap18" border="0" alt="snap18" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap18_5F00_thumb_5F00_3F10D35A.png" width="240" height="154" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap19_5F00_1360095E.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap19" border="0" alt="snap19" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap19_5F00_thumb_5F00_1C0061EA.png" width="240" height="154" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap21_5F00_42624535.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap21" border="0" alt="snap21" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap21_5F00_thumb_5F00_38B9D6FF.png" width="240" height="154" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Back at the office&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap22_5F00_1F51D3C5.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap22" border="0" alt="snap22" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap22_5F00_thumb_5F00_35583F57.png" width="240" height="154" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Level 6: The Steelburg Sidewalks&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap23_5F00_29C28218.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap23" border="0" alt="snap23" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap23_5F00_thumb_5F00_40A15394.png" width="240" height="154" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap25_5F00_6AA151BC.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap25" border="0" alt="snap25" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap25_5F00_thumb_5F00_44CB2B59.png" width="240" height="154" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap27_5F00_0F526934.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap27" border="0" alt="snap27" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap27_5F00_thumb_5F00_1B73E35B.png" width="240" height="154" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap28_5F00_4CFF50F0.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap28" border="0" alt="snap28" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap28_5F00_thumb_5F00_67CB76FC.png" width="240" height="154" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Level 7: The Steelburg Subway 2&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap29_5F00_0B849E97.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap29" border="0" alt="snap29" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap29_5F00_thumb_5F00_05C984F1.png" width="240" height="154" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Meanwhile&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap30_5F00_2982AC8B.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap30" border="0" alt="snap30" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap30_5F00_thumb_5F00_03405333.png" width="240" height="154" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Level 8: The Warehouse&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap31_5F00_66572E5D.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap31" border="0" alt="snap31" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap31_5F00_thumb_5F00_42DA89F8.png" width="240" height="154" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap33_5F00_02383D89.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap33" border="0" alt="snap33" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap33_5F00_thumb_5F00_3F0CBF5B.png" width="240" height="154" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap36_5F00_5A45185C.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap36" border="0" alt="snap36" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap36_5F00_thumb_5F00_106690AC.png" width="240" height="154" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap38_5F00_3AD2C1C9.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap38" border="0" alt="snap38" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap38_5F00_thumb_5F00_47606EE5.png" width="240" height="154" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Level 9: The Sewers&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap39_5F00_545A4EF6.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap39" border="0" alt="snap39" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap39_5F00_thumb_5F00_4BF6799F.png" width="240" height="154" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap41_5F00_3698C437.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap41" border="0" alt="snap41" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap41_5F00_thumb_5F00_29523B24.png" width="240" height="154" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap40_5F00_28E6082F.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap40" border="0" alt="snap40" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap40_5F00_thumb_5F00_2E5478D3.png" width="240" height="154" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;h3&gt;Level 9: Boss battle with Dr. Electro&lt;/h3&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap46_5F00_78DBB6AD.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap46" border="0" alt="snap46" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap46_5F00_thumb_5F00_0C88A042.png" width="240" height="154" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap47_5F00_3041C7DC.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap47" border="0" alt="snap47" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap47_5F00_thumb_5F00_55CB453D.png" width="240" height="154" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap44_5F00_555F1248.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap44" border="0" alt="snap44" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap44_5F00_thumb_5F00_73C95331.png" width="240" height="154" /&gt;&lt;/a&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap50_5F00_0C58F082.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap50" border="0" alt="snap50" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap50_5F00_thumb_5F00_396DDD50.png" width="240" height="154" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Meanwhile&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap51_5F00_2B2F6460.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap51" border="0" alt="snap51" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap51_5F00_thumb_5F00_04ED0B08.png" width="240" height="154" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Level 10: The courthouse&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap52_5F00_4F7448E2.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap52" border="0" alt="snap52" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap52_5F00_thumb_5F00_3B0E8357.png" width="240" height="154" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap54_5F00_6C99F0EC.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap54" border="0" alt="snap54" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap54_5F00_thumb_5F00_6AE92518.png" width="240" height="154" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap55_5F00_1791DEF2.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap55" border="0" alt="snap55" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap55_5F00_thumb_5F00_35FC1FDB.png" width="240" height="154" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h3&gt;Level 10: Boss battle with Judge Smite&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap56_5F00_7C790FE3.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap56" border="0" alt="snap56" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap56_5F00_thumb_5F00_2CBFE49A.png" width="240" height="154" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap59_5F00_212A275B.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap59" border="0" alt="snap59" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap59_5F00_thumb_5F00_22AB436F.png" width="240" height="154" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap60_5F00_502C6332.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap60" border="0" alt="snap60" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap60_5F00_thumb_5F00_3D0B3686.png" width="240" height="154" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;End credits&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap61_5F00_60C45E20.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap61" border="0" alt="snap61" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap61_5F00_thumb_5F00_732CAED5.png" width="240" height="154" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap64_5F00_1D98DFF3.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap64" border="0" alt="snap64" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap64_5F00_thumb_5F00_496933E2.png" width="240" height="154" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap69_5F00_300130A8.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="snap69" border="0" alt="snap69" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap69_5F00_thumb_5F00_4E6B7191.png" width="240" height="154" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Regular villains (in order of appearance)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_35036E57.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_thumb_5F00_7FF6DF26.png" width="141" height="197" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_3F5492B7.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_thumb_5F00_53D9E235.png" width="146" height="213" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_4CBAA5BD.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_thumb_5F00_779309CF.png" width="293" height="184" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_1E612010.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_thumb_5F00_1741E398.png" width="101" height="218" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_53017C4B.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_thumb_5F00_36F0BD60.png" width="199" height="221" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_5DBED3A0.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_thumb_5F00_4B760CDE.png" width="172" height="290" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_52291661.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_thumb_5F00_6405AA2E.png" width="111" height="219" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_75E23DFB.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_thumb_5F00_63997739.png" width="156" height="211" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_0A678D7A.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_thumb_5F00_3135A3BA.png" width="217" height="234" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_305D3DD0.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/image_5F00_thumb_5F00_221EC4E0.png" width="166" height="248" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.alexthissen.nl/aggbug.aspx?PostID=22563" width="1" height="1"&gt;</content><author><name>alexthissen</name><uri>http://www.alexthissen.nl/members/alexthissen/default.aspx</uri></author></entry><entry><title>Arcade machines converted to Atari Lynx</title><link rel="alternate" type="text/html" href="/blogs/atarilynx/archive/2010/09/22/arcade-machines-converted-to-atari-lynx.aspx" /><id>/blogs/atarilynx/archive/2010/09/22/arcade-machines-converted-to-atari-lynx.aspx</id><published>2010-09-22T10:51:15Z</published><updated>2010-09-22T10:51:15Z</updated><content type="html">&lt;p&gt;The &lt;a href="http://www.ataritimes.com/" target="_blank"&gt;Atari Times&lt;/a&gt; has a really nice article “&lt;a href="http://www.ataritimes.com/article.php?showarticle=567" target="_blank"&gt;Arcade to Lynx&lt;/a&gt;”. It shows a graphical list of games that once lived as a standalone arcade machine and got converted to a game for the Atari Lynx. I had no idea there were that many arcade games. It is not surprising to see Atari’s own games, such as Xybots and Gauntlet, in the list. These Arcade games were new to me:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;A.P.B.&lt;/li&gt;    &lt;li&gt;Blockout&lt;/li&gt;    &lt;li&gt;Hydra&lt;/li&gt;    &lt;li&gt;Pac-Land&lt;/li&gt;    &lt;li&gt;Road Riot&lt;/li&gt;    &lt;li&gt;Tournament Cyberball&lt;/li&gt;    &lt;li&gt;Xenophobe&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;At least, I had not seen them in the arcade halls (when those were still around).&lt;/p&gt;  &lt;p&gt;Here’s is a sample from the site: Ms. Pac-man&lt;/p&gt;  &lt;p&gt;&lt;img border="0" src="http://www.ataritimes.com/images/arcade/mspacman.gif" alt="" /&gt;&amp;#160; &lt;br /&gt;&lt;em&gt;Original Ms. Pac-man arcade machine&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap72_5F00_5F9E1734.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="snap72" border="0" alt="snap72" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap72_5F00_thumb_5F00_0FD4C61E.png" width="240" height="154" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap73_5F00_2817BA6C.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="snap73" border="0" alt="snap73" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap73_5F00_thumb_5F00_1900DB92.png" width="240" height="154" /&gt;&lt;/a&gt;     &lt;br /&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap74_5F00_780D68EA.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="snap74" border="0" alt="snap74" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap74_5F00_thumb_5F00_5EA565B0.png" width="240" height="154" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap76_5F00_252255B9.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="snap76" border="0" alt="snap76" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap76_5F00_thumb_5F00_56ADC34E.png" width="240" height="154" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;em&gt;Atari Lynx conversion of Ms. Pac-man&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;The beauty of most conversion to the Lynx is the addition of extras. Take Ms. Pac-man again as an example. Besides the original gameplay including the intermissions between different level types, there are also new levels that are larger and landscape oriented instead of the normal portrait ones. Moreover, every round has a new level layout. I found at least 17 unique layouts.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap77_5F00_2E9B142F.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="snap77" border="0" alt="snap77" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap77_5F00_thumb_5F00_62CF3D75.png" width="240" height="154" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap78_5F00_13EE7816.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="snap78" border="0" alt="snap78" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap78_5F00_thumb_5F00_5A6B681E.png" width="240" height="154" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap87_5F00_44354CCC.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="snap87" border="0" alt="snap87" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap87_5F00_thumb_5F00_78697612.png" width="240" height="154" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;em&gt;New levels in Lynx version of Ms. Pac-Man&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Also, there are cheats and easter eggs all over the place. In the case of Ms. Pac-Man you can get extra lives and lightning speed, plus you can skip levels. Obviously not available in the arcade machine.&lt;/p&gt;  &lt;p&gt;For your convenience, here are the actions required to activate the cheats.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;5 Extra lives:      &lt;br /&gt;PAUSE, OPTION 1, B, B, A, A, OPTION 1&lt;/li&gt;    &lt;li&gt;Lightning speed:      &lt;br /&gt;PAUSE, OPTION 1, A, and OPTION 1. A lightning bolt will appear. Press B to use it.&lt;/li&gt;    &lt;li&gt;Skip levels:     &lt;br /&gt;PAUSE, OPTION 1, B, B, B, OPTION 1, PAUSE and skip levels with OPTION 1&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;TIP: When pausing on the Handy emulator, make sure you use Q to pause instead of F5. “Pause” should appear on-screen.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.alexthissen.nl/aggbug.aspx?PostID=22556" width="1" height="1"&gt;</content><author><name>alexthissen</name><uri>http://www.alexthissen.nl/members/alexthissen/default.aspx</uri></author></entry><entry><title>Architecture of the Atari Lynx</title><link rel="alternate" type="text/html" href="/blogs/atarilynx/archive/2010/09/20/architecture-of-the-atari-lynx.aspx" /><id>/blogs/atarilynx/archive/2010/09/20/architecture-of-the-atari-lynx.aspx</id><published>2010-09-19T22:26:00Z</published><updated>2010-09-19T22:26:00Z</updated><content type="html">&lt;p&gt;The Atari Lynx is a handheld console that has two form factors over its lifetime. The Lynx I and II models have a different casing and internal layout, but hold nearly exact same electronic hardware. The main difference is lower power consumption and stereo sound (but less loud) for the Lynx II incarnation.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/258_5F00_61175232.jpg"&gt;&lt;img height="133" width="271" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/258_5F00_thumb_5F00_694B77C9.jpg" alt="Atari Lynx I" border="0" title="Atari Lynx I" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/Atari_5F00_Lynx_5F00_II_5F00_5702B107.png"&gt;&lt;img height="103" width="220" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/Atari_5F00_Lynx_5F00_II_5F00_thumb_5F00_144365CF.png" alt="Atari Lynx II" border="0" title="Atari Lynx II" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Atari Lynx I and II handhelds&lt;/em&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This fragment found at Atari &lt;a href="mailto:Lynx@Everything.com"&gt;Lynx@Everything.com&lt;/a&gt; describes the Lynx fairly well:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;The Lynx had two &lt;/em&gt;&lt;em&gt;16-bit&lt;/em&gt;&lt;em&gt; &lt;/em&gt;&lt;em&gt;co-processors&lt;/em&gt;&lt;em&gt; running at 16 &lt;/em&gt;&lt;em&gt;MHz&lt;/em&gt;&lt;em&gt; each, nicknamed &lt;/em&gt;&lt;em&gt;Mikey&lt;/em&gt;&lt;em&gt; and &lt;/em&gt;&lt;em&gt;Suzy&lt;/em&gt;&lt;em&gt;. Mikey supported the sound engine and the video driver, the system &lt;/em&gt;&lt;em&gt;interrupt&lt;/em&gt;&lt;em&gt;s routine, ComLynx support, and the system &lt;/em&gt;&lt;em&gt;timer&lt;/em&gt;&lt;em&gt;s. Mikey was also responsible for loading the games with the 512 bytes of &lt;/em&gt;&lt;em&gt;ROM&lt;/em&gt;&lt;em&gt; it had for that function. Suzy supported the &lt;/em&gt;&lt;em&gt;graphics&lt;/em&gt;&lt;em&gt; engine and a &lt;/em&gt;&lt;em&gt;math&lt;/em&gt;&lt;em&gt; co-processor. The Lynx contains half a &lt;/em&gt;&lt;em&gt;megabit&lt;/em&gt;&lt;em&gt; of ROM. Game cards support up to 2 &lt;/em&gt;&lt;em&gt;MB&lt;/em&gt;&lt;em&gt; of ROM, but most contain either 128K or 256K, with only 3 games supporting 512K.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The various chips inside the machine are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;U1: (Mikey, see below)&lt;/li&gt;
&lt;li&gt;U2: (Suzy, see below)&lt;/li&gt;
&lt;li&gt;U3 and U4: &lt;br /&gt;Lynx I &amp;ndash; HM-50464-12 &lt;br /&gt;Lynx II - HY53C464LS-10 (Two 256 KB DRAM chips (64K X 4 nMOS general purpose Dynamic RAM, page-mode operation DIP-18, 256 cycles/4 msec)&lt;/li&gt;
&lt;li&gt;U5: LM386 (Low voltage audio power amplifier)&lt;/li&gt;
&lt;li&gt;U6: 4069 (CMOS 16 MHz Square wave oscillator)&lt;/li&gt;
&lt;li&gt;U7: 74HC04 (Hex inverter, used multiple times)&lt;/li&gt;
&lt;li&gt;U8: 74HC4040 (12-stage binary ripple counter; generates cartridge addresses A0-A10)&lt;/li&gt;
&lt;li&gt;U9: 74HC164 (8-bit serial-in, parallel-out shift register; generates cartridge addresses A12-A19)&lt;/li&gt;
&lt;li&gt;U10: Unknown&lt;/li&gt;
&lt;li&gt;U11: 74HC74 (High Speed CMOS Logic Dual Positive-Edge-Triggered D-Type Flip-Flops with Set and Reset)&lt;/li&gt;
&lt;li&gt;U12: LM386 (Low voltage audio power amplifier)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Mikey&lt;/strong&gt; &lt;br /&gt;16-bit custom CMOS chip running at 16MHz&lt;/p&gt;
&lt;table width="733" cellpadding="2" cellspacing="0" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="200" valign="top"&gt;MOS 65SC02&lt;/td&gt;
&lt;td width="531" valign="top"&gt;Processor running at up to 4MHz (~3.6MHz average) 8-bit CPU, 16-bit address space&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="200" valign="top"&gt;Sound engine&lt;/td&gt;
&lt;td width="531" valign="top"&gt;4 channel sound 8-bit DAC for each channel (4 channels x 8-bits/channel = 32 bits commonly quoted) &lt;br /&gt;Lynx II has panning support &lt;br /&gt;Atari reports the range is &amp;quot;100Hz to above the range of human hearing&amp;quot;; spectrum analysis shows the range may go as low as 32Hz. &lt;br /&gt;Stereo with panning (mono for original Lynx)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="200" valign="top"&gt;Video DMA driver&lt;/td&gt;
&lt;td width="531" valign="top"&gt;Video DMA driver for LCD display &lt;br /&gt;4096 color (12-bit) palette &lt;br /&gt;16 simultaneous colors (4 bits) from palette per scanline (more than 16 colors can be displayed by changing palettes after each scanline)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="200" valign="top"&gt;System timers&lt;/td&gt;
&lt;td width="531" valign="top"&gt;8 System timers (2 reserved for LCD timing, one for UART)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="200" valign="top"&gt;Interrupt controller&lt;/td&gt;
&lt;td width="531" valign="top"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="200" valign="top"&gt;UART (for ComLynx)&lt;/td&gt;
&lt;td width="531" valign="top"&gt;Universal Asynchronous Receive/Transmit &lt;br /&gt;Fixed framing format 8E1 (meaning an 8-way connection between two &amp;ldquo;users&amp;rdquo;) &lt;br /&gt;Baud rate up to 62500Bd&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="200" valign="top"&gt;512 bytes ROM&lt;/td&gt;
&lt;td width="531" valign="top"&gt;Bootstrap and game-card loading ROM&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Suzy &lt;br /&gt;&lt;/strong&gt;16-bit custom CMOS chip running at 16MHz&lt;/p&gt;
&lt;table width="734" cellpadding="2" cellspacing="0" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="200" valign="top"&gt;Blitter unit&lt;/td&gt;
&lt;td width="532" valign="top"&gt;Bit-map block transfer unit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="200" valign="top"&gt;Graphics engine&lt;/td&gt;
&lt;td width="532" valign="top"&gt;Hardware drawing support &lt;br /&gt;Unlimited number of high-speed sprites with collision detection &lt;br /&gt;Hardware high-speed sprite scaling, distortion, and tilting effects &lt;br /&gt;Hardware decoding of compressed sprite data &lt;br /&gt;Hardware clipping and multi-directional scrolling &lt;br /&gt;Variable frame rate (up to 75 frames/second) &lt;br /&gt;160 x 102 &amp;quot;triad&amp;quot; standard resolution (16,320 addressable pixels) (A triad is three LCD elements: red, green, and blue) &lt;br /&gt;Capability of 480 x 102 artificially high resolution&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="200" valign="top"&gt;Math co-processor&lt;/td&gt;
&lt;td width="532" valign="top"&gt;Hardware 16-bit multiply and divide &lt;br /&gt;16-bit &amp;times; 16-bit &amp;rarr; 32-bit multiply with optional accumulation; &lt;br /&gt;32-bit &amp;divide; 16-bit &amp;rarr; 16-bit divide &lt;br /&gt;Parallel processing of CPU and single multiply or divide instruction&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="200" valign="top"&gt;Controller Input &lt;/td&gt;
&lt;td width="532" valign="top"&gt;Handles input from joypad, pause, option and fire buttons&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Parts of the Mikey and Suzy information was taken from the &lt;a target="_blank" href="http://www.faqs.org/faqs/games/video-games/atari/lynx/"&gt;Atari Lynx FAQ&lt;/a&gt;, which has more detailed information on all physical aspects of the Atari Lynx.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://www.monlynx.de/lynx/misc.html"&gt;Bastian Schick&lt;/a&gt; has the &lt;a target="_blank" href="http://www.monlynx.de/download/lynx/schematics.zip"&gt;electronic schematics&lt;/a&gt; up on his website (in a single ZIP file, but with two images of board split in left and right side). He also has a file listing the &lt;a target="_blank" href="http://www.monlynx.de/lynx/pinout.txt"&gt;pin layout of the cartridge port&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/lynx_5F00_ii_5F00_21A978D5.jpg"&gt;&lt;img height="271" width="640" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/lynx_5F00_ii_5F00_thumb_5F00_129299FB.jpg" alt="lynx_ii" border="0" title="lynx_ii" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Another famous Lynx developer &lt;a target="_blank" href="http://www.mdgames.de"&gt;Matthias Domin&lt;/a&gt; has the &lt;a target="_blank" href="http://www.mdgames.de/lynx_i_description.htm"&gt;Lynx I&lt;/a&gt; and &lt;a target="_blank" href="http://www.mdgames.de/lynx_ii_description.htm"&gt;Lynx II&lt;/a&gt; opened up and describes what part is what.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.mdgames.de/l2_opened.jpg" alt="Opened Lynx II (turned around)" border="0" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.alexthissen.nl/aggbug.aspx?PostID=22555" width="1" height="1"&gt;</content><author><name>alexthissen</name><uri>http://www.alexthissen.nl/members/alexthissen/default.aspx</uri></author></entry><entry><title>Game endings at Video Game Museum</title><link rel="alternate" type="text/html" href="/blogs/atarilynx/archive/2010/09/19/game-endings-at-video-game-museum.aspx" /><id>/blogs/atarilynx/archive/2010/09/19/game-endings-at-video-game-museum.aspx</id><published>2010-09-19T18:35:45Z</published><updated>2010-09-19T18:35:45Z</updated><content type="html">&lt;p&gt;Some games are just too hard to finish, or take too much time to do so. And if you did, on a device like the Atari Lynx, it is hard to show others what the end scenes and screens of the game look like. The quality of photographs usually don’t show this very well. Thanks to the emulators it is possible to both save games (by storing the entire state of the emulator) and create high quality images of the screens. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/shabe1_5F00_74F3CF11.gif"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="shabe-1" border="0" alt="shabe-1" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/shabe1_5F00_thumb_5F00_29942B4D.gif" width="160" height="102" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/shabe2_5F00_0D836C62.gif"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="shabe-2" border="0" alt="shabe-2" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/shabe2_5F00_thumb_5F00_49430515.gif" width="160" height="102" /&gt;&lt;/a&gt;    &lt;br /&gt;&lt;em&gt;Ending for Shadow of the Beast&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Apparently over at &lt;a href="http://www.vgmuseum.com/" target="_blank"&gt;The Video Game Museum&lt;/a&gt; they have been collecting game endings for a number of games. One of the collections is the &lt;a href="http://www.vgmuseum.com/end/lynx/" target="_blank"&gt;Atari Lynx game endings&lt;/a&gt;. I must say that there is an impressive number of games listed with screenshots showing the last sequences of the game. There are even some games I have never finished, but was curious to see what it would be like. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/kung0_5F00_2D32462A.gif"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="kung-0" border="0" alt="kung-0" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/kung0_5F00_thumb_5F00_6CFC2CAF.gif" width="160" height="102" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/kung2_5F00_13CA42F0.gif"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="kung-2" border="0" alt="kung-2" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/kung2_5F00_thumb_5F00_219C88EB.gif" width="160" height="102" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/kung4_5F00_6C8FF9BA.gif"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="kung-4" border="0" alt="kung-4" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/kung4_5F00_thumb_5F00_135E0FFB.gif" width="160" height="102" /&gt;&lt;/a&gt;     &lt;br /&gt;&lt;em&gt;Ending for Kung Food&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Go &lt;a href="http://www.vgmuseum.com/end/lynx/" target="_blank"&gt;check it out&lt;/a&gt; yourself. Now all I need to find is a website that has the savegames for a decent emulator (like Handy), so I can relive those endings myself. If it is not out there, I guess that I will need to create one myself. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/vik3_5F00_0C3ED383.gif"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="vik-3" border="0" alt="vik-3" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/vik3_5F00_thumb_5F00_47FE6C36.gif" width="160" height="102" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/vik4_5F00_12F1DD06.gif"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="vik-4" border="0" alt="vik-4" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/vik4_5F00_thumb_5F00_0BD2A08E.gif" width="160" height="102" /&gt;&lt;/a&gt;    &lt;br /&gt;&lt;em&gt;Ending for Viking Child &lt;/em&gt;(which I did finish myself)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.alexthissen.nl/aggbug.aspx?PostID=22554" width="1" height="1"&gt;</content><author><name>alexthissen</name><uri>http://www.alexthissen.nl/members/alexthissen/default.aspx</uri></author></entry><entry><title>Google Android versus Atari Lynx’s Gauntlet the Third Encounter</title><link rel="alternate" type="text/html" href="/blogs/atarilynx/archive/2010/09/19/google-android-versus-atari-lynx-s-gauntlet-the-third-encounter.aspx" /><id>/blogs/atarilynx/archive/2010/09/19/google-android-versus-atari-lynx-s-gauntlet-the-third-encounter.aspx</id><published>2010-09-19T16:25:01Z</published><updated>2010-09-19T16:25:01Z</updated><content type="html">&lt;p&gt;Personally, I haven’t played Gauntlet III on the Lynx much. Consequently I hadn’t noticed the similarities between the Android character and the new logo of Google’s mobile operating system.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://bugbig.com/shocker-googles-android-logo-boosted-from-atari-lynx-title-gauntlet-the-third-encounter"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="androidcopyeng[1]" border="0" alt="androidcopyeng[1]" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/androidcopyeng1_5F00_610FAD0F.jpg" width="365" height="256" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;To wet your Lynx appetite some more, here are some additional screenshots:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap05_5F00_3A9CB821.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;margin:0px 5px 0px 0px;display:inline;border-top:0px;border-right:0px;" title="snap05" border="0" alt="snap05" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap05_5F00_thumb_5F00_2C5E3F31.png" width="154" height="240" /&gt;&lt;/a&gt;&amp;#160; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap71_5F00_4DEE8063.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;margin:0px 5px 0px 0px;display:inline;border-top:0px;border-right:0px;" title="snap71" border="0" alt="snap71" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap71_5F00_thumb_5F00_0DB866E9.png" width="154" height="240" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap69_5F00_13FF3D77.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;margin:0px 5px 0px 0px;display:inline;border-top:0px;border-right:0px;" title="snap69" border="0" alt="snap69" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap69_5F00_thumb_5F00_25DBD144.png" width="154" height="240" /&gt;&lt;/a&gt; &lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap70_5F00_256F9E4F.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="snap70" border="0" alt="snap70" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/snap70_5F00_thumb_5F00_374C321C.png" width="154" height="240" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Go read the full story &lt;a href="http://bugbig.com/shocker-googles-android-logo-boosted-from-atari-lynx-title-gauntlet-the-third-encounter" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.alexthissen.nl/aggbug.aspx?PostID=22553" width="1" height="1"&gt;</content><author><name>alexthissen</name><uri>http://www.alexthissen.nl/members/alexthissen/default.aspx</uri></author></entry><entry><title>Writing a .NET based Atari Lynx emulator</title><link rel="alternate" type="text/html" href="/blogs/atarilynx/archive/2010/09/17/writing-a-net-based-atari-lynx-emulator.aspx" /><id>/blogs/atarilynx/archive/2010/09/17/writing-a-net-based-atari-lynx-emulator.aspx</id><published>2010-09-17T19:21:56Z</published><updated>2010-09-17T19:21:56Z</updated><content type="html">&lt;p&gt;Yep, I needed a new train project. I spent my time when travelling to work by train on a small notebook (HP Pavilion 1030ed) reading blogs, browsing the internet and all. Every now and then I have a pet project that I like to do. Hardly ever does it amount to anything useful, but it’s the pleasure and focus of thing that interest me. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/Atari_5F00_Lynx_5F00_II_5F00_1BF4E657.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="Atari_Lynx_II" border="0" alt="Atari_Lynx_II" src="http://www.alexthissen.nl/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/atarilynx/Atari_5F00_Lynx_5F00_II_5F00_thumb_5F00_18FF81A4.png" width="240" height="113" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I combined my love for the Atari Lynx machine with the Microsoft platform. It seems like a nice exercise write an emulator for the Atari Lynx. I will allow me to learn more of the internals of the Lynx machine, processor and hardware emulation and various older chipsets that I knew from my teen ages. When I was 13-15 years old I spent quite some time on the Commodore 64 machine, wrote some childish C64 Basic programs and even a little assembly. I had no idea what I was doing at the time, but I do remember stuff like LDA (load accumulator). Bringing it all together I thought it would be nice to write an emulator for the Atari Lynx using the .NET Framework. This will allow it to be used on a variety of platforms:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Windows based operating systems with DirectX or maybe Windows Presentation Foundation (WPF) and the Media Integration Layer&lt;/li&gt;    &lt;li&gt;Windows Phone 7&lt;/li&gt;    &lt;li&gt;XNA Game Studio, which allows targeting both Windows and XBox360&lt;/li&gt;    &lt;li&gt;Silverlight inside cross-platform browsers&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;At the moment there are two emulators available for the Windows OS: Handy and MetaLynx. The latter is old, not feature complete and it has no source code that I could find. The first however is very good, with source code in C++ (for Visual Studio). It has been ported to a number of other devices, such as the PSP, GP2X, MacOS and many more.&lt;/p&gt;  &lt;p&gt;I could do a straight port of the source code of Handy. I think it is doable, but will be error-prone. It will also defeat the purpose of learning about emulation, the processors inside the Atari Lynx, the other hardware and so on. That’s why I want to rewrite the code, refactor it where necessary and improve it where possible. It will be rewritten “from scratch”. I do not mean from scratch literally, because I intend to have the Handy source code right next to me, to take a look at how it is done there.&lt;/p&gt;  &lt;p&gt;Ideally, I will document everything I learn along the way, so anyone can learn some or all of what I have encountered. I have no idea if this will ever get finished, but the fun is what counts.&lt;/p&gt;  &lt;p&gt;Let’s get started.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.alexthissen.nl/aggbug.aspx?PostID=22552" width="1" height="1"&gt;</content><author><name>alexthissen</name><uri>http://www.alexthissen.nl/members/alexthissen/default.aspx</uri></author></entry></feed>