やっぱデカクなったら負け(2006-08/25) | //www.旧型、PSP開発幼稚園.game.jp/(本館)

やっぱデカクなったら負け(2006-08/25)

■やっぱデカクなったら負け(註:夏はあついからだらだらしてもOKでづ)

■過去にPCで「X68000」というものがあった。大雑把に言って、ハードウェアー的には「超豪華版メガドラ」といった所。
もちろん色とか(16ビット色)圧倒的に違うから印象は、全然全く違うが...ハードウェアーよりもソフトウェアーのレベルが、
違ってずーっと上だった。現在でも細々とコミニュティーがある。市販ソフトのレベルも高かったが自作ソフトのレベルも、
高かった。なにより自作ソフトで、「ソースの公開されないソフトはひとつもなかった」

んな事、言ったって、現在ではもう、極一部。ほんの僅かしか手に入らない。エミュレーターもあるが(OS、BIOSなどはフリー)
全体的になんとなくイマイチ。(遊べるものもある)

さてそんなX68000だが、当時の片鱗は(現在)たまにある。例えば、
http://www.retropc.net/x68000/software/games/shooting/otoko/index.htm
に行って「*.XDF」とゆーのは、フロッピーディスクイメージ、つまり平たく言えば「自作ソフトのROM」だが、
(註:市販ソフトは著作権上ナニなので、万一あればナニ。(私にはホワイトなのかグレーなのかブラックなのかワカラン)
但しZOOM等は市販ソフトから、メーカー自身がプロテクトを解除し、フリー(無償)で(つまり市販ソフトのROMイメージを)公開してる。
これに関しては完全にホワイト。ZOOMつまりPHALANX等)
それ(ROMイメージ)があるのは理解できるが、同ページに「SOURCE.LZH」(主に現在のPCで見るソース)があるのは、
「現代人(2006年)には理解できない」だろー。だって実機、(つまりエミュ)なら、「*.XDF」形式。
本気でコンパイルするならば、実機に(つまりエミュ)に持っていかなければ、ならない。
(註:実はX68000のエミュは実機上とWin上のファイルやり取りが簡単)
(註:一応、実機X68000をインターネットに接続してるとゆー豪気な方もイル)

これは、「ソースリスト→コンパイル→実行してくれ」とゆーよりも、「ソースリスト→とにかく読んでくれ」ちう事。
もちろんその気になれば、(エミュ上で)「ソースリスト→コンパイル→実行」とゆー事も可能だ。(が、やる人は既にマニア)

