Partner-N64は、京都マイクロコンピュータ(KMC)が任天堂のために製造したNintendo 64の公式開発キットであり、Windows 95/98を実行するIBM互換PC用のPartner-N64PCと、Silicon Graphics(SGI)ワークステーションを使用する開発者向けのPartner-N64NWの2つのバリエーションで販売されていました。その役割は、N64ソフトウェアを執筆する者が、選択したコードの行でゲームを一時停止し、システムメモリを検査し、そこからステップバックできるようにすることでした。これは、ゲームの実行中に動作する「ランタイム」デバッガーです。
この仕組みは物語の中で最も興味深い部分です。なぜなら、N64のカートリッジスロットに挿入されているカートリッジは、単に本体の内部にアクセスしてリセットボタンや割り込みボタンを押すことができないからです。カートリッジは、本体のカートリッジ端子コネクタが提供する信号しか持っておらず、Partner-N64には、割り込み要求を介してゲームを停止(一時停止)させるための信号と、本体をリセットするための信号の2つが必要でした。そのため、KMCは特別に改造されたN64本体を必要としました。この改造は、カートリッジスロットコネクタからN64のCPUチップへ、タイラインと呼ばれる小さなワイヤーを使用して、IRQ(割り込み要求)とRESETの2つの信号を再配線することで構成されています。改造された本体により、デバッガーソフトウェアは、カートリッジがそれら2つの信号のいずれかに変換するコマンドを送信することで、ブレークポイントでの停止またはリセットをトリガーできるようになります。流れは以下の通りです:デバッガーソフトウェアがブレークポイント/RESETをトリガーする → Partner-N64カートリッジがIRQ/RESETを送信する → 改造された本体がそれらの信号をN64 CPUにルーティングする → CPUがゲームを一時停止またはシステムを再起動する。ブレークポイントとは、開発者がゲームを停止してバグのためにN64のシステムメモリを検査し、次のブレークポイントまたはエラーに到達するまで実行を再開できる、ソフトウェアで指定された行のことです。
ultra64.caのハウツーガイドでは、その改造が正確に行われる方法が指定されており、元の記事では一般的に記述されていた点が明確になっています。それは、カートリッジコネクタに空きピンを見つけるという問題ではなく、実際には空きピンはほとんど存在しないためです。代わりに、この改造はゲームで使用しないラインを乗っ取ります。Parallel Interface(PI)バス(N64のカートリッジコネクタバス)から、PIピン24(「左オーディオ」)、PIピン46(「ビデオ」)、およびPIピン49(「右オーディオ」)の3つの信号が取り除かれます。これらのピンは通常、AVキャプチャカートリッジなどの特殊なカートリッジにのみオーディオ/ビデオデータを渡すため、このように改造された本体はそれらのカートリッジと互換性がなくなります。3つの新しいデバッグ信号がそれらに配線され、改造後はPI_24がCPUピン28(「int 4」、割り込み)に接続され、PI_46が本体のリセット/ウォームリセット信号に接続され、PI_49がPIFピン8(「enable」)に接続されます。これは、元の記事が説明しているIRQおよびリセットのルーティングそのものであり、特定のコンポーネントにマッピングされています。物理的な作業は些細ではありません。PI_46を駆動するビデオDAC(チップU4)へのトレースをカットする必要があり、AMP-NUSオーディオチップへの経路にある4つのSMDコンポーネント(R21、C30、R17、C29)をはんだ剥離してPI_24とPI_49を解放する必要があります。また、このガイドでは、改造がNUS-CPU-04モデルのN64で行われたこと、およびリストされている他のモデルはおそらく互換性があるものの、それは証明されていないことが記されています。

Partner-N64デバッガーは、独自の改造本体と、ホストPC内のISAまたはPCIインターフェースカードを必要とし、それらはパラレルIDCリボンケーブルで開発用カートリッジに接続されていました。
これは、システム全体がなぜ煩雑に感じられたのか、そしてなぜ多くの開発者が他のキットを好んだのかを説明するのに役立ちます。Partner-N64デバッガーは、独自の改造本体と、ホストPC内のISAまたはPCIインターフェースカードを必要とし、それらはパラレルIDCリボンケーブルで開発用カートリッジに接続されていました。カートリッジ自体にはEEPROMがあり、そのメモリサイズはテスト可能(4Kまたは16K)で、ソフトウェアは特定のプラットフォームでのみ動作しました。システムの複雑さは簡略化されるのではなく、むしろ積み重なっていきました。N64ソフトウェア開発キットには、5枚のディスク(PC用OS、SGI用OS、開発ツール、オンラインマニュアル、開発者ドキュメント)、書籍、およびドキュメントが含まれていましたが、キット全体の中でPartner N ROMエミュレータカートリッジだけがインターネット上で確実に発見され、ISA制御カードは希少で、PCIバージョンはほとんど見られません。

