<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Get Info: #tv</title>
    <description>Posts tagged “tv” — Blog of independent game and app developer Matt Sephton. Featuring vintage Macintosh, game development, digital artwork, Japanese esoterica, video game reviews, hacks and tips, and much more.</description>
    <link>https://blog.gingerbeardman.com/tag/tv/</link>
    <atom:link href="https://blog.gingerbeardman.com/tag/tv/index.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Fri, 17 Jul 2026 19:49:45 +0000</pubDate>
    <lastBuildDate>Fri, 17 Jul 2026 19:49:45 +0000</lastBuildDate>
    <generator>Jekyll v4.4.1</generator>

    
      
        <item>
          <title>TV’s TV (1987) &amp; TV Games Encyclopedia (1988)</title>
          <description>&lt;p&gt;&lt;a href=&quot;https://ja.wikipedia.org/wiki/TV%27s_TV&quot;&gt;TV’s TV&lt;/a&gt; was a four-hour late-night television program broadcast in Japan on Fuji TV from 01:55 to 05:55 on Saturday, March 14, 1987. It was a televisual predecessor to a book that I also discuss below, and an early sign of the experimental programming that Fuji TV would formalise later that year with its &lt;a href=&quot;https://en.wikipedia.org/wiki/Fuji_Television&quot;&gt;&lt;em&gt;JOCX-TV2&lt;/em&gt;&lt;/a&gt; late-night brand—a slot explicitly created to give young creators room to experiment.&lt;/p&gt;

&lt;p&gt;The program comprised 100 TV spots, presented as a wall of TVs, showcasing a range of video games from around the world. For many Japanese viewers, it was their first encounter with the &lt;em&gt;Amiga&lt;/em&gt;, &lt;em&gt;Apple II&lt;/em&gt;, and &lt;em&gt;Atari&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;The creative credits read like a who’s who of future Japanese media innovators. &lt;a href=&quot;https://en.wikipedia.org/wiki/Toshio_Iwai&quot;&gt;Toshio Iwai&lt;/a&gt; (&lt;em&gt;Otocky&lt;/em&gt;, &lt;em&gt;SimTunes&lt;/em&gt;, &lt;em&gt;Electroplankton&lt;/em&gt;, &lt;em&gt;Tenori-on&lt;/em&gt;) created the CG using an &lt;em&gt;Amiga&lt;/em&gt;. &lt;a href=&quot;https://en.wikipedia.org/wiki/Masaya_Matsuura&quot;&gt;Masaya Matsuura&lt;/a&gt; (&lt;em&gt;The Seven Colors: Legend of PSY·S City&lt;/em&gt;, &lt;em&gt;PaRappa the Rapper&lt;/em&gt;, &lt;em&gt;Vib-Ribbon&lt;/em&gt;) composed the music. The show’s production was overseen by &lt;a href=&quot;https://en.wikipedia.org/wiki/Tsunekazu_Ishihara&quot;&gt;Tsunekazu Ishihara&lt;/a&gt;—now president of &lt;em&gt;The Pokémon Company&lt;/em&gt;—who would go on to direct the book that followed.&lt;/p&gt;

&lt;p&gt;TV’s TV ushered in a new way of looking at television, not only because it introduced Western computers and games to a Japanese audience, but because it did so in a format that was itself playful and game-like.&lt;/p&gt;

&lt;p&gt;There’s a &lt;a href=&quot;https://www.youtube.com/watch?v=_7zMKqrYvOA&quot;&gt;full table of contents in the description of the video below&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;But don’t watch the 4 hours yet! Read on.&lt;/p&gt;

&lt;!-- video of TV&apos;S TV, 4 hours --&gt;
&lt;lite-youtube style=&quot;aspect-ratio: 16/9;&quot; videoid=&quot;_7zMKqrYvOA&quot; params=&quot;start=0&amp;amp;modestbranding=2&quot;&gt;
&lt;/lite-youtube&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;テレビゲーム電視遊戯大全--tv-games-encyclopedia-1988&quot;&gt;テレビゲーム―電視遊戯大全 / TV Games Encyclopedia (1988)&lt;/h2&gt;

&lt;p&gt;The following year, the team behind TV’s TV channelled that same energy into print. The result might be described as a book, but it’s much more than that. テレビゲーム―電視遊戯大全 (&lt;em&gt;TV GAMES: Denshi Yūgi Taizen&lt;/em&gt;; &lt;em&gt;TV Games Encyclopedia&lt;/em&gt;), published in May 1988 by UPU, ISBN4-946432-31-0, was a seminal encyclopedia of video game history—and perhaps the single most ambitious book about games ever produced.&lt;/p&gt;

&lt;p&gt;It arrived right in the middle of &lt;a href=&quot;https://en.wikipedia.org/wiki/Japanese_asset_price_bubble&quot;&gt;Japan’s bubble economy&lt;/a&gt;. Between roughly 1986 and 1991, a combination of rock-bottom interest rates and rampant speculation sent asset prices into the stratosphere. &lt;a href=&quot;https://archive.is/ecDHb&quot;&gt;Money was everywhere&lt;/a&gt; and it was looking for things to be spent on.&lt;/p&gt;

&lt;p&gt;This was the era when Japanese corporations bought Rockefeller Center and Columbia Pictures. When golf club memberships traded for the price of houses. When the land beneath the Imperial Palace in Tokyo was theoretically worth more than the entire state of California. Consumer spending went through the roof: credit card circulation tripled, luxury imports quadrupled, and the art market went berserk—Japanese buyers paid record sums at auction for Renoirs and Van Goghs just because they could.&lt;/p&gt;

&lt;p&gt;The cultural side-effects were extraordinary. &lt;a href=&quot;https://archive.is/https://www.nytimes.com/2018/04/06/business/japan-1980s-bubble-era.html&quot;&gt;Bubble-era&lt;/a&gt; money funded some of the most ambitious, beautiful, and outright weird creative projects Japan has ever produced. &lt;a href=&quot;https://text-bin.blogspot.com/2017/04/architecture-of-japanese-bubble.html&quot;&gt;Architecture&lt;/a&gt;, &lt;a href=&quot;https://nostos.jp/archives/114901&quot;&gt;graphic design&lt;/a&gt;, &lt;a href=&quot;https://mouldmap.tumblr.com/post/152559790016/magazines-of-the-japanese-bubble-economy&quot;&gt;magazines&lt;/a&gt;, &lt;a href=&quot;https://petrolblog.com/articles/bubble-cars-brief-history-nissan-pike-factory&quot;&gt;vehicles&lt;/a&gt;, &lt;a href=&quot;https://www.japanhouselondon.uk/read-and-watch/city-pop-japans-bubble-era-soundtrack-thats-more-popular-than-ever/&quot;&gt;music&lt;/a&gt;, &lt;a href=&quot;https://www.yumeiorigin.com/articles-en/a-glimpse-into-japans-bubble-economy-wealth-and-illusion&quot;&gt;fashion&lt;/a&gt;, &lt;a href=&quot;https://www.youtube.com/watch?v=YIi_MGNW6Q0&quot;&gt;animation&lt;/a&gt;—everything was touched by the sense that budgets were infinite and ambition should match. It’s no coincidence that this period overlaps with the golden age of Japanese game development, or that Fuji TV was handing late-night airtime to young experimentalists, or that someone thought a four-hour TV program about Western computer games was a good idea.&lt;/p&gt;

&lt;p&gt;The TV Games Encyclopedia is very much a product of this moment. Its lavish physical production—the frosted plastic slipcase, the variety of paper stocks, the multiple print techniques and finishes—reflects the kind of excess that was not only possible but expected. A book about video games had no business being this beautifully made. And yet here it was, priced at ¥3,500, with the ambition and budget of an art object. When the bubble burst in 1991—ushering in what became known as the Lost Decades—this kind of thing simply stopped being made.&lt;/p&gt;

&lt;h3 id=&quot;the-object&quot;&gt;The object&lt;/h3&gt;

&lt;p&gt;The book is extravagantly packaged in a frosted plastic slipcase and printed on a variety of paper stocks. It contains a host of different print techniques, finishes, and folds—and, most obviously, it is ring-bound with the majority of pages split into three horizontal sections. Unusually for a Japanese book from this period, it reads from left to right in the Western manner.&lt;/p&gt;

&lt;p&gt;This makes reading the book an experience like nothing else. Pages are linked with cross-references, giving it a game-like, exploratory feeling. At various points, atmospheric photographs of games taken off cathode ray tube screens are spread across three separate panels, but the panels are distributed almost randomly throughout the book—making it a sort of puzzle to be able to view the whole image.&lt;/p&gt;

&lt;p&gt;Imagine a hyperactive version of a choose-your-own-adventure book, or a paper-based website before the age of the internet.&lt;/p&gt;

&lt;p&gt;The book was designed by Hitoshi Suzuki (鈴木一誌), one of Japan’s most influential book designers—a protégé of Kohei Sugiura (杉浦 康平) known for radical editorial layouts. Phototypesetting was by Masaaki Inoue (井上聖昭), with design assistance from Takao Kabaya (蒲谷孝夫).&lt;/p&gt;

