<story><title>Zelda Screen Transitions Are Undefined Behaviour</title><url>https://gridbugs.org/zelda-screen-transitions-are-undefined-behaviour/</url></story><parent_chain><item><author>jedberg</author><text>It feels like programming used to be a much harder job in the past. You not only had to figure out the program logic, but you had to work within very tight hardware constraints.&lt;p&gt;Reading articles like this, or about the Atari and how the code would double as a sprite in pac-man, or how 3D was rendered in Wolfenstein, makes me think one had to be much more clever back then.</text></item></parent_chain><comment><author>cdumler</author><text>The catch about developing things back then is that you were working with duct tape and chicken wire.  The 6502 CPU was developed literally by creating a hand drawn design.  Each transistor laid out created additional complexity that humans had to understand.  Therefore, making it as simple as possible by reducing the gates used to a minimum was important.  This also meant that not all combinations inputs were valid (or event checked).&lt;p&gt;The 6502 has a few &amp;quot;undocumented&amp;quot; instructions due the fact that if you have certain on&amp;#x2F;off input pin set, you&amp;#x27;re actually crossing gates used for multiple instructions.  These may crash the chip or do non-useful things, but a few do something useful in vary specific circumstances.  The trick to developing on these old systems is to experiment with the chips to understand what the system does in various circumstances.&lt;p&gt;What I liked about that time was that it was possible to truly understand everything about a system because nothing is hidden from you by software drivers.  The were good times.</text></comment>
<story><title>Zelda Screen Transitions Are Undefined Behaviour</title><url>https://gridbugs.org/zelda-screen-transitions-are-undefined-behaviour/</url></story><parent_chain><item><author>jedberg</author><text>It feels like programming used to be a much harder job in the past. You not only had to figure out the program logic, but you had to work within very tight hardware constraints.&lt;p&gt;Reading articles like this, or about the Atari and how the code would double as a sprite in pac-man, or how 3D was rendered in Wolfenstein, makes me think one had to be much more clever back then.</text></item></parent_chain><comment><author>im_down_w_otp</author><text>You still have to be clever like that today depending on what kind of problems you&amp;#x27;re working on.&lt;p&gt;Which was also true back then. Not all programmers back then had to derive arcanely clever tricks to get their job done.&lt;p&gt;There&amp;#x27;s also a part of it that is underappreciated, which is that sometimes the cool effect wasn&amp;#x27;t necessarily an original design goal, but instead was sometimes something that was stumbled upon one way or another, and then it was having that little trick in one&amp;#x27;s pocket which informed how the design would be.</text></comment>