<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://www37.atwiki.jp/kikakubu4/">
    <title>なん実企画部wiki</title>
    <link>http://www37.atwiki.jp/kikakubu4/</link>
    <description>なん実企画部wiki</description>

    <dc:language>ja</dc:language>
    <dc:date>2012-03-26T22:35:09+09:00</dc:date>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="http://www37.atwiki.jp/kikakubu4/pages/22.html" />
                <rdf:li rdf:resource="http://www37.atwiki.jp/kikakubu4/pages/1.html" />
                <rdf:li rdf:resource="http://www37.atwiki.jp/kikakubu4/pages/2.html" />
                <rdf:li rdf:resource="http://www37.atwiki.jp/kikakubu4/pages/62.html" />
                <rdf:li rdf:resource="http://www37.atwiki.jp/kikakubu4/pages/28.html" />
                <rdf:li rdf:resource="http://www37.atwiki.jp/kikakubu4/pages/96.html" />
                <rdf:li rdf:resource="http://www37.atwiki.jp/kikakubu4/pages/97.html" />
                <rdf:li rdf:resource="http://www37.atwiki.jp/kikakubu4/pages/99.html" />
                <rdf:li rdf:resource="http://www37.atwiki.jp/kikakubu4/pages/98.html" />
                <rdf:li rdf:resource="http://www37.atwiki.jp/kikakubu4/pages/56.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="http://www37.atwiki.jp/kikakubu4/pages/22.html">
    <title>コメント/コメントログ</title>
    <link>http://www37.atwiki.jp/kikakubu4/pages/22.html</link>
    <description>
      - ページを分けたので、[[過去の企画]]のねんど画像を[[ねんど]]のページにアップしなおして頂戴。   --  (名無しさん) 
