2006年8月25日から2006年8月21日までの日記を表示中

2006年 8月25日 (金)

TNS-HFC2でファミコンおぼのくん

TNS-HFC2使ってどうにかおぼの君(キャラの方ね)が実機(ツインファミコン)で落下するようになりました.何かエミュレータで動かしたときと違って背景がバグってたり,フック出すとおぼの君の顔が消えたりしますが(笑),こんな感じです.ちゃんとパッドも反応します.基本的に

  1. NSFファイル8kbyteの後ろにプログラムROM 16kbyteとキャラクタROM 8kbyteをくっつけとく
  2. NSF部分でTNS-HFC2のバンクを切り替えて,キャラクタROMを$8000にマップする
  3. キャラクタROMの内容読み出して,PPUのメモリに$2006・$2007を経由して書き出す
  4. 再度バンクを切り替えて,プログラムROMが$8000から始まるところに見えるようにする
  5. $8000に飛ぶ

という感じでやってまして,このとき,バンクを切り替えるコードを実行する前に,バンクを切り替えるコード自体を$6000にコピーして,$6000に飛ぶという処理を行ってます.

たったこれっぽちの処理なのに,しょうもないバグ出しまくりでSDにデータをコピーすること数十回ですよ・・・.慣れないと辛い・・・.あと背景がバグってんのは何ですかね.垂直ミラー・水平ミラー云々の問題か?

アドレスミラー(水平・垂直方向)制御は$5FEDに配置したレジスタを使用します。

