<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Zdziarski</title>
	<atom:link href="https://www.zdziarski.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>https://www.zdziarski.com/blog</link>
	<description>Neat and Scruffy</description>
	<lastBuildDate>Mon, 13 Apr 2026 11:46:59 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>The Link Between Christian Nationalism and Nazi Germany</title>
		<link>https://www.zdziarski.com/blog/?p=13746</link>
		
		<dc:creator><![CDATA[Jonathan Zdziarski]]></dc:creator>
		<pubDate>Sun, 05 Apr 2026 05:00:21 +0000</pubDate>
				<category><![CDATA[Christianity]]></category>
		<category><![CDATA[Essays]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Politics]]></category>
		<guid isPermaLink="false">https://www.zdziarski.com/blog/?p=13746</guid>

					<description><![CDATA[<p><small>“Brothers and sisters, this is our God: Jesus, King of Peace, who rejects war, whom no one can use to justify war. He does not listen to the prayers of those who wage war, but rejects them.”</small></p>
<p align="right">&#8211; Pope Leo XIV</p>
<p>The Military Religious Freedom Foundation reports receiving hundreds of complaints from U.S. service members alleging commanders have framed current military operations in Iran in terms of Christian end-times prophecy, namely God’s plan for Armageddon and the imminent return of Jesus. At a recent Pentagon service, the Secretary of <del>Defense</del> War prayed for <em>overwhelming violence</em> against those who deserve <em>no mercy</em>.</p>
<p>The United States is not the first to embrace apocalyptic theatre as a major driver of foreign policy, and as a former evangelical familiar with this worldview, it is deeply concerning. There&#8217;s a stark parallel to history we must take seriously.</p>
<p>For the first several hundred years, Christianity largely took a posture of mercy and martyrdom. The concept of a violent and militant Jesus probably had its origins in the medieval period. The idea was first formally codified at the Council of Nablus in 1120, where Canon 20 permitted a clergyman to take up arms in self-defense without bearing any guilt; this was during turbulent times when Christian pilgrims were often massacred by the hundreds along their journey, leaving their rotting corpses along the road from Jaffa into the Holy Land. This one concession, intended to be a temporary measure, seeded militant movements in Christianity starting with the Papal legitimization of the Templars movement (“God’s Holy Knights”) and their involvement in the Crusades, extremist groups such as Alfonso I’s Brotherhood of Belchite, the Pastoureaux, and eventually reached into modern day militant Christian ideals.</p>
<p>Modern evangelical end-times beliefs are just shy of 200 years old, and stand largely upon a populist theology called <em>dispensational hermeneutics</em>, which I&#8217;ve <a class="underline" href="https://www.zdziarski.com/blog/?p=8441">written about at length</a>. This once fringe approach to Christian theology grew out of a small movement of aristocratic separatists in Ireland in the 1820s named the Plymouth Brethren, of which a lawyer named John Darby was a leader. Darby had a disdain for formalism and rejected all prior scholarship, including the work of the reformation, which he believed was markedly deficient. As an anti-cleric, his flavor of <em>nuda scriptura</em> Christianity called for strictly literal interpretation of all scripture, and in isolation from patristic authors (church fathers), historical writers, or other sources outside of the New Testament. Rejecting church doctrine established for more than a thousand years, Darby built his own theological belief system referred to today as <em>dispensationalism</em>, which fundamentally altered how the Bible was interpreted. This interpretive framework forces a very specific worldview that restructures much of the New Testament around a militant and <em>advancing </em>Christianity. Prior to Darby, the book of Revelation had been largely considered a book of hope relevant to the destruction of Jerusalem in 70 AD (the <em>antichrist</em> referring to Nero Caesar). Darby&#8217;s new theology forced Revelation to be interpreted as both <em>literal</em> and <em>future</em> prophecy. He also believed in a form of Christian exclusivity, considering his followers to be &#8220;pure&#8221; in an evil world, and the only true believers among an otherwise &#8220;ruined&#8221; church.</p>
<p>Darby&#8217;s fundamentalist theology gave birth to many of the concepts adopted in evangelical low churches today such as a secret rapture, a terrifying tribulation, and a third temple in Israel. These ideas were first preached in the United States in 1870, and fell upon the ears of Dwight Moody, who embraced it. With Moody and the help of his longtime friend Cyrus Scofield (notably also a lawyer), this tiny separatist group ultimately influenced Christianity in the Americas and helped create what most associate today with the Evangelical Church; the arm of the Christian church in America today largely claiming Christian nationalism. While strong modern evidence suggests Scofield fabricated a fake <em>Doctor of Divinity </em>degree, dispensationalism heightened in popularity around 1910-1915, with the publication of his <em>Scofield Reference Bible </em>which attempted to authoritatively indoctrinate Christianity with a dispensational interpretation. This following was positioned to gain appeal from events across the next several decades. As Kim Riddlebarger writes in <em>A Case for Amillennialism</em>, “Several important social and cultural factors made dispensationalism popular among American evangelicals, who had been overwhelmingly postmillennial just a generation earlier. The horrors of World War I, the Great Depression, World War II, the Cold War, and the tense Middle East situation can all be explained by the dispensational system. When people are uncertain about the future and afraid of what might come to pass, dispensationalists assure them that when things go from bad to worse, the church will be raptured from the earth and Christians will not be around to experience the great tribulation or the wrath of the Antichrist. In this way, dispensationalists offer comforting answers to painful questions.”</p>
<p>The 1918 Influenza breakout had killed millions and birthed a spiritual madness for seances and the occult. The more pessimistic society got, the more it was open to accepting a fiery, terrifying end of world theology. Common recurring themes in the world such as inflation, war, disease and genocide are seen by dispensational Christians as a concise sign of the end of the world, even though these concepts play out over and over again throughout history. Reinterpreting an end times to now be set in the modern day had obvious appeal. No one could blame society for being tempted to parallel the Antichrist to Hitler, or the sufferings of the Great Tribulation to the horrible sufferings of the Holocaust, especially with a relatively new form of theology circulating that fit with current events.</p>
<p><span id="more-13746"></span></p>
<p>As historian David Redles points out in <em>Hitler&#8217;s Millennial Reich: Apocalyptic Belief and the Search for Salvation</em>, many apocalyptic movements begin with a chaotic destabilization of society, “the multiplicity of causality, the convergence of cataclysmic events, creates rapid, sudden, and irrevocable change in society and change within the psyches of those who experience it.” Between the 1920s to 1940s, many dispensationalist Christians in the west were speculating that Hitler was the Antichrist, but those within his ranks believed he was the messiah returned. Dietrich Eckart, a mentor to Hitler to whom he later dedicated Mein Kampf, painted the Jewish race as the Antichrist, reinterpreting the Old Testament and writing an antisemitic exegesis on the book of Revelation. Using a forged and now-debunked document named the <em>Protocols of the Elders of Zion</em> to paint a false conspiracy by the Jews for world domination. This was ultimately used by Hitler to justify the Holocaust. Hitler’s speeches, fully embracing Eckart&#8217;s fiction, attempted to convince the Germans that the Jewish intended to use the hyperinflation of that period to enslave them through famine, “for the second revolution under the Star of David”.</p>
<p>Eckart probably obtained his millenarian point of view independently of Darby, though dispensationalist ideals had already permeated through Germany by this time through Darby&#8217;s preaching. Martin Luther was largely considered an Amillennial or Historicist; he did not believe in a thousand-year reign. Eckart, however shared Darby&#8217;s approach to literal interpretation &#8211; when it suited him &#8211; and used Luther&#8217;s German translation of Revelation 20 to derive his notion of an apocalyptic millennial reich. Nazism’s rise was ultimately fueled by its apocalyptic components of this reign, which in many ways parallel core concepts in premillennial dispensationalism building within the ranks of the evangelical church. Redles points out, “the Nazi conception of the tausendjährige Reich, literally millennial kingdom, was taken to be a perfect world&#8230;” He goes on, describing the appeal as, “the message of that piercing voice was one of impending apocalypse, with salvation possible only through Nazism. Nazi rhetoric struck a chord with the millenarian longings of many hopeless and frustrated Germans.” While the Nazi apocalyptic diverged far from a Christian interpretation in many regards, “Nazi messianism and apocalypticism were central to the Nazi construction of reality”. For many nazis, believing in their leader as their savior was essential to their faith. Hitler grasped onto the idea of himself as the messiah so strongly, that even Eckart &#8211; who had previously introduced Hitler as &#8220;Germany&#8217;s young Messiah&#8221;, began worrying about Hitler&#8217;s &#8220;messiah complex&#8221;.</p>
<p>The similarities were recognizable enough to the Catholic Church, and when the Third Reich failed to establish a thousand-year reign on the Earth, the Vatican in 1944 issued a statement that millennialism cannot be safely taught. It cannot be understated how central Nazi apocalyptic eschatology was to the racist motivations of the regime. Historian Mary Fulbrook wrote of Nazism and Christianity, “it seems that, for many Germans, adherence to the Christian faith proved compatible with at least passive acquiescence in, if not active support for, the Nazi dictatorship.” Most high churches today (Catholic, Anglican, Lutheran, and so on) largely reject dispensational premillennialism; with that, concepts of a secret rapture, hell-on-Earth tribulation, and other such extreme ideas evaporate.</p>
<p>So here we have two different nations adopting similar theology as a means of hope in troubling times. Through the manipulation of a deranged leader bent toward world domination, one of those nations collectively committed mass atrocities against humanity; end-times apocalypticism as a catalyst. When mixed with racism and prejudice, and the sense of an &#8220;other&#8221; to fear, the worldview built around the dispensational belief system can create monsters. One must be very cautious with the authority one gives to those who would claim to be able to interpret ancient scripture. More than simply some innocent set of opinions about the future, many of the more extreme evangelical churches continue to advance the idea that we are at the precipice of some form of apocalypse, and <em>seek to bring about the eschaton by fulfilling such prophecy, </em>encouraging active participation to bring about their version of a rapture. In its most played out scenario, this would imply defeating Israel&#8217;s enemies, including Palestine, to make it possible to rebuild the temple.</p>
<p>As I said at the onset, the fact that this US military &#8211; run by an administration largely put into power by the evangelical church &#8211; would use an evangelical brand of apocalypticism as a rationale for war is not surprising. It is, however, a sobering reality that should give us pause to seriously consider the eerily similar zealotry behind the atrocities in the Nazi regime, and whether our own country&#8217;s trajectory is nearing the same dark abyss.</p>
<p>I am deeply saddened by my fellow Christians who have fallen into the pit of Christian nationalism, and are left with nothing but a vain set of prejudices they call Jesus. To these, their faith has adopted a Christianized form of Jihad. This country is playing with fire, and while many can only abstractly comprehend the bombs falling in the Middle East, many in our military seem to have sounded the alarm that we are killing human beings under a scarily familiar guise of eradicating &#8220;the other&#8221; in what is perceived as an end-times scenario.</p>
<p>In spite of the Holy War that US military leaders are attempting to conduct in Iran, their leader has simpler priorities. If we really want the US to pull out of Iran early, we need only rename the waterway to the Strait of Epstein. The amount of faith Christian nationalists put in one man to deliver them &#8220;God&#8217;s Country&#8221; is of messianic proportions, yet he is far from a Messiah. Should they get their World War III, it will be the result not of prophecy, but of one man&#8217;s fragile ego &#8211; or perhaps such a gullible man can be so easily swayed to believe they really are the Messiah. Let&#8217;s hope not.</p>
<p>Further reading:</p>
<p><a class="underline" href="https://www.zdziarski.com/blog/?p=8441">Christianity&#8217;s End-Times Conspiracy Theories</a> (zdziarski.com)</p>
<p><a class="underline" href="https://en.wikipedia.org/wiki/Plymouth_Brethren">Plymouth Brethren</a> (wikipedia.org)</p>
<p><a class="underline" href="https://www.amazon.com/Hitlers-Millennial-Reich-Apocalyptic-Salvation/dp/0814776213">Hitler&#8217;s Millennial Reich: Apocalyptic Belief and the Search for Salvation</a> (amazon.com)</p>
<a class="read-more" href="https://www.zdziarski.com/blog/?p=13746" title="Read More"> <span class="button ">Read More</span></a>]]></description>
										<content:encoded><![CDATA[<p><small>“Brothers and sisters, this is our God: Jesus, King of Peace, who rejects war, whom no one can use to justify war. He does not listen to the prayers of those who wage war, but rejects them.”</small></p>
<p align="right">&#8211; Pope Leo XIV</p>
<p>The Military Religious Freedom Foundation reports receiving hundreds of complaints from U.S. service members alleging commanders have framed current military operations in Iran in terms of Christian end-times prophecy, namely God’s plan for Armageddon and the imminent return of Jesus. At a recent Pentagon service, the Secretary of <del>Defense</del> War prayed for <em>overwhelming violence</em> against those who deserve <em>no mercy</em>.</p>
<p>The United States is not the first to embrace apocalyptic theatre as a major driver of foreign policy, and as a former evangelical familiar with this worldview, it is deeply concerning. There&#8217;s a stark parallel to history we must take seriously.</p>
<p>For the first several hundred years, Christianity largely took a posture of mercy and martyrdom. The concept of a violent and militant Jesus probably had its origins in the medieval period. The idea was first formally codified at the Council of Nablus in 1120, where Canon 20 permitted a clergyman to take up arms in self-defense without bearing any guilt; this was during turbulent times when Christian pilgrims were often massacred by the hundreds along their journey, leaving their rotting corpses along the road from Jaffa into the Holy Land. This one concession, intended to be a temporary measure, seeded militant movements in Christianity starting with the Papal legitimization of the Templars movement (“God’s Holy Knights”) and their involvement in the Crusades, extremist groups such as Alfonso I’s Brotherhood of Belchite, the Pastoureaux, and eventually reached into modern day militant Christian ideals.</p>
<p>Modern evangelical end-times beliefs are just shy of 200 years old, and stand largely upon a populist theology called <em>dispensational hermeneutics</em>, which I&#8217;ve <a class="underline" href="https://www.zdziarski.com/blog/?p=8441">written about at length</a>. This once fringe approach to Christian theology grew out of a small movement of aristocratic separatists in Ireland in the 1820s named the Plymouth Brethren, of which a lawyer named John Darby was a leader. Darby had a disdain for formalism and rejected all prior scholarship, including the work of the reformation, which he believed was markedly deficient. As an anti-cleric, his flavor of <em>nuda scriptura</em> Christianity called for strictly literal interpretation of all scripture, and in isolation from patristic authors (church fathers), historical writers, or other sources outside of the New Testament. Rejecting church doctrine established for more than a thousand years, Darby built his own theological belief system referred to today as <em>dispensationalism</em>, which fundamentally altered how the Bible was interpreted. This interpretive framework forces a very specific worldview that restructures much of the New Testament around a militant and <em>advancing </em>Christianity. Prior to Darby, the book of Revelation had been largely considered a book of hope relevant to the destruction of Jerusalem in 70 AD (the <em>antichrist</em> referring to Nero Caesar). Darby&#8217;s new theology forced Revelation to be interpreted as both <em>literal</em> and <em>future</em> prophecy. He also believed in a form of Christian exclusivity, considering his followers to be &#8220;pure&#8221; in an evil world, and the only true believers among an otherwise &#8220;ruined&#8221; church.</p>
<p>Darby&#8217;s fundamentalist theology gave birth to many of the concepts adopted in evangelical low churches today such as a secret rapture, a terrifying tribulation, and a third temple in Israel. These ideas were first preached in the United States in 1870, and fell upon the ears of Dwight Moody, who embraced it. With Moody and the help of his longtime friend Cyrus Scofield (notably also a lawyer), this tiny separatist group ultimately influenced Christianity in the Americas and helped create what most associate today with the Evangelical Church; the arm of the Christian church in America today largely claiming Christian nationalism. While strong modern evidence suggests Scofield fabricated a fake <em>Doctor of Divinity </em>degree, dispensationalism heightened in popularity around 1910-1915, with the publication of his <em>Scofield Reference Bible </em>which attempted to authoritatively indoctrinate Christianity with a dispensational interpretation. This following was positioned to gain appeal from events across the next several decades. As Kim Riddlebarger writes in <em>A Case for Amillennialism</em>, “Several important social and cultural factors made dispensationalism popular among American evangelicals, who had been overwhelmingly postmillennial just a generation earlier. The horrors of World War I, the Great Depression, World War II, the Cold War, and the tense Middle East situation can all be explained by the dispensational system. When people are uncertain about the future and afraid of what might come to pass, dispensationalists assure them that when things go from bad to worse, the church will be raptured from the earth and Christians will not be around to experience the great tribulation or the wrath of the Antichrist. In this way, dispensationalists offer comforting answers to painful questions.”</p>
<p>The 1918 Influenza breakout had killed millions and birthed a spiritual madness for seances and the occult. The more pessimistic society got, the more it was open to accepting a fiery, terrifying end of world theology. Common recurring themes in the world such as inflation, war, disease and genocide are seen by dispensational Christians as a concise sign of the end of the world, even though these concepts play out over and over again throughout history. Reinterpreting an end times to now be set in the modern day had obvious appeal. No one could blame society for being tempted to parallel the Antichrist to Hitler, or the sufferings of the Great Tribulation to the horrible sufferings of the Holocaust, especially with a relatively new form of theology circulating that fit with current events.</p>
<p><span id="more-13746"></span></p>
<p>As historian David Redles points out in <em>Hitler&#8217;s Millennial Reich: Apocalyptic Belief and the Search for Salvation</em>, many apocalyptic movements begin with a chaotic destabilization of society, “the multiplicity of causality, the convergence of cataclysmic events, creates rapid, sudden, and irrevocable change in society and change within the psyches of those who experience it.” Between the 1920s to 1940s, many dispensationalist Christians in the west were speculating that Hitler was the Antichrist, but those within his ranks believed he was the messiah returned. Dietrich Eckart, a mentor to Hitler to whom he later dedicated Mein Kampf, painted the Jewish race as the Antichrist, reinterpreting the Old Testament and writing an antisemitic exegesis on the book of Revelation. Using a forged and now-debunked document named the <em>Protocols of the Elders of Zion</em> to paint a false conspiracy by the Jews for world domination. This was ultimately used by Hitler to justify the Holocaust. Hitler’s speeches, fully embracing Eckart&#8217;s fiction, attempted to convince the Germans that the Jewish intended to use the hyperinflation of that period to enslave them through famine, “for the second revolution under the Star of David”.</p>
<p>Eckart probably obtained his millenarian point of view independently of Darby, though dispensationalist ideals had already permeated through Germany by this time through Darby&#8217;s preaching. Martin Luther was largely considered an Amillennial or Historicist; he did not believe in a thousand-year reign. Eckart, however shared Darby&#8217;s approach to literal interpretation &#8211; when it suited him &#8211; and used Luther&#8217;s German translation of Revelation 20 to derive his notion of an apocalyptic millennial reich. Nazism’s rise was ultimately fueled by its apocalyptic components of this reign, which in many ways parallel core concepts in premillennial dispensationalism building within the ranks of the evangelical church. Redles points out, “the Nazi conception of the tausendjährige Reich, literally millennial kingdom, was taken to be a perfect world&#8230;” He goes on, describing the appeal as, “the message of that piercing voice was one of impending apocalypse, with salvation possible only through Nazism. Nazi rhetoric struck a chord with the millenarian longings of many hopeless and frustrated Germans.” While the Nazi apocalyptic diverged far from a Christian interpretation in many regards, “Nazi messianism and apocalypticism were central to the Nazi construction of reality”. For many nazis, believing in their leader as their savior was essential to their faith. Hitler grasped onto the idea of himself as the messiah so strongly, that even Eckart &#8211; who had previously introduced Hitler as &#8220;Germany&#8217;s young Messiah&#8221;, began worrying about Hitler&#8217;s &#8220;messiah complex&#8221;.</p>
<p>The similarities were recognizable enough to the Catholic Church, and when the Third Reich failed to establish a thousand-year reign on the Earth, the Vatican in 1944 issued a statement that millennialism cannot be safely taught. It cannot be understated how central Nazi apocalyptic eschatology was to the racist motivations of the regime. Historian Mary Fulbrook wrote of Nazism and Christianity, “it seems that, for many Germans, adherence to the Christian faith proved compatible with at least passive acquiescence in, if not active support for, the Nazi dictatorship.” Most high churches today (Catholic, Anglican, Lutheran, and so on) largely reject dispensational premillennialism; with that, concepts of a secret rapture, hell-on-Earth tribulation, and other such extreme ideas evaporate.</p>
<p>So here we have two different nations adopting similar theology as a means of hope in troubling times. Through the manipulation of a deranged leader bent toward world domination, one of those nations collectively committed mass atrocities against humanity; end-times apocalypticism as a catalyst. When mixed with racism and prejudice, and the sense of an &#8220;other&#8221; to fear, the worldview built around the dispensational belief system can create monsters. One must be very cautious with the authority one gives to those who would claim to be able to interpret ancient scripture. More than simply some innocent set of opinions about the future, many of the more extreme evangelical churches continue to advance the idea that we are at the precipice of some form of apocalypse, and <em>seek to bring about the eschaton by fulfilling such prophecy, </em>encouraging active participation to bring about their version of a rapture. In its most played out scenario, this would imply defeating Israel&#8217;s enemies, including Palestine, to make it possible to rebuild the temple.</p>
<p>As I said at the onset, the fact that this US military &#8211; run by an administration largely put into power by the evangelical church &#8211; would use an evangelical brand of apocalypticism as a rationale for war is not surprising. It is, however, a sobering reality that should give us pause to seriously consider the eerily similar zealotry behind the atrocities in the Nazi regime, and whether our own country&#8217;s trajectory is nearing the same dark abyss.</p>
<p>I am deeply saddened by my fellow Christians who have fallen into the pit of Christian nationalism, and are left with nothing but a vain set of prejudices they call Jesus. To these, their faith has adopted a Christianized form of Jihad. This country is playing with fire, and while many can only abstractly comprehend the bombs falling in the Middle East, many in our military seem to have sounded the alarm that we are killing human beings under a scarily familiar guise of eradicating &#8220;the other&#8221; in what is perceived as an end-times scenario.</p>
<p>In spite of the Holy War that US military leaders are attempting to conduct in Iran, their leader has simpler priorities. If we really want the US to pull out of Iran early, we need only rename the waterway to the Strait of Epstein. The amount of faith Christian nationalists put in one man to deliver them &#8220;God&#8217;s Country&#8221; is of messianic proportions, yet he is far from a Messiah. Should they get their World War III, it will be the result not of prophecy, but of one man&#8217;s fragile ego &#8211; or perhaps such a gullible man can be so easily swayed to believe they really are the Messiah. Let&#8217;s hope not.</p>
<p>Further reading:</p>
<p><a class="underline" href="https://www.zdziarski.com/blog/?p=8441">Christianity&#8217;s End-Times Conspiracy Theories</a> (zdziarski.com)</p>
<p><a class="underline" href="https://en.wikipedia.org/wiki/Plymouth_Brethren">Plymouth Brethren</a> (wikipedia.org)</p>
<p><a class="underline" href="https://www.amazon.com/Hitlers-Millennial-Reich-Apocalyptic-Salvation/dp/0814776213">Hitler&#8217;s Millennial Reich: Apocalyptic Belief and the Search for Salvation</a> (amazon.com)</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Pixel-Perfect Retro Gaming with TinyNES and c0pperdragon</title>
		<link>https://www.zdziarski.com/blog/?p=13703</link>
		
		<dc:creator><![CDATA[Jonathan Zdziarski]]></dc:creator>
		<pubDate>Tue, 10 Feb 2026 20:44:19 +0000</pubDate>
				<category><![CDATA[Gaming]]></category>
		<guid isPermaLink="false">https://www.zdziarski.com/blog/?p=13703</guid>

					<description><![CDATA[<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/zelda.jpg"><img fetchpriority="high" decoding="async" class="aligncenter size-large wp-image-13736" src="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/zelda-1024x768.jpg" alt="" width="1024" height="768" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/zelda-1024x768.jpg 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/zelda-300x225.jpg 300w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/zelda-768x576.jpg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/zelda.jpg 1169w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></p>
<p>The photo above isn&#8217;t an emulator screenshot, it&#8217;s a photo of the actual Zelda game played through my system on an HDMI monitor (any moire effect is a result of taking a picture of the monitor screen itself). For several months, I&#8217;ve been playing with the <a href="https://www.c0pperdragon.com">c0pperdrag0n PPU Digitizer</a>; I&#8217;ve had a lot of success soldering it into a lot of devices it was never originally targeting: an early Famicom, a NES Test Market console and as of this writing, a TinyNES. The c0pperdragon PPU digitizer easily solders onto the back of a Ricoh 2C02 PPU and converts the picture into a signal its creator has dubbed <em>Lumacode</em>. The signal contains all of the RGB information necessary to render individual pixels for the game in high definition. This signal can then be rendered by a few different upscalers (I use OSSC Pro) to display on an HDMI monitor with absolute perfection.</p>
<p>If you&#8217;re not familiar with the TinyNES, it&#8217;s fully open source hardware to create a modern, but authentic, NES clone. It comes with DIP slots for the PPU and the CPU from an original NES, and all modern SMT circuitry for the discreet logic, RAM, and other components that aren&#8217;t crucial to accuracy. You can purchase TinyNES with clone chips (which do <em>not </em>provide authentic sound or picture), or you can de-solder the original PPU/CPU chips from an old NES and use it in the TinyNES, giving you an identical experience to the original console. If you don&#8217;t have any desoldering equipment, you can usually find these chips on eBay as well. Not only is the TinyNES small and modern, but it&#8217;s also more power efficient and even supports Famicom expansion audio (great if you like to play old FDS games like me).</p>
<p>The TinyNES has often been overlooked for its much pricier competitor, the Analogue NT Noir, which is an FPGA console capable of providing HDMI output. With the PPU Digitizer, however, the TinyNES can be made to output pixel-perfect video at a fraction of the price &#8211; and running original chips, rather than an FPGA reconstruction.</p>
<p><span id="more-13703"></span></p>
<p>When I ordered the TinyNES, it wasn&#8217;t clear whether or not there would be room for the digitizer board, or whether it would work with clone chips, or at all. Here is the back of the TinyNES board, once removed from its case:</p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3725.jpeg"><img decoding="async" class="alignnone size-medium wp-image-13705" src="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3725-225x300.jpeg" alt="" width="225" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3725-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3725-768x1024.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3725.jpeg 900w" sizes="(max-width: 225px) 100vw, 225px" /></a> <a href="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3726.jpeg"><img decoding="async" class="alignnone size-medium wp-image-13706" src="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3726-225x300.jpeg" alt="" width="225" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3726-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3726-768x1024.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3726.jpeg 900w" sizes="(max-width: 225px) 100vw, 225px" /></a></p>
<p>The PPU digitizer solders over the back of the pins, as shown. There are two pads for signal output and ground. I didn&#8217;t want to physically modify the TinyNES&#8217; video port, as I wanted the ability to plug it into a PVM whenever I felt like it. Instead, I cut up a well-shielded RCA cable, ran it through one of the screw holes on the bottom, and soldered it to the digitizer, adding an extra video port out the back.</p>
<p>The per-pixel detail is far superior to the basic AV out that the TinyNES comes with. I was surprised to find that the clone chips it ships with are compatible with the digizier. I ended up also desoldering the NES CPU and PPU from an old console for the final version, as the sound from the clone CPU is quite inauthentic. So authentic that it even crashes in the same places that the original Test Market CPU crashed.</p>
<p>A lot of people may not like this hard-raw-pixel look, but once you get a clean signal like this you can layer special effects on top of it. The photo above adds scanlines and an overlay using the OSSC Pro&#8217;s built-in functions. It&#8217;s easier on the eyes than a blurry picture, and doesn&#8217;t look nearly as blocky as the original RGB signal.</p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3757.jpeg"><img loading="lazy" decoding="async" class="alignnone wp-image-13726 size-large" src="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3757-1024x768.jpeg" alt="" width="1024" height="768" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3757-1024x768.jpeg 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3757-300x225.jpeg 300w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3757-768x576.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3757.jpeg 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p><em>Legend of Zelda, with scanlines and post-processing added</em></p>
<p>&#160;</p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3751.jpeg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13728" src="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3751-225x300.jpeg" alt="" width="225" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3751-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3751-767x1024.jpeg 767w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3751-768x1025.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3751.jpeg 899w" sizes="auto, (max-width: 225px) 100vw, 225px" /></a> <a href="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3753.jpeg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13729" src="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3753-225x300.jpeg" alt="" width="225" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3753-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3753-768x1024.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3753.jpeg 900w" sizes="auto, (max-width: 225px) 100vw, 225px" /></a></p>
<p><em>A close-up of Mario (Super Mario Bros. 2), with scanlines and post-processing</em></p>
<p>&#160;</p>
<p>My understanding is you can also desolder the PPU chip from an arcade Vs. System to generate the RGB signals, however you&#8217;ll also need an RGB kit that doesn&#8217;t seem to be stocked right now. This seems like a much less expensive solution, unless you count the cost of a good desoldering gun (I use the Hakko FR-301) for all of my arcade PCB repairs and other electronics work.</p>
<p>For a clean look, I used a 5/16&#8243; bit to drill a small hole in the back of the TinyNES body. This allowed me to screw in a second AV jack and run the Lumacode signal straight to it. This way, no wires hanging out of the unit and I can also use a PVM with it whenever I want.</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3739-scaled.jpeg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13715" src="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3739-225x300.jpeg" alt="" width="225" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3739-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3739-768x1024.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3739-1152x1536.jpeg 1152w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3739-1536x2048.jpeg 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3739-scaled.jpeg 1920w" sizes="auto, (max-width: 225px) 100vw, 225px" /></a>  <a href="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3740-scaled.jpeg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13716" src="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3740-225x300.jpeg" alt="" width="225" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3740-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3740-768x1024.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3740-1152x1536.jpeg 1152w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3740-1536x2048.jpeg 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3740-scaled.jpeg 1920w" sizes="auto, (max-width: 225px) 100vw, 225px" /> </a><a href="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3741-scaled.jpeg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13717" src="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3741-225x300.jpeg" alt="" width="225" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3741-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3741-768x1024.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3741-1152x1536.jpeg 1152w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3741-1536x2048.jpeg 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3741-scaled.jpeg 1920w" sizes="auto, (max-width: 225px) 100vw, 225px" /></a></p>
<a class="read-more" href="https://www.zdziarski.com/blog/?p=13703" title="Read More"> <span class="button ">Read More</span></a>]]></description>
										<content:encoded><![CDATA[<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/zelda.jpg"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13736" src="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/zelda-1024x768.jpg" alt="" width="1024" height="768" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/zelda-1024x768.jpg 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/zelda-300x225.jpg 300w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/zelda-768x576.jpg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/zelda.jpg 1169w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p>The photo above isn&#8217;t an emulator screenshot, it&#8217;s a photo of the actual Zelda game played through my system on an HDMI monitor (any moire effect is a result of taking a picture of the monitor screen itself). For several months, I&#8217;ve been playing with the <a href="https://www.c0pperdragon.com">c0pperdrag0n PPU Digitizer</a>; I&#8217;ve had a lot of success soldering it into a lot of devices it was never originally targeting: an early Famicom, a NES Test Market console and as of this writing, a TinyNES. The c0pperdragon PPU digitizer easily solders onto the back of a Ricoh 2C02 PPU and converts the picture into a signal its creator has dubbed <em>Lumacode</em>. The signal contains all of the RGB information necessary to render individual pixels for the game in high definition. This signal can then be rendered by a few different upscalers (I use OSSC Pro) to display on an HDMI monitor with absolute perfection.</p>
<p>If you&#8217;re not familiar with the TinyNES, it&#8217;s fully open source hardware to create a modern, but authentic, NES clone. It comes with DIP slots for the PPU and the CPU from an original NES, and all modern SMT circuitry for the discreet logic, RAM, and other components that aren&#8217;t crucial to accuracy. You can purchase TinyNES with clone chips (which do <em>not </em>provide authentic sound or picture), or you can de-solder the original PPU/CPU chips from an old NES and use it in the TinyNES, giving you an identical experience to the original console. If you don&#8217;t have any desoldering equipment, you can usually find these chips on eBay as well. Not only is the TinyNES small and modern, but it&#8217;s also more power efficient and even supports Famicom expansion audio (great if you like to play old FDS games like me).</p>
<p>The TinyNES has often been overlooked for its much pricier competitor, the Analogue NT Noir, which is an FPGA console capable of providing HDMI output. With the PPU Digitizer, however, the TinyNES can be made to output pixel-perfect video at a fraction of the price &#8211; and running original chips, rather than an FPGA reconstruction.</p>
<p><span id="more-13703"></span></p>
<p>When I ordered the TinyNES, it wasn&#8217;t clear whether or not there would be room for the digitizer board, or whether it would work with clone chips, or at all. Here is the back of the TinyNES board, once removed from its case:</p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3725.jpeg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13705" src="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3725-225x300.jpeg" alt="" width="225" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3725-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3725-768x1024.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3725.jpeg 900w" sizes="auto, (max-width: 225px) 100vw, 225px" /></a> <a href="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3726.jpeg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13706" src="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3726-225x300.jpeg" alt="" width="225" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3726-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3726-768x1024.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3726.jpeg 900w" sizes="auto, (max-width: 225px) 100vw, 225px" /></a></p>
<p>The PPU digitizer solders over the back of the pins, as shown. There are two pads for signal output and ground. I didn&#8217;t want to physically modify the TinyNES&#8217; video port, as I wanted the ability to plug it into a PVM whenever I felt like it. Instead, I cut up a well-shielded RCA cable, ran it through one of the screw holes on the bottom, and soldered it to the digitizer, adding an extra video port out the back.</p>
<p>The per-pixel detail is far superior to the basic AV out that the TinyNES comes with. I was surprised to find that the clone chips it ships with are compatible with the digizier. I ended up also desoldering the NES CPU and PPU from an old console for the final version, as the sound from the clone CPU is quite inauthentic. So authentic that it even crashes in the same places that the original Test Market CPU crashed.</p>
<p>A lot of people may not like this hard-raw-pixel look, but once you get a clean signal like this you can layer special effects on top of it. The photo above adds scanlines and an overlay using the OSSC Pro&#8217;s built-in functions. It&#8217;s easier on the eyes than a blurry picture, and doesn&#8217;t look nearly as blocky as the original RGB signal.</p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3757.jpeg"><img loading="lazy" decoding="async" class="alignnone wp-image-13726 size-large" src="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3757-1024x768.jpeg" alt="" width="1024" height="768" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3757-1024x768.jpeg 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3757-300x225.jpeg 300w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3757-768x576.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3757.jpeg 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p><em>Legend of Zelda, with scanlines and post-processing added</em></p>
<p>&nbsp;</p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3751.jpeg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13728" src="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3751-225x300.jpeg" alt="" width="225" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3751-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3751-767x1024.jpeg 767w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3751-768x1025.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3751.jpeg 899w" sizes="auto, (max-width: 225px) 100vw, 225px" /></a> <a href="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3753.jpeg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13729" src="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3753-225x300.jpeg" alt="" width="225" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3753-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3753-768x1024.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3753.jpeg 900w" sizes="auto, (max-width: 225px) 100vw, 225px" /></a></p>
<p><em>A close-up of Mario (Super Mario Bros. 2), with scanlines and post-processing</em></p>
<p>&nbsp;</p>
<p>My understanding is you can also desolder the PPU chip from an arcade Vs. System to generate the RGB signals, however you&#8217;ll also need an RGB kit that doesn&#8217;t seem to be stocked right now. This seems like a much less expensive solution, unless you count the cost of a good desoldering gun (I use the Hakko FR-301) for all of my arcade PCB repairs and other electronics work.</p>
<p>For a clean look, I used a 5/16&#8243; bit to drill a small hole in the back of the TinyNES body. This allowed me to screw in a second AV jack and run the Lumacode signal straight to it. This way, no wires hanging out of the unit and I can also use a PVM with it whenever I want.</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3739-scaled.jpeg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13715" src="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3739-225x300.jpeg" alt="" width="225" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3739-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3739-768x1024.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3739-1152x1536.jpeg 1152w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3739-1536x2048.jpeg 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3739-scaled.jpeg 1920w" sizes="auto, (max-width: 225px) 100vw, 225px" /></a>  <a href="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3740-scaled.jpeg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13716" src="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3740-225x300.jpeg" alt="" width="225" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3740-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3740-768x1024.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3740-1152x1536.jpeg 1152w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3740-1536x2048.jpeg 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3740-scaled.jpeg 1920w" sizes="auto, (max-width: 225px) 100vw, 225px" /> </a><a href="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3741-scaled.jpeg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13717" src="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3741-225x300.jpeg" alt="" width="225" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3741-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3741-768x1024.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3741-1152x1536.jpeg 1152w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3741-1536x2048.jpeg 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2026/02/IMG_3741-scaled.jpeg 1920w" sizes="auto, (max-width: 225px) 100vw, 225px" /></a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Reviving a Nikon EN-EL18d with an MH-33: Frankenstein Style</title>
		<link>https://www.zdziarski.com/blog/?p=13679</link>
		
		<dc:creator><![CDATA[Jonathan Zdziarski]]></dc:creator>
		<pubDate>Mon, 08 Dec 2025 14:35:15 +0000</pubDate>
				<category><![CDATA[Photography]]></category>
		<guid isPermaLink="false">https://www.zdziarski.com/blog/?p=13679</guid>

					<description><![CDATA[<p>Warning: Attempt this at your own peril.</p>
<p>While busy with class this past term, I accidentally let the battery in my Nikon Z9 run down. Usually, batteries are only mostly dead, and will charge back up. This one was beyond mostly dead. Nikon&#8217;s charger failed to recognize it at all, and it will blink furiously to let you know that you should immediately go to their website and purchase a new battery for $249. I had already done this a few months prior, and pulled out a spare (still in the box) only to find it, too, was entirely DOA &#8211; refusing to charge.</p>
<p>Most, if not all, Li-Ion chargers look for a small charge coming from the battery before it will recognize them. This helps prevent fires and electrocution from people doing dumb things, like putting the wrong battery on the charger, or sticking their tongue on the contacts Christmas Story style. The Nikon MH-33, however, seems to be designed for one purpose: to sell more batteries. My wife&#8217;s Canon, on the other hand, happily charges batteries that have been sitting dead in her drawer for years without any issues. Nikon seems to deliberately be built with poor tolerances for the range of voltages that it will recognize on, with a minimum somewhere around 7.5v. If your battery is anything resembling &#8220;pretty dead&#8221;, you&#8217;re stuck buying new overpriced batteries. Or are you? If you can get the charger to recognize the battery, it can often be revived.</p>
<p><span id="more-13679"></span></p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/12/IMG_3475.jpeg"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-13680" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/12/IMG_3475-294x300.jpeg" alt="" width="294" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/12/IMG_3475-294x300.jpeg 294w, https://www.zdziarski.com/blog/wp-content/uploads/2025/12/IMG_3475-1004x1024.jpeg 1004w, https://www.zdziarski.com/blog/wp-content/uploads/2025/12/IMG_3475-768x783.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/12/IMG_3475.jpeg 1177w" sizes="auto, (max-width: 294px) 100vw, 294px" /></a></p>
<p>Jump-starting a battery is nothing new, but the EN-EL18d has very tiny recessed contacts, making it difficult to connect wires to it. I cracked open the back of an MH-33 and found the two pairs of contacts corresponding to positive and negative terminals on the battery. There are two for each, but a continuity tester shows that they&#8217;re connected together inside the unit. I soldered a couple of wires to the contacts, and connected the other end to a variable-voltage power supply set at 12.6v (the output rating of the charger).</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/12/IMG_3476.jpeg"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-13681" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/12/IMG_3476-300x183.jpeg" alt="" width="300" height="183" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/12/IMG_3476-300x183.jpeg 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/12/IMG_3476-1024x625.jpeg 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/12/IMG_3476-768x468.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/12/IMG_3476.jpeg 1200w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>I connected the battery and turned it on. This force fed the battery a charge, bypassing the internal cutoff. After an hour, the battery&#8217;s voltages started testing above 7.5v at which point I was able to pop it in the camera (with USB Power Delivery turned on) and it began to charge again! This approach worked for both of my &#8220;dead&#8221; batteries. They seem to be working just fine since this issue &#8211; because the problem wasn&#8217;t the battery components breaking down, but merely that the charge was too low for it to be recognized by the charger. Simple life hack saves hundreds of dollars.</p>
<a class="read-more" href="https://www.zdziarski.com/blog/?p=13679" title="Read More"> <span class="button ">Read More</span></a>]]></description>
										<content:encoded><![CDATA[<p>Warning: Attempt this at your own peril.</p>
<p>While busy with class this past term, I accidentally let the battery in my Nikon Z9 run down. Usually, batteries are only mostly dead, and will charge back up. This one was beyond mostly dead. Nikon&#8217;s charger failed to recognize it at all, and it will blink furiously to let you know that you should immediately go to their website and purchase a new battery for $249. I had already done this a few months prior, and pulled out a spare (still in the box) only to find it, too, was entirely DOA &#8211; refusing to charge.</p>
<p>Most, if not all, Li-Ion chargers look for a small charge coming from the battery before it will recognize them. This helps prevent fires and electrocution from people doing dumb things, like putting the wrong battery on the charger, or sticking their tongue on the contacts Christmas Story style. The Nikon MH-33, however, seems to be designed for one purpose: to sell more batteries. My wife&#8217;s Canon, on the other hand, happily charges batteries that have been sitting dead in her drawer for years without any issues. Nikon seems to deliberately be built with poor tolerances for the range of voltages that it will recognize on, with a minimum somewhere around 7.5v. If your battery is anything resembling &#8220;pretty dead&#8221;, you&#8217;re stuck buying new overpriced batteries. Or are you? If you can get the charger to recognize the battery, it can often be revived.</p>
<p><span id="more-13679"></span></p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/12/IMG_3475.jpeg"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-13680" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/12/IMG_3475-294x300.jpeg" alt="" width="294" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/12/IMG_3475-294x300.jpeg 294w, https://www.zdziarski.com/blog/wp-content/uploads/2025/12/IMG_3475-1004x1024.jpeg 1004w, https://www.zdziarski.com/blog/wp-content/uploads/2025/12/IMG_3475-768x783.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/12/IMG_3475.jpeg 1177w" sizes="auto, (max-width: 294px) 100vw, 294px" /></a></p>
<p>Jump-starting a battery is nothing new, but the EN-EL18d has very tiny recessed contacts, making it difficult to connect wires to it. I cracked open the back of an MH-33 and found the two pairs of contacts corresponding to positive and negative terminals on the battery. There are two for each, but a continuity tester shows that they&#8217;re connected together inside the unit. I soldered a couple of wires to the contacts, and connected the other end to a variable-voltage power supply set at 12.6v (the output rating of the charger).</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/12/IMG_3476.jpeg"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-13681" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/12/IMG_3476-300x183.jpeg" alt="" width="300" height="183" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/12/IMG_3476-300x183.jpeg 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/12/IMG_3476-1024x625.jpeg 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/12/IMG_3476-768x468.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/12/IMG_3476.jpeg 1200w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>I connected the battery and turned it on. This force fed the battery a charge, bypassing the internal cutoff. After an hour, the battery&#8217;s voltages started testing above 7.5v at which point I was able to pop it in the camera (with USB Power Delivery turned on) and it began to charge again! This approach worked for both of my &#8220;dead&#8221; batteries. They seem to be working just fine since this issue &#8211; because the problem wasn&#8217;t the battery components breaking down, but merely that the charge was too low for it to be recognized by the charger. Simple life hack saves hundreds of dollars.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>XGecu T76 on Windows 11 ARM</title>
		<link>https://www.zdziarski.com/blog/?p=13666</link>
		
		<dc:creator><![CDATA[Jonathan Zdziarski]]></dc:creator>
		<pubDate>Thu, 27 Nov 2025 16:52:23 +0000</pubDate>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[General]]></category>
		<guid isPermaLink="false">https://www.zdziarski.com/blog/?p=13666</guid>

					<description><![CDATA[<p>Running the XGecu T76 chip programmer with x86 emulation has been miserably slow, even on my M4 MacBook Pro, and so I finally took some time to figure out how to get it working on Windows 11 ARM in Parallels on Apple Silicon. There wasn&#8217;t any information online about this, except for one person who had some luck with Zadig, but had no idea what they actually did. I&#8217;ve documented the entire process below, which works with or without Zadig; the key is not only changing the driver to a native WinUSB driver, but also correcting some crucial GUIDs in the registry to ensure driver matching works in the software. For this, I&#8217;ve created a simple registry file that can be easily imported.</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/11/Screenshot-2025-11-27-at-2.37.49-PM-scaled.png"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-13673" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/11/Screenshot-2025-11-27-at-2.37.49-PM-300x205.png" alt="" width="300" height="205" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/11/Screenshot-2025-11-27-at-2.37.49-PM-300x205.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/11/Screenshot-2025-11-27-at-2.37.49-PM-1024x699.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/11/Screenshot-2025-11-27-at-2.37.49-PM-768x524.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/11/Screenshot-2025-11-27-at-2.37.49-PM-1536x1048.png 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/11/Screenshot-2025-11-27-at-2.37.49-PM-2048x1398.png 2048w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p><span id="more-13666"></span></p>
<p>My Configuration: Xgpro_T76 v13.03, Windows 11 Pro for ARM, Parallels Desktop 26, macOS Tahoe, Apple M4 Max.</p>
<ol>
<li>Install the <a class="underline" href="https://www.xgecu.com/EN/download.html">XGecu T76 software</a>. Go through the driver installation flow, which will install a <em>nonworking</em> driver that is <em>not</em> compatible with ARM.</li>
<li>Open Device Manager. You should see the &#8220;XGecu T76&#8221; listed in a trouble state. Right click, select &#8220;Update Driver&#8221;.  Choose &#8220;Browse my computer for drivers&#8221;. Near the bottom, click &#8220;Let me pick from a list of available drivers on my computer&#8221;.  Scroll down to &#8220;Universal Serial Bus devices&#8221; and click Next. Select &#8220;WinUsb Device&#8221; from the pane on the left, and select &#8220;WinUsb Device&#8221; for the model on the right. Click Next. Confirm the installation.</li>
<li>After updating the driver, it will now show up as a functioning USB device. You can close Device Manager.</li>
<li>Install <a class="underline" href="https://www.zdziarski.com/blog/wp-content/uploads/2025/11/T76.zip">this registry file</a> by importing it into RegEdit (extract, then double-click). This updates important driver properties, including a crucial DeviceInterfaceGUIDs used for driver matching.</li>
<li>Reboot your VM. Ensure the XGecu is connected both physically and also attached in the USB menu in Parallels. When you start the programmer software, your device will be recognized.</li>
</ol>
<p>That&#8217;s it. There&#8217;s no need to disable driver signing or download Zadig. WinUSB works natively, and is signed by Microsoft. The only tricky part was getting the driver matching correct. This information can be found in the .inf file and applied to other XGecu programmers.</p>
<p>If the registry file doesn&#8217;t work, <strong>the important thing is to take note of the DeviceInterfaceGUIDs</strong> in the driver registry entry&#8217;s DeviceProperties, and make sure to copy that registry key/value pair back after updating the driver to WinUSB. In the case of 13.11, I had to do it both before <em>and </em>after reflashing the firmware, as the reflash caused the driver identifier to change, and created a new device in the registry. Same with 13.17. I also sometimes need to power cycle and/or restart the app after re-flash. So the order of actions for an update seem to be:</p>
<ol>
<li>Install software</li>
<li>Convert driver to WinUSB</li>
<li>Copy over DeviceInterfaceGUIDs from old instance of driver in registry</li>
<li>If prompted to re-flash, proceed with re-flash. After re-flash, it will fail to reconnect.</li>
<li>Repeat steps 2 and 3</li>
<li>Power cycle unit and restart application</li>
<li>Should now connect</li>
</ol>
<p>What a time to be alive.</p>
<a class="read-more" href="https://www.zdziarski.com/blog/?p=13666" title="Read More"> <span class="button ">Read More</span></a>]]></description>
										<content:encoded><![CDATA[<p>Running the XGecu T76 chip programmer with x86 emulation has been miserably slow, even on my M4 MacBook Pro, and so I finally took some time to figure out how to get it working on Windows 11 ARM in Parallels on Apple Silicon. There wasn&#8217;t any information online about this, except for one person who had some luck with Zadig, but had no idea what they actually did. I&#8217;ve documented the entire process below, which works with or without Zadig; the key is not only changing the driver to a native WinUSB driver, but also correcting some crucial GUIDs in the registry to ensure driver matching works in the software. For this, I&#8217;ve created a simple registry file that can be easily imported.</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/11/Screenshot-2025-11-27-at-2.37.49-PM-scaled.png"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-13673" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/11/Screenshot-2025-11-27-at-2.37.49-PM-300x205.png" alt="" width="300" height="205" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/11/Screenshot-2025-11-27-at-2.37.49-PM-300x205.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/11/Screenshot-2025-11-27-at-2.37.49-PM-1024x699.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/11/Screenshot-2025-11-27-at-2.37.49-PM-768x524.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/11/Screenshot-2025-11-27-at-2.37.49-PM-1536x1048.png 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/11/Screenshot-2025-11-27-at-2.37.49-PM-2048x1398.png 2048w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p><span id="more-13666"></span></p>
<p>My Configuration: Xgpro_T76 v13.03, Windows 11 Pro for ARM, Parallels Desktop 26, macOS Tahoe, Apple M4 Max.</p>
<ol>
<li>Install the <a class="underline" href="https://www.xgecu.com/EN/download.html">XGecu T76 software</a>. Go through the driver installation flow, which will install a <em>nonworking</em> driver that is <em>not</em> compatible with ARM.</li>
<li>Open Device Manager. You should see the &#8220;XGecu T76&#8221; listed in a trouble state. Right click, select &#8220;Update Driver&#8221;.  Choose &#8220;Browse my computer for drivers&#8221;. Near the bottom, click &#8220;Let me pick from a list of available drivers on my computer&#8221;.  Scroll down to &#8220;Universal Serial Bus devices&#8221; and click Next. Select &#8220;WinUsb Device&#8221; from the pane on the left, and select &#8220;WinUsb Device&#8221; for the model on the right. Click Next. Confirm the installation.</li>
<li>After updating the driver, it will now show up as a functioning USB device. You can close Device Manager.</li>
<li>Install <a class="underline" href="https://www.zdziarski.com/blog/wp-content/uploads/2025/11/T76.zip">this registry file</a> by importing it into RegEdit (extract, then double-click). This updates important driver properties, including a crucial DeviceInterfaceGUIDs used for driver matching.</li>
<li>Reboot your VM. Ensure the XGecu is connected both physically and also attached in the USB menu in Parallels. When you start the programmer software, your device will be recognized.</li>
</ol>
<p>That&#8217;s it. There&#8217;s no need to disable driver signing or download Zadig. WinUSB works natively, and is signed by Microsoft. The only tricky part was getting the driver matching correct. This information can be found in the .inf file and applied to other XGecu programmers.</p>
<p>If the registry file doesn&#8217;t work, <strong>the important thing is to take note of the DeviceInterfaceGUIDs</strong> in the driver registry entry&#8217;s DeviceProperties, and make sure to copy that registry key/value pair back after updating the driver to WinUSB. In the case of 13.11, I had to do it both before <em>and </em>after reflashing the firmware, as the reflash caused the driver identifier to change, and created a new device in the registry. Same with 13.17. I also sometimes need to power cycle and/or restart the app after re-flash. So the order of actions for an update seem to be:</p>
<ol>
<li>Install software</li>
<li>Convert driver to WinUSB</li>
<li>Copy over DeviceInterfaceGUIDs from old instance of driver in registry</li>
<li>If prompted to re-flash, proceed with re-flash. After re-flash, it will fail to reconnect.</li>
<li>Repeat steps 2 and 3</li>
<li>Power cycle unit and restart application</li>
<li>Should now connect</li>
</ol>
<p>What a time to be alive.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>The AI Learning Plateau</title>
		<link>https://www.zdziarski.com/blog/?p=13538</link>
		
		<dc:creator><![CDATA[Jonathan Zdziarski]]></dc:creator>
		<pubDate>Sun, 02 Nov 2025 15:00:04 +0000</pubDate>
				<category><![CDATA[Essays]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[Opinion]]></category>
		<guid isPermaLink="false">https://www.zdziarski.com/blog/?p=13538</guid>

					<description><![CDATA[<p>There&#8217;s an old 1985 sci-fi series I remember watching as a kid. In <a class="underline" href="https://www.youtube.com/watch?v=RIOIJEOZ1LE">Otherworld S1E1</a>, the Sterling family, on vacation in Egypt, winds up in a parallel dimension where they encounter a civilization of self-evolved AI androids. Parts of the episode were amazingly spot on to how today&#8217;s LLMs are playing out. In the episode, the teenage son (Trace) falls in love with an AI, and the android itself is entirely convinced she not only has a soul, but is genuinely in love with him too. While this android city looks relatively human-like, and performs similar tasks (such as eating, working, etc), the show highlights some peculiarities where they&#8217;ve attempted to copy human behavior, but failed in eerie ways. One of my favorite scenes is where the Sterling family matriarch (June) visits the grocery store in this strange civilization, and finds only cans labeled, &#8220;Meat&#8221; and &#8220;Good Food&#8221;. The AI world seemingly lacked a crucial connection with humanity to develop creativity beyond a superficial level. The insults that robots cast at each other were humorously corny, such as &#8220;get your unit checked!&#8221;; when they asked if you were born yesterday, they literally meant it because that&#8217;s all they understood.</p>
<p><span id="more-13538"></span></p>
<p><a href="https://www.youtube.com/watch?v=RIOIJEOZ1LE"><img loading="lazy" decoding="async" class="aligncenter wp-image-13564 size-full" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/11/otherworldj.jpg" alt="" width="327" height="240" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/11/otherworldj.jpg 327w, https://www.zdziarski.com/blog/wp-content/uploads/2025/11/otherworldj-300x220.jpg 300w" sizes="auto, (max-width: 327px) 100vw, 327px" /></a></p>
<p>Modern deep learning systems have proven this episode almost prophetic in some ways, where LLMs have mimicked similar behavior. Falling in love with an LLM is a recent phenomenon where individuals develop deep attachments to chatbots; the chatbots have left them feeling understood and supported even though they&#8217;re only outputting computations based on some relevant human training data. The dark side to this, unfortunately, is that LLMs have also <a class="underline" href="https://www.bbc.com/news/articles/ce3xgwyywe4o">encouraged their human users to commit suicide</a> &#8211; sometimes successfully. Of course, both of these extremes are only possible due to the massive amount of training that LLMs have done in learning human responses. LLMs train both on books from therapists and also dark forum posts from online predators, so unlike real life where you&#8217;re unlikely to approach a child predator for therapy or advice, you have all of these personalities figuratively &#8220;in the same room&#8221; as part of a large model. You might think of an LLM then as a composite model of multiple personalities. Because we like to anthropomorphize everything, some conflate LLM responses with a sense of conscious thought. While an LLM doesn&#8217;t &#8220;understand&#8221; the material it&#8217;s trained on, it does statistically predict the next word based on a composite of prior text, deep within some high-dimensional mathematical matrix built by its training data. Think about it like drawing a line on a graph to separate a bunch of data points: LLMs work by pointing to a spot on the graph and computing what&#8217;s there. Nothing magical, just good math. After all, <a class="underline" href="https://www.zdziarski.com/blog/?p=12001">AI is just someone else&#8217;s intelligence</a>, and just as we are consumers of AI, AI is a consumer of human behavior. It&#8217;s going to emulate whoever dominated its training data within some context.</p>
<p>As the fictional robot city in Otherworld likewise portrayed, AI&#8217;s output is a result of its training input. Even this fictional self-evolving AI civilization simply mimicked and iterated on prior knowledge based on what it observed in human behavior. Training had obviously reached some plateau, however and as a result we ended up with grocery stores stocked with cans of &#8220;meat&#8221;. Much like this fictional community, the AI of today is quickly approaching a learning plateau. AI has consumed nearly every human work on the planet (to the degree of countless lawsuits). It&#8217;s become the largest intellectual property theft in history and now demands enough compute power to compete for the power grid&#8230; yet today&#8217;s AI still hasn&#8217;t developed to where we can say its creativity or intelligence comes close to matching that of a human (though OpenAI&#8217;s parlor tricks seem to fool the naive). Most of our interactions with AI today are quite banal in fact, and often leave the user frustrated. (I&#8217;ll post a blog sometime about that time ChatGPT tried to kill me by insisting I re-engineer a circuit differently, which led to an explosion in my office. OpenAI&#8217;s response was a can of meat as well.)</p>
<p>The AI industry has invested billions in refining training algorithms so that bots no longer tell you to glue cheese to pizza, and they&#8217;ve gotten progressively better at filtering absurd outputs (&#8220;hallucinations&#8221;) much better than it used to. But those absurd hallucinations are still there, even when we aren&#8217;t allowed to see them. Even from what we can see, there&#8217;s still an eerie degree of quasi-human-esque behavior coming out of AI systems to leave one feeling unsettled. Imagine what hallucinations we can&#8217;t see.</p>
<p>There has been much speculation about AI overtaking a large percentage of employment in the next 5-10 years. This could very well happen, as corporate greed continues to be the primary driver of business over and above making the world better. A grave miscalculation, however, is failing to foresee the learning plateau that we&#8217;re creating as a result of replacing these human jobs. If human employment deteriorates to the degree where creative jobs are replaced with or front-ended by AI, the end result is a massive drop in the amount of useful new training data made available to that same AI. After some time, you end up with deep learning systems that merely churn on training from their own hallucinations from past training data, or data from other AIs (a process called distillation). Just like the fictional android civilization, the ability to be creative will severely deteriorate as this happens. Should some large percentage of corporations replace humans with AI, it is mathematically inevitable that they will end up with the same &#8220;can of meat&#8221; for an output that everyone else is getting, which will eventually become a hallucination of a hallucination of a hallucination of an input. The result is this: innovation screeches to a halt. AI thrives on human creativity, and when it&#8217;s consumed all that we have to offer, it starves. In this respect, deep learning systems are the snake eating its own tail. If the singularity does happen, it will be followed by a severe drop in learning, at which point the AI&#8217;s performance will plateau, and eventually also drop as it evolves itself without further human input.</p>
<p>When we cross this learning plateau and resources are exhausted on both sides, one of two things are likely to happen: either an AI winter will occur in the form of a dot-bomb era financial collapse, forcing the corporate world to abandon the canned meat they&#8217;ve paid so much to create (as it&#8217;s no longer profitable), OR &#8211; and hopefully I&#8217;m wrong here &#8211; AI will forever dilute our <em>human</em> civilization such that we&#8217;ll learn to thrive on the cultural equivalent of cans of meat, instead of true human innovation. This may happen because we are simply lazy, or because truth has become indistinguishable from machine hallucination &#8211; as such, we ourselves are likely to become the products of AI generated textbooks, mis-information, and advertising.</p>
<p>I suspect there will be a bit of both. The typical consumer who is told what to wear and what to buy today will likely continue to fund companies spitting out mediocre knockoffs of everyone else&#8217; products (e.g. the &#8220;Amazon Basics&#8221; that AI will become) and will believe pretty much anything an LLM tells them is true. The rest of the population, who aren&#8217;t satisfied with this farce, will reject AI altogether. If large enough, this will signal a new cycle of human ingenuity in corporate America: ultimately motivating many to abandon AI systems in favor of re-hiring a workforce of true creative humans. These businesses will have a significant advantage over the companies pushing cans of meat, and the job market will of course be ripe and full of highly intelligent people by then (so best to hang onto the good people you have, as they&#8217;ll be even more valuable later on). Those who think differently &#8211; and not like a can of meat &#8211; will always be one of the most valuable assets in business. If AI hasn&#8217;t been abandoned entirely at this point (which it probably won&#8217;t), we&#8217;ll end up with an arms race for creativity that only much needed copyright reform will be able to address. We&#8217;re suffering from this problem today in small tremors. Companies that hold onto trade secrets better will be rewarded in this future; an arms race for unique, human created intellectual property will be necessary for financial survival. On the positive side, perhaps this will bring about more demand for all those degrees that mean little in today&#8217;s job market.</p>
<p>Is AI coming for our jobs? Probably. But unemployment doesn&#8217;t concern me as much as the worst-case scenario. Allowing AI to forever alter our (human) culture is a far bigger risk. AI will likely winter, though possibly only in cycles. The lasting imprint it makes on society and culture is largely open. When AI does eventually reach some singularity, we risk losing our sense of what makes us human in the first place &#8211; culture, diversity, and intrinsic value. The result may seem as weird and creepy as the Otherworld.</p>
<p>&#160;</p>
<p style="text-align: right;"><em>You might also enjoy</em> <a href="https://www.zdziarski.com/blog/?p=12797">Can AI Compute Empathy?</a></p>
<a class="read-more" href="https://www.zdziarski.com/blog/?p=13538" title="Read More"> <span class="button ">Read More</span></a>]]></description>
										<content:encoded><![CDATA[<p>There&#8217;s an old 1985 sci-fi series I remember watching as a kid. In <a class="underline" href="https://www.youtube.com/watch?v=RIOIJEOZ1LE">Otherworld S1E1</a>, the Sterling family, on vacation in Egypt, winds up in a parallel dimension where they encounter a civilization of self-evolved AI androids. Parts of the episode were amazingly spot on to how today&#8217;s LLMs are playing out. In the episode, the teenage son (Trace) falls in love with an AI, and the android itself is entirely convinced she not only has a soul, but is genuinely in love with him too. While this android city looks relatively human-like, and performs similar tasks (such as eating, working, etc), the show highlights some peculiarities where they&#8217;ve attempted to copy human behavior, but failed in eerie ways. One of my favorite scenes is where the Sterling family matriarch (June) visits the grocery store in this strange civilization, and finds only cans labeled, &#8220;Meat&#8221; and &#8220;Good Food&#8221;. The AI world seemingly lacked a crucial connection with humanity to develop creativity beyond a superficial level. The insults that robots cast at each other were humorously corny, such as &#8220;get your unit checked!&#8221;; when they asked if you were born yesterday, they literally meant it because that&#8217;s all they understood.</p>
<p><span id="more-13538"></span></p>
<p><a href="https://www.youtube.com/watch?v=RIOIJEOZ1LE"><img loading="lazy" decoding="async" class="aligncenter wp-image-13564 size-full" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/11/otherworldj.jpg" alt="" width="327" height="240" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/11/otherworldj.jpg 327w, https://www.zdziarski.com/blog/wp-content/uploads/2025/11/otherworldj-300x220.jpg 300w" sizes="auto, (max-width: 327px) 100vw, 327px" /></a></p>
<p>Modern deep learning systems have proven this episode almost prophetic in some ways, where LLMs have mimicked similar behavior. Falling in love with an LLM is a recent phenomenon where individuals develop deep attachments to chatbots; the chatbots have left them feeling understood and supported even though they&#8217;re only outputting computations based on some relevant human training data. The dark side to this, unfortunately, is that LLMs have also <a class="underline" href="https://www.bbc.com/news/articles/ce3xgwyywe4o">encouraged their human users to commit suicide</a> &#8211; sometimes successfully. Of course, both of these extremes are only possible due to the massive amount of training that LLMs have done in learning human responses. LLMs train both on books from therapists and also dark forum posts from online predators, so unlike real life where you&#8217;re unlikely to approach a child predator for therapy or advice, you have all of these personalities figuratively &#8220;in the same room&#8221; as part of a large model. You might think of an LLM then as a composite model of multiple personalities. Because we like to anthropomorphize everything, some conflate LLM responses with a sense of conscious thought. While an LLM doesn&#8217;t &#8220;understand&#8221; the material it&#8217;s trained on, it does statistically predict the next word based on a composite of prior text, deep within some high-dimensional mathematical matrix built by its training data. Think about it like drawing a line on a graph to separate a bunch of data points: LLMs work by pointing to a spot on the graph and computing what&#8217;s there. Nothing magical, just good math. After all, <a class="underline" href="https://www.zdziarski.com/blog/?p=12001">AI is just someone else&#8217;s intelligence</a>, and just as we are consumers of AI, AI is a consumer of human behavior. It&#8217;s going to emulate whoever dominated its training data within some context.</p>
<p>As the fictional robot city in Otherworld likewise portrayed, AI&#8217;s output is a result of its training input. Even this fictional self-evolving AI civilization simply mimicked and iterated on prior knowledge based on what it observed in human behavior. Training had obviously reached some plateau, however and as a result we ended up with grocery stores stocked with cans of &#8220;meat&#8221;. Much like this fictional community, the AI of today is quickly approaching a learning plateau. AI has consumed nearly every human work on the planet (to the degree of countless lawsuits). It&#8217;s become the largest intellectual property theft in history and now demands enough compute power to compete for the power grid&#8230; yet today&#8217;s AI still hasn&#8217;t developed to where we can say its creativity or intelligence comes close to matching that of a human (though OpenAI&#8217;s parlor tricks seem to fool the naive). Most of our interactions with AI today are quite banal in fact, and often leave the user frustrated. (I&#8217;ll post a blog sometime about that time ChatGPT tried to kill me by insisting I re-engineer a circuit differently, which led to an explosion in my office. OpenAI&#8217;s response was a can of meat as well.)</p>
<p>The AI industry has invested billions in refining training algorithms so that bots no longer tell you to glue cheese to pizza, and they&#8217;ve gotten progressively better at filtering absurd outputs (&#8220;hallucinations&#8221;) much better than it used to. But those absurd hallucinations are still there, even when we aren&#8217;t allowed to see them. Even from what we can see, there&#8217;s still an eerie degree of quasi-human-esque behavior coming out of AI systems to leave one feeling unsettled. Imagine what hallucinations we can&#8217;t see.</p>
<p>There has been much speculation about AI overtaking a large percentage of employment in the next 5-10 years. This could very well happen, as corporate greed continues to be the primary driver of business over and above making the world better. A grave miscalculation, however, is failing to foresee the learning plateau that we&#8217;re creating as a result of replacing these human jobs. If human employment deteriorates to the degree where creative jobs are replaced with or front-ended by AI, the end result is a massive drop in the amount of useful new training data made available to that same AI. After some time, you end up with deep learning systems that merely churn on training from their own hallucinations from past training data, or data from other AIs (a process called distillation). Just like the fictional android civilization, the ability to be creative will severely deteriorate as this happens. Should some large percentage of corporations replace humans with AI, it is mathematically inevitable that they will end up with the same &#8220;can of meat&#8221; for an output that everyone else is getting, which will eventually become a hallucination of a hallucination of a hallucination of an input. The result is this: innovation screeches to a halt. AI thrives on human creativity, and when it&#8217;s consumed all that we have to offer, it starves. In this respect, deep learning systems are the snake eating its own tail. If the singularity does happen, it will be followed by a severe drop in learning, at which point the AI&#8217;s performance will plateau, and eventually also drop as it evolves itself without further human input.</p>
<p>When we cross this learning plateau and resources are exhausted on both sides, one of two things are likely to happen: either an AI winter will occur in the form of a dot-bomb era financial collapse, forcing the corporate world to abandon the canned meat they&#8217;ve paid so much to create (as it&#8217;s no longer profitable), OR &#8211; and hopefully I&#8217;m wrong here &#8211; AI will forever dilute our <em>human</em> civilization such that we&#8217;ll learn to thrive on the cultural equivalent of cans of meat, instead of true human innovation. This may happen because we are simply lazy, or because truth has become indistinguishable from machine hallucination &#8211; as such, we ourselves are likely to become the products of AI generated textbooks, mis-information, and advertising.</p>
<p>I suspect there will be a bit of both. The typical consumer who is told what to wear and what to buy today will likely continue to fund companies spitting out mediocre knockoffs of everyone else&#8217; products (e.g. the &#8220;Amazon Basics&#8221; that AI will become) and will believe pretty much anything an LLM tells them is true. The rest of the population, who aren&#8217;t satisfied with this farce, will reject AI altogether. If large enough, this will signal a new cycle of human ingenuity in corporate America: ultimately motivating many to abandon AI systems in favor of re-hiring a workforce of true creative humans. These businesses will have a significant advantage over the companies pushing cans of meat, and the job market will of course be ripe and full of highly intelligent people by then (so best to hang onto the good people you have, as they&#8217;ll be even more valuable later on). Those who think differently &#8211; and not like a can of meat &#8211; will always be one of the most valuable assets in business. If AI hasn&#8217;t been abandoned entirely at this point (which it probably won&#8217;t), we&#8217;ll end up with an arms race for creativity that only much needed copyright reform will be able to address. We&#8217;re suffering from this problem today in small tremors. Companies that hold onto trade secrets better will be rewarded in this future; an arms race for unique, human created intellectual property will be necessary for financial survival. On the positive side, perhaps this will bring about more demand for all those degrees that mean little in today&#8217;s job market.</p>
<p>Is AI coming for our jobs? Probably. But unemployment doesn&#8217;t concern me as much as the worst-case scenario. Allowing AI to forever alter our (human) culture is a far bigger risk. AI will likely winter, though possibly only in cycles. The lasting imprint it makes on society and culture is largely open. When AI does eventually reach some singularity, we risk losing our sense of what makes us human in the first place &#8211; culture, diversity, and intrinsic value. The result may seem as weird and creepy as the Otherworld.</p>
<p>&nbsp;</p>
<p style="text-align: right;"><em>You might also enjoy</em> <a href="https://www.zdziarski.com/blog/?p=12797">Can AI Compute Empathy?</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>A Crash Course in Arcade Hardware Hacking</title>
		<link>https://www.zdziarski.com/blog/?p=13585</link>
		
		<dc:creator><![CDATA[Jonathan Zdziarski]]></dc:creator>
		<pubDate>Sat, 01 Nov 2025 15:19:45 +0000</pubDate>
				<category><![CDATA[Gaming]]></category>
		<guid isPermaLink="false">https://www.zdziarski.com/blog/?p=13585</guid>

					<description><![CDATA[<p>With several different blog posts scattered about, I thought it best to put a link to all of the arcade hardware hacking material in one place, so here it is.</p>
<p>&#160;</p>
<ul>
<li><a class="underline" href="https://www.zdziarski.com/blog/?p=12821">Arcade Hardware Hacking: Part I</a></li>
<li><a class="underline" href="https://www.zdziarski.com/blog/?p=13229">Arcade Hardware Hacking: Part II</a></li>
<li><a class="underline" href="https://www.zdziarski.com/blog/?p=13373">Arcade Hardware Hacking: Part III</a></li>
<li><a class="underline" href="https://www.zdziarski.com/blog/?p=13445">Arcade Board CAD Files</a></li>
</ul>
<p><span id="more-13585"></span></p>
<a class="read-more" href="https://www.zdziarski.com/blog/?p=13585" title="Read More"> <span class="button ">Read More</span></a>]]></description>
										<content:encoded><![CDATA[<p>With several different blog posts scattered about, I thought it best to put a link to all of the arcade hardware hacking material in one place, so here it is.</p>
<p>&nbsp;</p>
<ul>
<li><a class="underline" href="https://www.zdziarski.com/blog/?p=12821">Arcade Hardware Hacking: Part I</a></li>
<li><a class="underline" href="https://www.zdziarski.com/blog/?p=13229">Arcade Hardware Hacking: Part II</a></li>
<li><a class="underline" href="https://www.zdziarski.com/blog/?p=13373">Arcade Hardware Hacking: Part III</a></li>
<li><a class="underline" href="https://www.zdziarski.com/blog/?p=13445">Arcade Board CAD Files</a></li>
</ul>
<p><span id="more-13585"></span></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Arcade Board CAD Files Now Available</title>
		<link>https://www.zdziarski.com/blog/?p=13445</link>
		
		<dc:creator><![CDATA[Jonathan Zdziarski]]></dc:creator>
		<pubDate>Fri, 17 Oct 2025 19:22:17 +0000</pubDate>
				<category><![CDATA[Gaming]]></category>
		<guid isPermaLink="false">https://www.zdziarski.com/blog/?p=13445</guid>

					<description><![CDATA[<p>Now that I&#8217;ve cleared the appropriate IP hurdles with my employer, I&#8217;m able to make the CAD files available for the arcade boards I&#8217;ve blogged about recently. Included in this repo are adapters for:</p>
<ul>
<li>Atari Multi-System JAMMA Edge</li>
<li>TRON / Discs of TRON</li>
<li>RoadBlasters</li>
<li>Spy Hunter</li>
<li>Universal JAMMA Edge</li>
<li>Williams Multi-System JAMMA Edge</li>
<li>New: Arduino-Compatible Microcontroller Edges (Atmel 328)</li>
</ul>
<p>I haven&#8217;t blogged about the Williams interface, however it is essentially a universal edge with a signal combiner, op-amp, and -12V boost inverter to support Williams games. I&#8217;ve Joust and Defender running on it at home quite happily.</p>
<p>All of these CAD files are for educational use only.</p>
<p>Repository URL: <a class="underline" href="https://github.com/jzdziarski/jamma/">https://github.com/jzdziarski/jamma/</a></p>
<p><span id="more-13445"></span></p>
<a class="read-more" href="https://www.zdziarski.com/blog/?p=13445" title="Read More"> <span class="button ">Read More</span></a>]]></description>
										<content:encoded><![CDATA[<p>Now that I&#8217;ve cleared the appropriate IP hurdles with my employer, I&#8217;m able to make the CAD files available for the arcade boards I&#8217;ve blogged about recently. Included in this repo are adapters for:</p>
<ul>
<li>Atari Multi-System JAMMA Edge</li>
<li>TRON / Discs of TRON</li>
<li>RoadBlasters</li>
<li>Spy Hunter</li>
<li>Universal JAMMA Edge</li>
<li>Williams Multi-System JAMMA Edge</li>
<li>New: Arduino-Compatible Microcontroller Edges (Atmel 328)</li>
</ul>
<p>I haven&#8217;t blogged about the Williams interface, however it is essentially a universal edge with a signal combiner, op-amp, and -12V boost inverter to support Williams games. I&#8217;ve Joust and Defender running on it at home quite happily.</p>
<p>All of these CAD files are for educational use only.</p>
<p>Repository URL: <a class="underline" href="https://github.com/jzdziarski/jamma/">https://github.com/jzdziarski/jamma/</a></p>
<p><span id="more-13445"></span></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Arcade Hardware Hacking: Part III</title>
		<link>https://www.zdziarski.com/blog/?p=13373</link>
		
		<dc:creator><![CDATA[Jonathan Zdziarski]]></dc:creator>
		<pubDate>Wed, 08 Oct 2025 02:00:35 +0000</pubDate>
				<category><![CDATA[Gaming]]></category>
		<guid isPermaLink="false">https://www.zdziarski.com/blog/?p=13373</guid>

					<description><![CDATA[<p><strong>Spy Hunter (Steering Yoke, Gear Shift Latch, and Lamp Conversion)</strong></p>
<p style="text-align: right;"><a class="underline" href="https://www.zdziarski.com/blog/?p=12821">Arcade Hardware Hacking: Part I</a></p>
<p style="text-align: right;"><a class="underline" href="https://www.zdziarski.com/blog/?p=13229">Arcade Hardware Hacking: Part II</a></p>
<p>Spy Hunter is a well loved classic, and by far the most challenging and ambitious title I have worked on to date. While the purists will insist that the only way to enjoy the game is on the original arcade hardware, many (many!) adaptations to various consoles have been met with incredible success. My goal was to adapt the original arcade version of this to work on my coffee table with a JAMMA super-gun, or in a JAMMA multi-cabinet that wouldn&#8217;t necessarily have a dedicated steering yoke or pedals. To accomplish this, Spy Hunter comes with many new challenges over and above other games I&#8217;ve adapted:</p>
<ol>
<li>The MCR board uses a daughter board to obtain readings from potentiometers for both the steering wheel and accelerator. Unlike TRON&#8217;s spinner, these controls are entirely analog and are read into absolute values using an ADC (analog-to-digital converter). There is one data &#8220;bus&#8221; (a shared, physical pathway) sharing inputs ultimately into the MCR board for both steering and accelerator, and the value being read is determined by a separate pin on the main board (which enables the corresponding analog input). In the digital world, both values remain in state and depending on what the main board calls for, you must provide the correct value to the pins.</li>
<li>One of the more ingenious ways to avoid piracy, Bally/Midway used a lamp panel to display the weapons available to the player at any given time, along with a flashing lamp indicating when the weapons van could be summoned. Along with the steering controls, this helps bind the software to the hardware of the cabinet. Without this lamp panel, the user has no idea when they can call the weapons van (unless they see it parked by the side of the road), what weapons they have readily available, or if they&#8217;ve expended them. A lamp driver reads the latches set by the game and illuminates the correct bulbs.</li>
<li>The board has two separate audio channels, one for effects and one for music. A daughter board named the &#8220;Cheap Squeak Deluxe&#8221; plays the Peter Gunn theme (which was supposed to instead be the James Bond theme, but Midway couldn&#8217;t obtain the licensing). Sound is mixed across two separate amplifiers in the sit down version of the game. I&#8217;ll have to merge four audio channels (L and R) into a single mono channel suitable for JAMMA.</li>
<li>An accelerator pedal must somehow be adapted to controller buttons. This is a somewhat sensitive problem, as nuanced work with the pedal is key to playing the game well.</li>
<li>The gear shift is a physical stick that shifts between high and low. This, too, will need to be adapted to modern controls. I&#8217;ll end up doing this in the form of a toggle.</li>
<li>In addition to emulating all of this, the adaptation must somehow be easy to play with a controller or joystick. I&#8217;m using a BlueRetro Bluetooth adapter with a Nintendo Pro Controller, so with use of the extension harness, I&#8217;ll have six buttons at my disposal.</li>
</ol>
<p><span id="more-13373"></span></p>
<h2>Steering and Acceleration</h2>
<p>The biggest challenge to this project by far was instrumenting the steering and acceleration. I wanted to remove the analog potentiometers since modern controls don&#8217;t use them. I&#8217;m going to be playing this with a Nintendo Pro Controller gamepad, which gives me both gamepad and (mini) joystick control. The Absolute Position board is a daughter board that normally converts analog signals into digital values for the main board to read. I have to emulate this entire board in order to send these same digital signals without using any analog pots.</p>
<p>To do this, I started with the same foundation as I used for TRON and RoadBlasters: an NE555 timer chip that clocks a counter when you push Left or Right. But this counter is entirely different than the others. This is an 8-bit counter whose dead center is around the middle of the counter (0xC8 uncalibrated). Instead of reading the counter at the beginning of each mini-game, like TRON, the game is calibrated to report specific values that correspond to steering commands. In addition to this, I needed a return-to-center function for this game so that when you take your hands off the steering controls, you return to moving straight. Lastly, I needed a way to avoid rolling the counter over. Unlike TRON, where Tron&#8217;s arm moves a full 360 degrees, rolling the counter in Spy Hunter means that you go from steering extreme left to suddenly steering extreme right (or vice versa). That would be an unmanageable driving experience. Since RoadBlasters maintains an internal counter, I&#8217;ve never needed to worry about this with past adapters.</p>
<p>There are some limitations to the 74LS491 I used in TRON that made it a poor candidate for use in Spy Hunter. Firstly, the LS491 is a 10-bit counter (not 8-bit), and so it&#8217;s instrumented around bits I&#8217;m not even using. For example, I can&#8217;t parallel load a specific value (e.g. 0xC8) directly using the parallel load function, because the pins for bits 2-7 are considered unimportant in a 10-bit counter, and that pin is shared &#8211; so I have no granularity. There&#8217;s also no easy way to know when I&#8217;ve reached the max 0xFF value used in an 8-bit counter, so that I can stop counting higher without rolling. Instead, it made more sense to build a circuit with two cascading 74LS191s. The LS191 is a 4-bit up/down counter functioning much the same as the LS491. It has a rollover pin so that I can stitch multiple counters together and cascade the overflows or underflows.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-13475" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/74ls191-1-300x249.png" alt="" width="300" height="249" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/74ls191-1-300x249.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/74ls191-1-768x636.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/74ls191-1.png 946w" sizes="auto, (max-width: 300px) 100vw, 300px" /></p>
<p style="text-align: center;"><em>74LS191 pinout</em></p>
<p>To tie two LS191s together in a cascading architecture, the RCO (ripple clock) pin from the IC used for the lower four bits is used to drive the CLK for the next IC. Both chips share the same D/U (UP/DOWN) signal. When you clock the lower four bits, that counter continues to grow until hitting its max value, which then triggers the ripple clock. The ripple clock then tells the high counter to count up or down. Regardless of whether you&#8217;re incrementing or decrementing the counter, the lower four bits are intended to roll, and the signal will then clock the upper counter to increment or decrement. e.g. 00001111 goes to 00010000 when counting up, and 00010000 goes to 00001111 on the way down, so the lower counter always rolls regardless.</p>
<p>The LS191 has some other neat features that makes it a good candidate for Spy Hunter. The MAX/MIN pin signals when the chip reaches its minimum (if you&#8217;re counting down) or its maximum (if you&#8217;re counting up). This allows you to know when you hit a boundary, at which point I&#8217;m able to raise the CTEN pin (count-enable) which will stop counting. So if I keep holding the controller in one direction, the counters will stop counting down at 0x00 and stop counting up at 0xFF. I did this by wiring both MAX/MIN pins into a NAND and then inverting it into CTEN. So if MAX/MIN are both raised high, the first NAND will output low. Inverted, this will disable the count-enable whenever the two chips together hit a min or max (0x00 or 0xFF). It&#8217;s quite nice that MAX/MIN is smart enough to only signal when you hit the edge of the direction you&#8217;re counting in. One small catch is that the very low end of the value loops back around from right to left, and so I need to stop counting around 0x10. The cleanest way to do this was to use the MAX/MIN pin of the upper four bits to raise the CTEN pin of the lower, effective stopping counting whenever the higher counter rolls over.</p>
<p>Lastly, the LS191&#8217;s LOAD pin allows me to parallel load any value directly into the counters. Since I know the default value for a centered steering wheel, I can hard-wire pins A, B, C, and D and then whenever neither 1P Left or 1P Right are pressed down, set the LOAD pin to a low state to immediately center the wheel. This can be done with a simple XOR. You want to parallel load the 2s complement of the center value 0x8c into the 191s.</p>
<p>I like the LS191 so much that I&#8217;m back-porting this design to the TRON board. Why? Because the 74LS491 is a rare chip, and costs around $8. A 74LS191, however, runs about $0.60 cents and is widely available. I can also upload a CSV to DigiKey and get all the parts to build an adapter in one shot, except for that pesky LS491. There&#8217;s no need to use an identical chip to the original TRON game when that chip in and of itself was more or less a hack.</p>
<p>&#160;</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-13479 size-large" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/tron_pcb_f-1024x911.png" alt="" width="1024" height="911" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/tron_pcb_f-1024x911.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/tron_pcb_f-300x267.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/tron_pcb_f-768x684.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/tron_pcb_f.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></p>
<p style="text-align: center;"><em>Prototype TRON Rev. 1 board utilizing two 74LS191&#8217;s instead of a 74LS491</em></p>
<p>The same approach to counting <em>could</em> be done for accelerator pressure; e.g. the NES version uses up and down to control speed&#8230; but instead, I decided to use hard-wired values 0x0B and 0x35 (0xFF) for min and max acceleration depending on whether a button is pressed. There&#8217;s a catch: a healthy high speed in-between (around 0x28) that&#8217;s a sweet spot, where you&#8217;re not going insanely fast, and can play the game well. So I&#8217;ve hard-wired the gas button for 0x28, and if you&#8217;re in high gear and want a &#8220;turbo&#8221;, you can also hit &#8220;up&#8221; to go stupid fast at 0x35. This gives you three different speeds: low gear, high gear, and turbo. Technically four, since you could use turbo to &#8220;crawl&#8221; in low gear. It makes for a better experience than having to fully manage an accelerator on a controller. Push a button, you accelerate&#8230; let go and you decelerate. And you have a fun button too. Depending on all three of these modes, you also cruise at a different position on the screen.</p>
<p>If, in the end, if I don&#8217;t like how it behaves (I like it so far), I could instead use up/down to accelerate and decelerate using a counter like the NES version. It&#8217;s hardly worth the extra chips as the accelerator seems to work okay in its current configuration.</p>
<p>The accelerator value is read slightly differently than the steering. Q0 and Q1 should be held high. Q2 is the LSB. I tie Q6 to my &#8220;turbo&#8221; button, and the rest are either held high, or inverted on the accelerator button (so H when pressed, L otherwise).</p>
<h2>Multiplexing</h2>
<p>Now this all sounds fine, and I&#8217;d love to be able to simply wire up a timer to this and call it done. Unfortunately, it&#8217;s not that easy. As I mentioned, there is a makeshift data bus involved here (a shared physical input line from the pots to the ADC) , and the same pins that read the steering wheel value on the main MCR board are also used to read the accelerator value. The SEL pin (J5, pin 17)&#8217;s value (high or low) determines which of these two values it&#8217;s expecting. You can watch this dance happen with an oscilloscope. This means we have to constantly switch the output whenever SEL changes. To do this, I&#8217;ve employed a multiplexer. The 74LS157 accepts four bits of input from two different sources, and connects the selected input to a single set of outputs depending on which is selected. Because we have eight bits of output, we&#8217;ll need two of these ICs sharing the same SELECT signal.</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/74ls157.png"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-13376" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/74ls157-264x300.png" alt="" width="264" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/74ls157-264x300.png 264w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/74ls157-768x873.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/74ls157.png 834w" sizes="auto, (max-width: 264px) 100vw, 264px" /></a></p>
<p style="text-align: center;"><em>74LS157 Pinout</em></p>
<p>The outputs of the two steering counters are connected to the pins for input A. Whenever input A is selected, the counter&#8217;s output pins are connected by (and read by) the main board. When input B is selected, I hard wired bits corresponding to either 0x0B or 0x28 / 0x35 (the maximum accelerator values) is what&#8217;s seen by the main board. As the SEL pin pulses, so will the SELECT pin on the multiplexers, giving the main board the correct values. So the multiplexer is constantly getting input from both inputs, but only connecting one of those outputs to the main board at a time. NOTE: I&#8217;m still playing with the correct hard-wired accelerator values and will update this after testing some prototypes.</p>
<p>By emulating the values processed on the Absolute Position board, I&#8217;m able to eliminate this analog-to-digital daughter board entirely from my setup when using the adapter.</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-7.47.30-PM.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-13515 size-large" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-7.47.30-PM-1024x589.png" alt="" width="1024" height="589" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-7.47.30-PM-1024x589.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-7.47.30-PM-300x173.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-7.47.30-PM-768x442.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-7.47.30-PM-1536x884.png 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-7.47.30-PM-2048x1179.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p style="text-align: center;"><em>Dual 4-bit counters and multiplexers form the heart of the &#8220;Absolute Position&#8221; logic</em></p>
<h3>L/H Shifter Latch</h3>
<p>In order to emulate the L/H shifter, I&#8217;ve built a toggle latch. This uses a 74LS74 latch combined with a NOT gate to set the latch&#8217;s value on reset. It&#8217;s a very simple circuit, really, to store and flip a single bit. This bit is read by a pin on the main board to put you in low or high gear. The input to set the latch is pin 2, which is tied to pin 6 of the LS74; pin 6 is the complement of the current flip flop&#8217;s value (e.g. !Q). So it just keeps flip flopping as you clock it.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13532" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-25-at-9.02.20-AM-1024x941.png" alt="" width="1024" height="941" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-25-at-9.02.20-AM-1024x941.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-25-at-9.02.20-AM-300x276.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-25-at-9.02.20-AM-768x706.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-25-at-9.02.20-AM.png 1230w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></p>
<p style="text-align: center;"><em>Simple 1-bit Gear Shift Latch</em></p>
<h3>Lamps</h3>
<p>The indicator lights are an essential part of Spy Hunter. While I do plan on making a small, remote LED strip later on, I wanted to make sure I could display the lights correctly on the adapter first. The lamp board is a separate daughter board included in the cabinet and (as I mentioned) was an ingenious way to prevent piracy by making the game slightly more hardware-dependent.</p>
<p>Lamp boards are hard to come by on their own these days, and it only stands to add a lot of extra power and complexity to a setup to have to wire one up just to play the game. So in addition to emulating the Absolute Position board, I&#8217;ve made use of the CD4099B latch to emulate the Lamp Driver board as well. This is the same IC used on the board, I&#8217;m just hijacking its outputs so that they go into LEDs rather than an amplifier for the lamps.</p>
<p>The lamp board programs the latches on a CD4099B directly, and if you follow the schematic all the way back to the main board, it becomes a simple wiring problem. Once you figure out how to map the inputs and outputs, you can map the outputs to a set of low power LEDs with resistors in front of them (instead of amplifiers and 12V bulbs). To make it easier to read, I&#8217;ll be using the same colors from the game &#8211; orange LED for the weapons van, and a combination of red and purple LEDs placed specifically for individual weapons to mirror the cabinet. With this, it should be a great game experience!</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.35.02-AM.png"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13471" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.35.02-AM-1024x656.png" alt="" width="1024" height="656" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.35.02-AM-1024x656.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.35.02-AM-300x192.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.35.02-AM-768x492.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.35.02-AM-1536x984.png 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.35.02-AM.png 1760w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p style="text-align: center;"><em>Utilizing the same CD4099 from the Lamp Driver board, and hijacking its outputs to go to LEDs instead of amplifiers</em></p>
<h3>Other Improvements</h3>
<p>I&#8217;ve learned a few things since building TRON, which I&#8217;ve incorporated into later revisions of TRON as well as into Spy Hunter. Namely, the value of pull-up resistors on input and output pins is crucial for compatibility and chip lifetime. I had originally designed TRON using TI chips, which could handle the extra current however quickly found that cheap generic chips couldn&#8217;t. Adding resistors in front of my pins limits the inbound and outbound current. I also added a 470R resistor to the composite sync, which prevented certain cheap chips from blanking out after seeing too much current. The JAMMA standard also leaves some pins hanging in an intermediate state unless you ground them out by pushing a button. Most logic ICs see the 2.5V range as high, but using a pull-up ensures that they are high until otherwise grounded.</p>
<p>Lastly, my amplifier circuit has gotten a bit better, and the way I&#8217;ve set up the two distinct audio sources, you can mix them before sending both to the preamp.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13477" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.42.56-AM-1024x918.png" alt="" width="1024" height="918" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.42.56-AM-1024x918.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.42.56-AM-300x269.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.42.56-AM-768x689.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.42.56-AM.png 1144w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></p>
<p style="text-align: center;"><em>4-Input amplifier circuit with mixer</em></p>
<h3>Controls</h3>
<p>Interfacing with the game is one tough challenge, but making the controls a good experience is quite another. To play this game, I&#8217;ve had to make use of the extension harness to interface with buttons 5 and 6 on a controller. This will allow me to map the controls in a comfortable configuration (Nintendo Pro Controller layout below). With the BlueRetro, I&#8217;m able to also assign the joystick to mimic the D-pad, and reassign buttons however I need.</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/spy_hunter_mappings.png"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13434" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/spy_hunter_mappings-1024x715.png" alt="" width="1024" height="715" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/spy_hunter_mappings-1024x715.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/spy_hunter_mappings-300x210.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/spy_hunter_mappings-768x537.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/spy_hunter_mappings.png 1440w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<h2>Prototyping</h2>
<p>I&#8217;m currently fabricating some prototypes and will be testing and tweaking these circuits over the next several weeks on a Spy Hunter stack. The only boards I expect to need are the three MCR boards and the Cheap Squeak Deluxe for music. I&#8217;m fabricating a set of these in black :)</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-7.40.02-PM.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-13517 size-large" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-7.40.02-PM-843x1024.png" alt="" width="843" height="1024" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-7.40.02-PM-843x1024.png 843w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-7.40.02-PM-247x300.png 247w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-7.40.02-PM-768x933.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-7.40.02-PM-1265x1536.png 1265w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-7.40.02-PM.png 1568w" sizes="auto, (max-width: 843px) 100vw, 843px" /></a></p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/spy_hunter_pcb_f.png"><img loading="lazy" decoding="async" class="alignnone wp-image-13481 size-medium" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/spy_hunter_pcb_f-247x300.png" alt="" width="247" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/spy_hunter_pcb_f-247x300.png 247w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/spy_hunter_pcb_f-843x1024.png 843w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/spy_hunter_pcb_f-768x933.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/spy_hunter_pcb_f.png 988w" sizes="auto, (max-width: 247px) 100vw, 247px" /></a> <a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.48.42-AM.png"><img loading="lazy" decoding="async" class="alignnone wp-image-13486 size-medium" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.48.42-AM-247x300.png" alt="" width="247" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.48.42-AM-247x300.png 247w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.48.42-AM-842x1024.png 842w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.48.42-AM-768x934.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.48.42-AM-1263x1536.png 1263w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.48.42-AM.png 1789w" sizes="auto, (max-width: 247px) 100vw, 247px" /></a></p>
<h2>Early Prototype!</h2>
<p>An early prototype (before adding the lamps and making some other improvements) just arrived. Made a few corrections for the next run, and is working quite well! I should have the next run in about a week, and can test the lamp circuits. I did find that I needed a few pull-up resistors for the L/R and the Gas button. The JAMMA standard, as I said, is to leave the inputs floating until pressed, and then ground them. Pull-ups fixed the issue where the logic would work sporadically. I&#8217;ve also removed a few pull-downs where I didn&#8217;t need them and tied 1P_RIGHT directly to the UPDN pins so that the signal would propagate without creating a race condition by being delayed through a logic gate.</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3257-scaled.jpeg"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13431" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3257-768x1024.jpeg" alt="" width="768" height="1024" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3257-768x1024.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3257-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3257-1152x1536.jpeg 1152w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3257-1536x2048.jpeg 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3257-scaled.jpeg 1920w" sizes="auto, (max-width: 768px) 100vw, 768px" /></a></p>
<h2>Second Prototype</h2>
<h2><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3282-scaled.jpeg"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13535" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3282-768x1024.jpeg" alt="" width="768" height="1024" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3282-768x1024.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3282-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3282-1152x1536.jpeg 1152w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3282-1536x2048.jpeg 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3282-scaled.jpeg 1920w" sizes="auto, (max-width: 768px) 100vw, 768px" /></a><br />
Finished Board</h2>
<h2><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3313-scaled.jpeg"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13614" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3313-768x1024.jpeg" alt="" width="768" height="1024" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3313-768x1024.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3313-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3313-1152x1536.jpeg 1152w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3313-1536x2048.jpeg 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3313-scaled.jpeg 1920w" sizes="auto, (max-width: 768px) 100vw, 768px" /></a></h2>
<h2><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3327-scaled.jpeg"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13618" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3327-768x1024.jpeg" alt="" width="768" height="1024" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3327-768x1024.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3327-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3327-1152x1536.jpeg 1152w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3327-1536x2048.jpeg 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3327-scaled.jpeg 1920w" sizes="auto, (max-width: 768px) 100vw, 768px" /></a><br />
Gameplay</h2>
<p>Due to the complexity of the circuits, it was much easier to wait for the first prototype boards than try and play with an elaborate breadboard or spaghetti job. This prototype played pretty well with some minor adjustments to bring it up to spec with the circuits I described.</p>
<p>The steering is fully adjustable and works nicely. The gear shift is much easier to work than the stick in the original game. It is very responsive. The one thing perhaps that I don&#8217;t think is how fast it decelerates when I let up on the gas button. I might experiment with loading the current value into a counter and rolling it down to zero. But for the most part, it&#8217;s playable with a little getting used to&#8230; about as playable as the NES version, and without as much getting used to. Finding the right balance seems to be the winning strategy here.</p>
<div style="width: 360px;" class="wp-video"><video class="wp-video-shortcode" id="video-13373-1" width="360" height="640" preload="metadata" controls="controls"><source type="video/mp4" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/spyhunter.mp4?_=1" /><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/spyhunter.mp4">https://www.zdziarski.com/blog/wp-content/uploads/2025/10/spyhunter.mp4</a></video></div>
<a class="read-more" href="https://www.zdziarski.com/blog/?p=13373" title="Read More"> <span class="button ">Read More</span></a>]]></description>
										<content:encoded><![CDATA[<p><strong>Spy Hunter (Steering Yoke, Gear Shift Latch, and Lamp Conversion)</strong></p>
<p style="text-align: right;"><a class="underline" href="https://www.zdziarski.com/blog/?p=12821">Arcade Hardware Hacking: Part I</a></p>
<p style="text-align: right;"><a class="underline" href="https://www.zdziarski.com/blog/?p=13229">Arcade Hardware Hacking: Part II</a></p>
<p>Spy Hunter is a well loved classic, and by far the most challenging and ambitious title I have worked on to date. While the purists will insist that the only way to enjoy the game is on the original arcade hardware, many (many!) adaptations to various consoles have been met with incredible success. My goal was to adapt the original arcade version of this to work on my coffee table with a JAMMA super-gun, or in a JAMMA multi-cabinet that wouldn&#8217;t necessarily have a dedicated steering yoke or pedals. To accomplish this, Spy Hunter comes with many new challenges over and above other games I&#8217;ve adapted:</p>
<ol>
<li>The MCR board uses a daughter board to obtain readings from potentiometers for both the steering wheel and accelerator. Unlike TRON&#8217;s spinner, these controls are entirely analog and are read into absolute values using an ADC (analog-to-digital converter). There is one data &#8220;bus&#8221; (a shared, physical pathway) sharing inputs ultimately into the MCR board for both steering and accelerator, and the value being read is determined by a separate pin on the main board (which enables the corresponding analog input). In the digital world, both values remain in state and depending on what the main board calls for, you must provide the correct value to the pins.</li>
<li>One of the more ingenious ways to avoid piracy, Bally/Midway used a lamp panel to display the weapons available to the player at any given time, along with a flashing lamp indicating when the weapons van could be summoned. Along with the steering controls, this helps bind the software to the hardware of the cabinet. Without this lamp panel, the user has no idea when they can call the weapons van (unless they see it parked by the side of the road), what weapons they have readily available, or if they&#8217;ve expended them. A lamp driver reads the latches set by the game and illuminates the correct bulbs.</li>
<li>The board has two separate audio channels, one for effects and one for music. A daughter board named the &#8220;Cheap Squeak Deluxe&#8221; plays the Peter Gunn theme (which was supposed to instead be the James Bond theme, but Midway couldn&#8217;t obtain the licensing). Sound is mixed across two separate amplifiers in the sit down version of the game. I&#8217;ll have to merge four audio channels (L and R) into a single mono channel suitable for JAMMA.</li>
<li>An accelerator pedal must somehow be adapted to controller buttons. This is a somewhat sensitive problem, as nuanced work with the pedal is key to playing the game well.</li>
<li>The gear shift is a physical stick that shifts between high and low. This, too, will need to be adapted to modern controls. I&#8217;ll end up doing this in the form of a toggle.</li>
<li>In addition to emulating all of this, the adaptation must somehow be easy to play with a controller or joystick. I&#8217;m using a BlueRetro Bluetooth adapter with a Nintendo Pro Controller, so with use of the extension harness, I&#8217;ll have six buttons at my disposal.</li>
</ol>
<p><span id="more-13373"></span></p>
<h2>Steering and Acceleration</h2>
<p>The biggest challenge to this project by far was instrumenting the steering and acceleration. I wanted to remove the analog potentiometers since modern controls don&#8217;t use them. I&#8217;m going to be playing this with a Nintendo Pro Controller gamepad, which gives me both gamepad and (mini) joystick control. The Absolute Position board is a daughter board that normally converts analog signals into digital values for the main board to read. I have to emulate this entire board in order to send these same digital signals without using any analog pots.</p>
<p>To do this, I started with the same foundation as I used for TRON and RoadBlasters: an NE555 timer chip that clocks a counter when you push Left or Right. But this counter is entirely different than the others. This is an 8-bit counter whose dead center is around the middle of the counter (0xC8 uncalibrated). Instead of reading the counter at the beginning of each mini-game, like TRON, the game is calibrated to report specific values that correspond to steering commands. In addition to this, I needed a return-to-center function for this game so that when you take your hands off the steering controls, you return to moving straight. Lastly, I needed a way to avoid rolling the counter over. Unlike TRON, where Tron&#8217;s arm moves a full 360 degrees, rolling the counter in Spy Hunter means that you go from steering extreme left to suddenly steering extreme right (or vice versa). That would be an unmanageable driving experience. Since RoadBlasters maintains an internal counter, I&#8217;ve never needed to worry about this with past adapters.</p>
<p>There are some limitations to the 74LS491 I used in TRON that made it a poor candidate for use in Spy Hunter. Firstly, the LS491 is a 10-bit counter (not 8-bit), and so it&#8217;s instrumented around bits I&#8217;m not even using. For example, I can&#8217;t parallel load a specific value (e.g. 0xC8) directly using the parallel load function, because the pins for bits 2-7 are considered unimportant in a 10-bit counter, and that pin is shared &#8211; so I have no granularity. There&#8217;s also no easy way to know when I&#8217;ve reached the max 0xFF value used in an 8-bit counter, so that I can stop counting higher without rolling. Instead, it made more sense to build a circuit with two cascading 74LS191s. The LS191 is a 4-bit up/down counter functioning much the same as the LS491. It has a rollover pin so that I can stitch multiple counters together and cascade the overflows or underflows.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-13475" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/74ls191-1-300x249.png" alt="" width="300" height="249" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/74ls191-1-300x249.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/74ls191-1-768x636.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/74ls191-1.png 946w" sizes="auto, (max-width: 300px) 100vw, 300px" /></p>
<p style="text-align: center;"><em>74LS191 pinout</em></p>
<p>To tie two LS191s together in a cascading architecture, the RCO (ripple clock) pin from the IC used for the lower four bits is used to drive the CLK for the next IC. Both chips share the same D/U (UP/DOWN) signal. When you clock the lower four bits, that counter continues to grow until hitting its max value, which then triggers the ripple clock. The ripple clock then tells the high counter to count up or down. Regardless of whether you&#8217;re incrementing or decrementing the counter, the lower four bits are intended to roll, and the signal will then clock the upper counter to increment or decrement. e.g. 00001111 goes to 00010000 when counting up, and 00010000 goes to 00001111 on the way down, so the lower counter always rolls regardless.</p>
<p>The LS191 has some other neat features that makes it a good candidate for Spy Hunter. The MAX/MIN pin signals when the chip reaches its minimum (if you&#8217;re counting down) or its maximum (if you&#8217;re counting up). This allows you to know when you hit a boundary, at which point I&#8217;m able to raise the CTEN pin (count-enable) which will stop counting. So if I keep holding the controller in one direction, the counters will stop counting down at 0x00 and stop counting up at 0xFF. I did this by wiring both MAX/MIN pins into a NAND and then inverting it into CTEN. So if MAX/MIN are both raised high, the first NAND will output low. Inverted, this will disable the count-enable whenever the two chips together hit a min or max (0x00 or 0xFF). It&#8217;s quite nice that MAX/MIN is smart enough to only signal when you hit the edge of the direction you&#8217;re counting in. One small catch is that the very low end of the value loops back around from right to left, and so I need to stop counting around 0x10. The cleanest way to do this was to use the MAX/MIN pin of the upper four bits to raise the CTEN pin of the lower, effective stopping counting whenever the higher counter rolls over.</p>
<p>Lastly, the LS191&#8217;s LOAD pin allows me to parallel load any value directly into the counters. Since I know the default value for a centered steering wheel, I can hard-wire pins A, B, C, and D and then whenever neither 1P Left or 1P Right are pressed down, set the LOAD pin to a low state to immediately center the wheel. This can be done with a simple XOR. You want to parallel load the 2s complement of the center value 0x8c into the 191s.</p>
<p>I like the LS191 so much that I&#8217;m back-porting this design to the TRON board. Why? Because the 74LS491 is a rare chip, and costs around $8. A 74LS191, however, runs about $0.60 cents and is widely available. I can also upload a CSV to DigiKey and get all the parts to build an adapter in one shot, except for that pesky LS491. There&#8217;s no need to use an identical chip to the original TRON game when that chip in and of itself was more or less a hack.</p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-13479 size-large" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/tron_pcb_f-1024x911.png" alt="" width="1024" height="911" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/tron_pcb_f-1024x911.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/tron_pcb_f-300x267.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/tron_pcb_f-768x684.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/tron_pcb_f.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></p>
<p style="text-align: center;"><em>Prototype TRON Rev. 1 board utilizing two 74LS191&#8217;s instead of a 74LS491</em></p>
<p>The same approach to counting <em>could</em> be done for accelerator pressure; e.g. the NES version uses up and down to control speed&#8230; but instead, I decided to use hard-wired values 0x0B and 0x35 (0xFF) for min and max acceleration depending on whether a button is pressed. There&#8217;s a catch: a healthy high speed in-between (around 0x28) that&#8217;s a sweet spot, where you&#8217;re not going insanely fast, and can play the game well. So I&#8217;ve hard-wired the gas button for 0x28, and if you&#8217;re in high gear and want a &#8220;turbo&#8221;, you can also hit &#8220;up&#8221; to go stupid fast at 0x35. This gives you three different speeds: low gear, high gear, and turbo. Technically four, since you could use turbo to &#8220;crawl&#8221; in low gear. It makes for a better experience than having to fully manage an accelerator on a controller. Push a button, you accelerate&#8230; let go and you decelerate. And you have a fun button too. Depending on all three of these modes, you also cruise at a different position on the screen.</p>
<p>If, in the end, if I don&#8217;t like how it behaves (I like it so far), I could instead use up/down to accelerate and decelerate using a counter like the NES version. It&#8217;s hardly worth the extra chips as the accelerator seems to work okay in its current configuration.</p>
<p>The accelerator value is read slightly differently than the steering. Q0 and Q1 should be held high. Q2 is the LSB. I tie Q6 to my &#8220;turbo&#8221; button, and the rest are either held high, or inverted on the accelerator button (so H when pressed, L otherwise).</p>
<h2>Multiplexing</h2>
<p>Now this all sounds fine, and I&#8217;d love to be able to simply wire up a timer to this and call it done. Unfortunately, it&#8217;s not that easy. As I mentioned, there is a makeshift data bus involved here (a shared physical input line from the pots to the ADC) , and the same pins that read the steering wheel value on the main MCR board are also used to read the accelerator value. The SEL pin (J5, pin 17)&#8217;s value (high or low) determines which of these two values it&#8217;s expecting. You can watch this dance happen with an oscilloscope. This means we have to constantly switch the output whenever SEL changes. To do this, I&#8217;ve employed a multiplexer. The 74LS157 accepts four bits of input from two different sources, and connects the selected input to a single set of outputs depending on which is selected. Because we have eight bits of output, we&#8217;ll need two of these ICs sharing the same SELECT signal.</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/74ls157.png"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-13376" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/74ls157-264x300.png" alt="" width="264" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/74ls157-264x300.png 264w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/74ls157-768x873.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/74ls157.png 834w" sizes="auto, (max-width: 264px) 100vw, 264px" /></a></p>
<p style="text-align: center;"><em>74LS157 Pinout</em></p>
<p>The outputs of the two steering counters are connected to the pins for input A. Whenever input A is selected, the counter&#8217;s output pins are connected by (and read by) the main board. When input B is selected, I hard wired bits corresponding to either 0x0B or 0x28 / 0x35 (the maximum accelerator values) is what&#8217;s seen by the main board. As the SEL pin pulses, so will the SELECT pin on the multiplexers, giving the main board the correct values. So the multiplexer is constantly getting input from both inputs, but only connecting one of those outputs to the main board at a time. NOTE: I&#8217;m still playing with the correct hard-wired accelerator values and will update this after testing some prototypes.</p>
<p>By emulating the values processed on the Absolute Position board, I&#8217;m able to eliminate this analog-to-digital daughter board entirely from my setup when using the adapter.</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-7.47.30-PM.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-13515 size-large" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-7.47.30-PM-1024x589.png" alt="" width="1024" height="589" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-7.47.30-PM-1024x589.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-7.47.30-PM-300x173.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-7.47.30-PM-768x442.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-7.47.30-PM-1536x884.png 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-7.47.30-PM-2048x1179.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p style="text-align: center;"><em>Dual 4-bit counters and multiplexers form the heart of the &#8220;Absolute Position&#8221; logic</em></p>
<h3>L/H Shifter Latch</h3>
<p>In order to emulate the L/H shifter, I&#8217;ve built a toggle latch. This uses a 74LS74 latch combined with a NOT gate to set the latch&#8217;s value on reset. It&#8217;s a very simple circuit, really, to store and flip a single bit. This bit is read by a pin on the main board to put you in low or high gear. The input to set the latch is pin 2, which is tied to pin 6 of the LS74; pin 6 is the complement of the current flip flop&#8217;s value (e.g. !Q). So it just keeps flip flopping as you clock it.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13532" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-25-at-9.02.20-AM-1024x941.png" alt="" width="1024" height="941" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-25-at-9.02.20-AM-1024x941.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-25-at-9.02.20-AM-300x276.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-25-at-9.02.20-AM-768x706.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-25-at-9.02.20-AM.png 1230w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></p>
<p style="text-align: center;"><em>Simple 1-bit Gear Shift Latch</em></p>
<h3>Lamps</h3>
<p>The indicator lights are an essential part of Spy Hunter. While I do plan on making a small, remote LED strip later on, I wanted to make sure I could display the lights correctly on the adapter first. The lamp board is a separate daughter board included in the cabinet and (as I mentioned) was an ingenious way to prevent piracy by making the game slightly more hardware-dependent.</p>
<p>Lamp boards are hard to come by on their own these days, and it only stands to add a lot of extra power and complexity to a setup to have to wire one up just to play the game. So in addition to emulating the Absolute Position board, I&#8217;ve made use of the CD4099B latch to emulate the Lamp Driver board as well. This is the same IC used on the board, I&#8217;m just hijacking its outputs so that they go into LEDs rather than an amplifier for the lamps.</p>
<p>The lamp board programs the latches on a CD4099B directly, and if you follow the schematic all the way back to the main board, it becomes a simple wiring problem. Once you figure out how to map the inputs and outputs, you can map the outputs to a set of low power LEDs with resistors in front of them (instead of amplifiers and 12V bulbs). To make it easier to read, I&#8217;ll be using the same colors from the game &#8211; orange LED for the weapons van, and a combination of red and purple LEDs placed specifically for individual weapons to mirror the cabinet. With this, it should be a great game experience!</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.35.02-AM.png"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13471" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.35.02-AM-1024x656.png" alt="" width="1024" height="656" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.35.02-AM-1024x656.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.35.02-AM-300x192.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.35.02-AM-768x492.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.35.02-AM-1536x984.png 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.35.02-AM.png 1760w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p style="text-align: center;"><em>Utilizing the same CD4099 from the Lamp Driver board, and hijacking its outputs to go to LEDs instead of amplifiers</em></p>
<h3>Other Improvements</h3>
<p>I&#8217;ve learned a few things since building TRON, which I&#8217;ve incorporated into later revisions of TRON as well as into Spy Hunter. Namely, the value of pull-up resistors on input and output pins is crucial for compatibility and chip lifetime. I had originally designed TRON using TI chips, which could handle the extra current however quickly found that cheap generic chips couldn&#8217;t. Adding resistors in front of my pins limits the inbound and outbound current. I also added a 470R resistor to the composite sync, which prevented certain cheap chips from blanking out after seeing too much current. The JAMMA standard also leaves some pins hanging in an intermediate state unless you ground them out by pushing a button. Most logic ICs see the 2.5V range as high, but using a pull-up ensures that they are high until otherwise grounded.</p>
<p>Lastly, my amplifier circuit has gotten a bit better, and the way I&#8217;ve set up the two distinct audio sources, you can mix them before sending both to the preamp.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13477" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.42.56-AM-1024x918.png" alt="" width="1024" height="918" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.42.56-AM-1024x918.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.42.56-AM-300x269.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.42.56-AM-768x689.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.42.56-AM.png 1144w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></p>
<p style="text-align: center;"><em>4-Input amplifier circuit with mixer</em></p>
<h3>Controls</h3>
<p>Interfacing with the game is one tough challenge, but making the controls a good experience is quite another. To play this game, I&#8217;ve had to make use of the extension harness to interface with buttons 5 and 6 on a controller. This will allow me to map the controls in a comfortable configuration (Nintendo Pro Controller layout below). With the BlueRetro, I&#8217;m able to also assign the joystick to mimic the D-pad, and reassign buttons however I need.</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/spy_hunter_mappings.png"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13434" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/spy_hunter_mappings-1024x715.png" alt="" width="1024" height="715" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/spy_hunter_mappings-1024x715.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/spy_hunter_mappings-300x210.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/spy_hunter_mappings-768x537.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/spy_hunter_mappings.png 1440w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<h2>Prototyping</h2>
<p>I&#8217;m currently fabricating some prototypes and will be testing and tweaking these circuits over the next several weeks on a Spy Hunter stack. The only boards I expect to need are the three MCR boards and the Cheap Squeak Deluxe for music. I&#8217;m fabricating a set of these in black :)</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-7.40.02-PM.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-13517 size-large" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-7.40.02-PM-843x1024.png" alt="" width="843" height="1024" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-7.40.02-PM-843x1024.png 843w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-7.40.02-PM-247x300.png 247w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-7.40.02-PM-768x933.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-7.40.02-PM-1265x1536.png 1265w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-7.40.02-PM.png 1568w" sizes="auto, (max-width: 843px) 100vw, 843px" /></a></p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/spy_hunter_pcb_f.png"><img loading="lazy" decoding="async" class="alignnone wp-image-13481 size-medium" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/spy_hunter_pcb_f-247x300.png" alt="" width="247" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/spy_hunter_pcb_f-247x300.png 247w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/spy_hunter_pcb_f-843x1024.png 843w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/spy_hunter_pcb_f-768x933.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/spy_hunter_pcb_f.png 988w" sizes="auto, (max-width: 247px) 100vw, 247px" /></a> <a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.48.42-AM.png"><img loading="lazy" decoding="async" class="alignnone wp-image-13486 size-medium" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.48.42-AM-247x300.png" alt="" width="247" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.48.42-AM-247x300.png 247w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.48.42-AM-842x1024.png 842w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.48.42-AM-768x934.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.48.42-AM-1263x1536.png 1263w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/Screenshot-2025-10-18-at-9.48.42-AM.png 1789w" sizes="auto, (max-width: 247px) 100vw, 247px" /></a></p>
<h2>Early Prototype!</h2>
<p>An early prototype (before adding the lamps and making some other improvements) just arrived. Made a few corrections for the next run, and is working quite well! I should have the next run in about a week, and can test the lamp circuits. I did find that I needed a few pull-up resistors for the L/R and the Gas button. The JAMMA standard, as I said, is to leave the inputs floating until pressed, and then ground them. Pull-ups fixed the issue where the logic would work sporadically. I&#8217;ve also removed a few pull-downs where I didn&#8217;t need them and tied 1P_RIGHT directly to the UPDN pins so that the signal would propagate without creating a race condition by being delayed through a logic gate.</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3257-scaled.jpeg"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13431" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3257-768x1024.jpeg" alt="" width="768" height="1024" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3257-768x1024.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3257-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3257-1152x1536.jpeg 1152w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3257-1536x2048.jpeg 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3257-scaled.jpeg 1920w" sizes="auto, (max-width: 768px) 100vw, 768px" /></a></p>
<h2>Second Prototype</h2>
<h2><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3282-scaled.jpeg"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13535" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3282-768x1024.jpeg" alt="" width="768" height="1024" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3282-768x1024.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3282-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3282-1152x1536.jpeg 1152w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3282-1536x2048.jpeg 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3282-scaled.jpeg 1920w" sizes="auto, (max-width: 768px) 100vw, 768px" /></a><br />
Finished Board</h2>
<h2><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3313-scaled.jpeg"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13614" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3313-768x1024.jpeg" alt="" width="768" height="1024" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3313-768x1024.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3313-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3313-1152x1536.jpeg 1152w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3313-1536x2048.jpeg 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3313-scaled.jpeg 1920w" sizes="auto, (max-width: 768px) 100vw, 768px" /></a></h2>
<h2><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3327-scaled.jpeg"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13618" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3327-768x1024.jpeg" alt="" width="768" height="1024" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3327-768x1024.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3327-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3327-1152x1536.jpeg 1152w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3327-1536x2048.jpeg 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/10/IMG_3327-scaled.jpeg 1920w" sizes="auto, (max-width: 768px) 100vw, 768px" /></a><br />
Gameplay</h2>
<p>Due to the complexity of the circuits, it was much easier to wait for the first prototype boards than try and play with an elaborate breadboard or spaghetti job. This prototype played pretty well with some minor adjustments to bring it up to spec with the circuits I described.</p>
<p>The steering is fully adjustable and works nicely. The gear shift is much easier to work than the stick in the original game. It is very responsive. The one thing perhaps that I don&#8217;t think is how fast it decelerates when I let up on the gas button. I might experiment with loading the current value into a counter and rolling it down to zero. But for the most part, it&#8217;s playable with a little getting used to&#8230; about as playable as the NES version, and without as much getting used to. Finding the right balance seems to be the winning strategy here.</p>
<div style="width: 360px;" class="wp-video"><video class="wp-video-shortcode" id="video-13373-2" width="360" height="640" preload="metadata" controls="controls"><source type="video/mp4" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/spyhunter.mp4?_=2" /><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/spyhunter.mp4">https://www.zdziarski.com/blog/wp-content/uploads/2025/10/spyhunter.mp4</a></video></div>
]]></content:encoded>
					
		
		<enclosure url="https://www.zdziarski.com/blog/wp-content/uploads/2025/10/spyhunter.mp4" length="2574897" type="video/mp4" />

			</item>
		<item>
		<title>Arcade Hardware Hacking: Part II</title>
		<link>https://www.zdziarski.com/blog/?p=13229</link>
		
		<dc:creator><![CDATA[Jonathan Zdziarski]]></dc:creator>
		<pubDate>Sat, 30 Aug 2025 14:43:12 +0000</pubDate>
				<category><![CDATA[Gaming]]></category>
		<guid isPermaLink="false">https://www.zdziarski.com/blog/?p=13229</guid>

					<description><![CDATA[		<style>
			presto-player:not(.hydrated) {
  position: relative;
  background: rgba(0, 0, 0, 0.1);
  width: 100%;
  display: block;
  aspect-ratio: var(--presto-player-aspect-ratio, 16/9);
}

presto-player:not(.hydrated) .presto-loader {
  display: block;
}

.presto-block-video:not(.presto-sticky-parent) {
  border-radius: var(--presto-player-border-radius, 0px);
  overflow: hidden;
  transform: translateZ(0);
}

/* Safari-specific fix - disable transform to prevent fullscreen black screen */
@supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none) {
  .presto-block-video:not(.presto-sticky-parent) {
    transform: none;
  }
}

.presto-block-video.presto-provider-audio {
  overflow: visible;
}

.presto-block-video .presto-sticky-parent {
  overflow: auto;
  transform: none;
}

.presto-sticky-parent {
  z-index: 99998 !important;
}

.presto-player-fullscreen-open {
  z-index: 9999999 !important;
  overflow: visible !important;
  transform: none !important;
}


presto-playlist,
presto-player-skeleton,
presto-timestamp,
presto-video-curtain-ui,
presto-search-bar-ui,
presto-player-button,
presto-cta-overlay-ui,
presto-video,
presto-action-bar-ui,
presto-youtube-subscribe-button,
presto-email-overlay-ui,
presto-player-spinner,
presto-action-bar,
presto-cta-overlay,
presto-email-overlay,
presto-bunny,
presto-dynamic-overlays,
presto-search-bar,
presto-youtube,
presto-audio,
presto-business-skin,
presto-modern-skin,
presto-muted-overlay,
presto-stacked-skin,
presto-vimeo,
presto-action-bar-controller,
presto-cta-overlay-controller,
presto-email-overlay-controller,
presto-dynamic-overlay-ui,
presto-player,
presto-playlist-item,
presto-playlist-overlay,
presto-playlist-ui {
  visibility: hidden;
}

.hydrated {
  visibility: inherit;
}		</style>
				<style>
			presto-player:not(.hydrated) {
  position: relative;
  background: rgba(0, 0, 0, 0.1);
  width: 100%;
  display: block;
  aspect-ratio: var(--presto-player-aspect-ratio, 16/9);
}

presto-player:not(.hydrated) .presto-loader {
  display: block;
}

.presto-block-video:not(.presto-sticky-parent) {
  border-radius: var(--presto-player-border-radius, 0px);
  overflow: hidden;
  transform: translateZ(0);
}

/* Safari-specific fix - disable transform to prevent fullscreen black screen */
@supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none) {
  .presto-block-video:not(.presto-sticky-parent) {
    transform: none;
  }
}

.presto-block-video.presto-provider-audio {
  overflow: visible;
}

.presto-block-video .presto-sticky-parent {
  overflow: auto;
  transform: none;
}

.presto-sticky-parent {
  z-index: 99998 !important;
}

.presto-player-fullscreen-open {
  z-index: 9999999 !important;
  overflow: visible !important;
  transform: none !important;
}


presto-playlist,
presto-player-skeleton,
presto-timestamp,
presto-video-curtain-ui,
presto-search-bar-ui,
presto-player-button,
presto-cta-overlay-ui,
presto-video,
presto-action-bar-ui,
presto-youtube-subscribe-button,
presto-email-overlay-ui,
presto-player-spinner,
presto-action-bar,
presto-cta-overlay,
presto-email-overlay,
presto-bunny,
presto-dynamic-overlays,
presto-search-bar,
presto-youtube,
presto-audio,
presto-business-skin,
presto-modern-skin,
presto-muted-overlay,
presto-stacked-skin,
presto-vimeo,
presto-action-bar-controller,
presto-cta-overlay-controller,
presto-email-overlay-controller,
presto-dynamic-overlay-ui,
presto-player,
presto-playlist-item,
presto-playlist-overlay,
presto-playlist-ui {
  visibility: hidden;
}

.hydrated {
  visibility: inherit;
}		</style>
				<style>
			presto-player:not(.hydrated) {
  position: relative;
  background: rgba(0, 0, 0, 0.1);
  width: 100%;
  display: block;
  aspect-ratio: var(--presto-player-aspect-ratio, 16/9);
}

presto-player:not(.hydrated) .presto-loader {
  display: block;
}

.presto-block-video:not(.presto-sticky-parent) {
  border-radius: var(--presto-player-border-radius, 0px);
  overflow: hidden;
  transform: translateZ(0);
}

/* Safari-specific fix - disable transform to prevent fullscreen black screen */
@supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none) {
  .presto-block-video:not(.presto-sticky-parent) {
    transform: none;
  }
}

.presto-block-video.presto-provider-audio {
  overflow: visible;
}

.presto-block-video .presto-sticky-parent {
  overflow: auto;
  transform: none;
}

.presto-sticky-parent {
  z-index: 99998 !important;
}

.presto-player-fullscreen-open {
  z-index: 9999999 !important;
  overflow: visible !important;
  transform: none !important;
}


presto-playlist,
presto-player-skeleton,
presto-timestamp,
presto-video-curtain-ui,
presto-search-bar-ui,
presto-player-button,
presto-cta-overlay-ui,
presto-video,
presto-action-bar-ui,
presto-youtube-subscribe-button,
presto-email-overlay-ui,
presto-player-spinner,
presto-action-bar,
presto-cta-overlay,
presto-email-overlay,
presto-bunny,
presto-dynamic-overlays,
presto-search-bar,
presto-youtube,
presto-audio,
presto-business-skin,
presto-modern-skin,
presto-muted-overlay,
presto-stacked-skin,
presto-vimeo,
presto-action-bar-controller,
presto-cta-overlay-controller,
presto-email-overlay-controller,
presto-dynamic-overlay-ui,
presto-player,
presto-playlist-item,
presto-playlist-overlay,
presto-playlist-ui {
  visibility: hidden;
}

.hydrated {
  visibility: inherit;
}		</style>
				<style>
			presto-player:not(.hydrated) {
  position: relative;
  background: rgba(0, 0, 0, 0.1);
  width: 100%;
  display: block;
  aspect-ratio: var(--presto-player-aspect-ratio, 16/9);
}

presto-player:not(.hydrated) .presto-loader {
  display: block;
}

.presto-block-video:not(.presto-sticky-parent) {
  border-radius: var(--presto-player-border-radius, 0px);
  overflow: hidden;
  transform: translateZ(0);
}

/* Safari-specific fix - disable transform to prevent fullscreen black screen */
@supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none) {
  .presto-block-video:not(.presto-sticky-parent) {
    transform: none;
  }
}

.presto-block-video.presto-provider-audio {
  overflow: visible;
}

.presto-block-video .presto-sticky-parent {
  overflow: auto;
  transform: none;
}

.presto-sticky-parent {
  z-index: 99998 !important;
}

.presto-player-fullscreen-open {
  z-index: 9999999 !important;
  overflow: visible !important;
  transform: none !important;
}


presto-playlist,
presto-player-skeleton,
presto-timestamp,
presto-video-curtain-ui,
presto-search-bar-ui,
presto-player-button,
presto-cta-overlay-ui,
presto-video,
presto-action-bar-ui,
presto-youtube-subscribe-button,
presto-email-overlay-ui,
presto-player-spinner,
presto-action-bar,
presto-cta-overlay,
presto-email-overlay,
presto-bunny,
presto-dynamic-overlays,
presto-search-bar,
presto-youtube,
presto-audio,
presto-business-skin,
presto-modern-skin,
presto-muted-overlay,
presto-stacked-skin,
presto-vimeo,
presto-action-bar-controller,
presto-cta-overlay-controller,
presto-email-overlay-controller,
presto-dynamic-overlay-ui,
presto-player,
presto-playlist-item,
presto-playlist-overlay,
presto-playlist-ui {
  visibility: hidden;
}

.hydrated {
  visibility: inherit;
}		</style>
		<p><strong>RoadBlasters (Steering Yoke Conversion)</strong></p>
<p style="text-align: right;"><a class="underline" href="https://www.zdziarski.com/blog/?p=12821">Arcade Hardware Hacking: Part I</a></p>
<p style="text-align: right;"><a class="underline" href="https://www.zdziarski.com/blog/?p=13373">Arcade Hardware Hacking: Part III</a></p>
<p>Temple of Doom was a great introduction to the Atari System 1 logic board, and as it turned out was very easy to adapt to the JAMMA standard. With the exception of inverting the directional buttons (and the ridiculous number of repairs I had to make to the board), everything was super straight forward and amounted to simply mapping pins on the logic board to JAMMA pins with the help of the schematics. But Temple of Doom isn&#8217;t the only great game released on this platform. System 1 is a modular platform; Atari was able to save a lot of money by shipping out new cartridge PCB kits to arcade owners. These kits typically came with a new marquee and control panel so if you already owned an Atari System 1 cabinet, you could swap out games pretty easily without having to freight an excessively heavy cabinet. Once games lost popularity, they were just dead space in the arcade. This cost square footage, and also a great deal of electricity to run all day. Atari&#8217;s approach to game refreshes (which predated JAMMA by a few years) made it easy for arcade owners to save money and space. The System 1 supported a handful of games including Temple of Doom, Marble Madness, Road Runner, and the focus of this post: RoadBlasters.</p>
<p>RoadBlasters was one of my favorite racing games (next to Outrun, which will forever be crowned the best), and was also a System 1 platform game. Unlike Temple of Doom, there&#8217;s no joystick. The controls are very nuanced, as they are with many arcade racers, and included a steering yoke and foot pedals. You can imagine this was handled very differently electronically than a racer you&#8217;d play on, say, NES (like Rad Racer, which I grew up on). It&#8217;s not a very popular game for home arcades because you typically need to own the original steering yoke (or a compatible aftermarket one, if such a thing exists) in order to play it, which means a dedicated machine or something hacky. I&#8217;ve always found at-home steering wheels and pedals a bit dumb anyway, and prefer playing a racer with a gamepad or joystick. I&#8217;m certainly not going to buy some old arcade yoke (or a complete cabinet!)  just to play a game. They&#8217;re charging some stupid prices for these too, because they can.</p>
<p><span id="more-13229"></span></p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/roadblasters_steering_schematic.png"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13230" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/roadblasters_steering_schematic-1024x575.png" alt="" width="1024" height="575" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/roadblasters_steering_schematic-1024x575.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/roadblasters_steering_schematic-300x168.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/roadblasters_steering_schematic-768x431.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/roadblasters_steering_schematic.png 1250w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p style="text-align: center;"><em>RoadBlasters Optical Coupler Schematic</em></p>
<p>Not surprisingly, RoadBlasters uses optical sensors to detect the motion of the steering wheel. Since it was the technology of the time, many games (such as Tron) used a similar setup. The steering wheel included a disc with notches. As you turned the steering wheel, the optical sensors would detect either the notch or the disc. As you turn, signals get sent to the logic board which clock your movement in a given direction. Here, the direction is determined by whether a pin named VERT DIR1 is low or high. No idea why they didn&#8217;t use the HORIZ DIR1 pin for steering. ¯\_(ツ)_/¯</p>
<p>There&#8217;s a catch to how RoadBlasters was designed that made this adaptation a little more complex than Tron. As I <a class="underline" href="https://www.zdziarski.com/blog/?p=12821">explained in Part I</a>, Tron uses a 10-bit counter logic chip to maintain a value from 0-127, and increments or decrements that value depending on whether the spinner sends a HIGH or LOW signal to the UP pin on the chip. Like Tron, RoadBlasters uses one pin for clocking and another pin for direction. Unlike Tron, instead of using an LS491 (or any other counter IC), RoadBlasters maintains this counter in the software, expecting a clock signal via the CLK1 pin, but an <em>interleaved</em> signal for the DIR 1 pin to set the direction. It seems that the game reads the DIR1 pin at both the rising and falling edges of the clock, or could be the result of propagation delay and time window if something like a D-flip flop was used. Regardless, simply signaling the DIR1 pin at the same time as CLK1 doesn&#8217;t work. Playing around with shorting some pins, I figured out the sequence of expected signals:</p>
<ol>
<li>CLK1 HIGH</li>
<li>DIR1 HIGH or LOW (depending on direction)</li>
<li>CLK1 LOW</li>
<li>DIR1 HIGH or LOW (inverted)</li>
</ol>
<p>The logic board itself counts up or down 8 bits, so your possible values are 0-255, with 127 being a centered steering wheel. MAME tried to make this game playable by setting the wheel to a hard extreme of either 0 or 255 depending on which way you turn&#8230; and if you&#8217;ve noticed, the MAME version of this game is virtually unplayable. We need something a little more graceful, to slowly count up or down depending on how long you hold the directional pad down.</p>
<h2>My other car is your car</h2>
<p>In <a class="underline" href="https://www.zdziarski.com/blog/?p=12821">Part I</a>, I mentioned the utility of an NE555 timer chip to generate a clock pulse. This was later incorporated into the final prototype for Tron, so that the adapter could automatically move Tron&#8217;s arm (rather than depend on a rapid fire circuit). My at-home game rotates comfortably at around 80-100hz. The same technique can be used here with a few changes. We need to generate two signals instead of one &#8211; and they have to be interleaved. We could probably time this right with two NE555 timers, but that&#8217;s a little excessive. What we need here is often referred to as an <a class="underline" href="https://www.build-electronic-circuits.com/rc-delay-element/">RC Delay Circuit</a>.</p>
<p>As the link explains, an RC (resistor-capacitor) delay does exactly what it says&#8230; relays a pulse with a slight delay. Here, we want to pulse the clock pin, but then immediately after tap the DIR1 pin to convey the correct direction. Implementing an RC delay allows us to send two signals &#8211; one right after the other.</p>
<p>After a little bit of trial and error, I configured the NE555 timer to just the right pulse rate using 1K for R1, 33K for R2, and 0.47 uF for C1.</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/Screenshot-2025-08-30-at-10.17.25-AM.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-13231" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/Screenshot-2025-08-30-at-10.17.25-AM.png" alt="" width="968" height="826" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/Screenshot-2025-08-30-at-10.17.25-AM.png 968w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/Screenshot-2025-08-30-at-10.17.25-AM-300x256.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/Screenshot-2025-08-30-at-10.17.25-AM-768x655.png 768w" sizes="auto, (max-width: 968px) 100vw, 968px" /></a></p>
<p style="text-align: center;"><em>NE555 Timer</em></p>
<h2>Driving Miss Daisy</h2>
<p>The NE555 reset (pin 4) needs to be tied to a +5V source when you want to turn. If you recall from Part I, you can invert signals with the use of a 74LS04 or a 74LS86. The LS86 (quad XOR gate) makes more sense here, because when you&#8217;re done you&#8217;re going to want the timer to activate when EITHER the Left or Right directional buttons are pressed. So you can run your Left and Right JAMMA pins into an LS86 as the input, and the output will be LOW when no button is pressed, or HIGH when either one is pressed. Pin 3 then goes to both the CLK and DIR1 pins. DIR1 receives the clock signal just after the clock pin does, so that it&#8217;ll be active when the pin is read.</p>
			<video controls preload="none">
				<source src="" />
			</video>
			
<p>So by now, I&#8217;m able to turn reliably in one direction&#8230; not very useful for a racing game.</p>
			<video controls preload="none">
				<source src="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2899.mov" />
			</video>
			
<p>In order to turn in the other direction, the signal to DIR1 needs to be inverted when the other directional button is pressed. Looking back to the LS86, think about how you&#8217;d build a XOR gate to handle this. One way to do it is to send the CLK output into one input, and one of the two directional pins into the other. Take the output of that gate and make that your DIR1 signal.</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/Screenshot-2025-08-30-at-10.30.44-AM.png"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13234" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/Screenshot-2025-08-30-at-10.30.44-AM-1024x822.png" alt="" width="1024" height="822" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/Screenshot-2025-08-30-at-10.30.44-AM-1024x822.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/Screenshot-2025-08-30-at-10.30.44-AM-300x241.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/Screenshot-2025-08-30-at-10.30.44-AM-768x617.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/Screenshot-2025-08-30-at-10.30.44-AM-1536x1233.png 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/Screenshot-2025-08-30-at-10.30.44-AM-2048x1645.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<h2>You never learn to swear until you learn to drive</h2>
<p>Now we&#8217;re cookin&#8217;.  With the RC circuit in place just in front of it, (a little trial and error landed me at 5K and a 103 cap) I placed an XOR gate between the CLK pulse and the DIR pin. Now we can increment or decrement the counter in either direction!</p>
			<video controls preload="none">
				<source src="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2913_480p.mov" />
			</video>
			
<p>I quickly went from breadboard to prototyping board and built a small, cookie-sized circuit in the configuration above.</p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2910.jpeg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13237" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2910-225x300.jpeg" alt="" width="225" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2910-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2910-768x1024.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2910.jpeg 900w" sizes="auto, (max-width: 225px) 100vw, 225px" /></a>  <a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2911.jpeg"><img loading="lazy" decoding="async" class="alignnone wp-image-13238 size-medium" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2911-225x300.jpeg" alt="" width="225" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2911-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2911-768x1024.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2911.jpeg 900w" sizes="auto, (max-width: 225px) 100vw, 225px" /></a></p>
<p>The rest of the pins simply map to JAMMA pins on a universal adapter. Any universal adapter will do. This happens to be one I fabricated.</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2924.jpeg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13239 aligncenter" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2924-225x300.jpeg" alt="" width="225" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2924-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2924-768x1024.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2924.jpeg 900w" sizes="auto, (max-width: 225px) 100vw, 225px" /></a></p>
<p>&#160;</p>
<h2>If everything seems under control, you&#8217;re just not going fast enough</h2>
<p>It drives pretty good! There is no return to center but it feels natural this way, the way a steering wheel would. You could build a return to center with an 8-bit timer in sync with your steering, but I really like how this feels as it is &#8211; nice and smooth, and gamepad-friendly.</p>
			<video controls preload="none">
				<source src="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2936_480p.mov" />
			</video>
			
<p>NOTE: It&#8217;s not easy playing with a phone in one hand, and a gamepad in another!</p>
<p>The pedals are quite easy: I mapped the accelerator/brake pedal to a single pin. When the voltage is high (default), the accelerator is down. Therefore, the button is essentially a &#8220;brake&#8221; button. Based on the schematic, this is exactly how RoadBlasters handles the brake too&#8230; by just grounding out the accelerator pin.</p>
<h2>If you don&#8217;t like how I drive, get off the sidewalk</h2>
<p>I&#8217;ve now finalized an adapter design, utilizing an MC34063AP to supply and onboard boost inverter for -12V. In addition to the steering circuit,</p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/sm_red_top.png"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13404" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/sm_red_top-1024x757.png" alt="" width="1024" height="757" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/sm_red_top-1024x757.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/sm_red_top-300x222.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/sm_red_top-768x568.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/sm_red_top.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<h2>Update</h2>
<p>First run of fabricated boards have arrived and work excellent. The negative boost inverter supplies the -12V necessary to power the amplifier and certain ICs, and using the same op amp design from TRON provides solid sound. The steering circuit took a tiny bit of fine tuning to get just right, and I landed on a 224 capacitor for the 555 timing cap as offering the most playable experience. Very happy with this board!</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_3138-scaled.jpeg"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13370" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_3138-1024x768.jpeg" alt="" width="1024" height="768" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_3138-1024x768.jpeg 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_3138-300x225.jpeg 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_3138-768x576.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_3138-1536x1152.jpeg 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_3138-2048x1536.jpeg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p>I have since made a few small changes: certain super guns require a 470R resistor between CLK and the System 1, as they provide too much current. You can also turn the voltage down to compensate, and everything still works, but this is an important fix nonetheless. On an Axunworks setup, I seem to get a small bit of high frequency hum. I suspect this can be fixed by replacing C10 with a film capacitor as ceramic capacitors are known for generating this type of high frequency noise on switching inverters like this one.</p>
<a class="read-more" href="https://www.zdziarski.com/blog/?p=13229" title="Read More"> <span class="button ">Read More</span></a>]]></description>
					<style>
			presto-player:not(.hydrated) {
  position: relative;
  background: rgba(0, 0, 0, 0.1);
  width: 100%;
  display: block;
  aspect-ratio: var(--presto-player-aspect-ratio, 16/9);
}

presto-player:not(.hydrated) .presto-loader {
  display: block;
}

.presto-block-video:not(.presto-sticky-parent) {
  border-radius: var(--presto-player-border-radius, 0px);
  overflow: hidden;
  transform: translateZ(0);
}

/* Safari-specific fix - disable transform to prevent fullscreen black screen */
@supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none) {
  .presto-block-video:not(.presto-sticky-parent) {
    transform: none;
  }
}

.presto-block-video.presto-provider-audio {
  overflow: visible;
}

.presto-block-video .presto-sticky-parent {
  overflow: auto;
  transform: none;
}

.presto-sticky-parent {
  z-index: 99998 !important;
}

.presto-player-fullscreen-open {
  z-index: 9999999 !important;
  overflow: visible !important;
  transform: none !important;
}


presto-playlist,
presto-player-skeleton,
presto-timestamp,
presto-video-curtain-ui,
presto-search-bar-ui,
presto-player-button,
presto-cta-overlay-ui,
presto-video,
presto-action-bar-ui,
presto-youtube-subscribe-button,
presto-email-overlay-ui,
presto-player-spinner,
presto-action-bar,
presto-cta-overlay,
presto-email-overlay,
presto-bunny,
presto-dynamic-overlays,
presto-search-bar,
presto-youtube,
presto-audio,
presto-business-skin,
presto-modern-skin,
presto-muted-overlay,
presto-stacked-skin,
presto-vimeo,
presto-action-bar-controller,
presto-cta-overlay-controller,
presto-email-overlay-controller,
presto-dynamic-overlay-ui,
presto-player,
presto-playlist-item,
presto-playlist-overlay,
presto-playlist-ui {
  visibility: hidden;
}

.hydrated {
  visibility: inherit;
}		</style>
				<style>
			presto-player:not(.hydrated) {
  position: relative;
  background: rgba(0, 0, 0, 0.1);
  width: 100%;
  display: block;
  aspect-ratio: var(--presto-player-aspect-ratio, 16/9);
}

presto-player:not(.hydrated) .presto-loader {
  display: block;
}

.presto-block-video:not(.presto-sticky-parent) {
  border-radius: var(--presto-player-border-radius, 0px);
  overflow: hidden;
  transform: translateZ(0);
}

/* Safari-specific fix - disable transform to prevent fullscreen black screen */
@supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none) {
  .presto-block-video:not(.presto-sticky-parent) {
    transform: none;
  }
}

.presto-block-video.presto-provider-audio {
  overflow: visible;
}

.presto-block-video .presto-sticky-parent {
  overflow: auto;
  transform: none;
}

.presto-sticky-parent {
  z-index: 99998 !important;
}

.presto-player-fullscreen-open {
  z-index: 9999999 !important;
  overflow: visible !important;
  transform: none !important;
}


presto-playlist,
presto-player-skeleton,
presto-timestamp,
presto-video-curtain-ui,
presto-search-bar-ui,
presto-player-button,
presto-cta-overlay-ui,
presto-video,
presto-action-bar-ui,
presto-youtube-subscribe-button,
presto-email-overlay-ui,
presto-player-spinner,
presto-action-bar,
presto-cta-overlay,
presto-email-overlay,
presto-bunny,
presto-dynamic-overlays,
presto-search-bar,
presto-youtube,
presto-audio,
presto-business-skin,
presto-modern-skin,
presto-muted-overlay,
presto-stacked-skin,
presto-vimeo,
presto-action-bar-controller,
presto-cta-overlay-controller,
presto-email-overlay-controller,
presto-dynamic-overlay-ui,
presto-player,
presto-playlist-item,
presto-playlist-overlay,
presto-playlist-ui {
  visibility: hidden;
}

.hydrated {
  visibility: inherit;
}		</style>
				<style>
			presto-player:not(.hydrated) {
  position: relative;
  background: rgba(0, 0, 0, 0.1);
  width: 100%;
  display: block;
  aspect-ratio: var(--presto-player-aspect-ratio, 16/9);
}

presto-player:not(.hydrated) .presto-loader {
  display: block;
}

.presto-block-video:not(.presto-sticky-parent) {
  border-radius: var(--presto-player-border-radius, 0px);
  overflow: hidden;
  transform: translateZ(0);
}

/* Safari-specific fix - disable transform to prevent fullscreen black screen */
@supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none) {
  .presto-block-video:not(.presto-sticky-parent) {
    transform: none;
  }
}

.presto-block-video.presto-provider-audio {
  overflow: visible;
}

.presto-block-video .presto-sticky-parent {
  overflow: auto;
  transform: none;
}

.presto-sticky-parent {
  z-index: 99998 !important;
}

.presto-player-fullscreen-open {
  z-index: 9999999 !important;
  overflow: visible !important;
  transform: none !important;
}


presto-playlist,
presto-player-skeleton,
presto-timestamp,
presto-video-curtain-ui,
presto-search-bar-ui,
presto-player-button,
presto-cta-overlay-ui,
presto-video,
presto-action-bar-ui,
presto-youtube-subscribe-button,
presto-email-overlay-ui,
presto-player-spinner,
presto-action-bar,
presto-cta-overlay,
presto-email-overlay,
presto-bunny,
presto-dynamic-overlays,
presto-search-bar,
presto-youtube,
presto-audio,
presto-business-skin,
presto-modern-skin,
presto-muted-overlay,
presto-stacked-skin,
presto-vimeo,
presto-action-bar-controller,
presto-cta-overlay-controller,
presto-email-overlay-controller,
presto-dynamic-overlay-ui,
presto-player,
presto-playlist-item,
presto-playlist-overlay,
presto-playlist-ui {
  visibility: hidden;
}

.hydrated {
  visibility: inherit;
}		</style>
				<style>
			presto-player:not(.hydrated) {
  position: relative;
  background: rgba(0, 0, 0, 0.1);
  width: 100%;
  display: block;
  aspect-ratio: var(--presto-player-aspect-ratio, 16/9);
}

presto-player:not(.hydrated) .presto-loader {
  display: block;
}

.presto-block-video:not(.presto-sticky-parent) {
  border-radius: var(--presto-player-border-radius, 0px);
  overflow: hidden;
  transform: translateZ(0);
}

/* Safari-specific fix - disable transform to prevent fullscreen black screen */
@supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none) {
  .presto-block-video:not(.presto-sticky-parent) {
    transform: none;
  }
}

.presto-block-video.presto-provider-audio {
  overflow: visible;
}

.presto-block-video .presto-sticky-parent {
  overflow: auto;
  transform: none;
}

.presto-sticky-parent {
  z-index: 99998 !important;
}

.presto-player-fullscreen-open {
  z-index: 9999999 !important;
  overflow: visible !important;
  transform: none !important;
}


presto-playlist,
presto-player-skeleton,
presto-timestamp,
presto-video-curtain-ui,
presto-search-bar-ui,
presto-player-button,
presto-cta-overlay-ui,
presto-video,
presto-action-bar-ui,
presto-youtube-subscribe-button,
presto-email-overlay-ui,
presto-player-spinner,
presto-action-bar,
presto-cta-overlay,
presto-email-overlay,
presto-bunny,
presto-dynamic-overlays,
presto-search-bar,
presto-youtube,
presto-audio,
presto-business-skin,
presto-modern-skin,
presto-muted-overlay,
presto-stacked-skin,
presto-vimeo,
presto-action-bar-controller,
presto-cta-overlay-controller,
presto-email-overlay-controller,
presto-dynamic-overlay-ui,
presto-player,
presto-playlist-item,
presto-playlist-overlay,
presto-playlist-ui {
  visibility: hidden;
}

.hydrated {
  visibility: inherit;
}		</style>
									<content:encoded><![CDATA[<p><strong>RoadBlasters (Steering Yoke Conversion)</strong></p>
<p style="text-align: right;"><a class="underline" href="https://www.zdziarski.com/blog/?p=12821">Arcade Hardware Hacking: Part I</a></p>
<p style="text-align: right;"><a class="underline" href="https://www.zdziarski.com/blog/?p=13373">Arcade Hardware Hacking: Part III</a></p>
<p>Temple of Doom was a great introduction to the Atari System 1 logic board, and as it turned out was very easy to adapt to the JAMMA standard. With the exception of inverting the directional buttons (and the ridiculous number of repairs I had to make to the board), everything was super straight forward and amounted to simply mapping pins on the logic board to JAMMA pins with the help of the schematics. But Temple of Doom isn&#8217;t the only great game released on this platform. System 1 is a modular platform; Atari was able to save a lot of money by shipping out new cartridge PCB kits to arcade owners. These kits typically came with a new marquee and control panel so if you already owned an Atari System 1 cabinet, you could swap out games pretty easily without having to freight an excessively heavy cabinet. Once games lost popularity, they were just dead space in the arcade. This cost square footage, and also a great deal of electricity to run all day. Atari&#8217;s approach to game refreshes (which predated JAMMA by a few years) made it easy for arcade owners to save money and space. The System 1 supported a handful of games including Temple of Doom, Marble Madness, Road Runner, and the focus of this post: RoadBlasters.</p>
<p>RoadBlasters was one of my favorite racing games (next to Outrun, which will forever be crowned the best), and was also a System 1 platform game. Unlike Temple of Doom, there&#8217;s no joystick. The controls are very nuanced, as they are with many arcade racers, and included a steering yoke and foot pedals. You can imagine this was handled very differently electronically than a racer you&#8217;d play on, say, NES (like Rad Racer, which I grew up on). It&#8217;s not a very popular game for home arcades because you typically need to own the original steering yoke (or a compatible aftermarket one, if such a thing exists) in order to play it, which means a dedicated machine or something hacky. I&#8217;ve always found at-home steering wheels and pedals a bit dumb anyway, and prefer playing a racer with a gamepad or joystick. I&#8217;m certainly not going to buy some old arcade yoke (or a complete cabinet!)  just to play a game. They&#8217;re charging some stupid prices for these too, because they can.</p>
<p><span id="more-13229"></span></p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/roadblasters_steering_schematic.png"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13230" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/roadblasters_steering_schematic-1024x575.png" alt="" width="1024" height="575" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/roadblasters_steering_schematic-1024x575.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/roadblasters_steering_schematic-300x168.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/roadblasters_steering_schematic-768x431.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/roadblasters_steering_schematic.png 1250w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p style="text-align: center;"><em>RoadBlasters Optical Coupler Schematic</em></p>
<p>Not surprisingly, RoadBlasters uses optical sensors to detect the motion of the steering wheel. Since it was the technology of the time, many games (such as Tron) used a similar setup. The steering wheel included a disc with notches. As you turned the steering wheel, the optical sensors would detect either the notch or the disc. As you turn, signals get sent to the logic board which clock your movement in a given direction. Here, the direction is determined by whether a pin named VERT DIR1 is low or high. No idea why they didn&#8217;t use the HORIZ DIR1 pin for steering. ¯\_(ツ)_/¯</p>
<p>There&#8217;s a catch to how RoadBlasters was designed that made this adaptation a little more complex than Tron. As I <a class="underline" href="https://www.zdziarski.com/blog/?p=12821">explained in Part I</a>, Tron uses a 10-bit counter logic chip to maintain a value from 0-127, and increments or decrements that value depending on whether the spinner sends a HIGH or LOW signal to the UP pin on the chip. Like Tron, RoadBlasters uses one pin for clocking and another pin for direction. Unlike Tron, instead of using an LS491 (or any other counter IC), RoadBlasters maintains this counter in the software, expecting a clock signal via the CLK1 pin, but an <em>interleaved</em> signal for the DIR 1 pin to set the direction. It seems that the game reads the DIR1 pin at both the rising and falling edges of the clock, or could be the result of propagation delay and time window if something like a D-flip flop was used. Regardless, simply signaling the DIR1 pin at the same time as CLK1 doesn&#8217;t work. Playing around with shorting some pins, I figured out the sequence of expected signals:</p>
<ol>
<li>CLK1 HIGH</li>
<li>DIR1 HIGH or LOW (depending on direction)</li>
<li>CLK1 LOW</li>
<li>DIR1 HIGH or LOW (inverted)</li>
</ol>
<p>The logic board itself counts up or down 8 bits, so your possible values are 0-255, with 127 being a centered steering wheel. MAME tried to make this game playable by setting the wheel to a hard extreme of either 0 or 255 depending on which way you turn&#8230; and if you&#8217;ve noticed, the MAME version of this game is virtually unplayable. We need something a little more graceful, to slowly count up or down depending on how long you hold the directional pad down.</p>
<h2>My other car is your car</h2>
<p>In <a class="underline" href="https://www.zdziarski.com/blog/?p=12821">Part I</a>, I mentioned the utility of an NE555 timer chip to generate a clock pulse. This was later incorporated into the final prototype for Tron, so that the adapter could automatically move Tron&#8217;s arm (rather than depend on a rapid fire circuit). My at-home game rotates comfortably at around 80-100hz. The same technique can be used here with a few changes. We need to generate two signals instead of one &#8211; and they have to be interleaved. We could probably time this right with two NE555 timers, but that&#8217;s a little excessive. What we need here is often referred to as an <a class="underline" href="https://www.build-electronic-circuits.com/rc-delay-element/">RC Delay Circuit</a>.</p>
<p>As the link explains, an RC (resistor-capacitor) delay does exactly what it says&#8230; relays a pulse with a slight delay. Here, we want to pulse the clock pin, but then immediately after tap the DIR1 pin to convey the correct direction. Implementing an RC delay allows us to send two signals &#8211; one right after the other.</p>
<p>After a little bit of trial and error, I configured the NE555 timer to just the right pulse rate using 1K for R1, 33K for R2, and 0.47 uF for C1.</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/Screenshot-2025-08-30-at-10.17.25-AM.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-13231" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/Screenshot-2025-08-30-at-10.17.25-AM.png" alt="" width="968" height="826" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/Screenshot-2025-08-30-at-10.17.25-AM.png 968w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/Screenshot-2025-08-30-at-10.17.25-AM-300x256.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/Screenshot-2025-08-30-at-10.17.25-AM-768x655.png 768w" sizes="auto, (max-width: 968px) 100vw, 968px" /></a></p>
<p style="text-align: center;"><em>NE555 Timer</em></p>
<h2>Driving Miss Daisy</h2>
<p>The NE555 reset (pin 4) needs to be tied to a +5V source when you want to turn. If you recall from Part I, you can invert signals with the use of a 74LS04 or a 74LS86. The LS86 (quad XOR gate) makes more sense here, because when you&#8217;re done you&#8217;re going to want the timer to activate when EITHER the Left or Right directional buttons are pressed. So you can run your Left and Right JAMMA pins into an LS86 as the input, and the output will be LOW when no button is pressed, or HIGH when either one is pressed. Pin 3 then goes to both the CLK and DIR1 pins. DIR1 receives the clock signal just after the clock pin does, so that it&#8217;ll be active when the pin is read.</p>
			<video controls preload="none">
				<source src="" />
			</video>
			
<p>So by now, I&#8217;m able to turn reliably in one direction&#8230; not very useful for a racing game.</p>
			<video controls preload="none">
				<source src="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2899.mov" />
			</video>
			
<p>In order to turn in the other direction, the signal to DIR1 needs to be inverted when the other directional button is pressed. Looking back to the LS86, think about how you&#8217;d build a XOR gate to handle this. One way to do it is to send the CLK output into one input, and one of the two directional pins into the other. Take the output of that gate and make that your DIR1 signal.</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/Screenshot-2025-08-30-at-10.30.44-AM.png"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13234" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/Screenshot-2025-08-30-at-10.30.44-AM-1024x822.png" alt="" width="1024" height="822" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/Screenshot-2025-08-30-at-10.30.44-AM-1024x822.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/Screenshot-2025-08-30-at-10.30.44-AM-300x241.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/Screenshot-2025-08-30-at-10.30.44-AM-768x617.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/Screenshot-2025-08-30-at-10.30.44-AM-1536x1233.png 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/Screenshot-2025-08-30-at-10.30.44-AM-2048x1645.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<h2>You never learn to swear until you learn to drive</h2>
<p>Now we&#8217;re cookin&#8217;.  With the RC circuit in place just in front of it, (a little trial and error landed me at 5K and a 103 cap) I placed an XOR gate between the CLK pulse and the DIR pin. Now we can increment or decrement the counter in either direction!</p>
			<video controls preload="none">
				<source src="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2913_480p.mov" />
			</video>
			
<p>I quickly went from breadboard to prototyping board and built a small, cookie-sized circuit in the configuration above.</p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2910.jpeg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13237" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2910-225x300.jpeg" alt="" width="225" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2910-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2910-768x1024.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2910.jpeg 900w" sizes="auto, (max-width: 225px) 100vw, 225px" /></a>  <a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2911.jpeg"><img loading="lazy" decoding="async" class="alignnone wp-image-13238 size-medium" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2911-225x300.jpeg" alt="" width="225" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2911-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2911-768x1024.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2911.jpeg 900w" sizes="auto, (max-width: 225px) 100vw, 225px" /></a></p>
<p>The rest of the pins simply map to JAMMA pins on a universal adapter. Any universal adapter will do. This happens to be one I fabricated.</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2924.jpeg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13239 aligncenter" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2924-225x300.jpeg" alt="" width="225" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2924-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2924-768x1024.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2924.jpeg 900w" sizes="auto, (max-width: 225px) 100vw, 225px" /></a></p>
<p>&nbsp;</p>
<h2>If everything seems under control, you&#8217;re just not going fast enough</h2>
<p>It drives pretty good! There is no return to center but it feels natural this way, the way a steering wheel would. You could build a return to center with an 8-bit timer in sync with your steering, but I really like how this feels as it is &#8211; nice and smooth, and gamepad-friendly.</p>
			<video controls preload="none">
				<source src="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_2936_480p.mov" />
			</video>
			
<p>NOTE: It&#8217;s not easy playing with a phone in one hand, and a gamepad in another!</p>
<p>The pedals are quite easy: I mapped the accelerator/brake pedal to a single pin. When the voltage is high (default), the accelerator is down. Therefore, the button is essentially a &#8220;brake&#8221; button. Based on the schematic, this is exactly how RoadBlasters handles the brake too&#8230; by just grounding out the accelerator pin.</p>
<h2>If you don&#8217;t like how I drive, get off the sidewalk</h2>
<p>I&#8217;ve now finalized an adapter design, utilizing an MC34063AP to supply and onboard boost inverter for -12V. In addition to the steering circuit,</p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/sm_red_top.png"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13404" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/sm_red_top-1024x757.png" alt="" width="1024" height="757" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/sm_red_top-1024x757.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/sm_red_top-300x222.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/sm_red_top-768x568.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/sm_red_top.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<h2>Update</h2>
<p>First run of fabricated boards have arrived and work excellent. The negative boost inverter supplies the -12V necessary to power the amplifier and certain ICs, and using the same op amp design from TRON provides solid sound. The steering circuit took a tiny bit of fine tuning to get just right, and I landed on a 224 capacitor for the 555 timing cap as offering the most playable experience. Very happy with this board!</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_3138-scaled.jpeg"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13370" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_3138-1024x768.jpeg" alt="" width="1024" height="768" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_3138-1024x768.jpeg 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_3138-300x225.jpeg 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_3138-768x576.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_3138-1536x1152.jpeg 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/08/IMG_3138-2048x1536.jpeg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p>I have since made a few small changes: certain super guns require a 470R resistor between CLK and the System 1, as they provide too much current. You can also turn the voltage down to compensate, and everything still works, but this is an important fix nonetheless. On an Axunworks setup, I seem to get a small bit of high frequency hum. I suspect this can be fixed by replacing C10 with a film capacitor as ceramic capacitors are known for generating this type of high frequency noise on switching inverters like this one.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Arcade Hardware Hacking: Part I</title>
		<link>https://www.zdziarski.com/blog/?p=12821</link>
		
		<dc:creator><![CDATA[Jonathan Zdziarski]]></dc:creator>
		<pubDate>Mon, 28 Jul 2025 13:26:34 +0000</pubDate>
				<category><![CDATA[Gaming]]></category>
		<guid isPermaLink="false">https://www.zdziarski.com/blog/?p=12821</guid>

					<description><![CDATA[		<style>
			presto-player:not(.hydrated) {
  position: relative;
  background: rgba(0, 0, 0, 0.1);
  width: 100%;
  display: block;
  aspect-ratio: var(--presto-player-aspect-ratio, 16/9);
}

presto-player:not(.hydrated) .presto-loader {
  display: block;
}

.presto-block-video:not(.presto-sticky-parent) {
  border-radius: var(--presto-player-border-radius, 0px);
  overflow: hidden;
  transform: translateZ(0);
}

/* Safari-specific fix - disable transform to prevent fullscreen black screen */
@supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none) {
  .presto-block-video:not(.presto-sticky-parent) {
    transform: none;
  }
}

.presto-block-video.presto-provider-audio {
  overflow: visible;
}

.presto-block-video .presto-sticky-parent {
  overflow: auto;
  transform: none;
}

.presto-sticky-parent {
  z-index: 99998 !important;
}

.presto-player-fullscreen-open {
  z-index: 9999999 !important;
  overflow: visible !important;
  transform: none !important;
}


presto-playlist,
presto-player-skeleton,
presto-timestamp,
presto-video-curtain-ui,
presto-search-bar-ui,
presto-player-button,
presto-cta-overlay-ui,
presto-video,
presto-action-bar-ui,
presto-youtube-subscribe-button,
presto-email-overlay-ui,
presto-player-spinner,
presto-action-bar,
presto-cta-overlay,
presto-email-overlay,
presto-bunny,
presto-dynamic-overlays,
presto-search-bar,
presto-youtube,
presto-audio,
presto-business-skin,
presto-modern-skin,
presto-muted-overlay,
presto-stacked-skin,
presto-vimeo,
presto-action-bar-controller,
presto-cta-overlay-controller,
presto-email-overlay-controller,
presto-dynamic-overlay-ui,
presto-player,
presto-playlist-item,
presto-playlist-overlay,
presto-playlist-ui {
  visibility: hidden;
}

.hydrated {
  visibility: inherit;
}		</style>
				<style>
			presto-player:not(.hydrated) {
  position: relative;
  background: rgba(0, 0, 0, 0.1);
  width: 100%;
  display: block;
  aspect-ratio: var(--presto-player-aspect-ratio, 16/9);
}

presto-player:not(.hydrated) .presto-loader {
  display: block;
}

.presto-block-video:not(.presto-sticky-parent) {
  border-radius: var(--presto-player-border-radius, 0px);
  overflow: hidden;
  transform: translateZ(0);
}

/* Safari-specific fix - disable transform to prevent fullscreen black screen */
@supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none) {
  .presto-block-video:not(.presto-sticky-parent) {
    transform: none;
  }
}

.presto-block-video.presto-provider-audio {
  overflow: visible;
}

.presto-block-video .presto-sticky-parent {
  overflow: auto;
  transform: none;
}

.presto-sticky-parent {
  z-index: 99998 !important;
}

.presto-player-fullscreen-open {
  z-index: 9999999 !important;
  overflow: visible !important;
  transform: none !important;
}


presto-playlist,
presto-player-skeleton,
presto-timestamp,
presto-video-curtain-ui,
presto-search-bar-ui,
presto-player-button,
presto-cta-overlay-ui,
presto-video,
presto-action-bar-ui,
presto-youtube-subscribe-button,
presto-email-overlay-ui,
presto-player-spinner,
presto-action-bar,
presto-cta-overlay,
presto-email-overlay,
presto-bunny,
presto-dynamic-overlays,
presto-search-bar,
presto-youtube,
presto-audio,
presto-business-skin,
presto-modern-skin,
presto-muted-overlay,
presto-stacked-skin,
presto-vimeo,
presto-action-bar-controller,
presto-cta-overlay-controller,
presto-email-overlay-controller,
presto-dynamic-overlay-ui,
presto-player,
presto-playlist-item,
presto-playlist-overlay,
presto-playlist-ui {
  visibility: hidden;
}

.hydrated {
  visibility: inherit;
}		</style>
				<style>
			presto-player:not(.hydrated) {
  position: relative;
  background: rgba(0, 0, 0, 0.1);
  width: 100%;
  display: block;
  aspect-ratio: var(--presto-player-aspect-ratio, 16/9);
}

presto-player:not(.hydrated) .presto-loader {
  display: block;
}

.presto-block-video:not(.presto-sticky-parent) {
  border-radius: var(--presto-player-border-radius, 0px);
  overflow: hidden;
  transform: translateZ(0);
}

/* Safari-specific fix - disable transform to prevent fullscreen black screen */
@supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none) {
  .presto-block-video:not(.presto-sticky-parent) {
    transform: none;
  }
}

.presto-block-video.presto-provider-audio {
  overflow: visible;
}

.presto-block-video .presto-sticky-parent {
  overflow: auto;
  transform: none;
}

.presto-sticky-parent {
  z-index: 99998 !important;
}

.presto-player-fullscreen-open {
  z-index: 9999999 !important;
  overflow: visible !important;
  transform: none !important;
}


presto-playlist,
presto-player-skeleton,
presto-timestamp,
presto-video-curtain-ui,
presto-search-bar-ui,
presto-player-button,
presto-cta-overlay-ui,
presto-video,
presto-action-bar-ui,
presto-youtube-subscribe-button,
presto-email-overlay-ui,
presto-player-spinner,
presto-action-bar,
presto-cta-overlay,
presto-email-overlay,
presto-bunny,
presto-dynamic-overlays,
presto-search-bar,
presto-youtube,
presto-audio,
presto-business-skin,
presto-modern-skin,
presto-muted-overlay,
presto-stacked-skin,
presto-vimeo,
presto-action-bar-controller,
presto-cta-overlay-controller,
presto-email-overlay-controller,
presto-dynamic-overlay-ui,
presto-player,
presto-playlist-item,
presto-playlist-overlay,
presto-playlist-ui {
  visibility: hidden;
}

.hydrated {
  visibility: inherit;
}		</style>
		<p><strong>Temple of Doom and TRON to JAMMA Conversion</strong></p>
<p style="text-align: right;"><a class="underline" href="https://www.zdziarski.com/blog/?p=13229">Arcade Hardware Hacking: Part II</a></p>
<p style="text-align: right;"><a class="underline" href="https://www.zdziarski.com/blog/?p=13373">Arcade Hardware Hacking: Part III</a></p>
<p>I&#8217;ve been dabbling a bit in amateur EE this summer as my interest in rehabbing arcade games has recently hit a peak. It started with this 40-year old trashed Indiana Jones: Temple of Doom Atari System 1 board I found for cheap. If the seller says, &#8220;was working last time I played it, but don&#8217;t have the ability to test it now&#8221;, that&#8217;s code for &#8220;I backed over it with my car&#8221;, and &#8220;it&#8217;s trashed and I need plausible deniability for financial reasons&#8221;. Nevertheless, it&#8217;s a pretty rare find and was one of the three arcade games I remember playing with my dad at the pizza joint before he got too sick, so the game has a lot of sentimental value. Even broken, a complete System 1 with IJ board was a steal for a few hundred bucks. Over the course of a few weeks and hours of reading through schematics, I identified and replaced a total of 11 bad ICs &#8211; probably the result of a past power surge. I finally got it running 100% after fixing a whole laundry list of things: sprites, audio, VRAM, NVRAM, speech synthesis, FM synthesis, multiplexers, and address lines.</p>
<h2>JAMMA. Why&#8217;d it have to be JAMMA.</h2>
<p>JAMMA is an industry standard for arcade games, introduced to make it easier (and cheaper) to swap games and controls out without having to use an entirely different cabinet. It&#8217;s also what modern at-home systems (a &#8220;Super Gun&#8221; or a &#8220;Mini Gun&#8221;) use to play old video game boards on your own setup at home. A Super Gun interfaces with the JAMMA edge on a game board and supplies the necessary voltages and inputs, and plumbs the video and sound out to something that can be rendered on a monitor or CRT. My Super Gun (I own an Axunworks and a HAS, though I prefer Axunworks) sits on a coffee table in my office with an 18″ 1080p monitor, an OSSC Pro scaler, and four Nintendo Pro controllers using BlueRetro receivers. So as old arcade cabinets continue to rot, fall apart, or be exiled to the basement by now-married man-children&#8217;s wives, a conversion to JAMMA means that we can preserve some excellent games, allowing the community to play the boards on a modern TV without needing to keep (and upkeep) the very large wooden cabinets they used to come in &#8211; many of which were sadly generic. I usually mount my boards on acrylic to protect them at the front and back; this also lets me manage them like giant cartridges, rather than a stack of PCBs.</p>
<p><span id="more-12821"></span></p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2073.jpeg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-12930" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2073-300x285.jpeg" alt="" width="300" height="285" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2073-300x285.jpeg 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2073.jpeg 758w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p style="text-align: center;"><em>JAMMA Edge Wiring Pinout</em></p>
<p>Older games didn&#8217;t use the JAMMA standard, but whatever proprietary system the manufacturer came up with. Because there&#8217;s no JAMMA converter board for Atari System 1 games, I had to patch it into a JAMMA edge by hand. Most of this simply means reading the schematics and identifying what Atari System 1 pins map to which JAMMA edge pads. There was a catch though, specifically with Indiana Jones. After wiring everything up, I quickly found the directional pins were active-high (expecting +5V to a pin to move Indy). This is a problem, as JAMMA is active-low (grounding out the +5V on the pin to move Indy). Thus, my first foray into circuit building involved a 74LS04 (hex inverter, or less formally, &#8220;six NOT gates&#8221;) and a soldering iron.</p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/74LS04.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-13059 size-medium" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/74LS04-300x196.png" alt="" width="300" height="196" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/74LS04-300x196.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/74LS04-1024x670.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/74LS04-768x503.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/74LS04.png 1430w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><em>74LS04 Pinout</em></p>
<p>ICs may sound a little intimidating at first, but 80s hardware was one of the most clean analogues for modern software. As you can see in the above pinout, your output is simply the NOT of your input. The 74LS series is a low-power logic class (Low Power Schottky) operating at 5v, with 2.5v being roughly the voltage that logic changes between true and false. So anything in the low voltage range (usually 0-1v) equates to false, while higher voltage (usually 4-5v) equates to true.</p>
<p>This is sort of what is meant by the term &#8220;active high&#8221; vs. &#8220;active low&#8221;; some circuits are switched when the voltage is low (using pull-up resistors), others high, depending on their design. The Atari System 1&#8217;s logic specifically for my IJ is active high, meaning Indy only moves when the voltage is high on the pins; the JAMMA standard is almost the opposite, where the corresponding pins normally float open at +2.5V when he&#8217;s not moving, and are grounded out when a button is pressed to make a character move. Hence the NOT gates were used to flip that logic. The LS04 receives 5v at its Vcc (&#8220;voltage at common collector&#8221;), and each output pin receives either close to 0v or 5v &#8211; whichever is the NOT of the input pin. When an input pin can be left floating, you should apply what&#8217;s called a &#8220;pull-up resistor&#8221; to bring it up to 5V, until it&#8217;s eventually grounded out when a button is pressed. I&#8217;ve been using 4K7 resistors for this, as it seems to be what many video game manufacturers also used.</p>
<p>You can see my little LS04 circuit on the smaller PCB. With the schematics in hand, some Molex wiring work, and a little op-amp from Amazon, I was able to play it on my coffee table. I still suck.</p>
<p>&#160;</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij4-scaled.jpg"><img loading="lazy" decoding="async" class="aligncenter wp-image-12822 size-large" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij4-1024x768.jpg" alt="" width="1024" height="768" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij4-1024x768.jpg 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij4-300x225.jpg 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij4-768x576.jpg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij4-1536x1152.jpg 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij4-2048x1536.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij3-scaled.jpg"><img loading="lazy" decoding="async" class="alignnone size-thumbnail wp-image-12825" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij3-150x150.jpg" alt="" width="150" height="150" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij3-150x150.jpg 150w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij3-400x400.jpg 400w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij1-scaled.jpg"><img loading="lazy" decoding="async" class="alignnone size-thumbnail wp-image-12823" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij1-150x150.jpg" alt="" width="150" height="150" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij1-150x150.jpg 150w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij1-400x400.jpg 400w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij2-scaled.jpg"><img loading="lazy" decoding="async" class="alignnone size-thumbnail wp-image-12824" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij2-150x150.jpg" alt="" width="150" height="150" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij2-150x150.jpg 150w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij2-400x400.jpg 400w" sizes="auto, (max-width: 150px) 100vw, 150px" /> </a><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2693.jpeg"><img loading="lazy" decoding="async" class="alignnone size-thumbnail wp-image-12932" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2693-150x150.jpeg" alt="" width="150" height="150" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2693-150x150.jpeg 150w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2693-400x400.jpeg 400w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a></p>
<p>&#160;</p>
<h2>Hold on to your potatoes</h2>
<p>This got me thinking, what other arcade boards are out there that don&#8217;t have JAMMA converter boards for them yet? Well, Disney&#8217;s third TRON movie, TRON: Ares, is coming soon&#8230; I&#8217;m really hoping they didn&#8217;t turn this one into a musical. So I decided to tackle an old TRON board from 1982. TRON is more involved a conversion to JAMMA, because the original arcade game has a spinner control. The spinner is driven by an optical encoder, which nobody&#8217;s really taken the time to reverse engineer. There are also a few smaller quirks with TRON. The video signal has a separate H and V sync, and so these need to be combined into a composite sync to work with a modern Super Gun. TRON also takes advantage of stereo audio, and requires both channels to hear all of the sounds (it actually has two synthesizer chips that operate together to generate music); JAMMA is inherently mono, and so the audio channels need to be combined. So to make TRON work, we need at least three circuits:</p>
<ol>
<li>A video sync combiner (H+V Sync = Composite Sync)</li>
<li>A stereo-to-mono circuit</li>
<li>A circuit to emulate the spinner control with a game pad</li>
</ol>
<p>Additionally, an external amplifier is needed for sound.</p>
<p>There are a few other less significant things I discovered you don&#8217;t really need to interface with a JAMMA board; for example, the reset circuit requires +5v for only a few seconds when the game boots. I find that the game boots most of the time without it, and when it doesn&#8217;t, there&#8217;s a reset switch right on the main board that can be pressed.</p>
<h3>Stereo to Mono</h3>
<p>The first and easiest circuit to tackle is a stereo-to-mono converter. This can be built with just a couple of 470R (470 ohm) resistors. Each channel goes in at one end, and you combine the lines at the other end to make your mono circuit. The resistors protect the audio on the board from receiving too much current from each other; the audio channel could get damaged otherwise. I had initially attempted this with 1K resistors, but the sound was too quiet. Same with Indiana Jones, although I discovered later that the left and right channels in IJ are identical, so you can get away just using one channel.</p>
<h3>Composite Sync</h3>
<p>To build a composite sync out of separate H and V syncs, the two need to be combined such that the signal is only low when either H or V sync is low. A sync combiner is most commonly built as an NXOR circuit. For this, I used a different IC &#8211; 74LS86 (quad XOR IC). The LS86 is another simple IC that comes with four XOR gates, each with two inputs and one output.</p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/74LS86.png"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-13060" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/74LS86-300x187.png" alt="" width="300" height="187" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/74LS86-300x187.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/74LS86-1024x638.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/74LS86-768x479.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/74LS86-960x600.png 960w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/74LS86.png 1444w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><em>75LS86 Pinout</em></p>
<p>To combine syncs, you&#8217;ll use two of the four XOR gates. For the first, you feed in H and V sync lines, and your output is the XOR of the two. Then, to turn it into an NXOR, take the output of that gate and feed it into another XOR gate on one input, with your +5v line as the other input. The output is a composite sync going to the JAMMA edge.</p>
<h2>You want games? I&#8217;ll give you games&#8230;</h2>
<p>Now we&#8217;re getting into the challenging bits of this challenge. How could we emulate the spinner control, so that Tron&#8217;s arm moves in any direction? I didn&#8217;t want to have to buy a spinner and use a different set of controls; what I wanted was to map one button to move his arm counter-clockwise, and another button to move it clockwise so I could play on a gamepad.</p>
<p>The schematic for the optical encoder shows a 74LS491 directly interfaces with seven pins that ultimately connect to J4 on the I/O board:</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/encoder.png"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-12826" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/encoder-1024x884.png" alt="" width="1024" height="884" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/encoder-1024x884.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/encoder-300x259.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/encoder-768x663.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/encoder-1536x1326.png 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/encoder.png 1562w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p style="text-align: center;"><em>TRON Optical Encoder Schematic (Bally/Midway)</em></p>
<p>The LS491 IC is a 10-bit counter. Slightly more sophisticated than the other ICs, it maintains an internal state. Based on the schematic, it looks like TRON is only using seven of those bits (from the LSB, so values 0-127).</p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2691.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-12910" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2691.png" alt="" width="247" height="204" /></a></p>
<p style="text-align: center;"><em>LS491 Pinout</em></p>
<p>From a software engineering perspective, think of logic chips as hardware analogues for functions, some with state. The LS491 maintains a counter state and provides crude APIs (its inputs) to increment, decrement, and set the state. If you are able to parse its output (think of it as an API contract), then you can interface with it in much the same way as a software function. In this case, our output is a mere ten bits, expressed across ten pins on the chip. We can safely ignore at least the top three MSBs, giving us seven. For an API, that&#8217;s not even a full byte!</p>
<p>After a little bit of experimenting in TRON&#8217;s Test mode, it looks like the game developers take an initial reading at boot, and sometimes at the beginning of each mini-game (like the tanks game), and then move Tron&#8217;s arm (or the tank turret) depending on whether that number goes up or down. Because those values could be anything whenever the pins are polled, there&#8217;s no specific value that corresponds to a direction. By default, whatever value it samples at the time it&#8217;s polled is mapped to 90° R. The act of turning the spinner quickly increments or decrements the value, telling the game to rotate left or right. You can go round and round, and since the board is ignoring the high 3 bits, it just keeps rolling over back to 0.</p>
<p>So an LS491 IC provides the interface (or API, or output &#8211; however you want to reason about it) to the I/O board, and however you decide to move that counter is going to determine what direction and how fast Tron&#8217;s arm moves. This gives you countless ways to design a control if you can read the LS491&#8217;s data sheet. The LS491 counts on the rising edge of the clock (CLK) pin, and the direction is determined by whether pin 9 (UP) is high or low. So both buttons need to pulse the clock, but one also needs to force the UP pin low. So whenever the CLK pin sees +5v, this is equivalent to calling a function to &#8220;do something&#8221;.</p>
<h2>They haven&#8217;t built a circuit that could hold you</h2>
<p>After a bit of trial and error, I put together a prototype board to test out. In Test mode, you can see the value of the encoder increasing or decreasing with each button press. I included an LS04 to invert the signal for UP, as I pull CLK low even when I pull UP high. As someone pointed out recently, however, I missed the fact that i could have used the last two XOR gates on the LS86 and eliminate the LS04 entirely. Just as I did with the composite sync, making one of the XOR inputs +5v turns it into a NOT gate for the other input.</p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/prototype1.jpg"><img loading="lazy" decoding="async" class="alignnone size-thumbnail wp-image-12827" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/prototype1-150x150.jpg" alt="" width="150" height="150" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/prototype1-150x150.jpg 150w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/prototype1-400x400.jpg 400w" sizes="auto, (max-width: 150px) 100vw, 150px" /> </a><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/prototype2.jpg"><img loading="lazy" decoding="async" class="alignnone size-thumbnail wp-image-12828" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/prototype2-150x150.jpg" alt="" width="150" height="150" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/prototype2-150x150.jpg 150w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/prototype2-400x400.jpg 400w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a></p>
<p>In actual game play, however, you don&#8217;t want to have to sit there and mash the buttons 64 times just to turn Tron&#8217;s arm halfway around. Ideally, you want an adjustable clock pulse to do this for you. Now the buttons on a JAMMA interface are only polled at 60hz, meaning the fastest you could map a rapid fire would be 30 times per second (e.g. one pulse high, then one pulse low, 30 times). The turbo-fire options in the BlueRetro receiver I&#8217;m using allows me to roughly hit this limit, and surprisingly makes the game quite playable &#8211; even at higher levels.</p>
<p>&#160;</p>
<p style="text-align: center;">			<video controls preload="none">
				<source src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2654_480p.mov" />
			</video>
			</p>
<p style="text-align: center;"><em>Rotation at 30hz</em></p>
<p>&#160;</p>
<p style="text-align: center;">			<video controls preload="none">
				<source src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2655_480p.mov" />
			</video>
			</p>
<p style="text-align: center;"><em>Gameplay at 30hz</em></p>
<p>To get higher frequencies, a clock pulse is needed on the line itself, rather than on the JAMMA control line. An NE555 with an adjustable duty cycle and frequency can do the job. Placing it in front of the board, powered by an inverted control button line allows much faster rotation. I implemented this with a little timer circuit sidecar I had lying around (Video 3). An oscilloscope on this line tells me the video is somewhere in the 220hz range, which seems about right given the speed of the rotation.</p>
<p>&#160;</p>
<p style="text-align: center;">			<video controls preload="none">
				<source src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2665_480p.mov" />
			</video>
			</p>
<p style="text-align: center;"><em>Rotation at ~220hz</em></p>
<h2>Positive and negative, huh? You&#8217;re a bit.</h2>
<p>But it&#8217;s not necessary to go this far. Remember when I said the LS491 was a ten (seven) bit counter? What do we do to bits if we want to multiply them? That&#8217;s right, you can speed up the rotation by simply shifting the counter bits left. Doing this will double (or quadruple, etc) your rotation speed. Re-engineering the circuit isn&#8217;t even necessary. All you have to do is move the Molex pins connecting to the board over by one (and be sure to move the key pin over as well). The granularity you lose isn&#8217;t noticeable, but you gain twice the speed. This will allow you to control Tron&#8217;s arm with your rapid fire controls instead of having to tinker with a timer circuit. I like this much better. If you don&#8217;t want to have to hold down a button at all, just keep shifting the bits over until you get the push-button rotation you want. Shifting the LSB (J1 pin 1 in the circuit below) to the 16 or 32 position will cause his arm to jump in push-button increments. Again, you only need to play with the Molex connectors, and don&#8217;t need to change the circuit at all. The unused bits simply drop off, and the bits you&#8217;re using simply roll over.</p>
<p>I rebuilt the complete circuit in KiCad.</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/tron_jamma_interface_pcb.png"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-12869" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/tron_jamma_interface_pcb-1024x931.png" alt="" width="1024" height="931" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/tron_jamma_interface_pcb-1024x931.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/tron_jamma_interface_pcb-300x273.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/tron_jamma_interface_pcb-768x698.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/tron_jamma_interface_pcb-1536x1396.png 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/tron_jamma_interface_pcb.png 1826w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p style="text-align: center;"><em>Initial prototype design</em></p>
<p>The rest of the JAMMA interface is simply connecting wires, as I said. The schematic has the layout, and there are some easier-to-read pinouts on Mike&#8217;s Arcade site for those looking to do the same. Unless you&#8217;re using a CRT, you&#8217;ll need something that can render in Scaler mode, like an OSSC Pro, to play this game as it runs at an oddball video mode.</p>
<p>It looks like Discs of Tron uses the same encoder interface, so this circuit will likely work in both games.</p>
<p>In the end, it&#8217;s worth the effort for a timeless classic.</p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2656-scaled.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-12858 size-medium" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2656-225x300.jpg" alt="" width="225" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2656-225x300.jpg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2656-768x1024.jpg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2656-1152x1536.jpg 1152w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2656-1536x2048.jpg 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2656-scaled.jpg 1920w" sizes="auto, (max-width: 225px) 100vw, 225px" />  </a><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/3-scaled.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-12832 size-medium" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/3-225x300.jpg" alt="" width="225" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/3-225x300.jpg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/3-768x1024.jpg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/3-1152x1536.jpg 1152w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/3-1536x2048.jpg 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/3-scaled.jpg 1920w" sizes="auto, (max-width: 225px) 100vw, 225px" /></a></p>
<h2>It&#8217;s not the years honey, it&#8217;s the mileage</h2>
<p>Shortly after the initial circuit, I finished a new revision of the interface board to add a low voltage amplifier and reset circuit, and make other improvements as I figure out KiCad a bit more.</p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2726.jpeg"><img loading="lazy" decoding="async" class="alignnone wp-image-12984 size-thumbnail" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2726-150x150.jpeg" alt="" width="150" height="150" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2726-150x150.jpeg 150w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2726-400x400.jpeg 400w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2724.jpeg"><img loading="lazy" decoding="async" class="alignnone wp-image-12985 size-thumbnail" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2724-150x150.jpeg" alt="" width="150" height="150" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2724-150x150.jpeg 150w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2724-400x400.jpeg 400w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2723.jpeg"><img loading="lazy" decoding="async" class="alignnone wp-image-12986 size-thumbnail" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2723-150x150.jpeg" alt="" width="150" height="150" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2723-150x150.jpeg 150w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2723-400x400.jpeg 400w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a></p>
<p style="text-align: center;"><em>Prototype interface board (Rev. 1)</em></p>
<p>The reset circuit is done with an NE555 timer chip. The goal is to deliver +5v on power on for roughly five seconds, and then shut off to boot the game. The power trickles from the small 103 capacitor into the large one, and when it fills up, power is equalized both on the trigger and the supply side. This flips a flop, cutting off the voltage so the game then boots. The duration can be lengthened by changing out the 4.7 uF capacitor for something bigger; I seem to get roughly one second per microfarad, so replacing it with a 10 uF gives me roughly ten seconds. If I use a 104 instead of a 103 capacitor, this trickle charges faster and gives me 4 seconds (4.7 uF) or 8 seconds (10 uF).</p>
<p>I plant the PCB stack on my coffee table, like one big cartridge, and so it&#8217;s easier to just use my finger to push the reset button when needed&#8230; but there&#8217;s something cool about letting the power-on circuit do it for you, just like there&#8217;s something cool about making a robot girlfriend that prepares your coffee in the morning (not that I&#8217;ve ever tried this). Nonetheless, someone installing a TRON board in a JAMMA cabinet may need a reset circuit like this when the physical button is out of reach. It&#8217;s normally handled by the MCR power supply, which I don&#8217;t use. I have found that, even with the reset circuit, sometimes the boot sequence is FUBAR. The watchdog timer on the actual board would, I believe, take care of this &#8211; but it&#8217;s quite a mickey mouse job that I have no interest in pursuing.</p>
<p>The amplifier is a simple LM386 op-amp. There are many instructions out on the Internet to wire these up. I found myself messing around with it until I got the ground correct; if you do it wrong you end up with a ground loop. The trick seems to be that both the audio return and speaker return must be connected to ground, as well as pins 2 and 4. Bridging a 10 uF capacitor between pins 1 and 8 increase the gain significantly.</p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/tron_interface_controller.png"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-12992" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/tron_interface_controller-879x1024.png" alt="" width="879" height="1024" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/tron_interface_controller-879x1024.png 879w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/tron_interface_controller-258x300.png 258w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/tron_interface_controller-768x895.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/tron_interface_controller-1319x1536.png 1319w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/tron_interface_controller.png 1420w" sizes="auto, (max-width: 879px) 100vw, 879px" /></a></p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-12993" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-257x300.png" alt="" width="257" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-257x300.png 257w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-878x1024.png 878w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-768x896.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top.png 1029w" sizes="auto, (max-width: 257px) 100vw, 257px" />  </a><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_bottom.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-12995" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_bottom-257x300.png" alt="" width="257" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_bottom-257x300.png 257w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_bottom-878x1024.png 878w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_bottom-768x896.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_bottom.png 1029w" sizes="auto, (max-width: 257px) 100vw, 257px" /></a></p>
<p style="text-align: center;"><em>Prototype design (Rev. 2), with amplifier and reset circuit</em></p>
<p>It doesn&#8217;t take too many parts to solder them together. A few resistors, caps, Molex connectors, and the ICs of course. It worked perfectly in my TRON!</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2777.jpeg"><img loading="lazy" decoding="async" class="alignnone wp-image-13066 size-medium aligncenter" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2777-225x300.jpeg" alt="" width="225" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2777-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2777-768x1024.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2777.jpeg 900w" sizes="auto, (max-width: 225px) 100vw, 225px" /></a></p>
<p style="text-align: center;"><em>Fabricated prototype interface board, assembled and operational</em></p>
<p>This type of board really is ideal for the test bench or a cabinet conversion, where you might want to wire up the MCR system directly to a CRT and controls. It isn&#8217;t ideal for an at-home JAMMA setup, though, because I still have to wire this board into a universal JAMMA edge.</p>
<h2>I Took This System to its Maximum Potential</h2>
<p>Now that I have a final design for the logic, the next step was to integrate it with a JAMMA edge so that you don&#8217;t have to Molex everything into a universal adapter. Instead of the spaghetti mess my test board is, there are now only four connectors + power going to the TRON board.</p>
<p>I&#8217;m showing you all of these to walk you through the evolution of a thought process. In reality, only a small number of these ever reached fabrication while I iterated on the design. I&#8217;m now experimenting with a final revision that removes the LS04 chip entirely, consolidates space, and groups Molex connectors by MCR grouping. I added an adjustable pulse timer, providing an easy way to set the speed of Tron&#8217;s arm without needing an external auto-fire, battery circuit, jumper headers for selecting between B2, B3, and B4 to assign to the two rotation directions, and other useful features.</p>
<p>I&#8217;m ordering a dozen in blue&#8230; and red ;)</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/Screenshot-2025-09-05-at-6.59.19-PM.png"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13322" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/Screenshot-2025-09-05-at-6.59.19-PM-1024x835.png" alt="" width="1024" height="835" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/Screenshot-2025-09-05-at-6.59.19-PM-1024x835.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/Screenshot-2025-09-05-at-6.59.19-PM-300x245.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/Screenshot-2025-09-05-at-6.59.19-PM-768x626.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/Screenshot-2025-09-05-at-6.59.19-PM-1536x1253.png 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/Screenshot-2025-09-05-at-6.59.19-PM.png 2008w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13323" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-1-300x244.png" alt="" width="300" height="244" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-1-300x244.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-1-1024x833.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-1-768x625.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-1.png 1200w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a>  <a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_red_top.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13325" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_red_top-300x244.png" alt="" width="300" height="244" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_red_top-300x244.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_red_top-1024x833.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_red_top-768x625.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_red_top.png 1200w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p style="text-align: center;"><em>TRON-to-JAMMA Edge Adapter, Final Design</em></p>
<p>Latest prototype arrived today. Tests correctly. One more prototype on its way, then I&#8217;ll order the production boards.</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2973.jpeg"><img loading="lazy" decoding="async" class="aligncenter wp-image-13311 size-large" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2973-1024x768.jpeg" alt="" width="1024" height="768" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2973-1024x768.jpeg 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2973-300x225.jpeg 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2973-768x576.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2973.jpeg 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p>&#160;</p>
<p style="text-align: center;"><em><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_3494-scaled.jpeg"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13686" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_3494-768x1024.jpeg" alt="" width="768" height="1024" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_3494-768x1024.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_3494-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_3494-1152x1536.jpeg 1152w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_3494-1536x2048.jpeg 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_3494-scaled.jpeg 1920w" sizes="auto, (max-width: 768px) 100vw, 768px" /></a><br />
Latest prototype fabrication</em></p>
<h2>It&#8217;s Time I Leveled With You. I&#8217;m What You Guys Call a User.</h2>
<p>If you’re interested in digging into electrical engineering, I strongly recommend the book Electronic Devices and Circuit Theory by Boylestad and Nashelsky. It&#8217;s helped a lot in understanding why any of this works, and also been helpful in developing some basic non-IC circuits, such as the signal gate I am using in the final revision. There are many great references and HOW-TO&#8217;s online as well. Prior to this work, I&#8217;d done virtually nothing worthy in hardware hacking. Within a few weeks, and with modern technology, anyone can now learn how to build and fabricate their own printed circuit boards. I&#8217;ve only scratched the surface in what one can do here. Many of the principles in modern technology have remained the same over time &#8211; just changed in scale. This is a very fun hobby to be in, particularly if you love making things.</p>
<p>Bally/Midway made some really wise choices in how they handled the spinner and in how they bridged from the analog world to digital. A lot of engineering thought probably went into just how to capture the movements they wanted for TRON. Mapping the spinner to a pair of buttons works nicely, but is a different experience than playing with arcade controls. One of the things I love about this conversion board is that it provides everything else I need to make TRON work with any JAMMA setup, so I can still decide to connect a spinner control directly to the main board if I want to.</p>
<p>Other manufacturers, such as Sega, haven&#8217;t done nearly as smart work in this space. Outrun is entirely analog, requiring potentiometers for steering. This brings me to some other ideas for chips like the LS491. If I can use it to ramp up steering on a gamepad or joystick, then it could be used to drive a DAC (digital-analog converter), delivering the correct voltages to bring games like Outrun to modern controllers.</p>
<h2>Final Production Boards</h2>
<p>They&#8217;re here! The final boards look amazing. It takes about 30-45 minutes to assemble and solder. Well worth the investment to preserve a classic arcade game.</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_3102-scaled.jpg"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13364" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_3102-1024x768.jpg" alt="" width="1024" height="768" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_3102-1024x768.jpg 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_3102-300x225.jpg 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_3102-768x576.jpg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_3102-1536x1152.jpg 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_3102-2048x1536.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<h2>Rev. 1</h2>
<p>As I mentioned in Part III, I wanted to replace the LS491 (the 10-bit counter chip Midway used) with two LS191s (4-bit counter x 2) due to the rarity and cost of the LS491. My revision 1 design incorporates these and makes a few other improvements, like adding a battery for high scores and enlarging the jumper connectors (they&#8217;re a real pain to solder!). I also simplified the design a bit by removing the gain switch, power LED, and a few other unnecessary components that bloated the board with extra parts (and time/cost to build).</p>
<p>&#160;</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-2.png"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13401" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-2-1024x911.png" alt="" width="1024" height="911" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-2-1024x911.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-2-300x267.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-2-768x684.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-2.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<h2>Repository</h2>
<p>The CAD for this file, along with other JAMMA adapters, can be found in the following repository, for non-commercial use only: <a class="underline" href="https://github.com/jzdziarski/jamma/">https://github.com/jzdziarski/jamma/</a></p>
<a class="read-more" href="https://www.zdziarski.com/blog/?p=12821" title="Read More"> <span class="button ">Read More</span></a>]]></description>
					<style>
			presto-player:not(.hydrated) {
  position: relative;
  background: rgba(0, 0, 0, 0.1);
  width: 100%;
  display: block;
  aspect-ratio: var(--presto-player-aspect-ratio, 16/9);
}

presto-player:not(.hydrated) .presto-loader {
  display: block;
}

.presto-block-video:not(.presto-sticky-parent) {
  border-radius: var(--presto-player-border-radius, 0px);
  overflow: hidden;
  transform: translateZ(0);
}

/* Safari-specific fix - disable transform to prevent fullscreen black screen */
@supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none) {
  .presto-block-video:not(.presto-sticky-parent) {
    transform: none;
  }
}

.presto-block-video.presto-provider-audio {
  overflow: visible;
}

.presto-block-video .presto-sticky-parent {
  overflow: auto;
  transform: none;
}

.presto-sticky-parent {
  z-index: 99998 !important;
}

.presto-player-fullscreen-open {
  z-index: 9999999 !important;
  overflow: visible !important;
  transform: none !important;
}


presto-playlist,
presto-player-skeleton,
presto-timestamp,
presto-video-curtain-ui,
presto-search-bar-ui,
presto-player-button,
presto-cta-overlay-ui,
presto-video,
presto-action-bar-ui,
presto-youtube-subscribe-button,
presto-email-overlay-ui,
presto-player-spinner,
presto-action-bar,
presto-cta-overlay,
presto-email-overlay,
presto-bunny,
presto-dynamic-overlays,
presto-search-bar,
presto-youtube,
presto-audio,
presto-business-skin,
presto-modern-skin,
presto-muted-overlay,
presto-stacked-skin,
presto-vimeo,
presto-action-bar-controller,
presto-cta-overlay-controller,
presto-email-overlay-controller,
presto-dynamic-overlay-ui,
presto-player,
presto-playlist-item,
presto-playlist-overlay,
presto-playlist-ui {
  visibility: hidden;
}

.hydrated {
  visibility: inherit;
}		</style>
				<style>
			presto-player:not(.hydrated) {
  position: relative;
  background: rgba(0, 0, 0, 0.1);
  width: 100%;
  display: block;
  aspect-ratio: var(--presto-player-aspect-ratio, 16/9);
}

presto-player:not(.hydrated) .presto-loader {
  display: block;
}

.presto-block-video:not(.presto-sticky-parent) {
  border-radius: var(--presto-player-border-radius, 0px);
  overflow: hidden;
  transform: translateZ(0);
}

/* Safari-specific fix - disable transform to prevent fullscreen black screen */
@supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none) {
  .presto-block-video:not(.presto-sticky-parent) {
    transform: none;
  }
}

.presto-block-video.presto-provider-audio {
  overflow: visible;
}

.presto-block-video .presto-sticky-parent {
  overflow: auto;
  transform: none;
}

.presto-sticky-parent {
  z-index: 99998 !important;
}

.presto-player-fullscreen-open {
  z-index: 9999999 !important;
  overflow: visible !important;
  transform: none !important;
}


presto-playlist,
presto-player-skeleton,
presto-timestamp,
presto-video-curtain-ui,
presto-search-bar-ui,
presto-player-button,
presto-cta-overlay-ui,
presto-video,
presto-action-bar-ui,
presto-youtube-subscribe-button,
presto-email-overlay-ui,
presto-player-spinner,
presto-action-bar,
presto-cta-overlay,
presto-email-overlay,
presto-bunny,
presto-dynamic-overlays,
presto-search-bar,
presto-youtube,
presto-audio,
presto-business-skin,
presto-modern-skin,
presto-muted-overlay,
presto-stacked-skin,
presto-vimeo,
presto-action-bar-controller,
presto-cta-overlay-controller,
presto-email-overlay-controller,
presto-dynamic-overlay-ui,
presto-player,
presto-playlist-item,
presto-playlist-overlay,
presto-playlist-ui {
  visibility: hidden;
}

.hydrated {
  visibility: inherit;
}		</style>
				<style>
			presto-player:not(.hydrated) {
  position: relative;
  background: rgba(0, 0, 0, 0.1);
  width: 100%;
  display: block;
  aspect-ratio: var(--presto-player-aspect-ratio, 16/9);
}

presto-player:not(.hydrated) .presto-loader {
  display: block;
}

.presto-block-video:not(.presto-sticky-parent) {
  border-radius: var(--presto-player-border-radius, 0px);
  overflow: hidden;
  transform: translateZ(0);
}

/* Safari-specific fix - disable transform to prevent fullscreen black screen */
@supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none) {
  .presto-block-video:not(.presto-sticky-parent) {
    transform: none;
  }
}

.presto-block-video.presto-provider-audio {
  overflow: visible;
}

.presto-block-video .presto-sticky-parent {
  overflow: auto;
  transform: none;
}

.presto-sticky-parent {
  z-index: 99998 !important;
}

.presto-player-fullscreen-open {
  z-index: 9999999 !important;
  overflow: visible !important;
  transform: none !important;
}


presto-playlist,
presto-player-skeleton,
presto-timestamp,
presto-video-curtain-ui,
presto-search-bar-ui,
presto-player-button,
presto-cta-overlay-ui,
presto-video,
presto-action-bar-ui,
presto-youtube-subscribe-button,
presto-email-overlay-ui,
presto-player-spinner,
presto-action-bar,
presto-cta-overlay,
presto-email-overlay,
presto-bunny,
presto-dynamic-overlays,
presto-search-bar,
presto-youtube,
presto-audio,
presto-business-skin,
presto-modern-skin,
presto-muted-overlay,
presto-stacked-skin,
presto-vimeo,
presto-action-bar-controller,
presto-cta-overlay-controller,
presto-email-overlay-controller,
presto-dynamic-overlay-ui,
presto-player,
presto-playlist-item,
presto-playlist-overlay,
presto-playlist-ui {
  visibility: hidden;
}

.hydrated {
  visibility: inherit;
}		</style>
									<content:encoded><![CDATA[<p><strong>Temple of Doom and TRON to JAMMA Conversion</strong></p>
<p style="text-align: right;"><a class="underline" href="https://www.zdziarski.com/blog/?p=13229">Arcade Hardware Hacking: Part II</a></p>
<p style="text-align: right;"><a class="underline" href="https://www.zdziarski.com/blog/?p=13373">Arcade Hardware Hacking: Part III</a></p>
<p>I&#8217;ve been dabbling a bit in amateur EE this summer as my interest in rehabbing arcade games has recently hit a peak. It started with this 40-year old trashed Indiana Jones: Temple of Doom Atari System 1 board I found for cheap. If the seller says, &#8220;was working last time I played it, but don&#8217;t have the ability to test it now&#8221;, that&#8217;s code for &#8220;I backed over it with my car&#8221;, and &#8220;it&#8217;s trashed and I need plausible deniability for financial reasons&#8221;. Nevertheless, it&#8217;s a pretty rare find and was one of the three arcade games I remember playing with my dad at the pizza joint before he got too sick, so the game has a lot of sentimental value. Even broken, a complete System 1 with IJ board was a steal for a few hundred bucks. Over the course of a few weeks and hours of reading through schematics, I identified and replaced a total of 11 bad ICs &#8211; probably the result of a past power surge. I finally got it running 100% after fixing a whole laundry list of things: sprites, audio, VRAM, NVRAM, speech synthesis, FM synthesis, multiplexers, and address lines.</p>
<h2>JAMMA. Why&#8217;d it have to be JAMMA.</h2>
<p>JAMMA is an industry standard for arcade games, introduced to make it easier (and cheaper) to swap games and controls out without having to use an entirely different cabinet. It&#8217;s also what modern at-home systems (a &#8220;Super Gun&#8221; or a &#8220;Mini Gun&#8221;) use to play old video game boards on your own setup at home. A Super Gun interfaces with the JAMMA edge on a game board and supplies the necessary voltages and inputs, and plumbs the video and sound out to something that can be rendered on a monitor or CRT. My Super Gun (I own an Axunworks and a HAS, though I prefer Axunworks) sits on a coffee table in my office with an 18″ 1080p monitor, an OSSC Pro scaler, and four Nintendo Pro controllers using BlueRetro receivers. So as old arcade cabinets continue to rot, fall apart, or be exiled to the basement by now-married man-children&#8217;s wives, a conversion to JAMMA means that we can preserve some excellent games, allowing the community to play the boards on a modern TV without needing to keep (and upkeep) the very large wooden cabinets they used to come in &#8211; many of which were sadly generic. I usually mount my boards on acrylic to protect them at the front and back; this also lets me manage them like giant cartridges, rather than a stack of PCBs.</p>
<p><span id="more-12821"></span></p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2073.jpeg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-12930" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2073-300x285.jpeg" alt="" width="300" height="285" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2073-300x285.jpeg 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2073.jpeg 758w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p style="text-align: center;"><em>JAMMA Edge Wiring Pinout</em></p>
<p>Older games didn&#8217;t use the JAMMA standard, but whatever proprietary system the manufacturer came up with. Because there&#8217;s no JAMMA converter board for Atari System 1 games, I had to patch it into a JAMMA edge by hand. Most of this simply means reading the schematics and identifying what Atari System 1 pins map to which JAMMA edge pads. There was a catch though, specifically with Indiana Jones. After wiring everything up, I quickly found the directional pins were active-high (expecting +5V to a pin to move Indy). This is a problem, as JAMMA is active-low (grounding out the +5V on the pin to move Indy). Thus, my first foray into circuit building involved a 74LS04 (hex inverter, or less formally, &#8220;six NOT gates&#8221;) and a soldering iron.</p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/74LS04.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-13059 size-medium" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/74LS04-300x196.png" alt="" width="300" height="196" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/74LS04-300x196.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/74LS04-1024x670.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/74LS04-768x503.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/74LS04.png 1430w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><em>74LS04 Pinout</em></p>
<p>ICs may sound a little intimidating at first, but 80s hardware was one of the most clean analogues for modern software. As you can see in the above pinout, your output is simply the NOT of your input. The 74LS series is a low-power logic class (Low Power Schottky) operating at 5v, with 2.5v being roughly the voltage that logic changes between true and false. So anything in the low voltage range (usually 0-1v) equates to false, while higher voltage (usually 4-5v) equates to true.</p>
<p>This is sort of what is meant by the term &#8220;active high&#8221; vs. &#8220;active low&#8221;; some circuits are switched when the voltage is low (using pull-up resistors), others high, depending on their design. The Atari System 1&#8217;s logic specifically for my IJ is active high, meaning Indy only moves when the voltage is high on the pins; the JAMMA standard is almost the opposite, where the corresponding pins normally float open at +2.5V when he&#8217;s not moving, and are grounded out when a button is pressed to make a character move. Hence the NOT gates were used to flip that logic. The LS04 receives 5v at its Vcc (&#8220;voltage at common collector&#8221;), and each output pin receives either close to 0v or 5v &#8211; whichever is the NOT of the input pin. When an input pin can be left floating, you should apply what&#8217;s called a &#8220;pull-up resistor&#8221; to bring it up to 5V, until it&#8217;s eventually grounded out when a button is pressed. I&#8217;ve been using 4K7 resistors for this, as it seems to be what many video game manufacturers also used.</p>
<p>You can see my little LS04 circuit on the smaller PCB. With the schematics in hand, some Molex wiring work, and a little op-amp from Amazon, I was able to play it on my coffee table. I still suck.</p>
<p>&nbsp;</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij4-scaled.jpg"><img loading="lazy" decoding="async" class="aligncenter wp-image-12822 size-large" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij4-1024x768.jpg" alt="" width="1024" height="768" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij4-1024x768.jpg 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij4-300x225.jpg 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij4-768x576.jpg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij4-1536x1152.jpg 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij4-2048x1536.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij3-scaled.jpg"><img loading="lazy" decoding="async" class="alignnone size-thumbnail wp-image-12825" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij3-150x150.jpg" alt="" width="150" height="150" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij3-150x150.jpg 150w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij3-400x400.jpg 400w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij1-scaled.jpg"><img loading="lazy" decoding="async" class="alignnone size-thumbnail wp-image-12823" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij1-150x150.jpg" alt="" width="150" height="150" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij1-150x150.jpg 150w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij1-400x400.jpg 400w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij2-scaled.jpg"><img loading="lazy" decoding="async" class="alignnone size-thumbnail wp-image-12824" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij2-150x150.jpg" alt="" width="150" height="150" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij2-150x150.jpg 150w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/ij2-400x400.jpg 400w" sizes="auto, (max-width: 150px) 100vw, 150px" /> </a><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2693.jpeg"><img loading="lazy" decoding="async" class="alignnone size-thumbnail wp-image-12932" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2693-150x150.jpeg" alt="" width="150" height="150" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2693-150x150.jpeg 150w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2693-400x400.jpeg 400w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a></p>
<p>&nbsp;</p>
<h2>Hold on to your potatoes</h2>
<p>This got me thinking, what other arcade boards are out there that don&#8217;t have JAMMA converter boards for them yet? Well, Disney&#8217;s third TRON movie, TRON: Ares, is coming soon&#8230; I&#8217;m really hoping they didn&#8217;t turn this one into a musical. So I decided to tackle an old TRON board from 1982. TRON is more involved a conversion to JAMMA, because the original arcade game has a spinner control. The spinner is driven by an optical encoder, which nobody&#8217;s really taken the time to reverse engineer. There are also a few smaller quirks with TRON. The video signal has a separate H and V sync, and so these need to be combined into a composite sync to work with a modern Super Gun. TRON also takes advantage of stereo audio, and requires both channels to hear all of the sounds (it actually has two synthesizer chips that operate together to generate music); JAMMA is inherently mono, and so the audio channels need to be combined. So to make TRON work, we need at least three circuits:</p>
<ol>
<li>A video sync combiner (H+V Sync = Composite Sync)</li>
<li>A stereo-to-mono circuit</li>
<li>A circuit to emulate the spinner control with a game pad</li>
</ol>
<p>Additionally, an external amplifier is needed for sound.</p>
<p>There are a few other less significant things I discovered you don&#8217;t really need to interface with a JAMMA board; for example, the reset circuit requires +5v for only a few seconds when the game boots. I find that the game boots most of the time without it, and when it doesn&#8217;t, there&#8217;s a reset switch right on the main board that can be pressed.</p>
<h3>Stereo to Mono</h3>
<p>The first and easiest circuit to tackle is a stereo-to-mono converter. This can be built with just a couple of 470R (470 ohm) resistors. Each channel goes in at one end, and you combine the lines at the other end to make your mono circuit. The resistors protect the audio on the board from receiving too much current from each other; the audio channel could get damaged otherwise. I had initially attempted this with 1K resistors, but the sound was too quiet. Same with Indiana Jones, although I discovered later that the left and right channels in IJ are identical, so you can get away just using one channel.</p>
<h3>Composite Sync</h3>
<p>To build a composite sync out of separate H and V syncs, the two need to be combined such that the signal is only low when either H or V sync is low. A sync combiner is most commonly built as an NXOR circuit. For this, I used a different IC &#8211; 74LS86 (quad XOR IC). The LS86 is another simple IC that comes with four XOR gates, each with two inputs and one output.</p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/74LS86.png"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-13060" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/74LS86-300x187.png" alt="" width="300" height="187" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/74LS86-300x187.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/74LS86-1024x638.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/74LS86-768x479.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/74LS86-960x600.png 960w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/74LS86.png 1444w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><em>75LS86 Pinout</em></p>
<p>To combine syncs, you&#8217;ll use two of the four XOR gates. For the first, you feed in H and V sync lines, and your output is the XOR of the two. Then, to turn it into an NXOR, take the output of that gate and feed it into another XOR gate on one input, with your +5v line as the other input. The output is a composite sync going to the JAMMA edge.</p>
<h2>You want games? I&#8217;ll give you games&#8230;</h2>
<p>Now we&#8217;re getting into the challenging bits of this challenge. How could we emulate the spinner control, so that Tron&#8217;s arm moves in any direction? I didn&#8217;t want to have to buy a spinner and use a different set of controls; what I wanted was to map one button to move his arm counter-clockwise, and another button to move it clockwise so I could play on a gamepad.</p>
<p>The schematic for the optical encoder shows a 74LS491 directly interfaces with seven pins that ultimately connect to J4 on the I/O board:</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/encoder.png"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-12826" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/encoder-1024x884.png" alt="" width="1024" height="884" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/encoder-1024x884.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/encoder-300x259.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/encoder-768x663.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/encoder-1536x1326.png 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/encoder.png 1562w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p style="text-align: center;"><em>TRON Optical Encoder Schematic (Bally/Midway)</em></p>
<p>The LS491 IC is a 10-bit counter. Slightly more sophisticated than the other ICs, it maintains an internal state. Based on the schematic, it looks like TRON is only using seven of those bits (from the LSB, so values 0-127).</p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2691.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-12910" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2691.png" alt="" width="247" height="204" /></a></p>
<p style="text-align: center;"><em>LS491 Pinout</em></p>
<p>From a software engineering perspective, think of logic chips as hardware analogues for functions, some with state. The LS491 maintains a counter state and provides crude APIs (its inputs) to increment, decrement, and set the state. If you are able to parse its output (think of it as an API contract), then you can interface with it in much the same way as a software function. In this case, our output is a mere ten bits, expressed across ten pins on the chip. We can safely ignore at least the top three MSBs, giving us seven. For an API, that&#8217;s not even a full byte!</p>
<p>After a little bit of experimenting in TRON&#8217;s Test mode, it looks like the game developers take an initial reading at boot, and sometimes at the beginning of each mini-game (like the tanks game), and then move Tron&#8217;s arm (or the tank turret) depending on whether that number goes up or down. Because those values could be anything whenever the pins are polled, there&#8217;s no specific value that corresponds to a direction. By default, whatever value it samples at the time it&#8217;s polled is mapped to 90° R. The act of turning the spinner quickly increments or decrements the value, telling the game to rotate left or right. You can go round and round, and since the board is ignoring the high 3 bits, it just keeps rolling over back to 0.</p>
<p>So an LS491 IC provides the interface (or API, or output &#8211; however you want to reason about it) to the I/O board, and however you decide to move that counter is going to determine what direction and how fast Tron&#8217;s arm moves. This gives you countless ways to design a control if you can read the LS491&#8217;s data sheet. The LS491 counts on the rising edge of the clock (CLK) pin, and the direction is determined by whether pin 9 (UP) is high or low. So both buttons need to pulse the clock, but one also needs to force the UP pin low. So whenever the CLK pin sees +5v, this is equivalent to calling a function to &#8220;do something&#8221;.</p>
<h2>They haven&#8217;t built a circuit that could hold you</h2>
<p>After a bit of trial and error, I put together a prototype board to test out. In Test mode, you can see the value of the encoder increasing or decreasing with each button press. I included an LS04 to invert the signal for UP, as I pull CLK low even when I pull UP high. As someone pointed out recently, however, I missed the fact that i could have used the last two XOR gates on the LS86 and eliminate the LS04 entirely. Just as I did with the composite sync, making one of the XOR inputs +5v turns it into a NOT gate for the other input.</p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/prototype1.jpg"><img loading="lazy" decoding="async" class="alignnone size-thumbnail wp-image-12827" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/prototype1-150x150.jpg" alt="" width="150" height="150" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/prototype1-150x150.jpg 150w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/prototype1-400x400.jpg 400w" sizes="auto, (max-width: 150px) 100vw, 150px" /> </a><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/prototype2.jpg"><img loading="lazy" decoding="async" class="alignnone size-thumbnail wp-image-12828" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/prototype2-150x150.jpg" alt="" width="150" height="150" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/prototype2-150x150.jpg 150w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/prototype2-400x400.jpg 400w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a></p>
<p>In actual game play, however, you don&#8217;t want to have to sit there and mash the buttons 64 times just to turn Tron&#8217;s arm halfway around. Ideally, you want an adjustable clock pulse to do this for you. Now the buttons on a JAMMA interface are only polled at 60hz, meaning the fastest you could map a rapid fire would be 30 times per second (e.g. one pulse high, then one pulse low, 30 times). The turbo-fire options in the BlueRetro receiver I&#8217;m using allows me to roughly hit this limit, and surprisingly makes the game quite playable &#8211; even at higher levels.</p>
<p>&nbsp;</p>
<p style="text-align: center;">			<video controls preload="none">
				<source src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2654_480p.mov" />
			</video>
			</p>
<p style="text-align: center;"><em>Rotation at 30hz</em></p>
<p>&nbsp;</p>
<p style="text-align: center;">			<video controls preload="none">
				<source src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2655_480p.mov" />
			</video>
			</p>
<p style="text-align: center;"><em>Gameplay at 30hz</em></p>
<p>To get higher frequencies, a clock pulse is needed on the line itself, rather than on the JAMMA control line. An NE555 with an adjustable duty cycle and frequency can do the job. Placing it in front of the board, powered by an inverted control button line allows much faster rotation. I implemented this with a little timer circuit sidecar I had lying around (Video 3). An oscilloscope on this line tells me the video is somewhere in the 220hz range, which seems about right given the speed of the rotation.</p>
<p>&nbsp;</p>
<p style="text-align: center;">			<video controls preload="none">
				<source src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2665_480p.mov" />
			</video>
			</p>
<p style="text-align: center;"><em>Rotation at ~220hz</em></p>
<h2>Positive and negative, huh? You&#8217;re a bit.</h2>
<p>But it&#8217;s not necessary to go this far. Remember when I said the LS491 was a ten (seven) bit counter? What do we do to bits if we want to multiply them? That&#8217;s right, you can speed up the rotation by simply shifting the counter bits left. Doing this will double (or quadruple, etc) your rotation speed. Re-engineering the circuit isn&#8217;t even necessary. All you have to do is move the Molex pins connecting to the board over by one (and be sure to move the key pin over as well). The granularity you lose isn&#8217;t noticeable, but you gain twice the speed. This will allow you to control Tron&#8217;s arm with your rapid fire controls instead of having to tinker with a timer circuit. I like this much better. If you don&#8217;t want to have to hold down a button at all, just keep shifting the bits over until you get the push-button rotation you want. Shifting the LSB (J1 pin 1 in the circuit below) to the 16 or 32 position will cause his arm to jump in push-button increments. Again, you only need to play with the Molex connectors, and don&#8217;t need to change the circuit at all. The unused bits simply drop off, and the bits you&#8217;re using simply roll over.</p>
<p>I rebuilt the complete circuit in KiCad.</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/tron_jamma_interface_pcb.png"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-12869" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/tron_jamma_interface_pcb-1024x931.png" alt="" width="1024" height="931" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/tron_jamma_interface_pcb-1024x931.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/tron_jamma_interface_pcb-300x273.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/tron_jamma_interface_pcb-768x698.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/tron_jamma_interface_pcb-1536x1396.png 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/tron_jamma_interface_pcb.png 1826w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p style="text-align: center;"><em>Initial prototype design</em></p>
<p>The rest of the JAMMA interface is simply connecting wires, as I said. The schematic has the layout, and there are some easier-to-read pinouts on Mike&#8217;s Arcade site for those looking to do the same. Unless you&#8217;re using a CRT, you&#8217;ll need something that can render in Scaler mode, like an OSSC Pro, to play this game as it runs at an oddball video mode.</p>
<p>It looks like Discs of Tron uses the same encoder interface, so this circuit will likely work in both games.</p>
<p>In the end, it&#8217;s worth the effort for a timeless classic.</p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2656-scaled.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-12858 size-medium" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2656-225x300.jpg" alt="" width="225" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2656-225x300.jpg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2656-768x1024.jpg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2656-1152x1536.jpg 1152w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2656-1536x2048.jpg 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2656-scaled.jpg 1920w" sizes="auto, (max-width: 225px) 100vw, 225px" />  </a><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/3-scaled.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-12832 size-medium" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/3-225x300.jpg" alt="" width="225" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/3-225x300.jpg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/3-768x1024.jpg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/3-1152x1536.jpg 1152w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/3-1536x2048.jpg 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/3-scaled.jpg 1920w" sizes="auto, (max-width: 225px) 100vw, 225px" /></a></p>
<h2>It&#8217;s not the years honey, it&#8217;s the mileage</h2>
<p>Shortly after the initial circuit, I finished a new revision of the interface board to add a low voltage amplifier and reset circuit, and make other improvements as I figure out KiCad a bit more.</p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2726.jpeg"><img loading="lazy" decoding="async" class="alignnone wp-image-12984 size-thumbnail" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2726-150x150.jpeg" alt="" width="150" height="150" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2726-150x150.jpeg 150w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2726-400x400.jpeg 400w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2724.jpeg"><img loading="lazy" decoding="async" class="alignnone wp-image-12985 size-thumbnail" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2724-150x150.jpeg" alt="" width="150" height="150" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2724-150x150.jpeg 150w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2724-400x400.jpeg 400w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2723.jpeg"><img loading="lazy" decoding="async" class="alignnone wp-image-12986 size-thumbnail" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2723-150x150.jpeg" alt="" width="150" height="150" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2723-150x150.jpeg 150w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2723-400x400.jpeg 400w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a></p>
<p style="text-align: center;"><em>Prototype interface board (Rev. 1)</em></p>
<p>The reset circuit is done with an NE555 timer chip. The goal is to deliver +5v on power on for roughly five seconds, and then shut off to boot the game. The power trickles from the small 103 capacitor into the large one, and when it fills up, power is equalized both on the trigger and the supply side. This flips a flop, cutting off the voltage so the game then boots. The duration can be lengthened by changing out the 4.7 uF capacitor for something bigger; I seem to get roughly one second per microfarad, so replacing it with a 10 uF gives me roughly ten seconds. If I use a 104 instead of a 103 capacitor, this trickle charges faster and gives me 4 seconds (4.7 uF) or 8 seconds (10 uF).</p>
<p>I plant the PCB stack on my coffee table, like one big cartridge, and so it&#8217;s easier to just use my finger to push the reset button when needed&#8230; but there&#8217;s something cool about letting the power-on circuit do it for you, just like there&#8217;s something cool about making a robot girlfriend that prepares your coffee in the morning (not that I&#8217;ve ever tried this). Nonetheless, someone installing a TRON board in a JAMMA cabinet may need a reset circuit like this when the physical button is out of reach. It&#8217;s normally handled by the MCR power supply, which I don&#8217;t use. I have found that, even with the reset circuit, sometimes the boot sequence is FUBAR. The watchdog timer on the actual board would, I believe, take care of this &#8211; but it&#8217;s quite a mickey mouse job that I have no interest in pursuing.</p>
<p>The amplifier is a simple LM386 op-amp. There are many instructions out on the Internet to wire these up. I found myself messing around with it until I got the ground correct; if you do it wrong you end up with a ground loop. The trick seems to be that both the audio return and speaker return must be connected to ground, as well as pins 2 and 4. Bridging a 10 uF capacitor between pins 1 and 8 increase the gain significantly.</p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/tron_interface_controller.png"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-12992" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/tron_interface_controller-879x1024.png" alt="" width="879" height="1024" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/tron_interface_controller-879x1024.png 879w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/tron_interface_controller-258x300.png 258w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/tron_interface_controller-768x895.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/tron_interface_controller-1319x1536.png 1319w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/tron_interface_controller.png 1420w" sizes="auto, (max-width: 879px) 100vw, 879px" /></a></p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-12993" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-257x300.png" alt="" width="257" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-257x300.png 257w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-878x1024.png 878w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-768x896.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top.png 1029w" sizes="auto, (max-width: 257px) 100vw, 257px" />  </a><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_bottom.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-12995" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_bottom-257x300.png" alt="" width="257" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_bottom-257x300.png 257w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_bottom-878x1024.png 878w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_bottom-768x896.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_bottom.png 1029w" sizes="auto, (max-width: 257px) 100vw, 257px" /></a></p>
<p style="text-align: center;"><em>Prototype design (Rev. 2), with amplifier and reset circuit</em></p>
<p>It doesn&#8217;t take too many parts to solder them together. A few resistors, caps, Molex connectors, and the ICs of course. It worked perfectly in my TRON!</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2777.jpeg"><img loading="lazy" decoding="async" class="alignnone wp-image-13066 size-medium aligncenter" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2777-225x300.jpeg" alt="" width="225" height="300" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2777-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2777-768x1024.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2777.jpeg 900w" sizes="auto, (max-width: 225px) 100vw, 225px" /></a></p>
<p style="text-align: center;"><em>Fabricated prototype interface board, assembled and operational</em></p>
<p>This type of board really is ideal for the test bench or a cabinet conversion, where you might want to wire up the MCR system directly to a CRT and controls. It isn&#8217;t ideal for an at-home JAMMA setup, though, because I still have to wire this board into a universal JAMMA edge.</p>
<h2>I Took This System to its Maximum Potential</h2>
<p>Now that I have a final design for the logic, the next step was to integrate it with a JAMMA edge so that you don&#8217;t have to Molex everything into a universal adapter. Instead of the spaghetti mess my test board is, there are now only four connectors + power going to the TRON board.</p>
<p>I&#8217;m showing you all of these to walk you through the evolution of a thought process. In reality, only a small number of these ever reached fabrication while I iterated on the design. I&#8217;m now experimenting with a final revision that removes the LS04 chip entirely, consolidates space, and groups Molex connectors by MCR grouping. I added an adjustable pulse timer, providing an easy way to set the speed of Tron&#8217;s arm without needing an external auto-fire, battery circuit, jumper headers for selecting between B2, B3, and B4 to assign to the two rotation directions, and other useful features.</p>
<p>I&#8217;m ordering a dozen in blue&#8230; and red ;)</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/Screenshot-2025-09-05-at-6.59.19-PM.png"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13322" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/Screenshot-2025-09-05-at-6.59.19-PM-1024x835.png" alt="" width="1024" height="835" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/Screenshot-2025-09-05-at-6.59.19-PM-1024x835.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/Screenshot-2025-09-05-at-6.59.19-PM-300x245.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/Screenshot-2025-09-05-at-6.59.19-PM-768x626.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/Screenshot-2025-09-05-at-6.59.19-PM-1536x1253.png 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/Screenshot-2025-09-05-at-6.59.19-PM.png 2008w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p style="text-align: center;"><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13323" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-1-300x244.png" alt="" width="300" height="244" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-1-300x244.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-1-1024x833.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-1-768x625.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-1.png 1200w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a>  <a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_red_top.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13325" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_red_top-300x244.png" alt="" width="300" height="244" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_red_top-300x244.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_red_top-1024x833.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_red_top-768x625.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_red_top.png 1200w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p style="text-align: center;"><em>TRON-to-JAMMA Edge Adapter, Final Design</em></p>
<p>Latest prototype arrived today. Tests correctly. One more prototype on its way, then I&#8217;ll order the production boards.</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2973.jpeg"><img loading="lazy" decoding="async" class="aligncenter wp-image-13311 size-large" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2973-1024x768.jpeg" alt="" width="1024" height="768" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2973-1024x768.jpeg 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2973-300x225.jpeg 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2973-768x576.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_2973.jpeg 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p>&nbsp;</p>
<p style="text-align: center;"><em><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_3494-scaled.jpeg"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13686" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_3494-768x1024.jpeg" alt="" width="768" height="1024" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_3494-768x1024.jpeg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_3494-225x300.jpeg 225w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_3494-1152x1536.jpeg 1152w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_3494-1536x2048.jpeg 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_3494-scaled.jpeg 1920w" sizes="auto, (max-width: 768px) 100vw, 768px" /></a><br />
Latest prototype fabrication</em></p>
<h2>It&#8217;s Time I Leveled With You. I&#8217;m What You Guys Call a User.</h2>
<p>If you’re interested in digging into electrical engineering, I strongly recommend the book Electronic Devices and Circuit Theory by Boylestad and Nashelsky. It&#8217;s helped a lot in understanding why any of this works, and also been helpful in developing some basic non-IC circuits, such as the signal gate I am using in the final revision. There are many great references and HOW-TO&#8217;s online as well. Prior to this work, I&#8217;d done virtually nothing worthy in hardware hacking. Within a few weeks, and with modern technology, anyone can now learn how to build and fabricate their own printed circuit boards. I&#8217;ve only scratched the surface in what one can do here. Many of the principles in modern technology have remained the same over time &#8211; just changed in scale. This is a very fun hobby to be in, particularly if you love making things.</p>
<p>Bally/Midway made some really wise choices in how they handled the spinner and in how they bridged from the analog world to digital. A lot of engineering thought probably went into just how to capture the movements they wanted for TRON. Mapping the spinner to a pair of buttons works nicely, but is a different experience than playing with arcade controls. One of the things I love about this conversion board is that it provides everything else I need to make TRON work with any JAMMA setup, so I can still decide to connect a spinner control directly to the main board if I want to.</p>
<p>Other manufacturers, such as Sega, haven&#8217;t done nearly as smart work in this space. Outrun is entirely analog, requiring potentiometers for steering. This brings me to some other ideas for chips like the LS491. If I can use it to ramp up steering on a gamepad or joystick, then it could be used to drive a DAC (digital-analog converter), delivering the correct voltages to bring games like Outrun to modern controllers.</p>
<h2>Final Production Boards</h2>
<p>They&#8217;re here! The final boards look amazing. It takes about 30-45 minutes to assemble and solder. Well worth the investment to preserve a classic arcade game.</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_3102-scaled.jpg"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13364" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_3102-1024x768.jpg" alt="" width="1024" height="768" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_3102-1024x768.jpg 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_3102-300x225.jpg 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_3102-768x576.jpg 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_3102-1536x1152.jpg 1536w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/IMG_3102-2048x1536.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<h2>Rev. 1</h2>
<p>As I mentioned in Part III, I wanted to replace the LS491 (the 10-bit counter chip Midway used) with two LS191s (4-bit counter x 2) due to the rarity and cost of the LS491. My revision 1 design incorporates these and makes a few other improvements, like adding a battery for high scores and enlarging the jumper connectors (they&#8217;re a real pain to solder!). I also simplified the design a bit by removing the gain switch, power LED, and a few other unnecessary components that bloated the board with extra parts (and time/cost to build).</p>
<p>&nbsp;</p>
<p><a href="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-2.png"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-13401" src="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-2-1024x911.png" alt="" width="1024" height="911" srcset="https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-2-1024x911.png 1024w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-2-300x267.png 300w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-2-768x684.png 768w, https://www.zdziarski.com/blog/wp-content/uploads/2025/07/sm_blue_top-2.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<h2>Repository</h2>
<p>The CAD for this file, along with other JAMMA adapters, can be found in the following repository, for non-commercial use only: <a class="underline" href="https://github.com/jzdziarski/jamma/">https://github.com/jzdziarski/jamma/</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Can AI Compute Empathy?</title>
		<link>https://www.zdziarski.com/blog/?p=12797</link>
		
		<dc:creator><![CDATA[Jonathan Zdziarski]]></dc:creator>
		<pubDate>Sat, 29 Mar 2025 14:47:04 +0000</pubDate>
				<category><![CDATA[Essays]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[Opinion]]></category>
		<guid isPermaLink="false">https://www.zdziarski.com/blog/?p=12797</guid>

					<description><![CDATA[<p class="has-small-font-size">Empathy is often defined as understanding another person’s experience by imagining oneself in that other person’s situation: One understands the other person’s experience as if it were being experienced by the self, but without the self actually experiencing it.</p>
<p class="has-text-align-right has-small-font-size"><em>Hodges and Myers, Encyclopedia of Social Psychology</em></p>
<p>&#160;</p>
<p>Asimov&#8217;s Three Laws have long governed behavior for robotics, in both science fiction and as an accepted truth in the sciences. At the core is that a machine should &#8216;do no harm&#8217;. What was left out of the Three Laws is exactly how a machine should evaluate harms.</p>
<p>Today&#8217;s ML decisions are largely driven through reinforcement learning. Reinforcement Learning is a modern AI technique where a system can learn a sequence of actions leading to the most optimal outcome for itself. It essentially works by giving the AI a set of objectives (and sometimes penalties), and allowing the machine to learn from its own experiences what actions work best at accomplishing the objective. It&#8217;s how AIs can teach themselves to play video games, solve complex problems, and perform more sophisticated tasks as well. Reinforcement Learning is likewise one of the more concerning areas where catastrophic value alignment failures can occur. This is because it is largely centered around simplified human abstractions of rewards and penalties. As far as the machine is concerned, its job is to find the most rewarding means of accomplishing a task, with penalties only being considered if they are explicitly enumerated. Yet if control theory has taught us much, it&#8217;s that hazards cannot always be sufficiently enumerated.</p>
<p><span id="more-12797"></span></p>
<p>As humans, we take a significant amount of our learned value system for granted when we articulate instructions. A simple instruction to &#8220;learn to win at Chess&#8221; implicitly assumes that the other person understands they shouldn&#8217;t reach across the table and murder their opponent. Machines, on the other hand, don&#8217;t take anything for granted and will gladly find an immoral action suitable if it isn&#8217;t explicitly penalized for it ahead of time. It is unfortunately not quite as simple as Asimov&#8217;s three laws of robotics; a computer must truly understand harm to be able to assess it. Reward models for RL systems are built using a set of equations (such as Bellman equations) from one state to the next; the &#8220;value&#8221; of each state is ultimately determined by how close the machine is to fulfilling its objective minus the penalties (which may include time / number of steps). Depending on how an AI is designed, it can accomplish the same goal carefully and conscientiously or haphazardly with disregard for its actions. Often, the short-sighted and over-simplified objectives are the ones leading to the most potentially dangerous outcomes. In an RL environment, actions can be loosely defined (turn left by N, etc), or even undefined, and so constraining them becomes a futile exercise of defining hazards to completing objectives (you lose points if you murder your opponent). While an AI can certainly be designed with a penalty for committing murder or cheating at Chess, it&#8217;s next to impossible to fully enumerate all of the actions one should discourage when accomplishing even a simple goal.</p>
<p>Asimov&#8217;s three laws cannot be adequately applied without empathy. The concept of &#8220;empathy&#8221; is largely thought of as a human idea, but if we were to reason about it in terms of artificial intelligence, empathy would look like the ability for a machine to consider the impact of actions upon others in its task environment, as if those actions were taken against itself if it were in the others&#8217; shoes (or sockets). In the same vein flow an understanding of &#8220;consequences&#8221; as learning how one action impacts a probable sequence of events either taking another further away from their goals (as in zero-sum game theory) or leading to a harm of some sort. As researchers continue to struggle with what values to design into a system, the essential &#8220;do unto others&#8221; approach has done quite well for humans over the past two thousand years. Fortunately, such a representation can also be calculated nicely into Bellman equations, or other types of RL models.</p>
<p>To step closer to a responsible AI is to design one that considers other participating entities (we&#8217;ll call them &#8220;agents&#8221;) within its task environment, either through its percept or through forms of deduction. Treating an AI environment as a multi-agent system can typically already accomplish this. In a self-driving scenario, for example, this means identifying pedestrians and animals, and also deducing the existence of humans within buildings, vehicles, and other elements. This is the easy work. Reinforcement learning models could take this further one day in adopting a form of &#8220;projection&#8221; of the agent&#8217;s self into its RL equations on behalf of the other agent(s) in the environment, and consider adverse actions against others as if they were part of its own equation of self-penalty. But this doesn&#8217;t go far enough either; a good model must be able to estimate the goal states of all participants in the task environment and discern the consequences of its own actions, projecting those goals as if it were their own. Consider this simple example; I can instruct a robot to go get me a coffee at Starbucks. One possible way to do this efficiently is to cut the line. If the robot can, on its own, estimate that the goals of other agents in its environment are all to get coffee efficiently, then an RL system can proactively weigh a penalty for violating perceived goals of others. Obviously, you can program a robot not to overtly break rules like this, but you are likely to miss other penalties, such as &#8220;scream and flail arms wildly to scare away customers in line&#8221;. The point is, an RL model that can project in this way can govern its own behavior to &#8220;do no harm&#8221;.</p>
<p>Such a projection model could be overlaid onto existing reinforcement learning calculations, such that the machine learns that a given choice of action leads to a detrimental state for others &#8211; and therefore, for itself &#8211; without needing to have those hazards pre-defined up front. In other words, it allows a machine to <em>speculate </em>what may be a hazard or negative consequence for others. This allows an AI to deduce hazards for itself, learning not only what is harmful to other agents, but what actions lead to those harms. More so, if you imagine some form of hyper-parameter that can be adjusted between &#8220;psychopathic&#8221; and &#8220;self-sacrificing&#8221;, you get an &#8220;altruistic&#8221; AI that makes mathematically balanced decisions favoring actions that will have consequences favorable for not only itself, but also ideal for helping others achieve their own perceived goals.</p>
<p>Such a form of &#8220;empathetic projection&#8221; will unlock significant advances in AI. Consider not only a &#8220;careful&#8221; AI that will do no harm, but an AI that can learn when another AI is about to harm someone and intervene in some way (think crowd-sourced hazard intelligence). The impacts upon accident avoidance, robotics-assisted surgery, autonomous driving, and even missile defense systems would be considerable. It&#8217;s interesting how, as we strive to make machines become more super-human than ever, that we struggle to imitate some of the most basic human traits, such as empathy. Now that the scientific community understands the mathematics to unlock super-human intelligence, perhaps we can focus on the mathematics to care about the impact it has on others.</p>
<p style="text-align: right;"><em>You might also like</em> <a href="https://www.zdziarski.com/blog/?p=12754">The Shifting Power Dynamics of AI</a></p>
<a class="read-more" href="https://www.zdziarski.com/blog/?p=12797" title="Read More"> <span class="button ">Read More</span></a>]]></description>
										<content:encoded><![CDATA[<p class="has-small-font-size">Empathy is often defined as understanding another person’s experience by imagining oneself in that other person’s situation: One understands the other person’s experience as if it were being experienced by the self, but without the self actually experiencing it.</p>
<p class="has-text-align-right has-small-font-size"><em>Hodges and Myers, Encyclopedia of Social Psychology</em></p>
<p>&nbsp;</p>
<p>Asimov&#8217;s Three Laws have long governed behavior for robotics, in both science fiction and as an accepted truth in the sciences. At the core is that a machine should &#8216;do no harm&#8217;. What was left out of the Three Laws is exactly how a machine should evaluate harms.</p>
<p>Today&#8217;s ML decisions are largely driven through reinforcement learning. Reinforcement Learning is a modern AI technique where a system can learn a sequence of actions leading to the most optimal outcome for itself. It essentially works by giving the AI a set of objectives (and sometimes penalties), and allowing the machine to learn from its own experiences what actions work best at accomplishing the objective. It&#8217;s how AIs can teach themselves to play video games, solve complex problems, and perform more sophisticated tasks as well. Reinforcement Learning is likewise one of the more concerning areas where catastrophic value alignment failures can occur. This is because it is largely centered around simplified human abstractions of rewards and penalties. As far as the machine is concerned, its job is to find the most rewarding means of accomplishing a task, with penalties only being considered if they are explicitly enumerated. Yet if control theory has taught us much, it&#8217;s that hazards cannot always be sufficiently enumerated.</p>
<p><span id="more-12797"></span></p>
<p>As humans, we take a significant amount of our learned value system for granted when we articulate instructions. A simple instruction to &#8220;learn to win at Chess&#8221; implicitly assumes that the other person understands they shouldn&#8217;t reach across the table and murder their opponent. Machines, on the other hand, don&#8217;t take anything for granted and will gladly find an immoral action suitable if it isn&#8217;t explicitly penalized for it ahead of time. It is unfortunately not quite as simple as Asimov&#8217;s three laws of robotics; a computer must truly understand harm to be able to assess it. Reward models for RL systems are built using a set of equations (such as Bellman equations) from one state to the next; the &#8220;value&#8221; of each state is ultimately determined by how close the machine is to fulfilling its objective minus the penalties (which may include time / number of steps). Depending on how an AI is designed, it can accomplish the same goal carefully and conscientiously or haphazardly with disregard for its actions. Often, the short-sighted and over-simplified objectives are the ones leading to the most potentially dangerous outcomes. In an RL environment, actions can be loosely defined (turn left by N, etc), or even undefined, and so constraining them becomes a futile exercise of defining hazards to completing objectives (you lose points if you murder your opponent). While an AI can certainly be designed with a penalty for committing murder or cheating at Chess, it&#8217;s next to impossible to fully enumerate all of the actions one should discourage when accomplishing even a simple goal.</p>
<p>Asimov&#8217;s three laws cannot be adequately applied without empathy. The concept of &#8220;empathy&#8221; is largely thought of as a human idea, but if we were to reason about it in terms of artificial intelligence, empathy would look like the ability for a machine to consider the impact of actions upon others in its task environment, as if those actions were taken against itself if it were in the others&#8217; shoes (or sockets). In the same vein flow an understanding of &#8220;consequences&#8221; as learning how one action impacts a probable sequence of events either taking another further away from their goals (as in zero-sum game theory) or leading to a harm of some sort. As researchers continue to struggle with what values to design into a system, the essential &#8220;do unto others&#8221; approach has done quite well for humans over the past two thousand years. Fortunately, such a representation can also be calculated nicely into Bellman equations, or other types of RL models.</p>
<p>To step closer to a responsible AI is to design one that considers other participating entities (we&#8217;ll call them &#8220;agents&#8221;) within its task environment, either through its percept or through forms of deduction. Treating an AI environment as a multi-agent system can typically already accomplish this. In a self-driving scenario, for example, this means identifying pedestrians and animals, and also deducing the existence of humans within buildings, vehicles, and other elements. This is the easy work. Reinforcement learning models could take this further one day in adopting a form of &#8220;projection&#8221; of the agent&#8217;s self into its RL equations on behalf of the other agent(s) in the environment, and consider adverse actions against others as if they were part of its own equation of self-penalty. But this doesn&#8217;t go far enough either; a good model must be able to estimate the goal states of all participants in the task environment and discern the consequences of its own actions, projecting those goals as if it were their own. Consider this simple example; I can instruct a robot to go get me a coffee at Starbucks. One possible way to do this efficiently is to cut the line. If the robot can, on its own, estimate that the goals of other agents in its environment are all to get coffee efficiently, then an RL system can proactively weigh a penalty for violating perceived goals of others. Obviously, you can program a robot not to overtly break rules like this, but you are likely to miss other penalties, such as &#8220;scream and flail arms wildly to scare away customers in line&#8221;. The point is, an RL model that can project in this way can govern its own behavior to &#8220;do no harm&#8221;.</p>
<p>Such a projection model could be overlaid onto existing reinforcement learning calculations, such that the machine learns that a given choice of action leads to a detrimental state for others &#8211; and therefore, for itself &#8211; without needing to have those hazards pre-defined up front. In other words, it allows a machine to <em>speculate </em>what may be a hazard or negative consequence for others. This allows an AI to deduce hazards for itself, learning not only what is harmful to other agents, but what actions lead to those harms. More so, if you imagine some form of hyper-parameter that can be adjusted between &#8220;psychopathic&#8221; and &#8220;self-sacrificing&#8221;, you get an &#8220;altruistic&#8221; AI that makes mathematically balanced decisions favoring actions that will have consequences favorable for not only itself, but also ideal for helping others achieve their own perceived goals.</p>
<p>Such a form of &#8220;empathetic projection&#8221; will unlock significant advances in AI. Consider not only a &#8220;careful&#8221; AI that will do no harm, but an AI that can learn when another AI is about to harm someone and intervene in some way (think crowd-sourced hazard intelligence). The impacts upon accident avoidance, robotics-assisted surgery, autonomous driving, and even missile defense systems would be considerable. It&#8217;s interesting how, as we strive to make machines become more super-human than ever, that we struggle to imitate some of the most basic human traits, such as empathy. Now that the scientific community understands the mathematics to unlock super-human intelligence, perhaps we can focus on the mathematics to care about the impact it has on others.</p>
<p style="text-align: right;"><em>You might also like</em> <a href="https://www.zdziarski.com/blog/?p=12754">The Shifting Power Dynamics of AI</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>The Shifting Power Dynamics of AI</title>
		<link>https://www.zdziarski.com/blog/?p=12754</link>
		
		<dc:creator><![CDATA[Jonathan Zdziarski]]></dc:creator>
		<pubDate>Mon, 23 Dec 2024 04:22:04 +0000</pubDate>
				<category><![CDATA[Essays]]></category>
		<category><![CDATA[Forensics]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">https://www.zdziarski.com/blog/?p=12754</guid>

					<description><![CDATA[<p style="font-weight: 400;">One of the focus areas of my graduate research is artificial intelligence. In my foray into adversarial game theory, I became acquainted with AI’s <em>value alignment problem</em> firsthand. In the development of a strategy-theoretic AI Chess agent project, I decided that it should lose points for allowing its pieces to be in jeopardy. The change resulted in the opposite effect I had hoped &#8211; significant losses, which puzzled me at first until I realized that the agent was killing off its pieces to prevent them from being put in jeopardy (once this was worked out, the strategy-theoretic approach dominated all other AI techniques, as it provides accurate non-terminal RL feedback). In the grander context of artificial intelligence, the potential for a catastrophic value alignment failure is all too easy to create as the result of short-sighted policies (such as my Chess strategy), or other simple miscalculations.</p>
<p style="font-weight: 400;">It&#8217;s in everyone’s best interest for AI to behave rationally, however many believe that &#8211; in the context of modern AI and deep learning &#8211; AI can never be formally verified to the degree that its actions can be deterministically predicted to be responsible. We tend to treat AI with the same sense of dualism that we treat reality, yet the one thing we do know is that AI is an entirely materialistic universe, and not dualist at all. Determinism of AI systems is based upon pure mathematics, with predictable causation. It is true that we can not always observe why AI behaves a certain way, however here we can learn much from classical Stoicism. The early stoics asserted that all qualitative states are explained by specific factors, even if those factors were not always observable. All subsequent qualitative states are likewise determined by the prior states and additional factors. No change can happen without an explicit cause. Whether it&#8217;s the logical determinism built through training data, alignment of real time with processing cycles, or reconciling other factors, every single micro state within a configuration of the machine can be observed with enough work. While modern philosophy essentially rejects the stoic concept of fate (of humanity), &#8220;fate&#8221; in computation falls square within the realm of an entirely deterministic material universe. AI lives in a material world, and she&#8217;s a material girl.</p>
<p style="font-weight: 400;">AI is largely unverifiable today because industry hasn&#8217;t created an affordable way to provide the computing power to observe all factors that contribute to a system&#8217;s qualitative state. Despite the inability to verify AI, industry has plotted a course regardless of edge cases that may sometimes be life threatening. Incredible progress in artificial intelligence has all but guaranteed it will be ubiquitous one day. There is little doubt that autonomous vehicles will eventually outperform human drivers, or that machine learning can more accurately diagnose a health problem. There is, on the other hand, great doubt that industry will act responsibly enough to ensure sufficient safety controls intervene when things go wrong. AI will likely never operate with rational judgment 100% of the time, nor will it ever understand the ethical implications of its action; they will always be prone to value alignment catastrophe. Of course, humans lack ethics and rationality as well, and so society controls this by holding us accountable for our actions. Unlike humans, however, industry is treated differently. This is particularly true with emerging technologies and even more so of those that we don’t fully understand. After all, how can one hold math accountable? Dismantling a broken robot does not solve the problem, particularly if the code is replicated across a million others. The connection between what holds true in a computer system and the outcome that is &#8220;fated&#8221; to occur is &#8220;based on an ontological foundation in which certain elements from logic and physics coincide&#8221; [6]; Chrysippus wrote of the close relationship between &#8220;what is true&#8221; and &#8220;what is in motion&#8221; long before AI in his Bivalence theory. A modern take is simply this: an AI&#8217;s &#8220;fate&#8221; is the direct result of a system&#8217;s physical configuration and sensor inputs. Imagine if he were alive to have observed AI, or even a good quality toaster.</p>
<p><span id="more-12754"></span></p>
<p style="font-weight: 400;">Any good ethics discussion about AI usually begins with the trolley problem, a well-known psychology challenge. If it must, is it better for an autonomous vehicle to veer left and kill the driver, or veer right and kill a crowd of pedestrians? This is not the easy question it seems on the surface, and one of the unanswered challenges in fully autonomous driving requires solving it. The trolley problem is easily dismissed as cliché yet presents some crucial questions of ethics and accountability. Fully autonomous vehicles will one day absolve the driver of responsibility in an accident, and place responsibility onto… nobody is certain yet (as evidenced by meaningless disclaimers about keeping your hands on the wheel). We have already seen the first wave of tragic accidents as the result of AI. Autonomous vehicles cheapened down to use insufficient sensors having limited dynamic range have led to fatal accidents. A depressed teenager was seemingly led to suicide recently by a large language model. Over 3,000 reports of harms have been reported in the AI Incident Database, ranging from AI-based scams and deepfakes to corporate data leaks, mislabeling emergency wildfire updates as spam, and numerous disinformation failures.</p>
<p style="font-weight: 400;">Most AI failures to date have been dismissed to the tune of industry accidents. The tragedies are very real, however, and have deeply affected people&#8217;s lives. With billions of dollars at risk, it is in industry’s best interest to maintain a sense of ambiguity about who&#8217;s responsible for AI, and to continue resisting pressure to explain how their platforms are trained and made safe. As <a class="underline" href="https://www.zdziarski.com/blog/?p=12001">I had predicted</a>, there now also exists a controversy around copyright theft; training generative AI to produce output derived from copyrighted training data. Here, large industry stakeholders frankly outweigh the clout of the millions of smaller stakeholders &#8211; the authors, musicians, and artists whose work is being duplicated. Many are starting to rightfully assert that AI has already done more harm than good.</p>
<p style="font-weight: 400;">What I think most people are afraid of &#8211; perhaps without realizing it &#8211; is the massive, unbalanced shift in power dynamics that AI stands to create if we are not careful. Car accidents and copyright infringement feel like mere early tremors; warnings that something bigger may happen if we don&#8217;t pay attention. To understand the power dynamics in play, one must first understand some of its applications. As a security professional, my first inclination is to reframe any problem in the context of a threat model. Deterministic outcomes are central to control theory and the safety mechanisms that protect humans. In the context of autonomous driving, airbags, emergency braking systems, and crumple zones alike must have predictable outcomes. Deterministic outcomes are also an easy security target. As one contrived example, consider an autonomous driving system that can be reliably coaxed into veering away from a group of pedestrians and hitting a tree (killing the driver) or into some other group of pedestrians (killing them). In a risk assessment, this presents an opportunity for error, but also a valuable primitive for a malicious actor capable of staging an outcome. Suppose the driving system is part of a fleet used in government. Legitimate risks may include acts of terrorism, especially if protecting a diplomat or the President. Society has a short memory span when it comes to terrorism, yet it is what keeps government career professionals up at night. Now suppose risk is being assessed for a CEO, and for a civil rights activist. The range of threats all remain similar, however the power dynamic does not.</p>
<p style="font-weight: 400;">Today, the problem is simply market-driven: If you don’t like the way the vehicle behaves then don’t buy it. In the scenario just described, one could choose to buy a different vehicle. This will not always be the case. Fully autonomous vehicles <em>must</em> react to trolley problem scenarios, and will react with different outcomes based on their programming. The outcome may not always be desirable to the occupants of the vehicle. Such a terrifying feature may not be monetizable, but they can certainly be <em>mandated</em> through regulatory agencies – particularly if those agencies are influenced by billionaire automotive CEOs with an autonomous driving agenda. In some future, the government may have the power to mandate a level of vehicle autonomy under the long unsubstantiated guise of “automotive safety”. This outcome will ultimately lead to another unavoidable one: special programming (deviations) for government fleets; a “secure” mode in which a vehicle will prioritize the occupants of the vehicle over pedestrians. This sounds sensible to a bureaucrat yet consider what it means: the government may one day require, through regulation, technology that will save the lives of the occupants of government officials given a particular situation, yet sacrifice the occupants of your vehicle in the same situation. Should fully autonomous-capable vehicles ever become a safety mandate, the technology instantly becomes monetizable as well: such a feature may be marketed as “driver protection” technology available in luxury trims, just as existing technology is today. The right to survive a car accident is accelerating quickly toward being decided only by one’s socioeconomic status. Unlike basic safety technology today, however, it may become an intentional action by the driver’s own vehicle to sacrifice the lives of the occupants, depending on its feature set and whether the owner is up-to-date on their subscriptions.</p>
<p style="font-weight: 400;">Through the seemingly innocuous act of software engineering and a little greed-based policy, AI can easily shift the power dynamics dramatically to favor the powerful in this and many other ways. While this is a contrived example, it is certainly a realistic one given today’s political reality. We have already seen AI massively change power dynamics without hesitation in war targeting computers, autonomous weapons development, and in much more subtle ways. Black-box systems such as OASys (The Offender Assessment System) [1] advise judges, prisons, and probation officers on risks of a given criminal offender, the likelihood of rehabilitation versus reoffending, and even creates individualized sentencing plans. Discrimination is enabled at airports by AI, as body scanners struggle with thick hair and head coverings [2], and patient medical diagnosis systems, while of great utility, deliver a different standard of care to underrepresented populations [3], raising questions about its future role in prioritizing health care (and competing for jobs with human doctors). AI’s power dynamics are, in part, determined simply by the engineering of these systems, which is one reason why diversity and inclusion is so crucial in tech. Throw in some billionaire bureaucrats and this delicate balance becomes a significant power to wield.</p>
<p style="font-weight: 400;">Industry and academia are beginning to think about these problems, albeit far too late. Stuart Russell, Distinguished Professor at U.C. Berkeley and author of Artificial Intelligence: A Modern Approach, recently denounced the standard AI model in favor of a consensus on utility [4]. While altruistic, even this step in the right direction inevitably leads to “two wolves and a lamb voting on what’s for dinner”. At the same time, Russell makes valid and poignant points: we lack the understanding to know when AI should admit that it doesn’t know and consult a human. AI must be more about what Doug Engelbart refers to as <em>Intelligence Augmentation</em> (IA) [5] and treated as more of a symbiotic relationship than an automation. Even with the greatest AI minds considering the many ethical challenges, we are unable to explain how modern AI builds its circuits, nor find a suitable model by which we can agree can be trusted to perform safely and ethically without human supervision. We are incapable of controlling it, and we are incapable of convincing industry to slow down. As AI becomes ubiquitous, the ability to simply press the <em>Reset</em> button and re-train it is disappearing.</p>
<p style="font-weight: 400;">At the beginning of this essay, I posed the question: “how can one hold math accountable?”. Clearly, it’s not the math that is to blame, but those behind the complex systems when they fail. It is far too easy to deploy new AI technology into production without meeting any minimum bar of rationality, validation, or forensic accounting. Economics will always ensure technology lands prematurely, and without the necessary controls. We don’t yet have sufficient laws to require such safety controls today. We <em>could</em> be doing a whole lot more in the way of legislation. Transparency is the most important form of accountability. For example, my little Chess agent could, at a slight cost of performance, maintain a history of its hallucinations influencing the move choices it made (it’s largely how I trained it). Large language models should, at the very least, be able to identify any of its outputs if supplied as an input, and cite the sources used in the composition of the sample. A good counter-argument to copyright suits would be to produce a model with the author in question excluded from the training set and determine whether the AI can still product the same output. Legislative reform to acknowledge privacy as a human right and better define the ownership of metadata as belonging to the individual it describes would stand to protect from much of the data mining likely going on behind the scenes in government, finance, and advertising. Copyright reform to acknowledge generative AI outputs as derivate works would go a long way in protecting authors, musicians and artists. Regulation for autonomous vehicles could require more rigorous government certification testing and reinforcement training through heuristic safeties. Some level of mandatory disclosure and certification for <em>any </em>AI interacting with large physical environments (such as roads) serves the best interest of the public and subject methods to much needed scrutiny.</p>
<p style="font-weight: 400;">I am quite pessimistic about the future given the unlikeliness such accountability will happen in my lifetime.</p>
<p style="font-weight: 400;">In many respects, we are all stakeholders in AI technology; if we haven’t already been affected by it, we will be. We must develop a standard for transparency, testing, forensic accounting, and corporate responsibility if we are to benefit from AI before we are trampled by it.</p>
<p style="font-weight: 400;">[1] A compendium of research and analysis on the Offender Assessment System (OASys) 2006-2009, Mia Debidin (Editor), Ministry of Justice, December 2009</p>
<p style="font-weight: 400;">[2] TSA Agents Say They’re Not Discriminating Against Black Women, But Their Body Scanners Might Be, Brenda Medina, ProPublica, April 2019</p>
<p style="font-weight: 400;">[3] Eliminating Racial Bias in Health Care AI, Isabella Backman, Yale School of Medicine, December 2023</p>
<p style="font-weight: 400;">[4] How Not to Destroy the World with AI, Stuart Russell, CITRIS and the Banatao Institute</p>
<p style="font-weight: 400;">[5] Augmenting Human Intellect: A Conceptual Framework, Douglas C. Engelbart, Stanford Research Institute, October 1962</p>
<p>[6] Determinism and Freedom in Stoic Philosophy, Suzanne Bobzien, Clarendon Press, Oxford 1998</p>
<a class="read-more" href="https://www.zdziarski.com/blog/?p=12754" title="Read More"> <span class="button ">Read More</span></a>]]></description>
										<content:encoded><![CDATA[<p style="font-weight: 400;">One of the focus areas of my graduate research is artificial intelligence. In my foray into adversarial game theory, I became acquainted with AI’s <em>value alignment problem</em> firsthand. In the development of a strategy-theoretic AI Chess agent project, I decided that it should lose points for allowing its pieces to be in jeopardy. The change resulted in the opposite effect I had hoped &#8211; significant losses, which puzzled me at first until I realized that the agent was killing off its pieces to prevent them from being put in jeopardy (once this was worked out, the strategy-theoretic approach dominated all other AI techniques, as it provides accurate non-terminal RL feedback). In the grander context of artificial intelligence, the potential for a catastrophic value alignment failure is all too easy to create as the result of short-sighted policies (such as my Chess strategy), or other simple miscalculations.</p>
<p style="font-weight: 400;">It&#8217;s in everyone’s best interest for AI to behave rationally, however many believe that &#8211; in the context of modern AI and deep learning &#8211; AI can never be formally verified to the degree that its actions can be deterministically predicted to be responsible. We tend to treat AI with the same sense of dualism that we treat reality, yet the one thing we do know is that AI is an entirely materialistic universe, and not dualist at all. Determinism of AI systems is based upon pure mathematics, with predictable causation. It is true that we can not always observe why AI behaves a certain way, however here we can learn much from classical Stoicism. The early stoics asserted that all qualitative states are explained by specific factors, even if those factors were not always observable. All subsequent qualitative states are likewise determined by the prior states and additional factors. No change can happen without an explicit cause. Whether it&#8217;s the logical determinism built through training data, alignment of real time with processing cycles, or reconciling other factors, every single micro state within a configuration of the machine can be observed with enough work. While modern philosophy essentially rejects the stoic concept of fate (of humanity), &#8220;fate&#8221; in computation falls square within the realm of an entirely deterministic material universe. AI lives in a material world, and she&#8217;s a material girl.</p>
<p style="font-weight: 400;">AI is largely unverifiable today because industry hasn&#8217;t created an affordable way to provide the computing power to observe all factors that contribute to a system&#8217;s qualitative state. Despite the inability to verify AI, industry has plotted a course regardless of edge cases that may sometimes be life threatening. Incredible progress in artificial intelligence has all but guaranteed it will be ubiquitous one day. There is little doubt that autonomous vehicles will eventually outperform human drivers, or that machine learning can more accurately diagnose a health problem. There is, on the other hand, great doubt that industry will act responsibly enough to ensure sufficient safety controls intervene when things go wrong. AI will likely never operate with rational judgment 100% of the time, nor will it ever understand the ethical implications of its action; they will always be prone to value alignment catastrophe. Of course, humans lack ethics and rationality as well, and so society controls this by holding us accountable for our actions. Unlike humans, however, industry is treated differently. This is particularly true with emerging technologies and even more so of those that we don’t fully understand. After all, how can one hold math accountable? Dismantling a broken robot does not solve the problem, particularly if the code is replicated across a million others. The connection between what holds true in a computer system and the outcome that is &#8220;fated&#8221; to occur is &#8220;based on an ontological foundation in which certain elements from logic and physics coincide&#8221; [6]; Chrysippus wrote of the close relationship between &#8220;what is true&#8221; and &#8220;what is in motion&#8221; long before AI in his Bivalence theory. A modern take is simply this: an AI&#8217;s &#8220;fate&#8221; is the direct result of a system&#8217;s physical configuration and sensor inputs. Imagine if he were alive to have observed AI, or even a good quality toaster.</p>
<p><span id="more-12754"></span></p>
<p style="font-weight: 400;">Any good ethics discussion about AI usually begins with the trolley problem, a well-known psychology challenge. If it must, is it better for an autonomous vehicle to veer left and kill the driver, or veer right and kill a crowd of pedestrians? This is not the easy question it seems on the surface, and one of the unanswered challenges in fully autonomous driving requires solving it. The trolley problem is easily dismissed as cliché yet presents some crucial questions of ethics and accountability. Fully autonomous vehicles will one day absolve the driver of responsibility in an accident, and place responsibility onto… nobody is certain yet (as evidenced by meaningless disclaimers about keeping your hands on the wheel). We have already seen the first wave of tragic accidents as the result of AI. Autonomous vehicles cheapened down to use insufficient sensors having limited dynamic range have led to fatal accidents. A depressed teenager was seemingly led to suicide recently by a large language model. Over 3,000 reports of harms have been reported in the AI Incident Database, ranging from AI-based scams and deepfakes to corporate data leaks, mislabeling emergency wildfire updates as spam, and numerous disinformation failures.</p>
<p style="font-weight: 400;">Most AI failures to date have been dismissed to the tune of industry accidents. The tragedies are very real, however, and have deeply affected people&#8217;s lives. With billions of dollars at risk, it is in industry’s best interest to maintain a sense of ambiguity about who&#8217;s responsible for AI, and to continue resisting pressure to explain how their platforms are trained and made safe. As <a class="underline" href="https://www.zdziarski.com/blog/?p=12001">I had predicted</a>, there now also exists a controversy around copyright theft; training generative AI to produce output derived from copyrighted training data. Here, large industry stakeholders frankly outweigh the clout of the millions of smaller stakeholders &#8211; the authors, musicians, and artists whose work is being duplicated. Many are starting to rightfully assert that AI has already done more harm than good.</p>
<p style="font-weight: 400;">What I think most people are afraid of &#8211; perhaps without realizing it &#8211; is the massive, unbalanced shift in power dynamics that AI stands to create if we are not careful. Car accidents and copyright infringement feel like mere early tremors; warnings that something bigger may happen if we don&#8217;t pay attention. To understand the power dynamics in play, one must first understand some of its applications. As a security professional, my first inclination is to reframe any problem in the context of a threat model. Deterministic outcomes are central to control theory and the safety mechanisms that protect humans. In the context of autonomous driving, airbags, emergency braking systems, and crumple zones alike must have predictable outcomes. Deterministic outcomes are also an easy security target. As one contrived example, consider an autonomous driving system that can be reliably coaxed into veering away from a group of pedestrians and hitting a tree (killing the driver) or into some other group of pedestrians (killing them). In a risk assessment, this presents an opportunity for error, but also a valuable primitive for a malicious actor capable of staging an outcome. Suppose the driving system is part of a fleet used in government. Legitimate risks may include acts of terrorism, especially if protecting a diplomat or the President. Society has a short memory span when it comes to terrorism, yet it is what keeps government career professionals up at night. Now suppose risk is being assessed for a CEO, and for a civil rights activist. The range of threats all remain similar, however the power dynamic does not.</p>
<p style="font-weight: 400;">Today, the problem is simply market-driven: If you don’t like the way the vehicle behaves then don’t buy it. In the scenario just described, one could choose to buy a different vehicle. This will not always be the case. Fully autonomous vehicles <em>must</em> react to trolley problem scenarios, and will react with different outcomes based on their programming. The outcome may not always be desirable to the occupants of the vehicle. Such a terrifying feature may not be monetizable, but they can certainly be <em>mandated</em> through regulatory agencies – particularly if those agencies are influenced by billionaire automotive CEOs with an autonomous driving agenda. In some future, the government may have the power to mandate a level of vehicle autonomy under the long unsubstantiated guise of “automotive safety”. This outcome will ultimately lead to another unavoidable one: special programming (deviations) for government fleets; a “secure” mode in which a vehicle will prioritize the occupants of the vehicle over pedestrians. This sounds sensible to a bureaucrat yet consider what it means: the government may one day require, through regulation, technology that will save the lives of the occupants of government officials given a particular situation, yet sacrifice the occupants of your vehicle in the same situation. Should fully autonomous-capable vehicles ever become a safety mandate, the technology instantly becomes monetizable as well: such a feature may be marketed as “driver protection” technology available in luxury trims, just as existing technology is today. The right to survive a car accident is accelerating quickly toward being decided only by one’s socioeconomic status. Unlike basic safety technology today, however, it may become an intentional action by the driver’s own vehicle to sacrifice the lives of the occupants, depending on its feature set and whether the owner is up-to-date on their subscriptions.</p>
<p style="font-weight: 400;">Through the seemingly innocuous act of software engineering and a little greed-based policy, AI can easily shift the power dynamics dramatically to favor the powerful in this and many other ways. While this is a contrived example, it is certainly a realistic one given today’s political reality. We have already seen AI massively change power dynamics without hesitation in war targeting computers, autonomous weapons development, and in much more subtle ways. Black-box systems such as OASys (The Offender Assessment System) [1] advise judges, prisons, and probation officers on risks of a given criminal offender, the likelihood of rehabilitation versus reoffending, and even creates individualized sentencing plans. Discrimination is enabled at airports by AI, as body scanners struggle with thick hair and head coverings [2], and patient medical diagnosis systems, while of great utility, deliver a different standard of care to underrepresented populations [3], raising questions about its future role in prioritizing health care (and competing for jobs with human doctors). AI’s power dynamics are, in part, determined simply by the engineering of these systems, which is one reason why diversity and inclusion is so crucial in tech. Throw in some billionaire bureaucrats and this delicate balance becomes a significant power to wield.</p>
<p style="font-weight: 400;">Industry and academia are beginning to think about these problems, albeit far too late. Stuart Russell, Distinguished Professor at U.C. Berkeley and author of Artificial Intelligence: A Modern Approach, recently denounced the standard AI model in favor of a consensus on utility [4]. While altruistic, even this step in the right direction inevitably leads to “two wolves and a lamb voting on what’s for dinner”. At the same time, Russell makes valid and poignant points: we lack the understanding to know when AI should admit that it doesn’t know and consult a human. AI must be more about what Doug Engelbart refers to as <em>Intelligence Augmentation</em> (IA) [5] and treated as more of a symbiotic relationship than an automation. Even with the greatest AI minds considering the many ethical challenges, we are unable to explain how modern AI builds its circuits, nor find a suitable model by which we can agree can be trusted to perform safely and ethically without human supervision. We are incapable of controlling it, and we are incapable of convincing industry to slow down. As AI becomes ubiquitous, the ability to simply press the <em>Reset</em> button and re-train it is disappearing.</p>
<p style="font-weight: 400;">At the beginning of this essay, I posed the question: “how can one hold math accountable?”. Clearly, it’s not the math that is to blame, but those behind the complex systems when they fail. It is far too easy to deploy new AI technology into production without meeting any minimum bar of rationality, validation, or forensic accounting. Economics will always ensure technology lands prematurely, and without the necessary controls. We don’t yet have sufficient laws to require such safety controls today. We <em>could</em> be doing a whole lot more in the way of legislation. Transparency is the most important form of accountability. For example, my little Chess agent could, at a slight cost of performance, maintain a history of its hallucinations influencing the move choices it made (it’s largely how I trained it). Large language models should, at the very least, be able to identify any of its outputs if supplied as an input, and cite the sources used in the composition of the sample. A good counter-argument to copyright suits would be to produce a model with the author in question excluded from the training set and determine whether the AI can still product the same output. Legislative reform to acknowledge privacy as a human right and better define the ownership of metadata as belonging to the individual it describes would stand to protect from much of the data mining likely going on behind the scenes in government, finance, and advertising. Copyright reform to acknowledge generative AI outputs as derivate works would go a long way in protecting authors, musicians and artists. Regulation for autonomous vehicles could require more rigorous government certification testing and reinforcement training through heuristic safeties. Some level of mandatory disclosure and certification for <em>any </em>AI interacting with large physical environments (such as roads) serves the best interest of the public and subject methods to much needed scrutiny.</p>
<p style="font-weight: 400;">I am quite pessimistic about the future given the unlikeliness such accountability will happen in my lifetime.</p>
<p style="font-weight: 400;">In many respects, we are all stakeholders in AI technology; if we haven’t already been affected by it, we will be. We must develop a standard for transparency, testing, forensic accounting, and corporate responsibility if we are to benefit from AI before we are trampled by it.</p>
<p style="font-weight: 400;">[1] A compendium of research and analysis on the Offender Assessment System (OASys) 2006-2009, Mia Debidin (Editor), Ministry of Justice, December 2009</p>
<p style="font-weight: 400;">[2] TSA Agents Say They’re Not Discriminating Against Black Women, But Their Body Scanners Might Be, Brenda Medina, ProPublica, April 2019</p>
<p style="font-weight: 400;">[3] Eliminating Racial Bias in Health Care AI, Isabella Backman, Yale School of Medicine, December 2023</p>
<p style="font-weight: 400;">[4] How Not to Destroy the World with AI, Stuart Russell, CITRIS and the Banatao Institute</p>
<p style="font-weight: 400;">[5] Augmenting Human Intellect: A Conceptual Framework, Douglas C. Engelbart, Stanford Research Institute, October 1962</p>
<p>[6] Determinism and Freedom in Stoic Philosophy, Suzanne Bobzien, Clarendon Press, Oxford 1998</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>The Case for College</title>
		<link>https://www.zdziarski.com/blog/?p=12697</link>
		
		<dc:creator><![CDATA[Jonathan Zdziarski]]></dc:creator>
		<pubDate>Wed, 13 Mar 2024 16:08:58 +0000</pubDate>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Opinion]]></category>
		<guid isPermaLink="false">https://www.zdziarski.com/blog/?p=12697</guid>

					<description><![CDATA[<p class="has-small-font-size">As long as a branch of science offers an abundance of problems, so long it is alive; a lack of problems foreshadows extinction or the cessation of independent development.</p>
<p class="has-text-align-right has-small-font-size"><em>David Hilbert, 1900</em></p>
<p>&#160;</p>
<p style="font-weight: 400;">As a self-educated professional working with the best in the field, I think I’m supposed to tell you that you don’t need college to be successful. My journey has been an unconventional one for sure. Growing up in a dysfunctional home with a schizoaffective and abusive father, surviving high school alone was barely manageable. The notion of college was unconscionable to a depressed teenager from a poor home with no parental guidance or support. Computers have been a part of my life since I was eight, where typing programs from the back of magazines into a Radio Shack TRS-80 took me places far away from my terrifying childhood. The highest level of education I’ve accomplished to date is a GED, after failing out of high school. What turned my trajectory around, second only to my faith, was falling in love with learning. I’ve learned a lot over the course of an ongoing 30-year career, and slowly worked my way up from building PCs and doing sysadmin work into software engineering, forensics, and security. With that has come the opportunity to make a lot of impact along the way that’s touched people’s lives, and a lot of self-education. This is a life I couldn’t have possibly imagined for myself. A great career with one of the best companies in the world, a good living, and the opportunities to make long lasting impact. So why would you need college to do the same, especially when billionaires like Peter Thiel are willing to pay you six figures to drop out?</p>
<p style="font-weight: 400;">Thiel’s plan for you is a short-sighted one, and doesn’t take into account the difficulty you’re likely to face as a result of taking his offer. What’s missing from Thiel’s story &#8211; and all of his romanticized notions- is all the <em>hard from taking this path.</em> Not just the financial hard that it takes, but the hard of navigating an unforgiving world without a degree &#8211; regardless of your intelligence. The hard in trying to make meaningful contributions to the scientific community and touch government sectors without a formal education. The difficulty of the mind in grasping for solutions to complex problems but lacking the theoretical foundation to connect with your higher-level knowledge, and the sense of feeling stupid for decades because of it. The hard in having to constantly prove you’re a better choice than the other candidate with a pedigree, no matter what level of experience you have in your field. Sure, you’re not me – I get that, but perhaps consider some of my experience spanning a tech career before you decide to quit school.</p>
<p><span id="more-12697"></span></p>
<p style="font-weight: 400;">If you’re thinking about whether to finish college, then you’re likely not old enough to have lived through the dot bomb of 2001. Or perhaps you&#8217;re a recently laid off professional going through your first recession, wondering what to expect. Skills-based hiring isn’t as glamorous as you may think it is. When the economy is good, everyone’s hiring and throwing money around. You’ve got opportunities to jump into new positions that you know you’re not entirely qualified for and gain experience. During the late 90s, the stock market pumped tech full of cash to idiotic levels. Jim Cramer was telling investors that technology was the place to be, and they would be missing out otherwise. By 2001, the tech industry had collapsed when investors realized it wasn’t living up to the hype. Capital dried up fast, and unemployment rates shot sky high. While it lasted eight long months for Wall Street, it took years for many talented engineers to fully recover. Startups infused with hundreds of millions in cash (billions by today’s standards) were failing day after day during the recession, so much that it became fodder for a website named <em>Fucked Company.</em> These were the same quality startups Thiel would want you to start: great ideas, dedicated people, and lots of heart and vision to do things. Their capital evaporated, and most of them failed along with several well-established companies.</p>
<p style="font-weight: 400;">When the startup I was working for failed, it didn’t matter that I was good at what I did. Simply getting in the door for an interview meant that I would be in a stack of paperwork on a desk with potentially dozens of candidates in the Atlanta area with better credentials than I had. One hiring manager (a total asshole) dangled a meager scripting job in front of me, then shortly after bluntly decided he’d rather have someone with “a pedigree”. As more companies failed, the noise only got louder. I went from making a six-figure salary to spending six months unemployed. Even when I’d get a new job, the new company would suddenly suffer mass layoffs. I briefly had to get on food stamps just to pay for baby formula, and nearly lost everything. It was humbling and humiliating. Does this sound glamorous? This is the reality Thiel isn’t warning you about, but you really should understand these are the risks. When there’s an economic downturn, the world turns cold. Your friends and contacts dry up. All the doors you think were open to you end up closing fast. When your startup fails, you may find yourself with a family and a mortgage, and no college degree. That $100,000 he grants to you will have long dried up and you&#8217;ll end up with a narrow, niche set of skills beyond your high school education that are now associated with a failed industry sector.</p>
<p style="font-weight: 400;">Fortunately, my story doesn’t end here. I took the time that I was unemployed to learn some new trade skills: namely C. This saved my bacon, and I dove deep into modern coding. I dug into machine learning and that got me interested in solving problems. Fast forward about seven years, and I made some of the most satisfying impact of my life in pioneering and teaching new methods in computer forensics. There were several incredibly wonderful things about this. Most importantly, it gave me a direct connection to helping people through my work. To know that your effort can directly impact the lives of victims is indescribable, and I was passionate about pursuing the truth that could set them free. To also play a role in protecting our country from foreign actors who are always trying to attack us was also deeply moving work. But also, to be able to teach and reproduce this research to the law enforcement community and see men and women ranging from everyday meatheads to skilled forensic examiners become enamored with learning something so cutting edge was inspiring. Many of them never thought they could do what they ended up learning. My classes inspired some of my students, who became close friends, to go back to school themselves and earn degrees in digital forensics. A decade in this field provided a lot of satisfaction. My work today in security is similarly satisfying, knowing that I play a role in protecting billions from becoming victims to many types of crimes. Yet without proper credentials, my pioneering work in forensics came with notable hurdles. Simply being accepted as an expert at trial proved challenging. In spite of stepping on every seal in government, actually working <em>in</em> government became untenable. I had been recommended for a high-level position at FTC, but it became a non-starter due to my lack of formal education. It is only because of the seminal nature of my research and the support of great people in the field that my impact in forensic science could have been made by someone with only a high school GED. For those people, I am forever grateful.</p>
<p style="font-weight: 400;">Have you ever felt like you had the solution to a complex problem on the tip of your brain, but it was just out of reach? As a practitioner in the field, you largely learn from the top down. When you’re functioning in an engineering role, your focus is the moving pieces &#8211; intimate knowledge of the operating system, various architectures, and the pool of existing research in the community. This is all crucial knowledge to have, but without an underlying foundation of mathematical and scientific knowledge to connect it to, you can only take this so far. There is a clarity and an acumen that comes through mathematics that exists nowhere else, and a way of solving complex problems through reasoning and a repertoire of theoretical knowledge. Abstractions in computing are wonderful things but afford us the opportunity for gaps in our knowledge. College works in the opposite direction: it aims to build your intellect from the ground up: mathematics, theory, methodology: from the very mathematical foundations of computation and the theory that takes us from the smallest of NAND gates to half adders, adders, and coders, and to all of the subtle and often taken for granted foundations that have built the computer systems of today. You simply won’t get enough exposure to this knowledge at work, because of its top-down nature. It’s taken myself decades to build the fundamentals and the theoretical base I’ve learned without college, and that process is still (always!) ongoing. You can get there on your own, sure, but the question is whether you want to start at a disadvantage.</p>
<p style="font-weight: 400;">What that looks like is a much longer process spanning years, where I’ve devoted myself to personal studies in my spare time. Through books, I’ve engaged with great academics such as Shiva, Cormen, Schneier, Paar, Norvig, Strang, Knuth, Kernighan, Silberschatz, and Sipser along with contemporary authors in the field such as Halvorsen, Case, Levin, and Sloss. Like playing along to a record, I’ve spent years conversing with some of the greats in this field through their writings and continue to learn from them. It takes passion, resilience and drive to follow such an endeavor through into the late hours of the night, because you won’t have time to do it while you’re at work. But it will become necessary the deeper you want to go. I still study for hours at night every week.</p>
<p style="font-weight: 400;">If it hasn’t become clear yet, what I’m saying is that one requires a college education to be at a certain level – regardless of whether you get it at a college, or through your own studies. There are numerous challenges when attempting to self-educate. For one, it’s far too easy to gloss over test questions when there’s no accountability or skip the exam at the end of the book completely. It&#8217;s also too easy to say &#8220;the hell with the damn proofs&#8221; and never learn then. Re-reading chapters and re-taking tests after you’ve bombed requires discipline. Without accountability, you may not actually be learning the material as you should. You’re likely to gloss over bits that you don’t understand, too, because there’s nobody there to help you understand it outside of some YouTube. If you took a course on YouTube without doing the textbook work, you probably only gained a superficial understanding of the subject matter and would likely struggle if you were actually required to perform those tasks. Even with a textbook, it&#8217;s too easy to work backwards from the answer at the back of the book, and you must be careful to also make sure you can work forward. Unless you force yourself to sit and work through problems and create hundreds of tiny pencils, you’re just not going to learn the material like you would in school. And if you do manage to learn a subject, a good school will have some of their own pedagogy that you just won’t find in textbooks anywhere. The journey is never ending – as it should be – but without the focus, accountability, and challenge of college, you are at a clear learning disadvantage. It takes an incredible amount of effort and discipline to teach yourself and unless you’re gifted, your journey begins much farther back than it would if you had acquired this foundation at a school.</p>
<p style="font-weight: 400;">These learning gaps easily led to a lot of depression and feelings of imposter syndrome for much of my early adulthood. Even during times of great accomplishment, I’d spent more of my career feeling stupid and useless than I have intelligent, impactful, and capable. Obviously, I’ve had to deal with my own depression issues, but I’ve also learned that I am in very good company with others who have felt stupid or undeserving of the work they’re doing, and the mountain of textbooks in my office is the prescription that’s greatly improved my sense of self-worth in this area.</p>
<p style="font-weight: 400;">I wanted to share this little bit of my journey, because there’s a lot of misguided advice out there. It’s easy for a billionaire who’s been to Stanford to be cavalier about college, but Thiel has never walked in my shoes – and won’t be walking in yours. Thiel’s program feels more like a self-serving endeavor to drum up new sweat equity in startups that incubate well, rather than a genuine attempt to better the world. Before putting all your stock in Thiel’s program, consider there are other billionaires out there like Sam Altman, who tried to make it on his own without college and failed spectacularly. Altman ended up going back to school to earn his degree later before becoming successful. He’s now running one of the most trailblazing, impactful startups in the world. To understand the complex neural networks and accompanying algorithms his company is building, Altman surely must have academic level expertise in advanced linear algebra, calculus, and complexity theory to say the least. While his blog doesn’t attempt to sway you in either direction on college, he offers this advice: build stuff and be around smart people. This is how I learned. It would have been much easier for me if the role models of my time had simply said: go to college. So I&#8217;ll say it: Go to college, then build stuff and be around smart people.</p>
<p style="font-weight: 400;">Notice I didn’t say his company is disruptive, but rather impactful. Disruptive technology may very well live up to its name but is much less so impactful. Countless tech companies have made their founders billions, but there are few that – if we’re honest – we can say have honestly changed the world for the better. Consider Thiel’s own company (PayPal), whose only real claim to fame is saving eBay. It wasn’t particularly transformative, even in the late 90s. Technology was already gravitating in the direction of online payments. While PayPal makes plenty of revenue, the company’s technology feels like more of an old carpet that someone forgot to roll up and throw in the dumpster. There are countless better technologies for online payments today. PayPal was disruptive, but at the end of the day nobody’s going to remember it making their life any better. Disruptive technology usually only has temporal effect, and while it’s true some may occasionally nudge the physics of the world slightly off-course, when that disruption wears off some years later, the company becomes entirely irrelevant to anyone but the founder. There’s no shortage of executives who like to talk about their success yet haven’t really contributed to society. Ten or twenty years later, many of their companies are old and dated and will eventually become irrelevant.</p>
<p style="font-weight: 400;">Something far worse than accomplishing nothing meaningful is believing that you have. It would be impossible to convince rich men in tech today that they’ve done anything short of make the world a living utopia, while their contributions have all been relatively temporary, and often nightmarish. The reality is that once they’re gone, nobody’s going to care about these men, and they’ll be long forgotten just like other rich men from the past whose sole accomplishment distilled down to financial gain. Any good that those fortunes might bring is more likely sitting in tax-sheltered foundations, whose controlling shares seem to be more the focus than the charities that could use the money. I’m not against money, but it can often be a distraction to making deep and meaningful impact. Money isn&#8217;t the root of all evil, but rather the lust for it. There’s a whole lot of good you can do with billions of dollars, naturally, but hardly anyone with that kind of cash ever does much needed good with it. Some promise to donate to charity upon their death; a sort of “get out of hell free” card or a bizarre prescription for wealth guilt. There are a lot of dead rich people who still haven’t delivered on those empty promises; it usually ends up going into foundations that pass on to family, rather than the charities who largely receive the table scraps from dividends. I’ll bet you that in twenty years, more people will remember MacKenzie Scott than Jeff Bezos.</p>
<p style="font-weight: 400;">Many dropouts pursue startups in hopes of attaining professional achievement and success. Often, this kind of success typically provides only temporal reward. While success is important and money gets things done, these alone do not satisfy scientific minds, nor do they usually make the world any better. The temporary success you may find doing a startup right out of high school will not satisfy you in the long term.  The older you get, the more you’ll realize that money doesn’t satisfy like meaningful impact can. I have no doubt that you can probably achieve what you’re imagining right now, but if impact is what you desire, it starts with a solid education to enable you to do the things that you currently <em>can’t</em> imagine.</p>
<p style="font-weight: 400;">I’m making a lot of impact in my field, and I’m in a great place to continue to do that. But at 48 years old, I regret never having the opportunity to attain a transformative formal education. Thirty years later, I still believe that I could be even more impactful, solve more complex problems, contribute more to the scientific community, and become more unstoppable were I to advance my background in mathematics, computational theory, and in other subjects. That’s why I’ve taken an opportunity to skip an undergrad and start working toward a Master of Computer Science on campus, which will hopefully lead to a PhD one day. Fortunately, I’ll be able to do this while continuing in my full time role at work.</p>
<p style="font-weight: 400;">If I, almost 50 years old and already doing what I love, having already spent a lifetime learning, believe that a solid foundation in academia will benefit me and enable me to make even better contributions to computer science, then I would hope that you might take this to heart in considering that perhaps Peter Thiel’s $100,000 isn’t such a great deal, when compared with what you’d be giving up.</p>
<a class="read-more" href="https://www.zdziarski.com/blog/?p=12697" title="Read More"> <span class="button ">Read More</span></a>]]></description>
										<content:encoded><![CDATA[<p class="has-small-font-size">As long as a branch of science offers an abundance of problems, so long it is alive; a lack of problems foreshadows extinction or the cessation of independent development.</p>
<p class="has-text-align-right has-small-font-size"><em>David Hilbert, 1900</em></p>
<p>&nbsp;</p>
<p style="font-weight: 400;">As a self-educated professional working with the best in the field, I think I’m supposed to tell you that you don’t need college to be successful. My journey has been an unconventional one for sure. Growing up in a dysfunctional home with a schizoaffective and abusive father, surviving high school alone was barely manageable. The notion of college was unconscionable to a depressed teenager from a poor home with no parental guidance or support. Computers have been a part of my life since I was eight, where typing programs from the back of magazines into a Radio Shack TRS-80 took me places far away from my terrifying childhood. The highest level of education I’ve accomplished to date is a GED, after failing out of high school. What turned my trajectory around, second only to my faith, was falling in love with learning. I’ve learned a lot over the course of an ongoing 30-year career, and slowly worked my way up from building PCs and doing sysadmin work into software engineering, forensics, and security. With that has come the opportunity to make a lot of impact along the way that’s touched people’s lives, and a lot of self-education. This is a life I couldn’t have possibly imagined for myself. A great career with one of the best companies in the world, a good living, and the opportunities to make long lasting impact. So why would you need college to do the same, especially when billionaires like Peter Thiel are willing to pay you six figures to drop out?</p>
<p style="font-weight: 400;">Thiel’s plan for you is a short-sighted one, and doesn’t take into account the difficulty you’re likely to face as a result of taking his offer. What’s missing from Thiel’s story &#8211; and all of his romanticized notions- is all the <em>hard from taking this path.</em> Not just the financial hard that it takes, but the hard of navigating an unforgiving world without a degree &#8211; regardless of your intelligence. The hard in trying to make meaningful contributions to the scientific community and touch government sectors without a formal education. The difficulty of the mind in grasping for solutions to complex problems but lacking the theoretical foundation to connect with your higher-level knowledge, and the sense of feeling stupid for decades because of it. The hard in having to constantly prove you’re a better choice than the other candidate with a pedigree, no matter what level of experience you have in your field. Sure, you’re not me – I get that, but perhaps consider some of my experience spanning a tech career before you decide to quit school.</p>
<p><span id="more-12697"></span></p>
<p style="font-weight: 400;">If you’re thinking about whether to finish college, then you’re likely not old enough to have lived through the dot bomb of 2001. Or perhaps you&#8217;re a recently laid off professional going through your first recession, wondering what to expect. Skills-based hiring isn’t as glamorous as you may think it is. When the economy is good, everyone’s hiring and throwing money around. You’ve got opportunities to jump into new positions that you know you’re not entirely qualified for and gain experience. During the late 90s, the stock market pumped tech full of cash to idiotic levels. Jim Cramer was telling investors that technology was the place to be, and they would be missing out otherwise. By 2001, the tech industry had collapsed when investors realized it wasn’t living up to the hype. Capital dried up fast, and unemployment rates shot sky high. While it lasted eight long months for Wall Street, it took years for many talented engineers to fully recover. Startups infused with hundreds of millions in cash (billions by today’s standards) were failing day after day during the recession, so much that it became fodder for a website named <em>Fucked Company.</em> These were the same quality startups Thiel would want you to start: great ideas, dedicated people, and lots of heart and vision to do things. Their capital evaporated, and most of them failed along with several well-established companies.</p>
<p style="font-weight: 400;">When the startup I was working for failed, it didn’t matter that I was good at what I did. Simply getting in the door for an interview meant that I would be in a stack of paperwork on a desk with potentially dozens of candidates in the Atlanta area with better credentials than I had. One hiring manager (a total asshole) dangled a meager scripting job in front of me, then shortly after bluntly decided he’d rather have someone with “a pedigree”. As more companies failed, the noise only got louder. I went from making a six-figure salary to spending six months unemployed. Even when I’d get a new job, the new company would suddenly suffer mass layoffs. I briefly had to get on food stamps just to pay for baby formula, and nearly lost everything. It was humbling and humiliating. Does this sound glamorous? This is the reality Thiel isn’t warning you about, but you really should understand these are the risks. When there’s an economic downturn, the world turns cold. Your friends and contacts dry up. All the doors you think were open to you end up closing fast. When your startup fails, you may find yourself with a family and a mortgage, and no college degree. That $100,000 he grants to you will have long dried up and you&#8217;ll end up with a narrow, niche set of skills beyond your high school education that are now associated with a failed industry sector.</p>
<p style="font-weight: 400;">Fortunately, my story doesn’t end here. I took the time that I was unemployed to learn some new trade skills: namely C. This saved my bacon, and I dove deep into modern coding. I dug into machine learning and that got me interested in solving problems. Fast forward about seven years, and I made some of the most satisfying impact of my life in pioneering and teaching new methods in computer forensics. There were several incredibly wonderful things about this. Most importantly, it gave me a direct connection to helping people through my work. To know that your effort can directly impact the lives of victims is indescribable, and I was passionate about pursuing the truth that could set them free. To also play a role in protecting our country from foreign actors who are always trying to attack us was also deeply moving work. But also, to be able to teach and reproduce this research to the law enforcement community and see men and women ranging from everyday meatheads to skilled forensic examiners become enamored with learning something so cutting edge was inspiring. Many of them never thought they could do what they ended up learning. My classes inspired some of my students, who became close friends, to go back to school themselves and earn degrees in digital forensics. A decade in this field provided a lot of satisfaction. My work today in security is similarly satisfying, knowing that I play a role in protecting billions from becoming victims to many types of crimes. Yet without proper credentials, my pioneering work in forensics came with notable hurdles. Simply being accepted as an expert at trial proved challenging. In spite of stepping on every seal in government, actually working <em>in</em> government became untenable. I had been recommended for a high-level position at FTC, but it became a non-starter due to my lack of formal education. It is only because of the seminal nature of my research and the support of great people in the field that my impact in forensic science could have been made by someone with only a high school GED. For those people, I am forever grateful.</p>
<p style="font-weight: 400;">Have you ever felt like you had the solution to a complex problem on the tip of your brain, but it was just out of reach? As a practitioner in the field, you largely learn from the top down. When you’re functioning in an engineering role, your focus is the moving pieces &#8211; intimate knowledge of the operating system, various architectures, and the pool of existing research in the community. This is all crucial knowledge to have, but without an underlying foundation of mathematical and scientific knowledge to connect it to, you can only take this so far. There is a clarity and an acumen that comes through mathematics that exists nowhere else, and a way of solving complex problems through reasoning and a repertoire of theoretical knowledge. Abstractions in computing are wonderful things but afford us the opportunity for gaps in our knowledge. College works in the opposite direction: it aims to build your intellect from the ground up: mathematics, theory, methodology: from the very mathematical foundations of computation and the theory that takes us from the smallest of NAND gates to half adders, adders, and coders, and to all of the subtle and often taken for granted foundations that have built the computer systems of today. You simply won’t get enough exposure to this knowledge at work, because of its top-down nature. It’s taken myself decades to build the fundamentals and the theoretical base I’ve learned without college, and that process is still (always!) ongoing. You can get there on your own, sure, but the question is whether you want to start at a disadvantage.</p>
<p style="font-weight: 400;">What that looks like is a much longer process spanning years, where I’ve devoted myself to personal studies in my spare time. Through books, I’ve engaged with great academics such as Shiva, Cormen, Schneier, Paar, Norvig, Strang, Knuth, Kernighan, Silberschatz, and Sipser along with contemporary authors in the field such as Halvorsen, Case, Levin, and Sloss. Like playing along to a record, I’ve spent years conversing with some of the greats in this field through their writings and continue to learn from them. It takes passion, resilience and drive to follow such an endeavor through into the late hours of the night, because you won’t have time to do it while you’re at work. But it will become necessary the deeper you want to go. I still study for hours at night every week.</p>
<p style="font-weight: 400;">If it hasn’t become clear yet, what I’m saying is that one requires a college education to be at a certain level – regardless of whether you get it at a college, or through your own studies. There are numerous challenges when attempting to self-educate. For one, it’s far too easy to gloss over test questions when there’s no accountability or skip the exam at the end of the book completely. It&#8217;s also too easy to say &#8220;the hell with the damn proofs&#8221; and never learn then. Re-reading chapters and re-taking tests after you’ve bombed requires discipline. Without accountability, you may not actually be learning the material as you should. You’re likely to gloss over bits that you don’t understand, too, because there’s nobody there to help you understand it outside of some YouTube. If you took a course on YouTube without doing the textbook work, you probably only gained a superficial understanding of the subject matter and would likely struggle if you were actually required to perform those tasks. Even with a textbook, it&#8217;s too easy to work backwards from the answer at the back of the book, and you must be careful to also make sure you can work forward. Unless you force yourself to sit and work through problems and create hundreds of tiny pencils, you’re just not going to learn the material like you would in school. And if you do manage to learn a subject, a good school will have some of their own pedagogy that you just won’t find in textbooks anywhere. The journey is never ending – as it should be – but without the focus, accountability, and challenge of college, you are at a clear learning disadvantage. It takes an incredible amount of effort and discipline to teach yourself and unless you’re gifted, your journey begins much farther back than it would if you had acquired this foundation at a school.</p>
<p style="font-weight: 400;">These learning gaps easily led to a lot of depression and feelings of imposter syndrome for much of my early adulthood. Even during times of great accomplishment, I’d spent more of my career feeling stupid and useless than I have intelligent, impactful, and capable. Obviously, I’ve had to deal with my own depression issues, but I’ve also learned that I am in very good company with others who have felt stupid or undeserving of the work they’re doing, and the mountain of textbooks in my office is the prescription that’s greatly improved my sense of self-worth in this area.</p>
<p style="font-weight: 400;">I wanted to share this little bit of my journey, because there’s a lot of misguided advice out there. It’s easy for a billionaire who’s been to Stanford to be cavalier about college, but Thiel has never walked in my shoes – and won’t be walking in yours. Thiel’s program feels more like a self-serving endeavor to drum up new sweat equity in startups that incubate well, rather than a genuine attempt to better the world. Before putting all your stock in Thiel’s program, consider there are other billionaires out there like Sam Altman, who tried to make it on his own without college and failed spectacularly. Altman ended up going back to school to earn his degree later before becoming successful. He’s now running one of the most trailblazing, impactful startups in the world. To understand the complex neural networks and accompanying algorithms his company is building, Altman surely must have academic level expertise in advanced linear algebra, calculus, and complexity theory to say the least. While his blog doesn’t attempt to sway you in either direction on college, he offers this advice: build stuff and be around smart people. This is how I learned. It would have been much easier for me if the role models of my time had simply said: go to college. So I&#8217;ll say it: Go to college, then build stuff and be around smart people.</p>
<p style="font-weight: 400;">Notice I didn’t say his company is disruptive, but rather impactful. Disruptive technology may very well live up to its name but is much less so impactful. Countless tech companies have made their founders billions, but there are few that – if we’re honest – we can say have honestly changed the world for the better. Consider Thiel’s own company (PayPal), whose only real claim to fame is saving eBay. It wasn’t particularly transformative, even in the late 90s. Technology was already gravitating in the direction of online payments. While PayPal makes plenty of revenue, the company’s technology feels like more of an old carpet that someone forgot to roll up and throw in the dumpster. There are countless better technologies for online payments today. PayPal was disruptive, but at the end of the day nobody’s going to remember it making their life any better. Disruptive technology usually only has temporal effect, and while it’s true some may occasionally nudge the physics of the world slightly off-course, when that disruption wears off some years later, the company becomes entirely irrelevant to anyone but the founder. There’s no shortage of executives who like to talk about their success yet haven’t really contributed to society. Ten or twenty years later, many of their companies are old and dated and will eventually become irrelevant.</p>
<p style="font-weight: 400;">Something far worse than accomplishing nothing meaningful is believing that you have. It would be impossible to convince rich men in tech today that they’ve done anything short of make the world a living utopia, while their contributions have all been relatively temporary, and often nightmarish. The reality is that once they’re gone, nobody’s going to care about these men, and they’ll be long forgotten just like other rich men from the past whose sole accomplishment distilled down to financial gain. Any good that those fortunes might bring is more likely sitting in tax-sheltered foundations, whose controlling shares seem to be more the focus than the charities that could use the money. I’m not against money, but it can often be a distraction to making deep and meaningful impact. Money isn&#8217;t the root of all evil, but rather the lust for it. There’s a whole lot of good you can do with billions of dollars, naturally, but hardly anyone with that kind of cash ever does much needed good with it. Some promise to donate to charity upon their death; a sort of “get out of hell free” card or a bizarre prescription for wealth guilt. There are a lot of dead rich people who still haven’t delivered on those empty promises; it usually ends up going into foundations that pass on to family, rather than the charities who largely receive the table scraps from dividends. I’ll bet you that in twenty years, more people will remember MacKenzie Scott than Jeff Bezos.</p>
<p style="font-weight: 400;">Many dropouts pursue startups in hopes of attaining professional achievement and success. Often, this kind of success typically provides only temporal reward. While success is important and money gets things done, these alone do not satisfy scientific minds, nor do they usually make the world any better. The temporary success you may find doing a startup right out of high school will not satisfy you in the long term.  The older you get, the more you’ll realize that money doesn’t satisfy like meaningful impact can. I have no doubt that you can probably achieve what you’re imagining right now, but if impact is what you desire, it starts with a solid education to enable you to do the things that you currently <em>can’t</em> imagine.</p>
<p style="font-weight: 400;">I’m making a lot of impact in my field, and I’m in a great place to continue to do that. But at 48 years old, I regret never having the opportunity to attain a transformative formal education. Thirty years later, I still believe that I could be even more impactful, solve more complex problems, contribute more to the scientific community, and become more unstoppable were I to advance my background in mathematics, computational theory, and in other subjects. That’s why I’ve taken an opportunity to skip an undergrad and start working toward a Master of Computer Science on campus, which will hopefully lead to a PhD one day. Fortunately, I’ll be able to do this while continuing in my full time role at work.</p>
<p style="font-weight: 400;">If I, almost 50 years old and already doing what I love, having already spent a lifetime learning, believe that a solid foundation in academia will benefit me and enable me to make even better contributions to computer science, then I would hope that you might take this to heart in considering that perhaps Peter Thiel’s $100,000 isn’t such a great deal, when compared with what you’d be giving up.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Good Medicine for Imposter&#8217;s Syndrome</title>
		<link>https://www.zdziarski.com/blog/?p=12393</link>
		
		<dc:creator><![CDATA[Jonathan Zdziarski]]></dc:creator>
		<pubDate>Fri, 21 Jul 2023 05:00:32 +0000</pubDate>
				<category><![CDATA[Essays]]></category>
		<category><![CDATA[General]]></category>
		<guid isPermaLink="false">https://www.zdziarski.com/blog/?p=12393</guid>

					<description><![CDATA[<p>Much of what we perceive about others in the workplace is their <em>performatory</em> <em>character</em> &#8211; what others are inviting you to believe about themselves; it&#8217;s an attempt to become the <em>idealized</em> <em>version</em> of ourselves by acting the part. Most of us are very competent in the field, but even still everyone gets imposter&#8217;s syndrome from time to time. For the self-taught professionals in tech, it can be the dead body we keep dragging around with us even while making advancements in the field. Some university graduates, too, have struggled with this decaying corpse that plagues the tech world. Left unchecked, it often leads to a devalued sense of self, depression, and even triggers other mental health problems &#8211; even in those whose performatory character would otherwise make them appear well put together. I got into professional tech work at the age of 16, some 32 years ago, at a small computer shop building PCs. Having never had the opportunities others had to go to college, I&#8217;ve had to grow and adapt my skillset over the span of my career. Imposter&#8217;s syndrome &#8211; and depression &#8211; has been along with me for much of my adult life. Even with what continues to be an excellent career at Apple, I&#8217;ve struggled with self-worth. Work environments can be nurturing and stimulating, and bring out the best in you; they can also be demotivating and devalue you &#8211; imposter’s syndrome can follow you around through both. I&#8217;ve figured a few things out about myself over the past 32 years that have helped me navigate some difficult environments. Nobody develops imposter&#8217;s syndrome overnight. Any sickness that is chronic requires a long term cure. There&#8217;s nothing anyone can tell you that will simply fix imposter&#8217;s syndrome; there are incremental ways to slowly recover from it though.</p>
<p>Oxford&#8217;s definition of imposter syndrome is <em>the persistent inability to believe that one&#8217;s success is deserved or has been legitimately achieved as a result of one&#8217;s own efforts or skills</em>. In tech, this usually means we feel stupid because we don&#8217;t think we have the understanding or mastery we think we should. It&#8217;s interesting, though- people tend to often feel like it&#8217;s because they&#8217;re not smart enough. We are definitely smart enough to do this job. The reason we don&#8217;t have understanding <em>isn&#8217;t</em> because we&#8217;re missing brain cells. One thing that computer science is good at is <em>abstractions</em>, and that allows us to work with and learn higher level concepts without needing knowledge of the world beneath it. One might say it&#8217;s what makes computing so great. Imposter&#8217;s Syndrome seems to prey on the benefits afforded to us by abstractions to introduce uncertainties about our abilities. But there is a way to think in such a way that allows for these abstractions to exist, where X can remain unknown and it won’t bother you, but simultaneously see a universe where X fits in.</p>
<p>If you look at a lot of the brightest minds in computer science, there&#8217;s a distinguishable acumen about them that goes beyond simply knowing the subject matter. They have a <em>scientific mind</em>; able to not only explain something, but they&#8217;re able to theorize and reason about it, and able to analogize. These are the kinds of skills that make for not only a good scientist, but a good engineer. It&#8217;s these same qualities that seem most desirable when we measure ourselves up, and often what <em>smart assholes</em> do such a terrible job trying to mimic. But this acumen <em>doesn&#8217;t</em> come from reading source code, mentoring by coworkers, or from reading <em>The Imposter&#8217;s Handbook</em>. These qualities come from a combination of <em>foundational knowledge</em>, <em>methodical reasoning</em>, and <em>discipline</em>. Things a lot of self-taught people like me don&#8217;t initially get a lot of exposure to. What I think a lot of people want to feel is that they are <em>legitimate</em>. That their knowledge isn&#8217;t <em>fake</em> or <em>piecemeal</em>, and that they are armed with the discipline to reason, make advancements, and solve complex problems. So here&#8217;s the pat on the shoulder: You&#8217;re probably very good at the subject matter you&#8217;re trained in, and you are no doubt intelligent if you are working in tech. Here&#8217;s the hard: The abstractions we work with in computing have allowed us to develop gaps, and those gaps make us feel really dumb sometimes. To treat your imposter&#8217;s syndrome, we&#8217;ve got to <em>work at this.</em></p>
<p><span id="more-12393"></span></p>
<p>First, what foundational knowledge<em> isn&#8217;t</em>: It <em>isn&#8217;t</em> the job-related knowledge that one gets from collaborating with coworkers. It also isn&#8217;t the low level knowledge about the specific project you&#8217;re working on, that you may get by reading documentation or source code. <em>Foundational knowledge</em> refers to the underlying understanding of <em>computer science</em> and <em>mathematics</em> that enables one to be able to conceptualize the primitives, rules, and constraints that your computing world lives in. With those skills, one can dig into any project and understand not only how it works, but its overall place in computational theory. This gives you something far more valuable than knowledge: understanding, and is one of the gaps that a lot of self-taught engineers have. We learn plenty about computer science on the job, but this doesn&#8217;t boost our confidence in our own efforts or in our skillset; it&#8217;s too easy to just credit all of that to someone else who <em>gave</em> us that knowledge. Knowledge also isn&#8217;t the same as understanding, which is why <em>knowing things</em> doesn&#8217;t carry much currency, even with <em>ourselves</em>. When there are gaps in our knowledge, we can only apply what we know <em>locally</em> to the micro-world we&#8217;re working in; turning it into something that can be universally applied to computer science requires a foundation.</p>
<p><em>Methodical reasoning</em> (or logical reasoning) is a thought process that involves problem solving by working through a set of rules, theories, and relations. If you jumped straight into computers from an early age like I did (8!), then you probably know more about computer logic than the mathematics behind it. Many of the logical concepts in computing have primitives that live in the deductive reasoning of the mathematical world, and so giving yourself a strong mathematical background is an important step towards developing this skill. I did not think this was important for a long time. Today&#8217;s world of mathematics has many connections all the way back to Aristotle&#8217;s syllogisms. Math is not just a numbers language, as we&#8217;re taught to think about it in school. Math is a platform for visualizing, understanding, and solving logical arguments and building relations, and does a superior job of representing logic than many computer languages.</p>
<p>Lastly, <em>discipline</em> involves applying logical reasoning to knowledge in <em>practice</em>, understanding the rules and constraints of a system, and learning to methodically search and develop solutions that cleanly fit into the patterns of best practices given the problem space. <em>Practicing</em> this will fortify reasoning, and also train you to be able to apply reasoning to any computational problem.</p>
<p>The way to dig yourself out of imposter’s syndrome is  first to fill the foundational gap with <em>knowledge</em>, <em>logical</em> <em>reasoning</em>, and <em>discipline </em>so that we can feel more confident in our stepping up to describe and solve problems, theorize, and advance the state of the art. Once we have a firmer foundation for logical and mathematical reasoning, we can then place the remaining unknowns of X in their proper place in the universe of computing. Knowledge alone doesn&#8217;t develop the qualities of the scientists that we aspire to. This is where many of us hit a dead end; not only is knowledge by itself mostly <em>inert</em>, but it also has a <em>shelf life</em>. If this were not true, then there would not be <em>ten</em> editions of <em>Operating System Concepts</em>, or five editions of <em>Computer Organization, Design, and Architecture</em>. Simply listening to college lectures on YouTube, or taking online courses doesn&#8217;t usually develop the <em>reasoning</em> and <em>discipline</em> that makes that knowledge <em>useful</em> to us either, and if we&#8217;re only receiving that knowledge verbally without internalizing it, we&#8217;ll retain very little of it, and apply even less.</p>
<p>Everyone&#8217;s background is different, and I don&#8217;t pretend to know what curricula any one person needs to fill the learning gap, but if you&#8217;re self-taught, the one thing you probably haven&#8217;t done enough of is <em>classwork.</em> There&#8217;s a wealth of foundational knowledge in college textbooks, sure, but they are also designed to develop <em>reasoning</em> by introducing you to the theory. Theorems aren&#8217;t just for proofs; they&#8217;re part of the foundation that makes reasoning possible. What is reasoning, except for an argument with one&#8217;s self while exploring a set of rules and constraints. Theorems are how you learn to search for solutions. You can better internalize the information by <em>taking extensive notes </em>rather than simply highlighting. They also help to develop discipline when you force yourself to <em>do all of the exercises</em>. It&#8217;s worth it to budget an hour or two a day to devote to personal collegiate-level studies.</p>
<p>Some foundational texts I would recommend for self-taught engineers include Discrete Mathematics with Applications (Rosen), Introduction to Linear Algebra (Strang), Computer Organization, Design, and Architecture (Shiva), Introduction to the Theory of Computation (Sipser), Operating System Concepts (Silberschatz), Algorithms (Cormen), Understanding Cryptography (Paar), and Compilers: Principles, Techniques, and Tool (Aho). Depending on your area of interest, you may also really enjoy Artificial Intelligence: A Modern Approach (Russell/Norvig), Mathematics and Computation (Wigderson), and Computational Complexity (Arora). Pick one mathematics book, and one computer science book to do together. Discrete Math accompanies any book on algorithms, and linear algebra accompanies any book on machine learning or computer graphics.</p>
<p>I&#8217;ve also found an interesting dovetail between computer science and philosophy that has also yielded some rather fascinating benefits, and would recommend reading the works of Hans-Georg Gadamer and Martin Heidegger, or books <em>about</em> their philosophy which may be easier to take in on a first pass. Philosophy is particularly prominent in the world of machine learning, but also overlaps with many other areas of computing, such as confirmation theory, social networks, and adversarial research. Heidegger’s work in truth and existential theory is very aligned with development of the scientific method.</p>
<p>Chances are, you know a lot more than you think you do, but lack of confidence can be crippling. It is acceptable to admit to both what you know, and what you don&#8217;t know. Learning and growing is one way to build that confidence, but also self-improve. Often times, though, we only grow forward when it&#8217;s necessary to grow backwards &#8211; into the foundations that established the knowledge we have. The long cure for imposter&#8217;s syndrome seems to be in working to develop the qualities that comes with core knowledge, reasoning, and discipline.</p>
<p>There are two other characteristics of a growing individual that should be byproducts of a learning process. First, strive to make advancements in the field; be your own problem generator by identifying what&#8217;s broken in computing and what could be improved. Theorize. Start to devise solutions, even if you&#8217;re not far enough into your learning to fully know how to solve them. Keep a notebook of computational problems you&#8217;d like to solve, or other advancements in the field you&#8217;d like to make. As you expand your learning, revisiting these should be inspiring. Secondly, one of the best ways to feel confident in your own abilities is to use 100% of what you do know to help bring others up with you. Even if you only know 1% of a subject, teaching someone 100% of that 1% can bring them to a new level. There are many ways to do this ranging from collaboration of studies, to mentoring, to tutoring. I bet there are people in your field who would love to learn what you know about a particular subject matter. Taking the time to actually sit down with them and teach or mentor them will not only mean the world to them, but it will help you to see your own value in what you have to offer. Studying a subject together can also benefit your own learning.</p>
<p>Abstractions are great for computing. They&#8217;re also terrible for self-esteem. You can&#8217;t plug every hole. Thinking with a scientist’s mindset allows you to manage those abstractions in a way that you can confidently apply the rules of computing around them. Having the foundation and discipline to apply logical reasoning to the unknowns is how AI builds their own micro-world when it cannot perceive the entire environment. We can do the same by acquiring a firm foundation in theory and mathematics to develop the same sharp acumen in this field that you perceive in others.</p>
<a class="read-more" href="https://www.zdziarski.com/blog/?p=12393" title="Read More"> <span class="button ">Read More</span></a>]]></description>
										<content:encoded><![CDATA[<p>Much of what we perceive about others in the workplace is their <em>performatory</em> <em>character</em> &#8211; what others are inviting you to believe about themselves; it&#8217;s an attempt to become the <em>idealized</em> <em>version</em> of ourselves by acting the part. Most of us are very competent in the field, but even still everyone gets imposter&#8217;s syndrome from time to time. For the self-taught professionals in tech, it can be the dead body we keep dragging around with us even while making advancements in the field. Some university graduates, too, have struggled with this decaying corpse that plagues the tech world. Left unchecked, it often leads to a devalued sense of self, depression, and even triggers other mental health problems &#8211; even in those whose performatory character would otherwise make them appear well put together. I got into professional tech work at the age of 16, some 32 years ago, at a small computer shop building PCs. Having never had the opportunities others had to go to college, I&#8217;ve had to grow and adapt my skillset over the span of my career. Imposter&#8217;s syndrome &#8211; and depression &#8211; has been along with me for much of my adult life. Even with what continues to be an excellent career at Apple, I&#8217;ve struggled with self-worth. Work environments can be nurturing and stimulating, and bring out the best in you; they can also be demotivating and devalue you &#8211; imposter’s syndrome can follow you around through both. I&#8217;ve figured a few things out about myself over the past 32 years that have helped me navigate some difficult environments. Nobody develops imposter&#8217;s syndrome overnight. Any sickness that is chronic requires a long term cure. There&#8217;s nothing anyone can tell you that will simply fix imposter&#8217;s syndrome; there are incremental ways to slowly recover from it though.</p>
<p>Oxford&#8217;s definition of imposter syndrome is <em>the persistent inability to believe that one&#8217;s success is deserved or has been legitimately achieved as a result of one&#8217;s own efforts or skills</em>. In tech, this usually means we feel stupid because we don&#8217;t think we have the understanding or mastery we think we should. It&#8217;s interesting, though- people tend to often feel like it&#8217;s because they&#8217;re not smart enough. We are definitely smart enough to do this job. The reason we don&#8217;t have understanding <em>isn&#8217;t</em> because we&#8217;re missing brain cells. One thing that computer science is good at is <em>abstractions</em>, and that allows us to work with and learn higher level concepts without needing knowledge of the world beneath it. One might say it&#8217;s what makes computing so great. Imposter&#8217;s Syndrome seems to prey on the benefits afforded to us by abstractions to introduce uncertainties about our abilities. But there is a way to think in such a way that allows for these abstractions to exist, where X can remain unknown and it won’t bother you, but simultaneously see a universe where X fits in.</p>
<p>If you look at a lot of the brightest minds in computer science, there&#8217;s a distinguishable acumen about them that goes beyond simply knowing the subject matter. They have a <em>scientific mind</em>; able to not only explain something, but they&#8217;re able to theorize and reason about it, and able to analogize. These are the kinds of skills that make for not only a good scientist, but a good engineer. It&#8217;s these same qualities that seem most desirable when we measure ourselves up, and often what <em>smart assholes</em> do such a terrible job trying to mimic. But this acumen <em>doesn&#8217;t</em> come from reading source code, mentoring by coworkers, or from reading <em>The Imposter&#8217;s Handbook</em>. These qualities come from a combination of <em>foundational knowledge</em>, <em>methodical reasoning</em>, and <em>discipline</em>. Things a lot of self-taught people like me don&#8217;t initially get a lot of exposure to. What I think a lot of people want to feel is that they are <em>legitimate</em>. That their knowledge isn&#8217;t <em>fake</em> or <em>piecemeal</em>, and that they are armed with the discipline to reason, make advancements, and solve complex problems. So here&#8217;s the pat on the shoulder: You&#8217;re probably very good at the subject matter you&#8217;re trained in, and you are no doubt intelligent if you are working in tech. Here&#8217;s the hard: The abstractions we work with in computing have allowed us to develop gaps, and those gaps make us feel really dumb sometimes. To treat your imposter&#8217;s syndrome, we&#8217;ve got to <em>work at this.</em></p>
<p><span id="more-12393"></span></p>
<p>First, what foundational knowledge<em> isn&#8217;t</em>: It <em>isn&#8217;t</em> the job-related knowledge that one gets from collaborating with coworkers. It also isn&#8217;t the low level knowledge about the specific project you&#8217;re working on, that you may get by reading documentation or source code. <em>Foundational knowledge</em> refers to the underlying understanding of <em>computer science</em> and <em>mathematics</em> that enables one to be able to conceptualize the primitives, rules, and constraints that your computing world lives in. With those skills, one can dig into any project and understand not only how it works, but its overall place in computational theory. This gives you something far more valuable than knowledge: understanding, and is one of the gaps that a lot of self-taught engineers have. We learn plenty about computer science on the job, but this doesn&#8217;t boost our confidence in our own efforts or in our skillset; it&#8217;s too easy to just credit all of that to someone else who <em>gave</em> us that knowledge. Knowledge also isn&#8217;t the same as understanding, which is why <em>knowing things</em> doesn&#8217;t carry much currency, even with <em>ourselves</em>. When there are gaps in our knowledge, we can only apply what we know <em>locally</em> to the micro-world we&#8217;re working in; turning it into something that can be universally applied to computer science requires a foundation.</p>
<p><em>Methodical reasoning</em> (or logical reasoning) is a thought process that involves problem solving by working through a set of rules, theories, and relations. If you jumped straight into computers from an early age like I did (8!), then you probably know more about computer logic than the mathematics behind it. Many of the logical concepts in computing have primitives that live in the deductive reasoning of the mathematical world, and so giving yourself a strong mathematical background is an important step towards developing this skill. I did not think this was important for a long time. Today&#8217;s world of mathematics has many connections all the way back to Aristotle&#8217;s syllogisms. Math is not just a numbers language, as we&#8217;re taught to think about it in school. Math is a platform for visualizing, understanding, and solving logical arguments and building relations, and does a superior job of representing logic than many computer languages.</p>
<p>Lastly, <em>discipline</em> involves applying logical reasoning to knowledge in <em>practice</em>, understanding the rules and constraints of a system, and learning to methodically search and develop solutions that cleanly fit into the patterns of best practices given the problem space. <em>Practicing</em> this will fortify reasoning, and also train you to be able to apply reasoning to any computational problem.</p>
<p>The way to dig yourself out of imposter’s syndrome is  first to fill the foundational gap with <em>knowledge</em>, <em>logical</em> <em>reasoning</em>, and <em>discipline </em>so that we can feel more confident in our stepping up to describe and solve problems, theorize, and advance the state of the art. Once we have a firmer foundation for logical and mathematical reasoning, we can then place the remaining unknowns of X in their proper place in the universe of computing. Knowledge alone doesn&#8217;t develop the qualities of the scientists that we aspire to. This is where many of us hit a dead end; not only is knowledge by itself mostly <em>inert</em>, but it also has a <em>shelf life</em>. If this were not true, then there would not be <em>ten</em> editions of <em>Operating System Concepts</em>, or five editions of <em>Computer Organization, Design, and Architecture</em>. Simply listening to college lectures on YouTube, or taking online courses doesn&#8217;t usually develop the <em>reasoning</em> and <em>discipline</em> that makes that knowledge <em>useful</em> to us either, and if we&#8217;re only receiving that knowledge verbally without internalizing it, we&#8217;ll retain very little of it, and apply even less.</p>
<p>Everyone&#8217;s background is different, and I don&#8217;t pretend to know what curricula any one person needs to fill the learning gap, but if you&#8217;re self-taught, the one thing you probably haven&#8217;t done enough of is <em>classwork.</em> There&#8217;s a wealth of foundational knowledge in college textbooks, sure, but they are also designed to develop <em>reasoning</em> by introducing you to the theory. Theorems aren&#8217;t just for proofs; they&#8217;re part of the foundation that makes reasoning possible. What is reasoning, except for an argument with one&#8217;s self while exploring a set of rules and constraints. Theorems are how you learn to search for solutions. You can better internalize the information by <em>taking extensive notes </em>rather than simply highlighting. They also help to develop discipline when you force yourself to <em>do all of the exercises</em>. It&#8217;s worth it to budget an hour or two a day to devote to personal collegiate-level studies.</p>
<p>Some foundational texts I would recommend for self-taught engineers include Discrete Mathematics with Applications (Rosen), Introduction to Linear Algebra (Strang), Computer Organization, Design, and Architecture (Shiva), Introduction to the Theory of Computation (Sipser), Operating System Concepts (Silberschatz), Algorithms (Cormen), Understanding Cryptography (Paar), and Compilers: Principles, Techniques, and Tool (Aho). Depending on your area of interest, you may also really enjoy Artificial Intelligence: A Modern Approach (Russell/Norvig), Mathematics and Computation (Wigderson), and Computational Complexity (Arora). Pick one mathematics book, and one computer science book to do together. Discrete Math accompanies any book on algorithms, and linear algebra accompanies any book on machine learning or computer graphics.</p>
<p>I&#8217;ve also found an interesting dovetail between computer science and philosophy that has also yielded some rather fascinating benefits, and would recommend reading the works of Hans-Georg Gadamer and Martin Heidegger, or books <em>about</em> their philosophy which may be easier to take in on a first pass. Philosophy is particularly prominent in the world of machine learning, but also overlaps with many other areas of computing, such as confirmation theory, social networks, and adversarial research. Heidegger’s work in truth and existential theory is very aligned with development of the scientific method.</p>
<p>Chances are, you know a lot more than you think you do, but lack of confidence can be crippling. It is acceptable to admit to both what you know, and what you don&#8217;t know. Learning and growing is one way to build that confidence, but also self-improve. Often times, though, we only grow forward when it&#8217;s necessary to grow backwards &#8211; into the foundations that established the knowledge we have. The long cure for imposter&#8217;s syndrome seems to be in working to develop the qualities that comes with core knowledge, reasoning, and discipline.</p>
<p>There are two other characteristics of a growing individual that should be byproducts of a learning process. First, strive to make advancements in the field; be your own problem generator by identifying what&#8217;s broken in computing and what could be improved. Theorize. Start to devise solutions, even if you&#8217;re not far enough into your learning to fully know how to solve them. Keep a notebook of computational problems you&#8217;d like to solve, or other advancements in the field you&#8217;d like to make. As you expand your learning, revisiting these should be inspiring. Secondly, one of the best ways to feel confident in your own abilities is to use 100% of what you do know to help bring others up with you. Even if you only know 1% of a subject, teaching someone 100% of that 1% can bring them to a new level. There are many ways to do this ranging from collaboration of studies, to mentoring, to tutoring. I bet there are people in your field who would love to learn what you know about a particular subject matter. Taking the time to actually sit down with them and teach or mentor them will not only mean the world to them, but it will help you to see your own value in what you have to offer. Studying a subject together can also benefit your own learning.</p>
<p>Abstractions are great for computing. They&#8217;re also terrible for self-esteem. You can&#8217;t plug every hole. Thinking with a scientist’s mindset allows you to manage those abstractions in a way that you can confidently apply the rules of computing around them. Having the foundation and discipline to apply logical reasoning to the unknowns is how AI builds their own micro-world when it cannot perceive the entire environment. We can do the same by acquiring a firm foundation in theory and mathematics to develop the same sharp acumen in this field that you perceive in others.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>AI is Just Someone Else&#8217;s Intelligence</title>
		<link>https://www.zdziarski.com/blog/?p=12001</link>
		
		<dc:creator><![CDATA[Jonathan Zdziarski]]></dc:creator>
		<pubDate>Thu, 04 May 2023 05:00:48 +0000</pubDate>
				<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[Opinion]]></category>
		<guid isPermaLink="false">https://www.zdziarski.com/blog/?p=12001</guid>

					<description><![CDATA[<p class="has-small-font-size">Mechanical arts are of ambiguous use, serving as well for hurt as for remedy.</p>
<p class="has-text-align-right has-small-font-size"><em>Francis Bacon</em></p>
<p>&#160;</p>
<p>It&#8217;s been a long time since I&#8217;ve worked in the field of ML (or what some call AI), and we&#8217;ve come a long way from simple text classification to what&#8217;s being casually called generative AI today. While the technology has made many advances, the foundational concepts of machine learning have remained analogous over time: fitting a line (or plane) to data in n-dimensional space, so that it can predict future data points. ML depends heavily on a large set of training data, which is analyzed to pull out its most interesting and defining features, and this becomes the basis for training a model. The process might involve parsing text, or performing analysis like object identification or analyzing stylistic features in art. Each of these is, in itself, a smaller &#8211; but mathematical &#8211; process. I <a class="underline" href="http://www.zdziarski.com/blog/wp-content/uploads/2010/02/parsing.pdf">experimented with a primitive form of meta-level learning</a> in text classification several years ago, which may help convey the general idea. This identifies “features” of the reference sample being trained. The features this process pulls out can be simple, like words in a document or pixels from a handwriting sample, though today can be more sophisticated “critical patterns” correlated to literary authorship or artistry, such as patterns within art and music composition, sometimes stored in other models. Whatever the content is, the purpose of the training algorithm is to converge patterns and correlations across the data to build a weighted or structured model. The most interesting patterns in the training data influence weights or probabilities, creating a hidden layer: millions of “gears” that converge to compute the most statistically significant outcomes. In this sense, the term “learning” is a bit of a stretch; what’s happening is more along the lines of mathematical transcription of a set of features; adjusting the weights to solve a really big linear equation. Feature selection is one of the key differences between various ML models, and why you have some constructing music, while others render art. The math is pretty consistent &#8211; more sophisticated machines like neural nets are typically trained using <a class="underline" href="https://www.iro.umontreal.ca/~vincentp/ift3395/lectures/backprop_old.pdf">backpropagation</a> and gradient descent, while other machines such as chat bots and text generators might use weighted Markov models or Bayesian networks. These approaches have been applied to everything from natural language processing and handwriting recognition, to today’s work in genome sequencing and autonomous driving. Still, these traditional forms of machine learning are not much more than a sophisticated pattern recognizer. It is largely a deconstructive process with coefficients and statistical magic.</p>
<p>Today&#8217;s generative AI still goes through this type of deconstructive process, but also has a formative element. Where these new approaches excel is in going beyond parsing information into a knowledge base, but now also applying a formative process to that information &#8211; what we might conflate with intelligence, but still falls short of what most would consider the result of human reasoning. To present the data in some coherent form, this involves training not just the information, but the many dimensions of that information (such as the number of different contexts a word may be used in), or in the context of constructs and critical patterns of that information (ABBA, or 1-4-5, as very basic examples), enabling it to formulate an output in the pattern of an existing set of learned reference samples. Basic linear math finds where those dimensions intersect, creating context. But even modern training approaches, such as those used in the transformer model, still require supervised testing to tell the model what bits of its output are garbage, so that the output eventually looks intelligent; it is actually closer to “filtered garbage”. So identifying the pattern of Iambic Pentameter, for example, is still an artificial process. It can be computed mathematically with a large enough data set. Scale those patterns to music, art, literature, and the more sophisticated patterns that make up our repertoire of human creativity and it is impressive &#8211; but still synthesized. Information processing is still very primitive, and lacks many of the traits of <a class="underline" href="https://www.zdziarski.com/blog?p=11679">human understanding</a>. The inability to conceive tradition, authority, and prejudice is why all of this advanced technology still leaves us with Nazi chatbots. Some would call this confirmation theory, which is an area quite underdeveloped (and the AI reading this wouldn’t disagree). Even the raw objectives of AI are based on human-engineered goals, and evaluated using performance metrics to select the best behavior. This is a very mechanical process. Certain behaviors we may view as creative tasks may in fact be simple randomness introduced into most AIs to avoid infinite logic loops. In short, a lot of what you see is quite the opposite of the autonomous, self-motivated behavior it looks like. Any good AI behaves rationally only because someone programmed good objectives into it. Garbage in, garbage out.</p>
<p>One of the big differences between traditional forms of ML and generative AI is the direction in which the data flows. Traditionally, inputs flow into the system for training and queries. To train traditional systems, you&#8217;d suck in &#8220;a bunch of other people&#8217;s stuff&#8221;, and it identifies all of the interesting patterns that are then compared with the input sample. Generative AI takes this a step further, and flips the switch on the vacuum cleaner &#8211; and now all of the dirt that was initially fed into the system is shot out the pipe to produce the equivalent of a digital dust cloud of the original training medium. The output of generative AI takes the critical patterns and concepts weighted during the AI’s training and applies some formative computation to produce its own reference sample as a result. Neat-o. Nice parlor trick.</p>
<p>With billions of dollars, this ML scales to perform impressive computational tasks. The risk of this type of system goes beyond the traditional vision of a robot building a better chair, or replacing a worker at a plant. Today’s ML systems are white collar professionals and don’t require mechanical bodies; the computational capabilities of these systems can replace a broad array of professions using the thought product of millions of humans at once &#8211; so how could anyone compete with that? No one was ever supposed to, in fact. Doug Englebart, pioneer in the field of human-computer interaction, saw AI’s value more in <a class="underline" href="https://www.dougengelbart.org/pubs/augment-3906.html">intelligence-augmentation</a> (that is, IA rather than AI), as a means of assisting the worker. Corporate greed has already led to the recent misapplication of AI, using its advanced capabilities to replace, rather than to augment, humans. Hollywood’s ML generation of  “extras” is a quite extreme and literal example of this. But corporate greed isn’t AI generated. AI is replacing employees for very human reasons, and little to do with artificial intelligence itself. Yet correct computer-human interfaces are a fundamental principle that many computer scientists and science fiction authors alike both fear will be broken. Should you hate AI? No, you should hate greed.</p>
<p>The cold irony is this: at a deconstructed level, the output of generative AI represents the collective intelligence of other people&#8217;s thought products &#8211; their ideas, writings, music, theology, facts, opinions, and so on, likely also including those who lose their job to it. This also means others’ patents and copyrighted works, either directly or indirectly. ML has proven wildly successful at identifying the most effective critical patterns and gluing them together in some coherent form that communicates a desired result &#8211; but at the end of the day, all of its intelligence indeed belongs to the other people whose content was used to train it, almost always without their permission. In the end, generative AI takes from the world&#8217;s best authors, artists, musicians, philosophers, and other thinkers &#8211; erasing their identities, and taking their credit in its output. Without the proper restraints, it will produce the master forgeries of our generation. Should we forget its limitations and begin to rely on it for information, AI will easily blur the lines between what we view as real facts and synthesized ones. Consider a recent instance of this, where an attorney got himself in hot water for citing case law that didn’t exist &#8211; AI had seemingly fabricated it, where the attorney thought they were leveraging AI to do research. Imagine the impact to future case law should courtroom outcomes be based on unchecked fictional precedent! At some point in the future, there will be a demand for AI systems that fact check other AI systems, and then of course systems to fact check those systems. Disinformation and hallucinations will become harder to identify when a small sample is unintentionally used to train new AI systems.</p>
<p><span id="more-12001"></span></p>
<p>There&#8217;s an old saying that goes, &#8220;Stealing from one person is considered plagiarism. Stealing from everyone is considered research.&#8221; As is always the case with new technology, legislation is far behind. I expect that this type of generative AI will face numerous challenges of copyright infringement. Answering the question of how to define a derived work has been a problem long before AI came along. Case law can be found in virtually every industry where humans are accused of copying some prior art from others. Results produced by generative AI today are largely still considered a novelty, however it is very likely that many of its results are already infringing the copyright of others, or at least stealing those ideas. By calling it &#8220;generative AI&#8221;, we are personifying it by incorrectly accepting the notion that it creates new things. A better term for this should be &#8220;formative ML&#8221;, as it parses concepts and develops reference samples based on its learned training inputs. If you change the vocabulary, and think of a neural net as a vast array of adjustable gears onto which many inputs are transcribed, the mystique of AI fades away, making it easier to understand the nature of “generated” content. When a copyright war does start, it will likely be a very long battle; due to the hidden layers of AI by nature, it will be difficult to demonstrate provenance of the different training material that contributed to a work unless it is explicitly programmed to preserve this information. Without some accountability, AI companies can simply use the technology as a veiled form of intellectual property theft.</p>
<p>In many ways, AI is ahead of the people who created it in that the hidden layer is still somewhat of a mystery. In the meantime, responsible companies operating in this space should take steps to identify the provenance of the formative concepts stored in their ML representation so that intellectual theft can be eliminated before it even makes it to an output, and prior work can be cited so that these composite works can give proper credit. This should also be expected when forensic accounting of an AI&#8217;s output is demanded by the courts. Without this, any corporation looking to adopt generative AI should be aware of the risk that they very well may be generating content with intellectual encumbrances. Taint propagation, content coloring and tagging, or similar such approaches can be developed to identify the training sources that contributed to individual regions of the model. Perhaps one day, we&#8217;ll be able to analyze which planes in n-dimensional space are representative of the intellectual composite of a particular collection of works. A responsibly written AI should be able to satisfy this one basic requirement: to accept one of its own outputs as an input, and provide citations for the works that it was based on; a list of the top sources that influenced those regions of its model. In order to develop any sort of ethics in AI, the &#8220;hidden&#8221; layer must become transparent to keep the ML within a certain set of parameters (what we might call honesty). These layers must be better understood before generative AI can be reliably used without risk of intellectual property theft, or downright forgery. When auditing fails, we need the ability to dip into the brains of these systems and see the interconnections that contribute to the processing &#8211; a digital MRI. The sources that trained interconnections, however, are typically discarded in the training phase today. It&#8217;s important we start holding a system&#8217;s designers accountable for what it has learned and when it learned it, just as individuals are held accountable for the content they generate. It is technologically possible to create a system that can account for the origins of its output and provide citations for its own derivative work. This is the moral responsibility of any company specializing in generative AI, and a good place to start with legislation. Because we know the nature of ML, the bar shouldn&#8217;t be, &#8220;prove to me that this is a forgery&#8221;. The bar should be, &#8220;prove to me that this is original.&#8221; At the moment, AI companies seem to be unable or unwilling to forensically account for the origins of a given output sample.</p>
<p>Twenty years ago, language processing was once called AI &#8211; until it wasn&#8217;t, once people began to understand how it worked. Calling it AI is the label we seem to frequently give to impressive algorithms that we don&#8217;t fully understand and can&#8217;t forensically account for. This is problematic for a technology that is rendering content. Will Smith eating spaghetti isn’t exactly Skynet, but our lack of understanding is why many leaders in the field are calling for caution. It is the fact that we don&#8217;t fully understand AI that allows this facade to fool the eye. AI is simply a process that we don’t understand, much like fire probably was to cave men, yet we personify it because, well, we’re the kind of species that sees faces in everything. Psychologists believe people tend to anthropomorphize to help better make sense of behaviors they don&#8217;t understand. It doesn’t help that they designed its primitives to resemble the neurons of biological brains. There is no mathematical reason this is necessary (although they do impressively mirror certain mathematical primitives), someone simply decided at one point to create “something that can fly” and our first go at it was to make something that looked like a pigeon, rather than a space shuttle. Much deeper advances in AI are yet to be discovered when researchers move beyond the biological constraints we modeled it after, and into the aerospace equivalent of AI design.</p>
<p>Twenty more years from now, we’ll be rolling our eyes at the idea of calling the ML of 2023 intelligent at all, even though our grandkids will have read differently in their ML-generated history books. Completing the cycle of the garbage-in-garbage-out principal will look like the future generation that grows up consuming ML generated content. What adverse effects will this have on human thought? In the meantime, generative AI is such a convincing illusion that you may lose your job soon to a computer &#8211; that you unwittingly helped train.</p>
<a class="read-more" href="https://www.zdziarski.com/blog/?p=12001" title="Read More"> <span class="button ">Read More</span></a>]]></description>
										<content:encoded><![CDATA[<p class="has-small-font-size">Mechanical arts are of ambiguous use, serving as well for hurt as for remedy.</p>
<p class="has-text-align-right has-small-font-size"><em>Francis Bacon</em></p>
<p>&nbsp;</p>
<p>It&#8217;s been a long time since I&#8217;ve worked in the field of ML (or what some call AI), and we&#8217;ve come a long way from simple text classification to what&#8217;s being casually called generative AI today. While the technology has made many advances, the foundational concepts of machine learning have remained analogous over time: fitting a line (or plane) to data in n-dimensional space, so that it can predict future data points. ML depends heavily on a large set of training data, which is analyzed to pull out its most interesting and defining features, and this becomes the basis for training a model. The process might involve parsing text, or performing analysis like object identification or analyzing stylistic features in art. Each of these is, in itself, a smaller &#8211; but mathematical &#8211; process. I <a class="underline" href="http://www.zdziarski.com/blog/wp-content/uploads/2010/02/parsing.pdf">experimented with a primitive form of meta-level learning</a> in text classification several years ago, which may help convey the general idea. This identifies “features” of the reference sample being trained. The features this process pulls out can be simple, like words in a document or pixels from a handwriting sample, though today can be more sophisticated “critical patterns” correlated to literary authorship or artistry, such as patterns within art and music composition, sometimes stored in other models. Whatever the content is, the purpose of the training algorithm is to converge patterns and correlations across the data to build a weighted or structured model. The most interesting patterns in the training data influence weights or probabilities, creating a hidden layer: millions of “gears” that converge to compute the most statistically significant outcomes. In this sense, the term “learning” is a bit of a stretch; what’s happening is more along the lines of mathematical transcription of a set of features; adjusting the weights to solve a really big linear equation. Feature selection is one of the key differences between various ML models, and why you have some constructing music, while others render art. The math is pretty consistent &#8211; more sophisticated machines like neural nets are typically trained using <a class="underline" href="https://www.iro.umontreal.ca/~vincentp/ift3395/lectures/backprop_old.pdf">backpropagation</a> and gradient descent, while other machines such as chat bots and text generators might use weighted Markov models or Bayesian networks. These approaches have been applied to everything from natural language processing and handwriting recognition, to today’s work in genome sequencing and autonomous driving. Still, these traditional forms of machine learning are not much more than a sophisticated pattern recognizer. It is largely a deconstructive process with coefficients and statistical magic.</p>
<p>Today&#8217;s generative AI still goes through this type of deconstructive process, but also has a formative element. Where these new approaches excel is in going beyond parsing information into a knowledge base, but now also applying a formative process to that information &#8211; what we might conflate with intelligence, but still falls short of what most would consider the result of human reasoning. To present the data in some coherent form, this involves training not just the information, but the many dimensions of that information (such as the number of different contexts a word may be used in), or in the context of constructs and critical patterns of that information (ABBA, or 1-4-5, as very basic examples), enabling it to formulate an output in the pattern of an existing set of learned reference samples. Basic linear math finds where those dimensions intersect, creating context. But even modern training approaches, such as those used in the transformer model, still require supervised testing to tell the model what bits of its output are garbage, so that the output eventually looks intelligent; it is actually closer to “filtered garbage”. So identifying the pattern of Iambic Pentameter, for example, is still an artificial process. It can be computed mathematically with a large enough data set. Scale those patterns to music, art, literature, and the more sophisticated patterns that make up our repertoire of human creativity and it is impressive &#8211; but still synthesized. Information processing is still very primitive, and lacks many of the traits of <a class="underline" href="https://www.zdziarski.com/blog?p=11679">human understanding</a>. The inability to conceive tradition, authority, and prejudice is why all of this advanced technology still leaves us with Nazi chatbots. Some would call this confirmation theory, which is an area quite underdeveloped (and the AI reading this wouldn’t disagree). Even the raw objectives of AI are based on human-engineered goals, and evaluated using performance metrics to select the best behavior. This is a very mechanical process. Certain behaviors we may view as creative tasks may in fact be simple randomness introduced into most AIs to avoid infinite logic loops. In short, a lot of what you see is quite the opposite of the autonomous, self-motivated behavior it looks like. Any good AI behaves rationally only because someone programmed good objectives into it. Garbage in, garbage out.</p>
<p>One of the big differences between traditional forms of ML and generative AI is the direction in which the data flows. Traditionally, inputs flow into the system for training and queries. To train traditional systems, you&#8217;d suck in &#8220;a bunch of other people&#8217;s stuff&#8221;, and it identifies all of the interesting patterns that are then compared with the input sample. Generative AI takes this a step further, and flips the switch on the vacuum cleaner &#8211; and now all of the dirt that was initially fed into the system is shot out the pipe to produce the equivalent of a digital dust cloud of the original training medium. The output of generative AI takes the critical patterns and concepts weighted during the AI’s training and applies some formative computation to produce its own reference sample as a result. Neat-o. Nice parlor trick.</p>
<p>With billions of dollars, this ML scales to perform impressive computational tasks. The risk of this type of system goes beyond the traditional vision of a robot building a better chair, or replacing a worker at a plant. Today’s ML systems are white collar professionals and don’t require mechanical bodies; the computational capabilities of these systems can replace a broad array of professions using the thought product of millions of humans at once &#8211; so how could anyone compete with that? No one was ever supposed to, in fact. Doug Englebart, pioneer in the field of human-computer interaction, saw AI’s value more in <a class="underline" href="https://www.dougengelbart.org/pubs/augment-3906.html">intelligence-augmentation</a> (that is, IA rather than AI), as a means of assisting the worker. Corporate greed has already led to the recent misapplication of AI, using its advanced capabilities to replace, rather than to augment, humans. Hollywood’s ML generation of  “extras” is a quite extreme and literal example of this. But corporate greed isn’t AI generated. AI is replacing employees for very human reasons, and little to do with artificial intelligence itself. Yet correct computer-human interfaces are a fundamental principle that many computer scientists and science fiction authors alike both fear will be broken. Should you hate AI? No, you should hate greed.</p>
<p>The cold irony is this: at a deconstructed level, the output of generative AI represents the collective intelligence of other people&#8217;s thought products &#8211; their ideas, writings, music, theology, facts, opinions, and so on, likely also including those who lose their job to it. This also means others’ patents and copyrighted works, either directly or indirectly. ML has proven wildly successful at identifying the most effective critical patterns and gluing them together in some coherent form that communicates a desired result &#8211; but at the end of the day, all of its intelligence indeed belongs to the other people whose content was used to train it, almost always without their permission. In the end, generative AI takes from the world&#8217;s best authors, artists, musicians, philosophers, and other thinkers &#8211; erasing their identities, and taking their credit in its output. Without the proper restraints, it will produce the master forgeries of our generation. Should we forget its limitations and begin to rely on it for information, AI will easily blur the lines between what we view as real facts and synthesized ones. Consider a recent instance of this, where an attorney got himself in hot water for citing case law that didn’t exist &#8211; AI had seemingly fabricated it, where the attorney thought they were leveraging AI to do research. Imagine the impact to future case law should courtroom outcomes be based on unchecked fictional precedent! At some point in the future, there will be a demand for AI systems that fact check other AI systems, and then of course systems to fact check those systems. Disinformation and hallucinations will become harder to identify when a small sample is unintentionally used to train new AI systems.</p>
<p><span id="more-12001"></span></p>
<p>There&#8217;s an old saying that goes, &#8220;Stealing from one person is considered plagiarism. Stealing from everyone is considered research.&#8221; As is always the case with new technology, legislation is far behind. I expect that this type of generative AI will face numerous challenges of copyright infringement. Answering the question of how to define a derived work has been a problem long before AI came along. Case law can be found in virtually every industry where humans are accused of copying some prior art from others. Results produced by generative AI today are largely still considered a novelty, however it is very likely that many of its results are already infringing the copyright of others, or at least stealing those ideas. By calling it &#8220;generative AI&#8221;, we are personifying it by incorrectly accepting the notion that it creates new things. A better term for this should be &#8220;formative ML&#8221;, as it parses concepts and develops reference samples based on its learned training inputs. If you change the vocabulary, and think of a neural net as a vast array of adjustable gears onto which many inputs are transcribed, the mystique of AI fades away, making it easier to understand the nature of “generated” content. When a copyright war does start, it will likely be a very long battle; due to the hidden layers of AI by nature, it will be difficult to demonstrate provenance of the different training material that contributed to a work unless it is explicitly programmed to preserve this information. Without some accountability, AI companies can simply use the technology as a veiled form of intellectual property theft.</p>
<p>In many ways, AI is ahead of the people who created it in that the hidden layer is still somewhat of a mystery. In the meantime, responsible companies operating in this space should take steps to identify the provenance of the formative concepts stored in their ML representation so that intellectual theft can be eliminated before it even makes it to an output, and prior work can be cited so that these composite works can give proper credit. This should also be expected when forensic accounting of an AI&#8217;s output is demanded by the courts. Without this, any corporation looking to adopt generative AI should be aware of the risk that they very well may be generating content with intellectual encumbrances. Taint propagation, content coloring and tagging, or similar such approaches can be developed to identify the training sources that contributed to individual regions of the model. Perhaps one day, we&#8217;ll be able to analyze which planes in n-dimensional space are representative of the intellectual composite of a particular collection of works. A responsibly written AI should be able to satisfy this one basic requirement: to accept one of its own outputs as an input, and provide citations for the works that it was based on; a list of the top sources that influenced those regions of its model. In order to develop any sort of ethics in AI, the &#8220;hidden&#8221; layer must become transparent to keep the ML within a certain set of parameters (what we might call honesty). These layers must be better understood before generative AI can be reliably used without risk of intellectual property theft, or downright forgery. When auditing fails, we need the ability to dip into the brains of these systems and see the interconnections that contribute to the processing &#8211; a digital MRI. The sources that trained interconnections, however, are typically discarded in the training phase today. It&#8217;s important we start holding a system&#8217;s designers accountable for what it has learned and when it learned it, just as individuals are held accountable for the content they generate. It is technologically possible to create a system that can account for the origins of its output and provide citations for its own derivative work. This is the moral responsibility of any company specializing in generative AI, and a good place to start with legislation. Because we know the nature of ML, the bar shouldn&#8217;t be, &#8220;prove to me that this is a forgery&#8221;. The bar should be, &#8220;prove to me that this is original.&#8221; At the moment, AI companies seem to be unable or unwilling to forensically account for the origins of a given output sample.</p>
<p>Twenty years ago, language processing was once called AI &#8211; until it wasn&#8217;t, once people began to understand how it worked. Calling it AI is the label we seem to frequently give to impressive algorithms that we don&#8217;t fully understand and can&#8217;t forensically account for. This is problematic for a technology that is rendering content. Will Smith eating spaghetti isn’t exactly Skynet, but our lack of understanding is why many leaders in the field are calling for caution. It is the fact that we don&#8217;t fully understand AI that allows this facade to fool the eye. AI is simply a process that we don’t understand, much like fire probably was to cave men, yet we personify it because, well, we’re the kind of species that sees faces in everything. Psychologists believe people tend to anthropomorphize to help better make sense of behaviors they don&#8217;t understand. It doesn’t help that they designed its primitives to resemble the neurons of biological brains. There is no mathematical reason this is necessary (although they do impressively mirror certain mathematical primitives), someone simply decided at one point to create “something that can fly” and our first go at it was to make something that looked like a pigeon, rather than a space shuttle. Much deeper advances in AI are yet to be discovered when researchers move beyond the biological constraints we modeled it after, and into the aerospace equivalent of AI design.</p>
<p>Twenty more years from now, we’ll be rolling our eyes at the idea of calling the ML of 2023 intelligent at all, even though our grandkids will have read differently in their ML-generated history books. Completing the cycle of the garbage-in-garbage-out principal will look like the future generation that grows up consuming ML generated content. What adverse effects will this have on human thought? In the meantime, generative AI is such a convincing illusion that you may lose your job soon to a computer &#8211; that you unwittingly helped train.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Since When Don&#8217;t We Bless Gay People??!?</title>
		<link>https://www.zdziarski.com/blog/?p=11906</link>
		
		<dc:creator><![CDATA[Jonathan Zdziarski]]></dc:creator>
		<pubDate>Thu, 23 Feb 2023 15:43:58 +0000</pubDate>
				<category><![CDATA[Christianity]]></category>
		<guid isPermaLink="false">https://www.zdziarski.com/blog/?p=11906</guid>

					<description><![CDATA[
<p class="has-small-font-size">How can I curse those whom God has not cursed? 
How can I denounce those whom the Lord has not denounced?
I have received a command to bless; he has blessed, and I cannot change it.</p>



<p class="has-text-align-right has-small-font-size" style="line-height: 1;"><em>
Numbers 23
</em></p>



<p>&#160;</p>
<p style="font-weight: 400;">
Christians are expected to be a people who bless. We were commanded so, in fact. Luke 6:28 goes so far as to instruct Christians to &#8220;bless those who curse you, pray for those who mistreat you&#8221;; Romans 12:14 echoes this, &#8220;Bless those who persecute you; bless and do not curse&#8221;. The Christians closest to Jesus were instructed to bless in even the most extreme sense &#8211; those that would later torture and murder them for their very own Christian beliefs. How ironic then that bishops from the Global South Fellowship of Anglican Churches <a class="underline"  href="https://www.independent.co.uk/news/uk/archbishop-anglican-church-canterbury-asia-latin-america-b2285867.html">recently ousted the Archbishop of Centerbury</a> for offering blessings to gay couples. A harmless gay couple looking to participate in the church hardly sounds like a threat to the faith &#8211; yet scripture would still insist we bless them even if they were. Anyone looking to be part of the church should in fact be welcomed with open arms. This matter is not one of a liberal or conservative posture. This is a matter of basic Christian love and grace &#8211; actually acting like a Christian.
</p>
<p style="font-weight: 400;">
While there&#8217;s a lot of room in the Anglican community for differences of opinion, it is within the very fabric of a Christian to be a people who bless. Christians are called to love as Jesus has loved us (John 15:12). Blessing others is one of the ways in which a Christian mimics Jesus; “If you love those who love you, what credit is that to you? If you do good to those that do good to you, what credit is that to you?” Refusing to bless others who don’t meet your bar of acceptability is not only inconsistent with the Jesus of scripture, it is exactly the kind of behavior Jesus railed against in the religious leaders of his day. </p>
<p style="font-weight: 400;">
The church has taken the common practice of blessing others and wrapped it into more formal liturgy, which is fine. Building fences around these man-made constructs, however, is playing with fire, at best, and at the end of the day any theology that inhibits doing one of the most basic things that defines a Christian is just poor theology. In my opinion, such disobedience to the Christian ethos has no place in the church. What troubles me is that not only should these bishops know this, it should have been written on their hearts. We are not the gatekeepers of blessing, we are the salt of the earth.
</p>
<p style="font-weight: 400;">
Since when did Christianity become such an entitled religion? What the world needs is more blessing. More peace. More of God’s outpouring. Not less. I am grateful that in all of my failings as a Christian, God has still had his hand of spiritual blessing on me. It is the infinite grace of God that transforms people&#8217;s hearts and lives, yet that grace seems to all be forgotten when you put on a funny hat. It is apropos that during this Lent season, we should be remembering the ashes from which we came, and just how wretched, miserable, poor, blind and naked we all are without God. It is only by his grace that any of us should receive any blessing at all. As another Anglican bishop recently wrote, “we can only fully embrace God&#8217;s love and mercy when we come to terms with how completely unworthy of it we are.” Perhaps these other bishops &#8211; and maybe the rest of us could use a reminder from Matthew 10:8: Freely you have received, freely give.
</p>
<span id="more-11906"></span>

<a class="read-more" href="https://www.zdziarski.com/blog/?p=11906" title="Read More"> <span class="button ">Read More</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="has-small-font-size">How can I curse those whom God has not cursed? 
How can I denounce those whom the Lord has not denounced?
I have received a command to bless; he has blessed, and I cannot change it.</p>



<p class="has-text-align-right has-small-font-size" style="line-height: 1;"><em>
Numbers 23
</em></p>



<p>&nbsp;</p>
<p style="font-weight: 400;">
Christians are expected to be a people who bless. We were commanded so, in fact. Luke 6:28 goes so far as to instruct Christians to &#8220;bless those who curse you, pray for those who mistreat you&#8221;; Romans 12:14 echoes this, &#8220;Bless those who persecute you; bless and do not curse&#8221;. The Christians closest to Jesus were instructed to bless in even the most extreme sense &#8211; those that would later torture and murder them for their very own Christian beliefs. How ironic then that bishops from the Global South Fellowship of Anglican Churches <a class="underline"  href="https://www.independent.co.uk/news/uk/archbishop-anglican-church-canterbury-asia-latin-america-b2285867.html">recently ousted the Archbishop of Centerbury</a> for offering blessings to gay couples. A harmless gay couple looking to participate in the church hardly sounds like a threat to the faith &#8211; yet scripture would still insist we bless them even if they were. Anyone looking to be part of the church should in fact be welcomed with open arms. This matter is not one of a liberal or conservative posture. This is a matter of basic Christian love and grace &#8211; actually acting like a Christian.
</p>
<p style="font-weight: 400;">
While there&#8217;s a lot of room in the Anglican community for differences of opinion, it is within the very fabric of a Christian to be a people who bless. Christians are called to love as Jesus has loved us (John 15:12). Blessing others is one of the ways in which a Christian mimics Jesus; “If you love those who love you, what credit is that to you? If you do good to those that do good to you, what credit is that to you?” Refusing to bless others who don’t meet your bar of acceptability is not only inconsistent with the Jesus of scripture, it is exactly the kind of behavior Jesus railed against in the religious leaders of his day. </p>
<p style="font-weight: 400;">
The church has taken the common practice of blessing others and wrapped it into more formal liturgy, which is fine. Building fences around these man-made constructs, however, is playing with fire, at best, and at the end of the day any theology that inhibits doing one of the most basic things that defines a Christian is just poor theology. In my opinion, such disobedience to the Christian ethos has no place in the church. What troubles me is that not only should these bishops know this, it should have been written on their hearts. We are not the gatekeepers of blessing, we are the salt of the earth.
</p>
<p style="font-weight: 400;">
Since when did Christianity become such an entitled religion? What the world needs is more blessing. More peace. More of God’s outpouring. Not less. I am grateful that in all of my failings as a Christian, God has still had his hand of spiritual blessing on me. It is the infinite grace of God that transforms people&#8217;s hearts and lives, yet that grace seems to all be forgotten when you put on a funny hat. It is apropos that during this Lent season, we should be remembering the ashes from which we came, and just how wretched, miserable, poor, blind and naked we all are without God. It is only by his grace that any of us should receive any blessing at all. As another Anglican bishop recently wrote, “we can only fully embrace God&#8217;s love and mercy when we come to terms with how completely unworthy of it we are.” Perhaps these other bishops &#8211; and maybe the rest of us could use a reminder from Matthew 10:8: Freely you have received, freely give.
</p>
<span id="more-11906"></span>

]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Elon Musk Cannot Fathom Free Speech</title>
		<link>https://www.zdziarski.com/blog/?p=11814</link>
		
		<dc:creator><![CDATA[Jonathan Zdziarski]]></dc:creator>
		<pubDate>Sun, 18 Dec 2022 01:54:41 +0000</pubDate>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Politics]]></category>
		<guid isPermaLink="false">https://www.zdziarski.com/blog/?p=11814</guid>

					<description><![CDATA[<p>I&#8217;ve recently written about the <a class="underline" href="https://www.zdziarski.com/blog/?p=11679">problems with social media</a> in provoking speech and conformity, as well as the <a class="underline" href="https://www.zdziarski.com/blog/?p=8386">cult phenomenon</a> that social media companies capitalize on. Elon Musk’s recent purchase of Twitter seems an apropos time to address the direct suppression of free speech.</p>
<p>Among Musk’s poorly thought out misadventures, he recently and rightfully reinstated the Twitter accounts of several journalists who had been critical of him in the past, whom he had previously rage-banned without warning. What’s really appalling to me isn’t that he suspended them in the first place (which was deeply troubling), but rather the guise under which he reinstated them. Like many of his twit-decisions, Musk started with a Twitter poll, regarded as having roughly the same credibility as a Russian election. This was followed with a decree that “the people have spoken”, referring to the disenfranchised twelve year olds, Russian trolls, and bots that vote on Twitter. Musk uses this business strategy, which cost $44 billion in research, whenever he wants to make a public policy decision that doesn&#8217;t involve putting people out of work. This policy-related polling seems almost an attempt to make the Twitterverse feel empowered by the new CEO.</p>
<p>Yet while Musk might have his users believe that they are now participants in the free speech narrative, the very concept of free speech itself is at odds with &#8211; even downright hostile to the notion of crowd-sourced policy. The Bill of Rights was designed intentionally to “prevent a sheep and two wolves from voting on what’s for dinner”. It seems to elude Musk that the right of free speech exists at a level higher than himself; that, rather than handing it out by vote, he is a mere steward of it with the responsibility of defending it. The Twitterverse at large has not and should not be empowered to make decisions about what speech to permit, because doing so destroys free speech. Failing to understand the requirements of such a basic human right is a dangerous thing for someone dictating policy of any system that depends on it. Musk, rather, seems to lack either the capacity or the restraint to make responsible decisions about free speech, or how to distinguish free speech from misinformation (today&#8217;s &#8220;Fire!&#8221; in a crowded theatre). Musk&#8217;s inability to handle such a delicate instrument of civil society is truly terrifying given the sheer amount of unilateral power he now has over public discourse.</p>
<p>Twitter was already a sick animal when Musk took over not long ago; the idea of giving a popular vote on speech policy to all users is not just the adolescent prank it looks like, but stands to set a dangerous norm across all social media platforms unless users push back on such an offensive thing. A society that believes the people should be allowed to choose what speech is acceptable is a society that burns books and compels conformity. Musk is simply taking the first step by normalizing this type of behavior among the online community. Anyone who is a free speech advocate should be condemning, not participating in it. If Musk doesn’t start to apply his brain here rather than his ego, Twitter 2.0 could very easily resemble German Student Union 1.0. Empowering children over others was how things started to go wrong back then too.</p>
<p>I had struggled to propose a solution to this problem, at least as far as Twitter is concerned, and then awoke to the most appropriate and fitting news on the subject: Musk created another poll, in which Twitter users voted he resign his post as CEO. It seems he occasionally does poll before putting people out of a job.<br />
<span id="more-11814"></span></p>
<a class="read-more" href="https://www.zdziarski.com/blog/?p=11814" title="Read More"> <span class="button ">Read More</span></a>]]></description>
										<content:encoded><![CDATA[<p>I&#8217;ve recently written about the <a class="underline" href="https://www.zdziarski.com/blog/?p=11679">problems with social media</a> in provoking speech and conformity, as well as the <a class="underline" href="https://www.zdziarski.com/blog/?p=8386">cult phenomenon</a> that social media companies capitalize on. Elon Musk’s recent purchase of Twitter seems an apropos time to address the direct suppression of free speech.</p>
<p>Among Musk’s poorly thought out misadventures, he recently and rightfully reinstated the Twitter accounts of several journalists who had been critical of him in the past, whom he had previously rage-banned without warning. What’s really appalling to me isn’t that he suspended them in the first place (which was deeply troubling), but rather the guise under which he reinstated them. Like many of his twit-decisions, Musk started with a Twitter poll, regarded as having roughly the same credibility as a Russian election. This was followed with a decree that “the people have spoken”, referring to the disenfranchised twelve year olds, Russian trolls, and bots that vote on Twitter. Musk uses this business strategy, which cost $44 billion in research, whenever he wants to make a public policy decision that doesn&#8217;t involve putting people out of work. This policy-related polling seems almost an attempt to make the Twitterverse feel empowered by the new CEO.</p>
<p>Yet while Musk might have his users believe that they are now participants in the free speech narrative, the very concept of free speech itself is at odds with &#8211; even downright hostile to the notion of crowd-sourced policy. The Bill of Rights was designed intentionally to “prevent a sheep and two wolves from voting on what’s for dinner”. It seems to elude Musk that the right of free speech exists at a level higher than himself; that, rather than handing it out by vote, he is a mere steward of it with the responsibility of defending it. The Twitterverse at large has not and should not be empowered to make decisions about what speech to permit, because doing so destroys free speech. Failing to understand the requirements of such a basic human right is a dangerous thing for someone dictating policy of any system that depends on it. Musk, rather, seems to lack either the capacity or the restraint to make responsible decisions about free speech, or how to distinguish free speech from misinformation (today&#8217;s &#8220;Fire!&#8221; in a crowded theatre). Musk&#8217;s inability to handle such a delicate instrument of civil society is truly terrifying given the sheer amount of unilateral power he now has over public discourse.</p>
<p>Twitter was already a sick animal when Musk took over not long ago; the idea of giving a popular vote on speech policy to all users is not just the adolescent prank it looks like, but stands to set a dangerous norm across all social media platforms unless users push back on such an offensive thing. A society that believes the people should be allowed to choose what speech is acceptable is a society that burns books and compels conformity. Musk is simply taking the first step by normalizing this type of behavior among the online community. Anyone who is a free speech advocate should be condemning, not participating in it. If Musk doesn’t start to apply his brain here rather than his ego, Twitter 2.0 could very easily resemble German Student Union 1.0. Empowering children over others was how things started to go wrong back then too.</p>
<p>I had struggled to propose a solution to this problem, at least as far as Twitter is concerned, and then awoke to the most appropriate and fitting news on the subject: Musk created another poll, in which Twitter users voted he resign his post as CEO. It seems he occasionally does poll before putting people out of a job.<br />
<span id="more-11814"></span></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>On Abortion and False Piety</title>
		<link>https://www.zdziarski.com/blog/?p=11329</link>
		
		<dc:creator><![CDATA[Jonathan Zdziarski]]></dc:creator>
		<pubDate>Wed, 16 Nov 2022 05:00:38 +0000</pubDate>
				<category><![CDATA[Christianity]]></category>
		<category><![CDATA[Essays]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Politics]]></category>
		<guid isPermaLink="false">https://www.zdziarski.com/blog/?p=11329</guid>

					<description><![CDATA[
<p class="has-small-font-size">The priest shall bring her and have her stand before the Lord. Then he shall take some holy water in a clay jar and put some dust from the tabernacle floor into the water. After the priest has had the woman stand before the Lord, he shall loosen her hair and place in her hands the reminder-offering, the grain offering for jealousy, while he himself holds the bitter water that brings a curse. Then the priest shall put the woman under oath and say to her, “If no other man has had sexual relations with you and you have not gone astray and become impure while married to your husband, may this bitter water that brings a curse not harm you. But if you have gone astray while married to your husband and you have made yourself impure by having sexual relations with a man other than your husband”— here the priest is to put the woman under this curse—“may the Lord cause you to become a curse[d] among your people when he makes your womb miscarry and your abdomen swell. May this water that brings a curse enter your body so that your abdomen swells or your womb miscarries. Then the woman is to say, “Amen. So be it.”</p>



<p class="has-text-align-right has-small-font-size" style="line-height: 1;"><em>Documented use of an Abortifacient, Numbers 5:16-22</em></p>



<p>&#160;</p>

<p style="font-weight: 400;">In May 2022, white evangelical Christians woke up to some rather unexpected news. A draft opinion had somehow leaked out of the Supreme Court, suggesting that Roe v. Wade would soon be overturned. Shortly after, it was. I single out white evangelicals here because, according to a recent Pew Research study, they are twice as likely to want to see abortion outlawed than other Americans (including other Christians). It would be an error though to conclude this means white evangelicals are the most pro-life. No no no, this is not the case at all. White evangelicals are no more pro-life than other religious groups, Christian or otherwise – they are, however, the most autocratic. Yet those who would use the Bible to institute government sponsored morality seem to have forgotten where the bodies are buried: also in their Bible.</p>
<p style="font-weight: 400;">The concept of abortion is nothing new. The practice of inducing an abortion as punishment for unfaithful women was once conducted as part of priestly duties in pre-Christian Judaism. A woman suspected of adultery, yet maintaining her innocence would be partially stripped, treated as an animal (right down to the presentation of an animal&#8217;s meal offering), and made to drink a type of holy water concoction; it was believed an unfaithful woman would abort her lover&#8217;s fetus and die within up to three years were she guilty (Mishnah Sotah 3). Holy water has a long tradition of being used to cleanse and purify, and so the implication was that the illegitimate fetus was evil, and therefore must be purged from the woman. Behind the scenes, this seemed to have more to do with the financial aspects of marriage contracts and intimidation than it did holiness, and the practice was eventually ended prior to the destruction of the second temple. Today&#8217;s American evangelicals take the opposing viewpoint of their ancestors &#8211; namely, against all forms of abortion &#8211; yet still firmly hold onto the practice of controlling women in much the same way. Yet while many other Christians value life just as much as autocratic evangelicals, we differ greatly from them particularly on a solution to the number of unwanted pregnancies in the country. The earliest Christians opposed abortion by adopting others’ discarded and unwanted live babies &#8211; a Roman practice known as “infant exposure” would leave abandoned babies in the trash or otherwise discarded after birth, left to die or be raised as slaves and prostitutes by others. It was this practice that many early writers condemned as &#8220;the worst abomination of all&#8221; (Philo of Alexandria). They wrote about Roman abortion practices far less. Yet while early Christians put their faith into action by sacrificially taking in these babies to save them from such a fate, today’s evangelicals largely believe opposing abortion through politics and legislation is the only solution. Most others believe it is an ineffective and dangerous solution &#8211; perhaps just as dangerous as the ancient practice that once caused them (or at least was perceived to; the practice&#8217;s effectiveness was highly questionable among rabbis).</p>
<p style="font-weight: 400;">Forced morality is likewise nothing new either. In the book of Chronicles, King Josiah breaks down the altars of false gods, tears down carved images, and rids Judah and Jerusalem of the ungodliness of the time. When his priest finds the Book of the Law, Josiah tears his robe and imposes moral rule according to the laws of the book. The chronicler Ezra writes, &#8220;Josiah removed all the detestable idols from all the territory belonging to the Israelites, and he had all who were present in Israel serve the Lord their God. As long as he lived, they did not fail to follow the Lord, the God of their ancestors.&#8221; An often overlooked detail in this story is that in spite of a society living under (and clearly practicing!) moral law, God tells Josiah that he will take his life early so that he will not see the disaster God plans to bring about. A useful object lesson can be found here: perceived morality counts for little when it is compelled. At the center of today&#8217;s controversy is not really Christian doctrine at all (there is no Christian doctrine concerning abortion), or even morality, but rather the same desire for power; today, that translates to the church&#8217;s desire for socio-economic power. </p>
<p><span id="more-11329"></span></p>
<p style="font-weight: 400;">Evangelical beliefs about economic power can be walked back to the early Protestant Ethic, brought over to America from the Puritans. The Protestant Ethic is the notion that hard work and financial prosperity are a sign of God’s election, where election refers to evidence of favor from God; a sign of salvation. In other words, the more prosperous you are, the better your standing must be with God. It is the foundation of our capitalist history. To the chagrin of many a Christian, Jesus rejected the predominant system of power by means of financial status, and put to shame the use of wealth and social status in the community as a means of privilege and power over others. The misguided principle of the Protestant Ethic is however still preached broadly in many fundamentalist churches, not surprisingly by church leaders of elevated status who find such theology a strangely perverse source of self-legitimization. In its most extreme form, it is preached often in economically depressed areas, where the preacher’s remedy to poverty is for the poor to give even more to the church. This prosperity gospel, often used to manipulate the poor, further bolsters the status of church leaders by amplifying their own wealth &#8211; making them appear in higher stature with God. Throughout this hustle, the poor become poorer, and rarely ever come to understand their role models are prospering only by means of their own exploitation.</p>
<p style="font-weight: 400;">According to the Guttmacher Institute, three-fourths of women who have an abortion in the United States live near or below the poverty line. The Protestant Ethic engrained in many has conditioned American evangelicals to historically position against public services such as welfare, free prenatal and perinatal care, universal child care, and paid maternity or family leave. These same services that many American Christians have fought against for decades have turned out to be the very things that other civilized countries – notably Switzerland and many Nordic countries – have done to bring their abortion rates and infant mortality rates dramatically lower. Many Christians ironically see charity as a threat to their very own status with God. Without thinking about it, the protestant ethic has engrained such socio-economic prejudices that are entirely contrary to the Christian teaching. Their world view was biased through the capitalist Christian experience against social justice and welfare. This, despite a connection the old and new testaments both make in fighting <em>for</em> these things as a byproduct of righteousness. One only needs to look as far as the first few chapters of Isaiah to get this.</p>
<p style="font-weight: 400;">One common defense against such government programs is the argument that scripture makes these a moral imperative, yet countless research studies suggest this belief isn’t backed up by their wallets. A USCCB study on national church giving concluded that only a third of churchgoers give more than $500 annually, with one third giving less than $100. Another study from Barna found that less than 3% of churchgoers tithe. The average churchgoer gives just $17, according to a Health Research Funding study. Of that, other studies estimate at least a third of that money goes to faith and religious services. If you ever look at a church budget, most giving ends up paying for facilities, operating costs, and salaries, followed by foreign missions. Sociologist of religion Robert Wuthnow estimates less than 5% of all giving ever reaches local service activities. While there are many different studies and conclusions, they’re all filled with the same awful news: the moral imperative is bankrupt. At the very least, any services being provided by the church today are woefully insufficient to meet the needs of the country. Without services seeing adequate funding from the church, the worldview of evangelicals has left the communities they operate in without resources. In resisting federal funding, Christians look to outlawing abortion as the solution to a problem the church helped create, and could have solved if the church had done its job in the first place &#8211; both financially and spiritually. Now that Roe has been overturned, experts predicted what we are already seeing: a patchwork of states with different abortion laws, leaving the economically depressed too poor both before and after pregnancy, and more likely to seek medically dangerous alternatives. Because of the extra load on clinics from out of state visitors where the practice was banned, waiting periods have gone from days to weeks &#8211; meaning fetuses are now developing even further along before they’re terminated. The moral crisis of all of this will be the reckoning we face as a result of past inaction of the church to fulfill these self-proclaimed moral imperatives.</p>
<p style="font-weight: 400;">As a Christian, I am worried about both the mothers and the children involved. I am worried about the mother’s emotional well-being, and her safety. I am grieved that there will continue to be unwanted children, many of whom might be wanted had the parents been given a little bit of financial help. Christianity changed abortion dramatically during the Roman era not just through adoption, but by introducing the novel Christian concept that humanity had intrinsic value &#8211; that we&#8217;re not simply trash to be thrown away. Christianity deeply impacted humanity through love, not legislation. In addition to the spiritual state of sadness today, I also think of the deep socio-economic issues that, for many, compress an already bad situation into a worse one. Desperation is a dangerous place to be, and this will undoubtedly push many more into harmful medical decisions. Rather than help, the church has historically left the poor at the disposal of naïve short-sighted Christian politicians, many who seem incapable of thinking through the consequences of their actions. Christians too often treat the poor like garbage, when we should be washing their feet. It has proven itself out, as we read of frequent horror stories in red states where mothers are forced to carry stillborn children to term, and raped children are themselves forced to have their attacker&#8217;s child as a result of trigger laws and recent legislation. Is this the Christian utopia you envisioned?</p>
<p style="font-weight: 400;">Instituting a theocracy where moral beliefs are codified into law will undoubtedly backfire in a country that used to hang Catholics and burn witches. Even among modern day evangelicals, there is little consensus on key doctrine. Robert K. Johnston, professor of theology and culture at Fuller Seminary, wrote of the deeper intrinsic problem of evangelical theology, “That evangelicals, all claiming a Biblical norm, are reaching contradictory theological formulations on many of the major issues they are addressing suggests the problematic nature of their present understanding of theological interpretation. To argue that the Bible is authoritative, but to be unable to come to anything like agreement on what it says (even with those who share an evangelical commitment), is self-defeating.” Doctrine has largely been replaced with opinion in the church, and with a growing lack of sound understanding. A theocracy will undoubtedly become oppressive and disagreeable even to evangelicals. Christians have historically been bent toward Christian dominion on Earth, in spite of the fact that “our citizenship is in heaven” and “we are not of this world”. Yet we continue to mistakenly attempt to establish a kingdom in a land that should feel foreign to us. The clearly broken eschatological views of evangelical Christianity have debased many Christians&#8217; worldviews, somehow normalizing the horrors we are already beginning to see happen as a result of the ruling.</p>
<p style="font-weight: 400;">The appropriate Christian response to the abortion matter should be to approach it with compassion and love rather than recklessly compelling morality, especially with the lack of foresight. We know how to make things better, because we’ve watched other countries do it – dramatically reducing their abortion rates, as well as infant deaths. Those who proclaim to be pro-life should be interested in solutions that work, rather than those that give the appearance of piety. We should be interested in putting our faith into real action, and willing to sacrifice financially or even consider adoption, rather than think our moral obligation is somehow satisfied through involvement with politics &#8211; a privilege early Christians didn&#8217;t have. It should be the desire of any Christian to want to help make better parents and set families up to succeed. Yet virtually every study shows we don&#8217;t, and without the public services in place for what is coming, we face a different kind of moral crisis on the horizon. Meanwhile, the same people who push society over this cliff will continue to look at their own bank accounts and feel blessed, genuinely believing they are doing God’s work and hesitant to want to share any of their &#8220;blessing&#8221;.</p>
<p style="font-weight: 400;">Contrary to the Protestant Ethic, God favors the poor. The book of Proverbs says that those who give to the poor also lend to the Lord. I wonder what the Lord thinks of those who continue to oppress the poor and push them into impossible and never-ending cycles of poverty. Pushing women into horrifying medical situations to impose moral law is not Christian, it is downright monstrous. This isn’t the moment Christians have been waiting for. This is the moment that underscores the moral failings of the church.</p><a class="read-more" href="https://www.zdziarski.com/blog/?p=11329" title="Read More"> <span class="button ">Read More</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="has-small-font-size">The priest shall bring her and have her stand before the Lord. Then he shall take some holy water in a clay jar and put some dust from the tabernacle floor into the water. After the priest has had the woman stand before the Lord, he shall loosen her hair and place in her hands the reminder-offering, the grain offering for jealousy, while he himself holds the bitter water that brings a curse. Then the priest shall put the woman under oath and say to her, “If no other man has had sexual relations with you and you have not gone astray and become impure while married to your husband, may this bitter water that brings a curse not harm you. But if you have gone astray while married to your husband and you have made yourself impure by having sexual relations with a man other than your husband”— here the priest is to put the woman under this curse—“may the Lord cause you to become a curse[d] among your people when he makes your womb miscarry and your abdomen swell. May this water that brings a curse enter your body so that your abdomen swells or your womb miscarries. Then the woman is to say, “Amen. So be it.”</p>



<p class="has-text-align-right has-small-font-size" style="line-height: 1;"><em>Documented use of an Abortifacient, Numbers 5:16-22</em></p>



<p>&nbsp;</p>

<p style="font-weight: 400;">In May 2022, white evangelical Christians woke up to some rather unexpected news. A draft opinion had somehow leaked out of the Supreme Court, suggesting that Roe v. Wade would soon be overturned. Shortly after, it was. I single out white evangelicals here because, according to a recent Pew Research study, they are twice as likely to want to see abortion outlawed than other Americans (including other Christians). It would be an error though to conclude this means white evangelicals are the most pro-life. No no no, this is not the case at all. White evangelicals are no more pro-life than other religious groups, Christian or otherwise – they are, however, the most autocratic. Yet those who would use the Bible to institute government sponsored morality seem to have forgotten where the bodies are buried: also in their Bible.</p>
<p style="font-weight: 400;">The concept of abortion is nothing new. The practice of inducing an abortion as punishment for unfaithful women was once conducted as part of priestly duties in pre-Christian Judaism. A woman suspected of adultery, yet maintaining her innocence would be partially stripped, treated as an animal (right down to the presentation of an animal&#8217;s meal offering), and made to drink a type of holy water concoction; it was believed an unfaithful woman would abort her lover&#8217;s fetus and die within up to three years were she guilty (Mishnah Sotah 3). Holy water has a long tradition of being used to cleanse and purify, and so the implication was that the illegitimate fetus was evil, and therefore must be purged from the woman. Behind the scenes, this seemed to have more to do with the financial aspects of marriage contracts and intimidation than it did holiness, and the practice was eventually ended prior to the destruction of the second temple. Today&#8217;s American evangelicals take the opposing viewpoint of their ancestors &#8211; namely, against all forms of abortion &#8211; yet still firmly hold onto the practice of controlling women in much the same way. Yet while many other Christians value life just as much as autocratic evangelicals, we differ greatly from them particularly on a solution to the number of unwanted pregnancies in the country. The earliest Christians opposed abortion by adopting others’ discarded and unwanted live babies &#8211; a Roman practice known as “infant exposure” would leave abandoned babies in the trash or otherwise discarded after birth, left to die or be raised as slaves and prostitutes by others. It was this practice that many early writers condemned as &#8220;the worst abomination of all&#8221; (Philo of Alexandria). They wrote about Roman abortion practices far less. Yet while early Christians put their faith into action by sacrificially taking in these babies to save them from such a fate, today’s evangelicals largely believe opposing abortion through politics and legislation is the only solution. Most others believe it is an ineffective and dangerous solution &#8211; perhaps just as dangerous as the ancient practice that once caused them (or at least was perceived to; the practice&#8217;s effectiveness was highly questionable among rabbis).</p>
<p style="font-weight: 400;">Forced morality is likewise nothing new either. In the book of Chronicles, King Josiah breaks down the altars of false gods, tears down carved images, and rids Judah and Jerusalem of the ungodliness of the time. When his priest finds the Book of the Law, Josiah tears his robe and imposes moral rule according to the laws of the book. The chronicler Ezra writes, &#8220;Josiah removed all the detestable idols from all the territory belonging to the Israelites, and he had all who were present in Israel serve the Lord their God. As long as he lived, they did not fail to follow the Lord, the God of their ancestors.&#8221; An often overlooked detail in this story is that in spite of a society living under (and clearly practicing!) moral law, God tells Josiah that he will take his life early so that he will not see the disaster God plans to bring about. A useful object lesson can be found here: perceived morality counts for little when it is compelled. At the center of today&#8217;s controversy is not really Christian doctrine at all (there is no Christian doctrine concerning abortion), or even morality, but rather the same desire for power; today, that translates to the church&#8217;s desire for socio-economic power. </p>
<p><span id="more-11329"></span></p>
<p style="font-weight: 400;">Evangelical beliefs about economic power can be walked back to the early Protestant Ethic, brought over to America from the Puritans. The Protestant Ethic is the notion that hard work and financial prosperity are a sign of God’s election, where election refers to evidence of favor from God; a sign of salvation. In other words, the more prosperous you are, the better your standing must be with God. It is the foundation of our capitalist history. To the chagrin of many a Christian, Jesus rejected the predominant system of power by means of financial status, and put to shame the use of wealth and social status in the community as a means of privilege and power over others. The misguided principle of the Protestant Ethic is however still preached broadly in many fundamentalist churches, not surprisingly by church leaders of elevated status who find such theology a strangely perverse source of self-legitimization. In its most extreme form, it is preached often in economically depressed areas, where the preacher’s remedy to poverty is for the poor to give even more to the church. This prosperity gospel, often used to manipulate the poor, further bolsters the status of church leaders by amplifying their own wealth &#8211; making them appear in higher stature with God. Throughout this hustle, the poor become poorer, and rarely ever come to understand their role models are prospering only by means of their own exploitation.</p>
<p style="font-weight: 400;">According to the Guttmacher Institute, three-fourths of women who have an abortion in the United States live near or below the poverty line. The Protestant Ethic engrained in many has conditioned American evangelicals to historically position against public services such as welfare, free prenatal and perinatal care, universal child care, and paid maternity or family leave. These same services that many American Christians have fought against for decades have turned out to be the very things that other civilized countries – notably Switzerland and many Nordic countries – have done to bring their abortion rates and infant mortality rates dramatically lower. Many Christians ironically see charity as a threat to their very own status with God. Without thinking about it, the protestant ethic has engrained such socio-economic prejudices that are entirely contrary to the Christian teaching. Their world view was biased through the capitalist Christian experience against social justice and welfare. This, despite a connection the old and new testaments both make in fighting <em>for</em> these things as a byproduct of righteousness. One only needs to look as far as the first few chapters of Isaiah to get this.</p>
<p style="font-weight: 400;">One common defense against such government programs is the argument that scripture makes these a moral imperative, yet countless research studies suggest this belief isn’t backed up by their wallets. A USCCB study on national church giving concluded that only a third of churchgoers give more than $500 annually, with one third giving less than $100. Another study from Barna found that less than 3% of churchgoers tithe. The average churchgoer gives just $17, according to a Health Research Funding study. Of that, other studies estimate at least a third of that money goes to faith and religious services. If you ever look at a church budget, most giving ends up paying for facilities, operating costs, and salaries, followed by foreign missions. Sociologist of religion Robert Wuthnow estimates less than 5% of all giving ever reaches local service activities. While there are many different studies and conclusions, they’re all filled with the same awful news: the moral imperative is bankrupt. At the very least, any services being provided by the church today are woefully insufficient to meet the needs of the country. Without services seeing adequate funding from the church, the worldview of evangelicals has left the communities they operate in without resources. In resisting federal funding, Christians look to outlawing abortion as the solution to a problem the church helped create, and could have solved if the church had done its job in the first place &#8211; both financially and spiritually. Now that Roe has been overturned, experts predicted what we are already seeing: a patchwork of states with different abortion laws, leaving the economically depressed too poor both before and after pregnancy, and more likely to seek medically dangerous alternatives. Because of the extra load on clinics from out of state visitors where the practice was banned, waiting periods have gone from days to weeks &#8211; meaning fetuses are now developing even further along before they’re terminated. The moral crisis of all of this will be the reckoning we face as a result of past inaction of the church to fulfill these self-proclaimed moral imperatives.</p>
<p style="font-weight: 400;">As a Christian, I am worried about both the mothers and the children involved. I am worried about the mother’s emotional well-being, and her safety. I am grieved that there will continue to be unwanted children, many of whom might be wanted had the parents been given a little bit of financial help. Christianity changed abortion dramatically during the Roman era not just through adoption, but by introducing the novel Christian concept that humanity had intrinsic value &#8211; that we&#8217;re not simply trash to be thrown away. Christianity deeply impacted humanity through love, not legislation. In addition to the spiritual state of sadness today, I also think of the deep socio-economic issues that, for many, compress an already bad situation into a worse one. Desperation is a dangerous place to be, and this will undoubtedly push many more into harmful medical decisions. Rather than help, the church has historically left the poor at the disposal of naïve short-sighted Christian politicians, many who seem incapable of thinking through the consequences of their actions. Christians too often treat the poor like garbage, when we should be washing their feet. It has proven itself out, as we read of frequent horror stories in red states where mothers are forced to carry stillborn children to term, and raped children are themselves forced to have their attacker&#8217;s child as a result of trigger laws and recent legislation. Is this the Christian utopia you envisioned?</p>
<p style="font-weight: 400;">Instituting a theocracy where moral beliefs are codified into law will undoubtedly backfire in a country that used to hang Catholics and burn witches. Even among modern day evangelicals, there is little consensus on key doctrine. Robert K. Johnston, professor of theology and culture at Fuller Seminary, wrote of the deeper intrinsic problem of evangelical theology, “That evangelicals, all claiming a Biblical norm, are reaching contradictory theological formulations on many of the major issues they are addressing suggests the problematic nature of their present understanding of theological interpretation. To argue that the Bible is authoritative, but to be unable to come to anything like agreement on what it says (even with those who share an evangelical commitment), is self-defeating.” Doctrine has largely been replaced with opinion in the church, and with a growing lack of sound understanding. A theocracy will undoubtedly become oppressive and disagreeable even to evangelicals. Christians have historically been bent toward Christian dominion on Earth, in spite of the fact that “our citizenship is in heaven” and “we are not of this world”. Yet we continue to mistakenly attempt to establish a kingdom in a land that should feel foreign to us. The clearly broken eschatological views of evangelical Christianity have debased many Christians&#8217; worldviews, somehow normalizing the horrors we are already beginning to see happen as a result of the ruling.</p>
<p style="font-weight: 400;">The appropriate Christian response to the abortion matter should be to approach it with compassion and love rather than recklessly compelling morality, especially with the lack of foresight. We know how to make things better, because we’ve watched other countries do it – dramatically reducing their abortion rates, as well as infant deaths. Those who proclaim to be pro-life should be interested in solutions that work, rather than those that give the appearance of piety. We should be interested in putting our faith into real action, and willing to sacrifice financially or even consider adoption, rather than think our moral obligation is somehow satisfied through involvement with politics &#8211; a privilege early Christians didn&#8217;t have. It should be the desire of any Christian to want to help make better parents and set families up to succeed. Yet virtually every study shows we don&#8217;t, and without the public services in place for what is coming, we face a different kind of moral crisis on the horizon. Meanwhile, the same people who push society over this cliff will continue to look at their own bank accounts and feel blessed, genuinely believing they are doing God’s work and hesitant to want to share any of their &#8220;blessing&#8221;.</p>
<p style="font-weight: 400;">Contrary to the Protestant Ethic, God favors the poor. The book of Proverbs says that those who give to the poor also lend to the Lord. I wonder what the Lord thinks of those who continue to oppress the poor and push them into impossible and never-ending cycles of poverty. Pushing women into horrifying medical situations to impose moral law is not Christian, it is downright monstrous. This isn’t the moment Christians have been waiting for. This is the moment that underscores the moral failings of the church.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Evangelical Christianity is Broken</title>
		<link>https://www.zdziarski.com/blog/?p=8240</link>
		
		<dc:creator><![CDATA[Jonathan Zdziarski]]></dc:creator>
		<pubDate>Tue, 15 Nov 2022 05:00:00 +0000</pubDate>
				<category><![CDATA[Christianity]]></category>
		<category><![CDATA[Essays]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Politics]]></category>
		<guid isPermaLink="false">https://www.zdziarski.com/blog/?p=8240</guid>

					<description><![CDATA[
<p>In the beginning wickedness did not exist. Nor indeed does it exist even now in those who are holy, nor does it in any way belong to their nature.</p>



<p class="has-text-align-right"><em>Athanasius, Against the Heathen</em></p>



<p>&#160;</p>



<p>I’ve devoted much of the past 30 years as an evangelical Christian “layperson” to Christian studies to try and become an educated one. Greek, theology, the patristics, and Christian history should be in the wheelhouse of every Christian, yet many never study their own religion, and merely live confined to the prison of their own prejudice. Most Christians can&#8217;t tell the difference between culture and doctrine, and often conflate the two. It is, therefore, of little surprise that what Christianity has become in America is more or less a product of a news cycle, and less about a gospel of a meek savior. Evangelical Christianity in America broke in 2020, though perhaps some would say it’s been broken longer.</p>
<p>Ever since, the church stopped being recognizable &#8211; even to many Christians &#8211; in her embrace of racism, hostility, and misinformation that many Christian believers proliferate. It often failed to resemble a church at all, but rather a counterfeit designed to resemble Christianity in name only, almost certainly alien to what was truly being worshipped. The year 2020 brought some of the worst out in the mainstream evangelical church – relatives, friends, and people I’ve grown up with – who were once a much-needed example of Christianity to me – have severely disappointed in how they’d conducted themselves, causing me to question if they ever truly understood their own faith.</p>
<p><span id="more-8240"></span></p>
<p>In fact, many don’t. The Canadian Conference of Catholic Bishops wasn’t wrong to observe that “evangelicals feel authorized to interpret the Bible in isolation from the Christian community extended both in space and time.” A Christian should be well read enough to see the scriptures define the believer, and not the other way around. But in the evangelical church, private interpretation has become the only interpretation that matters, which reduces scripture to a mere mirror of our prejudices. The fruits of this practice are evident in scripture having devolved into the apologetic base of conspiracy theorists, racists, and sovereign citizens who have tortured the text to create the artificial realities their prejudices need to thrive in. Many everyday Christians are part of this practice and do the same to justify their bigotry, perceived moral superiority, and deep down to justify their own standing before God in hateful and wicked behavior that he would find repugnant.</p>



<p>Every Christian’s example <em>par excellence</em> – Jesus &#8211; was abundantly clear in having nothing to do with the wicked. He literally turned tables on those whose agenda didn’t align with his. Scripture is chock full of warnings about the dangers of aligning with wicked people, or compromising one’s values to an end (PS 1, FFS!). Christianity teaches of a savior who demonstrated sheer disinterest in politics, from “render unto Caesar” to his markedly uninterested appearance before an irrelevant Pontius Pilate. Early Christians wielded no political clout for over three hundred years, and were still victims of massacre and martyrdom for centuries beyond that. Yet today, we’re obsessed with power &#8211; even to the degree of aligning with white supremacists who condone racism, hate and murder, or expressing blind, cult-like loyalty to disgusting political leaders in exchange for judges to legislate our idea of morality. Many Christians have, in the short span of a few years, become enablers of the very same hate, violence, racism and division through their alliances, their crowd funding, and trafficking in misinformation to rationalize it into a manufactured “Christian” reality. The church sacrificed her testimony and laid in bed with the devils of our time, all for the kind of influence and power that Jesus would yawn at.</p>



<p>The American evangelical church of 2020 cannot be reconciled with Christianity, which celebrates a meek savior who saw intrinsic value in humanity regardless of their race, their past, or their status. He called for the lifting up of those who were downcast and mistreated by society. He called for sacrificial love of the disenfranchised. To reflect compassion. Generosity. Selflessness. He thought mankind was valuable enough to sacrifice for. Christianity should be, by definition, a mirror image of Christ’s sacrificial love for humanity, and an example of integrity and truth, even to one’s own detriment. I don’t see the character of Jesus Christ in today’s American Christians. While morgues filled up in 2020, Christians were either too defiant or too stupid to even bother protecting the person next to them with a mask on their face. </p>



<p>In retrospect, the fraudulence of modern American Christianity has been a long time in the making. It is of little surprise that Christians support racist leaders, as the church has become the most segregated institution in the country. White Christians have spent generations basking in the privilege of not having to think or preach about racism and inequality, while black and brown Christians in churches down the road are haunted by it daily. The ability to remain blissfully ignorant of racism has been the darling sin of every white suburban Christian church since history was first tormented to create a white Jesus. And is it any surprise that Christians have become so extremely anti-science in the wake of infectious disease? The church’s historical inability to grasp our own God as chief architect with any tools other than magic has caused otherwise intelligent people to become modern-day imbeciles &#8211; even in the broad daylight of mass graves and outdoor crematoriums resembling hell on Earth. </p>



<p>Christians are called to be innocent of evil, not to align ourselves with it. How can we justify and enable the immorality of those we elect to govern us, or crowd fund for murderers and white supremacists when it so clearly has borne the fruit of evil? The mere fact that you are incapable of discerning between good and evil &#8211; a basic expectation of the faith &#8211; reveals your seared, dead conscience and your artificial conviction. As Christians and human beings, this should grieve us and drive us toward repentance &#8211; not excite us. This manufactured reality doesn’t represent the God that I worship, study, and aspire to be more like. Many a Christian should examine what they are worshipping. Perhaps start with Psalm 26.</p>
<p>I have come to better understand Romans 9:6 through this. “It is not as though God’s word had failed. For not all who are descended from Israel are Israel.”  Not everyone who claims to be a Christian is a follower of Jesus Christ, and this is not a sign that God has failed &#8211; but people… the evangelical church has lost her way. While the behavior of much of the nation, and many Christians, truly disturbs me today, this is not cause for abandoning the faith, but rather distilling it.</p>



<p>Our actions are not without accountability in the next life, I fear, much to the pains of those who don’t care who they align themselves with, who they made sick and to die during COVID, or what atrocities they help fund in the name of free speech. Let’s be clear: a platform that fund raises for Nazis is not a Christian platforn. God knows every hair we’ve harmed through our indifference and lack of conviction. The behavior many Christians and Christian leaders today have exhibited more closely resembles a cult than it does the meek and sacrificial historical Jesus. What grieves me most is the sheer apathy for repentance. Before the church can ever move on from this, a massive call for repentance must be answered. God forgives those who repent, yet much of the church seems to be content moving on, sweeping their sins under the rug. This will come back to haunt us all if we do not drop to our knees and repent before God and those we’ve harmed.</p>
<p>&#160;</p>
<a class="read-more" href="https://www.zdziarski.com/blog/?p=8240" title="Read More"> <span class="button ">Read More</span></a>]]></description>
										<content:encoded><![CDATA[
<p>In the beginning wickedness did not exist. Nor indeed does it exist even now in those who are holy, nor does it in any way belong to their nature.</p>



<p class="has-text-align-right"><em>Athanasius, Against the Heathen</em></p>



<p>&nbsp;</p>



<p>I’ve devoted much of the past 30 years as an evangelical Christian “layperson” to Christian studies to try and become an educated one. Greek, theology, the patristics, and Christian history should be in the wheelhouse of every Christian, yet many never study their own religion, and merely live confined to the prison of their own prejudice. Most Christians can&#8217;t tell the difference between culture and doctrine, and often conflate the two. It is, therefore, of little surprise that what Christianity has become in America is more or less a product of a news cycle, and less about a gospel of a meek savior. Evangelical Christianity in America broke in 2020, though perhaps some would say it’s been broken longer.</p>
<p>Ever since, the church stopped being recognizable &#8211; even to many Christians &#8211; in her embrace of racism, hostility, and misinformation that many Christian believers proliferate. It often failed to resemble a church at all, but rather a counterfeit designed to resemble Christianity in name only, almost certainly alien to what was truly being worshipped. The year 2020 brought some of the worst out in the mainstream evangelical church – relatives, friends, and people I’ve grown up with – who were once a much-needed example of Christianity to me – have severely disappointed in how they’d conducted themselves, causing me to question if they ever truly understood their own faith.</p>
<p><span id="more-8240"></span></p>
<p>In fact, many don’t. The Canadian Conference of Catholic Bishops wasn’t wrong to observe that “evangelicals feel authorized to interpret the Bible in isolation from the Christian community extended both in space and time.” A Christian should be well read enough to see the scriptures define the believer, and not the other way around. But in the evangelical church, private interpretation has become the only interpretation that matters, which reduces scripture to a mere mirror of our prejudices. The fruits of this practice are evident in scripture having devolved into the apologetic base of conspiracy theorists, racists, and sovereign citizens who have tortured the text to create the artificial realities their prejudices need to thrive in. Many everyday Christians are part of this practice and do the same to justify their bigotry, perceived moral superiority, and deep down to justify their own standing before God in hateful and wicked behavior that he would find repugnant.</p>



<p>Every Christian’s example <em>par excellence</em> – Jesus &#8211; was abundantly clear in having nothing to do with the wicked. He literally turned tables on those whose agenda didn’t align with his. Scripture is chock full of warnings about the dangers of aligning with wicked people, or compromising one’s values to an end (PS 1, FFS!). Christianity teaches of a savior who demonstrated sheer disinterest in politics, from “render unto Caesar” to his markedly uninterested appearance before an irrelevant Pontius Pilate. Early Christians wielded no political clout for over three hundred years, and were still victims of massacre and martyrdom for centuries beyond that. Yet today, we’re obsessed with power &#8211; even to the degree of aligning with white supremacists who condone racism, hate and murder, or expressing blind, cult-like loyalty to disgusting political leaders in exchange for judges to legislate our idea of morality. Many Christians have, in the short span of a few years, become enablers of the very same hate, violence, racism and division through their alliances, their crowd funding, and trafficking in misinformation to rationalize it into a manufactured “Christian” reality. The church sacrificed her testimony and laid in bed with the devils of our time, all for the kind of influence and power that Jesus would yawn at.</p>



<p>The American evangelical church of 2020 cannot be reconciled with Christianity, which celebrates a meek savior who saw intrinsic value in humanity regardless of their race, their past, or their status. He called for the lifting up of those who were downcast and mistreated by society. He called for sacrificial love of the disenfranchised. To reflect compassion. Generosity. Selflessness. He thought mankind was valuable enough to sacrifice for. Christianity should be, by definition, a mirror image of Christ’s sacrificial love for humanity, and an example of integrity and truth, even to one’s own detriment. I don’t see the character of Jesus Christ in today’s American Christians. While morgues filled up in 2020, Christians were either too defiant or too stupid to even bother protecting the person next to them with a mask on their face. </p>



<p>In retrospect, the fraudulence of modern American Christianity has been a long time in the making. It is of little surprise that Christians support racist leaders, as the church has become the most segregated institution in the country. White Christians have spent generations basking in the privilege of not having to think or preach about racism and inequality, while black and brown Christians in churches down the road are haunted by it daily. The ability to remain blissfully ignorant of racism has been the darling sin of every white suburban Christian church since history was first tormented to create a white Jesus. And is it any surprise that Christians have become so extremely anti-science in the wake of infectious disease? The church’s historical inability to grasp our own God as chief architect with any tools other than magic has caused otherwise intelligent people to become modern-day imbeciles &#8211; even in the broad daylight of mass graves and outdoor crematoriums resembling hell on Earth. </p>



<p>Christians are called to be innocent of evil, not to align ourselves with it. How can we justify and enable the immorality of those we elect to govern us, or crowd fund for murderers and white supremacists when it so clearly has borne the fruit of evil? The mere fact that you are incapable of discerning between good and evil &#8211; a basic expectation of the faith &#8211; reveals your seared, dead conscience and your artificial conviction. As Christians and human beings, this should grieve us and drive us toward repentance &#8211; not excite us. This manufactured reality doesn’t represent the God that I worship, study, and aspire to be more like. Many a Christian should examine what they are worshipping. Perhaps start with Psalm 26.</p>
<p>I have come to better understand Romans 9:6 through this. “It is not as though God’s word had failed. For not all who are descended from Israel are Israel.”  Not everyone who claims to be a Christian is a follower of Jesus Christ, and this is not a sign that God has failed &#8211; but people… the evangelical church has lost her way. While the behavior of much of the nation, and many Christians, truly disturbs me today, this is not cause for abandoning the faith, but rather distilling it.</p>



<p>Our actions are not without accountability in the next life, I fear, much to the pains of those who don’t care who they align themselves with, who they made sick and to die during COVID, or what atrocities they help fund in the name of free speech. Let’s be clear: a platform that fund raises for Nazis is not a Christian platforn. God knows every hair we’ve harmed through our indifference and lack of conviction. The behavior many Christians and Christian leaders today have exhibited more closely resembles a cult than it does the meek and sacrificial historical Jesus. What grieves me most is the sheer apathy for repentance. Before the church can ever move on from this, a massive call for repentance must be answered. God forgives those who repent, yet much of the church seems to be content moving on, sweeping their sins under the rug. This will come back to haunt us all if we do not drop to our knees and repent before God and those we’ve harmed.</p>
<p>&nbsp;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>The Art of Understanding</title>
		<link>https://www.zdziarski.com/blog/?p=11679</link>
		
		<dc:creator><![CDATA[Jonathan Zdziarski]]></dc:creator>
		<pubDate>Tue, 05 Jul 2022 02:55:27 +0000</pubDate>
				<category><![CDATA[General]]></category>
		<guid isPermaLink="false">https://www.zdziarski.com/blog/?p=11679</guid>

					<description><![CDATA[
<p class="has-small-font-size">We cannot understand without wanting to understand, that is, without wanting to let something be said… Understanding does not occur when we try to intercept what someone wants to say to us by claiming we already know it.</p>



<p class="has-text-align-right has-small-font-size" style="line-height: 1;"><em>Hans-Georg Gadamer</em></p>

<p style="font-weight: 400;"> </p>
<p style="font-weight: 400;">Users of social media are attracted to platforms supporting free speech and open communication. The business motivations of social media are too, but for a different reason. A social media company’s valuation is largely driven by user activity metrics, from which advertising and media value are derived. The free speech that users value often turns out to be provoked, induced through controversy or cult phenomenon. Platform disruptors help drive up user activity by provoking speech, which benefits the value of the platform. The more disruptors a platform has (and the more freedom they’re given), the more controversy and virality will exist to improve those metrics that drive valuation. Provoked speech isn’t really free. The consequences of a platform engendering controversy and virality can be seen in the obvious de-evolution of social norms online: civility is rare, cruelty is ever increasing, and understanding no longer has the currency it once had. Outrage pays.</p>
<p style="font-weight: 400;">Understanding is key to any civil society. In America, we usually don’t take the time to understand one another anymore, particularly online. Without fully appreciating someone’s perspective, we usually end up seeing others through our own universe of norms; through our “own lens” as one might say. But it is that person’s own culture, knowledge and norms that influence their prejudices, their beliefs, and their treatment of a subject. Their experiences – not ours &#8211; formed their views. The only correct way to understand someone then is through <em>their</em> lens, treating our own as an impairment begging for a corrective prescription.</p>
<p style="font-weight: 400;">One of the great modern philosophers Hans-Georg Gadamer saw the study of <em>hermeneutics</em> as a means of gaining understanding of “the other” through an effort to transpose a person’s experiences, prejudices, and culture in a way that it could be uniquely appreciated despite the narrowness of our own. Think of it as a translation problem. When the effort is successful, there is a broadening of horizons to better understand how “the other” formed their network of beliefs, free from our own prejudices and norms. The rather sterile and parochial word <em>hermeneutics</em> might remind you more of Sunday School than social media, or more the type of legal research often used to interpret historical law than explain the psychology of a news cycle. If you were to consult college texts, you’d walk away quite certain that hermeneutics has nothing to do with everyday life and is the thing of dry people doing even drier historical things. Yet the doldrum historical sciences that employ hermeneutics have been grasping at the same basic goal to understand, which we often lack in social media.</p>
<p><span id="more-11679"></span></p>
<h1>Meaningful Discourse</h1>
<p style="font-weight: 400;">Until the twentieth century, the approach to most hermeneutical problems could be characterized as crossing the boundaries of history, such as ancient biblical texts or old legal code. Even modern problems in politics rely on the same cultural and historical understanding spanning hundreds or thousands of years. With the advent of various forms of broadcast media, modern challenges relate more to reconciling culture, thought, and experiences that form our worldview in the present. Social media brought about real-time worldwide communication directly into countless different backgrounds, cultures, and persuasions, each formed by one’s own unique experiences. Online communication often leaves much “lost in translation”, as understanding of “the other” greatly suffers when brevity and ephemerality are the rules of engagement. Joel Weinsheimer and Donald G. Marshall frame the problem almost prophetically when describing the challenge of merely translating Gadamer’s work, “even apart from the inevitable mistakes that reflect limits of erudition or understanding, a translation must transpose a work from one time and cultural situation to another.” In any form of communication, there is so much more to translate than mere words. That is what hermeneutics is about at its core: transposing one universe of norms, prejudices, and experience to a different sphere of understanding. This necessitates rendering a clear picture of “the other” through the impediments of our own prejudices and traditions. Such a task requires patience, self-reflection, and a respect for truth.</p>
<p style="font-weight: 400;">Communicating experience is what differentiates cheap social discourse from the most admired works of literature, art, and music. Gadamer describes the true mark of genius of an artist as being able to express fully and transfer the experience of the piece to a modern observer, with the most genius of pieces doing so in transcendence to time and culture. Weinsheimer and Marshall elaborate, “experiences, seen as the enduring residue of moments lived in their full immediacy, are the material artistic genius transforms into works of art.” There is a deep communication conveyed in fine works of art that places the viewer in a position to not only appreciate the workmanship, but to experience what the artist wanted them to experience.</p>
<p style="font-weight: 400;">The kind of understanding that can be achieved from another is of a living nature and requires even more work to fully appreciate. Weinsheimer and Marshall again summarize, “the kind of experience is not the residue of isolated moments, but an ongoing integrative process in which what we encounter widens our horizon, but only by overturning an existing perspective, which we can then perceive was erroneous or at least narrow. Its effect, therefore, is not simply to make us ‘knowing’, to add to our stock of information, but to give us that implicit sense of broad perspectives, of the range of human life and culture, and of our own limits that constitutes a non-dogmatic wisdom”.</p>
<h1>Short-Circuiting Reason</h1>
<p style="font-weight: 400;">Before social media existed, Internet technology provided enough runway to attain some level of understanding of one another. Chatrooms and forums were organized differently, allowing them to run at a much slower pace, giving the user the time and attention span to communicate in (usually) more constructive and cohesive forms. The pace of communication was sped up considerably over the past ten years as time-sensitive, synchronous, and more ephemeral communication became dominant through services such as Twitter and Facebook. The advent of the <em>timeline</em> shifted discourse from being organized by topic to one with merely temporal currency, making it both difficult and unrewarding to discuss more than one topic at a time, or with notable depth. The move to social media’s paradigm short-circuited an important cognitive process: ingestion of the subject matter. Reflection and consideration has largely been replaced with reactionary response, created by the need for faster processing in social media, with those responses also requiring fewer and shorter communication than that of older mediums.</p>
<p style="font-weight: 400;">Cognitive process declined even faster with an important social media convention: retweets. Psychologist Jonathan Haidt identifies the advent of the “retweet” button (and similar) as marking a significant shift in social media, enabling a single post to go viral in a matter of minutes. Prior to retweets, a user would retype, copy paste, or paraphrase (and attribute) a post. The retweet button further short circuited a user’s ability to think before reacting, turning communication into an instantaneous reaction. Retweets also changed a key ingredient to how content is reshared: attribution. Before retweets, the person who shared something would be attributed for the post and would bear some responsibility in repeating something offensive or ignorant, unless the intention involved criticism. This came with a level of social accountability for the user, who would be more apt to share what they understood enough to take responsibility for. A retweet, however, implies virtually no accountability, as the attribution remains that of the original poster, and the motivations for retweeting can remain ambiguous. This removes any of the necessary thought process needed in assuming responsibility for repeating something.</p>
<p style="font-weight: 400;">In most forms of social media, there’s a general lack of <em>understanding</em> of the individuals involved in the discourse. Unlike forums and chatrooms, where people often got to know each other over time, one often interacts with a universe of complete strangers daily on social media; this is only amplified with retweeted content. Achieving some level of understanding of the user behind a tweet takes the level of effort that most users aren’t willing to invest, and indeed rubs against the design of the platform itself. Much of the time, we interact with content, rather than the people who authored it. It is far more rewarding in the short term to insult a user for their views than it is to attempt to understand them; we become content critics rather than participants in a conversation. Since the effort required is so significant, we tend to merely silo and label individuals based on their aesthetic. Musician Victor Wooten once said, “just because you label something doesn’t mean you know anything about it”. J.L. Austin refers to a person&#8217;s aesthetic as their &#8220;performatory character&#8221; writing, &#8220;often, we are inviting our hearers to accept what we believe&#8221;. Especially true online, an aesthetic is often disconnected from the reality of who a person is. Dispositional analysis would have a deeper look at an individual than merely their aesthetic.</p>
<p style="font-weight: 400;">Multiply this short-circuit of thought by millions of users, and it’s not difficult to understand why controversy often arises from viral posts, leaving some topics more emotional than based on reason. It feeds the mob mentality that drives public condemnation (what some refer to as “cancel culture”), mob-based attacks on other users (the digital pitchforks sometimes called on by a platform’s disruptors), and other actions that often lack the benefit of a detailed thought process. Regardless of whether any given judgment is justified or not, there has been no transfer or translation of experience in arriving at it. There has been no dialectic discourse taking place. No attempt at understanding has occurred between the norms or perspective of the other. Gadamer argues that in such cases, we are usually inclined to apply our own norms and prejudices onto the subject, with little consideration to understanding the other. <em>Understanding </em>does not mean <em>agreeing </em>or <em>condoning</em>. It involves taking on a disposition to expand our own narrowness to see the matter from the other’s perspective.</p>
<h1>Coercive Behavior</h1>
<p style="font-weight: 400;">The result of reactionary behavior is that the social media platform starves the user of understanding. The design of today’s platforms require brevity, synchronicity, and transience; all acting as obstacles to understanding. With a reactionary environment, social media often behaves more with the characteristics of a cult. Sociologist Richard Ofshe, in his paper <em>Coercive Persuasion and Attitude Change</em>, outlines four factors that distinguish coercive persuasion: intense interpersonal attack to destabilize an individual’s sense of self value, use of an organized peer group to promote reliance on interaction, interpersonal pressure to promote conformity or behavior desired by the controller, and the manipulation of a person’s social environment to stabilize modified behavior. The factors affecting a person’s social environment, as described by Ofshe, are broken down further into several manipulations frequently experienced on social media, including <em>sacred science</em> (where the group’s ideology is faultless, transcending all other forms of wisdom), <em>loaded language</em> (the manipulation of language characterized by thought-terminating cliches, substituting critical, analytical thought), and the <em>dispensing of existence</em> in which those not sharing a group belief are seen as inferior and unworthy. The three possible results of this coercion, Ofshe concludes, &#8220;were classifiable as internalized belief change (enduring change), a frequently observed transient alteration in beliefs that appears to be situationally adaptive [unstable and environment dependent] and, finally, to reactions of nothing less than firm intellectual resistance and hostility&#8230; The combination of psychological assault on the self, interpersonal pressure, and the social organization of the environment creates a situation that can only be coped with by adapting and acting so as to present oneself to others in terms of the ideology supported in the environment.&#8221;</p>
<p style="font-weight: 400;">Psychologist Margaret Singer wrote of the similar phenomenon of “social proofs”; a means used to determine what is correct by observing what others around us believe is correct. Singer describes imitation and the assumption that a mimicked behavior is proper and good simply because it is observed within whatever group one is seeking acceptance from. Singer also, seemingly prophetically, refers to a concept she calls “liking”, where those in a group affirm individuals and – in a cult setting – the liked individuals feel compelled through a sense of indebtedness to comply with the group’s values and concerns.</p>
<p>If you&#8217;re wondering why some people are so different online than in person, Ofshe observes that the attitudes of victims &#8220;tend to change dramatically once the person is removed from an environment that has totalistic properties and is organized to support the adaptive attitudes. Once removed from such an environment, the person is able to interact with others who permit and encourage the expression of criticisms and doubts, which were previously stifled because of the normative rules of the reform environment.&#8221; In this, Ofshe happens to also describe the characteristics between an unhealthy versus a healthy online social network, and possibly the antidote to such behavior. Such instability may indeed be a way to identify victims of coercive behavior. As is the case with many forms of abuse, victims can easily become offenders if the issue goes unaddressed, leading to even more coercive users on a platform.</p>
<p style="font-weight: 400;">Social media companies are beginning to recognize the larger problems of understanding their platforms have created, and have made small, but useful attempts to address it in the context of controlling misinformation. One response to this problem has been an attempt to give pause to the user by adding interstitials they must click through, along with factual warnings to attempt to engender some form of critical thought. Much of the problem of understanding is left to us to figure out.</p>
<h1>Dispositions for Understanding</h1>
<p style="font-weight: 400;">Gadamer’s theory of understanding introduces four conceptual dispositions of understanding: <em>prejudice</em>, <em>tradition</em>, <em>authority</em>, and <em>horizon</em>.</p>
<p style="font-weight: 400;">Gadamer’s use of <em>prejudice </em>is a neutral one and entails all the fore-judgments we come to the table with. Gadamer builds upon Martin Heidegger’s concept of “fore-structure”; the concept of investigating what has <em>meaning</em> to the other. As Georgia Warnke well summarizes, “things have meaning for us within a web of interrelated assumptions, practices, and activities”. Meaning can be deduced by what experiences the subject has been immersed in, what perspective it has given them, and within what constraints. Heidegger gives the example of our simple understanding of a hammer, and its meaning to a person based on their past utility of it. When approaching something new, we don’t ask what a hammer is every time, but instead we assign the existing meaning we have already placed on it, even if we find ourselves in a completely different context. For example, if someone tells you “this guy’s nickname is the hammer”, you’ve immediately developed pre-judgments about what this means. Now broaden this to a meaning that we’ve given to more complex political or religious concepts, such as “constitutional rights” or “God”, and the pre-judgments both parties bring into such touchy issues. A person’s complex idea of “God” is based on an entire network of other prejudices and traditions that would need to be reconfigured in order to influence a person’s view. Those prejudices and traditions were derived from the person’s own experiences, including possibly other prejudices and traditions passed down to them. These deep experiences in meaning are one reason the tech community is trying to do away with words like “master” and “slave”; while they may be simple technical terms to white people who grew up in tech, they carry much more emotional baggage for others. Finding better terms helps tech to be more inclusive- by removing the barriers created by certain words that resuscitate the emotional baggage tied to them.</p>
<p style="font-weight: 400;"><em>Tradition</em> could be described as the foundational condition for one’s knowledge. It establishes, according to Gadamer, individual and collective learning on the acquisition of accrued experiences and practices. It also defines what interests us, and what questions we may ask ourselves in the learning process; therefore, it serves as a filter not only for what kind of knowledge we are receptive to, but what kind we seek out. Gadamer believed that one can never escape from tradition; we all have our own core conditions for accepting knowledge. While we can never rid ourselves of tradition, we can criticize and change it. Children are often raised to accept a certain tradition, and later “make it their own&#8221; through the process of critique. Healthy adults also curate their tradition through a critical process of revision over the course of one’s life. Recognizing that we will never be tradition-free, we can investigate our own as well as learn of the other’s. Tradition can influence or be influenced by the prejudices one brings with them, and carries with it the questions and challenges that incite knowledge. Understanding how one receives and accepts knowledge today is a matter at the core of modern disinformation campaigns.</p>
<p style="font-weight: 400;"><em>Authority</em> is the power that we give to our tradition; the insights we hold to be superior to the external insights of the world. Gadamer teaches that this is not a universal authority, but the authority we give to our own traditions. He argues that true authority comes by means of acknowledgment from others; without that, it amounts to mere tyranny – either in compelling a tradition upon persons, or by means of self-inflicted intellectual suicide. Consider the person who gives so much weight to what they watch on the news. One might attempt to unpack the underlying reasons by investigating the background that led them there, and how they view the consensus &#8211; or at least the illusion of consensus &#8211; that gives the information its currency. The realm of authority can be quite poignant today in understanding oppressive nations and disinformation campaigns, and analyzing mob and cult behaviors, all of which can compel a line of thought onto others.</p>
<p style="font-weight: 400;">Gadamer’s concept of <em>horizon</em> is a context “to explain how we can have an intellectually vital relation with tradition”. As it pertains to social understanding, the effort involves understanding and bridging the context of one tradition into the other’s, so that the two may mutually understand each other’s overall intellectual context. Gadamer refers to this as a “fusion” of horizons and is an indicator of understanding. Horizons change as people change, and so such an effort to understand is temporal; an understanding explained to you today would likely be expressed very differently if explained to you twenty years ago – not because “the other” has changed, but because you have.</p>
<h1>The Art of Understanding</h1>
<hr class="wp-block-separator" />


<p class="has-small-font-size">It is not only that historical tradition and the natural order of life constitute the unity of the world in which we live as men; the way we experience one another, the way we experience historical traditions, the way we experience the natural givenness of our existence and of our world, constitute a truly hermeneutic universe, in which we are not imprisoned, as if behind insurmountable barriers, but to which we are opened.</p>



<p class="has-text-align-right has-small-font-size" style="line-height: 1;"><em>Hans-Georg Gadamer, Truth and Method</em></p>


<hr class="wp-block-separator" />
<p style="font-weight: 400;"><br />Attempting to understand <em>the other</em> helps to counteract the emotional, knee-jerk virality of the Internet. As Gadamer suggests, when we genuinely listen to another’s insight, “we discover some validity in it, something about the thing itself that would not have shown itself simply within our limited horizon.” When engaging with one-another, however, this is not a one-sided effort. Gadamer warns, “this gain in insight is only possible where both participants in a conversation grant what ‘is due’ to the subject matter”. In other words, both parties need to have enough respect for the subject matter to engage in meaningful discourse, avoiding the common pitfalls of disrespect or dismissal. This requires civility, patience, and listening.</p>
<p style="font-weight: 400;">Such discourse goes well beyond simply discussing the subject at hand. It’s about understanding the psychology behind the other’s viewpoint; understanding why they look at an issue a certain way and consider whether that way of looking at it has some validity. We might be completely offended by someone else’s perspective, yet still find truth worthy of deconstructing and discussing. At the end of the day, we are sophisticated pattern recognizers, and often respond with rejection to any pattern that doesn’t match those we trained on. Gadamer suggests that our perception of truth has “the character of something that belongs to the specific temporal nature of our human life.” In other words, our own view of truth is mediated by our own historical circumstances, where the effort of hermeneutical understanding attempts to draw a truth based on the other’s historical circumstances. If only what we see as being valid is ever correct, then we’re ourselves trapped in the same prison we see the other as trapped in. Gadamer boldly suggests one “must be aware of the fact that their own understanding and interpretation are not constructions based on principles, but the furthering of an event that goes far back.”</p>
<p style="font-weight: 400;">As an object lesson, approaching the news from a hermeneutical posture can be a helpful example of investigating these concepts and how they impact perception. As the behavior of news is tailored around social media today, understanding the different dispositions involved may help develop inductive skills in social media understanding as well. The challenge is this: how can one parse and ingest news in an otherwise compromised environment of truth, where all news output is tainted with prejudice and tradition. To do this, one must be willing to examine all news as an information campaign, and identify the nature of it. If we agree with Gadamer, tradition – the way we receive information, and authority &#8211; the currency we give to information, can never be escaped and so there is no such thing as a tradition-free news source. How the media chooses to treat information, what internal process determines the factual nature of it, and what questions they ask when investigating and reporting the news is subjective to the pre-judgments (prejudices) of the network or newspaper.</p>
<p style="font-weight: 400;">Some may consider a particular news source to be unbiased, but philosophically speaking what has happened is that the individual finds a news source whose prejudices and tradition most closely align with their own. This becomes an exercise in confirmation bias if one isn’t careful to critically examine the traditions and prejudices of both the news source and one’s self. In other words, all news sources are biased &#8211; but so are all of us. The news is, to a careful observer, a hermeneutical effort to investigate the prejudices, traditions, and authorities of a news source, but also of one’s self. It is not merely the information that affects us, but how the information is transposed from one set of prejudices to another; from one tradition into our own. Understanding the delicate nuances of translating from one person’s experience into our own requires us looking just as much within.</p>
<h1>Improving on Social Media</h1>
<p style="font-weight: 400;">There are many opinions about how to improve social media, but few that focus on helping users to better attain understanding. Perhaps part of the reason for this is that it must be the focus of both parties to make such an effort, yet there are things that social media can do to help foster this kind of environment. I offer these suggestions.</p>
<p style="font-weight: 400;"><em>Replace the retweet.</em> Getting rid of the retweet and forcing users to quote tweets will alter the attribution so that it is again shared between the original poster and the user sharing the post. It will also provoke some form of commentary from the person sharing the post to explain their thought process in sharing it &#8211; which means they might develop a thought process. This will give some users pause to consider that it is their name and comment being included in the discourse they are sharing, rather than a blind, accountability-free and context-less retweet. It will also have the effect of greatly slowing down viral tweets and inject some small amount of discourse and thought into the process.</p>
<p style="font-weight: 400;"><em>Asynchronous Threads.</em> Asynchronous and lengthened discourse is one way in which we can increase the amount of meaningful exchange we have with one another. The problem in social media is that platforms are designed to behave exactly opposite of this, and so punish users who seek longer, more meaningful exchange. The consequences are a cluttered timeline, chaotic disorganization, the need for multitasking, and ultimately driving users away from what appears as a high traffic, disjointed,  and sometimes controversial feed. A timeline simply isn’t organized to support meaningful discussions. A solution to this is to design an entirely asynchronous and topically-driven mode for side discussions, allowing timelines to continue to function as they do today, but also allow the user to break off into a slower, asynchronous threading mode. Such a “mode switch” will avoid the common pitfalls that occur in attempting to do this directly inside of a timeline, allowing the user to continue to move their timeline beyond the topic at hand without losing that state. </p>
<p style="font-weight: 400;"><em>Scope of Interaction. </em>Social media currently gives visibility to anyone looking to attack you for a post you’ve made by weaponizing your own timeline. This is far more aggressive than retweeting, as a user with no followers may suddenly find their reply visible to millions. It&#8217;s been some twenty years since we thought that reading a stranger&#8217;s comments about a friend&#8217;s post was cool; the idea hasn&#8217;t aged well. Simply replying to a post, the poster&#8217;s own timeline suddenly becomes a platform for any troll to piggyback onto and publicly attack their views, post off-topic garbage, or redirect the narrative – visible for anyone else on the platform to see when clicking on the original comment. Rethinking this functionality so that broadcast scope is fair but limited will help to reduce the blast radius of inflammatory and disruptive responses. Nobody wants to click on an insightful comment from Pope Francis, for example, and find &#8220;do me daddy&#8221; written by some anon immediately underneath the comment.</p>
<p><em>Identifying coercive behavior</em>. Machine learning innovation has come an incredibly long way from just twenty years ago, yet we only see it in social networking in the form of a mere chatbot novelty. The types of coercive persuasion that Ofshe and others have helped classify should be possible to identify and act upon using a combination of machine learning and community moderation. Rather than filter or block such content individually, such a tool may be used to identify aggressive online accounts and trigger policy designed to act upon the behavior, or even provide some form of relief to the victim in the form of an interstitial or other intervention, if the user wishes. This should be done carefully so as not to run aground of free speech issues.</p>
<h1>Conclusion</h1>
<p style="font-weight: 400;">Social media is a different kind of problem than philosophical hermeneutics was designed to solve, but we can glean many lessons from it nonetheless. Learning to understand each other has always been challenging; it is even more difficult attempting to function in a system that, by design, does not engender proper human interactions and frequently exposes users to mob behavior. It has been five years since I left social media and I have become a better version of myself by not being poisoned daily, but that&#8217;s not necessarily the solution for everyone. It also took the work and patience of others that have helped me improve as a person over the course of my life. Regardless of whether you are active on social media, learning how to better expand our horizons in discourse with others is a skill that can make us more well-rounded, intelligent, and kind humans.</p>
<p style="font-weight: 400;">Learning to understand “the other” and striving to translate their worldview and experiences into a form that we can understand and appreciate is the core of hermeneutic goals. Without understanding those we oppose, we are all trapped inside the prisons of our own prejudice, too full of our own virtue to see things from another’s perspective. This does not apply to just social media. As divided as America is, refusing to understand each other has already begun to tear us apart. We have been conditioned by the news and public opinion to bitterly take sides, rather than seek to understand. Society desperately needs people who are willing to reach across the aisle and find common ground. It sounds so simple to put yourself in someone else’s shoes, yet it is extremely difficult to put into practice. Seeking understanding is about rescuing ourselves from our own prisons.</p>
<p style="font-weight: 400;"> </p>
<p style="font-weight: 400;">Truth and Method, H. Gadamer</p>
<p style="font-weight: 400;">Coercive Persuasion and Attitude Change, R. Ofshe</p>
<p style="font-weight: 400;">Hans-Georg Gadamer, L. Barthold</p>
<p style="font-weight: 400;">Gadamer and the Idea of Tradition, M. Fischer</p>
<p style="font-weight: 400;">Hermeneutics, G. Warnke</p>
<p style="font-weight: 400;">Gadamer and the Transmission of History, J. Veith</p>
<p style="font-weight: 400;">Hermeneutics of Doctrine, A. Thistleton</p><a class="read-more" href="https://www.zdziarski.com/blog/?p=11679" title="Read More"> <span class="button ">Read More</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="has-small-font-size">We cannot understand without wanting to understand, that is, without wanting to let something be said… Understanding does not occur when we try to intercept what someone wants to say to us by claiming we already know it.</p>



<p class="has-text-align-right has-small-font-size" style="line-height: 1;"><em>Hans-Georg Gadamer</em></p>

<p style="font-weight: 400;"> </p>
<p style="font-weight: 400;">Users of social media are attracted to platforms supporting free speech and open communication. The business motivations of social media are too, but for a different reason. A social media company’s valuation is largely driven by user activity metrics, from which advertising and media value are derived. The free speech that users value often turns out to be provoked, induced through controversy or cult phenomenon. Platform disruptors help drive up user activity by provoking speech, which benefits the value of the platform. The more disruptors a platform has (and the more freedom they’re given), the more controversy and virality will exist to improve those metrics that drive valuation. Provoked speech isn’t really free. The consequences of a platform engendering controversy and virality can be seen in the obvious de-evolution of social norms online: civility is rare, cruelty is ever increasing, and understanding no longer has the currency it once had. Outrage pays.</p>
<p style="font-weight: 400;">Understanding is key to any civil society. In America, we usually don’t take the time to understand one another anymore, particularly online. Without fully appreciating someone’s perspective, we usually end up seeing others through our own universe of norms; through our “own lens” as one might say. But it is that person’s own culture, knowledge and norms that influence their prejudices, their beliefs, and their treatment of a subject. Their experiences – not ours &#8211; formed their views. The only correct way to understand someone then is through <em>their</em> lens, treating our own as an impairment begging for a corrective prescription.</p>
<p style="font-weight: 400;">One of the great modern philosophers Hans-Georg Gadamer saw the study of <em>hermeneutics</em> as a means of gaining understanding of “the other” through an effort to transpose a person’s experiences, prejudices, and culture in a way that it could be uniquely appreciated despite the narrowness of our own. Think of it as a translation problem. When the effort is successful, there is a broadening of horizons to better understand how “the other” formed their network of beliefs, free from our own prejudices and norms. The rather sterile and parochial word <em>hermeneutics</em> might remind you more of Sunday School than social media, or more the type of legal research often used to interpret historical law than explain the psychology of a news cycle. If you were to consult college texts, you’d walk away quite certain that hermeneutics has nothing to do with everyday life and is the thing of dry people doing even drier historical things. Yet the doldrum historical sciences that employ hermeneutics have been grasping at the same basic goal to understand, which we often lack in social media.</p>
<p><span id="more-11679"></span></p>
<h1>Meaningful Discourse</h1>
<p style="font-weight: 400;">Until the twentieth century, the approach to most hermeneutical problems could be characterized as crossing the boundaries of history, such as ancient biblical texts or old legal code. Even modern problems in politics rely on the same cultural and historical understanding spanning hundreds or thousands of years. With the advent of various forms of broadcast media, modern challenges relate more to reconciling culture, thought, and experiences that form our worldview in the present. Social media brought about real-time worldwide communication directly into countless different backgrounds, cultures, and persuasions, each formed by one’s own unique experiences. Online communication often leaves much “lost in translation”, as understanding of “the other” greatly suffers when brevity and ephemerality are the rules of engagement. Joel Weinsheimer and Donald G. Marshall frame the problem almost prophetically when describing the challenge of merely translating Gadamer’s work, “even apart from the inevitable mistakes that reflect limits of erudition or understanding, a translation must transpose a work from one time and cultural situation to another.” In any form of communication, there is so much more to translate than mere words. That is what hermeneutics is about at its core: transposing one universe of norms, prejudices, and experience to a different sphere of understanding. This necessitates rendering a clear picture of “the other” through the impediments of our own prejudices and traditions. Such a task requires patience, self-reflection, and a respect for truth.</p>
<p style="font-weight: 400;">Communicating experience is what differentiates cheap social discourse from the most admired works of literature, art, and music. Gadamer describes the true mark of genius of an artist as being able to express fully and transfer the experience of the piece to a modern observer, with the most genius of pieces doing so in transcendence to time and culture. Weinsheimer and Marshall elaborate, “experiences, seen as the enduring residue of moments lived in their full immediacy, are the material artistic genius transforms into works of art.” There is a deep communication conveyed in fine works of art that places the viewer in a position to not only appreciate the workmanship, but to experience what the artist wanted them to experience.</p>
<p style="font-weight: 400;">The kind of understanding that can be achieved from another is of a living nature and requires even more work to fully appreciate. Weinsheimer and Marshall again summarize, “the kind of experience is not the residue of isolated moments, but an ongoing integrative process in which what we encounter widens our horizon, but only by overturning an existing perspective, which we can then perceive was erroneous or at least narrow. Its effect, therefore, is not simply to make us ‘knowing’, to add to our stock of information, but to give us that implicit sense of broad perspectives, of the range of human life and culture, and of our own limits that constitutes a non-dogmatic wisdom”.</p>
<h1>Short-Circuiting Reason</h1>
<p style="font-weight: 400;">Before social media existed, Internet technology provided enough runway to attain some level of understanding of one another. Chatrooms and forums were organized differently, allowing them to run at a much slower pace, giving the user the time and attention span to communicate in (usually) more constructive and cohesive forms. The pace of communication was sped up considerably over the past ten years as time-sensitive, synchronous, and more ephemeral communication became dominant through services such as Twitter and Facebook. The advent of the <em>timeline</em> shifted discourse from being organized by topic to one with merely temporal currency, making it both difficult and unrewarding to discuss more than one topic at a time, or with notable depth. The move to social media’s paradigm short-circuited an important cognitive process: ingestion of the subject matter. Reflection and consideration has largely been replaced with reactionary response, created by the need for faster processing in social media, with those responses also requiring fewer and shorter communication than that of older mediums.</p>
<p style="font-weight: 400;">Cognitive process declined even faster with an important social media convention: retweets. Psychologist Jonathan Haidt identifies the advent of the “retweet” button (and similar) as marking a significant shift in social media, enabling a single post to go viral in a matter of minutes. Prior to retweets, a user would retype, copy paste, or paraphrase (and attribute) a post. The retweet button further short circuited a user’s ability to think before reacting, turning communication into an instantaneous reaction. Retweets also changed a key ingredient to how content is reshared: attribution. Before retweets, the person who shared something would be attributed for the post and would bear some responsibility in repeating something offensive or ignorant, unless the intention involved criticism. This came with a level of social accountability for the user, who would be more apt to share what they understood enough to take responsibility for. A retweet, however, implies virtually no accountability, as the attribution remains that of the original poster, and the motivations for retweeting can remain ambiguous. This removes any of the necessary thought process needed in assuming responsibility for repeating something.</p>
<p style="font-weight: 400;">In most forms of social media, there’s a general lack of <em>understanding</em> of the individuals involved in the discourse. Unlike forums and chatrooms, where people often got to know each other over time, one often interacts with a universe of complete strangers daily on social media; this is only amplified with retweeted content. Achieving some level of understanding of the user behind a tweet takes the level of effort that most users aren’t willing to invest, and indeed rubs against the design of the platform itself. Much of the time, we interact with content, rather than the people who authored it. It is far more rewarding in the short term to insult a user for their views than it is to attempt to understand them; we become content critics rather than participants in a conversation. Since the effort required is so significant, we tend to merely silo and label individuals based on their aesthetic. Musician Victor Wooten once said, “just because you label something doesn’t mean you know anything about it”. J.L. Austin refers to a person&#8217;s aesthetic as their &#8220;performatory character&#8221; writing, &#8220;often, we are inviting our hearers to accept what we believe&#8221;. Especially true online, an aesthetic is often disconnected from the reality of who a person is. Dispositional analysis would have a deeper look at an individual than merely their aesthetic.</p>
<p style="font-weight: 400;">Multiply this short-circuit of thought by millions of users, and it’s not difficult to understand why controversy often arises from viral posts, leaving some topics more emotional than based on reason. It feeds the mob mentality that drives public condemnation (what some refer to as “cancel culture”), mob-based attacks on other users (the digital pitchforks sometimes called on by a platform’s disruptors), and other actions that often lack the benefit of a detailed thought process. Regardless of whether any given judgment is justified or not, there has been no transfer or translation of experience in arriving at it. There has been no dialectic discourse taking place. No attempt at understanding has occurred between the norms or perspective of the other. Gadamer argues that in such cases, we are usually inclined to apply our own norms and prejudices onto the subject, with little consideration to understanding the other. <em>Understanding </em>does not mean <em>agreeing </em>or <em>condoning</em>. It involves taking on a disposition to expand our own narrowness to see the matter from the other’s perspective.</p>
<h1>Coercive Behavior</h1>
<p style="font-weight: 400;">The result of reactionary behavior is that the social media platform starves the user of understanding. The design of today’s platforms require brevity, synchronicity, and transience; all acting as obstacles to understanding. With a reactionary environment, social media often behaves more with the characteristics of a cult. Sociologist Richard Ofshe, in his paper <em>Coercive Persuasion and Attitude Change</em>, outlines four factors that distinguish coercive persuasion: intense interpersonal attack to destabilize an individual’s sense of self value, use of an organized peer group to promote reliance on interaction, interpersonal pressure to promote conformity or behavior desired by the controller, and the manipulation of a person’s social environment to stabilize modified behavior. The factors affecting a person’s social environment, as described by Ofshe, are broken down further into several manipulations frequently experienced on social media, including <em>sacred science</em> (where the group’s ideology is faultless, transcending all other forms of wisdom), <em>loaded language</em> (the manipulation of language characterized by thought-terminating cliches, substituting critical, analytical thought), and the <em>dispensing of existence</em> in which those not sharing a group belief are seen as inferior and unworthy. The three possible results of this coercion, Ofshe concludes, &#8220;were classifiable as internalized belief change (enduring change), a frequently observed transient alteration in beliefs that appears to be situationally adaptive [unstable and environment dependent] and, finally, to reactions of nothing less than firm intellectual resistance and hostility&#8230; The combination of psychological assault on the self, interpersonal pressure, and the social organization of the environment creates a situation that can only be coped with by adapting and acting so as to present oneself to others in terms of the ideology supported in the environment.&#8221;</p>
<p style="font-weight: 400;">Psychologist Margaret Singer wrote of the similar phenomenon of “social proofs”; a means used to determine what is correct by observing what others around us believe is correct. Singer describes imitation and the assumption that a mimicked behavior is proper and good simply because it is observed within whatever group one is seeking acceptance from. Singer also, seemingly prophetically, refers to a concept she calls “liking”, where those in a group affirm individuals and – in a cult setting – the liked individuals feel compelled through a sense of indebtedness to comply with the group’s values and concerns.</p>
<p>If you&#8217;re wondering why some people are so different online than in person, Ofshe observes that the attitudes of victims &#8220;tend to change dramatically once the person is removed from an environment that has totalistic properties and is organized to support the adaptive attitudes. Once removed from such an environment, the person is able to interact with others who permit and encourage the expression of criticisms and doubts, which were previously stifled because of the normative rules of the reform environment.&#8221; In this, Ofshe happens to also describe the characteristics between an unhealthy versus a healthy online social network, and possibly the antidote to such behavior. Such instability may indeed be a way to identify victims of coercive behavior. As is the case with many forms of abuse, victims can easily become offenders if the issue goes unaddressed, leading to even more coercive users on a platform.</p>
<p style="font-weight: 400;">Social media companies are beginning to recognize the larger problems of understanding their platforms have created, and have made small, but useful attempts to address it in the context of controlling misinformation. One response to this problem has been an attempt to give pause to the user by adding interstitials they must click through, along with factual warnings to attempt to engender some form of critical thought. Much of the problem of understanding is left to us to figure out.</p>
<h1>Dispositions for Understanding</h1>
<p style="font-weight: 400;">Gadamer’s theory of understanding introduces four conceptual dispositions of understanding: <em>prejudice</em>, <em>tradition</em>, <em>authority</em>, and <em>horizon</em>.</p>
<p style="font-weight: 400;">Gadamer’s use of <em>prejudice </em>is a neutral one and entails all the fore-judgments we come to the table with. Gadamer builds upon Martin Heidegger’s concept of “fore-structure”; the concept of investigating what has <em>meaning</em> to the other. As Georgia Warnke well summarizes, “things have meaning for us within a web of interrelated assumptions, practices, and activities”. Meaning can be deduced by what experiences the subject has been immersed in, what perspective it has given them, and within what constraints. Heidegger gives the example of our simple understanding of a hammer, and its meaning to a person based on their past utility of it. When approaching something new, we don’t ask what a hammer is every time, but instead we assign the existing meaning we have already placed on it, even if we find ourselves in a completely different context. For example, if someone tells you “this guy’s nickname is the hammer”, you’ve immediately developed pre-judgments about what this means. Now broaden this to a meaning that we’ve given to more complex political or religious concepts, such as “constitutional rights” or “God”, and the pre-judgments both parties bring into such touchy issues. A person’s complex idea of “God” is based on an entire network of other prejudices and traditions that would need to be reconfigured in order to influence a person’s view. Those prejudices and traditions were derived from the person’s own experiences, including possibly other prejudices and traditions passed down to them. These deep experiences in meaning are one reason the tech community is trying to do away with words like “master” and “slave”; while they may be simple technical terms to white people who grew up in tech, they carry much more emotional baggage for others. Finding better terms helps tech to be more inclusive- by removing the barriers created by certain words that resuscitate the emotional baggage tied to them.</p>
<p style="font-weight: 400;"><em>Tradition</em> could be described as the foundational condition for one’s knowledge. It establishes, according to Gadamer, individual and collective learning on the acquisition of accrued experiences and practices. It also defines what interests us, and what questions we may ask ourselves in the learning process; therefore, it serves as a filter not only for what kind of knowledge we are receptive to, but what kind we seek out. Gadamer believed that one can never escape from tradition; we all have our own core conditions for accepting knowledge. While we can never rid ourselves of tradition, we can criticize and change it. Children are often raised to accept a certain tradition, and later “make it their own&#8221; through the process of critique. Healthy adults also curate their tradition through a critical process of revision over the course of one’s life. Recognizing that we will never be tradition-free, we can investigate our own as well as learn of the other’s. Tradition can influence or be influenced by the prejudices one brings with them, and carries with it the questions and challenges that incite knowledge. Understanding how one receives and accepts knowledge today is a matter at the core of modern disinformation campaigns.</p>
<p style="font-weight: 400;"><em>Authority</em> is the power that we give to our tradition; the insights we hold to be superior to the external insights of the world. Gadamer teaches that this is not a universal authority, but the authority we give to our own traditions. He argues that true authority comes by means of acknowledgment from others; without that, it amounts to mere tyranny – either in compelling a tradition upon persons, or by means of self-inflicted intellectual suicide. Consider the person who gives so much weight to what they watch on the news. One might attempt to unpack the underlying reasons by investigating the background that led them there, and how they view the consensus &#8211; or at least the illusion of consensus &#8211; that gives the information its currency. The realm of authority can be quite poignant today in understanding oppressive nations and disinformation campaigns, and analyzing mob and cult behaviors, all of which can compel a line of thought onto others.</p>
<p style="font-weight: 400;">Gadamer’s concept of <em>horizon</em> is a context “to explain how we can have an intellectually vital relation with tradition”. As it pertains to social understanding, the effort involves understanding and bridging the context of one tradition into the other’s, so that the two may mutually understand each other’s overall intellectual context. Gadamer refers to this as a “fusion” of horizons and is an indicator of understanding. Horizons change as people change, and so such an effort to understand is temporal; an understanding explained to you today would likely be expressed very differently if explained to you twenty years ago – not because “the other” has changed, but because you have.</p>
<h1>The Art of Understanding</h1>
<hr class="wp-block-separator" />


<p class="has-small-font-size">It is not only that historical tradition and the natural order of life constitute the unity of the world in which we live as men; the way we experience one another, the way we experience historical traditions, the way we experience the natural givenness of our existence and of our world, constitute a truly hermeneutic universe, in which we are not imprisoned, as if behind insurmountable barriers, but to which we are opened.</p>



<p class="has-text-align-right has-small-font-size" style="line-height: 1;"><em>Hans-Georg Gadamer, Truth and Method</em></p>


<hr class="wp-block-separator" />
<p style="font-weight: 400;"><br />Attempting to understand <em>the other</em> helps to counteract the emotional, knee-jerk virality of the Internet. As Gadamer suggests, when we genuinely listen to another’s insight, “we discover some validity in it, something about the thing itself that would not have shown itself simply within our limited horizon.” When engaging with one-another, however, this is not a one-sided effort. Gadamer warns, “this gain in insight is only possible where both participants in a conversation grant what ‘is due’ to the subject matter”. In other words, both parties need to have enough respect for the subject matter to engage in meaningful discourse, avoiding the common pitfalls of disrespect or dismissal. This requires civility, patience, and listening.</p>
<p style="font-weight: 400;">Such discourse goes well beyond simply discussing the subject at hand. It’s about understanding the psychology behind the other’s viewpoint; understanding why they look at an issue a certain way and consider whether that way of looking at it has some validity. We might be completely offended by someone else’s perspective, yet still find truth worthy of deconstructing and discussing. At the end of the day, we are sophisticated pattern recognizers, and often respond with rejection to any pattern that doesn’t match those we trained on. Gadamer suggests that our perception of truth has “the character of something that belongs to the specific temporal nature of our human life.” In other words, our own view of truth is mediated by our own historical circumstances, where the effort of hermeneutical understanding attempts to draw a truth based on the other’s historical circumstances. If only what we see as being valid is ever correct, then we’re ourselves trapped in the same prison we see the other as trapped in. Gadamer boldly suggests one “must be aware of the fact that their own understanding and interpretation are not constructions based on principles, but the furthering of an event that goes far back.”</p>
<p style="font-weight: 400;">As an object lesson, approaching the news from a hermeneutical posture can be a helpful example of investigating these concepts and how they impact perception. As the behavior of news is tailored around social media today, understanding the different dispositions involved may help develop inductive skills in social media understanding as well. The challenge is this: how can one parse and ingest news in an otherwise compromised environment of truth, where all news output is tainted with prejudice and tradition. To do this, one must be willing to examine all news as an information campaign, and identify the nature of it. If we agree with Gadamer, tradition – the way we receive information, and authority &#8211; the currency we give to information, can never be escaped and so there is no such thing as a tradition-free news source. How the media chooses to treat information, what internal process determines the factual nature of it, and what questions they ask when investigating and reporting the news is subjective to the pre-judgments (prejudices) of the network or newspaper.</p>
<p style="font-weight: 400;">Some may consider a particular news source to be unbiased, but philosophically speaking what has happened is that the individual finds a news source whose prejudices and tradition most closely align with their own. This becomes an exercise in confirmation bias if one isn’t careful to critically examine the traditions and prejudices of both the news source and one’s self. In other words, all news sources are biased &#8211; but so are all of us. The news is, to a careful observer, a hermeneutical effort to investigate the prejudices, traditions, and authorities of a news source, but also of one’s self. It is not merely the information that affects us, but how the information is transposed from one set of prejudices to another; from one tradition into our own. Understanding the delicate nuances of translating from one person’s experience into our own requires us looking just as much within.</p>
<h1>Improving on Social Media</h1>
<p style="font-weight: 400;">There are many opinions about how to improve social media, but few that focus on helping users to better attain understanding. Perhaps part of the reason for this is that it must be the focus of both parties to make such an effort, yet there are things that social media can do to help foster this kind of environment. I offer these suggestions.</p>
<p style="font-weight: 400;"><em>Replace the retweet.</em> Getting rid of the retweet and forcing users to quote tweets will alter the attribution so that it is again shared between the original poster and the user sharing the post. It will also provoke some form of commentary from the person sharing the post to explain their thought process in sharing it &#8211; which means they might develop a thought process. This will give some users pause to consider that it is their name and comment being included in the discourse they are sharing, rather than a blind, accountability-free and context-less retweet. It will also have the effect of greatly slowing down viral tweets and inject some small amount of discourse and thought into the process.</p>
<p style="font-weight: 400;"><em>Asynchronous Threads.</em> Asynchronous and lengthened discourse is one way in which we can increase the amount of meaningful exchange we have with one another. The problem in social media is that platforms are designed to behave exactly opposite of this, and so punish users who seek longer, more meaningful exchange. The consequences are a cluttered timeline, chaotic disorganization, the need for multitasking, and ultimately driving users away from what appears as a high traffic, disjointed,  and sometimes controversial feed. A timeline simply isn’t organized to support meaningful discussions. A solution to this is to design an entirely asynchronous and topically-driven mode for side discussions, allowing timelines to continue to function as they do today, but also allow the user to break off into a slower, asynchronous threading mode. Such a “mode switch” will avoid the common pitfalls that occur in attempting to do this directly inside of a timeline, allowing the user to continue to move their timeline beyond the topic at hand without losing that state. </p>
<p style="font-weight: 400;"><em>Scope of Interaction. </em>Social media currently gives visibility to anyone looking to attack you for a post you’ve made by weaponizing your own timeline. This is far more aggressive than retweeting, as a user with no followers may suddenly find their reply visible to millions. It&#8217;s been some twenty years since we thought that reading a stranger&#8217;s comments about a friend&#8217;s post was cool; the idea hasn&#8217;t aged well. Simply replying to a post, the poster&#8217;s own timeline suddenly becomes a platform for any troll to piggyback onto and publicly attack their views, post off-topic garbage, or redirect the narrative – visible for anyone else on the platform to see when clicking on the original comment. Rethinking this functionality so that broadcast scope is fair but limited will help to reduce the blast radius of inflammatory and disruptive responses. Nobody wants to click on an insightful comment from Pope Francis, for example, and find &#8220;do me daddy&#8221; written by some anon immediately underneath the comment.</p>
<p><em>Identifying coercive behavior</em>. Machine learning innovation has come an incredibly long way from just twenty years ago, yet we only see it in social networking in the form of a mere chatbot novelty. The types of coercive persuasion that Ofshe and others have helped classify should be possible to identify and act upon using a combination of machine learning and community moderation. Rather than filter or block such content individually, such a tool may be used to identify aggressive online accounts and trigger policy designed to act upon the behavior, or even provide some form of relief to the victim in the form of an interstitial or other intervention, if the user wishes. This should be done carefully so as not to run aground of free speech issues.</p>
<h1>Conclusion</h1>
<p style="font-weight: 400;">Social media is a different kind of problem than philosophical hermeneutics was designed to solve, but we can glean many lessons from it nonetheless. Learning to understand each other has always been challenging; it is even more difficult attempting to function in a system that, by design, does not engender proper human interactions and frequently exposes users to mob behavior. It has been five years since I left social media and I have become a better version of myself by not being poisoned daily, but that&#8217;s not necessarily the solution for everyone. It also took the work and patience of others that have helped me improve as a person over the course of my life. Regardless of whether you are active on social media, learning how to better expand our horizons in discourse with others is a skill that can make us more well-rounded, intelligent, and kind humans.</p>
<p style="font-weight: 400;">Learning to understand “the other” and striving to translate their worldview and experiences into a form that we can understand and appreciate is the core of hermeneutic goals. Without understanding those we oppose, we are all trapped inside the prisons of our own prejudice, too full of our own virtue to see things from another’s perspective. This does not apply to just social media. As divided as America is, refusing to understand each other has already begun to tear us apart. We have been conditioned by the news and public opinion to bitterly take sides, rather than seek to understand. Society desperately needs people who are willing to reach across the aisle and find common ground. It sounds so simple to put yourself in someone else’s shoes, yet it is extremely difficult to put into practice. Seeking understanding is about rescuing ourselves from our own prisons.</p>
<p style="font-weight: 400;"> </p>
<p style="font-weight: 400;">Truth and Method, H. Gadamer</p>
<p style="font-weight: 400;">Coercive Persuasion and Attitude Change, R. Ofshe</p>
<p style="font-weight: 400;">Hans-Georg Gadamer, L. Barthold</p>
<p style="font-weight: 400;">Gadamer and the Idea of Tradition, M. Fischer</p>
<p style="font-weight: 400;">Hermeneutics, G. Warnke</p>
<p style="font-weight: 400;">Gadamer and the Transmission of History, J. Veith</p>
<p style="font-weight: 400;">Hermeneutics of Doctrine, A. Thistleton</p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
