トップページ⇒tech
95コメント33KB

ファミコンのプログラム

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
ファミコンのプログラムを書いてエミュレーターで遊びたいんですが、
特殊な開発機材が必要なんでしょうか?
0002デフォルトの名無しさんNGNG
6502クロスアセンブラ
0003デフォルトの名無しさんNGNG
バイナリを一文字一文字読んでいきましょう。それかオープンソースのエミュを見ましょう。
0004デフォルトの名無しさんNGNG
個人的には当時の開発者がどのように開発していたのか知りたい。
想像するに、とてもプログラミングとはかけ離れた世界だったんだろうな。
アセンブラ以前に、基板の知識前提みたいな
0005デフォルトの名無しさんNGNG
>>4
PCでPSのメモカ読書きする奴あるだろ?
あれでポケステのソフト開発するようなカンジだ。
0006デフォルトの名無しさんNGNG
>>4
> とてもプログラミングとはかけ離れた世界
んなこたぁない(藁
現在のゲームボーイやワンダースワンの開発とほとんど変わらない。
> アセンブラ以前に、基板の知識前提みたいな
それはコンシューマ開発ならみんないっしょ。
でもファミコンはサウンドを除けばガリ版刷り(?)みたいな4,5ページの
ハードの解説書しかなかったので、ある意味簡単だった。
0007デフォルトの名無しさんNGNG
>>4
プログラミングとかけ離れてはいないけど、ファミコン本体より、カセット
基板に載るMMCの方が、種類も多くて覚えることが多い。
本体にしてもCPU(2A03)よりPPUの方が重要。
0008デフォルトの名無しさんNGNG
>>7
たしかに基盤の種類は多かったけど覚えることは多くないだろ
バンク切り替えのレジスタとかか?
んなものぁIO周りのファンクション組むとき一回資料を見ればいいだけ。
PPUもたいして覚えることは無いと思う。
にしてもあのパレットだきゃあアタマ痛かったな・・・
0009デフォルトの名無しさんNGNG
ワタシ、10数年前までファミコンぷろぐらまでしたが、
当時の開発機材は、PC9801にICEを接続して開発してました。
任天堂から支給されたクロスアセンブラは周りの人間には評判よくなかった
ので、どこかのメーカのマクロアセンブラ使ったり、ハ○ソン製のPCengineアセンブラを
使ったりする人がほとんどでした。
ファミコンもいろんな意味でとんでもないハードで、
スプライトの座標はY軸に1ドットずれて表示されるし(これもハードのバグ?)
V-Sync期間越えてVRAMアクセスするとVRAMの内容がグシャるし、
パレット関係も苦労したような気が。他にも色々あったけど忘れた。
RAMも2Kバイトで、スタックは256バイト(6502のスタックポインタは8ビットだ)
なのでメモリ管理も苦労した。それに6502汎用レジスタ3個でどないせっつーの。

色々苦労があったけど、当時が一番楽しい時期だった。
あんときゃ自分も若かったしな(遠い目)

しかしなぜ今更ファミコン?>1さん
0010デフォルトの名無しさんNGNG
6502は$00〜$FFをレジスタ代わりに使えるから…
0011デフォルトの名無しさんNGNG
0ページ最高!
0012デフォルトの名無しさんNGNG
>>8
MMC1とMMC3しか使ったことないんじゃない(HVC-SL基板とかHVC-TK基板とか)?
MMC5とか触ってみたら、そんなこと言ってられないよ。さらにもっとマイナーな
MMC偶数番号とか。
0013デフォルトの名無しさんNGNG
>>9
ハードのとんでもなさといえば、やっぱりMMC1の初期状態だろ。
起動時のバンク状態が不定なので、16Kバイトごとにリセット処理を入れておかない
と時々立ち上がらなくなる。
0014デフォルトの名無しさんNGNG
どっかのエミュレータのページにファミコンの資料があった気がした。
ゲーム開発系ページ。翻訳とかしてる人のページ。
名前忘れた。アドレスはもちろん忘れた。
役に勃たなくてスマン。
0015デフォルトの名無しさんNGNG
昔…と言っても10年前とかそこらだけど、個人で購入できる
ディスクシステム用ゲームの開発機材があったよね?
ハッカー(社名)から出ていて、ケーブルでディスクシステムと当時の
NECパソコンをつないでBASICかアセンブラで組んでいくやつ。
0016デフォルトの名無しさんNGNG
UoNesterのコンパイルに成功!
これでボクも今日からエミュレータ開発者です♪
0017デフォルトの名無しさんNGNG
>>16
人類にとっては小さな一歩でもキミにとっては大きな一歩。
煽りじゃなく、頑張ってほしい
0018デフォルトの名無しさんNGNG
なにげにマルチプラットフォームのゲームになるね。
0019デフォルトの名無しさんNGNG
UoNesterのソース見つからないよ。
0020デフォルトの名無しさんNGNG
機材よりハードウェアの仕様書が必須。
スーファミ用に50頁位の簡単な資料を見ながら作ったことがあるが、
ハードウェアの解析をやってるに近いものがあった。
ソフト的には6502のアセンブラは必要でしょう。
ファミコン用のお絵かきツールもあればラク。
0021デフォルトの名無しさんNGNG
ファミコンのエミュから作っていこう!
ファミコン>スーファミ>サターン>PS>64>DC>PS2
0022デフォルトの名無しさんNGNG
ボクモファミコンのソフト作りたいと思います
作り方教えてください絶対造ります
0023デフォルトの名無しさんNGNG
>>21
???1が逝っているエミュレータというのは、
これから作るモノなのか???
既にある前提での話だとおもてたよ。

まぁ、知ってる人が作ればそう難しくは無いか…
002421NGNG
ごめそ。1は、エミュは、あってファミコンのプログラムを作りたいらしい
わたしは、エミュつくりたい(w
0025デフォルトの名無しさんNGNG
www.caffeine.jp/~cafe/ns/index.html
このページは参考になるんじゃないかな?
誰かこの資料だけでサンプルプログラム作れる人いますか?
0026デフォルトの名無しさんNGNG
しょぼっ
たしか、ノーマルだとプログラム64KB、スプライト64KBだから、
ハードの規模はそんなもんか…
そういえば初期の頃のソフト(ゼビウスとか)は、iアプリなみの
ミニゲーみたいなのばっかだったな。
後期のソフトは、カセットにチップを拡張しまくって
なんとかしてたらしいからな。

大丈夫だ!逝ける!敷居は限りなく低いぞ!
0027デフォルトの名無しさんNGNG
メイレイとかわわかってけど命令の書き方が分かりません
だれかおしえてください
0028デフォルトの名無しさんNGNG
すみません。プログラムについて1から教えてください。
0029デフォルトの名無しさんNGNG
今の人には限りなく敷居は高い気がするが。

>>26
iアプリなみのミニゲームって・・・。あんた本当にそう思ってるの?
0030デフォルトの名無しさんNGNG
初期のファミコンゲームって、ドンキーコングとか?
0031デフォルトの名無しさんNGNG
むずいよ
0032デフォルトの名無しさんNGNG
スーファミソフト乱立の時代には年3〜4本ペース。
同じペースでノーマルのファミコンソフト作ると、
年30〜40本作れそうじゃんか。

ただ、その後のレスからして、CPUの仕組みとか、
メモリマップドIOの仕組みとかの理解済みが前提になってなさそうな…
そこまで敷居の範疇に入るのなら確かに壁は高いかもね。

あと、伝統的に任天堂は何故か知らんが
キャラクターのグラフィックデータを「ネーム」
スプライトの属性データを「オブジェクト」
と呼んでて、最初意味不明に陥るので注意。
0033デフォルトの名無しさんNGNG
ファミリーベーシック使えばファミコンのこと良くわかるよ。
0034デフォルトの名無しさんNGNG
>>33
OH!その手があったのね。しかし、
ファミリーコンピューターは何とかなるとして、
ファミリーベーシックは手に入るのか?
0035デフォルトの名無しさんNGNG
>>34
それもエミュ
0036デフォルトの名無しさんNGNG
メモリ管理とか考えただけで寒気がするよ。
PCの方がゲーム作るのらくだと思うけどね。今の時代。

俺も興味本位でGB弄ってたよ。だけど途中で嫌になった。
制限があるのは上等。その制限がアイデア勝負のゲームを生み出すんだ!!
とか思っていたけど、まさかあそこまでとは。
今のPCのぬるま湯に浸かってた俺には正直、無理だった。

まあやりたい人、頑張って。何か出来たらおれにもみせてね。
0037デフォルトの名無しさんNGNG
>>36
PCのプログラムは汎用化と抽象化が命だからね。
ファミコンはそのゲームだけ動けばOKの世界だから、
実行コードや変数から絵のデータまで、どこに置くかはもう決め打ちだよ。
いかにその辺を自動化出来るかが、開発速度向上のカギだったね。
0038デフォルトの名無しさんNGNG
>>37
カコイイ
0039デフォルトの名無しさんNGNG
ファミコンソフト作ってたよ。

FC->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
>>39
コピペ?
てか、長い!(w
0041デフォルトの名無しさんNGNG
>>40
コピペじゃないよ。
プログラム板は全然来たこと無かったからちょっと
マジに書いてみたけどこの手のスレってもしかして定期的にあがってるの?
まぁいいや。
読み返してみるとツッコミ所満載だけど勘弁ね。
0042デフォルトの名無しさんNGNG
>>41
ごめそ。
いや。勉強になるよ。
漏れも資料あさってみたけど、少なかったもん。
FCの方がいいよ。マリオあるし(なぢょ
0043デフォルトの名無しさんNGNG
思わせぶりに「つっこみ所満載」と言ってるやつが
本当にツッコミ入れたことは無い。
0044デフォルトの名無しさんNGNG
>>43
ヨクヨメヨカコワルイゾ
■ このスレッドは過去ログ倉庫に格納されています