問題タブ [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.
audio - Commodore 64 プログラマー、C++ ゲームで ReSid を使用するには?
自分が作っているゲームでReSIDエミュレーションのソースコードを使うことはできますか? 古き良き時代のビデオゲームのサウンドエンジンが欲しい。wav/mp3 ではありません。何かご意見は?http://en.wikipedia.org/wiki/ReSID
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 を使用した次のようなエミュレーターで、これをすべて自分で試すことができます。
- http://codeazur.com.br/stuff/fc64_final/
http://www.kingsquare.nl/jsc64
上記のコードをリストされているエミュレーターに入力するときは、次のことを認識する必要があります。
- ( は *
- ) は (
- +は】
私は、似たようなことをするために bash 行を書くのは面白いだろうと判断しました。
私は現在持っています:
2 つの質問:
- これをより簡潔にするための提案はありますか?
- より良い出力文字の提案はありますか? スラッシュとバックスラッシュは、ポイントが揃っていないため、あまり美しくありません。PETSCII で使用される文字は特殊文字であり、スラッシュではありません。ASCII で同様に機能するものは見当たりませんでしたが、UTF-8 などから文字を取り込む方法を提案できますか?
これまでのベストアンサー
bash の最短 (40 文字):
これは zsh の短いものです (53 文字):
これは、.bashrc または .profile に入れたいエイリアスです。
これを C64 BASIC (23 文字) で実行できる最短のものと比較すると面白いです。
アンダースコアは、それぞれ shift+H、shift+N、および shift+O です。PETSCII 固有の文字なので、ここに貼り付けることはできません。また、C64 出力はきれいに見えます ;)
C64 BASIC の略語については、次を参照してください。
macos - Mac OS X 用 Commodore 64 開発ツール
OSX での C64 のクロス開発にはどのツールを使用していますか?
アセンブラ、テキスト エディタまたは IDE、gfx、スプライト、文字セット エディタはどれですか?
それとも、単に Parallels Desktop または Bootcamp を介した Windows 環境を好むのでしょうか?
assembly - CA65: 16 ビットで計算されたアドレスからの「範囲エラー」
次の CA65 コードがあるとします。
次のエラー メッセージが表示されます。
興味深いことに、次のバージョンは期待どおりに動作します。
では、これを内部で機能させるにはどうすればよい.scope
ですか?
c - CC65: 4 回線が悪い、2 回線が良い?
stdio.h
Commodore 64でIOを使用しようとしていますが、次のプログラムでも使用しています:
問題は、2 をprintf
コメント解除したままにしておくと、期待どおりに動作することです。4 つすべてのコメントを外すと、まったく機能しません。そうすると、画面がリセットされて空RUN
の画面に表示される前に、行が点滅するだけです。READY.
3つある場合、最初は機能しません(空のREADY.
画面に点滅します)が、RUN
もう一度機能すると機能します...
これは実際の C64 ではなく、VICE でのみテストしたことを付け加えておきます。
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 レジスタに実際に格納できる量を超えていることです。
これを行うエレガントな方法はありますか?