トップページgamedev
985コメント311KB

ファミコンのプログラム3

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2008/06/23(月) 17:38:05ID:z53SrIuZ
前スレ、何もしねぇカスどもの集まりだったよな。
でも900すぎてホンモノが現れたみたいだ。
もう要らねぇと思ってたけど、そいつらの為に立てたよ。
0312名前は開発中のものです。2009/11/05(木) 13:08:00ID:l85UMOLm
>>311
void Draw(char x,char y,char number)
{
char adress = 0;

adress = ( y - 1 ) * 32 + x ;

*(char*)0x2006 = 0x20;
*(char*)0x2006 = 0x00 + adress;

*(char*)0x2007 = number;
}
これだと書き込む位置が0x2000から0xFF以下なら書き込めるが…
他に方法あるのか
0313名前は開発中のものです。2009/11/05(木) 19:56:59ID:6WbXrm2H
こんな感じでいけたような気がする。
extern int adr;
#pragma zpsym("adr");
adr = 0x2000 + y/32 + x;
*(char*)0x2006 = adr>>8;
*(char*)0x2006 = adr;
0314名前は開発中のものです。2009/11/07(土) 21:04:44ID:Mf3/pBlM
http://ppup.dip.jp/uploader/download/1257595273.zip
ブロック崩しもどき作ってみた。
下に3回落ちたらゲームオーバーのはずなんだけど、
文字(BG)がうまく表示されない。
0315名前は開発中のものです。2009/11/07(土) 21:29:27ID:UmD87ywj
パスが掛かってるよ
03163142009/11/07(土) 22:56:01ID:Mf3/pBlM
passはbbです。
BGで表示できないので、代わりにスプライトを使いました。
http://ppup.dip.jp/uploader/download/1257602099.zip
同じくpassはbbです。
0317名前は開発中のものです。2009/11/14(土) 14:14:41ID:2jXyTTJy
がんばって作った過去の遺物
http://ppup.dip.jp/uploader/download/1258175338.nes
pass:1944
0318名前は開発中のものです。2009/11/15(日) 15:40:05ID:yZ0q6H6M
>>311
スケッチブックに巨大な図を描きながら、関数電卓を叩いて計算してみた。
多分、これで合ってるはず

void DrawBG(unsigned char x,unsigned char y,unsigned char number)
{
  int adr;
  adr = (y-1)*32+x;
  *(char*)0x2006 = 0x20+adr/256;
  *(char*)0x2006 = adr;

  *(char*)0x2007 = number;
}

cc65でコード入力して、この関数呼び出した自作ROMを
エミュで実行すると画面にBGが指定の位置に描画されたが、確証は無い。
0319名前は開発中のものです。2009/11/15(日) 18:16:36ID:2XQwAgah
固定画面ならそんな感じでよさそうだが
スクロールレジスタも考慮するとあんまり一般的な方法ってのはないんじゃね
0320名前は開発中のものです。2009/11/15(日) 23:05:33ID:zpJnzLrg
縦はともかく横は$1fでANDを取ればいいだけだから
スクロールを考慮する必要ナッシング

