ファミコンのプログラム4 (567レス)
1-

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

当時もこういう使い方あったのかな?
ヘックスマップの戦略シミュとかでも使えそうだ。
147
(2): 名前は開発中のものです。 [sage] 2014/04/13(日) 21:10:32.33 ID:mdytbhuJ(1) AAS
>>146
理解力なさすぎ
いくらでもある

スプライト0ヒットで同期とった分割スクロール
  スーパーマリオ、エキサイトバイク
ラスタースクロールの塊
  F-1レースのカーブ演出、ドラクエ?と?の旅の扉、rstrdemo.zip(VirtuaNES作者による)
IRQで同期とったスクロール(これが無ければゲームにならぬ)
  >>140
140(8): 名前は開発中のものです。 [sage] 2014/04/10(木) 21:41:45.23 ID:hnCuty6F(2/2) AAS
開発途中で、まだゲームの体裁になっていないけど、自作のソフトをさらしてみる。
src.zipにソース一式入っているので、参考頂ければ幸いです。

外部リンク[zip]:homepage3.nifty.com

十字キーでカーソル移動、Aボタンが時計回り、Bボタンが反時計回りに宝石を回します。
宝石が4個以上つながったら消滅します。
、ロックマン3(武器、ボス選択、ワイリーステージ高速リフト)
  2chスレ:gameurawaza

>>145
145(4): 141 [sage] 2014/04/13(日) 00:08:08.07 ID:KkvqpUBo(1) AAS
>>143
>パレットはいじってないよ?
パレットというか、アトリビュートテーブル?
ラスターしないとパレットの違う宝石が水平に8ドットずれの位置で表示できないよね
色だけがズレるわけじゃない、BGそのものがズレる。
>>140の作品やいろいろなゲームの
G-NESのIRQライン表示をみてみ、ネームテーブル表示みながら。
無機能初期カセットのスプライト0ヒットのゲームでは何も表示されないけど
148
(1): 145 [sage] 2014/04/14(月) 00:05:28.57 ID:Ye30GFaz(1/5) AAS
>>147
なんでそんな否定からはいるのさ?

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

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

