//www.旧型、PSP開発幼稚園.game.jp/(本館) -25ページ目

実行が不安定な遠因

SEGADRIVE A29不思議ちゃん2がダメだが、スタークルーザー起動!までワwwww-プSEGADRIVE A29不思議ちゃん2相変わらず(途中で)死ぬ上に、スタークルーザー再び起動しない(泣)SEGADRIVE A29不思議ちゃん2がダメだが、スタークルーザーやっぱ起動!ですう違うんだ。スタークルーザーは、違うんだ。New!


■■(PSP開発で)実行が不安定な遠因(2006-05/20)

SEGADRIVEA29開発中だが、初めに大前提として、今回Z80コアは弄ったが、
MPUコアは(M22+、M33+)共に一ビットも手を付けてない。

■で、UNZIPLIBを内蔵型に変更してみた。 M22+版は、普通にZIP-ROMを読む。 M33+版は、二回に一回ぐらい読み込み失敗する。(続けて読ませれば大体成功する。)
■んで「不思議」だったが、まあ「そんなもんかな」と思い。さらに開発を続けた。 今度は放置してあった「CRTC」のタイミングを詰めてみた。 これは、今までのVERではあった、「実機に存在しない無駄なCPU時間」を削る。 当然早くなる。だって、、「実機に存在しない無駄な時間を空費してるだけ」。なんだもん。当然だ。 だが、「それだけの変更」で、「起動しないゲーム」が出てきてしまう。(後述のAB2)。 やはり、まだ少しハヤイみたい。少し「甘め」にして戻すかな...。
■それはともかく「興味深い」現象が起きた。 前回「インセクターX」でM22+は正常に実行するのにM33+は死ぬ。 これも「不思議」だが(「ソーサリアン」みたいに、逆なら納得)。 それから22+版で「一部のゲーム」が「読み込み不安定」または「起動しない」(なんとPSP毎死んだ)
□この「起動しない」は一寸不思議な現象だったんで解説。 まずコンパイル後のM22+とM33+を実機に転送。M33+でアルファベット順に、「チェック開始」。AからZまで終了。 次にM22+の「チェック開始」。まずアルファベット順の先頭にあった(32MBのメモカなんで、中身は入れ替える) AB2.つまり電波新聞社の「アフターバーナーⅡ」だな。こいつを読ませたらPSP毎死んだ。 直前にM33+で、「チェック」をした時には「起動したのに」と思い。PSP再起動後。また読む。再びPSP毎死んだ。 PSP再再起動後。「アフターバーナーⅡ」はあきらめ他のソフトをZまで「チェック」。疲れたんでいったんPSP切る。 PSP再再再起動後。M22+で「アフターバーナーⅡ」起動した。
技術的には「熱暴走」らしい。(が納得いかない)しかも「PSP本体」ではなくて「メモカの特定バンク」かも知んない。 メモカはFLASHを使ってるから、「内部的には相当熱くなる筈」だ。こんどそーにーがHDDヤメテFLASHのPC出すそーだが。 FLASHはHDDと放熱量同等どころか、最近のはHDDより放熱量多い。「熱対策」しないとドウナッテモ知らんぞ、まあ他人事だが。 (イカン、つい無駄話モードに突入。...スマンス)


■んで、もう一回「CRTC」の話。結局「CRTC」変えて「チェック」で「起動しない」のは「実はなかった」。 つまり全部起動は出来た。が、「M22+版だけタイミングでバグるゲーム」が少し。(M33+版は正常) 今度は、本当に「私が変えた部分が原因」。さっきのは「ハードウェアーのせい」。紛らわしい。 普通3回チェックして(しかも電源落として再起動して)で、動かなかったら、「プログラムのバグ」だと思うぞ。 で、「そういう事」で、「メモカ」入れ替えよーかな。
■FLASH(つまり32MBのメモカ)「5ヶ月」も「毎日酷使」してると。(もうトータルで一年目)。 少し「平均読み込み速度」が「遅くなる」のかもしれん。つまり内部的にREADエラーが出てリトライするんじゃないかな。 「寿命」はずーっと先としても、「新品より性能が落ちる」んだろう。シロートなんで「断定」は出来ないが。
そおいや「メモカ」のパッケージングって「プラスチック」だな。少し削って、アルミのシールでも貼り付ければ、 安定するかも知れん。 ◇メモカ改造。紙ヤスリでひたすら削り、アルミのシールを貼りメモカに合わせて切ればヨイ。 面白そうだから、今度やってみよ。 注意:妄想なので、アワテテ実験しないよーに。(万一PSP内部にシールが剥がれて取れなくなった場合は、 高ーーーーい修理代取られます。しかも「サービス」でMYPSP1.0が最新型の2.70に!!ウレシ非ー) つまり「シール」じゃ「絶対的にダメ」
どこかシェルがステンのメモカ作ってくんないかな。厚み1mm以下(で剛性を確保する)工作は「シロートには」キツスギ。

