ファミコンのプログラム4 (567レス)
上下前次1-新
339: 131 2014/07/02(水)17:15 ID:b6UJAuU+(1)調 AAS
ここを見てても本当に良いのだろうか?という気持ちと
ヤジでいまだに言ってくる人がいて、不快感しか湧かない
ので、ここはまず、書き込みも見ることも辞める事にします。
なのでいさぎよく、このスレから出ていく事にします。
ちなみに、「逃げる理由が出来て良かったな」とか書き込みそうなんで
言っておきますが、言う人は何とでも言うので仕方ないと思います。
最後まで不快感をお互いに感じあってしまい、すみませんでした。
340(1): 2014/07/02(水)21:15 ID:ccGvVyCV(1)調 AAS
前スレで戦力外通告されてなぜ残った
英語読む気ないのはこの板的にも戦力外
341: 2014/07/03(木)22:16 ID:hPES0Si7(1)調 AAS
>>340
気に入らなきゃほっときなよ
小言を言うとまたグダグダと返答されるよ
342: 2014/07/11(金)02:02 ID:63/tpOMg(1)調 AAS
他スレみたいにテンプレに
初心者向けに何か書いておいたほうがいいかもね
343(1): 2014/10/05(日)12:06 ID:TCLHVT3o(1)調 AAS
東方Projectみたいな画面は作れないか?との興味から作りはじめたのですが、弾丸の表示時点で、CPUの処理能力不足により先が見えてしまいました。
http://homepage3.nifty.com/~kyoske/nes/Experi9.zip
Experi9.nes .. 160発表示版
Experi9x.nes .. 負荷可視化板
Experi8_noshot.nes .. 弾丸非表示版
Select+下 でスクロール開始、Select+左右 で画面モード切替です。
弾丸の最大数を96に落として、仕切り直す予定。
自キャラ、敵キャラ、弾丸以外は、BGで描画しています。
枠内のスクロールは、ハードウェアスクロールとソフトウェアスクロールの併用です。
16x8の範囲でパレット指定や会話ウィンドウの表示に、縦方向のラスタスクロールを駆使しています。
344(1): 2014/10/06(月)04:59 ID:6+tpiQ9J(1)調 AAS
ジェムの人キター
消えてる時間が結構長いのでかなりスプライトが見難いですねぇ
BGは相変わらずえらいことになってますが、負荷軽減でパレットはあきらめて
MMC5の画面分割機能の使用を考えてみても良いかも
345(1): 2014/10/06(月)23:47 ID:5bZUXl8p(1)調 AAS
>>344
160発を56個のスプライトで表示しているので、
大体3フレームに1回の表示でちらつきが目立ちます。
次の版は、96発にスペックを落とすので、
2フレームに1回の表示になるので多少は改善されるはず。
MMC5は魅力的なのですが、最終目標が実機での動作なので
勿体無くないMMC3で頑張ろうと思っています。
あと、負荷は弾丸の処理が半分以上占めているので
MMC5を使っても状況はあまり変わらないかと思います。
すでに96発MAXに書き換えて、弾丸1つ辺り5byteの領域から
8byteに増えて、Tile番号と属性値が保持できるようになったので
処理が軽くなりました。
弾丸の角度の変化が無ければ、Bombの下辺りまでの
処理時間で済んでいます。
346: 2014/10/07(火)04:35 ID:3yj7hFfS(1)調 AAS
>>345
1/2フレーム表示ならグラIIのミサイルなどで使ってましたね
欲を言えばですが、弾数が少ないときは1/1フレームで表示出来たら
いいかも
試しに割り込み無しにしたところ18ライン分くらい処理が減ってました
MMC5自体は光栄のゲームで結構出回ってるので入手は簡単かと
思いますが、今更変えるのもあれですね…
期待してますので頑張ってください
347(1): 2014/10/09(木)21:46 ID:44sWDsnn(1/2)調 AAS
NESASMでアセンブルしたNESファイルは自作カートリッジに焼く時もそのまま使えるんですか?
348(1): sage 2014/10/09(木)21:50 ID:hFc1Ndfq(1/3)調 AAS
RevolvingGems 1.00を実機で動かしたら不具合が出たので、
今さらですが調べて直してみました。
・タイトル画面の表示が乱れる
ウエイトが足りず、割込み処理での最後の$2006への書込みが
HBLANK中に行われていないようので、user.asmのUser_Irq_Title:直後に
nopを(余裕を持たせて)3つ追加して乱れを消しました。
・あそびかたを選ぶと止まる
タイトルで設定された割込みが無効化できずに発生し続けているようです。
Guide_Init:でIRQ_FNC+1を0にしたことで、
Irq:のjsr IRQ_FNC-1が飛ばされるため、
User_Irq_Title:中での割込みの無効化が動かないのが原因と思います。
user.asm 474行目のsta IRQ_FNC+1をコメントアウトして動くようになりました。
349: 2014/10/09(木)21:51 ID:hFc1Ndfq(2/3)調 AAS
sage間違えたorz
350(1): 2014/10/09(木)21:56 ID:hFc1Ndfq(3/3)調 AAS
>>347
kazzo+anagoのような環境だと直接NESファイルを使って書けますね。
ROMライタで直接書き込む場合だとPRGとCHRへの分割が必要かと。
351: 2014/10/09(木)22:09 ID:44sWDsnn(2/2)調 AAS
>>350
ありがとうございますNESplitという分割ツールがありました。
352(2): 2014/10/09(木)23:56 ID:EgCI09Ne(1)調 AAS
>>348
実機での動作確認ありがとうございます。
>タイトル画面の乱れ
割り込みが入ってから110clk目に最後の$2006を書いていたのですが、
nop3つ追加ということで、116clk目が正解ということですね。
今のやつも直さないと。
>あそびかたを選ぶと止まる
VBlank中にIRQ_FNCを更新する仕組みを追加します。
353(1): 2014/10/10(金)00:27 ID:giiUNY1I(1/2)調 AAS
>>352
MMC3だとラスタの260ppu_clk辺りで割込み発生みたいなので、
そこから次ラスタの表示期間終了の256ppu_clkまでの、
(341-260)+256=337ppu_clk = 112.3cpu_clk
が必要な待ち時間だと思います。
sta $2006を確実にHBLANKに入れるために+4clkしましたが、
書込みが最後の1clkに行われるとすれば、数クロック削れるかもしれません。
354(1): 2014/10/10(金)21:22 ID:giiUNY1I(2/2)調 AAS
>>352
追実験して、nopは一つでも乱れは消えました。
割込み発生から最後のsta $2006完了までが112clkになるので、
ちょっとぎりぎりな感じはしますが。
355: 2014/10/11(土)11:53 ID:JCcDlcCt(1)調 AAS
>>353
http://wiki.nesdev.com/w/index.php/MMC3#Hardware
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が起きる位置とライン数が変わるようだ。
356: 2014/10/13(月)07:14 ID:khCfiiiQ(1)調 AAS
>>354
追試ありがとうございます。
clkを伸ばした場合、エミュレータでどうなるか確認したのですが
こちらでは1clk伸ばしただけでも乱れが発生しました。
実機向けとエミュレータ向けの2つのバイナリを用意する必要があるようです。
357: 2014/10/20(月)02:34 ID:VhFQD/az(1)調 AAS
だれかギコ猫より分かりやすいサイト作って
もしくは解説コメント付きのソース
358: 2014/10/27(月)22:58 ID:WLPSmV4W(1)調 AAS
ギコ猫があるだけ恵まれた環境。1990年代のネットはファミコンの
内部資料は英語しか無かったからね。だから普通に挫折した。
359: 2014/10/28(火)05:34 ID:40z/j/Ad(1)調 AAS
バッ活とファミリーベーシック
360(2): 2014/11/05(水)02:06 ID:8FC6s1LF(1/5)調 AAS
Experi9(>>343)の改良版をアップしました。
http://homepage3.nifty.com/~kyoske/nes/Experi10.zip
結局のところ、ファミコン本体の2KBのWRAMだけでは
性能面を向上させつつ、やりくりするのは難しいとわかったので
MMC3の拡張WRAMを解禁、弾丸のワーク領域をそちらに移しました。
本体のWRAMに余裕が出来たので、マップの仮想バッファを
倍に増加して、既存の処理を最適化して負荷を下げました。
色々なテーブルを乗せている関係で、共通ルーチン用のプログラム領域の
サイズが足りないか不安になってきたのですが、拡張WRAMの空き領域に
プログラムを転送すれば良い事に気づき、さらにRAMに転送するんだから
自己書き換えルーチンにできるな、ということで、自己書き換えで性能が
上がりそうなルーチンを試作してみました。
あと、当たり判定実装したり、弾丸の移動処理作ったり、BGM鳴らしてみたりで
処理落ちしないのを確認できたので、性能面で目処が立ったかなというところです。
361: 2014/11/05(水)02:20 ID:8FC6s1LF(2/5)調 AAS
試作した自己書き換えルーチンその1
ClearExtWorkMemory:
ldy #$60
lda #$00
tax
.1:
sty SMCLabel(.2+2)
.2:
sta $6000,x
inx
bne .2
iny
cpy #$68
bne .1
rts
SMCLabelは、転送先のアドレスに変換するユーザ関数です。
sta $6000,xの$60を書き換えています。
Indirect Indexモード 6clkに対して、Absolute Indexモード 4clkで
((6clk-4clk)*256-4clk)*8 = 4064clkの節約。
362: 2014/11/05(水)02:32 ID:8FC6s1LF(3/5)調 AAS
試作した自己書き換えルーチンその2
Shot_Alloc:
ldx SMCLabel(.2+1)
.1:
lda SH_X,x
bmi .9
lda Round96+1,x
tax
.2:
cpx #0
bne .1
.db $24 ; bit <$b8 (set v-flag)
.9:
clv
lda Round96+1,x
sta SMCLabel(.2+1)
rts
cpx #0の#0の部分を書き換え。
弾丸の空きを検索するルーチンで、次回の検索時は空きを検出した
次の場所から検索を始める処理となっています。
Round96は、0,1,2,...94,95,0,1,..と定義されているテーブルで
lda Round96+1,x で (x+1)%96 の計算をしています。
ゼロページの$b8には、$6cが格納されており、bit <$b8 でv-flagが設定されます。
空きがない場合にv-flagが設定されてリターンします。
363: 2014/11/05(水)02:43 ID:8FC6s1LF(4/5)調 AAS
ファミコンのプログラム領域はROMだし、メモリも余裕無いから、
自己書き換えルーチンには縁が無いと思っていたのですが、
拡張WRAM使うとなると、有効な手段であるなと。
ただ、よく考えないと自己書き換えやっても効果を得られないので
どのようなパターンが有効か思考する必要ありだなというところです。
364(1): 2014/11/05(水)11:50 ID:kV2Q14jG(1)調 AAS
>>360
おお、スプライトも見易くなりましたね。
実機(MMC3B)でExperi10.nes焼いて動かしてみましたが、BGが結構
崩れています。
Experi10_irq114.nesですとBGが崩れはしませんが東方の文字の中心あたり
からチラチラしています。
また、東方を知らないのでわかりませんが会話表示とスクロールをするとたまに
BGが崩れるようです。
(バンク切り替えに失敗したような感じで別の絵が出てました)
参考になれば
365: 2014/11/05(水)18:36 ID:8FC6s1LF(5/5)調 AAS
>>364
実機での確認ありがとうございます。
会話画面表示時のBG崩れは、IRQのCHR-BANKの切り替えと
メイン処理のPRG-BANKの切り替えの衝突です。
PRG-BANKの切り替えは弾丸の移動量や角度算出のテーブル引きで使用しており、
会話画面では行わなくなるので、現在そのままにしています。
366: 2014/11/08(土)23:22 ID:K8lCFBpt(1)調 AAS
ファイル実行したけど会話画面っていったい何のことなんだ
367(1): 2014/11/09(日)03:54 ID:/2f/mjgU(1)調 AAS
セレクトボタンを押しながら上下でバックグラウンドのスクロール量調整
同じく左右で会話画面、ボスHPゲージ消去などができる
368: 2014/11/18(火)00:24 ID:sul/9y5g(1)調 AAS
今月号(先月号から?)のゲーラボに、ファミコンソフト開発って記事が載ってた
初歩的な奴だったから、今月号からかも。立ち読みしかしてないけど
369: 2014/11/22(土)00:37 ID:6HaTj4+E(1)調 AAS
ゲーラボのファミコン開発は1回のみなのかな
DSみたいに連載して欲しいなーと思う
好奇心的な需要が有るんではないかと思ったり
>>360
弾幕が素晴らしいです。ファミコンでは史上初?なのではないでしょうか
BGのIRQスクロールも面白いです。
>>367
参考になりました。ありがとうございます。
370: 2014/11/24(月)07:57 ID:+tDgRqjL(1/2)調 AAS
このスレに常駐して間違いを指摘してる人は何者なのかね?
元ハドソンの中○さん?
371: 2014/11/24(月)08:33 ID:+tDgRqjL(2/2)調 AAS
もしかしてカル○ャーブ○ーンのあの社長か?
372: 2014/11/24(月)19:13 ID:7xFBwqHN(1)調 AAS
おい、具体名だすんじゃねえ
373: 2014/12/27(土)07:48 ID:wLqAfx70(1)調 AAS
このスレではみなさんからのプログラムの投稿をお待ちしています
374: 2015/01/05(月)20:34 ID:AkF9WUbO(1)調 AAS
>>83-85は進展無し?と思ってみたらもう2年前か
375(1): 2015/01/06(火)00:58 ID:uy5dcfqt(1)調 AAS
CじゃなくてFORTHだったら需要あったんだがなぁ
俺の
376(1): 2015/01/19(月)20:41 ID:qeXTNQ6P(1)調 AAS
>>375
FORTHって何ぞ?
377(1): 2015/03/03(火)17:29 ID:zncA3uK1(1)調 AAS
>>376
プログラム言語のこと
似たものにMindがある
378: 2015/03/12(木)23:44 ID:kJFL2HEh(1)調 AAS
>>377
プログラム言語のことだったのね
知らんかった
379(1): 2015/03/19(木)20:54 ID:h0XRN6RW(1)調 AAS
前スレを亀レスするけど数をバラバラに設定すると
完成する時としない時があるのは数学的に証明されてる。
完成しない時があると知った時は10才で、その理由を知ったのは30才だったな。
214 名前:名前は開発中のものです。 [sage]: 2008/10/21(火) 23:36:20 ID:7W0HXoP0
空気読まずに投下
http://www.lenis.info/~axyz/15puzzle0.1.zip
C言語で15パズルとサウンド再生やってみました。
218 名前:名前は開発中のものです。 [sage]: 2008/10/30(木) 20:55:16 ID:thi/0x4l
ってゆーか解けないよね?コレ
219 名前:名前は開発中のものです。 [sage]: 2008/10/31(金) 10:50:22 ID:WqELvFXJ
なんだ、解けないの俺だけかと思ってたw
220 名前:名前は開発中のものです。 [sage]: 2008/11/01(土) 13:16:36 ID:K21w4wpQ
俺もだwww
221 名前:名前は開発中のものです。 [sage]: 2008/11/01(土) 13:54:44 ID:OhOXRJQv
11と12と15をくるくる回してるのは俺だけじゃなかったのか
222 名前:214 [sage]: 2008/11/02(日) 00:09:23 ID:q5gp0DGO
しまった。完成形がわからなかったら解けるわけないじゃん!
0123
4567
abcd
efgh
の形が完成形です。・・・解いても何も起こりませんがw
380: 2015/03/20(金)19:57 ID:SVxvjEKg(1)調 AAS
>>379
作者らしき人に解けない理由が伝わってないのが悲しいな
>完成形がわからなかったら解けるわけないじゃん!
http://www34.atwiki.jp/cc65/pages/39.html
にあるソースを修正しようとしたけどウチの環境じゃうまくコンパイルできなかった
誰か頼んだ
381: 2015/04/01(水)23:40 ID:ii+SttYw(1)調 AAS
何で数がバラバラだと解けないんだろね
タイルの移動する範囲が狭いからとかそんな理由?
382: 2015/04/02(木)10:16 ID:Jr0GAhV2(1/2)調 AAS
他のスレでバカと言われた自分がこのスレでは解けない時が半分あると指摘した人間です。
大学の理数系の初年度程度で履修する偶置換、奇置換等の行列の基礎理論。
まぁ「偶置換 奇置換 行列 15パズル」でググってみて下さい。
383: 2015/04/02(木)10:31 ID:Jr0GAhV2(2/2)調 AAS
追伸
数十年前は、この説明が表紙に書かれていた数学啓蒙誌をその説明だけの理由で買いました。
喫茶店で飲むコーヒー4杯ほどの価格なので、それと比較するとイイ時代になりました。
昔は数学バカだったかも知れません。そして今は何と言うバカなんでしょうかと。
384: 2015/04/06(月)09:13 ID:k4keIaCU(1)調 AAS
12000yenか……それなりのお値段だな……
385: 2015/04/07(火)16:26 ID:Tz4O69qO(1)調 AAS
数学啓蒙誌の価格なら流石にそこまで高くない、5桁の数引いた4桁位かな。
ところで1杯が3000円ってどの辺りで飲むコーヒーだろう。
その他「偶置換 奇置換 行列 15パズル」でググるyaneurao氏のも出てくる。
http://d.hatena.ne.jp/yaneurao/20050821
図があって判り易い感じかと。
386: 2015/05/24(日)23:11 ID:+d4mv7Gn(1)調 AAS
このスレ住民でゲームレジェンドに参加した人いるかね
結構いそうな気がする
387(2): 2015/06/12(金)17:08 ID:pQsOmKIP(1/2)調 AAS
初期のほとんどのゲームでラスタースクロールを使うときに
0爆弾使ってるけどDPCMタイマ割り込みは使えなかったんだろうか
あれを使ってラスタースクロールを実現したゲームってないのだろうか
388(1): 2015/06/12(金)18:51 ID:yYky0Qic(1)調 AAS
>>387
「ファミコン 技術」でぐぐると
じぇみに広野氏が語るファミコンソフトの開発技術
というtogetterがでてくるのであるが、それによると、
ガーディック外伝 でDMCのDMA終了割り込みを使ったが
一部の機種(ツインファミコン?)で割り込みが発生しなかったとのこと。
389: 2015/06/12(金)21:33 ID:yvckrC4h(1)調 AAS
>>387
使ってるゲームはあるよ
ロマンシアとか海外のゲームでいくつか
>>388
それも正しいのか微妙
CPUに内蔵された機能なのにツインの一部の機種だけで起こるとか
ありえるのかね
390: 2015/06/12(金)21:54 ID:pQsOmKIP(2/2)調 AAS
へー興味深い、ツインファミコンじゃなくてあるとすれば考えられるのは初期型ファミコンじゃないかな
あれ音源周りの仕様が後期のロットとは若干違ったはずだしね ただし
時期によってICにヒートシンクついてたりメモリがSOPだったり複数の標準ロジックICが一つのカスタムLSIに置き換わってたり
さらには主要ICのマイナーバージョンも変わってるから他のロットの固有の問題でもおかしくないとは思う
しかしそうか割り込みがかからないものがあるとは・・・
もし使うんなら使用可否の確認ルーチンを使う必要があるのか
391: 2015/06/12(金)22:46 ID:rYOjWPPG(1)調 AAS
なるべく無音になるようなデータを用意しないといけないし、初期ではROM容量的にできないかもね。
392: 2015/06/20(土)12:30 ID:pGMo6MI5(1)調 AAS
http://togetter.com/li/753345
http://www.wizforest.com/OldGood/ntsc/famicom.html
http://techon.nikkeibp.co.jp/article/NEWS/20081106/160884/?rt=nocnt
393(1): 2015/06/20(土)19:48 ID:JHwpVc0c(1)調 AAS
2番目のサイトのパレット、
>実際には12色の中に同じ色を入れないといけなかったりして、12色フルに使うことはできないでしょう。
の解説希望。俺の仕様ではこんな制約はないんだが。
394(1): 2015/06/22(月)00:32 ID:Wqz2EZzo(1)調 AAS
>>393
1パレット3色の組み合わせで指定するので
ソフト制作の都合上、別々のパレットに同じ色を指定することもよくあり
常に異なる25色(SP12色+BG12色+背景色)を同時発色している訳ではない
と解釈しているけど、どう読んだ?
395(1): 2015/06/24(水)23:39 ID:kRbpr0Nr(1)調 AAS
>>394
ハードレベルでできない としか読めないけど。
記憶を頼りに書いて間違ってたとか、逆に割と正確な所もあったりして微妙。
396(2): 2015/06/25(木)22:06 ID:Xz0r0Jej(1)調 AAS
>>395
ひっかかっているのは、「最大25色出せる、というのはあくまでも理論上の話。」という文でしょうか?
「論理上」と言い切るのは私も間違いだと思います。「事実上」と表現するかな。
「論理上」の前の文に「パレットの色が重複してしまう」と条件が書いてあり、
パレットの色を重複して指定するのは、3色の組のパレットで
色指定するというハードウェアの仕様に起因することなので、
ハードウェアの制限と言われても間違いじゃないなと思います。
ただ、サイト先の文章からは、ハードレベルでできない と推測に至る表現は無いかと思います。
異なる25色を同時発色しているゲームの具体例出せないし、
自分が作っているソフトもパレットの色重複しているので
何とも言えないが正直なところ。
397: 2015/06/26(金)06:50 ID:T0jrUs0a(1)調 AAS
>>396
スペック上問題なく出来るのに理論上とか書くから誤解されると思うよ。
最大値は〜色です。という説明だけでいい。「事実上」はいらない。
実際のゲームでは、というくだりから色の重複について画像を入れるなどで
説明すればいいと思うし、そっちのほうがわかりやすいだろう。
398(9): 2015/07/07(火)01:41 ID:c0/ULPSH(1)調 AAS
バックアップを兼ねて制作途中版をアップしました。
東方老桜夢 ver0.10
http://homepage3.nifty.com/~kyoske/nes/TouhouRououmu010.zip
セレクト画面、自機移動+ショット、アイテム、1面中ボス手前までのステージデータを実装。
自機のボム、ボス戦、会話処理などは、これからです。まだ先は長いな。
例によってソース添付していますので、興味がある人はどうぞ。
399(1): 2015/07/11(土)00:00 ID:LzhqW5i3(1/2)調 AAS
なんのアドバイスもできないけど徐々に完成する様を楽しみにしてる
400: 398 2015/07/11(土)00:36 ID:ErBuIZGc(1/2)調 AAS
>>399
何かコメントしてくれるだけでも助かります。
ひとり黙々と作っているのは辛いので。
401: 398 2015/07/11(土)00:55 ID:ErBuIZGc(2/2)調 AAS
皆さんに1つアドバイスして欲しいことがあるのですが、よろしいでしょうか。
Aボタン=ショット Bボタン=ボム で実装を進めているのですが、
ショットを押したまま、ボムを使おうとする場合にA押しながらBを押す操作になります。
赤白ファミコンの場合には、AボタンBボタンが真横に並んでいるので
そんなに押しにくくはないのですが、newファミコンの場合には、
Aボタン右上Bボタン左下に並んでいて押しにくく感じました。
コンフィグで他のボタン割り当ても選択できるようにすることを考えているのですが、
こういうボタン割り当てがよいのではというアドバイスを頂きたいです。
ちょっと考えたネタとしては、
・Bボタン=ショット STARTボタン=ボム Aボタン=低速移動
・Iコン、IIコン2つ持ちで、IIコンのボタンでボム
ってのがあります。
402(2): 2015/07/11(土)20:55 ID:LzhqW5i3(2/2)調 AAS
ショットはBボタンじゃないと操作し辛いと思う
Iコン、IIコン2つ持ちはゲーム性を損ないそうなので反対
自分の知ってる弾幕シューティングだとショットボタン連打=高速移動
ショットボタン押しっぱなし=低速移動なので、それがいいかな
Bボタン=ショット(押しっぱなしで低速移動)
Aボタン=ボム
START+SELECT同時押し(もしくはSELECT押しながらSTART)=リセット
403(1): 398 2015/07/12(日)08:06 ID:eipwc+As(1/3)調 AAS
>>402
最初、Bボタン=ショットで実装していたのですが、セレクト画面を追加した時に
A=決定&A=ボムだと、誤って連打したり、操作方法がわからないので適当に押したりした場合に
ボムを消費してしまうのでまずいなと、変更した経緯があります。
B=決定&B=ショットにするか検証して、問題なければ元に戻す方向でいきたいと思います。
start+selectの両方押しは取り入れたいと思います。
Iコン IIコン2つ持ちは、401の書き込みあと色々やってみたのですが、
どのように持ってもIIコンのボタンが押しにくかったのでボツにします。
newファミコンのコントローラの場合、startとBボタンの組み合わせも操作しやすいのに気付きました。
start=Aボタン=ボム Bボタン=ボム にするのもありかなと考えています。
404(1): 2015/07/12(日)12:33 ID:mpg+Vwo9(1)調 AAS
決定ボタンを連打してたらゲームが始まっててボムを消費してしまうのは
様式美だから気にしなくてもいいと思う
細かいことだけど>>402は
START+SELECT同時押し(もしくはSTART押しながらSELECT)=リセット
の間違いだった
>>403
>start=Aボタン=ボム Bボタン=ボム
Bボタン=ショットってこと?
405(1): 2015/07/12(日)15:35 ID:rjppu/hS(1)調 AAS
セレクト画面の選択はスタートも効くようにしておけばいいんじゃね
個人的にはボムがどっち側か選択出来るといいな
406: 398 2015/07/12(日)15:40 ID:eipwc+As(2/3)調 AAS
>>404
>>start=Aボタン=ボム Bボタン=ボム
>Bボタン=ショットってこと?
すみません。
start=Aボタン=ボム Bボタン=ショット
でした。
407: 398 2015/07/12(日)15:43 ID:eipwc+As(3/3)調 AAS
>>405
コンフィグでのボタン割り当ての変更は実装する予定です。
408(1): 2015/07/12(日)18:47 ID:Rrg+166r(1)調 AAS
連打誤爆が気になるのならセレクト画面はスタートのみ決定にしたらよくね?
409(2): 2015/07/12(日)21:42 ID:eqQNtVxD(1)調 AAS
2A03はDPCMデータをどのタイミングでフェッチしてるんだ
DPCM再生したらプログラムの実行速度遅くなるとかあるのか
410: 398 2015/07/13(月)01:54 ID:ETla0kQ9(1/2)調 AAS
>>408
色々考えて、今のところ、start または ショット(デフォルトBボタン) を決定、
ボム(デフォルトAボタン)をキャンセルに割り当てる方向で行こうかと思っています。
411(1): 398 2015/07/13(月)02:02 ID:ETla0kQ9(2/2)調 AAS
>>409
英文で申し訳ないですが、nesdev wiki の記事によるとDPCMデータを読み込む時に最大4サイクルCPUが停止(ストール)するようです。
http://wiki.nesdev.com/w/index.php/APU_DMC#Memory_reader
412: 2015/07/13(月)21:38 ID:8PTgB6y3(1)調 AAS
>>411
最大4って事は4ではない事もあるのか。別の所では1サイクルとか書いてあった。
>>409
SMB3の左下の方のちらついてる部分が、DPCM音に合わせて右にずれる。
413: 2015/07/18(土)20:00 ID:pgdcYKQP(1)調 AAS
sm26685505
414(1): 2015/07/28(火)03:54 ID:q+8puilX(1)調 AAS
ゲームパッドの裏面同士をくっつけて重ね持ち……
415(1): 2015/08/06(木)22:57 ID:QTHdQd4i(1)調 AAS
東方老楼夢やってみましたがすごいですね。
今後の進展に期待しています。
少し気になったことですが、実機だと自機選択の画面でカーソルを
上下に動かすたびに全体的に画面が少し揺れますね。
416: 398 2015/08/07(金)23:39 ID:YUPlB/cK(1)調 AAS
>>415
実機で画面が揺れるのを確認しました。
PPUにデータを送ることに影響して、IRQ割り込みのカウンタが何かずれているのかも。
バグ表に記録しておきます。ありがとうございます。
>>414
やってみましたが、裏側のパッドのボタンが押しっぱなしになるか、押しにくいのどちらかでした。
417: 398 2015/08/08(土)00:31 ID:BI5FjCuz(1)調 AAS
机上調査レベルですが、実機で画面が揺れる(ピクンと跳ねる)のは、
・PPUへのデータ転送処理より先にIRQカウンタの設定をしている
・パレットの書き換えでPPUアドレスの$3fxxにアクセスしている
のが原因っぽいです。
$3fxxにアクセスするのでPA12のアドレス線が0→1に変化。
これをMMC3が拾ってIRQカウンタをカウントダウンすることで、
1ライン早くIRQ割り込みが発生して、画面がずれると推測しました。
418: 2015/08/09(日)16:51 ID:0ksNtoFR(1)調 AAS
さっしーを本気でブスと思ったことはない、むしろ美人な方
ブスだけど
419: 2015/08/09(日)19:24 ID:ShkksTPS(1)調 AAS
何故、急にさっしーが出て来た?
ともかく美人の範囲には入らない、美人は石原さとみ、佐々木希、エリカ様あたり。
420(1): 2015/08/10(月)20:22 ID:L65BKpn6(1)調 AAS
>>396
中の人でしょうか。
色が重複してしまう理由が書かれていないのです(ファイアーの色をマリオとルイージから取ってこなければならない理由)。
重複しないように設定したいのだが、ハードの制約で重大な問題が生じる為重複させなければならない と読み取れます。
確かに市販タイトルを少し調べてみましたが全て異なる色を使用しているのは見つかりませんでしたが。
それは、総合的なデザイン上の問題だと思います。
画面上に、「マリオ、ルイージ、レディ、ファイア」の4キャラしか出てこないゲームなら、全てに異なる色を設定しても問題ないでしょう。
421: 2015/08/12(水)20:57 ID:vHA00r0T(1)調 AAS
>>420
>中の人でしょうか。
違いますよ。
>色が重複してしまう理由が書かれていないのです
「別々のパレットから個別に色を選択してスプライトを
表示することはできない」というパレットの仕様を
説明したいがために、わざと色が重複する例を
出しているだけと私は解釈しています。
397さんの指摘のように、先に25色発色できるのを提示してから
重複する例を出す構成にするのが誤解を生まない方法だと
思います。
>重複しないように設定したいのだが、ハードの制約で重大な問題が生じる為重複させなければならない と読み取れます。
「理由なく色が重複する例を出した」から
「重大な問題が生じる為重複させなければならない」という考えに至るのが
私の考え方と違うようです。
25色発色できるとも書いてあるし、重複させなければならないと
断言する文言も無いので、私はそう解釈はしませんでした。
総合的なデザイン上の問題 という指摘については同意です。
422(3): 2015/11/02(月)19:23 ID:Lz25rOrT(1)調 AAS
ファミコンのプログラムに興味出たんだけどアセンブラやるならnesasmとcc65はどっちがオススメ?
423: 2015/11/02(月)19:37 ID:GmeIn7pj(1)調 AAS
nesasmがアセンブラ
cc65がC
なのでアセンブラやるならnesasm
プログラミング経験者?
424: 2015/11/03(火)00:48 ID:dgydVfeg(1)調 AAS
cc65はca65つーアセンブラも付属してるよ。
>>422
ca65もnesasmも結果として作れるソフトに差はない。
なので、そういう質問するレベルなら簡素なnesasmで十分だと思う。
425: 422 2015/11/04(水)00:04 ID:MG7aGI5u(1/2)調 AAS
皆さんありがとう
プログラミングは初心者です
公式で配布しているnesasmは64bitで使えないみたいだから、まだ更新しているca65の方がマシかなと思った
自分の探し方が悪いのか?
426: 2015/11/04(水)01:29 ID:jDbZfAAt(1)調 AAS
nesasmはソース付いてるから、自前でビルドして64Bit版nesasm作ってもいいのだが、面倒くさいなら、
MS-DOS Player
http://homepage3.nifty.com/takeda-toshiya/msdos/index.html
とか使えば、配布されてるnesasmのバイナリも、そのまま64Bit版Windowsのコマンドプロンプトの中で動くと思う。
427: 422 2015/11/04(水)01:38 ID:MG7aGI5u(2/2)調 AAS
ありがとうございます
そのソフト別の意味で面白そう
なるほど、自分でビルドしても良いのか
勉強がてらやってみます
428: 2015/11/04(水)01:39 ID:MqFJsopM(1)調 AAS
64bit版NESASMは既にある
http://www.2a03.jp/~minachun/nesasm/nesasm_x86.html
429: 2015/11/27(金)19:22 ID:FGwJ1plm(1/2)調 AAS
>>1
http://orisari.cswiki.jp/index.php?CC65(CA65)
430: 2015/11/27(金)19:23 ID:FGwJ1plm(2/2)調 AAS
>>1
http://orisari.cswiki.jp/index.php?CC65%28CA65%29
431: 2015/11/27(金)22:00 ID:AEiSUGo8(1)調 AAS
VBlank待ちで$2002読んだ後VBlank中にスプライト書き込むプログラム書いたけど実機だと
左から右にスプライトを動かそうとするとスムーズに動いてくれない。ドンキーコングとか市販のソフトみたいに綺麗に動かすには
何を気をつけたらいいですか?
432(1): 2015/11/27(金)22:46 ID:BXn0P/af(1)調 AAS
普通は$2002を使ったVblank待ちを常用するようなことはしない、ギコ猫〜のサイトでも見たのかな?
詳しくはこのスレの上のほうにあるレスを見てね
433: 2015/11/29(日)20:25 ID:MHj/oA6M(1)調 AAS
>>432 ありがとうござます。プログラム変更します。
434: 2015/12/16(水)22:25 ID:+xc8/nu+(1)調 AAS
>>1
アプリ倉庫だったところ
http://www6.atpages.jp/~appsouko/
435(1): 2015/12/27(日)12:38 ID:/47Z3a2E(1)調 AAS
東方老桜夢のver0.20をアップしました。
http://homepage3.nifty.com/~kyoske/nes/TouhouRououmu020.zip
1面ボスまでの実装、ボムは未実装です。
プログラム構造的には、色々と変更中です。
当初は8KBのバンク1個にステージデータを格納する算段だったのですが、一番短い1面で現地点で5〜6KBぐらいのデータになったので、複数のバンクに分散して持つように変更しています。
弾丸パターンのデータが思いのほか大きかった。会話データはこれからだし。
あと、415さんの報告してくれたバグを元に実機判定を行うことで実機用とエミュ用に分けてたnesファイルを一本化できました。感謝です。
436: 2015/12/27(日)13:21 ID:eEDVBk4A(1)調 AAS
ちゃんとゲームになってて面白いわ
437: 2016/01/17(日)16:27 ID:X7lsGmSN(1)調 AAS
8BIT MUSIC POWER
http://riki2riki.com/html/0_sample_8bit.html
http://www.gamespark.jp/article/2015/10/20/61077.html
https://www.youtube.com/watch?v=tb4ec90zWf4
プログラムが凄すぎる。
CrystalMarkみたいなスプライト量。
YouTube30fpsの動画では4倍というのがいまいちよくわからない。チラつきだけで4倍表示させてるのか?
DMAでスプライトダブラー行為するにはBGとSPR両方オフにしないと出来ないという噂だがどこかでオフになっている感じがしない。
音楽部分で消費するクロック数は、VBLANK内か近傍に収めているだろうね、それとも下の方のラインでjsrしてるのか?。
割り込み使うとレジスタ退避などでクロックを浪費するから極力使いたくないだろう。
当初、sprite quadrupler スプライト クワドラプラー かと思ったが違うよな。
計算で位置求めるのは不可能だろうし、横並びのところはスプライト循環もやってるだろうし、
データ丸ごとテーブルで持ってるかな、そうなら長時間収録はできない。
パターンテーブルを4.5バンク切り替えてる?のか、全画面で複雑な絵。
絵1枚で0x2000バイトのパターンを3.5面分総とっかえってことかな。
どこでCHRバンクチェンジしているのか意識させない、バンクチェンジのノイズを抑えているようだ。
こちらはクロック数が切迫していないから、割り込みは使い放題かな。
438: 2016/01/17(日)16:46 ID:t/N02VRF(1)調 AAS
パソファミ関係者っていうのがヤダ
上下前次1-新書関写板覧索設栞歴
あと 129 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.038s