記事URL | コメント(388) | トラバ | | ペタを残す
コメント
[コメント記入欄を表示]
■NA-1、NA-2、凄すぎ
すげ~
ND-1 は動きませんか?(ナムクラ1、2)
goe 2006-11-29 08:56:38
■お、反応アリ。
NDは、まだ試して無いケド、難しそうではあります。
(Main CPU: m68000 @ 12[MHz])
(sub CPU: H8 @ 16[MHz])
/* 16MBytes for Main CPU */
/* (8MBytes?)sub CPU */
/* 4MBytes character generator */
/* 2MBytes sound data */
んが試して見ないとワカラナイ。
ワタシも素人ですから。
NAは未だ「突然死」しますが、myHDD版は「もっと速い」でっす。
だから、そろそろUPしなきゃな~。と、思うんですが。
「突然死」するから気が進まないんです。
pspdevblog 2006-11-29 10:12:00
■早々のご返事ありがとうございます!
確かにメモリあたりが厳しそうですね
んがまだ試して無い所がドキドキしちゃいます
期待してるうちが花 w
NAは基盤持ってるんですよエメラルディアが大好きでして
NDはパックマン、ゼビウス、ギャラガのアレンジが最高です!
これが携帯で遊べたら… ドキドキしちゃいますw
ps. nmk93のサボテンb感動してますョ
goe 2006-11-29 11:40:36
■期待して下さい
お、解かってくれましたね?そんな訳でNDはチトあと回しですが、
意外な物が動くかもしんないでっす。さあて何が動くかな~。わくわく。
かんりー 2006-11-29 16:43:15
■ほんとだ、すごいや
「サボテンb」動きやんすね。他のえみゅも「x」になってるのに動くのあるかも?チェックする時間が取れないんですうう。
かんりー 2006-11-29 21:48:55
■無題
セガのMAMEとかやらないですかね?
いや,自分セガが好きと言うだけなんですが
XとかYとかが動けばABIIとかGFIIとか色々色々楽しめるのですがー
SGGG 2006-11-30 11:16:15
■ドキドキしちゃいますw
意外な物ですか、 ドキドキしちゃいますw
想像力がたくましくなり過ぎて心臓が破裂寸前です。
ぐわむばってください!
期待してます!
goe 2006-11-30 13:22:50
■セガ
XとかYとか、以前にsystem16チャレンジしてみたけど、現状は失敗してます。
んが、しかし、そんな事ではあきらめないでっす。だって「きっと動く」信じましょう。
X、Yとかも今度チャレンジしたいけど、MAME見てくれれば、本当にメモリが厳しい...。
何がでてくるかはワタシにもワカランでっす。お楽しみ。
かんりー 2006-11-30 15:31:44
■動作報告
namco83凄い!
画面を rotate にすると何故か全てのゲームで、 fs0 でフルフレーム出てます!!!
感動しました!
リクエストよろしいでしょうか?
darwin 4087 です
あと少し軽ければ十分遊べるので惜しい(本家)
がんばって開発してください!応援してます
goe 2006-12-21 13:14:15
■修正
darwin 4078 でしたw
goe 2006-12-21 13:19:29
■セガに期待!
System16が我がPSP上で動くことを期待してます。
ファンタジーゾーンが動けば言うことないです。
あとはいら(略)。
エスパーmame 2006-12-21 20:06:04
■ちょいと忙しいがリクエスト希望
★反響あると嬉しいでっす。んとね。「darwin 4078」は調べてないケド気にしとく。
★それから「System16」は、まだまだ動いてないケド。きっと動くと信じてる。ガンガレ→私。
★リクあれば「気にする」んで、コメントよろ。
★それから、リクエストは出来れば、
「他のPSP_MAMEとかで動くんだけど、重すぎて遊べない...」ってのを教えてくれれば「速くする」
そういうのは、結構早く実現可能だと思う。
(ワタシの得意分野?はつまりそういう事。PSPのハード自体とかは苦手)
★現在「TOUA90」(東亜プランの最盛期)作った。ちと、マダ重いんで改良中。
ゼロウ*ングは遊べる。達人は重すぎてダメ。
かんりー 2006-12-22 03:43:18
■darwin作ったよ。
んじゃ、あとはよろしく。
かんりー 2006-12-22 07:56:35
■興奮しちゃいました
うおおおーーおお
感謝感激!!!!!!
ついに携帯ダーウィン! 一生ものです
ありがとぉーーー
これで朝昼晩ダーウィン三昧できるぜぃ
やーりやりw
自分の中ではベスト10に入ってるゲームなので
嬉し過ぎです。
次は何が出てくるか毎日楽しみです♪
goe 2006-12-22 10:32:29
■今日中にVERUPするよ。
喜んで貰って光栄でっす。んとね。ZAVIGA とB-WING追加してVER UPしたの。
んでチェック中。今日12/22のんーと15:00くらいにはVER UPする。(たぶんね)
んだけどそれ以上は「今日中やらないとマズイ」作業があるもんで、
ちょっとイソガシイのでっす。
別館整理が済んでないから、その時Z00は多分消しちゃう。
かんりー 2006-12-22 11:34:25
■お疲れ様です
いや~んw 動いちゃうの?
渋い、渋すぎる
その辺のシューティングは大好きです !!
何てゆうか、ドキドキしちゃいますw
寝不足確定だなこりゃ
ちなみに Unofficial Hiscore.dat 対応したら
重くなりますか?
goe 2006-12-22 13:11:23
■ごめん今日はちょっと忙しいんで明日にする。ゴメンネ。
★んとね。バーガータ*ムとか追加して、ちょっと収拾つかなくなった。
渋すぎる シューティングなら、ZOAR もあるでよ。残像少しのるくらいには、
いちおバリバリ動いてるケド。もちっと完成度上げたいんで、
ごめん今日忙しいから、また明日。期待して明日!必ず。
★「 Unofficial Hiscore.dat 」って何?
「hi-score」関連は使えなくなってる。多分対応すると「少し重くなる」。
(もしくはメンドクサイ)正直言って、hi-score関連はあんまやりたくないです。
かんりー 2006-12-22 15:39:19
■無題
darwinが動いてるの見て感動しました!ありがとうございます!!B-WINGも動くとの事で楽しみにしています (*^▽^*)
ぱん 2006-12-22 15:55:08
■System16をwktkして待ってます
確か本家のMAME PSPのSG2(?)では動くことは動きました。
すっごい遅かったけど。
フレームスキップなしにしたら1面クリアするのに10分くらいかかったような気がしますw
エスパーmame 2006-12-22 20:45:05
■よし、SG2だなチェックしてみます。
★お、エスパーmameさん。ありがと!そういう情報が欲しいケド。
その手の「チェック時間が取れない」でやんす。
SG2でSystem16「A(でしょ?タブン)」のファンタジーゾーンが遅いけど動く
って解釈でOK???
(もし、本当に動くなら本家TMK版まで戻ってやり直してみる手もある)
★「System16B」のげえむは何かひとつぐらい動くんでしょうか?
★それともファンタジーゾーンって「System16B」で動くの???
★昨日の作業終わってないし、めんどいから中途半端だけど、
darein4078_Z01とTOUA90_Z00あげちゃおうかな。(未定)
TOUA90は未だトロイでやんすが。
★関係ない話だケドCAVEだって。すごいなー頭が下がります。
かんりー 2006-12-23 00:24:23
■確かにそのようですね。
http://pspmame.s151.xrea.com/の動作検証リストで確かに。
>ファンタジーゾーン (set 1 unprotected) fantzon1 ◎ ◎ ◎ Average FPS:4.0
>Fantasy Zone (set 2, unprotected) ファンタジーゾーン (set 2 unprotected) fantzone ◎ ◎ ◎ Average FPS:4.0
しかしmyMAMEでは、未だ動作してない。本家DLしてチェックする必要がある。
かんりー 2006-12-23 11:23:56
■本家SG2は動く
(set 1)終了時報告3.3fps
(set 2)終了時報告2.6fps
現実にどれくらい出てるかは解からない。しかし動作確認。
かんりー 2006-12-23 11:54:16
■訂正。222MHzだった。
333MHz,22kHzで再確認。
(set 1)終了時報告例4.681265fps
(set 2)終了時報告例5.499611fps
かんりー 2006-12-23 12:02:19
■検証お疲れ様です
ファンタジーゾーンの動作確認できたみたいで良かったです。
System16BはSDIとかですよね。
とにかくファンタジーゾーンを動かしたかったのでそれ以外検証しなかった(^^;
しかもTMK版消しちゃったんですよねぇ…。ソースだけは入手したんでコンパイルしてみようかな。
コンパイル成功したら他のSystem16ゲームも検証してみます。
エスパーmame 2006-12-23 14:45:45
■PSPDEVじゃダメっすか
NJ氏のコンパイル講座を読んで最近はCPS2PSPを自前コンパイルしてるのですが、
同じ調子でPSPMAME04(SEGA SG2)をコンパイルしようとしたら詰まりました…。
多分CygwinじゃなくてPSPDEV使ってるせいだと思うんですけど。
make: mipsel-elf-gcc: Command not found
make: *** [obj/sega2psp/psp/startup.o] Error 127
って要するに「そんなコマンドねぇよ」って意味ですよね。
CygwinとPSPDEVは共存できないという話ですが…なんか方法ないですか。
(すいません。初心者で。Cygwinはアンインストールしちった)
エスパーmame(コンパイル処女) 2006-12-23 16:02:05
■サンタさんありがとうw
Z01 試しました!
動いてますね~ びっくりしちゃいました
豪華で渋すぎの素敵なラインナップでお腹一杯です
最高のdecoレーションケーキですw
これまた一生ものです!!
Unofficial Hiscore.dat とは本家mameのHiフォルダに入れると自動的にHiscoreを記録してくれる便利なものです。
少し重くなるようなら忘れてください
System16もぐわむばってください!
ちなみに、ファンタジーゾーンはSystem16Aじゃ無かったかと?
goe 2006-12-23 19:11:52
■えすぱーjojoさんにお答えします。
んとね。PSPの開発環境には種類があって、TMKさんは「mipsel-elf-gcc」って奴で作ったのです。
んが、たぶんエスパーmameさんの持ってる「PSPDEV」(これxorloserでしょ?)でイケルと思います。(タブンでっす)
その方法は、「\src\psp\psp.mak」をメモ帳なりで開くと、一番上にある奴を
AR = psp-ar
CC = psp-gcc-4.0.2
LD = psp-ld
ASM = psp-as
STRIP =psp-strip
こういう感じで修正し、LIBSも
#LIBS = -lc -lm /usr/local/lib/gcc/mipsel-elf/3.4.2/libgcc.a
LIBS = -lc -lm /pspdev/lib/gcc/psp/4.0.2/libgcc.a
こっち(下側)にすれば多分OK。ガンガレ!
要するに単にCコンパイラのバージョンが違うだけなのです。
★他にも「CygwinとPSPDEVは共存でき」ます。ワタシはNJ氏と違い共存して使ってます。(それしか方法知らない)
共存は「PSPDEV」をインストールした\bin\とかにツール(make.exeとか)が纏めてはいっとりやすが
「頭がpsp-で始まるもの」以外を、「別の場所に移動」し、その\bin\には「パスを通す」これでOKです。
さんた 2006-12-23 19:45:36
■えすぱーgoeさんにもお答えしちゃいます。
★PSPのMAMEで「どおしてもHI-SCORE」を記録したいのを作るなら、「MAMEとまったく違う方式」が無難です。
ワタシは、あんま作る気無いんですが、その「Unofficial Hiscore.dat 」を使って、「手動で記録」するのなら、
「仮に作っても重くならないかもしれない」です。(やってみなきゃワカランし...)
★「手動で記録」ってのはメニューの「HISCORE-SAVE」とか「HISCORE-LOAD」をユーザーが選ぶ。っていう事です。
「自動記録は(おそらく)重い」少なくともMAMEとまったく同じ方式では重い、それだけです。
★万一作るならその「Unofficial Hiscore.dat 」はそのまま使った方が、使い勝手はラクチンですよね。
かんりー 2006-12-23 19:58:05
■アドバイスありがとうございます!!
教えて貰った通りに設定してPSPDEVでコンパイル開始できました!
CPS2PSPコンパイルするのとはワケが違う…長時間放置した後、多分最後の最後だと思うんだけど…。
psp-ld: /pspdev/lib/gcc/psp/4.0.2/libgcc.a: No such file: No such file or directory
make: *** [EBOOT.PBP] Error 1
ないことあるかーい!ちゃんと存在しとるがな!
というエラーが出てしまいました…。
libgcc.aというファイルはしっかりと実在します。なんででしょう…?
質問ばっかですいません…。
エスパーmame 2006-12-23 21:53:09
■もういっかい場所の確認をしてみよう。
えっとね。(ワタシが知ってる限り)2つ可能性がある。
★一つは「もう一回make↓」で何故か正常動作しちゃう場合。長時間コンパイルでは時々ある。
まれにPC再起動で解決したりする。
★もうひとつはエラーメッセージのとおり、どこかの「環境の設定が原因」の場合。
libgcc.aは、「LIBS = -lc -lm /pspdev/lib/gcc/psp/4.0.2/libgcc.a」にあるよ。
って指示したけど、「エスパーmame」とウチで微妙に環境の設定が違うんだろう。
★ウチの環境を参考に書くから、「LIBS = -lc -lm /ここを直す/libgcc.a」に書き換えるりゃできる筈だ。
そのエラーメッセージは、純粋にこれが見えてない(探せてない)だけだから。
★まず、C:\cygwin\に入れたんだが、「xorloser」は「C:\cygwin\pspdev\」に入れたと思う。
libgcc.aは、 C:\cygwin\pspdev\lib\gcc\psp\4.0.2\libgcc.a の場所にある。
★make↓したコンソール(註:cygwinに限らん)で「psp-config↓」って打ってみて使えるかな?
ウチは、
「psp-config --pspsdk-path↓」<PSPSDKのパスは?>
/pspdev/psp/sdk
--------------------------------------------------------------------------------
「psp-config --pspdev-path↓」<PSPDEVのパスは?>
/pspdev
--------------------------------------------------------------------------------
「psp-config --psp-prefix↓」<よくワカンナイおまけ>
/pspdev/psp
ってなる。今回関係してるのは、ずばり2番目の「psp-config --pspdev-path↓」
それは、Nj氏のソースは「PSPSDK環境」
TMK氏の今トライしてるのは、「PSPDEV環境」でチョビット違うからって訳。
★この辺(要するにLIBSを直す)見直せばできる筈。あと一息だ。ガンガレ!
かんりー 2006-12-24 01:00:44
■それかオマケ
とにかく「環境はワカラン」からそのエラーメッセージは
psp-ld: /pspdev/lib/gcc/psp/4.0.2/libgcc.a: No such file: No such file or directory
make: *** [EBOOT.PBP] Error 1
だな。つまり「psp-ld」(リンカ)が「/pspdev/lib/gcc/psp/4.0.2/」の「libgcc.a」。
「ファイルが無い」あるいは「ファイルディレクトリ(フォルダ)が無い」って言ってる。
「/pspdev/」のフォルダはドンナ環境でも「(今使ってる奴は)一ヶ所しかない筈」
そこに「ひたすら(エラーメッセージと全く同じ構成の)フォルダを作って」「libgcc.a」をコピーしちゃえ。
それで出来る筈だ。ガンガレ!
かんりー 2006-12-24 01:16:24
■ありがとうございます
管理人さんのアドバイスのおかげでコンパイルできました。
この1ヶ月の間四苦八苦していたので感謝感激です!
ところでご質問があるんですが、TMK氏のmameにNJ氏のc6809を投入するのは難しいですか?
makファイルなども眺めてはいるんですがどこをどういじっていいものかわかりません。
nj86のほうは投入前後でのmakファイルの違いもわかりやすいんですが、構成も微妙に違うみたいですし‥。
もし、makファイルだけいじればいいのではなく、結構面倒なようなら素直に諦めたいと思います。
Cど素人 2006-12-24 01:52:50
■思ったより簡単だから「慎重にトライ」せよ。
● それで、ウチではフ<略>ン動かんが。動いた???(興味シンシン)
● NJ氏のc6809を投入するのは「ものすごく簡単」別館の日記にもちょろっと書いた。
「nj86a06日記停止」の「■番外編「c6809」の謎。」って奴。
http://psp.nukenin.jp/HTM/index_nikki03.html
★.TMK氏の(正確にはMAME自体の)「rules.mak」って奴探して、別館のを参考にc6809用に修正する。
(註:ワタシのは「o_rules.mak」になってるが、基本的に「rules.mak」と同じ。
デバッグの都合で、変な名前になったダケだ)
(註:「M6809」で「検索」するんだぞ。上から眺めてたら、疲れちゃうよ)
★.c6809自体(c6809.cってファイル)の修正。c6809はMAMEで使うには、インターフェイスってゆーか
連絡部分がちょいと足りない。んだから追加しちゃう。「m6809_get_info()」の中身を充実させる必要がある。
TMK氏の、つまりMAMEで「そのまま利用したい」なら、別館の奴に加えて、
case CPUINFO_STR_CORE_FAMILY: info->s = (char *) "Motorola 6809"; break;
case CPUINFO_STR_CORE_VERSION: info->s = (char *) "1.1"; break;
case CPUINFO_STR_CORE_CREDITS: info->s = (char *) "Copyright (C) John Butler 1997"; break;
この辺も要るかもしれない。(CPUINFO_STR_CORE_FAMILYは追加しないとマズイ)
● その他の物は(万一動かない、とか「MAMEデバッガ使いたい」とか)はcpuのm6809の「m6809_get_info()」から
足りないものは真似しよう。あとnj氏にも感謝しよー。DECOえみゅがあんな速度で動くのはc6809のおかげだな。
かんり~ 2006-12-24 03:01:14
■新着情報(リリースはまだずっと先だが)
★えっとね。まだトロイが、PSPで、サ*ダークロスとスーパー魂*羅が、動いてる。
ゆっくりのんびり開発予定だから、まったり期待してちょ。コ*ミにはナイショだよ。約束ね。
★system16は地道にトライするが、マダ起動(BOOT)すらしないから、結構先かも。未来は解からんでっす。
「エスパーmame」さんが作り上げるかもしんないしね。
かんりー 2006-12-24 09:56:46
■遅ればせながら
ご返事ありがとうございます。
アドバイスどうりにチャレンジしたいと思います
別館の12/15のもののあとにご指摘のものを追記するということでいいんですよね?
あとaファイルは作り直す必要はあるでしょうか?(一応作り直さないでコンパイルする予定です)
あとsegaの気になっていらっしゃるものはset2で動作確認しました。ファイル選択画面に戻した後に再起動するとフリーズするようです。
動作確認リストを見ると16bのものは軒並み動かないようです。
Cど素人 2006-12-24 13:01:38
■ゆっくりやるのも大事なの
★どうせ、本業じゃあ無いんだし、空き時間を利用してコツコツやろう。
★念の為、あくまで「本家TMK版のpspMAMEにc6809を追加する方法」ね。
myMAMEは「CPUINFO_STR_CORE_FAMILY」とかは要らなくなってる。
▽「c6809」+「別館の12/15の日記」==「ワタシのmyMAME(例えば別館のpspMAME097src061208.zip )にc6809を追加する方法」
▽「c6809」+「別館の12/15の日記」+「上のコメント(「CPUINFO_STR_CORE_FAMILY」とか)」==「本家TMK版のpspMAMEにc6809を追加する方法」
★MAMEでは(TMK版、myMAME含む)、「.a」のファイルは、cpuと関係ないから、作り直さなくてもOKだよ。
-------------------------------------------------------------------
★凄い!(set 2)動作したんだ。ウチは(set 1)も(set 2)も動作しない。
ええとかれこれ「sys16のチャレンジは6度目くらい... orz」
今回の奴(昨日一からやり直した奴)は、(set1)も(set2)もROM読ませると、PSPの強制電源断。...エーン。
いーな、いーな。羨ましい。
system16以外は関係ない訳だから、少しずついらない部分を取り外して、みよう。
(動いたソースは、(圧縮とかして)必ずバックアップを取る。古いバックアップは適当に消す)
そのたびにPSP実機でチェック。(set1)(set2)以外はチェックする必要ない。
それで、今動いてる(set2)が動かなくなるかも知れないし、(set1)(set2)両方動くようになるかも知れない。これはやってみないとワカラン。
★プログラムのソースが全く変わらなくても「EBOOT.PBPのサイズが小さくなっただけで速くなる場合がある」
★プログラムのソースが全く変わらなくても「リンクの順序を変えただけで速くなる場合がある」
★ワタシのみたてによるとFZは「本当はそれ程重くない」「重いのは音楽」TMK版は強制的に44100になってる。
★解からない事が(もし)あれば相談にのるから、チャレンジしてみ?だって面白そうじゃん。
かんりー 2006-12-24 15:34:06
■エラー出ちゃいました
c6809の導入ですが、別館のように記述を差し替え、
case CPUINFO_STR_CORE_CREDITS
の記述のあるところに後に3行追加したんですが、エラーが出てしまいました。
まず54行目でerror: syntax error before 'C6809'(あと2行ほど追加)
C6809の前にALIGN_DATAなる変数(?)があるようなのですがこれが関係してるっぽい(nj86などにはpsp_mainやsound,vidhrdwあたりで出てくるけどTMK氏のmameにはでてこない)
他にも結構ありますが鋭意調査中です。
例のものは一度r*mのほうを疑ってみるのはいかがでしょうか。自分のは82あたりで止まってるのでそれを使いました。
segaのapo(略)ohが対応から外れてたのでmakをいじっただけで追加できてしまったのは感動ですw。コンパイルできるだけで楽しみがかなり増えました。
正直、Cはリンクの初めてのCも途中までしか読みきっていないようなど素人なので、解らないことだらけですが、気が向いたら教えてやってください。
Cど素人 2006-12-24 17:53:47
■だいぶレベルが上がってきたな?
★「一ヶ月悩んだ苦労は伊達じゃない」って事。一ヶ月悩めるのってある意味スゴイ。
★「ALIGN_DATA」は変数じゃない。取っちまっても動作には問題がない。
★「ALIGN_DATA」自体は「nj86a06u4」の場合「\src\psp\psp_main.h」で定義されている。具体的に
#define ALIGN_DATA __attribute__((aligned(64)))
これの意味は「ALIGN_DATA」って書いておくと、「__attribute__((aligned(64)))」をその位置にはめ込んくれる。
この謎の文字列は、「いつも同じ」なんでそういう風に書くもんだと理解。意味(自体)は無い。
64って数字には意味がある。
対処法は、54行目の直前に上記#defineの一行を追記すれば、OK。
★「ALIGN(アライン)」てのは、速度チューニングでは重要。だったりする。
これは「メモリの位置」を合わせてくれる。「メモリの位置」は「速い場所」と「遅い場所」があるの。
64って数字は、「64バイトごとのメモリ境界にデーターを合わせて配置してくれ」って意味がある。
特定のバイト境界にデーターが合っていると速い。もちろんケースバイケースで、「アラインを合わせた方が必ず早い訳では無い」が
「ほとんどの場合は速い」
★r*m(ROM??)って??、そいつは本家SG2ではちゃんと動くんだから問題ないでっしょ? え?82って何?ROM名?(この話は問題ないなら終了でFA)
★「makをいじっただけで追加できるものは沢山あるはずだ」殆どのものは問題ないが、
PSPはメモリがキツイから「突然動かなくなる可能性」があるので、実機でのチェックは必要だよ。
エラーなしでコンパイルとうっても、実機で動かなくなっちゃう事がある。こうなると意味不明だからさ。
かんりー 2006-12-24 18:23:56
■少し訂正
× 必ず早い → ○ かならず速い
× 「nj86a06u4」 → ○ 「nj86a06u3」
かんりー 2006-12-24 18:39:51
■もう少し訂正
× 「64バイトごとのメモリ境界にデーターを合わせて配置してくれ」
→ ○ 「64バイトごとのメモリ境界にデーターの先頭を合わせて配置してくれ」
★ちなみに「__attribute__」は「特殊なやつでっす」。
「aligned(数字)」は「(数字)Bytesの処にアライン合わせてくれ」って意味。ダイタイ。
かんりー 2006-12-24 19:04:14
■Cど素人さんスゴイ
お世話になっております。
libgcc.aの件はちゃんとそのフォルダに存在してるにも関わらずエラーになるので
やけくそになって頭に「 C: 」って入れたら動きました(ナニソレ)。
ちなみに環境は管理人さんと全く同じでした。
順調にコンパイルが進んでるかに見えたその時、またしても
エラーで止まりやがったです…。
もう意味がわかんない…。
なんかもうこれ以上質問するのも悪いので自力で探ってみますが
疲れた・・・orz
Cど素人さんに追いつくにはまだまだかかりそうです。
エスパーmame 2006-12-24 19:44:26
■修正してみました
ご指導ありがとうございます。
ご指摘のとうりに修正してみました。
他にそれとは違って似たエラーが2つ
in function 'C6809_Exec'
(606):erroor: 'u8' undeclared (first use in this function)
(606):erroor: (Each undeclared identifier reported only)
(606):erroor: 'u8' undeclared (first use in this function)
(622):erroor: syntax error before 'Opcode'
ググって調べたら''の中がが宣言されていません(この関数内で初めて使用されます)とのこと(これこそ変数か?)
おそらくnj86などでもどっかで宣言されてるんだろうけど探せませんでした。
あと
in function 'm6809_set_irq_line'
(708) : warning: no return statement in function returning non void
in function 'm6809_set_context'
(719) : syntax error before 'if'
At top level
(723) : error invalid storage class for function 'm6809_set_info'
こちらは鋭意調査中ですが、static変数が3つとも前にあるのでこれが関係してそう。
だけど”初めてのC”の10章読んだくらいではちょっと厳しいかも(苦笑)。
apo(略)ohは同じdriverのrobo*resが対応してたのでひょっとしてと思い追加してみました。
一応動作確認もちょこっとですがしました。
Cど素人 2006-12-24 20:01:46
■コンパイル出来ました!
最初からやり直したら何故かコンパイル出来ました!(歓喜)
ファンタジーゾーンが再び動くことを確認。
Cなんて未経験ですが、コンパイル出来る様になったことだし
勉強がてら色々といじってみたいと思います!!
ご教授ありがとうございました!!
エスパーmame 2006-12-24 20:24:29
■みんな、すごいでっす。
んとね。u8ってのは、単に書くのが、めんどくさいからで単に「unsigned char」の事。
これの定義をするには、
#define u8 unsigned char
でもイケルと思うケド。普通は、
typedef unsigned char u8;
って書くの。使う前に定義してね。
(普通は定義してあるファイルを前に#includeする。
たとえば、下記「ありがちな奴」の「#define」の行だけ「teigi.h」って名前の
テキストファイルにしといて、使う前に
<ここではu8を使えない。>
#include "teigi.h"
<ここではu8を使える。>
「teigi.h」を置く位置はいろいろあるケド。さしあたり読み奴と同じ位置ならいけるかな?(設定による)
MAMEの場合は\src\include\にいれときゃ大丈夫な筈。)
----------------------------------------
あのね。「調べ物」は「ググる」だけじゃダメ。
「ソース自体を検索」しよう.
「検索」ってWindowsなら、スタートメニューの検索でもいい。
(専用のツール使ってもいい)
「探す場所」に「C:\cygwin\home\xxx\pmame04\src」とか入れといて、
んで、「含まれる文字列」「 u8 」って訳。
(註:u8前後にスペース入れるとか工夫)
ただしこの検索は、大文字、小文字を区別してくんない。
----------------------------------------
参考までに、ありがちな奴。例えば「teigi.h」
----------------------------------------
#define u8 unsigned char
#define s8 char
#define u16 unsigned short
#define s16 short
#define u32 unsigned int
#define s32 int
#define UINT8 unsigned char
#define INT8 char
#define UINT16 unsigned short
#define INT16 short
#define UINT32 unsigned int
#define INT32 int
----------------------------------------
(註:PSPはintが32bitでやんす)
かんりー 2006-12-24 21:00:44
■あきらめないのがコツでっす。
★「エスパーmame」さん。そんなにすぐすぐ出来ないのが普通だから、大丈夫。
「詰まった」ら、さしあたりその日は忘れちまって、次の日でもOK。
そうするとあっけない程簡単に出来たりします。本当でっす。
★「Cど素人」さん。同じdriverで既に動く奴は、追加すれば、
基本的に動く可能性が非常に高いです。
★同一人物じゃなかったのね。今まで誤解してた。
★関係ないケド、開発報告。
んとね。サ*ダークロスはK*NAMIのカスタムcpu使ってるんだケド、
これが中身は殆どm6809と似たようなもん(作りはちょっと違う)
従って、m6809→c6809の技術を流用し、cK*NAMI化作業中。
まだ、作業中だけど、速くなって来てる。ガンガレ!
かんりー 2006-12-24 21:25:05
■皆さんぐわむばってください!
皆さん凄いですね
自分はただのゲーマーなので
皆さんの文章を読んで初めてソースを眺めてみましたが…
昔何かのソフトでディレクトリの構成がごちゃごちゃしている奴を1つのフォルダに全部ぶち込んで
dil の行き先を全部そこにしたら動いたという経験は有るのですがw
たとえばソースをいじってEBOOTに戻すのに何かツールがいりますか ?
goe 2006-12-24 22:16:36
■コンパイルできたけど‥
度々のご指導本当に有難うございます。
ご指摘のとおり
#define u8 unsigned char
を直前に加え、他のエラーもm6809のソースと比較しながら直したらコンパイルは出来ました。
ただ、ファイル選択後、
src/driver/bara*uke.c :bara*uke use non present CPU
と出てしまいました。
しかし、このエラー私前にも見たことがありまして、
sega2をsegas16a専用に軽量化しようとしたときにでたエラーで、
その後、CPUのいくつかをを有効にしたら実行できました。
(ちなみに軽量化での高速化の効果は体感でもほとんどなかったです(3580→2849))
おそらく、driverがc6809を認識してないのが問題だと思われるので、
もうちょっと検討してみようと思います。
Cど素人 2006-12-24 22:47:48
■今日はもう寝るでっす。
★ワタシもただのゲーマーでっす。ゲーマーじゃなきゃ出来ない仕事でっす。
★ちなみにcK*NAMI化すると、絶大なメリットを受けるげえむは、
A*JAX、8*GAMES、パロデ*ウス、悪魔城ドラキ*ラ等...
全然試して無いが、これらのげえむがPSPで。とゆー妄想で作業。
単純作業は眠くなるよー。おやすみなさい。
かんりー 2006-12-24 22:53:19
■補足
★ワタシもただのゲーマーでっす。ゲーマーじゃなきゃ出来ない仕事でっす。
★ちなみにcK*NAMI化すると、絶大なメリットを受けるげえむは、
A*JAX、8*GAMES、パロデ*ウス、悪魔城ドラキ*ラ等...
全然試して無いが、これらのげえむがPSPで。とゆー妄想で作業。
単純作業は眠くなるよー。おやすみなさい。
「src/driver/bara*uke.c :bara*uke use non present CPU」は、リコンパイル(最コンパイル)
(obj(*.oのファイル)全部消してからコンパイル)で直ると思います。めんどくさいならそれが速い。
その間PCほったらかして、別の作業(例えばげえむのチェックとか)します。ねむい。
かんり~~ 2006-12-24 22:59:51
■スタッティックの秘密(前編)
★ワタシのソースとか眺めりゃ気が付くと思うんですが、
「やたらstaticになってる」詰まる所、それが速さの秘密でっす。
つまり、コタツの上でみかん喰べる時、皮が出ますが、
その皮をすぐ近くの(手の届く範囲の)生ごみいれに入れるか、
わざわざ庭に穴掘って埋めるかの違いでっす。
-----------------------------------------------
★ちなみにstatic使い方は3種類あります。
おんなじ名前(予約語)だけど、使い方が色々あるのです。
例えば「test.c」
-----------------------------------------------
<略>
static int aaa;
int bbb;
static int kansu_ccc(int ddd)
{
static int eee=0;
int fff=0;
eee++;
fff++;
printf("eeeは %d でっす。ffffは %d なの。" eee, fff);
}
int kansu_ggg(int hhh)
{
static int iii=0;
int jjj=0;
iii++;
jjj++;
printf("iiiは %d だぎゃ。jjjは %d でんがな。" eee, fff);
}
<略>
-----------------------------------------------
かんりー 2006-12-25 06:25:38
■スタッティックの秘密(さらば<中略>完結編)
-----------------------------------------------
<変数の場合>
★aaaはtest.c内だけで有効。他からは見えない。つまり、近くにあるから速い。(スタティック変数)
☆bbbは他のobjからも見える。つまり何処からでも見える。運が悪いと遠くに配置
されちゃって、少し遅めになる場合がある。(この件は対した事はない)(グローバル変数)
<関数の場合>
★kansu_cccはtest.c内だけで有効。他からは見えない。つまり、近くにあるから速い。(スタティックな関数)
☆kansu_gggは他のobjからも見える。つまり何処からでも見える。運が悪いと遠くに配置
されちゃって、遅くなる。(この件は対した事がある)(グローバル関数)
<関数内部の変数の場合>
この場合のstaticは全然意味が違うのでっす。iiiとeeeは常に1が表示される。
fffとjjjは関数が呼ばれる度に、カウントアップ(一つづつ数字が増える)でっす。
(関数内部のスタティック変数)
(註:これは、つまり「特殊用途」わかっていじろう。)
-----------------------------------------------
これで全部。これ以外のstaticの使い方は「無い」から安心せよ。
これだけ解かれば「本」要らないでっす。タブン。
かんりー 2006-12-25 06:27:35
■スタッティックの秘密(実践編)
staticにして他から見えなくした筈なんだけど、自信がないなら「.map」ファイルで確認しよー。
<前略>
0x000000000888fe60 free
0x000000000888fda4 malloc_psp_init
.text 0x0000000008890720 0x4458 obj/thunder_crosspsp/drivers/thunderx.o ←サ*ダークロスのドライバ
.text 0x0000000008894b78 0x2a14 obj/thunder_crosspsp/drivers/hcastle.o ←悪魔城のドライバ
.text 0x000000000889758c 0x838 obj/thunder_crosspsp/libz.a(crc32.o)
0x000000000889758c crc32
.text 0x0000000008897dc4 0x2438 obj/thunder_crosspsp/libz.a(inflate.o)
0x0000000008899b9c inflateCopy
<後略>
ちゅー訳で悪魔城も追加!
かんりー 2006-12-25 06:41:16
■スタッティックの秘密(...orz 編)
追加したケド動かん。...外すか...
かんりー 2006-12-25 06:54:18
■パロ追加!
悪魔城は悪あがき(tilemap外す)しても(メモリ足りなくて)動かなかったので、パロ追加。
わーいAC版だあい。って移植されすぎで、全然ありがたみが無いが、ロマンだからいいのだ。
ちなみに、K053260_writeのstream_updateは外して、K053260_updateに(stream_updateを)追記しないと、
とてつもなく重くなるよ。(えみゅ作者には)当たり前だけどさ。
かんりー 2006-12-25 08:42:04
■パロ何故か音程が変
MAME1.10互換の3.579545[MHz]==NTSC規格のC搬送波周波数にすると、何故か音程が変(少し高い)
仕方なく3.570000[MHz]にした。本物は3.579545000では無いのかもな~。
(この時代の回路なら、XTALベースでない可能性があるから、3.5700000000[MHz]も考えられる。)
かんりー 2006-12-25 10:11:43
■サ*ダークロスの音も直る
パロと同じハードウェアーという前提の元に、サ*ダークロスを3.579545[MHz]から3.57000000[MHz]へ
変更した。そしたら変だった音が直った。つまり、本物はおそらく「3.57000000[MHz]」少なくとも「3.579545[MHz]」ではない事は確実。
かんりー 2006-12-25 12:24:32
■感無量です!
staticの解説までしていただいて、本当にありがたいです。
気が向いたときに開発に支障をきたさない程度で結構ですの今後もご指南いただければ幸いです。
リコンパイルはmake clean TARGETで.oのファイルを全部消すということでいいんですよね?
もし再度makeから.aのファイルも作り直すとなるとそれなりの覚悟が必要そうなので‥。
ちなみに、.oファイル削除の後にコンパイルしたものは同じエラーが出てしまいましたorz
他の作業としては、segaのi'm総理(system1)が対応できました.。
これと馬場がやりたいがために前のバージョンをいれていたので、非常に嬉しいです。
他にもdriverが対応してるのにゲームが入ってないものも結構ありそうなので
動作しないゲームを整理しながらc6809の作業と平行してやろうかと思ってます。
Cど素人 2006-12-25 19:52:39
■さすがに年末忙しくて、尻に火がついてきた。
★「ログイン」するのもめんどくさくてさー(単なるものぐさ)コメント進行してる訳。
こっちと、別館だと。別館の方が更新は簡単な訳。(現在のワタシのPC環境の場合)
★staticの解説。一部訂正。
× printf("iiiは %d だぎゃ。jjjは %d でんがな。" eee, fff);
○ printf("iiiは %d だぎゃ。jjjは %d でんがな。" iii, jjj);
× [■スタッティックの秘密]
○ [■スタティックの秘密]
かなり疲れてまっす。
★「segaのi'm総理(system1)」かあ。あのさミラクルワールドやりたい気がする。
あれってシステム何だったっけ?(全然調べてない)その辺もトライするよ。
(確か記憶によると本家の「アレク<略>ワールド」は音源MIX結構イイカゲンで有名だった気がする)
segaの(system1)は必ずヤル。「Up'n Down」「Flicky」「Ninja Princess」「Choplifter」「Wonder Boy」
「Wonder Boy in Monster Land」「Ufo Senshi Yohko Chan」等々...初期の名作揃いだな。
だけど、来年あたりにしてくれ。さすがに(少なくとも28日迄は)予定が詰まってる。
★ここへのコメントは大歓迎よ。空き時間にミルからさ、だけど即レスは期待できないケドね。
かんりー 2006-12-26 03:32:58
■「*.a」は、消さないでOK。
★ドライバ(C:\cygwin\home\xxxxx\pmame04\src\drivers\以下)自体を弄った場合のみ、
(.a)のリコンパイルは必要だが「弄ればmakeが勝手にやってくれる」から、
「*.a」に関しては心配する必要は無い。消さないでOK。「必要ならmakeが勝手にやってくれる。」
★(CPUやサウンドダケ弄った場合の)リコンパイル、時間かかるのイヤならは*.oのファイルだけ消す。それも
(例えば)C:\cygwin\home\xxxx\pmame04\obj\sys16psp\ の「直下の*.oのファイルだけ」で良い。
ディレクトリ(フォルダ)以下の(例えば)C:\cygwin\home\xxxx\pmame04\obj\sys16psp\drivers\以下のobjとか
は消さないでいい。
★たぶん「cpuintrf.o」ダケ消せばいいと思うんだけど、(サウンドの場合はsndintrf.o)他も、
もう一個か二個ぐらい(消すの)あったような...(ドライバ追加なら、tiny.oも消すべき)
そこ(\xxxxxpsp\直下の(*.o)objファイル)だけなら対して時間かかんないから、
(選別するの)めんどくさいから直下の(*.o)は全部消しちゃえ。
かんりー 2006-12-26 03:34:44
■ゴメンよく読めてなかった。
★c6809化作業。
↓
>「src/driver/bara*uke.c :bara*uke use non present CPU」
↓
>oのファイルを全部消す
↓
>ちなみに、.oファイル削除の後にコンパイルしたものは同じエラーが出てしまいましたorz
って事?本当なら「理屈上は変だ」「プログラムがオカシイ」。
-----------------------------
★「m6809では大丈夫なのか」確認せよ。
★「c6809ダケが問題」なら、もう一度、「c6809.c」の「m6809_get_info()」の中身を再検討する
必要があるかもしれん。
★「何度やってもc6809ダケが問題」なら、うーんちょっと直ぐには解からない。
差し当たり保留にして、他の事チャレンジした方が無難かも。
c6809の件は、きっと他の事してれば、(問題点が見つかって)そのうち出来るよ。タブン。
かんりー 2006-12-26 03:51:01
■ちなみにエラーメッセージの意味
★「src/driver/bara*uke.c :bara*uke use non present CPU」の意味はね。
src/driver/bara*uke.c ってファイルで使ってる。(MDRV_CPU_ADD()で追加してる)
CPUがミツカンナイですの。って意味。ダイタイ。
★src/driver/bara*uke.c では、
MDRV_CPU_ADD(M6809,49152000/32) (註:M6809は\src\cpu\m6809.c)
と
MDRV_CPU_ADD(HD63701,49152000/32) (註:HD63701は\src\cpu\m6800.c)
を追加してるな。上記の「c6809化どうしても失敗」なら、
C:\cygwin\home\xxxx\pmame04\obj\xxxxxpsp\cpu\m6809\以下の*oファイルを消す。
C:\cygwin\home\xxxx\pmame04\obj\xxxxxpsp\cpu\m6800\以下の*oファイルを消す。
これで解決するかも知れない。
★それから「m6809でも失敗」するなら、
例えばC:\cygwin\home\xxxx\pmame04\obj\xxxxxpsp\cpu\m6809\
なら「\pmame04\」にあたる部分の名前を変更せよ。それで何故か上手くいく場合がある。
原因は不明。ワタシは何度も悩まされた。どういう訳だが「パス名」によっては「m6809ダケ」
上手くいかない。(謎)ワタシも「試行錯誤」してワタシの「myMAME」では「M6809」が「M6809Z」に
なってるぐらいだ。
かんりー 2006-12-26 04:10:15
■まpぴーえみゅVERUPしたよ。
「Cど素人」さんの文面から、「bara*uke.c」を読み取り、まpぴーえみゅVERUPしたの。
どおせ研究するなら、FZ(動いてるんでしょ?)研究して欲しい。
速くなって、何処かに発表すれば、ワタシも嬉しいし、「エスパーmame」さんも嬉しいし、
多分「goe」さんも嬉しいし、その他みんな嬉しい。
ワタシはつまる処GPLを公共財産と考えてるので、ぜひガンガッテ欲しいなあ。
強制とかちゃなくて希望です。あくまで希望。期限とか無いから、時間はいくらかかってもいいし、
TMK版より少しでも速ければ「みんな喜ぶよ」。
TMK版はちょっとつけとくと勝手にPSPごと死ぬから安定性は気にしないしね。
まったり、ガンガッテくれると嬉しいでっす。
かんりー 2006-12-26 08:57:04
■ほんのちょっとだけ進歩
いやぁ、Cど素人さんってば頑張ってますね!
僕からすると全然ど素人じゃないっス。
僕は正直、BASICの最初でつまづいて依頼プログラム触ったことないんです。
(以降、MMLでの音楽打ち込み専門。未だに。)
Web作るのにPerlいじったりするけどゼロからは作れないのですでにあるもの
を切った貼ったしてオリジナルに改造するのみ。
エミュもその程度のレベルでどこまで変わるのか興味があったから手出してる
だけで、System16エミュとしてまともに動くとは思ってませんw
とりあえずSystem16以外のドライバを読み込まないようにしたのと余計な
ゲーム名がリストに表示されないようにすることだけはしました。
これでEBOOT.PBPが3580KBから3142KBまで小さくなりました^^
だけど速度にはほとんど関係なかったです(爆)。
音楽が楽しみでゲームやってきた人間なので、次はNJ氏のYM-2151
ドライバなんかを移植できるかどうか試してみたいでっす。
エスパーmame 2006-12-26 15:03:04
■いや、わたしも似たようなもんでっす。
プログラムはゼロから作ったりしないんですよ。
そりゃやろうと思えば出来ますが、「よっぼどの事が無い限り時間の無駄」です。
ワタシだって「切った貼った」のレベルです。「切った貼った」で十分なんですよ。
少なくとも別館にある奴は、殆ど「切った貼った」のレベルです。まあ、ほんの少し
スパイス効かせた部分もありやんすが、まあ80%は「切った貼った」です。
エスパーmameさんのSystem16エミュはFZ専用にしたらどうでしょう?
「PSPでしか実行しない」「System16しか実行しない」「FZしか実行しない」。
そーゆー目で見て、「要らん」処は「とっぱらったり」「簡略化」したりするのです。
改造するとPSP実機で動かなくなっちゃう場合があるのでバックアップは忘れずに取るのです。
「NJ氏のYM-2151ドライバ移植」するのもイイケド。「思ったほど速くならない」と思います。
NJ氏のソースを見れば判りますが、2151に関してはMAMEと殆ど同じ物です。
NJ氏のえみゅがとてつもなく速いのは、別の技術によるものです。
つまりNJ氏のえみゅも2151の重さは負担になっているのです。それ以外の部分が速いのです。
あとMVSはモノラルなので、NJ氏のYM-2151はモノラルです。System16はステレオじゃなかったっけ?
かんりー 2006-12-26 17:26:55
■FZ専用えみゅなら
★FZ以外のげえむは全て排除。
★FZにフロッピーディスクもHDDもCD-ROMも付いてない。これらの排除。
★ベクタースキャンディスプレイは原理的に要らない。簡略排除化。
★アナログ関係のコントロールは原理的に要らない。簡略排除化。
★artworkは原理的に要らない。簡略排除化。
★プレイヤーは最大でも2人。8人も要らない。
★最大でも16ビットCPU「memory.h」「memory.c」を簡略化。
★横画面専用化(縦画面表示機能は要らない)「\src\psp\blit.c」を簡略化。拡大倍率は最大でも1倍。1倍専用化。
★system16は8x8ドットのCHR(BGマップ,tilemap)しか使わない。簡略専用化。
かんりー 2006-12-26 18:06:13
■別館のpaclandEBOOT.zipどう?
あのー。多分Z02より遅いげえむは一つも無いと思うんですケド。自信無い。
出来ればあれ、Z03って事にしてくれると楽なんですが。
Z02よりえみゅ本体は全然高速化されてます。重いのはMAMEの縦横変換ルーチンです。
縦横変換ルーチン使わないように、縦画面のげえむは横に倒して、
つまり[V]==[V]にあわせると、パックランド以外の大抵の奴はFSKIP00でOKです。
かんりー 2006-12-26 18:52:04
■bara*uke対応感謝です!
いつもいつも恐縮してしまいます。まさかbara*ukeまで対応していただけるとは‥。
実は1ヶ月間四苦八苦していたのは、uj86にbara*ukeを移植できないかという
Cど素人には無謀なチャレンジをしていた割合がかなり大きかったものですから(勿論挫折しましたが‥)。
勿論、c6809の実装チャレンジは続けます。
現状は何とかロムの読み込みまでいけるところまで行きました。
直したのは、ruleをM6809ZをM6809にしました。
TMK氏の方ではM6809Zになってなかったのを管理人さんのコメントを見てふと思い出して
c6809にもM6809Zが検索してもでてこなかったので(ちなみにうちではm6809はいじらずに動作します)。
ただ、ロム読み込み終了とともにブラックアウトしてしまうので、もう少し検討する必要がありそうです。
あとsystem16aに限らず単体driverでの研究は今のところちょっと先になりそうです。
今平行してやってる宝探し(笑)に夢中になってるのがひとつで(system1で他に5つ発見)
あとは、効果・実現の可能性ははわかりませんが、エスパーmameさんのアプローチと似てますが
NJ氏のm68000とz80の実装ができないか挑戦してみたいなと。
そのためにも、今のc6809の実装で挫折していてはいけないなと思ってます。
エスパーmameさん。私も似たようなものです。
というより1ヶ月前にcygwinいれるまで、プログロムらしいものに手を出したのは
MSXのBASICをかじった程度が最後です。
ただ、こちらのHPのログ(特に今年の2月くらいの)をかなり読んでいましたが。
あとは、エミュレータ製作のHPや”初めてのC”を眺めた程度です。
Cど素人 2006-12-26 19:22:25
■読んでくれたなんて恐縮でっす。
んが、役立つヒントはあると思うよ。それから、nj氏のm68000とかz80とかリンクに成功したら教えてね。
きっと速くなるよ。やりたいなあとは思ってるんだケド、ついめんどくさくてさあ。未だにやってないのです。
★あのさ[別館のpaclandEBOOT.zip]なら「bara*uke」FSKIP00で動くから、試してみて。
やっぱ「まpぴー」とか「ぎゃぷ」とか従来の奴はZ02よか遅いみたい。新規対応分は軒並み速くなってる筈。
★nj86にbara*ukeを移植という「直感」は正しい。「縦画面」のゲームはどうか知らんが、
少なくとも「横画面」ならnj86をベースにして、mappyえみゅは移植出来る。理屈上は出来る。
その方が安定性が増すんだから、本来そうするべきなのだ。ワタシは「実力不足で出来なそう」で、
手を出してないが「正攻法」だよ。
かんりー 2006-12-26 19:50:52