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

pspMAME04コンパイル成功したケド。全然動かんゾ!

pspMAME04_ZENZEN_UGOKAN_ZO
見てのとおりで、ありんす。んが、(本家も)全然動かんのです。 

ところが... えっとですね。2月頃だらだらこのブログに書いたケチケチ作戦を敢行してたら、 MAME04_UGOITA う、うごいたあ。(ネンノタメもざいく入り) (2006-10/09、21:48)
■念の為「何度か起動確認」。や、やはり動く。早速、本体を「本家版」に入れ直してみた。んで、「起動しない」。...と。 やりー、そーこなくっちゃ。ケチケチの意味が無いじぇー。うし、未知の領域だな一応。 (ってゆーか、プログラムは未知の領域でないと面白くなくてアキちゃうのです。) ちなみに4.78fps(ave)でしたwww。 EBOOT.BPBは「本家TT2」は、5,094kBytes. ワタシの「TT2」は、3,961kBytesでっす。但し都合により、 #driver_topland,driver_ainferno, (註:トップランディング、エアーインフェルノ) #driver_fgoal,driver_fgoala,    ((C)1979のフィールドゴールとゆー名前のげえむ。ヨク知らんが「TT1」に入れるべきでは?) のドライバは無いです。(つまり、「TMS32025」と「m6800」を外した) (2006-10/09、21:48)
さて動いたからには妄想スイッチONです。まずTT2の中の「F3」。これは非常に重いし、 「PSPのスペックでは結構厳しい」(註:「F3」とはあの真っ赤な基盤。「レイフォース」「ダラ外」等、旬のあの辺。 CPUは「m68EC020の16MHz」+「m68000の16MHz」) んで音源の「ES5505」も無駄に多機能な分そこはかなくと重い。 んがしかし本当の重さはCPUでなくてVIDEO。半透明(アルファ)のブレンディングモードが腐る程あるアレ。 分離したほうが、いいと思う。こいつは「F3専用」にして、最低でも「NJ氏の様なキャッシュテクノロジー」を使わんと、PSPには メモリ足りなくて乗らない気がする。タブン。
そおすると「m68EC020」が外れて嬉しい。だって残りのCPUは「m68000」と「Z80」ダケ。NJ氏が速い奴作ってくれたしさ。 但し残りは「FM音源」とかノサバッテルから、それなりに重い筈。「m68000もメガドラの倍速ぐらい」だしさ。 遊べそうな「F2」。「Z」。「DARIUS(マルチモニタ系)」を分離して、それぞれ単一エミュにした方がっ手っ取り早い。(註:残りもイロイロ分割) んがNJ氏やe氏ぐらいスキルがあれば、これらは「共通化」する事も可能だケド。初心者のワタシにはそんな事出来ないのです。
(2006-10/09、23:17)
■S1専用えみゅとか作ってみたケド。一つも動いてない。VideoHardwareでCHRマップ取得する所で、メモリが足りん。 あとちょっとなんだけどな~。今EXEは1,410kBytes。
■一方「TT2」。「S1専用えみゅ」のノウハウを投入し、EXEが3,747kBytesになった。そんで「もう一つげえむが動く」 よーになった。もちろん本家では動く訳ない。 はっきり言って、メモリが改善されれば、げえむが動くことが判明した。この辺で「F3」は分離しよう。 (2006-10/10、21:21)
■NJ氏のあぷろだでCZ80bugfix2が公開されたよ。CPIR/CPDRのバグ修正だって。XXXR系(つまりループ)は厭な所だもんなあ。 >bootleg版のゲームの扱いについて ><略>、bootleg版には対応しません。(理由は単純にbootleg版が嫌いだからですが。) >後日ソースは公開しますので、必要であれば各自でMAME等を参考に追加してください。 はーい。ワタシもbootleg嫌いです。ところでturbo-outrunとかはどおなったんだっけ?(それは云わない約束でしょ?オジイちゃん...) (2006-10/10、22:15) (NJ氏のページで。)ふーん。カーネルモードだと400kBytesぐらいメモリが増えるのかあ。S1で試してみようかな?startup.Sを 一ヶ所変えるダケだしさ。(註:現在のPSPSDKではない) (2006-10/10、22:44)
■「TT2」本体弄ってないが、さらにもうひとつげえむが起動。(注:3種類目、VER違いは数に含めない) ところが、起動するが遊べない。(途中で死ぬ)こーゆー事もあるんだなwww。 (2006-10/10、22:55)





■ところで、(立場上)全然マッタク、これっぽっちも、ほんのちょびっとでも関係ない。ぜ、ぜーんぜん関係ない話なんですが。 ええ、まったく関係ないです。PSPユーザープログラム動かせるんですから、よく出来た壁紙か何かですよね。常識で考えてええ。 KABE001 (にゃー良い子のみんなは真似しないでね。きっと壁紙です!ええ。絶対!)





