今更だけどNESエミュ作りたいし
■ このスレッドは過去ログ倉庫に格納されています
R@Mイメージをバイナリで開いてみたけど
どうなってんのかわからん。教えれ。 今更だけどNESエミュ作りたいし
http://pc11.2ch.net/test/read.cgi/gamedev/1012110352/
1 名前:名前は開発中のものです。 投稿日:02/01/27 14:45 ID:xpSXygWs
R@Mイメージをバイナリで開いてみたけど
どうなってんのかわからん。教えれ。 >>105
.NETで作ってるエミュは久々に見たわ
これスゴイねー、ソース見させてもらってます
MDX使ってんのね 一応、NESエミュ製作中なんだが
ちょっとわからん事があるんでお聞きしたい。
既存のエミュのソースで
6502でステータスレジスタのフラグを
消去するため(と思われる)の関数を見ると
キャリーフラグの場合
P &= (byte)0xFE;
ゼロフラグの場合
P &= (byte)0xFD;
ってな感じなんだけどフラグ消去するんなら
S.C=0; //S.Cはキャリーフラグ
じゃ駄目なの?
もし物凄い思い違いしてたら指摘して。 MODE SYNTAX HEX LEN TIM
Immediate ORA #$44 $09 2 2
Zero Page ORA $44 $05 2 2
Zero Page,X ORA $44,X $15 2 3
Absolute ORA $4400 $0D 3 4
Absolute,X ORA $4400,X $1D 3 4+
Absolute,Y ORA $4400,Y $19 3 4+
Indirect,X ORA ($44,X) $01 2 6
Indirect,Y ORA ($44),Y $11 2 5+
某所のオペコード一覧の一部です。
アドレッシングモードの上から7番目までは
なんとかわかります。
問題なのは Indirect,X と Indirect,Y です。
6502の色んなサイトを見ても
(Index Indirectとかはあるのですが)
IndirectとXやYなどが付くアドレッシングモードが見当たらないんです。
Indirect,Xとは何ですか?(Absolute Index Xの事?) BIT(A^M)
Aとメモリをビット比較演算します。
CPX(X-M)
Xとメモリを比較演算します。
ベーマガ読んだらこんな風に載ってた。
こういう命令って演算結果をどこに格納するの?
DEC(M-1→M)
これだったら演算結果をMに入れるのはわかるんだけど・・・
C言語だったら M=M-1 ってな感じでしょ? 86の汗しか知らんが、比較した結果はステータスレジスタあたりに書かれるはず >>113
そうですか・・・
ステータスレジスタのフラグのどれかか・・・
自分はまだ6502わかってないせいか
エミュが作れそうも無いなぁ・・・ 汎用レジスタが一本しかないため、全ての計算命令はこのレジスタを対象にすることになります。
↑ 某所からのコピペ。
これからみると6502は全部の計算は
汎用レジスタ(アキュムレータ)対象ともとれる? エミュ鯖の作成方法を教えてほしいんですが、
最初にどんな事をすれば良いでしょうか?
無知なのは知ってますが、それでもできることなら学びたいです。
教えてください 「移植しやすい」「ソースが理解しやすい」といった
点から見て、いいオープンソースのNESエミュってどれ?
出来れば余計な物(エミュレーションに関係ないGUIとか)が
無くて、シンプルなものが良いんだけど・・・ それを自分で調べられない程度の知能では、
理解しやすいしやすくないにかかわらず、お前には理解できない。 有名なオープンソースのは、ファイル数が膨大で、 どうしてそんなファイル数になるのか謎。
シンプルさだけなら、
ttp://www.geocities.co.jp/Playtown/2004/
ここのFamily Computer(NES) Emulator のソースはどうだ。 InfoNESはどうかな?
Windowsアプリだけど
結構シンプルでよく出来てると思う。
対応マッパーもそれなりに多いし
色んな機種やOSに移植されてる。
>>120
これすごくシンプルだね。
これだけのソース量で作れるんだ。
いい見本だね。 NESエミュ製作に「これだけは読んどけ!」というような本ありますか?
6502の本は少し持ってるんですが、NES(ファミコン)全般に
ついて書いてある本があまり見当たらないようで・・
ゲーム機の詳しい本ってあまり無い? で、InfoNESのソースはどこで手に入れられるんでしょうか。 >>123,124
確かに、NES全般について書かれた和書ってないね。
Z80、8086の本は結構出てるんだけど6502の本もほとんど見ない。
なんか、日本ってゲーム機とかのアーキテクチャや内部構造とか
本にするのがタブーっていう風潮ない?
特に任天堂関係はそんな気がするんだが・・・ >>105 のものですが、1年ぶりに来ました
http://hikipuro.is-a-geek.org/nemu/
URL 変更になったのでとりあえずご報告だけ。。
>>106
ありがとうございます。
というか1年前から全く手が付けれていませんw
ヒキ板は引きこもり板です。2chのカテゴリ雑談にあります。
>>108
どもです。
あれから全然進んでませんw
Managed Direct X は便利ですね。
煩雑な処理が要らない感じです。 CPU の動作について質問されている方がいらっしゃったので
何か書けるかなぁと思ったんですが、6502 の動作の仕方について
全く忘れてしまっていましたw
ドキュメントに書いてあることそのまま写したからでしょうね…
身についていませんでしたw >>131
Nemuのソース、参考にさせてもらいました。
ありがとうございます。
前からサイトを拝見させてもらっていたのですが、URLが変わったのを
知らず消えたのかと思っていました。
偶然ですが、私もC#とMDXでファミコンエミュレータを作ってました。 VMを使って仮想NESPCを作ろうとしている者です。
大変不躾ですが、NESアーキテクチャの情報で一番詳しい内容が盛られているサイトを紹介していただけないですか?
こちらの住人方々が利用しているサイトでも構わないので。 >>132
どもです。同士ですね。
前のURLで使っていたDDNSの元サーバがサービス終了してしまったので
移動しないといけなくなってしまって。
ブログ拝見しました。
ユニークなかたですねww
またちょくちょく覗かせて頂きます。
>>133
既にご存知かもしれませんが、
この2箇所が情報たくさんあって良いですよ。
http://nesdev.parodius.com/
http://www.romhacking.net/
NESPCってすごい楽しそうなんですがどんな感じなんでしょうかw
ちょー興味あります。 >134
早々のご返答ありがとうございますo(^-^)o
URLどうもですーwでも上のほうは見ちゃってましたね…。
NESPCって固有名詞使ってしまいましたが、実は仮想マシンとして
ファミコンを作ろうとしているんですよ。
XP Modeならぬ、FC Modeみたいな?(笑)
というか裏を返せば、エミュレータ開発みたいなものなんですがw
氏のサイトの資料も参考にさせていただきますね。
C++で書かれてるんですかぁ DQ4はnsfに効果音も入ってくるので、npnez.dllを使えば効果音だけを鳴らせますが、
FFシリーズの効果音だけ鳴らしたい場合どのようにすればいいでしょうか。
効果音を抜き出してnsfのファイルにまとめる事が出来れば最高なんですが・・・・ この間来た者ですが、ちょっとだけ現れてみる
ファミコンエミュレータのようなOSを作っているんですが、
AppleIIOSイメージが手に入らないため、
とりあえず何もない状態から作っています。
何か進捗とかいろいろ報告するかもしれないので、
その時は感想とかくださいです(^-^)/
ちなみに私は>135です。 マッパー非対応だけど、ご参考。
ttp://egg2.sakura.ne.jp/NESonEXCEL_v01.zip
すいません、わかる方教えて下さい。
PPUのRAMの0x0000 から 0x1FFF までって
キャラのパターン(でいいのかな?)が入ってますよね。
ここって6502がIOポ−トの0x2006 , 0x2007 を使って
PPUのRAMに1バイトずつ書き込んでるんでしょうか?
それとも、ファミコンの電源が入ると、(6502の動きと関係なしに一瞬で)自動で、カセットのCHR-ROMに
繋がるものなのでしょうか?
わかりにくい説明ですいません。 ハード的にPPUとCHR-ROMがつながってる。
カセットが接触不良を起こすと、連動して画面も乱れるでしょ。
ROMの代わりにRAMにして、0x2006 , 0x2007を使って書き込むこともできる。 久々に改良しようとソース見たら、C言語の基本すら忘れかけてて、
自分の作ったプログラム構造(アルゴリズム)も忘れてしもうた。
微妙にスパゲッティ気味だし。 PSPでNesterJ最新を使っていますが
save機能が機能しません。
statesaveするとちゃんとリストに日時と共にsaveされるんですが
そのファイルをstateloadしてゲーム画面に戻っても
loadが反映されてくれないのです。
そういう状況になって解決した方、いらっしゃいますか?
ちなみに、関係あるかわかりませんが
一度statesaveした場所にはdeleteしてsaveしなおさない限り上書き出来ません。
(save→yesしてもsave日時が変わらないのでsave出来て無い?)
ゲームは問題無く動きますが
NesterJのsave機能を利用するための
データかなんかの入れ忘れとか考えられますか?
今さら内蔵音源の(個人的に)新発見をしてしまった。既に実装済みエミュもあるかもしれんが。 簡単にお金が稼げる方法興味ある人だけ見てください。
グーグル検索⇒『来島のモノノリウエ』
JGZLUZW6DD ■ このスレッドは過去ログ倉庫に格納されています