ファミコンのプログラム4 (563レス)
前次1-
抽出解除 レス栞

84
(1): 名前は開発中のものです。 [sage] 2013/01/15(火) 00:44:21.46 ID:bZUsNHpr(1) AAS
Cライクってのがわからん
このスレにCは需要無い

Cでやるならcc65のCを使うでしょ

x86のCコンパイラが吐く自動変数っぽい仕組みのを
nesasmで書けるマクロ組んでみたけど
遅くて使い物にならなかった
106: 名前は開発中のものです。 [sage] 2013/10/22(火) 01:38:09.46 ID:fuBZsr5L(1) AAS
ドルアーガでやってたな
257
(2): 名前は開発中のものです。 [sage] 2014/06/07(土) 15:48:51.46 ID:0OqTmEOh(4/5) AAS
>>245
一通り読んでみました。

.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が不要
259: 131 [sage] 2014/06/07(土) 17:02:04.46 ID:hwRmu2MG(4/8) AAS
ギコ猫さんのところで、覚えた技術ばかりという理由は
英語が出来ないという理由なのですが、これは理由になってないみたいですね。

?英語が出来ない

?英語の技術情報が分からない

?日本語だけの技術情報に頼る
の無限ループなので、英語を中学英語から
やり直したいと思います。

ちょうど良い本がアマゾンで見つかったので
http://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になるという事なんでしょう。

つづく
360
(2): 名前は開発中のものです。 [sage] 2014/11/05(水) 02:06:14.46 ID:8FC6s1LF(1/5) AAS
Experi9(>>343)の改良版をアップしました。

http://homepage3.nifty.com/~kyoske/nes/Experi10.zip

結局のところ、ファミコン本体の2KBのWRAMだけでは
性能面を向上させつつ、やりくりするのは難しいとわかったので
MMC3の拡張WRAMを解禁、弾丸のワーク領域をそちらに移しました。

本体のWRAMに余裕が出来たので、マップの仮想バッファを
倍に増加して、既存の処理を最適化して負荷を下げました。

色々なテーブルを乗せている関係で、共通ルーチン用のプログラム領域の
サイズが足りないか不安になってきたのですが、拡張WRAMの空き領域に
プログラムを転送すれば良い事に気づき、さらにRAMに転送するんだから
自己書き換えルーチンにできるな、ということで、自己書き換えで性能が
上がりそうなルーチンを試作してみました。

あと、当たり判定実装したり、弾丸の移動処理作ったり、BGM鳴らしてみたりで
処理落ちしないのを確認できたので、性能面で目処が立ったかなというところです。
388
(1): 名前は開発中のものです。 [sage] 2015/06/12(金) 18:51:23.46 ID:yYky0Qic(1) AAS
>>387

「ファミコン 技術」でぐぐると
じぇみに広野氏が語るファミコンソフトの開発技術
というtogetterがでてくるのであるが、それによると、
ガーディック外伝 でDMCのDMA終了割り込みを使ったが
一部の機種(ツインファミコン?)で割り込みが発生しなかったとのこと。
464: 名前は開発中のものです。 [sage] 2017/12/25(月) 03:45:41.46 ID:W4zhaDYT(1/5) AAS
ここのHello Worldプログラム
http://hp.vector.co.jp/authors/VA042397/nes/sample.html

を単純にFDSに移植してみたけど、(バイナリ的には4バイトのパッチ)
でディスクシステムで動いたけどなぜか黒画面になる部分が$マーク
ばかりになってしまった。
https://i.imgur.com/LeKMwOO.jpg

535: 名前は開発中のものです。 [sage] 2021/07/03(土) 15:40:17.46 ID:LiL8bHG9(1) AAS
2行で応えます。もしかして「行」は「桁(けた)」の間違いではと。
それにしても999円では安過ぎ、持ってないけど。更に著作権侵害ではと。
541
(1): 540 [sage] 2022/03/15(火) 22:18:10.46 ID:+prqqqiR(3/4) AAS
連投すみません。
ROM領域と言われるチートコードでは干渉不可な場所と
RAM領域と言われる干渉可な場所があることを思い出しました。

PPUの0000から1FFFはROM領域という訳で、多分それはアドレス線で接続されており。
常にCHA ROMと同期しているイメージな気がしました。

自己解決してしまったと思います。お騒がせしました。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.032s