ディスカッション (11件)
レトロPCファンやハードウェア愛好家に朗報です!往年の名作CPU『Z80』を、物理的にそのまま差し替えて(ドロップイン互換)動作させることができるプロジェクト『PicoZ80』が公開されました。Raspberry Pi Pico(RP2040)のパワーを活用してZ80をエミュレートし、古いハードウェアの心臓部を現代の技術で蘇らせる、ロマン溢れるリプレースメント・ソリューションとなっています。
Zilogのこと?
6502 (6510) でも同じようなことをしようかと考えてたんだ。C64からCPUを引っこ抜いて差し替えるか、バス・マスタリング対応のカートリッジにするか、それともRAMを置き換えるか。ずっと悩ましい問題だったよ。本体に改造を加える必要がないから、カートリッジにする案に傾いてたんだよね。もしRP2350をRAMとして認識させることができれば、ビデオハードウェアが直接そこから読み出せるようになる。そうすれば、あらゆる行をBADLINEにするみたいな面白い仕掛けもいろいろ可能になるはず。ただ、そうなると結局はVIC-IIとSIDをRP2350と一緒にボードに挿してるだけ、みたいになりそうだけどね。カートリッジ方式だと、コンピュータのRAMを介してデータをやり取りしなきゃいけない。でもCPUサイクルごとにハードウェアレジスタへ書き込めるから、これまでとは全く違う新しいモードを作れる可能性がある。BADLINEをフル活用するのにも近いことができるかも。今はRP2350で、CPU負荷を最小限に抑えつつスキャンラインごとにビデオを出力させる仕組みをいじってる。昨日ようやく3層のタイルと2層のスプライト(それぞれ異なるピクセルフォーマットに対応)を動かせるようになったよ。かなり満足してる。CPUがスキャンラインごとに計算するのはごくわずかな値だけで、タイルマップやタイルデータの取得、ピクセル変換、透過処理、パレットルックアップなんかは全部DMAとPIOで処理させてる。1、2、4、8ビットカラーに対応してて、タイル/スプライト/画像バッファの各レイヤーでそれぞれ独立した24ビットパレットが使えるようになってるんだ。
これは「CPUの置き換え」というより、バスレベルでの参加者って感じだな。バスをサイクル単位で正確に制御できるようになれば、CPUという抽象化概念はほとんど意味をなさなくなる。実質的には、外側からマシン全体の挙動を再定義してるようなものだからね。
ペルソナ機能ってどうなってるの?このボードがZ80を、フラッシュメモリに保存された代替ROMへと誘導するのかい?
すごい!Sharp MZシリーズの拡張ボードなんて素晴らしい。1980年代はそれらのマシンにずいぶん時間を費やしたし、今も何台か持ってるよ。Sharp MZ-80KのMZ80FDをエミュレートできるようになれば最高だね。
どうして「tranZPuter」なんて名前なんだろ。「transputer」をもじったのかな。
これって趣味の範囲?それとも産業用アプリケーションなんかの実用的な使い道があるの?まだZ80で動いてるマシンなんて現役にあるのかな。
耳寄りな情報。RP2350の設計図は無視して、標準的な1.2VのLDOを入れて内蔵vCoreに供給した方がいいよ。面倒なインダクタを使う必要がなくなるし、1.2Vで300MHzまでクロックを安定して引き上げられるようになる。
自分もこういうのを作って、トレースメモリやディスアセンブラを備えたクラシックCPU向けのICE(インサーキット・エミュレータ)にしてみたい。6802や8085とか、多くのCPUには水晶発振回路が必要になる点には注意が必要だけど。Altair 8800のような古いコンピュータのデバッグには重宝するはず。やり方としては、正常に動作するマシンのブートトレースを(最初の10万命令分)記録して、故障したマシンのトレースと比較するんだ。これなら5秒くらいで問題箇所が特定できるよ。
「ホームブリュー」なハードウェアには初心者だけど、PLCシステムの方は長年いろんな環境でやってきたよ。理由はうまく説明できないけど、Teensy2が大好きなんだよね。このボードも欲しいな。この趣味にハマるとかなりお金がかかりそうだけど。古い家族のTandon機があるから、いろいろアイデアが湧いてきた。