「開発資料」の編集履歴(バックアップ)一覧はこちら
「開発資料」(2017/04/17 (月) 21:33:44) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
ポケットステーション対応ソフトの開発資料や関連資料を掲載したサイトを紹介します。
#openclose(show=開発メモ){{{
配列のサイズを大きくするなどしてメモリを消費すると、予期せぬ動作を起こします。
static unsigned char monsbuf[640];
逆に配列のサイズを抑えれば問題なく動作します。
static unsigned char monsbuf[320];
グローバル変数の配列に対して、宣言時に初期値を設定すると予期せぬ値がセットされるようです。(ローカル変数については問題ありません。)
static char newsR[] = {2,3,0,1,2};
int main(int argc, char *argv[])
{
:
}
これは次のようにして回避しています。
static char newsR[5];
int main(int argc, char *argv[])
{
newsR[0] = 2;
newsR[1] = 3;
newsR[2] = 0;
newsR[3] = 1;
newsR[4] = 2;
:
}
CHAR型の配列に正しくアクセスできない場合があるようです。(参考:[[まつものページ>#matsumo]])
char save_data[128];
char idx;
for (idx=0;idx<128;idx++) { save_data[idx] = 0; }
配列のポインタにて処理すれば問題ありません。
char save_data[128];
char idx;
for (idx=0;idx<128;idx++) { *(save_data + idx) = 0; }
同じようなケースとして、INT型のポインタをCHAR型にキャストして参照すると正しくアクセスできません。
int *p;
:
a = *((char *)p + 1);
これは以下のような関数を介して参照すると回避できます。
static char retchar(long ipos)
{
int wpos;
char shift;
wpos = ipos / 4;
shift = ipos % 4 * 8;
return *(p + wpos) >> shift;
}
:
a = retchar(1);
BGMや効果音を鳴らしたままFLASH ROMへの書き込みを行うと動作が停止します。
(TIMER2が原因?)
サウンドを止めてから書き込みを行えば回避できます。
}}}
エミュレータ上では動作するが、ポケステ上ではバグの原因となる事例について。
[[kumiko's Room2>http://remus.sakura.ne.jp/error/]]
ポケステソフト開発の記事やツールがあります。
[[robot.iwaiの入れ込み情報ページ>http://robot.my.coocan.jp/]]
『開発環境構築のページ』-『ポケットステーションの開発環境のページ』にポケステソフト開発の記事があります。
別サイトにリダイレクトするのでJavaScriptをオフにしてご覧下さい。
[[びんずめ堂>http://www.binzume.net/]]
『書庫』-『ポケステで遊ぶ』にポケステソフト開発の記事があります。
[[プレステPAD/メモリの解析>http://www.vector.co.jp/soft/data/game/se020797.html]]
メモリ・インターフェースの解析情報があります。
[[海岸沿い倉庫>http://page.freett.com/seaside/]]
『資料倉庫』にメモリーカードのデータ構成の記事があります。
[[Orion_'s WebSite>http://onorisoft.free.fr/]]
ポケステ開発キットがあります。
[[Welcome to ~ert>http://www.geocities.co.jp/SiliconValley/1771/]]
BMP画像からポケステ用16進数データを出力するツールがあります。
[[サンプリング周波数変換>http://www.vector.co.jp/soft/dos/art/se107970.html]]
WAVEファイルのサンプリングビット数を自由に変換できるツールがあります。
[[ARM>http://www.arm.com/ja/]]
ポケットステーションに使われているCPUを開発した会社のサイトです。
&s(){[[Miko's Pocket>http://www.geocities.co.jp/Playtown-Bingo/3888/]]}
ポケステソフト開発用のC言語ソース「PocketHello」が公開されていました。
&s(){&spanid(matsumo){[[まつものページ>http://www3.to/matsumo]]}}
ポケステソフト開発の記事やツールがありましたが、トップページ以外は消えています。
&s(){[[ARMメモ>http://www.bomber.co.jp/chaola/docs/ARM/]]}
ARM用プログラミングの説明がありました。
ポケットステーション対応ソフトの開発資料や関連資料を掲載したサイトを紹介します。
#openclose(show=開発メモ){{{
配列のサイズを大きくするなどしてメモリを消費すると、予期せぬ動作を起こします。
static unsigned char monsbuf[640];
逆に配列のサイズを抑えれば問題なく動作します。
static unsigned char monsbuf[320];
グローバル変数の配列に対して、宣言時に初期値を設定すると予期せぬ値がセットされるようです。(ローカル変数については問題ありません。)
static char newsR[] = {2,3,0,1,2};
int main(int argc, char *argv[])
{
:
}
これは次のようにして回避しています。
static char newsR[5];
int main(int argc, char *argv[])
{
newsR[0] = 2;
newsR[1] = 3;
newsR[2] = 0;
newsR[3] = 1;
newsR[4] = 2;
:
}
CHAR型の配列に正しくアクセスできない場合があるようです。(参考:[[まつものページ>#matsumo]])
char save_data[128];
char idx;
for (idx=0;idx<128;idx++) { save_data[idx] = 0; }
配列のポインタにて処理すれば問題ありません。
char save_data[128];
char idx;
for (idx=0;idx<128;idx++) { *(save_data + idx) = 0; }
同じようなケースとして、INT型のポインタをCHAR型にキャストして参照すると正しくアクセスできません。
int *p;
:
a = *((char *)p + 1);
これは以下のような関数を介して参照すると回避できます。
static char retchar(long ipos)
{
int wpos;
char shift;
wpos = ipos / 4;
shift = ipos % 4 * 8;
return *(p + wpos) >> shift;
}
:
a = retchar(1);
BGMや効果音を鳴らしたままFLASH ROMへの書き込みを行うと動作が停止します。
(TIMER2が原因?)
サウンドを止めてから書き込みを行えば回避できます。
}}}
エミュレータ上では動作するが、ポケステ上ではバグの原因となる事例について。
[[kumiko's Room2>http://remus.sakura.ne.jp/error/]]
ポケステソフト開発の記事やツールがあります。
[[robot.iwaiの入れ込み情報ページ>http://robot.my.coocan.jp/]]
『開発環境構築のページ』-『ポケットステーションの開発環境のページ』にポケステソフト開発の記事があります。
別サイトにリダイレクトするのでJavaScriptをオフにしてご覧下さい。
[[びんずめ堂>http://www.binzume.net/]]
『書庫』-『ポケステで遊ぶ』にポケステソフト開発の記事があります。
[[プレステPAD/メモリの解析>http://www.vector.co.jp/soft/data/game/se020797.html]]
メモリ・インターフェースの解析情報があります。
[[Orion_'s WebSite>http://onorisoft.free.fr/]]
ポケステ開発キットがあります。
[[Welcome to ~ert>http://www.geocities.co.jp/SiliconValley/1771/]]
BMP画像からポケステ用16進数データを出力するツールがあります。
[[サンプリング周波数変換>http://www.vector.co.jp/soft/dos/art/se107970.html]]
WAVEファイルのサンプリングビット数を自由に変換できるツールがあります。
[[ARM>http://www.arm.com/ja/]]
ポケットステーションに使われているCPUを開発した会社のサイトです。
&s(){[[海岸沿い倉庫>http://page.freett.com/seaside/]]}
『資料倉庫』にメモリーカードのデータ構成の記事があります。
&s(){[[Miko's Pocket>http://www.geocities.co.jp/Playtown-Bingo/3888/]]}
ポケステソフト開発用のC言語ソース「PocketHello」が公開されていました。
&s(){&spanid(matsumo){[[まつものページ>http://www3.to/matsumo]]}}
ポケステソフト開発の記事やツールがありましたが、トップページ以外は消えています。
&s(){[[ARMメモ>http://www.bomber.co.jp/chaola/docs/ARM/]]}
ARM用プログラミングの説明がありました。