DIYプロジェクト:ZXスペクトラムでプログラムやゲームを保存およびロードするためのArduinoベースのオーディオカセット



20〜30年前、カセットはオーディオ録音用の最も人気のある記憶媒体でした。また、データ、特に8ビットコンピューター用のプログラムの保存にも使用されました。 ZXスペクトラムのプログラムをロードおよび保存するために使用されたのはカセットでした。それにもかかわらず、ZXスペクトラムや他の同様のPCのファンが非常に多いという事実にもかかわらず、カセットはますます少なくなっています。もちろん、WindowsまたはLinuxでZXSpectrumエミュレーターを使用できます。しかし、それでも実際のコンピューターよりもランプのようなものではありません。別の方法があります-カセットの代替品を見つけることです。



JamHamsterというニックネームのユーザーがこのルートに行くことにしました。彼の解決策はデバイスですおなじみのオーディオカセットのように見える、はカセットレコーダーで動作しますが、磁気テープの代わりにSDカードを使用します。愛好家の考えによれば、このような「カセット」をテープレコーダーに挿入して、信号をZXスペクトラムに送信するか、オーディオ出力を介して接続する必要があります。ちなみに、カセットからプログラムをロードするためのソリューションがあります。たとえば、ZX Spectrum、ZX81、Amstrad CPCを操作するためのTZXDuinoですが、開発者にとっては面倒すぎるように見えました。





組み立ての準備



JamHamsterは、構築するArduino Nanoボード(ボードサイズはわずか7mm)を選択し、その上にメモリカードリーダー、アンプ、小型ディスプレイを配置しました。ZXSpectrumと対話するためのソフトウェアとして-以前にEdrewBeerとDuncanEdwardsによって開発されたソフトウェア。







愛好家は、カセットフォームファクターが信頼性を維持するために選択されたと説明しました。「カセットスタイルのSDブートデバイスが適切なソリューションだと思います。見た目もかっこよく、標準のカセットケースに収納されているので、とても気に入っています」とJamHamster氏は説明します。



カセット本体の物理的寸法は、すべてのコンポーネントの配置にとって課題となりました。したがって、JamHamsterは多くの変更を加えました。たとえば、ディスプレイとSDカードリーダーは物理的に縮小されています。一部のモジュール、特にUSBポートは、構造をケースに収めるためにワイヤーに「吊るす」必要がありました。そして、開発者は独自にオーディオ出力を作成しました。







さらに、JamHamsterは、彼の実験を繰り返したい人のためにいくつかのヒントを与えました:

  • ケースは壊れやすく、すぐに損傷するため、ケース内のコンポーネントをはんだ付けしないでください。
  • インストールする前に、コンポーネントの機能を確認してください。
  • ワイヤーをコンタクトパッドにはんだ付けする必要があります。
  • 構造物の厚みを増やさないように、ワイヤーを交差させないでください。




自分でできるArduinoカセットアセンブリ







JamHamsterは、彼の実験を繰り返したい人のための指示用意しましたその中には、すべてのコンポーネントが収まるようにプリント回路基板を切断する必要がある形状を見つけることができます。まず、ボリュームコントロールを取り付けて、ホイールが自由に回転し、カセット本体から突き出るようにします。







オーディオ出力を作成するには(手動で行う必要があります)、直径3.5mmのスチールスプリングが必要です。そこにない場合は、適切な直径のドリルを使用して、この要素を問題なく作成できます。次に、ヘッドフォンジャックを使用して長さを確認し、これをすべてボードにはんだ付けします。オーディオ出力は、カセットレコーダーがない場合に使用されます。それを介して、ガジェットはコンピューターに直接接続し、信号を送信します。



テープレコーダーでの「カセット」の操作に関しては、この可能性を実装するために、磁気記録ヘッドがデバイスに組み込まれ、その信号は別のヘッドによって読み取られますが、カセットホルダーにあります。残念ながら、マイクロコンピュータの出力は十分ではないため、開発者は小型のPAM8403アンプ(2 x 3W)を追加しました。それは非常に持ち運び可能であるため、構造の全体的な寸法はそれほど増加していません。

「カセット」にはバッテリーが付いているので、運転中の電源は不要です。



























また、SDカードリーダーを制御するための5つのプッシュボタンスイッチも備えています。







ちなみに、データストレージは.exeまたは.txtファイルの形式では実装されていません。代わりに、プログラムコードを含むオーディオトラックが使用されます。これは、データが磁気テープでオーディオカセットに保存された方法です。



主な問題は、カードをカセット本体に配置することです。著者はこの問題の解決策に頭を悩ませなければなりませんでしたが、結局彼は解決策を見つけました。以下は、ディスプレイボード、SDリーダーボードを適切に切断し、USBポートを再配線してボードスペースを節約する方法です。ホットグルーを使用して、コンポーネントをボードに取り付けることができます。







スクリーンはカセットホイールの間に配置されているため、見やすくなっています。ちなみに、モニターの画像を反転するには、ソフトウェアコードを変更する必要があります。これは難しいことではありません。コードの一部を置き換えるために十分である:



の#define ROTATE180 1つの

//#はUNROTATE 1に定義




して:

//#はROTATE180 1定義し

ます。#define UNROTATE 1




さて、それは、バッテリーをインストールし、元の説明書に示されているように配線を配線し、すべてのコンポーネントの動作を確認するために残っています。次に、ZXスペクトラムでテストできます。







開発者はプロジェクトの実装に多くの時間を費やしましたが、結果はそれだけの価値がありました。JamHamsterと彼の仕事を繰り返した愛好家は、最終的に出てきたものに非常に満足していました。



All Articles