セガサターンのエミュをみんなで作るスレ
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
03/03/02 11:59ID:CduGclzeそこでだ、有能な2ちゃんねらーが協力して新たなエミュを作ろうじゃないか。
じゃあ後よろしく
0453AZUCO
03/03/22 06:38ID:Ye4/wswSそれも考えたんだけど、例外が呼び出されるコストはかなり高いはずなんだよねぇ・・・
0454あぼーん
NGNG0455あぼーん
NGNG0456名前は開発中のものです。
03/03/22 10:44ID:iIp8OV9Qいちお日立のSHリンク
http://www.hitachisemiconductor.com/sic/jsp/japan/jpn/index.html
http://www.super-h.com/contents/theme/index.html
http://www.sh-linux.org/
http://www.hitachisemiconductor.com/sic/jsp/japan/jpn/PRODUCTS/MPUMCU/32BIT/sh_manual.html#
思うんだけど海外のほうがエミュ開発が得意ってのは
単にメリケンの方が日本人より頭がいいから?
それとも勝手に日本ゲームハードの仕様をメリケン開発者が外部に
流してるのかな?
0457デブおた山崎渉
03/03/22 10:59ID:GQlwLgRk( ´;^;ё;^;)<これからも僕を殺して下さいね( ´;^;ё;^;)。
=〔~∪ ̄ ̄〕
= ◎――◎ デブおた山崎渉
0458名前は開発中のものです。
03/03/22 11:09ID:aFwU7WJgあっちではオープンソースと称して技術情報流出!(・∀・)イイ!
0459名前は開発中のものです。
03/03/22 12:14ID:jTdST1dQmameで採用しているリスト形式を利用するのが良いと思うんだけど、どうだろう。
というか、メモリマップドI/Oもあるようなので、
アロケーションマップの方式だと、
アロケーションユニット(ページ)単位でデバイスを割り当てる物では無いようなので
アドレスを見て振り分けないとならず、パフォーマンスに深刻な影響が出そう。
#テーブルのルックアップ>アドレス照合 してから、メモリかデバイスか決定になるのかな
0460あぼーん
NGNG0461名前は開発中のものです。
03/03/22 20:34ID:R3CwUYLnむう。
0462名前は開発中のものです。
03/03/22 22:15ID:VomvBiVp「レンタル」じゃなけりゃ大歓迎なんだがね
値段の問題じゃない。精神衛生の問題。
早解きしても誰にも自慢できないのに、何で急いであそばにゃならんのよ
もっとマターリしたい。いつでも思いついた時に遊びたい。
みんなそうだろ?
0463名前は開発中のものです。
03/03/22 23:09ID:x5o5vdzv100%後者
0464名前は開発中のものです。
03/03/22 23:33ID:oEjKOWBf0465あぼーん
NGNG0466名前は開発中のものです。
03/03/22 23:45ID:ydasZUGA0467名前は開発中のものです。
03/03/22 23:49ID:x5o5vdzv ̄ ̄ ̄ ̄
0468あぼーん
NGNG0469名前は開発中のものです。
03/03/23 00:45ID:ql32Vcv8 ̄ ̄
0470くろりん
03/03/23 18:11ID:IxdBVaFGもっと人が来たらいいスレになるんじゃん?
0471名前は開発中のものです。
03/03/23 19:01ID:EvHsC1NS俺はお気に入りに入れてるんだけどね。
0472あぼーん
NGNG0473名前は開発中のものです。
03/03/24 03:34ID:AFFfQ5RO0474名前は開発中のものです。
03/03/24 14:30ID:mahzEysc0475AZUCO
03/03/24 14:57ID:v4oLpJhMそうそう、言い忘れたけど、有用な意見だと思うけど、レベル高い意見出されても、参加して
実際に手を動かしてくれなかったら、他の人は実装できないと思うんだよね〜
つっことで、コテハンつけて参加して下さい。
そうじゃない場合は、すまんけど、雑談と断って下さい。俺もそういう雑談は嫌いじゃないんで。
0476AZUCO
03/03/24 15:03ID:v4oLpJhM自分でも開発してみりゃわかるけど、エミュ開発にはとにかく時間が必要。
そういう部分で、俺は数年前からもうほとんど開発に回せるほどの時間は無くなってしまっ
たので、相当進捗が悪い(専業でやれば絶対逝けるんだが・・・・・・くぅ〜)
特にヨーロッパ方面の奴は、そういう意味で余暇のたっぷりあるライフスタイルなので、ヒマ
と技量ときっかけがうまくめぐり合うから、エミュ開発が盛んなのだと思う。
あと大概どんなエミュでもチームを作ってやってる場合が多い(コード書き&デバッガーと
か)そういった部分でも作業速度を稼ぐ大きな要因になってると思う。
技量の差は特に無いと思う。
ドキュメントも極論すりゃ英語のを読めば条件は同じ。
0477AZUCO
03/03/24 15:09ID:v4oLpJhMつっか忙しいんだよ〜
まぁ打って響かなくなれば、自動的に終了だけど。
>>474
わかんないなら、わかんないなりに、何がどうわからないのか位は報告してくれよ〜
俺ってば、もう判っている事前提でガンガン話しちゃう方だから、噛み砕いて説明なんか
しないからねー(わざわざ最初から噛み砕くのは時間の無駄だと思ってるので)
さぁ!どう思うね?アドレスデコーディングの捌き方は!
0478名前は開発中のものです。
03/03/24 17:40ID:qZgMN/tJ0479名前は開発中のものです。
03/03/24 17:48ID:9M2saKvw・・・・。
いや、気のせいか・・・。
0480AZUCO
03/03/24 17:50ID:v4oLpJhM奴?ヤツ?
肩にちょうちょのあざのある男・・・・・・か?
いや、気のせいか・・・・。
0481あぼーん
NGNG0482あぼーん
NGNG0483名前は開発中のものです。
03/03/24 18:41ID:HcLOlBjt20日にアソビソに行ってナイツをやってきたよ。きっちり動いててなつかしかったな。
このスレは初期からROMってたけどおいらは元アセンブラ組み込み系ヲヤジなので
C++なんかはぜんぜんわからんが、なんか勝手にこっそり期待しております。
ところで>>417のリスト形振り分けっていうのは、メモリを伸縮自在(にまでしなくてもいいんかな)の
セグメントとして管理して、SS上の先頭アドレス、セグメントの長さ、確保済みの実メモリのポインタを
どんどんぶら下げていくって感じのイメージなのかな?
MAMEソースとか見てないのであてずっぽな発言なんで雑談扱いでお願いです。
0484あぼーん
NGNG0485名前は開発中のものです。
03/03/24 21:46ID:AFFfQ5ROホストじゃなくて、ターゲット(SS)のメモリコントローラの機能をそのまま実装するんじゃダメですか?
x86だとCPUが論理アドレス->リニアアドレスの変換をサポートする機能持ってるんだけど・・・
というか、x86しか知らないのでさっぱり見当付きません。
sh2のプログラミングマニュアル読んでも、
メモリについてはさっぱり言及されてなかったし
まだハードマニュアル読んでみてる途中なんですが・・・
もしかして、SSとは関係無しにアドレス変換の技術があるか見ているのでしょうか?
0486あぼーん
NGNG0487名前は開発中のものです。
03/03/24 22:22ID:sFSFl16bふく
0488AZUCO
03/03/24 23:48ID:6ukb+9+DSH2をx86に実装するにしても、わざわざ同スケールで1対1に実装する必要は無いのです
(SH3あたりからそういう思考もいりますが・・・・・)
エミュレータは如何にごまかして(?)実装するかで速度がかなり違いますから、正直に
全てを実装する必要は無いのです。
今回のレベルで言えば、SH2の動作から見たエミュレーションを行えは十分なのであって
メモリのタイミングとかそういう部分までは求められてないわけです。
あと、言い忘れましたが、組み込み系プロセッサではシャドウィングに対する処理もスマート
に行う必要があります(ダブルマップとかいう言い方もします>PPCとかー)
また、この議題はかなり普遍的な議題です(SSに限らない)
0489AZUCO
03/03/25 00:42ID:62IxgmTV0490名前は開発中のものです。
03/03/25 01:38ID:JK8UpuDDhttp://tmp.2ch.net/test/read.cgi/download/1048497322/
各地でエミュ厨大あばれ(w
0491名前は開発中のものです。
03/03/25 02:17ID:BC4S1x3/ん!?もう終わちゃったの?
かなり難しい話になってきたので、着いて行ける人が少なくなってきたんじゃないかなぁ
とりあえず、もう一度ソースUPしてくれません?
手伝えそうならがんばってみるので
0492名前は開発中のものです。
03/03/25 02:29ID:3/ddN1KI0493あぼーん
NGNG0494名前は開発中のものです。
03/03/25 02:45ID:OY0Ivw+Vビルド出来ないとか、スパゲッティだとか言ってたのを、何とか整理して見通しよくして
ビルドできるようにしたい所存。
ネット上に転がってるソースを切り貼りして形に出来ない物かねぇ?
SSに積んでるX68kのエミュレートはMAMEコア使うとか。
んで、どうしても足りない物だけ作って形に出来れば良いとおもうんだけど。
無論、アーキテクチャの違いなんかは上手く誤魔化さないといけないと思うんだけど。
以上、詳しくない人の戯言です。アフォな事言ってると聞き流してください。
メモリに関しては、速度面、実装面からリスト式が良いと思われます。
デバイスの判定は、デバイスだけ纏めたリスト作る事で判定できないですかね?
0495名前は開発中のものです。
03/03/25 02:56ID:3/ddN1KI0496名前は開発中のものです。
03/03/25 03:09ID:12upCSNkSH1 x1
SH2 x2
VDP1
VDP2
FH1 DSP
68EC000
だけ積んでるんじゃなかったっけ?
0497あぼーん
NGNG0498あぼーん
NGNG0499PI.
03/03/25 12:47ID:b8ZarZhyサターンに限らずエミュレータを作るのは大変なことですが、それだけに
意義のあることです。参加される方は頑張ってください。
エミュレータを作る上で技術は大事ですが、それは後からついてきます。
大事なのはモチベーション(覚悟と言い換えてもいいでしょう)。これ
をしっかり持っておかないと、すぐ挫折するか飽きます。モチベーション
があれば、あとはひたすら勉強にしろ解析にしろデバッグにしろ、時間を
大量に投入するのみです。そうすると自ずと道は開けてきます。
私の経験では最低500時間!完成まで2000時間を見ておけばいいでしょう。
私はFM-7エミュレータXM7の開発開始以来、4年の歳月と3000時間を投入し
ています。これを参考に計画を立て、日々精進してください。
0500あぼーん
NGNG0501あぼーん
NGNG0502名前は開発中のものです。
03/03/25 14:50ID:12upCSNk逃げたけど1は偉大だったのかもしれん
0503名前は開発中のものです。
03/03/25 14:55ID:T8+r4FEC0504AZUCO
03/03/25 15:12ID:62IxgmTVソースキヴォンヌの声があるけど、今現在の話は(どういったアーキテクチャ、指向で組ん
でいくか)というのは、ソースとはまったく関係ないので、勘違いなきよう。
また、ASを土台に組むのも無しなんで(既に致命的な欠陥があるソースなんで)
あと、既存の物をいじるより、自分で1から組んだほうが早いよ。特にASみたいに本人すら
把握不可能になったものは。
なんつーか、絶対的に君らはスキルが欠乏している。結果を急いでも駄目です!
一つ一つ自分がわからない事を潰して行くしか道は無いと思う。
>>499は本人様ですね。神降臨!
0505あぼーん
NGNG0506あぼーん
NGNG0507名前は開発中のものです。
03/03/25 18:14ID:lrr33XXm>>504
ソースが欲しいって言うのは、テーブル形の実装が
具体的にどういうものかを見て感覚的に理解したいという事では?
リスト形の方はMAMEでやってるんでしたよね。
0508名前は開発中のものです。
03/03/25 18:32ID:23/ttQ3Q1はお勉強進んでるかい?
0509名前は開発中のものです。
03/03/25 18:34ID:v85+ywzHそうそう、もう少し具体的な実感を得たいんだよね
特にソースにこだわってるわけじゃなく、プログラムの構成とかテーブルの形態とか
そういったものを知りたい
それに人のプログラムを読むのって勉強になるし、
エミュってこんな感じなんだっていう感覚をつかみたい。
話はそれるけどオープンソースってよく聞くけどオープンドキュメントってあるの?
0510あぼーん
NGNG0511名前は開発中のものです。
03/03/25 20:46ID:OY0Ivw+VXM6/XM7大変お世話になっております(特にXM7)
実装計画(?)の☆マークが大変判り易く、設計の確かさを感じます。
ここで作る場合でも、各デバイスの機能実装をあんな風にグラフ表示してみてはどうでしょうか?
何が必要か。また、何が足りないのか一目瞭然です。
0512名前は開発中のものです。
03/03/25 21:10ID:82/Ohai+俺が低脳なだけか・・・
0513shima
03/03/25 21:17ID:Ebiwmc3qこれはエミュレートしなくていいですよ。
CDブロックへのアクセスは提供ライブラリ必須だったので、
CDアクセスコマンド解析してCDブロックと同じような動きをする
プログラム書けば問題なしです。
ちょっと見にきただけですのでこの辺で…
みなさん頑張ってください。
0514くろりん
03/03/25 22:16ID:GJIM7WlXすごい・・・ このスレ・・・
SSF・Girigri・A-Saturnと3拍子そろったぞ・・・
0515あぼーん
NGNG0516名前は開発中のものです。
03/03/26 00:37ID:UZfyW537プログラマブルだったらエミュレートしなきゃいけない所だけど、ライブラリ必須だったのか…
非同期でCDが読めない(少なくとも読めたような気がしない)のはライブラリの出来が良くなかったからか?
サウンドも一応FM音源使えるみたいだけど、使ってるゲームって現実にあったかな?
無ければ実装しなくてもいいような気がする。
正直、メモリはSSの物を馬鹿正直に同スケールで実装するんだと思ってますた。
CDから読み出した物を動的に確保していけるならその方が効率よさそうですね。
0517AZUCO
03/03/26 01:35ID:hfc0EyC9>AZUCOさん面倒見が良いなあ。
少し理由があります。
今現在メインマシンがあぼーん中で実質ヒマな事
もともとやろうと思ってた事と、この件がかなりシンクロしてる部分がある事
お金が絡んでくる可能性がある事
最後のは不純ですまん!(w
テーブル型のは、AX68Kでまったく同じソースを使いまわしてるのでちょっとそっち見て
ください。
AS3タイプのアーキテクチャのソースはなんかの形で流すかもしれません。
Hornetをwinnyでとか。<こいつも遊びの一環で。
メインマシン死んでると、マジで通信しか出来ないなぁ(汗
0518あぼーん
NGNG0519AZUCO
03/03/26 01:47ID:hfc0EyC91に続いて脱走か?!(汗
そんな事ないよなぁ(泣
かつては俺もゲーム作る!とかいってタイトル画面だけで終わるような企画厨の時代も
あった(w <F-BASICの頃ね
でも自分の力を疑った事は無かったぞ!(時間がかかるとは思ったが)
分からん事は聞いてこい!ただしSSアーキテクチャの話はまだまだ先だ!
今はジェネリックなエミュレーション技法の話とか、どういう指向でプログラムを組むかとか
土台の話。つまらんのはわかるけど、ここを通らないと、先も無いよ!
頼むぜ!藻前ら!
0520あぼーん
NGNG0521名前は開発中のものです。
03/03/26 04:40ID:DZgqcbE/パワードリフトのオリジナル音源風のBGMのとき
FM音源を使用してた(ような気がします)
ただ、ゲーセンで聴いたときとずいぶん変わってたような。
あれを家でやれる日が来るとは思ってなかったなあ。。。
最終面の急カーブでわざと赤白の鉄柱にぶつかって復帰する
裏技がうまくできん、、、よって隠し面のハリヤーもみてまへん。
0522あぼーん
NGNG0523名前は開発中のものです。
03/03/26 04:44ID:DZgqcbE/それを利用するとしましょう。
0524あぼーん
NGNG0525名前は開発中のものです。
03/03/26 04:51ID:DZgqcbE/ソースがどうしようもなくぐちゃぐちゃになってしまって、
わけわかんないとこでエラーで落ちてもどこを修正してよいか
手の施しようがないというのは、まさに身に覚えがあります。
それはエラー処理を考慮してない場合です。
今作りかけのゲームがまさにその状態。。。ブルーバックが怖くて
自分の作ったゲームで遊べない!!三年かかって完成しない!
・エラーログをとる
・エラーメッセージダイアログを表示する
ことを必ずすべきです。
0526AZUCO
03/03/26 04:52ID:hfc0EyC9アウトランやスペハリでもそうなのですが、純粋にあの頃のSystem16派生のマザーだと
PCM音源部分が足らないので、FMx7+PCMx4という構成で組みなおしてるかもしれません
サターンのFM音源はレートもCDと同じだし、多分最強のFM音源だと思います。
しかし普通に考えれば、PCMx32の方が使い勝手も良いのでわざわざ音色をつくらにゃ
ならんFM音源は使われないと思いますが・・・・・・
昔は音を聞いてパラメータが脳内で作れたものだが、今は無理だろうなぁ・・・・・
ちなみに好きなアルゴリズムは0と5です(w
FM音源の話題はやばいね。ある年齢にはめちゃくちゃストライクゾーンの話題だから(w
0527あぼーん
NGNG0528AZUCO
03/03/26 04:57ID:hfc0EyC9駄目です。理由は>>526参照。
>>525
基本的にこのあたりは、アサートを積極的に利用すべきですね。
ただ、マルチスレッドとか、デストラクタで処理が入ってる場合は、致命的エラー>即終了
とはなかなか逝きませんが。
ちなみにAS1がぐちゃぐちゃやーいうとんのは、デバッグコードと、リリースコードの分離が
出来ない部分についてです(直すのもダルイ:汗)
0529あぼーん
NGNG0530名前は開発中のものです。
03/03/26 07:18ID:UZfyW537サンダーフォースの移植でもFM音源使われてなかったんだよね。
CDDAだった。
しかもステージの途中でぷっつり途切れてループするの。禿しく萎えたなぁ…
当時、あまりFM音源使ったのにお目にかかれなかったのは事実ですね
移植物なら当時のパラメータ持って来れば良いような気もしてたんだけどねぇ…
>>AZUCO氏
アルゴリズム0と5って……(藁
今更ここで語らなくてもみな承知してますが、FM音源にはFM音源のよさがある。
PCMが究極ではなかったはずで、だからこそセガはわざわざFM音源使えるようにしてたはずなのに…
ま、なんにせよ、今FM音源がつかえないのは寂しい限りですね。
FM音源エミュをMIDIに対応させたいと思ってた事も有るんだけどねぇ。
エミュをデバイスとして登録し、プレイヤー側でそれを使うようにするの。
まぁ、エクスクルーシブの嵐になるのは目に見えていたわけだが。
MMLじゃ若者にアピールできねぇよなぁ…
プリセットの音色をとりあえず入れておいて(GM程度)、プログラムチェンジで一通り使えるようにして…
とかいろいろ考えてたんだけど。
スレとは全然関係ない上に取り留めの無い話スマソ。
0531名前は開発中のものです。
03/03/26 08:13ID:eTEDj41C・・・あ、俺は第三者ね。
>という論点で、各自最適と思われる方法を提示せよ。締め切りは23日中まで。
SSのアーキテクチャを勉強して、メモリの使われ型も吟味した上で
アロケーションテーブル、リスト、またはそれに変わる第三の方法の
パフォーマンス、実装コストなどを考慮した上で、
最適な方法を挙げろ、、、って事じゃないんですか。
mame見てリストパクって実装するとか、そう言うレベルだったのでしょうか?
あと、もう一つ。
第三者がプログラムを書いて、いきなり出しちゃっても良いんでしょうか
実装の提出が求められているのか判断付かないし、プログラマが既に居るようなので
第三者が出すのは控えた方がいいのかな、って思ってたので。
0532あぼーん
NGNG0533AZUCO
03/03/26 09:12ID:RyFlh54sそうです。だいたいそういう想定で設問してます。
まぁぶっちゃけ言っちゃうと、シャドウィングが増える時点でリスト方式はかなり効率が
悪くなると思いますし、実装する人によって実装コストは大きく変わってきます。
(そういう意味で言うと、パクリも現実的な手法の一つにはなってくるかもしれません)
がー、要するに、自分で考える事に大きい意味があるのであって、はっきりいってベターな
方法は俺が提示した物で良いと思います(流石にbestとは思ってないが)
その考える過程で、自分が何を知らないのか、何を学ぶべきなのか、その辺もOJTで
やるのがわかりやすいやり方なのかなと(いきなり本を読めというよりは目的意識が
はっきりするかなと)
第三者がいきなりプログラム出しちゃっていいのかーという部分は、今回のアドレス
デコーディングの部分については、手法についての議論がメインですので、ちょっと違う
かなと思います。
個人的な想定では(これは忘れていたので、本来は最初に決めるべきですが)デバッグ
関連のUIをどういう形式で持つかという部分を検討しようかと。
んで、CPUエミュレーションの部分をとりあえずやりますか、という段になって初めて、
コードを書き始めるわけで、それまでは設計レベルの話かと思います。
(この辺はかなり俺の脳内で決めてた話なんで、わかりにくくてすいません)
0534AZUCO
03/03/26 09:28ID:RyFlh54sFM音源が載ってる意義は、やっぱり開発コストの少なさじゃないですかね?
wave tableのコストが結構馬鹿にならないと思うので・・・・・・
恐らく世の中の流れ的にはNamco System2あたりから完全にMIDIで音楽作ってるのでは?
グラディウス4なんかスタンダードMIDIファイルがROMに埋まってますし(汗
0はともかく5は珍しいのでは?(w
多分大概みんな4でデチューンでうはははーって感じでしょうが、そうなると、音が全部似て
くるんですよね(ってベースがどんな曲でも必ずチョッパーくさいアタックガキガキの音色
を使ってた俺が言うのもなんですが)
PSGのデチューンのかけ方知ってたらまた違ってたかもしれませんが・・・・・・・・(w
あと、FM音源のMIDIは俺も考えましたね(w
サウンドブラスター+PCで外部MIDI機器としてコントロールできるんじゃないかーとか(w
音色セットはやっぱエクスクルーシブかなーとか。
MIDIといえば、学生の頃、EMS or XMS を使ってDOS上でバックグラウンドで演奏するソフト
作ってたなぁ・・・・・・・・全部アセンブラで(w 激しくだるくなってやめましたが(w
スレとは全然関係ない上に取り留めの無い話スマソ。
0535あぼーん
NGNG0536hrk_hys
03/03/26 10:48ID:s7BnZW27すんませんちょっと忙しくて
あんまし勉強も出来てません
やめるつもりは無いんでまあテキトーに見守っててください
後メモリのことは調べてみても何がなんだか…
何か簡単なものから理解してか無いとつらそうです。
0537あぼーん
NGNG0538あぼーん
NGNG0539あぼーん
NGNG0540名前は開発中のものです。
03/03/26 11:41ID:mjxveOs+http://game2.2ch.net/test/read.cgi/gameover/1048645945/l50
0541あぼーん
NGNG0542名前は開発中のものです。
03/03/26 13:05ID:Ema51F+GメインマシンがP3だった頃、アムノークが処理落ちするので、直線補間LSI部分の
コードがどうなってるのかな、って覗いただけなんですが・・・。
エミュレーションっていうのはもっと泥臭いことをやってるんでは、という
先入観があったので、シンプルで忠実なエミュレーションのコードにびっくりしました。
そしてたがが数MHzで動く8ビット機とはいえ、平行して動作する専用チップの動作速度に
あなどれないな、と思いました。
0543あぼーん
NGNG0544あぼーん
NGNG0545名前は開発中のものです。
03/03/26 20:05ID:eTEDj41C了解しました、ROMに徹することにします
エミュレータ制作は興味あるところですが、
複数で進めるプロジェクトの場合、
参加してしまうと途中で投げ出すわけにも行かないんで。
>>536
>やめるつもりは無いんでまあテキトーに見守っててください
これは流石に失礼何じゃないかと思ったよ。
0546あぼーん
NGNG0547AZUCO
03/03/26 23:33ID:hfc0EyC9あー、ソース出すのが「違う」かな?というのは、今回の話であって、
まぁそれも、俺の判断としてはどちらなのか、といえば、ってことですから、
話の途中でメタ的な感じでアップされるとかいうのは全然あると思いますし、
仮に本格的なのがアップされても「それは違うだろう」とかいうことにはならないです。
っつーか、リソース的に贅沢な状況ではないので、どんどん参加できる所はして欲しいです
ややこしい事逝ってすいません。
っつーか、ある程度スキルあるが故に、こういう話聞いてて圧倒的な量の工数が見えちゃっ
て「こりゃー本格的に首突っ込むと恐ろしい事になるな」と、分かるからあえて発言してない
人がいると思うんですけど、そういう人にも恐れずに参加して欲しいです(w
0548PI.
03/03/26 23:56ID:rgyxhDcM処理するチップが載っていた場合はやはり速度的に面倒になります。
そのハードウェアが高速で動作しているように仮想CPUに見せかける必要
があるため、ハードウェアエミュレーションを一気にやって、仮想CPUに
割り当てるサイクル数は逆に少なくするといった感じです。ただ全体の
進行を考えるとCPUを遅くするわけにはいかないので、結局エミュレータ
の負荷が急に増えることになります。
X68000エミュレータXM6のソースもいずれ公開します。こちらはMFCを使い
C++に依存したコードになっています。ベースクラスとしてクラスDevice、
その派生としてクラスMemDeviceを定義し、すべてのメモリマップドデバ
イスはMemDeviceの派生クラスとして表現しています。MemDeviceは仮想関数
ReadByte/ReadWord/WriteByte/WriteWordを持ち、派生クラスでI/O処理を
記述する構造です。親クラスとしてVM(Virtual Machine)クラスがあり、
全てのデバイスクラスを単方向リンクで所有しています。
0549名前は開発中のものです。
03/03/27 00:08ID:gXSO4Hx40550あぼーん
NGNG0551名前は開発中のものです。
03/03/27 00:39ID:xecT1eEvメモリとI/Oの関係って不動なんだろうか?それとも何かしたらアドレッシングがコロっと変わるんだろうか?
厨な質問&横槍スマソ
教えてアルゴマ〜ン
0552AZUCO
03/03/27 01:06ID:ZxU9kh5/あー俺も似たような実装です。
ただ、C++初心者なので、基底クラスDeviceから一気に最終のデバイスのクラスに
逝きますが・・・・・
メソッドは、R/Wがそれぞれ1・2・4byteですね
PI.さん的には、VMという概念を入れた所にブレイクスルーがあるとページに書いてありまし
たけど、実際にはどういう役割を持たせてるんでしょうか?(VMクラスに)
■ このスレッドは過去ログ倉庫に格納されています