ファミコンのプログラム4 (567レス)
上下前次1-新
22: 16 [sage] 2012/08/29(水) 21:37:22.64 ID:3N5g/q8u(1) AAS
ありがとうございます
やっぱり0スプライトを左端、というのは
いい方法じゃないですね
右端に置くとか、IRQ割り込みとかでやってみます
0番スプライトでやるとなると、BGもひと工夫が必要ですね
23(1): 名前は開発中のものです。 [sage] 2012/08/30(木) 00:13:48.09 ID:2dcDlWaJ(1) AAS
>>1616(2): 名前は開発中のものです。 [sage] 2012/08/29(水) 00:13:52.29 ID:dCbNSnnq(1) AAS
0爆弾で画面2分割し、
上は縦スクロール、下は固定(「沙羅曼蛇」のような画面)に挑戦しています
0番スプライトを画面左端に持ってきて、左端8ピクセルを$2001で隠すと
$2002のヒット検出はできないでしょうか
ためしにやった所
G-NES:できる VirtuaNES:できる
実機(AV仕様):できていない(下画面が描画されない。左端クリップ無ければできる)
おそらく実機PPUの仕様かと想像しています。
ヒット検出しないのが正解だろうね。 実機でそうなったんだし。
上から覆い隠してる訳ではなくキャラクタを表示していない(と俺は考えてる)のだから、ヒットしなくて当然と思うけど。
左端がダメとかは、関係ない。横スクロールの指定はいつでもできる。
24(1): 名前は開発中のものです。 [sage] 2012/08/30(木) 04:48:24.33 ID:YFBZ+1yV(1) AAS
検出してからレジスタ叩いてるクロック分だけ画面描画進んでるから
次のラインまで最低でも12クロックはズレたままでしょ
ライン単位での描画しかサポートされてないエミュだと再現できないけど
25: 名前は開発中のものです。 [sage] 2012/08/30(木) 23:09:45.06 ID:mbhkbHVJ(1) AAS
>>23 がはぼ正しい
>>2020(1): 名前は開発中のものです。 [sage] 2012/08/29(水) 18:11:14.26 ID:G0Y2hDxx(1) AAS
左端だと描写中だからおかしくなって当然だろ
HBlank中に掛かるように右端でやれよ
はどちらかというと間違い HBlank中が必須というわけではない
>>24 のようにCPUがフェッチ&デコード&実行&ライトやってる時間にも、PPUのドットは結構動くことに注意
普段はG-NESの使いやすいデバッガでデバッグ。
使いやすいVirtuaNESやNNNesterJでおおまかな確認。
際どいタイミングが必要なデバッグはFCEUXとNintendulator。
Nestopiaでタイミングの最終動作確認。
26: 名前は開発中のものです。 [sage] 2012/08/31(金) 04:25:11.05 ID:qhg8Zh3g(1) AAS
大まかなデバッグはエミュでやって最終的に実機で動作確認してるわ
27: 名前は開発中のものです。 [sage] 2012/08/31(金) 23:35:00.18 ID:gnF3SCUx(1) AAS
0爆弾の設置場所は捨てライン用意するならどこでもいいけど
右端なら画面に影響は出ないわな
28: 名前は開発中のものです。 [] 2012/10/10(水) 21:49:54.07 ID:Z4BAuN6X(1) AAS
ファミコンゲーム作ってみたいんだけど時間がないんだよなー
現実的な問題がな
29: 名前は開発中のものです。 [sage] 2012/10/11(木) 19:34:39.57 ID:9I6Jco6V(1) AAS
プログラミングにアセンブラから入った身だから
最初のうちはなれていたけど
CとかC++とかASに触れていくにつれて
面倒になっていったな・・・
30: 名前は開発中のものです。 [sage] 2012/10/12(金) 00:52:25.78 ID:Z8DOmKFZ(1) AAS
ASってのはFlashですか?
あぁそれはありますよね…。感覚というか形態が違いますからね…アセンブラは
31: 名前は開発中のものです。 [sage] 2012/10/12(金) 01:31:47.39 ID:EPkxezrz(1) AAS
そうActionScript(2.0だけどw)
最初のうちは高級言語のクラスとかオブジェクト指向とか全く理解できなくて、
アセンブラ至上主義で6502とか8080とか8086とかいろいろ手を出してたんだけどね・・・
6502向けのCコンパイラとかいいのないよね
てかそもそも8bitCPUに高級言語使うのもおかしな話だけどさ
某C言語が使えたポケコンは、全然速くなかったよ
さすがにBASICよりは速かったけど・・・
32: 名前は開発中のものです。 [sage] 2012/10/12(金) 03:23:49.62 ID:fS+ezBRP(1) AAS
そもそも6502でC言語を使う需要が無いしな
Z80なら需要があって割とあるけど
33: 名前は開発中のものです。 [sage] 2012/10/12(金) 10:06:06.38 ID:H0vAZjLv(1) AAS
cc65があるだろう。
最適化があまりうまくないけどな。
素人レベルだと十分だわ。
34: 名前は開発中のものです。 [sage] 2012/10/14(日) 05:44:02.35 ID:XxvV8AOh(1) AAS
Cは16bitな石からでいい。色々ともったいない。
35: 名前は開発中のものです。 [sage] 2012/10/17(水) 13:25:16.84 ID:R5qyF0uk(1) AAS
メガドラ以降ってことですか
36(1): 名前は開発中のものです。 [sage] 2012/10/18(木) 18:23:21.69 ID:VBrCRfaf(1) AAS
同じ6502でもPCエンジンだと、ハドソンが優秀なCコンパイラ作ってたりしたんだろか?
37: 名前は開発中のものです。 [sage] 2012/10/18(木) 19:42:59.84 ID:l5n3aOad(1) AAS
SFC末期やプレイステーション頃まではC言語に出番はなかった。
C言語だけでリアルタイム処理なゲームを作って動かせる、それを配布できるってことは、今で考えるよりもずっと贅沢な事。
個人ユーザ中心のホビー分野ではそれなりに需要あったんだろうけど。
それとFDみたいに安いメディアかつ少数生産で済む16bit世代なPCゲーとか。
8bit機だと非力すぎる上にどうせ機種依存バリバリな処理系しかないからCで書いても他で流用のしようがない。
使うことにデメリットは多くても、メリットになる部分が全くと言っていいほど無い。
メガドラは時期的に言ってアセンブリ言語手書きだと思われる。
人間が手書きしても全然苦にならない整然としたアーキテクチャだったし、セガが発売したゲームがどれもROM容量ケチってるあたり、C言語使って容量無駄に使うことが許されたとは思えない。
38: 名前は開発中のものです。 [sage] 2012/10/18(木) 20:01:24.07 ID:IES3MNvB(1) AAS
しかし、Cで組むとなんであんなにコード太るんだろうな
39: 名前は開発中のものです。 [sage] 2012/10/18(木) 23:13:52.20 ID:63+xOnKC(1) AAS
ただ単に、
当時は、ハードメーカーから提供されているのが
アセンブラだけとかだったからだろう。
プログラムといえば、BASICかアセンブラという時代なんだから、
c言語がなくてもしょうがない
40: 名前は開発中のものです。 [sage] 2012/10/19(金) 08:19:37.01 ID:sjsgdMuz(1) AAS
当時を知らない人間は、そう考えるのね。
41: 名前は開発中のものです。 [sage] 2012/10/21(日) 15:54:50.15 ID:JbO9yeZu(1) AAS
アセンブラでやったって速度足りなくて神業が要るっていうのに
なぜC厨が湧く
42: 名前は開発中のものです。 [] 2012/11/04(日) 00:17:55.67 ID:CsVJLmvl(1) AAS
実機的MMC1の初期化について書いておいた
2chスレ:gameurawaza
必要ならコピペでもなんでもどうぞ
43: 名前は開発中のものです。 [sage] 2012/11/04(日) 21:10:23.38 ID:vueKXrfu(1) AAS
最近MMC1AとMMC1Bをいじったけど、電源投入時はバンクサイズ16kモードで後半の16kは最終バンクで確定してるみたい
よく言われるように16k毎にベクターやリセットルーチンとかを設置する必要はなく、
32k毎の設置で一切問題はなかったので、リセットで偶数バンクが後半16kにあてがわれることはない模様
ファイナルファンタジーや三國志とかを見ると最終バンク以外にリセット等のベクタを置いていないから
バンクサイズ16kで後半最終バンクFIXモードだと不定になることはなさそうな感じ
無印のMMC1が手元になく確認していないのでひょっとしたら仕様変更があったのかもしれないけど
それとbit7立ててバンクの初期化って古いエミュだと実装されていないから
GNESとかVirtuaNES使ってると理解できないのはしかたがないと思う
44: 名前は開発中のものです。 [] 2012/11/13(火) 20:19:26.33 ID:CAAAMru1(1) AAS
話割ってしまうけど、自作したデータを既存のROM内のデータと交換して売るのって違法なの?売っているのを見たことないんだが。
45: 名前は開発中のものです。 [sage] 2012/11/14(水) 20:00:04.73 ID:ukh7V0Cy(1) AAS
カートリッジは意匠があるからやるなら基板むき出しか。
でも動作保障とかめんどいからキット販売がせいぜいか。
46: 名前は開発中のものです。 [sage] 2012/11/15(木) 16:13:50.41 ID:oP0LY2A3(1) AAS
>>36
pcエンジンエミュレータ「MagicEngine」の作者が作ったものを
バージョンアップしたコンパイラHuC
外部リンク:www.zeograd.com
HuC使ったけどすごく重いです
stgを作ろうとしたんだけれど
タスクを自機弾10、敵3、敵がばらまき弾8方向くらいで処理オチしてやる気無くなた
この程度のゲーム30fps20fpsにする意味無いし
エミュもリアル本体並み程度の能力しかないから処理落ちします
処理落ちしても良いアドベンチャーならまだしも
日本語表示の壁が
最大容量もPCEは2メガバイトが限界
古いHuCは多少軽いし、マジックエンジンHPからダウンロードできますが
機能が足りないです
上下前次1-新書関写板覧索設栞歴
あと 521 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.016s