- 画像がアップできないので、自由にするか編集用の共通IDを発行して欲しい   --  (名無しさん) 
- 画像アップできるようにしました   --  (ksg) 
- ㌧ &amp;br()[[過去の企画]]にアップした画像は消しておいてね   --  (名無しさん) 
- 左メニュー内検討中の企画に、企画リスト・討論会～のページを追加。たぶん現存のページは全部左メニュー内に出てるはず。   --  (名無しさん) 
- 企画が増えると見づらくなるからいずれ削ることになるかも＞左メニュー   --  (名無しさん) 
- 基本デザインを冬のスウェーデンにしようよ   --  (名無しさん) 
- ㌧ &amp;br()cssカスタマイズでcssの上６行を↓に変えて～ &amp;br()#photospace { &amp;br()	WIDTH: 760px; BACKGROUND: url(http://www37.atwiki.jp/kikakubu4?cmd=upload&amp;act=open&amp;pageid=1&amp;file=file87.png) #ffffff no-repeat center top; HEIGHT: 130px &amp;br()} &amp;br()#atwiki-jp-bg1 { &amp;br()	WIDTH: 760px; HEIGHT: 130px &amp;br()}   --  (名無しさん) 
- おｋ   --  (名無しさん) 
- 見るたび充実してきてるな   --  (名無しさん) 
- 更新履歴とかは左メニューにしてしまって2カラムにしてもいいんじゃないかな？   --  (名無しさん) 
- [[過去の企画]]というページを削除願います。 &amp;br()過去の企画だともう二度とやらない印象を受けるため、[[実施中の企画]]というページ名で同様のページを作ったので。   --  (名無しさん) 
- [[過去の企画]]というページを削除願いますってば。   --  (名無しさん) 
- 悪い左から消しただけだったわｗ &amp;br()ちゃんと消したお   --  (名無しさん) 
- 過去ログ貼りの人いつもありがとうございます   --  (名無しさん) 
- 実施中の方がわかりにくいな   --  (名無しさん) 
- [[【企画】なん実企画部8【募集中】&gt;http://www37.atwiki.jp/kikakubu4/archive/20101017/d55bd3f414a26ebcc73184c96131fe3b]]]&amp;br()落ちた状態のログを取ってもさ・・・   --  (名無しさん) 
- 修正しますた   --  (名無しさん) 
- バナー &amp;br()http://loda.jp/kikakubu/?id=74   --  (名無しさん) 
- バナーおさしみに表示させました &amp;br()リロードするたびランダムで変わるよ(&#039;(ﾟ∀ﾟ∩   --  (名無しさん) 
- おさしみのカウンタが年末くらいに300万突破しそうだ &amp;br()企画が目白押しの予感   --  (名無しさん) 
- ロックマンだけページが企画実施前と実施後の二つに分かれているのはなぜ？   --  (名無しさん) 
- まとめた &amp;br()FPSロックマンのページがあまった &amp;br()http://www37.atwiki.jp/kikakubu4/pages/59.html   --  (名無しさん) 
- 検討済みの企画のページもあまった &amp;br()http://www37.atwiki.jp/kikakubu4/pages/61.html   --  (名無しさん) 
- まだおさしみのボタンがずれるらしい &amp;br()テーブルの横幅が足りないのが原因なので、 &amp;br()「（∪＾ω＾）自動接続機能の使い方」「（∪＾ω＾）レジストリのいじりかた」 &amp;br()を「□ｦｦﾓﾘ(低速)」の横に持っていった方がいいかも。 &amp;br()&lt;td colspan=&quot;7&quot;&gt;&lt;input type=&quot;checkbox&quot; name=&quot;ch12&quot; value=&quot;1&quot;&gt;ｦｦﾓﾘ(低速)&lt;/td&gt; &amp;br()　　　　　　↓ &amp;br()&lt;td colspan=&quot;4&quot;&gt;&lt;input type=&quot;checkbox&quot; name=&quot;ch12&quot; value=&quot;1&quot;&gt;ｦｦﾓﾘ(低速)&lt;/td&gt; &amp;br()&lt;td colspan=&quot;3&quot;&gt;&lt;a href=&quot;autoplay.txt&quot; class=&quot;red&quot;&gt;（∪＾ω＾）自動接続機能の使い方&lt;/a&gt;&lt;br&gt; &amp;br()&lt;a href=&quot;autoplay_reg.txt&quot; class=&quot;red&quot;&gt;（∪＾ω＾）レジストリのいじりかた&lt;/a&gt;&lt;/td&gt; &amp;br()   --  (名無しさん) 
- 右メニューの企画資料って邪魔だと思うんだけど、左メニューに新規ページで企画資料ページで作成するか &amp;br()ただ欄から削除していい？   --  (名無しさん) 
- お任せするわ   --  (名無しさん) 
- 企画資料ページはどっかにあったほうがいいかも   --  (名無しさん) 
- そろそろwikiのトップ変えようか   --  (名無しさん) 
- ろだ復活してた   --  (名無しさん) 
- ファミコン作り方更新乙です &amp;br()   --  (名無しさん) 
- 資料書くときにwikiの横幅が足りない。 &amp;br()横幅の広いデザインにして。   --  (【企画部】なん実でファミコンソフト作ろうぜ 11/14) 
- 横幅広げるのどうやるんだろ。真ん中だけ広がるようにしたいんだがなあ。 &amp;br()とりあえずちょっと対応してみた。   --  (名無しさん) 
- デザイン変えるしかない   --  (名無しさん) 
- あとでなんとかしとくわ   --  (名無しさん) 
- ( ・ ゝ＜ )きゃぴ    --  (名無しさん) 
- 碁石拾い初見2時間30分でしたご報告(；´∀`)44面バナナものすごく時間かかった   --  (名無しさん) 
- あけましておめでとうございます。今年もよろしくー。 &amp;br()初見2.5hはかなり速いと思われ(ﾟДﾟ)プレイありがとうございますヾ(*´∀｀*)ﾉ   --  (おさしみ) 
- 間違えてアップしたので削除をお願いします &amp;br()ttp://loda.jp/kikakubu/?mode=edit&amp;edit=407   --  (名無しさん) 
- 書くスペースが手狭になったので、勝手ながらファミコンソフトの作り方のページをお引越しします。 &amp;br()引越し先はこちら  &amp;br()cc65@wiki　http://www34.atwiki.jp/cc65/ &amp;br() &amp;br()余談ですが、NES PowerPakとアダプタがあれば簡単に実機で動作確認できるようです。   --  (名無しさん) 
- 碁石拾い、NES PowerPakで実機でも動きました   --  (名無しさん)     </description>
    <dc:date>2012-03-26T22:35:09+09:00</dc:date>
  </item>
    <item rdf:about="http://www37.atwiki.jp/kikakubu4/pages/1.html">
    <title>トップページ</title>
    <link>http://www37.atwiki.jp/kikakubu4/pages/1.html</link>
    <description>
      #center(){&amp;ref(file87.png)}
#right(){[[今日のランキング&gt;ランキング]]}
#center(){{{

*&amp;color(red){&amp;size(35){なん実企画部総決算おつかれさまでした！}}
*結果は[[こちら&gt;企画部総決算2011]]（で編集中）

&amp;ref(01.gif)&amp;size(18px){&amp;bold(){「碁石拾い」はこちらからダウンロードできますヾ(*´∀｀*)ﾉ}}&amp;ref(03.gif)
-ファミコン実機でも動作確認済みです
-クリア不能問題34面修正版あがりました（☆12/29(水) 00:41）
&amp;ref(goishi2.zip)
[[ミラー&gt;http://loda.jp/kikakubu/?id=272.zip]]
[[ミラー２&gt;http://ksg.que.jp/goishi2.zip]]

ファミコンエミュレータの解説はこちらのリンクから
http://www.emusite.com/famicom-pc.html
}}}


ここでは、なん実VIPにて配信できる【企画】を募集しております 
・やりたいことがあったけど時間が取れなくてできなかった 
・見たい内容があったけど配信されたことがない 
などありませんか？ 

ある人は書いてね　ない人は考えてね 
くだらない企画でも全然OK！とにかくやってみようぜ！！ 

&amp;size(24px){募集してま～す！}&amp;color(red){&amp;size(24px){( ・ }&amp;size(22px){ゝ＜}&amp;size(24px){)きゃぴ }}


&amp;u(){主に毎週金曜日に2chスレッドにて企画検討、日曜日に企画実施中！}
&amp;u(){[[ここに企画ネタあります&gt;https://spreadsheets.google.com/spreadsheet/ccc?key=0Aq5zW5bqaYjudDRHY0o0b2VMU3oyN291NWQxaC1uMGc&amp;hl=en_US#gid=0]]}

//*&amp;color(red){急募！！}
//-冨樫の代わりにHxHの続編を皆で描く企画の参加者を募集しています。詳細は[[こちら&gt;冨樫の代わりにHxHの続編を皆で描く]]を参照のこと。
//↑連載再開＆「冨樫の代わりにHxHの続編を皆で描く」のページに書いてある情報が古いのでコメント



#google_calendar(){
&lt;iframe src=&quot;http://www.google.com/calendar/embed?src=kikakubu4649%40gmail.com&amp;ctz=Asia/Tokyo&quot; style=&quot;border: 0&quot; width=&quot;640&quot; height=&quot;480&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;
}



#right(){&amp;link_up()}    </description>
    <dc:date>2012-03-26T20:06:19+09:00</dc:date>
  </item>
    <item rdf:about="http://www37.atwiki.jp/kikakubu4/pages/2.html">
    <title>メニュー</title>
    <link>http://www37.atwiki.jp/kikakubu4/pages/2.html</link>
    <description>
      &amp;color(orange){■}[[トップページ]]
&amp;color(orange){■}[[企画資料]]
&amp;space(2)&amp;color(orange){■}[[対戦ﾛｯｸﾏﾝの遊び方&gt;対戦ロックマンの遊び方]]
&amp;space(2)&amp;color(orange){■}[[ﾌｧﾐｺﾝｿﾌﾄの作り方&gt;http://www34.atwiki.jp/cc65/]]
&amp;space(2)&amp;color(orange){■}[[fear coop warfare&gt;FEAR COOP WARFARE]]
&amp;color(orange){■}[[検討中の企画]]
&amp;color(orange){■}[[実施された企画]]
&amp;color(orange){■}[[コメント・要望&gt;コメント]]
&amp;color(orange){■}[[2chスレッド・テンプレ&gt;2chスレッド]]
&amp;color(orange){■}[[リンク・ろだ&gt;リンク]]
&amp;color(orange){■}[[バナー置き場&gt;バナー]]

**&amp;bgcolor(#F4F4F4){&amp;size(10){当てにならないカウンタ}&amp;space(4)}
&amp;space()&amp;bold(){&amp;this_page(base=showpage)}
&amp;space(2)今日　&amp;counter(today)人
&amp;space(2)昨日　&amp;counter(yesterday)人
&amp;space(2)総合　&amp;counter()人

**&amp;bgcolor(#F4F4F4){&amp;size(10){更新履歴}&amp;space(18)}
#recent(5)


//&amp;ref(http://img.atwiki.com/image/035col3/menu_arrow.gif)
//**更新履歴
//#recent(20)
//
//&amp;link_editmenu(text=ここを編集)
//    </description>
    <dc:date>2012-03-07T14:41:32+09:00</dc:date>
  </item>
    <item rdf:about="http://www37.atwiki.jp/kikakubu4/pages/62.html">
    <title>ファミコンソフトの作り方</title>
    <link>http://www37.atwiki.jp/kikakubu4/pages/62.html</link>
    <description>
      書くスペースが手狭になったのでお引越しします。
引越し先はこちら

*cc65@wiki
*http://www34.atwiki.jp/cc65/

#co(){{{{{
#contents()
*&amp;spanid(hello){「hello kikakubu」の作り方}
&amp;bold(){１．まずcc65をダウンロードする。}
http://www.cc65.org/
Download&amp;bold(){-&gt;}available for download.の
-[[cc65-win32-2.13.2-1.zip&gt;ftp://ftp.musoftware.de/pub/uz/cc65/cc65-win32-2.13.2-1.zip]]
-[[cc65-nes-2.13.2-1.zip&gt;ftp://ftp.musoftware.de/pub/uz/cc65/cc65-nes-2.13.2-1.zip]]
-[[cc65-atmos-2.13.2-1.zip&gt;ftp://ftp.musoftware.de/pub/uz/cc65/cc65-atmos-2.13.2-1.zip]]

&amp;bold(){２．全て展開し、中身をC:\cc65に移動する。}
-cc65というフォルダは自分で作る。
-「フォルダの上書きの確認」が表示されたら「はい」を選ぶ。

&amp;bold(){３．メモ帳に以下の内容を書き、test.cという名前でデスクトップに保存。}
#highlight(c){{{
#include &lt;conio.h&gt;
int main (void)
{
    clrscr();
    cprintf(&quot;hello kikakubu&quot;);
    while(1)
    {
    }
    return 0;
}
}}}

&amp;bold(){４．メモ帳に以下の内容を書き、sakusei.batという名前でデスクトップに保存。}
#highlight(dos){{{
PATH c:\cc65\bin;%PATH%
set CA65_INC=c:\cc65\include
set CC65_INC=c:\cc65\include
set LD65_CFG=c:\cc65\cfg
set LD65_LIB=c:\cc65\lib
set LD65_OBJ=c:\cc65\obj
set CC65_HOME=c:\cc65
 
cc65 -t nes %1.c
ca65 -t nes %1.s
ld65 -t nes %1.o nes.lib atmos.lib -o %1.nes
}}}

&amp;bold(){５．コマンドプロンプトを開く。}
スタートメニューのすべてのプログラム－アクセサリ－コマンドプロンプトを選ぶ。

&amp;bold(){６．cd デスクトップと入力し、Enterを押す。}

&amp;bold(){７．sakusei testと入力し、Enterを押す。}

&amp;bold(){８．test.nesが作成されるので、ファミコンエミュレータで開く。}


*コントローラチェックソフトの作り方
&amp;bold(){１．メモ帳に以下の内容を書き、test.cという名前でデスクトップに保存。}
#highlight(c){{{
#include &lt;conio.h&gt;
#define JOYPAD     (char*)0x4016
#define BTN_A      0x80
#define BTN_B      0x40
#define BTN_SELECT 0x20
#define BTN_START  0x10
#define BTN_UP     0x08
#define BTN_DOWN   0x04
#define BTN_LEFT   0x02
#define BTN_RIGHT  0x01

unsigned char padinfo[2][2];

//player:0=1P , 1=2P
void check_pad(unsigned char player)
{
    unsigned char i;
    *JOYPAD = 1;
    *JOYPAD = 0;
    padinfo[player][1] = padinfo[player][0];
    padinfo[player][0]= 0;
    for(i=0; i&lt;8; i++) {
        padinfo[player][0] &lt;&lt;= 1;
        padinfo[player][0] += (*(JOYPAD + player) &amp; 0x01);
    }
}

//ボタン押しっぱなし
char btndown(unsigned char player,unsigned char btn)
{
    if(padinfo[player][0] &amp; btn) {
        return 1;
    } else {
        return 0;
    }
}

//ボタン押す
char btnpush(unsigned char player,unsigned char btn)
{
    if((padinfo[player][0] &amp; btn) &amp;&amp; 
         ! (padinfo[player][1] &amp; btn)) {
        return 1;
    } else {
        return 0;
    }
}

void main(void)
{
    clrscr();
    cprintf(&quot;CHECK START\r\n&quot;);
    while(1)
    {
        check_pad(0);
        if ( btndown(0 , BTN_A     ) ) {
            cprintf(&quot;A,&quot;     ); 
        }
        if ( btndown(0 , BTN_B     ) ) {
            cprintf(&quot;B,&quot;     );
        }
        if ( btnpush(0 , BTN_SELECT) ) {
            cprintf(&quot;Select,&quot;);
        }
        if ( btnpush(0 , BTN_START ) ) {
            cprintf(&quot;Start,&quot; );
        }
        if ( btnpush(0 , BTN_UP    ) ) {
            cprintf(&quot;Up,&quot;    );
        }
        if ( btnpush(0 , BTN_DOWN  ) ) {
            cprintf(&quot;Down,&quot;  );
        }
        if ( btnpush(0 , BTN_LEFT  ) ) {
            cprintf(&quot;Left,&quot;  );
        }
        if ( btnpush(0 , BTN_RIGHT ) ) {
            cprintf(&quot;Right,&quot; );
        }

        if (wherey() &gt; 27) {
            clrscr();
            gotoxy(0, 0);
        }
    }
}
}}}

&amp;bold(){２．以降は「hello kikakubu」と同じ手順でtest.nesを作る。}


*ＢＧＭの鳴らし方
-BGM・効果音出力ライブラリと使用例（後述）を使う。
-15puzzleのサウンドモジュールを使う。
-セミコロンＣのドライバを使う。
-mck関連のツールを使って作成されるアセンブリソースを流用する。

&amp;bold(){アセンブリソースの作成手順}
-mck hogehogeよりppmckをダウンロードする。
-mck wikiを参考にmmlを作成する。
-ppmckのmck/songsフォルダに移動。
-00startcmd.batをダブルクリック。
-コマンドプロンプトが表示されるので、mknes &lt;mmlのファイル名&gt;を入力する。（拡張子は不要）
-???.nesとdefine.inc、effect.h、???.hが出力される。
-nes_include/ppmck.asmのマネをしてこれらをC言語から実行すればＢＧＭが鳴る（はず）。&amp;br()（ppmck/sounddrv.hのsound_initとsound_driver_startを呼ぶ？）


*&amp;spanid(library){ファミコン用ライブラリの作り方}
-ライブラリを介して処理すると開発効率が上がるかもしれません。が、処理速度は落ちます。
-ライブラリは仕様を調べつつ作成している関係上、バージョンアップ後に前版との互換性がなくなる可能性があります。
--[[コントローラ確認・ＢＧ＆スプライト出力ライブラリ&gt;ファミコンソフトの作り方/コントローラ確認・ＢＧ＆スプライト出力]]
--[[BGM・効果音出力ライブラリ&gt;ファミコンソフトの作り方/BGM・効果音出力]]
--[[ゲーム共通処理ライブラリ&gt;ファミコンソフトの作り方/ゲーム共通処理]]

*ライブラリ使用例
-雛形&amp;ref(hina.zip)をダウンロードして、実際に動作を確認することができます。&amp;br()（BGM・効果音のみ雛形２&amp;ref(hina2.zip)を使用。）
-ライブラリを作成する必要があります。手順は[[こちら&gt;#library]]をご覧下さい。
-cc65とcygwin（とmakeコマンド）をインストールする必要があります。
--cc65のインストール方法は[[こちら&gt;#hello]]を参考にして下さい。
--cygwin（とmakeコマンド）のインストール方法はググって下さい。
-作成手順は次の通りです。
--雛形のsample.cをメモ帳で開いて、例に示した内容に書き換えて上書き保存します。
--指定があれば.cfg・.asmの内容も書き換えて上書き保存します。
--makerom.batをダブルクリックします。&amp;br()パスが異なる場合はmakerom.batをメモ帳で開いて編集して下さい。
--sample.nesが作成されます。
--sample.nesをファミコンエミュレータで開きます。

**&amp;spanid(controller){コントローラによるスプライトの操作とBGのスクロール}
#highlight(c){{{
#include &lt;kikakubu.h&gt;

//NMI割り込み
void NMIProc(void)
{
}

// メイン処理
void NesMain()
{
    unsigned char x=50,y=50,bgy=0;
    const char palettebg[] = {
        0x0f, 0x11, 0x21, 0x30,
        0x0f, 0x11, 0x21, 0x30,
        0x0f, 0x11, 0x21, 0x30,
        0x0f, 0x11, 0x21, 0x30 };
    const char palettesp[] = {
        0x0f, 0x00, 0x10, 0x21,
        0x0f, 0x0f, 0x10, 0x21,
        0x0f, 0x09, 0x19, 0x21,
        0x0f, 0x15, 0x27, 0x30
    };

    VBlank();
    InitPPU();

    // パレット設定
    SetPalette((char *)palettebg,0);
    SetPalette((char *)palettesp,1);

    // 背景設定
    SetBackground(0x21,0xc9,&quot;SAMPLE&quot;,6);

    // スクロール設定
    SetScroll( 0, 0);
    SetPPU(0x08,0x1e);

    while (1) {
        VBlank();
        // スプライト設定
        SetSprite(1,x,y,1,0);

        CheckPad();
        if ( ButtonDown(0, BTN_UP   ) ) { y--; }
        if ( ButtonDown(0, BTN_DOWN ) ) { y++; }
        if ( ButtonDown(0, BTN_LEFT ) ) { x--; }
        if ( ButtonDown(0, BTN_RIGHT) ) { x++; }

        bgy++;
        if (bgy == 240) { bgy = 0; }
        SetScroll( 0, bgy);
    }
}
}}}

**マイクの確認
#highlight(c){{{
CheckPad();
if ( ControlOther(MIC_USE) ) { /* マイク使用中 */ }
}}}

**背景の多重スクロール（ラスタスクロール）
-0x00にセットしたスプライト（０爆弾）の描画のタイミングで、画面のスクロール速度を変えています。
-０爆弾に使用する画像には何らかの絵が描かれている必要があります。
#highlight(c){{{
#include &lt;kikakubu.h&gt;

typedef void (*func)();
func functhis;

void NMIProc(void){}

void DrawBG()
{
    unsigned char i,pos1,pos2;
    unsigned int pos;

    pos = 0x2000;
    for (i = 0; i &lt; 15; i++)
    {
        pos1 = (pos &amp; 0xff00) &gt;&gt; 8;
        pos2 =  pos &amp; 0x00ff;
        FillBackground(pos1,pos2,1,32);
        pos += 0x20;
    }

    FillBackground(0x20,0x88,2,1);
    FillBackground(0x20,0xd8,2,1);
    FillBackground(0x21,0x12,2,1);
 }

void Scroll()
 {
    static unsigned char i,j;
    static unsigned char spx[] = {0,0,0,0};
    static unsigned char bgx=0,blank=0;

    VBlank();
    SetScroll( 0, 0);
    //０爆弾設置
    SetSprite(1,0,118,0,0);

    SetSprite(0,spx[0] , 50,2,0);
    SetSprite(0,spx[1] ,124,1,1);
    SetSprite(0,spx[2] ,154,1,2);
    SetSprite(0,spx[3] ,184,1,3);

    //０爆弾
    ZeroSprite();
    bgx++;
    SetScroll( bgx , 0);

    for (i = 2; i &lt; 4; i++){
        for (j = 0; j &lt; 150; j++){}
        SetScroll( bgx * i , 0);
    }

    blank++;
    if (blank % 6 == 0) { spx[0]++; }
    if (blank % 5 == 0) { spx[2]++; }
    if (blank % 3 == 0) { spx[3]++; }

    if (blank &gt; 20) {
        spx[1]++;
        blank = 0;
    }
 }

 // メイン処理
 void NesMain()
 {
    const char bgpalette[] = {
        0x0f, 0x21, 0x11, 0x20, 0x0f, 0x21, 0x11, 0x20,
        0x0f, 0x21, 0x11, 0x20, 0x0f, 0x21, 0x11, 0x20 };
    const char sppalette[] = {
        0x0f, 0x0a, 0x37, 0x20, 0x0f, 0x0a, 0x25, 0x20,
        0x0f, 0x0a, 0x11, 0x20, 0x0f, 0x0a, 0x2a, 0x20 };

    VBlank();
    InitPPU();

    // パレット設定
    SetPalette((char *)bgpalette ,0);
    SetPalette((char *)sppalette, 1);

    DrawBG();

    SetPPU(0x08,0x1e);

    functhis = Scroll;

    while (1) {
        (functhis)();
    }
 }
}}}

**DMA転送
-DMA転送により、まとめてスプライトの設定ができます。
-(char *)0x0700は.cfgでDMAAREAとして設定したアドレスへのポインタです。
#highlight(c){{{
#include &lt;kikakubu.h&gt;

// メイン処理
void NesMain()
{
    unsigned char i,j,first;
    static unsigned char cnt=0;
    const char bgpalette[] = {
        0x0f, 0x21, 0x11, 0x20, 0x0f, 0x21, 0x11, 0x20,
        0x0f, 0x21, 0x11, 0x20, 0x0f, 0x21, 0x11, 0x20 };
    const char sppalette[] = {
        0x0f, 0x0a, 0x37, 0x20, 0x0f, 0x0a, 0x25, 0x20,
        0x0f, 0x0a, 0x11, 0x20, 0x0f, 0x0a, 0x2a, 0x20 };

    VBlank();
    InitPPU();
    SetPalette((char *)bgpalette ,0);
    SetPalette((char *)sppalette, 1);
    SetPPU(0x08,0x1e);
    VBlank();

    first = 1;
    for (i=0;i&lt;6;i++) {
        for (j=0;j&lt;5;j++) {
            SetDMA((char *)0x0700,first,i * 20,j * 10,i,0);
            first = 0;
        }
    }
    SendDMA(0x7);

    while (1);
}

//NMI割り込み
void NMIProc(void)
{
}
}}}
-.cfgの例
#highlight(c){{{
RAM:     start = $0400, size = $0400, type = rw, define = yes;
                                ↓
RAM:     start = $0400, size = $0300, type = rw, define = yes;
DMAAREA: start = $0700, size = $0100, type = rw, define = yes;
}}}

**NMI割り込み
-while文の中でVBlank待ちをしなくても、.asmで宣言した処理（NMIProc）が毎回実行されます。
#highlight(c){{{
#include &lt;kikakubu.h&gt;

// メイン処理
void NesMain()
{
    const char bgpalette[] = {
        0x0f, 0x21, 0x11, 0x20, 0x0f, 0x21, 0x11, 0x20,
        0x0f, 0x21, 0x11, 0x20, 0x0f, 0x21, 0x11, 0x20 };
    const char sppalette[] = {
        0x0f, 0x0a, 0x37, 0x20, 0x0f, 0x0a, 0x25, 0x20,
        0x0f, 0x0a, 0x11, 0x20, 0x0f, 0x0a, 0x2a, 0x20 };

    VBlank();
    InitPPU();
    SetPalette((char *)bgpalette ,0);
    SetPalette((char *)sppalette, 1);

    //NMI割り込みの設定（flag1の7bitを1に）
    SetPPU(0x80,0x1e);

    while (1);
}

//NMI割り込み
void NMIProc(void)
{
    static unsigned char x = 50;
    x++;
    SetSprite(1,x,100,1,0);
}
}}}

**縦スクロール（要調整）
-裏で新しい背景を描きながら画面スクロールします。
-.asmを$01=Vertical Mirrorにしておきましょう。（チラつき防止、&amp;color(red){本来逆にしなければならない筈}）
-NMIProc内でif (bgx % 8 == ?) {}としていくつかに分けて処理しているのは負荷分担のためです。&amp;br()まとめて処理すると表示が追いつかずに背景がきちんと出力されません。
-初期化の処理と画面切り替えのタイミングの見直しが必要かも。
#highlight(c){{{
#include &lt;kikakubu.h&gt;

//NMI割り込み
void NMIProc(void)
{
    static unsigned char bgy=239,no=2,mode=0,wno,scr=0;
    unsigned char pos[2],y;

    if (bgy % 8 == 3) {
        if (mode) {
            scr = 0;
        } else {
            scr = 1;
        }

        y = bgy / 8;
    }
    if (bgy % 8 == 4) {
        wno = no;
    }
    if (bgy % 8 == 5) {
        GetBackgroundAddress(scr, 0, y, pos);
        FillBackground(*(pos + 0),*(pos + 1) ,wno,10);
    }
    if (bgy % 8 == 6) {
        GetBackgroundAddress(scr,10, y, pos);
        FillBackground(*(pos + 0),*(pos + 1) ,wno,10);
    }
    if (bgy % 8 == 7) {
        GetBackgroundAddress(scr,20, y, pos);
        FillBackground(*(pos + 0),*(pos + 1) ,wno,12);
    }

    if (bgy==3) {
        no++;
        mode^=1;
        if (mode) {
            SetPPU(0x8a,0x1e);
        } else {
            SetPPU(0x88,0x1e);
        }
        bgy = 239;
        SetScroll(0,bgy);
    } else {
        SetScroll(0,bgy);
        bgy--;
    }
    if (no &gt; 9) { no=1; }
}

// メイン処理
void NesMain()
{
    unsigned char i,pos[2];
    const char bgpalette[] = {
        0x0f, 0x21, 0x11, 0x20, 0x0f, 0x21, 0x11, 0x20,
        0x0f, 0x21, 0x11, 0x20, 0x0f, 0x21, 0x11, 0x20 };
    const char sppalette[] = {
        0x0f, 0x30, 0x37, 0x20, 0x0f, 0x0a, 0x25, 0x20,
        0x0f, 0x0a, 0x11, 0x20, 0x0f, 0x0a, 0x2a, 0x20 };

    VBlank();
    InitPPU();

    // パレット設定
    SetPalette((char *)bgpalette ,0);
    SetPalette((char *)sppalette, 1);

    for (i = 0; i &lt; 30; i++)
    {
        GetBackgroundAddress(0, 0, i, pos);
        FillBackground(*(pos + 0), *(pos + 1), 1, 32);
    }

    SetPPU(0x88,0x1e);

    VBlank();
    while (1);
}
}}}

**横スクロール（要調整）
-裏で新しい背景を描きながら画面スクロールします。
-SetPPUにてflag1の2bit目を1（32bitインクリメント）にして背景を縦一列に出力しています。
-.asmを$00=Horizontal Mirrorにしておきましょう。（チラつき防止、&amp;color(red){本来逆にしなければならない筈}）
-その他は縦スクロールと同じです。
#highlight(c){{{
#include &lt;kikakubu.h&gt;

//NMI割り込み
void NMIProc(void)
{
    static unsigned char bgx=0,no=2,mode=0,wno,scr=0;
    unsigned char pos[2],x;

    if (bgx % 8 == 3) {
        if (mode) {
            scr = 0;
        } else {
            scr = 2;
        }
        x = bgx / 8;
    }
    if (bgx % 8 == 4 &amp;&amp; bgx &lt; 247) {
        wno = no;
    }
    if (bgx % 8 == 5) {
        GetBackgroundAddress(scr, x, 0, pos);
        FillBackground(*(pos + 0),*(pos + 1) ,wno,10);
    }
    if (bgx % 8 == 6) {
        GetBackgroundAddress(scr, x,10, pos);
        FillBackground(*(pos + 0),*(pos + 1) ,wno,10);
    }
    if (bgx % 8 == 7) {
        GetBackgroundAddress(scr, x,20, pos);
        FillBackground(*(pos + 0),*(pos + 1) ,wno,10);
    }

    SetScroll(bgx,0);
    bgx++;

    if (bgx==247) {
        no++;
        mode^=1;
        if (mode) {
            SetPPU(0x8d,0x1e);
        } else {
            SetPPU(0x8c,0x1e);
        }
    }
    if (no &gt; 9) { no=1; }
}

// メイン処理
void NesMain()
{
    unsigned char i,pos[2];
    const char bgpalette[] = {
        0x0f, 0x21, 0x11, 0x20, 0x0f, 0x21, 0x11, 0x20,
        0x0f, 0x21, 0x11, 0x20, 0x0f, 0x21, 0x11, 0x20 };
    const char sppalette[] = {
        0x0f, 0x0a, 0x37, 0x20, 0x0f, 0x0a, 0x25, 0x20,
        0x0f, 0x0a, 0x11, 0x20, 0x0f, 0x0a, 0x2a, 0x20 };

    VBlank();
    InitPPU();

    // パレット設定
    SetPalette((char *)bgpalette ,0);
    SetPalette((char *)sppalette, 1);

    for (i = 0; i &lt; 30; i++)
    {
        GetBackgroundAddress(0, 0, i, pos);
        FillBackground(*(pos + 0), *(pos + 1), 1, 32);
    }

    SetPPU(0x8c,0x1e);

    while (1);
}
}}}

**BGM・効果音
-&amp;color(red){雛形２}を使用します。
-短形波・三角波・ノイズの設定と再生を行います。
-STARTを押しながらSELECTでタイトルに戻ります。
-各項目で左右を押すと値が増減します。
-SHUHASUはSELECT・A・Bいずれかのボタンを押しながら左右を押すと増分値が変わります。
-SHUHASUには以下の内容を設定します。
--矩形波：1790000/ (周波数 * 32 - 1) ・・・「ラ」（440hz）を鳴らそうと思えば127になります
--三角波：1790000/ (周波数 * 64 - 1) ・・・多分。
-STARTを押すと音が鳴り、フラグの内容が16進数で表示されます。&amp;br()ゲームを開発する際にフラグとshuhasu、timeの値を指定すれば同じ音を鳴らすことができます。
#highlight(c){{{
#include &lt;kikakubu.h&gt;
#include &lt;kanade.h&gt;

#define DMA	(char*)0x0700

typedef enum {
	menuTITLE    = 0,
	menuSQUARE   = 1,
	menuTRIANGLE = 2,
	menuNOISE    = 3,
} emenu;

emenu menu;
char init;

void ClearScreen()
{
	unsigned char i,first,pos[2];
	first = 1;
	for (i = 0; i &lt; 64; i++)
	{
		SetDMA( DMA,first, 0, 240, 0, 0);
		first = 0;
	}
	for (i = 0; i &lt; 30; i++)
	{
		GetBackgroundAddress(0, 0, i, pos);
		VBlank();
		FillBackground(*(pos + 0),*(pos + 1),0,32);
		SetScroll( 0, 0 );
	}
}

void DrawString(char x, char y,char *str,char len)
{
	char pos[2];
	GetBackgroundAddress(0, x, y, pos);
	VBlank();
	SetBackground(*(pos + 0), *(pos + 1), str, len);
	SetScroll( 0, 0 );
}

void DrawHexdecimal(char x, char y,char val)
{
	char ret1, ret2, str[1];

	ret2 = val % 16;
	ret1 = (val - ret2) / 16;

	if (ret1 &lt; 10) {
		str[0] = ret1 + 0x30;
	} else {
		str[0] = ret1 + 0x37;
	}
	DrawString(x    , y, str, 1);

	if (ret2 &lt; 10) {
		str[0] = ret2 + 0x30;
	} else {
		str[0] = ret2 + 0x37;
	}
	DrawString(x + 1, y, str, 1);
}

void DrawArrow(char y)
{
	//SetSprite(1, 30, (y * 2 + 3) * 8, 0x40, 0);
	SetDMA( DMA,1, 30, (y * 2 + 3) * 8 - 1, 0x40, 0);
}

void DrawNumMax(char x, char y, char val, char max)
{
	char wrk;
	wrk = val % 10;
	SetDMA( DMA,0, (x + 0) * 8, y * 8, (val - wrk) / 10 + 0x30, 0);
	SetDMA( DMA,0, (x + 1) * 8, y * 8, wrk + 0x30             , 0);

	SetDMA( DMA,0, (x + 2) * 8, y * 8, 0x5c                   , 0);

	wrk = max % 10;
	SetDMA( DMA,0, (x + 3) * 8, y * 8, (max - wrk) / 10 + 0x30, 0);
	SetDMA( DMA,0, (x + 4) * 8, y * 8, wrk + 0x30             , 0);
}

void DrawNumLen(char x, char y, char val, char max)
{
	unsigned char wrk;
	signed char   i;

	for (i=2; i&gt;=0; i--) {
		wrk = val % 10;
		SetDMA( DMA,0, (x + i) * 8, y * 8, 0x30 + wrk, 0);
		val /= 10;
	}
	SetDMA( DMA,0, (x + 3) * 8, y * 8, 0x5c                   , 0);
	for (i=2; i&gt;=0; i--) {
		wrk = max % 10;
		SetDMA( DMA,0, (x + i + 4) * 8, y * 8, 0x30 + wrk, 0);
		max /= 10;
	}
}

void DrawNumber(char x, char y, int val)
{
	unsigned int wrk;
	signed char i;

	for (i=6; i&gt;=0; i--) {
		wrk = val % 10;
		SetDMA( DMA,0, (x + i) * 8, y * 8, 0x30 + wrk, 0);
		val /= 10;
	}
}

void Square()
{
	char flag1,flag2;
	static char top   ;
	static char duty  ,counter,onkyo ,vol ;
	static char henka ,sokudo ,houhou,hani;
	static char time  ;
	static unsigned int shuhasu;

	if (! init) {
		top     = 0;
		duty    = 0;
		counter = 0;
		onkyo   = 0;
		vol     = 0;
		henka   = 0;
		sokudo  = 0;
		houhou  = 0;
		hani    = 0;
		time    = 0;
		shuhasu = 0;

		ClearScreen();

		DrawString( 5, 3,&quot;DUTY&quot;       , 4);
		DrawString( 5, 5,&quot;COUNTER&quot;    , 7);
		DrawString( 5, 7,&quot;ONKYO&quot;      , 5);
		DrawString( 5, 9,&quot;VOLUME&quot;     , 6);
		DrawString( 5,11,&quot;HENKA&quot;      , 5);
		DrawString( 5,13,&quot;SOKUDO&quot;     , 6);
		DrawString( 5,15,&quot;HOUHOU&quot;     , 6);
		DrawString( 5,17,&quot;HANI&quot;       , 4);
		DrawString( 5,19,&quot;SHUHASU&quot;    , 7);
		DrawString( 5,21,&quot;TIME&quot;       , 4);
		DrawString( 7,26,&quot;PUSH START&quot; ,10);
		DrawString(17,26,&quot; TO PLAY&quot;   , 9);

		init = 1;
	}

	if ( ButtonDown(0, BTN_UP  ) &amp;&amp; top &gt; 0) { top--; }
	if ( ButtonDown(0, BTN_DOWN) &amp;&amp; top &lt; 9) { top++; }

	DrawArrow(top);

	switch (top) {
	case 0:
		if ( ButtonDown(0, BTN_RIGHT ) &amp;&amp; duty &lt; 3 ) { duty++; }
		if ( ButtonDown(0, BTN_LEFT  ) &amp;&amp; duty &gt; 0 ) { duty--; }
		break;
	case 1:
		if ( ButtonDown(0, BTN_RIGHT ) ) { counter = 1; }
		if ( ButtonDown(0, BTN_LEFT  ) ) { counter = 0; }
		break;
	case 2:
		if ( ButtonDown(0, BTN_RIGHT ) ) { onkyo = 1; }
		if ( ButtonDown(0, BTN_LEFT  ) ) { onkyo = 0; }
		break;
	case 3:
		if ( ButtonDown(0, BTN_RIGHT ) &amp;&amp; vol &lt; 15 ) { vol++; }
		if ( ButtonDown(0, BTN_LEFT  ) &amp;&amp; vol &gt;  0 ) { vol--; }
		break;
	case 4:
		if ( ButtonDown(0, BTN_RIGHT ) ) { henka = 1; }
		if ( ButtonDown(0, BTN_LEFT  ) ) { henka = 0; }
		break;
	case 5:
		if ( ButtonDown(0, BTN_RIGHT ) &amp;&amp; sokudo &lt;  7 ) { sokudo++; }
		if ( ButtonDown(0, BTN_LEFT  ) &amp;&amp; sokudo &gt;  0 ) { sokudo--; }
		break;
	case 6:
		if ( ButtonDown(0, BTN_RIGHT ) ) { houhou = 1; }
		if ( ButtonDown(0, BTN_LEFT  ) ) { houhou = 0; }
		break;
	case 7:
		if ( ButtonDown(0, BTN_RIGHT ) &amp;&amp; hani &lt;  7 ) { hani++; }
		if ( ButtonDown(0, BTN_LEFT  ) &amp;&amp; hani &gt;  0 ) { hani--; }
		break;
	case 8:
		if        ( ButtonDown(0, BTN_SELECT) &amp;&amp; ButtonDown(0, BTN_RIGHT ) ) {
			shuhasu+=1000;
		} else if ( ButtonDown(0, BTN_SELECT) &amp;&amp; ButtonDown(0, BTN_LEFT  ) &amp;&amp; shuhasu &gt;= 1000 ) {
			shuhasu-=1000;
		} else if ( ButtonDown(0, BTN_B     ) &amp;&amp; ButtonDown(0, BTN_RIGHT ) ) {
			shuhasu+=100;
		} else if ( ButtonDown(0, BTN_B     ) &amp;&amp; ButtonDown(0, BTN_LEFT  ) &amp;&amp; shuhasu &gt;= 100 ) {
			shuhasu-=100;
		} else if ( ButtonDown(0, BTN_A     ) &amp;&amp; ButtonDown(0, BTN_RIGHT ) ) {
			shuhasu+=10;
		} else if ( ButtonDown(0, BTN_A     ) &amp;&amp; ButtonDown(0, BTN_LEFT  ) &amp;&amp; shuhasu &gt;= 10 ) {
			shuhasu-=10;
		} else if ( ButtonDown(0, BTN_RIGHT ) ) {
			shuhasu+=1;
		} else if ( ButtonDown(0, BTN_LEFT  ) &amp;&amp; shuhasu &gt;= 1 ) {
			shuhasu-=1;
		}
		break;
	case 9:
		if ( ButtonDown(0, BTN_RIGHT ) &amp;&amp; time &lt; 63 ) { time++; }
		if ( ButtonDown(0, BTN_LEFT  ) &amp;&amp; time &gt;  0 ) { time--; }
		break;
	}

	if ( ButtonPush(0, BTN_START) ) {
		flag1  = duty    &lt;&lt; 6;
		flag1 |= counter &lt;&lt; 5;
		flag1 |= onkyo   &lt;&lt; 4;
		flag1 |= vol;

		flag2  = henka   &lt;&lt; 7;
		flag2 |= sokudo  &lt;&lt; 4;
		flag2 |= houhou  &lt;&lt; 3;
		flag2 |= hani;

		SetChannel(0x00);
		SetSquare(0,flag1,flag2);
		SetChannel(0x01);
		PlaySquare(0,shuhasu,time);

		DrawHexdecimal(12, 23, flag1);
		DrawHexdecimal(18, 23, flag2 );
	}

	DrawNumMax(19, 3, duty   , 3);
	DrawNumMax(19, 5, counter, 1);
	DrawNumMax(19, 7, onkyo  , 1);
	DrawNumMax(19, 9, vol    ,15);
	DrawNumMax(19,11, henka  , 1);
	DrawNumMax(19,13, sokudo , 7);
	DrawNumMax(19,15, houhou , 1);
	DrawNumMax(19,17, hani   , 7);
	DrawNumber(19,19, shuhasu   );
	DrawNumMax(19,21, time   ,63);

	VBlank();
	SendDMA(7);
}

void Triangle()
{
	static char top;
	static char counter;
	static char length ,time;
	static unsigned int shuhasu;
	char flag;

	if (! init) {
		top     = 0;
		counter = 0;
		length  = 0;
		time    = 0;
		shuhasu = 0;

		ClearScreen();

		DrawString( 5, 3,&quot;COUNTER&quot;    , 7);
		DrawString( 5, 5,&quot;LENGTH&quot;     , 6);
		DrawString( 5, 7,&quot;TIME&quot;       , 4);
		DrawString( 5, 9,&quot;SHUHASU&quot;    , 7);
		DrawString( 7,26,&quot;PUSH START&quot; ,10);
		DrawString(17,26,&quot; TO PLAY&quot;   , 9);

		init = 1;
	}

	if ( ButtonDown(0, BTN_UP  ) &amp;&amp; top &gt; 0) { top--; }
	if ( ButtonDown(0, BTN_DOWN) &amp;&amp; top &lt; 3) { top++; }

	DrawArrow(top);

	switch (top) {
	case 0:
		if ( ButtonDown(0, BTN_RIGHT ) ) { counter = 1; }
		if ( ButtonDown(0, BTN_LEFT  ) ) { counter = 0; }
		break;
	case 1:
		if ( ButtonDown(0, BTN_RIGHT ) &amp;&amp; length &lt; 127 ) { length++; }
		if ( ButtonDown(0, BTN_LEFT  ) &amp;&amp; length &gt;   0 ) { length--; }
		break;
	case 2:
		if ( ButtonDown(0, BTN_RIGHT ) &amp;&amp; time   &lt;  31 ) { time++; }
		if ( ButtonDown(0, BTN_LEFT  ) &amp;&amp; time   &gt;   0 ) { time--; }
		break;
	case 3:
		if        ( ButtonDown(0, BTN_SELECT) &amp;&amp; ButtonDown(0, BTN_RIGHT ) ) {
			shuhasu+=1000;
		} else if ( ButtonDown(0, BTN_SELECT) &amp;&amp; ButtonDown(0, BTN_LEFT  ) &amp;&amp; shuhasu &gt;= 1000 ) {
			shuhasu-=1000;
		} else if ( ButtonDown(0, BTN_B     ) &amp;&amp; ButtonDown(0, BTN_RIGHT ) ) {
			shuhasu+=100;
		} else if ( ButtonDown(0, BTN_B     ) &amp;&amp; ButtonDown(0, BTN_LEFT  ) &amp;&amp; shuhasu &gt;= 100 ) {
			shuhasu-=100;
		} else if ( ButtonDown(0, BTN_A     ) &amp;&amp; ButtonDown(0, BTN_RIGHT ) ) {
			shuhasu+=10;
		} else if ( ButtonDown(0, BTN_A     ) &amp;&amp; ButtonDown(0, BTN_LEFT  ) &amp;&amp; shuhasu &gt;= 10 ) {
			shuhasu-=10;
		} else if ( ButtonDown(0, BTN_RIGHT ) ) {
			shuhasu+=1;
		} else if ( ButtonDown(0, BTN_LEFT  ) &amp;&amp; shuhasu &gt;= 1 ) {
			shuhasu-=1;
		}
		break;
	}

	if ( ButtonPush(0, BTN_START) ) {
		flag  = counter &lt;&lt; 7;
		flag |= length;

		SetChannel(0x00);
		SetTriangle(flag);
		SetChannel(0x04);
		PlayTriangle(shuhasu,time);

		DrawHexdecimal(15, 23, flag );
	}

	DrawNumMax(19, 3, counter, 1);
	DrawNumLen(19, 5, length,127);
	DrawNumMax(19, 7, time   ,31);
	DrawNumber(19, 9, shuhasu   );

	VBlank();
	SendDMA(7);
}

void Noise()
{
	static char top;
	static char counter;
	static char onkyo, volume, ransu, rate, time;
	char flag;

	if (! init) {
		top     = 0;
		counter = 0;
		onkyo   = 0;
		volume  = 0;
		ransu   = 0;
		rate    = 0;
		time    = 0;

		ClearScreen();

		DrawString( 5, 3,&quot;COUNTER&quot;    , 7);
		DrawString( 5, 5,&quot;ONKYO&quot;      , 5);
		DrawString( 5, 7,&quot;VOLUME&quot;     , 6);
		DrawString( 5, 9,&quot;RANSU&quot;      , 5);
		DrawString( 5,11,&quot;RATE&quot;       , 4);
		DrawString( 5,13,&quot;TIME&quot;       , 4);
		DrawString( 7,26,&quot;PUSH START&quot; ,10);
		DrawString(17,26,&quot; TO PLAY&quot;   , 9);

		init = 1;
	}

	if ( ButtonDown(0, BTN_UP  ) &amp;&amp; top &gt; 0) { top--; }
	if ( ButtonDown(0, BTN_DOWN) &amp;&amp; top &lt; 5) { top++; }

	DrawArrow(top);

	switch (top) {
	case 0:
		if ( ButtonDown(0, BTN_RIGHT ) ) { counter = 1; }
		if ( ButtonDown(0, BTN_LEFT  ) ) { counter = 0; }
		break;
	case 1:
		if ( ButtonDown(0, BTN_RIGHT ) ) { onkyo = 1; }
		if ( ButtonDown(0, BTN_LEFT  ) ) { onkyo = 0; }
		break;
	case 2:
		if ( ButtonDown(0, BTN_RIGHT ) &amp;&amp; volume &lt; 15 ) { volume++; }
		if ( ButtonDown(0, BTN_LEFT  ) &amp;&amp; volume &gt;  0 ) { volume--; }
		break;
	case 3:
		if ( ButtonDown(0, BTN_RIGHT ) ) { ransu = 1; }
		if ( ButtonDown(0, BTN_LEFT  ) ) { ransu = 0; }
		break;
	case 4:
		if ( ButtonDown(0, BTN_RIGHT ) &amp;&amp; rate &lt;  15 ) { rate++; }
		if ( ButtonDown(0, BTN_LEFT  ) &amp;&amp; rate &gt;   0 ) { rate--; }
		break;
	case 5:
		if ( ButtonDown(0, BTN_RIGHT ) &amp;&amp; time &lt;  31 ) { time++; }
		if ( ButtonDown(0, BTN_LEFT  ) &amp;&amp; time &gt;   0 ) { time--; }
		break;
	}

	if ( ButtonPush(0, BTN_START) ) {
		flag  = counter &lt;&lt; 5;
		flag  = onkyo   &lt;&lt; 4;
		flag |= volume;

		SetChannel(0x00);
		SetNoise(flag);

		DrawHexdecimal(12, 23, flag );

		flag  = ransu &lt;&lt; 7;
		flag |= rate;

		SetChannel(0x08);
		PlayNoise(flag,time);

		DrawHexdecimal(18, 23, flag );
	}

	DrawNumMax(19, 3, counter, 1);
	DrawNumMax(19, 5, onkyo  , 1);
	DrawNumMax(19, 7, volume ,15);
	DrawNumMax(19, 9, ransu  , 1);
	DrawNumMax(19,11, rate   ,15);
	DrawNumMax(19,13, time   ,31);

	VBlank();
	SendDMA(7);
}

void Title()
{
	static char top;

	if (! init) {
		top = 0;

		ClearScreen();
		SetChannel(0x00);
		DrawString( 5, 3,&quot;SQUARE&quot;    , 6);
		DrawString( 5, 5,&quot;TRIANGLE&quot;  , 8);
		DrawString( 5, 7,&quot;NOISE&quot;     , 5);
		init = 1;
	}

	if ( ButtonPush(0, BTN_UP  ) &amp;&amp; top &gt; 0) { top--; }
	if ( ButtonPush(0, BTN_DOWN) &amp;&amp; top &lt; 2) { top++; }

	DrawArrow(top);
	VBlank();
	SendDMA(7);

	if ( ButtonPush(0, BTN_A ) || ButtonPush(0, BTN_START ) ) {
		init = 0;
		switch (top) {
		case 0:
			menu = menuSQUARE;
			break;
		case 1:
			menu = menuTRIANGLE;
			break;
		case 2:
			menu = menuNOISE;
			break;
		}
	}
}

// メイン処理
void NesMain()
{

	const char palettebg[] = { 0x0f, 0x21, 0x30, 0x30, 0x0f, 0x21, 0x30, 0x30,
				   0x0f, 0x21, 0x30, 0x30, 0x0f, 0x21, 0x30, 0x30 };
	const char palettesp[] = { 0x0f, 0x21, 0x30, 0x30, 0x0f, 0x21, 0x30, 0x30,
				   0x0f, 0x21, 0x30, 0x30, 0x0f, 0x21, 0x30, 0x30 };

	VBlank();
	InitPPU();

	SetPalette((char *)palettebg,0);
	SetPalette((char *)palettesp,1);

	SetPPU(0x08,0x1e);

	menu = menuTITLE;

	init = 0;

	while (1) {
		CheckPad();
		if ( ButtonDown(0, BTN_START) &amp;&amp; ButtonPush(0, BTN_SELECT) ) {
			init = 0;
			menu = menuTITLE;
		}
		switch (menu) {
		case menuTITLE:
			Title();
			break;
		case menuSQUARE:
			Square();
			break;
		case menuTRIANGLE:
			Triangle();
			break;
		case menuNOISE:
			Noise();
			break;
		}
	}
}

//NMI割り込み
void NMIProc(void){}
}}}

*注意事項
**実機での動作について
-Nestopia・NnnesterJ・VirtuaNESの３つで動作が確認できれば実機でも動く可能性が高いでしょう。
-変数宣言時の初期値設定は効果がありません。
-背景のみならず、スプライトの表示もVBlank中に済ませる必要があります。

**無限ループ
-以下の処理は無限ループになります。
#highlight(c){{{
signed char i;
char j;
j = 0;
for (i=10; i &gt;= j; i--) {}
}}}

-回避するには、評価式に使用する変数もsignedにする必要があります。
#highlight(c){{{
signed char i,j;
j = 0;
for (i=10; i &gt;= j; i--) {}
}}}

**描画について
-背景の描画などを行った後は、スクロール値を設定する必要があります。&amp;br()（$2006や$2007にアクセスすると、スクロール値が書き換わるため。）
#highlight(c){{{
VBlank();
SetBackground(0x20,0x00,(char *)bg,10)
SetScroll( 0, 0 );
}}}
-VBlank中やNMI割り込み中に行う処理の優先順位はDMA→BG描画（一部）→その他の処理（パッドのチェックなど）の順。
-VBlank中を確認して描画処理を行っても、VBlank終了間際だと画面がちらつく場合があります。&amp;br()その場合はVBlankを２回チェックしてから描画処理を行いましょう。

**計算について
-サブルーチンの引数に割り算などをそのまま渡すと落ちます。&amp;br()例）SetScroll(10 / 3,0)&amp;br()一旦変数に入れるなどしてからサブルーチンを呼び出しましょう。

*参考資料
-[[ｷﾞｺ猫でもわかるファミコンプログラミング&gt;http://gikofami.fc2web.com/]]
-[[ブルジョアソフトウェア研究所&gt;http://hp.vector.co.jp/authors/VA042397/]]
-[[オレスタルビーイング00&gt;http://www.geocities.jp/tkoztkoz/]]
-[[D-Soft&gt;http://web.archive.org/web/20070521083612/http://aqube.kir.jp/dsoft/]]&amp;br()消えないうちにご覧下さい
-[[すずめ愛好会&gt;http://web.archive.org/web/20021209174225/vsync.org/ns/index.html]]&amp;br()消えないうちにご覧下さい
-[[simple 15puzzle for nes ver 0.1&gt;http://www37.atwiki.jp/kikakubu4/?cmd=upload&amp;act=open&amp;pageid=62&amp;file=15puzzle0.1.zip]]&amp;br()有志作成の15パズル
-[[わいわいの巣&gt;http://www.geocities.jp/yy_6502/]]&amp;br()グラフィックエディタ
-[[NES Hack Factory&gt;http://www.geocities.jp/kz_s6502/]]&amp;br()ネームテーブルエディタ・PCM for NES
-[[mck hogehoge (仮)&gt;http://takamatsu.cool.ne.jp/dutycycle/]]&amp;br()サウンドツール
-[[MCK Wiki&gt;http://wikiwiki.jp/mck/]]&amp;br()サウンドツール
-[[NesDev&gt;http://nesdev.parodius.com/]]&amp;br()海外のNES開発資料
-[[ワンチップマイコンでゲームを作ろう。&gt;http://www.geocities.jp/r8ctiny/]]&amp;br()ＲＰ２Ｃ０２にファミコンの資料があります
-[[pgate1@crystal&gt;http://crystal.freespace.jp/pgate1/]]&amp;br()PPUについての説明があります。
-[[魂の道具箱&gt;http://taka-p.homeip.net/dtm/tools/index.html]]&amp;br()ファミコンに音声合成で喋らせるツール（ただしディスクシステム用）
-[[セミコロンＣ&gt;http://offgao.no-ip.org/]]&amp;br()プログラムのページにファミコン用サウンドドライバ
-[[98-026 Nintendo&gt;http://bobrost.com/nes/]]&amp;br()nbasic
- [[ファミコンのプログラム@2ch&gt;http://www37.atwiki.jp/kikakubu4/archive/20101108/1710b326237ab726e93d7f7b8ef76a8a]]
- [[ファミコンのプログラム２@2ch&gt;http://www37.atwiki.jp/kikakubu4/archive/20101108/5fed20b34cd47def355ded525ef1ceb7]]
-[[ファミコンのプログラム現行スレ@2ch&gt;http://find.2ch.net/?TYPE=TITLE&amp;COUNT=10&amp;STR=%A5%D5%A5%A1%A5%DF%A5%B3%A5%F3%A4%CE%A5%D7%A5%ED%A5%B0%A5%E9%A5%E0+board%3A%A5%B2%C0%BD%BA%EE%B5%BB%BD%D1]]
}}}}}    </description>
    <dc:date>2012-03-06T21:47:43+09:00</dc:date>
  </item>
    <item rdf:about="http://www37.atwiki.jp/kikakubu4/pages/28.html">
    <title>リンク</title>
    <link>http://www37.atwiki.jp/kikakubu4/pages/28.html</link>
    <description>
      *企画部専用ろだ
http://loda.jp/kikakubu/ 

ちょくちょく落ちるようです。しばらく待つと復帰するかも。 
画像を直リンするにはダウンロードURL＋拡張子で。
例）http://loda.jp/kikakubu/?id=95.jpg

*企画部専用チャット
[[チャット]]

*配信関連サイト
[[鏡置き場関連&gt;http://kagami.homelinux.net/]]
[[Web Auto Bijin Checker（おさしみ）&gt;http://ksg.que.jp/abc/abc.cgi]]
[[なんでも実況V リアルタイム番組表&gt;http://firefly.ewinds.net/nanjitsuv/]]
[[なん実Ｖ　番組チェッカー「チラミちゃん」&gt;http://nekorald.xsrv.jp/jikkyo/]]
[[VIPで初心者がゲーム実況するには@ Wiki &gt;http://www18.atwiki.jp/live2ch/]]
----
*なん実V実況Wiki
#contents(fromhere=yes)
**0-9
**A-Z
[[CLUB VIP Wiki&gt;http://gassyoh.dip.jp/wiki/]]
[[FantasyEarthZero実況配信&gt;http://wikiwiki.jp/fezlive/]]
[[「FCのゲーム制覇しましょ」まとめ&gt;http://www25.atwiki.jp/famicomall/]]
[[「GBのゲーム制覇しましょ」のまとめ&gt;http://www14.atwiki.jp/gball/]]
[[Mのだし巻き卵（出されたゲームをM風に実況）&gt;http://www21.atwiki.jp/msure2/]]
[[「PCエンジンのゲーム制覇しましょ」まとめ&gt;http://www4.atwiki.jp/pcengineall/]]
[[PCゲーム実況@wiki&gt;http://www28.atwiki.jp/pcgamejikkyou/]]
[[【PS3】プレステ実況【PS2】&gt;http://www39.atwiki.jp/playstationjikkyou/]]
[[RPG実況wiki&gt;http://www21.atwiki.jp/rpgzikkyousure/]]
[[RPGツクール実況@wiki&gt;http://www7.atwiki.jp/rpg_t_2000/]]
[[「SFCのゲーム制覇しましょ」まとめ&gt;http://www15.atwiki.jp/snesall/]]
[[Skypeで知らない人・国に安価で突撃リレーラジオ まとめwiki&gt;http://wiki.sukatotsu.net/]]
[[ＶＩＰ朗読スレまとめ＠Ｗｉｋｉ&gt;http://www8.atwiki.jp/roudokuvip/]]　
[[Wii実況 Wiki&gt;http://wikiwiki.jp/wii-jikkyou/]]
[[xbox360実況@wiki&gt;http://www32.atwiki.jp/xbox360jikkyou/]]
[[xbox360実況フリーダム@wiki&gt;http://www8.atwiki.jp/xbox360freedom/]]
**あ
[[アクションゲーム実況フリーダムWIKI&gt;http://www31.atwiki.jp/actiongamefree/]]
[[アケスレ@ウィキ&gt;http://www14.atwiki.jp/arcadethread/]]
[[アニソン三昧 in なん実V ポータルサイト&gt;http://www3.atwiki.jp/anizan_portal/]]
[[有野課長が挑戦したゲームを制覇するスレ&gt;http://www14.atwiki.jp/gddx/]]
[[映画ドラマ実況@wiki&gt;http://www21.atwiki.jp/movie_drama/]]
[[同じゲームを一斉に始めてビリケツが罰ゲームwiki&gt;http://www6.atwiki.jp/issei-game/]]
[[おまいらが指定したゲームを寝ずに実況まとめwiki&gt;http://www30.atwiki.jp/omashi/]]
**か
[[クエスト依頼を達成するスレWiki&gt;http://www55.atwiki.jp/quest_tassei/]]
[[ゲーム朗読実況スレ（GRJ）&gt;http://www14.atwiki.jp/grj_wiki/]]
[[声がｷﾓくてしゃべるのが下手な俺と一緒にラジオ&gt;http://www3.atwiki.jp/kimokoe/]]
**さ
[[実況！アニメ流すぜ！　まとめサイト&gt;http://www16.atwiki.jp/vipanime/]]
[[実況ｃｈ／なんでも実況Ｖ＠ｗｉｋｉ&gt;http://www5.atwiki.jp/vipvip/]]
[[シミュゲ実況スレ@wiki&gt;http://www30.atwiki.jp/nanjitusimu/]]
[[初心の俺が嫁とゲーム実況@wiki&gt;http://www34.atwiki.jp/oreyome/]]
[[シレン・アスカ・トルネコ等不思議のダンジョン実況&gt;http://www35.atwiki.jp/dungeon-template/]]
[[好きなゲームを実況するスレ@ wiki&gt;http://www15.atwiki.jp/sukige/]]
[[スマブラ総合実況スレ@ウィキ&gt;http://www40.atwiki.jp/smash_total/]]
[[ずっとゲーム実況のターンWiki&gt;http://www34.atwiki.jp/illusion_illness/]]
**た
[[タイムアタック実況しようぜ&gt;http://www27.atwiki.jp/timeattack/]]
[[卓上パチンコ配信@ウィキ&gt;http://www22.atwiki.jp/takujoupachinko/]]
[[ちゃんぴょんが指定したゲームを皆で実況まとめ&gt;http://www38.atwiki.jp/champion/]]
[[つまらない配信をするスレ&gt;http://www28.atwiki.jp/tsumaranai/]]
[[東京から自転車で沖縄まで行ってこようと思うまとめwiki&gt;http://www40.atwiki.jp/tokyo-okinawa/]]
[[東方弾幕実況まとめWiki&gt;http://www23.atwiki.jp/touhou-jikkyo/]]
[[ドラえもん実況@wiki&gt;http://www29.atwiki.jp/dora2112/]]
**な
[[生ぱんだまとめ&gt;http://taotaopanda.web.fc2.com/]]
[[なん実でリレーじゃないラジオしようぜ！＠wiki&gt;http://www31.atwiki.jp/gisoujpg/]]
[[【なん実V】パチ＆スロ配信 まとめWiki&gt;http://www28.atwiki.jp/pachi_slot_haishin/]]
[[なん実Ｖゲーム大会wiki&gt;http://wiki.livedoor.jp/vipgame/]]
[[なん実VでMTG wiki&gt;http://www35.atwiki.jp/nanjitumtg/]]
[[なん実V不定期リレーwiki&gt;http://www21.atwiki.jp/nanvrelay/]]
[[なんでも実況V　ゲーム配信者wiki&gt;http://www29.atwiki.jp/nanjitsu/]]
[[なんでも実況Ｖ ラグナロク配信Wiki&gt;http://www11.atwiki.jp/nannvro/]]
[[なんでも実況V大学&gt;http://wiki.livedoor.jp/vip_programming/]]
[[なんでも実況V麻雀実況@Wiki&gt;http://www37.atwiki.jp/njv-mahojong/]]
[[なんでもノーミス実況@wiki&gt;http://www31.atwiki.jp/nomisshaishin/]]
[[任天堂ハード総合実況 Wiki&gt;http://wikiwiki.jp/nintennjituv/]]
[[ねこカメラまとめサイト&gt;http://www.geocities.jp/matomeiroiro/nekocam.html]]
**は
[[バイオハザードを自由に実況@ウィキ&gt;http://www8.atwiki.jp/baiolive001/]]
[[【ピアノetc】ねとらじで楽器演奏・セッション【みんなで演奏】まとめ&gt;http://www.wikihouse.com/8976/]]
[[ファンタジーアースゼロ実況wiki&gt;http://www35.atwiki.jp/fezlive/]]
[[普通にけいおん!!好きなやつリレー&gt;http://www35.atwiki.jp/koe-ero/]]
[[普通にねとらじやりたいやつリレーまとめ&gt;http://www25.atwiki.jp/futsu_netradio/]]
[[下手だけどお絵かき実況&gt;http://www25.atwiki.jp/oekaki-live/]]
[[ホラー映画実況＠まとめ&gt;http://www21.atwiki.jp/horror_vip/]]
[[ホラーゲーム実況wiki&gt;http://www12.atwiki.jp/kawashima/]]
[[ホラゲ実況フリーダム@wiki&gt;http://www14.atwiki.jp/horrofree/]]
**ま
[[マリオカートWii総合実況 まとめwiki&gt;http://www10.atwiki.jp/mariokartwii/]]
[[みんなでカオスに色々垂れ流そうぜ@ウィキ&gt;http://www11.atwiki.jp/chaosradio/]]
[[みんなでフィギュアとか模型とか作りましょう&gt;http://www8.atwiki.jp/minnadetukurou/]]
[[みんなのFF11実況@ウィキ&gt;http://www7.atwiki.jp/nanjituff11/]]
[[めちゃイケ実況@wiki&gt;http://www29.atwiki.jp/mecha/]]
[[モンスターハンター実況スレ＠wiki&gt;http://www19.atwiki.jp/gurabi/]]
**や
**ら
[[連休だけどアニメみようぜまとめwiki&gt;http://www28.atwiki.jp/kyuujitsu_anime/]]
[[連続クリア回数を競うスレまとめ&gt;http://www43.atwiki.jp/renzokuclear]]
**わ
　    </description>
    <dc:date>2012-01-26T23:14:05+09:00</dc:date>
  </item>
    <item rdf:about="http://www37.atwiki.jp/kikakubu4/pages/96.html">
    <title>企画部総決算2011</title>
    <link>http://www37.atwiki.jp/kikakubu4/pages/96.html</link>
    <description>
      *なん実企画部総決算2011
#contents
*企画概要
 今年も残りあとわずかになりました。 
 いろいろあった年でしたが、企画部も悔いを残さないよう全力で企画を実施したいと思います。
 というわけで、ゲームとクイズで一年をしめくくる壮大な内容の企画をお届けしますよっ！
 みんなで楽しもうぜ！！
*基本ルール
・今回は４チームに分かれたチーム戦。チーム分けはIDの先頭で決める。[[下記参照&gt;http://www37.atwiki.jp/kikakubu4/pages/96.html#id_4c6c082e]]
・チームに得点が入る競技と、個人にポイントが入る競技がありますよ。
・ゲーム大会と麻雀大会は個人ポイントが入ります。
・個人ポイントは、現在その個人（主）が所属しているチームにポイント加算されます。
・チームごとに一定の条件をクリアすると、実績解除されてポイントがつきます。
*スケジュール
&amp;img(schedule.png)
赤：本会場で開催　黄：サブ会場で開催　青：その他・準備
*各競技ルール

**25時間ゲーム大会
・[[こちら参照&gt;企画部総決算2011―25時間ゲーム大会]]
**麻雀大会
・[[こちら参照&gt;企画部総決算2011―麻雀大会]]
**クイズ大会（アタック２５）
・[[こちら参照&gt;企画部総決算2011―クイズ大会]]

*チーム分け一覧
&gt;IDの先頭で決める
 a,A ： 赤
 b,B ： 緑
 c,C ： 白
 d,D ： 青
 e,E ： 赤
 f,F ： 緑
 g,G ： 白
 h,H ： 青
 i,I ： 赤
 j,J ： 緑
 k,K ： 白
 l,L ： 青
 m,M ： 赤
 n,N ： 緑
 o,O ： 白
 p,P ： 青
 q,Q ： 赤
 r,R ： 緑
 s,S ： 白
 t,T ： 青
 u,U ： 赤
 v,V ： 緑
 w,W ： 白
 x,X ： 青
 y,Y ： 赤
 z,Z ： 緑
 0,4,8 ： 赤
 1,5,9 ： 緑
 2,6,+ ： 白
 3,7,/ ： 青    </description>
    <dc:date>2011-12-23T01:35:04+09:00</dc:date>
  </item>
    <item rdf:about="http://www37.atwiki.jp/kikakubu4/pages/97.html">
    <title>企画部総決算2011―25時間ゲーム大会</title>
    <link>http://www37.atwiki.jp/kikakubu4/pages/97.html</link>
    <description>
      *２５時間ゲーム大会
#contents
*競技概要
 ファミコン全1246タイトルを制覇しつつ、クリア本数を競う企画です。
 難易度が高いほど取得できるポイントが大きいぞ！
 ２５時間以内に一番多くポイントをとった人が優勝です。がんばろう。
*競技フロー
+参加者はスレにて参加表明する。本スレに配信アドレスを書き込んでね。順番に主番号（主１、主２・・）がふられます。
+プレイするゲームを選択する。（現在の取得ポイント、制覇状況などは別表を参照。）
+ゲーム開始時に、避難所の専用スレにプレイするゲームの開始宣言を書き込む。名前欄に主番号、本文にゲームのタイトルと「開始」って入れてね
+ゲームを配信してクリアを目指そう。
+ゲームをクリアしたら、避難所の専用スレにクリア宣言を書き込む。名前欄に主番号、本文にゲームのタイトルと「クリア」って入れてね。続けてやる場合は次のゲームの開始宣言してもいいですよ。
+途中でゲームを中断して別のゲームをやる場合は、「中断」って書いてね。
+ゲーム難易度一覧は[[こちら&gt;https://docs.google.com/spreadsheet/ccc?key=0Aq5zW5bqaYjudHRMeGlXMkVhckpLYmctMlNDd2RjMUE&amp;hl=en_US#gid=0]]
*ルール
・クリア条件はファミコン制覇スレ（http://www25.atwiki.jp/famicomall/）のを使わせていただきます。
・原則、&amp;color(red){&amp;bold(){QSQLや裏技はナシ}}。何を裏技・禁則技とするかは、ファミコン制覇スレwikiの記載に順ずるものとします。（基本的には説明書に書いてあるかどうか、だそうです）
・中断時や事故回避目的でのQSQLは可能です。（ゲームを中断して別のゲームを始めて、また中断時からはじめてもよい。）ただし、クリア目的のQSはだめよ。
・開始・クリア宣言とかは以下のように書いてね。クリア書き込みされた時点でポイントに反映します。
 【開始】スーパーマリオブラザース
 【終了】スーパーマリオブラザース
 【中断】スーパーマリオブラザース
・クリアポイントについて
クリア時にもらえるポイントは、ゲームの難易度によって以下のとおり
|BGCOLOR(silver):ランク|BGCOLOR(silver):一位通過|BGCOLOR(silver):二位通過|BGCOLOR(silver):三位通過|BGCOLOR(silver):四位以降|
|BGCOLOR(yellow):ランクS|100|50|25|12|
|BGCOLOR(yellow):ランクA|60|30|15|7|
|BGCOLOR(yellow):ランクB|30|15|7|3|
|BGCOLOR(yellow):ランクC|20|10|5|2|
|BGCOLOR(yellow):ランクD|10|5|2|1|
|BGCOLOR(yellow):ランクE|5|2|1|1|
・ゲームは基本的に自由に選んでもらってＯＫ。選ぶのがめんどくさい人は安価出すなりルーレット使うなりしてね
・カイレラとか使って協力プレイもアリアリですよ！（この場合１Pが順位的に優先）
・最も多くゲームをクリアした人には最後にボーナスポイントがつきます。
・主催が予めきめたボーナスソフトをクリアすると・・・・？
・上記のほか、細かいルールについては主催が周りの雰囲気に流されつつ判断いたしますヾ(*´∀｀*)ﾉ    </description>
    <dc:date>2011-12-23T01:28:59+09:00</dc:date>
  </item>
    <item rdf:about="http://www37.atwiki.jp/kikakubu4/pages/99.html">
    <title>企画部総決算2011―クイズ大会</title>
    <link>http://www37.atwiki.jp/kikakubu4/pages/99.html</link>
    <description>
      *クイズ大会
#contents
*競技概要
 アタック２５やるよ！ご家族そろってお楽しみください。
*競技フロー
+
+
*ルール
**テンプレ
　 　 　 　 　 　 　 　　　　　　　　　　　　　　　_,,..．-─ｰ- 、
　　　　　　　　　　　　　　　　　　　　　　　,.ィ ´ 　 　　　　　｀:､
　　　　パネルクイズ 　　　　　　　　　／ 　 　 　 　 　 　 　　&#039;,
　　　　|￣￣￣| ,厂￣￣│　　　　　/ノ￣￣￣,&#039; 　 　　　　　,!
　 　 　|＿＿ 　ﾚ&#039;　,r‐┐　! | 丁 l「 ,! .|_ノ¨¨ﾌ　ﾉ l´｀)　　　　&#039;─────‐ｧ
　　　　　r‐iﾉ　/! 　&#039;&#039;ｰJ 　l. |__|__ﾘ　,! 　_,,..ｨ&#039; , &#039;／／ 　 　 ,, 　 　 　　＿＿_,&#039;
　 　 　　l 　　/ ﾚ&#039;L 　 　 ,l　r-‐&#039;　,ｲ　「_,,.．&#039;／／ 　　　.,:&#039; ,&#039; 　　　　└- ､
　　　　 ﾉ　,ノ 　　ノ 　/ﾞ~　└‐&#039;&quot;´ ヽ、　／／ 　 　　／　&#039;─--- ､._　　　`ヽ.
　 　 r&#039;´　,:&#039; 　　l´　_,.ｲ 　　　　　　　　｀´／ 　　　　　￣￣/,r-､_ 　_) 　　　　&#039;,
　 　 |　, &#039; 　　　&#039;&#039;&quot;´　　　　　　　　　　／ 　　　　　　　　　// 　　￣　　　　　,:&#039;
　 　 ﾚ&#039;ﾞ 　 　 　 　 　 　　　　　　　／ 　　　　　　　　　　/〈_ 　 　 　 　 　.ィ´
　 　 　 　 　 　 　 　　　　　　　　　￣￣￣￣￣￣￣￣ 　 ｀`&#039;&#039;ｰ--‐&#039;&#039;&#039;&quot;´
 なん実のみんなでアタック25やろうぜ！
 ・視聴者をIDの先頭で四色にチーム分け
 　自分がどのチームかは&gt;&gt;2を見てね
 ・主催が配信で問題読み上げ、読み終わったら問題を字幕表示します。
 ・視聴者は回答とパネル番号をセットで書いてね！
 　指定できるパネルはwikiのルール参照して。だいたいオセロと同じ
 　http://ja.wikipedia.org/wiki/%E3%83%91%E3%83%8D%E3%83%AB%E3%82%AF%E3%82%A4%E3%82%BA_%E3%82%A2%E3%82%BF%E3%83%83%E3%82%AF25#.E3.83.AB.E3.83.BC.E3.83.AB
 ・一番先に正解を書き込んだ人のパネル番号が有効ですよ。
 ・無効な番号の場合は、同チームで以降最速のレスを採用します。
　　　　　 彡三三ミ
　　　　　(ﾐ´∀｀児ミ　　 ／￣￣￣￣￣￣￣
　　　　　　ヽ　 ⊂,ﾉ　＜　大事な大事なアタックチャ～ンス！！
　　　　　　　! ､,　 ()　　 ＼＿＿＿＿＿＿＿
　 　　　　　`-&#039;`-&#039;ﾞ　

**大会用特別ルール
・回答された時点で、そのチームに２ポイント（最速）
・決着時のパネル数×２をポイントとして取得
・決着時、１０枚以上パネルを取得している場合、ボーナスクイズに挑戦できる
・⇒１０ごとに一回の挑戦権。最速正解チームに２０ポイントボーナス
・　挑戦権がないチームが最速正解した場合、阻止できる。
・アタックチャンス
アタック２５：1回
アタック５０：２回
アタック８１：３回    </description>
    <dc:date>2011-12-17T12:55:30+09:00</dc:date>
  </item>
    <item rdf:about="http://www37.atwiki.jp/kikakubu4/pages/98.html">
    <title>企画部総決算2011―麻雀大会</title>
    <link>http://www37.atwiki.jp/kikakubu4/pages/98.html</link>
    <description>
      *麻雀大会
#contents
*競技概要
 麻雀大会やります。
*競技フロー
+参加者はスレにて参加表明する。順番に主番号（雀１、雀２・・）がふられます。
+
*ルール    </description>
    <dc:date>2011-12-17T12:44:00+09:00</dc:date>
  </item>
    <item rdf:about="http://www37.atwiki.jp/kikakubu4/pages/56.html">
    <title>対戦ロックマンの遊び方</title>
    <link>http://www37.atwiki.jp/kikakubu4/pages/56.html</link>
    <description>
      #contents()

**対戦ロックマンとは
正式名称はMega Man 8-Bit Deathmatch（MM8BDM）。
[[DOOM&gt;http://www8.atwiki.jp/doom2k/]]をベースにしたFPSで、フリーウェア。

**インストール手順
***入手先
http://cutstuff.net/mm8bdm/
の「Download from ～」と書かれたいずれかのリンクを選んでダウンロード。

***基本設定
MM8BDM.exeをダブルクリックする。
#center(){&amp;ref(Image1.jpg)}

スタートボタンを押し、ゲームを開始する。
#center(){&amp;ref(Image10.jpg)}

何かキーを押すとメニューが表示されるので、OPTIONを選ぶ。
↑↓で選択、エンターで決定、ESCで戻る。
#center(){&amp;ref(Image2.jpg,,x=404)}

****ウィンドウモードにする場合
SET VIDEO MODEを選ぶ。
#center(){&amp;ref(Image7.jpg,,x=404)}

FULL SCREENにNOを選ぶ。変更する場合は←→キーで。
解像度は↑↓で選んでENTERで決定。
設定が終わったらESCで戻る。
#center(){&amp;ref(Image8.jpg,,x=404)}

****ゲームパッドを使う場合
JOYSTICK OPTIONSを選ぶ。
#center(){&amp;ref(Image4.jpg,,x=404)}

ENABLE JOYSTICKをYESにし、ACTIVE JOYSTICKでパッド名を選ぶ。
変更する場合は←→キーで。
設定が終わったらESCで戻る。
#center(){&amp;ref(Image5.jpg,,x=404)}

****操作方法を設定する場合
CUSTOMIZE CONTROLを選ぶ。
#center(){&amp;ref(Image3.jpg,,x=404)}

各操作をどのキー（パッドのボタン）で行うかを設定する。
エンターで変更する項目を決定、続けて割り当てたいキーを押すと変更。
BackSpaceで割り当てたキーを消去、ESCで取り消し。
設定が終わったらESCで戻る。
#center(){&amp;ref(Image6.jpg,,x=404)}

以下の項目を設定のこと。

|BGCOLOR(black):COLOR(white):項目|BGCOLOR(black):COLOR(white):意味|BGCOLOR(black):COLOR(white):備考|
|FIRE|攻撃|倒された場合に押すと再開|
|MOVE FORWARD|前進||
|MOVE BACKWARD|後退||
|TURN LEFT|左旋廻||
|TURN RIGIT|右旋廻||
|STRAFE LEFT|左移動||
|STRAFE RIGIT|右移動||
|JUMP|ジャンプ||
|NEXT WEAPON|武器変更||
|ACTIVATE ITEM|アイテム使用||
|NEXT ITEM|アイテム変更||
|&gt;|&gt;|BGCOLOR(black):COLOR(white):以下、パッドのボタンに余裕があれば|
|PREVIOUS WEAPON|武器変更||
|PREVIOUS ITEM|アイテム変更|~|
|LOOK UP|見上げる|ラッシュジェット（アイテム）で使用&amp;br()初期設定ではマウスで代用可|
|LOOK DOWN|見下ろす|~|
|CENTER VIEW|視点を戻す|ラッシュジェットで使用|

****常にランキングを表示する場合
DISPLAY OPTIONSを選ぶ。
#center(){&amp;ref(Image29.jpg,,x=404)}

HUD OPTIONSを選ぶ。
#center(){&amp;ref(Image30.jpg,,x=404)}

FULLSCREEN HUDにCLASSIC STYLEを選ぶ。変更する場合は←→キーで。 
設定が終わったらESCで戻る。
#center(){&amp;ref(Image31.jpg,,x=404)}

****ゲームを終了する場合
ESCを数回押し、EXITを選んでYキーを押すと終了。
（半角入力になっていることを確認すること。）
#center(){&amp;ref(Image2.jpg,,x=404)}

**基本的な操作
F11を押すとゲーム画面の明るさを変更する。
ゲーム中にTを押すとチャットで会話できる。（マルチプレイのみ）
ESCを押すとメニューを表示する。
ゲームの停止やゲーム外でマウスを使う場合もメニューを表示する。

**シングルプレイ
何かキーを押すとメニューが表示されるので、STARTを選ぶ。
↑↓で選択、エンターで決定、ESCで戻る。
#center(){&amp;ref(Image2.jpg,,x=404)}

SINGLE PLAYERを選ぶ。
#center(){&amp;ref(Image18.jpg,,x=404)}

博士のいる部屋まで移動する。
初回プレイの場合、最初に博士によるチュートリアルが始まるので、設定画面が開かれたらESCキーを押して閉じる。
#center(){&amp;ref(Image19.jpg,,x=404)}

博士の正面のオレンジの台に乗る。バグ回避のため、少し待つこと。
チャプター（最初は全７面）をクリアしていれば、左右移動（左右旋廻ではない）で他のチャプターを選択できる。
攻撃ボタンで開始。
#center(){&amp;ref(Image20.jpg,,x=404)}

とにかく敵を倒しまくる。
#center(){&amp;ref(Image14.jpg,,x=404)}

誰かが２０体以上倒した時点でラウンド終了。
ボス戦のBGMが流れたら誰かがクリア間近になった合図。
勝率で１位になれば次のステージへ、なれなければやり直し。
（FRAGS：倒した数 DEATHS：やられた数）
#center(){&amp;ref(Image22.jpg,,x=404)}

***キャラの変更
女の子のいる部屋まで移動する。
#center(){&amp;ref(Image24.jpg,,x=404)}

オレンジの台に乗る。
左右移動（左右旋廻ではない）でキャラ選択、攻撃ボタンで決定。
#center(){&amp;ref(Image23.jpg,,x=404)}

***武器の練習
ロボットのいる部屋まで移動する。
バグ回避のため、台に乗る前に一時的に解像度を640x480にすること。
#center(){&amp;ref(Image25.jpg,,x=404)}

オレンジの台に乗る。
左右移動（左右旋廻ではない）で武器選択、上下移動で項目選択、攻撃ボタンで決定。
パッドの上下は効かないのでキーボードで操作のこと。
#center(){&amp;ref(Image26.jpg,,x=404)}

選んだ武器でのトレーニングが始まる。
#center(){&amp;ref(Image27.jpg,,x=404)}

敵を倒してオレンジの床に乗るか、敵に倒されると部屋に戻る。
#center(){&amp;ref(Image28.jpg,,x=404)}

***攻略情報
-&amp;openclose(show=ステージ){ステージ内のどこかに強い武器が配置されているので、まずはそれを探す。&amp;br()あとは各復活ポイントから武器の在り処までの最短ルートを見つけること。}
-&amp;openclose(show=ボス){【イエローデビル】&amp;br()最初に右端に寄り、分裂した体の１１個目が過ぎたら左端に寄り、ジャンプする。&amp;br()振り向いて敵の攻撃を左右に避ける。&amp;br()左端に寄り、分裂した体の１１個目が過ぎたら右端に寄り、ジャンプする。&amp;br()以降繰り返し。&amp;br()&amp;br()【ガッツタンク】&amp;br()５ブロック程度距離を空けて下がりながら攻撃する。&amp;br()ザコキャラをはいたら更に距離を空けてザコを倒し、元の距離に戻る。}

**マルチプレイ
***ルール
誰かが20体以上倒した時点で１ラウンド終了。
ボス戦のBGMが流れたら誰かがクリア間近になった合図。
勝率のランキングが発表される。
その後、新しいステージで２ラウンド目が始まる。
（初期設定の場合）

***サーバーの設定
&amp;color(red){UPDポート}を開放する。
-開放の方法はこちら。&amp;br()http://www.akakagemaru.info/&amp;br()ファイアウォールの例外にskulltag.exeを追加すること。
-開放の確認方法はこちら。&amp;br()http://www.akakagemaru.info/port/udp_port.html

MM8BDM.exeを起動し、HOSTタブを選ぶ。
#center(){&amp;ref(Image10.jpg)}

ポートに先ほど開放したポート番号を入力し、Launchボタンを押す。
必要に応じて処理の重いステージをMap Rotationから消す・Broadcast to server listのチェックを外す。
#center(){&amp;ref(Image9.jpg)}

サーバー設定画面が表示される。
クライアントが接続するとスコアボードに名前等の情報が表示される。
#center(){&amp;ref(Image11.jpg,,x=404)}

サーバー設置者自身がゲームに参加する場合はメニューからJoin serverを選ぶ。
#center(){&amp;ref(Image12.jpg,,x=404)}

接続に成功すればゲームが始まる。
最初は観戦モードなので、SPACEキーを押すと対戦に参加できる。
#center(){&amp;ref(Image14.jpg,,x=404)}

****ステージの変更
メニューのMapsよりChange map...を選ぶ。
#center(){&amp;ref(Image33.jpg,,x=404)}

Change mapにステージ名を入力し、Switchを押す。
一覧から選択する場合、無効なステージ名も含まれているためMM~から始まる名前を選ぶこと。
#center(){&amp;ref(Image34.jpg)}

#center(){|&gt;|&gt;|&gt;|&gt;|&gt;|&gt;|BGCOLOR(black):COLOR(white):&amp;spanid(map){有効なステージ名}|
|1|MM1CUT|MM1GUT|MM1ELE|MM1BOM|MM1ICE|MM1FIR|
|~|MM1DW1|MM1DW2|      |      |      |      |
|2|MM2BUB|MM2AIR|MM2FLA|MM2HEA|MM2QUI|MM2CRA|
|~|MM2WOO|MM2MET|MM2DW1|      |      |      |
|3|MM3SNA|MM3TOP|MM3HAR|MM3SPA|MM3SHA|MM3NEE|
|~|MM3MAG|MM3GEM|MM3DW1|      |      |      |
|4|MM4PHA|MM4BRI|MM4DIV|MM4DRI|MM4TOA|MM4DUS|
|~|MM4RIN|MM4SKU|MM4DC1|      |      |      |
|5|MM5CHA|MM5STO|MM5NAP|MM5WAV|MM5STA|MM5GRA|
|~|MM5CRY|MM5GYR|MM5DAR|      |      |      |
|6|MM6TOM|MM6CEN|MM6KNI|MM6BLI|MM6FLA|MM6WIN|
|~|MM6PLA|MM6YAM|MM6MRX|      |      |      |}

ステージが変更される。
#center(){&amp;ref(Image35.jpg,,x=404)}

****プレイヤーのキック・バン
スコアボード内のプレイヤー名を右クリックする。
#center(){&amp;ref(Image36.jpg,,x=404)}

プレイヤーがキック・バンされる。
#center(){&amp;ref(Image38.jpg,,x=404)}

***クライアントの設定
MM8BDM.exeを起動し、Connectタブを選ぶ。
#center(){&amp;ref(Image10.jpg)}

IP Addressにサーバーのアドレスを入力し、Connectを押す。
#center(){&amp;ref(Image13.jpg)}

接続に成功すればゲームが始まる。
最初は観戦モードなので、SPACEキーを押すと対戦に参加できる。
#center(){&amp;ref(Image14.jpg,,x=404)}

***プレイヤー名とキャラの変更
MULTIPLAYERを選ぶ。
#center(){&amp;ref(Image15.jpg,,x=404)}

PLAYER SETUPを選ぶ。
#center(){&amp;ref(Image16.jpg,,x=404)}

NAMEでENTERを押すと名前入力、SKINで←→を押すとキャラ変更。
#center(){&amp;ref(Image17.jpg,,x=404)}

***観戦モードについて
対戦に参加する前の状態で、スペースキーで対戦に参加できる。
観戦モードでは自由に移動できるので、空からの視点で観戦することも可能。
（空を見上げて前進すれば宙に浮く。初期設定ではマウスで視点変更。）
#center(){&amp;ref(Image21.jpg,,x=404)}

***投票について
ゲーム内から設定を変更する場合、投票を行う。
サーバー管理者のみならず、クライアントもゲームの設定を変更できる。

MULTIPLAYERを選ぶ。
#center(){&amp;ref(Image39.jpg,,x=404)}

CALL A VOTEを選ぶ。
#center(){&amp;ref(Image40.jpg,,x=404)}

CHANGE THE MAPを選ぶ。（ステージを変更する場合）
#center(){&amp;ref(Image41.jpg,,x=404)}

MAPに[[ステージ名を入力&gt;#map]]する。
ENTERで入力受付・決定。
#center(){&amp;ref(Image42.jpg,,x=404)}

VOTE!を選ぶ。
#center(){&amp;ref(Image43.jpg,,x=404)}

投票が開始されるので、キーボードのY/Nで投票する。
（CUSTOMIZE CONTROLのVOTE YES・VOTE NOにY/Nを設定している場合。）
#center(){&amp;ref(Image44.jpg,,x=404)}

賛同者が多ければ可決し、ステージが変更される。
#center(){&amp;ref(Image45.jpg,,x=404)}

***デモの再生
マルチプレイをすると対戦内容が自動的にデモファイルに記録され、後からプレイ内容を確認できます。
デモファイルは以下の手順で再生できます。

+MM8BDMと同じフォルダにDEMO-xxxxxxxx-xxxx.cldというファイルがあることを確認する。
+MM8BDMと同じフォルダにskulltag.exeというファイルがあるので、右クリックでショートカットを作成する。
+ショートカットを右クリックし、プロパティを選ぶ。
+リンク先に以下の赤字の部分を追記する。&amp;br()C:&amp;yen;skulltag.exe &amp;color(red){-iwad megagame.wad -file MM8BDM-v1a.pk3 -playdemo DEMO-xxxxxxxx-xxxx.cld}
+OKを押し、プロパティを閉じる。
+ショートカットをダブルクリックする。
+デモが再生される。 

***サポートしている対戦モード
-Deathmatch 
-Team Deathmatch 
-Last Man Standing (Randomly selected weapons) 
-Team Last Man Standing 
-Possession 
-Team Possession 
-Capture The Flag 
-One Flag CTF 
-Terminator 
-Duel 
-Instagib (All robots fire instant killing Metal Blades) 

**詳細な解説
[[DOOM @wiki&gt;http://www8.atwiki.jp/doom2k/]]を参照。
MM8BDMに使用しているDOOMエンジン・Skulltagの項目は特に参考になります。
また、海外に[[Mega Man 8-Bit Deathmatch Wiki&gt;http://mm8bdm.wikia.com/wiki/]]というサイトもあります。

**トラブルシューティング
&amp;color(red){&amp;bold(){博士の部屋の台に乗って、ゲームを始めると落ちる。}}
台に乗ったら少し待ってから始めましょう。

&amp;color(red){&amp;bold(){ロボットの部屋の台に乗ると落ちる。}}
解像度を一時的に640x480にしましょう。

&amp;color(red){&amp;bold(){途中でセーブできない。}}
チャプター終了後に自動セーブされます。

&amp;color(red){&amp;bold(){チャプターの途中から始めたい。}}
&amp;color(red){&amp;bold(){難しくてクリアできない。}}
&amp;color(red){&amp;bold(){特定のステージで落ちるので飛ばしたい。}}
メニューからOPTION-GO TO CONSOLEを選び、以下のコマンドを入力してゲームをチートしましょう。
コンソール画面を閉じる場合はESCを押して下さい。

|BGCOLOR(black):COLOR(white):コマンド|BGCOLOR(black):COLOR(white):効果|BGCOLOR(black):COLOR(white):備考|
|map ステージ名|ステージの移動|[[こちらのステージ名を入力&gt;#map]]|
|god|無敵|もう一度入力すると解除|
|give health|体力回復||
|give weapons|全武器取得||
|give ammo|全弾薬取得||
|give all|全て取得||

&amp;color(red){&amp;bold(){パッドが利かない。}}
JOYSTICK OPTIONSのAXIS ASSIGNMENTS・AXIS SENSITIVITYを調整しましょう。
駄目なら[[JoyAdapter&gt;http://okamoto.ws/cc/]]や[[JoyToKey&gt;http://www.ac.auone-net.jp/~jtk/]]を使いましょう。

&amp;color(red){&amp;bold(){フォルダの容量がどんどん大きくなる。}}
マルチプレイをすると対戦内容が自動的にデモファイルに記録されるためです。
MM8BDMと同じフォルダにあるDEMO-xxxxxxxx-xxxx.cldというファイルを削除しましょう。

&amp;color(red){&amp;bold(){その他のバグについて。}}
[[公式フォーラム&gt;http://cutstuff.net/forum/viewforum.php?f=25]]をご覧下さい。

　
　　    </description>
    <dc:date>2011-10-16T02:41:42+09:00</dc:date>
  </item>
  </rdf:RDF>

