PSP開発と関係がないとは言い切れないけど、長いしこのページは、きっと読んでも時間の無駄かも。
■とにかく(念願の)FSKIP0動作が出来るようになったので、(まだ重いです)
こちらの「A17」で、DARIUSⅡで遊んでみた。
(FSKIP0、5512、VSYNC-OFF、Geフル画面(これは外せん))
45fps(秒間45枚)ぐらいだが、遊べる。
シューティングゲーム全般にいえる事だが、
FSKIP0にしないと、自機が消えたり、当ってるのか当ってないのか判らなかったりして、
やられても「ずるい」としか思えない。つまり、どんなに画が本物っぽくても、音が綺麗でも、
現実のゲームとして遊ぶのが不可能だ。
コットンなんてFSKIP0にしないと、オプション画面のカーソルすら表示されない。
本当にみんなあんな状態でメガドラ動いたなんて、満足してるのか?
ちゃんとゲームで遊んでみたか?
動作はするけど、とても遊べない状態ではないのか?
管理人、技術も無いのに大口叩いても仕方ないけど、
PSPDGENも
PSPGENESISも
その他(もちろん管理人の実験版はもっとずーーーと低レベル)
も残念ながら、現状ゲームは動作するが。まだ遊べるレベルではない。
とにかく、DARIUSⅡだ。音楽5512kHzという、明らかにずるしてるんだけど。
45fps(秒間45枚)はとろすぎなんだけど、
でも遊べる事を発見。
DARIUSⅡの特殊事情だ。弾の速度が非常にゆっくりお子様バージョン。
面の長さが長くてタルい。
でも、キャラクタのスピードは、あれ?これぐらいでもいいじゃん。って感じ。(だから遊べる)
但し、長ーーーいから、2~3面で飽きる。
それから、レンダーにバグがある事も発見。やはりDGENのコアは古いので、
一生懸命バグ抜きしないと、駄目だ。(まだ何もコアは手をつけてない)
面選択画面でBG(CHR)チップの上下の判定に失敗している。
これは上下反転機能が(一部しか)実装されていない可能性がある。(っていうか、そのとおりだろう)
ソースは見てないが、おそらくこれの対応は、難しいか処理速度が落ちる。
他のゲームもFSKIP0で遊べるのがないか、試してみよ。
OutRunをFSKIP0で試してみた。
とてもじゃないが、ゲームにならん。
35~37fpsぐらい。(秒間35枚)
最低でも45fps(秒間45枚)は超えないと、ゲームにならん。
音楽はラクダの歩くようなスピードで、気が抜けて、タコミス連続。
なのにタイムは余りまくる。
一面の最後の少し速度を緩めるポイントは、全く緩める必要なし。
実はアーケードでも、めちゃくちゃ反射神経が発達した人は、神業のハンドリングで
フルアクセルで抜けてたが、一般人が真似すると事故り、
必ずチェックポイントに引っかかって100円損する。一面は一度でも事故ると、
二面に行くのがつらい設定になっている。
メガドラ版はそんなには難しくは無いのだけれど。
駄目だ、子供だましにもならん。(っていうかOutRunなら素直にFSKIP入れて遊べよ)
よい子は真似をしないでね。FSKIP1、11025なら52fpsぐらい(つまり秒間26枚)で遊べます。
スラップファイト、は動作しなかった。やっぱコアが古いからな。他ので遊んでくれ。
PSPGENESISではきちんと動くぞ。fpsは不明だが(設定すらない)40ぐらいは出てそうだし(憶測)
まさか、60なんて出てるわけない。ちらつきで判るぞ。
ただ、あれはDGENよりさらに古いコアがベースみたい。ちょっと調査不足だが。
と思ったら、コアGeneratorじゃん。(0.15のソースDLした)こいつはドイツ出身だったよな。確か。
Mekaってマスターシステム/セガマークⅢエミュレーターを作ってる所出身の奴。確か。
まだコンパイルすらやってない(もう疲れた)が、今度やってみるか。
Generatorは少し癖のあるコアなんだよな。でも68000とか入ってるし、入れ替えて遊んでみようか。
GeneratorはUpDateOne、ラスター毎更新の筈だから、フレーム毎にしたら、少し軽くなるかも知れないし。
FSKIPをきちんと対応させたら、どの程度のパフォーマンスを出すのかも興味ぶかい。
ソース眺めてみたら、「libYumePSP.a」というものが添付されていて、これをリンクさせる必要があるらしい。
(こいつのソースは添付されてない)
PSP_NesterJで、この件は懲りてる(過去日記参照)ので、バイナリでアーカイブを覗いてみた。
GCC400を使ってるらしいから、上手くリンクできるかも知れない。あとSETJMP.Sってアセンプラの
プログラムがある。
SETJMPというのは何かというと、管理人はCなら一応全部解るので、C言語が「全部一通り」解かる人なら、
常識なんだか。(世の中には「齧っただけ」なのに、全部解かるってハッタリかます輩が多いので注意)
ちなみに管理人CPPはまったくちょっとしか解からない。(こっちは齧った程度)
それは、ともかくSETJMPって仕組みは、
ほら、コンパイラでコンパイルすると、エラーメッセージやワーニングが、「もうやめてもいいよ」って思っても
だらだらだらだら、出てくるだろ。あれは、このSETJMPを使って実装している。
これだけで十分(判る人には)説明になってるんだが、どうせ自分で調べるなんてめんどい事はせんだろうから、
平たく言うと。取り敢えず都合の悪いことが起こっても(つまりはエラーやワーニング)、
それは、とりあえずなかった事にして実行をつづける仕組みだ。ここはC言語講座じゃないんだから、
この辺で勘弁してくれ。一度でもエラー処理を作った事のあるプログラマなら、エラー→強制終了。
だけでは、不便だ。なんとかしろーーーーと思う筈。(思ってくれよ)そこでsetjmpとlongjmpの登場。
2つしか関数(のふりをした仕組み)ないんだから、後は自分で調べろーーーがーーーー。
(ちなみに関数名は「名前」であって、意味なんて無いと思うよ。特にこの場合)
こいつを使えば(標準ライブラリのインクルードする必要もある。標準ライブラリってstdioだけじゃないんだよ)
ファイルが読めなかっただけで、ワーニングが10個でるプログラム作るのも簡単(欲しくない)。
ああ、いつの間にやら無駄知識全開モードに移行してる。
よく判らんが、コンパイルしてみるか。でも妙にたくさんMakefileがあって。コンパイル大変そう。
ちっともMakeのありがたみが判ってなさそう。こんなに沢山あるんなら、メインのMakeから
一括インクルードとか、共通部分は別にしてインクルードとかなんとかしといてよ。訳わからんし、
その時点でエンバグしちゃうよ。DGENみたいに位置変えただけで’-lc’のせいでコンパイルできるけど、
起動失敗するのもあるんだからさ。と思ったけど、まずはコツコツやってみるよ。(仕方がない)
(2006-02/11、16:37)
と思って、インターネットあさってみた。このファイルアーカイブは、何時何処から持ってきたのか覚えてないが、
VER0.05のソースらしい。
現在は古いのがVER0.11で、
新しいのがVER0.15のソースを配布してるらしい。
オフィシャルサイトに行って登録してみたが(登録しないとDL出来ない仕組みになってる)
登録自体が撥ねられてできない、(ボッツ対策?)。のでDLできなかった。
めんどくさいから、この0.05を無理やりコンパイルしてみるか。参考になるPSPのメガドラエミュのソース
二つもあるんだし、でも、もちっと、調べてみよ。
(あ、そおいえばSETJMPは本質的には不要なんだけど、ライブラリが使ってそうじゃん)
とりあえず0.05を少し調べてみた。
Z80は「Portable Z80 emulator V2.7」。これは平たく言えば、MAME標準。ちなみにお魚さんの
Z80は「Portable Z80 emulator V2.8」。ほぼ同じ物だ。
あんまりソース眺めてたら、Z80のお勉強になりました。
そうか、メガドラはZ80のポートなんて使ってないよな。使ってたっけ?
(管理人の知識の範囲では使ってないと断定できる。DGENは使ってない。
ここはGensを調べる必要があるな。)
あれ全部Z80コアから外しちゃえば多少は軽くなるかもな。
なんだぁ。PSPMAMEのソースとってこれるじゃん。ドイツの科学力は世界一ですな。
ドイツのどっかttp://www.psparchive.de/にいって、
「MAME」で検索すれば、いいんだぉ。
Downloading pspmame04_src.zip (767.1 KB) だよ。
PSPMAME r0.4 source
TMK
PSPMAMEのソースです。
オリジナルからの変更があったソースのみ収録しています。
MAME0.97 がベースになっています。
src/pspフォルダがPSP用コードでmsdos用のコードを参考にPSP向けに作成してあります。
(機種依存コードのが多くがここに含まれています。)
だそうな。さっそくMAME0.97をDLしなくっちゃ。 と思いオフィシャルに行っては見たものの
0.69までしか過去ソースはない。まあ、0.69も、0.97も、現在の1.04もどおせ対した違いは
無いと思うけど、なんとかしなくちゃな。(17:47)
今HDDの開きが367MBこの前CD焼いた時。800MB以上あったから、500MB以上ゴミが溜まってきた
って事だ。この前みたいにきつきつになってから焼くと凄く苦労するから、そろそろ焼いとくか。
焼くのはいいんだけど、後で自分が検索できないんだよね。まあ、いっか過去にはこだわらないって事で。
MAMEのソースも2001年ぐらいまでは必要だったから落としたけど、残りの2003年までの分をせっせと
落としてCDに焼くか、ゴミ達と一緒に。今日はその作業かな。あーDLと焼き。めんどくせ。
ドイツのここで、「SRC」で検索すると、21個。
主なソース一式ある事が判った。UAEってやつはAmigaだから、参考になるかもしれん。
RINとかは持ってるし、yoyofrはなにもオフィシャルのうざいサイト行かなくてもここで手に入るじゃん。
全体的に古めだけど、そこがまた良い。一度はいってみるのがお勧め。
バイナリは要らん。ソースだけくれ。(2006-02/11、19:12、夕食後)
uo_Snes9x_002y9src.zipもありやんの。(DGENもRINもこれ真似してたみたいだけど、手に入んなかった
からお魚さんのGPU対応は、適当にやっつけたんだよね。あのお魚さんのGPU対応は、カット&ペーストで
ただ貼り付けたんじゃなくて、それなりに考えたから、RINやDGENとは違うタイプなんだ。別にGPU使うん
なら無理にフレームスワップする必要ないってのが管理人の見解。別にちらつかないだろ。きっとあれで
いいんだよ。所詮ポリゴン1枚だ)
多分現時点では、過去ソース。世界一品揃えがいいな。
他いって、ちんたら探しても、どおせリンク切れだよ。PSP開発もめんどくさい時代にはいって、
上記DCEMUみたいに登録必須とか、DLぐらいさせろよ。GPLなら、わけ判らん。
reflectionsrc.zip (42.1 KB)
こいつは、 某ブログでやったよって報告あったけど、古すぎてソースリンク切れだったから、ふーん。で、
終わった奴だな。かなり前のネタだ。本当になんでもあるな。ここ。
そうそう。これは簡単なキューブを回すポリゴンのサンプルだ。これはそのうち面白そうだからトライしてみよう。
まだZIP開けてもないけどな。
DLめんどくせ、RINとかあるから全くいらんが、DLの都合上全部落とす事にした。あとでCD
引っ張り出してきて、同じのはその時点で消せばよい。めんどくさ。
こういういちいち「accsept」とか押させるちまちましたDL。嫌いなんだよ。
pspchess_src031.zip (2.69 MB)
チェス好きだったらすまんが、タイトル見るだけでくだらなそうだな。このアーカイブは一生開けないかもしれん。
が、なんで圧縮して2.5MBもあるんだろ。最低でも3倍には膨れるだろから、画像か音だな。
Name: TerrainSrc2.zip (92KB)
これはなんだろ、3dの特殊な使い方かなんかかな?気になるなあ。
こういうサンプルソースは小さいほど、役に立つんだ。92kbだから先のチェスデモより200倍は役に立つ。
と思う。面白そうだな。
よし、21個全部DLした。ここに「libYumePSP.a」のソースなんて、ないから、きっと世界中捜しても、何処にも
ない。つまり公開されてない。管理人はそんな怪しげなライブラリ使うのやだよ。どんなに性能が良くったって。
大体、yoyofrはソース公開しないって言うジャン。別にそれは個人の意見だから公開しないって言う意見は、
尊重するし、人にはそれぞれ独自の考え方がある。
でもね、その理由は気に食わない。正式版が公開されるまで、ひとつ前のソースしか公開しない。
これはバージョン管理をしたいからです。この理由はごもっともです。訳わからんのが次の理由。
勝手に必要のないプログラムをつけて公開する人がいるからです。これっていわゆるトロイの木馬とか
くっつけて蒔く人がいるからってことでしょ?だったら、ユーザーの立場としては、いくら最新版で速いって、
言われても、ソースも公開されない怪しげなエミュレーター使う気にはなれんよ。もしかしたら偽物の可能性が
あって、偽物ならば、一生PSP起動しなくなるんだよ。
管理人差しあたって困ってないから、どおでもいいんだけど。NEOGEO実物(でかいぞ)あるけど
ROM(すごくでかいぞ)吸い出してまで遊びたいゲームないし。(使う必要もないし)
やろうと思えば吸い出すのは簡単。メガドラ吸い出してるんだから、メガドラと殆ど同じでいい筈だもん。
っていうかまったく同じ回路で吸いだせる筈。(ただしKOFなんとかVER忘れた、は除く。プロテクト入り
まあ持ってないし)
みんなそういう事、チョビットでも思った人はいないのかね。
私はyoyofrの最新版はそういうわけで使う気になれないし、一生使わんと思うよ。
そんな腐った考え方は時代遅れだって事に早く気がついておくれ。
まあ確かに「NEOGEOに関しては、特殊な歴史があって、過去に何度かウイルス入れて蒔くという事件が
発生し、エミュのプロジェクトが空中分解してしまった有名な事件」がある。(これはPCのエミュの話)
管理人。それくらいは(インターネットやってなくったって)知ってるよ。あれは、有名な事件だもん。
でもね。やっぱり特別神経質になりすぎだよ。かえって逆効果だって事が、...判らんのだろうなあ。
(2006-02/11、20:15)