日本語版
最新ニュース
世界

独自のコモドール64カートリッジを構築します

あなたは今までに「IEEE Spectrumは素晴らしいですが、おそらく地元の科学技術博物館で、さらに多くのことを体験する方法があればいいのにと思いますか?」まあ、私はあなたの非常に具体的な願いが認められていると言っています! スペクトラムのチップホールオブフェイムは、米国の博物館、そしてできれば世界の周りを進み始めたばかりの巡回展示に適応しています。私たちのチップ殿堂は、大きな影響を与えたマイクロチップを祝います。ホールの6つのチップは、それぞれがどのように使用されたかを具体化するアーティファクトとともに、「世界を揺さぶったチップ」展示の一部に選ばれました。選択されたものの1つは8ビット6502プロセッサだったので、当然、6502バリアントを使用したCommodore 64ホームコンピューターはアーティファクトの1つであると考えました。それは別の考えにつながりました:C64が8ビットCPUを実証するプログラムを実行していないのはなぜですか?それが私が最後にC64をプログラムしてから35年後に私が終わった方法であり、私のオフィスデスクに座って真新しいプラグインカートリッジを作成しました。C64は、ソフトウェアを配布する方法としてプラグインカートリッジをサポートしており、デモプログラムを1つに配置する必要がありました。毎朝、博物館のキュレーターは展示とプレストをオンにすることができます!デモプログラムは即座に実行を開始します。代替案では、キュレーターがデモを手動でロードするためにコマンドを入力する必要がありました。しかし、この便利さには2つの大きな警告があります。1つは、デモがカートリッジの最大サイズであるわずか16キロバイトに収まる必要があります。 1980年代の基準でさえ、これは小さいです。一部のC64タイトルは、ディスクまたはテープのチャンクにデータをロードすることで数百キロバイトに及びました。 2つ目は、デモを6502アセンブリで記述し、C64ビデオハードウェアを直接制御する必要があります。 カートリッジにはいくつかのコンポーネントのみが必要です:印刷回路基板 [bottom right]、プログラム可能なメモリチップ [bottom middle]、およびいくつかの抵抗器、ダイオード、およびコンデンサ [top middle]。それらは3Dプリントされたシェルに取り付けられています [top left and right]。ビデオ出力を最新の画面と互換性のあるものにするために、Retrotink-2X Proアダプターを使用しました [bottom left]。ジェームズ・プロボスト幸いなことに、長年にわたってビンテージコンピューターフェデレーションのイベントに参加していたので、この種のことをするのをこれまで以上に容易にする無料または安価なリソースがたくさんあることを知っていました。最初のステップは、16 kbでどれだけできるかを把握することでした。 C64のグラフィックスハードウェアは、16色のパレットで最大320 x 200ピクセルの画像を表示することができました。また、8つのスプライトを一度に表示することもできます。各スプライトは、24 x-21ピクセルビットマップの可動式シングルカラーです。このパワーの価格は複雑でした。ビデオチップのコントロールレジスタ、画面ビットマップ、テキストスクリーンデータ、デフォルトおよびカスタム文字セット、スプライト、カラー情報はすべて、メモリ間に散らばっているさまざまな場所に住んでおり、一部のデータは実際には別々のRAMとROMチップに住んでいます。そこで、C64で利用可能な詳細なメモリマップとビデオハードウェアプログラミングガイドで座っていました。 (この豊富な情報は、1980年代とはまったく対照的であり、ドキュメンテーションが乏しい、コモドール自体からも乏しい)。説明テキスト、アニメーション化されたグラフィックス、スプライトの9つの画面で詰め込むことができると思いました。依存しているカスタム文字セットやスプライトなど、これらの画面の作成は、Petscii.krissz.huのオンラインC64グラフィックエディターのおかげで非常に簡素化されました。エディターは、デモコードでサブルーチンとして適合したスタンドアロンアセンブリプログラムとしていくつかの結果を出力できます。幸運な発見のために十分なスペースが残っていました。少なくとも1つのフルスクリーンビットマップ画像を表示したかったのですが、プレレンダリングされた画像には、カートリッジの容量の半分の8 kbのデータが必要になりました。代わりに、私はゲームの時代からプログラマーの古典的なハックを使用することにしました ローグ そして エリート:手続き上の生成により、数学の構造から無料のデータを引き出します。ここで幸運を獲得しました。私は、わずか3.3 kbのコードを使用してマルチカラーフラクタルマンデルブロットセットをすぐに作成したC64アセンブリプログラムのソースを公開したMarcello M.の仕事に出会いました。 Marcelloの祝福で、私は彼のコードを別のサブルーチンとして組み込みました。C64ソフトウェアを作成するための最新のツールコーディングは、Free IDE 65XXとKick Assembler Desktopソフトウェアを使用して行われました。人気のあるC64 VICEエミュレーターを使用してコードをテストすることができました。これにより、ライブメモリコンテンツを調べてランタイムバグを見つけるなど、便利なことを行うことができました。…