■はあ、はあ。怖い話はこれくらいにしましょう。ワタシ小心物なんで、神経が持たないのです。はい。
■と、ゆー訳で前項の壁紙の件とは全然マッタクこれっぽっちも関係ない話で恐縮なんすが。いや、なん恐縮ですが。 ええと、都合により、理屈上、pspMAME04のTT2で動かない12種類のげえむが動く筈ですね?(註:12人の妹とは関係ない) よ、良い子のミンナーここまでの話。解かったかな?ワタシは全然マッタクこれっぽっちも判りかねますが、ええ。 めんどくさいから、記憶喪失になろっ。ばびんちょ! (2006-10/12、05:17)
■いちよ別館に「taitoAX_Z00.zip」とゆーのを貼ったが、あくまでサンプルです。ソースはありません。 そのうち(もちっとマシなのが出来たらソース付でUPして)こいつは消しますのでよろしく。 (2006-10/13、00:00)
■地味に「taitoAX_Z01.zip」にしといた。職責果たしてえらいなwww、なんちて。でもまだまだソースは無いのだった。 (2006-10/14、00:00)
■なーんかさ、読者登録とかいう機能があるミタイなんで、使ってみました。のです。ブログはヨクワカランのです。実は。 しっかし、ここバリバリの開発ブログなんすケドいいの?えっと、バリバリってのは、このブログ読む時はお茶とみかんと 煎餅とコタツを用意して、せんべーバリバリ噛んで歯を鍛えようぜ。って事かなあ?ブログはヨクワカランのです。実は。 (2006-10/14、03:03)
■最近コメント入らんし、チェックしてなかったんですが、なんとNJ氏本人からコメントが! 現在のPSPエミュでは、NJ氏の奴が最強な訳。ほんとはワタシだって開発なんてやんないでNJ氏のエミュでげえむで遊ぶ のが「最も自分のためになる」訳。しかし、だなあ。現状に安住出来ないのも性格な訳。NJさん、ワタシは現実世界で開発を 急ぎすぎて病気になっちゃった人を何人か見てきました。老婆心ですが、あせらずゆっくりやれば十分なのです。 NJさん以外は、みんなヒヨコと同じです。(親鳥が運んでくる餌を口開けて待ってるだけです。ぴいぴい文句だけは煩いのです) 現実に誰も、そんなスゴイ物は作れないから、情報発信してないのです。 (註:作れない:仮に技術があっても時間が割けないのなら、結局「作れない」のです) 王者にワザワザ言う事ではありませんが、のんびりやりましょう。みんなまったり期待して、いつまでも待ってますから。 努力する事も重要だけど、努力しない事も重要。この辺のバランスは「本当に難しい」のです。未だにワカリマセン。 でも、無視すると病気になっちゃうのです。そこがとってもイヤな所なのです。 (2006-10/14、05:43)
■MAME動いたらいいなあ。とは思うけど。どーしてもこのげえむが動かしたいとゆー思い入れは、実は全然ないのであります。 従って開発するのならなるべく沢山げえむが動く「システムボード」がいいですね。ワタシがメガドラのえみゅに拘っていたのも、 実は(半分は)同じ理由です。(もう半分はまにあだから)(註:メガドラは実質的に遊べるげえむが多いと思う。FC,SFC,PCE, GB,GBA,WSに比べてもそう思う。まあSFCやGBAの方が遊べると云うのなら、それは嗜好の違いです。 ワタシはシューティングかアクションの系統が好きなのです。RPGとかTSGとかは飽きます。ってゆーかヤル時間がとれないです。)
さてと。MAMEは一部動く訳です。そんで現状動くのは、まーいわゆる古すぎてどおでもいいげえむばかり。 とゆーのがワタシの本音な訳です。ワタシ個人としては、「システム1」。「F2」。「システム16」。このクラスが動いて欲しい訳。 せめて。本音を言えば「システム2」。「F3」。このクラスが動けば、素人の組んだ自作プログラムとしては満足ではあるのです。 NJ氏のCPS2PSPはこのクラスだもんなー。凄いな~。とゆーのが本音ですね。「システム32」(ア*トランナーズ、レース)。 は動いたら嬉しいケド、さらにメモリが厳しい。絶対に無理か。もしかして可能。か、お釈迦様でも解からないのです。 (註:ア*トランナーズはPCのえみゅで昔作成した事があります。NET接続機能は非対応ですが、MAMEがベースにも関わらず、 FBのアレより軽いのです。(註:アレはもちろん60fps以上出る)そんで一部背景の色はオカシクなりますが、「本物より解像度を上げ」 パノラマ視界にすると遊べるのです。(註:それでももちろん60fps以上出る)PSPは3:4では無いですから思いついたのです) 「ZN」は別の意味で動く可能性があるよな~。メモリは相当厳しいでしょうが。PSエミュが発展すれば役に立つのです。 んが結局メモリが足りなくてNGの気もしますが。
「システム1/2」この系統よりも「NA/NB」系統の方が軽いかも知れませんね。但しメモリはどおだか解かりませんが。 既存のpsp用MAMEシリーズで動くのかな~。この辺はひょっとしたらひょっとしますね。音源もFM系よかPCM系の方が軽いですし。
「システム1」。「F2」。この辺は動く筈なんだよな~。きっと動くと信じましょう。現に「F2」の直前までは動きましたね。 (註:別館に「X」は動いたサンプルがある。世間のpsp用MAMEシリーズでは絶対に動かない。だってメモリが足りない筈だからね) 「Z」は「X」の二倍だから少し厳しいです。可能性はありますが。「86,rolling_thunder,pacland」辺りにも チャレンジしてみるのもいいかもこの辺は、世間のpsp用MAMEシリーズで動くのかな?知りませんが。 (「バブル」とかあるけど*ナミはあんまり「システム」じゃあないんだよなあ。単体えみゅになってしまいます) 「X」が動くんだから、「86」にチャレンジしてみよーかな~。根強い人気はありますからね。でも、「86」「87==システム1」は、 ほぼ同クラスな気がする。
「M72」は、既存のpspMAMEえみゅでも動きますよね。労力を投入するならオイシイ処ではあります。まあR-某とイメージ某以外は、 それ程思い入れが無いケド。他のげえむも(ちゃんと動けば)そこそこ良いげえむです。(「M92」とかその他もある)
PSPで素人が動かせそうな処はそんな感じかな~。カ*コン系(やNE*GEO)はNJ氏がガンバってくれましたしね。 UP*とか*亜とかDE*Oとか幾らでも、ありますけど、先にその辺が動かないとな~。息抜きにイロイロやってはみますが。 とゆー辺りがこれからの方針かな~。 総て妄想ではありますが、どおせ誰も(遊べる物を)作ってくれやせんのだから、地道に自分で作るしかありませんしね。
我こそはとゆー方はぜひチャレンジして下さい。お願いね。 (2006-10/15、07:15)
■とゆー訳で急遽NAの単体えみゅ(たいにーコンパイル)を始めた。どおなることやら。ちなみにm68000@25MHzが一個。 FMは無い。音源は0.97のレベルではまだ。再現されてないだろうが、1.09から抜いてくりゃあいい。(1.09でも再現されてなければ未来から。) MPU一個なら、既にメモリシステム要らんよ。25MHzだって16MHzぐらいに勝手に落としてもなんとかなるかも知れないし。 どーなる事やら? (2006-10/15、08:45)
■えみゅはあっさり出来た。えっとEBOOTが1,605kB。だってこんだけだよ。 DRVLIBS = $(OBJ)/machine/random.o $(OBJ)/vidhrdw/namcona1.o $(OBJ)/drivers/namcona1.o
短www。 (2006-10/15、08:55)
■まじかよ。F/*あっさり動く。見た目10fps以上は出てる。すげー。終了したら14.9fpsだって。この値は信頼出来るな。 音楽は鳴らない。(註:ちゃんとでは無いが鳴る。この時はデモだった)個人的に0.97より古いMAMEで音源は擬似MCUを 解析(もちろん偽シミュレートの方。つまり音源ドライバの仕様を推測)して鳴らしてたから、もう出てるのかと思った。 1.09のソース見てみよっ。MCUどおなったかな~。 (註:MCU:I/O専用のCPUの事。専門用語。正式にはマイクロコントローラー、プロセッシングユニットだっけ?忘れた) (2006-10/15、09:04)
■そゆー訳で別館にUPしたので、ワタシは知-らない。ばびんちょ! (2006-10/15、09:25)
MAME1.09のソース見たけど、m68000@12MHzじゃん。そのかわりMCUも12MHz。さっきUPしたの m68000@25MHzだよ。無駄だなー。12MHzにすれば少しは速くなる筈。(訂正:勘違い。12MHzでした。) NAのMCUって本当にそんなハイクロックで駆動する必要あんのかな? 実機ではプロテクトの関係上避けられないかもしんないケド。えみゅならプロテクトさえ何とかなりゃ。まあ音楽がおかしくなるのかな? NAのMCUはM37710。こいつは要するに6502激似のMPUだ。つまり対した事無いだろ。SFCのMPUと同じだな。 (註:6502(FC)と65816(SFC)は要するに同じ。) (2006-10/15、10:05)





と、処で記事とは全然ま、まったく関係ーない。か、壁紙でやんす。いやー字ばっかじゃあ疲れちゃうもんね。珠には壁紙でも 見て目を休めんと。えー。何ですかその目は、本当に壁紙でやんすよー。誤解しちゃ嫌でやんす。 KABE004 (最近PSPで壁紙表示するのがマイブーム(死語)でやんす。ほ、ほんとでやんすよおおお)





...変なもん見ちゃったな~。頭も心も疲れてるのかな~。幻覚か壁紙かどっちかだな。オソラク。常識で考えて。

■気を取り直して記事の続きでやんす。 「\src\sound\namcona.c」をMAME109仕様にしたです。(つまりサウンド改善) んで別館にUP。じゃ。 (2006-10/17、01:30)
■Z04になったよ。まだイマイチだけど。なんとか遊べるよーになった気がする。Let's TRY! (2006-10/17、17:17)
■Z05になった。MAME1.09sのF/Aのバグは取った。音源も弄った。そんでMAMEでは素直に起動しないXDAY2が、 正常起動するようになった。 (2006-10/18、09:00)
■(2006-10/24,namcoNA_A09,taitoAX_A04)になったwww。少し軽くなった。ソースも付いてるにょ。


PRINT_ERROR 店員さーん。タブン紙切れだよお。用紙用紙。はやく~う。



KABE008 (心霊写真です。) 今日もPSP未来研究所から写真が電送されてきた。ちっ。また心霊写真かあ...もう何枚もこのブログに、 心霊写真の類は貼ってあるから、もういいよ。おなかいっぱいだよ。 源*討魔伝に深く関わったら、当然死ぬのがこの業界の常識な訳。ロー*ングサンダー?どおせ動かんでしょ? 途中でリセットがかかるかPSPが死ぬかどっちかに決まってるんだから。心霊写真で無いなら壁紙だな。 (2006-11/02、09:00)
■関係無いケド買い物日記。 今日さ。XXXで△△△がバーゲン今日限り。だったので行きたかないケド。仕方が無く行って来たのです。ちなみに△△△は一つ約千円。 そんで、ついでにPSPも買ってきたです。(1GのメモカDuoとかもツイデニ買っといた) えっと「問答無用」で「一台しか売ってない」のです。(しかも新品はなくて中古。値段は新品とほぼ同じ) そんで2.71以下ならいいかな?と思ってたんですケド。1.00ですたwww。(手間が省けた) 田舎恐ろしい処、一度はオイデ...(註:今日の日付を見てね) (やっぱ源平にかかわって呪われてんのかなあ?) さて、2代目のPSPたん。(自作プログラム動かして)触ってみたけど、こんなにボタン硬かったかなあ? もう私の初代PSPは約2年も酷使されてますから。 「□ボタン」も使えるし「斜め」も入る。問題は無いでした。おしまい。 (註:中古:どこから見てもVALUE_PACK。外箱に「お買い上げ日2005年1月28日」とか書いてある奴。TA-082の可能性はゼロですな) (註:田舎恐ろしい処:1.00にそんな価値はありませんし、端からVALUE_PACKのおまけはすべてイラナイです。NETで現時点の ちゃんとした値段の相場も知ってるし、つまり売る方も買う方もキチガイではあるのです。あと「悠久の時の流れ」にビビリました。 ここでは「確かに時間が静止してる」事確認できました。ワタシは確かに「現実世界を離れた結界の中で開発をしてる」のかも... 手間代ですな。それにマトモナ都会に出るのは交通費も時間も勿体無くて、損な訳。但し通販は可能ですが、...めんどくせえ) (註:結界:行けども逝けども、結界の外に出る事は叶いません。だって結界ですから) (2006-11/03、17:05)
1GのメモカDuoフォーマットすると949MBなんですな。NETで2Gのメモカより1Gx2枚の方が安いからお得みたいなトンチンカンな 意見を見ましたが、安いかどおかは使い方次第。仮にPSPで映画見たいんだったら、1G何枚あったって入らないんだから使えなくてゴミじゃん。 (追記、訂正:ごめん1Gあれば(普通の長さの)映画は1本入るミタイですね。ワタシの方がトンチンカンでしたww) ワタシは1Gも要らんケド、32MBはちっと手狭になってきたんで買ってみたのです。ワタシはPSPで映画は見る気が無いです。 (2006-11/03、17:35)
えっと、何で色々お買い物してきたかというと。えみゅ開発は「開発してる時間」より「チェックしてる時間」の方が「はるかに長い」のです。 一ヶ所プログラム、ちょっぴり換えるだけで殆どのROMセットはOKなのに、特定の奴だけバグったりするのです。だからチェックが、 大変なのです。(UPが鈍い(遅い)のはそういう理由です)んじゃおなかすいたから、ごはん。おしまい。 (2006-11/03、17:44)
ピンクのPSPってどんなん何でしょ?マッピーエミュを作ってピンクの皮を被せるとか。アイレムエミュにはやっぱ白い皮かなあ。 ダウグレ失敗した白あれば欲しいなあ。とか妄想してみたり。 (註:VALUE_PACKのイヤホンとストラップ「黒」に付けても不気味だよ。やっぱ) (2006-11/03、19:30)
そおいや、すっかり忘れてたケド。PSP2台なんでADHOC実験が出来るよお。さしあたり必要ないので実験しませんが、 「実験環境は整った」何か面白いアイデアがあれば、うーん。MAMEエミュで対戦かあ。素人なんで妄想ですが。 対戦も何も「先に不安定でPSPが死ぬ(プログラムが落ちる)ヨカン」う~ん。 (2006-11/03、20:01)
■ちょ、ス、スゴスギス。凄過ぎですぅ。 こ、こんな所、読んでるばやいじゃないやい。久しぶりにNJ氏のあぷろだ覗きに行ったら、 njemu_source_20061101_diff(up0008.zip) njemu_source_20061106_diff(up0009.zip) njemu_source_20061107_diff(up0010.zip) ってあるのです。手持ちの「njemu_source_20061020.zip」の上から(古い)順番に上書きを繰り返して、最新版にし、 makefileの頭を #BUILD_CPS1PSP = 1 BUILD_CPS2PSP = 1 #BUILD_MVSPSP = 1 にして、最新のCPS2PSPを作りましょう。これはCPS2PSP1.04。EBOOT.PBPが619kBytesの奴です。 この非公式版?なのかな?の系統は少しデーターファイルの名称が変わってるので、 F:\PSP\GAME\CPS2PSP\rominfo.cps2 F:\PSP\GAME\CPS2PSP\zipname.cps2 (仮にFドライブがPSPの場合) を忘れずに入れときましょう。「njemu_source_20061020.zip」に標準添付されてる奴です。
やってみりゃ判りますが、「もの凄くはええ」。「残像が出てゲームがやりにくいレベル」です。 公式版のバイナリとは天と地程差があります。ちなみに別館のワタシのちーと版は「完全にゴミ」と化してます。そゆー訳で あのページはもう消したい気分でありんす。はい。
NJ氏は凄いな~。 ...穴があったら入りたい。本当に。 (2006-11/15、04:49)
■どおも速さの秘密は、「\src\cps2\sprite.c」にあるみたい。(もちろんそれだけじゃあ無いでしょうが、すぐに気が付いたもの) /*---------------------------------------------------------------- マスク処理付きobjectのマスクを描画 ----------------------------------------------------------------*/ void blit_mask(int x, int y, u32 code, u32 attr) ってルーチンありんすね? 「cps2psp_1.01_src.zip」時代は、
while (lines--) { tile = *gfx++; if ((tile & 0x0f) != 0x0f) dst[15] = 0x8000; tile >>= 4; if ((tile & 0x0f) != 0x0f) dst[14] = 0x8000; tile >>= 4; if ((tile & 0x0f) != 0x0f) dst[13] = 0x8000; tile >>= 4; if ((tile & 0x0f) != 0x0f) dst[12] = 0x8000; tile >>= 4; if ((tile & 0x0f) != 0x0f) dst[11] = 0x8000; tile >>= 4; if ((tile & 0x0f) != 0x0f) dst[10] = 0x8000; tile >>= 4; if ((tile & 0x0f) != 0x0f) dst[ 9] = 0x8000; tile >>= 4; if ((tile & 0x0f) != 0x0f) dst[ 8] = 0x8000; tile = *gfx++; if ((tile & 0x0f) != 0x0f) dst[ 7] = 0x8000; tile >>= 4; if ((tile & 0x0f) != 0x0f) dst[ 6] = 0x8000; tile >>= 4; if ((tile & 0x0f) != 0x0f) dst[ 5] = 0x8000; tile >>= 4; if ((tile & 0x0f) != 0x0f) dst[ 4] = 0x8000; tile >>= 4; if ((tile & 0x0f) != 0x0f) dst[ 3] = 0x8000; tile >>= 4; if ((tile & 0x0f) != 0x0f) dst[ 2] = 0x8000; tile >>= 4; if ((tile & 0x0f) != 0x0f) dst[ 1] = 0x8000; tile >>= 4; if ((tile & 0x0f) != 0x0f) dst[ 0] = 0x8000; dst -= BUF_WIDTH; } (註:この場合、判断部分は(完全に最適化されても)uint8。だがPSPではシフトがトロイから台無し。PCではそこそこ速い筈)
こーゆー感じでした。ワタシは「segadrive_psp開発の経験から」シフトはPCでは速いけど、PSPではトロイ事を知ってたし、 その他もろもろの経験から、別館の「CPS2PSP101_A00(C2P101_A00.zip)」は、こうしました。
while (lines--) { tile = *gfx++; if ((tile & 0xf0000000) != 0xf0000000) dst[/*15*/ 8] = 0x8000; if ((tile & 0x0f000000) != 0x0f000000) dst[/*14*/ 9] = 0x8000; if ((tile & 0x00f00000) != 0x00f00000) dst[/*13*/10] = 0x8000; if ((tile & 0x000f0000) != 0x000f0000) dst[/*12*/11] = 0x8000; if ((tile & 0x0000f000) != 0x0000f000) dst[/*11*/12] = 0x8000; if ((tile & 0x00000f00) != 0x00000f00) dst[/*10*/13] = 0x8000; if ((tile & 0x000000f0) != 0x000000f0) dst[/* 9*/14] = 0x8000; if ((tile & 0x0000000f) != 0x0000000f) dst[/* 8*/15] = 0x8000; tile = *gfx++; if ((tile & 0xf0000000) != 0xf0000000) dst[/* 7*/ 0] = 0x8000; if ((tile & 0x0f000000) != 0x0f000000) dst[/* 6*/ 1] = 0x8000; if ((tile & 0x00f00000) != 0x00f00000) dst[/* 5*/ 2] = 0x8000; if ((tile & 0x000f0000) != 0x000f0000) dst[/* 4*/ 3] = 0x8000; if ((tile & 0x0000f000) != 0x0000f000) dst[/* 3*/ 4] = 0x8000; if ((tile & 0x00000f00) != 0x00000f00) dst[/* 2*/ 5] = 0x8000; if ((tile & 0x000000f0) != 0x000000f0) dst[/* 1*/ 6] = 0x8000; if ((tile & 0x0000000f) != 0x0000000f) dst[/* 0*/ 7] = 0x8000; dst -= BUF_WIDTH; } (註:判断部分はuint32で低下するが他で稼ぐ。簡単な変更だがPCでもPSPでも、理屈上、上の奴より速い筈。)
んで、最新のNJ氏の「njemu_source_20061107_diff(up0010.zip)」はこうなりました。
while (lines--) { tile = *gfx++ ^ 0xffffffff; if (tile & 0x0000000f) dst[15] = 0x8000; if (tile & 0x000000f0) dst[14] = 0x8000; if (tile & 0x00000f00) dst[13] = 0x8000; if (tile & 0x0000f000) dst[12] = 0x8000; if (tile & 0x000f0000) dst[11] = 0x8000; if (tile & 0x00f00000) dst[10] = 0x8000; if (tile & 0x0f000000) dst[ 9] = 0x8000; if (tile & 0xf0000000) dst[ 8] = 0x8000; tile = *gfx++ ^ 0xffffffff; if (tile & 0x0000000f) dst[ 7] = 0x8000; if (tile & 0x000000f0) dst[ 6] = 0x8000; if (tile & 0x00000f00) dst[ 5] = 0x8000; if (tile & 0x0000f000) dst[ 4] = 0x8000; if (tile & 0x000f0000) dst[ 3] = 0x8000; if (tile & 0x00f00000) dst[ 2] = 0x8000; if (tile & 0x0f000000) dst[ 1] = 0x8000; if (tile & 0xf0000000) dst[ 0] = 0x8000; dst -= BUF_WIDTH; } (註:お、いいアイデアですね)
なーる程。(こーゆーのが開発ですな~) (2006-11/15,05:55)
■コ*ミ、バブルえみゅ。どおでした?え?グラが操作しにくい?ゴメン間違えて、(ボタン配置を)実機(==mame1.10配置)に合わせちゃった。 PSPではやりにくいので次回(Z01で)元(mame0.97配置)に戻す。
さてと。あのエミュの真価は実は音楽にあるのです。現在GX400==バブルシステムに関してはmame1.10でまともに鳴らないのですな。 思えば、ついんびーたんは不遇な子ですた。あの、元祖の独特の怪しい世界観は続編には受け継がれなかったので、あの怪しさは、 あのオリジナルにしか無いのです。にも関わらずX68ではファミコン版移植のグラフィック書き換えだったし、(内容が全然違う)。 続編の「出たな」以降(SFC等も含む)は、とっても良いゲームでしたけど。でも、違う良さなんだよなあ。あの怪しさはやはりSCCが無いと。
MAMEのドライバ書いてる人は、どおもnemesis基板とバブル基板が、(100%全く)同じだと誤解してるみたい。だから現在のmame1.10では、 ついんびーもグラもミキシングが狂ってる。mame1.10で「nemesis基板」は測定した模様です。もちろんmyえみゅに取り入れました。 「nemesis基板」のミキシングは完璧みたいです。んが、それの設定をGX400==バブルシステムにコピーするのはやめてくれぇ~。 ミキシング滅茶苦茶だよmame1.10 ...orz。 ここで、PC用でも、自分でmame1.10sコンパイルしちゃうもんねってゆー方用にGX400用ミキシング、あどばいす。 static MACHINE_DRIVER_START( nemesis ) <略> /* sound hardware */ MDRV_SPEAKER_STANDARD_MONO("mono") MDRV_SOUND_ADD(AY8910, 14318180/8) MDRV_SOUND_CONFIG(ay8910_interface_1) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) /* verified with OST */OKです。 MDRV_SOUND_ADD(AY8910, 14318180/8) MDRV_SOUND_CONFIG(ay8910_interface_2) /* fixed */ MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) /* verified with OST */OKです。 MDRV_SOUND_ADD(K005289, 3579545/2) MDRV_SOUND_CONFIG(k005289_interface) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.35) /* verified with OST */OKです。 // MDRV_SOUND_ADD(VLM5030, 3579545)//使ってない // MDRV_SOUND_CONFIG(vlm5030_interface) // MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70) /* unused */ MACHINE_DRIVER_END
ここまではmame1.10のもの。これはOKです。
static MACHINE_DRIVER_START( gx400 ) /* master div 2.5 */ MDRV_CPU_ADD(M68000,7372800.0)/* ←関係ないケド、ここはこう。このクロック以外ではゲームバランスが崩れる。 */ /* ついんび~二面のボスの登場シーンで、音と画像が完璧にシンクロしてるの見れば、解かるよ。(もちろんmameの設定ではダメ) */ /* (他にもグラのゲームバランスがおかしくなるし。) */ /* sound hardware */ MDRV_SPEAKER_STANDARD_MONO("mono") MDRV_SOUND_ADD(AY8910, 14318180/8)/*PSG1*/ MDRV_SOUND_CONFIG(ay8910_interface_1) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50/*0.40*/)/*xxx*/ /* /xxx verified with OST */ MDRV_SOUND_ADD(AY8910, 14318180/8)/*PSG2*/ MDRV_SOUND_CONFIG(ay8910_interface_2) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50/*1.00*/)/*xxx*/ /* /xxx verified with OST */ MDRV_SOUND_ADD(K005289, 3579545/2)/*SCC*/ MDRV_SOUND_CONFIG(k005289_interface) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40/*0.35*/)/*xxx*/ /* /xxx verified with OST */ MDRV_SOUND_ADD(VLM5030, 3579545)/*音声合成チップ(twinbeeとか)*/ MDRV_SOUND_CONFIG(vlm5030_interface) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00/*0.70*/)/*xxx*/ /* used/ xxx unused */ MACHINE_DRIVER_END
5%単位で聞いた感じでは、GX400はこうですね。おしまい。 ...と、ここまで書いて思ったんだケド、本物はオソラク「0.40」「0.40」「0.35」「0.70」じゃあないのかな? PSG2だけ抵抗値換えた改造が入ってるんでしょう。オソラク。 (2006-11/18-22:00)
■taitoBえみゅ作ってみる。勿論、目的は「龍神」。簡易版では動作するので、ちゃんと作ってみる。 ところが「メモリ不足で起動しない」。taitoBで、龍神が動かないのはナンセンス以外の何物でもない。 taitoBは特殊なんで、CHRマップが16x16だが、これを8x8にして(モチロン画面がバグる)メモリ消費を抑えると起動する。 CHRマップ。メモリ喰うからな~。namco_systemIが起動しないのだって、CHRマップのメモリ喰いが原因っぽいしな~。 やぱりここに手を付けないと、動作は厳しいな~。 (2006-11/23-04:04)
■ち、すぎうww。すぎうです。すごいでっす。 何とNJ氏本人がnamco86弄ってとてつもなく速くなってるです。あ、ありがとおおおお。 涙で前が見えない時は、車の運転はやめような。 じゃなくて、開発者はNJ氏のあぷろだへGo! (2006-11/28-23:30)
■というわけで「namcos86_GU使用テスト4.zip」はスゴイですが、源*倒魔伝とローリングサ*ダー以外は動かないのね。 いえいえ、そんな重箱の隅、どおでもいいんですが、知らないと困るかな~。と思いチト書いて試た。ワタシ的には全然OKなんすが。 えっと、何で動かないかというと、プライオリティー(優先順位)が無いからなんです。タブン。(要するにMAMEのpdrawgfx) んが、実装するのは(不可能では無いものの)めんどい。 ここは棲み分けるのが賢い。源*倒魔伝とローリングサ*ダーはNJ氏の実験版。それ以外は別館の奴。 今日、今すぐ、遊ぶんなら、そうして下さい。お願い。
実はね、別館のA04専用版。実は対して速くない。ってゆーか現在myHDDのA05MAME版さあ。A04専用版と似たか拠ったかの 速度は出てる。でもやっぱ(A04専用版に比べて)トロイ。そーゆー訳で(別館に)UPしてない。(遅いのがA05なら混乱するよな~) それで、専用版なんて作らなきゃ良かったと100篇は思った。んが、良いのです。「(略)スト4.zip」(こら、変な処で省略すんな!)が、 総て結果オーライにしてくれました。「(略)スト4.zip」は、とても役に立つのです。だって(ワタシは)マダPSPSDKに移行できないヘタレですんで、 これを参考に地道に移行しましょう。何より一番嬉しいのが、「(略)スト4.zip」は、「全然落ちない」。「PSPが全然突然死しない」のです。 これは、とても大きい。妄想ですが、上手く行きゃあ別館のMAMEカスタマイズシリーズ全部、落ちなくなるって事? 現状は「全部落ちる」んですが、はっきり言って、これは速度よりずっと嬉しい。個人的には。 (註:嬉しい:個人的にワタシは(みんな程)源*倒魔伝にあんまり思い入れが無いのです。んがそれ以外でMAMEで役立つのなら凄く嬉しい) (2006-11/29-09:09)
■そおいえば、NJ氏の >あと、サウンドは低サンプルレートのサウンドの実装はちょっとおかしいのでしょうか? >描画しか見ていないのでどこに問題があるのかわかりませんが、音程が変わってしまうようですね。 これこれ、A04専用版は確かに2151前衛的?だから、エンバグして変な音になってる可能性もあるし、精度が足りない可能性もある。 んだけど、多分この件は違うんじゃないかな?namco86は3つ音源が載ってます。2151(FM音源,8ch)とnamco音源(イワユルSCCみたいなもん,8ch)と サンプリング音源(2ch)。 このうち、仮に2151が白だとすると、namco音源は22050の品質は(理屈上)保ってるので、問題は無い。して残りのサンプリング音源、 なんですが...。現在MAME1.10でね。このサンプリング音源。の入力クロックが6MHzになってるの。んでnamco86A04専用版は、 暫定的に6MHzにしてある。んがしかし、ワタシはここは本当は6.144[MHz]だと思う。思うケド、確証が足りないから実験中な訳。 「src\drivers\namcos86.c」の MDRV_SOUND_ADD(NAMCO_63701X, 6000000) を全部 MDRV_SOUND_ADD(NAMCO_63701X, 6144000) にしてくれないかなあ。それでもオカシイのなら、「エンバグ」か「精度不足」です。 (2006-11/29-09:39)
■おおっとお。NJ氏。 「(略)スト5.zip」 「(略)スト6.zip」 を開発しとりやすな。これにどんな意味があるのか開発者なら常識なんすが一般ピーポーには(???)だと思うのでチト解説。 これは一度はMAMEを最適化した者にしか解からない話なのですが、MAMEの「デジタルミキサー」は「汎用性が高い」ものの「非常に重い」。 仮にMAMEでなくて、専用えみゅなら、「汎用性は要らんから、速度が欲しい訳」しかしこれを外すのは「めんどくさい」訳。 もし外れると旨みがある訳、速度的にさ。NJ氏ならきっとやってくれます。期待してまったり待ちましょ。 (現状はちと速度が出ないのは、あたりまえなのです。)
「(略)スト6.zip」でホッピングマ*ピー以外は、表示される様になったみたい。単なるバグだったみたい。 (2006-11/29-21:27)


