[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2ch.scのread.cgiへ]
Update time : 10/21 19:51 / Filesize : 213 KB / Number-of Response : 571
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:名前は開発中のものです。 mailto:sage [2012/07/29(日) 14:19:03.64 ID:a5QeqSA0.net]
■過去スレ

ファミコンのプログラム
pc8.2ch.net/test/read.cgi/gamedev/1013696305/

ファミコンのプログラム2
pc11.2ch.net/test/read.cgi/gamedev/1135099156/

ファミコンのプログラム3
toro.2ch.net/test/read.cgi/gamedev/1214210285/

■関連サイト

MagicKit Homepage
www.magicengine.com/mkit/
すずめ愛好会
web.archive.org/web/*/http://vsync.org/ns/index.html
ギコ猫でもわかるファミコンプログラミング
gikofami.fc2web.com/
わいわいの巣
www.geocities.jp/yy_6502/
mck hogehoge
takamatsu.cool.ne.jp/dutycycle/
NES info, programs, and demos
nesdev.parodius.com/
pgate1@crystal
crystal.freespace.jp/pgate1/
cc65 @ wiki
www34.atwiki.jp/cc65/

78 名前:名前は開発中のものです。 mailto:sage [2013/01/13(日) 23:55:52.07 ID:SvwqFKWD.net]
>>75
有益な情報をありがとう
ファミコンのプログラムはもうずっと前からしてるがこれははじめて知った・・・

79 名前:名前は開発中のものです。 mailto:sage [2013/01/14(月) 01:42:33.45 ID:9rveIWjC.net]
>>78
これらを使用していたソフトが無いから、任天堂からの資料にも書いて
いなかったんだと思う

使いどころを考えてみたら、DPCMのを鳴らす前のプチノイズが出ない
ようにしたり出来るかもって位かなあ?

80 名前:名前は開発中のものです。 mailto:sage [2013/01/14(月) 02:00:53.73 ID:9rveIWjC.net]
リンク先にまだ情報あったわ

wiki.nesdev.com/w/index.php/CPU_pin_out_and_signal_description

TSTピン(30番ピン)をプルアップにしないとダメなのかな?
試せる人いたらタノム

81 名前:名前は開発中のものです。 mailto:sage [2013/01/14(月) 10:39:53.71 ID:tzjT4Zjb.net]
>>75
やっぱり
NesDev界隈には回路の写真から解析しちゃう人いるんだな
色付きの線で実に説明上手だ

祭りだワショーイ

>>80
オープンバスって「レジスタに繋がってないただのアドレス」
という意味でいい?

82 名前:名前は開発中のものです。 mailto:sage [2013/01/14(月) 18:03:11.53 ID:9rveIWjC.net]
どうなるんだか試さないとわかんねw

83 名前:名前は開発中のものです。 mailto:sage [2013/01/14(月) 23:45:03.97 ID:XSpdI2pt.net]
ちょっと質問なんだけど、アセンブラってみんな何使ってる?

ファミコン用のCライクな言語のコンパイラを作っていて、
とりあえずnesasm向けのasmを出力してるんだけど、
リンクとか考えるとcc65のアセンブラのほうが高機能っぽいので現在迷い中・・・

84 名前:名前は開発中のものです。 mailto:sage [2013/01/15(火) 00:44:21.46 ID:bZUsNHpr.net]
Cライクってのがわからん
このスレにCは需要無い

Cでやるならcc65のCを使うでしょ


x86のCコンパイラが吐く自動変数っぽい仕組みのを
nesasmで書けるマクロ組んでみたけど
遅くて使い物にならなかった

85 名前:83 mailto:sage [2013/01/15(火) 10:34:28.65 ID:DThX962j.net]
>> 84

自分が見た範囲だとnesasm使ってる人が多そうだけど、それ以外にもメジャーなアセンブラがあって、
そっちのほうが便利だったら乗り換えたいなというくらいの気持ち。
nesasmは、リンク機能がないのが直近の不満なんでそれ書いた。


> 遅くて使い物にならなかった
cc65が出力するasmを見て、このままだと遅すぎて使えないってのは同意。
工夫すれば実用的(アセンブラの1/2くらい?)にはなりそうなのでちょっと作ってみてるというところ。
といっても、割り込みや速度が必要なコードはasmで書かないとだめなのは諦めてる。

> このスレにCは需要無い
高級言語の需要はなさそうだなぁというのはわかってて、そういうの作ってるっていうのを書いたのは、
もしかしたら興味あるひとがいたらいいな、という下心はすこしありましたw

86 名前:名前は開発中のものです。 mailto:sage [2013/01/15(火) 20:25:38.47 ID:/uFBc3xt.net]
4018-401Aを読んでみたけど、どれも64が返ってくるだけだった。



87 名前:名前は開発中のものです。 mailto:sage [2013/01/17(木) 00:19:49.08 ID:hcjbSNgf.net]
がっかりして書き込みなし?

88 名前:名前は開発中のものです。 mailto:sage [2013/02/04(月) 21:07:41.31 ID:fkuzgt9B.net]
/:/: FAMILY NEWS
 2013年1月25日、48時間でゲーム作れやぁという世界規模のイベント
global game jamが日本で開催された。
 様々な作品が発表される中、札幌会場では、何とファミコンのゲームも
開発されたという。それが、これ。

ttp://globalgamejam.org/2013/famicom-nes-regeneration-project

 小規模の作品ではあるがしっかりと動く模様だ。開発はハンドアセンブラ
で製作、というから驚きである。48時間の多くは、ファミコンの仕様調査に
費やされたとのこと。なんとも変態的な情熱である。

89 名前:名前は開発中のものです。 mailto:sage [2013/02/12(火) 19:45:05.71 ID:9xgYPqEW.net]
nesdev消滅したのかと思った

90 名前:名前は開発中のものです。 mailto:sage [2013/02/19(火) 22:29:22.33 ID:O/soUU/G.net]
数年前に比べてファミコンに関する資料がかなり増えたね

91 名前:名前は開発中のものです。 mailto:sage [2013/02/20(水) 20:52:03.13 ID:JiXwRlwj.net]
10年前はもっと…

92 名前:名前は開発中のものです。 mailto:sage [2013/03/02(土) 00:41:19.83 ID:hFHJmNkE.net]
 ファミコン用の音楽ドライバを見つけたぜ。cc65でコンパイルした
libファイルを組み込んで鳴らしい。使い方はまったく解らん。内部構造
とかは詳しく解説してはあるヘルプが付いてるけどね。ちなみに、これ
用のmmlコンパイラも付属しているよ。
ttp://shaw.la.coocan.jp/nsdl/

93 名前:名前は開発中のものです。 mailto:sage [2013/03/02(土) 00:47:42.77 ID:8Km8c4Ly.net]
あ、そういうことする人なんだ

94 名前:名前は開発中のものです。 [2013/04/18(木) 23:16:17.58 ID:IMzwu5mh.net]
>>92
すごい.
なによりも,この開発者さんの情熱が凄い.
ぜひ使わせてもらおう.

95 名前:名前は開発中のものです。 mailto:sage [2013/06/02(日) 03:27:36.01 ID:3ZWnZLQL.net]
来月はファミコン発売30周年だな

96 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) NY:AN:NY.AN ID:V4wzSO+/.net]
初歩的なこと聞くけどBGのネームテーブルとかスプライトデータ64*4
のデータを見ること出来る?スーパーマリオで土管に乗るとかPPUのデータ
から判定してるかな?まさかCPUのRAM0x0000-0x07ffに入れてそれを見てる
ってことはないよね?



97 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) NY:AN:NY.AN ID:x8PldMXb.net]
画面描写中はVRAM見れないよ
デュアルポートRAMなんてなかったし

98 名前:名前は開発中のものです。 [2013/08/06(火) NY:AN:NY.AN ID:3KQG/adI.net]
マリオブラザーズなら
VRAMのデータで当たり判定してたはず
画像ハックすると永久落下とか?

こんなのは例外で
スーパーマリオなど普通はCPU空間のRAMに仮想地形を作る

99 名前:名前は開発中のものです。 [2013/08/14(水) NY:AN:NY.AN ID:qLnn+CpW.net]
www.nicovideo.jp/watch/sm21497613

100 名前:名前は開発中のものです。 mailto:sage [2013/08/17(土) NY:AN:NY.AN ID:uCbYKHDz.net]
>>98
>VRAMのデータで当たり判定してたはず
>画像ハックすると永久落下とか?

自機の移動先座標のドット色情報で当たり判定してたベーマガの投稿プログラムを思い出した

101 名前:名前は開発中のものです。 [2013/10/13(日) 05:30:26.19 ID:2zt6NDsD.net]
スクロールなしの固定画面で
走査線割り込みによってパレットを書き換えて色数を増やしている
ソフトの代表例を教えてください

102 名前:名前は開発中のものです。 mailto:sage [2013/10/13(日) 06:09:25.87 ID:j6RhH/8y.net]
3Dホットラリー

103 名前:名前は開発中のものです。 mailto:sage [2013/10/13(日) 14:35:35.53 ID:WWg/r0Uv.net]
メタルスレイダーグローリー

104 名前:名前は開発中のものです。 mailto:sage [2013/10/17(木) 22:51:09.98 ID:JAf2Y+Vq.net]
元々の選べる色が50数色程度じゃ
パレット書き換えしても劇的な変化はないんだな

105 名前:名前は開発中のものです。 mailto:sage [2013/10/21(月) 23:14:22.41 ID:JGQ8j3II.net]
パレットを高速で入れ替えると中間色みたいになる

106 名前:名前は開発中のものです。 mailto:sage [2013/10/22(火) 01:38:09.46 ID:fuBZsr5L.net]
ドルアーガでやってたな



107 名前:名前は開発中のものです。 mailto:sage [2013/10/28(月) 15:22:51.38 ID:mnXgpw7y.net]
キラキラスターナイトの音楽って当初はmckで作ってログなんだってな。
音楽で800kbとかワロタ。
最終的には92のサウンドドライバにさしかわったそうだ。

108 名前:名前は開発中のものです。 mailto:sage [2013/11/22(金) 17:22:34.78 ID:0CxishgT.net]
すいません、16進数でFCはリターンですか?

109 名前:名前は開発中のものです。 mailto:sage [2013/11/22(金) 19:13:43.33 ID:ePLUfS2n.net]
難しい質問だ

110 名前:名前は開発中のものです。 mailto:sage [2013/11/22(金) 21:49:34.37 ID:dQaQiKPU.net]
6502の話ならRTSは0x60でしょ
0xFCは未定義

111 名前:名前は開発中のものです。 mailto:sage [2013/11/27(水) 18:47:29.95 ID:2qPkVWWu.net]
6502は未定義命令多いよね

112 名前:名前は開発中のものです。 mailto:sage [2013/11/27(水) 22:25:07.60 ID:AIPgO1s0.net]
108です、ポートピア連続殺人事件のバイナリを見ていて
文章の後からなずFCになっているので
文章のサブルーチンからリターンするコードがFCなのかな?と思ったのです
未定義というのはユーザー定義で自由に使えるということなのでしょうか?
だとすれば中村光一氏が定義したのかな?と思います

113 名前:名前は開発中のものです。 mailto:sage [2013/11/27(水) 22:34:47.33 ID:2GaPYVty.net]
な、なんだってー!! Ω ΩΩ

114 名前:名前は開発中のものです。 mailto:sage [2013/11/27(水) 23:17:01.96 ID:H3/K2JY+.net]
ただ単に、文章の最後を表すために、FC使っているだけ。
ちなみに、ポートピアなら、固有名詞にも特定の値を当てはめて、
容量を節約している。

115 名前:名前は開発中のものです。 mailto:sage [2013/11/27(水) 23:56:34.99 ID:xJTLP5X/.net]
なんだ、ただのバカじゃねえか

116 名前:名前は開発中のものです。 mailto:sage [2013/11/29(金) 23:43:36.26 ID:+yLhVUXN.net]
>>112
君はまず命令とデータの区別をつけるところからだな
あと未定義というのは何らかの既定の動作はするが使い道が無いということ
他と同じ動作だったり、ナンセンスな動作だったり、何かを破壊したり



117 名前:名前は開発中のものです。 mailto:sage [2013/12/28(土) 09:38:36.09 ID:NXkYsMWn.net]
6502の未定義命令表ってどっかに落ちていたような・・・
とはいっても2a03とオリジナルで違うような気もする

118 名前:名前は開発中のものです。 mailto:sage [2014/02/25(火) 00:48:36.47 ID:PEseuuNL.net]
同人でファミコンゲーだしてみたいので勉強中
実機でできるようになるまで遠いなぁ

119 名前:名前は開発中のものです。 mailto:sage [2014/03/11(火) 21:45:52.01 ID:xOOt/lks.net]
BG読書き時のレジスタアクセス等の手順を日本語で正しく説明しているサイトってないかね?

120 名前:名前は開発中のものです。 mailto:sage [2014/03/11(火) 23:17:40.95 ID:Ee7AGpD7.net]
古い情報を掲載してるとこしか知らない。
どこかで詰まってて表示できないとかトラブル抱えてるならソースファイルちょっと見せて?

121 名前:名前は開発中のものです。 mailto:sage [2014/03/12(水) 00:28:23.93 ID:WZH/SRI7.net]
ロジックは正しいハズなのにBG表示上手く行かねーって時あるけど
そういう時って大抵「ブランク期間中に全ての処理を一括でやらせて終わるのを待つ」的なロジックだったりする

ファミコンさんって割とレトロで非力な環境なので、毎フレームBG全書き換えできるほど速度早くないっていう。
なので、BG書き換え期間中は非表示にして、書き換え終了後にのみ表示する設定にすると、うまくいく事がある。

122 名前:名前は開発中のものです。 [2014/03/12(水) 01:37:23.21 ID:sVRc03+V.net]
スクロールレジスタ戻してないに1票

123 名前:名前は開発中のものです。 mailto:sage [2014/03/12(水) 21:31:45.55 ID:AKXlzqE0.net]
まだこのスレ見てる人結構いるんだな。。。。

124 名前:名前は開発中のものです。 mailto:sage [2014/03/20(木) 16:18:48.51 ID:NcrvcaHS.net]
スレチかもしれんがSFCのことについて聞きたい。
65816でCOP命令ってあるよね、あれ普通のソフトウェア割り込み命令とどう違うの?
てかコプロセッサ使用時にどう使えばいいの?

125 名前:名前は開発中のものです。 mailto:sage [2014/03/20(木) 23:57:41.03 ID:nDoqvjBg.net]
別枠で跳び先用意してるだけで、仕組み自体はソフトウェア割り込みそのもの。
意味があるかは別として、コプロセッサを使う以外の処理にも使用できる。(使用頻度が高いルーチンの呼び出しとか)
コプロセッサは、COP命令発行後、割り込みベクタを参照して飛んだ先のルーチンで、普通にI/O叩いて使う。
パラメータ渡したり、処理に違いをつけたかったら、レジスタで処理番号渡してルーチン側で分岐とか、
スタックにパラメータ積んどくとか。

ちょっと昔のパソコンで浮動小数点演算ユニット使うのとあんまり変わらない。(というかそのものか)

126 名前:名前は開発中のものです。 mailto:sage [2014/03/21(金) 00:22:20.42 ID:P1JaUJrV.net]
【65816:SNES】アセンブリ【6502:NES】
toro.2ch.net/test/read.cgi/gamedev/1109955393/



127 名前:名前は開発中のものです。 mailto:sage [2014/03/21(金) 00:23:50.90 ID:P1JaUJrV.net]
スーファミのプログラム
toro.2ch.net/test/read.cgi/gamedev/1095063252/

128 名前:名前は開発中のものです。 mailto:sage [2014/03/27(木) 11:27:04.95 ID:Boex24sn.net]
去年あたりにCPUとPPUのデータシートが流出したって聞いたが本当かね?

129 名前:名前は開発中のものです。 mailto:sage [2014/03/27(木) 11:33:55.73 ID:6ZjkSFol.net]
バーイ ハドソン

130 名前:名前は開発中のものです。 mailto:sage [2014/03/31(月) 23:12:27.47 ID:2ZMIQNqL.net]
ネトウヨ「国際司法際はチョン」

なのに竹島問題もハーグで決着つけようとかいってるジャップwwww

131 名前:名前は開発中のものです。 mailto:sage [2014/04/04(金) 07:14:22.67 ID:stHAjJOS.net]
www1.axfc.net/u/3214070.zip
ファミコンゲームです。操作方法は付属のtxtを参照

132 名前:名前は開発中のものです。 mailto:sage [2014/04/04(金) 08:34:30.32 ID:FAM6mLE7.net]
>>131
fceuでは正常に動作しています

133 名前:131 mailto:sage [2014/04/04(金) 16:51:41.09 ID:stHAjJOS.net]
>>132
動作確認ありがとうございます。

134 名前:名前は開発中のものです。 mailto:sage [2014/04/05(土) 21:35:51.55 ID:RihLvMZN.net]
nnnesterJでも動いた
ずっとやってたらCLEARって表示されたわ

135 名前:131 [2014/04/07(月) 06:20:21.08 ID:ANvPoB1w.net]
ありがとうございます。あと、透明な敵が現れるバグがあるのと、
静岡県立沼津工業高校の校歌を使っています。

136 名前:名前は開発中のものです。 mailto:sage [2014/04/07(月) 07:28:54.96 ID:fDBMyb5C.net]
>>119の子か。お礼ぐらい言えないのかね。



137 名前:名前は開発中のものです。 mailto:sage [2014/04/07(月) 15:41:53.87 ID:YJHniqKP.net]


138 名前:名前は開発中のものです。 mailto:sage [2014/04/09(水) 17:36:23.74 ID:Aiee0k4j.net]
6502プログラミングの基礎はどうやって勉強するんだろ
アセンブラ言語そのものは分かるけど実装技術が・・・

139 名前:名前は開発中のものです。 mailto:sage [2014/04/10(木) 21:35:34.35 ID:hnCuty6F.net]
>プログラミングの基礎
6502のCPUの割り込みベクタとかの仕様を確認理解して、
他人が書いたソースコードを読んでいくのが良いかと。

ファミコン(古いゲーム機)のプログラミングは、初期化の後、
VSYNC待ち→1フレーム分の処理
の繰り返しとなる独特のプログラム構造を理解する必要があるかな。

140 名前:名前は開発中のものです。 mailto:sage [2014/04/10(木) 21:41:45.23 ID:hnCuty6F.net]
開発途中で、まだゲームの体裁になっていないけど、自作のソフトをさらしてみる。
src.zipにソース一式入っているので、参考頂ければ幸いです。

homepage3.nifty.com/~kyoske/nes/RevolvingGems.zip

十字キーでカーソル移動、Aボタンが時計回り、Bボタンが反時計回りに宝石を回します。
宝石が4個以上つながったら消滅します。

141 名前:名前は開発中のものです。 mailto:sage [2014/04/12(土) 04:57:10.26 ID:IdgE9LS/.net]
おお、すげぇ

宝石がヌルヌル流れるのがいいね。
なんでわざわざラスターしてるのかとおもったら、パレットのために必要なのか。
勉強になる・・・

142 名前:名前は開発中のものです。 mailto:sage [2014/04/12(土) 13:04:08.62 ID:BjcqFb8t.net]
すごい
仕事がコンピュータに関係ない仕事で趣味だけでここまで作ったのなら偉いと思われるレベル
当時のベーマガに投稿していれば採用されたと思う

143 名前:名前は開発中のものです。 mailto:sage [2014/04/12(土) 16:34:03.45 ID:D7Ld43hD.net]
>>140
なかなか出来が良さそう
.macro 〜 .endm (引数付きで)
.func
なんかも使うと楽になる場合もあるよ

>>140
ttp://wiki.nesdev.com/w/index.php/Controller_port_registers
$4017への書き込み(W)によるstrobe(コントローラーのリセット行為)は無意味、
そもそも出力ポートにつながってないかと。
strobe行為は$4016だけで十分。

$4016のbit0が1か0かで、
Tコン、Uコン、bothのコントローラーの中のTC4021BP(シフトレジスタのIC)の、
パラレル、シリアルの各モードが変わる。
1→0で押しボタンのパラレルデータがシフトレジスタに取り込まれて、
シリアル化されたということだ。

シリアル化されたデータは
Tコンは$4016の読み込み(R)で、
Uコンは$4017の読み込み(R)で、
それぞれ独立にシフトされる。

ttp://green.ap.teacup.com/junker/116.html この回路図もいいな
ttp://nesdev.com/Ntd_8bit.jpg

>>141
パレットはいじってないよ?

144 名前:名前は開発中のものです。 mailto:sage [2014/04/12(土) 19:24:29.80 ID:Gzkbouk5.net]
欲を言えば、宝石回転をもっと速くして欲しい。

145 名前:141 mailto:sage [2014/04/13(日) 00:08:08.07 ID:KkvqpUBo.net]
>>143
>パレットはいじってないよ?
パレットというか、アトリビュートテーブル?
ラスターしないとパレットの違う宝石が水平に8ドットずれの位置で表示できないよね

146 名前:名前は開発中のものです。 mailto:sage [2014/04/13(日) 16:38:48.65 ID:SW34DfG1.net]
ラスタスクロールでずらす、って発想すごいなー。
こういう使い方初めて見た。勉強になりました。

当時もこういう使い方あったのかな?
ヘックスマップの戦略シミュとかでも使えそうだ。



147 名前:名前は開発中のものです。 mailto:sage [2014/04/13(日) 21:10:32.33 ID:mdytbhuJ.net]
>>146
理解力なさすぎ
いくらでもある

スプライト0ヒットで同期とった分割スクロール
  スーパーマリオ、エキサイトバイク
ラスタースクロールの塊
  F-1レースのカーブ演出、ドラクエVとWの旅の扉、rstrdemo.zip(VirtuaNES作者による)
IRQで同期とったスクロール(これが無ければゲームにならぬ)
  >>140、ロックマン3(武器、ボス選択、ワイリーステージ高速リフト)
  nozomi.2ch.net/test/read.cgi/gameurawaza/1352627490/143


>>145
色だけがズレるわけじゃない、BGそのものがズレる。
>>140の作品やいろいろなゲームの
G-NESのIRQライン表示をみてみ、ネームテーブル表示みながら。
無機能初期カセットのスプライト0ヒットのゲームでは何も表示されないけど

148 名前:145 mailto:sage [2014/04/14(月) 00:05:28.57 ID:Ye30GFaz.net]
>>147
なんでそんな否定からはいるのさ?

「アトリビュートテーブルの制限で、パレットが2x2BGキャラクタごとにしか
指定できないのを回避するために、ラスターでずらしてるのね」
まで言わないと伝わらない?
あなたの発言をみると、ファミコンの知識はあるのは分かるので、
ちょっと考えれば想像できると思うんだが。

146もラスターで「位置をずらす」んじゃなくて、「パレットの制限を回避」
するって発想を褒めてるんだろ。


まぁ、喧嘩したいわけじゃないんで、そこんとこご理解を(^^

149 名前:146 mailto:sage [2014/04/14(月) 00:18:00.10 ID:BSoZ156l.net]
>>147
メイン画面とステータス部の分割、疑似3D、疑似多重スクロール、
ゆらゆら燃える炎、巨大ボス、
そこに挙げてくれた例含めて実際に見て知ってるし、仕組みも理解できる。
理解できないのは、コズミックイプシロンくらいなもんでさ。
www.youtube.com/watch?v=C8F39OhAiRc#t=25

でも16*16ドットのブロックを行ごとに8ドットずつずらして表示、なんて使い道は見たことなかった。
その発想がすごいって話よ。

150 名前:145 mailto:sage [2014/04/14(月) 00:44:20.53 ID:Ye30GFaz.net]
補足。
ラスターに関して147の言ってることは技術的に正しいんだけど、
他人がそれを理解してないのを前提に、否定してるのが、ちょっとカチンときたということ。
(145も146もこの件に関して技術的に勘違いはしてないと思う)

>>140 とか >>131 とか手を動かしてるひとを応援してるんで、こんなレスでスレを汚してごめんよ。

>>146
当時のこういう使い方はあったのかは気になるね。
ヘックスといったら信長の野望くらいしか記憶にないなぁ・・・あれは4x4だから問題ないし。

151 名前:名前は開発中のものです。 mailto:sage [2014/04/14(月) 18:55:50.61 ID:dbr8gs6R.net]
140です。

>143
strobeの件、情報ありがとうございます。
ソースに反映したいと思います。

>144
回転時のアニメーションは確かに落下時より遅いので修正します。
パラメータいじるだけなので、修正は難しくありません。

>149
>151
コズミックイプシロン見てみましたが、縦方向にも若干スクロールして立体感出しているみたいですね。
BGのバンク切り替えとの複合技でスゲーなと思います。


今作っているソフトも、2x2ブロック毎にずらしてあげれば
HEX表示できるな と思いつき実証の意味で作っています。
あと、1色共通で2色で描けば、1パレットで2種類、
3パレットで6種類の駒が表示できるなと。


ラスター割り込みは、他にもネタがあります。
例えば、8ドット毎に8ドット縦にずらせば、16x8ドット単位で
BGのパレット指定ができるなとか。

152 名前:名前は開発中のものです。 mailto:sage [2014/04/14(月) 18:57:07.18 ID:Ye30GFaz.net]
コズミックイプシロン、初めて知ったけど、たしかにすごいね・・・
デバッガで見るまで、どうやってるか想像もできんかった。

しかも、この手の3Dビュー系のゲームは個人的にはいまいち面白くないのが
多いけど、ゲームとしても楽しいw

good luck!

153 名前:名前は開発中のものです。 mailto:sage [2014/04/14(月) 19:22:56.78 ID:PHq3J+m9.net]
>>151
カーソル枠でまわる宝石が▽と△の時でカーソル枠の上と下を少し
狭くしたほうがわかりやすいかなと思いました

154 名前:名前は開発中のものです。 mailto:sage [2014/04/14(月) 19:58:14.37 ID:BSoZ156l.net]
>>151
テトラスターは知らなかったんで見てきた。おんなじ感じっす。
それにしても、バンク切り替えでやるのか…すげーな。
ちゃんと地形の模様になってんだもん、良く考えついたもんだ。

いま手元にないんでアレだけど、そのうちデバッガで見てみたい。


>>151
思いついたのか、発想力すげー…。

155 名前:名前は開発中のものです。 mailto:sage [2014/04/14(月) 20:06:28.23 ID:dbr8gs6R.net]
>>153
最初、指摘の通り、カーソル枠を台形にして、▽か△かわかるようにしたのですが、
カーソル移動時にうねうねカーソルの形が変わるのが気持ち悪く感じたので、
今のただの四角にしています。

156 名前:名前は開発中のものです。 mailto:sage [2014/04/14(月) 21:32:22.23 ID:qn3GgaV0.net]
>>148-150 >>131
自演気持ち悪い

わかってないからってファビョって「他人」を弁護?w

>>148
>「アトリビュートテーブルの制限で、パレットが2x2BGキャラクタごとにしか
>指定できないのを回避するために、ラスターでずらしてるのね」
>まで言わないと伝わらない?

伝わってるからそれは違うって言ってるんだけどね

手を動かしていてもね
延々と即値でスプライト初期化してたから変な奴と思ったらやっぱりな




ずらしてパレット指定の限界突破という謎技術を語ってる人が他にもいるようだけど



157 名前:145 mailto:sage [2014/04/14(月) 22:05:09.05 ID:Ye30GFaz.net]
>>131 の名誉のために、131と私は別人だよ。
スレのためにもう返事はしないし、あなたが正しいってことでいいよ(^^

158 名前:名前は開発中のものです。 mailto:sage [2014/04/14(月) 22:40:16.03 ID:Ye30GFaz.net]
>>140 さんに質問です。

勉強にソースを読ませてもらってます〜
タスクのなかが下記のようなフローになっていると思うのですが理解あってますか?

...
jsr Yeild
...Vcmd_SequenceDataなど BG書き込み予約系処理、完了時はzフラグで判定...
jsr Yeild_Eq
(zフラグが立っていた場合は jsr Yieldの直後から再実行)
(zフラグが立っていない場合は、下に抜ける)
...

また、あってるとしたら、こういうフローっていうのは
8bitなアセンブラだとわりとよくある手法ですか?


C言語脳なので、pla pla とかで返りアドレス捨ててるの見て、
どこに帰るんだ〜、とか、しばらく混乱してました(^^;

不躾な質問ですいませんが、お暇だったら見て頂ければ幸いです。

159 名前:名前は開発中のものです。 mailto:sage [2014/04/14(月) 23:59:40.63 ID:qn3GgaV0.net]
>>158
立ってる、立ってないが逆

160 名前:名前は開発中のものです。 mailto:sage [2014/04/15(火) 00:19:44.09 ID:Rogly49M.net]
>>158 さん

> タスクのなかが下記のようなフローになっていると思うのですが理解あってますか?
> (zフラグが立っていた場合は jsr Yieldの直後から再実行)
> (zフラグが立っていない場合は、下に抜ける)

Yesです。


> また、あってるとしたら、こういうフローっていうのは
> 8bitなアセンブラだとわりとよくある手法ですか?

あまりないかと思います。
ゲーム屋として仕事したことはないので、どのような手法が一般的かは
知らないのですが、現在の進捗状態を番号で管理してジャンプテーブルで
飛ぶみたいな話は聞いたことがあります。

私の場合は、各処理を分解してジャンプテーブルで呼び出すのが
面倒そうだったので、次の呼び出し先のアドレスで管理する方式としました。

161 名前:名前は開発中のものです。 mailto:sage [2014/04/15(火) 00:22:16.34 ID:Rogly49M.net]
>>159

Yesと書いちゃったけど、確かに、zフラグが立っている場合に抜けるでした。

162 名前:名前は開発中のものです。 mailto:sage [2014/04/15(火) 00:24:55.54 ID:4gJhlsqp.net]
あ、ご指摘どうもです。逆でした

163 名前:名前は開発中のものです。 mailto:sage [2014/04/15(火) 00:25:59.35 ID:4gJhlsqp.net]
あら、、、フラグは z なのに beq/bne だから、頭が混乱する(xx

164 名前:名前は開発中のものです。 mailto:sage [2014/04/15(火) 00:52:17.35 ID:4gJhlsqp.net]
すいません、書き込み順の前後で混乱しました。160さんの指摘で正解ですね。

>>160
なるほど〜。ジャンプテーブルより柔軟性がありそうですね。
あと、継続っぽくてカッコイイ。

ありがとうございます

165 名前:名前は開発中のものです。 mailto:sage [2014/04/18(金) 18:15:30.91 ID:jpWSPUfh.net]
画面表示中にパレットを書き換えるサンプルプログラムつくってみたので、興味があるひとはみてみてね。
自分は、情報がなくてけっこう試行錯誤したので。

www1.axfc.net/u/3224863

メタルスレイダーグローリーのIRQ割り込みを参考にしたんだけど、
7ラインくらい表示ができないのはしかたないのか。
もっといい方法とかあったら、教えてくだしあ。

166 名前:名前は開発中のものです。 mailto:sage [2014/04/18(金) 21:05:20.40 ID:GCyjwP+C.net]
>>165
中央が黒いのは、書き換え中に色が付くのを防ぐため?



167 名前:166 mailto:sage [2014/04/19(土) 02:10:32.86 ID:ENCcy0CN.net]
>>166

うん。

たぶん、ラスター使えるようになってラスターでパレット変更もできるぜぃ、
と思って試した人(過去の俺とか)は、なぞのゴミが表示されて悩まされてると思う。
そのゴミをHBlankに押し込めるために、16byteの書き換えに7lineも画面表示を消してるって感じです。

168 名前:名前は開発中のものです。 mailto:sage [2014/04/19(土) 09:55:49.50 ID:5+3bbh99.net]
>>167
そうですか。知ってたらあれですが、3Dホットラリーはもろ見えてます。
ttp://img.gamefaqs.net/screens/b/3/c/gfs_18759_2_2.jpg

169 名前:名前は開発中のものです。 mailto:sage [2014/04/19(土) 13:11:45.50 ID:ENCcy0CN.net]
あ、ほんとだw
実は、3Dホットラリーの名前は以前でてたんで画面見たんだけど、
上2パレット、下2パレットくらいでやってるんじゃない?とおもって、スルーしてた。
ちゃんとパレット書き換えしてたのねw 失礼しますた

170 名前:名前は開発中のものです。 mailto:sage [2014/04/21(月) 00:26:08.69 ID:/pAmCg0v.net]
ゴミなんて消してやんよ
って思ったら
意外と無理だった


if ((!IsRendering) && ((VRAMAddr & 0x3F00) == 0x3F00))
PalIndex = Palette[VRAMAddr & 0x1F];

こんな仕様しらんがな
nintendulatorのPPU.cppより

171 名前:名前は開発中のものです。 mailto:sage [2014/04/21(月) 10:13:40.71 ID:LbIV6qH+.net]
おお、こういう原理だったのか。トンクス >>170

ttp://forums.nesdev.com/viewtopic.php?t=1209
コレみて、なんとなくパレットカキコミすると色が出るのは、理解してたんだけど、
細かい挙動はよくわかってなかった。

172 名前:名前は開発中のものです。 mailto:sage [2014/04/21(月) 10:17:13.69 ID:LbIV6qH+.net]
ちなみに、これってハードウェア的にはどういう原理なの?
詳しい人いたら教えて。

173 名前:名前は開発中のものです。 mailto:sage [2014/04/21(月) 17:28:24.83 ID:rQaSv6+b.net]
>>170
そんな断片ソースで理解できるのがすごい。

174 名前:名前は開発中のものです。 mailto:sage [2014/04/21(月) 23:59:09.10 ID:/pAmCg0v.net]
>>165を改造させてもらった

ttp://www1.axfc.net/u/3227965.zip

ゴミ消した


パレットの0x0dは使えないよ
垂直同期のパルスみたいな電圧になるから

175 名前:名前は開発中のものです。 mailto:sage [2014/04/22(火) 00:47:42.57 ID:Ncm5fcM0.net]
レンダリング止めていればBGの色が出ると思ってた

>>165のおかげで本気出せていろいろ勉強になったわ
>>171系のやつへの理解向上
レベルが一気に3あがった!

rtiの戻り書き換えだとか組み終わった後に
ttp://forums.nesdev.com/viewtopic.php?t=6484
full_palette.s
の偶奇同期を見つけた
この簡潔なソースで横ブレの無さのキモさといったら


>>172
BGのレンダリングは内部で$3f00へアクセスするんだろうけど
そのバグ挙動なのかね
ttp://wiki.nesdev.com/w/index.php/Visual_2C02
これ結局まだいじったことないんだけど、使いこなせれば理解できるのかな!?



ところで、また謎現象を見つけてしまった
ttp://wiki.nesdev.com/w/index.php/PPU_registers#Bit_0_bus_conflict
ttp://forums.nesdev.com/viewtopic.php?p=112424#p112424

176 名前:166 mailto:sage [2014/04/22(火) 03:41:30.42 ID:+4JN+sCM.net]
>>174
おおお、これは技術の粋が詰まったコードですね!素晴らしい!!
私もレベル3上昇して、レベル4になった〜

クロック管理が神々しく緻密・・・
ちなみに、ゲームでこのテクニックを使うとすると、IRQが入りそうなタイミングで
メインスレッドはnop連打になってないとダメという認識でおk?
とすると、実用は難しいけど、、、
ジャストアイデアとしては
2、3ラインくらい前にIRQいれて、一時的にメインスレッドをnop連打ループに切り替えて、
終わったらまたもとのメインスレッドに戻すというのは可能かな?
考えるだけで、脳髄が痛い・・・



>パレットの0x0dは使えないよ
一部の黒はつかっちゃだめというのは聞いてたんだけど、反対におぼえてたみたい(^^;
今後は0x0f使います〜


>>175 の情報も含めて、いろいろありがたい(^^
やっぱり、コードは晒してみるものだなぁ・・・



177 名前:166 mailto:sage [2014/04/22(火) 03:55:38.11 ID:+4JN+sCM.net]
いままでの自分の致命的な間違いに気づいた・・・
nopは2クロックだったのね。1クロックだとばっかり思ってた(^^;

よくいままでのコードうごいてたなぁw

178 名前:名前は開発中のものです。 mailto:sage [2014/04/22(火) 18:39:42.31 ID:FEq/t9cI.net]
てす






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<213KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef