ファミコンのプログラム4 (567レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
7: 名前は開発中のものです。 [sage] 2012/07/29(日) 18:15:32.39 ID:hixC6Gva(3/4) AAS
結局はエミュのソース見ちゃえばいいんですよ
ディスクシステムなら日本人エミュ作者のがいい
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よりは速かったけど・・・
70: 名前は開発中のものです。 [sage] 2013/01/06(日) 16:49:46.39 ID:vL3Xl6d1(1) AAS
63です。本気の解説ありがとうござんす。
RAMのバンク切り替えの様なもの、というかメモリ参照の位置が変更
できるなんて想像の斜め上を行っていたとは・・。驚きました。
232: 名前は開発中のものです。 [sage] 2014/05/15(木) 03:12:19.39 ID:AXeiaTDm(1) AAS
気持ち悪いのが涌いてきたな
362: 名前は開発中のものです。 [sage] 2014/11/05(水) 02:32:50.39 ID:8FC6s1LF(3/5) AAS
試作した自己書き換えルーチンその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が設定されてリターンします。
439(1): 名前は開発中のものです。 [sage] 2016/01/26(火) 08:49:51.39 ID:+RbTUT9y(1) AAS
>>435435(1): 名前は開発中のものです。 [sage] 2015/12/27(日) 12:38:46.49 ID:/47Z3a2E(1) AAS
東方老桜夢のver0.20をアップしました。
外部リンク[zip]:homepage3.nifty.com
1面ボスまでの実装、ボムは未実装です。
プログラム構造的には、色々と変更中です。
当初は8KBのバンク1個にステージデータを格納する算段だったのですが、一番短い1面で現地点で5〜6KBぐらいのデータになったので、複数のバンクに分散して持つように変更しています。
弾丸パターンのデータが思いのほか大きかった。会話データはこれからだし。
あと、415さんの報告してくれたバグを元に実機判定を行うことで実機用とエミュ用に分けてたnesファイルを一本化できました。感謝です。
ファミコンでも弾幕張れるんだなと関心してしまった
所でVirtuaNES v0.97でプレイすると表記が色々ズレるんだけれどもこのエミュレータでは正常に出来ないということかな?
454: 名前は開発中のものです。 [sage] 2016/06/07(火) 07:46:00.39 ID:cz0bGoDJ(1) AAS
>>453453(2): 名前は開発中のものです。 [sage] 2016/06/04(土) 14:03:05.70 ID:rVuJza+k(1) AAS
東方老桜夢 ver0.30をアップしました。
外部リンク[zip]:homepage3.nifty.com
ボムとゲームオーバー処理、タイトル画面を実装しました。
技術面でのトピックは、BG処理を背景&エフェクトの2レイヤー構造から
WRAM上のバッファの内容を表示する2レイヤーを加えた4レイヤー構造に
変更したことでしょうか
新規に追加したレイヤーの1つを使ってプレイヤーのボムを表示しています。
BGなので8ドット単位でしか絵が移動しませんが、思ったより悪くは無い感じでした。
残りの1レイヤーはまだ先の話になりますがボス敵で使う予定です。
乙です。
485(1): 名前は開発中のものです。 [sage] 2018/01/20(土) 13:13:58.39 ID:z5GTrIKv(1) AAS
ようやく>>478478(1): 名前は開発中のものです。 [sage] 2018/01/19(金) 00:29:11.92 ID:VhnRMljT(1/3) AAS
ファミコンはBGとスプライトの優先順位の指定をスプライト側で設定しますが
これだとスプライトの下に表示したいBGキャラと
スプライトの上に表示したいBGキャラが隣接している場合で
スプライトがその両方にまたがっている場合に
スプライトの上に表示したいキャラに差し掛かった時点でスプライトの
優先表示を変えてしまうと、スプライトの下に表示したいBGキャラの部分でも
BGキャラが上に表示されてしまうと思いますが、どういう処理をすればいいですか?
色々とVDPの仕様を調べると、セガマークIIIなどは、優先順位のフラグをBG側が
持っているので、何も考えなくても思った通りの優先順位で表示されそうですが
ファミコンのようにスプライト側で優先順位を持っていると、優先順位が逆のBGに
スプライトがまたがっている場合、どうしたらいいか分かりません。
氏の内容が理解できた。
なんで優先度をそんなコロコロ変えるのか全く理解できなかったが、マリオの土管の事か。
ああいうのは、本来別の最前面スプライトやBG面を2毎持たせて前面のBG面?としてやるものだと思いますが。
BG=背景なんだから、それを基準(固定して)にするのが普通の考えだと思う。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.038s