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

各ページの下にも1行掲示板がついていますが、このページではそれら全てを集めて表示しています。
特定ページへの内容への意見は、そちらのページで書いていただけるとありがたいです。
また、日付にリンクがある場合は、そのリンクを辿ることで元ページを見ることが出来ます。
(日付にリンクがないものは、このページで書き込まれた意見です)
作者が怠惰なので、反応は遅いかもしれません。
申し訳ありませんが、現在意見投稿をできない状態にしています。
【あきよし】 バグ指摘、改良プログラム、みなさんどうもありがとうございます。記事に反映しました。 (2014-08-08 10:50:15)
【あきよし】 情報ありがとうございます。…が、どの機種のことでしょう? 垂直帰線割り込みの意味であれば記事に書いた通りですが… (2014-08-08 05:24:41)
【とおり】 PALとNTSCについては単純に割り込み周期の違いで速度差がでてしまうのです.同期をとってないなら速度は同じですね. (2014-08-07 23:46:11)
【youkan】 こんな感じでいかがでしょう ttp://www.maroon.dti.ne.jp/youkan/temp/tmp.html (2014-08-07 22:54:57)
【名無し】 上位アドレスのTABLE1と下位アドレスのTABLE2を用意して、LDX #>DATA ; 2;LDA #0 ; 2;STA >0 ; 3;CLC ; 2;LDY DATA,X ; 4;BMI END ; 3 / 2;LOOP:;LDA TABLE1,Y; 4;STA >1 ; 3;LDA TABLE2,Y; 4;ADC DATA+64,X; 4;TAY ; 2;LDA DATA+128,X; 4;STA (0),Y ; 6;INX ; 2;LDY DATA,X ; 4;BPL LOOP ; 3 / 2;END: とすると1742クロックですね。 (2014-08-07 22:29:53)
【名無し】 HLとDEを入れ替えるだけで結構効率化できます。LD DE,DATA ; 10 (11);LD B,VRAM/256; 7 (8);;LOOP:;; まずは縦座標を計算。 5bit シフト;LD A,(DE) ; 7 (8);RLA ; 4 (5);JR C,END ; 12 / 7 (13 / 8);INC DE ; 6 (7);RLA ; 4 (5);RLA ; 4 (5);LD L,A ; 4 (5);LD H,0 ; 7 (8);ADD HL,HL ; 11 (12);ADD HL,HL ; 11 (12);;; 横座標と、VRAMアドレスを足す;LD C,(DE) ; 7 (8);INC DE ; 6 (7);ADD HL,BC ; 11 (12);;; キャラを書き込む;LD A,(DE) ; 7 (8);INC DE ; 6 (7);LD (HL),A ; 7 (8);;JMP LOOP ; 10 (11);END: (2014-08-07 20:33:35)
【名無し】 初回シフトの最適化と、加算なしの場合の処理を減らして150クロック35バイト。ある種ループ展開ですが……。LDA #100 ;2 STA >3 ;3 ASL A ;2 STA >0 ;3 LDA #0 ;2 LDX #8 ;2 BCC LOOP ;3/2 ADD: ADC >3 ;3 BCC LOOP ;3/2 INC >0 ;5 LOOP: DEX ;2 BEQ END ;3/2 SHIFT: ASL A ;2 ROL >0 ;5 BCS ADD ;3 DEX ;2 BNE SHIFT ;3/2 END: LSR >0 ;5 ROR A ;2 STA >1 ;3 (2014-08-07 19:57:38)
【名無し】 LD A,(HL) でフラグ変化はないのでNフラグの判定は失敗します。また、JR M,e という命令はないので絶対ジャンプ命令にする必要があります。最初の RLA でキャリーフラグを判定するのが楽だと思います。 (2014-08-07 19:53:56)
【名無し】 LD DE,100 ; 10(11);LD H,E ; 4(5);LD L,D ; 4(5);INC E ; 4(5);LD B,2 ; 7(8);LOOP:;ADD HL,HL ; 11(12);JR NC,SKIP1; 12/7(13/8);ADD HL,DE ; 11(12);SKIP1:;ADD HL,HL ; 11(12);JR NC,SKIP2; 12/7(13/8);ADD HL,DE ; 11(12);SKIP2:;ADD HL,HL ; 11(12);JR NC,SKIP3; 12/7(13/8);ADD HL,DE ; 11(12);SKIP3:;ADD HL,HL ; 11(12);JR NC,SKIP4; 12/7(13/8);ADD HL,DE ; 11(12);SKIP4:;DJNZ LOOP ; 13/8(14/9);SRL H ; 8(10);RR L ; 8(10) で30バイト298クロック。 (2014-08-07 19:22:46)
【あきよし】 クロック計算、その通りです。ありがとうございます。申請170クロックで合わないな…と思いつつ、3クロック差だから「加算の共通部分」に間違いがあるのかと思ってそこばかりチェックしていました。 (2014-08-07 19:10:06)←最近 28 29 30 31 32 33 34 35 36 37 38 過去→