■「ハードウェアー」の話はこの辺で、今度は「ソフトウェアー」の話。 うちでは、M22+版より、M33+版の方が「常に読み込み不安定」なんだが。(一回「メモカ」フォーマット。してやり直したが、カワラズ。) 不思議。 で、やっぱり「ソフトウエアーの構造」にも問題があるのかも知れない。 基本的な事だが。「PSPをハングアップ」させるとしよう。ハングアップしても「HOME」で終了出来るから。 なんの問題もない。(予めコールバックは登録してあるとする) 「PC」で「ハングアップ」させるプログラムは、
while(1){;}
でいいよな。でもPSPじゃあダメ。それではOSが不安定になる。つまり上記では、 CPUが時間を握って、割り込める隙が少ない。OSが入り込める時間が「ホンノワズカ」の為。 「PSPが不安定」になる。まあ、当たり前だな。ここはPSPなら、
#ifndef v_sunc #define v_sync sceDisplayWaitVblankStart #endif while(1){v_sync();}
って書かないと。それがどおした。って言われちゃうが、話はまだ続く。
つまり要点は「定期的にOSに時間を割り振る事」つまり「v_sync」取れば話は解決。
■で、この話は「unziblib.a」につながる。つまり「ZIP展開」は「それなりに重い処理」だろ? だって「Cでへろへろ書いた、メガドラエミュが動いちゃう」マシンって「PC」に換算して、少なく見積もって「P200」クラス。 その程度の能力はPSPにある。その同じマシンで、「ZIP展開」に「秒単位」(一秒を超える場合がある)かかるってのは。 「実はとんでもなく重い処理」。「ZIP展開中に定期的にOSに時間を渡してあげない」と「PSPが不安定になるよ」
云われてみりゃ「アタリマエ」の話だよな。でも、「原理」は判っても「対策」は「シロートなんで棚上げ」 (多分SCEのライブラリ、ダミーで呼べばいいんじゃないかな?ちなみにv_syncは60回で1秒も経っちゃうから駄目) じゃな。(2006-05/20)
■■うううん。オカシー。いや面白いのではなくてイカレテル。(余計表現にモンダイが...) ええと、「AB2」が悪い。あ、人のせーにするんじゃなくて。何度やっても「AB2」を最初に読み込むと、 「PSPごとハング」。ダミーで、「他のROMを読ませると」その後AB2読んでもOK.ちうか起動する。 ムムムムム...MPUのエミュレーションの初期化部分がバグってるっぽいな。現在、山奥に住んでるから山勘が、 はたらくしな。そもそも言う事が山師。 なーんかさ。実は「私だけの問題」ではないんよ。こっそり。えっとね。このまえDGEN150が出てさ、んで その時忙しかったから、出て何日かして、やっと気がついてさ。んで、PSP1.0何台もないから、当然。 「DGEN150Liteのみ」DLしてさ。で、チェックしてみた訳。 DGEN150は良いよ。ハッキリ言って、もうDGEN140はイラネー。DGEN140は既に<ピーーー> <ただいまWEBが混線してます。大変ご迷惑をおかけしまつ> という訳だ。
コースケ氏、聞いてる?DGEN150なら「グラナダの一面」は遊べるジェー。「ダライアスⅡ」もまあ序盤は良いよ。 「エアバスター」じゃなかつた。「エアロブラスターズ」は、...。まあ次のVERに期待しような。きっとSYNZさんなら、 やってくれる筈。
とにかくDGEN150は良い。今までの総てのPSPのメガドラエミュはイラネーちゅー感じ。 RPGやTSGやその手の(SAVE必須の)奴は、現在DGEN150で決まり。でも、「スタークルーザー」とかは、 「ちと厳しい」んじゃないのかな。もちっと「残像対策」お願い。
WEBの某所で(今更書かない)PSP10、ごまnとか。サギに近い。何が言いたいかってゆーと、もうそーゆー時代だからさ <以下愚痴なので約10000行削除。ウソ> SYNZさんのページにさ。DGEN140LiteのDL数は すげえな「スパⅡ」動いたって。 「こっそり<中略>日記」読もう!今すぐ! 新たに 「魂斗羅」、 「パノラマコットン」、 「スーパーストII」 が動いたって。 しかも「デバッガ」まで自作してるし、ちなみにうちは、ケナゲに「妄想デバッグ」です。別にどっちが優秀って 事は無いんだが、「作っちゃう」のは(心意気が)すごいな。 じゃあがんばってねwwww(2006-05/21、00:48) ダイタイ「魂斗羅」なんてソフトは「すっかりわすれてた」よ。あんときゃ子供だったが、しっかり大人に育っちまったしな。 ■SEGADRIVE A29不思議ちゃん2がダメだが、スタークルーザー起動! ってタイトルのまんま。なにも説明する事ない。ちなみに今2006-05/21、05:30。 ハヤオキは得だろ? うううnko氏。許せ。SEGADRIVEが次のステージに進化する為には、現状の(開発中A29の)CRTCの実装が、 絶対不可欠なんだ。うううそのうち、対応するかも。うううDGEN150では動くからそっちで遊んでくれ。(それかA28以前の過去版) ううう本当にスマンス。が、多分しばらくは「不思議ちゃん2」は「どおがんばっても動かない」状態が続くと思う。 「プログラム」を「進化」させる為には、「順序」があるんだ。どおしてもこの「火の輪」をくぐらないと、 次のステージに進化出来ない。
何を書いても言い訳だから、ゴメン。しばらくは無理。
...でも、これでやっとZ80を換装出来る技術的準備が整ったとこ。でも、変えても変わらないかも。それよか先に m68のIRQコールバック作るよ。他にもやらなきゃナランとこいっぱいあるし。しろーとだからそんなに速くは出来ない。 きなーーがに進化させる予定。ううう。 (2006-5/21、06:06) ■すすたーくるーざー、うごかねえ。け、けさは動いたじゃん。なななんでだあ? 今日、一日。「不思議ちゃん2」なんとかならないか、あちこち弄ってた。が、「スタークルーザー」 再び起動しなくなってる! で、(バックアップなんてイカスものは無い)弄ったと思わしき所、全部戻して。 で、「起動しない」。 うっそーーん。 (これから原因追求です。2006-05/21、19:41) 今日1日弄ってたのは「M22+」版。つまり「ソースリスト」は「この世に存在しない」が、 「今朝のM33+版のバイナリ」なら「MYPSP10」の中にあるし、「スタークルーザー起動する」。 証拠物件として「別館に挙げる」但し「ソースリストはこの世に存在しない」。 (スタークルーザーの音楽を聴きながらデバッグちゅー) (これから原因追求です。2006-05/21、19:50) ■スタークルーザーやっぱ、動く!。 ううう、現実世界はとても「過酷」やっと時間が取れた。 原因は単純 「M22+版は動かない」。 「M33+版は動く」。 つまり、始めから動かない「M22+版を、動くと信じて勘違い」したのが原因。 アフォ~~~ー。 でも、「ぷよぷよ」も(少し)ヨクナッタよ。(別ページ「ぷよぷよ1のなぞ」) じゃね。(2006-05/24、20:59) ■スタークルーザー。ち違う!!! ちょっと、ちょっとお。違う。スタークルーザー。違うよ。 SEGADRIVEA29開発版で、スタークルーザー動くよーになったから、 DGEN150立ち上げて、どんなもんじゃろ。ってちぇっくしてみた。 違う。違よお。あれじゃあ。スタークルーザーじゃないよお。 DGEN150立ち上げて、スタークルーザーロードして、ほっぽらかす。 お、音楽がトロイ。なんか変。つまり現時点で、スタークルーザーはPSPでまだ遊べない。 別館の証拠物件はもうイラナクナッタんだが、さしあたりアレでも、スタークルーザーだ。 まだ遊べないのか。知らんかった。
ちなみに現在の開発状況は「例によってパフォーマンスチェック値は下がり、体感的に速くなってる」 ヨクワカンナイがこのまま突き進もう。 不完全なのは毎度の事だからそろそろ別館にUPしようか? 「パフォーマンスチェック値」が下がってるのに、(微妙だが)ゲームはやりやすくなった。 (2006-05/26、01:16)
■■ちう訳で、別館にA29UPした。きょーはもう寝なくちゃイケナイんだけど、もう少し。 えっとね、SEGADRIVEはどーせ、シューティング(やアクション)専用。だって未だステート無し。 今回の「M22+版の使い方」(秘)←なんかなつかしー響き。 えっと、音はOFF。んで、縦画面モード。(Screen swap XY:ON)寝床のまくらにPSPを押し付けて、うつ伏せで(こっそり)ゲーム。 これが一番良い。例えば「デンジャラスシード」。ScreenModeは「Minios(B)」、もちろんコンパネは、 「allow-button(XY)」、めんどいからオートモード「FrameSkip:60」。 SEGADRIVEA28だと、「大幅に処理落ち」してたと思う。が、「小幅な処理落ち」になった。平たくいえば、 「なんとか遊べるよーになった」 色々試してみよー。 (2006-05/26、02:28)