国内RISCマイクロコントローラー上のOldschool 1ビットZX-Spectrumチップチューン

KP1878BE1



このトピックに触発されて、 Tristan Pericの1ビット交響曲は8年前の黄ばんだ段ボールを古いゴミで掘り出しました。 ファームウェアでファイルを見つけてコントローラーにアップロードするのは非常に困難であることが判明しました(LPTポート?LPTポートとは?)そしてサウンドをデジタル化しますが、結果として得られるノスタルジアはそれだけの価値がありました! 結果を聞く>mirror )。





作曲の作者とそれがコメンテーターに聞こえたおもちゃに喜びを与えます(そしてビデオや写真がありました!)そして、問題の技術的な側面について少しお話しします。



8ビットRISCマイクロコントローラーKR1878BE1は、ロシアの企業Angstromによって製造されました(現在も製造中です)。 このインスタンスには、1024ワードの命令メモリ、128バイトのRAM、および64バイトの不揮発性メモリが搭載されています。 Microchipコントローラーとは異なり、コマンドのセットはより豊富であり、4サイクルではなく2サイクルで実行されます。周辺機器に関しては、同じMicrochipやAtmelの分類にはほど遠いですが、カーネルはかなり優れています。 そして、私が正しく覚えていれば、価格で彼は競合他社に対しても少し勝ちました。



オーディオエンジンの移植、手動ビート同期、およびマイクロコントローラの限られたリソースへの詰め込みのプロセスには合計で数日かかりましたが、3か月間続きました。 ほとんどすべてがSpectrumで行われ、PCにアクセスできる職場ではコンパイル/デバッグのみが実行されました。 どうやら、「制約は創造性を刺激する」という表現で本当に意味があるのでしょうか?



インストールは明らかに優美さと美的価値のふりをしませんが、spektrumistovの間では、このことは常に喜びを引き起こしました。なぜなら、彼らはコードの観点からどのような倒錯かを知っているからです。

デモボード



デバイス図(従来のASCIIバージョン):

回路図



クォーツフェース値の不正確な選択により、デジタル化された音が元の音とわずかに異なることに注意してください。 理想的には(7 MHzで)、コントローラーの2クロックサイクルはZ80の1クロックサイクルに等しくなければなりません。



ファームウェアのソースおよびバイナリバージョンは、 ここで取得できます



このすべてがどのように結び付けられたのかという質問に答えます。 コードを入力するには、5ボルトの電力に加えて、マイクロコントローラーがデータ転送に12ボルトと3本のラインを必要とします。 推奨されるプログラマ回路は、チップのドキュメントにあるようです。さらに、インターネット上のどこかでより簡単な回路が見つかったようです(または、独立して行われたのかもしれませんが、覚えていません)。 それは組み立てられたように見えます(私がすべての塵を消したように:)

プログラマー



LPT用アダプターを介してPCに接続されるか、ケースに独立して接続されたコネクターを介してSpectrumに接続されました。 それは、DOSの下で独自のソフトウェアによって、またはより良いと思われ、単純なデコンパイラーさえ含んでいる自己記述された漂遊によってそれぞれ制御されました:

ソフトウェア






私が間違っていなければ、この作曲が鳴ったおもちゃに最初に名前を付けたのはorangefoxでした 。 これはもちろんサベージ3です。



スクリーンショット1スクリーンショット2



著者については、矛盾があります。 いくつかの場所でジェイソン・C・ブルックの言及に会ったことがありますが、少なくとも三部作の第2部ではデヴィッド・ウィテカーが言及されています。



All Articles