この手の「ソースリスト」は世の中に上手く探せば「いっぱいある」し、X68000がどうとか、実はあまり関係がない。 まあ、さしあたりサンプルちゅー事で、このソースを見てみよう。(註:マジメに見るつもりはない) ワタシは「今でも稼動するX68000実機」もあるし。「当時のコミュニティー」も少しは知ってたが、 それでも原作のゲームは、「見た事」も「遊んだ事」も、無い。(よーな気がする。忘れてるダケかも) 今からX68000エミュでも入れて、実際に遊んでみりゃいいんだが、「差し当たりめんどくさいのでやる気がしない」。 まあ、その程度の認識なんで、根本的に「間違ってる」かもしんない。
さて、ゲームは四面構成の「シューティングゲーム」。ワタシが興味があるのは、「音」や「画」や 「シューティングゲームのアルゴリズム」等ではない。 >「データー管理」。これは、どーなってるんだろう。 「チッチャイプログラム」これは「誰でも作れる」。汚くたって何だって、「規模が小さいんだからとにかく動く」。 PSPでも自作プログラムとか、外国でちらほらあるじゃろ。「(ちょいみせの)ゼルダもどき」とか 「(ちょいみせの)イースもどき」とか、あの程度なら、根気が続いて、やり方間違えなければ、「誰でも作れる」。 (註:作れるが、こんじょーはイル) さてあれらは完成するんだろうか? そりゃ完成するかも知れないが、「たぶん完成しないんじゃあないかな?」 それは、どうしてかというと「データー管理」の問題があるからなんである。 作者が何らかの「データー管理」の技術を身に付ければ、おそらくあれらは「完成する」。 だが、「チッチャイプログラム」のつもりで、「無理やり拡張」しよーとすると、「作者自身がめんどくさくなって」完成しない。 完成しなかった場合の言い訳は簡単。「時間がない/忙しいから完成しなかった」 「データー管理の上手い方法」なんてのは、「個々の場合に拠って全く異なる」。 「このやり方覚えりゃ安心。何にでもOK」なんつーのは、「存在しない」。 数学でいえば「新しくて便利な公式考えてくれ」とでも言うよーな「ご都合主義」。 「覚える/暗記」では「全然駄目」、論外。どんなにくだらなくても「自分で考えなきゃ結局ダメ」。 でも、「自分で考える」なんて「めんどくさい」し、「考えるのはいいけど、あってるかどうかワカラン」。 それよか「他人の成功例を参考にしよー」んで、「マネしよー」。 (もちろんワタシも含めて)「自分で考える」、そもそも「自分で考えられる」なんて思うのは「10年はええ」。 10年後にもう一回考えるから、ヨシとしてくれ。(多分10年たったらPSPゴミ(故障とかするだろし))
さて話は「男ダマのソース」だったな。とにかくX68000はヨクワカランが、展開して「\source\dat\」ここに 「stage01.s」~「stage04.s」ってのがある。 STAGE01 S 7,541 99-06-14 12:00 stage01.s STAGE02 S 13,135 99-06-14 12:00 stage02.s STAGE03 S 11,806 99-06-14 12:00 stage03.s STAGE04 S 6,564 99-06-14 12:00 stage04.s これが、「ゲーム自体」の「全データー」。サイズだけで「異常に小さい」のが解かって頂けると思う。 この程度になっていれば、「個人で四面まで作る」のは「さほどめんどくさくない」よな。「めんどくさく」なったら「なげだす」に 決まってるのだから。(註:「めんどくさく」なったら「なげだす」のはアナタもワタシも一緒) ちなみにこのアメブロの1ページが最大40,000(単位はバイト上とで同じ)前回(8/16)も前々回(7/23)も「最大まで書いた」 こゆーふーになってないと、「めんどくさくなって完成しない」。 (註:アメブロは「最大全角で20,000文字」エラーの「最大全角で40,000文字」ってのは「直す気が無い」らしい。 本当に、「最大全角で40,000文字」ならストレスが溜まらなくてイイんだけど...コピペしてサイズ減量するのめんどくさいし、 IE6の場合、勝手にタグを書き換えて、勝手に「容量を増やす」つまり書ける量を減らす。その為、実質20,000文字は書けない。 動画貼り付けられるんだから、「テキスト」だって「実質的にコピペ」出来るよーにしてよ。30,000文字あれば十分だが、 タグが減らすから、20,000文字は(記事書く気がしなくなる程)狭すぎるのです。)