まぁ、喧嘩したいわけじゃないんで、そこんとこご理解を(^^
149
(3): 146 [sage] 2014/04/14(月) 00:18:00.10 ID:BSoZ156l(1/2) AAS
>>147
メイン画面とステータス部の分割、疑似3D、疑似多重スクロール、
ゆらゆら燃える炎、巨大ボス、
そこに挙げてくれた例含めて実際に見て知ってるし、仕組みも理解できる。
理解できないのは、コズミックイプシロンくらいなもんでさ。
動画リンク[YouTube]


でも16*16ドットのブロックを行ごとに8ドットずつずらして表示、なんて使い道は見たことなかった。
その発想がすごいって話よ。
150
(1): 145 [sage] 2014/04/14(月) 00:44:20.53 ID:Ye30GFaz(2/5) AAS
補足。
ラスターに関して147の言ってることは技術的に正しいんだけど、
他人がそれを理解してないのを前提に、否定してるのが、ちょっとカチンときたということ。
(145も146もこの件に関して技術的に勘違いはしてないと思う)

>>140 とか >>131
131(33): 名前は開発中のものです。 [sage] 2014/04/04(金) 07:14:22.67 ID:stHAjJOS(1/2) AAS
外部リンク[zip]:www1.axfc.net
ファミコンゲームです。操作方法は付属のtxtを参照
とか手を動かしてるひとを応援してるんで、こんなレスでスレを汚してごめんよ。

>>146
当時のこういう使い方はあったのかは気になるね。
ヘックスといったら信長の野望くらいしか記憶にないなぁ・・・あれは4x4だから問題ないし。
151
(2): 名前は開発中のものです。 [sage] 2014/04/14(月) 13:15:26.05 ID:PHq3J+m9(1/2) AAS
>>149
似たようなのでテトラスターもあるね

コズミックイプシロンは横にラスタースクロールもしているけど、ベースの
アイデアとしてはBGのバンク切り替えアニメと同じことで実現してる

1ラインずつ別バンクに切り替えて絵を組み上げていく感じ
152
(2): 名前は開発中のものです。 [sage] 2014/04/14(月) 18:55:50.61 ID:dbr8gs6R(1/2) AAS
140です。

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

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

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

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

外部リンク[html]:green.ap.teacup.com この回路図もいいな
画像リンク


>>141
パレットはいじってないよ?
strobeの件、情報ありがとうございます。
ソースに反映したいと思います。

>144
144(1): 名前は開発中のものです。 [sage] 2014/04/12(土) 19:24:29.80 ID:Gzkbouk5(1) AAS
欲を言えば、宝石回転をもっと速くして欲しい。
回転時のアニメーションは確かに落下時より遅いので修正します。
パラメータいじるだけなので、修正は難しくありません。

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

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

ラスター割り込みは、他にもネタがあります。
例えば、8ドット毎に8ドット縦にずらせば、16x8ドット単位で
BGのパレット指定ができるなとか。
153: 名前は開発中のものです。 [sage] 2014/04/14(月) 18:57:07.18 ID:Ye30GFaz(3/5) AAS
コズミックイプシロン、初めて知ったけど、たしかにすごいね・・・
デバッガで見るまで、どうやってるか想像もできんかった。

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

good luck!
154
(1): 名前は開発中のものです。 [sage] 2014/04/14(月) 19:22:56.78 ID:PHq3J+m9(2/2) AAS
>>152
カーソル枠でまわる宝石が▽と△の時でカーソル枠の上と下を少し
狭くしたほうがわかりやすいかなと思いました
155: 名前は開発中のものです。 [sage] 2014/04/14(月) 19:58:14.37 ID:BSoZ156l(2/2) AAS
>>151
テトラスターは知らなかったんで見てきた。おんなじ感じっす。
それにしても、バンク切り替えでやるのか…すげーな。
ちゃんと地形の模様になってんだもん、良く考えついたもんだ。

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

>>152
思いついたのか、発想力すげー…。
156: 名前は開発中のものです。 [sage] 2014/04/14(月) 20:06:28.23 ID:dbr8gs6R(2/2) AAS
>>154
最初、指摘の通り、カーソル枠を台形にして、▽か△かわかるようにしたのですが、
カーソル移動時にうねうねカーソルの形が変わるのが気持ち悪く感じたので、
今のただの四角にしています。
157: 名前は開発中のものです。 [sage] 2014/04/14(月) 21:32:22.23 ID:qn3GgaV0(1/2) AAS
>>148-150 >>131
自演気持ち悪い

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

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

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

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

ずらしてパレット指定の限界突破という謎技術を語ってる人が他にもいるようだけど
158: 145 [sage] 2014/04/14(月) 22:05:09.05 ID:Ye30GFaz(4/5) AAS
>>131 の名誉のために、131と私は別人だよ。
スレのためにもう返事はしないし、あなたが正しいってことでいいよ(^^
159
(2): 名前は開発中のものです。 [sage] 2014/04/14(月) 22:40:16.03 ID:Ye30GFaz(5/5) AAS
>>140 さんに質問です。

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

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

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

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

不躾な質問ですいませんが、お暇だったら見て頂ければ幸いです。
160
(1): 名前は開発中のものです。 [sage] 2014/04/14(月) 23:59:40.63 ID:qn3GgaV0(2/2) AAS
>>159
立ってる、立ってないが逆
161
(1): 名前は開発中のものです。 [sage] 2014/04/15(火) 00:19:44.09 ID:Rogly49M(1/2) AAS
>>159 さん

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

Yesです。

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

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

私の場合は、各処理を分解してジャンプテーブルで呼び出すのが
面倒そうだったので、次の呼び出し先のアドレスで管理する方式としました。
162: 名前は開発中のものです。 [sage] 2014/04/15(火) 00:22:16.34 ID:Rogly49M(2/2) AAS
>>160

Yesと書いちゃったけど、確かに、zフラグが立っている場合に抜けるでした。
163: 名前は開発中のものです。 [sage] 2014/04/15(火) 00:24:55.54 ID:4gJhlsqp(1/3) AAS
あ、ご指摘どうもです。逆でした
164: 名前は開発中のものです。 [sage] 2014/04/15(火) 00:25:59.35 ID:4gJhlsqp(2/3) AAS
あら、、、フラグは z なのに beq/bne だから、頭が混乱する(xx
165: 名前は開発中のものです。 [sage] 2014/04/15(火) 00:52:17.35 ID:4gJhlsqp(3/3) AAS
すいません、書き込み順の前後で混乱しました。160さんの指摘で正解ですね。

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

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

外部リンク:www1.axfc.net

メタルスレイダーグローリーのIRQ割り込みを参考にしたんだけど、
7ラインくらい表示ができないのはしかたないのか。
もっといい方法とかあったら、教えてくだしあ。
167
(1): 名前は開発中のものです。 [sage] 2014/04/18(金) 21:05:20.40 ID:GCyjwP+C(1) AAS
>>166
中央が黒いのは、書き換え中に色が付くのを防ぐため?
168
(1): 166 [sage] 2014/04/19(土) 02:10:32.86 ID:ENCcy0CN(1/2) AAS
>>167

うん。

たぶん、ラスター使えるようになってラスターでパレット変更もできるぜぃ、
と思って試した人(過去の俺とか)は、なぞのゴミが表示されて悩まされてると思う。
そのゴミをHBlankに押し込めるために、16byteの書き換えに7lineも画面表示を消してるって感じです。
169: 名前は開発中のものです。 [sage] 2014/04/19(土) 09:55:49.50 ID:5+3bbh99(1) AAS
>>168
そうですか。知ってたらあれですが、3Dホットラリーはもろ見えてます。
画像リンク

170: 名前は開発中のものです。 [sage] 2014/04/19(土) 13:11:45.50 ID:ENCcy0CN(2/2) AAS
あ、ほんとだw
実は、3Dホットラリーの名前は以前でてたんで画面見たんだけど、
上2パレット、下2パレットくらいでやってるんじゃない?とおもって、スルーしてた。
ちゃんとパレット書き換えしてたのねw 失礼しますた
1-
あと 397 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.024s