#3 魚 画面モードでハマル。(2006-02/02)
(注:このお魚さんのMEGA DRIVE PSPは0.22がベースです。
最新の奴は、更新が止まってるみたいですが、そのうち再開するのかもしれません。
スキルがあり、開発をしたい方は開発者に直接コンタクトをとって下さい。
私は開発者とは全く関係のない第三者です。
あくまでこのページの話は実験用途(教育用)です。)
「A##」というのは、アルファー版(α版)という事です。
α版というのは、ベーター版(β版)の一つ手前のバージョンで、「コンパイルがなんとか通った」。だの、
「他人のソースを張り合わせたらなんか知らんが動いた」、だの、開発レベルの低いVERの総称です。
そんな怪しげなものは、ひっそり自分のPCの中にだけ取っておいて、「普通は、死んでも見せません」。
が、ここは実験を兼ねているページですので、御託ばっかり書いてあって、手元に動くものがなければ、
やる気が出る訳がありません。だからその辺の事情も承知しといて下さい。「A##」付いていたら、
無闇に蒔くような完成度の高いソースではなく、むしろ蒔かれると迷惑です。自分のPCだけで、
ひっそりと楽しんでください。(GPL2というのはそういう意味です)
「A00」は、お魚さんの「元のソースが見たいんだよ。」って人用です。(例えば、今風でない終了機能とか。)
あと、GCC4.0.0で、コンパイルができないんで、確実に動くソースとツール一式が欲しいって人用です。
「A01」は完全に不要です。消して下さい。
「A02」は「A01」から終了機能をなくし、「SCREEN MODE」は実装中です。
「A02」は「SCREEN MODE」の実装が終わるまで、更新します。(今はソースがぐちゃぐちゃになってる)
現在計画している流れ、
「A00」:コンパイルのみ
「A01」:フレームスキップ0のテストができるまで。(実際にはもちっとやった)
「A02」:画面モードが切り替えられるようになるまで。
「A03」:「FM音源」と「PCM音源」が出るようになるまで。
その後で、MUSASI3.3を最新版に入れ替える予定です。
(今やっても、管理人ちんたらやってるので、MAMEが先にVERUPしちゃったら、
また入れ替えなくちゃなんない。これは2度手間だからです。だからCPUは触んないです。
この日記を読めば過去の分についてDGENでノウハウを蓄積させてあるので、難しくないです。
但し「m68k_in.c」の簡単に外せる割り算は取ろうな。管理人ものぐさだから戻り作業は嫌いなんです。)
■お魚さんの奴に「SCREEN MODE」を追加しようとしたんですが...。
そんなん、「RIN132」でもやってるし、「DGEN100」でもやってるし、
両方ソースあるし、ちらっと中身みたら、両方「SNESなんとか」ってのから持ってきてて、
目立つソースは、なんとなく大体一緒っぽいし、大体MDのエミュやってんだから、
DGEN100から貼り付ければ、終わりジャン。
と、思っていた訳なんです。っていうか、基本方針は、両方ちゃんとやってるんだし、
管理人にもちっと能力があれば、これでいい筈。問題なのは、管理人にPSPのハードの
知識がちと(なんせ初めてやるもんで)足りないぎみなのと、お魚さんのコアを把握してない事。
(未だソース見てすらない)
まず、お魚さんの奴の話から。
えーと。お魚さんの奴は、純粋な2Dのサンプルで、PSPのVRAMに流し込んでる。だけです。
PSPのVRAMは2画面分あって、(多分)(表示サイズは480x272)
表の仮想画面が、512x544で、だーーー。よおするにこう(らしい)。
なんか微妙に間違ってる気がするが、大体こんな感じ。
| □PSPの仮想画面っていうかVRAM。 |  
| 仮想画面1は512x1024ドット | 
480/512 | 
 
0x04000000 ~ 0x04043fff
  | 
表示画面1(480x272) | 32 | 
  | 
 
0x04044000 ~ 0x040fffff
  | 
あき(512x???) | 
  | 
 
| 272/1024 ライン | 
 
 
| 仮想画面2も512x1024ドット | 
480/512 | 
 
0x04100000 ~ 0x04143fff
  | 
表示画面2(480x272) | 32 | 
  | 
 
0x04144000 ~ 0x041fffff
  | 
あき(512x???) | 
  | 
 
| 272/1024 ライン | 
 
 
 
 |  
 
 | 
2Dの場合はこのVRAMをギッタン、バッコンやって、交互に表示すれば、
描いてる所が見られないので、ちらつかない仕組み。(もちろん、描いて無い方を表示する)
(えーごではフリップ(flip)って言うのが一般的名称
、でも昔からこういう風に言うわけじゃあ
ないんだよ。例えば[swap screen]→[dual bufferring]→[flip/double buffer]の様に進化。
英語だって日本語と一緒で流行語とかあって技術用語もどんどん変わる。)
えーと、
<いろいろあったんだけど疲れて更新してないす。そのうちつづきは書きますよ。そのうちね。>