■「(略)スト7.zip」も、もの凄い事になっておりやす。この前から、アゴが外れてどっか行っちゃったんですが、 もう失神寸前です。わざわざ書くのもバカバカしいですが、ほかのもん全てイラネ。イランもん早速消去しちゃいましょ。 しかし、いくら「今迄の技術の蓄積」があるとはいえ「3日でここまで進化」するとは... ここまで(超絶)速くなると「もっと速くならないか」気になりますよね。 (2006-11/30-15:44)
■おや?NJ氏の「(略)スト7.zip」速いダケじゃなくて「namco86のコアな部分」にも気が付いておりやんすね。いわゆる「ハック」です。 単にMAMEを速くしただけじゃあないんだよ。しかし、86は研究の余地がありんすね。 (2006-11/30-17:10)

■あのさ、namco86ってさ。ずっと実機基板が無いとVSYNC測定出来ないと思ってたんだケド、実機基板が無くてもVSYNC測定する方法があるのな。 namco_s1以降はnamcoの基板はsystem21のエアコンバ*トを除いて大抵音楽プロテクトがかかってるよな。 (註:そおいやsystem2のワルキ*-レ、system1のドラスピだっけ?も音楽プロテクトなんて無かったよなあ。確か。ROM乗せかえれば、 他のタイトルでも鳴るんだよね。システム基板だからさ。不思議な事に実機では、違うsystemなのに鳴るのもあったりする) まあエミュだから、音楽プログラム、チ-トして外しちゃえばイインだけど、そんなの手間がかかる。 そりゃともかくnamco86のローリングサ*ダーは、音楽プロテクトかかって無い。 さてnamco86えみゅはさ、VSYNC代えれば、当然テストモードでの音楽のテンポが変わる訳。PSX版はどおだったかなあ? 確かあそこはストリームでなくて、えみゅだから(註:同じnamco純正えみゅでもドラゴンセ*バーとかはストリームだから無意味) 当然音楽のテンポが実機に比べて速かった記憶がある。記憶違いだったらゴメン。(もし、ストリームならば単なる録音だもん変わる訳無い) ちう訳で、もう解かったと思うが「測定」出来る訳。だって「(実機基板から録音したに違いない)CD出てるジャン」別途PCでMAMEコンパイルして、 テストモードの音楽、録音して、CDとベリファイするだけだな。簡単だから今度やってみよう。今迄誰も実験して無いのが不思議だな。 (註:調べないと判らないが、system1、system2も同様の測定が出来る可能性がある。) (註:まあみんなめんどくさがりなんだろな~。メガドラのVDP音源だって、矩形波じゃなくて、本物は矩形三角波だって、測定して初めて気が付いたもんなあ。) (註:CDは当然バイナリデーター直接吸い出すし、MAMEも改造(内部ミキサーは通さない)版だからデジタル録音だ。 つまり精度が狂うところは、「元の音源自体の録音時」しか無い。こればっかりは仕方が無いが、そもそも「そんな正確な精度は要らない」) (註:アナログフィルターやエフェクタ、アナログアンプ等の位相ずれは、一様にずれるので問題はないが、熱による録音速度のずれは信用するしかない) (2006-12/02-04:04)
■pspのnamco86えみゅ。イシター本当に遊ぶんなら、psp_MAME自体の実装を少し見直さないとな~。めんどくさいな~。 (本来の)MAME本体は何の問題もない実装になってるから、psp部分を見直さないと...。めんどくさいな~。 (2006-12/02-05:45)
■Nj氏の86えみゅ。test7で飽きたから終了。んで気になるバグ取ったns86_test7bugfix_srcdiff.zipがあったし、 「しばらく更新は無いだろな」と思うのは「あまりに素人考え」。ソンな素人考えは甘いのでっす。 速度[ns86_test7bugfix_srcdiff.zip]<[nj86a05u3.zip](2006-12/03,05:20版)<[namcos86_bugfix2.zip(test8)](2006-12/03,13:11版)だろうな。恐らく。
そりゃともかく
オモチャが増えるのは良い事ですね。うんうん。 (2006-12/03-22:04)
■むう今日、今直ぐ遊ぶとして、速度はそんな単純では無いみたい。どっちも(速くする手法が全く違う為)苦手部分があるようでっす。 そりゃともかく「わざわざソース添付」してあるんですから、「弄ってくれるのは、非常に嬉しい」のでっす。 >>イシターでカイとギルを同時に操作できるように変更。○ボタンを押しながらで >>二人とも同時に操作。(不要だと思うけど一応) いや「重要でっす」[R]ボタン操作では、「時間が足りなくて無理」ですからね。但しもし正式対応するなら、 やっぱ「違う操作法になるしか無い」ですが、残念ながらその実験はまた今度。 (2006-12/03-23:03)