って何書けばいいんだーorz.垂直にする場合は1でいいのか?でも全然改善しないや・・・.2を書くと起動しなくなるな(^^;.もしかして全然別問題かなぁ.うーむこりゃわからん.おぼの君(人の方)何か思い当たる節ありますかね.

しかしまあ,これでとりあえず512kbyteまでのゲームは作って動かせるっつーわけですな.キャラROM足りない場合もバンク切り替えて転送すりゃいいわけだし.夢が広がります.

[コメントを書く]

OBONO 2006/08/26(土) 12:51:10
すげぇ…
それにしても背景やスプライトが化けるのが気になりますなぁ。

垂直ミラー・水平ミラーの制御については、
INESヘッダとして、ソースの先頭に .inesmir 0 とか書いているので、
自分の中では、動的に切り替えられないという認識だったんだけど。
nosuke 2006/08/26(土) 16:36:03
水平・垂直ミラーは関係なかったっす.ネームテーブルを使用前にゼロクリアしてなかったのが問題でした.エミュレーターだと最初から0埋めされてたりするから問題が出なかったりするのかな?

> 動的に切り替えられないという認識だったんだけど。
実カートリッジだとそうっすねー.間に何かはさんで切り替えられるようになってるのもあるらしいけど.
nosuke 2006/08/26(土) 17:00:33
相変わらずスプライトが変だなぁ・・・(´・ω・`)
http://garakuta.homelinux.org/~nosuke/tsubo/files/misc/famicom-obono2.jpg
Socket775 2006/08/26(土) 19:17:55
NESヘッダ16byte+プログラムROM 32kbyte+キャラクタROM 8kbyteをくっつけて
拡張子を.NESから.NSFにするだけで、起動時に水平ミラーでキャラクタRAMに転送する機能があるようです。
mck virtual keyboard用の.NESファイルの実行テスト中に発見しました。
nosuke 2006/08/26(土) 20:47:32
ども,こんにちは
> 起動時に水平ミラーでキャラクタRAMに転送する機能があるようです。
(;゜Д゜) (゜A ゜;(゜д゜;) ナ、ナンダッテー!

うおー,本当だ! 16k + 8k は最初に試したんですが(^^;,32k + 8k とは・・・
情報ありがとうございました.

2006年 8月24日 (木)

OOo-2.0.3

実はずっと2.0.0を使っていたことに気づき,2.0.3をビルドしてインストールしてみました.Xorg7.0を入れた際に,site.defにProjectRootを設定し忘れていて,途中Imake.tmplがみつかんなくてxmkmfで止まるというトラップがありましたが(ていうかxmkmf使ってるツールなんか混じってんのかよって感じですが・・・),直して再開したところ,6時間くらいで完了.まあ,普通に動いてます.特にオチも無く終わり・・・.

uim.elが変なキー入力拾っちゃう問題

最近C-aを1回押しただけなのに [1 1] みたいな変なキーベクトルを拾ってしまう現象が頻発してるんですが,試しにEmacs21にしてみたら全然でなくなりました.うーん,やっぱ割と最近のEmacs22的問題なのか?とりあえずいきなり長いベクトルがきたら,先頭1個で入力が成り立つかどうかを調べて,成り立つ場合は先頭1個以外捨てるようにしてみましたが・・・大丈夫かなこれで.しばらく使ってみないとなぁ・・・.

2006年 8月23日 (水)

x86_64 vs xpbiff

alphaですが,ここでまさしく同じ話が出てました.あー,この前の直し方じゃダメだったか.というわけで,きちんと64bit環境でもビルドできて,動作するように直してみたつもりです.xpbiff-1.27にyoubinパッチ当てたやつに対する差分.XPMとかSHAPEとかMHSCANがdefineされててもビルドできるかどうかは未確認.というかxpbiffなんか使うのやめましょうって.

CDとか

9月3日また東方オンリーあるのか・・・知らなかった(^^;.そしてそこでリリース予定の「紅鋼」・・・中の人スゴス.

SUMMER MIX Main Store Ver. (とらのあな)
秋葉原本店限定販売のCD.本日急遽実家に行って帰ってくることになったんで,車の中でかけてみました.いやー5曲しかないですが,ビートまりお氏,埼玉最終兵器氏,cranky氏と,中の人は豪華ですね.3曲目は何かちと妙な感じでしたが,他は良かったっす.ただ,夏っぽい感じがしたのは埼玉氏の曲だけかも(^^;.でもまりお氏の曲はいつも通り(?)で良かったっす.つか本店限定じゃないやつも欲しいです.よみさん買ってきてください(笑)

2006年 8月22日 (火)

何も

残念ながらここに書くようなことが何もない一日でした.忙しくなるとこういう日増えるよな〜.・・・ということはこれまでの傾向からすると,一年を通して殆ど暇ということか(;´Д`)

2006年 8月21日 (月)

gaim-2.0.0beta3.1

自分のところはMSN何ともなかったんですが,まあせっかくなんでgaim-2.0.0beta3.1を入れてみました.あ,guificationsも2.13beta3が出てたのね.beta1の時は,出てきた通知をダブルクリックするとクラッシュするという壮絶なバグがあってこれが直るまでgaim2系は有り得んと思ってたわけですが,これが直ってれば2.0.0beta3.1常用できるかもなぁ.

・・・2系はやっぱデザインがなぁorz.せめて接続の進捗とか,アカウント毎に分けて表示してほしいもんです.何でも「在席しています」のメニューで済ませようって発想が恐ろしい・・・.あと設定できそうでできない項目とかいっぱいあるのがねぇ.あ,Windows版もyazさんのパッチ(2.0.0beta3用)当てたの置いときました.

audaciousとCPPFLAGS

audaciousでvorbis関係のヘッダが見えず全然ビルドが通らんと思ったら,configure時のCPPFLAGSの値をmake時にまったく見ていない模様.一体何故だとMakefileを見てみたら,mk/objective.mk に・・・

.c.o:
        @if [ $(SHOW_CFLAGS) -eq 1 ]; then      \
                printf "%10s     %-20s (%s)\n" CC $< "${CFLAGS}";       \
        else \
                printf "%10s     %-20s\n" CC $<;        \
        fi;
        $(CC) $(CFLAGS) -c $< -o $@

・・・無視ですか _|‾|○.こことC++用のところに「$(CPPFLAGS)」と書き足してやったらあっさり解決.うーん,configure --helpでちゃんとCPPFLAGSって出してるじゃんねー(まあ何もしてないから出るんだろうけど).かっこつけてか何なのか .SILENTとかつけてますけど,これ,こういう問題出たとき,解決を大幅に遅らせますよね・・・.何とも.

CDとか

よみさんからとらのあな本店?限定のSUMMER MIXを受け取りました.あー,これって普通のSUMMER MIXと別なのね.安いわけだ(^^;

2006年8月25日から2006年8月21日までの日記を表示中

中の人情報

名前:
nosuke (のすけ)
メール:
sasugaanijaのgmail.com
「の」は「@」みたいな
関連リンク:

カレンダー

2006年8月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