さて別館のsegalagaA00。またまた比べるのもおこがましいが、これ(男ダマ)に比べてデーターが「多い」気がする。 (実は少ないが気分的にはさ) しかも多い癖に、「殆どデーター化する意味もない。本質的に不要なもの」が、データーになってる。 例えば「C:\xgcc\segalaga\src\dat\lwave.c」 {280,83,8}, {280,83,8}, {280,83,8}, {280,83,8}, {280,83,8}, {280,83,8}, {280,83,8}, {280,83,8}, {280,83,8}, {280,83,8}, {280,83,8}, {280,83,8}, {280,83,8}, {280,83,8}, {280,83,8}, {280,83,8}, {280,83,8}, {280,83,8}, {280,83,8}, {280,83,8}, <以下略> 20行全部一緒ってのも凄いが、データーの内容も凄い。マズこのデーターは誘導アルゴさえ作ってしまえば、 データー自体不要なんだが(つまり始めから価値0ってゆーかマイナス)、それはこの際考えない事にしてだ。 データーのフォーマット(書式): {X座標,Y座標,方向(direction)}, 「X座標,Y座標」は「X差分,Y差分」の方が、「作るのもめんどくさくない」上に、「サイズも減る」んだが、その件は、かんべんしてあげやう。 問題は次の「方向(direction)」。一体、何かと思ったら、「スプライトの向き(向いてる方向)」。つまり「向き」はパターンになってるから、 「パターン番号」。んで、それも「思いつかなかったのね」と許してあげたい気分になるが、ちょwwwと待ったあ~~~~。 この人、別の所(同じプログラム)でワザワザ苦労して「X、Yから向きを算出するサブルーチン」を作ってるんだお。 しかも、「試作版」と「高速化版」と「2種類も作ってる」。 (つまりそのサブルーチン呼ぶだけで、X、Yから「向き」が出てくるんで、本質的に(データー化が)不要)
LWAVE01_c_data (本質的にふよーなでーたー君の似顔絵です) さてと、この「C:\xgcc\segalaga\src\dat\lwave.c」。数字眺めても、ワカランから、チト画像に変換。 変な大きさなのは、無駄ではなくて、データーの座標が正確に「ドット」になっている為。 別館のsegalagaA00なーんか動きが「カクカク」してるのは、データーが「カクカク」してるのです。すわっ。カクカク、マニア発見。 本能的に曲面は受け付けないんだな!そりゃともかく、一番疑問なのが、 「何でメガドラは320x240ドットしか無いのに、このデーターは280x294ドットあるんじゃい???」 って事かな?(あまり自信はナイ。縦画面を考慮したっぽい気もする)
んが、しかし「この画像」を見て、「こんなんじゃあゲームに持ってったらカクカクするだろうな」と思わないとダメなのです。 だってギャラガの誘導アルゴならば、上下左右に誘導点を配置するだけで円になるんだから、 仮にこれに似た軌跡をこの方式でやりたいのならば、もっと膨らまさないとダメ。だし、そもそも、 こーゆー軌跡が発生する可能性があるのは、「加速度」がかかった場合でしょ? ところがドットの間隔は、ほぼ「一定」つまり「等速度」。データー作成者は画を描く時に、 (註:多分元は描いて作ったんだと思う。だから「座標」も変だし、「フォーマット」も変) (画的に)「加速度」と「等速度」の区別がついていないのです。(ギャラガは基本的に等速度。加速するのは後半面から)
つまり、プログラムで、データーを使う場合。基本的に「描いたらダメ」だし、どーしても描かざるおえない場合は、 (例えば、どうがんばっても誘導アルゴが思い浮かばない場合)注意して描く、か「別のプログラムが出力したデーターを使う」 つまり、ゲームを作る場合で「処理速度が足りなくてデーター化しよー」とする場合は、「データーを作成するだけの使い捨てプログラム」 「データーを作成するだけの使い捨てツール」が、見えないケド裏にあるのです。(それも「ソース」が公開されない理由) (だってゲームのオープニングって普通「ムービー」でしょ?「ムービー」作るのに「モデリング」必須でしょ?そのモデルデーターは、 ゲーム中に使うものより桁が違って高品質でしょ?んでその「高品質」なデーターを「低品質」に変換しても、無駄が多くてゲーム 本編では結局使えないのです。んで結局作り直した方が早い。) つまり、PSPのソフトを開発するのに、データー作成は、「自分の使いやすいと思った機械でやれば良い」のです。マックでも、 Winマシンでも、linuxでも、Amigaでも、X68000でも、「データー作成ツール」だと思えば、「何だって一緒」。 もちろんPSPで作成しても構いませんが。(PS2linuxとかもね)
つまり「見えないケド、裏にプログラムがあるのです」。
よくある「ソースリストは何行書きました?」という質問は、 既に「質問者自体の能力を疑います」。つまり「ワタシは何にも知らないし、やった事はないですがね」と言ってるのと同義。 「とっても恥ずかしい質問」だと言う事が判ってないんですね。恥ずかしい発言で、「自分の能力が疑われる事」にさえ思いが 浮かばないから、こんな発言が出来るのです。仮にゲームクリエイターであったにしろビジネスプログラマーであったにしろ、 「人格を酷く傷つける失礼な質問」である事に気が付く事はないんでしょうね。タブン。永遠に。 (註:何行でどうこうという厭な「ガクモン」があり「学校で習う」のです。ワタシはその辺全部知ってますが) (2006-08/25、22:55)