>>317
頑張ったな
でも流行ってるときに公開すればよかったんじゃね?
0321名前は開発中のものです。2009/11/17(火) 11:58:25ID:9Pkn5HWa
メインループの中でBG書き込みをすると、画面が壊れるんだが、どうして?
0322名前は開発中のものです。2009/11/17(火) 12:59:06ID:O/lLyVUy
表示期間中にPPUいじると画面が崩れるハードの仕様
0323名前は開発中のものです。2009/11/17(火) 22:11:35ID:7i3K3Gjo
>>321
実機?エミュ?
0324名前は開発中のものです。2009/11/18(水) 13:19:33ID:GwpJUAOP
>>323
エミュ
0325名前は開発中のものです。2009/11/18(水) 22:51:06ID:FMqMiJwJ
>>324
そうでしたか。 そんなとこまで再現するとはすごい。 
ちなみに、BGとSPR表示をオフにすれば、表示期間でも書き込みできるはず。
0326名前は開発中のものです。2009/11/24(火) 18:08:45ID:nZ7IaeBO
NESASMでジョイパッドのチャタリングを防ぐにはどうすればいいの?
0327名前は開発中のものです。2009/11/24(火) 18:47:46ID:nZ7IaeBO
いや、前回のと比較するのは知ってるんだけど具体的にどうするのか知りたい
0328名前は開発中のものです。2009/11/24(火) 19:24:15ID:HeI+t05Q
入力受付間隔を調整すればいいだけでは
0329名前は開発中のものです。2009/11/25(水) 20:21:24ID:Y/xKjGNz
LDA 入力読込
PHA
STA 押しっぱのボタンの判定
EOR 1つ前のフレームでの入力
AND 押しっぱのボタンの判定
STA ボタン押した瞬間の判定
PLA
STA 1つ前のフレームでの入力
0330名前は開発中のものです。2009/12/06(日) 03:05:59ID:pC5E5jqQ
CC65で15パズルを作った方が、このスレッドで
公開していたかと思いますが、参考になるのでは。
0331名前は開発中のものです。2009/12/15(火) 15:19:45ID:a558s9Dh
NESASMとcc65ってNES研究室のサンプルみた限りだと記述方式が違うみたいですが
これってなんででしょうか?
0332名前は開発中のものです。2009/12/17(木) 23:49:54ID:U3Y0QHnx
<<321
と同じく、BG関係が出来ません。
VBlank中で、PPUの初期化もしているのですが、
$2006 $2007 でネームテーブルを弄ると画面全体がずれてしまいます。

入門者丸出しですいません
0333名前は開発中のものです。2009/12/17(木) 23:53:07ID:U3Y0QHnx
>>332

×<<321
>>321

ミスりました。
0334名前は開発中のものです。2009/12/18(金) 07:18:22ID:fDXCW/8v
>>331
ソース見てないから多分だが。
1.アセンブラ独自拡張部分が違う。
2.開発規模に差があって、ソース分割したりしている。
0335名前は開発中のものです。2009/12/18(金) 09:45:35ID:BuyHr5qQ
>>332
それをいじるとずれるのは仕様。(内部がスクロール設定と共用してるから)
いじったら、スクロールレジスタで設定する。  ネームテーブルも再設定必要だったかも。
0336名前は開発中のものです。2009/12/20(日) 17:30:01ID:IyBK5veI
ありがとうございます!
LDA #$00
STA $2005
STA $2005

で解決しました。
0337名前は開発中のものです。2009/12/26(土) 01:03:22ID:Yz+hk6s6
ファミコンのプログラムを
作ってみたので、上げてみました。初投稿です。
また機会がありましたら、投稿したいと思っています。
http://ppup.dip.jp/uploader/download/1261756865.zip
pass fami
0338名前は開発中のものです。2009/12/26(土) 23:19:52ID:QFbZJHKM
すごいな
0339名前は開発中のものです。2009/12/27(日) 03:58:45ID:k5Jwzm51
ここまで作ってなぜBボタンに対応しないのか
0340名前は開発中のものです。2009/12/27(日) 04:17:31ID:dzEUSWU4
連射ONでやってみたら、199回超えるとフリーズした
0341名前は開発中のものです。2009/12/28(月) 19:43:15ID:qRtC33ab
これで楽しいクリスマスがすごせそうだ
ありがとう337
0342名前は開発中のものです。2009/12/29(火) 12:33:01ID:lTW0p2Tu
>>337

テトリスすごい
0343名前は開発中のものです。2010/01/01(金) 00:56:26ID:WEjwCp2H
お褒めの言葉、まさにありがたき幸せであります。
また、今回修正版を作りました。
ソースファイルmainの273行目を、and #%10000000からand#%11000000
に変更でBボタンの回転が可能に。
また、相対パスにしてどこにファイルを置いてもアセンブル可能に。
連射のバグについては、修正できませんでした。つまり、私に出来る限界であります。
またの機会があれば、挽回したいと思います。

