Nano Banana 2.1 公開中 — Google 最新モデル | 今すぐ試す →
WAVESPEED AI 6502エミュレーター ブラウザで動作
100% 無料

6502エミュレーター&アセンブラーアセンブリを書いて実行し、すべてのレジスタを観察。

6502アセンブリを入力して「実行」を押すと、アセンブルされ、キーボード入力付きの32×32カラー画面で動きます。
1命令ずつステップ実行し、ブレークポイントを設定して、レジスタ、フラグ、メモリの変化を確認できます。

アセンブラー内蔵ステップ実行とブレークポイントSnakeほか7本のサンプル
登録不要 インストール不要 オフラインで動作

エミュレーターを読み込み中…

コードはお使いのデバイスでアセンブル・実行されます。何もアップロードされません。
3つの簡単なステップ

6502エミュレーターの使い方

01

プログラムを書くか選ぶ

エディターに6502アセンブリを入力するか、Snake、カラーバー、計算デモなどのサンプルを選びます。プログラムは$0600から始まります。

02

実行

「実行」(またはCtrl/⌘+Enter)を押します。コードがアセンブルされ、誤りは行番号付きで一覧表示されます。画面をクリックするとプログラムにキーを送れます。

03

デバッグ

一時停止して1命令ずつステップ実行し、行番号をクリックしてブレークポイントを設定します。実行中のレジスタ、フラグ、メモリ、逆アセンブルを確認できます。

6502を学ぶ

初心者のための6502のヒント

6502には8ビットレジスタが3つ、256バイトのスタック、いくつかのアドレッシングモードがあります。次の考え方を押さえれば大きく前進できます。

画面はメモリ

$0200から$05FFまでの各バイトが1ピクセルで、1行32ピクセルです。STA $0200で左上のピクセルに色が付き、$20を足すと1行下に移動します。

ゼロページは速い

アドレス$00–$FFは1バイトで指定でき、読み取りも1サイクル少なくて済みます。カウンターやポインターはそこに置きましょう。

ポインターには(zp),Yを使う

16ビットのアドレスを下位バイトから順にゼロページの2バイトに格納すると、LDA ($10),Yでそのアドレス+Yから読み取れます。Snakeや模様のサンプルはこれを使って画面をたどります。

計算の前にキャリー

ADCはキャリーも加算するので、加算はCLCから、減算はSECから始めます。BCCやBCSなどの分岐は、その後でキャリーを判定します。

10進モード

SEDの後、ADCとSBCは10進で計算します。$58 + $46は$04になりキャリーが立ちます(104)。スコアに便利です。CLDで再びオフにします。

フラグを読む

ロード命令と算術命令はすべてNとZを更新します。ループをステップ実行し、それらを判定する分岐の前にどう変わるかを観察しましょう。

WaveSpeed AI

レトロなプロジェクトのアートを作ろう

WaveSpeed AIで、ゲームやデモ用のピクセルアートのスプライト、タイトル画面、短いクリップをプロンプトから作成できます。

  • 1,000以上のAIモデル
  • 画像・動画・3D
  • 従量課金

対象の新規アカウントに $1 の無料クレジット。カード不要。 ジェネレーターのご利用には、別途アカウントとクレジットが必要です。6502エミュレーターは無料です。

6502エミュレーターのよくある質問

この6502エミュレーターは無料ですか?

はい。登録不要、広告なし、制限なしの無料です。プログラムはブラウザに保存されるので、次回もそのまま残っています。

どの6502をエミュレートしますか?

オリジナルのNMOS 6502です。ドキュメント化された全151命令、NMOSのフラグ動作を含む2進化10進モード、JMP ($xxFF)のページバグ、ページ境界越えや分岐のペナルティを含むドキュメント通りのサイクル数に対応しています。

どれくらい正確ですか?

広く使われている6502の機能テストプログラムと、レジスタ、フラグ、メモリ、サイクル数を検証する150万件の単一命令テストケースに合格しています。

メモリマップはどうなっていますか?

64 KBのRAMです。画面は$0200–$05FF(1ピクセル1バイト、16色)、$FEを読むと新しい乱数バイトが得られ、$FFには最後に押したキーが入り、プログラムは$0600に読み込まれます。このレイアウトを使う人気の6502入門チュートリアル向けのプログラムは、そのまま動きます。

プログラムにキーを送るには?

画面をクリックまたはタップしてから入力すると、キーのASCIIコードが$FFに送られます。矢印キーと画面上の矢印はw、a、s、dを送り、SnakeとPaintのサンプルで使われます。

どのアセンブラー構文に対応していますか?

ラベル(loop:または行頭の単語)、定数(define name valueまたはname = value)、*=または.org、.byte/dcb、.word、.text、.asciiz、.res、16進($FF)・2進(%1010)・10進・文字('A')の数値、算術演算、下位・上位バイトを取る<と>に対応しています。$100未満の値はゼロページを使います。絶対形式を強制するには$00FFと書きます。

ブレークポイントとステップ実行はどう動きますか?

行番号をクリック(または行でF9を押す)するとブレークポイントを設定できます。「実行」はその命令の前で止まり、「ステップ」(F10)は1命令を実行してその行をハイライトします。停止するたびにレジスタ、フラグ、メモリ、逆アセンブルが更新されるので、6502アセンブリの学習に最適です。

プログラムを保存・共有できますか?

プログラムはブラウザに自動保存されます。.asmファイルとして保存したり、アセンブル済みの.binをダウンロードしたり、16進ダンプをコピーしたり、マシンの状態全体を保存したり、プログラムを含むリンクをコピーしたりもできます。

コードはどこかにアップロードされますか?

いいえ。アセンブルも実行もブラウザ内で行われます。共有リンクはプログラムをアドレスの#以降の部分に保持し、ブラウザはその部分をサーバーに送信しません。

すべての無料ツール

初めての6502プログラムを実行しよう

無料、ブラウザで動作、デバッガー付き。

エミュレーターを開く