ファミコンのプログラム
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG特殊な開発機材が必要なんでしょうか?
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG想像するに、とてもプログラミングとはかけ離れた世界だったんだろうな。
アセンブラ以前に、基板の知識前提みたいな
0005デフォルトの名無しさん
NGNGPCでPSのメモカ読書きする奴あるだろ?
あれでポケステのソフト開発するようなカンジだ。
0006デフォルトの名無しさん
NGNG> とてもプログラミングとはかけ離れた世界
んなこたぁない(藁
現在のゲームボーイやワンダースワンの開発とほとんど変わらない。
> アセンブラ以前に、基板の知識前提みたいな
それはコンシューマ開発ならみんないっしょ。
でもファミコンはサウンドを除けばガリ版刷り(?)みたいな4,5ページの
ハードの解説書しかなかったので、ある意味簡単だった。
0007デフォルトの名無しさん
NGNGプログラミングとかけ離れてはいないけど、ファミコン本体より、カセット
基板に載るMMCの方が、種類も多くて覚えることが多い。
本体にしてもCPU(2A03)よりPPUの方が重要。
0008デフォルトの名無しさん
NGNGたしかに基盤の種類は多かったけど覚えることは多くないだろ
バンク切り替えのレジスタとかか?
んなものぁIO周りのファンクション組むとき一回資料を見ればいいだけ。
PPUもたいして覚えることは無いと思う。
にしてもあのパレットだきゃあアタマ痛かったな・・・
0009デフォルトの名無しさん
NGNG当時の開発機材は、PC9801にICEを接続して開発してました。
任天堂から支給されたクロスアセンブラは周りの人間には評判よくなかった
ので、どこかのメーカのマクロアセンブラ使ったり、ハ○ソン製のPCengineアセンブラを
使ったりする人がほとんどでした。
ファミコンもいろんな意味でとんでもないハードで、
スプライトの座標はY軸に1ドットずれて表示されるし(これもハードのバグ?)
V-Sync期間越えてVRAMアクセスするとVRAMの内容がグシャるし、
パレット関係も苦労したような気が。他にも色々あったけど忘れた。
RAMも2Kバイトで、スタックは256バイト(6502のスタックポインタは8ビットだ)
なのでメモリ管理も苦労した。それに6502汎用レジスタ3個でどないせっつーの。
色々苦労があったけど、当時が一番楽しい時期だった。
あんときゃ自分も若かったしな(遠い目)
しかしなぜ今更ファミコン?>1さん
0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNGMMC1とMMC3しか使ったことないんじゃない(HVC-SL基板とかHVC-TK基板とか)?
MMC5とか触ってみたら、そんなこと言ってられないよ。さらにもっとマイナーな
MMC偶数番号とか。
0013デフォルトの名無しさん
NGNGハードのとんでもなさといえば、やっぱりMMC1の初期状態だろ。
起動時のバンク状態が不定なので、16Kバイトごとにリセット処理を入れておかない
と時々立ち上がらなくなる。
0014デフォルトの名無しさん
NGNGゲーム開発系ページ。翻訳とかしてる人のページ。
名前忘れた。アドレスはもちろん忘れた。
役に勃たなくてスマン。
0015デフォルトの名無しさん
NGNGディスクシステム用ゲームの開発機材があったよね?
ハッカー(社名)から出ていて、ケーブルでディスクシステムと当時の
NECパソコンをつないでBASICかアセンブラで組んでいくやつ。
0016デフォルトの名無しさん
NGNGこれでボクも今日からエミュレータ開発者です♪
0017デフォルトの名無しさん
NGNG人類にとっては小さな一歩でもキミにとっては大きな一歩。
煽りじゃなく、頑張ってほしい
0018デフォルトの名無しさん
NGNG0019デフォルトの名無しさん
NGNG0020デフォルトの名無しさん
NGNGスーファミ用に50頁位の簡単な資料を見ながら作ったことがあるが、
ハードウェアの解析をやってるに近いものがあった。
ソフト的には6502のアセンブラは必要でしょう。
ファミコン用のお絵かきツールもあればラク。
0021デフォルトの名無しさん
NGNGファミコン>スーファミ>サターン>PS>64>DC>PS2
0022デフォルトの名無しさん
NGNG作り方教えてください絶対造ります
0023デフォルトの名無しさん
NGNG???1が逝っているエミュレータというのは、
これから作るモノなのか???
既にある前提での話だとおもてたよ。
まぁ、知ってる人が作ればそう難しくは無いか…
002421
NGNGわたしは、エミュつくりたい(w
0025デフォルトの名無しさん
NGNGこのページは参考になるんじゃないかな?
誰かこの資料だけでサンプルプログラム作れる人いますか?
0026デフォルトの名無しさん
NGNGたしか、ノーマルだとプログラム64KB、スプライト64KBだから、
ハードの規模はそんなもんか…
そういえば初期の頃のソフト(ゼビウスとか)は、iアプリなみの
ミニゲーみたいなのばっかだったな。
後期のソフトは、カセットにチップを拡張しまくって
なんとかしてたらしいからな。
大丈夫だ!逝ける!敷居は限りなく低いぞ!
0027デフォルトの名無しさん
NGNGだれかおしえてください
0028デフォルトの名無しさん
NGNG0029デフォルトの名無しさん
NGNG>>26
iアプリなみのミニゲームって・・・。あんた本当にそう思ってるの?
0030デフォルトの名無しさん
NGNG0031デフォルトの名無しさん
NGNG0032デフォルトの名無しさん
NGNG同じペースでノーマルのファミコンソフト作ると、
年30〜40本作れそうじゃんか。
ただ、その後のレスからして、CPUの仕組みとか、
メモリマップドIOの仕組みとかの理解済みが前提になってなさそうな…
そこまで敷居の範疇に入るのなら確かに壁は高いかもね。
あと、伝統的に任天堂は何故か知らんが
キャラクターのグラフィックデータを「ネーム」
スプライトの属性データを「オブジェクト」
と呼んでて、最初意味不明に陥るので注意。
0033デフォルトの名無しさん
NGNG0034デフォルトの名無しさん
NGNGOH!その手があったのね。しかし、
ファミリーコンピューターは何とかなるとして、
ファミリーベーシックは手に入るのか?
0035デフォルトの名無しさん
NGNGそれもエミュ
0036デフォルトの名無しさん
NGNGPCの方がゲーム作るのらくだと思うけどね。今の時代。
俺も興味本位でGB弄ってたよ。だけど途中で嫌になった。
制限があるのは上等。その制限がアイデア勝負のゲームを生み出すんだ!!
とか思っていたけど、まさかあそこまでとは。
今のPCのぬるま湯に浸かってた俺には正直、無理だった。
まあやりたい人、頑張って。何か出来たらおれにもみせてね。
0037デフォルトの名無しさん
NGNGPCのプログラムは汎用化と抽象化が命だからね。
ファミコンはそのゲームだけ動けばOKの世界だから、
実行コードや変数から絵のデータまで、どこに置くかはもう決め打ちだよ。
いかにその辺を自動化出来るかが、開発速度向上のカギだったね。
0038デフォルトの名無しさん
NGNGカコイイ
0039デフォルトの名無しさん
NGNGFC->MD->PCE->SFC->SS->PS
他にも ポケ捨てとか
コンシューマのメジャーな奴は殆どやったよ。
FCのアセンブラは結構簡単だけどFCのソフトを作るのは超大変。
何が大変てさFCの仕様を理解するのが大変。
知ってれば大した事無いんだけど資料がメッチャ少なかったからね。
ハッキリ言って教えて君には無理。
自分で資料を探して自分なりに解釈して試して自分で検証する。
自分自分自分。
本がネェとか仕様が判らないなんて言ってる様じゃ20年くらいかかるよ。
0ページとかVSync割り込みとメイン側の切り分けとかFCのDMAとか
VRAM構造とかアクセスモードとかバンクを跨ぐジャンプテーブルとか
今現在主流じゃないテク満載しないとロクな物できないから。
FCソフトの量産体制だって数本作ってフレームを使いまわすから
あのペースで作成出来てただけで1から初心者が作るなら
マジ1年は軽くかかるんじゃないかな。
それでもやってみたいって言うならポケ捨てをオススメするよ。
ポケ捨てならハード依存の部分もあまり無くあの手の中では一番楽。
ARMのアセンブラと ポケ捨て<-->PC 接続キットがあればなんとかなるからね。
その後FCソフトを作る気があるならポケ捨てコードはアセンブラで書くように。
Cで書いた方が効率イイんだけど勉強になるからね。
あーやっぱFCはダメだぁ...
いやスッゲーよく出来てる設計なんだけどね。
凄く少ない資源で最大の効果を上げるハードなんだよね。SFCもだけど。
任天堂の仕様はいつも全然判らないんだけど
調べてくうちにスゲーとか思うんだよね。
ただ敷居が高いから、やっぱ趣味向きじゃないよ。
ポケ捨ての狭い画面とかモノクロが気に入らないっていうなら
メガドラがいいよ。 CPU 6800だからメッチャ簡単だもん。
FCのアセンブラも簡単って言ったけどソレに付随する何かが簡単なんだよ。
なんか上手く表現できないけど両方やれば判るよ。
とにかくオレ的には ポケ捨て。もしくはメガドラ。
PCエンジンは忘れた…Z80だっけ?
あと、ライブラリ&コンパイル環境があるならPS楽しいよ。
PS用のライブラリってネットのどっかにあるのかな?
どっかに電撃アップしちまう?
0040デフォルトの名無しさん
NGNGコピペ?
てか、長い!(w
0041デフォルトの名無しさん
NGNGコピペじゃないよ。
プログラム板は全然来たこと無かったからちょっと
マジに書いてみたけどこの手のスレってもしかして定期的にあがってるの?
まぁいいや。
読み返してみるとツッコミ所満載だけど勘弁ね。
0042デフォルトの名無しさん
NGNGごめそ。
いや。勉強になるよ。
漏れも資料あさってみたけど、少なかったもん。
FCの方がいいよ。マリオあるし(なぢょ
0043デフォルトの名無しさん
NGNG本当にツッコミ入れたことは無い。
0044デフォルトの名無しさん
NGNGヨクヨメヨカコワルイゾ
0045デフォルトの名無しさん
NGNGhttp://hb3.seikyou.ne.jp/home/docokalaki/117.zip
この程度の事をやるのにどれくらいかかりますか?
0046デフォルトの名無しさん
NGNGあくまで研究・閲覧のためだけで、確認次第破棄します。
よろしくお願いします。
0047デフォルトの名無しさん
NGNG0048デフォルトの名無しさん
NGNG間違い。
正しくは、ノーマルだと、プログラムROMが256Kビット(バイトじゃないぞ!)、キャラクタ
ROMが64Kビットだ。
本体に内蔵されているメモリは、ワークRAMとVRAMが各16Kビット。VRAMはBG2枚分だけど、
BGを水平方向に並べるか、垂直方向に並べるかは、カセット側のショートランドで選択する。
0049デフォルトの名無しさん
NGNGじゃぁもっとしょぼいじゃんか
0050デフォルトの名無しさん
NGNGキャラクターROMに置くしかなかったような…
0051デフォルトの名無しさん
NGNG自作エミュで音が出ないのです。
この辺りの解説をきぼん。
0052デフォルトの名無しさん
NGNG0053デフォルトの名無しさん
NGNG0054デフォルトの名無しさん
NGNG削るのに徹夜なんかして・・・泣きそうだった。
CGROMの開いている部分にプログラムを埋め込んでおいて、ただでさえ狭いRAM上に
ダイナミックに転送しては実行する、なんてこともやったなあ。
それに画面2分割スクロールも苦労したっけな。
ラスター割り込みがなくて、0番スプライトを画面中央に置いてBGとの衝突フラグを
ポーリングするしかないんで、そのタイミングを逃すと画面下半分のスクロールレジスタ
をセットしそこなってフレームが乱れるし。
そのために処理時間の管理もうまくやらないといけなかった。
GBのソフトも作ったけど、こっちはFCよりずっと楽だった。
8085カスタム(?)で昔から見慣れたニモニックを使えて、RAMも数倍の容量があって、
ラスター割り込みもあったし、ウィンドウ機能もあった。
スプライトも横に(FCの8個よりも)もっと並ぶし(苦笑)
0055デフォルトの名無しさん
NGNG0056デフォルトの名無しさん
NGNGま、そんなハードばかりだったから仕方ないんだけどさ。
35歳以上の開発者はいい加減引退して欲しいネ!!!
0057デフォルトの名無しさん
NGNG0058デフォルトの名無しさん
NGNGその世代「の極一部」なら同意。
所詮はファミコンバブル期。
0059デフォルトの名無しさん
NGNG俺もゲーボー作ったことあるよ。
たしかにファミコンよりは作り易かったな。
こっちの方が入門にはいいと思うが、まだ生きているハードなだけに
エミュレータはないだろうなぁ。
ところでCPUはZ80とほぼ互換だったけど、8085って名前だったっけ?
スーファミもやったけど、最悪だったよ。
CPUに8ビットモードと16ビットモードがあって、
2種類用のコードがごちゃごちゃに混ざるような感じだった。
ジャンプ先のモードが違うとぶっ飛ぶし…
入門には向かないね。
0060デフォルトの名無しさん
NGNGメモリ管理はアセンブラにシンボル渡すツール作ってしまえば、面倒な作業ではなくなったよ。
アドレスの割り振りも2本目以降そんなに変わるものでもないしね。
それよりハードとの同期を取るのが大変だよ。
あらゆる命令の動作クロック数を把握しておいて、ハードウェアとの
ハンドシェイクを取らなくちゃいけないからね。
>>39
目がドライブのCPUに0が1個足りないから非常に性能が低く見積もられてしまっているよ。
006151
NGNG確かに普通のゲームはNMI割り込みだけで動くんですけど、
ドラクエ類(エニックス)はダメなんです。
0062デフォルトの名無しさん
NGNGそういえば昔はドラクエはエミュ上ではパッチ当てないと音でなかったな・・・
0063デフォルトの名無しさん
NGNG久しぶりにやるとショック!!
0064デフォルトの名無しさん
NGNGスーファミの話になっちゃうけど、一番厄介なのがラスターをスキャンしている時間はビデオ関係の
データ転送が出来ない仕様だったので、垂直か水平のブランク期間まで待てって感じの作りだった。
しかし当然次の垂直同期信号までに次の画面用の計算は終わっておかないとならないので
(NTSCの場合は垂直同期信号は60Hz)、水平同期なんて待ってると60分の1秒では全然間に合わない。
だから、割り込み処理を使って非同期処理の嵐。
基本的にCPUが遅すぎなのでサイズよりも実行速度との戦いになる。
あと、PAL版に移植したときは、垂直同期の間隔が50Hzになったが、これはそのまま移植できた。
PAL用に処理時間が設計されてると、NTSCへの移植は地獄を見るだろうな。
0065デフォルトの名無しさん
NGNGファミコンはサイズとの戦い、スーパーファミコンは実行時間との戦いという感じだった。
0066デフォルトの名無しさん
NGNG変な話だ。
0067デフォルトの名無しさん
NGNGPALって何者なんですか。
海外のやつですか?
0068デフォルトの名無しさん
NGNGなんたってプログレッシブだから静止画オタには憧れの的だよ。
0069
NGNGROMを改造したいぞ〜
0070デフォルトの名無しさん
NGNGこんなん行けるかゴルァ!って感じだったな。
0071デフォルトの名無しさん
NGNGPALもインターレースだろ
0072デフォルトの名無しさん
NGNG0073デフォルトの名無しさん
NGNGdump.exeを使えばテキストにコンバートできるよ。
0074デフォルトの名無しさん
NGNGコンバート=変換って意味だよ。
0075デフォルトの名無しさん
NGNG0076デフォルトの名無しさん
NGNG0077デフォルトの名無しさん
NGNG??? どこが?
0078デフォルトの名無しさん
NGNGインターレースといえは、スーファミ(ファミコン等他のゲーム機全て同じと思う)は、
ほとんどのソフトが似非プログレッシヴモードで動いていたような気がする。
内部的には、プログレッシブに捜査しているかの如く動作し、ビデオ出力する時点で
EVENとODDフレームに分けて出力する。
つまり、垂直同期60Hzと書いたが、内部的には30Hzだったような気がした。
0079デフォルトの名無しさん
NGNG結果的に縦解像度半分のプログレッシブ。
ちなみに表示ラインは光量がインターレースの倍になるため、
画面が焼きつく恐れがありますので
液晶プロジェクタでの使用はご遠慮下さいの注意書き。
0080デフォルトの名無しさん
NGNGエミュ作るならBERO氏のページがいいよ。
資料もおいてあるし、エミュレータとソースもおいてある。
urlは忘れたのでグーグルでFCEとかFPCEとかサーチすれ。
0081デフォルトの名無しさん
NGNGhttp://www.geocities.co.jp/Playtown/2004/
http://www.bekkoame.ne.jp/~bero/
0082デフォルトの名無しさん
NGNGそれって、普通のNTSCのテレヴィに
規格外の信号を送ってプログレッシヴにしてる
てことかな?
それとも元々そんな怪しげな仕様が規格にあった?
0083デフォルトの名無しさん
NGNGその通りでござる。
0084デフォルトの名無しさん
NGNGファミコンの出力に同期が取れないテレビとかあったよね。
0085デフォルトの名無しさん
NGNG相当ナンセンスなような・・・
どうせエミュレータならN88BASIC for Windowsとかで・・・
0086デフォルトの名無しさん
NGNGZSNESのソース落としてきたら、
9割以上アセンブラでギャフン。即退散したヘタレな俺。
0087デフォルトの名無しさん
NGNG>相当ナンセンスなような・
禿同
コンサマー機に良くある制限事項まで綺麗にエミュレートしている
(=優秀なエミュ)であればあるほど、
開発者は苦労する。
何のための制約なんだって感じ。
0088デフォルトの名無しさん
NGNG0089
NGNG0090デフォルトの名無しさん
NGNG0091無能な姦理人@Shiri-Q
NGNG□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
続きはコチラです
http://www.geocities.com/entry_k/main/main01.html
0092デフォルトの名無しさん
NGNGいろんなマシン(OS)上で動く、という利点はあるわな。
0093デフォルトの名無しさん
NGNG0094デフォルトの名無しさん
NGNGJavaをバカにするとJava厨が怒りますよ
0095デフォルトの名無しさん
NGNG■ このスレッドは過去ログ倉庫に格納されています