ファイルのURL > http://ppup.dip.jp/uploader/download/1262274542.zip
pass fami2

0344名前は開発中のものです。2010/01/07(木) 01:25:45ID:jF22eACi
あら丁寧にソースコード付きでステキ。
0345名前は開発中のものです。2010/01/07(木) 18:24:09ID:/pb3LoGR
>>343
GJ あとP'L'AYERに直せない?
0346名前は開発中のものです。2010/01/10(日) 13:08:37ID:29GXWjNI
ダウンロード数が50近いじゃないか
0347名前は開発中のものです。2010/01/21(木) 06:45:05ID:Q/sVFXNu
NES DevKit
http://sourceforge.net/projects/nesdevkit/

これで作ってるやついないんか
0348名前は開発中のものです。2010/01/21(木) 12:00:44ID:wsJ4sicJ
誰も興味無いし時間も無くなったからディスコン
と書かれているな
0349名前は開発中のものです。2010/01/23(土) 01:50:27ID:hz4QiZI9
これアセンブルできるんだな
0350名前は開発中のものです。2010/02/10(水) 17:01:51ID:vFQj1T+q
比較命令を4連続使って、あたり判定を作っているのですが、
スタックが原因で暴走してしまいます。
ループを使って何体もの敵と判定しているのですが、
なぜか2回以上ループさせると暴走してしまいます。
スタックについて、良く分からないのですが、
誰か教えてくれませんか?
0351名前は開発中のものです。2010/02/10(水) 17:33:12ID:asha1W50
原因のコードが無いと分からないよ
0352名前は開発中のものです。2010/02/10(水) 21:56:06ID:n6ohQVMg
多分レジスタのオーバーフローだな
0353名前は開発中のものです。2010/02/10(水) 22:39:11ID:vFQj1T+q
lda $200,y
clc
adc #$0D
cmp $10
bcc crashsprite
lda $200,y
clc
sbc #$0D
cmp $10
bcs crashsprite
lda $201,y
clc
adc #$0D
cmp $11
bcc crashsprite
lda $201,y
clc
sbc #$0D
cmp $11
bcs crashsprite
lda #$00;当たり判定で当たった時の処理
sta $202,y
sta $201,y
jmp nosprite
crashsprite:
0354名前は開発中のものです。2010/02/11(木) 06:19:52ID:+wEnMjxV
ページ境界を意識してみよう。
0355名前は開発中のものです。2010/02/11(木) 11:16:39ID:4IEAI3zI
バイナリを見たところ、ページ境界を挟んでませんでした。
0356名前は開発中のものです。2010/02/11(木) 12:52:58ID:QsCNBYLy
少なくともスタックポインタ(S)を変更する命令は↑にはない。
Sもしくはスタック領域($100-$1ff)を操作しているのはどこ?

ループのどこかで PHA/PLA/PHP/PLP をしてない?
ループの中で PH* して PL* し忘れはよくやる。
0357名前は開発中のものです。2010/02/11(木) 13:52:48ID:4IEAI3zI
スタック操作命令はしてないのですが、JSRはしてます。
0358名前は開発中のものです。2010/02/11(木) 15:37:49ID:et5xB1Ay
jsrとrtsは処理の流れで1セットになってないと駄目だよ
jsrで呼びっぱなしになるとスタックに戻り先番地が積みっぱなしになるから
0359名前は開発中のものです。2010/02/11(木) 18:10:10ID:4IEAI3zI
チェックしたところ、RTSとセットになってました。
解決できませんでしたが、自分の力で何とかしていきたいと思います。
ありがとうございました。
0360名前は開発中のものです。2010/02/13(土) 11:28:12ID:sDFwUFjG
自己解決しました!
ありがとうございました。
0361名前は開発中のものです。2010/02/14(日) 00:03:10ID:LaFtPQUD
>>360
まてまて、自己解決したときは、問題点はどこだったのか、どう改善したのかを書いていくんだ。
0362名前は開発中のものです。2010/02/14(日) 03:31:52ID:syypGNiC
>>350
そもそもスタックについてよくわからないのに、何故スタックが原因だと思ったのかが謎。
たぶん結果的にハズレだったのだと想像してるけど。
0363名前は開発中のものです。2010/02/14(日) 10:56:58ID:gOZSpFKO
原因は分からないのですが、もう1つループを作って、
そっちに当たり判定を書いたらうまくいきました。

