更新:これの実用的な実装は、Peter Edwardsが作成したTapuinoプロジェクトで行われます。それをチェックしてください、すべてがオープンソースです:https : //github.com/sweetlilmre/tapuino
Arduinoを使用してTAPテープデータファイルをPCからC64にストリーミングするプロジェクトに取り組んでいます。プロジェクトのソフトウェア面は順調に進んでいますが、私はまだ電子工学に不慣れで、コモドールを揚げたくありません。だから私は実際にハードウェアインターフェースの助けが必要です。
C64テープは、PWM変調を使用してプログラムをカセットテープに保存し、データの読み取り時に、オペアンプ+シュミットトリガーがオーディオ信号を方形波に変換します。すべての高低遷移により、マシンで割り込みがトリガーされ、2つの割り込み間の距離(パルスの長さ)はストリームのアトミック部分を表します。
カセットポートのピン配列は次のようになります(上面と底面に同じピンが2回あります)。
A-1、GND、グラウンド
B-2、+ 5V、5ボルトDC
C-3、モーター、モーター制御、約。モーターの6ボルト電源
D-4、読み取り、データ入力、データセットからのデータの読み取り
E-5、書き込み、データ出力、データセットへのデータの書き込み
F-6、SENSE、検出、キーPLAY、RECORD、F.FWDまたはREWのいずれかが押された場合
私の現在のアイデアは次のとおりです。
C64インターフェイスブルーブック(29ページ以降)に基づいて、マシンはREADおよびWRITEポートでTTLレベルを使用するため、ArduinoからREADピンにPWMピンを直接接続できると思います。
SENSEピンとのインターフェースも必要です。私はそれをデジタルPINの1つに直接接続して、押したボタンの状態を通知する必要があるときにデジタルLOWを書き込むことができると思います。あれは正しいですか?
後で、MOTORピンの+ 6V信号の存在を検出したいと思います。一部のローダーは、ロードプロセスの途中でデータセットを停止するため、テープを正しくエミュレートするためにそれも検出する必要があります。そこに電流を制限するために何らかの抵抗器を使用する必要がありますか、それとも直接接続することもできますか?たぶん私はそこでリレーを使うべきですか?