■ここ書くのひさびさだな。(気分屋なんで、テキトーな場所に書く) 本家SG2で、ちぇっくしてみた。フ<略>ンが動く。判らんが、これは是非やってみたい。 んで、myMAMEごちゃごちゃやってみた。んが(素人なんで)良く解からん。 原因追求の為、別口で、もう一度ゼロからやり直してみよう。おそらくそれが早い。 (2006-12/23-14:06)
■まずは「mame097s.zip」(10,653KBytes)のダウンロード。え?現在手に入るよ。ちゃんと、本家の開発ページのサーバーからさ。 マウスクリックでは手に入らんから、頭使うべし。んで解凍。 mame.zip(60,967kBytes)が出てくる。そいつも解凍。 C:\cygwin\home\xxxx\sys16\src\に、ソースぶっこむ。(xxxxはログイン名) mame.zipはもう要らんから削除。 別館のs1失敗ぺえじからTMK氏のpspmame04_src.zip(750kBytes)をDLし解凍し、MAMEのソースに上書きしちゃう。 これで、本家MAMEはpsp_MAMEに変身するって寸法だな。ありがたや。みんなもTMK氏に感謝しよう、まさかワタシがこんな凄い事 出来る訳は、無いのだ。 んで、こっから先は(ひたすら)地味な作業。myMAMEを参考にしてmakefileとか書き換えないとな~。あーめんどくさー。 一度やった参考資料があるんだから、きっとなんとかなるさ。タブンね。おしまい。 (2006-12/23-14:28)

■Fixed bug? at MAME1.09 src on C:\MAMEDEV\mame109\src\vidhrdw\namcona1.c before (Before MAME1.09s)
after (After correct palette??)(Seems the other scene all corrected palettte in game)
Tech info ...
[before] static void draw_pixel_line( UINT16 *pDest, UINT8 *pPri, UINT16 *pSource, const pen_t *paldata ) { int x; UINT16 data; memset( pPri, 0xff, 38*8 ); for( x=0; x<38*8; x+=2 ) { data = *pSource++; pDest[x ] = paldata[data>>8]; pDest[x+1] = paldata[data&0xff]; } /* next x */ } /* draw_pixel_line */
[After] static void draw_pixel_line( UINT16 *pDest, UINT8 *pPri, UINT16 *pSource, const pen_t *paldata ) { int x; UINT16 data; memset( pPri, 0xff, 38*8 ); for( x=0; x<38*8; x+=2 ) { data = *pSource++; pDest[x ] = paletteram16[data>>8]; pDest[x+1] = paletteram16[data&0xff]; } /* next x */ } /* draw_pixel_line */
(2006-10/23,15:20)
...but not completely this is only force 16bit colors.(???)(I unknown just it) (2006-11/01,10:00)