ファミコンのプログラム4 (567レス)
前次1-
抽出解除 レス栞

93: 名前は開発中のものです。 [sage] 2013/03/02(土) 00:47:42.77 ID:8Km8c4Ly(1) AAS
あ、そういうことする人なんだ
180
(2): 名前は開発中のものです。 [sage] 2014/04/22(火) 20:21:50.77 ID:SP0raU7v(1/4) AAS
>>175
175(2): 名前は開発中のものです。 [sage] 2014/04/21(月) 23:59:09.10 ID:/pAmCg0v(2/2) AAS
>>166を改造させてもらった

外部リンク[zip]:www1.axfc.net

ゴミ消した

パレットの0x0dは使えないよ
垂直同期のパルスみたいな電圧になるから

ソース読ませてもらったけど、
ldy #0
sty $2001
で、PPUのレンダリング止めると、PPUのバスが空くので
その間は自由にVRAMアクセスできたと理解していたんだが
違っていたかな?

そうであれば、HBlank待つ必要ないので、パレット書き換えで
非表示になるライン数を減らせると思う。

あと、割り込み時にはiフラグが立った状態でルーチンが
呼ばれるので sei は要らないと思う。

外部リンク:wiki.nesdev.com
277
(1): 名前は開発中のものです。 [sage] 2014/06/08(日) 20:16:46.77 ID:p43hB49G(1/2) AAS
>>245-246
名乗り出なくてもバグだらけのキ○ガイプログラムだからすぐわかるよ。
人の言うことを聞かないで数年間NMI使えないで、いつも同じバグ出して、「正常動作の定義は?」って逆ギレ。愚痴キ○ガイ消えてくれ。

・あちこちでゼロページ < 忘れすぎ → auto-zeropageが施された改造版のnesasmあるよ

・なにをしているのかよくわからない。ROMに書き込んではいけない。実機動作を狙ってるなら
lda #0  ;これはROMなので出来ないので、こうする
sta STAGE1,x   ;〃

・Aボタン押したときのデューティ比的な音バグ(数年間放置されたバグ
誤 lda APU_REG0_DUTY_875
誤 ora APU_REG0_COUNT_ON  ←  PadStat = $20 と重複!
誤 ora APU_REG0_FIX_ON
正 lda #( APU_REG0_DUTY_875 | APU_REG0_COUNT_ON | APU_REG0_FIX_ON )


誤 lda APU_REG1_FRQCHG_ON
正 lda #APU_REG1_FRQCHG_ON

・既に指摘があるようにcmpが変。loadのフラグの変化とブランチのフラグ条件を理解していない。
lda なんたら
cmp #0
beq または bne

・jsr Pad_Check は 他人 >>236
236(3): 140 [sage] 2014/05/28(水) 20:00:45.64 ID:pcO3WytB(1/2) AAS
ジョイパッドの読み取りルーチンをリファクタリングしたら結構コンパクトになった。
6502のアセンブラは奥深い。

Joypad_Update:
lda #$01
sta $4016
lsr a ; same as lda $00 & sec
sta $4016

ror a ; same as lda $80 & clc
sta <JOYPAD
sta <JOYPAD+1
.1
lda $4016
and #$03
; clc
sbc #0
ror <JOYPAD
lda $4017
and #$03
; clc
sbc #0
ror <JOYPAD+1
bcc .1

rts

>>235
ありがとうございます。
の? 算術sbc使ってるから変だと思ったけど

パッと見でこれだけミスしてて、どこにまともに動く要素があるわけ?氷山の一角だろう。
今回も 「.dw 0; VBlank割り込み」見てまたお前かとやる気を失ったけど、BLOCK.symが同梱されていたので捗った。
355: 名前は開発中のものです。 [sage] 2014/10/11(土) 11:53:25.77 ID:JCcDlcCt(1) AAS
>>353
353(1): 名前は開発中のものです。 [sage] 2014/10/10(金) 00:27:59.23 ID:giiUNY1I(1/2) AAS
>>352
MMC3だとラスタの260ppu_clk辺りで割込み発生みたいなので、
そこから次ラスタの表示期間終了の256ppu_clkまでの、
(341-260)+256=337ppu_clk = 112.3cpu_clk
が必要な待ち時間だと思います。
sta $2006を確実にHBLANKに入れるために+4clkしましたが、
書込みが最後の1clkに行われるとすれば、数クロック削れるかもしれません。
外部リンク:wiki.nesdev.com
Regarding PPU A12 rises:
If the BG uses $0000, and the sprites use $1000, then the IRQ will occur after PPU cycle 260 (as in, a little after the visible part of the target scanline has ended).
If the BG uses $1000, and the sprites use $0000, then the IRQ will occur after PPU cycle 324 of the previous scanline (as in, right before the target scanline is about to be drawn).
When using 8x16 sprites: When there are less than 8 sprites on a scanline, the PPU makes a dummy fetch to tile $FF for each leftover sprite. In 8x16 sprite mode, tile $FF corresponds to the right pattern table ($1000).

PPUアドレスバスA12がスキャンラインカウンタのクロックとなっている。
The counter is clocked on each rising edge of PPU A12, no matter what caused it, so it is possible to (intentionally or not) clock the counter by writing to $2006
BGとSPRをどっちに配置するかで、立ち上がり、立下りが変わるので、
IRQが起きる位置とライン数が変わるようだ。
448
(2): 名前は開発中のものです。 [sage] 2016/02/10(水) 05:21:21.77 ID:Tj88U3ce(1) AAS
ハードの話だからスレチかもしれないんだけどさ、ファミコンをTVに直接つなぐと壊れるとか言っている人がいたけど、どうしたら壊れるのかよくわからん
ファミコンのRF出力には常時5Vの直流成分があるから、せいぜい1V程度の入力を前提としたアンテナ端子につなぐと壊れるってことか?
壊れるとしたら直流カット用のコンデンサか?でもまず名の知れたメーカーのテレビがそんなに耐圧の低いコンデンサ使うことってあるのか?
同じ形の端子のBSなんかじゃ15Vあるしフールプルーフの観点からも、まともな企業がその程度で壊れるテレビを作るとは考えにくいとおもうんだが
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.443s*