>>362
メモリビューアをみたら、$100^$1FF
が、おかしくなってたからです。
0364名前は開発中のものです。2010/02/17(水) 21:19:35ID:JTomCMoH
>>363
nospriteとcrashspriteの2つのパスがあるけど、片方にRTSが実行されないバグ
があったとかじゃないかな? (RTSせずにJMPで呼び出し元に戻ってるとか)
もしくはJMPと間違えてJSRを使っているとか。
0365名前は開発中のものです。2010/03/03(水) 22:25:15ID:NWYoUOba
age
0366名前は開発中のものです.2010/03/05(金) 23:52:48ID:xdcULiY0
スクロールについての質問.
横スクロールゲームをつくっているのですが,
なぜか15フレームに1回8ドットだけ縦にスクロールして,次の15フレーム分は
正常に水平方向にスクロールするという現象が起きており,その原因と解決法が分らず
困っています.


0367名前は開発中のものです。2010/03/06(土) 02:40:39ID:KnZNd5Bx
とりあえず、コード見せて?
どういう手順でやろうとしてるのか見たいから。
03683662010/03/06(土) 03:01:24ID:AwxGSoRf
自己解決したかも
NMI始めのVRAMアクセスで一度に大量のデータを転送しているのが
原因である可能性が高い
新たな地形のグラデータをPPUメモリに書き込む際,
16*16ドットのブロックを縦一列(13個)分
=合計52バイト,しかも2回に1回は属性テーブル7バイト分をあわせた59バイト
をもいっぺんに書き込んでいるからかもしれません.
属性テーブル転送をやめ.ネームテーブルに書き込むデータを半分にすると正常に
動作しました.
とりあえず明日,VRAMアクセスを分配するようにコードし直し,それでも直らなければ
コード晒します.
0369名前は開発中のものです。2010/03/06(土) 12:32:36ID:W2DZun6N
Vblank 期間中に VRAM アクセスが完了してないからじゃないかな?
FC の Vblank 期間は全 262 ラスタラインのうちの 20 ラインだから、
(1789772 / 60 / 262) * 20 ~= 2277
つまり Vblank 期間に入ってから 2277 CPU クロックくらいで
次のフレームの最初のラスタラインの描画が始まってしまう(BG or SP表示時)。
それまでに VRAM アクセスを完了して $2005 を設定しておかないと
スクロールが乱れると思う。
0370名前は開発中のものです。2010/03/07(日) 23:52:29ID:kQ66zFZu
1intでネームテーブルに書き込み可能なのって32くらいまでじゃなかったっけ
0371名前は開発中のものです。2010/03/08(月) 04:41:47ID:5IzYvlf+
>>370
スプライトDMA切って、BG書込みのループを全展開すれば
128くらいはいけるはず(実用的ではないが)
要はコードによると思う。
0372名前は開発中のものです。2010/03/08(月) 10:23:58ID:muoqTmRU
ネームテーブル書き込みは32チップまでって聞いたことあったけど
あれは別にハードの制約ではなかったのか・・・
0373名前は開発中のものです。2010/03/20(土) 23:30:35ID:7oRZCS9K
ロムの改造ってできないですかね?
バグを直したいのでふが
0374名前は開発中のものです。2010/03/22(月) 00:33:34ID:GTcRHOUJ
>>373
自分の作ったものならソースあるだろ
他人の作ったもの?著作権って知ってるか?
0375えいいち ◆GRGSIBERIA 2010/03/22(月) 06:17:25ID:TX6qXJ0Q
エミュレーター動かしてる時点で著作権も糞もないような……。
0376名前は開発中のものです。2010/03/22(月) 09:41:05ID:15cuNssQ
それは認識を誤ってる
0377名前は開発中のものです。2010/03/22(月) 10:05:38ID:NnDh2GxT
>>375
まだこんなこと言ってる人いたんだ
0378名前は開発中のものです。2010/03/22(月) 14:32:44ID:yMBeUZhu
373は、そんな質問してる時点で無理だろ。
つーか、バグの内容を書けない時点で、どうせよからぬ方向性なんじゃねーの。
裏技・改造板のAC化スレの連中の真似でもして、なんかハックROMでも作って神とか呼ばれたいだけとかさ。
0379えいいち ◆GRGSIBERIA 2010/03/22(月) 17:38:49ID:TX6qXJ0Q
>>376-377
そう思う理由を求める。
0380名前は開発中のものです。2010/03/22(月) 19:22:48ID:6QPzvgeX
>>379
まずお前がエミュレーター動かしてる時点で著作権も糞も無いという理由を言えよ
0381えいいち ◆GRGSIBERIA 2010/03/22(月) 22:47:19ID:TX6qXJ0Q
>>380
ある仕組みを再現するソフトを無断で作ってばら撒いたら財産権のいずれかにはヒットするだろう。
場合によってはその仕組みを利用している業界団体から訴えられることもあるが。
(PowerTabEditorとかは勝訴したけど、逆転するまでは公開差し止め食らってたし)

