問題タブ [c64]

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 投票する
0 に答える
916 参照

audio - Commodore 64 プログラマー、C++ ゲームで ReSid を使用するには?

自分が作っているゲームでReSIDエミュレーションのソースコードを使うことはできますか? 古き良き時代のビデオゲームのサウンドエンジンが欲しい。wav/mp3 ではありません。何かご意見は?http://en.wikipedia.org/wiki/ReSID

0 投票する
8 に答える
8546 参照

bash - C64 コード アートの Bash バージョン: 10 PRINT CHR$(205.5+RND(1)); :後藤10

10 PRINT CHR$(205.5+RND(1));という本を手に取りました。:後藤10

この本では、Commodore 64 BASIC の単一ラインによって生み出されたアートについて説明します。


これは、PETSCII セットからランダムに文字 205 または 206 を画面に繰り返し出力します。

なぜオリジナルが同じ109と110ではなく、205と206の文字を使用しているのかはわかりません。また、最初にクリアを追加することを好みます。これは私が通常 C64 に入力するものです:

Flash や JavaScript を使用した次のようなエミュレーターで、これをすべて自分で試すことができます。


私は、似たようなことをするために bash 行を書くのは面白いだろうと判断しました。

私は現在持っています:

2 つの質問:

  1. これをより簡潔にするための提案はありますか?
  2. より良い出力文字の提案はありますか? スラッシュとバックスラッシュは、ポイントが揃っていないため、あまり美しくありません。PETSCII で使用される文字は特殊文字であり、スラッシュではありません。ASCII で同様に機能するものは見当たりませんでしたが、UTF-8 などから文字を取り込む方法を提案できますか?

これまでのベストアンサー

bash の最短 (40 文字):

これは zsh の短いものです (53 文字):

これは、.bashrc または .profile に入れたいエイリアスです。

これを C64 BASIC (23 文字) で実行できる最短のものと比較すると面白いです。

アンダースコアは、それぞれ shift+H、shift+N、および shift+O です。PETSCII 固有の文字なので、ここに貼り付けることはできません。また、C64 出力はきれいに見えます ;)

C64 BASIC の略語については、次を参照してください。

0 投票する
4 に答える
7233 参照

macos - Mac OS X 用 Commodore 64 開発ツール

OSX での C64 のクロス開発にはどのツールを使用していますか?

アセンブラ、テキスト エディタまたは IDE、gfx、スプライト、文字セット エディタはどれですか?

それとも、単に Parallels Desktop または Bootcamp を介した Windows 環境を好むのでしょうか?

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

assembly - CA65: 16 ビットで計算されたアドレスからの「範囲エラー」

次の CA65 コードがあるとします。

次のエラー メッセージが表示されます。

興味深いことに、次のバージョンは期待どおりに動作します。

では、これを内部で機能させるにはどうすればよい.scopeですか?

0 投票する
1 に答える
213 参照

c - CC65: 4 回線が悪い、2 回線が良い?

stdio.hCommodore 64でIOを使用しようとしていますが、次のプログラムでも使用しています:

問題は、2 をprintfコメント解除したままにしておくと、期待どおりに動作することです。4 つすべてのコメントを外すと、まったく機能しません。そうすると、画面がリセットされて空RUNの画面に表示される前に、行が点滅するだけです。READY.

3つある場合、最初は機能しません(空のREADY.画面に点滅します)が、RUNもう一度機能すると機能します...

これは実際の C64 ではなく、VICE でのみテストしたことを付け加えておきます。

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

assembly - これを 16 ビット マジックのループに変えることはできますか?

私は今 6502 アセンブリから始めていますが、8 ビットより大きい数値を処理する必要があるループに頭を悩ませています。

具体的には、いくつかのメモリ ロケーションをループしたいと考えています。疑似 C コードでは、これを行いたい:

したがって、RAM$44ADに書き込みたいアドレスから始めて、前方にジャンプし、そこに書き込み、それを20回実行するまで再び前方にジャンプします(最後に書き込むアドレスは です)。$01$28$01$28$47A5

私の現在のアプローチは、書くのが面倒なループ展開です (アセンブラーを使えばもっと簡単にできると思いますが):

絶対アドレス指定については知っていますが (Y レジスタの代わりにアキュムレータを使用します - sta $44AD, x)、それでは 0 から 255 までの数値しか得られません。私が本当に欲しいと思うのは、次のようなものです。

基本的には、最上位アドレスから始めてループダウンします。問題は、$14 * $28 = $320 または 800 dec であり、これは 8 ビット X レジスタに実際に格納できる量を超えていることです。

これを行うエレガントな方法はありますか?