Brainfuckコンピューター

おそらくあなたの多くは難解なプログラミング言語であるBrainfuck 、またはショーオフのためのツールについて聞いたことがあるでしょう。 しかし、ここでは誰もが自分の意見を持っています。 以下に、Brainfuckに基づいてコンピューターを作成した1人の愛好家の翻訳を示します。



コンピューターブレインファック





ニュース


一部のフリーク(他の人はそう呼ばない)は、実際にこのプロジェクトのコピーを作成し、そのための乗算プログラムを作成しましたこれが彼のイメージです。



エッセンス




私がここに投稿したコードは機能しないようで、ソースコードを失いました。 今、私はROMコードを書き直し、それは正常に動作します。 長期的には、現在使用している10キロオームの抵抗ではなく、PICの内部プルアップ抵抗を使用しないのは愚かでした。 これにより、LEDの消費電力が非常に少なくなり、数マイクロアンペアになります。



私が取り組んでいるソフトウェアプロジェクトはどれも有用とは言えませんが、これは特別な役割を果たします... 8ピンDIPスイッチ(4ペアのピン)と8 3 mmの赤色LEDを使用して、PIC16F84Aマイクロコントローラーでコンピューターを構築しました。 スピード? 32.768kHzのクロッククリスタルを使用します。PICはコマンドごとに約4サイクルかかるため、すべて1秒あたり8192命令で動作します。 さて、ここが最良の部分です。 唯一のプログラムは、単純な「エディター」とBrainfuckインタープリターです! これはPICアーキテクチャの単純さのために非常に非効率的であるため、1秒あたり100〜500回の操作が予想されます。 68バイトのRAMがあり、そのうち32バイトはユーザープログラムで使用できます。 プログラムは不揮発性PICメモリ(64バイト)に保存され、最大128命令(2 3ビット命令と1バイトあたり2空ビット)までのプログラムを実行できます。



この素晴らしいコンピューター用に作成された最大かつ最も複雑なプログラムは次のとおりです。



,>,[<+>-]<.







プログラムを一連の数字(72743021536)に変換することにより、コンピューターに転送されました。72743021536は、2進数システムを使用して入力しながら一度に1桁ずつ入力されました。 もちろん、Brainfuckコンピューターは特別なものではなく、改善したいと思っています。実際にエディターをもう少しユーザーフレンドリーにする(またはユーザーに対して少し敵意を持たないようにするための機能を追加したので、理論的にはこれを行うことができます) ) この便利なソフトウェアは私の友人Ericによって書かれました。もしあなたが彼の著作権に違反した場合、彼はあなたの尻を蹴るでしょう。 あなたは警告されました。



ちなみに、このプログラムが実際に何をしているのかを推測できる人なら誰でも、健全な体験ができます! (ヒント:2つの数字を入力して追加するように求められ、結果を出力します)。

画像



必要なコンポーネント。




コンポーネント:機能。

B1-B4:DIPスイッチ。

C1-C2:コンデンサ; 100 pF; セラミック。

D1-D8:3 mmの赤色LED。

R1-R9:抵抗; 1k。

R10-R13:抵抗器; 10k。

U1:PIC16F84Aマイクロコントローラー。

X1:32.786kHzクリスタル。



上記のすべての結果。




このプロジェクトの最大の利点は、すべての部品を2〜3米ドルで入手できることです(もちろん、米国に住んでいる場合は、原則として、これらの国の部品を見つけることはどの国でも難しくありません)。 さらに、Microchipは無料のPICを送信します。つまり、お金を節約できます。



関連ファイル




ソースコード(ドキュメント付き)

コンピューター画像



私から:


私からここに、オリジナルにはないいくつかの説明、コメント、リンクが追加されました。 LANに報告するために不正確またはエラーをお願いします。 このプロジェクトに関する理にかなったコメントとあなたの意見に感謝します。



All Articles