プログラムを書くか選ぶ
エディターに6502アセンブリを入力するか、Snake、カラーバー、計算デモなどのサンプルを選びます。プログラムは$0600から始まります。
6502アセンブリを入力して「実行」を押すと、アセンブルされ、キーボード入力付きの32×32カラー画面で動きます。
1命令ずつステップ実行し、ブレークポイントを設定して、レジスタ、フラグ、メモリの変化を確認できます。
エミュレーターを読み込み中…
エディターに6502アセンブリを入力するか、Snake、カラーバー、計算デモなどのサンプルを選びます。プログラムは$0600から始まります。
「実行」(またはCtrl/⌘+Enter)を押します。コードがアセンブルされ、誤りは行番号付きで一覧表示されます。画面をクリックするとプログラムにキーを送れます。
一時停止して1命令ずつステップ実行し、行番号をクリックしてブレークポイントを設定します。実行中のレジスタ、フラグ、メモリ、逆アセンブルを確認できます。
6502には8ビットレジスタが3つ、256バイトのスタック、いくつかのアドレッシングモードがあります。次の考え方を押さえれば大きく前進できます。
$0200から$05FFまでの各バイトが1ピクセルで、1行32ピクセルです。STA $0200で左上のピクセルに色が付き、$20を足すと1行下に移動します。
アドレス$00–$FFは1バイトで指定でき、読み取りも1サイクル少なくて済みます。カウンターやポインターはそこに置きましょう。
16ビットのアドレスを下位バイトから順にゼロページの2バイトに格納すると、LDA ($10),Yでそのアドレス+Yから読み取れます。Snakeや模様のサンプルはこれを使って画面をたどります。
ADCはキャリーも加算するので、加算はCLCから、減算はSECから始めます。BCCやBCSなどの分岐は、その後でキャリーを判定します。
SEDの後、ADCとSBCは10進で計算します。$58 + $46は$04になりキャリーが立ちます(104)。スコアに便利です。CLDで再びオフにします。
ロード命令と算術命令はすべてNとZを更新します。ループをステップ実行し、それらを判定する分岐の前にどう変わるかを観察しましょう。
WaveSpeed AIで、ゲームやデモ用のピクセルアートのスプライト、タイトル画面、短いクリップをプロンプトから作成できます。
対象の新規アカウントに $1 の無料クレジット。カード不要。 ジェネレーターのご利用には、別途アカウントとクレジットが必要です。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進ダンプをコピーしたり、マシンの状態全体を保存したり、プログラムを含むリンクをコピーしたりもできます。
いいえ。アセンブルも実行もブラウザ内で行われます。共有リンクはプログラムをアドレスの#以降の部分に保持し、ブラウザはその部分をサーバーに送信しません。
無料、ブラウザで動作、デバッガー付き。