ファミコンのプログラム4 (567レス)
ファミコンのプログラム4 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
131: 名前は開発中のものです。 [sage] 2014/04/04(金) 07:14:22.67 ID:stHAjJOS http://www1.axfc.net/u/3214070.zip ファミコンゲームです。操作方法は付属のtxtを参照 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/131
132: 名前は開発中のものです。 [sage] 2014/04/04(金) 08:34:30.32 ID:FAM6mLE7 >>131 fceuでは正常に動作しています http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/132
133: 131 [sage] 2014/04/04(金) 16:51:41.09 ID:stHAjJOS >>132 動作確認ありがとうございます。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/133
135: 131 [] 2014/04/07(月) 06:20:21.08 ID:ANvPoB1w ありがとうございます。あと、透明な敵が現れるバグがあるのと、 静岡県立沼津工業高校の校歌を使っています。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/135
150: 145 [sage] 2014/04/14(月) 00:44:20.53 ID:Ye30GFaz 補足。 ラスターに関して147の言ってることは技術的に正しいんだけど、 他人がそれを理解してないのを前提に、否定してるのが、ちょっとカチンときたということ。 (145も146もこの件に関して技術的に勘違いはしてないと思う) >>140 とか >>131 とか手を動かしてるひとを応援してるんで、こんなレスでスレを汚してごめんよ。 >>146 当時のこういう使い方はあったのかは気になるね。 ヘックスといったら信長の野望くらいしか記憶にないなぁ・・・あれは4x4だから問題ないし。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/150
157: 名前は開発中のものです。 [sage] 2014/04/14(月) 21:32:22.23 ID:qn3GgaV0 >>148-150 >>131 自演気持ち悪い わかってないからってファビョって「他人」を弁護?w >>148 >「アトリビュートテーブルの制限で、パレットが2x2BGキャラクタごとにしか >指定できないのを回避するために、ラスターでずらしてるのね」 >まで言わないと伝わらない? 伝わってるからそれは違うって言ってるんだけどね 手を動かしていてもね 延々と即値でスプライト初期化してたから変な奴と思ったらやっぱりな ずらしてパレット指定の限界突破という謎技術を語ってる人が他にもいるようだけど http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/157
158: 145 [sage] 2014/04/14(月) 22:05:09.05 ID:Ye30GFaz >>131 の名誉のために、131と私は別人だよ。 スレのためにもう返事はしないし、あなたが正しいってことでいいよ(^^ http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/158
245: 131 [sage] 2014/06/06(金) 19:17:42.85 ID:5n3Zcu9W 131です。あの後、 いろいろ注意深く書き込みを見ていたのですが 人に意見されるってすごく大事だと思いました。 ちなみに、cc65でオセロとShootingGameSampleを作ったのと、 nesasmでブロック崩しを作ったのも 自分です。 今までは自分はチキンで人に意見言われるだけで、 むっつりと黙っていましたが、これからは もっと能動的に動きたいです。 ファミコンのブロック崩しをソース付きで晒すので 汚いし、ロジック的におかしいところばかりですが、 見てやってください。 僕はカービィやマリオ、くにおくんのファミコン少年の一人の つもりなのでファミコンは、ホント好きですし、このスレッド を最初から見ています http://www1.axfc.net/u/3252687.zip http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/245
246: 131 [sage] 2014/06/06(金) 21:24:59.35 ID:5n3Zcu9W こんな事書き込みたくて書き込むわけじゃないですけど、 ファミコンの正常動作って何ですか? どうすれば正常動作っていうんですか? いつまにか、このスレッドは本物のROMと同じように動かす為に努力してる 人たちを称え、褒めてきました。 正常動作って定義がどこにあるかはファミコンで動作すれば分かるんじゃないですかね。 それ以外を異常動作というなら、エミュレータはほぼ全て異常動作ですよ。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/246
249: 131 [sage] 2014/06/07(土) 03:42:43.36 ID:hwRmu2MG 本当に実機で試したのか知りたいですが、 自分の言いたい事は実機で動かない事の言い訳じゃなくて、 ファミコンのプログラミングが1つの古代技術でそれが通用するのはあくまでファミコンのみ という事なんですが**が素晴らしいとか**の技術は優れているとかのある意味 マニアックな話の流れになっているというか、 ぶっちゃけ、自分の作ったファミコンゲームは技術的には全然優れてないので、 優れた技術を持った人たちに憧れたみたいなところがあります。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/249
250: 131 [sage] 2014/06/07(土) 03:52:27.88 ID:hwRmu2MG **には、ラスタースクロールやスプライトダブラー、 FFの高速スクロール、BGの高速書き換え、パレットアニメーション を入れてください。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/250
251: 131 [sage] 2014/06/07(土) 09:33:01.78 ID:hwRmu2MG cc65の作ったやつは(REVERSI,SHOOTING GAME SAMPLE)動く自信がないですが、 nesasmで作ったやつも(IWA WO OTOSE,BLOCK)動かないんですかね。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/251
255: 131 [sage] 2014/06/07(土) 14:24:42.36 ID:HAL7UNXv >>254 ネットカフェから書き込みです。 そうですね。ファミコンの実機で動いたら感動しますし、 実機で動かしたいです。 ファミコンの実機は持っているのですが、ROMライターや EEPROM、同軸ケーブル、ビデオデッキ、自分用のテレビ http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/255
256: 131 [sage] 2014/06/07(土) 14:27:25.94 ID:HAL7UNXv など問題が山積しているので、現段階では難しいです。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/256
259: 131 [sage] 2014/06/07(土) 17:02:04.46 ID:hwRmu2MG ギコ猫さんのところで、覚えた技術ばかりという理由は 英語が出来ないという理由なのですが、これは理由になってないみたいですね。 ?英語が出来ない ↓ ?英語の技術情報が分からない ↓ ?日本語だけの技術情報に頼る の無限ループなので、英語を中学英語から やり直したいと思います。 ちょうど良い本がアマゾンで見つかったので 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になるという事なんでしょう。 つづく http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/259
260: 131 [sage] 2014/06/07(土) 17:29:43.93 ID:hwRmu2MG >>257-258 VBlankとゲーム本体処理を分離ということはNMIを使うって事ですね。他の方も言ってましたが スプライトと実際の座標を別に持つというのは、以前やったことがあるのですが、クソ汚いソースになってしまいましたが、少しだけわかってきた気がします。こんな感じですかね。 >>261に書きます。 VBlankのタイミングと書き換えは理解しずらいのですが、ファミコンのPPUの仕様なんですかね。 Pad_Checkは、他の方が作られたソースなので、あえて外しました。ROMに0を書き込んだ意図は、恐らくないです。気づかないまま放置してしまいました。 ブロックの配置位置が有限個ならテーブル化できるんですか?今度やってみます。 アドバイスありがとうございます!!ホント助かりました。知らなかった事や理解出来なかった事が分かってよかったです。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/260
261: 131 [sage] 2014/06/07(土) 17:30:36.51 ID: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 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/261
262: 131 [sage] 2014/06/07(土) 17:32:41.18 ID: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 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/262
264: 131 [sage] 2014/06/07(土) 18:21:24.08 ID:hwRmu2MG >>263 英検3級は持ってますが、かなり文法が怪しいです。単語に関しては最も初期の「萌えたん」を P-StudySystemを自作問題集を作って覚えた程度です。 1つ1つの単語が読めても何を言いたいのかわからないので、今持っているくもん中学英文法 という本をゆっくりと確実にやる事にします。 初心者というにも、初めてから時間がかかり過ぎてる面はあるのですが、 恐らく他の方の作ったソースを断片的にしか分かっていないというのはあると思います。 google翻訳に関しては、使うブラウザがchromeなので、標準で使えます。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/264
270: 131 [sage] 2014/06/08(日) 06:24:49.26 ID:RIyNgnKh >>266 VBlankに関しては、「ファミコンの驚くべき発想力」という本の78ページ前後に 記述がありました。が、>>266さんの説明の方がより詳しく説明しているように 見えます。 HBlank期間のHはホライゾン?(水平)の略でしょうね。VBlankのVは、バーチカル(垂直) の略な気がします。 NTSCとPALの違いも知らなかったのですが、日本は、NTSCだったんですね。 VBlank待ちの直後にビデオメモリの書き換えをするのはそういう理由が あったんですか。 非VBlank期間中にCPUがVRAMにアクセスできる方法、これは知っていましたが、 欠点は知りませんでした。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/270
272: 131 [sage] 2014/06/08(日) 10:50:38.68 ID:RIyNgnKh PPUの特定バージョンというのが分かりませんが、製造されたファミコン本体 ですか?それともエミュレータか何かですか? スクロールレジスタは、$2005の二度書きレジスタですよね。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/272
279: 131 [sage] 2014/06/09(月) 18:51:10.28 ID: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 これもありがとうございます。 つづく http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/279
280: 131 [sage] 2014/06/09(月) 18:53:26.51 ID: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”という言葉を知っていても言葉を忘れていたのと、使い方を知らないからです。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/280
281: 131 [sage] 2014/06/09(月) 18:55:00.34 ID:Sx48Gggw >>236さんのソースではなく、ネット上に公開されていたソースを使いました。 http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/281
282: 131 [sage] 2014/06/09(月) 18:57:30.62 ID:Sx48Gggw 変数に >>・ 誤 lda APU_REG1_FRQCHG_ON >>正 lda #APU_REG1_FRQCHG_ON の違いって何ですか? http://mevius.5ch.net/test/read.cgi/gamedev/1343539143/282
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.021s