開発用ドライブはディスクスロットの周囲に青いベゼルがあり、小売用ドライブは黒いベゼルでした。さらに、ALPS ELECTRIC CO LTD.によって任天堂のために製造された、非常に珍しい青いベゼルの「Prototype」モデルも存在し、ベゼルの左側にN64 3Dロゴがないことで識別でき、そのうち数個しか製造されませんでした。

さらに、ALPS ELECTRIC CO LTD.によって任天堂のために製造された、非常に珍しい青いベゼルの「Prototype」モデルも存在し、ベゼルの左側にN64 3Dロゴがないことで識別でき、そのうち数個しか製造されませんでした。
Partner-N64は、任天堂のディスクドライブアドオンである64DDとも動作しました。これは日本でのみ発売されたシステムであり、北米ではキャンセルされ、出荷されなかった失敗作として記述されています。64DDはN64の上にドッキングされ、独自の磁気ディスクを使用しました。技術的には1990年代のIomega ZIP100ドライブに匹敵しますが、任天堂によって制御され、小売用にはグレーのディスク、開発用には青いディスクが使用されました。2つの物理的な違いが重要です。小売用と開発用ドライブは内部のディスク回転方向が逆であり、これにより開発用ディスクを小売用ドライブで実行すること、またはその逆を行うことを防いでいます。また、開発用ドライブはディスクスロットの周囲に青いベゼルがあり、小売用ドライブは黒いベゼルでした。さらに、ALPS ELECTRIC CO LTD.によって任天堂のために製造された、非常に珍しい青いベゼルの「Prototype」モデルも存在し、ベゼルの左側にN64 3Dロゴがないことで識別でき、そのうち数個しか製造されませんでした。

開発用ドライブにはIPL ROMチップが含まれていないためです。このチップは、小売用ドライブにおいてIPL4ROMブートローダーに加え、FONTおよびWAVデータを格納するチップです。このチップは、Partner-N64デバッガーがIPL4ROMイメージを直接ロードしてデバッグできるように、開発用PCBAボード上で意図的に未実装のまま残されていました。

開発中に64DDゲームを実行するには、Partner-N64開発用カートリッジの上のスロットにIPL ROM PAKと呼ばれる特殊なカートリッジを挿入する必要がありました。これにはFONTおよびWAVデータが含まれており、特殊な64DDブートローダープログラムをロードするために必要でした。
64DDの開発には独自の要件が導入されました。なぜなら、開発用ドライブにはIPL ROMチップが含まれていないためです。このチップは、小売用ドライブにおいてIPL4ROMブートローダーに加え、FONTおよびWAVデータを格納するチップです。このチップは、Partner-N64デバッガーがIPL4ROMイメージを直接ロードしてデバッグできるように、開発用PCBAボード上で意図的に未実装のまま残されていました。開発中に64DDゲームを実行するには、Partner-N64開発用カートリッジの上のスロットにIPL ROM PAKと呼ばれる特殊なカートリッジを挿入する必要がありました。これにはFONTおよびWAVデータが含まれており、特殊な64DDブートローダープログラムをロードするために必要でした。IPL ROM PAKがなければ、64DDは起動しますが、表示されるテキストは文字化けして表示されます。これはFONTデータが欠落していることの直接的で目に見える症状です。実際のカートリッジハードウェアで最終段階に近いゲームをテストする際、開発者はDCCアダプターボード(モデルNUS DCC-00)を使用して、2つのカートリッジを並列に接続しました。プロトタイプビルドを保持するために小売用カートリッジよりも大きいことが多いN64開発用フラッシュカートリッジと、フラッシュカートリッジに不足しているメモリを追加するためのSRAMテストカートリッジ(例:KMC 256Kユニット)です。アダプター上のトグルスイッチでPALとNTSCのCICチップを選択でき、手動でチップを交換する必要を回避できました。
したがって、ハードウェアスタックは、開発用カートリッジ、改造本体、インターフェースカードを備えたホストPC、そして時として複数のカートリッジアダプターチェーンで構成されていました。これは現代の開発キットとはかけ離れたものです。改造された本体、CPUのIRQピンにはんだ付けされたタイライン、パラレルインターフェースカード、およびアダプターチェーンを写した元の記事の写真は、デバッグ能力がファームウェアではなく、回路基板の外科手術から得られていたシステムを記録しています。
提供された資料では、システムに関するいくつかの質問が未解決のままです。ガイドの改造はNUS-CPU-04リビジョンでのみテストされており、他のN64モデルとの互換性は主張されているだけで証明されておらず、ガイドは写真を他のリビジョンに適用すべきではないと明示的に警告しています。ソースには、N64開発者のうち実際にPartner-N64を使用した割合や、好ましい代替案として名前を挙げられているSN-Systems SN64キットと比較して、そのランタイム・ブレークポイント機能が実際には実質的に高速であったか低速であったかが記載されていません。また、ultra64.caのガイドは信号のルーティングを説明していますが、それは単一のハウツーの記録であり、KMCハードウェア自体のエンジニアリング的な分解ではありません。そのため、IRQおよびRESET信号の正確な電気的タイミングは、独立した測定ではなく、元の記事の説明から得られるものです。