■過去スレ
ファミコンのプログラム
http://pc8.2ch.net/test/read.cgi/gamedev/1013696305/
ファミコンのプログラム2
http://pc11.2ch.net/test/read.cgi/gamedev/1135099156/
ファミコンのプログラム3
http://toro.2ch.net/test/read.cgi/gamedev/1214210285/
■関連サイト
MagicKit Homepage
http://www.magicengine.com/mkit/
すずめ愛好会
http://web.archive.org/web/*/http://vsync.org/ns/index.html
ギコ猫でもわかるファミコンプログラミング
http://gikofami.fc2web.com/
わいわいの巣
http://www.geocities.jp/yy_6502/
mck hogehoge
http://takamatsu.cool.ne.jp/dutycycle/
NES info, programs, and demos
http://nesdev.parodius.com/
pgate1@crystal
http://crystal.freespace.jp/pgate1/
cc65 @ wiki
http://www34.atwiki.jp/cc65/
ファミコンのプログラム4
2012/07/29(日) 14:19:03.64ID:a5QeqSA0
2012/07/29(日) 14:19:59.97ID:a5QeqSA0
■ソフトウェア開発者のサイト
NES Hack Factory
http://www.geocities.jp/kz_s6502/
D-Soft
http://aqube.kir.jp/dsoft/index.html
OBONO's Web Site
http://homepage3.nifty.com/obono/
Family Assembler
http://fuguri23.hp.infoseek.co.jp/FamAsm/
nurvle.com(NES)
http://www.ash.ne.jp/~nurv/nes/
peacemay.net
http://peacemay.net/
ファミコンソフト開発のおへあ
http://stargate.game-server.cc/fc/
第7サプライヤー
http://seventhxevo.xxxxxxxx.jp/seventh/
NES Hack Factory
http://www.geocities.jp/kz_s6502/
D-Soft
http://aqube.kir.jp/dsoft/index.html
OBONO's Web Site
http://homepage3.nifty.com/obono/
Family Assembler
http://fuguri23.hp.infoseek.co.jp/FamAsm/
nurvle.com(NES)
http://www.ash.ne.jp/~nurv/nes/
peacemay.net
http://peacemay.net/
ファミコンソフト開発のおへあ
http://stargate.game-server.cc/fc/
第7サプライヤー
http://seventhxevo.xxxxxxxx.jp/seventh/
2012/07/29(日) 17:33:33.81ID:h8AqcaeO
マリオ2ってスコアなどのパラメータ表示に
ディスクシステムのタイマー割り込み利用してたんだね
1だと0爆弾だったのに
なんかどのサイトにも
ディスクシステムのIRQタイマに関する記述があまりないんだよね・・・
どのアドレスを使うかはわかってんだけど
1カウントが何秒位なのかの載ってるとこがない・・・
自分で測った感じだと
カウンタに65535(MAX)を設定してみたところ
11フレーム中に5回割り込みが発生した
1回の割り込み毎に2.2フレームであるから
1/60*2.2=0.036666・・・秒、つまり
65,535カウント≒36,666,667n秒 よって
1カウント≒560n秒位
ディスクシステムのタイマー割り込み利用してたんだね
1だと0爆弾だったのに
なんかどのサイトにも
ディスクシステムのIRQタイマに関する記述があまりないんだよね・・・
どのアドレスを使うかはわかってんだけど
1カウントが何秒位なのかの載ってるとこがない・・・
自分で測った感じだと
カウンタに65535(MAX)を設定してみたところ
11フレーム中に5回割り込みが発生した
1回の割り込み毎に2.2フレームであるから
1/60*2.2=0.036666・・・秒、つまり
65,535カウント≒36,666,667n秒 よって
1カウント≒560n秒位
2012/07/29(日) 17:44:08.71ID:hixC6Gva
夢工場のことか?
スーパーマリオUSAか?
NESのマリオ2か?
スーパーマリオUSAか?
NESのマリオ2か?
2012/07/29(日) 17:52:48.30ID:h8AqcaeO
2012/07/29(日) 18:11:08.04ID:hixC6Gva
>ディスクシステムのスーパーマリオブラザーズ2
そういえばそんなのあったな
すまんボケまくったw
そういえばそんなのあったな
すまんボケまくったw
2012/07/29(日) 18:15:32.39ID:hixC6Gva
結局はエミュのソース見ちゃえばいいんですよ
ディスクシステムなら日本人エミュ作者のがいい
ディスクシステムなら日本人エミュ作者のがいい
2012/07/29(日) 18:39:34.34ID:hixC6Gva
見てきたらCPU同様の1.79MHzのカウンタのようです
CPUのクロックは12分周が基本だから
それ以上でもそれ以下でもメリットは無いでしょ
CPUのクロックは12分周が基本だから
それ以上でもそれ以下でもメリットは無いでしょ
2012/07/29(日) 19:03:19.68ID:h8AqcaeO
>CPUのクロックは12分周が基本だから
>それ以上でもそれ以下でもメリットは無いでしょ
まあそうなんだけどね
>それ以上でもそれ以下でもメリットは無いでしょ
まあそうなんだけどね
2012/07/29(日) 20:16:49.27ID:rQX8VRkF
何秒とかそんな世界じゃ無い。
何クロックと考えた方が良い。1h=約113.7クロック
何クロックと考えた方が良い。1h=約113.7クロック
2012/08/02(木) 00:39:42.04ID:pHdQmVv7
なんでファミコンは描画中
PPUアドレス空間にアクセスできないようにしたんだろうね・・・
やはりコストからか
PPUアドレス空間にアクセスできないようにしたんだろうね・・・
やはりコストからか
2012/08/14(火) 22:43:48.52ID:3GTdhVqH
アクセスできないんだっけ、アクセスすると異常なデータが読めるとかでなく
2012/08/15(水) 01:00:01.72ID:NFZzBwkk
アクセスはできるけど$2006自体が現在の画面描写位置そのものだから
画面表示が引きずられちゃう
画面表示が引きずられちゃう
2012/08/24(金) 23:22:57.17ID:EDbXndLG
ファミコンほど理解しやすいハードウェアって
なかなかない気がする
なかなかない気がする
2012/08/24(金) 23:47:20.82ID:fbm4SP4s
>>14
あの頃のPCだとほとんど同じような感じだったと思うけどな
MSXとか感覚的にはファミコンとほぼ同じというかもっと簡単だけど
あの頃は個人レベルでハードウェアの隅々まで理解できる環境が多かったな
あの頃のPCだとほとんど同じような感じだったと思うけどな
MSXとか感覚的にはファミコンとほぼ同じというかもっと簡単だけど
あの頃は個人レベルでハードウェアの隅々まで理解できる環境が多かったな
2012/08/29(水) 00:13:52.29ID:dCbNSnnq
0爆弾で画面2分割し、
上は縦スクロール、下は固定(「沙羅曼蛇」のような画面)に挑戦しています
0番スプライトを画面左端に持ってきて、左端8ピクセルを$2001で隠すと
$2002のヒット検出はできないでしょうか
ためしにやった所
G-NES:できる VirtuaNES:できる
実機(AV仕様):できていない(下画面が描画されない。左端クリップ無ければできる)
おそらく実機PPUの仕様かと想像しています。
上は縦スクロール、下は固定(「沙羅曼蛇」のような画面)に挑戦しています
0番スプライトを画面左端に持ってきて、左端8ピクセルを$2001で隠すと
$2002のヒット検出はできないでしょうか
ためしにやった所
G-NES:できる VirtuaNES:できる
実機(AV仕様):できていない(下画面が描画されない。左端クリップ無ければできる)
おそらく実機PPUの仕様かと想像しています。
2012/08/29(水) 09:34:26.48ID:XGVG2N0d
マッパー変更してIRQ使えるやつで
やるってことじゃだめなのか?
実機でできないなら、できないものなんだろ
0spriteを1dotだけのものにするとか、回避策はいろいろあるだろう
やるってことじゃだめなのか?
実機でできないなら、できないものなんだろ
0spriteを1dotだけのものにするとか、回避策はいろいろあるだろう
2012/08/29(水) 10:01:11.44ID:i4hq19i2
開発の止まったエミュ持ち出していまさら何がしたいのか理解に苦しむ
2012/08/29(水) 18:07:15.63ID:KHvPZkYe
単純に考えると、
・クリップ領域から出るように、左から9ピクセル目に仕掛ける
・1つ前のラインの右端に仕掛ける。
のどちらかで出来ると思うんだけど。
クリップ領域に0爆弾置いたら不発になるのは、0爆弾はスプライトを表示するタイミングに依存してるからでないの。
つまり、クリップした区間ではスプライトの表示処理自体がスキップされるとかそういう理由で。
俺、0爆弾なんて使わないから想像なんで違ってたらすまんが。
・クリップ領域から出るように、左から9ピクセル目に仕掛ける
・1つ前のラインの右端に仕掛ける。
のどちらかで出来ると思うんだけど。
クリップ領域に0爆弾置いたら不発になるのは、0爆弾はスプライトを表示するタイミングに依存してるからでないの。
つまり、クリップした区間ではスプライトの表示処理自体がスキップされるとかそういう理由で。
俺、0爆弾なんて使わないから想像なんで違ってたらすまんが。
2012/08/29(水) 18:11:14.26ID:G0Y2hDxx
左端だと描写中だからおかしくなって当然だろ
HBlank中に掛かるように右端でやれよ
HBlank中に掛かるように右端でやれよ
2012/08/29(水) 19:00:35.13ID:V0VP3qcd
すごくザックリ&うろ覚えで申し訳ないのだけど、
背景ピクセルの上に0番スプライトのピクセルを重ねて、ピクセルを描画。
→ このとき、描画したピクセルが透明色でなければ、
$2002の[6]番目のビットが立つ。
→ このとき、描画したピクセルが透明色ならば、
$2002の[6]番目のビットは立たない。
って感じじゃなかったっけ?
クリップで強制的に透明色にされた背景ピクセル+強制的に透明色にされた透明スプライト=透明色
なので、0爆弾がヒットしないんじゃないかと。
実機もないし、エミュで試してもいないので、想像ですまん。
てか、過疎っぽく見えて、読んでる人いるんですねw
背景ピクセルの上に0番スプライトのピクセルを重ねて、ピクセルを描画。
→ このとき、描画したピクセルが透明色でなければ、
$2002の[6]番目のビットが立つ。
→ このとき、描画したピクセルが透明色ならば、
$2002の[6]番目のビットは立たない。
って感じじゃなかったっけ?
クリップで強制的に透明色にされた背景ピクセル+強制的に透明色にされた透明スプライト=透明色
なので、0爆弾がヒットしないんじゃないかと。
実機もないし、エミュで試してもいないので、想像ですまん。
てか、過疎っぽく見えて、読んでる人いるんですねw
2216
2012/08/29(水) 21:37:22.64ID:3N5g/q8u ありがとうございます
やっぱり0スプライトを左端、というのは
いい方法じゃないですね
右端に置くとか、IRQ割り込みとかでやってみます
0番スプライトでやるとなると、BGもひと工夫が必要ですね
やっぱり0スプライトを左端、というのは
いい方法じゃないですね
右端に置くとか、IRQ割り込みとかでやってみます
0番スプライトでやるとなると、BGもひと工夫が必要ですね
2012/08/30(木) 00:13:48.09ID:2dcDlWaJ
>>16
ヒット検出しないのが正解だろうね。 実機でそうなったんだし。
上から覆い隠してる訳ではなくキャラクタを表示していない(と俺は考えてる)のだから、ヒットしなくて当然と思うけど。
左端がダメとかは、関係ない。横スクロールの指定はいつでもできる。
ヒット検出しないのが正解だろうね。 実機でそうなったんだし。
上から覆い隠してる訳ではなくキャラクタを表示していない(と俺は考えてる)のだから、ヒットしなくて当然と思うけど。
左端がダメとかは、関係ない。横スクロールの指定はいつでもできる。
2012/08/30(木) 04:48:24.33ID:YFBZ+1yV
検出してからレジスタ叩いてるクロック分だけ画面描画進んでるから
次のラインまで最低でも12クロックはズレたままでしょ
ライン単位での描画しかサポートされてないエミュだと再現できないけど
次のラインまで最低でも12クロックはズレたままでしょ
ライン単位での描画しかサポートされてないエミュだと再現できないけど
2012/08/30(木) 23:09:45.06ID:mbhkbHVJ
2012/08/31(金) 04:25:11.05ID:qhg8Zh3g
大まかなデバッグはエミュでやって最終的に実機で動作確認してるわ
2012/08/31(金) 23:35:00.18ID:gnF3SCUx
0爆弾の設置場所は捨てライン用意するならどこでもいいけど
右端なら画面に影響は出ないわな
右端なら画面に影響は出ないわな
28名前は開発中のものです。
2012/10/10(水) 21:49:54.07ID:Z4BAuN6X ファミコンゲーム作ってみたいんだけど時間がないんだよなー
現実的な問題がな
現実的な問題がな
2012/10/11(木) 19:34:39.57ID:9I6Jco6V
プログラミングにアセンブラから入った身だから
最初のうちはなれていたけど
CとかC++とかASに触れていくにつれて
面倒になっていったな・・・
最初のうちはなれていたけど
CとかC++とかASに触れていくにつれて
面倒になっていったな・・・
2012/10/12(金) 00:52:25.78ID:Z8DOmKFZ
ASってのはFlashですか?
あぁそれはありますよね…。感覚というか形態が違いますからね…アセンブラは
あぁそれはありますよね…。感覚というか形態が違いますからね…アセンブラは
2012/10/12(金) 01:31:47.39ID:EPkxezrz
そうActionScript(2.0だけどw)
最初のうちは高級言語のクラスとかオブジェクト指向とか全く理解できなくて、
アセンブラ至上主義で6502とか8080とか8086とかいろいろ手を出してたんだけどね・・・
6502向けのCコンパイラとかいいのないよね
てかそもそも8bitCPUに高級言語使うのもおかしな話だけどさ
某C言語が使えたポケコンは、全然速くなかったよ
さすがにBASICよりは速かったけど・・・
最初のうちは高級言語のクラスとかオブジェクト指向とか全く理解できなくて、
アセンブラ至上主義で6502とか8080とか8086とかいろいろ手を出してたんだけどね・・・
6502向けのCコンパイラとかいいのないよね
てかそもそも8bitCPUに高級言語使うのもおかしな話だけどさ
某C言語が使えたポケコンは、全然速くなかったよ
さすがにBASICよりは速かったけど・・・
2012/10/12(金) 03:23:49.62ID:fS+ezBRP
そもそも6502でC言語を使う需要が無いしな
Z80なら需要があって割とあるけど
Z80なら需要があって割とあるけど
2012/10/12(金) 10:06:06.38ID:H0vAZjLv
cc65があるだろう。
最適化があまりうまくないけどな。
素人レベルだと十分だわ。
最適化があまりうまくないけどな。
素人レベルだと十分だわ。
2012/10/14(日) 05:44:02.35ID:XxvV8AOh
Cは16bitな石からでいい。色々ともったいない。
2012/10/17(水) 13:25:16.84ID:R5qyF0uk
メガドラ以降ってことですか
2012/10/18(木) 18:23:21.69ID:VBrCRfaf
同じ6502でもPCエンジンだと、ハドソンが優秀なCコンパイラ作ってたりしたんだろか?
2012/10/18(木) 19:42:59.84ID:l5n3aOad
SFC末期やプレイステーション頃まではC言語に出番はなかった。
C言語だけでリアルタイム処理なゲームを作って動かせる、それを配布できるってことは、今で考えるよりもずっと贅沢な事。
個人ユーザ中心のホビー分野ではそれなりに需要あったんだろうけど。
それとFDみたいに安いメディアかつ少数生産で済む16bit世代なPCゲーとか。
8bit機だと非力すぎる上にどうせ機種依存バリバリな処理系しかないからCで書いても他で流用のしようがない。
使うことにデメリットは多くても、メリットになる部分が全くと言っていいほど無い。
メガドラは時期的に言ってアセンブリ言語手書きだと思われる。
人間が手書きしても全然苦にならない整然としたアーキテクチャだったし、セガが発売したゲームがどれもROM容量ケチってるあたり、C言語使って容量無駄に使うことが許されたとは思えない。
C言語だけでリアルタイム処理なゲームを作って動かせる、それを配布できるってことは、今で考えるよりもずっと贅沢な事。
個人ユーザ中心のホビー分野ではそれなりに需要あったんだろうけど。
それとFDみたいに安いメディアかつ少数生産で済む16bit世代なPCゲーとか。
8bit機だと非力すぎる上にどうせ機種依存バリバリな処理系しかないからCで書いても他で流用のしようがない。
使うことにデメリットは多くても、メリットになる部分が全くと言っていいほど無い。
メガドラは時期的に言ってアセンブリ言語手書きだと思われる。
人間が手書きしても全然苦にならない整然としたアーキテクチャだったし、セガが発売したゲームがどれもROM容量ケチってるあたり、C言語使って容量無駄に使うことが許されたとは思えない。
2012/10/18(木) 20:01:24.07ID:IES3MNvB
しかし、Cで組むとなんであんなにコード太るんだろうな
2012/10/18(木) 23:13:52.20ID:63+xOnKC
ただ単に、
当時は、ハードメーカーから提供されているのが
アセンブラだけとかだったからだろう。
プログラムといえば、BASICかアセンブラという時代なんだから、
c言語がなくてもしょうがない
当時は、ハードメーカーから提供されているのが
アセンブラだけとかだったからだろう。
プログラムといえば、BASICかアセンブラという時代なんだから、
c言語がなくてもしょうがない
2012/10/19(金) 08:19:37.01ID:sjsgdMuz
当時を知らない人間は、そう考えるのね。
2012/10/21(日) 15:54:50.15ID:JbO9yeZu
アセンブラでやったって速度足りなくて神業が要るっていうのに
なぜC厨が湧く
なぜC厨が湧く
42名前は開発中のものです。
2012/11/04(日) 00:17:55.67ID:CsVJLmvl 実機的MMC1の初期化について書いておいた
http://kohada.2ch.net/test/read.cgi/gameurawaza/1345225953/908-909
必要ならコピペでもなんでもどうぞ
http://kohada.2ch.net/test/read.cgi/gameurawaza/1345225953/908-909
必要ならコピペでもなんでもどうぞ
2012/11/04(日) 21:10:23.38ID:vueKXrfu
最近MMC1AとMMC1Bをいじったけど、電源投入時はバンクサイズ16kモードで後半の16kは最終バンクで確定してるみたい
よく言われるように16k毎にベクターやリセットルーチンとかを設置する必要はなく、
32k毎の設置で一切問題はなかったので、リセットで偶数バンクが後半16kにあてがわれることはない模様
ファイナルファンタジーや三國志とかを見ると最終バンク以外にリセット等のベクタを置いていないから
バンクサイズ16kで後半最終バンクFIXモードだと不定になることはなさそうな感じ
無印のMMC1が手元になく確認していないのでひょっとしたら仕様変更があったのかもしれないけど
それとbit7立ててバンクの初期化って古いエミュだと実装されていないから
GNESとかVirtuaNES使ってると理解できないのはしかたがないと思う
よく言われるように16k毎にベクターやリセットルーチンとかを設置する必要はなく、
32k毎の設置で一切問題はなかったので、リセットで偶数バンクが後半16kにあてがわれることはない模様
ファイナルファンタジーや三國志とかを見ると最終バンク以外にリセット等のベクタを置いていないから
バンクサイズ16kで後半最終バンクFIXモードだと不定になることはなさそうな感じ
無印のMMC1が手元になく確認していないのでひょっとしたら仕様変更があったのかもしれないけど
それとbit7立ててバンクの初期化って古いエミュだと実装されていないから
GNESとかVirtuaNES使ってると理解できないのはしかたがないと思う
44名前は開発中のものです。
2012/11/13(火) 20:19:26.33ID:CAAAMru1 話割ってしまうけど、自作したデータを既存のROM内のデータと交換して売るのって違法なの?売っているのを見たことないんだが。
2012/11/14(水) 20:00:04.73ID:ukh7V0Cy
カートリッジは意匠があるからやるなら基板むき出しか。
でも動作保障とかめんどいからキット販売がせいぜいか。
でも動作保障とかめんどいからキット販売がせいぜいか。
2012/11/15(木) 16:13:50.41ID:oP0LY2A3
>>36
pcエンジンエミュレータ「MagicEngine」の作者が作ったものを
バージョンアップしたコンパイラHuC
http://www.zeograd.com/
HuC使ったけどすごく重いです
stgを作ろうとしたんだけれど
タスクを自機弾10、敵3、敵がばらまき弾8方向くらいで処理オチしてやる気無くなた
この程度のゲーム30fps20fpsにする意味無いし
エミュもリアル本体並み程度の能力しかないから処理落ちします
処理落ちしても良いアドベンチャーならまだしも
日本語表示の壁が
最大容量もPCEは2メガバイトが限界
古いHuCは多少軽いし、マジックエンジンHPからダウンロードできますが
機能が足りないです
pcエンジンエミュレータ「MagicEngine」の作者が作ったものを
バージョンアップしたコンパイラHuC
http://www.zeograd.com/
HuC使ったけどすごく重いです
stgを作ろうとしたんだけれど
タスクを自機弾10、敵3、敵がばらまき弾8方向くらいで処理オチしてやる気無くなた
この程度のゲーム30fps20fpsにする意味無いし
エミュもリアル本体並み程度の能力しかないから処理落ちします
処理落ちしても良いアドベンチャーならまだしも
日本語表示の壁が
最大容量もPCEは2メガバイトが限界
古いHuCは多少軽いし、マジックエンジンHPからダウンロードできますが
機能が足りないです
47名前は開発中のものです。
2012/12/17(月) 11:39:43.53ID:pzS/xX0F2012/12/17(月) 12:03:19.58ID:PXXYK1Gg
Timの仕事だとこっちも有名
ttp://www.youtube.com/watch?v=4_gObHt1uZA
ttp://www.youtube.com/watch?v=4_gObHt1uZA
2012/12/20(木) 20:27:31.68ID:Og5HQO4K
NESはファミコンと違ってカセットに音源積めないから
そういう方向に進化せざるをえなかったのかな
そういう方向に進化せざるをえなかったのかな
2012/12/23(日) 01:13:37.02ID:fIW1BS2m
クソゲと酷評されるソルスティスだが面白かったね
主人公キャラクタがオブジェに隠れる演出はすごいよ〜
主人公キャラクタがオブジェに隠れる演出はすごいよ〜
2012/12/23(日) 04:35:01.34ID:qQHuwdYA
パターンがRAMでキャラ側をマスクで消してるんだっけ
2012/12/23(日) 07:05:53.14ID:X9VTHfNw
曲とデモプレイ画面しか見たことなかったが…。
キャラと重なるBGオブジェを、重なっているときだけスプライトにしてるのかと思ってた…。
でも素直にそうやっちまうと、スプライト用のパレットが足りなくなるのね。
ほんと凄まじい発想だわ…
もっと派手な演出なら、既出だろうがRareのBattletoadsも良いな。
https://www.youtube.com/watch?v=-1UwbUencb4
しっかりした2重スクロールは、PCエンジン以降でしか見たことない気がする。
キャラと重なるBGオブジェを、重なっているときだけスプライトにしてるのかと思ってた…。
でも素直にそうやっちまうと、スプライト用のパレットが足りなくなるのね。
ほんと凄まじい発想だわ…
もっと派手な演出なら、既出だろうがRareのBattletoadsも良いな。
https://www.youtube.com/watch?v=-1UwbUencb4
しっかりした2重スクロールは、PCエンジン以降でしか見たことない気がする。
2012/12/24(月) 08:48:47.89ID:6xMrwyA9
カエルのしゃがみポーズで笑う
2012/12/25(火) 16:58:20.87ID:XIb3z3nT
ずっと気になってて最近確認した物に関連する話題が出てたので…。
スプライトモード8x16の時、普通指定するのとは逆のキャラ番号(偶数なら奇数、
奇数なら偶数)を指定すると、BGバンクのキャラがスプライトで出ます。
また、このBGバンクのスプライトを他の表示するスプライトよりも優先度を上げ、
BGより優先度を下にすると、他のスプライトはこのスプライトより下、つまり
BGより下に表示されます。
BGより下に表示されるのでパレットコストは必要ありません。
これを効果的に使えば細かいマスク処理が出来るはず。
横並びが厳しいので使い所は限られると思いますが…。
自分もソルスティスはコレを使ってるのかと思ってたんですが違いましたね。
何か問題があるのか、単にこの方法を知らなかったからなのかは分かりませんが。
PCエンジンでは使われてたらしいけど、ファミコンでこの方法を使ってるゲームはあるのかな?
スプライトモード8x16の時、普通指定するのとは逆のキャラ番号(偶数なら奇数、
奇数なら偶数)を指定すると、BGバンクのキャラがスプライトで出ます。
また、このBGバンクのスプライトを他の表示するスプライトよりも優先度を上げ、
BGより優先度を下にすると、他のスプライトはこのスプライトより下、つまり
BGより下に表示されます。
BGより下に表示されるのでパレットコストは必要ありません。
これを効果的に使えば細かいマスク処理が出来るはず。
横並びが厳しいので使い所は限られると思いますが…。
自分もソルスティスはコレを使ってるのかと思ってたんですが違いましたね。
何か問題があるのか、単にこの方法を知らなかったからなのかは分かりませんが。
PCエンジンでは使われてたらしいけど、ファミコンでこの方法を使ってるゲームはあるのかな?
2012/12/25(火) 17:17:14.81ID:XIb3z3nT
具体的には(分かりにくいけど)こんな感じ
http://www.dotup.org/uploda/www.dotup.org3771924.png
上にスプライトで表示してるのを4枚、下の同じキャラの岩の所にも
BGより優先度下にして表示してあります。
シルバーホークがBGの地形より下、BGのボスより上に表示されてます。
柱に隠れる演出とかにも使えるかと。
http://www.dotup.org/uploda/www.dotup.org3771924.png
上にスプライトで表示してるのを4枚、下の同じキャラの岩の所にも
BGより優先度下にして表示してあります。
シルバーホークがBGの地形より下、BGのボスより上に表示されてます。
柱に隠れる演出とかにも使えるかと。
2012/12/25(火) 17:25:01.69ID:Fl9SbcCz
そのスクショ実機じゃないならなんの証明にもならんよ
2012/12/25(火) 21:55:26.03ID:kWjHNajW
ていうか、全然分からない。(8*16スプライトの仕様はおいといて)
スプライトの優先度とBGの前後の関係は、まずスプライト番号の若いものが最優勢され、
1番目のsprがbgの裏、2番目がbgの表だったら、2番のsprは1番に重なる部分は1番に消されて、表示されない。
1番sprからはみ出た部分だけがBGの表に見える。
がんばれゴエモン外伝のオープニングで、えびす丸がドアから出るシーン、スプライト優先度をうまく使ってる。
スプライトの優先度とBGの前後の関係は、まずスプライト番号の若いものが最優勢され、
1番目のsprがbgの裏、2番目がbgの表だったら、2番のsprは1番に重なる部分は1番に消されて、表示されない。
1番sprからはみ出た部分だけがBGの表に見える。
がんばれゴエモン外伝のオープニングで、えびす丸がドアから出るシーン、スプライト優先度をうまく使ってる。
2012/12/26(水) 00:28:12.82ID:9XrAfUmn
シルバーホークとか固有名詞を当然のように出されても伝わらない
いまどきダライアスとか言ってるのってリタイアしたキチガイ互助会の方なのかな
いまどきダライアスとか言ってるのってリタイアしたキチガイ互助会の方なのかな
2012/12/26(水) 04:05:00.41ID:2BH9NGSG
いやいや、ダライアスは新作出たよw
2012/12/26(水) 06:20:41.97ID:zMNlG5zP
わざとスプライトを8個以上置いてスプライトを消してるソフトもあるな
2012/12/26(水) 06:31:02.45ID:CVnOhUO6
2012/12/26(水) 07:20:36.29ID:CVnOhUO6
あとソルスティスのデモ画面、パターンテーブルで見たけど、
CHR-RAMは極めるとすごいな。
弱点としては、VBLANK時に1フレームあたり
10キャラくらいしかロードできないんだっけ。
扱い方が難しいところも燃えるなぁ。
CHR-RAMは極めるとすごいな。
弱点としては、VBLANK時に1フレームあたり
10キャラくらいしかロードできないんだっけ。
扱い方が難しいところも燃えるなぁ。
2012/12/31(月) 23:43:32.17ID:dplgqzsF
CHR-RAM直打ちでいちいちキャラクタを書き換えているのが
ソルスティスの技術。上位オブジェクトの重なりと非描画判定は凄い。
後にラグランジュポイントはCHR-RAMって8KBなんかな。あのパターン
量を見ると8KBではなさそう。
セリフ用の文字画像部分を足して16KB搭載かつセリフウィンドウ部分
で割り込みバンク切り替えしているんじゃないかと推測しとるんだけど。
それともただのCHR-RAMなのだろうか。
ソルスティスの技術。上位オブジェクトの重なりと非描画判定は凄い。
後にラグランジュポイントはCHR-RAMって8KBなんかな。あのパターン
量を見ると8KBではなさそう。
セリフ用の文字画像部分を足して16KB搭載かつセリフウィンドウ部分
で割り込みバンク切り替えしているんじゃないかと推測しとるんだけど。
それともただのCHR-RAMなのだろうか。
64名前は開発中のものです。
2013/01/01(火) 12:13:51.02ID:wi03Ie1H >>63
ラグランジュポイント、CHR-RAMの実体は8K
ttp://bootgod.dyndns.org:7777/profile.php?id=3643
ただし、参照配置換え可能。
普通のCHR-RAMならBGを4K、SPRを4Kと固定で、$0000か$1000に配置するけど、
参照配置換え可能ならばBG、SPRそれぞれ0〜8Kまで1K(page)単位で柔軟なサイズ変更が出来る。
割り込みかけて途中で参照を変える、と。
SPR:BG = 1:7〜3:5、位じゃないのかな。
ラグランジュポイント、CHR-RAMの実体は8K
ttp://bootgod.dyndns.org:7777/profile.php?id=3643
ただし、参照配置換え可能。
普通のCHR-RAMならBGを4K、SPRを4Kと固定で、$0000か$1000に配置するけど、
参照配置換え可能ならばBG、SPRそれぞれ0〜8Kまで1K(page)単位で柔軟なサイズ変更が出来る。
割り込みかけて途中で参照を変える、と。
SPR:BG = 1:7〜3:5、位じゃないのかな。
2013/01/01(火) 23:57:35.10ID:dHbpOLgO
わかってないなら適当なこと言わなきゃいいのに
66名前は開発中のものです。
2013/01/02(水) 01:00:10.06ID:sqh/nOWC >>65
あ り え な い 。それは。
バストダンジョンでリリカのおっぱい値を800近くまで調教強化してやらないと、そのフラグは立たない。
仮にフィリオナをメンバーから外してリリカを集中調教しても、アナルバイブが使えないその段階では
スカリバーはまだ手に入れられないはず。 妄 想 で つ か ?
とりあえずアンダー草原で淫獣マリリスを大量に調教して淫度をどんどん稼いどけ。
展開が不安ならバックアップ取っておくのを忘れんなよ。説教くさくなってスマソ・・・。ついな・・・。
あ り え な い 。それは。
バストダンジョンでリリカのおっぱい値を800近くまで調教強化してやらないと、そのフラグは立たない。
仮にフィリオナをメンバーから外してリリカを集中調教しても、アナルバイブが使えないその段階では
スカリバーはまだ手に入れられないはず。 妄 想 で つ か ?
とりあえずアンダー草原で淫獣マリリスを大量に調教して淫度をどんどん稼いどけ。
展開が不安ならバックアップ取っておくのを忘れんなよ。説教くさくなってスマソ・・・。ついな・・・。
2013/01/02(水) 22:10:18.03ID:9vEznEQL
は?
2013/01/02(水) 23:31:25.14ID:zErWDyJm
昔どっかで見たコピペだな
2013/01/05(土) 22:50:06.11ID:Kcs0H07R
いつのコピペだw
2013/01/06(日) 16:49:46.39ID:vL3Xl6d1
63です。本気の解説ありがとうござんす。
RAMのバンク切り替えの様なもの、というかメモリ参照の位置が変更
できるなんて想像の斜め上を行っていたとは・・。驚きました。
RAMのバンク切り替えの様なもの、というかメモリ参照の位置が変更
できるなんて想像の斜め上を行っていたとは・・。驚きました。
2013/01/06(日) 19:38:07.98ID:Nbv6CYGv
64です。CHR-RAMなのは知っていたけど、
63の書き込みを見て調べた結果に驚きました。
ROMを乗せるはずのところに、一工夫してRAMを乗せるとこうなるのですね。
( ;∀;)イイハナシダナー
63の書き込みを見て調べた結果に驚きました。
ROMを乗せるはずのところに、一工夫してRAMを乗せるとこうなるのですね。
( ;∀;)イイハナシダナー
レスを投稿する
ニュース
- たぬかな、結婚していた SNSで報告 生配信では入籍時期も説明 祝福殺到「おめでとう!」「幸あれ」 [muffin★]
- 自民 国会議員の歳費 月額5万円引き上げ 今国会での成立目指す [どどん★]
- 【高市関税キター!!】個人輸入・少額輸入品への税優遇見直しへ…中国の通販サイトなどからの大量輸入を懸念 [1ゲットロボ★]
- 【工作員】「X」のアカウント所在地公開機能が暴いた世論操作の実態 MAGA支持著名アカウントの多くが米国外から運営 日本にも波及 [ごまカンパチ★]
- 「車を処分してください」生活保護の窓口 取材で見えた利用者の実情 [少考さん★]
- 「クラウンに乗りたかった」東京・足立の車暴走 男性、容疑を否認★2 [七波羅探題★]
- 【悲報】大人気歌手MINMIさん、12月の中国ツアーキャンセル… 先週ビリビリにアカウント開設したばかりなのに高市ショック直撃 [452836546]
- 【速報】日本人「トランプさんの方から電話がきた!!高市さん凄すぎる!」 [308389511]
- 中国人が未だに野糞をする理由
- 高市シンパ「習近平は中々折れてくれない高市にビビってトランプに助けを求めた」 [329271814]
- 【動画】慶應准教授の有野氏、高市答弁の問題点を理路整然と指摘しまいネトウヨ発狂wwwwwwwwwwww [271912485]
- フランスイギリスドイツ、全ての国で極右政党による政権交代が確実な情勢になる。まもなく世界終了へ [709039863]
