■やっぱデカクなったら負け(註:夏はあついからだらだらしても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から「向き」が出てくるんで、本質的に(データー化が)不要)
(本質的にふよーなでーたー君の似顔絵です)
さてと、この「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!
(別館)のサイドからも行けます)
■一応、葛飾区の小学校ではないので、夏休みの宿題までにはマダ期限がある。んで、ちっとカイリョー?
(一応、星がまたたくのです。あと文字列の点滅と、ギャラボスの耐久度とゲームバランス?が違うです)
でもさあ、誘導が作ってないから、無意味といえば無意味。
パレットがメチャクチャだなー。緑は未使用。青青がもうひとつ要る。トラクタービーム用に整理して開けとかないとダメ。
(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も
もう殆ど存在意義が無い感じです。現状。そゆー訳で(?)花火追加。
HERE
(花火追加。交互に登場)
えっと、何がいいたいかというと、この花火は16x16-OBJ、4枚ではなくて。32x32-OBJが1枚なのです。X68000やファミコンや
GBやWSでは、16x16-OBJが最大でそんなでかいOBJは出来ないケド。メガドラは可能なんです。OBJの枚数が節約出来るし、
何より管理が楽。X68000とかでは専用のサブルーチンに飛ばす必要がありましたからネエ。(とトオイ目)。
PCエンジン(TG16)は、出来るみたいなんすけど、どおなんでしょ?(ヤッテナイカラわからん)SFCとかアドバンスは、
出来ない気がするな~。確か。
(2006-08/29、07:30)
(不要君2号)
変な大きさなのは、例によって無駄ではないが、なんじゃこりゃ?メガドラの座標系って、なんかワカラン希ガス。
(2006-08/29、09:00)
■A02いちよUPしたでつ。あ゛www夏゛やずみ゛~。
☆パレットの整理はヨクワカランと寄せ集めたダケ。ギャラボスの色違いはパレットバンク0をバンク1に変えてるのはワカルと思うケド、
自分のショット(もり?)と相手のショット(ばくだん?)もバンク変えてるだけ。他にも作ってないケド、「キャプチャー自機」もバンク1に
すればヨイだけにしといた。(その為ダケに「青青」がある)
☆ショット(もり?)のパターンは「8x8OBJ」を採用した。ACはオソラク「16x16OBJしか無い」。
これでメガドラの「8x8OBJ」、「16x16OBJ」、「32x32OBJ」は利用してるサンプルになった。
(2006-08/30、01:40)
■とにかくギャラガは誘導アルゴ作らない限り、何にもできる訳ないし、現在「誘導アルゴは作ってない」し、何処にも無い。
軍団から離脱する時に、「ひょい」っと離れるんだが、それさえ「テーブルになってた(ダメじゃん)」。
んで、元のが緑、修正が(修正してもしょーがないが)青。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[ドット]進ませる訳)
(みんな好き勝手なんで、途方にくれるファイター)
と、思って一部原理を導入してみたが、巧くいかない。おかしいなあ。妄想上は、巧くいくハズなんだケド...
(2006-08/30、08:10)
■HazeMD005のコンパイル成功したでつ!ニャー。やりい。
えっとね。とりあえず「hazemdd.exe」の「デバッグ版」だったケド。とにかく動くでつ。
それから、開発環境ワカンナイから、「DirectX8」専用ね。つってもHazeMDで「DirectX9」は限りなく意味が無い。(速くなったりしない)
ずーーーーと時代が進んで、「このドライバは最低がDirectX9です」なんて時代になったら、しょーがないケド。そんな事になるなら、
多分Win系ですらナイ時代なので問題ない。とにかく、こんなん。
(ごーいんにタイオウ。)
ぴ、ぴーえすぴーカイハツにマスマス関係ないじゃないかー。とか思うのは野暮だからヤメとこう。
えっとね。コンパイルするには結構ソース弄る必要もある。つっても、これは殆ど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)