ArduinoでBASICおよびVGA出力を備えた8ビットコンピューター

Arduinoを使用すると、VGAモニターへのカラー画像出力を備えたBasic(ZX Spectrumに類似)を備えた8ビットレトロコンピューターを構築できます。

さらに、このプロジェクトは、モニターにテキストメッセージを表示する簡単な方法として使用できます。



Arduinoを使用してBASICでコンピューターを作成するというアイデア自体は新しいものではありませんが、私が知る限り、それらはすべてカラーイメージの出力をサポートしていません。 LCDモニターを使用するプロジェクトもあれば、白黒画像を表示するTVoutライブラリを使用するプロジェクトもありました。 さらに、これらのプロジェクトの多くでは、追加のモジュールと特別な拡張カードが必要です。 ここで必要なのは、2つのArduino、いくつかの抵抗器、およびPS / 2キーボードとVGAモニター用のコネクタだけです。

このプロジェクトには、2つのArduinoボードが必要です。1つはメイン(または「マスター」)ボードで、Tiny Basic Plusインタープリターを実行します(これはArduinoをサポートするように適合されたCのTiny Basicポートです)。 このArduinoはPS / 2キーボードも制御します。 シリアルポートを介した最初のArduinoからの出力は、 VGAxライブラリを使用してVGA信号を生成する2番目のArduinoに送信されます。

BASICプログラムは、PS / 2キーボードを使用して組み立てたコンピューターに入力することができ、結果はVGAモニターで表示できます:結果の画像の解像度は24列10行、文字サイズは5x6ピクセル、4色が利用可能です。
プログラムの導入後、Arduino自体の不揮発性メモリに保存することが可能になり、プログラムコードはArduinoのI / Oピンの制御も提供します。



1.メインのArduinoをTinyBasicインタープリターとPS / 2キーボードに接続します


TinyBasic PlusとVGAxライブラリは、Arduino IDE 1.6.4で動作します。
すでに新しいバージョンがインストールされている場合、最善の解決策は、公式サイトからこのバージョンを.zip形式でダウンロードし、別のフォルダーに解凍することです。 こちらからWindows用のこのバージョンをダウンロードしてください。

次に、 PS2keyboardライブラリが必要です。ここからダウンロードできます。 ダウンロード後、単にアーカイブを解凍し、その内容を「arduino-1.6.4 \ライブラリ」にコピーします。

次に、 TinyBasicPlus_PS2_VGAx.inoファイルをダウンロードし、メインのArduinoでフラッシュします。
これは通常のTinyBasic Plusのバージョンであり、PS / 2ライブラリのサポートが追加されました。

TiniBasic Plusおよびマニュアル(英語)の詳細については、 こちらをご覧ください

この段階で問題(互換性の問題を含む)がない場合、ArduinoをオンにするとTiny Basicが自動的に起動します。 また、PCのシリアルポートを使用してテストできます。 これらの目的のために、私はPuTTYを使用しいますが、好みに応じて別の同様のプログラムを使用できます。

設定では、COMポート(Arduinoで使用されているものと同じ)および伝送速度= 4800を正しく設定する必要があります。

そしてここで、PCのキーボードからBasicプログラムを入力することでシステムをテストすることがすでに可能です(後でPS / 2キーボードをArduinoに直接接続します)。

たとえば、次のように入力できます。

10 PRINT "Hello, World!" 20 GOTO 10 RUN 

Ctrl + Cのキーの組み合わせを使用して、このプログラムの無限ループを中断できます(PS / 2キーボードからこれを行うと機能しません)。

次に、PS / 2キーボードを接続します。

2. PS / 2キーボードをメインのArduinoに接続します


情報とライブラリはこの資料から取得されました

基本的に、次の4つのピンを接続する必要があります。
Arduinoピン8のキーボードデータ
Arduinoピン3のIRQ(クロック)キーボード。
また、それぞれグランド(GND)と+ 5V電源を接続します。

古いマザーボードでPS / 2コネクタを使用しましたが、ヘアドライヤーで簡単に吹き飛ばすことができます。

PS / 2コネクタのピン配列を図に示します:



3. 2番目のArduinoでVGAxライブラリとコードをダウンロードし、メインに接続します




開始するには、VGAx-PC.inoコードをダウンロードし、コンピューターの同じ名前のフォルダーにコピーします。

次に、GitHubからVGAxライブラリをダウンロードします。 Arduino IDEの「ライブラリ」サブフォルダーに配置する必要があります。

重要! このライブラリはArduno IDE 1.6.4で動作し、他の新しいバージョンと互換性がない場合があります。

VGAx-PC.inoを2番目のArduinoにロードします(Arduino Nanoでテストしましたが、Arduino Unoでも問題はないはずです)。

使用可能なメモリがほとんどないという警告は、このケースでは正常です。 他にエラーがなければ、すべて正常に動作しています。さらに2、3の手順を実行して、独自の8ビットレトロコンピューターを入手できます。

これを行うには、次のものが必要です。




図のスキームに従ってすべてを接続することは残り、私たちの8ビットコンピュータは準備ができています!

すべてがどのように機能するかのビデオ:

Source: https://habr.com/ru/post/J348380/


All Articles