1行掲示板です。情報提供などありましたらよろしくお願いします。
特に、記事の誤り訂正などは「ほかの方も読める記録が残る」ので、掲示板を推奨します。
長い内容など、メールで連絡を取りたい方は以下のアドレスへ。

各ページの下にも1行掲示板がついていますが、このページではそれら全てを集めて表示しています。
特定ページへの内容への意見は、そちらのページで書いていただけるとありがたいです。
また、日付にリンクがある場合は、そのリンクを辿ることで元ページを見ることが出来ます。
(日付にリンクがないものは、このページで書き込まれた意見です)
作者が怠惰なので、反応は遅いかもしれません。
申し訳ありませんが、現在意見投稿をできない状態にしています。
【m.ukai】 変数の格納アドレスを都合よくできれば(たとえばMX,MY は隣接するとか) 短くなりそうです。 (2014-08-27 18:11:27)
【m.ukai】 Z80、間接アドレス指定はレジスタ間接のほうが速いです。あとデータを 256B align させると、LD HL,GAMEPAD; LD B,(HL); DEC L;LD A,(HL);LD (HL),B;DEC L;LD (HL),A; XOR B; AND B; JR Z,END;DEC L;LD D,H;LD E,(HL);INC E; RES 4,E; LD (HL),E; ORG 100H PADHIST: DS 16; BUFPTR: DB 0; PAD_NEW: DB 0; PAD_OLD: DB 0; GAMEPAD: DB 0 で 120 clk かな。自己書き換えを許せばもう少し縮むかも。 (2014-08-27 17:59:56)
【あきよし】 高速化・バグ指摘ありがとうございます。ページ追記・修正しました。 (2014-08-24 10:45:13)
【あきよし】 美しいプログラムありがとうございます。記事を更新しました。 (2014-08-23 06:18:31)
【名無し】 LENTABLEに並ぶ値を-1して、BNE LOOP2をBPL LOOP2にするのもありですね。 (2014-08-20 21:02:13)
【名無し】 6502の方、LDY LENTABLE-1,XでYにセットされるのはコマンド長なので、これをそのままインデックス値にすると、LDA (0),YとCMP (2),Yが想定より一つ先を参照してしまうと思います。COMTABLEに並んだ値をそれぞれ-1しておくのが策でしょうか。 (2014-08-20 20:51:00)
【名無し】 被除数と商で同じメモリを共用しても良いなら、LDA #>12345 ;2 ASL A ;2 STA >0 ;3 LDA #<12345 ;2 ROL A ;2 STA >1 ;3 LDA #10 ;2 STA >2 ;3 LDA #0 ;2 LDX #16 ;2 LOOP: ROL A ;2 CMP >2 ;3 BCC SHIFT ;3/2 SBC >2 ;3 SHIFT: ROL >0 ;5 ROL >1 ;5 DEX ;2 BNE LOOP ;3/2 で400クロック32バイト(減算あり5回、なし11回)。商は>0,>1、剰余はAに。左詰めの前処理を加えれば軽くなりそうですがとりあえず。 (2014-08-20 20:45:57)
【名無し】 LOOP2: LD A,(DE) ; CP (HL) …に変えるとCとEX DE,HLが不要になって不一致時29,一致時48にできますね。 (2014-08-20 19:07:24)
【やすこ】 ↓の追記 娘に我慢して食べなさい、飲みなさいと言って反省しました。この痛みを例えると喉を切開して縫ってない状態に近い感じです。なのでゼリーやポタージュ、ポカリなんかも痛いし、お茶も激シミでした(大人の場合は重症だからなのかもしれませんが)唯一しみなかったのは赤ちゃんの粉ミルク、牛乳、めかぶです。口中が痛いパパ、ママさん試してみてくださいね。 (2014-08-19 15:43:16)
【やすこ】 お盆真っ只中に両親の家に泊まりに行ってた息子がヘルパンギーナになり、ママが居なければ心細いのではないのかと思って看病を交代しました。すると長女も発症し、落ち着いた頃に赤ちゃんの次女と私まで発症。 (2014-08-19 15:38:00)←最近 25 26 27 28 29 30 31 32 33 34 35 過去→