コードなしでZ80が光った?!VRChat「CS集会」の驚き発表

詳細情報

日時 2025年06月03日 22:00 - 22:15
テーマ Z80でLチカ
発表者 夜鍋ヨナ
集会名 CS集会
発表資料 ファイル

2025年6月3日にVRChatで開催されたCS集会で、夜鍋ヨナさんが「Z80でLチカ」という興味深い発表を行いました。

Z80という懐かしいCPUを使って、なんとコードを一切書かずにLチカを実現したという、その驚きの内容に迫ります。

Z80でLチカへの挑戦

発表の冒頭、夜鍋ヨナさんは前回お話したというZ80-CPUを取り上げました。

そして、このレトロなCPUを使って「とりあえずこれでLチカしたい」という、シンプルながらも技術者魂をくすぐる目標を掲げました。

Z80は1970年代に登場した8ビットCPUで、多くのホビーパソコンやゲーム機に搭載されていました。

現代の高性能CPUとは異なりますが、そのシンプルなアーキテクチャはCPUの基本的な動作を理解するのに最適です。

ブレッドボードで頑張った物理的な挑戦

発表では、Z80を使ったLチカを実現するために、ブレッドボード上で回路を組んだ様子が紹介されました。

ブレッドボードは、半導体などの電子部品を差し込むだけで回路を試作できる便利なツールです。

配線材を使って部品間を接続していく作業は、まさに物理的な格闘とも言えます。

夜鍋ヨナさんの発表からは、このブレッドボード上での試行錯誤の様子が伝わってきました。

電子工作の経験がある方なら、ブレッドボード上での配線がいかに根気のいる作業か想像できるでしょう。

特に複雑な回路になればなるほど、ミスのないように慎重に作業を進める必要があります。

驚きの動画デモ

ブレッドボードで組み上げられた回路が実際に動作する様子が、動画で披露されました。

動画では、Z80が動作し、LEDが点滅する様子が映し出されていました。

このLチカの様子は、一見するとプログラムが正常に実行されているように見えます。

しかし、この動画にはある仕掛けが隠されていました。

観客は、Z80が実際にプログラムを実行してLチカを実現していると思い込んでいたでしょう。

このデモは、技術的な知識がある人ほど、その裏に隠された真実に驚かされることになります。

まさに、見る者の常識を覆すような演示でした。

種明かし:コードなしLチカの秘密

そして発表のクライマックス、動画で披露されたLチカの種明かしが行われました。

驚くべきことに、このLチカはプログラムコードによるものではなかったのです。

夜鍋ヨナさんは、その巧妙な仕組みを解説しました。

データバスに強制「0x00」

Z80がメモリから命令を読み込む際に、データバスに意図的に「0x00」という値を強制的に入れていたのです。

「0x00」はZ80の命令で「nop」(no operation)に相当します。

nop命令は、文字通り「何もしない」という命令です。

CPUはメモリの1番地から命令を読み込みますが、データバスに強制的に「0x00」が乗せられているため、常にnop命令を読み込むことになります。

nopの連続実行

メモリから「0x00」(nop)が読み込まれると、CPUはそれを実行します。

nop命令は何も処理を行わないため、CPUはすぐに次のアドレスの命令を読み込みに行きます。

しかし、次のアドレスでも再びデータバスには強制的に「0x00」が乗せられているため、またしてもnop命令を読み込み、実行するというサイクルが繰り返されます。

アドレスバスの変化をLチカに利用

CPUが連続してnop命令を実行する過程で、アドレスバスの値はインクリメント(増加)されていきます。

つまり、CPUはメモリの先頭から順番にアドレスを読み進めていくわけです。

このアドレスバスの値の変化を、LEDの点滅に利用していたのです。

アドレスバスの特定のビットにLEDを接続することで、アドレスが増加するにつれてLEDが点滅するように見せていました。

これは、アドレスの値が2進数でカウントアップしていく様子を、LEDの光で表現しているということになります。

コードもRAMもない、究極のLチカ

この仕組みの最も驚くべき点は、「実はコードを1行も書いてない」という事実です。

通常のLチカは、CPUに実行させるプログラムを作成し、それをメモリに配置して実行することで実現します。

しかし、夜鍋ヨナさんの手法では、プログラムコードは一切不要でした。

さらに、このデモにはRAM(ランダムアクセスメモリ)も搭載されていませんでした。

プログラムを格納するためのメモリ空間すら存在しないという徹底ぶりです。

石が生きているか確認していただけ

夜鍋ヨナさんは、この一連の試みについて「石が生きているか確認していただけ」と語りました。

ここでいう「石」とはCPUのことです。

つまり、複雑なプログラムを実行させるのではなく、CPUが基本的な動作(命令の読み込みと実行、アドレスのインクリメントなど)を正常に行えるか、その生命活動を確認するためのデモだったということです。

これは、CPUという電子部品の最も根源的な動作に焦点を当てた、非常にユニークな視点と言えるでしょう。

まとめ

VRChatのCS集会で行われた夜鍋ヨナさんの「Z80でLチカ」発表は、技術的な驚きとユーモアに溢れた素晴らしい内容でした。

コードもRAMも使わずに、アドレスバスの変化を利用してLチカを実現するという逆転の発想は、CPUの fundamental な動作原理を深く理解しているからこそ生まれたものでしょう。

技術の面白さ、そしてそれを探求する夜鍋ヨナさんの情熱がひしひしと伝わってくる発表でした。

VRChatならではの、和やかで知的な交流の場を感じさせてくれます。

スライド資料(PDF)

CS集会の他の発表もチェック!

オレオレIP電話網を大きくしたらTailscaleのワナを踏み抜いて発狂した話(再放送版)

令和に黒電話を!オレオレIP電話網構築の冒険

脅威モデリング超入門:今日から始めるリスク可視化

現実とバーチャルをつなぐ!夜鍋ヨナさんが語る「AD変換」の魔法

シフト演算ってなぁに?10進数と2進数で考えてみよう!

VRChatで量子コンピュータの世界を体験!CS集会#33で夜鍋ヨナさんが紹介した量子コンピュータの世界

CS集会の開催情報・参加方法

CS集会のポスター

CS集会

開催日: 2025年06月03日

開催時間: 21:00 - 23:00

開催曜日: 火曜日

開催周期: 隔週(グループA)

コンピュータサイエンスを、話したい!聞きたい!知識を共有したい!広くCSのお話したい人みんなあつまれー!!!!

コンピュータサイエンスを、話したい!聞きたい!知識を共有したい!広くCSのお話したい人みんなあつまれー!!!!