トップページgamedev
1001コメント382KB

セガサターンのエミュをみんなで作るスレ

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。03/03/02 11:59ID:CduGclze
SSエミュは壊滅の危機に瀕している。
そこでだ、有能な2ちゃんねらーが協力して新たなエミュを作ろうじゃないか。
じゃあ後よろしく
0663AZUCO03/04/03 10:38ID:u4pjng6Q
>>647
ああ、漏れもギャルにきゃーきゃー言われてみたい。

>>652
クラックもある意味技術の攻防だよねぇ。俺は割と肯定的なスタンスかな?

>>654
進みが遅いのはしょうがないと思うんだけど、反応が無いのはちょっとつらいね。
あれだけ焚き付けたんだから、がんばってもらわんと(w
まぁそれを言い出したら1は死刑確定なんだが(w

>>655
そんな勉強は嫌だな〜(汗

>>657,>>660
とりあえずSH2のマニュアルでも延々ながめてみてください。
正直SH2はRISCなんで、コード書くのは楽です。68K書けばよくわかります。

>>662
まぁあの課題はいつか通る道ですので、自分たちでやる気出して工程引くのなら、別に後先
は俺は問わないですよ。
0664名前は開発中のものです。03/04/03 17:53ID:n4qoaZeE
>>1に続いて辞めるやつが後を絶たないな
印象に残ったのはSH-10000だな
>>1が去った後自分は>>1みたいにはならないとかいいながらも雲隠れしちゃったみたいだからな

ここはもうだめだな。あとどれくらいで終わるかカウントしといてやるよ
0665くろりん03/04/03 18:08ID:bcKHLFlx
>>664
そうかもしれませんね。
 俺も最初の方見ていたときは印象にありました。

ttp://www.saturnin.consollection.com/
 新しいSSエミュか?
0666PI.03/04/03 18:55ID:tsJmEQIK
辞めていく人が多いのは納得しますし、引き止めても意味がないでしょう。
追いうちをかけるようで申し訳ないですが、私から1つ言わせてください。
「またPI.の極論か」と思う方もいると思いますが、ひとつご勘弁を。

エミュレータの開発には大量の時間と高いスキルが要求されることは今まで
何度か書いてきました。スキルがあれば時間の削減は可能ですが、それでも
大半の方が予想されている以上にかかるものです。

くろりんさん、GNOさん他、実際にコードを書こうという方へ:

単刀直入に聞きます。サターンエミュレータというソフトウェアは、あなた
がたにとって時間をかけ、犠牲を払うだけの価値があるものですか?

エミュレータを自らの手で作り出したいのか、それともエミュレータで遊び
たいのか、本当にしたいことはどっちですか?

何回、何十回もデバッグや解析で苦しむくらいなら、他のエミュレータで
ゲームしたり、(DVDでもAVIでもいいですが)アニメでも観ていた方が楽し
くないですか? 自由に使える時間をコーディングやデバッグに充てようが、
ゲームで楽しもうが、それは個人の勝手ですが、いざエミュレータ開発と
なると、その大半を開発に注ぎ込む必要があります。そうでなければ完成は
おぼつきません。

もしこの言葉に「ぐらっ」と来るのなら、限られた時間を無駄にしないため
にも、開発に入る前にもう一回再考した方が良いと忠告します。中途半端な
気持ちで、真剣さが足りなければ、まず間違いなく途中で終わってしまいます。

「いやそんなことはない、俺は本気だ」というのであれば、私もエミュレータ
作者の一人として応援します。完成を夢見て、毎日、毎月、毎年頑張りましょう。
0667名前は開発中のものです。03/04/03 19:04ID:Ax+K/58O
>>666
このエミュを作り出し自分の名前を後世に残すこと
自分のそんな欲望に向かって前進すればきっといつかできると考えているから今でもまだここにいるんだ

ここにはもはや半端な気持ちの人はいないでしょう。気長に見守っていてください
0668名前は開発中のものです。03/04/03 19:46ID:nXuSd9On
  ま た  P I . の 極 論 か
0669名前は開発中のものです。03/04/03 20:16ID:28v2EGk5
>物を作ったりする時に良くあらわれるのが、「どうせ出来るわけねーん
>だよ。やってる奴は全員馬鹿」みたいに言い出す人です。こういう人達
>は、物作りに限らず、何かをしようとしている人に対して必ず現れてき
>ます。私も何度も見ました。彼らは、何かをしている人達の欠点を見つ
>けて馬鹿にしてストレス発散をすると同時に、徹底的にけなす事によっ
>て、「何もしてない自分>>>何かしている奴ら」という図式を作り出し
>て自らを安心させています。
>このような人達が強力に口出ししてくると、大抵の場合「あいつの言っ
>てる事は正しいかも…」と弱気になってしまうかも知れません。しかし、
>彼らの言う事に耳を貸してはいけません。彼らは何もしていません。
>自らは何もせず、文句を言っているだけです。文句を言う事はたやす
>いのです。彼らの言う事に耳を貸して良い事は一つもありません。
0670名前は開発中のものです。03/04/03 20:43ID:mLgukuBl
>>またPI.の極論か。

てか、PIさん忙しいのにこんな所にわざわざ。
本物なのか気になるところなので、
どっかの自分のサイトにこっそり書き込んでおいてください。
XM6開発日誌毎日読んでおります。( ̄ー ̄)ニヤリ。

俺も、そうおもうなあ。
サターンのエミュレート作りは手伝いしたくないけど<w



0671名前は開発中のものです。03/04/03 20:49ID:aPb1VD82
多関節スレの時もたくさん煽りがあったね。
適当に無視して気長にがんがって下され。
0672名前は開発中のものです。03/04/03 23:48ID:4VTagjbk
結局は勢いだけだったな。数々の神が降臨されたにもかかわらず全く進まぬプロジェクト
スレを立てた>>1が逃げ出し、それに続いて逃げていくやる気のないやしども
もうだめぽ。みんな諦めて既存のエミュで遊んでなさい。どうせあんたたちにはエミュを作る技術はないのだから
AZUCOさんも大変だったね。自分勝手な>>1に召喚されて。これからは自分の仕事、やりたい事に専念してください
その他プログラマーのみなさんへ、あなた方のことは忘れません。お疲れ様でした
その他奮闘しようとした人へ、がんばったね。エミュ製作に時間割いてる暇があるんならもっと別のことをするといいよ
その他>>1を始めとする逃げ出した人たちへ、お前ら人生やめろ。役立たず
0673名前は開発中のものです。03/04/03 23:59ID:4VTagjbk
まぁ2チャンネルに来るようなプログラマーなんかろくな奴がいねーから。
このプロジェクトの達成なんて永遠に無理だろうな
まぁやれるところまでがんばれや。もうすぐ壊滅するだろうがな
フェイクエミュもいいとこだぜ。もうみんなやめちまえよ
0674名前は開発中のものです。03/04/04 00:02ID:cxt3RDLt
俺にとってこのスレは日本のプログラマーまたはプログラマー志願者がいかにレベルが低いかを
実感させてくれたスレでした。つーわけであばよ、ごみども
0675名前は開発中のものです。03/04/04 00:25ID:XwLttY3K
あり?終わった?ところで、WEBの管理者は158に決定なのですか?
0676GNO03/04/04 01:23ID:xvd4NApm
>>658
>たぶん2メガバイトとかだっけ。
32ビットフラットなので4ギガですね。(^o^A

>>663
>正直SH2はRISCなんで、コード書くのは楽です。68K書けばよくわかります。
そうですね。
そうそう、86で68Kエミュを書くなんて言ったら、モトローラさんに笑われそうです。

>>666
>単刀直入に聞きます。サターンエミュレータというソフトウェアは、あなた
>がたにとって時間をかけ、犠牲を払うだけの価値があるものですか?
>エミュレータを自らの手で作り出したいのか、それともエミュレータで遊び
>たいのか、本当にしたいことはどっちですか?

私の場合は、エミュレータ製作技術の勉強のために参加しています。

>>673
>まぁ2チャンネルに来るようなプログラマーなんかろくな奴がいねーから。
はははは(^o^) ろくな奴じゃなくて申し訳ないっす。
0677くろりん03/04/04 01:30ID:zv+fuvj/
>>673
俺もろくな奴じゃないけど
 まぁマターリと見守っててくれるとうれしいなw
 といってみたりする。

>>666
 はい。
 勉強+ハードの消失保護です。

しっかし俺以外に初心者さんがいないって言うのも心細いか・・・
0678あぼーんNGNG
あぼーん
0679658=初心者03/04/04 05:50ID:1zUkCcRh
>32ビットフラットなので4ギガですね。(^o^A
実メモリを積んでるのはもっと小さい領域だと思われます。
10年前に25000円の機械ですから。
上の方のレスにある外国の史料サイトからいろいろdlしたんだけど
まだ読んでない、、、今からチャレンジするとします。
0680あぼーんNGNG
あぼーん
0681名前は開発中のものです。03/04/04 06:16ID:Y/2TgLUg
>>1もアホだな・・・
頼むんならもっと有能なプログラマーに頼ればよかったのに。
こんな閑古鳥が鳴いてるようなスレで何も生まれるわけないじゃん
それでもおめーらまだやるの?よっぽどの暇人なんだな。
0682名前は開発中のものです。03/04/04 07:11ID:MdhuU+wV
みんなが相手するもんだから調子に乗っちゃったよこの人・・・
0683名前は開発中のものです。03/04/04 07:46ID:QFTu15MM
実メモリは2Mだね。
なんか、1Mの領域2つに分かれてて使いづらそうだけど
0684名前は開発中のものです。03/04/04 08:53ID:GPzck6vi
>>681
おめーの方が暇人だろ。
わざわざごくろうさん。
0685名前は開発中のものです。03/04/04 09:16ID:5P6xaT4j
>>684
プッ、自分にやることがないから煽りか?
ほろほら役立たずはさっさと消えて。作業の邪魔だろ(w
0686名前は開発中のものです。03/04/04 09:19ID:QFTu15MM
SSエミュスレ(煽り、荒らし分室)
でも作って、そっちでやってろよ。
ログがすぐ詰まるからウザ杉
0687名前は開発中のものです。03/04/04 09:22ID:5P6xaT4j
>>686
こんな人のいね〜スレがログ詰まるわけないだろ
こんな低脳がいるんならエミュ完成は望めないな
0688名前は開発中のものです。03/04/04 09:29ID:M3Uv41Uu
さすがは隔離板だな。くずしか集まってこないんだから
0689名前は開発中のものです。03/04/04 09:36ID:3W5MxuTO
ほう、荒らしは無視という決まりを忠実に守っているね、厨房たち。
ガキは決まりを守るのが得意だからね。いい子いい子
しかしいつまでこの安定した状態が保てるかな。ガキは切れたら手に負えんからな
まぁせいぜいがんばれ。だれもおめ〜らに期待なんかしてないから
0690あぼーんNGNG
あぼーん
0691名前は開発中のものです。03/04/04 13:29ID:hwBells8
相変わらず愛されてんなあ、ここ。
こんなに頑張って保守してくれる人がいるとは。
0692542あたり03/04/04 14:43ID:kzlUAplO
ああ、このスレ読み返すと自分も>>1と似たようなことやってたリアル工房の頃を
思い出すなあ。要は某ネットでOFNソフトウェアサービスとかいうブランド立ち上げ厨
だったわけだが結局は代表となる作品は自分1人では残せなかったなあ。アイタタ。
やっぱりなんかおっぱじめて仕切りたいっていうのは若気の至りなのか、と。
セガサターンには>>666を覚悟するほどの執着は自分にはないんだけど、
エミュレータの仕組みや仕掛けには興味があるのでつい来ちゃったりします。
エミュの開発は時間のかかることですから、たとえばブロック崩し〜の
ひきプロ氏ような感じで自分のペースでまたーりやってくのがいんじゃないかなー。
最近自分も本業が設計や管理しかやっとらんので、勘がにぶりそうな気配なので
そろそろやってみるかと思いきや志は思いっきり低くして愕然とするほど簡単な
4bitCPUのエミュでも自分なりに作って研究してみようかと思います。
0693あぼーんNGNG
あぼーん
0694hrk_hys03/04/04 15:11ID:5tqPQ2kL
>>677
まあ俺も初心者ですんでよろしく
あんまし書き込んでませんでしたが

ネット繋げる時間があまり無いので一人で細々と勉強してます
0695名前は開発中のものです。03/04/04 16:50ID:hwBells8
>>694
おお、頑張れ頑張れ。
0696あぼーんNGNG
あぼーん
0697名前は開発中のものです。03/04/04 17:39ID:xQ5qNcc6
ひさびさにコピペ厨以外の嵐をみたな。
この板もまだ終わりや無いんだな。
0698名前は開発中のものです。03/04/04 23:28ID:8uMp/S/o
>>669
0699あぼーんNGNG
あぼーん
0700名無しは募集中。。。03/04/05 08:26ID:fEJWp1a4
700
近況無し
0701あぼーんNGNG
あぼーん
0702GNO03/04/05 11:31ID:3h02JGPe
BCC用(汎用でもOK)のIDE(統合開発環境)で、
使いやすそうなの知りませんか?>ALL
もちろんフリーウェアで。
0703名前は開発中のものです。03/04/05 12:35ID:ireXFmYN
知りません
0704名前は開発中のものです。03/04/05 12:39ID:j+dDWc9Z
>>702
エクリプスが一応使えるって話ですが。

【Java/C/他】統合開発環境Eclipse GM5
http://pc2.2ch.net/test/read.cgi/tech/1047536353/

あとWideStudioとか言うのもあったかもしれません。
0705hrk_hys03/04/05 13:11ID:EzNvE/WV
>>702
bcpad
http://hp.vector.co.jp/authors/VA017148/

BCC Developer
http://www.hi-ho.ne.jp/jun_miura/

BCCForm and BCCSkelton
http://www.vector.co.jp/soft/win95/prog/se226181.html

CBar
http://www.vector.co.jp/soft/win95/prog/se143207.html

SAZABI
http://www.vector.co.jp/soft/win95/prog/se172614.html

V IDE
http://objectcentral.com/vide.htm

いろいろあるっぽい。
0706名前は開発中のものです。03/04/05 13:23ID:j+dDWc9Z
「はじめて読む8086」より「プログラムはなぜ動くのか」の方がお得かも。
結構色々載ってる。
0707AZUCO03/04/05 13:43ID:+5Ye26NG
統合環境ですか・・・・・俺はDOS派だから逆にコンソールの方が嬉しかったりする(w
0708PI.03/04/05 13:56ID:35i3R3pf
>>676,677
なるほど、まずは勉強のためということですね。それも良いと思います。勉強目的
ならば色々な工夫や試行錯誤などがあっても、決しても回り道でなく後々を考えて
無駄にならないと思います。頑張ってください。

>>692
誰でも最初はそういう時期があるものかもしれません。私も昔はそうでした。
OFNソフトウェアサービスという名前はどこかで聞いたな、と思ったらPACRIS
(FM-7向けテトリス)を作ったところですね。最初忘れていて、ぐぐったら自分の
ページが出てきました(バカ)

BCC用のIDEの話が出ていましたが、先々を考えるならお手軽なものでなく、
プロジェクト管理のできる本格的なものが良いと思います。ぱっと見たところ
BCC Developerが結構よさそうかな? 私はBCCのパッケージ製品ともいえる
Borland C++ Builderを使っています。
0709くろりん03/04/05 13:57ID:j5Km/yle
>>702
俺はBCC Developerつかってまっせ。
いろいろ試したが一番いいです。
0710hrk_hys03/04/05 14:05ID:EzNvE/WV
>>709
俺は
bcpad -> BCC Developer&BCCForm -> CBar
って感じで使って
今はbcpadに落ち着いてる

どうもBCC DeveloperのMDIが好きになれない
0711名前は開発中のものです。03/04/05 17:14ID:NYP0Lwcs
変則的だけど、
bcc32+antじゃダメなのか?
0712あぼーんNGNG
あぼーん
0713GNO03/04/05 23:56ID:3h02JGPe
皆さん、IDEの情報ありがとうございました。
やはり「BCC Developer」が一般的なようですね。
当プロジェクトのIDEは、これを使わせて頂くということにしましょうか。

それから、ソースの共有はどうしましょう。

>>706
「はじめて読む8086」は、大昔に買って持ってますけど、
あまりいい本じゃないかも…

>>708
>私はBCCのパッケージ製品ともいえるBorland C++ Builderを使っています。
私も以前は使ってたんですけど、職場ではVCオンリーなので最近はバージョンアップ
してないです。
0714GNO03/04/06 00:23ID:/6QCTc7u
今、SH2のマニュアルを見ています。RISCチップなのでさすがにシンプルですけど、
RISCらしい実装(特にスピード)をしようと思うとかなり神経を遣いそうですね。
またサターンはマルチCPUなので、「CPUループ = メインループ」にできない
というのがまた大変そうです。

ぶっちゃけた話、Cでは充分なパフォーマンスが出ないのでは…
アセンブラなら、フラグの変化は86の実フラグを使うとか、レジスタを総動員させて
メモリアクセスを極力減らすとかの技が使えますけど、Cの場合はそこまではできません。

できたはいいけど、誰にも遊んでもらえないほどパフォーマンスが悪かったら、
それこそ何年もかかって作った苦労が報われないでしょう。

作りやすさ重視なのかパフォーマンス重視なのか、比較的多くの方が開発に参加できるCにこだわる方が
いいのか、それこそ気合の入ってる方のみで、アセンブラを駆使してコーディングすべきなのか、
再考してみてもいいと思います。
0715くろりん03/04/06 01:25ID:w9qC03Ku
>GNOさん
 ソースの共有ですか・・・
 1.メッセンジャーのファイル交換
 2.普通にパスつけたZIPをどこかにおく
 3.共有フォルダで共有をする(危ないですね^^;)

ぐらいのことしか考えられません。

お勉強の方は・・・
 あまり進んでないです。

形態的にアセンブラにしちゃうんですか?
将来のPCのスペックを考えるとCで書いてもさくさく動いちゃうんですかね?
アセンブラだと根気が必要だと思います。
勉強もしなきゃ。
確かに作っても報われないと悲しいですね。
Winnyいい例ですかね?
作るって言って本当に作って実用段階に入ってると聞きました。
時々新聞にも出てますし・・・・
エミュは新聞には載らないかw
0716Z/tec...ind03/04/06 01:28ID:vQRbrwqv
ぶっちゃけたところ、今回は知識人もいるようだけど、挑戦者はとりあえず形を作るといいと思う。
自分が作れば、それに愛着が出るだろう

あんまり知識人のことを聞きすぎると、自分のスキル以上いっぱいでだるくなっちゃうかも
とりあえず頑張れ
0717名無し03/04/06 06:37ID:GcvwOpU5
azukoさんが作ったサタンエミュはアセンブラっぽく記述して
自分でもわからない(?)ようなプログラムになってしまったと
上の方に書いてありました。
今はcでわかりやすくプログラム組んで、あとになってから、
ループしているところなどをアセンブラにすれば高速になります。

0718あぼーんNGNG
あぼーん
0719あぼーんNGNG
あぼーん
0720名前は開発中のものです。03/04/06 11:15ID:+orw1Lpa
アセンブラに拘るなっつってんの。
何を持って十分なパフォーマンスとしているのか分からないけど、
mameでも十分な速度が出てるし、何より低速CPUだから
x86のマシンパワーで十分なパフォーマンスは出る。

>CPUループ=メインループ
これも可能。
CPUループの基本はfetch->executeだけだから、
ステータスを見てcpu1f->cpu1e->cpu2f->cpu2eってやれば済むし、
最悪マルチスレッドにすれば問題ない。
0721GNO03/04/06 15:53ID:/6QCTc7u
>>715
>1.メッセンジャーのファイル交換
>2.普通にパスつけたZIPをどこかにおく
>3.共有フォルダで共有をする(危ないですね^^;)

1,3はちょっと…(^o^A
2にするか無料のftp鯖を探すか、ですね。

>アセンブラだと根気が必要だと思います。
>勉強もしなきゃ。
どっちにしても、アセンブラの知識と技術は必須だと思います。
例えばCPUのマニュアルぐらいはさくさく読めないと、話が先に進みません。
逆に、何でもいいからCPUエミュを一つ作れば、アセンブラの知識も自動的に身に付くと
思います。
0722GNO03/04/06 15:59ID:/6QCTc7u
>>720
>アセンブラに拘るなっつってんの。
アセンブラを避けるのもどうかと思います。
プログラム言語なんて、慣れればどれも同じです。

>何を持って十分なパフォーマンスとしているのか分からないけど、
>mameでも十分な速度が出てるし、何より低速CPUだから
>x86のマシンパワーで十分なパフォーマンスは出る。
あっちこっちのサイトで、存在する(していた)サターンエミュの評価記事を読んで
みましたけど、どれも「すごく重い」という話ですよ。
そんな訳で、特にアセンブラに拘っている訳ではないのですが、パフォーマンスをかなり
気にしているんです。

>ステータスを見てcpu1f->cpu1e->cpu2f->cpu2eってやれば済むし、
そうなることを「CPUループ = メインループにできない」と言ってますので、
私の話と同じですよ。
また、状況によって 1->1->2 としたり 1->2->2 としたりする必要があるでしょうから、
そこが大変そうだと言ってる訳です。

>最悪マルチスレッドにすれば問題ない。
実装するのはそれが楽そうですけど、スレッド切り替えそのものが重い&いつどの
スレッドがどのくらいの時間呼ばれるのか予測できない、ということから、CPU
切り替えにマルチスレッドは使えないと思います。
0723hrk_hys03/04/06 16:05ID:Cdsnf0QP
>>721
資料やサンプルが多くて勉強向きなCPUとかってありますか?
とりあえず時間見てやってみるので
0724PI.03/04/06 16:13ID:SsedY/1Z
記述言語と速度の関係ですが、確かにアセンブラでCPUコアを記述すれば高速です。
実際のエミュレータを見ても、CPUコアのアセンブラ化は半ば常識に近いレベルで
されているようです。

ただ、だからいきなりアセンブラで書く、というのは余程プログラミングの技術に
自信がない限りやめておいた方が無難です。遅いと出来上がったときに誰にも遊ん
でもらえない、という意見がありましたが、今の段階から完成したときのことを
云々しても意味がありません。今日から始めても完成までには数年かかるのですか
ら。

完成した時点で、世間一般に使われているCPUのパワーが十分あればそれで終わる
話です。また>>717さんが書いているように、アルゴリズムさえ固まればそれを
ただ速くするだけであれば、時間さえかければどうにでもなります。二度手間と
いう意見もあると思いますが、まずは全体の組み上げを優先すべきです。
0725PI.03/04/06 16:18ID:SsedY/1Z
もう少し詳しく分析してみましょう。エミュレータと一口に言いますが、私は
内部的に「論理エミュレーション」と「I/Oエミュレーション」の2つに分けられ
ると思います。

論理エミュレーションとはSH2 CPUの動きや、メモリマップ、割り込みのかかり
方、デバイスの応答の仕方など、仮想サターン上で動かしているソフトウェアが
実機と同じように進行してゆくために必要な論理記述のことをいいます。これ
らが実機と異なっていれば、たとえば無限ループに落ち込んで進まなくなる、
実機と演算結果が異なってくる、という事が起こります。

一方、I/Oエミュレーションは、論理エミュレーションが正しく動作している
という前提のもとで、実際のI/Oデバイスをエミュレータ側プラットフォーム
(今回はWindowsですね)に結びつけることを言います。サターンではたとえば
ゲームパッドをWindows側のキーボードに接続するとこから始まって、音源の
WAV再生、CD-ROMアクセス、表示全般などが含まれます。

このI/OエミュレーションのうちI(In)側は重要です。これは論理エミュレー
ションでのデバイス応答ともリンクしており、たとえばCD-ROMが読めないと
ソフトウェアが先に進みません。

逆に、O(Out)側は重要ではありません。たとえば音の再生が多少変であった
り、パレットの色が違う、画面のプライオリティが違うなどは、論理エミュレー
ションとは別の次元なのです。論理エミュレーションから言うと、たとえば
表示開始を指示して一定時間BUSYが見え、その後READYになればOKなのです。

その考えで行くと、まずは論理エミュレーションを優先させることが必要である
と言えると思います。幸い、一般に論理エミュレーションはあまりCPUパワーを
必要としません。私のX68000エミュレータXM6の例で言うと、サウンドおよび
画面出力を完全にカットした状態でリアルタイムエミュレーションを行わせ
ようとすると、Celeron 266MHz程度でもなんとかなります。残ったCPUパワーを
全てOutエミュレーションに振り向けるのですが、X68000程度の描画アーキテ
クチャでも相当のCPUパワーが必要です。
0726GNO03/04/06 16:41ID:/6QCTc7u
>>723
勉強向きなCPUでしたらやっぱり8ビットでしょうけど、
せっかくですから、SH2の資料を見て下さい。(^o^)
これです。
ttp://www.renesas.com/avs/resource/japan/jpn/pdf/mpumcu/j602085_shprogram.pdf

>>724
>完成した時点で、世間一般に使われているCPUのパワーが十分あればそれで終わる
>話です。
なるほど。それは一理あります。

>また>>717さんが書いているように、アルゴリズムさえ固まればそれを
>ただ速くするだけであれば、時間さえかければどうにでもなります。二度手間と
>いう意見もあると思いますが、まずは全体の組み上げを優先すべきです。
二度手間を恐れると何もできないし、動いているものを高速化するのは、たとえオール
アセンブラで組み直すにしてもそれほど大変ではないですね。
また今回はオープンソースですから、「遅いけれども動いている」というところまでもって
いければ、その改造には高速化のノウハウを持った方の参入が期待できる、というのも
あります。

分かりました。この話はこれで終わりにします。
0727AZUCO03/04/06 16:58ID:FbnE9j3A
>>717
いや、書いてないよ(汗

俺がコントロール出来なくなったのは、Debug/Releaseの部分だよ(w
アセンブラっぽく展開して書くと、面倒くさくなるのは事実だけど。
ま、C++で書くほうが良いよ。ディレイスロットもあるし。
0728あぼーんNGNG
あぼーん
0729くろりん03/04/06 22:12ID:ypDY2Ltl
>>728
お気に入りにいれといたんだけどいきなり消えててビクッたが・・・
社名変更でした・・・ じっくり読ませていただけます。
読んだ所で意味不明な用語が多く・・・ でも分岐命令が多いですね。
 なんでだろ? ちゃんとした理由があるんですよね?・・・ AZUCOさん・・
 
 基礎が固まってオープンソースならWinX68030高速版みたいに高速版が
 出てくるのかもしれません・・・  
 
 ほかの同機種エミュ出しちゃってごめんなさいPI.様

>>725
 ふむふむ
 サターンのハード的エミューションと
 入力デバイスとCDの実装が先なんですね
 OUTは後から質を高めればいいのか・・・

ところでいま参加してる人は何人なんでしょうか?
0730GNO03/04/07 00:12ID:wnVQq0Bg
>>729
>ところでいま参加してる人は何人なんでしょうか?
現在アクティブな方でプログラマーは、
 ・くろりん さん
 ・hrk_hys さん
 ・GNO
の3人でしょうか。

当面の仕事は、
 ・SH2エミュ
 ・68Kエミュ
ってところです。

そろそろ役割分担します?
0731GNO03/04/07 00:29ID:wnVQq0Bg
そうそう、
・サターンの内部資料を片っ端から集める
っていう仕事もあります。(^o^A
0732名前は開発中のものです。03/04/07 00:32ID:qhKqtF1D
test
0733名前は開発中のものです。03/04/07 00:39ID:/Vmyj3np
あぁ、オレ大体のソフト動くエミュ完成できたぞ。
nvidiaシリーズ限定だけど。
0734名前は開発中のものです。03/04/07 00:57ID:l1eeWTTU
>参加してる人
ああ、このスレとは別な所で話が進んでるのね
このスレに姿を見せないだけで逃げただの言ってるのかと思ってたよ
最近、リアルと2chをくっつけちゃってる奴が多いからね
0735あぼーんNGNG
あぼーん
0736名前は開発中のものです。03/04/07 07:23ID:95ipnoDo
>>733
うそくせー
なんかうそくせー
0737名前は開発中のものです。03/04/07 07:30ID:bd3uD7jb
>>729
>社名変更
http://www.renesas.com/jpn/
内の「製品」>「マイコン」>「SuperH ファミリ」
にSHの情報が移ったね。
サターンのはSH7604相当だったかな。
0738AZUCO03/04/07 09:25ID:TVIIQcxx
>>729
そんなに分岐命令おおいですかねぇ?まぁディレイあり・なしで種類が少し増えま
すけど、そんなに多くないですよ〜
同じRISCでもPPCとかCISC的なアプローチの命令が多くて、こっちの方が分岐がやや
こしいですね〜(多分コレは内部で演算ユニットが別れているからだろうけど)

ま、やれる事からやってみて下さい。わかんなかったらヘルプしますから。
0739あぼーんNGNG
あぼーん
0740hrk_hys03/04/07 18:32ID:H3xd8omR
>>726
の資料見てたらなんだか命令ごとのCで動作内容が載ってたのでなんとなくコピペでまとめ
http://www.geocities.co.jp/SiliconValley-Bay/6046/source.html
で質問なんですけど
CPUのエミュレートのみを簡素につくるときは
メモリ関係ってどうすればいいんでしょうか?
0741AZUCO03/04/07 19:15ID:hah33uON
>>740
そういう疑問が出てくるであろうから、最初にあの設問をしたのです(w
つまり、あの方式が一番簡素だと思いますよ〜
0742名前は開発中のものです。03/04/07 21:09ID:LnvIJUzc
━━━━━( ・∀・)=終)´Д`(了=(・∀・ )━━━━━
0743くろりん03/04/07 22:12ID:noDv8Jn4
>>Pakkoさん
 VBAの日本語化パッチですか〜
 俺も作りましたね〜 BAの日本語化パッチも作ったか・・・
 同じ初心者同士がんばりましょう!

>>737
そうなんですか〜
 じゃぁ日立は消えちゃったのかな・・・
 でもページの構造は大して変わってないですね。
 情報ありがとうございます。

>>hrk_hysさん
全部命令が乗ってますね・・・ SH−2の・・・ すごい。
 重要な資料なのでは?
 しかしスキルがぐんぐん伸びてますね。
 hrk_hysさんはどういう勉強をしてるんですか?

>>AZUCOさん
 やれることからやりますよ!
 とにかくSH-2のマニュアルを熟読中です。

えー結果から言うと・・・
骨折って入院します。 よって手術・・・
最悪ですね・・・
しかし!! 病院のパソコンからアクセスしますよ!!!
0744AZUCO03/04/07 22:59ID:hah33uON
>>743
病院は電波障害とかあるから、PC持ち込めない事あるんよねー
まぁ外科なら何とかなると思うけど。

思えば、俺がエミュレータ書き始めたのも、入院の暇つぶしの為だったな(w
0745くろりん03/04/07 23:24ID:noDv8Jn4
>>744
整形外科ですからね〜
え? 暇つぶしだったんですか? 凄い・・・
 回線は病院同士の相互連絡の回線を流用してるそうです。 光・・はやそう。
 >>417ですね 課題のメモリのアクセス方法は
 ちょっと今のところは見ただけでパッとはわかりません。
 精進します・・・
0746GNO03/04/07 23:25ID:wnVQq0Bg
>>736
信じる者は、足元すくわれる。
さぶ…

>>740
公式HPが更新されてるぢゃないすか!(^o^)/

>>741
あの方式って、417のことです?
私は、インデックスは上位8ビットでもいいかも、って思ってましたが、
もしかしたら16メガを一気に取るのは無駄かもしれません。
おっしゃる様に64キロ単位がいいですね。
それから、ニアジャンプ程度ならインデックスをわざわざ見に行かなくても
いい様な仕組みを入れてもいいと思います。ローカルPCを持つパターンですね。
その場合、ファージャンプは少し重くなるけど、その頻度から考えるとトータル
ではかなり良いかと。
さらにデータアクセスもその方式で…って、考えすぎか。

>>743
骨折で手術ですか。大変ですねえ…
早く復活して、バリバリコーディングして下さい!(^o^A
0747pakkon03/04/07 23:32ID:8Ke2y+kB
MLにて参加表明した者です。

>>くろりんさん
VBA,BA,CygneWin....その他色々作ってましたよ。
面白かったですよねぇ。
遊びで中文字版とか作ってみたりして。

>>AZUCOさん
 先月までヘルニアで入院してました。
おもいっきり整形外科だったのでパソコンの使用は可能でしたので、
ノートPCもちこんでDirect3D弄ってみたりしてました。
……MSDNのヘルプって凄く眠気を誘ってくれて大助かり(ぉ;

 ずっとSH-2やCPUエミュレーションについて調べているのですがもうちんぷんかんぷん。
泣きそうっす。
0748くろりん03/04/07 23:51ID:noDv8Jn4
>>pakkonさん
 遊びでへたれ文字版とかつくってました。
 でも訳が違いますよね今は。

>>AZUCOさん
 エンディアンが違うってことは中間処理を行わなきゃいけないってことで
 その処理の方式を議論してるんですよね ^^;
 あってるとうれしいかも・・・・

ページの更新ありがとです。
今日はいっぱい書いたしいっぱい勉強できた・・・
明日は多分検査でPCする時間あるのかな?
とにかくマニュアル印刷してもってこw
0749あぼーんNGNG
あぼーん
0750名前は開発中のものです。03/04/08 00:33ID:gEcrghvs
あの、サターンのムービーを取り出すツールって無いんですか?
PSのなら一杯あるんですが・・
0751pakkon03/04/08 00:43ID:iaMvicD9
>>748
 やりましたやりました(^^)
訳が違うどころか次元が違いますねぇ(TT)

 入院大変でしょうががんばってください。
耳かきと爪切りは必需品です。

>>750
 SSはCinepack形式とTrueMotion形式だったような記憶があるので、
そのあたりの単語で検索してみてはいかがでしょうか。
0752あぼーんNGNG
あぼーん
0753GNO03/04/08 01:08ID:07uo5k+/
命令フェッチの部分のみですけど、こんな感じでしょうか。
コンパイルしてないので、思いっきりバグってたらゴメン!

#define MEM_TABLE_SIZE 0x10000L
#define MEM_BLOCK_SIZE 0x10000L

USHORT *gpMemPtrTable[MEM_TABLE_SIZE] = {NULL};

inline USHORT getMemW(ULONG adrs)
{
USHORT index = (USHORT)(((adrs << 8) & 0xFF00U) | ((adrs >> 8) & 0x00FFU));
USHORT data;

if(!gpMemPtrTable[index]) {
gpMemPtrTable[index] = (USHORT *)malloc(MEM_BLOCK_SIZE);
return 0;
}
data = gpMemPtrTable[index][((USHORT)(((adrs >> 8) & 0xFF00U) | ((adrs >> 24) & 0x00FFU))) >> 1];

return (USHORT)((data << 8) | (data >> 8));
}

inline void setMemW(ULONG adrs, USHORT data)
{
/* 省略 */
}
0754GNO03/04/08 01:09ID:07uo5k+/
>>753
しまった。インデントがなくなってる…
075575003/04/08 01:24ID:D2JuzOIY
>>751
ありがとうございます。
いくつか見つかりました。
0756AZUCO03/04/08 02:43ID:CM2tZ95D
メモリアクセスに関してですが、AS1で取った手法について決定要因を書くと

テーブルがアドレス上位16ビット
サターンのメモリマップを見たのと、サイズ的に切が良いと思ったからです。
あと、当時はEMSを使って動かすことを考えていたので(恐ろしいことに、リアルモード+
EMSでやろうとしていた:w)64KBは非常にリアルモードと親和性が良かったからです。
あとみんな気がついてないようですが、テーブルを使うのであれば、アドレスのうち何ビット
を使おうと、一回のメモリアクセスではテーブルを引くのは常に一回だということです。
であれば、後はサイズの効率の問題になるわけです。

エンディアン変換
bswap,xchg,ror等もありますよ〜
0757名前は開発中のものです。03/04/08 05:43ID:8p4LqGtz
みんな頑張って 性能の良いSSエミュ作ってくれ。
早くPC上でワンチャイコネクションが動くのを見てみたい。
中古ショップで ワンチャイも買ったしな。10円で(マジ)。
オレはもう準備万端だ。
0758名前は開発中のものです。03/04/08 06:03ID:8p4LqGtz
エミュとか全然分からんシロウトですが、
そもそも、何でサターンのエミュは実現困難なのでしょうか?
やはり、デュアルCPUが原因ですか?
その辺がワンチップのマシンでエミュレート困難なんですか?
0759あぼーんNGNG
あぼーん
0760あぼーんNGNG
あぼーん
0761名前は開発中のものです。03/04/08 06:43ID:GvMDcdnY
>758

 動作周波数とか気にしなければ一回の処理内に
CPU1の処理とCPU2の処理を書けばいいだけ。(?)

 画面とかの同期はss本体でも、タイマーやVSYNC割り込みをつかってる。

 68kはたぶんサウンドの制御に使ってるのでどんなスピードで動作してもよい
はずです。
0762あぼーんNGNG
あぼーん
■ このスレッドは過去ログ倉庫に格納されています