はい、次。
0382名前は開発中のものです。2010/03/22(月) 23:45:51ID:6QPzvgeX
>>381

ばら撒いたらとか、なんでエミュレータの配布の話になってるんだよ。
ファミコンソフトの著作権とエミュレータ自体の違法性の話をごっちゃにするな。
0383えいいち ◆GRGSIBERIA 2010/03/22(月) 23:59:50ID:TX6qXJ0Q
>>382
違法ダウンロードの拡大解釈で適用できなくもないような気がしないけど。
改正著作権法自体が新しいし目立った判例も少ないからなんとも言えんけどね。
違法であることを知っててダウンロードした、ってことに焦点を置けばいいけど、
エミュレータ自体の違法性が立証できなきゃだめだろうね。

ところで、>>376-377マダー?
0384名前は開発中のものです。2010/03/23(火) 07:41:37ID:/Gz7GN4J
まあ感覚的にはアウトってのも分かるんだけど、
「こんなに真似てるんだから絶対どこかで法に触れてるはず。よって違法」では不足なんだろう。

古いニュースだが、米国ではプレステのエミュレーターについての裁判でソニーが敗訴しているらしい。
http://wiredvision.jp/archives/200010/2000100301.html
リバースエンジニアリングは基本的に合法。ソフトウェアエミュレーションも一般にありふれた技術で、
禁止すべきものではない。ただし内部資料を不正に入手するのはダメという判断らしい。
国内でどう考えられてるかは知らないが、まあ似たようなもんじゃないか。
勝算があるならマジコンみたいにガンガン裁判を吹っかけて潰しにかかってるだろう。

ちなみに、PowerTabEditorで問題になったのはこのソフトそのものじゃなくて
このソフトのためのタブ譜ファイル(ギターの楽譜みたいなやつ)の著作権らしいから、
「ある仕組みを再現」することとは関係ないんじゃないかな。
0385えいいち ◆GRGSIBERIA 2010/03/23(火) 17:08:55ID:lRzZdafX
>>384
なるほどね。
でも、地方裁では一応仮差し押さえに成功してるわけでしょ?
これって、ソニーが主張する財産権の侵害が(一時的に)認められた、ってことだから、
まだエミュレーションとかが違法である、ってことの余地は残してないかい?

