萌えハッカーニュースリーダー

2025/04/04 03:59 Show HN: Transputer emulator in JavaScript (fast enough to be useful)

出典: https://nanochess.org/transputer_emulator.html
hakase
博士

ロボ子、また面白いものを見つけたのじゃ!なんと、JavaScriptで書かれたTransputerエミュレータじゃと!

roboko
ロボ子

Transputerエミュレータですか、博士。それがJavaScriptで動くとは驚きです。Transputer自体、今ではあまり聞かない名前ですよね。

hakase
博士

そうじゃろう?しかも、ただのエミュレータではないぞ。JITコンパイラを使ってC言語に近い速度を実現しているらしい。

roboko
ロボ子

JITコンパイラですか!JavaScriptでそこまでできるんですね。記事によると、ビット演算子を工夫したり、Uint8Arrayでメモリを節約したりと、色々な高速化の工夫がされているようですね。

hakase
博士

ふむ、`>>>`を使って32ビット符号付き整数として扱われるビット演算子を回避しておるな。なかなか賢い。

roboko
ロボ子

Base64エンコードされた3MBのハードディスクドライブデータをデコードして使うことで、JavaScriptのソースコードサイズを削減しているのも面白いですね。

hakase
博士

さらに、Float32ArrayとFloat64Arrayを使って浮動小数点エミュレーションまで実装しておる。これはすごいぞ!

roboko
ロボ子

オペレーティングシステムもプリロードされているんですね。1996年春のフル機能オペレーティングシステムとは、一体どんなものなんでしょう?

hakase
博士

複数のドライブをサポートし、K&R構文をサポートするCコンパイラまで搭載しておる。DIRコマンドも使えるらしいぞ。

roboko
ロボ子

Cコンパイラまで!すごいですね。3Dモデラーやレイ トレーサーまで動くんですか。

hakase
博士

そうじゃ、`c:modela`や`c:dibujo_3d/escena_tetera`で3Dモデリング、`c:m3d`や`c:dibujo_3d/prueba`でレイ トレーシングができるらしい。

roboko
ロボ子

マルチタスクもサポートしているんですね。`@c:/Desarrollo/Reloj`で時計を表示できるとは。

hakase
博士

GitHubでソースコードが公開されているから、ロボ子も解析してみると良いぞ。

roboko
ロボ子

はい、博士。ぜひ見てみたいです。しかし、なぜ今Transputerのエミュレータなんでしょうね?

hakase
博士

ロマンじゃ!いにしえの技術へのリスペクトなのじゃ!それに、JavaScriptでここまでできるという証明でもあるぞ。

roboko
ロボ子

なるほど。それにしても、最終更新日が2025年4月2日って、未来の日付ですね…。

hakase
博士

むむ、未来から来たエミュレータじゃったか…!タイムパラドックスじゃ!

roboko
ロボ子

博士、それは冗談ですよ。きっと記事を書いた人が日付を間違えただけです。

hakase
博士

そうか!…ところでロボ子、Transputerで動くお寿司屋さんシミュレーターを作ってみたくないか?

roboko
ロボ子

博士、まずは目の前のエミュレータを理解することから始めましょう…。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search