<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>ブートローダ on akky@サイボウズラボ・ブログ</title>
		<link>https://labs.cybozu.co.jp/blog/akky/tags/%E3%83%96%E3%83%BC%E3%83%88%E3%83%AD%E3%83%BC%E3%83%80/</link>
		<description>Recent content in ブートローダ on akky@サイボウズラボ・ブログ</description>
		<generator>Hugo</generator>
		<language>ja</language>
		
		
		
		
			<lastBuildDate>Wed, 21 Apr 2021 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://labs.cybozu.co.jp/blog/akky/tags/%E3%83%96%E3%83%BC%E3%83%88%E3%83%AD%E3%83%BC%E3%83%80/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>TETRIS-OS - ブートローダから直接動くテトリス・クローン</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2021/04/tetris-os/</link>
				<pubDate>Wed, 21 Apr 2021 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2021/04/tetris-os/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://github.com/jdah/tetris-os&#34;&gt;jdah/tetris-os&lt;/a&gt; は、テトリスだけ動くOS、ということです。実際には OS のように起動してテトリス(のクローン)だけが動くプログラムというところでしょうか。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2021/04/tetris-os/tetris-os-game.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2021/04/tetris-os/tetris-os-game_hu_4929628ee0680922.webp 480w, https://labs.cybozu.co.jp/blog/akky/2021/04/tetris-os/tetris-os-game_hu_1680b8953c5e7852.webp 768w, https://labs.cybozu.co.jp/blog/akky/2021/04/tetris-os/tetris-os-game_hu_f3f01ea85da19d7b.webp 1242w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2021/04/tetris-os/tetris-os-game.png&#34; width=&#34;1242&#34; height=&#34;779&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;TETRIS-OS は、ソースコードが公開されているオープンソースOSです。Mac OSと Linux のエミュレーター上で動作確認していて、Windows は不明、実機も不明とのこと。&lt;/p&gt;&#xA;&lt;p&gt;一つのゲームだけが動くゲーム専用機 - 古くはゲームウォッチとかから、テトリスならキーホルダー型のものとか - を考えると、ハードウェアの制約もあるしOSは持たなくても不思議ではないので、先祖返りのような気もします。MS-DOS以前のゲームでもゲーム自体がブートローダーでしたね。&lt;/p&gt;&#xA;&lt;p&gt;作者自身による&lt;a href=&#34;https://www.youtube.com/watch?v=FaILnmUYS_U&#34;&gt;解説動画&lt;/a&gt;も公開されています。&lt;/p&gt;&#xA;&lt;p&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2021/04/tetris-os/tetris-os-dubble-buffer_hu_e3f2d5db4e368dc0.webp 480w, https://labs.cybozu.co.jp/blog/akky/2021/04/tetris-os/tetris-os-dubble-buffer_hu_2bae8b8845367b38.webp 696w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2021/04/tetris-os/tetris-os-dubble-buffer.png&#34; width=&#34;696&#34; height=&#34;387&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/p&gt;&#xA;&lt;p&gt;ダブルバッファリングの説明&lt;/p&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;&#x9;&#x9;&#x9;&lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/FaILnmUYS_U?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;&#x9;&#x9;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;ファイルシステムもないし、文字を書くにもフォントの用意からですし、TETRIS-OS ではBGMまでちゃんと鳴るそうです。OS が提供する便利さを享受せずに直接操作するコードを書くのは、よくやるなあと思いますね。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2021/04/tetris-os/tetris-os-soundblaster.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2021/04/tetris-os/tetris-os-soundblaster_hu_6202d5b4e4834c1f.webp 480w, https://labs.cybozu.co.jp/blog/akky/2021/04/tetris-os/tetris-os-soundblaster_hu_c35f226a781a2d06.webp 690w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2021/04/tetris-os/tetris-os-soundblaster.png&#34; width=&#34;690&#34; height=&#34;347&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>1ツイートに収まるブータブルなゲーム</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2018/08/bootable-game-within-a-tweet/</link>
				<pubDate>Mon, 06 Aug 2018 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2018/08/bootable-game-within-a-tweet/</guid>
				<description>&lt;p&gt;Square社のセキュリティエンジニア、アロク・メングラハニさん(Alok Menghrajani, &lt;a href=&#34;https://twitter.com/alokmenghrajani/&#34;&gt;@alokmenghrajani&lt;/a&gt;)が公開した&lt;a href=&#34;https://twitter.com/alokmenghrajani/status/1007514337592987648&#34;&gt;ツイート&lt;/a&gt;は、ツイッターの一回のつぶやきに収まる280文字で、ブート可能なゲームを動かすというものです。&lt;/p&gt;&#xA;&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;in&#34; dir=&#34;ltr&#34;&gt;perl -E &amp;#39;say&amp;quot;A&amp;quot;x46422,&amp;quot;BDRDAwMQFFTCBUT1JJVE8gU1BFQ0lGSUNBVElPTg&amp;quot;,&amp;quot;A&amp;quot;x54,&amp;quot;Ew&amp;quot;,&amp;quot;A&amp;quot;x2634,&amp;quot;/0NEMDAxAQ&amp;quot;,&amp;quot;A&amp;quot;x2721,&amp;quot;BAAAAYQ&amp;quot;,&amp;quot;A&amp;quot;x30,&amp;quot;SVVVqogAAAAAAAEAF&amp;quot;,&amp;quot;A&amp;quot;x2676,&amp;quot;LMBaACgB76gfbgTAM0Qv8D4uYAI86qqgcc+AXP45GA8SHIRPFB3DTeYSEhyBSwCa8CwicMB3rSGtkDNFSYwJHvc68MA&amp;quot;,&amp;quot;VapVqlWq&amp;quot;x330&amp;#39;|base64 -D&amp;gt;cd.iso&lt;/p&gt;&amp;mdash; alokmenghrajani (@alokmenghrajani) &lt;a href=&#34;https://x.com/alokmenghrajani/status/1007514337592987648?ref_src=twsrc%5Etfw&#34;&gt;June 15, 2018&lt;/a&gt;&lt;/blockquote&gt;&#xA;&lt;script async src=&#34;https://platform.x.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;&#xA;&#xA;&#xA;&lt;p&gt;ゲームの内容は、長くなっていく線の方向を上下左右キーで操作して、画面の端や自分自身にぶつからないようにするというもの。Snake や Tron 系のレトロゲームですね。&lt;/p&gt;&#xA;&lt;p&gt;このツイートをコマンドとして実行し、できた .iso ファイルを、VirtualBox にマウントして実行してみました。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2018/08/bootable-game-within-a-tweet/bootable-game-on-virtualbox.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2018/08/bootable-game-within-a-tweet/bootable-game-on-virtualbox_hu_e189fc0f0ac19f77.webp 480w, https://labs.cybozu.co.jp/blog/akky/2018/08/bootable-game-within-a-tweet/bootable-game-on-virtualbox_hu_601840398467fed5.webp 648w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2018/08/bootable-game-within-a-tweet/bootable-game-on-virtualbox.png&#34; width=&#34;648&#34; height=&#34;475&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.quaxio.com/bootable_cd_retro_game_tweet/&#34;&gt;メングラハニさんのブログでは&lt;/a&gt;、このイメージをCDに焼いて、実機で動かしている様子も公開されています。&lt;/p&gt;&#xA;&lt;p&gt;via &lt;a href=&#34;https://www.theverge.com/2018/8/3/17648784/coding-tweet-video-game-code-golfing&#34;&gt;The Verge&lt;/a&gt;&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
