ファミコンのプログラム4 (567レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
252
(1): 名前は開発中のものです。 [sage] 2014/06/07(土) 10:52:19.34 ID:0OqTmEOh(1/5) AAS
>>244
244(1): 名前は開発中のものです。 [sage] 2014/06/05(木) 23:11:37.79 ID:hfWG3l/O(1) AAS
追加された音楽がスタートで変更できるのは、個人的にうれしいですね!
後、セレクトボタンはどんな効果があるのでしょうか?(効果音だけ?)
スタートとセレクトは、サウンド系の開発用にテストできるように追加していた機能で
今回スタートを少し改良して選曲出来るようにしました。
セレクトは、効果音を作る時以外は意味を成さないので、次の完成版では削除する予定です。
253: 名前は開発中のものです。 [sage] 2014/06/07(土) 11:09:37.37 ID:0OqTmEOh(2/5) AAS
>>247
247(1): 名前は開発中のものです。 [sage] 2014/06/06(金) 22:02:30.07 ID:4Zl9JWw3(1) AAS
>>243
始まった瞬間操作する前に勝手に連鎖するってのだけでも
どうにかならないかな
初期配置のみパターンで持つとか
初期配置をパターンで持つのは、バリエーションを作るのが大変なので、
採択したくないですね。

代わりに内部で連鎖が止まるまで処理を繰り返して、
そこからゲーム開始するよう実装してみます。
254
(1): 名前は開発中のものです。 [sage] 2014/06/07(土) 11:18:00.96 ID:0OqTmEOh(3/5) AAS
>>249
249(1): 131 [sage] 2014/06/07(土) 03:42:43.36 ID:hwRmu2MG(1/8) AAS
本当に実機で試したのか知りたいですが、
自分の言いたい事は実機で動かない事の言い訳じゃなくて、

ファミコンのプログラミングが1つの古代技術でそれが通用するのはあくまでファミコンのみ
という事なんですが**が素晴らしいとか**の技術は優れているとかのある意味
マニアックな話の流れになっているというか、

ぶっちゃけ、自分の作ったファミコンゲームは技術的には全然優れてないので、
優れた技術を持った人たちに憧れたみたいなところがあります。
私も最終目標は実機で動作させてみることなのですが、
そこまでの道が遠い状態です。

一応、動作させるための目処は立っていて、材料とかもそろえたのですが
ROMライターから自作せねばならないため、いつになるかわかりません。

実機で動作したのを確認して初めて、ファミコンのプログラムを作ったと、
胸張って言えるかと個人的には思っています。
257
(2): 名前は開発中のものです。 [sage] 2014/06/07(土) 15:48:51.46 ID:0OqTmEOh(4/5) AAS
>>245
245(3): 131 [sage] 2014/06/06(金) 19:17:42.85 ID:5n3Zcu9W(1/2) AAS
131です。あの後、
いろいろ注意深く書き込みを見ていたのですが
人に意見されるってすごく大事だと思いました。

ちなみに、cc65でオセロとShootingGameSampleを作ったのと、
nesasmでブロック崩しを作ったのも
自分です。

今までは自分はチキンで人に意見言われるだけで、
むっつりと黙っていましたが、これからは
もっと能動的に動きたいです。

ファミコンのブロック崩しをソース付きで晒すので
汚いし、ロジック的におかしいところばかりですが、
見てやってください。

僕はカービィやマリオ、くにおくんのファミコン少年の一人の
つもりなのでファミコンは、ホント好きですし、このスレッド
を最初から見ています

外部リンク[zip]:www1.axfc.net
一通り読んでみました。

.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
(1): 名前は開発中のものです。 [sage] 2014/06/07(土) 15:49:29.84 ID:0OqTmEOh(5/5) AAS
>>257

続き

VBlank直後に行うべき処理と、ゲーム本体の処理を分離したほうが良い。

パッドとボールの座標と、スプライトの座標は別に持っておき、
パッドとボールの座標をスプライトデータに反映するにように
実装した方が、プログラムの書き方としては綺麗だと思う。

VBlankのタイミングを考えずに、スプライトとBGの表示をOFF/ONにして
VRAMを書き換えるのはやめた方が良いと思う。
nestopiaとかでも普通に表示できていたけど、書き換え量が多くなると
画面がちらつくのでは?

  jsr Pad_Check

ソース上に Pad_Check が見つからない。

lda #0 ;これはROMなので出来ないので、こうする
sta STAGE1,x ;〃

ROMに0を書き込む意図がわからない。

VRAM書き込み先のアドレスをブロックの座標から
計算しているが、ブロックの配置位置が有限個であれば
表引きで求める方法もある。
(Y座標だけでも表引きにすると処理が結構簡素化します)
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.024s