■関係ないけどメガドラROMチート。世間に出回ってるよーな(有名な)「チートファイル」は「必要なゲームが無い」もんね。 んで、現在も「やりたい奴は自分で解析」してる。 http://cheat.retrogames.com/forums/viewtopic.php?t=2447 こんな感じ。「Skip ROM Check」ってゆーのがあるのはつまりそーゆー事。(RAMハックの奴もある) (2006-08/26、04:44)
■関係ないけど、こっそり日記。そろそろ月末なんで楽しみですね。 (2006-08/26、05:05) (→追記08/28:おっとお、1.70になってた。マダの人は、こんな所読んでないでsynzさんのぺえじへGo! (別館)のサイドからも行けます)
■一応、葛飾区の小学校ではないので、夏休みの宿題までにはマダ期限がある。んで、ちっとカイリョー? segalagaA01 (一応、星がまたたくのです。あと文字列の点滅と、ギャラボスの耐久度とゲームバランス?が違うです) でもさあ、誘導が作ってないから、無意味といえば無意味。
pal パレットがメチャクチャだなー。緑は未使用。青青がもうひとつ要る。トラクタービーム用に整理して開けとかないとダメ。 (2006-08/27、13:55)
■別館のsegalagaA01[PSP開発幼稚園]って表示されないマヌケなバグがあるっぽ。 // xy(10, 0);print_chr("0 [PSP KAIHATU YOTIEN]"); xy(10, 0);print_chr("0 [pqrstuvwxyz]"); // xy(10, 0);print_chr("0 [#$%&'()*+-.]");
C:\xgcc\segalaga>fc /b segalagaA01bug.bin segalagaA01patched.bin ファイルを比較しています : (bug) と (patched) 00004064: 23 70 00004065: 24 71 00004066: 25 72 00004067: 26 73 00004068: 27 74 00004069: 28 75 0000406A: 29 76 0000406B: 2A 77 0000406C: 2B 78 0000406D: 2D 79 0000406E: 2E 7A C:\xgcc\segalaga> でも、明日からしばらくイソガシーし、今日はもう寝るんで更新デキナイのです。残念。 (2006-08/28、02:19)
■イソガシーと何故かヒマになって開発?がススムノデス(謎)。DGEN170はスゴイナ~www。SEGADRIVEもpicodriveも もう殆ど存在意義が無い感じです。現状。そゆー訳で(?)花火追加。 hanabi02HERE (花火追加。交互に登場) えっと、何がいいたいかというと、この花火は16x16-OBJ、4枚ではなくて。32x32-OBJが1枚なのです。X68000やファミコンや GBやWSでは、16x16-OBJが最大でそんなでかいOBJは出来ないケド。メガドラは可能なんです。OBJの枚数が節約出来るし、 何より管理が楽。X68000とかでは専用のサブルーチンに飛ばす必要がありましたからネエ。(とトオイ目)。 PCエンジン(TG16)は、出来るみたいなんすけど、どおなんでしょ?(ヤッテナイカラわからん)SFCとかアドバンスは、 出来ない気がするな~。確か。 (2006-08/29、07:30) WAVE02a (不要君2号) 変な大きさなのは、例によって無駄ではないが、なんじゃこりゃ?メガドラの座標系って、なんかワカラン希ガス。 (2006-08/29、09:00) ■A02いちよUPしたでつ。あ゛www夏゛やずみ゛~。 palA02_01 ☆パレットの整理はヨクワカランと寄せ集めたダケ。ギャラボスの色違いはパレットバンク0をバンク1に変えてるのはワカルと思うケド、 自分のショット(もり?)と相手のショット(ばくだん?)もバンク変えてるだけ。他にも作ってないケド、「キャプチャー自機」もバンク1に すればヨイだけにしといた。(その為ダケに「青青」がある) ☆ショット(もり?)のパターンは「8x8OBJ」を採用した。ACはオソラク「16x16OBJしか無い」。 これでメガドラの「8x8OBJ」、「16x16OBJ」、「32x32OBJ」は利用してるサンプルになった。 (2006-08/30、01:40)
■とにかくギャラガは誘導アルゴ作らない限り、何にもできる訳ないし、現在「誘導アルゴは作ってない」し、何処にも無い。 軍団から離脱する時に、「ひょい」っと離れるんだが、それさえ「テーブルになってた(ダメじゃん)」。 HYOIx2 んで、元のが緑、修正が(修正してもしょーがないが)青。A02は緑だから、こんなんじゃあ判る訳ねー。 しかもこの修正も、やってみたが、あんま良くない。もちっと大げさに離脱するべきだな。つまり誘導アルゴを作ってからだが、 もっと誘導ポイントを離す必要がある。よく考えてみたら「レイフォースの自機」の「誘導レーザー」って「ギャラガの軌跡」と、 「まったく同じアルゴ」とゆー事に気が付いた。2日グライ前にはVVXとか導入して説明した気がするが、そーではなくて、 「ファミリーサーキット」の「自車」や「敵車」を考えた場合。任意の位置に誘導するアルゴに近い。「レイフォースの誘導レーザー」 よりもっと「最大速度を制限する」ってゆーか「最大速度1」でいいかもな。ほら、「車」だからさ、「ハンドル」そんなに切れんじゃろ? ギャラガの方向(角度)が16方向だとして。最大ハンドルを切って進んでも一つずれた「隣の角度」までしか代えられない様に、 制限する訳。一周が16段階だとして、0x00が0x10になったら、360度回転したと考える。自分の位置から「誘導ポイント」への「角度」が、 判かれば(註:簡単に判る)その「角度」と「自分の今向かってる方向の角度」を足しちゃう。んで、その結果の大小(値の大きさ)で 「次の自分の角度」をどっちに回したら良いのか決める。(つまり「X&0x0f」で8を超えたら負方向。つまり「X&0x08」なら負。) まわすのは「角度++」か「角度--」かのどっちか。(註:「まったく同じ」なら回さないから、全部で3種類) 「2段階回す」とか「一遍に回す」事は出来ない。 つまり、「角度+=2」とかは、駄目。ってゆーかそれだと「単なる追跡」になって「誘導」にならんから、「意味なし」になっちゃう。ワカルカナ~。 つまり数学で言えば、内積なんだケド。 >それから「未だに動きが粗い」のは、まだ「固定少数点を導入してない」から。固定少数点を導入すれば、「誤差」(ってゆーか小数点以下) が「累積」して動きがリアルになる。だってギャラガ等速だから、(X,Y)=(1,0)と同じ速度で、45度方向斜めに進んだ場合。つまり、 X=Yの場合。(X,Y)=(1/ルート2,1/ルート2)=(1/1.414,1/1.414)=(0.7,0.7)だもん。だから固定少数点、要る訳。 (註:単位は例えば、1/60秒当たりの[ドット]。つまり1/60秒当たり0.7[ドット]進ませる訳) dameA02 (みんな好き勝手なんで、途方にくれるファイター) と、思って一部原理を導入してみたが、巧くいかない。おかしいなあ。妄想上は、巧くいくハズなんだケド... (2006-08/30、08:10)


