問題タブ [6502]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
956 参照

assembly - 自己修正メモリ コピー ルーチンの演習、6502 ASM

以下は、Commodore 64 でのメモリ コピーの自己修正ルーチンです。

char codesテーブルにandを書きnumber of repeats、このルーチンで screen_ram を埋めました。

最適化の提案を探しています。この場合、私の優先事項はメモリです。

0 投票する
2 に答える
313 参照

assembly - 6502 のアセンブリで 2 つの方形波を作成する

6502 マイクロ コントローラー命令セットを使用して、20Hz の方形波と 30Hz の方形波のアセンブリで 2 つの出力を生成しようとしています。これまでのところ、20Hz 波で出力できます。

私の理解では、これを達成するためにできることは、60Hz の方形波を使用して 30Hz と 20Hz を取得することです。ポートの他のビットの状態に影響を与えずに、PortA のビット 5 に 20Hz の方形波を出力し、PortA のビット 6 に 30Hz の方形波を出力するにはどうすればよいでしょうか? つまり、ここで 60 から 20 と 30 を取得するにはどうすればよいでしょうか。カウントに 7 をチェックさせ、カウント 2 をインクリメントしますか? どんな助けでも大歓迎です。

0 投票する
3 に答える
1467 参照

assembly - 6502 間接アドレッシングの問題

6502 マシンの次のコードで問題が発生しています。

課題は、アドレス 2000 から始まる 2、1、および 4 の数値を格納し、A、X、および Y の値が何であるかを言うことです。

ペンと紙でコードを「実行」していますが、次の理由で C011 で行き詰まりました。
LDA ($FE),Y
この方法で計算されたメモリ アドレスに格納されている値を A にロードします。

  1. 値を選択$FE(最初は 00)
  2. Y の値を追加します (最初の反復では 7)。
  3. 私は今07を持っています
  4. 07 に格納されている値を A にロードします。

これは正しいです?何か不足していますか?2000 2001そうでない場合、とに格納されている値をどこで使用します2002か?

前もって感謝します..

0 投票する
2 に答える
1313 参照

java - これは、JAVA で 6502 CPU エミュレーターを実装する「良い」方法ですか?

戻って大きなコードのチャンクをやり直す必要がないようにしたい... Runnableを実装する列挙型の値として各オペコードを持っています。これを行うためのより効率的な方法はありますか、それともテストスイート ROM を正確に実行するものを取得するための書き込みトラックにいますか?

0 投票する
3 に答える
1539 参照

6502 - 6502 で減算演算 (sbc asm 命令) 中に借用?

ファミコンで使われている6502の減算演算(sbc asm命令)でボロー(キャリーフラグのクリア)が発生した場合は?結果がマイナス(-1~-128)になるたびですか?

どうもありがとう!ありがとうSTeN

0 投票する
2 に答える
956 参照

assembly - Commodore 64 でカーネル SCNKEY ルーチンの動作を変更する方法

Commodore 64 でカーネル ルーチンを使用してゲーム コントロールを実装しようとしています。

以下のコードは、1 つの例外を除いて機能します。各キー ストロークは 1 回の入力としてカウントされます。例:ボタンを押し続けても効果はありません。移動するたびに離してもう一度押す必要がありました。この動作を変更するにはどうすればよいですか? キーが押されている限り、アクションを繰り返したいだけです。