- 1 名前:名前は開発中のものです。 [2008/06/23(月) 17:38:05 ID:z53SrIuZ]
- 前スレ、何もしねぇカスどもの集まりだったよな。
でも900すぎてホンモノが現れたみたいだ。 もう要らねぇと思ってたけど、そいつらの為に立てたよ。
- 930 名前:名前は開発中のものです。 mailto:sage [2012/02/19(日) 20:55:13.09 ID:U6dbhp2V]
- ラスターでCHRバンク切り替えるだけだと1ラインごとに256パターンしか
出せない気がするんだが、それでどうやって漢字表示してたんだろう 結局キャラクタ自体も書き換える必要があるのかな
- 931 名前:名前は開発中のものです。 mailto:sage [2012/02/19(日) 21:53:51.47 ID:h5opwI+K]
- ファミコンの解像度は256x240で、
1パターンは8x8ドットで構成されるのだから、 ファミコンの一つの画面上に出せるパターン数は 32(横に並ぶパターン)x30(縦に並ぶパターン)=960パターンとなる。 ファミコンのPPUが一度に参照できるキャラクタは256個までなので、 画面描画中に3回バンク切り替え等の処理をする必要がある。 (大体32、64、128ライン目描画後のH-BLANK時) 漢字自体は、CPU空間に存在するROM・RAMからデータを読み、 I/Oを通して、PPU空間のRAMに書き込む。
- 932 名前:名前は開発中のものです。 mailto:sage [2012/02/19(日) 22:06:17.26 ID:yDN7dT+T]
- 画面全体を重複なく別々のキャラクタで敷き詰めておいて
定義側を書き換えて表示させるってことか
- 933 名前:名前は開発中のものです。 mailto:sage [2012/02/19(日) 23:12:49.32 ID:7lUDE9va]
- 最近プログラマじゃない人種が居ついてるな。
- 934 名前:名前は開発中のものです。 mailto:sage [2012/02/20(月) 00:01:31.48 ID:jCs3Lday]
- お前の言うプログラマってのがデバッガすら使えないで動きませんって言ってるレベルの奴なら
そうなんじゃね?
- 935 名前:名前は開発中のものです。 [2012/02/23(木) 22:29:16.92 ID:9OQqfVZC]
- 任天堂が大嫌いで反社会的な行為としてROM基板含めて自作ファミコンソフト作ってるわ
- 936 名前:名前は開発中のものです。 mailto:sage [2012/02/24(金) 23:13:20.04 ID:aLx23JaI]
- 決死隊ですか
- 937 名前:名前は開発中のものです。 mailto:sage [2012/02/25(土) 00:46:14.68 ID:0truvwjh]
- >>929
ラグランジュポイントも8K以上のCHR-RAMを積んでいたのかと考えている あの画像と、日本語フォントは512パターンで生成できなそう。VRC7はMMC5 の如く、Ex-RAMを使って2バイト指定でBGパターンを指定できるみたいなこと はできなそうだし
- 938 名前:名前は開発中のものです。 mailto:sage [2012/02/25(土) 19:17:11.50 ID:Abu3C86F]
- ラグランジュポイントは普通の8KiBのCHR-RAM仕様だよ。
文字関係(数字、ステータス表示に使う最小限の英字、ひらがなとカタカナを全文字、その他少々)で、都合約2KiB使ってる。 あとの2KiBが、マップとかのBG側のグラフィック用だけど、不足する場合でも、文字を置いてあるバンクは基本的に温存。 そのかわりスプライトのパターンを2KiBしか使わない。 それで浮かせたCHR-RAM領域を、バンク切り替えでBG側に持ってきて間に合わせてるだけ。 ヴィジュアルシーンのグラフィックとかは、デザインや演出上の工夫で、技術的に特に変わったことはやってない。
- 939 名前:938 mailto:sage [2012/02/25(土) 20:03:31.39 ID:Abu3C86F]
- 補足
当然だけど、常に>>938みたいにスプライトのパターンをケチって間借してるわけじゃなく、 普通にBGとスプライトで4KiBずつ分けあって、単に画面が暗転した際にパタンテーブルを書き換えるとか、 平凡にやりくりしてる状況の方がむしろ大半なので念のため。
- 940 名前:名前は開発中のものです。 mailto:sage [2012/02/26(日) 00:39:33.07 ID:US8Vrh37]
- >>938
解説サンクスなり 職人芸だったわけね
- 941 名前:名前は開発中のものです。 [2012/02/27(月) 17:29:23.40 ID:d2Rr2gFY]
- loda.jp/2a03/?id=5
上は当たり判定で、スプライトの座標をタイルに変換させる。でもたまにルーチンで誤変換起こしてしまってる デバッグしてもよく分からない 原因すらわからねぇ
- 942 名前:名前は開発中のものです。 mailto:sage [2012/02/28(火) 11:32:31.06 ID:FLxgWkDL]
- 必要もなくモジュール内でJSR/RTSを多用してクロック浪費してるプログラム見ると、無性に書き直したくなってくる。
- 943 名前:名前は開発中のものです。 mailto:sage [2012/02/28(火) 13:11:12.77 ID:DEMYa7pD]
- モジュール化
- 944 名前:名前は開発中のものです。 mailto:sage [2012/02/28(火) 21:05:59.53 ID:FLxgWkDL]
- 変換じゃなくて壊す側がおかしくないか?
- 945 名前:名前は開発中のものです。 mailto:sage [2012/02/28(火) 22:42:52.32 ID:ac5+J/w/]
- >>941
・CrashBlock_Routine:でbcs, bccを使ってるのが敗因。 0<= 弾の中心座標 <8 の論理を構築できてない。 bpl, bmiを使った方が大小関係が直感的に分りやすい。 その際、lda <Bullet_Y_Center → cmp Block001y,x のように不等式で挟まれる側を先にレジスタにロードした方がやりやすいはず。 またadc, sbcと違い、cmp系の前にはclcは必要ない。 ・ゲームループがまずく、infinityLoop:内のルーチンの実行回数のフレームレートが一定でない、不安定動作のおそれあり。以下のループが無難。 __ここでNMI有効にせよ__ infinityLoop: ;VBlankを待つ間は無限ループ jmp infinityLoop mainLoop: ;メインループ __ここでNMIを無効にせよ__ ;BGとスプライトの表示をOFF lda #%00000110 sta $2001 lda #$3 ;スプライト描画のためのDMA転送 sta $4014 jsr BlockDisappear ;ブロック消滅;$2006-$2007への書き込みはNMI直後に、VBlankが終わる前になるべく早めに jsr SetScroll ;スクロールセットもVBlankが終わる前になるべく早めに ;BGとスプライトの表示をON lda #%00011110 sta $2001 jsr PadGet ;パッド入力チェック jsr NormalBullet ;弾丸発射 jsr PlayerSpriteMove ;機体の移動 jsr CrashBlock ;ブロックと弾丸の当たり判定 jsr BulletPositionConvert ;弾丸の座標をタイル番号に変換 __ここでNMI有効にせよ__ NMIEnd: rti
- 946 名前:名前は開発中のものです。 [2012/03/22(木) 16:43:43.53 ID:NBlMXw6A]
- 簡単にROM作る方法ない?
- 947 名前:名前は開発中のものです。 [2012/03/22(木) 16:44:38.63 ID:NBlMXw6A]
- 簡単にROM作る方法ない?
- 948 名前:名前は開発中のものです。 mailto:sage [2012/03/23(金) 05:49:38.45 ID:EKmbrKmy]
- それは物理的にかい?
- 949 名前:名前は開発中のものです。 [2012/03/24(土) 23:29:09.53 ID:pi7aftbx]
- そう言う感じ
- 950 名前:名前は開発中のものです。 [2012/03/25(日) 01:14:37.28 ID:c32Eu5AG]
- 形式判明してるカセット分解して、ROM引っこ抜いて、代わりにソケット取り付けて、ROMライタで焼いた自作ROMを差し込む。
という話じゃなくて?
- 951 名前:名前は開発中のものです。 [2012/03/25(日) 17:19:57.67 ID:W0Y8frQC]
- 誰かいますか?
ttp://ll.la/Rv~l ファミコンプログラミングがやりたくて、 試しにN106で全画面表示をやってみたんですが、 G-NESだとうまく表示できなくて…… VirtuaNES、nestopiaだと期待通り動くんですが…… 上のURLにソースコードと、各環境で実行したSSをupしました。 詳しい方、原因とか教えてくれませんか?
- 952 名前:名前は開発中のものです。 mailto:sage [2012/03/25(日) 17:49:36.89 ID:sx4Vwb9x]
- G-NESのエミュレ−トが不完全なだけ
- 953 名前:名前は開発中のものです。 [2012/03/25(日) 23:12:13.63 ID:Ih97tOjy]
- >>947
自作のnesをfdsファイルに変換して、fdsloadrでRAMアダプタに転送したことならある (市販のnesをfdsファイルに変換するのは無理っぽい)
- 954 名前:名前は開発中のものです。 mailto:sage [2012/03/26(月) 21:41:21.79 ID:q32IwSYQ]
- >>951です。
>>952 返信ありがとう。 環境によってIRQカウンタの進み方が微妙に違うっぽいです。 初回にとりあえず1フレーム描画して、IRQカウンタの速度を取得しようと思います。 あと、>>951にupしたコードだと、VBLANK終了待ちに$2002のbit7を見たりしてますが、 これじゃVBLANKの検出ってできないんですね……。 (x,y)=(0,0)にゼロスプライトを置いて、それを見るように変えています。 なかなかむずかしいですね……。
- 955 名前:名前は開発中のものです。 mailto:sage [2012/03/26(月) 23:40:41.01 ID:uRvDMM79]
- 何がしたいのか知らんが実機の挙動が唯一の正解だろ
- 956 名前:名前は開発中のものです。 mailto:sage [2012/03/31(土) 14:42:03.41 ID:upBLiWOt]
- >>337と>>343のzipファイルが正常に解凍できません。
どうやればいいのでしょうか?
- 957 名前:名前は開発中のものです。 mailto:sage [2012/03/31(土) 18:44:20.80 ID:lM09VNG1]
- スレ違い
|

|