■HazeMD005のコンパイル成功したでつ!ニャー。やりい。 えっとね。とりあえず「hazemdd.exe」の「デバッグ版」だったケド。とにかく動くでつ。 それから、開発環境ワカンナイから、「DirectX8」専用ね。つってもHazeMDで「DirectX9」は限りなく意味が無い。(速くなったりしない) ずーーーーと時代が進んで、「このドライバは最低がDirectX9です」なんて時代になったら、しょーがないケド。そんな事になるなら、 多分Win系ですらナイ時代なので問題ない。とにかく、こんなん。 sglg_on_Haze005a (ごーいんにタイオウ。) haze005a_sglg_DBG ぴ、ぴーえすぴーカイハツにマスマス関係ないじゃないかー。とか思うのは野暮だからヤメとこう。 えっとね。コンパイルするには結構ソース弄る必要もある。つっても、これは殆どMAMEの問題なんだけど。 具体的には「staticで宣言されてる癖に使ってない関数外すだけ」の変更が殆ど。あと、「\hazemd005a\src\windows\d3d9intf.c」は、 使わんし、「\hazemd005a\src\windows\drawd3d.c」は //============================================================ // drawd3d_init //============================================================ int drawd3d_init(win_draw_callbacks *callbacks) { int version = options_get_int("d3dversion", TRUE); d3dintf = NULL; // // try Direct3D 9 if requested // // if (version >= 9) // // d3dintf = drawd3d9_init(); //こいつを外す. // if that didn't work, try Direct3D 8 if (d3dintf == NULL && version >= 8) d3dintf = drawd3d8_init();
こうですね。 べ、別館に上げてもイイけどさー。PSP開発に関係ないよーな気もするし、Hazeさんにも悪い気がするし、3日ぐらいで古びる気もする。 万一欲しい奇特な方がいれば、このページのコメントに偽名でも何でもいいから本文か題名に「欲しい」って書いてね。したら善処するです。
して、ワタシが悩んだのは、「開発環境」だったのです。ってゆーか「VisualC++」以外では、「WinのCでDirectXなプログラム」、 初めてビルト(コンパイル)したよー。うん、生まれて初めてダナ。(註:Borandとかでは、「DirectX」はやった事無い。) いい時代になったなあ。「DirectX8SDK」なんてイラナイ訳ですね。だからMSのサイトには無いのかwwww。納得。 ちゅー訳で、開発環境のご紹介です。 えっと、MAMEのDLページ(http://www.mame.net/downmain.html)から、 「MinGW-3.2.0-rc-3.exe」50MBytesをDL。インストール。(インストールシールド形式ですが多分圧縮ファイルを展開してるダケ) これが、「MinGW」の本体です。但し、本体だけで「make」すらないので何にも出来ないです。 インストールは「C:\MinGW」にしました。
(mingw_for_mame.zip 5517 kB This is the MinGW compile environment for use in Windows. ) を確かここで入れた。「MAME0.61WIN版コンパイル方法のページ」(下記)にあります。
さて次。同MAMEのDLページから、「mingw-over-092.zip」569 kBをDL、展開し、上書き。 「dx80_mgw.zip」(441 kB)をDL、展開し、上書き。 そんだけだった気がする。 「mingw-mame-20060210.exe」(6561 kB)も多分入れてもいいと思うんだけど、(正確に覚えてないが)確か入れてないです。 入れなくても「HazeMD0.05a」はコンパイル出来たです。
あとは環境変数のパスに「C:\MINGW\BIN」を通したです。んで、もし「DJGPP」があるなら、パスから外します。 ただし「DJGPP.ENV」は残しといても問題ないです。要するにOSが「C:¥WINDOWS」に入ってるなら、 「set PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\mingw\BIN↓」 っていうこと。一般的には「SET PATH=%PATH%;c:\mingw\bin↓」でいいと思いますが。DJGPPと共用するならこの手は、 使えないちう訳。 「c:\mingw\mingw.bat」に、作成しとけばラクチンだとMAMEは薦めるんですが...。 「MAME0.61WIN版コンパイル方法のページ」(参考:http://www.mame.net/compile061win.html) ワタシはWin98ですが、上記ページ見る限り、「Windows NT, 2000 or XP」でも問題ないミタイですな。 (2006-08/31、00:40)
■今度は「hazemd.exe」を作成してみた。
C:\MAMEDEV\hazemd005a>hazemd g_sglg Resetting Megadrive / Genesis Average FPS: 16.026370 (2362 frames) C:\MAMEDEV\hazemd005a>
かなりトロイケド、結構動く。このPCはPenⅢタイプのCeleron566@BUS66(0.566GHz) なんで、最近のマシンではもしかしたら(?)とゆー速度ちう事。 fpsが出るのは、オモシロイなー。ちう事で、これを速くしてみよー。 (2006-08/31、02:40)
■まず、メモリ64ビットを外してみた。ついでにINPUTの3人目以降も外す。んでチェック。 Average FPS: 15.948359 (628 frames)数字が、お、重くなつてる!この程度は誤差って事かな?(2006-8/31、03:00) ■次は32xとSMSも外す。ついでにメモリ32ビットも外す。 Average FPS: 14.799224 (852 frames)本当に重くなってるのかな-?(2006-8/31、03:50) ■次はとにかくイロイロ外す。今EXEが2336kBまだまだデカイ。実行させてみると「何故か重くなった気分。」 Average FPS: 16.073829 (1186 frames)ん-ん。始めに戻ったとゆーのか?ワカラン。今日はもう寝よ。(2006-8/31、04:50) ■さっきと全く同じ実行ファイル。「さっきより多少軽く感じる。」 Average FPS: 14.294348 (1129 frames)この程度は誤差なんだ。全然ワカラン。(2006-8/31、07:45) ■ Average FPS: 14.257881 (1457 frames)今EXEが2330kB地味に更新。(2006-8/31、09:00) Average FPS: 14.196168 (1371 frames)今EXEが2262kB。SHA1外す。CRCがあるから要らんし。「何故か数字が低い方が、体感速度は速い」謎?(2006-8/31、09:20) Average FPS: 14.477939 (1234 frames)今EXEが2253kB。vidhrdw/generic.c関連外す。(2006-8/31、10:00) Average FPS: 14.277343 (1115 frames)今EXEが2250kB。vidhrdw/generic.cほぼ外す。(2006-8/31、10:20)
■「\hazemd005a\src\drivers\megadriv.c」に「cpunum_set_clockscale(0, 0.9850f);」を発見。 やはり、上手くいかないんだろなwww。 このブログで何度か書いてるように、セガ公式や世界標準はMASTER_XTAL/7.0だが、 ワタシは、本当はMASTER_XTAL/7.5だと思うので、その旨Hazeさんちにコメント。
TIMINGS… on \hazemd005a\src\drivers\megadriv.c // set_refresh_rate(megadriv_framerate); cpunum_set_clockscale(0, 0.9850f); /* Fatal Rewind is very fussy… */ I think , cpunum_set_clockscale(0, 0.9333f); because SEGA seid official spec the m68000 on drive MASTER_XTAL devide 7.00 but I think MASTER_XTAL devide 7.50
んで、こっちもdivide7.5系に直す。エミュの都合上その分軽くなる筈。実際、体感速度は軽くなる。が、 Average FPS: 14.486207 (2135 frames)たぶん重過ぎるとこれはあてにならないんじゃあないかな?ワカンナイけどさ。 今EXEが2246kB。(2006-8/31、11:40)
Average FPS: 14.669462 (1642 frames)drawgfx.cやtilemap.cの[roz]や[zoom]を削除。今EXEが2208kB。(2006-8/31、14:10) Average FPS: 14.555130 (1678 frames)lightgunとか削除。今EXEが2189kB。(2006-8/31、15:25) Average FPS: 14.512563 (1333 frames)アメブロ更新出来ず。 Average FPS: 14.453781 (978 frames) 76496弄ってアソブ。今EXE2184kB(17:40) Average FPS: 14.486454 (1701 frames)sha1/md5(hash.c/ok , chd.c/???)今EXE2168kB(18:15) あーもー夏休み終わっちゃったよ。これからは防災訓練の季節ですね。やだなあ。 Average FPS: 14.597008 (1366 frames)ちとMPU弄ってみた。効果なし。今EXEが2137kB。(2006-9/1、01:11) Average FPS: 14.634313 (1696 frames)もうちとMPU弄ったが効果なし。今EXEが2128kB。 やっぱドライバ「\hazemd005a\src\drivers\megadriv.c」のあのモノスゴイ割り込みを何とかしないと、 HazeMDは何ともならんかもな~。でも、そこ弄っちゃうと、HazeMDではない気がするしな~。(2006-9/1、02:22) Average FPS: 14.383308 (1318 frames)ちとメモリの「ADDRESS_SPACE_DATA」を削除。そおいやZ80もm68kも使ってないや。 「ADDRESS_SPACE_IO」は(あとで)削除出来るから、もちっと弄れば、メモリがシンプルになるな。今EXEが2124kB。今日はもう寝よ。(2006-9/1、03:33)
■今朝ちっと弄って「ADDRESS_SPACE」は無くなったし、EXEが2118kB。ちょっとテストで、 //#define TM1x6x3LL 1000000000000000000LL #define TM1x6x3LL 20000000000000000LL とか50倍程、精度下げてみる。んが、変わらない。何でだろ? Average FPS: 15.449557 (1313 frames)。 (2006-9/1、12:00)
Average FPS: 15.583953 (1543 frames)メモリ関連やったケド、カワラン。今EXE2007kB(2006-9/2、02:22)
■お、お魚さんのページに動きが!すわつネクストジェネレーションか?(とか言って) もし、ここも閉じちゃうと、初心者には(PSP開発)マスマス訳が判らなくなると思うんですが、如何でしょう? べ、別に本人の勝手ですがね。 (2006-9/2、02:33)
■あれえ?オカシイぞう??HazeMDカスタム今EXEが2003kBなんだが、ちっとも速くならない。そりゃともかく、 ワタシがビルトしたのでない。正規版のつっても、正規α版の(ってそんな言葉あるのか?)とにかくHazeMD0.01afix~0.05aまで、 (五種類のhazemd.exeで、+と数種のhazemdd.exe)「MW4」を試してみた。んが全部バグるし、いくら待ってもデモ画面にならない。オカシーナ?ワタシの 記憶が正しければ、実は「MW4の海外版というものは存在しない」。MW4は日本版しかなくて、んで、ハッカーがシナリオ全書き換え のパッチをあてた。当初は「パッチのみ配布」されてたのに、いつの間にか、アチャラの人は日本版(J)なんて要らないから、パッチが、 あたってる(UE)というまことしやかなバイナリが流布した。いつの間にか、そちらが標準(?)になってた。んだが、 例の「スターウォーズスクローラーなデモ画面」な?ワタシの過去日記調べりゃ画像が載ってるが。あれば「Gens」でも「KEGA」でも 「DEGA」でも「Genecyst」でも「DGEN」でも「Genesis plus」でも「Generator」でも「MESS」でも「C2」でも再現しない。 世の中のメガドラエミュは大抵それらの派生品のどれかだ。ちなみに「DGEN for psp 1.50以降は再現する」ので、ワタシは心底驚いた。 synz氏スゴww。別館に記事も書いた。 メガドラエミュとゆーのは、意外と種類が少なくて、上に挙げた中で「Genecyst」、「KEGA」、「DEGA」、「DGEN」あたりは、お互いに ソースが流通した痕跡があるし、「Genesis plus」、「Generator」あたりとそれらもやはり痕跡がある。「Gens」だって、そーゆーの 元にした痕跡があるしMESSの奴も同様。C2はちっと違ったが、んでも似たか拠ったか。確かに色々違う(CPU載せかえるだけで 結果が全然違っちゃったりするし)んだが、友達の友達は、みーんな友達の世界なんである。実は。(註:そおいやmegasisは違う) 余計な事書いてるとキリが無いんで、もっかいMW4に戻る。とにかく、スターウォーズなあれはエミュでは再現しないのだ。 ワタシは、本物のメガドラと現物のカートリッジを持ってるので、当然始めから知ってた。MW4は発売日に買った奴、今でも持ってる。 とにかく、海外版なんてのはなく、ハッカーのパッチあてであるので、世界中どのメガドラエミュでも再現しないオープニング画面など、 (但し、pspDGENは再現する)さすがに(その手の書き換え)ハッカーでも解からない。だからどおも「海外版?」で日本語の漢字の オ-プニング画面が出るらしい。(註:「らしい」、はワタシがその海外版を入手したりしてない為、「らしい」。ワタシがそれを調査する義務はない筈だ。)
しかし、Haze氏は、あの画面どうやって出したんだろう?デバッガで無理やり出したのなら、そゆこと日記に書いてあるハズだが、 そんな事は書いてなかった。もしかしてPenⅢでは出なくて、PenⅣなら出るって可能性は高いな~。うちのPenⅣ熱いから嫌なんだよなあ。 (註:「MW4は発売日に買った」:それは、「MW3を発売日に買った」からですね。「MW3」。メガドライバーなら買って2日で解いちゃう。 んが、真の地獄はそこから始まる。「チャームストーンMAX貯め」。メガドライバは「ファミコン」も「スーファミ」も持ってるのが常識な為、 「ドラクエ」とかやらせると「小さな」...まあいいや。とにかくMAXが好き。とにかく「チャームストーンMAX」魔法も当然MAX。 これ、「もっとも(時間辺りの)金稼ぎ効率のよい場所で作業しても」、「一ヶ月以上」かかるのだった。...合掌) (2006-09/02、15:37)