■過去スレ
ファミコンのプログラム
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を乗せるとこうなるのですね。
( ;∀;)イイハナシダナー
2013/01/07(月) 17:29:05.26ID:Snw5yZJz
逆にネームテーブルのRAMを置くべきとこにバンクROM配置ってのもなかったっけ
2013/01/07(月) 20:19:59.31ID:YCNSEchh
サン電子のアフターバーナーだね
2013/01/13(日) 21:44:45.31ID:SvwqFKWD
某サイトに$4018-$401Aにもレジスタがある(ミラーではなく)みたいな記述があるんだけど
誰か何のことか分かる人いる?
今調べてるんだけど出てこない・・・
誰か何のことか分かる人いる?
今調べてるんだけど出てこない・・・
2013/01/13(日) 23:43:50.36ID:Xsknydlc
2013/01/13(日) 23:50:04.93ID:P2tocX8p
まじか。あさってやってみる。
でも、実用上ほぼ全く役に立たなそうだな。
でも、実用上ほぼ全く役に立たなそうだな。
2013/01/13(日) 23:52:24.91ID:78BX4ehY
decapまでされてるのか
2013/01/13(日) 23:55:52.07ID:SvwqFKWD
2013/01/14(月) 01:42:33.45ID:9rveIWjC
>>78
これらを使用していたソフトが無いから、任天堂からの資料にも書いて
いなかったんだと思う
使いどころを考えてみたら、DPCMのを鳴らす前のプチノイズが出ない
ようにしたり出来るかもって位かなあ?
これらを使用していたソフトが無いから、任天堂からの資料にも書いて
いなかったんだと思う
使いどころを考えてみたら、DPCMのを鳴らす前のプチノイズが出ない
ようにしたり出来るかもって位かなあ?
2013/01/14(月) 02:00:53.73ID:9rveIWjC
リンク先にまだ情報あったわ
http://wiki.nesdev.com/w/index.php/CPU_pin_out_and_signal_description
TSTピン(30番ピン)をプルアップにしないとダメなのかな?
試せる人いたらタノム
http://wiki.nesdev.com/w/index.php/CPU_pin_out_and_signal_description
TSTピン(30番ピン)をプルアップにしないとダメなのかな?
試せる人いたらタノム
2013/01/14(月) 10:39:53.71ID:tzjT4Zjb
2013/01/14(月) 18:03:11.53ID:9rveIWjC
どうなるんだか試さないとわかんねw
2013/01/14(月) 23:45:03.97ID:XSpdI2pt
ちょっと質問なんだけど、アセンブラってみんな何使ってる?
ファミコン用のCライクな言語のコンパイラを作っていて、
とりあえずnesasm向けのasmを出力してるんだけど、
リンクとか考えるとcc65のアセンブラのほうが高機能っぽいので現在迷い中・・・
ファミコン用のCライクな言語のコンパイラを作っていて、
とりあえずnesasm向けのasmを出力してるんだけど、
リンクとか考えるとcc65のアセンブラのほうが高機能っぽいので現在迷い中・・・
2013/01/15(火) 00:44:21.46ID:bZUsNHpr
Cライクってのがわからん
このスレにCは需要無い
Cでやるならcc65のCを使うでしょ
x86のCコンパイラが吐く自動変数っぽい仕組みのを
nesasmで書けるマクロ組んでみたけど
遅くて使い物にならなかった
このスレにCは需要無い
Cでやるならcc65のCを使うでしょ
x86のCコンパイラが吐く自動変数っぽい仕組みのを
nesasmで書けるマクロ組んでみたけど
遅くて使い物にならなかった
8583
2013/01/15(火) 10:34:28.65ID:DThX962j >> 84
自分が見た範囲だとnesasm使ってる人が多そうだけど、それ以外にもメジャーなアセンブラがあって、
そっちのほうが便利だったら乗り換えたいなというくらいの気持ち。
nesasmは、リンク機能がないのが直近の不満なんでそれ書いた。
> 遅くて使い物にならなかった
cc65が出力するasmを見て、このままだと遅すぎて使えないってのは同意。
工夫すれば実用的(アセンブラの1/2くらい?)にはなりそうなのでちょっと作ってみてるというところ。
といっても、割り込みや速度が必要なコードはasmで書かないとだめなのは諦めてる。
> このスレにCは需要無い
高級言語の需要はなさそうだなぁというのはわかってて、そういうの作ってるっていうのを書いたのは、
もしかしたら興味あるひとがいたらいいな、という下心はすこしありましたw
自分が見た範囲だとnesasm使ってる人が多そうだけど、それ以外にもメジャーなアセンブラがあって、
そっちのほうが便利だったら乗り換えたいなというくらいの気持ち。
nesasmは、リンク機能がないのが直近の不満なんでそれ書いた。
> 遅くて使い物にならなかった
cc65が出力するasmを見て、このままだと遅すぎて使えないってのは同意。
工夫すれば実用的(アセンブラの1/2くらい?)にはなりそうなのでちょっと作ってみてるというところ。
といっても、割り込みや速度が必要なコードはasmで書かないとだめなのは諦めてる。
> このスレにCは需要無い
高級言語の需要はなさそうだなぁというのはわかってて、そういうの作ってるっていうのを書いたのは、
もしかしたら興味あるひとがいたらいいな、という下心はすこしありましたw
2013/01/15(火) 20:25:38.47ID:/uFBc3xt
4018-401Aを読んでみたけど、どれも64が返ってくるだけだった。
2013/01/17(木) 00:19:49.08ID:hcjbSNgf
がっかりして書き込みなし?
2013/02/04(月) 21:07:41.31ID:fkuzgt9B
/:/: FAMILY NEWS
2013年1月25日、48時間でゲーム作れやぁという世界規模のイベント
global game jamが日本で開催された。
様々な作品が発表される中、札幌会場では、何とファミコンのゲームも
開発されたという。それが、これ。
ttp://globalgamejam.org/2013/famicom-nes-regeneration-project
小規模の作品ではあるがしっかりと動く模様だ。開発はハンドアセンブラ
で製作、というから驚きである。48時間の多くは、ファミコンの仕様調査に
費やされたとのこと。なんとも変態的な情熱である。
2013年1月25日、48時間でゲーム作れやぁという世界規模のイベント
global game jamが日本で開催された。
様々な作品が発表される中、札幌会場では、何とファミコンのゲームも
開発されたという。それが、これ。
ttp://globalgamejam.org/2013/famicom-nes-regeneration-project
小規模の作品ではあるがしっかりと動く模様だ。開発はハンドアセンブラ
で製作、というから驚きである。48時間の多くは、ファミコンの仕様調査に
費やされたとのこと。なんとも変態的な情熱である。
2013/02/12(火) 19:45:05.71ID:9xgYPqEW
nesdev消滅したのかと思った
2013/02/19(火) 22:29:22.33ID:O/soUU/G
数年前に比べてファミコンに関する資料がかなり増えたね
2013/02/20(水) 20:52:03.13ID:JiXwRlwj
10年前はもっと…
2013/03/02(土) 00:41:19.83ID:hFHJmNkE
ファミコン用の音楽ドライバを見つけたぜ。cc65でコンパイルした
libファイルを組み込んで鳴らしい。使い方はまったく解らん。内部構造
とかは詳しく解説してはあるヘルプが付いてるけどね。ちなみに、これ
用のmmlコンパイラも付属しているよ。
ttp://shaw.la.coocan.jp/nsdl/
libファイルを組み込んで鳴らしい。使い方はまったく解らん。内部構造
とかは詳しく解説してはあるヘルプが付いてるけどね。ちなみに、これ
用のmmlコンパイラも付属しているよ。
ttp://shaw.la.coocan.jp/nsdl/
2013/03/02(土) 00:47:42.77ID:8Km8c4Ly
あ、そういうことする人なんだ
94名前は開発中のものです。
2013/04/18(木) 23:16:17.58ID:IMzwu5mh2013/06/02(日) 03:27:36.01ID:3ZWnZLQL
来月はファミコン発売30周年だな
2013/07/16(火) NY:AN:NY.ANID:V4wzSO+/
初歩的なこと聞くけどBGのネームテーブルとかスプライトデータ64*4
のデータを見ること出来る?スーパーマリオで土管に乗るとかPPUのデータ
から判定してるかな?まさかCPUのRAM0x0000-0x07ffに入れてそれを見てる
ってことはないよね?
のデータを見ること出来る?スーパーマリオで土管に乗るとかPPUのデータ
から判定してるかな?まさかCPUのRAM0x0000-0x07ffに入れてそれを見てる
ってことはないよね?
2013/07/16(火) NY:AN:NY.ANID:x8PldMXb
画面描写中はVRAM見れないよ
デュアルポートRAMなんてなかったし
デュアルポートRAMなんてなかったし
98名前は開発中のものです。
2013/08/06(火) NY:AN:NY.ANID:3KQG/adI マリオブラザーズなら
VRAMのデータで当たり判定してたはず
画像ハックすると永久落下とか?
こんなのは例外で
スーパーマリオなど普通はCPU空間のRAMに仮想地形を作る
VRAMのデータで当たり判定してたはず
画像ハックすると永久落下とか?
こんなのは例外で
スーパーマリオなど普通はCPU空間のRAMに仮想地形を作る
99名前は開発中のものです。
2013/08/14(水) NY:AN:NY.ANID:qLnn+CpW100名前は開発中のものです。
2013/08/17(土) NY:AN:NY.ANID:uCbYKHDz101名前は開発中のものです。
2013/10/13(日) 05:30:26.19ID:2zt6NDsD スクロールなしの固定画面で
走査線割り込みによってパレットを書き換えて色数を増やしている
ソフトの代表例を教えてください
走査線割り込みによってパレットを書き換えて色数を増やしている
ソフトの代表例を教えてください
102名前は開発中のものです。
2013/10/13(日) 06:09:25.87ID:j6RhH/8y 3Dホットラリー
103名前は開発中のものです。
2013/10/13(日) 14:35:35.53ID:WWg/r0Uv メタルスレイダーグローリー
104名前は開発中のものです。
2013/10/17(木) 22:51:09.98ID:JAf2Y+Vq 元々の選べる色が50数色程度じゃ
パレット書き換えしても劇的な変化はないんだな
パレット書き換えしても劇的な変化はないんだな
105名前は開発中のものです。
2013/10/21(月) 23:14:22.41ID:JGQ8j3II パレットを高速で入れ替えると中間色みたいになる
106名前は開発中のものです。
2013/10/22(火) 01:38:09.46ID:fuBZsr5L ドルアーガでやってたな
107名前は開発中のものです。
2013/10/28(月) 15:22:51.38ID:mnXgpw7y キラキラスターナイトの音楽って当初はmckで作ってログなんだってな。
音楽で800kbとかワロタ。
最終的には92のサウンドドライバにさしかわったそうだ。
音楽で800kbとかワロタ。
最終的には92のサウンドドライバにさしかわったそうだ。
108名前は開発中のものです。
2013/11/22(金) 17:22:34.78ID:0CxishgT すいません、16進数でFCはリターンですか?
109名前は開発中のものです。
2013/11/22(金) 19:13:43.33ID:ePLUfS2n 難しい質問だ
110名前は開発中のものです。
2013/11/22(金) 21:49:34.37ID:dQaQiKPU 6502の話ならRTSは0x60でしょ
0xFCは未定義
0xFCは未定義
111名前は開発中のものです。
2013/11/27(水) 18:47:29.95ID:2qPkVWWu 6502は未定義命令多いよね
112名前は開発中のものです。
2013/11/27(水) 22:25:07.60ID:AIPgO1s0 108です、ポートピア連続殺人事件のバイナリを見ていて
文章の後からなずFCになっているので
文章のサブルーチンからリターンするコードがFCなのかな?と思ったのです
未定義というのはユーザー定義で自由に使えるということなのでしょうか?
だとすれば中村光一氏が定義したのかな?と思います
文章の後からなずFCになっているので
文章のサブルーチンからリターンするコードがFCなのかな?と思ったのです
未定義というのはユーザー定義で自由に使えるということなのでしょうか?
だとすれば中村光一氏が定義したのかな?と思います
113名前は開発中のものです。
2013/11/27(水) 22:34:47.33ID:2GaPYVty な、なんだってー!! Ω ΩΩ
114名前は開発中のものです。
2013/11/27(水) 23:17:01.96ID:H3/K2JY+ ただ単に、文章の最後を表すために、FC使っているだけ。
ちなみに、ポートピアなら、固有名詞にも特定の値を当てはめて、
容量を節約している。
ちなみに、ポートピアなら、固有名詞にも特定の値を当てはめて、
容量を節約している。
115名前は開発中のものです。
2013/11/27(水) 23:56:34.99ID:xJTLP5X/ なんだ、ただのバカじゃねえか
116名前は開発中のものです。
2013/11/29(金) 23:43:36.26ID:+yLhVUXN117名前は開発中のものです。
2013/12/28(土) 09:38:36.09ID:NXkYsMWn 6502の未定義命令表ってどっかに落ちていたような・・・
とはいっても2a03とオリジナルで違うような気もする
とはいっても2a03とオリジナルで違うような気もする
118名前は開発中のものです。
2014/02/25(火) 00:48:36.47ID:PEseuuNL 同人でファミコンゲーだしてみたいので勉強中
実機でできるようになるまで遠いなぁ
実機でできるようになるまで遠いなぁ
119名前は開発中のものです。
2014/03/11(火) 21:45:52.01ID:xOOt/lks BG読書き時のレジスタアクセス等の手順を日本語で正しく説明しているサイトってないかね?
120名前は開発中のものです。
2014/03/11(火) 23:17:40.95ID:Ee7AGpD7 古い情報を掲載してるとこしか知らない。
どこかで詰まってて表示できないとかトラブル抱えてるならソースファイルちょっと見せて?
どこかで詰まってて表示できないとかトラブル抱えてるならソースファイルちょっと見せて?
121名前は開発中のものです。
2014/03/12(水) 00:28:23.93ID:WZH/SRI7 ロジックは正しいハズなのにBG表示上手く行かねーって時あるけど
そういう時って大抵「ブランク期間中に全ての処理を一括でやらせて終わるのを待つ」的なロジックだったりする
ファミコンさんって割とレトロで非力な環境なので、毎フレームBG全書き換えできるほど速度早くないっていう。
なので、BG書き換え期間中は非表示にして、書き換え終了後にのみ表示する設定にすると、うまくいく事がある。
そういう時って大抵「ブランク期間中に全ての処理を一括でやらせて終わるのを待つ」的なロジックだったりする
ファミコンさんって割とレトロで非力な環境なので、毎フレームBG全書き換えできるほど速度早くないっていう。
なので、BG書き換え期間中は非表示にして、書き換え終了後にのみ表示する設定にすると、うまくいく事がある。
122名前は開発中のものです。
2014/03/12(水) 01:37:23.21ID:sVRc03+V スクロールレジスタ戻してないに1票
123名前は開発中のものです。
2014/03/12(水) 21:31:45.55ID:AKXlzqE0 まだこのスレ見てる人結構いるんだな。。。。
124名前は開発中のものです。
2014/03/20(木) 16:18:48.51ID:NcrvcaHS スレチかもしれんがSFCのことについて聞きたい。
65816でCOP命令ってあるよね、あれ普通のソフトウェア割り込み命令とどう違うの?
てかコプロセッサ使用時にどう使えばいいの?
65816でCOP命令ってあるよね、あれ普通のソフトウェア割り込み命令とどう違うの?
てかコプロセッサ使用時にどう使えばいいの?
125名前は開発中のものです。
2014/03/20(木) 23:57:41.03ID:nDoqvjBg 別枠で跳び先用意してるだけで、仕組み自体はソフトウェア割り込みそのもの。
意味があるかは別として、コプロセッサを使う以外の処理にも使用できる。(使用頻度が高いルーチンの呼び出しとか)
コプロセッサは、COP命令発行後、割り込みベクタを参照して飛んだ先のルーチンで、普通にI/O叩いて使う。
パラメータ渡したり、処理に違いをつけたかったら、レジスタで処理番号渡してルーチン側で分岐とか、
スタックにパラメータ積んどくとか。
ちょっと昔のパソコンで浮動小数点演算ユニット使うのとあんまり変わらない。(というかそのものか)
意味があるかは別として、コプロセッサを使う以外の処理にも使用できる。(使用頻度が高いルーチンの呼び出しとか)
コプロセッサは、COP命令発行後、割り込みベクタを参照して飛んだ先のルーチンで、普通にI/O叩いて使う。
パラメータ渡したり、処理に違いをつけたかったら、レジスタで処理番号渡してルーチン側で分岐とか、
スタックにパラメータ積んどくとか。
ちょっと昔のパソコンで浮動小数点演算ユニット使うのとあんまり変わらない。(というかそのものか)
126名前は開発中のものです。
2014/03/21(金) 00:22:20.42ID:P1JaUJrV 【65816:SNES】アセンブリ【6502:NES】
http://toro.2ch.net/test/read.cgi/gamedev/1109955393/
http://toro.2ch.net/test/read.cgi/gamedev/1109955393/
127名前は開発中のものです。
2014/03/21(金) 00:23:50.90ID:P1JaUJrV128名前は開発中のものです。
2014/03/27(木) 11:27:04.95ID:Boex24sn 去年あたりにCPUとPPUのデータシートが流出したって聞いたが本当かね?
129名前は開発中のものです。
2014/03/27(木) 11:33:55.73ID:6ZjkSFol バーイ ハドソン
130名前は開発中のものです。
2014/03/31(月) 23:12:27.47ID:2ZMIQNqL ネトウヨ「国際司法際はチョン」
なのに竹島問題もハーグで決着つけようとかいってるジャップwwww
なのに竹島問題もハーグで決着つけようとかいってるジャップwwww
131名前は開発中のものです。
2014/04/04(金) 07:14:22.67ID:stHAjJOS http://www1.axfc.net/u/3214070.zip
ファミコンゲームです。操作方法は付属のtxtを参照
ファミコンゲームです。操作方法は付属のtxtを参照
132名前は開発中のものです。
2014/04/04(金) 08:34:30.32ID:FAM6mLE7 >>131
fceuでは正常に動作しています
fceuでは正常に動作しています
134名前は開発中のものです。
2014/04/05(土) 21:35:51.55ID:RihLvMZN nnnesterJでも動いた
ずっとやってたらCLEARって表示されたわ
ずっとやってたらCLEARって表示されたわ
135131
2014/04/07(月) 06:20:21.08ID:ANvPoB1w ありがとうございます。あと、透明な敵が現れるバグがあるのと、
静岡県立沼津工業高校の校歌を使っています。
静岡県立沼津工業高校の校歌を使っています。
136名前は開発中のものです。
2014/04/07(月) 07:28:54.96ID:fDBMyb5C >>119の子か。お礼ぐらい言えないのかね。
137名前は開発中のものです。
2014/04/07(月) 15:41:53.87ID:YJHniqKP ?
138名前は開発中のものです。
2014/04/09(水) 17:36:23.74ID:Aiee0k4j 6502プログラミングの基礎はどうやって勉強するんだろ
アセンブラ言語そのものは分かるけど実装技術が・・・
アセンブラ言語そのものは分かるけど実装技術が・・・
139名前は開発中のものです。
2014/04/10(木) 21:35:34.35ID:hnCuty6F >プログラミングの基礎
6502のCPUの割り込みベクタとかの仕様を確認理解して、
他人が書いたソースコードを読んでいくのが良いかと。
ファミコン(古いゲーム機)のプログラミングは、初期化の後、
VSYNC待ち→1フレーム分の処理
の繰り返しとなる独特のプログラム構造を理解する必要があるかな。
6502のCPUの割り込みベクタとかの仕様を確認理解して、
他人が書いたソースコードを読んでいくのが良いかと。
ファミコン(古いゲーム機)のプログラミングは、初期化の後、
VSYNC待ち→1フレーム分の処理
の繰り返しとなる独特のプログラム構造を理解する必要があるかな。
140名前は開発中のものです。
2014/04/10(木) 21:41:45.23ID:hnCuty6F 開発途中で、まだゲームの体裁になっていないけど、自作のソフトをさらしてみる。
src.zipにソース一式入っているので、参考頂ければ幸いです。
http://homepage3.nifty.com/~kyoske/nes/RevolvingGems.zip
十字キーでカーソル移動、Aボタンが時計回り、Bボタンが反時計回りに宝石を回します。
宝石が4個以上つながったら消滅します。
src.zipにソース一式入っているので、参考頂ければ幸いです。
http://homepage3.nifty.com/~kyoske/nes/RevolvingGems.zip
十字キーでカーソル移動、Aボタンが時計回り、Bボタンが反時計回りに宝石を回します。
宝石が4個以上つながったら消滅します。
141名前は開発中のものです。
2014/04/12(土) 04:57:10.26ID:IdgE9LS/ おお、すげぇ
宝石がヌルヌル流れるのがいいね。
なんでわざわざラスターしてるのかとおもったら、パレットのために必要なのか。
勉強になる・・・
宝石がヌルヌル流れるのがいいね。
なんでわざわざラスターしてるのかとおもったら、パレットのために必要なのか。
勉強になる・・・
142名前は開発中のものです。
2014/04/12(土) 13:04:08.62ID:BjcqFb8t すごい
仕事がコンピュータに関係ない仕事で趣味だけでここまで作ったのなら偉いと思われるレベル
当時のベーマガに投稿していれば採用されたと思う
仕事がコンピュータに関係ない仕事で趣味だけでここまで作ったのなら偉いと思われるレベル
当時のベーマガに投稿していれば採用されたと思う
143名前は開発中のものです。
2014/04/12(土) 16:34:03.45ID:D7Ld43hD >>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
パレットはいじってないよ?
なかなか出来が良さそう
.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名前は開発中のものです。
2014/04/12(土) 19:24:29.80ID:Gzkbouk5 欲を言えば、宝石回転をもっと速くして欲しい。
145141
2014/04/13(日) 00:08:08.07ID:KkvqpUBo146名前は開発中のものです。
2014/04/13(日) 16:38:48.65ID:SW34DfG1 ラスタスクロールでずらす、って発想すごいなー。
こういう使い方初めて見た。勉強になりました。
当時もこういう使い方あったのかな?
ヘックスマップの戦略シミュとかでも使えそうだ。
こういう使い方初めて見た。勉強になりました。
当時もこういう使い方あったのかな?
ヘックスマップの戦略シミュとかでも使えそうだ。
147名前は開発中のものです。
2014/04/13(日) 21:10:32.33ID:mdytbhuJ >>146
理解力なさすぎ
いくらでもある
スプライト0ヒットで同期とった分割スクロール
スーパーマリオ、エキサイトバイク
ラスタースクロールの塊
F-1レースのカーブ演出、ドラクエVとWの旅の扉、rstrdemo.zip(VirtuaNES作者による)
IRQで同期とったスクロール(これが無ければゲームにならぬ)
>>140、ロックマン3(武器、ボス選択、ワイリーステージ高速リフト)
http://nozomi.2ch.net/test/read.cgi/gameurawaza/1352627490/143
>>145
色だけがズレるわけじゃない、BGそのものがズレる。
>>140の作品やいろいろなゲームの
G-NESのIRQライン表示をみてみ、ネームテーブル表示みながら。
無機能初期カセットのスプライト0ヒットのゲームでは何も表示されないけど
理解力なさすぎ
いくらでもある
スプライト0ヒットで同期とった分割スクロール
スーパーマリオ、エキサイトバイク
ラスタースクロールの塊
F-1レースのカーブ演出、ドラクエVとWの旅の扉、rstrdemo.zip(VirtuaNES作者による)
IRQで同期とったスクロール(これが無ければゲームにならぬ)
>>140、ロックマン3(武器、ボス選択、ワイリーステージ高速リフト)
http://nozomi.2ch.net/test/read.cgi/gameurawaza/1352627490/143
>>145
色だけがズレるわけじゃない、BGそのものがズレる。
>>140の作品やいろいろなゲームの
G-NESのIRQライン表示をみてみ、ネームテーブル表示みながら。
無機能初期カセットのスプライト0ヒットのゲームでは何も表示されないけど
148145
2014/04/14(月) 00:05:28.57ID:Ye30GFaz >>147
なんでそんな否定からはいるのさ?
「アトリビュートテーブルの制限で、パレットが2x2BGキャラクタごとにしか
指定できないのを回避するために、ラスターでずらしてるのね」
まで言わないと伝わらない?
あなたの発言をみると、ファミコンの知識はあるのは分かるので、
ちょっと考えれば想像できると思うんだが。
146もラスターで「位置をずらす」んじゃなくて、「パレットの制限を回避」
するって発想を褒めてるんだろ。
まぁ、喧嘩したいわけじゃないんで、そこんとこご理解を(^^
なんでそんな否定からはいるのさ?
「アトリビュートテーブルの制限で、パレットが2x2BGキャラクタごとにしか
指定できないのを回避するために、ラスターでずらしてるのね」
まで言わないと伝わらない?
あなたの発言をみると、ファミコンの知識はあるのは分かるので、
ちょっと考えれば想像できると思うんだが。
146もラスターで「位置をずらす」んじゃなくて、「パレットの制限を回避」
するって発想を褒めてるんだろ。
まぁ、喧嘩したいわけじゃないんで、そこんとこご理解を(^^
149146
2014/04/14(月) 00:18:00.10ID:BSoZ156l >>147
メイン画面とステータス部の分割、疑似3D、疑似多重スクロール、
ゆらゆら燃える炎、巨大ボス、
そこに挙げてくれた例含めて実際に見て知ってるし、仕組みも理解できる。
理解できないのは、コズミックイプシロンくらいなもんでさ。
http://www.youtube.com/watch?v=C8F39OhAiRc#t=25
でも16*16ドットのブロックを行ごとに8ドットずつずらして表示、なんて使い道は見たことなかった。
その発想がすごいって話よ。
メイン画面とステータス部の分割、疑似3D、疑似多重スクロール、
ゆらゆら燃える炎、巨大ボス、
そこに挙げてくれた例含めて実際に見て知ってるし、仕組みも理解できる。
理解できないのは、コズミックイプシロンくらいなもんでさ。
http://www.youtube.com/watch?v=C8F39OhAiRc#t=25
でも16*16ドットのブロックを行ごとに8ドットずつずらして表示、なんて使い道は見たことなかった。
その発想がすごいって話よ。
150145
2014/04/14(月) 00:44:20.53ID:Ye30GFaz151名前は開発中のものです。
2014/04/14(月) 13:15:26.05ID:PHq3J+m9 >>149
似たようなのでテトラスターもあるね
コズミックイプシロンは横にラスタースクロールもしているけど、ベースの
アイデアとしてはBGのバンク切り替えアニメと同じことで実現してる
1ラインずつ別バンクに切り替えて絵を組み上げていく感じ
似たようなのでテトラスターもあるね
コズミックイプシロンは横にラスタースクロールもしているけど、ベースの
アイデアとしてはBGのバンク切り替えアニメと同じことで実現してる
1ラインずつ別バンクに切り替えて絵を組み上げていく感じ
152名前は開発中のものです。
2014/04/14(月) 18:55:50.61ID:dbr8gs6R 140です。
>143
strobeの件、情報ありがとうございます。
ソースに反映したいと思います。
>144
回転時のアニメーションは確かに落下時より遅いので修正します。
パラメータいじるだけなので、修正は難しくありません。
>149
>151
コズミックイプシロン見てみましたが、縦方向にも若干スクロールして立体感出しているみたいですね。
BGのバンク切り替えとの複合技でスゲーなと思います。
今作っているソフトも、2x2ブロック毎にずらしてあげれば
HEX表示できるな と思いつき実証の意味で作っています。
あと、1色共通で2色で描けば、1パレットで2種類、
3パレットで6種類の駒が表示できるなと。
ラスター割り込みは、他にもネタがあります。
例えば、8ドット毎に8ドット縦にずらせば、16x8ドット単位で
BGのパレット指定ができるなとか。
>143
strobeの件、情報ありがとうございます。
ソースに反映したいと思います。
>144
回転時のアニメーションは確かに落下時より遅いので修正します。
パラメータいじるだけなので、修正は難しくありません。
>149
>151
コズミックイプシロン見てみましたが、縦方向にも若干スクロールして立体感出しているみたいですね。
BGのバンク切り替えとの複合技でスゲーなと思います。
今作っているソフトも、2x2ブロック毎にずらしてあげれば
HEX表示できるな と思いつき実証の意味で作っています。
あと、1色共通で2色で描けば、1パレットで2種類、
3パレットで6種類の駒が表示できるなと。
ラスター割り込みは、他にもネタがあります。
例えば、8ドット毎に8ドット縦にずらせば、16x8ドット単位で
BGのパレット指定ができるなとか。
153名前は開発中のものです。
2014/04/14(月) 18:57:07.18ID:Ye30GFaz コズミックイプシロン、初めて知ったけど、たしかにすごいね・・・
デバッガで見るまで、どうやってるか想像もできんかった。
しかも、この手の3Dビュー系のゲームは個人的にはいまいち面白くないのが
多いけど、ゲームとしても楽しいw
good luck!
デバッガで見るまで、どうやってるか想像もできんかった。
しかも、この手の3Dビュー系のゲームは個人的にはいまいち面白くないのが
多いけど、ゲームとしても楽しいw
good luck!
154名前は開発中のものです。
2014/04/14(月) 19:22:56.78ID:PHq3J+m9155名前は開発中のものです。
2014/04/14(月) 19:58:14.37ID:BSoZ156l156名前は開発中のものです。
2014/04/14(月) 20:06:28.23ID:dbr8gs6R157名前は開発中のものです。
2014/04/14(月) 21:32:22.23ID:qn3GgaV0158145
2014/04/14(月) 22:05:09.05ID:Ye30GFaz >>131 の名誉のために、131と私は別人だよ。
スレのためにもう返事はしないし、あなたが正しいってことでいいよ(^^
スレのためにもう返事はしないし、あなたが正しいってことでいいよ(^^
159名前は開発中のものです。
2014/04/14(月) 22:40:16.03ID:Ye30GFaz >>140 さんに質問です。
勉強にソースを読ませてもらってます〜
タスクのなかが下記のようなフローになっていると思うのですが理解あってますか?
...
jsr Yeild
...Vcmd_SequenceDataなど BG書き込み予約系処理、完了時はzフラグで判定...
jsr Yeild_Eq
(zフラグが立っていた場合は jsr Yieldの直後から再実行)
(zフラグが立っていない場合は、下に抜ける)
...
また、あってるとしたら、こういうフローっていうのは
8bitなアセンブラだとわりとよくある手法ですか?
C言語脳なので、pla pla とかで返りアドレス捨ててるの見て、
どこに帰るんだ〜、とか、しばらく混乱してました(^^;
不躾な質問ですいませんが、お暇だったら見て頂ければ幸いです。
勉強にソースを読ませてもらってます〜
タスクのなかが下記のようなフローになっていると思うのですが理解あってますか?
...
jsr Yeild
...Vcmd_SequenceDataなど BG書き込み予約系処理、完了時はzフラグで判定...
jsr Yeild_Eq
(zフラグが立っていた場合は jsr Yieldの直後から再実行)
(zフラグが立っていない場合は、下に抜ける)
...
また、あってるとしたら、こういうフローっていうのは
8bitなアセンブラだとわりとよくある手法ですか?
C言語脳なので、pla pla とかで返りアドレス捨ててるの見て、
どこに帰るんだ〜、とか、しばらく混乱してました(^^;
不躾な質問ですいませんが、お暇だったら見て頂ければ幸いです。
160名前は開発中のものです。
2014/04/14(月) 23:59:40.63ID:qn3GgaV0 >>159
立ってる、立ってないが逆
立ってる、立ってないが逆
161名前は開発中のものです。
2014/04/15(火) 00:19:44.09ID:Rogly49M >>159 さん
> タスクのなかが下記のようなフローになっていると思うのですが理解あってますか?
> (zフラグが立っていた場合は jsr Yieldの直後から再実行)
> (zフラグが立っていない場合は、下に抜ける)
Yesです。
> また、あってるとしたら、こういうフローっていうのは
> 8bitなアセンブラだとわりとよくある手法ですか?
あまりないかと思います。
ゲーム屋として仕事したことはないので、どのような手法が一般的かは
知らないのですが、現在の進捗状態を番号で管理してジャンプテーブルで
飛ぶみたいな話は聞いたことがあります。
私の場合は、各処理を分解してジャンプテーブルで呼び出すのが
面倒そうだったので、次の呼び出し先のアドレスで管理する方式としました。
> タスクのなかが下記のようなフローになっていると思うのですが理解あってますか?
> (zフラグが立っていた場合は jsr Yieldの直後から再実行)
> (zフラグが立っていない場合は、下に抜ける)
Yesです。
> また、あってるとしたら、こういうフローっていうのは
> 8bitなアセンブラだとわりとよくある手法ですか?
あまりないかと思います。
ゲーム屋として仕事したことはないので、どのような手法が一般的かは
知らないのですが、現在の進捗状態を番号で管理してジャンプテーブルで
飛ぶみたいな話は聞いたことがあります。
私の場合は、各処理を分解してジャンプテーブルで呼び出すのが
面倒そうだったので、次の呼び出し先のアドレスで管理する方式としました。
162名前は開発中のものです。
2014/04/15(火) 00:22:16.34ID:Rogly49M163名前は開発中のものです。
2014/04/15(火) 00:24:55.54ID:4gJhlsqp あ、ご指摘どうもです。逆でした
164名前は開発中のものです。
2014/04/15(火) 00:25:59.35ID:4gJhlsqp あら、、、フラグは z なのに beq/bne だから、頭が混乱する(xx
165名前は開発中のものです。
2014/04/15(火) 00:52:17.35ID:4gJhlsqp166名前は開発中のものです。
2014/04/18(金) 18:15:30.91ID:jpWSPUfh 画面表示中にパレットを書き換えるサンプルプログラムつくってみたので、興味があるひとはみてみてね。
自分は、情報がなくてけっこう試行錯誤したので。
http://www1.axfc.net/u/3224863
メタルスレイダーグローリーのIRQ割り込みを参考にしたんだけど、
7ラインくらい表示ができないのはしかたないのか。
もっといい方法とかあったら、教えてくだしあ。
自分は、情報がなくてけっこう試行錯誤したので。
http://www1.axfc.net/u/3224863
メタルスレイダーグローリーのIRQ割り込みを参考にしたんだけど、
7ラインくらい表示ができないのはしかたないのか。
もっといい方法とかあったら、教えてくだしあ。
167名前は開発中のものです。
2014/04/18(金) 21:05:20.40ID:GCyjwP+C >>166
中央が黒いのは、書き換え中に色が付くのを防ぐため?
中央が黒いのは、書き換え中に色が付くのを防ぐため?
168166
2014/04/19(土) 02:10:32.86ID:ENCcy0CN >>167
うん。
たぶん、ラスター使えるようになってラスターでパレット変更もできるぜぃ、
と思って試した人(過去の俺とか)は、なぞのゴミが表示されて悩まされてると思う。
そのゴミをHBlankに押し込めるために、16byteの書き換えに7lineも画面表示を消してるって感じです。
うん。
たぶん、ラスター使えるようになってラスターでパレット変更もできるぜぃ、
と思って試した人(過去の俺とか)は、なぞのゴミが表示されて悩まされてると思う。
そのゴミをHBlankに押し込めるために、16byteの書き換えに7lineも画面表示を消してるって感じです。
169名前は開発中のものです。
2014/04/19(土) 09:55:49.50ID:5+3bbh99170名前は開発中のものです。
2014/04/19(土) 13:11:45.50ID:ENCcy0CN あ、ほんとだw
実は、3Dホットラリーの名前は以前でてたんで画面見たんだけど、
上2パレット、下2パレットくらいでやってるんじゃない?とおもって、スルーしてた。
ちゃんとパレット書き換えしてたのねw 失礼しますた
実は、3Dホットラリーの名前は以前でてたんで画面見たんだけど、
上2パレット、下2パレットくらいでやってるんじゃない?とおもって、スルーしてた。
ちゃんとパレット書き換えしてたのねw 失礼しますた
171名前は開発中のものです。
2014/04/21(月) 00:26:08.69ID:/pAmCg0v ゴミなんて消してやんよ
って思ったら
意外と無理だった
if ((!IsRendering) && ((VRAMAddr & 0x3F00) == 0x3F00))
PalIndex = Palette[VRAMAddr & 0x1F];
こんな仕様しらんがな
nintendulatorのPPU.cppより
って思ったら
意外と無理だった
if ((!IsRendering) && ((VRAMAddr & 0x3F00) == 0x3F00))
PalIndex = Palette[VRAMAddr & 0x1F];
こんな仕様しらんがな
nintendulatorのPPU.cppより
172名前は開発中のものです。
2014/04/21(月) 10:13:40.71ID:LbIV6qH+ おお、こういう原理だったのか。トンクス >>171
ttp://forums.nesdev.com/viewtopic.php?t=1209
コレみて、なんとなくパレットカキコミすると色が出るのは、理解してたんだけど、
細かい挙動はよくわかってなかった。
ttp://forums.nesdev.com/viewtopic.php?t=1209
コレみて、なんとなくパレットカキコミすると色が出るのは、理解してたんだけど、
細かい挙動はよくわかってなかった。
173名前は開発中のものです。
2014/04/21(月) 10:17:13.69ID:LbIV6qH+ ちなみに、これってハードウェア的にはどういう原理なの?
詳しい人いたら教えて。
詳しい人いたら教えて。
174名前は開発中のものです。
2014/04/21(月) 17:28:24.83ID:rQaSv6+b >>171
そんな断片ソースで理解できるのがすごい。
そんな断片ソースで理解できるのがすごい。
175名前は開発中のものです。
2014/04/21(月) 23:59:09.10ID:/pAmCg0v176名前は開発中のものです。
2014/04/22(火) 00:47:42.57ID:Ncm5fcM0 レンダリング止めていればBGの色が出ると思ってた
>>166のおかげで本気出せていろいろ勉強になったわ
>>172系のやつへの理解向上
レベルが一気に3あがった!
rtiの戻り書き換えだとか組み終わった後に
ttp://forums.nesdev.com/viewtopic.php?t=6484
full_palette.s
の偶奇同期を見つけた
この簡潔なソースで横ブレの無さのキモさといったら
>>173
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
>>166のおかげで本気出せていろいろ勉強になったわ
>>172系のやつへの理解向上
レベルが一気に3あがった!
rtiの戻り書き換えだとか組み終わった後に
ttp://forums.nesdev.com/viewtopic.php?t=6484
full_palette.s
の偶奇同期を見つけた
この簡潔なソースで横ブレの無さのキモさといったら
>>173
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
177166
2014/04/22(火) 03:41:30.42ID:+4JN+sCM >>175
おおお、これは技術の粋が詰まったコードですね!素晴らしい!!
私もレベル3上昇して、レベル4になった〜
クロック管理が神々しく緻密・・・
ちなみに、ゲームでこのテクニックを使うとすると、IRQが入りそうなタイミングで
メインスレッドはnop連打になってないとダメという認識でおk?
とすると、実用は難しいけど、、、
ジャストアイデアとしては
2、3ラインくらい前にIRQいれて、一時的にメインスレッドをnop連打ループに切り替えて、
終わったらまたもとのメインスレッドに戻すというのは可能かな?
考えるだけで、脳髄が痛い・・・
>パレットの0x0dは使えないよ
一部の黒はつかっちゃだめというのは聞いてたんだけど、反対におぼえてたみたい(^^;
今後は0x0f使います〜
>>176 の情報も含めて、いろいろありがたい(^^
やっぱり、コードは晒してみるものだなぁ・・・
おおお、これは技術の粋が詰まったコードですね!素晴らしい!!
私もレベル3上昇して、レベル4になった〜
クロック管理が神々しく緻密・・・
ちなみに、ゲームでこのテクニックを使うとすると、IRQが入りそうなタイミングで
メインスレッドはnop連打になってないとダメという認識でおk?
とすると、実用は難しいけど、、、
ジャストアイデアとしては
2、3ラインくらい前にIRQいれて、一時的にメインスレッドをnop連打ループに切り替えて、
終わったらまたもとのメインスレッドに戻すというのは可能かな?
考えるだけで、脳髄が痛い・・・
>パレットの0x0dは使えないよ
一部の黒はつかっちゃだめというのは聞いてたんだけど、反対におぼえてたみたい(^^;
今後は0x0f使います〜
>>176 の情報も含めて、いろいろありがたい(^^
やっぱり、コードは晒してみるものだなぁ・・・
178166
2014/04/22(火) 03:55:38.11ID:+4JN+sCM いままでの自分の致命的な間違いに気づいた・・・
nopは2クロックだったのね。1クロックだとばっかり思ってた(^^;
よくいままでのコードうごいてたなぁw
nopは2クロックだったのね。1クロックだとばっかり思ってた(^^;
よくいままでのコードうごいてたなぁw
179名前は開発中のものです。
2014/04/22(火) 18:39:42.31ID:FEq/t9cI てす
180名前は開発中のものです。
2014/04/22(火) 20:21:50.77ID:SP0raU7v >>175
ソース読ませてもらったけど、
ldy #0
sty $2001
で、PPUのレンダリング止めると、PPUのバスが空くので
その間は自由にVRAMアクセスできたと理解していたんだが
違っていたかな?
そうであれば、HBlank待つ必要ないので、パレット書き換えで
非表示になるライン数を減らせると思う。
あと、割り込み時にはiフラグが立った状態でルーチンが
呼ばれるので sei は要らないと思う。
http://wiki.nesdev.com/w/index.php/CPU_interrupts#IRQ_and_NMI_tick-by-tick_execution
ソース読ませてもらったけど、
ldy #0
sty $2001
で、PPUのレンダリング止めると、PPUのバスが空くので
その間は自由にVRAMアクセスできたと理解していたんだが
違っていたかな?
そうであれば、HBlank待つ必要ないので、パレット書き換えで
非表示になるライン数を減らせると思う。
あと、割り込み時にはiフラグが立った状態でルーチンが
呼ばれるので sei は要らないと思う。
http://wiki.nesdev.com/w/index.php/CPU_interrupts#IRQ_and_NMI_tick-by-tick_execution
181名前は開発中のものです。
2014/04/22(火) 20:38:14.58ID:SP0raU7v >>173
PPUのデータのバス(信号線)が1組で、PPUのレンダリング中はVRAMからデータを読み出している。
CPUがVRAMアクセスのためにPPUアドレスを設定するレジスタ($2006)とPPUがネームテーブルにアクセスするアドレスのレジスタが兼用のため、CPUがパレットのアドレスを書き込むとPPUはパレットデータを読み出してレンダリングすることになる。
と理解しているのですが、間違っていたら指摘お願いします。>他の人
PPUのデータのバス(信号線)が1組で、PPUのレンダリング中はVRAMからデータを読み出している。
CPUがVRAMアクセスのためにPPUアドレスを設定するレジスタ($2006)とPPUがネームテーブルにアクセスするアドレスのレジスタが兼用のため、CPUがパレットのアドレスを書き込むとPPUはパレットデータを読み出してレンダリングすることになる。
と理解しているのですが、間違っていたら指摘お願いします。>他の人
182166
2014/04/22(火) 20:46:59.02ID:+4JN+sCM >>180
>で、PPUのレンダリング止めると、PPUのバスが空くので
>その間は自由にVRAMアクセスできたと理解していたんだが
>違っていたかな?
そう思ってたんだけど、PPUのアドレスレジスタが0x3f**だと、
**の色(=ゴミ)が出力されるっていうのが、171のコード片の意味。
>で、PPUのレンダリング止めると、PPUのバスが空くので
>その間は自由にVRAMアクセスできたと理解していたんだが
>違っていたかな?
そう思ってたんだけど、PPUのアドレスレジスタが0x3f**だと、
**の色(=ゴミ)が出力されるっていうのが、171のコード片の意味。
183166
2014/04/22(火) 20:59:26.06ID:+4JN+sCM >>181
なるほど〜、
ハードウェアは素人(簡単なワンチップマイコンをいじったくらい)
なんで、解説してもらえて助かるっす。ありがと〜
用語があってるかわからないけど、バスコンフリクトってやつでいいのかな?
あとチップに損傷を与えたりはしないのかしら・・・
まぁ、あとは電子回路関係の情報で調べてみます。
なるほど〜、
ハードウェアは素人(簡単なワンチップマイコンをいじったくらい)
なんで、解説してもらえて助かるっす。ありがと〜
用語があってるかわからないけど、バスコンフリクトってやつでいいのかな?
あとチップに損傷を与えたりはしないのかしら・・・
まぁ、あとは電子回路関係の情報で調べてみます。
184166
2014/04/22(火) 21:04:00.85ID:+4JN+sCM 連投でスマソ
>>181
追加で疑問。
そうすると、0x3f**以外のアドレスでも、そのアドレスのVRAMデータの色が出力されそうなんだけど、
0x3f**以外ではそうはならないみたいなんだよね・・・
これはレジスタ兼用でもそうならないものなのかな?
>>181
追加で疑問。
そうすると、0x3f**以外のアドレスでも、そのアドレスのVRAMデータの色が出力されそうなんだけど、
0x3f**以外ではそうはならないみたいなんだよね・・・
これはレジスタ兼用でもそうならないものなのかな?
185名前は開発中のものです。
2014/04/22(火) 23:02:12.52ID:SP0raU7v186名前は開発中のものです。
2014/04/22(火) 23:13:05.47ID:SP0raU7v >>184
The PPUDATA read buffer (post-fetch)
ttp://wiki.nesdev.com/w/index.php/PPU_registers#The_PPUDATA_read_buffer_.28post-fetch.29
ここに $0000-$3effは内部リードバッファから返すが、$3f00-$3fffは(PPU内部の)データバスに直接配置されている
と書かれているので、この辺りの差で挙動が変わるっぽいですね。
The PPUDATA read buffer (post-fetch)
ttp://wiki.nesdev.com/w/index.php/PPU_registers#The_PPUDATA_read_buffer_.28post-fetch.29
ここに $0000-$3effは内部リードバッファから返すが、$3f00-$3fffは(PPU内部の)データバスに直接配置されている
と書かれているので、この辺りの差で挙動が変わるっぽいですね。
187名前は開発中のものです。
2014/04/22(火) 23:47:45.15ID:Ncm5fcM0 >>180
>seiは要らない
しまった、モロ立ってた
どうも
>>181
パレット$3fxxは通常はPPU内部アクセス、つまり擬似NTSC信号を生成する回路とのやりとりであって
普通のPPU空間には出力されないとどこかに書いてあった気がする
ttp://nesdev.com/2C02%20technical%20reference.TXT
- palette RAM is accessed internally during playfield rendering (i.e., the
palette address/data is never put on the PPU bus during this time).
ttp://wiki.nesdev.com/w/images/d/d1/Ntsc_timing.png
画像の通りパレットのアクセスはない
しかしこういう挙動もある、これはレンダリング止めた場合だろう?
Additionally, when the programmer accesses palette RAM via $2006/7, the
palette address accessed actually does show up on the PPU address bus, but
the PPU's /RD & /WR flags are not activated.
この辺あやしいね
>seiは要らない
しまった、モロ立ってた
どうも
>>181
パレット$3fxxは通常はPPU内部アクセス、つまり擬似NTSC信号を生成する回路とのやりとりであって
普通のPPU空間には出力されないとどこかに書いてあった気がする
ttp://nesdev.com/2C02%20technical%20reference.TXT
- palette RAM is accessed internally during playfield rendering (i.e., the
palette address/data is never put on the PPU bus during this time).
ttp://wiki.nesdev.com/w/images/d/d1/Ntsc_timing.png
画像の通りパレットのアクセスはない
しかしこういう挙動もある、これはレンダリング止めた場合だろう?
Additionally, when the programmer accesses palette RAM via $2006/7, the
palette address accessed actually does show up on the PPU address bus, but
the PPU's /RD & /WR flags are not activated.
この辺あやしいね
188名前は開発中のものです。
2014/04/22(火) 23:59:55.97ID:Ncm5fcM0 >>177
今回はjmp *にしてもHBlankに収まるっぽく大丈夫なようですが
127 line目で
$2001のレンダリングオフにする瞬間の
PPU tickのばらつきが
249〜254 nop連打の場合
249〜257 jmp連打の場合
ばらつきが3dot分増えることになります
市販ゲームのIRQ関係もゴミだらけだし気にすることはない
直前に入れるのはいいアイディアだね
今回はjmp *にしてもHBlankに収まるっぽく大丈夫なようですが
127 line目で
$2001のレンダリングオフにする瞬間の
PPU tickのばらつきが
249〜254 nop連打の場合
249〜257 jmp連打の場合
ばらつきが3dot分増えることになります
市販ゲームのIRQ関係もゴミだらけだし気にすることはない
直前に入れるのはいいアイディアだね
189名前は開発中のものです。
2014/04/23(水) 17:56:22.78ID:eYt0ULQB >>186 >>187
なるほど、、、
まだ理解してないけど、このあたり読めばわかる気がしてきた。ありがと
しかし、PPUのアドレスレジスタの兼用さえなければ、レンダリング中に読み書きできて
BGアニメーションとかもっと便利だったろうにって思ってたけど、
Ntsc_timing.png みるかぎり、ひっきりなしにアクセスしてるんだね・・・
とするとメモリポートが2つないとだめだから、結局は無理だったのか。
>>188
了解。
sei/cliさえしなければ最大6クロックだから、6*3=18dot(nopにくらべて12dot大きく)
ずれるのが許容できればおkってことね。
許容できるのか、計算するのが大変だけど(xx
なるほど、、、
まだ理解してないけど、このあたり読めばわかる気がしてきた。ありがと
しかし、PPUのアドレスレジスタの兼用さえなければ、レンダリング中に読み書きできて
BGアニメーションとかもっと便利だったろうにって思ってたけど、
Ntsc_timing.png みるかぎり、ひっきりなしにアクセスしてるんだね・・・
とするとメモリポートが2つないとだめだから、結局は無理だったのか。
>>188
了解。
sei/cliさえしなければ最大6クロックだから、6*3=18dot(nopにくらべて12dot大きく)
ずれるのが許容できればおkってことね。
許容できるのか、計算するのが大変だけど(xx
190名前は開発中のものです。
2014/04/23(水) 20:09:45.06ID:yop1NMPn この現象で分った事。
パレットの04 08 0Cは00とは別の値を格納できるが、実用上何も使われていないと言う事(合ってるよね?)。
パレットの04 08 0Cは00とは別の値を格納できるが、実用上何も使われていないと言う事(合ってるよね?)。
191名前は開発中のものです。
2014/04/23(水) 21:35:50.97ID:bXRTGLw+ ↑あってるっぽい
ただしスプライトの四の倍数とは共有か
void _fastcall Write7 (int Val)
{
if ((VRAMAddr & 0x3F00) == 0x3F00)
{
register unsigned char Addr = (unsigned char)VRAMAddr & 0x1F;
Val = Val & 0x3F;
Palette[Addr] = (unsigned char)Val;
if (!(Addr & 0x3))
Palette[Addr ^ 0x10] = (unsigned char)Val;
ただしスプライトの四の倍数とは共有か
void _fastcall Write7 (int Val)
{
if ((VRAMAddr & 0x3F00) == 0x3F00)
{
register unsigned char Addr = (unsigned char)VRAMAddr & 0x1F;
Val = Val & 0x3F;
Palette[Addr] = (unsigned char)Val;
if (!(Addr & 0x3))
Palette[Addr ^ 0x10] = (unsigned char)Val;
192名前は開発中のものです。
2014/04/24(木) 07:57:06.72ID:RDg08ToE 流れぶったぎるようで申し訳ないけど、デバッガ機能が一番使いやすいNESエミュはどれですか?
193名前は開発中のものです。
2014/04/24(木) 10:17:47.73ID:TazbtZqQ194名前は開発中のものです。
2014/04/24(木) 11:46:44.27ID:RDg08ToE ありがとう
195名前は開発中のものです。
2014/04/24(木) 21:06:44.07ID:Ozv2HHx1 ブレークポイントの使いやすさは
G-NESじゃないか
よっぽどトリッキーなコーディングしないならこれで十分
G-NES は使いやすい、指定行まで実行がStepOverを兼ねる
FCEUX はログ機能が最強、シンボル機能搭載、エミュ精度も結構よい
Nintendulator はデバッガ付きではエミュの精度が最強かな、使いにくい
G-NESじゃないか
よっぽどトリッキーなコーディングしないならこれで十分
G-NES は使いやすい、指定行まで実行がStepOverを兼ねる
FCEUX はログ機能が最強、シンボル機能搭載、エミュ精度も結構よい
Nintendulator はデバッガ付きではエミュの精度が最強かな、使いにくい
196名前は開発中のものです。
2014/04/24(木) 23:37:48.91ID:d8WjRMEc >>191
そう、スプライトと共通(04=14、…)
僕は実機で確認したけど、nendoかnestopiaと同じなら間違いないだろうな。
古いネット上のドキュメントとか間違ってたりするから100%鵜呑みにしない方がいいよ(エミュのソースも)。
そう、スプライトと共通(04=14、…)
僕は実機で確認したけど、nendoかnestopiaと同じなら間違いないだろうな。
古いネット上のドキュメントとか間違ってたりするから100%鵜呑みにしない方がいいよ(エミュのソースも)。
197名前は開発中のものです。
2014/04/25(金) 00:53:39.01ID:ffWieyHe G-NESは使ってなかったから、ちょっと触ってみた。
デバッガは、FCEUXとG-NESほぼ同等やね。
ちょっとわかりにくいけど、アドレスクリックして"Seek To"で指定行まで実行もできるし。
(この機能が超欲しかったけど、いま探すまでアドレスクリックで指定できるの気付かなかったw)
しかし、FECUXのシンボル情報って吐き出してくれるコンパイラあるのかな・・・
使えれば便利そうなんだけど。
デバッガは、FCEUXとG-NESほぼ同等やね。
ちょっとわかりにくいけど、アドレスクリックして"Seek To"で指定行まで実行もできるし。
(この機能が超欲しかったけど、いま探すまでアドレスクリックで指定できるの気付かなかったw)
しかし、FECUXのシンボル情報って吐き出してくれるコンパイラあるのかな・・・
使えれば便利そうなんだけど。
198名前は開発中のものです。
2014/05/10(土) 18:53:04.15ID:ShrxaRho マッパー0のカセットを何本か作りたいんですが
既存のソフトのHVC-NROM-256K-02基板からICを外すのが面倒なので
プリント基板だけを通販しているところとかないですかね?
もしくは,CADデータとか.
既存のソフトのHVC-NROM-256K-02基板からICを外すのが面倒なので
プリント基板だけを通販しているところとかないですかね?
もしくは,CADデータとか.
199名前は開発中のものです。
2014/05/10(土) 19:06:34.44ID:ShrxaRho ちなみに作りたいカセットとはこれです.
この1週間ちょっと頑張ってインプリしてました.
アセンブラなんか普段いじらないので,めちゃくちゃです.
でも,このスレはちょくちょく見てるので,恩返しに公開します.
ttp://sayonari.com/famicom/FamilyBird.zip
綺麗に書き直したかったですが,しばらくいじれそうにないので,
皆さんに託します.
FCEUXではちゃんと動くんですが,ROMに焼いて,
FC互換機(GCC NEXT)で動かすと,
スプライトがチラチラと画面中に散らばって表示されます.
メモリ管理とかちゃんとしてないし,変なところに書き込んだり,
PPUアクセスのタイミングがむちゃくちゃだったりとかが原因だと思います.
互換機じゃなくて正規版本体ならちゃんとうごくのかな・・.
この1週間ちょっと頑張ってインプリしてました.
アセンブラなんか普段いじらないので,めちゃくちゃです.
でも,このスレはちょくちょく見てるので,恩返しに公開します.
ttp://sayonari.com/famicom/FamilyBird.zip
綺麗に書き直したかったですが,しばらくいじれそうにないので,
皆さんに託します.
FCEUXではちゃんと動くんですが,ROMに焼いて,
FC互換機(GCC NEXT)で動かすと,
スプライトがチラチラと画面中に散らばって表示されます.
メモリ管理とかちゃんとしてないし,変なところに書き込んだり,
PPUアクセスのタイミングがむちゃくちゃだったりとかが原因だと思います.
互換機じゃなくて正規版本体ならちゃんとうごくのかな・・.
200名前は開発中のものです。
2014/05/10(土) 19:40:22.36ID:WvHa+XO0 そこまでやって正規版FCを持っていないというのが謎過ぎる
高いわけじゃないんだから普通に買えばいいのに
高いわけじゃないんだから普通に買えばいいのに
201名前は開発中のものです。
2014/05/10(土) 20:09:58.52ID:vMtYsoKB >>199
スプライトDMAの前に$2003に$00入れるといいかも
スプライトDMAの前に$2003に$00入れるといいかも
202名前は開発中のものです。
2014/05/10(土) 20:52:41.78ID:ShrxaRho203名前は開発中のものです。
2014/05/10(土) 21:59:03.95ID:2fP2DbGG なんで土管に触っただけで死ぬんだ
こんなクソゲー久しぶりに見たわ
こんなクソゲー久しぶりに見たわ
204名前は開発中のものです。
2014/05/10(土) 23:12:04.05ID:ShrxaRho205名前は開発中のものです。
2014/05/11(日) 01:44:45.44ID:HiLhu8FK 非VBlanc期間がループで一切の処理をしていないからDMA転送がVblank内に収まってないんじゃないかね
通常は非VBlank期間にキー入力だのスプライトのデータ準備だのデータを用意しておいて
Vblank期間は描画処理だけを行うようにする
通常は非VBlank期間にキー入力だのスプライトのデータ準備だのデータを用意しておいて
Vblank期間は描画処理だけを行うようにする
206名前は開発中のものです。
2014/05/11(日) 02:54:20.00ID:Mnx9Nf8g207名前は開発中のものです。
2014/05/11(日) 04:04:19.91ID:YECX6XhP >>199
なかなか、ファミコンらしい可愛いグラフィックやね。
nesdevでflappy bird作った奴いないの?みたいなスレがあったから、貼るのもおもしろいかも
http://forums.nesdev.com/viewtopic.php?f=2&t=11103
ちなみに、Nestopiaでもバグってるっぽいので実機の前にこっちでデバッグしたら楽かもしれない。
残念なことにデバッグ機能はほとんどないけど・・・
なかなか、ファミコンらしい可愛いグラフィックやね。
nesdevでflappy bird作った奴いないの?みたいなスレがあったから、貼るのもおもしろいかも
http://forums.nesdev.com/viewtopic.php?f=2&t=11103
ちなみに、Nestopiaでもバグってるっぽいので実機の前にこっちでデバッグしたら楽かもしれない。
残念なことにデバッグ機能はほとんどないけど・・・
208名前は開発中のものです。
2014/05/11(日) 04:53:13.07ID:Mnx9Nf8g >>207
nestopia情報ありがとうございます!
試してみましたが,パレットがおかしくなるバグはありますが,
実機互換機で起こるチラチラ飛び散りバグは出ません.
正規本体でもでないかな.正規本体早く買おうかな.
nesdevにも凸したいと思います(〃゜ω゜〃)
nestopia情報ありがとうございます!
試してみましたが,パレットがおかしくなるバグはありますが,
実機互換機で起こるチラチラ飛び散りバグは出ません.
正規本体でもでないかな.正規本体早く買おうかな.
nesdevにも凸したいと思います(〃゜ω゜〃)
209名前は開発中のものです。
2014/05/11(日) 08:18:39.15ID:IEErYv9U >>208
最初のロゴでスプライトのゴミが出るのはメモリの初期化をして
いないからだと思う
パレットがおかしいとかスクロールがぶれるとかそういうのは恐らく
表示期間中にPPUに書き込みしてるんじゃないかな
最初のロゴでスプライトのゴミが出るのはメモリの初期化をして
いないからだと思う
パレットがおかしいとかスクロールがぶれるとかそういうのは恐らく
表示期間中にPPUに書き込みしてるんじゃないかな
210名前は開発中のものです。
2014/05/11(日) 08:23:06.60ID:dYyMlr6C fceuだとチラツキは見えない
211名前は開発中のものです。
2014/05/11(日) 09:26:06.10ID:owqALoBe 時々音がおかしくなる。
212名前は開発中のものです。
2014/05/11(日) 14:28:37.07ID:rGvGrR+8 >>199
タイミングめちゃくちゃ&画面ゴミ&遷移時ちらつき&各PPU系メモリ初期化すらできない
こういった初心者はG-NESだけ使ってればいい
そもそも仕組みをちゃんと理解していればこういった不具合を起こすことはない
最近うpる人っていつもこういう傾向だけど、わざと間違えてレス貰う釣りなの?
見た目綺麗だけど不器用で挙動めちゃくちゃなソースの人多いね、BGオンする前にVBlank待たずにチラつかせたりとか
最低限NESTECJ.TXTかndox200.zip理解しとけよ
・スプライトメモリの初期化をしていない、Y座標(0xef <= y <=0xff)とするとスプライトはオフになる、Reset:とシーン#1入り口等でやれ
・NMI直後にJSR PadGetやる暇はない、まずSPRDMA。プログラムのあちこちにSPRDMAがばら撒かれているのはおかしい
・シーンチェンジのVRAM初期化から離脱するときに、VBlankを逃してVRAMに書き込んでる
・あなたは当分.macroは使用禁止、これは上級者向け
・シーン#1の初期化でPPU $23be-$23bfへ書き込めていない
・シーンチェンジの瞬間に下記と同じ理由でカクついていると思う
シーン#0の初期化の際
inc <BGUPDATED
.g2
jmp EndBG もうこの時点で123ライン程度経過している、つまりブラウン管のど真ん中描画中に
こんなことをやっている
sta VRAMADDR これはゴミがでるね
sta SCROLL カクつくね
lda #%00011110 ; スプライトとBGの表示をONにする
sta PPUCTL1 カクつくね
この次の箇所へ提案…
パッドはここにおけばいいはず
各〜_playはたぶんここでいい
snddrv_playはここでいい
rti
各シーン初期化最後の inc <BGUPDATED 直後にNMIオンにして大胆にrtiしちゃえばすこしマシになるかな
根本解決にはならないけど
タイミングめちゃくちゃ&画面ゴミ&遷移時ちらつき&各PPU系メモリ初期化すらできない
こういった初心者はG-NESだけ使ってればいい
そもそも仕組みをちゃんと理解していればこういった不具合を起こすことはない
最近うpる人っていつもこういう傾向だけど、わざと間違えてレス貰う釣りなの?
見た目綺麗だけど不器用で挙動めちゃくちゃなソースの人多いね、BGオンする前にVBlank待たずにチラつかせたりとか
最低限NESTECJ.TXTかndox200.zip理解しとけよ
・スプライトメモリの初期化をしていない、Y座標(0xef <= y <=0xff)とするとスプライトはオフになる、Reset:とシーン#1入り口等でやれ
・NMI直後にJSR PadGetやる暇はない、まずSPRDMA。プログラムのあちこちにSPRDMAがばら撒かれているのはおかしい
・シーンチェンジのVRAM初期化から離脱するときに、VBlankを逃してVRAMに書き込んでる
・あなたは当分.macroは使用禁止、これは上級者向け
・シーン#1の初期化でPPU $23be-$23bfへ書き込めていない
・シーンチェンジの瞬間に下記と同じ理由でカクついていると思う
シーン#0の初期化の際
inc <BGUPDATED
.g2
jmp EndBG もうこの時点で123ライン程度経過している、つまりブラウン管のど真ん中描画中に
こんなことをやっている
sta VRAMADDR これはゴミがでるね
sta SCROLL カクつくね
lda #%00011110 ; スプライトとBGの表示をONにする
sta PPUCTL1 カクつくね
この次の箇所へ提案…
パッドはここにおけばいいはず
各〜_playはたぶんここでいい
snddrv_playはここでいい
rti
各シーン初期化最後の inc <BGUPDATED 直後にNMIオンにして大胆にrtiしちゃえばすこしマシになるかな
根本解決にはならないけど
213名前は開発中のものです。
2014/05/11(日) 14:29:39.56ID:rGvGrR+8 >>199
もう構造的に破綻しているけど
この先スクロールゲームにするなら
今の構造のままだともっと破綻する
理想的には
バッファに命令語を用意しておき
NMI直後に命令語を読み取ってVRAMに書き込む
こういうスタイルじゃないとね
構造が悪いからデバッグの難度も上がる
小規模なうちに治さないと
シーンが増えると結局テーブルジャンプや間接ジャンプ( jmp [mem] )、こういった関数ポインタを使わないとやってられないと思う、
デカくなったswitch文のアセンブラでの効率のよい実装のことね。
cmp #n の比較地獄をしていたら、デカくなればなるほど後の方は遅くてやってられない。
シーンが続き番号でないなら比較地獄も免れないけど
>>198 >>200 LEAPER-3C
謎な奴だよなw
IC引っこ抜くよりCADデータある方が時短になるのかw
エミュでデバッグできないやつが、実機ROM焼きしてたら、ますます時間無駄にすると思うけど
>>201
姑息な手かと思ったら、少し根拠あったのね > Obscure details of OAMADDR
もう構造的に破綻しているけど
この先スクロールゲームにするなら
今の構造のままだともっと破綻する
理想的には
バッファに命令語を用意しておき
NMI直後に命令語を読み取ってVRAMに書き込む
こういうスタイルじゃないとね
構造が悪いからデバッグの難度も上がる
小規模なうちに治さないと
シーンが増えると結局テーブルジャンプや間接ジャンプ( jmp [mem] )、こういった関数ポインタを使わないとやってられないと思う、
デカくなったswitch文のアセンブラでの効率のよい実装のことね。
cmp #n の比較地獄をしていたら、デカくなればなるほど後の方は遅くてやってられない。
シーンが続き番号でないなら比較地獄も免れないけど
>>198 >>200 LEAPER-3C
謎な奴だよなw
IC引っこ抜くよりCADデータある方が時短になるのかw
エミュでデバッグできないやつが、実機ROM焼きしてたら、ますます時間無駄にすると思うけど
>>201
姑息な手かと思ったら、少し根拠あったのね > Obscure details of OAMADDR
214名前は開発中のものです。
2014/05/11(日) 15:05:47.12ID:/Ki7K6oz ファミコンは画面周りがややこしいからなぁ
自分も昔は資料が少なかったこともあって
BGを正常に表示できるようになるまでけっこうな時間を要したな
自分も昔は資料が少なかったこともあって
BGを正常に表示できるようになるまでけっこうな時間を要したな
215名前は開発中のものです。
2014/05/11(日) 17:55:22.28ID:vl3SyvU7 原理的にはむしろ単純だろ
なぜそうなるかの理解がないから理不尽に受け取るだけで
なぜそうなるかの理解がないから理不尽に受け取るだけで
216名前は開発中のものです。
2014/05/11(日) 20:28:01.30ID:FD888ndC217名前は開発中のものです。
2014/05/11(日) 21:03:39.07ID:QGu2c1mG 惜しいなあ、技術的にはいいこと書いてるハズなのに口調で台無し
必要もなく刺々しい言葉「しとけよ」「やれ」などを使ったかと思えば
「釣りなの?」「と思う」などと子どもじみた表現が混ざる
いい歳こいて言葉を選べないって、それはもう恥ずかしい事だよ
書き込む前にきちんと自分の書いた文章、推敲したするべきだよ
自分も、他人も、傷つけないために
必要もなく刺々しい言葉「しとけよ」「やれ」などを使ったかと思えば
「釣りなの?」「と思う」などと子どもじみた表現が混ざる
いい歳こいて言葉を選べないって、それはもう恥ずかしい事だよ
書き込む前にきちんと自分の書いた文章、推敲したするべきだよ
自分も、他人も、傷つけないために
218名前は開発中のものです。
2014/05/11(日) 21:45:37.94ID:hyDhkYCi >>199
□ゲームについて
全体的に良い感じにまとまっていると思いました。
ただ、ミス即ゲームオーバーなので、残機制かライフ制にした方が少し長く遊べて楽しいかなと思います。
あと、果物などのアイテムを出して取ればボーナス点が入るとか。
□プログラムについて
BG書き換えについては、VBlankを深く考えていない実装になっているので、ここから立て直すのはきついと思いました。
205さんの指摘のように、PPUに転送するデータを一旦バッファに入れてVBlank中に転送するフレームワークを作って移行する方が早いかと。
VBlank中にPPUに転送できるデータ量は限界があるので、BG書き換えの実装部分はそれを配慮した作りに直さないと駄目ですね。
□ゲームについて
全体的に良い感じにまとまっていると思いました。
ただ、ミス即ゲームオーバーなので、残機制かライフ制にした方が少し長く遊べて楽しいかなと思います。
あと、果物などのアイテムを出して取ればボーナス点が入るとか。
□プログラムについて
BG書き換えについては、VBlankを深く考えていない実装になっているので、ここから立て直すのはきついと思いました。
205さんの指摘のように、PPUに転送するデータを一旦バッファに入れてVBlank中に転送するフレームワークを作って移行する方が早いかと。
VBlank中にPPUに転送できるデータ量は限界があるので、BG書き換えの実装部分はそれを配慮した作りに直さないと駄目ですね。
219名前は開発中のものです。
2014/05/11(日) 23:13:04.21ID:rGvGrR+8 >>217
ゆとりメンタルなやつは2ちゃん見なきゃいいんじゃない?
お前らは延々と即値でスプライトのバッファ初期化して、
100レス前も読めずNMI使えず$2002のポーリングでループ作ってるアホと同類だろ?w
何度同じこと言われても改善しようとしないやつw
前スレの>>700あたりから湧いてる
画面カクついてる時点で釣りかと思ったし
全部のシーンを厳密に検証する気はないから「思う」と書いただけでね
こういう書き込みも増えたね
>〜エミュで動作しました、バグってました
そりゃ画面がカクついていたり、
ソフトリセット、ハードリセット時に挙動が乱れたりするのは誰が見てもバグだよな
>>218
つくりはじめたばかりのやつが、まとまってるのか?
ゆとりメンタルなやつは2ちゃん見なきゃいいんじゃない?
お前らは延々と即値でスプライトのバッファ初期化して、
100レス前も読めずNMI使えず$2002のポーリングでループ作ってるアホと同類だろ?w
何度同じこと言われても改善しようとしないやつw
前スレの>>700あたりから湧いてる
画面カクついてる時点で釣りかと思ったし
全部のシーンを厳密に検証する気はないから「思う」と書いただけでね
こういう書き込みも増えたね
>〜エミュで動作しました、バグってました
そりゃ画面がカクついていたり、
ソフトリセット、ハードリセット時に挙動が乱れたりするのは誰が見てもバグだよな
>>218
つくりはじめたばかりのやつが、まとまってるのか?
220199
2014/05/11(日) 23:30:36.97ID:Mnx9Nf8g 皆さんご親切に本当に有難うございます.実際にプログラミングしながら勉強することで,
たくさん吸収出来てます!!
>>212
親切にソースチェック&修正案ありがとうございます.
こういう方が即レスくれるのも,さすがこのスレという感じです.
プログラムは,何も考えずに,ここまでとりあえずという感じなので,
皆さんから頂いた意見と,わかったことを入れて,プログラムし直したいとおもいます.
>>218
PPUへのアクセスに時間がかかるし,BG描画後にVRAM周りにアクセスするとヤバイ
っていうことを知らずに実装していった結果が今のプログラムです.
ご指摘のように,バッファに用意→転送にすることと, VBlankの時間を考慮した
実装にしたいです.
ソース公開は恥ずかしかったですが,頑張って出して良かったです!
想定よりも,皆さんからレスを頂けて嬉しいです.頑張ります!
たくさん吸収出来てます!!
>>212
親切にソースチェック&修正案ありがとうございます.
こういう方が即レスくれるのも,さすがこのスレという感じです.
プログラムは,何も考えずに,ここまでとりあえずという感じなので,
皆さんから頂いた意見と,わかったことを入れて,プログラムし直したいとおもいます.
>>218
PPUへのアクセスに時間がかかるし,BG描画後にVRAM周りにアクセスするとヤバイ
っていうことを知らずに実装していった結果が今のプログラムです.
ご指摘のように,バッファに用意→転送にすることと, VBlankの時間を考慮した
実装にしたいです.
ソース公開は恥ずかしかったですが,頑張って出して良かったです!
想定よりも,皆さんからレスを頂けて嬉しいです.頑張ります!
221名前は開発中のものです。
2014/05/12(月) 00:09:07.80ID:jaOM61/S >NMI使えず$2002のポーリングでループ作ってる
初心者でこれやらかす奴はたぶん某サイトの影響受けてるだろ
あそこは全体的に説明が不足しすぎてるよ
更新も長いこと止まってるし、当てにするのはやめたほうがいい
Nesdevの日本語資料理解するだけでもだいぶ変わるし
他にも今ではNES関連資料のサイトなんていっぱいある
特にI/Oレジスタについてはサイトによって書いてあること違ったりするから
一つのサイトに拘らず色々見るといい
初心者でこれやらかす奴はたぶん某サイトの影響受けてるだろ
あそこは全体的に説明が不足しすぎてるよ
更新も長いこと止まってるし、当てにするのはやめたほうがいい
Nesdevの日本語資料理解するだけでもだいぶ変わるし
他にも今ではNES関連資料のサイトなんていっぱいある
特にI/Oレジスタについてはサイトによって書いてあること違ったりするから
一つのサイトに拘らず色々見るといい
222名前は開発中のものです。
2014/05/12(月) 00:13:00.90ID:p9javgur >>220
BG描画後にVRAMアクセスがNGではなくて、
非VBlank中にVRAMアクセスするのがNGなんです。(画面が乱れる)
短いVBlank中にVRAMを書き換えるために、バッファにデータを溜め込んでおいて、
VBlank(NMI)割り込みに入ったらすぐにバッファのデータを転送しろってことです。
あと、もちろんですが、スプライトのDMA転送もVBlank中に行わなければなりません。
BG描画後にVRAMアクセスがNGではなくて、
非VBlank中にVRAMアクセスするのがNGなんです。(画面が乱れる)
短いVBlank中にVRAMを書き換えるために、バッファにデータを溜め込んでおいて、
VBlank(NMI)割り込みに入ったらすぐにバッファのデータを転送しろってことです。
あと、もちろんですが、スプライトのDMA転送もVBlank中に行わなければなりません。
223名前は開発中のものです。
2014/05/12(月) 08:39:01.88ID:Wk7QwTB6224名前は開発中のものです。
2014/05/12(月) 08:40:54.97ID:Wk7QwTB6225名前は開発中のものです。
2014/05/12(月) 10:39:31.18ID:cuBtqyJP 当時のRAMはデュアルポートではないから読んでいる最中に書き込みはできない
単純な構造だよね?
で、画面を描画している最中は(BGもOBJも)データをVRAMから読み出している真っ最中だから
そこで無理やりデータを書き込むと、今まで画面描画時に参照していたVRAMのアドレスが置き換えられてしまうため
元の描画処理を継続することができなくなり画面の表示が破綻してしまう
表示周りをいじる際VBlank期間中にアクセスしなければならないのはこういう理由
単純な構造だよね?
で、画面を描画している最中は(BGもOBJも)データをVRAMから読み出している真っ最中だから
そこで無理やりデータを書き込むと、今まで画面描画時に参照していたVRAMのアドレスが置き換えられてしまうため
元の描画処理を継続することができなくなり画面の表示が破綻してしまう
表示周りをいじる際VBlank期間中にアクセスしなければならないのはこういう理由
226名前は開発中のものです。
2014/05/12(月) 22:05:47.81ID:jsal4ZTv キラキラスターナイトのソースを読んでみたい。
227名前は開発中のものです。
2014/05/13(火) 05:06:48.28ID:9EaC9IEc 遊び方にパテントはないわけでして
228名前は開発中のものです。
2014/05/13(火) 06:22:09.58ID:T2v6EbAW229名前は開発中のものです。
2014/05/13(火) 19:16:50.69ID:srI4FW40 RIKIがパソファミの安藤に媚び売っててワロタ
ロジックボム組み込んだりする基地外なのを知らんのか近頃のもんは
ロジックボム組み込んだりする基地外なのを知らんのか近頃のもんは
230名前は開発中のものです。
2014/05/13(火) 20:10:15.51ID:f3qQ/xjJ パソファミ作者はメールでの対応が最悪レベル
自分の非を認めないどころか人を犯罪者扱いしたりするキ○○イ
おまけにホンコンのソース盗用疑惑もあるしな ホントどうしようもねぇよ
素人にはこれしかないから売れるんだろうけど それが余計にたち悪いね
自分の非を認めないどころか人を犯罪者扱いしたりするキ○○イ
おまけにホンコンのソース盗用疑惑もあるしな ホントどうしようもねぇよ
素人にはこれしかないから売れるんだろうけど それが余計にたち悪いね
231名前は開発中のものです。
2014/05/15(木) 00:00:39.68ID:HB8Kbvvq >>229
>>ロジックボム
そういう噂を聞いたから
その後にちょっとだけ調べたけど
プリンタポートでないI/Oポートに向けて
x86のout命令が発せられてたような、ないような
windows98なら簡単に発動するのかな
より堅牢なOSであるwindows2000にしてたから
効果なしっぽかったけど
近頃のもんが吸出しやROM焼き実機動作させてるのをよく見かけるようになったけど
ソソハメさんの名前がなぜあまり挙がらないか理由をよく認識しておいた方がいい>もっと近頃のもんたちへ
>>ロジックボム
そういう噂を聞いたから
その後にちょっとだけ調べたけど
プリンタポートでないI/Oポートに向けて
x86のout命令が発せられてたような、ないような
windows98なら簡単に発動するのかな
より堅牢なOSであるwindows2000にしてたから
効果なしっぽかったけど
近頃のもんが吸出しやROM焼き実機動作させてるのをよく見かけるようになったけど
ソソハメさんの名前がなぜあまり挙がらないか理由をよく認識しておいた方がいい>もっと近頃のもんたちへ
232名前は開発中のものです。
2014/05/15(木) 03:12:19.39ID:AXeiaTDm 気持ち悪いのが涌いてきたな
233名前は開発中のものです。
2014/05/15(木) 05:14:14.01ID:gGlXRPO1 すみません、吸出しというのは英語では何というのでしょうか?スペルを教えて下さい
234名前は開発中のものです。
2014/05/15(木) 08:42:17.70ID:9cGRzDB1 dump
235名前は開発中のものです。
2014/05/20(火) 00:15:36.83ID:sHOtKBex236140
2014/05/28(水) 20:00:45.64ID:pcO3WytB ジョイパッドの読み取りルーチンをリファクタリングしたら結構コンパクトになった。
6502のアセンブラは奥深い。
Joypad_Update:
lda #$01
sta $4016
lsr a ; same as lda $00 & sec
sta $4016
ror a ; same as lda $80 & clc
sta <JOYPAD
sta <JOYPAD+1
.1
lda $4016
and #$03
; clc
sbc #0
ror <JOYPAD
lda $4017
and #$03
; clc
sbc #0
ror <JOYPAD+1
bcc .1
rts
>>235
ありがとうございます。
6502のアセンブラは奥深い。
Joypad_Update:
lda #$01
sta $4016
lsr a ; same as lda $00 & sec
sta $4016
ror a ; same as lda $80 & clc
sta <JOYPAD
sta <JOYPAD+1
.1
lda $4016
and #$03
; clc
sbc #0
ror <JOYPAD
lda $4017
and #$03
; clc
sbc #0
ror <JOYPAD+1
bcc .1
rts
>>235
ありがとうございます。
237140
2014/05/28(水) 20:07:39.22ID:pcO3WytB あ、
sta <JOYPAD
ror a ; same as lda $80 & clc
sta <JOYPAD+1
として、JOYPADには$00入れないと不味いね。
sta <JOYPAD
ror a ; same as lda $80 & clc
sta <JOYPAD+1
として、JOYPADには$00入れないと不味いね。
238名前は開発中のものです。
2014/05/29(木) 00:32:25.75ID:Ix+yqrZv >>237 (clcと)sbc #0をcmp #1にすればsta <JOYPADは不要
240名前は開発中のものです。
2014/06/04(水) 21:11:42.02ID:Wpb6i0Ha RevolvingGemsのゲーム本体部分が出来ましたので公開します。
ttp://homepage3.nifty.com/~kyoske/nes/RevolvingGems070.zip
残りはタイトル画面と遊び方画面を実装して終わる予定。
ttp://homepage3.nifty.com/~kyoske/nes/RevolvingGems070.zip
残りはタイトル画面と遊び方画面を実装して終わる予定。
241名前は開発中のものです。
2014/06/04(水) 21:35:20.41ID:EpTIlg4F すげー
242名前は開発中のものです。
2014/06/04(水) 23:51:21.70ID:78Tpkbjc 商用レベルのできだと思う。
気になるのは、連鎖がどんどん発生しやすすぎではないのかなと
気になるのは、連鎖がどんどん発生しやすすぎではないのかなと
243名前は開発中のものです。
2014/06/05(木) 01:19:37.09ID:9NxYghum >>242
連鎖しやすいのは、6方向に対して6種類の駒しかないので
仕様上、確率的につながり易いのが原因です。
駒の種類を増やせれば良いのですが、パレットが足りないw
最初は3個つながったらで実装していたのですが、
あまりにも連鎖が続くので4個にしています。
それでも消せなくなることが無く延々と続けられるので、時間制に逃げました。
作って思ったのは、ぷよぷよの仕様は絶妙なバランスなんだなぁと。
連鎖しやすいのは、6方向に対して6種類の駒しかないので
仕様上、確率的につながり易いのが原因です。
駒の種類を増やせれば良いのですが、パレットが足りないw
最初は3個つながったらで実装していたのですが、
あまりにも連鎖が続くので4個にしています。
それでも消せなくなることが無く延々と続けられるので、時間制に逃げました。
作って思ったのは、ぷよぷよの仕様は絶妙なバランスなんだなぁと。
244名前は開発中のものです。
2014/06/05(木) 23:11:37.79ID:hfWG3l/O 追加された音楽がスタートで変更できるのは、個人的にうれしいですね!
後、セレクトボタンはどんな効果があるのでしょうか?(効果音だけ?)
後、セレクトボタンはどんな効果があるのでしょうか?(効果音だけ?)
245131
2014/06/06(金) 19:17:42.85ID:5n3Zcu9W 131です。あの後、
いろいろ注意深く書き込みを見ていたのですが
人に意見されるってすごく大事だと思いました。
ちなみに、cc65でオセロとShootingGameSampleを作ったのと、
nesasmでブロック崩しを作ったのも
自分です。
今までは自分はチキンで人に意見言われるだけで、
むっつりと黙っていましたが、これからは
もっと能動的に動きたいです。
ファミコンのブロック崩しをソース付きで晒すので
汚いし、ロジック的におかしいところばかりですが、
見てやってください。
僕はカービィやマリオ、くにおくんのファミコン少年の一人の
つもりなのでファミコンは、ホント好きですし、このスレッド
を最初から見ています
http://www1.axfc.net/u/3252687.zip
いろいろ注意深く書き込みを見ていたのですが
人に意見されるってすごく大事だと思いました。
ちなみに、cc65でオセロとShootingGameSampleを作ったのと、
nesasmでブロック崩しを作ったのも
自分です。
今までは自分はチキンで人に意見言われるだけで、
むっつりと黙っていましたが、これからは
もっと能動的に動きたいです。
ファミコンのブロック崩しをソース付きで晒すので
汚いし、ロジック的におかしいところばかりですが、
見てやってください。
僕はカービィやマリオ、くにおくんのファミコン少年の一人の
つもりなのでファミコンは、ホント好きですし、このスレッド
を最初から見ています
http://www1.axfc.net/u/3252687.zip
246131
2014/06/06(金) 21:24:59.35ID:5n3Zcu9W こんな事書き込みたくて書き込むわけじゃないですけど、
ファミコンの正常動作って何ですか?
どうすれば正常動作っていうんですか?
いつまにか、このスレッドは本物のROMと同じように動かす為に努力してる
人たちを称え、褒めてきました。
正常動作って定義がどこにあるかはファミコンで動作すれば分かるんじゃないですかね。
それ以外を異常動作というなら、エミュレータはほぼ全て異常動作ですよ。
ファミコンの正常動作って何ですか?
どうすれば正常動作っていうんですか?
いつまにか、このスレッドは本物のROMと同じように動かす為に努力してる
人たちを称え、褒めてきました。
正常動作って定義がどこにあるかはファミコンで動作すれば分かるんじゃないですかね。
それ以外を異常動作というなら、エミュレータはほぼ全て異常動作ですよ。
247名前は開発中のものです。
2014/06/06(金) 22:02:30.07ID:4Zl9JWw3248名前は開発中のものです。
2014/06/06(金) 22:51:57.22ID:kdjIsC0c249131
2014/06/07(土) 03:42:43.36ID:hwRmu2MG 本当に実機で試したのか知りたいですが、
自分の言いたい事は実機で動かない事の言い訳じゃなくて、
ファミコンのプログラミングが1つの古代技術でそれが通用するのはあくまでファミコンのみ
という事なんですが**が素晴らしいとか**の技術は優れているとかのある意味
マニアックな話の流れになっているというか、
ぶっちゃけ、自分の作ったファミコンゲームは技術的には全然優れてないので、
優れた技術を持った人たちに憧れたみたいなところがあります。
自分の言いたい事は実機で動かない事の言い訳じゃなくて、
ファミコンのプログラミングが1つの古代技術でそれが通用するのはあくまでファミコンのみ
という事なんですが**が素晴らしいとか**の技術は優れているとかのある意味
マニアックな話の流れになっているというか、
ぶっちゃけ、自分の作ったファミコンゲームは技術的には全然優れてないので、
優れた技術を持った人たちに憧れたみたいなところがあります。
250131
2014/06/07(土) 03:52:27.88ID:hwRmu2MG **には、ラスタースクロールやスプライトダブラー、
FFの高速スクロール、BGの高速書き換え、パレットアニメーション
を入れてください。
FFの高速スクロール、BGの高速書き換え、パレットアニメーション
を入れてください。
251131
2014/06/07(土) 09:33:01.78ID:hwRmu2MG cc65の作ったやつは(REVERSI,SHOOTING GAME SAMPLE)動く自信がないですが、
nesasmで作ったやつも(IWA WO OTOSE,BLOCK)動かないんですかね。
nesasmで作ったやつも(IWA WO OTOSE,BLOCK)動かないんですかね。
252名前は開発中のものです。
2014/06/07(土) 10:52:19.34ID:0OqTmEOh >>244
スタートとセレクトは、サウンド系の開発用にテストできるように追加していた機能で
今回スタートを少し改良して選曲出来るようにしました。
セレクトは、効果音を作る時以外は意味を成さないので、次の完成版では削除する予定です。
スタートとセレクトは、サウンド系の開発用にテストできるように追加していた機能で
今回スタートを少し改良して選曲出来るようにしました。
セレクトは、効果音を作る時以外は意味を成さないので、次の完成版では削除する予定です。
253名前は開発中のものです。
2014/06/07(土) 11:09:37.37ID:0OqTmEOh254名前は開発中のものです。
2014/06/07(土) 11:18:00.96ID:0OqTmEOh >>249
私も最終目標は実機で動作させてみることなのですが、
そこまでの道が遠い状態です。
一応、動作させるための目処は立っていて、材料とかもそろえたのですが
ROMライターから自作せねばならないため、いつになるかわかりません。
実機で動作したのを確認して初めて、ファミコンのプログラムを作ったと、
胸張って言えるかと個人的には思っています。
私も最終目標は実機で動作させてみることなのですが、
そこまでの道が遠い状態です。
一応、動作させるための目処は立っていて、材料とかもそろえたのですが
ROMライターから自作せねばならないため、いつになるかわかりません。
実機で動作したのを確認して初めて、ファミコンのプログラムを作ったと、
胸張って言えるかと個人的には思っています。
255131
2014/06/07(土) 14:24:42.36ID:HAL7UNXv >>254
ネットカフェから書き込みです。
そうですね。ファミコンの実機で動いたら感動しますし、
実機で動かしたいです。
ファミコンの実機は持っているのですが、ROMライターや
EEPROM、同軸ケーブル、ビデオデッキ、自分用のテレビ
ネットカフェから書き込みです。
そうですね。ファミコンの実機で動いたら感動しますし、
実機で動かしたいです。
ファミコンの実機は持っているのですが、ROMライターや
EEPROM、同軸ケーブル、ビデオデッキ、自分用のテレビ
256131
2014/06/07(土) 14:27:25.94ID:HAL7UNXv など問題が山積しているので、現段階では難しいです。
257名前は開発中のものです。
2014/06/07(土) 15:48:51.46ID:0OqTmEOh >>245
一通り読んでみました。
.bank 0 ; バンク0
.org $0300 ; $0300から開始、スプライトDMAデータ配置
Paddle00_Y: .db 0 ; スプライト#1 Y座標
Paddle00_T: .db 0 ; スプライト#1 ナンバー
WRAM領域の$0300にデータ定義の記述があるが、
ビルド出来ているのであろうが、記述としてはまぎわらしいので
Paddle00_Y = $0300
Paddle00_T = $0301
と記述した方が良い
.memclearloop
sta [$00],y
iny
cpy #255
bne .memclearloop
254までしかループしていない。cpy #255が不要
一通り読んでみました。
.bank 0 ; バンク0
.org $0300 ; $0300から開始、スプライトDMAデータ配置
Paddle00_Y: .db 0 ; スプライト#1 Y座標
Paddle00_T: .db 0 ; スプライト#1 ナンバー
WRAM領域の$0300にデータ定義の記述があるが、
ビルド出来ているのであろうが、記述としてはまぎわらしいので
Paddle00_Y = $0300
Paddle00_T = $0301
と記述した方が良い
.memclearloop
sta [$00],y
iny
cpy #255
bne .memclearloop
254までしかループしていない。cpy #255が不要
258名前は開発中のものです。
2014/06/07(土) 15:49:29.84ID:0OqTmEOh >>257
続き
VBlank直後に行うべき処理と、ゲーム本体の処理を分離したほうが良い。
パッドとボールの座標と、スプライトの座標は別に持っておき、
パッドとボールの座標をスプライトデータに反映するにように
実装した方が、プログラムの書き方としては綺麗だと思う。
VBlankのタイミングを考えずに、スプライトとBGの表示をOFF/ONにして
VRAMを書き換えるのはやめた方が良いと思う。
nestopiaとかでも普通に表示できていたけど、書き換え量が多くなると
画面がちらつくのでは?
jsr Pad_Check
ソース上に Pad_Check が見つからない。
lda #0 ;これはROMなので出来ないので、こうする
sta STAGE1,x ;〃
ROMに0を書き込む意図がわからない。
VRAM書き込み先のアドレスをブロックの座標から
計算しているが、ブロックの配置位置が有限個であれば
表引きで求める方法もある。
(Y座標だけでも表引きにすると処理が結構簡素化します)
続き
VBlank直後に行うべき処理と、ゲーム本体の処理を分離したほうが良い。
パッドとボールの座標と、スプライトの座標は別に持っておき、
パッドとボールの座標をスプライトデータに反映するにように
実装した方が、プログラムの書き方としては綺麗だと思う。
VBlankのタイミングを考えずに、スプライトとBGの表示をOFF/ONにして
VRAMを書き換えるのはやめた方が良いと思う。
nestopiaとかでも普通に表示できていたけど、書き換え量が多くなると
画面がちらつくのでは?
jsr Pad_Check
ソース上に Pad_Check が見つからない。
lda #0 ;これはROMなので出来ないので、こうする
sta STAGE1,x ;〃
ROMに0を書き込む意図がわからない。
VRAM書き込み先のアドレスをブロックの座標から
計算しているが、ブロックの配置位置が有限個であれば
表引きで求める方法もある。
(Y座標だけでも表引きにすると処理が結構簡素化します)
259131
2014/06/07(土) 17:02:04.46ID:hwRmu2MG ギコ猫さんのところで、覚えた技術ばかりという理由は
英語が出来ないという理由なのですが、これは理由になってないみたいですね。
@英語が出来ない
↓
A英語の技術情報が分からない
↓
B日本語だけの技術情報に頼る
の無限ループなので、英語を中学英語から
やり直したいと思います。
ちょうど良い本がアマゾンで見つかったので
ttp://www.amazon.co.jp/%E4%B8%AD%E5%AD%A6%E3%83%BB%E9%AB%98%E6%A0%A16%E5%B9%B4%E5%88%86%E3%81%AE%E8%8B%B1%E8%AA%9E%E3%82%92%E7%B7%8F%E5%BE%A9%E7%BF%92%E3%81%99%E3%82%8B-CD%E4%BB%98-CD-BOOK-%E5%B9%B3%E5%B1%B1/dp/4860641663
あと、スプライトの定義のその定義の仕方は知らなかったです。
でも、ある意味スプライトDMAのアドレスを考えれば当たり前なんでしょうけど。
iny cpy bneの間違いは、間違えて覚えていました。
ギコ猫さんとこはパレットの読み込み時に
ldx #0
.loop
lda ourpal,x
sta $2007
inx
cpx #32
bne .loop
みたいにやっていたのですがよく考えれば、0-31までを読み込んでいたんですね。
これは、引き算の小学一年レベルの間違えですね。差がNの時、合計数は、N+1になるという事なんでしょう。
つづく
英語が出来ないという理由なのですが、これは理由になってないみたいですね。
@英語が出来ない
↓
A英語の技術情報が分からない
↓
B日本語だけの技術情報に頼る
の無限ループなので、英語を中学英語から
やり直したいと思います。
ちょうど良い本がアマゾンで見つかったので
ttp://www.amazon.co.jp/%E4%B8%AD%E5%AD%A6%E3%83%BB%E9%AB%98%E6%A0%A16%E5%B9%B4%E5%88%86%E3%81%AE%E8%8B%B1%E8%AA%9E%E3%82%92%E7%B7%8F%E5%BE%A9%E7%BF%92%E3%81%99%E3%82%8B-CD%E4%BB%98-CD-BOOK-%E5%B9%B3%E5%B1%B1/dp/4860641663
あと、スプライトの定義のその定義の仕方は知らなかったです。
でも、ある意味スプライトDMAのアドレスを考えれば当たり前なんでしょうけど。
iny cpy bneの間違いは、間違えて覚えていました。
ギコ猫さんとこはパレットの読み込み時に
ldx #0
.loop
lda ourpal,x
sta $2007
inx
cpx #32
bne .loop
みたいにやっていたのですがよく考えれば、0-31までを読み込んでいたんですね。
これは、引き算の小学一年レベルの間違えですね。差がNの時、合計数は、N+1になるという事なんでしょう。
つづく
260131
2014/06/07(土) 17:29:43.93ID:hwRmu2MG >>257-258
VBlankとゲーム本体処理を分離ということはNMIを使うって事ですね。他の方も言ってましたが
スプライトと実際の座標を別に持つというのは、以前やったことがあるのですが、クソ汚いソースになってしまいましたが、少しだけわかってきた気がします。こんな感じですかね。
>>261に書きます。
VBlankのタイミングと書き換えは理解しずらいのですが、ファミコンのPPUの仕様なんですかね。
Pad_Checkは、他の方が作られたソースなので、あえて外しました。ROMに0を書き込んだ意図は、恐らくないです。気づかないまま放置してしまいました。
ブロックの配置位置が有限個ならテーブル化できるんですか?今度やってみます。
アドバイスありがとうございます!!ホント助かりました。知らなかった事や理解出来なかった事が分かってよかったです。
VBlankとゲーム本体処理を分離ということはNMIを使うって事ですね。他の方も言ってましたが
スプライトと実際の座標を別に持つというのは、以前やったことがあるのですが、クソ汚いソースになってしまいましたが、少しだけわかってきた気がします。こんな感じですかね。
>>261に書きます。
VBlankのタイミングと書き換えは理解しずらいのですが、ファミコンのPPUの仕様なんですかね。
Pad_Checkは、他の方が作られたソースなので、あえて外しました。ROMに0を書き込んだ意図は、恐らくないです。気づかないまま放置してしまいました。
ブロックの配置位置が有限個ならテーブル化できるんですか?今度やってみます。
アドバイスありがとうございます!!ホント助かりました。知らなかった事や理解出来なかった事が分かってよかったです。
261131
2014/06/07(土) 17:30:36.51ID:hwRmu2MG .org $300 ;データ定義
Sprite:
Sp00_Y: $0300
Sp00_T: $0301
Sp00_S: $0302
Sp00_X: $0303
01_Y: $0304
01_T: $0305
01_S: $0306
01_X: $0307
...
ldx #0
.SetObjAxis2RealAxis ;スプライト座標を実際の座標に代入する
lda Sprite+0,x
sta Real_Y,x
lda Sprite+3,x
sta Real_X,x
inx
inx
inx
inx
cpx #(4*4) ;4つのスプライトを代入する
bne .SetObjAxis2RealAxis
Sprite:
Sp00_Y: $0300
Sp00_T: $0301
Sp00_S: $0302
Sp00_X: $0303
01_Y: $0304
01_T: $0305
01_S: $0306
01_X: $0307
...
ldx #0
.SetObjAxis2RealAxis ;スプライト座標を実際の座標に代入する
lda Sprite+0,x
sta Real_Y,x
lda Sprite+3,x
sta Real_X,x
inx
inx
inx
inx
cpx #(4*4) ;4つのスプライトを代入する
bne .SetObjAxis2RealAxis
262131
2014/06/07(土) 17:32:41.18ID:hwRmu2MG 間違えました。
.org $300 ;データ定義
Sprite:
Sp00_Y= $0300
Sp00_T= $0301
Sp00_S= $0302
Sp00_X= $0303
01_Y= $0304
01_T= $0305
01_S= $0306
01_X= $0307
...
ldx #0
.SetObjAxis2RealAxis ;スプライト座標を実際の座標に代入する
lda Sprite+0,x
sta Real_Y,x
lda Sprite+3,x
sta Real_X,x
inx
inx
inx
inx
cpx #(4*4) ;4つのスプライトを代入する
bne .SetObjAxis2RealAxis
.org $300 ;データ定義
Sprite:
Sp00_Y= $0300
Sp00_T= $0301
Sp00_S= $0302
Sp00_X= $0303
01_Y= $0304
01_T= $0305
01_S= $0306
01_X= $0307
...
ldx #0
.SetObjAxis2RealAxis ;スプライト座標を実際の座標に代入する
lda Sprite+0,x
sta Real_Y,x
lda Sprite+3,x
sta Real_X,x
inx
inx
inx
inx
cpx #(4*4) ;4つのスプライトを代入する
bne .SetObjAxis2RealAxis
263名前は開発中のものです。
2014/06/07(土) 17:38:24.41ID:YYdbZPoT 英検三級、即ち中学卒業程度の英語力とgoogle翻訳があれば十分。
海外サイトの情報も何も全部理解する必要はないし、図、表、技術用語さえわかれば殆ど問題ない。
それに今では日本語資料も充実していると思うし、あえてギコ猫のところだけを参考にすることもないだろう。
初心者のうちは他人が作ったソースを見てよく理解し、そこからいろいろ学ぶのもいいだろう。
公開されているソースによっては丁寧に説明が細かく書いてあるものもある。
海外サイトの情報も何も全部理解する必要はないし、図、表、技術用語さえわかれば殆ど問題ない。
それに今では日本語資料も充実していると思うし、あえてギコ猫のところだけを参考にすることもないだろう。
初心者のうちは他人が作ったソースを見てよく理解し、そこからいろいろ学ぶのもいいだろう。
公開されているソースによっては丁寧に説明が細かく書いてあるものもある。
264131
2014/06/07(土) 18:21:24.08ID:hwRmu2MG >>263
英検3級は持ってますが、かなり文法が怪しいです。単語に関しては最も初期の「萌えたん」を
P-StudySystemを自作問題集を作って覚えた程度です。
1つ1つの単語が読めても何を言いたいのかわからないので、今持っているくもん中学英文法
という本をゆっくりと確実にやる事にします。
初心者というにも、初めてから時間がかかり過ぎてる面はあるのですが、
恐らく他の方の作ったソースを断片的にしか分かっていないというのはあると思います。
google翻訳に関しては、使うブラウザがchromeなので、標準で使えます。
英検3級は持ってますが、かなり文法が怪しいです。単語に関しては最も初期の「萌えたん」を
P-StudySystemを自作問題集を作って覚えた程度です。
1つ1つの単語が読めても何を言いたいのかわからないので、今持っているくもん中学英文法
という本をゆっくりと確実にやる事にします。
初心者というにも、初めてから時間がかかり過ぎてる面はあるのですが、
恐らく他の方の作ったソースを断片的にしか分かっていないというのはあると思います。
google翻訳に関しては、使うブラウザがchromeなので、標準で使えます。
265名前は開発中のものです。
2014/06/07(土) 19:18:59.23ID:2SsDMldn266名前は開発中のものです。
2014/06/08(日) 02:10:46.27ID:CkZRo6BG >>260
> VBlankのタイミングと書き換えは理解しずらいのですが、ファミコンのPPUの仕様なんですかね。
VBlankの意味を理解していない節があるので、まずは、ブラウン管の話からします。
機知の情報かも知れませんが聞いてください。
ブラウン管の裏から電子銃で電子を飛ばし、ブラウン管表の蛍光面を発光します。
真っ直ぐ飛ばしただけでは、ただの点なので、磁界をかけて電子が飛ぶ方向を変えて
左上から右へ水平方向に線を書くように発光させ、再び左端に戻ってさっきより
ちょっと下の位置で同じように水平方向の線を発光させます。
これを画面下まで繰り返して、再び左上に戻ります。
これをすばやく繰り返すことで、ブラウン管の蛍光面全体に画像を表示します。(ラスタスキャン方式)
電子の飛ばし先が右端から左端に戻る期間を水平帰線消去期間(HBlank期間)、
下端から上端に戻る期間を垂直帰線消去期間(VBlank期間)と呼びます。
> VBlankのタイミングと書き換えは理解しずらいのですが、ファミコンのPPUの仕様なんですかね。
VBlankの意味を理解していない節があるので、まずは、ブラウン管の話からします。
機知の情報かも知れませんが聞いてください。
ブラウン管の裏から電子銃で電子を飛ばし、ブラウン管表の蛍光面を発光します。
真っ直ぐ飛ばしただけでは、ただの点なので、磁界をかけて電子が飛ぶ方向を変えて
左上から右へ水平方向に線を書くように発光させ、再び左端に戻ってさっきより
ちょっと下の位置で同じように水平方向の線を発光させます。
これを画面下まで繰り返して、再び左上に戻ります。
これをすばやく繰り返すことで、ブラウン管の蛍光面全体に画像を表示します。(ラスタスキャン方式)
電子の飛ばし先が右端から左端に戻る期間を水平帰線消去期間(HBlank期間)、
下端から上端に戻る期間を垂直帰線消去期間(VBlank期間)と呼びます。
267名前は開発中のものです。
2014/06/08(日) 02:12:41.17ID:CkZRo6BG >>266
続き
VBlank期間は、一瞬で戻るのではなく、NTSC(日本のアナログ放送の信号規格)の場合
20本分の横線を描くぐらいの時間があります。この間、電子銃から電子は飛びません。
非VBlank期間は、ファミコンのPPUは画像の信号を作るため、
CHR-ROMからパターンを読み込んだり、VRAMからネームテーブルや
属性情報を読み込んでいて、PPUの信号線(PPUバス)を占有しています。
VBlank期間は、PPUが画像の信号を作らないので、PPUバスは開放されており
CPUはPPUを介してPPUバスにつながっているVRAMにアクセスできます。
「VBlank待ちの直後にVRAMの書き換えを行え」というのは、PPUが映像信号を
作るのに邪魔にならないタイミングでVRAMにアクセスしなさいということです。
続き
VBlank期間は、一瞬で戻るのではなく、NTSC(日本のアナログ放送の信号規格)の場合
20本分の横線を描くぐらいの時間があります。この間、電子銃から電子は飛びません。
非VBlank期間は、ファミコンのPPUは画像の信号を作るため、
CHR-ROMからパターンを読み込んだり、VRAMからネームテーブルや
属性情報を読み込んでいて、PPUの信号線(PPUバス)を占有しています。
VBlank期間は、PPUが画像の信号を作らないので、PPUバスは開放されており
CPUはPPUを介してPPUバスにつながっているVRAMにアクセスできます。
「VBlank待ちの直後にVRAMの書き換えを行え」というのは、PPUが映像信号を
作るのに邪魔にならないタイミングでVRAMにアクセスしなさいということです。
268名前は開発中のものです。
2014/06/08(日) 02:53:09.19ID:CkZRo6BG >>267
続き
非VBlank期間中にCPUがVRAMにアクセスできる方法があります。
PPUレジスタ $2001 のbit3とbit4を0にして、BGとスプライトを非表示にすることです。
画像の信号を作るためのPPUのCHR-ROMやVRAMへのアクセスが止まるので
PPUバスが開放され、CPUはPPUを介してVRAMにアクセスできます。
代わりに、画面に何も表示されない箇所が現れることになります。
BGとスプライトを非表示にするタイミングにばらつきがあると、
画面がちらつく現象となります。
> VBlankのタイミングと書き換えは理解しずらいのですが、ファミコンのPPUの仕様なんですかね。
ファミコンの設計による制限であるため、仕様と言えば、その通りです。
続き
非VBlank期間中にCPUがVRAMにアクセスできる方法があります。
PPUレジスタ $2001 のbit3とbit4を0にして、BGとスプライトを非表示にすることです。
画像の信号を作るためのPPUのCHR-ROMやVRAMへのアクセスが止まるので
PPUバスが開放され、CPUはPPUを介してVRAMにアクセスできます。
代わりに、画面に何も表示されない箇所が現れることになります。
BGとスプライトを非表示にするタイミングにばらつきがあると、
画面がちらつく現象となります。
> VBlankのタイミングと書き換えは理解しずらいのですが、ファミコンのPPUの仕様なんですかね。
ファミコンの設計による制限であるため、仕様と言えば、その通りです。
269名前は開発中のものです。
2014/06/08(日) 02:54:30.27ID:CkZRo6BG >>268
続き
同世代の他のパソコンとかでは、表示中にもCPUからVRAMにアクセスできるものが
あるのに、ファミコンで出来ないのはなぜ?
→画面表示用の信号線とCPUからVRAMにアクセスする信号線が別になっているためです。
VRAMもデュアルポートメモリという、アクセスの口が2つある特別なRAMを使っています。
ファミコンのWRAMやVRAMに使われているのは、アクセスの口が1つのシングルポートメモリです。
→信号線も増えるため、基板上の配線が複雑化し、基板のサイズや層が増えてコスト増になる可能性があります。
ファミコンのVRAMにデュアルポートメモリを使わなかったのはなぜ?
→コスト削減のためです。
一般的にアクセスポートが余分にあるデュアルポートメモリの方がシングルポートメモリより部品代が高くなります。
また、WRAMとVRAMに同じ部品を使うことで、大量に発注し部品メーカーに単価の引き下げを交渉できます。
とりあえず、わかりやすく説明したつもりですが、間違いなどがありましたら
フォローお願いします。>All
続き
同世代の他のパソコンとかでは、表示中にもCPUからVRAMにアクセスできるものが
あるのに、ファミコンで出来ないのはなぜ?
→画面表示用の信号線とCPUからVRAMにアクセスする信号線が別になっているためです。
VRAMもデュアルポートメモリという、アクセスの口が2つある特別なRAMを使っています。
ファミコンのWRAMやVRAMに使われているのは、アクセスの口が1つのシングルポートメモリです。
→信号線も増えるため、基板上の配線が複雑化し、基板のサイズや層が増えてコスト増になる可能性があります。
ファミコンのVRAMにデュアルポートメモリを使わなかったのはなぜ?
→コスト削減のためです。
一般的にアクセスポートが余分にあるデュアルポートメモリの方がシングルポートメモリより部品代が高くなります。
また、WRAMとVRAMに同じ部品を使うことで、大量に発注し部品メーカーに単価の引き下げを交渉できます。
とりあえず、わかりやすく説明したつもりですが、間違いなどがありましたら
フォローお願いします。>All
270131
2014/06/08(日) 06:24:49.26ID:RIyNgnKh271名前は開発中のものです。
2014/06/08(日) 07:01:43.99ID:Jc27w7xL Horizontal Blankingですかね
かつてはPPUの特定のバージョンのみで発生する不具合なんてのもありました
スクロールレジスタがある値の時、VRAMアドレスレジスタを触ると背景色が化けるというもの・・
かつてはPPUの特定のバージョンのみで発生する不具合なんてのもありました
スクロールレジスタがある値の時、VRAMアドレスレジスタを触ると背景色が化けるというもの・・
272131
2014/06/08(日) 10:50:38.68ID:RIyNgnKh PPUの特定バージョンというのが分かりませんが、製造されたファミコン本体
ですか?それともエミュレータか何かですか?
スクロールレジスタは、$2005の二度書きレジスタですよね。
ですか?それともエミュレータか何かですか?
スクロールレジスタは、$2005の二度書きレジスタですよね。
273名前は開発中のものです。
2014/06/08(日) 15:26:42.07ID:25kxI5vs RPGやなんかでフィールドから街へフィールドから戦闘への場面変更で一旦ブラックアウトするのは
画面初期化して書き直す時間を稼ぐためでもあったんだろうか?
画面初期化して書き直す時間を稼ぐためでもあったんだろうか?
274名前は開発中のものです。
2014/06/08(日) 15:31:42.31ID:Eog1TIRJ 製造ロットによるがファミコンの中には2つのカスタムLSIが入っている。
一つはRP2A03というもの もう一つがRP2C02というもの。
前者がCPUとAPUやI/Oポート周りで、後者がPPU。
PPUがRP2C02なのはNTSC出力のものだけで、PALならRP2C03、RGBならRC2C05など。
型番の後に続くアルファベット(例:RP2C02EのE)がバージョンを表している。
特定バージョンというか、初期型に不具合が多かった。
ちなみに製造後期になるとデコーダやインバータも1チップのカスタムLSIにまとめられる。
でもなぜかSRAMがSOPからDIPに戻ってる。入手先が限られてきたのかな?
一つはRP2A03というもの もう一つがRP2C02というもの。
前者がCPUとAPUやI/Oポート周りで、後者がPPU。
PPUがRP2C02なのはNTSC出力のものだけで、PALならRP2C03、RGBならRC2C05など。
型番の後に続くアルファベット(例:RP2C02EのE)がバージョンを表している。
特定バージョンというか、初期型に不具合が多かった。
ちなみに製造後期になるとデコーダやインバータも1チップのカスタムLSIにまとめられる。
でもなぜかSRAMがSOPからDIPに戻ってる。入手先が限られてきたのかな?
275名前は開発中のものです。
2014/06/08(日) 17:20:23.01ID:2cLvFL4/ >>273
スクロールは基本的にネームテーブルを2枚とも使うので
表示されていない方を裏画面として使うのはちょっとめんどくさい
だから場面転換時には画面表示を一旦オフにする必要はあるけど
画面全体を書き換えるにしても数フレームだからほぼ一瞬で終わる
わざわざ時間稼ぎしなければならないほどでもないので
フェードなりの画面効果は演出を目的としてると思っていい
スクロールは基本的にネームテーブルを2枚とも使うので
表示されていない方を裏画面として使うのはちょっとめんどくさい
だから場面転換時には画面表示を一旦オフにする必要はあるけど
画面全体を書き換えるにしても数フレームだからほぼ一瞬で終わる
わざわざ時間稼ぎしなければならないほどでもないので
フェードなりの画面効果は演出を目的としてると思っていい
276名前は開発中のものです。
2014/06/08(日) 18:14:36.81ID:QSuHGJdX >>269
同世代のパソコンなどのVRAMはシングルポートのDRAMだよ
CPUをウェイトで止めたり、DMAで勝手にCPUが止まったり、アクセスするタイミングを
工夫して見かけ上同時に読み書き出来るようにしてあったり、VDPが調停してくれたり
色々あるけども
同世代のパソコンなどのVRAMはシングルポートのDRAMだよ
CPUをウェイトで止めたり、DMAで勝手にCPUが止まったり、アクセスするタイミングを
工夫して見かけ上同時に読み書き出来るようにしてあったり、VDPが調停してくれたり
色々あるけども
277名前は開発中のものです。
2014/06/08(日) 20:16:46.77ID:p43hB49G >>245-246
名乗り出なくてもバグだらけのキ○ガイプログラムだからすぐわかるよ。
人の言うことを聞かないで数年間NMI使えないで、いつも同じバグ出して、「正常動作の定義は?」って逆ギレ。愚痴キ○ガイ消えてくれ。
・あちこちでゼロページ < 忘れすぎ → auto-zeropageが施された改造版のnesasmあるよ
・なにをしているのかよくわからない。ROMに書き込んではいけない。実機動作を狙ってるなら
lda #0 ;これはROMなので出来ないので、こうする
sta STAGE1,x ;〃
・Aボタン押したときのデューティ比的な音バグ(数年間放置されたバグ
誤 lda APU_REG0_DUTY_875
誤 ora APU_REG0_COUNT_ON ← PadStat = $20 と重複!
誤 ora APU_REG0_FIX_ON
正 lda #( APU_REG0_DUTY_875 | APU_REG0_COUNT_ON | APU_REG0_FIX_ON )
・
誤 lda APU_REG1_FRQCHG_ON
正 lda #APU_REG1_FRQCHG_ON
・既に指摘があるようにcmpが変。loadのフラグの変化とブランチのフラグ条件を理解していない。
lda なんたら
cmp #0
beq または bne
・jsr Pad_Check は 他人 >>236 の? 算術sbc使ってるから変だと思ったけど
パッと見でこれだけミスしてて、どこにまともに動く要素があるわけ?氷山の一角だろう。
今回も 「.dw 0; VBlank割り込み」見てまたお前かとやる気を失ったけど、BLOCK.symが同梱されていたので捗った。
名乗り出なくてもバグだらけのキ○ガイプログラムだからすぐわかるよ。
人の言うことを聞かないで数年間NMI使えないで、いつも同じバグ出して、「正常動作の定義は?」って逆ギレ。愚痴キ○ガイ消えてくれ。
・あちこちでゼロページ < 忘れすぎ → auto-zeropageが施された改造版のnesasmあるよ
・なにをしているのかよくわからない。ROMに書き込んではいけない。実機動作を狙ってるなら
lda #0 ;これはROMなので出来ないので、こうする
sta STAGE1,x ;〃
・Aボタン押したときのデューティ比的な音バグ(数年間放置されたバグ
誤 lda APU_REG0_DUTY_875
誤 ora APU_REG0_COUNT_ON ← PadStat = $20 と重複!
誤 ora APU_REG0_FIX_ON
正 lda #( APU_REG0_DUTY_875 | APU_REG0_COUNT_ON | APU_REG0_FIX_ON )
・
誤 lda APU_REG1_FRQCHG_ON
正 lda #APU_REG1_FRQCHG_ON
・既に指摘があるようにcmpが変。loadのフラグの変化とブランチのフラグ条件を理解していない。
lda なんたら
cmp #0
beq または bne
・jsr Pad_Check は 他人 >>236 の? 算術sbc使ってるから変だと思ったけど
パッと見でこれだけミスしてて、どこにまともに動く要素があるわけ?氷山の一角だろう。
今回も 「.dw 0; VBlank割り込み」見てまたお前かとやる気を失ったけど、BLOCK.symが同梱されていたので捗った。
278名前は開発中のものです。
2014/06/08(日) 20:24:54.45ID:p43hB49G NMI使えない、各種メモリやレジスタの初期化していない奴って
ギコ猫の前半章のコピペ&拡張だったんだな
後半章ばかり見てたから原因がわからなかった>>221
言い訳にもならないけどね
他人のソース調べればわかることだから
後半章のソースも問題あり
>>270
指摘されると、「私は〜知ってましたが、あえてやりませんでした」 じゃなんでNMI使えないの?
「VBlank待ちの直後にビデオメモリの書き換えをするのはそういう理由があったんですか。 」
(レトロ)ゲームのプログラムに興味ある人はみんな知ってるよ。Direct3Dだって垂直同期の概念あるでしょ。
>>273
ゲームによる。
特にCHRがRAMでドラクエVやWのようにROM容量がきつくて圧縮されたゲームは遅い。
数10フレームかかる。
エミュのパレットをハックしてネームテーブルビュワー見ると展開のスピードを見やすい。
・戦闘画面に移行するとき
CHRのパターンテーブルがRAMな場合は普通に書き換えるだけで時間がかかる。
書き換える前にPRG内の画像圧縮を展開するだろうからもっと時間がかかる。
・マップ画面に移行するとき
マップとマップチップの展開に時間がかかる
市販のゲームは限られたRAMやROMのスペースで展開と転送をこなさなければならず
我々が専用のルーチンで高速転送するのとはわけが違う場合もある
全部ROMで持ってるゲームならもっと速くて10フレーム程度かな
ギコ猫の前半章のコピペ&拡張だったんだな
後半章ばかり見てたから原因がわからなかった>>221
言い訳にもならないけどね
他人のソース調べればわかることだから
後半章のソースも問題あり
>>270
指摘されると、「私は〜知ってましたが、あえてやりませんでした」 じゃなんでNMI使えないの?
「VBlank待ちの直後にビデオメモリの書き換えをするのはそういう理由があったんですか。 」
(レトロ)ゲームのプログラムに興味ある人はみんな知ってるよ。Direct3Dだって垂直同期の概念あるでしょ。
>>273
ゲームによる。
特にCHRがRAMでドラクエVやWのようにROM容量がきつくて圧縮されたゲームは遅い。
数10フレームかかる。
エミュのパレットをハックしてネームテーブルビュワー見ると展開のスピードを見やすい。
・戦闘画面に移行するとき
CHRのパターンテーブルがRAMな場合は普通に書き換えるだけで時間がかかる。
書き換える前にPRG内の画像圧縮を展開するだろうからもっと時間がかかる。
・マップ画面に移行するとき
マップとマップチップの展開に時間がかかる
市販のゲームは限られたRAMやROMのスペースで展開と転送をこなさなければならず
我々が専用のルーチンで高速転送するのとはわけが違う場合もある
全部ROMで持ってるゲームならもっと速くて10フレーム程度かな
279131
2014/06/09(月) 18:51:10.28ID:Sx48Gggw >>277
NMIは使わなかったのは、確かにギコ猫のコピペだからと使い方を知らないからです。
いろいろ問題があったのは、事実ですし、バグがあったのも事実です。
何と言ったら良いか分かりませんが、ガッカリさせてすみませんでした。
みなさん、wという笑いや嘲笑の意味の文字を使っていないので、自分の為を思って
書き込んでいるのが見て取れます。
>>あちこちでゼロページ < 忘れすぎ → auto-zeropageが施された改造版のnesasmあるよ
どうもアドバイスありがとうございます。
>>・なにをしているのかよくわからない。ROMに書き込んではいけない。実機動作を狙ってるなら
>>lda #0 ;これはROMなので出来ないので、こうする
>>sta STAGE1,x ;〃
ROMは書き込めないということは知っていましたが、放置したバグの結果であることは
この前言ったはずです。
>>・Aボタン押したときのデューティ比的な音バグ(数年間放置されたバグ
>>誤 lda APU_REG0_DUTY_875
>>誤 ora APU_REG0_COUNT_ON ← PadStat = $20 と重複!
>>誤 ora APU_REG0_FIX_ON
>>正 lda #( APU_REG0_DUTY_875 | APU_REG0_COUNT_ON | APU_REG0_FIX_ON )
ありがとうございます。どうしてボタンを押すと変な音なのか分かりませんでした。
何か原因があるとは思っていましたが何が原因かは全くわかりませんでした
>>・ 誤 lda APU_REG1_FRQCHG_ON
>>正 lda #APU_REG1_FRQCHG_ON
これもありがとうございます。
つづく
NMIは使わなかったのは、確かにギコ猫のコピペだからと使い方を知らないからです。
いろいろ問題があったのは、事実ですし、バグがあったのも事実です。
何と言ったら良いか分かりませんが、ガッカリさせてすみませんでした。
みなさん、wという笑いや嘲笑の意味の文字を使っていないので、自分の為を思って
書き込んでいるのが見て取れます。
>>あちこちでゼロページ < 忘れすぎ → auto-zeropageが施された改造版のnesasmあるよ
どうもアドバイスありがとうございます。
>>・なにをしているのかよくわからない。ROMに書き込んではいけない。実機動作を狙ってるなら
>>lda #0 ;これはROMなので出来ないので、こうする
>>sta STAGE1,x ;〃
ROMは書き込めないということは知っていましたが、放置したバグの結果であることは
この前言ったはずです。
>>・Aボタン押したときのデューティ比的な音バグ(数年間放置されたバグ
>>誤 lda APU_REG0_DUTY_875
>>誤 ora APU_REG0_COUNT_ON ← PadStat = $20 と重複!
>>誤 ora APU_REG0_FIX_ON
>>正 lda #( APU_REG0_DUTY_875 | APU_REG0_COUNT_ON | APU_REG0_FIX_ON )
ありがとうございます。どうしてボタンを押すと変な音なのか分かりませんでした。
何か原因があるとは思っていましたが何が原因かは全くわかりませんでした
>>・ 誤 lda APU_REG1_FRQCHG_ON
>>正 lda #APU_REG1_FRQCHG_ON
これもありがとうございます。
つづく
280131
2014/06/09(月) 18:53:26.51ID:Sx48Gggw >>・既に指摘があるようにcmpが変。loadのフラグの変化とブランチのフラグ条件を理解していない。
>>lda なんたら
>>cmp #0
>>beq または bne
これは言えてますね。単純な頭なので、単純に考えていました。
>>・jsr Pad_Check は 他人 >>236 の? 算術sbc使ってるから変だと思ったけど
はい、他人のソースを使いました。
>>パッと見でこれだけミスしてて、どこにまともに動く要素があるわけ?氷山の一角だろう。
>>今回も 「.dw 0; VBlank割り込み」見てまたお前かとやる気を失ったけど、BLOCK.symが同梱されていたので捗った。
えーとこれも失敗してしまいましたね。ファミコン開発は思ったより難しいんですね。
>>278 :名前は開発中のものです。:2014/06/08(日) 20:24:54.45 ID:p43hB49G
>>NMI使えない、各種メモリやレジスタの初期化していない奴って
>>ギコ猫の前半章のコピペ&拡張だったんだな
>>後半章ばかり見てたから原因がわからなかった>>221
はい、そうです。ギコ猫の前半章の主に9章のコピペです。
>>言い訳にもならないけどね
>>他人のソース調べればわかることだから
他人のソースを調べるという事がどんなに重要か分かりました。
>>後半章のソースも問題あり
>>270
>>指摘されると、「私は〜知ってましたが、あえてやりませんでした」 じゃなんでNMI使えないの?
>>「VBlank待ちの直後にビデオメモリの書き換えをするのはそういう理由があったんですか。 」
>>(レトロ)ゲームのプログラムに興味ある人はみんな知ってるよ。Direct3Dだって垂直同期の概念あるでしょ。
”NMI”という言葉を知っていても言葉を忘れていたのと、使い方を知らないからです。
>>lda なんたら
>>cmp #0
>>beq または bne
これは言えてますね。単純な頭なので、単純に考えていました。
>>・jsr Pad_Check は 他人 >>236 の? 算術sbc使ってるから変だと思ったけど
はい、他人のソースを使いました。
>>パッと見でこれだけミスしてて、どこにまともに動く要素があるわけ?氷山の一角だろう。
>>今回も 「.dw 0; VBlank割り込み」見てまたお前かとやる気を失ったけど、BLOCK.symが同梱されていたので捗った。
えーとこれも失敗してしまいましたね。ファミコン開発は思ったより難しいんですね。
>>278 :名前は開発中のものです。:2014/06/08(日) 20:24:54.45 ID:p43hB49G
>>NMI使えない、各種メモリやレジスタの初期化していない奴って
>>ギコ猫の前半章のコピペ&拡張だったんだな
>>後半章ばかり見てたから原因がわからなかった>>221
はい、そうです。ギコ猫の前半章の主に9章のコピペです。
>>言い訳にもならないけどね
>>他人のソース調べればわかることだから
他人のソースを調べるという事がどんなに重要か分かりました。
>>後半章のソースも問題あり
>>270
>>指摘されると、「私は〜知ってましたが、あえてやりませんでした」 じゃなんでNMI使えないの?
>>「VBlank待ちの直後にビデオメモリの書き換えをするのはそういう理由があったんですか。 」
>>(レトロ)ゲームのプログラムに興味ある人はみんな知ってるよ。Direct3Dだって垂直同期の概念あるでしょ。
”NMI”という言葉を知っていても言葉を忘れていたのと、使い方を知らないからです。
282131
2014/06/09(月) 18:57:30.62ID:Sx48Gggw 変数に
>>・ 誤 lda APU_REG1_FRQCHG_ON
>>正 lda #APU_REG1_FRQCHG_ON
の違いって何ですか?
>>・ 誤 lda APU_REG1_FRQCHG_ON
>>正 lda #APU_REG1_FRQCHG_ON
の違いって何ですか?
283名前は開発中のものです。
2014/06/09(月) 20:17:24.32ID:dEpln6L7 実機で検証してくれたことに対して
>本当に実機で試したのか知りたいですが
って何気に失礼だよなこいつ
>本当に実機で試したのか知りたいですが
って何気に失礼だよなこいつ
284266
2014/06/09(月) 20:51:16.15ID:oKltYKig >>280
> ”NMI”という言葉を知っていても言葉を忘れていたのと、使い方を知らないからです。
131さんには申し訳ないが、
まずは、WikipediaでCPUの割り込みについて勉強してきた上で
ttp://ja.wikipedia.org/wiki/%e5%89%b2%e3%82%8a%e8%be%bc%e3%81%bf_(%e3%82%b3%e3%83%b3%e3%83%94%e3%83%a5%e3%83%bc%e3%82%bf)
1) NMIとVBlankの違い
2) ファミコンのプログラミングでNMIとVBlankを混在しても話が通る理由
3) .org $FFFA .dw 0 .dw Start .dw 0 というソースを見た他人が呆れる理由
を、自分なりの理解や考えで説明してもらえるかな。
> ”NMI”という言葉を知っていても言葉を忘れていたのと、使い方を知らないからです。
131さんには申し訳ないが、
まずは、WikipediaでCPUの割り込みについて勉強してきた上で
ttp://ja.wikipedia.org/wiki/%e5%89%b2%e3%82%8a%e8%be%bc%e3%81%bf_(%e3%82%b3%e3%83%b3%e3%83%94%e3%83%a5%e3%83%bc%e3%82%bf)
1) NMIとVBlankの違い
2) ファミコンのプログラミングでNMIとVBlankを混在しても話が通る理由
3) .org $FFFA .dw 0 .dw Start .dw 0 というソースを見た他人が呆れる理由
を、自分なりの理解や考えで説明してもらえるかな。
285131
2014/06/09(月) 21:16:45.44ID:Sx48Gggw 言い訳になっちゃうかわかりませんが、できたら明日の朝に書き込みます。
ホント自分は基地外なのと、頭が痛いし熱いのでこのままほおっておくと
風邪をこじらすので、すみませんが、失礼します。
リアルが充実してる人たちがうらやましいです。
ホント自分は基地外なのと、頭が痛いし熱いのでこのままほおっておくと
風邪をこじらすので、すみませんが、失礼します。
リアルが充実してる人たちがうらやましいです。
287名前は開発中のものです。
2014/06/09(月) 21:32:44.17ID:fvy3sA+P 頭の悪い高校生なんだから察してやれよ
こいつ高校の名前を自分から暴露するような奴だぞ
しかしまぁ基地外って自覚あるなら5年ぐらいROMってればいいのに
色々と知識が欠けすぎててこのスレで質問できるレベルにすら至ってないわ
こいつ高校の名前を自分から暴露するような奴だぞ
しかしまぁ基地外って自覚あるなら5年ぐらいROMってればいいのに
色々と知識が欠けすぎててこのスレで質問できるレベルにすら至ってないわ
288名前は開発中のものです。
2014/06/09(月) 21:38:04.12ID:dEpln6L7 自分の理解不足を棚に上げて正常動作の定義がおかしいなどと言い張るのは
自分を肯定するために社会を逆恨みする典型的秋葉原通り魔みたいな思考回路だよな
近所でネコの惨殺死体がなければいいけど
自分を肯定するために社会を逆恨みする典型的秋葉原通り魔みたいな思考回路だよな
近所でネコの惨殺死体がなければいいけど
289名前は開発中のものです。
2014/06/10(火) 03:34:36.85ID:OhR24Wq5 多くのエミュレータの再現目標は「市販ゲームが動作すること」であって
不完全なプログラムが「実機と同じように動作しない」というレベルでの再現には至っていません
ファミコン程度の規模であっても完全再現するエミュレータはいまだに存在していません
たとえばファミコンでは電源投入時にRAMの内容が不定であり
すべての市販ソフトでは確実に動作させるために必ずRAMを上書き消去するなど、必ずそれを前提とした実装がされています
しかしエミュレータの中には通電直後のRAMの初期値が&H00に設定されているものがあり
初期値が何であれRAM内容を消去するように実装されている市販ゲームは問題なく動作しますが
RAMの初期値が&H00になっているものであるとして組まれた不完全なプログラムだと
そのエミュレータでは動作するが実機では意図した動作をしないという問題に陥ってしまいます
同様ににVBlank期間が実機より長めに設定されているエミュレータも存在しています
VBlank期間が長いことで市販ゲームを動作させることに影響はありませんが
そのエミュレータ固有のVBlank期間を基準として作成された自作プログラムは
実機上だとプログラマの意図通りの動作をしないことになります
このようにエミュレータ上のほぼすべての挙動において、実機ほどシビアではなく動作してしまう方向に緩く設計・再現されているため
実機の挙動を意識せずにエミュレータを基準として作成された自作プログラムの多くは
結果として実機で動かないものになってしまいます
不完全なプログラムが「実機と同じように動作しない」というレベルでの再現には至っていません
ファミコン程度の規模であっても完全再現するエミュレータはいまだに存在していません
たとえばファミコンでは電源投入時にRAMの内容が不定であり
すべての市販ソフトでは確実に動作させるために必ずRAMを上書き消去するなど、必ずそれを前提とした実装がされています
しかしエミュレータの中には通電直後のRAMの初期値が&H00に設定されているものがあり
初期値が何であれRAM内容を消去するように実装されている市販ゲームは問題なく動作しますが
RAMの初期値が&H00になっているものであるとして組まれた不完全なプログラムだと
そのエミュレータでは動作するが実機では意図した動作をしないという問題に陥ってしまいます
同様ににVBlank期間が実機より長めに設定されているエミュレータも存在しています
VBlank期間が長いことで市販ゲームを動作させることに影響はありませんが
そのエミュレータ固有のVBlank期間を基準として作成された自作プログラムは
実機上だとプログラマの意図通りの動作をしないことになります
このようにエミュレータ上のほぼすべての挙動において、実機ほどシビアではなく動作してしまう方向に緩く設計・再現されているため
実機の挙動を意識せずにエミュレータを基準として作成された自作プログラムの多くは
結果として実機で動かないものになってしまいます
290名前は開発中のものです。
2014/06/10(火) 03:38:20.96ID:OhR24Wq5 マッパーが電源投入時に選択するバンクですが
通常、実機ではハードワイヤードされている最終バンク以外の選択可能バンクは第1バンクが選択されるケースがほとんどですが
多くのエミュレータはなぜか先頭から順番通り昇順に選択されます
市販プログラムは必ず初期バンクを設定するように実装されているため問題なく動作しますが
バンクの並びをアテにした不完全なプログラムはエミュレータでは動くが実機では動かないというケースが起こります
>>240のプログラムはCHRバンクの初期設定がされていないので
CHRバンクが未設定でも順並びに選択されるようなエミュレータでは問題なく動作しているように見えますが
実機だとスプライト側のバンクがすべてバンク0になっているので、宝石落下時のスプライトがBG用のCHRで表示されてしまっています
通常、実機ではハードワイヤードされている最終バンク以外の選択可能バンクは第1バンクが選択されるケースがほとんどですが
多くのエミュレータはなぜか先頭から順番通り昇順に選択されます
市販プログラムは必ず初期バンクを設定するように実装されているため問題なく動作しますが
バンクの並びをアテにした不完全なプログラムはエミュレータでは動くが実機では動かないというケースが起こります
>>240のプログラムはCHRバンクの初期設定がされていないので
CHRバンクが未設定でも順並びに選択されるようなエミュレータでは問題なく動作しているように見えますが
実機だとスプライト側のバンクがすべてバンク0になっているので、宝石落下時のスプライトがBG用のCHRで表示されてしまっています
291名前は開発中のものです。
2014/06/10(火) 05:50:34.76ID:DX+Q254R 初期化処理って重要なんだなぁ
292131
2014/06/10(火) 07:44:01.93ID:rVY6XcCX >>287 :名前は開発中のものです。:2014/06/09(月) 21:32:44.17 ID:fvy3sA+P
>>頭の悪い高校生なんだから察してやれよ
>>こいつ高校の名前を自分から暴露するような奴だぞ
>>しかしまぁ基地外って自覚あるなら5年ぐらいROMってればいいのに
>>色々と知識が欠けすぎててこのスレで質問できるレベルにすら至ってないわ
以前チャタリングに関して質問したり、ネームテーブルが固定画面で960もあるから
どうやって書き込むのかと質問した者でもあるのですが、それではマズイんですか。
あと、これはおかしい話なんですが、このスレッドのパート1からROMってました。
もう10年も前の話ですよね。
>>288 :名前は開発中のものです。:2014/06/09(月) 21:38:04.12 ID:dEpln6L7
>>自分の理解不足を棚に上げて正常動作の定義がおかしいなどと言い張るのは
>>自分を肯定するために社会を逆恨みする典型的秋葉原通り魔みたいな思考回路だよな
>>近所でネコの惨殺死体がなければいいけど
猫や犬は可愛いので、そんな事しません。小さい子供に馬鹿にされても黙ってしまうような
性格なので。あと、その時は、自分でも実力が足りない自覚が無かったんです。
逆ギレ云々言った人たちには悪いですが、切れたのは事実ですが、本音と建前を
使い分けるのが日本人の美徳じゃないですかね。
そもそも、逆ギレと決めつけるあたり、あなたたちは
叱ったのではなく、怒ったと考えてよろしいでしょうか。
>>284
途中ですみませんが、
1)NMIは、ハードウェア割り込みの一種でマスク不可能な割り込み、
VBlankはブラウン管の電子銃が下端から上端に戻る際の割り込み。
>>頭の悪い高校生なんだから察してやれよ
>>こいつ高校の名前を自分から暴露するような奴だぞ
>>しかしまぁ基地外って自覚あるなら5年ぐらいROMってればいいのに
>>色々と知識が欠けすぎててこのスレで質問できるレベルにすら至ってないわ
以前チャタリングに関して質問したり、ネームテーブルが固定画面で960もあるから
どうやって書き込むのかと質問した者でもあるのですが、それではマズイんですか。
あと、これはおかしい話なんですが、このスレッドのパート1からROMってました。
もう10年も前の話ですよね。
>>288 :名前は開発中のものです。:2014/06/09(月) 21:38:04.12 ID:dEpln6L7
>>自分の理解不足を棚に上げて正常動作の定義がおかしいなどと言い張るのは
>>自分を肯定するために社会を逆恨みする典型的秋葉原通り魔みたいな思考回路だよな
>>近所でネコの惨殺死体がなければいいけど
猫や犬は可愛いので、そんな事しません。小さい子供に馬鹿にされても黙ってしまうような
性格なので。あと、その時は、自分でも実力が足りない自覚が無かったんです。
逆ギレ云々言った人たちには悪いですが、切れたのは事実ですが、本音と建前を
使い分けるのが日本人の美徳じゃないですかね。
そもそも、逆ギレと決めつけるあたり、あなたたちは
叱ったのではなく、怒ったと考えてよろしいでしょうか。
>>284
途中ですみませんが、
1)NMIは、ハードウェア割り込みの一種でマスク不可能な割り込み、
VBlankはブラウン管の電子銃が下端から上端に戻る際の割り込み。
293名前は開発中のものです。
2014/06/10(火) 08:52:45.01ID:FVxA7Fkb NMIとVBlの正確なタイミングが分からないんだよな。
同時だと動かない市販タイトルがある。
同時だと動かない市販タイトルがある。
294名前は開発中のものです。
2014/06/10(火) 11:40:26.64ID:CuFktdyJ 10年もこのスレ見ててそのレベル・・・そして技術資料すら理解できない英語力・・・
最早かわいそう過ぎて同情するわ・・・
最早かわいそう過ぎて同情するわ・・・
295131
2014/06/10(火) 12:27:03.05ID:21YAZMo1 他のパソコンから書き込みです。
なんというか、僕が素直じゃなくてしかも怒りっぽくて
先人の知恵を学ばないという姿勢が悪いと思っています。
低能という言葉がありますが、まさに自分がそうだと思っていますよ。
自他ともに認める低能です。ファミコンのCPUより遅い動作周波数
なので。>>246は撤回します。まことにすみませんでした。
ごめんなさい
なんというか、僕が素直じゃなくてしかも怒りっぽくて
先人の知恵を学ばないという姿勢が悪いと思っています。
低能という言葉がありますが、まさに自分がそうだと思っていますよ。
自他ともに認める低能です。ファミコンのCPUより遅い動作周波数
なので。>>246は撤回します。まことにすみませんでした。
ごめんなさい
296131
2014/06/10(火) 18:17:23.08ID:rVY6XcCX >>284
2)
VBlankに入った時に必ずNMIの割り込みが訪れるからでしょうか
3)
本来ならばメインループにNMIを使うべきだからでしょうか
VBlankにポーリング?という言葉を初めて知りました。
2)
VBlankに入った時に必ずNMIの割り込みが訪れるからでしょうか
3)
本来ならばメインループにNMIを使うべきだからでしょうか
VBlankにポーリング?という言葉を初めて知りました。
297名前は開発中のものです。
2014/06/10(火) 22:38:25.24ID:iI+cGjJO >>245
ところで
NES Assembler (v3.21, 2005/04/09, Denki Release)
これどこで手に入れたの?
かなりレアなバージョンぽくて見つからない。
RAMの初期化、スプライトメモリの初期化
以前誰かに指導してるでしょ、あちこちの他人ソースでも示されているし
スプライトONにしているデモプログラムでスプライトメモリ初期化してないのは論外なんだよ
だからG-NESのスプライトメモリビュワー使えって
未初期化メモリにアクセスしたら他の言語のコンパイラは警告出すでしょ
逆にファミコンほどの原始的なハードで、なぜ0フィルされると思った?
0フィル傾向が強いエミュだってハードリセット、ソフトリセットで挙動違うわけだしね
ところで
NES Assembler (v3.21, 2005/04/09, Denki Release)
これどこで手に入れたの?
かなりレアなバージョンぽくて見つからない。
RAMの初期化、スプライトメモリの初期化
以前誰かに指導してるでしょ、あちこちの他人ソースでも示されているし
スプライトONにしているデモプログラムでスプライトメモリ初期化してないのは論外なんだよ
だからG-NESのスプライトメモリビュワー使えって
未初期化メモリにアクセスしたら他の言語のコンパイラは警告出すでしょ
逆にファミコンほどの原始的なハードで、なぜ0フィルされると思った?
0フィル傾向が強いエミュだってハードリセット、ソフトリセットで挙動違うわけだしね
298名前は開発中のものです。
2014/06/10(火) 23:25:46.23ID:DX+Q254R HuC v3.21付属のやつじゃねえかな
299名前は開発中のものです。
2014/06/10(火) 23:48:02.78ID:iI+cGjJO 見つけた
300名前は開発中のものです。
2014/06/11(水) 00:54:21.08ID:vuASjJOE 1)Vblankは厳密には割り込みそのものではない。語源を考えればわかる。
あとマスク不可能な割り込みでは説明不足。
2)ファミコンにおいてNMIは必ず訪れるものか。
もし必ず訪れるのならあんたが今まで書いてきたプログラムはどうなる。
$0000から命令を実行しまくる羽目になってるだろ。
3)それならばなぜNMIを使うべきか。
全体的に不正解および説明不足そして調査不足、理解や考えも不足。
わからない言葉があったらまず目の前のPCで調べろ。
あと自虐がまるでへそを曲げた子供のようでみっともない。自虐は反省とは違う。
しばらくROMって頭冷やすことをおすすめする。
あとマスク不可能な割り込みでは説明不足。
2)ファミコンにおいてNMIは必ず訪れるものか。
もし必ず訪れるのならあんたが今まで書いてきたプログラムはどうなる。
$0000から命令を実行しまくる羽目になってるだろ。
3)それならばなぜNMIを使うべきか。
全体的に不正解および説明不足そして調査不足、理解や考えも不足。
わからない言葉があったらまず目の前のPCで調べろ。
あと自虐がまるでへそを曲げた子供のようでみっともない。自虐は反省とは違う。
しばらくROMって頭冷やすことをおすすめする。
301131
2014/06/11(水) 04:31:31.45ID:FDPL1IKA 分かりました。しばらくROMることにします。
ただ、僕は本当に低能ですよ。何しろ、IQが69なんで
(test the nation)
ただ、僕は本当に低能ですよ。何しろ、IQが69なんで
(test the nation)
302名前は開発中のものです。
2014/06/11(水) 19:10:46.06ID:HuzB/5/t 言葉選べない奴ってみっともないなぁ
上級者気取ってふんぞり返って偉そうに他人に説教しとるが相変わらずガキ丸出し
これが一人だけやってるんだから目立つわな
いいかげんさあ、そのチンピラみたいな恥ずかしい態度で人に接するのはおよしなさいよ
上級者気取ってふんぞり返って偉そうに他人に説教しとるが相変わらずガキ丸出し
これが一人だけやってるんだから目立つわな
いいかげんさあ、そのチンピラみたいな恥ずかしい態度で人に接するのはおよしなさいよ
303名前は開発中のものです。
2014/06/11(水) 19:14:38.42ID:HuzB/5/t まあ、こういう苦言を呈してあげても
前みたいに自分の口汚さを正当化するための言い訳しか言わないで
何が悪いのか理解出来ないまま同じ事を繰り返し続けるんだろうけど
他人に反省促す前に、自分がまず反省して態度改めなよ
前みたいに自分の口汚さを正当化するための言い訳しか言わないで
何が悪いのか理解出来ないまま同じ事を繰り返し続けるんだろうけど
他人に反省促す前に、自分がまず反省して態度改めなよ
304名前は開発中のものです。
2014/06/11(水) 20:42:36.74ID:QsOFOWgt 多重人格らしき
”リバーシ君” が湧いてから同時期湧いて来た子たち
”YY-CHRとNESASMが使いづらい君”
”NESASMが難しいからC言語で組もうよ君”
”iNESヘッダや.incbinのことはわからないけど、nesdevの仕様書すべて読んできます君”
能書き”ダブラ君”
三日坊主の”まとめwiki君”
”DPCMの仕様教えて君”
”www.dotup.org大好き君”
スタックぶちこわしてても ”PPU制御レジスタのタイミング等も問題無いはずなのに。 君”
”デバッガ使えません君”
こんな初歩の初歩教えるのが上級者扱いなのか
だから自演て言われてるのに
ゴミみたいな不良動作のプログラムのアップロードに対し
わずか数時間で
”fceuで陽性かくにん よかった”
とレスが付くのも特徴
追い込まれると
〜とは別人だけど、と枕詞をつけて自己弁護
”リバーシ君” が湧いてから同時期湧いて来た子たち
”YY-CHRとNESASMが使いづらい君”
”NESASMが難しいからC言語で組もうよ君”
”iNESヘッダや.incbinのことはわからないけど、nesdevの仕様書すべて読んできます君”
能書き”ダブラ君”
三日坊主の”まとめwiki君”
”DPCMの仕様教えて君”
”www.dotup.org大好き君”
スタックぶちこわしてても ”PPU制御レジスタのタイミング等も問題無いはずなのに。 君”
”デバッガ使えません君”
こんな初歩の初歩教えるのが上級者扱いなのか
だから自演て言われてるのに
ゴミみたいな不良動作のプログラムのアップロードに対し
わずか数時間で
”fceuで陽性かくにん よかった”
とレスが付くのも特徴
追い込まれると
〜とは別人だけど、と枕詞をつけて自己弁護
305266
2014/06/12(木) 01:31:23.63ID:VinxFlKC >>292 >>296
1)
NMIの説明はまぁ正解。300さんの指摘の通りVBlankを割り込みと言い切るのは誤り。
NMIは割り込みの種類を示す言葉でVBlankは映像信号に関する言葉であり、そもそもカテゴリが違う。
2)
私が考えていた正解は、
PPUから出るVBlank期間を示す信号線が、CPUのNMI割り込みの入力ピンにつながっているから
300さんが「必ず訪れる」は誤りと言っているのは、VBlank期間に入ったときに
VBlank期間を示す信号線に信号を出すか出さないかをPPUで制御できるため
3)
NMIを使用するかどうかは別に問題ではない。
NMIとIRQのベクタ(割り込み時に実行されるアドレス)に0が設定されているから。
PPUなどのレジスタの設定を誤り割込みを受け付ける状態になった場合に
何が書かれているかわからない0番地をプログラムが走ることになり、
安全性を考慮しておらず、知識不足であることが読み取れるから。
割り込みを使わないのであれば、すぐに rti で戻るルーチンのアドレスをベクタに設定するべき。
Nmi:
rti
Irq:
rti
.org $FFFA
.dw Nmi
.dw Start
.dw Irq
1)
NMIの説明はまぁ正解。300さんの指摘の通りVBlankを割り込みと言い切るのは誤り。
NMIは割り込みの種類を示す言葉でVBlankは映像信号に関する言葉であり、そもそもカテゴリが違う。
2)
私が考えていた正解は、
PPUから出るVBlank期間を示す信号線が、CPUのNMI割り込みの入力ピンにつながっているから
300さんが「必ず訪れる」は誤りと言っているのは、VBlank期間に入ったときに
VBlank期間を示す信号線に信号を出すか出さないかをPPUで制御できるため
3)
NMIを使用するかどうかは別に問題ではない。
NMIとIRQのベクタ(割り込み時に実行されるアドレス)に0が設定されているから。
PPUなどのレジスタの設定を誤り割込みを受け付ける状態になった場合に
何が書かれているかわからない0番地をプログラムが走ることになり、
安全性を考慮しておらず、知識不足であることが読み取れるから。
割り込みを使わないのであれば、すぐに rti で戻るルーチンのアドレスをベクタに設定するべき。
Nmi:
rti
Irq:
rti
.org $FFFA
.dw Nmi
.dw Start
.dw Irq
306名前は開発中のものです。
2014/06/12(木) 01:36:18.33ID:VinxFlKC307名前は開発中のものです。
2014/06/12(木) 02:17:39.78ID:VinxFlKC >>301
ROMてても知識は身に付かないだろうし、お題を出すのでプログラミングの経験を積んでみてはどうだろうか。
第1ステップ
スタック、メモリ、PPUなどの初期化を行い、VBlank待ちのループを行う、基本のプログラムを実装する。
NMIの割り込みも実装し、NMIの割り込みの度に、$ffのメモリを1増加させる。
割り込み処理でないVBlank待ちのループでは、$ffのメモリを監視して255から0になる度に$feのメモリを1増加させる。
エミュレータのメモリビュアーで約4秒ごとに$feのメモリの値が1増加することを確認する。
第2ステップ
BG画面を16x16サイズのブロックで画面いっぱいに埋める。
パレットの設定を行う。
画面にゴミが出ないように全スプライトを画面外(Y>=240)の位置に表示する。
第1ステップのプログラムを改良する。
割り込み処理ではないVBlank待ちのループで、VRAMに書き込みたいデータを用意してバッファに格納する。
NMI割り込みで、スプライトデータのDMA転送の実行とバッファに格納されたデータをVRAMに書き込む処理を行う。
プログラムを書く際に、他人のソースを参照するのは良いが、コピペは絶対行わないこと。
必ず目で見て手打ちすること。
書いたソースは、何度も読み直して、処理を説明できるぐらいまで理解すること。
プログラムが出来たら内容をレビューしたいので、批判にめげずに公開して欲しいと思う。
ROMてても知識は身に付かないだろうし、お題を出すのでプログラミングの経験を積んでみてはどうだろうか。
第1ステップ
スタック、メモリ、PPUなどの初期化を行い、VBlank待ちのループを行う、基本のプログラムを実装する。
NMIの割り込みも実装し、NMIの割り込みの度に、$ffのメモリを1増加させる。
割り込み処理でないVBlank待ちのループでは、$ffのメモリを監視して255から0になる度に$feのメモリを1増加させる。
エミュレータのメモリビュアーで約4秒ごとに$feのメモリの値が1増加することを確認する。
第2ステップ
BG画面を16x16サイズのブロックで画面いっぱいに埋める。
パレットの設定を行う。
画面にゴミが出ないように全スプライトを画面外(Y>=240)の位置に表示する。
第1ステップのプログラムを改良する。
割り込み処理ではないVBlank待ちのループで、VRAMに書き込みたいデータを用意してバッファに格納する。
NMI割り込みで、スプライトデータのDMA転送の実行とバッファに格納されたデータをVRAMに書き込む処理を行う。
プログラムを書く際に、他人のソースを参照するのは良いが、コピペは絶対行わないこと。
必ず目で見て手打ちすること。
書いたソースは、何度も読み直して、処理を説明できるぐらいまで理解すること。
プログラムが出来たら内容をレビューしたいので、批判にめげずに公開して欲しいと思う。
308名前は開発中のものです。
2014/06/12(木) 06:23:30.12ID:WH6q4E6P なんでこいつが仕切っとるの?
309131
2014/06/12(木) 16:17:30.84ID:kfJUEFGs 書き込みたい気持ちはありますが、大分経って事態が鎮静化
してから書き込みたいです。あと、少なくとも今から
100レス程度は様子を見ながら、今から同時にお題を解いてみます。
というのも技術的な指導ならゲーム開発技術板のスレッドなので分かります。
しかし、自分の未熟な部分があるのは自分でも分かるのですが、
明らかに何度も自分の人格を否定していてスレ違いになってるのもあります。
してから書き込みたいです。あと、少なくとも今から
100レス程度は様子を見ながら、今から同時にお題を解いてみます。
というのも技術的な指導ならゲーム開発技術板のスレッドなので分かります。
しかし、自分の未熟な部分があるのは自分でも分かるのですが、
明らかに何度も自分の人格を否定していてスレ違いになってるのもあります。
310131
2014/06/12(木) 16:19:26.08ID:kfJUEFGs それがどうした?悪いのはお前だろと言われればそうなのですが
これが何度も続くようなら、明らかにいじめとしか思えないのです。
いじめと思うのは間違っていると思うのなら、どうして簡単に何度も
いろんな欠点や粗を探してこうも傷つけたがるのですか?
あと、自演と言っている人へ、
自演をしているように見えるのは、明らかにおかしいですね。
IPアドレスを2chの運営元に頼んでもらって調べれば分かる
とは思います。IPアドレスが分かるという事は、書き込んだ場所も
特定されます。
ファミコンのプログラムを公開する書き込んでから家から出かけて
帰ってきてから同じパソコンで書き込んだ事くらい見抜けると思うのですが。
これが何度も続くようなら、明らかにいじめとしか思えないのです。
いじめと思うのは間違っていると思うのなら、どうして簡単に何度も
いろんな欠点や粗を探してこうも傷つけたがるのですか?
あと、自演と言っている人へ、
自演をしているように見えるのは、明らかにおかしいですね。
IPアドレスを2chの運営元に頼んでもらって調べれば分かる
とは思います。IPアドレスが分かるという事は、書き込んだ場所も
特定されます。
ファミコンのプログラムを公開する書き込んでから家から出かけて
帰ってきてから同じパソコンで書き込んだ事くらい見抜けると思うのですが。
311名前は開発中のものです。
2014/06/12(木) 19:04:44.04ID:W0ti7vxN それにしてもやけに静岡県民が多いな
自演に間違いないな不自然すぎるわ
自演に間違いないな不自然すぎるわ
312名前は開発中のものです。
2014/06/12(木) 20:14:34.35ID:+ww++sAc あと100レスと言わず一生ROMってればいいのに
そうすりゃスレも荒れずに済む
そうすりゃスレも荒れずに済む
313131
2014/06/12(木) 22:17:28.55ID:kfJUEFGs まってください。静岡県民が多いのは、俺が周囲から基地外呼ばわり
されてるのと、症状のせいだと思いますよ。
それと、自演と決めつるのはまだ早いです。なぜなら、
専門用語を知らない人間が自分を弁護できると思いますか?
そして、恐らくその症状のせいで、うざったく思うから
このスレで叩かれているのだと思います
これで最後にします。100レス待ちます
されてるのと、症状のせいだと思いますよ。
それと、自演と決めつるのはまだ早いです。なぜなら、
専門用語を知らない人間が自分を弁護できると思いますか?
そして、恐らくその症状のせいで、うざったく思うから
このスレで叩かれているのだと思います
これで最後にします。100レス待ちます
314名前は開発中のものです。
2014/06/13(金) 06:24:29.34ID:6Pgo1qVH いいから>>307が終わるまで書きこみを控えてくれ・・
315名前は開発中のものです。
2014/06/13(金) 16:40:28.64ID:vJRDBdqC スレ違いかもしれないけど、ディスクカードをromに焼くことができる?
316名前は開発中のものです。
2014/06/13(金) 19:00:31.08ID:KxCbS2Qo317名前は開発中のものです。
2014/06/13(金) 20:43:27.55ID:CSwUA4nC >>316
機械語レベルの理解力があれば、できる?
機械語レベルの理解力があれば、できる?
318名前は開発中のものです。
2014/06/13(金) 21:03:18.07ID:KxCbS2Qo 理解力と相当な根気が要るだろうな
絶対アドレス参照の命令で$6000以降参照のものをすべて書き換えなきゃいけないのだから
絶対アドレス参照の命令で$6000以降参照のものをすべて書き換えなきゃいけないのだから
319名前は開発中のものです。
2014/06/13(金) 21:17:05.99ID:r1M/KsAU >>318
ディスクシステムの片面の容量は64Kバイト?64Kビット?
ディスクシステムの片面の容量は64Kバイト?64Kビット?
320名前は開発中のものです。
2014/06/13(金) 21:36:12.04ID:JJAfyk3S ディスクシステムの仕組みも理解する必要があるだろう。
321名前は開発中のものです。
2014/06/13(金) 21:36:22.79ID:KxCbS2Qo 64Kバイトといわれている 実際にはもっと少ないけど
というか厳密には1バイト単位のような定まった容量はなかったはず
もし片面8Kバイト(64Kビット)だとしたらドンキーコングすら収まらないよ
というかこれぐらい調べれば出てくるのでまず調べようね
というか厳密には1バイト単位のような定まった容量はなかったはず
もし片面8Kバイト(64Kビット)だとしたらドンキーコングすら収まらないよ
というかこれぐらい調べれば出てくるのでまず調べようね
322名前は開発中のものです。
2014/06/13(金) 22:34:15.19ID:AgN9/sjS >>321
ディスクシステムのソフトには、名作が多いのでリンクの冒険、ドラキュラ2など海外版を所有してますが、ディスクシステムでしか遊べないソフトがあるので、ROM化出来たらなと思いました。音源も積んで。って誰かやってないですかね?
ディスクシステムのソフトには、名作が多いのでリンクの冒険、ドラキュラ2など海外版を所有してますが、ディスクシステムでしか遊べないソフトがあるので、ROM化出来たらなと思いました。音源も積んで。って誰かやってないですかね?
323名前は開発中のものです。
2014/06/13(金) 23:03:40.54ID:KxCbS2Qo かつてmdc5linkerというものがあった(ROM化の際にはこれの個別パッチが参考になるかもしれない)
ただし悪用が多すぎてサポートは終了した、ディスク>カセット変換したものを売りさばくような輩が続出した
事実、ある時期ヤフオクで本来ディスクでしか出ていないソフトがカセットとして出品されている例が多数確認できた
というか普通にディスクシステムでやれば?
一体ROM化ってなんのため?ディスク持ってるならディスクシステムでやればいいじゃん
ROM化前提なら吸出しも完了してるだろうしバックアップも万全、なのにあえてROM化しようとする意図がわからない
どの道、音源までサポートした上でROM化するにはいろんな知識が要る
ディスク音源と互換性のあるチップは存在しないため、RAMアダプタ内のもの(ただし非常に大きい、64pinDipだったかな?)を使用するか、もしくは
新たにFPGAなどのPLDを使って実装するか・・・方法はあるがディスク音源如きにそこまでする人がいるかどうか
ただし悪用が多すぎてサポートは終了した、ディスク>カセット変換したものを売りさばくような輩が続出した
事実、ある時期ヤフオクで本来ディスクでしか出ていないソフトがカセットとして出品されている例が多数確認できた
というか普通にディスクシステムでやれば?
一体ROM化ってなんのため?ディスク持ってるならディスクシステムでやればいいじゃん
ROM化前提なら吸出しも完了してるだろうしバックアップも万全、なのにあえてROM化しようとする意図がわからない
どの道、音源までサポートした上でROM化するにはいろんな知識が要る
ディスク音源と互換性のあるチップは存在しないため、RAMアダプタ内のもの(ただし非常に大きい、64pinDipだったかな?)を使用するか、もしくは
新たにFPGAなどのPLDを使って実装するか・・・方法はあるがディスク音源如きにそこまでする人がいるかどうか
324名前は開発中のものです。
2014/06/13(金) 23:55:45.03ID:D3ve8EiV >>323
ディスクシステムは、ツインファミコンもそうですが、ベルトの劣化もありますし、ヘッドも劣化するでしょう。
ディスクシステムは、ツインファミコンもそうですが、ベルトの劣化もありますし、ヘッドも劣化するでしょう。
325名前は開発中のものです。
2014/06/14(土) 00:13:40.26ID:dYYokVoB >>324
http://fcs.main.jp/archives/fcs_road/Diskbelt/diskbelt2.html
知っているかもしれないがこういう方法もある。
バックアップについてはエミュが嫌なら、FDSLOADRという、
PCを仮想ディスクドライブとして使えるようにするソフトがある。ただ数年前の記憶では、相当PCの機種を選ぶソフトだった。
それからDOSベースのソフトのため現代のNT系OSじゃ動かないから、古いWin9x系の動くPCが必要になる。
更にRAMアダプタとの接続のためPCが双方向通信可能なパラレルポートを持っている必要がある。
これを使うとPCに存在するFDSファイルをRAMアダプタに転送できる。
http://fcs.main.jp/archives/fcs_road/Diskbelt/diskbelt2.html
知っているかもしれないがこういう方法もある。
バックアップについてはエミュが嫌なら、FDSLOADRという、
PCを仮想ディスクドライブとして使えるようにするソフトがある。ただ数年前の記憶では、相当PCの機種を選ぶソフトだった。
それからDOSベースのソフトのため現代のNT系OSじゃ動かないから、古いWin9x系の動くPCが必要になる。
更にRAMアダプタとの接続のためPCが双方向通信可能なパラレルポートを持っている必要がある。
これを使うとPCに存在するFDSファイルをRAMアダプタに転送できる。
326名前は開発中のものです。
2014/06/14(土) 00:21:55.47ID:zzfPZdkB 最近FDSLOADRrの上位版のようなfdsloadersaverを作った方がいるよ
327名前は開発中のものです。
2014/06/14(土) 00:25:39.56ID:TXG/RYzX >>325
アドバイスありがとうございます。今思いついたんですが、ディスクのRAMアダプターを改造してMicroSDカードに入っているディスクのイメージを転送できるに出来たらいいのになあ
アドバイスありがとうございます。今思いついたんですが、ディスクのRAMアダプターを改造してMicroSDカードに入っているディスクのイメージを転送できるに出来たらいいのになあ
328名前は開発中のものです。
2014/06/14(土) 16:29:21.64ID:+sFuyt6O 機械語の知識(開発ができるレベル)と、
論理回路の知識(設計ができるレベル)に加えて、
電子工作を行えるスキルが必要
あと、英語力(データシートとか、ほとんど英語)。
論理回路の知識(設計ができるレベル)に加えて、
電子工作を行えるスキルが必要
あと、英語力(データシートとか、ほとんど英語)。
329名前は開発中のものです。
2014/06/14(土) 21:38:32.26ID:L1L59kK3 131氏は何が嫌われてるか分かってないんだろうな
何か指摘されたら「あ、はい俺が悪いですさて、」くらいの勢いで
全く態度を変えず話を続けるのがどれだけ人を無視した行為か
理解できないんだろうからもう書き込むなって言われてるんだよ
何か指摘されたら「あ、はい俺が悪いですさて、」くらいの勢いで
全く態度を変えず話を続けるのがどれだけ人を無視した行為か
理解できないんだろうからもう書き込むなって言われてるんだよ
330名前は開発中のものです。
2014/06/17(火) 15:26:48.71ID:6w/HBkb5 なんだそりゃ
ヤクザの因縁レベルだな
キチガイに粘着されて可哀想
ヤクザの因縁レベルだな
キチガイに粘着されて可哀想
331名前は開発中のものです。
2014/06/22(日) 12:04:05.94ID:FYXz9cFX Vblank(NMI)発生待ちじゃなくてVblank(NMI)終了待ちの書き方がわからない。
$2002読めばVblank中でも即座にスキャンラインの頭に戻るのかな?
$2002読めばVblank中でも即座にスキャンラインの頭に戻るのかな?
332名前は開発中のものです。
2014/06/22(日) 12:46:49.11ID:RkNLcYOw 普通は終了待ちなんてしないと思うが・・・
あるとすればフレームIRQをVblank終了間際に起こすようにするとか、かな?
試していないからできるかどうかわからないけど
あるとすればフレームIRQをVblank終了間際に起こすようにするとか、かな?
試していないからできるかどうかわからないけど
333名前は開発中のものです。
2014/06/22(日) 15:38:33.12ID:cAYbetgY あのバカはまだデバッガ扱えないんだな
他人のソースを読む気もない
他人のソースを読む気もない
334名前は開発中のものです。
2014/06/22(日) 21:47:58.16ID:SUkUlJAf 何だかんだ、がんばっているんだし応援しようと思う
完成を楽しみに待っています〜
完成を楽しみに待っています〜
335名前は開発中のものです。
2014/06/26(木) 01:45:41.89ID:Mvj8DjXQ RevolvingGemsで予定していた実装が全て出来たので公開します。
指摘を受けていた
・ゲーム開始時に消滅が発生しないよう駒を配置
・初期化時にCHR-ROMのバンクセレクトを明示的に行う
の処理も盛り込んでいます。
あと、フレームワーク部分(main.asm)も処理を見直して結構手が入っています。
ttp://homepage3.nifty.com/~kyoske/nes/RevolvingGems100.zip
ここまでお付き合いして頂きありがとうございました。
指摘を受けていた
・ゲーム開始時に消滅が発生しないよう駒を配置
・初期化時にCHR-ROMのバンクセレクトを明示的に行う
の処理も盛り込んでいます。
あと、フレームワーク部分(main.asm)も処理を見直して結構手が入っています。
ttp://homepage3.nifty.com/~kyoske/nes/RevolvingGems100.zip
ここまでお付き合いして頂きありがとうございました。
336名前は開発中のものです。
2014/06/26(木) 21:00:12.97ID:9qzAY4Nu 夜中2時に書き込む
出来る方の別人格さんおつ
出来る方の別人格さんおつ
337名前は開発中のものです。
2014/06/26(木) 22:36:58.03ID:HYUmCg5c すげー(2回目)
乙
乙
338名前は開発中のものです。
2014/06/28(土) 08:52:02.98ID:1mbR3dV7 335氏
ソース勉強させていただきます
ソース勉強させていただきます
339131
2014/07/02(水) 17:15:28.00ID:b6UJAuU+ ここを見てても本当に良いのだろうか?という気持ちと
ヤジでいまだに言ってくる人がいて、不快感しか湧かない
ので、ここはまず、書き込みも見ることも辞める事にします。
なのでいさぎよく、このスレから出ていく事にします。
ちなみに、「逃げる理由が出来て良かったな」とか書き込みそうなんで
言っておきますが、言う人は何とでも言うので仕方ないと思います。
最後まで不快感をお互いに感じあってしまい、すみませんでした。
ヤジでいまだに言ってくる人がいて、不快感しか湧かない
ので、ここはまず、書き込みも見ることも辞める事にします。
なのでいさぎよく、このスレから出ていく事にします。
ちなみに、「逃げる理由が出来て良かったな」とか書き込みそうなんで
言っておきますが、言う人は何とでも言うので仕方ないと思います。
最後まで不快感をお互いに感じあってしまい、すみませんでした。
340名前は開発中のものです。
2014/07/02(水) 21:15:54.55ID:ccGvVyCV 前スレで戦力外通告されてなぜ残った
英語読む気ないのはこの板的にも戦力外
英語読む気ないのはこの板的にも戦力外
341名前は開発中のものです。
2014/07/03(木) 22:16:55.66ID:hPES0Si7342名前は開発中のものです。
2014/07/11(金) 02:02:23.66ID:63/tpOMg 他スレみたいにテンプレに
初心者向けに何か書いておいたほうがいいかもね
初心者向けに何か書いておいたほうがいいかもね
343名前は開発中のものです。
2014/10/05(日) 12:06:25.72ID:TCLHVT3o 東方Projectみたいな画面は作れないか?との興味から作りはじめたのですが、弾丸の表示時点で、CPUの処理能力不足により先が見えてしまいました。
http://homepage3.nifty.com/~kyoske/nes/Experi9.zip
Experi9.nes .. 160発表示版
Experi9x.nes .. 負荷可視化板
Experi8_noshot.nes .. 弾丸非表示版
Select+下 でスクロール開始、Select+左右 で画面モード切替です。
弾丸の最大数を96に落として、仕切り直す予定。
自キャラ、敵キャラ、弾丸以外は、BGで描画しています。
枠内のスクロールは、ハードウェアスクロールとソフトウェアスクロールの併用です。
16x8の範囲でパレット指定や会話ウィンドウの表示に、縦方向のラスタスクロールを駆使しています。
http://homepage3.nifty.com/~kyoske/nes/Experi9.zip
Experi9.nes .. 160発表示版
Experi9x.nes .. 負荷可視化板
Experi8_noshot.nes .. 弾丸非表示版
Select+下 でスクロール開始、Select+左右 で画面モード切替です。
弾丸の最大数を96に落として、仕切り直す予定。
自キャラ、敵キャラ、弾丸以外は、BGで描画しています。
枠内のスクロールは、ハードウェアスクロールとソフトウェアスクロールの併用です。
16x8の範囲でパレット指定や会話ウィンドウの表示に、縦方向のラスタスクロールを駆使しています。
344名前は開発中のものです。
2014/10/06(月) 04:59:32.10ID:6+tpiQ9J ジェムの人キター
消えてる時間が結構長いのでかなりスプライトが見難いですねぇ
BGは相変わらずえらいことになってますが、負荷軽減でパレットはあきらめて
MMC5の画面分割機能の使用を考えてみても良いかも
消えてる時間が結構長いのでかなりスプライトが見難いですねぇ
BGは相変わらずえらいことになってますが、負荷軽減でパレットはあきらめて
MMC5の画面分割機能の使用を考えてみても良いかも
345名前は開発中のものです。
2014/10/06(月) 23:47:50.82ID:5bZUXl8p >>344
160発を56個のスプライトで表示しているので、
大体3フレームに1回の表示でちらつきが目立ちます。
次の版は、96発にスペックを落とすので、
2フレームに1回の表示になるので多少は改善されるはず。
MMC5は魅力的なのですが、最終目標が実機での動作なので
勿体無くないMMC3で頑張ろうと思っています。
あと、負荷は弾丸の処理が半分以上占めているので
MMC5を使っても状況はあまり変わらないかと思います。
すでに96発MAXに書き換えて、弾丸1つ辺り5byteの領域から
8byteに増えて、Tile番号と属性値が保持できるようになったので
処理が軽くなりました。
弾丸の角度の変化が無ければ、Bombの下辺りまでの
処理時間で済んでいます。
160発を56個のスプライトで表示しているので、
大体3フレームに1回の表示でちらつきが目立ちます。
次の版は、96発にスペックを落とすので、
2フレームに1回の表示になるので多少は改善されるはず。
MMC5は魅力的なのですが、最終目標が実機での動作なので
勿体無くないMMC3で頑張ろうと思っています。
あと、負荷は弾丸の処理が半分以上占めているので
MMC5を使っても状況はあまり変わらないかと思います。
すでに96発MAXに書き換えて、弾丸1つ辺り5byteの領域から
8byteに増えて、Tile番号と属性値が保持できるようになったので
処理が軽くなりました。
弾丸の角度の変化が無ければ、Bombの下辺りまでの
処理時間で済んでいます。
346名前は開発中のものです。
2014/10/07(火) 04:35:07.91ID:3yj7hFfS >>345
1/2フレーム表示ならグラIIのミサイルなどで使ってましたね
欲を言えばですが、弾数が少ないときは1/1フレームで表示出来たら
いいかも
試しに割り込み無しにしたところ18ライン分くらい処理が減ってました
MMC5自体は光栄のゲームで結構出回ってるので入手は簡単かと
思いますが、今更変えるのもあれですね…
期待してますので頑張ってください
1/2フレーム表示ならグラIIのミサイルなどで使ってましたね
欲を言えばですが、弾数が少ないときは1/1フレームで表示出来たら
いいかも
試しに割り込み無しにしたところ18ライン分くらい処理が減ってました
MMC5自体は光栄のゲームで結構出回ってるので入手は簡単かと
思いますが、今更変えるのもあれですね…
期待してますので頑張ってください
347名前は開発中のものです。
2014/10/09(木) 21:46:13.35ID:44sWDsnn NESASMでアセンブルしたNESファイルは自作カートリッジに焼く時もそのまま使えるんですか?
348sage
2014/10/09(木) 21:50:10.76ID:hFc1Ndfq RevolvingGems 1.00を実機で動かしたら不具合が出たので、
今さらですが調べて直してみました。
・タイトル画面の表示が乱れる
ウエイトが足りず、割込み処理での最後の$2006への書込みが
HBLANK中に行われていないようので、user.asmのUser_Irq_Title:直後に
nopを(余裕を持たせて)3つ追加して乱れを消しました。
・あそびかたを選ぶと止まる
タイトルで設定された割込みが無効化できずに発生し続けているようです。
Guide_Init:でIRQ_FNC+1を0にしたことで、
Irq:のjsr IRQ_FNC-1が飛ばされるため、
User_Irq_Title:中での割込みの無効化が動かないのが原因と思います。
user.asm 474行目のsta IRQ_FNC+1をコメントアウトして動くようになりました。
今さらですが調べて直してみました。
・タイトル画面の表示が乱れる
ウエイトが足りず、割込み処理での最後の$2006への書込みが
HBLANK中に行われていないようので、user.asmのUser_Irq_Title:直後に
nopを(余裕を持たせて)3つ追加して乱れを消しました。
・あそびかたを選ぶと止まる
タイトルで設定された割込みが無効化できずに発生し続けているようです。
Guide_Init:でIRQ_FNC+1を0にしたことで、
Irq:のjsr IRQ_FNC-1が飛ばされるため、
User_Irq_Title:中での割込みの無効化が動かないのが原因と思います。
user.asm 474行目のsta IRQ_FNC+1をコメントアウトして動くようになりました。
349名前は開発中のものです。
2014/10/09(木) 21:51:03.03ID:hFc1Ndfq sage間違えたorz
350名前は開発中のものです。
2014/10/09(木) 21:56:48.11ID:hFc1Ndfq351名前は開発中のものです。
2014/10/09(木) 22:09:17.01ID:44sWDsnn >>350
ありがとうございますNESplitという分割ツールがありました。
ありがとうございますNESplitという分割ツールがありました。
352名前は開発中のものです。
2014/10/09(木) 23:56:08.22ID:EgCI09Ne >>348
実機での動作確認ありがとうございます。
>タイトル画面の乱れ
割り込みが入ってから110clk目に最後の$2006を書いていたのですが、
nop3つ追加ということで、116clk目が正解ということですね。
今のやつも直さないと。
>あそびかたを選ぶと止まる
VBlank中にIRQ_FNCを更新する仕組みを追加します。
実機での動作確認ありがとうございます。
>タイトル画面の乱れ
割り込みが入ってから110clk目に最後の$2006を書いていたのですが、
nop3つ追加ということで、116clk目が正解ということですね。
今のやつも直さないと。
>あそびかたを選ぶと止まる
VBlank中にIRQ_FNCを更新する仕組みを追加します。
353名前は開発中のものです。
2014/10/10(金) 00:27:59.23ID:giiUNY1I >>352
MMC3だとラスタの260ppu_clk辺りで割込み発生みたいなので、
そこから次ラスタの表示期間終了の256ppu_clkまでの、
(341-260)+256=337ppu_clk = 112.3cpu_clk
が必要な待ち時間だと思います。
sta $2006を確実にHBLANKに入れるために+4clkしましたが、
書込みが最後の1clkに行われるとすれば、数クロック削れるかもしれません。
MMC3だとラスタの260ppu_clk辺りで割込み発生みたいなので、
そこから次ラスタの表示期間終了の256ppu_clkまでの、
(341-260)+256=337ppu_clk = 112.3cpu_clk
が必要な待ち時間だと思います。
sta $2006を確実にHBLANKに入れるために+4clkしましたが、
書込みが最後の1clkに行われるとすれば、数クロック削れるかもしれません。
354名前は開発中のものです。
2014/10/10(金) 21:22:02.81ID:giiUNY1I355名前は開発中のものです。
2014/10/11(土) 11:53:25.77ID:JCcDlcCt >>353
ttp://wiki.nesdev.com/w/index.php/MMC3#Hardware
Regarding PPU A12 rises:
If the BG uses $0000, and the sprites use $1000, then the IRQ will occur after PPU cycle 260 (as in, a little after the visible part of the target scanline has ended).
If the BG uses $1000, and the sprites use $0000, then the IRQ will occur after PPU cycle 324 of the previous scanline (as in, right before the target scanline is about to be drawn).
When using 8x16 sprites: When there are less than 8 sprites on a scanline, the PPU makes a dummy fetch to tile $FF for each leftover sprite. In 8x16 sprite mode, tile $FF corresponds to the right pattern table ($1000).
PPUアドレスバスA12がスキャンラインカウンタのクロックとなっている。
The counter is clocked on each rising edge of PPU A12, no matter what caused it, so it is possible to (intentionally or not) clock the counter by writing to $2006
BGとSPRをどっちに配置するかで、立ち上がり、立下りが変わるので、
IRQが起きる位置とライン数が変わるようだ。
ttp://wiki.nesdev.com/w/index.php/MMC3#Hardware
Regarding PPU A12 rises:
If the BG uses $0000, and the sprites use $1000, then the IRQ will occur after PPU cycle 260 (as in, a little after the visible part of the target scanline has ended).
If the BG uses $1000, and the sprites use $0000, then the IRQ will occur after PPU cycle 324 of the previous scanline (as in, right before the target scanline is about to be drawn).
When using 8x16 sprites: When there are less than 8 sprites on a scanline, the PPU makes a dummy fetch to tile $FF for each leftover sprite. In 8x16 sprite mode, tile $FF corresponds to the right pattern table ($1000).
PPUアドレスバスA12がスキャンラインカウンタのクロックとなっている。
The counter is clocked on each rising edge of PPU A12, no matter what caused it, so it is possible to (intentionally or not) clock the counter by writing to $2006
BGとSPRをどっちに配置するかで、立ち上がり、立下りが変わるので、
IRQが起きる位置とライン数が変わるようだ。
356名前は開発中のものです。
2014/10/13(月) 07:14:58.66ID:khCfiiiQ >>354
追試ありがとうございます。
clkを伸ばした場合、エミュレータでどうなるか確認したのですが
こちらでは1clk伸ばしただけでも乱れが発生しました。
実機向けとエミュレータ向けの2つのバイナリを用意する必要があるようです。
追試ありがとうございます。
clkを伸ばした場合、エミュレータでどうなるか確認したのですが
こちらでは1clk伸ばしただけでも乱れが発生しました。
実機向けとエミュレータ向けの2つのバイナリを用意する必要があるようです。
357名前は開発中のものです。
2014/10/20(月) 02:34:56.29ID:VhFQD/az だれかギコ猫より分かりやすいサイト作って
もしくは解説コメント付きのソース
もしくは解説コメント付きのソース
358名前は開発中のものです。
2014/10/27(月) 22:58:49.97ID:WLPSmV4W ギコ猫があるだけ恵まれた環境。1990年代のネットはファミコンの
内部資料は英語しか無かったからね。だから普通に挫折した。
内部資料は英語しか無かったからね。だから普通に挫折した。
359名前は開発中のものです。
2014/10/28(火) 05:34:41.72ID:40z/j/Ad バッ活とファミリーベーシック
360名前は開発中のものです。
2014/11/05(水) 02:06:14.46ID:8FC6s1LF Experi9(>>343)の改良版をアップしました。
http://homepage3.nifty.com/~kyoske/nes/Experi10.zip
結局のところ、ファミコン本体の2KBのWRAMだけでは
性能面を向上させつつ、やりくりするのは難しいとわかったので
MMC3の拡張WRAMを解禁、弾丸のワーク領域をそちらに移しました。
本体のWRAMに余裕が出来たので、マップの仮想バッファを
倍に増加して、既存の処理を最適化して負荷を下げました。
色々なテーブルを乗せている関係で、共通ルーチン用のプログラム領域の
サイズが足りないか不安になってきたのですが、拡張WRAMの空き領域に
プログラムを転送すれば良い事に気づき、さらにRAMに転送するんだから
自己書き換えルーチンにできるな、ということで、自己書き換えで性能が
上がりそうなルーチンを試作してみました。
あと、当たり判定実装したり、弾丸の移動処理作ったり、BGM鳴らしてみたりで
処理落ちしないのを確認できたので、性能面で目処が立ったかなというところです。
http://homepage3.nifty.com/~kyoske/nes/Experi10.zip
結局のところ、ファミコン本体の2KBのWRAMだけでは
性能面を向上させつつ、やりくりするのは難しいとわかったので
MMC3の拡張WRAMを解禁、弾丸のワーク領域をそちらに移しました。
本体のWRAMに余裕が出来たので、マップの仮想バッファを
倍に増加して、既存の処理を最適化して負荷を下げました。
色々なテーブルを乗せている関係で、共通ルーチン用のプログラム領域の
サイズが足りないか不安になってきたのですが、拡張WRAMの空き領域に
プログラムを転送すれば良い事に気づき、さらにRAMに転送するんだから
自己書き換えルーチンにできるな、ということで、自己書き換えで性能が
上がりそうなルーチンを試作してみました。
あと、当たり判定実装したり、弾丸の移動処理作ったり、BGM鳴らしてみたりで
処理落ちしないのを確認できたので、性能面で目処が立ったかなというところです。
361名前は開発中のものです。
2014/11/05(水) 02:20:57.06ID:8FC6s1LF 試作した自己書き換えルーチンその1
ClearExtWorkMemory:
ldy #$60
lda #$00
tax
.1:
sty SMCLabel(.2+2)
.2:
sta $6000,x
inx
bne .2
iny
cpy #$68
bne .1
rts
SMCLabelは、転送先のアドレスに変換するユーザ関数です。
sta $6000,xの$60を書き換えています。
Indirect Indexモード 6clkに対して、Absolute Indexモード 4clkで
((6clk-4clk)*256-4clk)*8 = 4064clkの節約。
ClearExtWorkMemory:
ldy #$60
lda #$00
tax
.1:
sty SMCLabel(.2+2)
.2:
sta $6000,x
inx
bne .2
iny
cpy #$68
bne .1
rts
SMCLabelは、転送先のアドレスに変換するユーザ関数です。
sta $6000,xの$60を書き換えています。
Indirect Indexモード 6clkに対して、Absolute Indexモード 4clkで
((6clk-4clk)*256-4clk)*8 = 4064clkの節約。
362名前は開発中のものです。
2014/11/05(水) 02:32:50.39ID:8FC6s1LF 試作した自己書き換えルーチンその2
Shot_Alloc:
ldx SMCLabel(.2+1)
.1:
lda SH_X,x
bmi .9
lda Round96+1,x
tax
.2:
cpx #0
bne .1
.db $24 ; bit <$b8 (set v-flag)
.9:
clv
lda Round96+1,x
sta SMCLabel(.2+1)
rts
cpx #0の#0の部分を書き換え。
弾丸の空きを検索するルーチンで、次回の検索時は空きを検出した
次の場所から検索を始める処理となっています。
Round96は、0,1,2,...94,95,0,1,..と定義されているテーブルで
lda Round96+1,x で (x+1)%96 の計算をしています。
ゼロページの$b8には、$6cが格納されており、bit <$b8 でv-flagが設定されます。
空きがない場合にv-flagが設定されてリターンします。
Shot_Alloc:
ldx SMCLabel(.2+1)
.1:
lda SH_X,x
bmi .9
lda Round96+1,x
tax
.2:
cpx #0
bne .1
.db $24 ; bit <$b8 (set v-flag)
.9:
clv
lda Round96+1,x
sta SMCLabel(.2+1)
rts
cpx #0の#0の部分を書き換え。
弾丸の空きを検索するルーチンで、次回の検索時は空きを検出した
次の場所から検索を始める処理となっています。
Round96は、0,1,2,...94,95,0,1,..と定義されているテーブルで
lda Round96+1,x で (x+1)%96 の計算をしています。
ゼロページの$b8には、$6cが格納されており、bit <$b8 でv-flagが設定されます。
空きがない場合にv-flagが設定されてリターンします。
363名前は開発中のものです。
2014/11/05(水) 02:43:06.58ID:8FC6s1LF ファミコンのプログラム領域はROMだし、メモリも余裕無いから、
自己書き換えルーチンには縁が無いと思っていたのですが、
拡張WRAM使うとなると、有効な手段であるなと。
ただ、よく考えないと自己書き換えやっても効果を得られないので
どのようなパターンが有効か思考する必要ありだなというところです。
自己書き換えルーチンには縁が無いと思っていたのですが、
拡張WRAM使うとなると、有効な手段であるなと。
ただ、よく考えないと自己書き換えやっても効果を得られないので
どのようなパターンが有効か思考する必要ありだなというところです。
364名前は開発中のものです。
2014/11/05(水) 11:50:49.69ID:kV2Q14jG >>360
おお、スプライトも見易くなりましたね。
実機(MMC3B)でExperi10.nes焼いて動かしてみましたが、BGが結構
崩れています。
Experi10_irq114.nesですとBGが崩れはしませんが東方の文字の中心あたり
からチラチラしています。
また、東方を知らないのでわかりませんが会話表示とスクロールをするとたまに
BGが崩れるようです。
(バンク切り替えに失敗したような感じで別の絵が出てました)
参考になれば
おお、スプライトも見易くなりましたね。
実機(MMC3B)でExperi10.nes焼いて動かしてみましたが、BGが結構
崩れています。
Experi10_irq114.nesですとBGが崩れはしませんが東方の文字の中心あたり
からチラチラしています。
また、東方を知らないのでわかりませんが会話表示とスクロールをするとたまに
BGが崩れるようです。
(バンク切り替えに失敗したような感じで別の絵が出てました)
参考になれば
365名前は開発中のものです。
2014/11/05(水) 18:36:12.45ID:8FC6s1LF >>364
実機での確認ありがとうございます。
会話画面表示時のBG崩れは、IRQのCHR-BANKの切り替えと
メイン処理のPRG-BANKの切り替えの衝突です。
PRG-BANKの切り替えは弾丸の移動量や角度算出のテーブル引きで使用しており、
会話画面では行わなくなるので、現在そのままにしています。
実機での確認ありがとうございます。
会話画面表示時のBG崩れは、IRQのCHR-BANKの切り替えと
メイン処理のPRG-BANKの切り替えの衝突です。
PRG-BANKの切り替えは弾丸の移動量や角度算出のテーブル引きで使用しており、
会話画面では行わなくなるので、現在そのままにしています。
366名前は開発中のものです。
2014/11/08(土) 23:22:26.65ID:K8lCFBpt ファイル実行したけど会話画面っていったい何のことなんだ
367名前は開発中のものです。
2014/11/09(日) 03:54:20.59ID:/2f/mjgU セレクトボタンを押しながら上下でバックグラウンドのスクロール量調整
同じく左右で会話画面、ボスHPゲージ消去などができる
同じく左右で会話画面、ボスHPゲージ消去などができる
368名前は開発中のものです。
2014/11/18(火) 00:24:39.88ID:sul/9y5g 今月号(先月号から?)のゲーラボに、ファミコンソフト開発って記事が載ってた
初歩的な奴だったから、今月号からかも。立ち読みしかしてないけど
初歩的な奴だったから、今月号からかも。立ち読みしかしてないけど
369名前は開発中のものです。
2014/11/22(土) 00:37:26.95ID:6HaTj4+E370名前は開発中のものです。
2014/11/24(月) 07:57:25.72ID:+tDgRqjL このスレに常駐して間違いを指摘してる人は何者なのかね?
元ハドソンの中○さん?
元ハドソンの中○さん?
371名前は開発中のものです。
2014/11/24(月) 08:33:08.82ID:+tDgRqjL もしかしてカル○ャーブ○ーンのあの社長か?
372名前は開発中のものです。
2014/11/24(月) 19:13:43.16ID:7xFBwqHN おい、具体名だすんじゃねえ
373名前は開発中のものです。
2014/12/27(土) 07:48:51.33ID:wLqAfx70 このスレではみなさんからのプログラムの投稿をお待ちしています
374名前は開発中のものです。
2015/01/05(月) 20:34:21.71ID:AkF9WUbO >>83-85は進展無し?と思ってみたらもう2年前か
375名前は開発中のものです。
2015/01/06(火) 00:58:45.65ID:uy5dcfqt CじゃなくてFORTHだったら需要あったんだがなぁ
俺の
俺の
376名前は開発中のものです。
2015/01/19(月) 20:41:58.52ID:qeXTNQ6P >>375
FORTHって何ぞ?
FORTHって何ぞ?
377名前は開発中のものです。
2015/03/03(火) 17:29:58.25ID:zncA3uK1378名前は開発中のものです。
2015/03/12(木) 23:44:17.66ID:kJFL2HEh379名前は開発中のものです。
2015/03/19(木) 20:54:40.85ID:h0XRN6RW 前スレを亀レスするけど数をバラバラに設定すると
完成する時としない時があるのは数学的に証明されてる。
完成しない時があると知った時は10才で、その理由を知ったのは30才だったな。
214 名前:名前は開発中のものです。 [sage]: 2008/10/21(火) 23:36:20 ID:7W0HXoP0
空気読まずに投下
ttp://www.lenis.info/~axyz/15puzzle0.1.zip
C言語で15パズルとサウンド再生やってみました。
218 名前:名前は開発中のものです。 [sage]: 2008/10/30(木) 20:55:16 ID:thi/0x4l
ってゆーか解けないよね?コレ
219 名前:名前は開発中のものです。 [sage]: 2008/10/31(金) 10:50:22 ID:WqELvFXJ
なんだ、解けないの俺だけかと思ってたw
220 名前:名前は開発中のものです。 [sage]: 2008/11/01(土) 13:16:36 ID:K21w4wpQ
俺もだwww
221 名前:名前は開発中のものです。 [sage]: 2008/11/01(土) 13:54:44 ID:OhOXRJQv
11と12と15をくるくる回してるのは俺だけじゃなかったのか
222 名前:214 [sage]: 2008/11/02(日) 00:09:23 ID:q5gp0DGO
しまった。完成形がわからなかったら解けるわけないじゃん!
0123
4567
abcd
efgh
の形が完成形です。・・・解いても何も起こりませんがw
完成する時としない時があるのは数学的に証明されてる。
完成しない時があると知った時は10才で、その理由を知ったのは30才だったな。
214 名前:名前は開発中のものです。 [sage]: 2008/10/21(火) 23:36:20 ID:7W0HXoP0
空気読まずに投下
ttp://www.lenis.info/~axyz/15puzzle0.1.zip
C言語で15パズルとサウンド再生やってみました。
218 名前:名前は開発中のものです。 [sage]: 2008/10/30(木) 20:55:16 ID:thi/0x4l
ってゆーか解けないよね?コレ
219 名前:名前は開発中のものです。 [sage]: 2008/10/31(金) 10:50:22 ID:WqELvFXJ
なんだ、解けないの俺だけかと思ってたw
220 名前:名前は開発中のものです。 [sage]: 2008/11/01(土) 13:16:36 ID:K21w4wpQ
俺もだwww
221 名前:名前は開発中のものです。 [sage]: 2008/11/01(土) 13:54:44 ID:OhOXRJQv
11と12と15をくるくる回してるのは俺だけじゃなかったのか
222 名前:214 [sage]: 2008/11/02(日) 00:09:23 ID:q5gp0DGO
しまった。完成形がわからなかったら解けるわけないじゃん!
0123
4567
abcd
efgh
の形が完成形です。・・・解いても何も起こりませんがw
380名前は開発中のものです。
2015/03/20(金) 19:57:53.65ID:SVxvjEKg >>379
作者らしき人に解けない理由が伝わってないのが悲しいな
>完成形がわからなかったら解けるわけないじゃん!
http://www34.atwiki.jp/cc65/pages/39.html
にあるソースを修正しようとしたけどウチの環境じゃうまくコンパイルできなかった
誰か頼んだ
作者らしき人に解けない理由が伝わってないのが悲しいな
>完成形がわからなかったら解けるわけないじゃん!
http://www34.atwiki.jp/cc65/pages/39.html
にあるソースを修正しようとしたけどウチの環境じゃうまくコンパイルできなかった
誰か頼んだ
381名前は開発中のものです。
2015/04/01(水) 23:40:29.90ID:ii+SttYw 何で数がバラバラだと解けないんだろね
タイルの移動する範囲が狭いからとかそんな理由?
タイルの移動する範囲が狭いからとかそんな理由?
382名前は開発中のものです。
2015/04/02(木) 10:16:16.24ID:Jr0GAhV2 他のスレでバカと言われた自分がこのスレでは解けない時が半分あると指摘した人間です。
大学の理数系の初年度程度で履修する偶置換、奇置換等の行列の基礎理論。
まぁ「偶置換 奇置換 行列 15パズル」でググってみて下さい。
大学の理数系の初年度程度で履修する偶置換、奇置換等の行列の基礎理論。
まぁ「偶置換 奇置換 行列 15パズル」でググってみて下さい。
383名前は開発中のものです。
2015/04/02(木) 10:31:03.98ID:Jr0GAhV2 追伸
数十年前は、この説明が表紙に書かれていた数学啓蒙誌をその説明だけの理由で買いました。
喫茶店で飲むコーヒー4杯ほどの価格なので、それと比較するとイイ時代になりました。
昔は数学バカだったかも知れません。そして今は何と言うバカなんでしょうかと。
数十年前は、この説明が表紙に書かれていた数学啓蒙誌をその説明だけの理由で買いました。
喫茶店で飲むコーヒー4杯ほどの価格なので、それと比較するとイイ時代になりました。
昔は数学バカだったかも知れません。そして今は何と言うバカなんでしょうかと。
384名前は開発中のものです。
2015/04/06(月) 09:13:24.02ID:k4keIaCU 12000yenか……それなりのお値段だな……
385名前は開発中のものです。
2015/04/07(火) 16:26:58.65ID:Tz4O69qO 数学啓蒙誌の価格なら流石にそこまで高くない、5桁の数引いた4桁位かな。
ところで1杯が3000円ってどの辺りで飲むコーヒーだろう。
その他「偶置換 奇置換 行列 15パズル」でググるyaneurao氏のも出てくる。
http://d.hatena.ne.jp/yaneurao/20050821
図があって判り易い感じかと。
ところで1杯が3000円ってどの辺りで飲むコーヒーだろう。
その他「偶置換 奇置換 行列 15パズル」でググるyaneurao氏のも出てくる。
http://d.hatena.ne.jp/yaneurao/20050821
図があって判り易い感じかと。
386名前は開発中のものです。
2015/05/24(日) 23:11:59.55ID:+d4mv7Gn このスレ住民でゲームレジェンドに参加した人いるかね
結構いそうな気がする
結構いそうな気がする
387名前は開発中のものです。
2015/06/12(金) 17:08:22.25ID:pQsOmKIP 初期のほとんどのゲームでラスタースクロールを使うときに
0爆弾使ってるけどDPCMタイマ割り込みは使えなかったんだろうか
あれを使ってラスタースクロールを実現したゲームってないのだろうか
0爆弾使ってるけどDPCMタイマ割り込みは使えなかったんだろうか
あれを使ってラスタースクロールを実現したゲームってないのだろうか
388名前は開発中のものです。
2015/06/12(金) 18:51:23.46ID:yYky0Qic >>387
「ファミコン 技術」でぐぐると
じぇみに広野氏が語るファミコンソフトの開発技術
というtogetterがでてくるのであるが、それによると、
ガーディック外伝 でDMCのDMA終了割り込みを使ったが
一部の機種(ツインファミコン?)で割り込みが発生しなかったとのこと。
「ファミコン 技術」でぐぐると
じぇみに広野氏が語るファミコンソフトの開発技術
というtogetterがでてくるのであるが、それによると、
ガーディック外伝 でDMCのDMA終了割り込みを使ったが
一部の機種(ツインファミコン?)で割り込みが発生しなかったとのこと。
389名前は開発中のものです。
2015/06/12(金) 21:33:53.52ID:yvckrC4h390名前は開発中のものです。
2015/06/12(金) 21:54:06.55ID:pQsOmKIP へー興味深い、ツインファミコンじゃなくてあるとすれば考えられるのは初期型ファミコンじゃないかな
あれ音源周りの仕様が後期のロットとは若干違ったはずだしね ただし
時期によってICにヒートシンクついてたりメモリがSOPだったり複数の標準ロジックICが一つのカスタムLSIに置き換わってたり
さらには主要ICのマイナーバージョンも変わってるから他のロットの固有の問題でもおかしくないとは思う
しかしそうか割り込みがかからないものがあるとは・・・
もし使うんなら使用可否の確認ルーチンを使う必要があるのか
あれ音源周りの仕様が後期のロットとは若干違ったはずだしね ただし
時期によってICにヒートシンクついてたりメモリがSOPだったり複数の標準ロジックICが一つのカスタムLSIに置き換わってたり
さらには主要ICのマイナーバージョンも変わってるから他のロットの固有の問題でもおかしくないとは思う
しかしそうか割り込みがかからないものがあるとは・・・
もし使うんなら使用可否の確認ルーチンを使う必要があるのか
391名前は開発中のものです。
2015/06/12(金) 22:46:29.41ID:rYOjWPPG なるべく無音になるようなデータを用意しないといけないし、初期ではROM容量的にできないかもね。
392名前は開発中のものです。
2015/06/20(土) 12:30:40.92ID:pGMo6MI5393名前は開発中のものです。
2015/06/20(土) 19:48:15.52ID:JHwpVc0c 2番目のサイトのパレット、
>実際には12色の中に同じ色を入れないといけなかったりして、12色フルに使うことはできないでしょう。
の解説希望。俺の仕様ではこんな制約はないんだが。
>実際には12色の中に同じ色を入れないといけなかったりして、12色フルに使うことはできないでしょう。
の解説希望。俺の仕様ではこんな制約はないんだが。
394名前は開発中のものです。
2015/06/22(月) 00:32:17.02ID:Wqz2EZzo >>393
1パレット3色の組み合わせで指定するので
ソフト制作の都合上、別々のパレットに同じ色を指定することもよくあり
常に異なる25色(SP12色+BG12色+背景色)を同時発色している訳ではない
と解釈しているけど、どう読んだ?
1パレット3色の組み合わせで指定するので
ソフト制作の都合上、別々のパレットに同じ色を指定することもよくあり
常に異なる25色(SP12色+BG12色+背景色)を同時発色している訳ではない
と解釈しているけど、どう読んだ?
395名前は開発中のものです。
2015/06/24(水) 23:39:15.30ID:kRbpr0Nr396名前は開発中のものです。
2015/06/25(木) 22:06:34.05ID:Xz0r0Jej >>395
ひっかかっているのは、「最大25色出せる、というのはあくまでも理論上の話。」という文でしょうか?
「論理上」と言い切るのは私も間違いだと思います。「事実上」と表現するかな。
「論理上」の前の文に「パレットの色が重複してしまう」と条件が書いてあり、
パレットの色を重複して指定するのは、3色の組のパレットで
色指定するというハードウェアの仕様に起因することなので、
ハードウェアの制限と言われても間違いじゃないなと思います。
ただ、サイト先の文章からは、ハードレベルでできない と推測に至る表現は無いかと思います。
異なる25色を同時発色しているゲームの具体例出せないし、
自分が作っているソフトもパレットの色重複しているので
何とも言えないが正直なところ。
ひっかかっているのは、「最大25色出せる、というのはあくまでも理論上の話。」という文でしょうか?
「論理上」と言い切るのは私も間違いだと思います。「事実上」と表現するかな。
「論理上」の前の文に「パレットの色が重複してしまう」と条件が書いてあり、
パレットの色を重複して指定するのは、3色の組のパレットで
色指定するというハードウェアの仕様に起因することなので、
ハードウェアの制限と言われても間違いじゃないなと思います。
ただ、サイト先の文章からは、ハードレベルでできない と推測に至る表現は無いかと思います。
異なる25色を同時発色しているゲームの具体例出せないし、
自分が作っているソフトもパレットの色重複しているので
何とも言えないが正直なところ。
397名前は開発中のものです。
2015/06/26(金) 06:50:59.42ID:T0jrUs0a >>396
スペック上問題なく出来るのに理論上とか書くから誤解されると思うよ。
最大値は〜色です。という説明だけでいい。「事実上」はいらない。
実際のゲームでは、というくだりから色の重複について画像を入れるなどで
説明すればいいと思うし、そっちのほうがわかりやすいだろう。
スペック上問題なく出来るのに理論上とか書くから誤解されると思うよ。
最大値は〜色です。という説明だけでいい。「事実上」はいらない。
実際のゲームでは、というくだりから色の重複について画像を入れるなどで
説明すればいいと思うし、そっちのほうがわかりやすいだろう。
398名前は開発中のものです。
2015/07/07(火) 01:41:06.59ID:c0/ULPSH バックアップを兼ねて制作途中版をアップしました。
東方老桜夢 ver0.10
ttp://homepage3.nifty.com/~kyoske/nes/TouhouRououmu010.zip
セレクト画面、自機移動+ショット、アイテム、1面中ボス手前までのステージデータを実装。
自機のボム、ボス戦、会話処理などは、これからです。まだ先は長いな。
例によってソース添付していますので、興味がある人はどうぞ。
東方老桜夢 ver0.10
ttp://homepage3.nifty.com/~kyoske/nes/TouhouRououmu010.zip
セレクト画面、自機移動+ショット、アイテム、1面中ボス手前までのステージデータを実装。
自機のボム、ボス戦、会話処理などは、これからです。まだ先は長いな。
例によってソース添付していますので、興味がある人はどうぞ。
399名前は開発中のものです。
2015/07/11(土) 00:00:24.90ID:LzhqW5i3 なんのアドバイスもできないけど徐々に完成する様を楽しみにしてる
401398
2015/07/11(土) 00:55:51.34ID:ErBuIZGc 皆さんに1つアドバイスして欲しいことがあるのですが、よろしいでしょうか。
Aボタン=ショット Bボタン=ボム で実装を進めているのですが、
ショットを押したまま、ボムを使おうとする場合にA押しながらBを押す操作になります。
赤白ファミコンの場合には、AボタンBボタンが真横に並んでいるので
そんなに押しにくくはないのですが、newファミコンの場合には、
Aボタン右上Bボタン左下に並んでいて押しにくく感じました。
コンフィグで他のボタン割り当ても選択できるようにすることを考えているのですが、
こういうボタン割り当てがよいのではというアドバイスを頂きたいです。
ちょっと考えたネタとしては、
・Bボタン=ショット STARTボタン=ボム Aボタン=低速移動
・Iコン、IIコン2つ持ちで、IIコンのボタンでボム
ってのがあります。
Aボタン=ショット Bボタン=ボム で実装を進めているのですが、
ショットを押したまま、ボムを使おうとする場合にA押しながらBを押す操作になります。
赤白ファミコンの場合には、AボタンBボタンが真横に並んでいるので
そんなに押しにくくはないのですが、newファミコンの場合には、
Aボタン右上Bボタン左下に並んでいて押しにくく感じました。
コンフィグで他のボタン割り当ても選択できるようにすることを考えているのですが、
こういうボタン割り当てがよいのではというアドバイスを頂きたいです。
ちょっと考えたネタとしては、
・Bボタン=ショット STARTボタン=ボム Aボタン=低速移動
・Iコン、IIコン2つ持ちで、IIコンのボタンでボム
ってのがあります。
402名前は開発中のものです。
2015/07/11(土) 20:55:40.95ID:LzhqW5i3 ショットはBボタンじゃないと操作し辛いと思う
Iコン、IIコン2つ持ちはゲーム性を損ないそうなので反対
自分の知ってる弾幕シューティングだとショットボタン連打=高速移動
ショットボタン押しっぱなし=低速移動なので、それがいいかな
Bボタン=ショット(押しっぱなしで低速移動)
Aボタン=ボム
START+SELECT同時押し(もしくはSELECT押しながらSTART)=リセット
Iコン、IIコン2つ持ちはゲーム性を損ないそうなので反対
自分の知ってる弾幕シューティングだとショットボタン連打=高速移動
ショットボタン押しっぱなし=低速移動なので、それがいいかな
Bボタン=ショット(押しっぱなしで低速移動)
Aボタン=ボム
START+SELECT同時押し(もしくはSELECT押しながらSTART)=リセット
403398
2015/07/12(日) 08:06:56.67ID:eipwc+As >>402
最初、Bボタン=ショットで実装していたのですが、セレクト画面を追加した時に
A=決定&A=ボムだと、誤って連打したり、操作方法がわからないので適当に押したりした場合に
ボムを消費してしまうのでまずいなと、変更した経緯があります。
B=決定&B=ショットにするか検証して、問題なければ元に戻す方向でいきたいと思います。
start+selectの両方押しは取り入れたいと思います。
Iコン IIコン2つ持ちは、401の書き込みあと色々やってみたのですが、
どのように持ってもIIコンのボタンが押しにくかったのでボツにします。
newファミコンのコントローラの場合、startとBボタンの組み合わせも操作しやすいのに気付きました。
start=Aボタン=ボム Bボタン=ボム にするのもありかなと考えています。
最初、Bボタン=ショットで実装していたのですが、セレクト画面を追加した時に
A=決定&A=ボムだと、誤って連打したり、操作方法がわからないので適当に押したりした場合に
ボムを消費してしまうのでまずいなと、変更した経緯があります。
B=決定&B=ショットにするか検証して、問題なければ元に戻す方向でいきたいと思います。
start+selectの両方押しは取り入れたいと思います。
Iコン IIコン2つ持ちは、401の書き込みあと色々やってみたのですが、
どのように持ってもIIコンのボタンが押しにくかったのでボツにします。
newファミコンのコントローラの場合、startとBボタンの組み合わせも操作しやすいのに気付きました。
start=Aボタン=ボム Bボタン=ボム にするのもありかなと考えています。
404名前は開発中のものです。
2015/07/12(日) 12:33:35.60ID:mpg+Vwo9405名前は開発中のものです。
2015/07/12(日) 15:35:29.97ID:rjppu/hS セレクト画面の選択はスタートも効くようにしておけばいいんじゃね
個人的にはボムがどっち側か選択出来るといいな
個人的にはボムがどっち側か選択出来るといいな
406398
2015/07/12(日) 15:40:36.97ID:eipwc+As408名前は開発中のものです。
2015/07/12(日) 18:47:24.47ID:Rrg+166r 連打誤爆が気になるのならセレクト画面はスタートのみ決定にしたらよくね?
409名前は開発中のものです。
2015/07/12(日) 21:42:13.52ID:eqQNtVxD 2A03はDPCMデータをどのタイミングでフェッチしてるんだ
DPCM再生したらプログラムの実行速度遅くなるとかあるのか
DPCM再生したらプログラムの実行速度遅くなるとかあるのか
410398
2015/07/13(月) 01:54:36.60ID:ETla0kQ9411398
2015/07/13(月) 02:02:23.75ID:ETla0kQ9 >>409
英文で申し訳ないですが、nesdev wiki の記事によるとDPCMデータを読み込む時に最大4サイクルCPUが停止(ストール)するようです。
ttp://wiki.nesdev.com/w/index.php/APU_DMC#Memory_reader
英文で申し訳ないですが、nesdev wiki の記事によるとDPCMデータを読み込む時に最大4サイクルCPUが停止(ストール)するようです。
ttp://wiki.nesdev.com/w/index.php/APU_DMC#Memory_reader
412名前は開発中のものです。
2015/07/13(月) 21:38:14.47ID:8PTgB6y3413名前は開発中のものです。
2015/07/18(土) 20:00:38.97ID:pgdcYKQP sm26685505
414名前は開発中のものです。
2015/07/28(火) 03:54:27.25ID:q+8puilX ゲームパッドの裏面同士をくっつけて重ね持ち……
415名前は開発中のものです。
2015/08/06(木) 22:57:03.34ID:QTHdQd4i 東方老楼夢やってみましたがすごいですね。
今後の進展に期待しています。
少し気になったことですが、実機だと自機選択の画面でカーソルを
上下に動かすたびに全体的に画面が少し揺れますね。
今後の進展に期待しています。
少し気になったことですが、実機だと自機選択の画面でカーソルを
上下に動かすたびに全体的に画面が少し揺れますね。
416398
2015/08/07(金) 23:39:37.38ID:YUPlB/cK417398
2015/08/08(土) 00:31:25.10ID:BI5FjCuz 机上調査レベルですが、実機で画面が揺れる(ピクンと跳ねる)のは、
・PPUへのデータ転送処理より先にIRQカウンタの設定をしている
・パレットの書き換えでPPUアドレスの$3fxxにアクセスしている
のが原因っぽいです。
$3fxxにアクセスするのでPA12のアドレス線が0→1に変化。
これをMMC3が拾ってIRQカウンタをカウントダウンすることで、
1ライン早くIRQ割り込みが発生して、画面がずれると推測しました。
・PPUへのデータ転送処理より先にIRQカウンタの設定をしている
・パレットの書き換えでPPUアドレスの$3fxxにアクセスしている
のが原因っぽいです。
$3fxxにアクセスするのでPA12のアドレス線が0→1に変化。
これをMMC3が拾ってIRQカウンタをカウントダウンすることで、
1ライン早くIRQ割り込みが発生して、画面がずれると推測しました。
418名前は開発中のものです。
2015/08/09(日) 16:51:22.40ID:0ksNtoFR さっしーを本気でブスと思ったことはない、むしろ美人な方
ブスだけど
ブスだけど
419名前は開発中のものです。
2015/08/09(日) 19:24:44.04ID:ShkksTPS 何故、急にさっしーが出て来た?
ともかく美人の範囲には入らない、美人は石原さとみ、佐々木希、エリカ様あたり。
ともかく美人の範囲には入らない、美人は石原さとみ、佐々木希、エリカ様あたり。
420名前は開発中のものです。
2015/08/10(月) 20:22:03.98ID:L65BKpn6 >>396
中の人でしょうか。
色が重複してしまう理由が書かれていないのです(ファイアーの色をマリオとルイージから取ってこなければならない理由)。
重複しないように設定したいのだが、ハードの制約で重大な問題が生じる為重複させなければならない と読み取れます。
確かに市販タイトルを少し調べてみましたが全て異なる色を使用しているのは見つかりませんでしたが。
それは、総合的なデザイン上の問題だと思います。
画面上に、「マリオ、ルイージ、レディ、ファイア」の4キャラしか出てこないゲームなら、全てに異なる色を設定しても問題ないでしょう。
中の人でしょうか。
色が重複してしまう理由が書かれていないのです(ファイアーの色をマリオとルイージから取ってこなければならない理由)。
重複しないように設定したいのだが、ハードの制約で重大な問題が生じる為重複させなければならない と読み取れます。
確かに市販タイトルを少し調べてみましたが全て異なる色を使用しているのは見つかりませんでしたが。
それは、総合的なデザイン上の問題だと思います。
画面上に、「マリオ、ルイージ、レディ、ファイア」の4キャラしか出てこないゲームなら、全てに異なる色を設定しても問題ないでしょう。
421名前は開発中のものです。
2015/08/12(水) 20:57:19.05ID:vHA00r0T >>420
>中の人でしょうか。
違いますよ。
>色が重複してしまう理由が書かれていないのです
「別々のパレットから個別に色を選択してスプライトを
表示することはできない」というパレットの仕様を
説明したいがために、わざと色が重複する例を
出しているだけと私は解釈しています。
397さんの指摘のように、先に25色発色できるのを提示してから
重複する例を出す構成にするのが誤解を生まない方法だと
思います。
>重複しないように設定したいのだが、ハードの制約で重大な問題が生じる為重複させなければならない と読み取れます。
「理由なく色が重複する例を出した」から
「重大な問題が生じる為重複させなければならない」という考えに至るのが
私の考え方と違うようです。
25色発色できるとも書いてあるし、重複させなければならないと
断言する文言も無いので、私はそう解釈はしませんでした。
総合的なデザイン上の問題 という指摘については同意です。
>中の人でしょうか。
違いますよ。
>色が重複してしまう理由が書かれていないのです
「別々のパレットから個別に色を選択してスプライトを
表示することはできない」というパレットの仕様を
説明したいがために、わざと色が重複する例を
出しているだけと私は解釈しています。
397さんの指摘のように、先に25色発色できるのを提示してから
重複する例を出す構成にするのが誤解を生まない方法だと
思います。
>重複しないように設定したいのだが、ハードの制約で重大な問題が生じる為重複させなければならない と読み取れます。
「理由なく色が重複する例を出した」から
「重大な問題が生じる為重複させなければならない」という考えに至るのが
私の考え方と違うようです。
25色発色できるとも書いてあるし、重複させなければならないと
断言する文言も無いので、私はそう解釈はしませんでした。
総合的なデザイン上の問題 という指摘については同意です。
422名前は開発中のものです。
2015/11/02(月) 19:23:11.78ID:Lz25rOrT ファミコンのプログラムに興味出たんだけどアセンブラやるならnesasmとcc65はどっちがオススメ?
423名前は開発中のものです。
2015/11/02(月) 19:37:42.20ID:GmeIn7pj nesasmがアセンブラ
cc65がC
なのでアセンブラやるならnesasm
プログラミング経験者?
cc65がC
なのでアセンブラやるならnesasm
プログラミング経験者?
424名前は開発中のものです。
2015/11/03(火) 00:48:13.34ID:dgydVfeg425422
2015/11/04(水) 00:04:33.96ID:MG7aGI5u 皆さんありがとう
プログラミングは初心者です
公式で配布しているnesasmは64bitで使えないみたいだから、まだ更新しているca65の方がマシかなと思った
自分の探し方が悪いのか?
プログラミングは初心者です
公式で配布しているnesasmは64bitで使えないみたいだから、まだ更新しているca65の方がマシかなと思った
自分の探し方が悪いのか?
426名前は開発中のものです。
2015/11/04(水) 01:29:45.57ID:jDbZfAAt nesasmはソース付いてるから、自前でビルドして64Bit版nesasm作ってもいいのだが、面倒くさいなら、
MS-DOS Player
ttp://homepage3.nifty.com/takeda-toshiya/msdos/index.html
とか使えば、配布されてるnesasmのバイナリも、そのまま64Bit版Windowsのコマンドプロンプトの中で動くと思う。
MS-DOS Player
ttp://homepage3.nifty.com/takeda-toshiya/msdos/index.html
とか使えば、配布されてるnesasmのバイナリも、そのまま64Bit版Windowsのコマンドプロンプトの中で動くと思う。
427422
2015/11/04(水) 01:38:18.31ID:MG7aGI5u ありがとうございます
そのソフト別の意味で面白そう
なるほど、自分でビルドしても良いのか
勉強がてらやってみます
そのソフト別の意味で面白そう
なるほど、自分でビルドしても良いのか
勉強がてらやってみます
428名前は開発中のものです。
2015/11/04(水) 01:39:43.60ID:MqFJsopM 64bit版NESASMは既にある
ttp://www.2a03.jp/~minachun/nesasm/nesasm_x86.html
ttp://www.2a03.jp/~minachun/nesasm/nesasm_x86.html
429名前は開発中のものです。
2015/11/27(金) 19:22:03.16ID:FGwJ1plm430名前は開発中のものです。
2015/11/27(金) 19:23:07.72ID:FGwJ1plm431名前は開発中のものです。
2015/11/27(金) 22:00:09.01ID:AEiSUGo8 VBlank待ちで$2002読んだ後VBlank中にスプライト書き込むプログラム書いたけど実機だと
左から右にスプライトを動かそうとするとスムーズに動いてくれない。ドンキーコングとか市販のソフトみたいに綺麗に動かすには
何を気をつけたらいいですか?
左から右にスプライトを動かそうとするとスムーズに動いてくれない。ドンキーコングとか市販のソフトみたいに綺麗に動かすには
何を気をつけたらいいですか?
432名前は開発中のものです。
2015/11/27(金) 22:46:48.97ID:BXn0P/af 普通は$2002を使ったVblank待ちを常用するようなことはしない、ギコ猫〜のサイトでも見たのかな?
詳しくはこのスレの上のほうにあるレスを見てね
詳しくはこのスレの上のほうにあるレスを見てね
433名前は開発中のものです。
2015/11/29(日) 20:25:04.83ID:MHj/oA6M >>432 ありがとうござます。プログラム変更します。
434名前は開発中のものです。
2015/12/16(水) 22:25:48.20ID:+xc8/nu+435名前は開発中のものです。
2015/12/27(日) 12:38:46.49ID:/47Z3a2E 東方老桜夢のver0.20をアップしました。
ttp://homepage3.nifty.com/~kyoske/nes/TouhouRououmu020.zip
1面ボスまでの実装、ボムは未実装です。
プログラム構造的には、色々と変更中です。
当初は8KBのバンク1個にステージデータを格納する算段だったのですが、一番短い1面で現地点で5〜6KBぐらいのデータになったので、複数のバンクに分散して持つように変更しています。
弾丸パターンのデータが思いのほか大きかった。会話データはこれからだし。
あと、415さんの報告してくれたバグを元に実機判定を行うことで実機用とエミュ用に分けてたnesファイルを一本化できました。感謝です。
ttp://homepage3.nifty.com/~kyoske/nes/TouhouRououmu020.zip
1面ボスまでの実装、ボムは未実装です。
プログラム構造的には、色々と変更中です。
当初は8KBのバンク1個にステージデータを格納する算段だったのですが、一番短い1面で現地点で5〜6KBぐらいのデータになったので、複数のバンクに分散して持つように変更しています。
弾丸パターンのデータが思いのほか大きかった。会話データはこれからだし。
あと、415さんの報告してくれたバグを元に実機判定を行うことで実機用とエミュ用に分けてたnesファイルを一本化できました。感謝です。
436名前は開発中のものです。
2015/12/27(日) 13:21:57.15ID:eEDVBk4A ちゃんとゲームになってて面白いわ
437名前は開発中のものです。
2016/01/17(日) 16:27:08.58ID:X7lsGmSN 8BIT MUSIC POWER
http://riki2riki.com/html/0_sample_8bit.html
http://www.gamespark.jp/article/2015/10/20/61077.html
https://www.youtube.com/watch?v=tb4ec90zWf4
プログラムが凄すぎる。
CrystalMarkみたいなスプライト量。
YouTube30fpsの動画では4倍というのがいまいちよくわからない。チラつきだけで4倍表示させてるのか?
DMAでスプライトダブラー行為するにはBGとSPR両方オフにしないと出来ないという噂だがどこかでオフになっている感じがしない。
音楽部分で消費するクロック数は、VBLANK内か近傍に収めているだろうね、それとも下の方のラインでjsrしてるのか?。
割り込み使うとレジスタ退避などでクロックを浪費するから極力使いたくないだろう。
当初、sprite quadrupler スプライト クワドラプラー かと思ったが違うよな。
計算で位置求めるのは不可能だろうし、横並びのところはスプライト循環もやってるだろうし、
データ丸ごとテーブルで持ってるかな、そうなら長時間収録はできない。
パターンテーブルを4.5バンク切り替えてる?のか、全画面で複雑な絵。
絵1枚で0x2000バイトのパターンを3.5面分総とっかえってことかな。
どこでCHRバンクチェンジしているのか意識させない、バンクチェンジのノイズを抑えているようだ。
こちらはクロック数が切迫していないから、割り込みは使い放題かな。
http://riki2riki.com/html/0_sample_8bit.html
http://www.gamespark.jp/article/2015/10/20/61077.html
https://www.youtube.com/watch?v=tb4ec90zWf4
プログラムが凄すぎる。
CrystalMarkみたいなスプライト量。
YouTube30fpsの動画では4倍というのがいまいちよくわからない。チラつきだけで4倍表示させてるのか?
DMAでスプライトダブラー行為するにはBGとSPR両方オフにしないと出来ないという噂だがどこかでオフになっている感じがしない。
音楽部分で消費するクロック数は、VBLANK内か近傍に収めているだろうね、それとも下の方のラインでjsrしてるのか?。
割り込み使うとレジスタ退避などでクロックを浪費するから極力使いたくないだろう。
当初、sprite quadrupler スプライト クワドラプラー かと思ったが違うよな。
計算で位置求めるのは不可能だろうし、横並びのところはスプライト循環もやってるだろうし、
データ丸ごとテーブルで持ってるかな、そうなら長時間収録はできない。
パターンテーブルを4.5バンク切り替えてる?のか、全画面で複雑な絵。
絵1枚で0x2000バイトのパターンを3.5面分総とっかえってことかな。
どこでCHRバンクチェンジしているのか意識させない、バンクチェンジのノイズを抑えているようだ。
こちらはクロック数が切迫していないから、割り込みは使い放題かな。
438名前は開発中のものです。
2016/01/17(日) 16:46:29.69ID:t/N02VRF パソファミ関係者っていうのがヤダ
439名前は開発中のものです。
2016/01/26(火) 08:49:51.39ID:+RbTUT9y440名前は開発中のものです。
2016/01/27(水) 19:47:28.79ID:8OkpSUkH >>439
VirtuaNES 0.97で確認してみました。
東方老桜夢ver0.20では、実機/エミュ判定を行っていてIRQ割り込みの頭で、実機/エミュ別にnopを入れてタイミングを調整しています。
実機 nop 2個、エミュ nop 0個となっているのですが、VirtuaNESでは、nop 3個で画面が安定しました。
実機は nop 3個でも安定した画面になるので nopを増やすのは問題ないのですが、
VirtuaNES は、実機/エミュ判定で、エミュと判断されているため、実機側に判定させる何かしらの手立てが必要な状況です。
Aボタンを押した状態で立ち上げたら実機側とするといった方法でも構いませんでしょうか?
VirtuaNES 0.97で確認してみました。
東方老桜夢ver0.20では、実機/エミュ判定を行っていてIRQ割り込みの頭で、実機/エミュ別にnopを入れてタイミングを調整しています。
実機 nop 2個、エミュ nop 0個となっているのですが、VirtuaNESでは、nop 3個で画面が安定しました。
実機は nop 3個でも安定した画面になるので nopを増やすのは問題ないのですが、
VirtuaNES は、実機/エミュ判定で、エミュと判断されているため、実機側に判定させる何かしらの手立てが必要な状況です。
Aボタンを押した状態で立ち上げたら実機側とするといった方法でも構いませんでしょうか?
441名前は開発中のものです。
2016/01/27(水) 23:31:46.97ID:iuhjgLDC ほう、実機判定してるんだ。
VirtuaNESにあわせる必要はない。
使いやすさは最高だが、エミュレーション精度はいまや時代遅れだからだ。
対しPPUクロック精度で書かれたより新しいエミュは
動作が重いという罠もある。
VirtuaNESにあわせる必要はない。
使いやすさは最高だが、エミュレーション精度はいまや時代遅れだからだ。
対しPPUクロック精度で書かれたより新しいエミュは
動作が重いという罠もある。
442名前は開発中のものです。
2016/01/28(木) 00:04:07.25ID:aAl7ptEy >>441
では、申し訳ありませんが、VirtuaNES対応は宿題とさせていただきます。
実機判定は、VBlank期間中にMMC3のIRQを発生させれるかを行っています。
FCEUX Nestopia NNNesterJ で動作確認しましたが、この判定をパスしたのは Nestopia だけでした。
再現性が高いという評判は流石と思いました。
では、申し訳ありませんが、VirtuaNES対応は宿題とさせていただきます。
実機判定は、VBlank期間中にMMC3のIRQを発生させれるかを行っています。
FCEUX Nestopia NNNesterJ で動作確認しましたが、この判定をパスしたのは Nestopia だけでした。
再現性が高いという評判は流石と思いました。
443名前は開発中のものです。
2016/01/28(木) 00:08:59.07ID:4HlAPjuX しかし1クロック単位を考慮しなきゃならんソフトが多いってのもなぁ
ファミコンはホントに難儀なハードだよ
普通は表面だけをマネできればいいが、ファミコンの場合そうもいかないのがな
ファミコンはホントに難儀なハードだよ
普通は表面だけをマネできればいいが、ファミコンの場合そうもいかないのがな
444名前は開発中のものです。
2016/01/28(木) 19:42:33.80ID:ej2nMNKX VirtuaNESで見たが、ゲーム固有オプション>タイル で奇麗になる。
445名前は開発中のものです。
2016/01/29(金) 08:12:40.13ID:IhMTdY1w >>444
ありがとうございます。
ヘルプにタイル状に分割して描画とあったので、ボスの体力ゲージなどの狭いライン間隔での割り込み部分が
どうななるのか気になったのですが、問題なく表示されるのを確認しました。
ありがとうございます。
ヘルプにタイル状に分割して描画とあったので、ボスの体力ゲージなどの狭いライン間隔での割り込み部分が
どうななるのか気になったのですが、問題なく表示されるのを確認しました。
446名前は開発中のものです。
2016/02/02(火) 21:14:25.02ID:Xla8KbIU ニコ動(sm28114684)に 8BIT MUSIC POWER の動画が投稿されていたので見たけど、
スプライト量4倍は、8x16モードで(8x8に対して2倍×偶数/奇数フレームで時間軸に分散で2倍 っぽい。
画面止めて、移動するオブジェクトの数を数えたけど、64個以内に収まっている。
オブジェクトの移動は、円軌道や微妙な加速減を行っているようで、それなりに負荷はありそう。でも無理のない範囲。
スプライト量4倍は、8x16モードで(8x8に対して2倍×偶数/奇数フレームで時間軸に分散で2倍 っぽい。
画面止めて、移動するオブジェクトの数を数えたけど、64個以内に収まっている。
オブジェクトの移動は、円軌道や微妙な加速減を行っているようで、それなりに負荷はありそう。でも無理のない範囲。
447名前は開発中のものです。
2016/02/04(木) 23:53:35.30ID:FG4y3IEDお世話になります。
私、責任者の加茂と申します。以後、宜しくお願い致します。
http://homepage2.nifty.com/e-d-a/scurl/ays.html
http://homepage2.nifty.com/e-d-a/scurl/SW-pos.html
http://homepage2.nifty.com/e-d-a/scurl/SW-sp.html
http://homepage2.nifty.com/e-d-a/scurl/SW-BB8.html
浪速建設様の見解と致しましては、メールによる対応に関しましては
受付しないということで、当初より返信を行っていないようで、今後につい
てもメールや書面での対応は致しかねるというお答えでした。
http://www.o-naniwa.com/
このように現在まで6通のメールを送られたとのことですが、結果一度も
返信がないとう状況になっています。
http://homepage2.nifty.com/e-d-a/scurl/ia-1-4.html
http://homepage2.nifty.com/e-d-a/scurl/ia-2-1.html
http://homepage2.nifty.com/e-d-a/scurl/ia-3-2.html
私どものほうでも現在までのメール履歴は随時削除を致しております
ので実際に11通のメールを頂戴しているか不明なところであります。
●クリスタル通り122号室住人
●浪速建設 女事務員 南野 東条 ●アパマンショップ八尾店 加茂正樹
!!!!!!!!!!!!!!!
448名前は開発中のものです。
2016/02/10(水) 05:21:21.77ID:Tj88U3ce ハードの話だからスレチかもしれないんだけどさ、ファミコンをTVに直接つなぐと壊れるとか言っている人がいたけど、どうしたら壊れるのかよくわからん
ファミコンのRF出力には常時5Vの直流成分があるから、せいぜい1V程度の入力を前提としたアンテナ端子につなぐと壊れるってことか?
壊れるとしたら直流カット用のコンデンサか?でもまず名の知れたメーカーのテレビがそんなに耐圧の低いコンデンサ使うことってあるのか?
同じ形の端子のBSなんかじゃ15Vあるしフールプルーフの観点からも、まともな企業がその程度で壊れるテレビを作るとは考えにくいとおもうんだが
ファミコンのRF出力には常時5Vの直流成分があるから、せいぜい1V程度の入力を前提としたアンテナ端子につなぐと壊れるってことか?
壊れるとしたら直流カット用のコンデンサか?でもまず名の知れたメーカーのテレビがそんなに耐圧の低いコンデンサ使うことってあるのか?
同じ形の端子のBSなんかじゃ15Vあるしフールプルーフの観点からも、まともな企業がその程度で壊れるテレビを作るとは考えにくいとおもうんだが
449名前は開発中のものです。
2016/02/10(水) 21:24:34.51ID:t1JpI2XH >>448
ググったら、次のサイトが見つかった。
ttp://d.hatena.ne.jp/Narr/20110406
RFスイッチを通す前提で回路を組んでいるので、RFを直結するといった保証の範囲外の使われ方をした場合に
どうなるかわからない、最悪テレビが壊れる可能性もある。
ってところのようです。
ググったら、次のサイトが見つかった。
ttp://d.hatena.ne.jp/Narr/20110406
RFスイッチを通す前提で回路を組んでいるので、RFを直結するといった保証の範囲外の使われ方をした場合に
どうなるかわからない、最悪テレビが壊れる可能性もある。
ってところのようです。
450名前は開発中のものです。
2016/02/10(水) 23:57:07.30ID:blT4oqOl ファミコン本体内の抵抗が過電流になる。定格を超えた電流が流れる。
451名前は開発中のものです。
2016/02/11(木) 00:53:37.94ID:bMdTUmpq452名前は開発中のものです。
2016/02/22(月) 01:55:27.70ID:gksHLxQn >>448
逆にBSアンテナ給電に耐えられるか怪しいんじゃ?
ファミコン出た当初はそんなの無かったし。
まあ、本体だけなら安いし試してみたら良いんじゃね。
あと続きはこちらで。
http://tamae.2ch.net/test/read.cgi/gameurawaza/1440501848/
逆にBSアンテナ給電に耐えられるか怪しいんじゃ?
ファミコン出た当初はそんなの無かったし。
まあ、本体だけなら安いし試してみたら良いんじゃね。
あと続きはこちらで。
http://tamae.2ch.net/test/read.cgi/gameurawaza/1440501848/
453名前は開発中のものです。
2016/06/04(土) 14:03:05.70ID:rVuJza+k 東方老桜夢 ver0.30をアップしました。
http://homepage3.nifty.com/~kyoske/nes/TouhouRououmu030.zip
ボムとゲームオーバー処理、タイトル画面を実装しました。
技術面でのトピックは、BG処理を背景&エフェクトの2レイヤー構造から
WRAM上のバッファの内容を表示する2レイヤーを加えた4レイヤー構造に
変更したことでしょうか
新規に追加したレイヤーの1つを使ってプレイヤーのボムを表示しています。
BGなので8ドット単位でしか絵が移動しませんが、思ったより悪くは無い感じでした。
残りの1レイヤーはまだ先の話になりますがボス敵で使う予定です。
http://homepage3.nifty.com/~kyoske/nes/TouhouRououmu030.zip
ボムとゲームオーバー処理、タイトル画面を実装しました。
技術面でのトピックは、BG処理を背景&エフェクトの2レイヤー構造から
WRAM上のバッファの内容を表示する2レイヤーを加えた4レイヤー構造に
変更したことでしょうか
新規に追加したレイヤーの1つを使ってプレイヤーのボムを表示しています。
BGなので8ドット単位でしか絵が移動しませんが、思ったより悪くは無い感じでした。
残りの1レイヤーはまだ先の話になりますがボス敵で使う予定です。
454名前は開発中のものです。
2016/06/07(火) 07:46:00.39ID:cz0bGoDJ >>453
乙です。
乙です。
455名前は開発中のものです。
2016/06/15(水) 21:52:17.36ID:niJUc+BD >>449のサイトから色々有用な情報を得られたけど、全体的にだいぶ捻くれた書き方してんな
なんかWeb上のファミコン関係の技術者って心に闇抱えてる人が多いような気がするわ
Offgaoとか、某FPGA実装の人とか、安藤信明とか
なんかWeb上のファミコン関係の技術者って心に闇抱えてる人が多いような気がするわ
Offgaoとか、某FPGA実装の人とか、安藤信明とか
456名前は開発中のものです。
2016/09/30(金) 17:04:18.56ID:sHpgZ9Jm 任天堂はまだまだ著作権を放棄するつもりはないみたいだね
457名前は開発中のものです。
2017/02/14(火) 23:56:52.65ID:9F1NVeB5 ファミコンの性能を限界まで引き出したソフトって何?
http://krsw.2ch.net/test/read.cgi/ghard/1486542983/
http://krsw.2ch.net/test/read.cgi/ghard/1486542983/
458名前は開発中のものです。
2017/05/26(金) 02:12:56.07ID:F/EhocIs ここも書き込み減ったねぇ
アセンブリ言語自体下火だから仕方がないけど
アセンブリ言語自体下火だから仕方がないけど
459名前は開発中のものです。
2017/10/07(土) 10:32:59.80ID:7Zx+Wawj >>453
今、ファミコンエミュの中で最も実機に近い一つと言われているMesenでもテストしてくれ
今、ファミコンエミュの中で最も実機に近い一つと言われているMesenでもテストしてくれ
460名前は開発中のものです。
2017/12/22(金) 13:32:46.78ID:KOEYeqlJ MMC5PCM誰か持っていないですか?
461名前は開発中のものです。
2017/12/22(金) 13:48:43.43ID:KOEYeqlJ 「新4人打ちマージャン 役満天国」はMMC5 PCMを使っているという情報がある
462名前は開発中のものです。
2017/12/24(日) 01:27:33.19ID:a9Y1KqFd ファミコンディスクシステム掲示板 FDS BOARD ディスクシステムを偲ぶ
http://park19.wakwak.com/~fantasy/cgi-bin/fdsboard/read.cgi?mode=all&list=tree&no=20
ディスクBASIC: まさやんのゲームいぢり
http://gameidiri.cocolog-nifty.com/blog/2007/02/basic_f283.html
Converting Super Mario Bros. to FME-7/Sunsoft 5B?
http://forums.nesdev.com/viewtopic.php?f=10&t=11000&start=15
Talk:Sunsoft FME-7
http://wiki.nesdev.com/w/index.php/Talk:Sunsoft_FME-7
http://park19.wakwak.com/~fantasy/cgi-bin/fdsboard/read.cgi?mode=all&list=tree&no=20
ディスクBASIC: まさやんのゲームいぢり
http://gameidiri.cocolog-nifty.com/blog/2007/02/basic_f283.html
Converting Super Mario Bros. to FME-7/Sunsoft 5B?
http://forums.nesdev.com/viewtopic.php?f=10&t=11000&start=15
Talk:Sunsoft FME-7
http://wiki.nesdev.com/w/index.php/Talk:Sunsoft_FME-7
463名前は開発中のものです。
2017/12/24(日) 12:43:40.15ID:a9Y1KqFd ディスクシステムでDPCMって鳴らせるか調べてみたら、
$C000〜$DFF9にDCPMを配置して鳴らすことはできそうだな
$C000〜$DFF9にDCPMを配置して鳴らすことはできそうだな
464名前は開発中のものです。
2017/12/25(月) 03:45:41.46ID:W4zhaDYT ここのHello Worldプログラム
http://hp.vector.co.jp/authors/VA042397/nes/sample.html
を単純にFDSに移植してみたけど、(バイナリ的には4バイトのパッチ)
でディスクシステムで動いたけどなぜか黒画面になる部分が$マーク
ばかりになってしまった。
https://i.imgur.com/LeKMwOO.jpg
http://hp.vector.co.jp/authors/VA042397/nes/sample.html
を単純にFDSに移植してみたけど、(バイナリ的には4バイトのパッチ)
でディスクシステムで動いたけどなぜか黒画面になる部分が$マーク
ばかりになってしまった。
https://i.imgur.com/LeKMwOO.jpg
465名前は開発中のものです。
2017/12/25(月) 05:28:22.37ID:W4zhaDYT ディスクシステム(任天堂)のBIOSとシャープ ツインファミコンのBIOSって若干違うんだな。
Nintendoって表示されるかFamicomって表示されるかの違いだけど。
ディスクシステム(任天堂)のBIOSは40KBのNESイメージのものもあるけど、
シャープ ツインファミコン版を作ろうと思ったら、ディスクシステム(任天堂)の
ROMをシャープ ツインファミコンのものに置き換えてから吸出し機で吸わないと駄目かな?
Nintendoって表示されるかFamicomって表示されるかの違いだけど。
ディスクシステム(任天堂)のBIOSは40KBのNESイメージのものもあるけど、
シャープ ツインファミコン版を作ろうと思ったら、ディスクシステム(任天堂)の
ROMをシャープ ツインファミコンのものに置き換えてから吸出し機で吸わないと駄目かな?
466名前は開発中のものです。
2017/12/25(月) 05:43:44.93ID:W4zhaDYT >>465
そこまでしなくてもDISKSYS.ROMから構成することはできます。
で無いなら作ってしまえということで、
Sharp Twin Famicom BIOS (J).nesをSharp Twin Famicom BIOS (J).nesに
するIPSファイル作ってみました。
https://www.axfc.net/u/3874041.zip
そこまでしなくてもDISKSYS.ROMから構成することはできます。
で無いなら作ってしまえということで、
Sharp Twin Famicom BIOS (J).nesをSharp Twin Famicom BIOS (J).nesに
するIPSファイル作ってみました。
https://www.axfc.net/u/3874041.zip
467名前は開発中のものです。
2017/12/25(月) 05:47:07.09ID:W4zhaDYT468名前は開発中のものです。
2017/12/25(月) 13:14:50.62ID:C6VeyONB469名前は開発中のものです。
2017/12/25(月) 23:16:46.03ID:W4zhaDYT バッ活パート11掲載「ROMゲームをディスクシステムで実行」ってのがあるようだ、
RAMアダプタを改造すれば、ROMのゲームをディスクに入れて遊べるようだな。
これはNROM(マッパー0)かCNROM(マッパー3)のゲームが対応しているようだ。
海賊晩でFDSのゲームをROMに入れたものがあるけど。これは$6000から
プログラムを配置できるマッパーを使用しちえる。どちらも基本的にアドレスを変換せずに
起動できる点がポイントだろう。普通にNES→FDSやFDS→NESをやろうと
思うと大抵アドレス変換が必要で大幅なプログラム変更の為気の遠くなるような
作業が必要だ。
RAMアダプタを改造すれば、ROMのゲームをディスクに入れて遊べるようだな。
これはNROM(マッパー0)かCNROM(マッパー3)のゲームが対応しているようだ。
海賊晩でFDSのゲームをROMに入れたものがあるけど。これは$6000から
プログラムを配置できるマッパーを使用しちえる。どちらも基本的にアドレスを変換せずに
起動できる点がポイントだろう。普通にNES→FDSやFDS→NESをやろうと
思うと大抵アドレス変換が必要で大幅なプログラム変更の為気の遠くなるような
作業が必要だ。
470名前は開発中のものです。
2017/12/27(水) 01:41:54.27ID:QYUKoYbX 255 :名無しさん@お腹いっぱい。:2013/12/29(日) 07:21:45.79 ID:qrYjRNG4
3. FDSラブ
2013年09月16日 22:35
いや、待てよ?
「その後、ハードやアダプターなど、とっかえひっかえしてみたが、まったく改善されず。」
ハード、つまりファミコン本体は変えてみた(≒ファミコン本体のSRAMを交換した)けど改善されず、アダプター、つまりRAMアダプターも変えてみたけどそれもだめ、ACアダプターも"とっかえひっかえ"しただろうけど、無駄だった…。
うーん、ここは一発、昔の記事で紹介された東京都板橋区の「ファミコンショップクラブハウス」に行ってみたらいかがでしょうか。
ttp://ogclub.u.cnet-ta.ne.jp/
せっかくなのでついでにちょっと、僕の熱い想いを語らせていただきます。
かつてオロチさんが「2012年いまだにファミコンを修理してくれるゲームショップが存在した!」で紹介してからというもの、このお店に月イチで行って、ゲームを買いつつ、優しく面白い店長とよく話をします。
オロチさんが紹介していなければ、僕はもしかしたらここを知らないまま、彼と一生会うこともなく、孤独…というのは大げさかもしれませんが、それでも寂しい人生だったかもしれません。
僕ね、まだ酒は飲めません。
一部ではゆとりだガキだ何だと叩かれます。
けど僕は小学生の時からファミコンが物凄い好きで、小中学校では一時期いじめにも遭って、孤独感に押し潰されて自殺も考えました。
けどやっぱりね、類は友を呼ぶと言うじゃないですか。
オロチさんのこのサイトを見るようになってからというもの、店長や"マサさん"とかいろんな人に出会い、人生は豊かになりました。
マサさん、僕はここにいますよ。
オロチさん、今までずっと休まず記事を書き続け、あの時あの店を紹介してくれて、本当にありがとうございます。
これからも更新がんばってください!
3. FDSラブ
2013年09月16日 22:35
いや、待てよ?
「その後、ハードやアダプターなど、とっかえひっかえしてみたが、まったく改善されず。」
ハード、つまりファミコン本体は変えてみた(≒ファミコン本体のSRAMを交換した)けど改善されず、アダプター、つまりRAMアダプターも変えてみたけどそれもだめ、ACアダプターも"とっかえひっかえ"しただろうけど、無駄だった…。
うーん、ここは一発、昔の記事で紹介された東京都板橋区の「ファミコンショップクラブハウス」に行ってみたらいかがでしょうか。
ttp://ogclub.u.cnet-ta.ne.jp/
せっかくなのでついでにちょっと、僕の熱い想いを語らせていただきます。
かつてオロチさんが「2012年いまだにファミコンを修理してくれるゲームショップが存在した!」で紹介してからというもの、このお店に月イチで行って、ゲームを買いつつ、優しく面白い店長とよく話をします。
オロチさんが紹介していなければ、僕はもしかしたらここを知らないまま、彼と一生会うこともなく、孤独…というのは大げさかもしれませんが、それでも寂しい人生だったかもしれません。
僕ね、まだ酒は飲めません。
一部ではゆとりだガキだ何だと叩かれます。
けど僕は小学生の時からファミコンが物凄い好きで、小中学校では一時期いじめにも遭って、孤独感に押し潰されて自殺も考えました。
けどやっぱりね、類は友を呼ぶと言うじゃないですか。
オロチさんのこのサイトを見るようになってからというもの、店長や"マサさん"とかいろんな人に出会い、人生は豊かになりました。
マサさん、僕はここにいますよ。
オロチさん、今までずっと休まず記事を書き続け、あの時あの店を紹介してくれて、本当にありがとうございます。
これからも更新がんばってください!
471名前は開発中のものです。
2017/12/27(水) 02:34:19.62ID:QYUKoYbX 256 :名無しさん@お腹いっぱい。:2013/12/29(日) 19:02:14.68 ID:SqfJyfl2
どうも、ファミコンディスクシステムを愛するFDSラブです。
最初は千歳烏山オルパでの友達に合わせて、面白いファミコンネタを交えつつオルパの素晴らしさを発信していきたかった。
僕はそう考えて、俗に言うリア充さんという人みたいなノリでTwitterを始めたわけなのですが、昨日は大変でした。
どうも、ファミコンディスクシステムを愛するFDSラブです。
最初は千歳烏山オルパでの友達に合わせて、面白いファミコンネタを交えつつオルパの素晴らしさを発信していきたかった。
僕はそう考えて、俗に言うリア充さんという人みたいなノリでTwitterを始めたわけなのですが、昨日は大変でした。
472名前は開発中のものです。
2017/12/27(水) 02:36:16.68ID:QYUKoYbX 僕のツール「FDS2MMC3」
473名前は開発中のものです。
2017/12/27(水) 02:40:33.32ID:QYUKoYbX474名前は開発中のものです。
2017/12/27(水) 02:43:50.45ID:QYUKoYbX FDSラブ@世田谷最強ファミコンコレクタ (@FDS_Conversion)'
475名前は開発中のものです。
2017/12/31(日) 18:24:45.05ID:/rN76OKL 簡単にお金が稼げる方法興味ある人だけ見てください。
グーグル検索⇒『来島のモノノリウエ』
9WHJ0HLWTF
グーグル検索⇒『来島のモノノリウエ』
9WHJ0HLWTF
476名前は開発中のものです。
2018/01/02(火) 22:10:24.29ID:slJhAaJH ほす
477名前は開発中のものです。
2018/01/16(火) 06:49:08.11ID:J/0RzKgi http://egg.5ch.net/test/read.cgi/software/1488728381/191
191 名前:名無しさん@お腹いっぱい。[] 投稿日:2017/05/28(日) 23:24:05.12 ID:8S5QOMSD0
>>190
Mesen (100%) ≧ Bizhawk (100%) > puNES (98.08%) > MyNes (87.82%) > Nintendulator (85.26%) > VirtuaNES (35.26%) > nesterJ (29.49%)
http://tasvideos.org/EmulatorResources/NESAccuracyTests.html
http://emulation.gametechwiki.com/index.php/Mesen
https://www.mesen.ca/#Compatibility
191 名前:名無しさん@お腹いっぱい。[] 投稿日:2017/05/28(日) 23:24:05.12 ID:8S5QOMSD0
>>190
Mesen (100%) ≧ Bizhawk (100%) > puNES (98.08%) > MyNes (87.82%) > Nintendulator (85.26%) > VirtuaNES (35.26%) > nesterJ (29.49%)
http://tasvideos.org/EmulatorResources/NESAccuracyTests.html
http://emulation.gametechwiki.com/index.php/Mesen
https://www.mesen.ca/#Compatibility
478名前は開発中のものです。
2018/01/19(金) 00:29:11.92ID:VhnRMljT ファミコンはBGとスプライトの優先順位の指定をスプライト側で設定しますが
これだとスプライトの下に表示したいBGキャラと
スプライトの上に表示したいBGキャラが隣接している場合で
スプライトがその両方にまたがっている場合に
スプライトの上に表示したいキャラに差し掛かった時点でスプライトの
優先表示を変えてしまうと、スプライトの下に表示したいBGキャラの部分でも
BGキャラが上に表示されてしまうと思いますが、どういう処理をすればいいですか?
色々とVDPの仕様を調べると、セガマークIIIなどは、優先順位のフラグをBG側が
持っているので、何も考えなくても思った通りの優先順位で表示されそうですが
ファミコンのようにスプライト側で優先順位を持っていると、優先順位が逆のBGに
スプライトがまたがっている場合、どうしたらいいか分かりません。
これだとスプライトの下に表示したいBGキャラと
スプライトの上に表示したいBGキャラが隣接している場合で
スプライトがその両方にまたがっている場合に
スプライトの上に表示したいキャラに差し掛かった時点でスプライトの
優先表示を変えてしまうと、スプライトの下に表示したいBGキャラの部分でも
BGキャラが上に表示されてしまうと思いますが、どういう処理をすればいいですか?
色々とVDPの仕様を調べると、セガマークIIIなどは、優先順位のフラグをBG側が
持っているので、何も考えなくても思った通りの優先順位で表示されそうですが
ファミコンのようにスプライト側で優先順位を持っていると、優先順位が逆のBGに
スプライトがまたがっている場合、どうしたらいいか分かりません。
479名前は開発中のものです。
2018/01/19(金) 03:13:04.92ID:KfOVG5Sv パターン1
表示したいスプライトより優先度が高いスプライトをBGの裏においてマスクする
例)スーパーマリオの土管に入るときなど
パターン2
BGの後ろにしたいところに優先度の高いスプライトを8枚置き、8枚を越える
スプライトが出せない事を利用して目的のスプライトを消す
例)ゼルダのダンジョンなど
パターン3
表示したいスプライトのキャラそのものをBGデータに重なっているところだけ透過
したキャラに書き換える
例)ソルスティス/ナイトロアーなど
好きなの選んで
表示したいスプライトより優先度が高いスプライトをBGの裏においてマスクする
例)スーパーマリオの土管に入るときなど
パターン2
BGの後ろにしたいところに優先度の高いスプライトを8枚置き、8枚を越える
スプライトが出せない事を利用して目的のスプライトを消す
例)ゼルダのダンジョンなど
パターン3
表示したいスプライトのキャラそのものをBGデータに重なっているところだけ透過
したキャラに書き換える
例)ソルスティス/ナイトロアーなど
好きなの選んで
480名前は開発中のものです。
2018/01/19(金) 13:00:25.60ID:VhnRMljT >>479
ありがとうございます。そういった感じの解決法なんですね。
でも、なんだかスプライト側が優先順位のフラグを持っているのは
面倒な気もするのですが、スーファミでも変わらず同じ仕様のようですし
何かメリットがあるのですか?
BG側が優先順位のフラグを持っていれば、BGキャラを表示する時点で
フラグを設定する以外の事はしなくても済みますので、この方が便利で
合理的に感じます。
ところがスプライト側がフラグを持っている場合、スプライトキャラが移動するたびに
BGキャラとの重なりチェックをしなければならず、そのBGキャラがスプライトの上に
表示されるべきBGキャラならばフラグを設定し、そうでなければまたフラグを戻すといった
処理がキャラを移動するたびに発生します。しかも、上記のように
優先順位が逆のBGキャラをまたいでいる場合は、様々な工夫が必要です。
それにもかかわらず、スーファミでもこの仕様を継承したということは
この方法にもメリットがあるはずですが、さっぱり思いつきません。
ありがとうございます。そういった感じの解決法なんですね。
でも、なんだかスプライト側が優先順位のフラグを持っているのは
面倒な気もするのですが、スーファミでも変わらず同じ仕様のようですし
何かメリットがあるのですか?
BG側が優先順位のフラグを持っていれば、BGキャラを表示する時点で
フラグを設定する以外の事はしなくても済みますので、この方が便利で
合理的に感じます。
ところがスプライト側がフラグを持っている場合、スプライトキャラが移動するたびに
BGキャラとの重なりチェックをしなければならず、そのBGキャラがスプライトの上に
表示されるべきBGキャラならばフラグを設定し、そうでなければまたフラグを戻すといった
処理がキャラを移動するたびに発生します。しかも、上記のように
優先順位が逆のBGキャラをまたいでいる場合は、様々な工夫が必要です。
それにもかかわらず、スーファミでもこの仕様を継承したということは
この方法にもメリットがあるはずですが、さっぱり思いつきません。
481名前は開発中のものです。
2018/01/19(金) 16:13:46.37ID:k1Q0LT6K BGにフラグをもたせるメモリの空きなどないしハードウェアも複雑になる
描写位置に合わせて処理が必要になるスプライト側に機能を集約させることで単純化し
工業製品として価格が抑えられるなら十分なメリットになるだろ
スーファミは当初ファミコンのソフトがそのまま動かせるように
互換性を考慮した設計だったが途中で諦めたからその名残
描写位置に合わせて処理が必要になるスプライト側に機能を集約させることで単純化し
工業製品として価格が抑えられるなら十分なメリットになるだろ
スーファミは当初ファミコンのソフトがそのまま動かせるように
互換性を考慮した設計だったが途中で諦めたからその名残
482名前は開発中のものです。
2018/01/19(金) 22:43:04.95ID:KfOVG5Sv483名前は開発中のものです。
2018/01/19(金) 23:52:01.21ID:VhnRMljT484名前は開発中のものです。
2018/01/20(土) 04:11:54.78ID:B+xNcX3y485名前は開発中のものです。
2018/01/20(土) 13:13:58.39ID:z5GTrIKv ようやく>>478氏の内容が理解できた。
なんで優先度をそんなコロコロ変えるのか全く理解できなかったが、マリオの土管の事か。
ああいうのは、本来別の最前面スプライトやBG面を2毎持たせて前面のBG面?としてやるものだと思いますが。
BG=背景なんだから、それを基準(固定して)にするのが普通の考えだと思う。
なんで優先度をそんなコロコロ変えるのか全く理解できなかったが、マリオの土管の事か。
ああいうのは、本来別の最前面スプライトやBG面を2毎持たせて前面のBG面?としてやるものだと思いますが。
BG=背景なんだから、それを基準(固定して)にするのが普通の考えだと思う。
486名前は開発中のものです。
2018/01/20(土) 16:39:03.41ID:xRcWre4I487名前は開発中のものです。
2018/01/20(土) 16:50:55.67ID:xRcWre4I そう言えばイースの立体交差はどうだったろうと思って
調べてみたら、ファミコン版はそもそも立体交差が省略されて
無くなっていたという。
RPGで森に入ると下半身が隠れるというのも同じような処理ですけど
ハイドライドではよく見てみると、森から出るときとか地面のBGがキャラの上になってしまってますね。
速いからよく分からないけど、ちゃんと処理してると思ったら思い出補正だったようで。
ファイナルファンタジーだとキャラがきれいに矩形に消えてるので
BGを上にしてるんじゃなくて、単にスプライト消してるだっけっぽいですね。
調べてみたら、ファミコン版はそもそも立体交差が省略されて
無くなっていたという。
RPGで森に入ると下半身が隠れるというのも同じような処理ですけど
ハイドライドではよく見てみると、森から出るときとか地面のBGがキャラの上になってしまってますね。
速いからよく分からないけど、ちゃんと処理してると思ったら思い出補正だったようで。
ファイナルファンタジーだとキャラがきれいに矩形に消えてるので
BGを上にしてるんじゃなくて、単にスプライト消してるだっけっぽいですね。
488名前は開発中のものです。
2018/01/20(土) 17:03:49.81ID:xRcWre4I 結局の所、1ドット単位で動くキャラに対して上に何かを
表示したい場合、1キャラ分動き終わった場合は別として
移動中はスプライトで上書きしかないのですね。
さっき動画で見たんですけど、カラテカでキャラが柱の向こう側を
通る時も、柱にスプライトのマスクが出現する処理でした。
だとすると、このBGがスプライトの上に表示できるという仕様は
移動するキャラに対して使用するような想定では作られていないということか。
根本的にそこの理解が足りなかった。
表示したい場合、1キャラ分動き終わった場合は別として
移動中はスプライトで上書きしかないのですね。
さっき動画で見たんですけど、カラテカでキャラが柱の向こう側を
通る時も、柱にスプライトのマスクが出現する処理でした。
だとすると、このBGがスプライトの上に表示できるという仕様は
移動するキャラに対して使用するような想定では作られていないということか。
根本的にそこの理解が足りなかった。
489名前は開発中のものです。
2018/01/20(土) 17:20:16.21ID:xRcWre4I あ、念のために書いておくと、立体交差の橋というのは
下が透ける部分(透明色)があって、そこからはスプライトキャラが見えます。
完全にキャラが見えなくなってしまうのであれば、それこそスプライトのマスクで
済むので。
下が透ける部分(透明色)があって、そこからはスプライトキャラが見えます。
完全にキャラが見えなくなってしまうのであれば、それこそスプライトのマスクで
済むので。
490名前は開発中のものです。
2018/01/20(土) 19:11:23.32ID:xRcWre4I491名前は開発中のものです。
2018/01/20(土) 19:15:39.26ID:1nTTD0qr BGパレットの0番が背景色だから
スプライトのプライオリティビットを立てると
この部分が透過扱いになるのよ
スプライトのプライオリティビットを立てると
この部分が透過扱いになるのよ
492名前は開発中のものです。
2018/01/20(土) 19:36:10.53ID:xRcWre4I493名前は開発中のものです。
2018/01/20(土) 19:52:33.42ID:xRcWre4I 説明が下手過ぎて何か勘違いさせてしまったかもしれません。
透過色の原理は理解してます。
まあ簡単に書くと、表示優先順位が逆のBGキャラをスプライトがまたいでいる時
つまり移動中は優先順位をどう指定しても表示がおかしくなるので
BGと同じスプライトを自キャラスプライトに上書きするしかなさそうだな
面倒だなこれ、BGがフラグ持ってくれてたらこの処理いらないのになぁ
なんでスプライト側がフラグ持ってるんだろ?これ何か利点あるの?ってのが
出発点でした。
透過色の原理は理解してます。
まあ簡単に書くと、表示優先順位が逆のBGキャラをスプライトがまたいでいる時
つまり移動中は優先順位をどう指定しても表示がおかしくなるので
BGと同じスプライトを自キャラスプライトに上書きするしかなさそうだな
面倒だなこれ、BGがフラグ持ってくれてたらこの処理いらないのになぁ
なんでスプライト側がフラグ持ってるんだろ?これ何か利点あるの?ってのが
出発点でした。
494名前は開発中のものです。
2018/02/17(土) 07:40:03.31ID:G/oBdhuK ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
495名前は開発中のものです。
2018/03/14(水) 20:42:38.17ID:FRWoB0DI 背景とスプライトのプライオリティってセガマーク3なら問題なくできるの?
http://coolrom.com/screenshots/mastersystem/Lord%20of%20the%20Sword%20(2).jpg
http://dreamandfriends.com/wp-content/uploads/2010/09/sms_ninja.png
http://coolrom.com/screenshots/mastersystem/Lord%20of%20the%20Sword%20(2).jpg
http://dreamandfriends.com/wp-content/uploads/2010/09/sms_ninja.png
496名前は開発中のものです。
2018/05/11(金) 20:43:57.64ID:DZaU1iTw497名前は開発中のものです。
2018/05/14(月) 19:07:58.17ID:Y/0tmHJq 453です。久しぶりに来ました。
>>459
Mesenの存在を知った時、東方老桜夢を試してみたのですが
プログラムに仕込んでいる実機判定でエミュと判断されたので
Nestopiaに負けてんじゃんで止まっています。
実機判定にパスすれば普通に動作するようです。
東方老桜夢の公開サイトはinfoweb閉鎖に伴いさくらサーバに移動しています。
現在、ver0.51を公開しています。
>>459
Mesenの存在を知った時、東方老桜夢を試してみたのですが
プログラムに仕込んでいる実機判定でエミュと判断されたので
Nestopiaに負けてんじゃんで止まっています。
実機判定にパスすれば普通に動作するようです。
東方老桜夢の公開サイトはinfoweb閉鎖に伴いさくらサーバに移動しています。
現在、ver0.51を公開しています。
498名前は開発中のものです。
2018/08/08(水) 22:21:13.26ID:zmi562yC 最近開発を始めようと思ってファミコンの勉強を始めたものです。優しい方がいたら是非教えて欲しいことがあります
CPUアドレス空間の$2006ってR/WしたいPPUのアドレス空間のアドレスを上位ビットと下位ビットの二回に分けて書き込むと思うのですが、この2バイトのアドレスの情報ってPPU内部のどこのレジスタに保存されているのでしょうか。
例えば同じように2回書き込む$2005では、スプライトのy座標とx座標はそれぞれPPUのOAMのbyte1とbyte2に保存されていると思うのですが、、
CPUアドレス空間の$2006ってR/WしたいPPUのアドレス空間のアドレスを上位ビットと下位ビットの二回に分けて書き込むと思うのですが、この2バイトのアドレスの情報ってPPU内部のどこのレジスタに保存されているのでしょうか。
例えば同じように2回書き込む$2005では、スプライトのy座標とx座標はそれぞれPPUのOAMのbyte1とbyte2に保存されていると思うのですが、、
499名前は開発中のものです。
2018/08/08(水) 22:52:05.26ID:zmi562yC すみません、多分自己解決しました
NesdevのPPU Scrollingのページにtレジスタとかvレジスタとか色々書いてあったのに気づきました
NesdevのPPU Scrollingのページにtレジスタとかvレジスタとか色々書いてあったのに気づきました
500名前は開発中のものです。
2018/08/09(木) 20:06:38.45ID:KCGkcXa3 tレジスタやvレジスタは、動作を説明するために書いてあって、実際にPPU内部に存在するかは
はっきりしていないと思います。ただ、この動きをするためには、このようなレジスタが必要だろうなと
推測されるので、説明にあるレジスタに該当する回路はあると思います。
あと、$2005 に書き込むにはBGのスクロール位置なので、OAMは関係しません。
はっきりしていないと思います。ただ、この動きをするためには、このようなレジスタが必要だろうなと
推測されるので、説明にあるレジスタに該当する回路はあると思います。
あと、$2005 に書き込むにはBGのスクロール位置なので、OAMは関係しません。
501名前は開発中のものです。
2018/08/09(木) 23:53:25.84ID:D70dxmCk 釣りにしては有能すぎる。
ファミコンの回路図見るのが一番。
もっと言えば
PPU内部の回路解析しちゃった外人もいるはず。
ファミコンの回路図見るのが一番。
もっと言えば
PPU内部の回路解析しちゃった外人もいるはず。
502名前は開発中のものです。
2018/08/12(日) 12:57:39.31ID:iZHULsCi 回路図見たけど2度書きレジスタについては全然見えてこないな。
tやvという概念さえ知ってれば無問題。
tやvという概念さえ知ってれば無問題。
503名前は開発中のものです。
2018/08/14(火) 09:45:11.49ID:bh2I2v4H PPU scrolling - Nesdev wiki
PPU rendering - Nesdev wiki
これはめちゃくちゃ重要
PPU rendering - Nesdev wiki
これはめちゃくちゃ重要
504名前は開発中のものです。
2018/12/04(火) 07:10:29.71ID:JwISlK2+505名前は開発中のものです。
2019/01/14(月) 23:42:22.63ID:HjP5c9A8506名前は開発中のものです。
2019/04/14(日) 09:34:58.22ID:2xIXdFwF https://egg.5ch.net/test/read.cgi/software/1548989134/108
レス転載
https://siliconpr0n.org/archive/doku.php?id=vendor:yamaha:opl2#ym2413_instruments
VRC7(YM2413)のデバッグモードを利用してプリセット音色のダンプができたとのこと
今までのパラメータは経験的近似だったのね…
レス転載
https://siliconpr0n.org/archive/doku.php?id=vendor:yamaha:opl2#ym2413_instruments
VRC7(YM2413)のデバッグモードを利用してプリセット音色のダンプができたとのこと
今までのパラメータは経験的近似だったのね…
507名前は開発中のものです。
2019/04/21(日) 15:14:08.08ID:d83f6FYN /i/|ii!//|!/!i/´i/ .|i |/ノ i\i!゙、:iヽ|:::| ヽ 'i ! ヾi |'!ヽ::::||::::::/:::::::::::::::::::::ヽ
i i 川i!ハ/" _! | │ 川 ヾ:ii ゙'∨ | ゙ヾiヽヽ;||:::::i':::::::::::::::::::::::::
ノ ノ/リ,,,,,,二三テ=''" ヽノ ル |ノノヽヾ ノ 、,,,ノ,、 iヽ:::||:::::i'::::::::::::::::::::::::::::
/  ̄ ´~~゙'''' ゙''‐- ..,, ,, ‐' `゙ヾミッ、,, ヽ::|::::/::::::::::::::::::::::::::::
,,イ| i' i" `'‐=' `'|/i!:::::i::::::::::::::::::::::::
i | :::::::ヽ::::ヽ::::::ヾ:: ゙、 l 〃::::: i//::::ハ::::::::::::::::::i:::
i i \\\\\ヽ ) ヽ ′′′ / /:::::/:::::::::::::::::::|::::
! | i ,,ィノ < :::: : /:::::/:::::::::::::::::::/::::
i! i i! /i/ ,r''''‐y'''.;、 \ /:::::/:::::/::::::::::::/:::::
゙i! | i /⌒' 、 Y:::::::::''::;;;;'.;.Y'⌒゙i /::::::/::::::/::::::::::::/::::/i
i i ゙! ん、,,__ヽノ:::::::::::::::::::;;;;;{,__,,,r'' /:::::::/::::::/::::::::::::/:::://
゙、ii! ゙| i ノ ゝ;;;:::::::::::::::::::;ノ 。 `i //:::::/:::::/::::::::::::/::::::/:::
ヾ!トl ゙iU i 。l '゛.. ‐ー:::::i | //::::::/::::::/::::::/:::/:::::i!::::::
iiミ! ハ i l ,,,,::: :::;;;;;...{ ° ゙、 //::::://::::/::::::/:::::/::::i::::ii::
i!ヾ!i ゙、! , ' |::: ::::ヽ ..} |゙ヽ......,.,.,.,,,///://::://::::/::::://::::i::::リ::
!ヽヾi i゙、 ___,,,/ }:: : ;;;::: ::::::::} レWノ'レi/、//::/:://:/:::/::/:::ハ:i |::
i i 川i!ハ/" _! | │ 川 ヾ:ii ゙'∨ | ゙ヾiヽヽ;||:::::i':::::::::::::::::::::::::
ノ ノ/リ,,,,,,二三テ=''" ヽノ ル |ノノヽヾ ノ 、,,,ノ,、 iヽ:::||:::::i'::::::::::::::::::::::::::::
/  ̄ ´~~゙'''' ゙''‐- ..,, ,, ‐' `゙ヾミッ、,, ヽ::|::::/::::::::::::::::::::::::::::
,,イ| i' i" `'‐=' `'|/i!:::::i::::::::::::::::::::::::
i | :::::::ヽ::::ヽ::::::ヾ:: ゙、 l 〃::::: i//::::ハ::::::::::::::::::i:::
i i \\\\\ヽ ) ヽ ′′′ / /:::::/:::::::::::::::::::|::::
! | i ,,ィノ < :::: : /:::::/:::::::::::::::::::/::::
i! i i! /i/ ,r''''‐y'''.;、 \ /:::::/:::::/::::::::::::/:::::
゙i! | i /⌒' 、 Y:::::::::''::;;;;'.;.Y'⌒゙i /::::::/::::::/::::::::::::/::::/i
i i ゙! ん、,,__ヽノ:::::::::::::::::::;;;;;{,__,,,r'' /:::::::/::::::/::::::::::::/:::://
゙、ii! ゙| i ノ ゝ;;;:::::::::::::::::::;ノ 。 `i //:::::/:::::/::::::::::::/::::::/:::
ヾ!トl ゙iU i 。l '゛.. ‐ー:::::i | //::::::/::::::/::::::/:::/:::::i!::::::
iiミ! ハ i l ,,,,::: :::;;;;;...{ ° ゙、 //::::://::::/::::::/:::::/::::i::::ii::
i!ヾ!i ゙、! , ' |::: ::::ヽ ..} |゙ヽ......,.,.,.,,,///://::://::::/::::://::::i::::リ::
!ヽヾi i゙、 ___,,,/ }:: : ;;;::: ::::::::} レWノ'レi/、//::/:://:/:::/::/:::ハ:i |::
508名前は開発中のものです。
2019/06/08(土) 22:37:36.20ID:VXBP8K4R ファミコンプログラム盛り上がってきてるよね〜
509名前は開発中のものです。
2019/06/09(日) 07:44:04.55ID:AOOhsRYQ >>508
どこで
どこで
510名前は開発中のものです。
2019/11/30(土) 12:39:15.72ID:KE4+YyOy なんか同人シューティングカセットが出たみたいだが、
末期のマシン語で作られたベーマガ投稿作品みたいだ
末期のマシン語で作られたベーマガ投稿作品みたいだ
511名前は開発中のものです。
2019/11/30(土) 22:10:01.18ID:TFMRzxLb キラキラスターナイトのプログラム使って作ってるらしいなそれ
おにぎり食べるやつとかアドベンチャー的な作品とか
ファミコン界隈が「自分で新作を作って売る」方向になってきてるな
おにぎり食べるやつとかアドベンチャー的な作品とか
ファミコン界隈が「自分で新作を作って売る」方向になってきてるな
512名前は開発中のものです。
2019/12/02(月) 19:53:22.83ID:BL/IQ1Ao 何年も前からですやんそれ
513名前は開発中のものです。
2020/01/04(土) 17:20:36.16ID:t0zHMxk6 メモ
BRKを使う理由
Making good use of BRK opcodes
//nesdev.com/NES%20hardware%20development%20guide.txt
BRKを使う理由
Making good use of BRK opcodes
//nesdev.com/NES%20hardware%20development%20guide.txt
514名前は開発中のものです。
2020/01/13(月) 18:05:15.88ID:ICt/1c7D ファミコンのとある忍者ゲームのソースコードが公開される「ソース見られるの恥ずかしい」
http://hayabusa9.2ch.net/test/read.cgi/news/1578888844/
http://hayabusa9.2ch.net/test/read.cgi/news/1578888844/
515名前は開発中のものです。
2020/06/11(木) 12:28:59.34ID:3ovfqjDd サルカニパニックとかいう開発中のパズルゲーム
超よさげな感じ〜
https://twitter.com/work3studio/status/1232275635562672128
https://twitter.com/5chan_nel (5ch newer account)
超よさげな感じ〜
https://twitter.com/work3studio/status/1232275635562672128
https://twitter.com/5chan_nel (5ch newer account)
516名前は開発中のものです。
2020/06/13(土) 17:42:06.49ID:+KCJ5GSM すげーな
スーファミかと思った
スーファミかと思った
517名前は開発中のものです。
2020/06/17(水) 23:06:58.98ID:mf6rc7jM >>515
なんだこりゃ色多すぎ嘘くせー
と疑ってしばらく観察してたけど
特に色数の制約超えてなさそうだね
当初は絵のパターンが足りなくならないように減らすために
ブロックまで含めた1枚絵を描いているのかと思ったけど違うかな
パターンの繰り返しが単調にならないように上手な絵を描いているね
スーファミのように今にも背景が多重スクロールしそうな色
なんだこりゃ色多すぎ嘘くせー
と疑ってしばらく観察してたけど
特に色数の制約超えてなさそうだね
当初は絵のパターンが足りなくならないように減らすために
ブロックまで含めた1枚絵を描いているのかと思ったけど違うかな
パターンの繰り返しが単調にならないように上手な絵を描いているね
スーファミのように今にも背景が多重スクロールしそうな色
518名前は開発中のものです。
2020/06/21(日) 17:07:14.08ID:sK+WKvn0 >>515
回転時のアニメーションがカクカクすぎる。斜め45度のパターンも必要かと
回転時のアニメーションがカクカクすぎる。斜め45度のパターンも必要かと
519名前は開発中のものです。
2020/06/21(日) 18:17:10.21ID:PlLzwQn6 ゲームラボのSM調教師瞳の記事に興味深い記述があった
音源チップをデュアルCPUのように使って音楽を流しながらグラフィックを解凍させたんだと
そんなことできるの?
音源チップをデュアルCPUのように使って音楽を流しながらグラフィックを解凍させたんだと
そんなことできるの?
520名前は開発中のものです。
2020/09/22(火) 01:46:47.41ID:wZ3fIRJG aitendo に40ピンのカードエッジコネクタの基板が売ってるのに60ピンのが無かったから60ピンの発売希望お願いしてみたらあっさり快諾してくれた。
来月頭くらいには入荷しそうだって。
ファミカセの制作に使えるか注目しててね。
来月頭くらいには入荷しそうだって。
ファミカセの制作に使えるか注目しててね。
521名前は開発中のものです。
2020/10/04(日) 22:28:40.56ID:yRmpXbbC RP2A03 の命令セット確認しなおしてみたんだけど、
オリジナルならゼロページでクロック数短縮できるところをわざわざ潰して NOP とかにしてる?
なんで?
オリジナルならゼロページでクロック数短縮できるところをわざわざ潰して NOP とかにしてる?
なんで?
522名前は開発中のものです。
2020/11/07(土) 20:28:14.91ID:FBpenbI0 >>521
潰した命令って具体的に何の命令?
潰した命令って具体的に何の命令?
523名前は開発中のものです。
2020/12/20(日) 12:16:58.07ID:AWHSkSuQ つこ
524名前は開発中のものです。
2021/05/02(日) 23:37:26.99ID:l8xXKgbw ファミコンのグラディウス、やっとMSX1に追い付く
http://leia.5ch.net/test/read.cgi/poverty/1619857237/
http://leia.5ch.net/test/read.cgi/poverty/1619857237/
525名前は開発中のものです。
2021/06/12(土) 15:34:08.80ID:qCHr7uRi 「創世記・ファーミー」でファミコンのプログラムを製作できます
と宣伝にあったけど、実際に作った人がいたのかと。
と宣伝にあったけど、実際に作った人がいたのかと。
526名前は開発中のものです。
2021/06/12(土) 17:25:44.93ID:akTl1DCi >>525
持ってるけど使い方がわからん
持ってるけど使い方がわからん
527名前は開発中のものです。
2021/06/12(土) 18:58:48.83ID:qCHr7uRi レスどうもです。バックアップはできたと思うけど他スレからの抜粋です。
PC98等に接続して独自にソフト開発ができるようにする予定もあったんだけど
実現せずにフェードアウトしたとか。とは言え開発した方がいるのかと質問しました。
因みに最近ディスクシステムの内容をWindows間で8秒(←QDの仕様)で転送する
ハード・ソフトを製作しましたがFM-7も使います。回路図と6809コードは公開予定です。
Windows側に持って来れば「cc65」が使えるので現在下調べしてます。ただFM-7の他に
部品代は6000円程かかります。とは言え「創世記・ファミー」よりは安いです。
喜んで「FM-7」をオクで入手したけど騙しだったと言うことにはならないようにします。
尚、「FM-77」の方が拡張コネクタ数の関係で良いです。「77AV」ではNGかも知れません。
PC98等に接続して独自にソフト開発ができるようにする予定もあったんだけど
実現せずにフェードアウトしたとか。とは言え開発した方がいるのかと質問しました。
因みに最近ディスクシステムの内容をWindows間で8秒(←QDの仕様)で転送する
ハード・ソフトを製作しましたがFM-7も使います。回路図と6809コードは公開予定です。
Windows側に持って来れば「cc65」が使えるので現在下調べしてます。ただFM-7の他に
部品代は6000円程かかります。とは言え「創世記・ファミー」よりは安いです。
喜んで「FM-7」をオクで入手したけど騙しだったと言うことにはならないようにします。
尚、「FM-77」の方が拡張コネクタ数の関係で良いです。「77AV」ではNGかも知れません。
528名前は開発中のものです。
2021/06/12(土) 19:01:20.45ID:qCHr7uRi ×)「創世記・ファミー」
○)「創世機・ファミー」
○)「創世機・ファミー」
529名前は開発中のものです。
2021/06/12(土) 21:30:42.83ID:akTl1DCi ROMカートリッジをディスクシステムにバックアップしたのは覚えてる
ファミー本体の後部にRS-232Cっぽいコネクタはあったけど、ファミコン+ファミーだけではBOOTできないっぽいから、
パソコンと繋いで開発するにはディスクシステム側に起動ディスクが必要な気がするよ
ファミー本体の後部にRS-232Cっぽいコネクタはあったけど、ファミコン+ファミーだけではBOOTできないっぽいから、
パソコンと繋いで開発するにはディスクシステム側に起動ディスクが必要な気がするよ
530名前は開発中のものです。
2021/06/12(土) 23:00:11.74ID:qCHr7uRi 「創世機・ファミー」を使う際にディスクシステム側に起動ディスクが必要が否かは判りません。
下の画像では「創世機・ファミー」側に何か「CPU」があれば起動ディスクは必要しない感じです。
ttps://bakutendo.net/blog-entry-415.html
因みに「ディスクシステム解析ツール」と仮にしましたが(1番目の画像は、これでバックアップ)
ttps://imgur.com/a/qCPoTqz
3番目の画像の「RAMアダプター接続基板」はFM-7の6809を使い「QD」を操作します。
また4番目の画像の「新基板202106」はFM-7を使い、Windows間でデータ転送します。
6502のコードは全く使わなくても「QD」は操作できます。実際にMZ-1500はZ80です。
下の画像では「創世機・ファミー」側に何か「CPU」があれば起動ディスクは必要しない感じです。
ttps://bakutendo.net/blog-entry-415.html
因みに「ディスクシステム解析ツール」と仮にしましたが(1番目の画像は、これでバックアップ)
ttps://imgur.com/a/qCPoTqz
3番目の画像の「RAMアダプター接続基板」はFM-7の6809を使い「QD」を操作します。
また4番目の画像の「新基板202106」はFM-7を使い、Windows間でデータ転送します。
6502のコードは全く使わなくても「QD」は操作できます。実際にMZ-1500はZ80です。
531名前は開発中のものです。
2021/06/12(土) 23:46:26.20ID:qCHr7uRi532名前は開発中のものです。
2021/06/13(日) 09:36:40.95ID:8TZNHBpa 市販のNESゲームでスプライトダブラーするゲームってあったんですね
https://forums.nesdev.com/viewtopic.php?f=9&t=23137
https://forums.nesdev.com/viewtopic.php?f=9&t=23137
533名前は開発中のものです。
2021/06/13(日) 09:40:04.40ID:8TZNHBpa534名前は開発中のものです。
2021/07/03(土) 01:03:34.45ID:nQGwm9V9 quartz.nesという音色エディタをお持ちの方いませんか?
うpしてくださったら御礼します(3行)
うpしてくださったら御礼します(3行)
535名前は開発中のものです。
2021/07/03(土) 15:40:17.46ID:LiL8bHG9 2行で応えます。もしかして「行」は「桁(けた)」の間違いではと。
それにしても999円では安過ぎ、持ってないけど。更に著作権侵害ではと。
それにしても999円では安過ぎ、持ってないけど。更に著作権侵害ではと。
536名前は開発中のものです。
2021/11/30(火) 23:18:51.36ID:8EsryYEI 新作ファミコン版『パックマンCE』、Switch『ナムコットコレクション』10本収集特典に
https://japanese.engadget.com/namcot-103008491.html?guccounter=1&guce_referrer=aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8&guce_referrer_sig=AQAAADf2ioFYZStJiDe7plAVCKT8tq2ySE4YuM8j5HYtKMjuZuBNZHF-0TXdnYm5zdMm68EpGG29r4BbTmw2IUdNbcGd2neW6JcGzGCZmSDs_sVYENGKH29ECX2CPWZoRdMIxlmJ95ojdyR6EcJe0nuvaEdmjlrji3YfdDZn1lDC8KWZ
6月18日発売のニンテンドースイッチ『ナムコット コレクション』には、10本のゲームを揃えた収集特典として、ファミコン版『PAC-MAN Championship Edition』(パックマンCE)が用意されていることが分かりました。
『パックマンCE』は2007年にXbox 360で発売されたのち、現在も多機種でシリーズが続く新生パックマン。
収集特典の新作パックマンCEは、ナムコットブランドによるナムコのファミコンゲームが
『ファミスタ’94』で終了してから10数年後のゲームを、さらに13年経った2020年に、
ファミコンで動く新作として先祖返り移植した作品です。通し番号は『ファミスタ’94』の「83」
に続く「84」。
パックマンCE ファミコン版ってどっかで誰かが作ってたの見たことあるけど、
それにそっくりだった。その動画は現在非公開になったいるようだ。
パックマンCE
http://www.nicovideo.jp/watch/sm3844058
↑
これが公式採用されたのかな?
https://japanese.engadget.com/namcot-103008491.html?guccounter=1&guce_referrer=aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8&guce_referrer_sig=AQAAADf2ioFYZStJiDe7plAVCKT8tq2ySE4YuM8j5HYtKMjuZuBNZHF-0TXdnYm5zdMm68EpGG29r4BbTmw2IUdNbcGd2neW6JcGzGCZmSDs_sVYENGKH29ECX2CPWZoRdMIxlmJ95ojdyR6EcJe0nuvaEdmjlrji3YfdDZn1lDC8KWZ
6月18日発売のニンテンドースイッチ『ナムコット コレクション』には、10本のゲームを揃えた収集特典として、ファミコン版『PAC-MAN Championship Edition』(パックマンCE)が用意されていることが分かりました。
『パックマンCE』は2007年にXbox 360で発売されたのち、現在も多機種でシリーズが続く新生パックマン。
収集特典の新作パックマンCEは、ナムコットブランドによるナムコのファミコンゲームが
『ファミスタ’94』で終了してから10数年後のゲームを、さらに13年経った2020年に、
ファミコンで動く新作として先祖返り移植した作品です。通し番号は『ファミスタ’94』の「83」
に続く「84」。
パックマンCE ファミコン版ってどっかで誰かが作ってたの見たことあるけど、
それにそっくりだった。その動画は現在非公開になったいるようだ。
パックマンCE
http://www.nicovideo.jp/watch/sm3844058
↑
これが公式採用されたのかな?
537名前は開発中のものです。
2021/12/15(水) 22:26:41.89ID:rXCCGY2z538名前は開発中のものです。
2021/12/23(木) 23:31:34.53ID:B6eQICGp 「ゲームで金儲けする時代止められない」CCPゲームズ代表インタビュー
「CCPゲームズ」のヒルマ・ベーガー代表は14日、オンラインインタビューで最近、
話題に浮上した「プレイトゥオン(Play to Earn 遊んで儲けるゲーム)」について
「世界のゲーム業界には、すでにゲームアイテムを取り引きする2次市場が存在する」とし
「儲かるゲームは以前にもあったし、これからも止められない流れになる」と診断した。
CCPゲームズは、世界的な人気ゲーム「イブオンライン(Eve Online)」を開発・運営する。
イブオンラインは、世界で4000万人以上が楽しんでいる。
CCPゲームズは最近、NFT(代替不可能トークン)コンテンツを披露し、注目を集めている。
「アライアンス・トーナメント」というゲーム内の大会商品でNFTコンテンツを配った。
「CCPゲームズ」のヒルマ・ベーガー代表は14日、オンラインインタビューで最近、
話題に浮上した「プレイトゥオン(Play to Earn 遊んで儲けるゲーム)」について
「世界のゲーム業界には、すでにゲームアイテムを取り引きする2次市場が存在する」とし
「儲かるゲームは以前にもあったし、これからも止められない流れになる」と診断した。
CCPゲームズは、世界的な人気ゲーム「イブオンライン(Eve Online)」を開発・運営する。
イブオンラインは、世界で4000万人以上が楽しんでいる。
CCPゲームズは最近、NFT(代替不可能トークン)コンテンツを披露し、注目を集めている。
「アライアンス・トーナメント」というゲーム内の大会商品でNFTコンテンツを配った。
539名前は開発中のものです。
2022/03/15(火) 21:29:28.09ID:+prqqqiR ハード側のイメージができないので質問させてください。
mapper 206のCHRバンク切り替えは400byte毎に小分けで切り替えられますが、
市販ゲームのプログラムを覗くと、例えばAのシーンでは$0000-$1FFFまで毎フレーム同じバンクを指定し続けています。
ゲームとして必要なタイミングでのみバンクを切り替えればいいのに毎フレーム同じバンクを指定して負荷ってかからないのでしょうか?
エミュとかでPPUのメモリを覗くとCHA-ROMのデータが$0000-$1FFFに展開されていますが、
これはCPUに命令されたタイミングで1byteずつコピーしているのでしょうか?
メモリに展開?されたなら、CHA-ROMを引っこ抜いてもバンク切り替えが起きない限りグラフィックはバグらなさそうなイメージがあります。
ここら辺が全くイメージできません。
拙い文章で申し訳ございませんがよろしくお願いします。
mapper 206のCHRバンク切り替えは400byte毎に小分けで切り替えられますが、
市販ゲームのプログラムを覗くと、例えばAのシーンでは$0000-$1FFFまで毎フレーム同じバンクを指定し続けています。
ゲームとして必要なタイミングでのみバンクを切り替えればいいのに毎フレーム同じバンクを指定して負荷ってかからないのでしょうか?
エミュとかでPPUのメモリを覗くとCHA-ROMのデータが$0000-$1FFFに展開されていますが、
これはCPUに命令されたタイミングで1byteずつコピーしているのでしょうか?
メモリに展開?されたなら、CHA-ROMを引っこ抜いてもバンク切り替えが起きない限りグラフィックはバグらなさそうなイメージがあります。
ここら辺が全くイメージできません。
拙い文章で申し訳ございませんがよろしくお願いします。
540539
2022/03/15(火) 21:51:26.58ID:+prqqqiR 物は試しとゲーム動作中にCHAROMを引っこ抜いたところグラフィックがバグりました。
エミュではPPUメモリ$0000-$1FFFにコピーされているように見えるけど、
実際のハードでは、メモリは無くPPUとCHAROMのアドレス線が接続されているだけなんでしょうか?
バンク切り替えというのもアドレス線の接続先をコントロールするICに信号を送っているだけなので
仮に毎フレーム同じバンク番号を指定し続けても負荷はかからないと…。
エミュではPPUメモリ$0000-$1FFFにコピーされているように見えるけど、
実際のハードでは、メモリは無くPPUとCHAROMのアドレス線が接続されているだけなんでしょうか?
バンク切り替えというのもアドレス線の接続先をコントロールするICに信号を送っているだけなので
仮に毎フレーム同じバンク番号を指定し続けても負荷はかからないと…。
541540
2022/03/15(火) 22:18:10.46ID:+prqqqiR 連投すみません。
ROM領域と言われるチートコードでは干渉不可な場所と
RAM領域と言われる干渉可な場所があることを思い出しました。
PPUの0000から1FFFはROM領域という訳で、多分それはアドレス線で接続されており。
常にCHA ROMと同期しているイメージな気がしました。
自己解決してしまったと思います。お騒がせしました。
ROM領域と言われるチートコードでは干渉不可な場所と
RAM領域と言われる干渉可な場所があることを思い出しました。
PPUの0000から1FFFはROM領域という訳で、多分それはアドレス線で接続されており。
常にCHA ROMと同期しているイメージな気がしました。
自己解決してしまったと思います。お騒がせしました。
542名前は開発中のものです。
2022/03/15(火) 22:31:36.87ID:AYr/3bBN543名前は開発中のものです。
2022/03/15(火) 23:00:02.57ID:+prqqqiR >>542
お騒がせします。あまり理解は出来て無いと思います。
エミュのメモリビューワでPPUメモリを覗くと、$0000-$1FFFまでずらっと展開されてるので
あたかもCHAROMのデータをPPUがコピーして記憶しているかのように錯覚してました。(エミュ上なので書き換えられるし)
実際のハードでは、PPUが記憶してるとかではなくアドレス線A0〜A12線($0000-$1FFF)がCHAROMに直結してるだけというイメージと理解しました。
悪魔城ドラキュラはPRGからグラフィックを「RAM」にデータをコピーしているというワードを見て気がつきました。
プロアクションリプレイを使ってメモリとかを書き換えて我流で学んで来たため知識がぐちゃぐちゃです。
ROMとRAMの意味から学び直してきます。
お騒がせします。あまり理解は出来て無いと思います。
エミュのメモリビューワでPPUメモリを覗くと、$0000-$1FFFまでずらっと展開されてるので
あたかもCHAROMのデータをPPUがコピーして記憶しているかのように錯覚してました。(エミュ上なので書き換えられるし)
実際のハードでは、PPUが記憶してるとかではなくアドレス線A0〜A12線($0000-$1FFF)がCHAROMに直結してるだけというイメージと理解しました。
悪魔城ドラキュラはPRGからグラフィックを「RAM」にデータをコピーしているというワードを見て気がつきました。
プロアクションリプレイを使ってメモリとかを書き換えて我流で学んで来たため知識がぐちゃぐちゃです。
ROMとRAMの意味から学び直してきます。
544名前は開発中のものです。
2022/03/16(水) 13:34:55.29ID:J5q3FABN CHRROMに直結で良いよ
(CHAではなくCHR)
ROMではなくRAMになってるのもあるけど
(CHAではなくCHR)
ROMではなくRAMになってるのもあるけど
545名前は開発中のものです。
2022/03/20(日) 20:58:52.24ID:i5c4FQLq546名前は開発中のものです。
2022/03/29(火) 22:57:50.51ID:SFxLAwoX >>543
こういう風に繋がっているけど、どのように動作するかイメージわく?
PPUのアドレス線 PA0 〜PA9 → CHR-ROMのアドレス線 A0〜A9 に接続
PPUのアドレス線 PA10〜PA12 → Mapperのチップに接続(バンクレジスタの選択)
PPUのアドレス線 PA13 → CHR-ROMのCEに接続(PPUアドレス $0000-$1fffの時にCHR-ROMの出力が有効になる)
Mapperのチップのバンクレジスタの出力 6bit → CHR-ROMのアドレス線 A10〜A15 に接続
PPUのデータ線 PD0〜PD7 → CHR-ROMのデータ線 D0〜D7 に接続
こういう風に繋がっているけど、どのように動作するかイメージわく?
PPUのアドレス線 PA0 〜PA9 → CHR-ROMのアドレス線 A0〜A9 に接続
PPUのアドレス線 PA10〜PA12 → Mapperのチップに接続(バンクレジスタの選択)
PPUのアドレス線 PA13 → CHR-ROMのCEに接続(PPUアドレス $0000-$1fffの時にCHR-ROMの出力が有効になる)
Mapperのチップのバンクレジスタの出力 6bit → CHR-ROMのアドレス線 A10〜A15 に接続
PPUのデータ線 PD0〜PD7 → CHR-ROMのデータ線 D0〜D7 に接続
547名前は開発中のものです。
2022/03/30(水) 09:45:09.02ID:8uCqZbnF >>546
別人だけど、難しすぎる
別人だけど、難しすぎる
548名前は開発中のものです。
2022/03/30(水) 17:00:46.31ID:k60dhdk1549540
2022/10/02(日) 11:40:37.85ID:jA1jUXrd >>546
今気づきました。ありがとうございます。
あの後、勉強&ファミコンの分かりやすい回路図を見つけて理解できました。
バンク切り替えは、PRG命令でCPUのデータバスとアドレスバスからhi/loが出る→ロジックICが受ける→ロジックICがEPROMのA15等をhiに固定し見たいデータに切り替える。
ファミコンは無いけどROMが複数個で構成されてるタイプであればOEをうまく切り替えて見たいデータに切り替える。
今気づきました。ありがとうございます。
あの後、勉強&ファミコンの分かりやすい回路図を見つけて理解できました。
バンク切り替えは、PRG命令でCPUのデータバスとアドレスバスからhi/loが出る→ロジックICが受ける→ロジックICがEPROMのA15等をhiに固定し見たいデータに切り替える。
ファミコンは無いけどROMが複数個で構成されてるタイプであればOEをうまく切り替えて見たいデータに切り替える。
550名前は開発中のものです。
2022/10/03(月) 00:36:52.02ID:rpanlh78 半年越えのレスで草
551名前は開発中のものです。
2022/12/16(金) 14:34:38.90ID:ehqDzjMY 書けるかな?
552名前は開発中のものです。
2023/02/07(火) 00:00:31.88ID:osuKUvL9 今年はファミコン発売40周年だぞ
7月は何かイベントしないとね
7月は何かイベントしないとね
553名前は開発中のものです。
2023/02/09(木) 23:54:06.26ID:dE2T0xrU PALTEST.NES( http://nesdev.com/paltest.zip)をディスクシステム用fdsに変換しました。
プログラムはc000から少しだけなのでそのままコピペして、nmi等アドレスをdffa~に入れるだけで動くはずです。
実際動かすと、数秒間正常動作するのですが、約5秒後フリーズしてしまいます。
どうしてフリーズしてしまうのか全く分かりません。
原因と対策方法が分かる方ご教示お願いします。
プログラムはc000から少しだけなのでそのままコピペして、nmi等アドレスをdffa~に入れるだけで動くはずです。
実際動かすと、数秒間正常動作するのですが、約5秒後フリーズしてしまいます。
どうしてフリーズしてしまうのか全く分かりません。
原因と対策方法が分かる方ご教示お願いします。
554名前は開発中のものです。
2023/02/17(金) 23:33:48.29ID:hIJVoStd >>553
いろいろ条件不明
その書き方だとダンプ部分をずらしただけ?じゃ全然無理だね
*.nes用のソースコードをそのままコピペで.orgずらして
*.nesファイル作ってくれる簡易アセンブラでアセンブルしたとしても
*.fdsじゃ到底動かないよ
*.fds形式内部のファイル群と開始アドレスなどとブートの仕組み理解しないとね
https://www.nesdev.org/wiki/Family_Computer_Disk_System
block01 *NINTEND○-HVC*等が記載されたディスク情報
block02 ファイル数
block03 ファイルヘッダ(ブートに必要なKY○DAKU-ネームテーブルファイル、CHR、PRG、PRGのセーブデータ)
block04 block03の直後のファイルの実データ
CC65(CA65アセンブラ)用のサンプルコード
Github repository: Simple FDS example for ca65
裏技か
Forum post: Skipping the FDS license screen
いろいろ条件不明
その書き方だとダンプ部分をずらしただけ?じゃ全然無理だね
*.nes用のソースコードをそのままコピペで.orgずらして
*.nesファイル作ってくれる簡易アセンブラでアセンブルしたとしても
*.fdsじゃ到底動かないよ
*.fds形式内部のファイル群と開始アドレスなどとブートの仕組み理解しないとね
https://www.nesdev.org/wiki/Family_Computer_Disk_System
block01 *NINTEND○-HVC*等が記載されたディスク情報
block02 ファイル数
block03 ファイルヘッダ(ブートに必要なKY○DAKU-ネームテーブルファイル、CHR、PRG、PRGのセーブデータ)
block04 block03の直後のファイルの実データ
CC65(CA65アセンブラ)用のサンプルコード
Github repository: Simple FDS example for ca65
裏技か
Forum post: Skipping the FDS license screen
555名前は開発中のものです。
2023/02/21(火) 00:44:39.67ID:G+AkrGuB556名前は開発中のものです。
2024/04/30(火) 18:45:37.49ID:m8GDBD2I hoss
557名前は開発中のものです。
2024/08/19(月) 00:08:59.82ID:ifAbC/51 最近ファミコンのアーキテクチャに興味があるが調べてると面白い構造で使いやすく出来てるな
アセンブラはやっぱ8bitまでだなやる気になるの
アセンブラはやっぱ8bitまでだなやる気になるの
558名前は開発中のものです。
2025/06/30(月) 16:10:33.15ID:GY+zD7Fh ギコ猫でもわかるファミコンプログラミング
6/30でサ終と言っていたfc2がまさかの午前中に終了しやがってサイトの保存が間に合わなかった
誰かバックアップしていたら公開して下さいお願いします
6/30でサ終と言っていたfc2がまさかの午前中に終了しやがってサイトの保存が間に合わなかった
誰かバックアップしていたら公開して下さいお願いします
559558
2025/06/30(月) 16:30:35.41ID:GY+zD7Fh 有名サイトだからか幸いweb archiveで大体捕捉できそう
でももし直近で保存した人がいたら共有していただけると有難いです
無許諾だが後人のためにもミラー立てようかと思っていた
でももし直近で保存した人がいたら共有していただけると有難いです
無許諾だが後人のためにもミラー立てようかと思っていた
560名前は開発中のものです。
2025/07/01(火) 18:48:29.83ID:ZFCLvlKd 内容を今風に作り直してくれ
そこまで難しいことはやってないし、大半は生成AIにお願いすればそれなりに作ってくれる
そこまで難しいことはやってないし、大半は生成AIにお願いすればそれなりに作ってくれる
561名前は開発中のものです。
2025/07/01(火) 21:03:45.94ID:SiXJq6oa >>560
生成AIにお願いしたとして誰が校正・検証するんだよ
生成AIにお願いしたとして誰が校正・検証するんだよ
562名前は開発中のものです。
2025/07/01(火) 21:20:39.17ID:3eAgUt4w >>560
じゃあお前が作り直せよ
じゃあお前が作り直せよ
563名前は開発中のものです。
2025/07/08(火) 00:52:44.65ID:aDLMMm1E wgetで保存してあるけど、今風ってどんなんよ
無許可であまり勝手なことはしたくないな
無許可であまり勝手なことはしたくないな
564名前は開発中のものです。
2025/09/18(木) 03:21:56.61ID:LoL521fE FCやSFCのコーディングに特化した生成AIって無いのかね
565名前は開発中のものです。
2025/09/18(木) 12:10:54.75ID:QUv8TPdV あるよ
566名前は開発中のものです。
2025/09/18(木) 20:09:02.48ID:SuKnJNCX 事実上不可能
567名前は開発中のものです。
2025/09/20(土) 20:29:14.66ID:4ESEdmMhレスを投稿する