&lt;div class=&quot;carousel__holder&quot;&gt;
    &lt;div class=&quot;carousel&quot;&gt;
        
          &lt;input class=&quot;carousel__activator&quot; type=&quot;radio&quot; name=&quot;carousel&quot; id=&quot;a&quot; checked=&quot;checked&quot; /&gt;
        
          &lt;input class=&quot;carousel__activator&quot; type=&quot;radio&quot; name=&quot;carousel&quot; id=&quot;b&quot; /&gt;
        
          &lt;input class=&quot;carousel__activator&quot; type=&quot;radio&quot; name=&quot;carousel&quot; id=&quot;c&quot; /&gt;
        
          &lt;input class=&quot;carousel__activator&quot; type=&quot;radio&quot; name=&quot;carousel&quot; id=&quot;d&quot; /&gt;
        
          &lt;input class=&quot;carousel__activator&quot; type=&quot;radio&quot; name=&quot;carousel&quot; id=&quot;e&quot; /&gt;
        
          &lt;input class=&quot;carousel__activator&quot; type=&quot;radio&quot; name=&quot;carousel&quot; id=&quot;f&quot; /&gt;
        
          &lt;input class=&quot;carousel__activator&quot; type=&quot;radio&quot; name=&quot;carousel&quot; id=&quot;g&quot; /&gt;
        
          &lt;input class=&quot;carousel__activator&quot; type=&quot;radio&quot; name=&quot;carousel&quot; id=&quot;h&quot; /&gt;
        
          &lt;input class=&quot;carousel__activator&quot; type=&quot;radio&quot; name=&quot;carousel&quot; id=&quot;i&quot; /&gt;
        
          &lt;input class=&quot;carousel__activator&quot; type=&quot;radio&quot; name=&quot;carousel&quot; id=&quot;j&quot; /&gt;
        
        
          
          
          
          
          &lt;div class=&quot;carousel__controls&quot;&gt;
              &lt;label class=&quot;carousel__control carousel__control--backward&quot; for=&quot;j&quot;&gt;&lt;/label&gt;
              &lt;label class=&quot;carousel__control carousel__control--forward&quot; for=&quot;b&quot;&gt;&lt;/label&gt;
          &lt;/div&gt;
        
          
          
          
          
          &lt;div class=&quot;carousel__controls&quot;&gt;
              &lt;label class=&quot;carousel__control carousel__control--backward&quot; for=&quot;a&quot;&gt;&lt;/label&gt;
              &lt;label class=&quot;carousel__control carousel__control--forward&quot; for=&quot;c&quot;&gt;&lt;/label&gt;
          &lt;/div&gt;
        
          
          
          
          
          &lt;div class=&quot;carousel__controls&quot;&gt;
              &lt;label class=&quot;carousel__control carousel__control--backward&quot; for=&quot;b&quot;&gt;&lt;/label&gt;
              &lt;label class=&quot;carousel__control carousel__control--forward&quot; for=&quot;d&quot;&gt;&lt;/label&gt;
          &lt;/div&gt;
        
          
          
          
          
          &lt;div class=&quot;carousel__controls&quot;&gt;
              &lt;label class=&quot;carousel__control carousel__control--backward&quot; for=&quot;c&quot;&gt;&lt;/label&gt;
              &lt;label class=&quot;carousel__control carousel__control--forward&quot; for=&quot;e&quot;&gt;&lt;/label&gt;
          &lt;/div&gt;
        
          
          
          
          
          &lt;div class=&quot;carousel__controls&quot;&gt;
              &lt;label class=&quot;carousel__control carousel__control--backward&quot; for=&quot;d&quot;&gt;&lt;/label&gt;
              &lt;label class=&quot;carousel__control carousel__control--forward&quot; for=&quot;f&quot;&gt;&lt;/label&gt;
          &lt;/div&gt;
        
          
          
          
          
          &lt;div class=&quot;carousel__controls&quot;&gt;
              &lt;label class=&quot;carousel__control carousel__control--backward&quot; for=&quot;e&quot;&gt;&lt;/label&gt;
              &lt;label class=&quot;carousel__control carousel__control--forward&quot; for=&quot;g&quot;&gt;&lt;/label&gt;
          &lt;/div&gt;
        
          
          
          
          
          &lt;div class=&quot;carousel__controls&quot;&gt;
              &lt;label class=&quot;carousel__control carousel__control--backward&quot; for=&quot;f&quot;&gt;&lt;/label&gt;
              &lt;label class=&quot;carousel__control carousel__control--forward&quot; for=&quot;h&quot;&gt;&lt;/label&gt;
          &lt;/div&gt;
        
          
          
          
          
          &lt;div class=&quot;carousel__controls&quot;&gt;
              &lt;label class=&quot;carousel__control carousel__control--backward&quot; for=&quot;g&quot;&gt;&lt;/label&gt;
              &lt;label class=&quot;carousel__control carousel__control--forward&quot; for=&quot;i&quot;&gt;&lt;/label&gt;
          &lt;/div&gt;
        
          
          
          
          
          &lt;div class=&quot;carousel__controls&quot;&gt;
              &lt;label class=&quot;carousel__control carousel__control--backward&quot; for=&quot;h&quot;&gt;&lt;/label&gt;
              &lt;label class=&quot;carousel__control carousel__control--forward&quot; for=&quot;j&quot;&gt;&lt;/label&gt;
          &lt;/div&gt;
        
          
          
          
          
          &lt;div class=&quot;carousel__controls&quot;&gt;
              &lt;label class=&quot;carousel__control carousel__control--backward&quot; for=&quot;i&quot;&gt;&lt;/label&gt;
              &lt;label class=&quot;carousel__control carousel__control--forward&quot; for=&quot;a&quot;&gt;&lt;/label&gt;
          &lt;/div&gt;
        
        &lt;div class=&quot;carousel__track&quot;&gt;
          &lt;ul&gt;
            
            &lt;li class=&quot;carousel__slide&quot; style=&quot;background-image: url(&apos;https://cdn.gingerbeardman.com/images/posts/tv-games/IMG_1324.jpg&apos;);&quot;&gt;&lt;img class=&quot;carousel__staticimage&quot; src=&quot;https://cdn.gingerbeardman.com/images/posts/tv-games/IMG_1324.jpg&quot; /&gt;&lt;/li&gt;
            
            &lt;li class=&quot;carousel__slide&quot; style=&quot;background-image: url(&apos;https://cdn.gingerbeardman.com/images/posts/tv-games/IMG_1326.jpg&apos;);&quot;&gt;&lt;img class=&quot;carousel__staticimage&quot; src=&quot;https://cdn.gingerbeardman.com/images/posts/tv-games/IMG_1326.jpg&quot; /&gt;&lt;/li&gt;
            
            &lt;li class=&quot;carousel__slide&quot; style=&quot;background-image: url(&apos;https://cdn.gingerbeardman.com/images/posts/tv-games/IMG_1327.jpg&apos;);&quot;&gt;&lt;img class=&quot;carousel__staticimage&quot; src=&quot;https://cdn.gingerbeardman.com/images/posts/tv-games/IMG_1327.jpg&quot; /&gt;&lt;/li&gt;
            
            &lt;li class=&quot;carousel__slide&quot; style=&quot;background-image: url(&apos;https://cdn.gingerbeardman.com/images/posts/tv-games/IMG_1328.jpg&apos;);&quot;&gt;&lt;img class=&quot;carousel__staticimage&quot; src=&quot;https://cdn.gingerbeardman.com/images/posts/tv-games/IMG_1328.jpg&quot; /&gt;&lt;/li&gt;
            
            &lt;li class=&quot;carousel__slide&quot; style=&quot;background-image: url(&apos;https://cdn.gingerbeardman.com/images/posts/tv-games/IMG_1329.jpg&apos;);&quot;&gt;&lt;img class=&quot;carousel__staticimage&quot; src=&quot;https://cdn.gingerbeardman.com/images/posts/tv-games/IMG_1329.jpg&quot; /&gt;&lt;/li&gt;
            
            &lt;li class=&quot;carousel__slide&quot; style=&quot;background-image: url(&apos;https://cdn.gingerbeardman.com/images/posts/tv-games/IMG_1330.jpg&apos;);&quot;&gt;&lt;img class=&quot;carousel__staticimage&quot; src=&quot;https://cdn.gingerbeardman.com/images/posts/tv-games/IMG_1330.jpg&quot; /&gt;&lt;/li&gt;
            
            &lt;li class=&quot;carousel__slide&quot; style=&quot;background-image: url(&apos;https://cdn.gingerbeardman.com/images/posts/tv-games/IMG_1331.jpg&apos;);&quot;&gt;&lt;img class=&quot;carousel__staticimage&quot; src=&quot;https://cdn.gingerbeardman.com/images/posts/tv-games/IMG_1331.jpg&quot; /&gt;&lt;/li&gt;
            
            &lt;li class=&quot;carousel__slide&quot; style=&quot;background-image: url(&apos;https://cdn.gingerbeardman.com/images/posts/tv-games/IMG_1333.jpg&apos;);&quot;&gt;&lt;img class=&quot;carousel__staticimage&quot; src=&quot;https://cdn.gingerbeardman.com/images/posts/tv-games/IMG_1333.jpg&quot; /&gt;&lt;/li&gt;
            
            &lt;li class=&quot;carousel__slide&quot; style=&quot;background-image: url(&apos;https://cdn.gingerbeardman.com/images/posts/tv-games/IMG_1334.jpg&apos;);&quot;&gt;&lt;img class=&quot;carousel__staticimage&quot; src=&quot;https://cdn.gingerbeardman.com/images/posts/tv-games/IMG_1334.jpg&quot; /&gt;&lt;/li&gt;
            
            &lt;li class=&quot;carousel__slide&quot; style=&quot;background-image: url(&apos;https://cdn.gingerbeardman.com/images/posts/tv-games/IMG_1325.jpg&apos;);&quot;&gt;&lt;img class=&quot;carousel__staticimage&quot; src=&quot;https://cdn.gingerbeardman.com/images/posts/tv-games/IMG_1325.jpg&quot; /&gt;&lt;/li&gt;
            
          &lt;/ul&gt;
        &lt;/div&gt;
        &lt;div class=&quot;carousel__indicators&quot;&gt;
            
              &lt;label class=&quot;carousel__indicator&quot; for=&quot;a&quot;&gt;&lt;/label&gt;
            
              &lt;label class=&quot;carousel__indicator&quot; for=&quot;b&quot;&gt;&lt;/label&gt;
            
              &lt;label class=&quot;carousel__indicator&quot; for=&quot;c&quot;&gt;&lt;/label&gt;
            
              &lt;label class=&quot;carousel__indicator&quot; for=&quot;d&quot;&gt;&lt;/label&gt;
            
              &lt;label class=&quot;carousel__indicator&quot; for=&quot;e&quot;&gt;&lt;/label&gt;
            
              &lt;label class=&quot;carousel__indicator&quot; for=&quot;f&quot;&gt;&lt;/label&gt;
            
              &lt;label class=&quot;carousel__indicator&quot; for=&quot;g&quot;&gt;&lt;/label&gt;
            
              &lt;label class=&quot;carousel__indicator&quot; for=&quot;h&quot;&gt;&lt;/label&gt;
            
              &lt;label class=&quot;carousel__indicator&quot; for=&quot;i&quot;&gt;&lt;/label&gt;
            
              &lt;label class=&quot;carousel__indicator&quot; for=&quot;j&quot;&gt;&lt;/label&gt;
            
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
.carousel__holder {width: 100%; position: relative; padding-bottom: 72%; margin: 1rem 0 1rem;}
.carousel {
  height: 100%;
  width: 100%;
  overflow: hidden;
  text-align: center;
  position: absolute;
  padding: 0;
}
.carousel__staticimage,
.carousel__controls,
.carousel__activator {
  display: none;
}

.carousel__activator:nth-of-type(1):checked ~ .carousel__track {
  -webkit-transform: translateX(-000%);
          transform: translateX(-000%);
}
.carousel__activator:nth-of-type(1):checked ~ .carousel__slide:nth-of-type(1) {
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.carousel__activator:nth-of-type(1):checked ~ .carousel__controls:nth-of-type(1) {
  display: block;
  opacity: 1;
}
.carousel__activator:nth-of-type(1):checked ~ .carousel__indicators .carousel__indicator:nth-of-type(1) {
  opacity: 1;
}

.carousel__activator:nth-of-type(2):checked ~ .carousel__track {
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}
.carousel__activator:nth-of-type(2):checked ~ .carousel__slide:nth-of-type(2) {
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.carousel__activator:nth-of-type(2):checked ~ .carousel__controls:nth-of-type(2) {
  display: block;
  opacity: 1;
}
.carousel__activator:nth-of-type(2):checked ~ .carousel__indicators .carousel__indicator:nth-of-type(2) {
  opacity: 1;
}

.carousel__activator:nth-of-type(3):checked ~ .carousel__track {
  -webkit-transform: translateX(-200%);
          transform: translateX(-200%);
}
.carousel__activator:nth-of-type(3):checked ~ .carousel__slide:nth-of-type(3) {
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.carousel__activator:nth-of-type(3):checked ~ .carousel__controls:nth-of-type(3) {
  display: block;
  opacity: 1;
}
.carousel__activator:nth-of-type(3):checked ~ .carousel__indicators .carousel__indicator:nth-of-type(3) {
  opacity: 1;
}

.carousel__activator:nth-of-type(4):checked ~ .carousel__track {
  -webkit-transform: translateX(-300%);
          transform: translateX(-300%);
}
.carousel__activator:nth-of-type(4):checked ~ .carousel__slide:nth-of-type(4) {
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.carousel__activator:nth-of-type(4):checked ~ .carousel__controls:nth-of-type(4) {
  display: block;
  opacity: 1;
}
.carousel__activator:nth-of-type(4):checked ~ .carousel__indicators .carousel__indicator:nth-of-type(4) {
  opacity: 1;
}

.carousel__activator:nth-of-type(5):checked ~ .carousel__track {
  -webkit-transform: translateX(-400%);
          transform: translateX(-400%);
}
.carousel__activator:nth-of-type(5):checked ~ .carousel__slide:nth-of-type(5) {
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.carousel__activator:nth-of-type(5):checked ~ .carousel__controls:nth-of-type(5) {
  display: block;
  opacity: 1;
}
.carousel__activator:nth-of-type(5):checked ~ .carousel__indicators .carousel__indicator:nth-of-type(5) {
  opacity: 1;
}

.carousel__activator:nth-of-type(6):checked ~ .carousel__track {
  -webkit-transform: translateX(-500%);
          transform: translateX(-500%);
}
.carousel__activator:nth-of-type(6):checked ~ .carousel__slide:nth-of-type(6) {
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.carousel__activator:nth-of-type(6):checked ~ .carousel__controls:nth-of-type(6) {
  display: block;
  opacity: 1;
}
.carousel__activator:nth-of-type(6):checked ~ .carousel__indicators .carousel__indicator:nth-of-type(6) {
  opacity: 1;
}

.carousel__activator:nth-of-type(7):checked ~ .carousel__track {
  -webkit-transform: translateX(-600%);
          transform: translateX(-600%);
}
.carousel__activator:nth-of-type(7):checked ~ .carousel__slide:nth-of-type(7) {
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.carousel__activator:nth-of-type(7):checked ~ .carousel__controls:nth-of-type(7) {
  display: block;
  opacity: 1;
}
.carousel__activator:nth-of-type(7):checked ~ .carousel__indicators .carousel__indicator:nth-of-type(7) {
  opacity: 1;
}

.carousel__activator:nth-of-type(8):checked ~ .carousel__track {
  -webkit-transform: translateX(-700%);
          transform: translateX(-700%);
}
.carousel__activator:nth-of-type(8):checked ~ .carousel__slide:nth-of-type(8) {
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.carousel__activator:nth-of-type(8):checked ~ .carousel__controls:nth-of-type(8) {
  display: block;
  opacity: 1;
}
.carousel__activator:nth-of-type(8):checked ~ .carousel__indicators .carousel__indicator:nth-of-type(8) {
  opacity: 1;
}

.carousel__activator:nth-of-type(9):checked ~ .carousel__track {
  -webkit-transform: translateX(-800%);
          transform: translateX(-800%);
}
.carousel__activator:nth-of-type(9):checked ~ .carousel__slide:nth-of-type(9) {
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.carousel__activator:nth-of-type(9):checked ~ .carousel__controls:nth-of-type(9) {
  display: block;
  opacity: 1;
}
.carousel__activator:nth-of-type(9):checked ~ .carousel__indicators .carousel__indicator:nth-of-type(9) {
  opacity: 1;
}

.carousel__activator:nth-of-type(10):checked ~ .carousel__track {
  -webkit-transform: translateX(-900%);
          transform: translateX(-900%);
}
.carousel__activator:nth-of-type(10):checked ~ .carousel__slide:nth-of-type(10) {
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.carousel__activator:nth-of-type(10):checked ~ .carousel__controls:nth-of-type(10) {
  display: block;
  opacity: 1;
}
.carousel__activator:nth-of-type(10):checked ~ .carousel__indicators .carousel__indicator:nth-of-type(10) {
  opacity: 1;
}


.carousel__control {
  height: 30px;
  width: 30px;
  margin-top: -15px;
  top: 50%;
  position: absolute;
  display: block;
  cursor: pointer;
  border-width: 5px 5px 0 0;
  border-style: solid;
  opacity: 0.35;
  opacity: 1;
  outline: 0;
  z-index: 3;
  color: #fafafa;
  mix-blend-mode: difference;
}
.carousel__control:hover {
  opacity: 1;
}
.carousel__control--backward {
  left: 20px;
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}
.carousel__control--forward {
  right: 20px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.carousel__indicators {
  position: absolute;
  bottom: 20px;
  width: 100%;
  text-align: center;
}
.carousel__indicator {
  height: 10px;
  width: 10px;
  border-radius: 100%;
  display: inline-block;
  z-index: 2;
  cursor: pointer;
  opacity: 0.35;
  margin: 0 2.5px 0 2.5px;
}
.carousel__indicator:hover {
  opacity: 0.75;
}
.carousel__track {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 0;
  margin: 0;
  transition: -webkit-transform 0.5s ease 0s;
  transition: transform 0.5s ease 0s;
  transition: transform 0.5s ease 0s, -webkit-transform 0.5s ease 0s;
}
.carousel__track .carousel__slide {
  display: block;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
}

.carousel__track .carousel__slide:nth-of-type(1) {
  -webkit-transform: translateX(000%) translateZ(0);
          transform: translateX(000%) translateZ(0);
}

.carousel__track .carousel__slide:nth-of-type(2) {
  -webkit-transform: translateX(100%) translateZ(0);
          transform: translateX(100%) translateZ(0);
}

.carousel__track .carousel__slide:nth-of-type(3) {
  -webkit-transform: translateX(200%) translateZ(0);
          transform: translateX(200%) translateZ(0);
}

.carousel__track .carousel__slide:nth-of-type(4) {
  -webkit-transform: translateX(300%) translateZ(0);
          transform: translateX(300%) translateZ(0);
}

.carousel__track .carousel__slide:nth-of-type(5) {
  -webkit-transform: translateX(400%) translateZ(0);
          transform: translateX(400%) translateZ(0);
}

.carousel__track .carousel__slide:nth-of-type(6) {
  -webkit-transform: translateX(500%) translateZ(0);
          transform: translateX(500%) translateZ(0);
}

.carousel__track .carousel__slide:nth-of-type(7) {
  -webkit-transform: translateX(600%) translateZ(0);
          transform: translateX(600%) translateZ(0);
}

.carousel__track .carousel__slide:nth-of-type(8) {
  -webkit-transform: translateX(700%) translateZ(0);
          transform: translateX(700%) translateZ(0);
}

.carousel__track .carousel__slide:nth-of-type(9) {
  -webkit-transform: translateX(800%) translateZ(0);
          transform: translateX(800%) translateZ(0);
}

.carousel__track .carousel__slide:nth-of-type(10) {
  -webkit-transform: translateX(900%) translateZ(0);
          transform: translateX(900%) translateZ(0);
}


.carousel--scale .carousel__slide {
  -webkit-transform: scale(0);
          transform: scale(0);
}
.carousel__slide {
  height: 100%;
  position: absolute;
  opacity: 0;
  overflow: hidden;
}
.carousel__slide .overlay {height: 100%;}
.carousel--thumb .carousel__indicator {
  height: 30px;
  width: 30px;
}
.carousel__indicator {
  background-color: #fafafa;
}

.carousel__slide:nth-of-type(1),
.carousel--thumb .carousel__indicators .carousel__indicator:nth-of-type(1) {
  background-size: cover;
  background-position: center;
}

.carousel__slide:nth-of-type(2),
.carousel--thumb .carousel__indicators .carousel__indicator:nth-of-type(2) {
  background-size: cover;
  background-position: center;
}

.carousel__slide:nth-of-type(3),
.carousel--thumb .carousel__indicators .carousel__indicator:nth-of-type(3) {
  background-size: cover;
  background-position: center;
}

.carousel__slide:nth-of-type(4),
.carousel--thumb .carousel__indicators .carousel__indicator:nth-of-type(4) {
  background-size: cover;
  background-position: center;
}

.carousel__slide:nth-of-type(5),
.carousel--thumb .carousel__indicators .carousel__indicator:nth-of-type(5) {
  background-size: cover;
  background-position: center;
}

.carousel__slide:nth-of-type(6),
.carousel--thumb .carousel__indicators .carousel__indicator:nth-of-type(6) {
  background-size: cover;
  background-position: center;
}

.carousel__slide:nth-of-type(7),
.carousel--thumb .carousel__indicators .carousel__indicator:nth-of-type(7) {
  background-size: cover;
  background-position: center;
}

.carousel__slide:nth-of-type(8),
.carousel--thumb .carousel__indicators .carousel__indicator:nth-of-type(8) {
  background-size: cover;
  background-position: center;
}

.carousel__slide:nth-of-type(9),
.carousel--thumb .carousel__indicators .carousel__indicator:nth-of-type(9) {
  background-size: cover;
  background-position: center;
}

.carousel__slide:nth-of-type(10),
.carousel--thumb .carousel__indicators .carousel__indicator:nth-of-type(10) {
  background-size: cover;
  background-position: center;
}

&lt;/style&gt;

&lt;script&gt;
  function isVisible(el) {
        while (el) {
            if (el === document) {
                return true;
            }

            var $style = window.getComputedStyle(el, null);

            if (!el) {
                return false;
            } else if (!$style) {
                return false;
            } else if ($style.display === &apos;none&apos;) {
                return false;
            } else if ($style.visibility === &apos;hidden&apos;) {
                return false;
            } else if (+$style.opacity === 0) {
                return false;
            } else if (($style.display === &apos;block&apos; || $style.display === &apos;inline-block&apos;) &amp;&amp;
                $style.height === &apos;0px&apos; &amp;&amp; $style.overflow === &apos;hidden&apos;) {
                return false;
            } else {
                return $style.position === &apos;fixed&apos; || isVisible(el.parentNode);
            }
        }
  }
  
  setInterval(function(){
    var j=0;
    var elements = document.querySelectorAll(&apos;.carousel__control--forward&apos;);
    for(i=(elements.length - 1);i&gt;-1;i--) {
      if(isVisible(elements[i])) j=i;
    }
    elements[j].click();
  },10000);
  
&lt;/script&gt;

&lt;h3 id=&quot;the-name&quot;&gt;The name&lt;/h3&gt;

&lt;p&gt;The title is doubled: first in modern katakana (テレビゲーム, &lt;em&gt;terebi gēmu&lt;/em&gt;) and then in classical kanji (電視遊戯大全, &lt;em&gt;denshi yūgi taizen&lt;/em&gt;—literally “electronic play grand compendium”). The former is how Japanese people actually say “video game”; the latter is an archaic, almost scholarly construction. The juxtaposition is deliberately playful.&lt;/p&gt;

&lt;h3 id=&quot;the-structure&quot;&gt;The structure&lt;/h3&gt;

&lt;p&gt;The main body of the book is divided into four parts:&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;KEY&lt;/th&gt;
      &lt;th&gt;Section&lt;/th&gt;
      &lt;th&gt;Description&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;td&gt;History&lt;/td&gt;
      &lt;td&gt;The history of video games, from Willy Higinbotham’s tennis game&lt;br /&gt;through Space Invaders, the Atari VCS, Apple II, and the Famicom&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
      &lt;td&gt;Creators&lt;/td&gt;
      &lt;td&gt;Companies and key developers&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;＊&lt;/td&gt;
      &lt;td&gt;200 Games&lt;/td&gt;
      &lt;td&gt;Two hundred selected titles across all platforms&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;＋&lt;/td&gt;
      &lt;td&gt;Interviews &amp;amp; Columns&lt;/td&gt;
      &lt;td&gt;In-depth conversations with creators and essays on game culture&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;Because every page is physically split into three sections—and each section carries jump signs pointing to related content elsewhere—you don’t read the book linearly. You follow threads. Top section might be history, middle section a company profile, bottom section a game entry, and the cross-references send you bouncing between all three. It is, in the most literal sense, a hypertext document published five years before Mosaic.&lt;/p&gt;

&lt;h3 id=&quot;the-content&quot;&gt;The content&lt;/h3&gt;

&lt;p&gt;All contemporary platforms of 1988 are covered, and crucially the focus is worldwide rather than Japan-only, making it a comprehensive who’s who from the golden age of video games. The book documents over 200 games, profiles dozens of companies and creators, and contains what may be the richest set of developer interviews assembled in a single volume up to that point.&lt;/p&gt;

&lt;h3 id=&quot;the-people-behind-it&quot;&gt;The people behind it&lt;/h3&gt;

&lt;p&gt;The book was planned and directed by Tsunekazu Ishihara (石原恒和), now president of &lt;em&gt;The Pokémon Company&lt;/em&gt;, and produced by the company SEDIC—the same outfit that developed the musical-platform game &lt;a href=&quot;https://en.wikipedia.org/wiki/Otocky&quot;&gt;&lt;em&gt;Otocky&lt;/em&gt;&lt;/a&gt; (1987), designed by Toshio Iwai. The creative thread connecting TV’s TV, &lt;em&gt;Otocky&lt;/em&gt;, and this book is SEDIC and Ishihara’s circle: a group of people at the intersection of games, art, and media who understood video games not as disposable entertainment but as a cultural form worth documenting seriously. The team were also featured in the &lt;a href=&quot;/2024/06/18/tetris-heavenly-scrolls/&quot;&gt;&lt;em&gt;Tetris: Heavenly Scrolls&lt;/em&gt;&lt;/a&gt; book in 1989.&lt;/p&gt;

&lt;p&gt;Among the book’s contributors was Satoshi Tajiri (田尻智), who later created &lt;em&gt;Pokémon&lt;/em&gt; and is currently president of Game Freak. Tajiri had already established himself through his &lt;em&gt;Game Freak&lt;/em&gt; fanzine as one of Japan’s most dedicated game critics, and his presence here—alongside Ishihara—prefigures the partnership that would eventually produce the world’s largest media franchise.&lt;/p&gt;

&lt;p&gt;This is also the book that &lt;a href=&quot;https://web.archive.org/web/20170619183013/https://news.denfaminicogamer.jp/english/170612&quot;&gt;Tetsuya Mizuguchi cites as the genesis of his career in video games&lt;/a&gt;. Mizuguchi would go on to create &lt;em&gt;Sega Rally Championship&lt;/em&gt;, &lt;em&gt;Rez&lt;/em&gt;, &lt;em&gt;Lumines&lt;/em&gt;, and &lt;em&gt;Tetris Effect&lt;/em&gt;—a body of work deeply concerned with synesthesia, music, and the sensory experience of play. It’s not hard to see how a book this alive to the artistic possibilities of games might have lit that fuse.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;a-note-on-names&quot;&gt;A note on names&lt;/h3&gt;

&lt;p&gt;The book contains several misspellings of Western names, and at least one name that has since changed. For the record:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Dan Bynten in the book → Danielle Bunten Berry (credited as Dan Bunten at the time; designer of M.U.L.E. and Seven Cities of Gold, she transitioned in 1992)&lt;/li&gt;
  &lt;li&gt;Tossio Iwai in the book → Toshio Iwai (岩井俊雄; his own name is romanised inconsistently)&lt;/li&gt;
  &lt;li&gt;Mark F. Flint — this is the pseudonym of the head of System Sacom, a Japanese game developer responsible for titles including Dome, Soft de Hard na Monogatari, and Xenon 2: Megablast (Japanese release). His real name remains unclear. The book contains what appears to be his only substantial interview—and possibly the only interview with him under any name!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The people list and interview list below use corrected/modern names.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;people-featured&quot;&gt;People featured&lt;/h3&gt;

&lt;p&gt;Douglas Noel Adams · Don Bluth · Bill Budge · Danielle Bunten Berry · Nolan Bushnell · Douglas G. Carlston · Steve Cartwright · David Crane · Chris Crawford · Masanobu Endō · Mark F. Flint · David Fox · Richard Garriott · Nasir Gebelli · Hibiki Godai · Dan Gorlin · Satoshi Honda · Yūji Horii · Haruomi Hosono · Rob Hubbard · Toshio Iwai · Tōru Iwatani · Eugene P. Jarvis · Garry Kitchen · Yoshio Kiya · Timothy Leary · Ed Logg · Alan R. Miller · Shigeru Miyamoto · Kazuo Morita · Paul Murray · Kōichi Nakamura · Tomohiro Nishikado · Kazunori Sawano · Tom Snyder · Kōichi Sugiyama · Takanari Suzuki · Tony Suzuki · Toshiyuki Takahashi · Bill Williams · Roberta and Ken Williams&lt;/p&gt;

&lt;h3 id=&quot;companies-featured&quot;&gt;Companies featured&lt;/h3&gt;

&lt;p&gt;Accolade · Activision · Artdink · ASCII · Atari · Atari Games · Avalon Hill · Bandai · Beagle Bros · Bothtec · BPS · Brøderbund · Chat Noir · Electronic Arts · Enix · Enzan-Hoshigumi · Epyx · Firebird Software · Free Fall Associates · Game Arts · Game Studio · Hudson · Infocom · Irem · Koei · Konami · Kogado Studio · The Learning Company · LucasFilm Games · Mindscape · MIT · Namco · Nihon Falcom · Nintendo · Optimum Resource · Origin Systems · Sega Enterprises · Sierra On-Line · Silicon Beach · Sir-Tech Software · Sirius Software · Square · Strategic Simulations · Sublogic · Synapse Software · T&amp;amp;E Soft · Taito · Thinking Rabbit · Tokyo-Shoseki · Williams&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;interviews&quot;&gt;Interviews&lt;/h3&gt;

&lt;p&gt;The interview section is the book’s crown jewel. It contains what are believed to be the only interviews ever conducted with several of its subjects—most notably Mark Flint (the enigmatic head of System Sacom). With rare input from people like Fukio “MTJ” Mitsuji (creator of Bubble Bobble, who died in 2008). For a number of the Western developers, these are the earliest known long-form interviews, predating the retro gaming preservation movement by over a decade.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Accolade (Peter Doctorow)&lt;/li&gt;
  &lt;li&gt;Activision (Jeffrey Mulligan, Richard Larberg)&lt;/li&gt;
  &lt;li&gt;Activision &amp;amp; Sound (&lt;a href=&quot;https://twitter.com/hallyvorc/status/979305131014438912&quot;&gt;Russell Lieblich&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Atari (Nolan Bushnell)&lt;/li&gt;
  &lt;li&gt;Atari Games (Ed Logg)&lt;/li&gt;
  &lt;li&gt;Atari Games Japan (Hideyuki Nakajima)&lt;/li&gt;
  &lt;li&gt;Atari, Activision, Accolade (Alan Miller)&lt;/li&gt;
  &lt;li&gt;Brøderbund (Douglas Carlston)&lt;/li&gt;
  &lt;li&gt;Activision (Steve Cartwright)&lt;/li&gt;
  &lt;li&gt;Bubble Bobble (Fukio “MTJ” Mitsuji)&lt;/li&gt;
  &lt;li&gt;Electronic Arts (Trip Hawkins)&lt;/li&gt;
  &lt;li&gt;Free Fall Associates (John Freeman, Anne Westfall)&lt;/li&gt;
  &lt;li&gt;Irem (Mitsuri Kawai, Masato Ishizaki, Atsushi Yamazaki)&lt;/li&gt;
  &lt;li&gt;LucasFilm Games (David Fox)&lt;/li&gt;
  &lt;li&gt;Mind Mirror (Timothy Leary)&lt;/li&gt;
  &lt;li&gt;Namco (Masanobu Endō)&lt;/li&gt;
  &lt;li&gt;Nintendo (&lt;a href=&quot;https://shmuplations.com/miyamoto1989/&quot;&gt;Shigeru Miyamoto&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Nintendo Concepts &amp;amp; Future Developments (Hiroshi Imanishi)&lt;/li&gt;
  &lt;li&gt;Door Door, Dragon Quest (Kōichi Nakamura)&lt;/li&gt;
  &lt;li&gt;“Dragon Quest” (Yūji Horii)&lt;/li&gt;
  &lt;li&gt;Galaxian (Kazunori Sawano)&lt;/li&gt;
  &lt;li&gt;Pac-Man (Tōru Iwatani)&lt;/li&gt;
  &lt;li&gt;Space Invaders (Tomohiro Nishikado)&lt;/li&gt;
  &lt;li&gt;Strategic Simulations (Joel Billings, Randy Broweleit)&lt;/li&gt;
  &lt;li&gt;Wizardry (Sir-Tech)&lt;/li&gt;
  &lt;li&gt;Q&amp;amp;A (Bill Williams)&lt;/li&gt;
  &lt;li&gt;“Copywriting” (Shigesato Itoi)&lt;/li&gt;
  &lt;li&gt;“Future Video Games” (Toshio Iwai)&lt;/li&gt;
  &lt;li&gt;“Video Games are Borderline” (Rika Kayama)&lt;/li&gt;
  &lt;li&gt;Taito &amp;amp; PSG (Tadashi Kimijima)&lt;/li&gt;
  &lt;li&gt;“Kind-Hearted Hackers” (Yūichi Konno)&lt;/li&gt;
  &lt;li&gt;“Discovering Otaku, 1987” (Hiroshi Masuyama)&lt;/li&gt;
  &lt;li&gt;“My Soliloquy” (Takao Momozono)&lt;/li&gt;
  &lt;li&gt;“Invader Now” (Fumihiro Nonomura)&lt;/li&gt;
  &lt;li&gt;TRON Real Time Operating System (Ken Sakamura)&lt;/li&gt;
  &lt;li&gt;“Future of Games” (Izuo Sakane)&lt;/li&gt;
  &lt;li&gt;“Games &amp;amp; Science Fiction” (Takao Shiga)&lt;/li&gt;
  &lt;li&gt;Music &amp;amp; Games (Kōichi Sugiyama)&lt;/li&gt;
  &lt;li&gt;“Luxury in Video Games” (Satoshi Tajiri)&lt;/li&gt;
  &lt;li&gt;“Computer Culture” (Mitsuhiro Takemura)&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;authors&quot;&gt;Authors&lt;/h3&gt;

&lt;div class=&quot;table-wrapper&quot;&gt;
  &lt;table&gt;
    &lt;thead&gt;
      &lt;tr&gt;
        &lt;th&gt;Init&lt;/th&gt;
        &lt;th&gt;Name&lt;/th&gt;
        &lt;th&gt;Romanisation&lt;/th&gt;
        &lt;th&gt;Notes&lt;/th&gt;
      &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;td&gt;AM&lt;/td&gt;
        &lt;td&gt;&lt;span title=&quot;みうら・あきひこ&quot;&gt;三浦明彦&lt;/span&gt;&lt;/td&gt;
        &lt;td&gt;Akihiko Miura&lt;/td&gt;
        &lt;td&gt;SEDIC, Otocky. Game designer, Star Craft (&lt;a href=&quot;https://www.mobygames.com/person/99884/akihiko-miura/&quot;&gt;MobyGames&lt;/a&gt;)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;EM&lt;/td&gt;
        &lt;td&gt;&lt;span title=&quot;まつむら・えいじ&quot;&gt;松村英治&lt;/span&gt;&lt;/td&gt;
        &lt;td&gt;Eiji Matsumura&lt;/td&gt;
        &lt;td&gt;Writer, Amiga consultant (&lt;a href=&quot;https://www.mobygames.com/person/78932/eiji-matsuura/&quot;&gt;MobyGames&lt;/a&gt;)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;FF&lt;/td&gt;
        &lt;td&gt;&lt;span title=&quot;ふじえ・ふようこ&quot;&gt;原田ユニ子&lt;/span&gt;&lt;/td&gt;
        &lt;td&gt;Fujie Fuyouko&lt;/td&gt;
        &lt;td&gt;Real name Yuniko Harada. Translator&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;HK&lt;/td&gt;
        &lt;td&gt;&lt;span title=&quot;きいお・ひろたか&quot;&gt;紀伊尾宏隆&lt;/span&gt;&lt;/td&gt;
        &lt;td&gt;Hirotaka Kiio&lt;/td&gt;
        &lt;td&gt;Freelance writer (&lt;a href=&quot;https://www.mobygames.com/person/483409/hirotaka-kiio/&quot;&gt;MobyGames&lt;/a&gt;)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;HM&lt;/td&gt;
        &lt;td&gt;&lt;span title=&quot;ますやま・ひろし&quot;&gt;桝山 寛&lt;/span&gt;&lt;/td&gt;
        &lt;td&gt;Hiroshi Masuyama&lt;/td&gt;
        &lt;td&gt;SEDIC, Otocky. Techno/director (&lt;a href=&quot;https://www.mobygames.com/person/524137/hiroshi-masuyama/&quot;&gt;MobyGames&lt;/a&gt;)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;HQ&lt;/td&gt;
        &lt;td&gt;&lt;span title=&quot;こいずみ・すみれ&quot;&gt;小泉すみれ&lt;/span&gt;&lt;/td&gt;
        &lt;td&gt;Sumire Koizumi&lt;/td&gt;
        &lt;td&gt;Editor&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;KH&lt;/td&gt;
        &lt;td&gt;&lt;span title=&quot;ひらばやし・かずのり&quot;&gt;平林一則&lt;/span&gt;&lt;/td&gt;
        &lt;td&gt;Kazunori Hirabayashi&lt;/td&gt;
        &lt;td&gt;Freelance, Yotsuya Bannō Kikaku&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;KI&lt;/td&gt;
        &lt;td&gt;&lt;span title=&quot;いとう・けい&quot;&gt;伊藤 桂&lt;/span&gt;&lt;/td&gt;
        &lt;td&gt;Kei Itō&lt;/td&gt;
        &lt;td&gt;AV planner, editor of CAFE Magazine&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;KK&lt;/td&gt;
        &lt;td&gt;&lt;span title=&quot;くらしげ・こうすけ&quot;&gt;倉繁宏輔&lt;/span&gt;&lt;/td&gt;
        &lt;td&gt;Kōsuke Kurashige&lt;/td&gt;
        &lt;td&gt;SEDIC, CG engineer&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;MT&lt;/td&gt;
        &lt;td&gt;&lt;span title=&quot;たきもと・まさし&quot;&gt;瀧本雅志&lt;/span&gt;&lt;/td&gt;
        &lt;td&gt;Masashi Takimoto&lt;/td&gt;
        &lt;td&gt;I&amp;amp;S, SEDIC. Now Professor, &lt;a href=&quot;https://www.grad.osaka-geidai.ac.jp/academics/arts/takimoto-masashi&quot;&gt;Osaka University of Arts&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;ST&lt;/td&gt;
        &lt;td&gt;&lt;span title=&quot;たじり・さとし&quot;&gt;田尻 智&lt;/span&gt;&lt;/td&gt;
        &lt;td&gt;Satoshi Tajiri&lt;/td&gt;
        &lt;td&gt;Writer, Game Freak fanzine. Creator of &lt;em&gt;Pokémon&lt;/em&gt; (&lt;a href=&quot;https://www.mobygames.com/person/128020/satoshi-tajiri/&quot;&gt;MobyGames&lt;/a&gt;)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;TI&lt;/td&gt;
        &lt;td&gt;&lt;span title=&quot;いしはら・つねかず&quot;&gt;石原恒和&lt;/span&gt;&lt;/td&gt;
        &lt;td&gt;Tsunekazu Ishihara&lt;/td&gt;
        &lt;td&gt;SEDIC, I&amp;amp;S. Now President, &lt;em&gt;The Pokémon Company&lt;/em&gt; (&lt;a href=&quot;https://www.mobygames.com/person/149103/tsunekazu-ishihara/&quot;&gt;MobyGames&lt;/a&gt;)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;TT&lt;/td&gt;
        &lt;td&gt;&lt;span title=&quot;たなか・としあき&quot;&gt;田中利昭&lt;/span&gt;&lt;/td&gt;
        &lt;td&gt;Toshiaki Tanaka&lt;/td&gt;
        &lt;td&gt;PC game reviewer for Bug News, Comptiq (&lt;a href=&quot;https://www.mobygames.com/person/1327944/toshiaki-tanaka/&quot;&gt;MobyGames&lt;/a&gt;)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;YI&lt;/td&gt;
        &lt;td&gt;&lt;span title=&quot;いしい・やすふみ&quot;&gt;石井康文&lt;/span&gt;&lt;/td&gt;
        &lt;td&gt;Yasufumi Ishii&lt;/td&gt;
        &lt;td&gt;Student, Gamer&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;YK&lt;/td&gt;
        &lt;td&gt;&lt;span title=&quot;こんの・ゆういち&quot;&gt;今野裕一&lt;/span&gt;&lt;/td&gt;
        &lt;td&gt;Yūichi Konno&lt;/td&gt;
        &lt;td&gt;Editor, Peyotl Kōbō (夜想, 銀星倶楽部, WAVE)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;YM&lt;/td&gt;
        &lt;td&gt;&lt;span title=&quot;もりかわ・ゆきひと&quot;&gt;森川 倖&lt;/span&gt;&lt;/td&gt;
        &lt;td&gt;Yukihito Morikawa&lt;/td&gt;
        &lt;td&gt;Manga artist, Yotsuya Bannō Kikaku&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;YT&lt;/td&gt;
        &lt;td&gt;&lt;span title=&quot;たむら・やすふみ&quot;&gt;田村安史&lt;/span&gt;&lt;/td&gt;
        &lt;td&gt;Yasufumi Tamura&lt;/td&gt;
        &lt;td&gt;System designer, technical writer&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;YY&lt;/td&gt;
        &lt;td&gt;&lt;span title=&quot;やました・ゆみこ&quot;&gt;山下由美子&lt;/span&gt;&lt;/td&gt;
        &lt;td&gt;Yumiko Yamashita&lt;/td&gt;
        &lt;td&gt;Freelance writer&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;

&lt;/div&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;its-been-scanned&quot;&gt;It’s been scanned&lt;/h2&gt;

&lt;p&gt;There’s a scan on Internet Archive, though this won’t give you the full hypertext experience!&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://archive.org/details/tv-games/tv-games/mode/2up&quot;&gt;Full scan of the book on Internet Archive&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;contemporary-references&quot;&gt;Contemporary references&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://archive.org/details/game-machine-magazine-19880701p/mode/1up&quot;&gt;Game Machine magazine, 1 July 1988&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://archive.org/details/OhX_1988-07/page/n20/mode/2up&quot;&gt;Oh!X magazine, July 1988&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://archive.org/details/OhMZOhx19861989/Oh%21X_1989-01/page/n31/mode/2up&quot;&gt;Oh!X magazine, January 1989&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;further-readingviewing&quot;&gt;Further reading/viewing&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://web.archive.org/web/20170619183013/https://news.denfaminicogamer.jp/english/170612&quot;&gt;Tetsuya Mizuguchi on how this book shaped his career&lt;/a&gt; (DenFamiNicoGamer, 2017)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.hardcoregaming101.net/japandvd/japandvd.htm&quot;&gt;The Untold History of Japanese Game Developers&lt;/a&gt; — a related documentary project&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://shmuplations.com/earlyarcade/&quot;&gt;Shmuplations: Early Arcade Developer Interviews&lt;/a&gt; — featuring translations from this book&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=Tp9MRVGgIZ0&quot;&gt;Japan’s Bubble Era and Lost Decades&lt;/a&gt; (YouTube)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=6HUrl1JwmJs&quot;&gt;Documentary: Japan’s Bubble Economy&lt;/a&gt; (YouTube)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://archive.is/https://www.nytimes.com/2018/04/06/business/japan-1980s-bubble-era.html&quot;&gt;Japan’s Bubble Era in the 1980s&lt;/a&gt; (New York Times, 2018)&lt;/li&gt;
  &lt;li&gt;Defining the Heisei Era (The Japan Times, 2018–2019):
&lt;a href=&quot;https://archive.is/https://features.japantimes.co.jp/heisei-moments-part-1-excess/&quot;&gt;1. Excess&lt;/a&gt; ·
&lt;a href=&quot;https://archive.is/https://features.japantimes.co.jp/heisei-moments-part-2-hangover/&quot;&gt;2. Hangover&lt;/a&gt; ·
&lt;a href=&quot;https://archive.is/https://features.japantimes.co.jp/heisei-moments-part-3-introspection/&quot;&gt;3. Introspection&lt;/a&gt; ·
&lt;a href=&quot;https://archive.is/https://features.japantimes.co.jp/heisei-moments-part-4-pride/&quot;&gt;4. Pride&lt;/a&gt; ·
&lt;a href=&quot;https://archive.is/https://features.japantimes.co.jp/heisei-moments-part-5-innovation/&quot;&gt;5. Innovation&lt;/a&gt; ·
&lt;a href=&quot;https://archive.is/https://features.japantimes.co.jp/heisei-moments-part-6-imagination/&quot;&gt;6. Imagination&lt;/a&gt; ·
&lt;a href=&quot;https://archive.is/https://features.japantimes.co.jp/heisei-moments-part-7-obsession/&quot;&gt;7. Obsession&lt;/a&gt; ·
&lt;a href=&quot;https://archive.is/https://features.japantimes.co.jp/heisei-moments-part-8-communication/&quot;&gt;8. Communication&lt;/a&gt; ·
&lt;a href=&quot;https://archive.is/https://features.japantimes.co.jp/heisei-moments-part-9-family/&quot;&gt;9. Family&lt;/a&gt; ·
&lt;a href=&quot;https://archive.is/https://features.japantimes.co.jp/heisei-moments-part-10-solidarity/&quot;&gt;10. Solidarity&lt;/a&gt; ·
&lt;a href=&quot;https://archive.is/https://features.japantimes.co.jp/heisei-moments-part-11-insecurity/&quot;&gt;11. Insecurity&lt;/a&gt; ·
&lt;a href=&quot;https://archive.is/https://features.japantimes.co.jp/heisei-moments-part-12-peace/&quot;&gt;12. Peace&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://twitter.com/search?q=テレビゲーム―電視遊戯大全&amp;amp;src=typed_query&amp;amp;f=live&quot;&gt;Search mentions of the book on Twitter&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.hanmoto.com/bd/isbn/9784750515113&quot;&gt;Our History of Internet, by Barbora &amp;amp; Sayawaka&lt;/a&gt; (2017), page 33&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;buying-the-book-today&quot;&gt;Buying the book today&lt;/h2&gt;

&lt;p&gt;The current price for the book is high, and varies quite a lot. It’s gone up since I bought my first copy in 2022. Whilst it’s almost unknown in the West &lt;a href=&quot;https://twitter.com/search?q=%E3%83%86%E3%83%AC%E3%83%93%E3%82%B2%E3%83%BC%E3%83%A0%20%E9%9B%BB%E8%A6%96%E9%81%8A%E6%88%AF%E5%A4%A7%E5%85%A8&amp;amp;src=typed_query&amp;amp;f=live&quot;&gt;the book continues to be fondly remembered and much sought after in Japan&lt;/a&gt;. Today you’re looking at somewhere between £200–600 GBP, or equivalent, depending on the condition. Some have cracked outer case, some are missing the correction insert, some have gone mouldy with age. But, up to now they have come up for sale often.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://auctions.yahoo.co.jp/search/search?auccat=0&amp;amp;tab_ex=commerce&amp;amp;ei=utf-8&amp;amp;aq=-1&amp;amp;oq=&amp;amp;sc_i=&amp;amp;fr=&amp;amp;p=テレビゲーム+電視遊戯大全&quot;&gt;Yahoo! Japan Auctions&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://jp.mercari.com/search?keyword=テレビゲーム%20電視遊戯大全&amp;amp;status=on_sale&quot;&gt;Mercari Japan&lt;/a&gt; classifieds&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.amazon.co.jp/テレビゲーム-電視遊戯大全-ミュージアム-プロジェクト/dp/4946432310&quot;&gt;Amazon Japan&lt;/a&gt; books&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.kosho.or.jp/products/list.php?transactionid=41fa80ed8c62bfb2924c5ea152828894160dc87c&amp;amp;mode=search&amp;amp;search_only_has_stock=1&amp;amp;search_word=テレビゲーム+電視遊戯大全&quot;&gt;Kosho&lt;/a&gt; book store search&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.fromjapan.co.jp/japan/en/item/search/テレビゲーム+電視遊戯大全/Al_11_Yh_RaRmMr_N_N_0A00ja0000_N/&quot;&gt;From Japan&lt;/a&gt; (offers reshipping worldwide)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://world.hoyoyo.com/goods~search.html?keyword=テレビゲーム―電視遊戯大全&amp;amp;keys=テレビゲーム―電視遊戯大全&amp;amp;lang=ja&amp;amp;sites_id=0&amp;amp;category_id=&amp;amp;fykeyid=650167&quot;&gt;HOYOYO&lt;/a&gt; (offers reshipping worldwide)&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;postscript&quot;&gt;Postscript&lt;/h2&gt;

&lt;p&gt;I’ve been working on this blog post on and (mostly) off &lt;a href=&quot;https://twitter.com/gingerbeardman/status/1584302486789111809&quot;&gt;since 2022&lt;/a&gt;. I’ll try to improve it over time!&lt;/p&gt;
</description>
          <author>by Matt Sephton</author>
          <pubDate>Sun, 01 Mar 2026 23:34:00 +0000</pubDate>
          <link>https://blog.gingerbeardman.com/2026/03/01/tvs-tv-1987-and-tv-games-encyclopedia-1988/</link>
          <guid isPermaLink="true">https://blog.gingerbeardman.com/2026/03/01/tvs-tv-1987-and-tv-games-encyclopedia-1988/</guid>
        </item>
      
    
      
        <item>
          <title>WebGL CRT Shader</title>
          <description>&lt;p&gt;I’m releasing my WebGL CRT Shader as open source.&lt;/p&gt;

&lt;p&gt;It creates a CRT/vintage TV effect so could be used in games, emulators, apps, demos, visuals, etc. It’s not a simulator just something that gives the same general old school vibe.&lt;/p&gt;

&lt;p&gt;As a WebGL shader, it runs on the device’s hardware GPU in the browser and renders to a &amp;lt;canvas&amp;gt; (or offscreen canvas). I currently use it with Three.js, and the demo below uses just a 2D canvas.&lt;/p&gt;

&lt;p&gt;It’s optimised to run well on low power devices as far back as iPhone XS, though I’m certain it can be optimised even further. &lt;a href=&quot;https://github.com/gingerbeardman/webgl-crt-shader/pulls&quot;&gt;PRs welcome&lt;/a&gt;! The easiest personal optimisation you might make would be removing processing of unused parameters.&lt;/p&gt;

&lt;p&gt;Is it scientifically correct? &lt;em&gt;Hell no.&lt;/em&gt; Does it look good? &lt;em&gt;Yes.&lt;/em&gt; Does it give you the feels? &lt;em&gt;Absolutely.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/gingerbeardman/webgl-crt-shader/&quot;&gt;github.com/gingerbeardman/webgl-crt-shader/&lt;/a&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;history&quot;&gt;History&lt;/h2&gt;

&lt;p&gt;It began as a &lt;a href=&quot;https://bsky.app/profile/gingerbeardman.com/post/3lk2arnt4rc2o&quot;&gt;shader for Love2D&lt;/a&gt; at the beginning of 2025 (&lt;a href=&quot;https://gist.github.com/gingerbeardman/7392ee84fdb2e405d7437b5b12e4c12d&quot;&gt;here’s a gist of that one&lt;/a&gt;) and by the end of 2025 I had ported it to GLSL for a personal work-in-progress web game.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;live-demo&quot;&gt;Live Demo&lt;/h2&gt;

&lt;p&gt;Reach for the sliders!&lt;/p&gt;

&lt;p&gt;(You can scroll the demo horizontally on mobile)&lt;/p&gt;

&lt;div class=&quot;table-wrapper&quot;&gt;

  &lt;iframe src=&quot;https://gingerbeardman.github.io/webgl-crt-shader/&quot; width=&quot;740&quot; height=&quot;740&quot;&gt;
![screenshot](https://cdn.gingerbeardman.com/images/posts/glsl-web-crt-shader.png)
&lt;/iframe&gt;

&lt;/div&gt;

&lt;p&gt;^ Screenshot is Pico-8 classic &lt;a href=&quot;https://www.lexaloffle.com/bbs/?tid=3547&quot;&gt;Worm Nom Nom&lt;/a&gt; by Tic Tac Toad (kometbomb + iLKke) 🌸🍏🎩🐛💩&lt;/p&gt;
</description>
          <author>by Matt Sephton</author>
          <pubDate>Sun, 04 Jan 2026 17:44:00 +0000</pubDate>
          <link>https://blog.gingerbeardman.com/2026/01/04/webgl-crt-shader/</link>
          <guid isPermaLink="true">https://blog.gingerbeardman.com/2026/01/04/webgl-crt-shader/</guid>
        </item>
      
    
      
        <item>
          <title>Pixel-Perfect retro gaming on LCD 480p EDTVs</title>
          <description>&lt;p&gt;I recently saw a feature on &lt;a href=&quot;https://www.racketboy.com/retro/the-best-43-square-lcd-monitors-for-retro-gaming-classic-pc-use&quot;&gt;Racketboy&lt;/a&gt; about “The Best 4:3 LCD Monitors for Retro Gaming” which is an interesting list that misses the mark for one reason: it ignores scaling.&lt;/p&gt;

&lt;p&gt;LCDs are best at their native resolution and all the listed monitors in that article are odd PC resolutions so most images will be scaled by uneven, non-integer amounts. If we think about retro gaming display outputs then we’re squarely sub-480p. Anything higher will mean the image gets scaled and the results will be suboptimal.&lt;/p&gt;

&lt;p&gt;What we need is a display with a native resolution of 480p. Do such things exist? Why, yes, they do!&lt;/p&gt;

&lt;h2 id=&quot;lcd-480p-edtvs&quot;&gt;LCD 480p EDTVs&lt;/h2&gt;

&lt;p&gt;For a handful of years I’ve been using a 20” LCD 480p EDTV which offers great support for 240p and 480p with zero scaling. These types of TVs mean you get pixel-perfect (1:1 PAR) results for PC, Dreamcast, Xbox, Xbox 360, and as near as dammit for Wii/GC, PS3/2/1 and other consoles without native PC output. PAL resolution 576p games are a fly in the ointment and won’t fit, so we won’t be playing those here. For resolutions lower than 640x480 you still get integer scaling with the output in the centre of the display, for example Mega Drive (Genesis) has a resolution of 320×224px that maps with scan lines to 640×448px with small black bars top and bottom. RetroArch users will be very familiar with this kind of pixel mapping technique. Seeing the 480p output of a Wii on this kind of display is a real shock and truly amazing.&lt;/p&gt;

&lt;p&gt;I also use my modern emulation PC to output at 640×480p using a DisplayPort to VGA adapter. This gives me perfect video output from Windows, and from RetroArch for everything up to and including 480p, which covers what I consider the golden period of arcade and console gaming. On occasion I’ve run some PC software (Dolphin emulator, Richard Burns Rally) at much the higher UXGA resolution and used a scaler to supersample it back down to 640×480 which gives fantastic, smooth results for specific games where I feel that might be worth doing.&lt;/p&gt;

&lt;p&gt;The pixel density of a 20” IPS panel like this is such that the sub-pixel gaps look a little like an aperture grille. Adding a 640×480px scan-line overlay image in RetroArch brings me very close to the look of my PVM but with a display that is much easier to manage. That said, CRT emulation isn’t really the goal here—we just want a display that is able to display these low resolutions without any scaling.&lt;/p&gt;

&lt;p&gt;The 480p EDTV also proves unremarkable to my wife, I guess because unlike my PVM it doesn’t like a microwave, which means it can happily live in the lounge.&lt;/p&gt;

&lt;h2 id=&quot;which-one-to-get&quot;&gt;Which one to get?&lt;/h2&gt;

&lt;p&gt;Philips made the best 20” 480p EDTVs: they have an LG/Philips IPS panel (yes, in 2006!) and PC input connector. The trick is to find a set with DVI/VGA input so you can use the PC mode which does not have any image processing applied to it. I’m in Europe so I use the Philips 20PF4121, which is simply glorious. Response time is less than one frame, and there is little to no motion blur on my TV, as measured by the EIZO monitor test. It has a hardware scaler by Genesis Logic that can handle 240p and is pretty good at deinterlacing (though I use a GBS-Control for better deinterlacing on PS2).&lt;/p&gt;

&lt;p&gt;Connections: you want to use DVI and whatever adaptors you need to get your signal there. Analogue signals over VGA and Component (YPbPr) can be used with a simple pin adaptor. Digital signals like HDMI and DisplayPort, or even those modern HDMI dongles for old consoles, can be used with a suitable signal converter (pick a good one to avoid lag) to get to VGA and then go from there. TVs with HDMI input are different in that it is not used for PC mode.&lt;/p&gt;

&lt;p&gt;Notes: some other manufacturers used the same LG/Philips IPS panel. Be aware that Sharp used their own panel technology, and Samsung used a different panel again, neither of which are IPS and so not as good. Sharp also use their own scaler hardware which is not as good as the scaler in my Philips. Scalers by MStar are used in certain EDTVs - including some later Philips sets - and do not support 240p.&lt;/p&gt;

&lt;p&gt;I’m yet to find a 16:9 aspect LCD 480p EDTV with PC input. Though I continue to look for one!&lt;/p&gt;

&lt;h2 id=&quot;the-hit-list&quot;&gt;The Hit List&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://docs.google.com/spreadsheets/d/1HOEvXkjMTum_Vd1CJ0RrpvgH0a_Uo0zJc9RwUtfZVZ0/edit?usp=sharing&quot;&gt;Here’s a Google Docs spreadsheet&lt;/a&gt; that should help you find a suitable LCD 480p EDTV. The top and most well-tested EDTVs from that list are displayed in the smaller table below.&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;BRAND&lt;/th&gt;
      &lt;th&gt;MODEL&lt;/th&gt;
      &lt;th&gt;REGION&lt;/th&gt;
      &lt;th&gt;CHASSIS&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;IPS&lt;/th&gt;
      &lt;th&gt;SCALER&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;240P&lt;/th&gt;
      &lt;th&gt;INPUT&lt;/th&gt;
      &lt;th&gt;YEAR&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Philips&lt;/td&gt;
      &lt;td&gt;20PF4121&lt;/td&gt;
      &lt;td&gt;EU&lt;/td&gt;
      &lt;td&gt;LC4.1E&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;Y&lt;/td&gt;
      &lt;td&gt;Genesis&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;Y&lt;/td&gt;
      &lt;td&gt;DVI&lt;/td&gt;
      &lt;td&gt;2006&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Philips&lt;/td&gt;
      &lt;td&gt;20PF5121&lt;/td&gt;
      &lt;td&gt;EU&lt;/td&gt;
      &lt;td&gt;LC4.1E&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;Y&lt;/td&gt;
      &lt;td&gt;Genesis&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;Y&lt;/td&gt;
      &lt;td&gt;DVI&lt;/td&gt;
      &lt;td&gt;2006&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Philips&lt;/td&gt;
      &lt;td&gt;20HF5474&lt;/td&gt;
      &lt;td&gt;EU&lt;/td&gt;
      &lt;td&gt;LC4.1HE&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;Y&lt;/td&gt;
      &lt;td&gt;Genesis&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;Y&lt;/td&gt;
      &lt;td&gt;DVI&lt;/td&gt;
      &lt;td&gt;2006&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Philips&lt;/td&gt;
      &lt;td&gt;20PF4110&lt;/td&gt;
      &lt;td&gt;EU&lt;/td&gt;
      &lt;td&gt;LC4.1E&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;Y&lt;/td&gt;
      &lt;td&gt;Genesis&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;Y&lt;/td&gt;
      &lt;td&gt;DVI&lt;/td&gt;
      &lt;td&gt;2005&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Philips&lt;/td&gt;
      &lt;td&gt;20HF5473&lt;/td&gt;
      &lt;td&gt;EU&lt;/td&gt;
      &lt;td&gt;LC4.1E&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;Y&lt;/td&gt;
      &lt;td&gt;Genesis&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;Y&lt;/td&gt;
      &lt;td&gt;DVI&lt;/td&gt;
      &lt;td&gt;2005&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Toshiba&lt;/td&gt;
      &lt;td&gt;20LS30&lt;/td&gt;
      &lt;td&gt;JP&lt;/td&gt;
      &lt;td&gt;—&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;Y&lt;/td&gt;
      &lt;td&gt;Genesis&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;Y&lt;/td&gt;
      &lt;td&gt;VGA, D2&lt;/td&gt;
      &lt;td&gt;2005&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Toshiba&lt;/td&gt;
      &lt;td&gt;20DL75&lt;/td&gt;
      &lt;td&gt;US&lt;/td&gt;
      &lt;td&gt;—&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;Y&lt;/td&gt;
      &lt;td&gt;Genesis&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;Y&lt;/td&gt;
      &lt;td&gt;VGA&lt;/td&gt;
      &lt;td&gt;2005&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;Note: three Philips EDTV available in the USA have been removed from this list as they only offer processed YPbPr over the VGA connector via a cinch to VGA cable.&lt;/p&gt;

&lt;p&gt;When looking for one of these you need to check the following:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;DVI or VGA connector?&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;em&gt;quick check: specification brochure&lt;/em&gt;&lt;/li&gt;
      &lt;li&gt;&lt;em&gt;long check: take a look physically&lt;/em&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;IPS panel?&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;em&gt;quick check: spec brochure, viewing angle ~178 degrees&lt;/em&gt;&lt;/li&gt;
      &lt;li&gt;&lt;em&gt;long check: service manual parts list, check panel part number manually&lt;/em&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Genesis Logic scaler?&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;em&gt;quick check: parts list or PCB photo&lt;/em&gt;&lt;/li&gt;
      &lt;li&gt;&lt;em&gt;long check: check PCB manually, feed it a 240p signal&lt;/em&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Places to get this info are: photos of spare parts, specification brochure, service manual parts list. It’s useful to cross-reference LCD panel numbers on &lt;a href=&quot;https://www.panelook.com/modelsearch.php?keyword=LC201V02&quot;&gt;panelook.com&lt;/a&gt; and browse for 480p EDTVs using the &lt;a href=&quot;https://www.google.com/search?q=%22640+x+480+pixels%22+tv+site%3Ahttps%3A%2F%2Ficecat.biz&quot;&gt;icecat&lt;/a&gt; or &lt;a href=&quot;https://www.google.com/search?q=%22Resolution+640,480%22+tv+site%3Ahttps%3A%2F%2Fproductz.com&quot;&gt;productz&lt;/a&gt; websites.&lt;/p&gt;

&lt;p&gt;Feel free to contact me &lt;a href=&quot;https://twitter.com/gingerbeardman&quot;&gt;@gingerbeardman&lt;/a&gt; on twitter with details of your buying choice and experiences and I’ll be sure to update the spreadsheet.&lt;/p&gt;

&lt;h2 id=&quot;photos&quot;&gt;Photos&lt;/h2&gt;

&lt;p&gt;I also use the &lt;a href=&quot;https://www.instagram.com/explore/tags/20pf4121/&quot;&gt;#20PF4121 tag on Instagram&lt;/a&gt; to share photos and video footage.&lt;/p&gt;

&lt;div class=&quot;carousel__holder&quot;&gt;
    &lt;div class=&quot;carousel&quot;&gt;
        
          &lt;input class=&quot;carousel__activator&quot; type=&quot;radio&quot; name=&quot;carousel&quot; id=&quot;a&quot; checked=&quot;checked&quot; /&gt;
        
          &lt;input class=&quot;carousel__activator&quot; type=&quot;radio&quot; name=&quot;carousel&quot; id=&quot;b&quot; /&gt;
        
          &lt;input class=&quot;carousel__activator&quot; type=&quot;radio&quot; name=&quot;carousel&quot; id=&quot;c&quot; /&gt;
        
        
          
          
          
          
          &lt;div class=&quot;carousel__controls&quot;&gt;
              &lt;label class=&quot;carousel__control carousel__control--backward&quot; for=&quot;c&quot;&gt;&lt;/label&gt;
              &lt;label class=&quot;carousel__control carousel__control--forward&quot; for=&quot;b&quot;&gt;&lt;/label&gt;
          &lt;/div&gt;
        
          
          
          
          
          &lt;div class=&quot;carousel__controls&quot;&gt;
              &lt;label class=&quot;carousel__control carousel__control--backward&quot; for=&quot;a&quot;&gt;&lt;/label&gt;
              &lt;label class=&quot;carousel__control carousel__control--forward&quot; for=&quot;c&quot;&gt;&lt;/label&gt;
          &lt;/div&gt;
        
          
          
          
          
          &lt;div class=&quot;carousel__controls&quot;&gt;
              &lt;label class=&quot;carousel__control carousel__control--backward&quot; for=&quot;b&quot;&gt;&lt;/label&gt;
              &lt;label class=&quot;carousel__control carousel__control--forward&quot; for=&quot;a&quot;&gt;&lt;/label&gt;
          &lt;/div&gt;
        
        &lt;div class=&quot;carousel__track&quot;&gt;
          &lt;ul&gt;
            
            &lt;li class=&quot;carousel__slide&quot; style=&quot;background-image: url(&apos;https://cdn.gingerbeardman.com/images/posts/pixel-perfect-480p-edtv-3.jpg&apos;);&quot;&gt;&lt;img class=&quot;carousel__staticimage&quot; src=&quot;https://cdn.gingerbeardman.com/images/posts/pixel-perfect-480p-edtv-3.jpg&quot; /&gt;&lt;/li&gt;
            
            &lt;li class=&quot;carousel__slide&quot; style=&quot;background-image: url(&apos;https://cdn.gingerbeardman.com/images/posts/pixel-perfect-480p-edtv-4.jpg&apos;);&quot;&gt;&lt;img class=&quot;carousel__staticimage&quot; src=&quot;https://cdn.gingerbeardman.com/images/posts/pixel-perfect-480p-edtv-4.jpg&quot; /&gt;&lt;/li&gt;
            
            &lt;li class=&quot;carousel__slide&quot; style=&quot;background-image: url(&apos;https://cdn.gingerbeardman.com/images/posts/pixel-perfect-480p-edtv-5.jpg&apos;);&quot;&gt;&lt;img class=&quot;carousel__staticimage&quot; src=&quot;https://cdn.gingerbeardman.com/images/posts/pixel-perfect-480p-edtv-5.jpg&quot; /&gt;&lt;/li&gt;
            
          &lt;/ul&gt;
        &lt;/div&gt;
        &lt;div class=&quot;carousel__indicators&quot;&gt;
            
              &lt;label class=&quot;carousel__indicator&quot; for=&quot;a&quot;&gt;&lt;/label&gt;
            
              &lt;label class=&quot;carousel__indicator&quot; for=&quot;b&quot;&gt;&lt;/label&gt;
            
              &lt;label class=&quot;carousel__indicator&quot; for=&quot;c&quot;&gt;&lt;/label&gt;
            
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
.carousel__holder {width: 100%; position: relative; padding-bottom: 82%; margin: 1rem 0 1rem;}
.carousel {
  height: 100%;
  width: 100%;
  overflow: hidden;
  text-align: center;
  position: absolute;
  padding: 0;
}
.carousel__staticimage,
.carousel__controls,
.carousel__activator {
  display: none;
}

.carousel__activator:nth-of-type(1):checked ~ .carousel__track {
  -webkit-transform: translateX(-000%);
          transform: translateX(-000%);
}
.carousel__activator:nth-of-type(1):checked ~ .carousel__slide:nth-of-type(1) {
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.carousel__activator:nth-of-type(1):checked ~ .carousel__controls:nth-of-type(1) {
  display: block;
  opacity: 1;
}
.carousel__activator:nth-of-type(1):checked ~ .carousel__indicators .carousel__indicator:nth-of-type(1) {
  opacity: 1;
}

.carousel__activator:nth-of-type(2):checked ~ .carousel__track {
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}
.carousel__activator:nth-of-type(2):checked ~ .carousel__slide:nth-of-type(2) {
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.carousel__activator:nth-of-type(2):checked ~ .carousel__controls:nth-of-type(2) {
  display: block;
  opacity: 1;
}
.carousel__activator:nth-of-type(2):checked ~ .carousel__indicators .carousel__indicator:nth-of-type(2) {
  opacity: 1;
}

.carousel__activator:nth-of-type(3):checked ~ .carousel__track {
  -webkit-transform: translateX(-200%);
          transform: translateX(-200%);
}
.carousel__activator:nth-of-type(3):checked ~ .carousel__slide:nth-of-type(3) {
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.carousel__activator:nth-of-type(3):checked ~ .carousel__controls:nth-of-type(3) {
  display: block;
  opacity: 1;
}
.carousel__activator:nth-of-type(3):checked ~ .carousel__indicators .carousel__indicator:nth-of-type(3) {
  opacity: 1;
}


.carousel__control {
  height: 30px;
  width: 30px;
  margin-top: -15px;
  top: 50%;
  position: absolute;
  display: block;
  cursor: pointer;
  border-width: 5px 5px 0 0;
  border-style: solid;
  opacity: 0.35;
  opacity: 1;
  outline: 0;
  z-index: 3;
  color: #fafafa;
  mix-blend-mode: difference;
}
.carousel__control:hover {
  opacity: 1;
}
.carousel__control--backward {
  left: 20px;
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}
.carousel__control--forward {
  right: 20px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.carousel__indicators {
  position: absolute;
  bottom: 20px;
  width: 100%;
  text-align: center;
}
.carousel__indicator {
  height: 10px;
  width: 10px;
  border-radius: 100%;
  display: inline-block;
  z-index: 2;
  cursor: pointer;
  opacity: 0.35;
  margin: 0 2.5px 0 2.5px;
}
.carousel__indicator:hover {
  opacity: 0.75;
}
.carousel__track {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 0;
  margin: 0;
  transition: -webkit-transform 0.5s ease 0s;
  transition: transform 0.5s ease 0s;
  transition: transform 0.5s ease 0s, -webkit-transform 0.5s ease 0s;
}
.carousel__track .carousel__slide {
  display: block;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
}

.carousel__track .carousel__slide:nth-of-type(1) {
  -webkit-transform: translateX(000%) translateZ(0);
          transform: translateX(000%) translateZ(0);
}

.carousel__track .carousel__slide:nth-of-type(2) {
  -webkit-transform: translateX(100%) translateZ(0);
          transform: translateX(100%) translateZ(0);
}

.carousel__track .carousel__slide:nth-of-type(3) {
  -webkit-transform: translateX(200%) translateZ(0);
          transform: translateX(200%) translateZ(0);
}


.carousel--scale .carousel__slide {
  -webkit-transform: scale(0);
          transform: scale(0);
}
.carousel__slide {
  height: 100%;
  position: absolute;
  opacity: 0;
  overflow: hidden;
}
.carousel__slide .overlay {height: 100%;}
.carousel--thumb .carousel__indicator {
  height: 30px;
  width: 30px;
}
.carousel__indicator {
  background-color: #fafafa;
}

.carousel__slide:nth-of-type(1),
.carousel--thumb .carousel__indicators .carousel__indicator:nth-of-type(1) {
  background-size: cover;
  background-position: center;
}

.carousel__slide:nth-of-type(2),
.carousel--thumb .carousel__indicators .carousel__indicator:nth-of-type(2) {
  background-size: cover;
  background-position: center;
}

.carousel__slide:nth-of-type(3),
.carousel--thumb .carousel__indicators .carousel__indicator:nth-of-type(3) {
  background-size: cover;
  background-position: center;
}

&lt;/style&gt;

&lt;script&gt;
  function isVisible(el) {
        while (el) {
            if (el === document) {
                return true;
            }

            var $style = window.getComputedStyle(el, null);

            if (!el) {
                return false;
            } else if (!$style) {
                return false;
            } else if ($style.display === &apos;none&apos;) {
                return false;
            } else if ($style.visibility === &apos;hidden&apos;) {
                return false;
            } else if (+$style.opacity === 0) {
                return false;
            } else if (($style.display === &apos;block&apos; || $style.display === &apos;inline-block&apos;) &amp;&amp;
                $style.height === &apos;0px&apos; &amp;&amp; $style.overflow === &apos;hidden&apos;) {
                return false;
            } else {
                return $style.position === &apos;fixed&apos; || isVisible(el.parentNode);
            }
        }
  }
  
  setInterval(function(){
    var j=0;
    var elements = document.querySelectorAll(&apos;.carousel__control--forward&apos;);
    for(i=(elements.length - 1);i&gt;-1;i--) {
      if(isVisible(elements[i])) j=i;
    }
    elements[j].click();
  },7000);
  
&lt;/script&gt;

&lt;h2 id=&quot;connections&quot;&gt;Connections&lt;/h2&gt;

&lt;p&gt;The goal is to get the video output from your gaming system into VGA or DVI, depending on the input your TV has.&lt;/p&gt;

&lt;p&gt;Specifically when using the EDTV’s PC input we need DVI-A (Analogue), rather than DVD-D (Digital) even if the TV supports both via DVI-I (integrated analogue and digital).&lt;/p&gt;

&lt;p&gt;Here’s how to connect the most common systems. Let me know if you connect one that’s not on the list!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Straight VGA cable&lt;/strong&gt; (with VGA to DVI adapter if needed)&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Dreamcast&lt;/li&gt;
  &lt;li&gt;Xbox 360&lt;/li&gt;
  &lt;li&gt;Xbox&lt;/li&gt;
  &lt;li&gt;Vintage Mac/PC&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Component cable to VGA/DVI adapter&lt;/strong&gt; (analogue pass-through)&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Wii&lt;/li&gt;
  &lt;li&gt;GameCube&lt;/li&gt;
  &lt;li&gt;PS3/2 (and PS1 via backwards compatibility)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;HDMI/DisplayPort/Thunderbolt to VGA/DVI&lt;/strong&gt; (digital to analogue conversion)&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Xbox One&lt;/li&gt;
  &lt;li&gt;Wii U&lt;/li&gt;
  &lt;li&gt;PS4/3&lt;/li&gt;
  &lt;li&gt;Mac&lt;/li&gt;
  &lt;li&gt;PC&lt;/li&gt;
  &lt;li&gt;Other systems using HDMI output&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;SCART/Composite to VGA/DVI adapter&lt;/strong&gt; (analogue to analogue conversion)&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Most other systems (those not mentioned above)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;An example external scaler that can take SCART/Composite to VGA would be the &lt;a href=&quot;https://github.com/ramapcsx2/gbs-control&quot;&gt;GBS-Control&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;deinterlacing-quality&quot;&gt;Deinterlacing quality&lt;/h2&gt;

&lt;p&gt;To improve deinterlacing for 480i content (eg. PS2) you might consider using a scaler that has motion adaptive deinterlacing and good 480p output, such as &lt;a href=&quot;https://github.com/ramapcsx2/gbs-control&quot;&gt;GBS-Control&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;alignment-of-multiple-sources&quot;&gt;Alignment of multiple sources&lt;/h2&gt;

&lt;p&gt;A scaler such as the Extron DVS 304 is useful when using a &lt;a href=&quot;https://en.wikipedia.org/wiki/KVM_switch&quot;&gt;VGA KVM Switch&lt;/a&gt; as it will align the position of all different inputs, so you will not have to do Auto Adjust on the EDTV to centre the display when switching from system to system.&lt;/p&gt;

&lt;h2 id=&quot;video&quot;&gt;Video&lt;/h2&gt;

&lt;p&gt;April 2026: check out this great video by @f4mi for a quick recap!&lt;/p&gt;

&lt;lite-youtube style=&quot;aspect-ratio: 16/9;&quot; videoid=&quot;Z5139M4IeZU&quot; params=&quot;start=0&amp;amp;modestbranding=2&quot;&gt;
&lt;/lite-youtube&gt;
</description>
          <author>by Matt Sephton</author>
          <pubDate>Thu, 06 May 2021 11:00:00 +0000</pubDate>
          <link>https://blog.gingerbeardman.com/2021/05/06/pixel-perfect-retro-gaming-in-480p/</link>
          <guid isPermaLink="true">https://blog.gingerbeardman.com/2021/05/06/pixel-perfect-retro-gaming-in-480p/</guid>
        </item>
      
    
      
        <item>
          <title>The Great Photos Heist</title>
          <description>&lt;p&gt;Right now Google is in the process of pulling off &lt;a href=&quot;http://daringfireball.net/linked/2016/08/08/google-photos-sick-burn&quot;&gt;one of the greatest technology heists in recent memory&lt;/a&gt;. They’re using the global juggernaut that is the &lt;a href=&quot;https://www.google.co.uk/search?q=Rio+Olympics&quot;&gt;Rio Olympics&lt;/a&gt;—with the mind bogglingly large number of eyes that are following it on TV screens around the world—as an opportunity to advertise &lt;a href=&quot;https://itunes.apple.com/gb/app/google-photos-free-photo-video/id962194608?mt=8&quot;&gt;Google Photos&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;That may seem like an odd choice, until you realise that the reason for the advertising campaign lies elsewhere: iOS.&lt;/p&gt;

&lt;p&gt;Many iOS users own devices with limited storage space, either through lack of &lt;a href=&quot;https://support.apple.com/en-gb/HT204247&quot;&gt;housekeeping&lt;/a&gt; or the inherent limitations of the device they have chosen to buy. These users have a daily battle with alerts that tell them they are out of storage space and they no longer have room to store any photos.&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://miro.medium.com/max/1000/1*5PdvNaYPq7IwMPcv0MOGVw.png&quot; alt=&quot;&quot; title=&quot;D’oh!&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;up-in-the-cloud&quot;&gt;Up in the Cloud&lt;/h2&gt;

&lt;p&gt;Google has been clever enough to market their &lt;a href=&quot;https://itunes.apple.com/gb/app/google-photos-free-photo-video/id962194608?mt=8&quot;&gt;Photos app&lt;/a&gt; as a solution to this all too common problem. It has a new feature called &lt;em&gt;Free Up Space&lt;/em&gt; that can backup your photos to the cloud and then, automagically, remove your photos and video from your device to, well, free up space. Cool.&lt;/p&gt;

&lt;p&gt;The deal is almost as good as it sounds, as you only get unlimited cloud storage for your photos if you’re OK with Google compressing them (perhaps with something like &lt;a href=&quot;http://www.jpegmini.com&quot;&gt;JPEGmini&lt;/a&gt;). If you want to store the unmodified originals then they impose a limit. I think that’s fair.&lt;/p&gt;

&lt;p&gt;This feature will sound sweet to anybody who has ever seen the nag that they’re out of storage. I’d hazard a guess that that’s pretty much most people with a 16GB or smaller iOS device and any sort of passion for photography, &lt;a href=&quot;http://www.whatsapp.com&quot;&gt;WhatsApp&lt;/a&gt;, &lt;a href=&quot;http://www.snapchat.com&quot;&gt;Snapchat&lt;/a&gt;, selfies, or whatever else.&lt;/p&gt;

&lt;h2 id=&quot;how-do-you-like-them-apples&quot;&gt;How do you like them Apples?&lt;/h2&gt;

&lt;p&gt;So now that we’ve understood the problem, and the proposed solution, it’s time to think about what Apple could do about it. Of course their solution will be reactive, with iOS 10 already in beta and Google Photos going strong, but a native solution would be more than welcome.&lt;/p&gt;

&lt;p&gt;Currently Apple give every user 5GB of storage. Whilst that’s a decent amount of space for some types of files, it’s just not enough for large files like digital photos and videos.&lt;/p&gt;

&lt;p&gt;It’s also worth remembering that most users will already be close to capacity if they’ve activated iCloud Backup. These backups could use up most, or even all, of your 5GB and leave little or no room for anything else.&lt;/p&gt;

&lt;h2 id=&quot;turn-back-time&quot;&gt;Turn Back Time&lt;/h2&gt;

&lt;p&gt;The enhancement request I would file—where I still working at Apple—would be to increase the storage each user gets, make it so that backups do not take up any storage space and of course switch on iCloud Photos by default so free space is regained.&lt;/p&gt;

&lt;p&gt;But why stop there? Apple could implement a sort of &lt;a href=&quot;https://en.wikipedia.org/wiki/Time_Machine_%28OS_X%29&quot;&gt;Time Machine&lt;/a&gt; feature for iOS, with the option to restore the whole device or individual apps, with or without their data. That would be very cool.&lt;/p&gt;
</description>
          <author>by Matt Sephton</author>
          <pubDate>Tue, 09 Aug 2016 00:00:00 +0000</pubDate>
          <link>https://blog.gingerbeardman.com/2016/08/09/the-great-photo-heist/</link>
          <guid isPermaLink="true">https://blog.gingerbeardman.com/2016/08/09/the-great-photo-heist/</guid>
        </item>
      
    
      
        <item>
          <title>A Brief History of TV Guides</title>
          <description>&lt;p&gt;With the news that Apple are courting TV programmers with the idea of an all-encompassing TV Guide, I thought it would be fun to recap my personal history of TV Guide usage and think about where it might be going next.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Disclaimer: whilst I am a former Apple employee, I know of less than nothing about any current or future plans for iOS or tvOS.&lt;/em&gt;&lt;/p&gt;

&lt;h2 id=&quot;i-get-my-kicks-on-channel-6&quot;&gt;I get my kicks on Channel 6&lt;/h2&gt;

&lt;p&gt;For a long time in the UK—during the pre-internet era, when computers loaded their software from tape cassettes and floppy disks—the Great British public turned to their Televisions for more than just TV shows. We had teletext information services which were kind of like having a limited but nonetheless powerful intranet built into your TV.&lt;/p&gt;

&lt;p&gt;The BBC had what they called &lt;a href=&quot;https://en.wikipedia.org/wiki/Ceefax&quot;&gt;Ceefax&lt;/a&gt; (cf. “See facts”) whilst their main competitor ITV had &lt;a href=&quot;https://en.wikipedia.org/wiki/ORACLE_(teletext)&quot;&gt;Oracle&lt;/a&gt;, which was eventually replaced by a service called Teletext (with a capital T) run by &lt;a href=&quot;https://en.wikipedia.org/wiki/Teletext_Ltd.&quot;&gt;Teletext Limited&lt;/a&gt; that went on to become a hugely popular service that dwarfed even the BBC’s offering.&lt;/p&gt;

&lt;p&gt;All of these teletext services provided general information, such as news, weather, recipes and reviews, stored in a carousel of hundreds of sequential pages. You might want to imagine the &lt;a href=&quot;https://www.bbc.co.uk&quot;&gt;bbc.co.uk&lt;/a&gt; website shrunk down to several hundred pages, each containing no more than about one hundred words. These pages would be transmitted with the broadcast picture and refreshed in a repeating cycle. Your TV’s inbuilt decoder would look at a few lines of the broadcast image and convert the data into screens of &lt;a href=&quot;https://en.wikipedia.org/wiki/ANSI_escape_code&quot;&gt;ANSI&lt;/a&gt;-like coloured characters that form pages of text and blocky graphics. You’d select your desired page by punching in a three digit page number on your remote control and waiting for it to come round in the carousel.&lt;/p&gt;

&lt;p&gt;All the teletext services I used provided a TV Guide. This was an EPG before the acronym had even been coined. Roughly equivalent to popular printed TV guides of the time they presented succinct information about the day’s programmes over several pages. Here’s a screenshot of a TV listing from BBC’s Ceefax:&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://miro.medium.com/max/1008/1*WSph9kUyJtT2L_onAyGAXA.png&quot; alt=&quot;&quot; title=&quot;TV Guide: BBC Ceefax&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Additionally, a Now &amp;amp; Next feature could be overlaid on top of the TV picture, occupying the bottom half of the screen, leaving the moving image visible in the top half. Close caption subtitles were done in the same way.&lt;/p&gt;

&lt;h2 id=&quot;digital-love&quot;&gt;Digital Love&lt;/h2&gt;

&lt;p&gt;Even at the time of its introduction to the UK, the technology powering teletext was old, so it was inevitable that it would eventually be replaced. That happened with the switch off of &lt;a href=&quot;https://en.wikipedia.org/wiki/Analogue_television_in_the_United_Kingdom&quot;&gt;analogue television&lt;/a&gt; and the switchover to &lt;a href=&quot;https://en.wikipedia.org/wiki/Digital_television&quot;&gt;digital terrestrial services&lt;/a&gt; that were eventually ratified into a standard known as &lt;a href=&quot;https://en.wikipedia.org/wiki/Freeview_(UK)&quot;&gt;Freeview&lt;/a&gt; (and, sometime later, &lt;a href=&quot;https://en.wikipedia.org/wiki/Freeview_(UK)#Freeview_HD&quot;&gt;Freeview HD&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;The chunky pixel pages of teletext were replaced by slightly less pixelated screens of &lt;a href=&quot;https://en.wikipedia.org/wiki/MHEG-5&quot;&gt;MHEG&lt;/a&gt; content which, despite it actually being a declarative programming language, could render images and data in a more freeform and structured way than the columns of characters teletext was limited to. The flip side of this brave new world was that the onus now fell on hardware manufacturers to implement the MHEG engine themselves, which resulted in a wide variety of compatibility issues similar to how things were with web browsers before &lt;a href=&quot;https://webkit.org&quot;&gt;WebKit&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Trying to find a decent Freeview box was a real challenge and I went through a whole host: from software built in to my TV, cheap supermarket own-brand boxes, through to a box made by Korean satellite TV specialists &lt;a href=&quot;https://en.wikipedia.org/wiki/Topfield&quot;&gt;Topfield&lt;/a&gt; that had its own API and App ecosystem resulting in extensive user customisation. Eventually I discovered a &lt;a href=&quot;https://www.youtube.com/watch?v=qenPqNwjazk&quot;&gt;strange looking box&lt;/a&gt; made in Wales by a small company named &lt;a href=&quot;https://en.wikipedia.org/wiki/TVonics&quot;&gt;TVonics&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;TVonics: the box that’s not a box&lt;/p&gt;

&lt;p&gt;The guys at TVonics were clever enough to notice that a recently built Sony fabrication plant in southern Wales could produce their HD-capable boxes on home soil, and had partnered with then-fledgling London design company &lt;a href=&quot;https://www.ustwo.com&quot;&gt;ustwo&lt;/a&gt; to create the user interface for their Freeview software. This was a master stroke and resulted in the most usable Freeview software I’d ever had the pleasure of using.&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://miro.medium.com/max/1400/1*91Qy90glqxsJQoGFWC41CQ.jpeg&quot; alt=&quot;&quot; title=&quot;TV Guide: TVonics&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Even though this was only 5 years ago, it was still a time where the remote control was the long accepted method of input when watching TV. The user interface created by ustwo was simple but effective, form following function. The only real personalisation was the ability to change the colour scheme. The rest of the interface seemed very obvious, but therein lies great design: everything was where you expected it to be and every screen adhered to the same design principles. It had been thought about, and more importantly it had been executed well. Not just in terms of the design, but also in terms of the software that TVonics created. Every aspect of the Freeview HD spec was present, implemented to a higher standard than they had been described in the specifications. The interface was more performant than other boxes and the whole thing was a real joy to use. At this time TiVo may have had extra features, but TVonics version of Freeview was streets ahead in terms of user interface and experience.&lt;/p&gt;

&lt;h2 id=&quot;knowing-me-knowing-you&quot;&gt;Knowing Me, Knowing You&lt;/h2&gt;

&lt;p&gt;Today Freeview continues in one form or another. There are a small number of middleware providers that have made the MHEG headaches largely disappear. But Freeview now has a number of competitors, the most interesting of which—when it comes to TV Guides at least—is &lt;a href=&quot;https://en.wikipedia.org/wiki/YouView&quot;&gt;YouView&lt;/a&gt;. YouView is both the name of the platform and the partnership that own it.&lt;/p&gt;

&lt;p&gt;The most interesting feature of YouView, as a platform, is the way it combines catch-up content with scheduled content in its EPG. This allows you to &lt;a href=&quot;http://www.youview.com/features/&quot;&gt;scroll backwards through the timeline to get to the tv shows you’ve missed&lt;/a&gt;. But it seems that making a longer timeline isn’t the solution to the problem of there being too much on TV.&lt;/p&gt;

&lt;h2 id=&quot;oranges-and-apples&quot;&gt;Oranges and Apples&lt;/h2&gt;

&lt;p&gt;So what’s next? Apple seems to think that the days of scheduled content are over. They probably have a point. The rise of on-demand services from Netflix, Hulu, Amazon, HBO, BBC—and almost every other TV programmer—means that it’s no longer as simple as putting all available channels on a timeline. Sky TV has an interface that has been struggling under the weight of this problem for decades, and their latest &lt;a href=&quot;http://www.sky.com/shop/tv/sky-q/overview/&quot;&gt;Sky Q&lt;/a&gt; product doesn’t do much to ease the problem, let alone solve it.&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://miro.medium.com/max/1400/1*2eklqpXtNnroW_oQ9AhZIA.jpeg&quot; alt=&quot;&quot; title=&quot;TV Guide: Sky Q&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;wishing-on-a-star&quot;&gt;Wishing on a Star&lt;/h2&gt;

&lt;p&gt;A better approach would be to make the TV guide more intelligent. Categorising all available content from all providers with the same taxonomy would help get things to a usable point. I don’t think the iTunes taxonomy would be enough here, but I’d imagine there are some clever people over in Cupertino working on a better one right now. If they haven’t already finished it.&lt;/p&gt;

&lt;p&gt;My guess is that Apple’s intentions for a TV Guide can be summed up in one word: Siri.&lt;/p&gt;

&lt;p&gt;Already present on the current Apple TV software, tvOS has added content providers to Siri’s knowledge at an increasing rate—as long as you live in the USA. The rest of us are stuck being able to search only iTunes and Netflix. Regardless, the Siri efforts in the USA could be seen as laying the groundwork for a unified TV Guide feature.&lt;/p&gt;

&lt;p&gt;However, asking Siri to show you the latest episode of Stranger Things, a movie starring Peter Dinklage, or a movie featuring a VW Beetle, can only go so far. More often than not I find myself looking at my Apple TV home screen clutching the Siri remote—a thing of beautiful symmetry and dubious usability—with no idea what I should watch, and fearful that the brief window of time that I have will be over before it’s even begun. Why can’t Siri decide?&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/max/1400/1*1w4mMS-TuykT96eTqumcdQ.jpeg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Suggestions similar to those provided by Netflix could be combined with the data gleaned from my Apple TV and iTunes usage, search history and past purchases. This isn’t an easy task, of course. Netflix have previously invested millions into refining their suggestions accuracy through their &lt;a href=&quot;https://en.wikipedia.org/wiki/Netflix_Prize&quot;&gt;Netflix Prize&lt;/a&gt;, which ended in a law suit and some concerns from the FTC about privacy.&lt;/p&gt;

&lt;p&gt;Interestingly Apple have already planted the seed of a solution to similar issues, with their introduction of &lt;a href=&quot;https://en.wikipedia.org/wiki/Differential_privacy&quot;&gt;differential privacy&lt;/a&gt; at &lt;a href=&quot;https://developer.apple.com/wwdc/&quot;&gt;WWDC 2016&lt;/a&gt;. I thought the introduction of this feature was somewhat vague, though perhaps this was by design. To recap, differential privacy is &lt;a href=&quot;https://www.wired.com/2016/06/apples-differential-privacy-collecting-data/&quot;&gt;the statistical science of trying to learn as much as possible about a group while learning as little as possible about any individual in it&lt;/a&gt;. It’s also a way of describing the collection of huge amounts of personal data whilst still being able to refer to it as privacy. Handy, that!&lt;/p&gt;

&lt;p&gt;If the rumours are true regarding the next generation Siri’s vastly improved ability to both interpret speech and form responses, then no better time to put it to the test than a feature that could very well turn the tables on yet another market.&lt;/p&gt;

&lt;h2 id=&quot;up-to-eleven&quot;&gt;Up to eleven&lt;/h2&gt;

&lt;p&gt;The timing of these rumours doesn’t seem like a coincidence to me. I think it’s a typical &lt;a href=&quot;https://en.wikipedia.org/wiki/Eddy_Cue&quot;&gt;Eddy Cue&lt;/a&gt; play, throwing a tidbit of knowledge to his preferred news/media outlets and have them whip up a bit of a storm, one that will hopefully bring the TV execs around to his way of thinking. It’s not subtle, but I suppose if it has worked for him in the past he’s going to keep doing it.&lt;/p&gt;

&lt;p&gt;Importantly, if a TV Guide feature is agreed soon it would allow just enough time for it to make the cut for inclusion into version &lt;a href=&quot;https://en.wikipedia.org/wiki/Up_to_eleven&quot;&gt;11&lt;/a&gt; of iOS and tvOS. And there’s nothing like a deadline to get things moving.&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://miro.medium.com/max/1246/1*NMys6bsxcP3Eo-8vIFgndQ.jpeg&quot; alt=&quot;&quot; title=&quot;“These go to eleven.” —Nigel Tuffnell (This is Spinal Tap)&quot; /&gt;&lt;/p&gt;
</description>
          <author>by Matt Sephton</author>
          <pubDate>Fri, 05 Aug 2016 00:00:00 +0000</pubDate>
          <link>https://blog.gingerbeardman.com/2016/08/05/a-brief-history-of-tv-guides/</link>
          <guid isPermaLink="true">https://blog.gingerbeardman.com/2016/08/05/a-brief-history-of-tv-guides/</guid>
        </item>
      
    

  </channel>
</rss>