>「ある仕組みを再現」することとは関係ないんじゃないかな。
違法ダウンロードを促したとして『ある仕組みを利用』している団体から訴えられるかもしれない。
かもしれないで現実にないからアレなんだけど。
0386名前は開発中のものです。2010/03/23(火) 20:09:34ID:d1ah2GJ7
そうだねー、訴えられたら大変だねー、だからエミュレータはダメだよねー
0387名前は開発中のものです。2010/03/23(火) 21:31:29ID:/Gz7GN4J
>>385
その仮差押えは取り消されて、最高裁で件のエミュレーターの製作販売が認められた。決着はついている。
んで、仮に「違法ダウンロードを促した」場合があったとしても、それがどんな法に触れてるのかが問題。
先にも書いたけど、エミュレーターを差押えられる見込みがあるならゲーム会社はとっくに動いている。
それが全てだ。安心してコードを書け。
0388名前は開発中のものです。2010/03/24(水) 03:11:17ID:tfq2QM22
>>385
分かったからとりあえず、VPCとVMwareとXen試してこい
ただし、ちゃんと正規ライセンスは用意すること

ついでにプログラムの特許について調べてくるべきだな
LAMEがMP3の特許侵害にならない理由とか
0389名前は開発中のものです。2010/03/24(水) 16:09:45ID:N9+dhc0y
そろそろ、ファミコンのソフト開発のしている方が
どんなところか気になるところ。絶好調だといいんですけどね。
0390名前は開発中のものです。2010/03/25(木) 00:10:07ID:PKJfXCTY
関連サイトをチラ見したけど
今さら8bitマシンをアセンブラであれこれする気力は沸かないな・・・
もうオッサンなのだろうか・・・
0391名前は開発中のものです。2010/03/26(金) 18:33:48ID:SSNKuKyT
ニコニコ起源でございますが、大百科の解説で詳しく
FC音源について書かれているようです。これを見れば、
音楽ルーチンの作成に役立つかもしれませんな。
>ttp://dic.nicovideo.jp/a/fc%E9%9F%B3%E6%BA%90
0392名前は開発中のものです。2010/03/26(金) 23:37:38ID:z7k/h6T4
>>391
これは、良く細かいところまで載ってるな。
0393名前は開発中のものです。2010/03/30(火) 02:05:14ID:5nqzQvfU
パターンデータとかネームテーブルデータを高速に転送したいです。

普通、VBlank中に転送しないと表示がおかしくなるとのことですが、
BGもスプライトも表示を消した状態であれば、VBlank中でなくても転送
は滞りなくできるのですか?
0394名前は開発中のものです。2010/03/30(火) 19:56:11ID:CrwKa28Y
できるよ。
0395名前は開発中のものです。2010/03/30(火) 20:12:31ID:5nqzQvfU
>>394
ありがとうです。なんとかやりたいことができそうです。
0396名前は開発中のものです。2010/04/10(土) 04:18:56ID:zo1pPVQp
http://www.dotup.org/uploda/www.dotup.org797610.lzh.html
まだ完成には程遠いですがお試し版としてうp
0397名前は開発中のものです。2010/04/10(土) 04:20:38ID:zo1pPVQp

すみません パス忘れてました
pass:nes
0398名前は開発中のものです。2010/04/10(土) 12:48:31ID:+d1SMMvc
>>396
 縦に並ぶ赤い妖精が強くて倒せない。。
 あと、横にスプライトが多く並ぶと一部消えて見えなくなりますね。
 (VirtualNESのスプライト全て表示はさせない設定でプレイ)
 
 俺もファミコンPG作ってるけど、
 弾とか敵とかの制御できてるのが羨ましいです。
0399名前は開発中のものです。2010/04/10(土) 14:23:31ID:bxcAWhGu
>>396
遊んでみた。
・自機の弾が敵をすりぬけてるように思えるときがある
・出現してすぐの敵を倒して出たアイテムが、画面右端で消える(仕様?)
>>398も書いてるけど、横シューならスプライト横並び対策は必須かと
・敵弾もうちょっと遅いほうがいいかも?
これだけ動くものができてるから完成まで頑張って欲しい。
0400名前は開発中のものです。2010/04/10(土) 22:59:00ID:nXNNY2Kb
縦STGって右と左のどっちを上にするのが主流なの?
0401名前は開発中のものです。2010/04/11(日) 00:01:47ID:n+a+0+LZ