独自のコモドール64カートリッジを構築します

1759138872
2025-09-28 13:00:00

あなたは今までに「IEEE Spectrumは素晴らしいですが、おそらく地元の科学技術博物館で、さらに多くのことを体験する方法があればいいのにと思いますか?」まあ、私はあなたの非常に具体的な願いが認められていると言っています! スペクトラムのチップホールオブフェイムは、米国の博物館、そしてできれば世界の周りを進み始めたばかりの巡回展示に適応しています。

私たちのチップ殿堂は、大きな影響を与えたマイクロチップを祝います。ホールの6つのチップは、それぞれがどのように使用されたかを具体化するアーティファクトとともに、「世界を揺さぶったチップ」展示の一部に選ばれました。選択されたものの1つは8ビット6502プロセッサだったので、当然、6502バリアントを使用したCommodore 64ホームコンピューターはアーティファクトの1つであると考えました。それは別の考えにつながりました:C64が8ビットCPUを実証するプログラムを実行していないのはなぜですか?

それが私が最後にC64をプログラムしてから35年後に私が終わった方法であり、私のオフィスデスクに座って真新しいプラグインカートリッジを作成しました。

C64は、ソフトウェアを配布する方法としてプラグインカートリッジをサポートしており、デモプログラムを1つに配置する必要がありました。毎朝、博物館のキュレーターは展示とプレストをオンにすることができます!デモプログラムは即座に実行を開始します。代替案では、キュレーターがデモを手動でロードするためにコマンドを入力する必要がありました。

しかし、この便利さには2つの大きな警告があります。1つは、デモがカートリッジの最大サイズであるわずか16キロバイトに収まる必要があります。 1980年代の基準でさえ、これは小さいです。一部のC64タイトルは、ディスクまたはテープのチャンクにデータをロードすることで数百キロバイトに及びました。 2つ目は、デモを6502アセンブリで記述し、C64ビデオハードウェアを直接制御する必要があります。

カートリッジにはいくつかのコンポーネントのみが必要です:印刷回路基板 [bottom right]、プログラム可能なメモリチップ [bottom middle]、およびいくつかの抵抗器、ダイオード、およびコンデンサ [top middle]。それらは3Dプリントされたシェルに取り付けられています [top left and right]。ビデオ出力を最新の画面と互換性のあるものにするために、Retrotink-2X Proアダプターを使用しました [bottom left]。ジェームズ・プロボスト

幸いなことに、長年にわたってビンテージコンピューターフェデレーションのイベントに参加していたので、この種のことをするのをこれまで以上に容易にする無料または安価なリソースがたくさんあることを知っていました。

最初のステップは、16 kbでどれだけできるかを把握することでした。 C64のグラフィックスハードウェアは、16色のパレットで最大320 x 200ピクセルの画像を表示することができました。また、8つのスプライトを一度に表示することもできます。各スプライトは、24 x-21ピクセルビットマップの可動式シングルカラーです。このパワーの価格は複雑でした。ビデオチップのコントロールレジスタ、画面ビットマップ、テキストスクリーンデータ、デフォルトおよびカスタム文字セット、スプライト、カラー情報はすべて、メモリ間に散らばっているさまざまな場所に住んでおり、一部のデータは実際には別々のRAMとROMチップに住んでいます。

