ファミコンのプログラム2
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2005/12/21(水) 02:19:16ID:3YuJDfXD開発ツールはどこで手に入りますか?
0026名前は開発中のものです。
2006/01/03(火) 15:36:50ID:4usH3T8Gmmlで簡単にファミコン音楽作れたんで、
ゲームも簡単に作れないかとふと思ったんだけど
トラッカーってわからんけど
0027名前は開発中のものです。
2006/01/03(火) 16:01:00ID:kGP3ZJhbつttp://gikofami.fc2web.com/
ROMライタとフラッシュEPROM注文した。
5日くらいには届くのでできるか試してみます。
0028名前は開発中のものです。
2006/01/04(水) 00:52:36ID:GpYVyRW7みんなアセンブラでやってる?
Cでも出来るらしいけど、当時はどっちが主流だったんだろう?
有志が作った作品とかってどっかに公開されてない?
質問ばっかでスマソ
0029名前は開発中のものです。
2006/01/04(水) 01:22:50ID:pLczIbe7ツールあんの?
0030名前は開発中のものです。
2006/01/04(水) 01:32:25ID:GpYVyRW7いや、それは俺が聞きたいくらいだが、
ttp://gikofami.fc2web.com/nes/nes001.html
に書いてあった。
今、冷やかし半分で勉強してるけど、
アセンブラは未経験なのとサンプルコードが無いので
ちょっと厳しい。ググったら他にはそれっぽいサイトは無いし・・・
0031名前は開発中のものです。
2006/01/04(水) 11:00:08ID:r0nL0MkN0032名前は開発中のものです。
2006/01/05(木) 03:33:18ID:MYN5hEC+0033名前は開発中のものです。
2006/01/05(木) 03:35:07ID:MYN5hEC+ttp://vsync.org/
ttp://nesdev.parodius.com/
ttp://web.archive.org/web/*/http://k2pts.home.comcast.net/gbaguy/index.htm
ttp://web.archive.org/web/*/http://www.geocities.co.jp/SiliconValley/2368/
0034名前は開発中のものです。
2006/01/05(木) 08:45:17ID:qPXAZexE"c compiler" nesでぐぐったら1ページ目に出るんだが使えないツールなのか?
Cだろうがアセンブラだろうがやらない奴は何もしないんだろうが
0035名前は開発中のものです。
2006/01/05(木) 11:42:25ID:LIPYrlnYギコファミの"giko005.asm"から抜粋なんだけど、
.dw 0 ; VBlank割り込み
.dw Start ; リセット割り込み。起動時とリセットでStartに飛ぶ
.dw 0 ; ハードウェア割り込みとソフトウェア割り込みによって発生
って部分なんだけど、
Q1:「.dw」って何?
Q2:[.dw 0]ってどういう意味?
0036名前は開発中のものです。
2006/01/05(木) 11:52:31ID:LIPYrlnYlda #$3F
sta $2006
lda #$00
sta $2006
1回目と2回目で同じアドレス(2006)を指定しているんで、
上書きされるだけな気がするんだけど?
0037名前は開発中のものです。
2006/01/05(木) 13:00:51ID:bYnb8hjSA2. 2バイト確保して0で初期化。
A3. レジスタが8bitなので2回に分けて書き込むため。そういう仕様。
多分こんな感じ。
0038名前は開発中のものです。
2006/01/05(木) 14:10:44ID:LIPYrlnY.bank 1 ; バンク1
.org $FFFA ; $FFFAから開始
.dw 0 ; VBlank割り込み
.dw Start ; リセット割り込み。起動時とリセットでStartに飛ぶ
.dw 0 ; ハードウェア割り込みとソフトウェア割り込みによって発生
よくわからないけど、以下のように解釈して問題無いかな?
;バンク1の開始位置を指定し、そこへカーソルを移す
.bank 1
.org $FFFA
.dw 0 ; $FFFAをクリアして、次のアドレスへカーソルを進める
.dw Start ; $FFFBにStartラベルへのアドレスを書き込んで、進める
.dw 0 ; $FFFCをクリアして、進める
0039名前は開発中のものです。
2006/01/05(木) 18:00:08ID:XS4i3zMOちゃうねん。
dwは2バイトでんねん。
0040名前は開発中のものです。
2006/01/05(木) 18:28:46ID:qPXAZexEギコネコの中の人に直接きけ
それが早いしあのサイトにも役立つだろう
0041名前は開発中のものです。
2006/01/05(木) 20:55:57ID:LIPYrlnYトン。それはわかった。
なんかまだよくわからなくて、全然思い通りにいかない・・・
今さらながらCの有り難味を痛感しますた
0042名前は開発中のものです。
2006/01/05(木) 23:38:34ID:sj5FhrOS0043名前は開発中のものです。
2006/01/06(金) 02:34:56ID:HZ79Spkz今日は遅いので詳細は明日。っつうか今日の昼に。
(つ∀-)オヤスミー
0044名前は開発中のものです。
2006/01/06(金) 04:42:54ID:Km1d3r0H∧_∧ +
(0゚・∀・) ワクワクテカテカ
(0゚∪ ∪ +
と__)__)
004543
2006/01/06(金) 12:47:06ID:HZ79SpkzフラッシュEPROMはAMDのAM2C9040B-90PC(4Mbit DIP32)
最初に改造した基板はロックマン4のHVC-TGROM-01。これはCHRがRAMになってるもの。
ROMはずしてICソケットつけるんだけどそのままだとピン配置がちがうので合うように配線。
確認のため、ロックマン4(もう一個持ってた)をFamisoonで吸い出して、PRGだけ保存。(NESファイルから先頭16バイト切り取っても可)
それをEPROMに書き込んでソケットに装着→( ゚Д゚)ウマー
書いてて分けわかんないから、PRG,CHR両方ROMのやつとセーブ機能つきのやつもためして文書にまとめまする。
んじゃノシ
0046名前は開発中のものです。
2006/01/06(金) 15:10:12ID:Nj4iNOilすけーよ!!!カコイイ!!!!
004743
2006/01/06(金) 17:15:11ID:HZ79SpkzあしたIC抜きかってくるか・・・
0048名前は開発中のものです。
2006/01/06(金) 18:56:20ID:Ogly7avPぶっちゃけ
0049名前は開発中のものです。
2006/01/06(金) 22:22:59ID:Nj4iNOilどうしたらいいかな?
例えば、あるオクターブのドは周波数いくつなのか?とか
0050名前は開発中のものです。
2006/01/06(金) 22:30:20ID:LQhurnsm0051名前は開発中のものです。
2006/01/06(金) 22:41:05ID:Ogly7avP0052名前は開発中のものです。
2006/01/06(金) 23:27:13ID:ZECTW2Jaまず絶対音感を持つ人を探す旅に出ろ
0053名前は開発中のものです。
2006/01/07(土) 00:16:18ID:FkbuZimZ周波数がちょうど倍になるから、波形が互いに干渉しないから、
オクターブ違っても同じ音だと濁らない…って真面目に答えてしまった…OTL
0054名前は開発中のものです。
2006/01/07(土) 00:23:28ID:VTchWFmVf = 440×2^(n/12) [Hz]
(n=0, ±1, ±2, ...)
0055名前は開発中のものです。
2006/01/07(土) 02:16:05ID:ZYyBNDkeCのコンパイラって無いのかな?
0056名前は開発中のものです。
2006/01/07(土) 02:52:43ID:cZo+B1ioあるっつってんだろが死ねよ
ttp://www.npsnet.com/danf/cbm/cross-development.html
0057名前は開発中のものです。
2006/01/07(土) 09:06:51ID:h1awfdCr0058名前は開発中のものです。
2006/01/07(土) 13:49:49ID:cZo+B1io帰れ帰れ
0059名前は開発中のものです。
2006/01/07(土) 17:25:20ID:ZYyBNDkeCコンパイラっぽいのを見つけたけど
使い方とか使えるのかすらさっぱり
0060名前は開発中のものです。
2006/01/07(土) 17:46:14ID:cZo+B1io0061名前は開発中のものです。
2006/01/07(土) 22:02:56ID:aOs8swnc0062名前は開発中のものです。
2006/01/07(土) 22:16:35ID:ZYyBNDkeバイナリにして読み込んで独自のプログラムで
再生してるの?
0063名前は開発中のものです。
2006/01/07(土) 22:56:27ID:cZo+B1io0064名前は開発中のものです。
2006/01/08(日) 10:32:34ID:tA0kij2z0065名前は開発中のものです。
2006/01/08(日) 12:57:26ID:O5qXYlOW0066名前は開発中のものです。
2006/01/08(日) 13:33:42ID:sWGFp1mBhttp://nesdev.com/bbs/viewtopic.php?t=444&postdays=0&postorder=asc&start=30&sid=f72d46e5e585ef8a2cee6adf330c33b2
http://www.obelisk.demon.co.uk/6502/reference.html
ttp://nesdev.parodius.com/ndox200.zip
ttp://nesdev.parodius.com/NES101.zip <-- なかなかいいかも
0067名前は開発中のものです。
2006/01/08(日) 18:34:11ID:Hv7X1ojZ絶対音感でやってるのだが、どれだけ増減すれば
半音上がるのかがよくわからん・・・
当時の開発者は任天堂から周波数と音階のテーブルみたいなのを
提供されてたんだろうか
0068名前は開発中のものです。
2006/01/08(日) 18:45:56ID:RfwouAGj・音程(ドレミファソラシド)について
ラの音(Aの音):440Hz
※現在はラの音の高さを基準にする
・1オクターブ(倍音)とは
低いラ:220Hz…440/2
高いラ:880Hz…440*2
1オクターブ高くなると周波数が2倍になる
・ドレミファソラシド
下のラ(220Hz)から半音12個上がると上のラ(440Hz)になっている
すなわち半音12=1オクターブ
半音上がると周波数がx倍とすると
x^12=2よりx=1.059463...
0069名前は開発中のものです。
2006/01/08(日) 21:07:47ID:sWGFp1mBttp://nesdev.parodius.com/loopyppu.zip
http://nesdev.com/bbs/viewtopic.php?t=664&sid=f08916315c303cba29c186eafc302397
http://nesdev.parodius.com/2C02%20technical%20reference.TXT
ttp://www.kurohane.net/seisanbutu.phtml NFOv
0070名前は開発中のものです。
2006/01/09(月) 01:04:23ID:pUS+SJOzつ ttp://www10.tok2.com/home/jeuxdeau/frequen2.zip
0071名前は開発中のものです。
2006/01/09(月) 14:57:44ID:pUS+SJOz教えて下さい!!!!
0072名前は開発中のものです。
2006/01/09(月) 15:10:29ID:uichorM688鍵の
つ ttp://www10.tok2.com/home/jeuxdeau/frequen2.zip
71 :名前は開発中のものです。:2006/01/09(月) 14:57:44 ID:pUS+SJOz ←
周波数をレジスターに入れる値に変換する式を
教えて下さい!!!!
0073名前は開発中のものです。
2006/01/09(月) 15:17:06ID:pUS+SJOzA 1 | 55.000000 | N= 2032.832386 = 07F0 h = 1111 0000 b xxxx x111 b
55.000000 を 2032.832386 に変換する式を。
x / クロック周波数 = レジスタの値
と睨んでるんだけど、xはcpuのクロック周波数でもないみたいだし・・・
0074名前は開発中のものです。
2006/01/09(月) 15:45:23ID:4An1LkMjhttp://vsync.org/ns/ns05.html
f = 1.79MHz / ((N+1)*16)
つまり
N = (1.79 / f / 16) - 1
0075名前は開発中のものです。
2006/01/09(月) 15:52:50ID:wv/eeb3+0076名前は開発中のものです。
2006/01/09(月) 16:13:41ID:pUS+SJOzうをおおアリガトン!!!
007770
2006/01/09(月) 17:06:53ID:pUS+SJOz>>74と同じだが
F = 111860.78125 / (N + 1)
N = (111860.78125 / F )- 1
0078名前は開発中のものです。
2006/01/09(月) 18:01:17ID:HphtWT2L0079名前は開発中のものです。
2006/01/09(月) 23:27:38ID:H37Ar4to>54ですでに出てんじゃん
0080名前は開発中のものです。
2006/01/10(火) 00:19:59ID:p+Nwn/kShttp://nesdev.parodius.com/bbs/viewtopic.php?t=916&sid=e7806038eaa27478484292b8b3804c3c
(ちょっと編集付きで引用)
> Does sprite DMA stop the CPU fetch-decode-execute?
>
> Yes. CPU is effectively frozen for the 513 CPU cycles it takes to DMA.
> PPU, APU and everything else continue normally.
0081名前は開発中のものです。
2006/01/10(火) 00:44:47ID:VHVjpRCyそれ音階から周波数を求めるだけの数式だし。
求めた周波数をNESに適用するための数式が別に必要で、それが>>77
0082名前は開発中のものです。
2006/01/10(火) 00:46:58ID:lhfEE2/p$2002を監視して待つしかないんですか?
0番スプライトを描画した瞬間に割り込み発生させる方法とか
ありませんかね???
私が調べた限りでは、無いようですが…。
0083名前は開発中のものです。
2006/01/10(火) 01:07:14ID:UW8xgEqGmmlではチャンネル1,2は出来たけど。
$4000の下位4bitは音のフェードアウト具合だよね?
0084名前は開発中のものです。
2006/01/10(火) 01:16:46ID:QfkWLPLl配線図は後で。
マッパ4(MMC3)用
ROMサイズはスイッチで切り替え。
PRG:32k〜512k
CHR:32k〜256k
SRAM他のからはずして加工すればCHR-RAMも使用可能。
0085名前は開発中のものです。
2006/01/10(火) 01:37:43ID:USK7EXbZ無いよー。
描画した瞬間というより、SPR0とBGとの当たり判定ね。
>>83
エンベロープ使わない状態だとボリューム設定になるよー。
008682
2006/01/10(火) 02:09:46ID:lhfEE2/pやっぱり無いですか、ありがとうございました。
SPR0とBGの当たり判定というのは、
走査線との当り判定という感じでしょうか?
画面中にスプライトの星をたくさん表示しようと思ったのですが、
$2002を監視しなければならないので、
ゲーム本体の処理は、V-BRANK中に全て終わらないと
駄目な感じですかね。
(表示期間中は、待って処理、待って処理…になってしまうので)
008785
2006/01/10(火) 02:32:52ID:USK7EXbZ>走査線との当り判定という感じでしょうか?
似てるけど違う…かな。
走査線がそこまで行って、BGとSPを表示する際、BGとSPのピクセルが
重なっていると$2002のbit6が1になる。
>$2002を監視しなければならないので、
>ゲーム本体の処理は、V-BRANK中に全て終わらないと
>駄目な感じですかね。
$2002のフラグ変化が起こるまでに処理が終了していれば良いわけで、
ゲーム処理がVBLANK中に全て終わる必要は無いよ。
フラグ変化を検出し何らかの処理を行った後もVBLANKに入るまでは
好きに使えるし。
ただ、VRAMアクセス等はVBLANK中に全て終わらせておく事が重要。
ぶっちゃけ割り込み使う方が楽だけどねw
0088名前は開発中のものです。
2006/01/10(火) 15:54:18ID:ImXNJw3kそんなの作ってくれ。
0089名前は開発中のものです。
2006/01/10(火) 21:18:58ID:UW8xgEqG教えて下さい。
例えば、画面の中心あたりのマスを書き換えるには
どう書けばいいでしょう?
009089
2006/01/11(水) 01:21:01ID:dgLDPcfU0091名前は開発中のものです。
2006/01/11(水) 01:23:29ID:dgLDPcfUって何なんでしょう?
まあ1バイト確保ってのはなんとなくわかるんだけど、
ニーモニック表に載ってないし。
あと右の0って
0092名前は開発中のものです。
2006/01/11(水) 01:34:25ID:dgLDPcfU1バイトのデータ領域を割り当てる(定数や変数を定義)
0は初期化する値。
dw (define word) 1ワード=2byte
------------------------------
以下はMASM擬似命令
dd (define double word) 2ワード=4byte
dq (define quad word) 4ワード=8byte
dt (define ten byte) 5ワード=10byte
0093名前は開発中のものです。
2006/01/11(水) 01:35:20ID:dgLDPcfU92=93
0094名前は開発中のものです。
2006/01/11(水) 01:54:02ID:CcalbWR20095名前は開発中のものです。
2006/01/11(水) 02:58:12ID:dgLDPcfU0のとこを変えても初期値はかわらないお?
0096名前は開発中のものです。
2006/01/11(水) 03:08:14ID:miDNyD4z0097名前は開発中のものです。
2006/01/11(水) 03:14:26ID:dgLDPcfU0098名前は開発中のものです。
2006/01/11(水) 03:15:45ID:dgLDPcfU0099名前は開発中のものです。
2006/01/11(水) 03:22:51ID:miDNyD4z0100名前は開発中のものです。
2006/01/11(水) 20:15:53ID:1bSsW+4/0101名前は開発中のものです。
2006/01/12(木) 01:08:40ID:3E3wsqiqとりあえずこの.dbの使い方はおかしい
.bank: 出力ファイルのカレント出力位置決定(8KB単位、もちろんヘッダは除いた上で)
.org: 出力ファイルのカレント出力位置決定(8KBのモジュロ)、
カレントアドレス設定
たとえば
palette_data:
みたいにラベルを書くと、ラベルとアドレスは対応付けられる。
そのためにアセンブラは今アドレスがどこなのかってことを知ってなきゃいけないでしょ?
それがカレントアドレス(俺用語なので注意)
.db: 出力ファイルのカレント出力位置にその数字をそのまま埋め込み、
カレントアドレス1進める
.ds: カレントアドレスをその数字ぶん進める(.codeまたは.data中はファイルに0を出力)
.zp .bss .code .data: よく知らないですごめん
0102名前は開発中のものです。
2006/01/12(木) 01:24:09ID:vnnixNFQRAM領域での変数宣言は>>101の言うように.dsでするのが正解
0103名前は開発中のものです。
2006/01/12(木) 09:15:42ID:tm+s0g6Y0104名前は開発中のものです。
2006/01/12(木) 11:20:22ID:fVE+pPJ90105名前は開発中のものです。
2006/01/12(木) 16:54:38ID:j5ftWcK6ttp://up.isp.2ch.net/up/44da2566147f.zip
配線図は後で。
マッパ4(MMC3)用
ROMサイズはスイッチで切り替え。
PRG:32k〜512k
CHR:32k〜256k
SRAM他のからはずして加工すればCHR-RAMも使用可能。
おとせませんでした T_T
どんなことが描いてあるのでしょう?
詳細キボン!
0106名前は開発中のものです。
2006/01/13(金) 00:32:16ID:BxGX27dQまだ時間はある
モデムを繋いでISP2chに入会しなさい
0107名前は開発中のものです。
2006/01/13(金) 05:38:09ID:Hp0+Miqx何も描いてない
ミミズの這ったROM基板が写ってるだけ
0108名前は開発中のものです。
2006/01/13(金) 06:15:11ID:TB4jRHS+grand theftendoはダウソ出来ないっぽいし
0109名前は開発中のものです。
2006/01/13(金) 18:25:51ID:TB4jRHS+0110105
2006/01/13(金) 18:56:57ID:XBF3VETmう〜〜〜〜〜〜〜ん;;;
0111名前は開発中のものです。
2006/01/15(日) 04:44:11ID:T4s4AELcPSも個人で開発可能だな。
しかしエミュレータの再現性が低いから
あんまり流行らないだろうな。
0112名前は開発中のものです。
2006/01/15(日) 09:54:29ID:MKptyrXa最高に最低だぜえ
0113名前は開発中のものです。
2006/01/18(水) 02:47:19ID:1NB8Beti0114名前は開発中のものです。
2006/01/18(水) 07:06:07ID:4n+3UpW70115名前は開発中のものです。
2006/01/19(木) 04:22:32ID:yOB/O1J50116名前は開発中のものです。
2006/01/19(木) 09:04:53ID:j0ICvdvH何でもいいから自分で作ってうpしやがれ
0117名前は開発中のものです。
2006/01/20(金) 02:24:33ID:MeP5kqC6掛け算、割り算を自分で実装しなきゃならんし。
10進数の表示も。
ちょっと大変な処理するとすぐ処理落ちするし・・・
0118名前は開発中のものです。
2006/01/20(金) 06:28:00ID:dQzHZbAR0119名前は開発中のものです。
2006/01/20(金) 07:23:15ID:wjDjzWN1まあお前には難しいだろうな。
0120名前は開発中のものです。
2006/01/20(金) 07:49:27ID:MeP5kqC60121名前は開発中のものです。
2006/01/20(金) 07:57:20ID:daNvPLeB0122名前は開発中のものです。
2006/01/20(金) 11:09:03ID:z0Mniy5g0123名前は開発中のものです。
2006/01/20(金) 17:55:54ID:fLZcoIuYICが手元に無い
0124名前は開発中のものです。
2006/01/20(金) 19:29:48ID:z0Mniy5g>123の座布団全部持ってって
0125名前は開発中のものです。
2006/01/21(土) 01:25:22ID:Cm0+APB2口だけではなんとでも言えるから
それこそ脳内コンパイル(アセンブル)なんて誰でもできますから
口だけで威張り散らしたり見下したりする事の無意味さに早く気付いてほしい
■ このスレッドは過去ログ倉庫に格納されています