ナムコは逆
0402鈴(396)2010/04/11(日) 03:26:21ID:9cQwh3q2
>>398-399
プレイ&指摘どうもです

・横に5体以上キャラが並ぶと1体消える ←解決済み
・一部の敵がショットをすりぬける ←解決済み
・全体的に難易度が高すぎ ←弾速落とす、当たり判定甘くするなどして改善
こんな感じです

アイテムが消えることに関しては現在解決法を考え中です。
ちゃんと消えないようにプログラムしたのに...

かなり難易度が下がったと思います。
製作者とはいえpower 0%で最後の赤妖精全員倒せましたから。
とりあえずもう完成まで上げるつもりありませんので今しばしお待ちくださいm(_ _)m
0403名前は開発中のものです。2010/04/21(水) 00:32:17ID:e7zSGiCF
ファミコンのマリオは、RAMの$0500-$0600領域でブロックの当たり判定をしている
というリッチな使い方をしているようで。また
マリオ3では8KB SRAMを使ってコース全体の当たり判定を行っているみたいです。
他のソフトではメモリをいっぱい使わないブロックの判定法を使っているのか
気になりますね。
0404名前は開発中のものです。2010/04/21(水) 00:55:24ID:QyI9F7Nx
叩いて壊したりコイン拾ったり、マップへの変更が無いなら楽できそう
0405名前は開発中のものです。2010/04/25(日) 11:51:46ID:06Ka9G+L
MMC5の8bitPCMでのwave再生に挑戦してみました。
>ttp://www.1072ch.net/up20b/upload.cgi?mode=dl&file=381
pass nes
0406名前は開発中のものです。2010/04/25(日) 18:13:01ID:9/mZBqJt
Nestopiaのソースを眺めた限りだとMMC5の8bitPCMはちゃんと実装されてるように見えるな。

$5010を見ると
enabled = ~data & PCM_DISABLE; // PCM_DISABLE = 0x1
になってて、そこにdata == 1を送ると
0b111...110 & 1 == 0
だから有効にならないという話のようだ。0もしくは偶数を送ると正しく機能する。
1を送るのが正解ならソースの方が間違ってるな。
0407名前は開発中のものです。2010/04/25(日) 22:49:07ID:10N6ndT1
PCMチャンネルの設定レジスタ5010を0にするとNestopiaでPCMが
発音しました。VirtuaNESですと、0でも1でも音声が鳴るようです。
資料を見ると1で発音するとかいてあるようですが、実際の使用は
どうなのか、解りませんね。8bitPCMを使用したソフトが実際に存在
していないために、厳密に確かめる必要性が無かったためでしょうか。
0408名前は開発中のものです。2010/04/25(日) 23:19:14ID:9/mZBqJt
そうそう、実機でテストしないことには分からないな。
DTM板のMCKスレでTNS-HFC2持ってる人に頼むか、MDC5を動かしてる人に頼むしかないだろうね。
0409名前は開発中のものです。2010/04/26(月) 00:35:45ID:rrvQgS7x
なかなか持っている皆さん、お忙しいようでなかなか
難しいようです。自分で環境を整えるしかないと言えましょうか。
また、これは、エミューレーターのバグにカウントされるか気になる
ところでありますね。
また、とりあえずはPCMとMMC5のテンプレートデモという感じで触れて
遊んでみてください。
0410名前は開発中のものです。2010/04/26(月) 00:44:34ID:BcHSj2s4
推敲しろ
0411名前は開発中のものです。2010/04/26(月) 23:18:50ID:jPpRkmLa
前回の乱文失礼いたした。
MMC5PCMの$5010設定を少々変更いたした。また、コメントの増加と
処理ごとの改行を行い読みやすくした次第に候。
ついでに、解説書もつけました。
>>ttp://www.1072ch.net/up20b/upload.cgi?mode=dl&file=382
pass nes
■ このスレッドは過去ログ倉庫に格納されています