そこで、C64で利用可能な詳細なメモリマップとビデオハードウェアプログラミングガイドで座っていました。 (この豊富な情報は、1980年代とはまったく対照的であり、ドキュメンテーションが乏しい、コモドール自体からも乏しい)。説明テキスト、アニメーション化されたグラフィックス、スプライトの9つの画面で詰め込むことができると思いました。依存しているカスタム文字セットやスプライトなど、これらの画面の作成は、Petscii.krissz.huのオンラインC64グラフィックエディターのおかげで非常に簡素化されました。エディターは、デモコードでサブルーチンとして適合したスタンドアロンアセンブリプログラムとしていくつかの結果を出力できます。

幸運な発見のために十分なスペースが残っていました。少なくとも1つのフルスクリーンビットマップ画像を表示したかったのですが、プレレンダリングされた画像には、カートリッジの容量の半分の8 kbのデータが必要になりました。代わりに、私はゲームの時代からプログラマーの古典的なハックを使用することにしました ローグ そして エリート:手続き上の生成により、数学の構造から無料のデータを引き出します。

ここで幸運を獲得しました。私は、わずか3.3 kbのコードを使用してマルチカラーフラクタルマンデルブロットセットをすぐに作成したC64アセンブリプログラムのソースを公開したMarcello M.の仕事に出会いました。 Marcelloの祝福で、私は彼のコードを別のサブルーチンとして組み込みました。

C64ソフトウェアを作成するための最新のツール

コーディングは、Free IDE 65XXとKick Assembler Desktopソフトウェアを使用して行われました。人気のあるC64 VICEエミュレーターを使用してコードをテストすることができました。これにより、ライブメモリコンテンツを調べてランタイムバグを見つけるなど、便利なことを行うことができました。

上位8 kbを占める角膜ROMを備えた64キロバイトのRAMを示す図は、4 kbの文字ROM、および8 kbの塩基性ROMを示します。別の列は、I/OとカラーRAMが文字ROMと同じ位置にマッピングされ、下部メモリの2つのシャドウROMの位置を示しています。最後に、3番目の列には、基本的なROMとその下のメモリがオーバーラップする16 kbのカートリッジROMが表示されます。 Commodore 64のRAMの領域は、システムROM、ビデオカラーメモリ、文字のビットマップなどにマッピングされました。後者は、ビデオハードウェアでアクセスしたときに実際にRAMの複数の場所にマッピングされました。これらのマッピングの一部は重複しています。16kbのカートリッジを挿入すると、基本的な通訳を保存するROMが自動的に無効になりました。 ジェームズ・プロボスト

次のステップは、物理的なカートリッジを作ることでした。繰り返しになりますが、今回はカートリッジを作るためにはんだ付けされたほんの一握りのコンポーネントを必要とする5米ドルの印刷回路基板の形で現代的な助けがあります。これらのコンポーネントには、私が取り上げたプログラム可能なROMチップが含まれています eBayで3ドル。信頼できるようにコードをメモリチップに焼き付けました TL866プログラム そしてそれをPCBに取り付けました。 3Dプリントカートリッジケース

それから真実の瞬間が来ました。おそらく、私がすでに元のC64を所有していることは、通常の読者にとって驚きではないでしょう。これは、Retrotink-2X Proアダプターを介して最新のフラットスクリーンディスプレイに接続しています。そこで、カートリッジを慎重にスロットに押し込み、マシンをオンにしました。

当然、私のC64はすぐに凍結しました。 C64の基本的な通訳を保存するROMを無効にすることにより、DemoをVice Emulatorで機能させるメモリ管理コードを少し削除するのを忘れていました。実際のハードウェアでは、このスニペットはカートリッジのメモリの半分を無効にしました。簡単な編集とTL866への旅行と私は再試行する準備ができていました。成功!私はついに文字通り、いくつかのソフトウェアを出荷する準備ができていました。

私の小さなデモと「世界を変えたチップ」展示を直接見る機会を得ることができれば幸いです。チップホールオブフェイムページに現在および今後の場所を投稿します。しかし、それまでの間、C64を使用した場合でも、楽しいコーディングチャレンジを探している場合でも、元の問題点の多くが減少したので、この8ビットのクラシックをプログラミングすることをお勧めします。

サイトの記事から

ウェブ上の関連記事


#独自のコモドール64カートリッジを構築します

執筆者について: nipponese

Nipponese News編集部は、国内外のニュースを日本語で分かりやすくお届けします。