EX68 掲示板 バックナンバー
|
|||
---|---|---|---|
bbslog.lzh <--テキスト形式での全ログのダウンロード | |||
掲示板 EX68 |
bbs0.htm 000-199 97/05/22..97/06/26 bbs1.htm 200-399 97/06/26..97/08/29 bbs2.htm 400-599 97/08/30..97/10/31 bbs3.htm 600-799 97/10/31..97/12/13 bbs4.htm 800-999 97/12/13..98/01/15 bbs5.htm 1000-1199 98/01/15..98/02/04 bbs6.htm 1200-1399 98/02/04..98/02/22 bbs7.htm 1400-1599 98/02/22..98/04/12 bbs8.htm 1600-1799 98/04/12..98/05/22 bbs9.htm 1800-1999 98/05/22..98/08/10 bbs10.htm 2000-2199 98/08/10..98/10/17 |
bbs11.htm 2200-2399 98/10/20..99/01/20 bbs12.htm 2400-2599 99/01/20..99/05/23 bbs13.htm 2600-2799 99/05/24..99/11/21 bbs14.htm 2800-2999 99/11/22..00/04/08 bbs15.htm 3000-3199 00/04/09..00/05/06 bbs16.htm 3200-3399 00/05/06..00/06/26 bbs17.htm 3400-3599 00/06/26..00/07/25 bbs18.htm 3600-3799 00/07/25..00/11/08 bbs19.htm 3800-3999 00/11/08..01/05/13 bbs20.htm 4000-4199 01/05/13..01/09/25 bbs21.htm 4200-4224 01/09/26..01/11/09 |
>わざわざこんな画面モードにしたのは、なにかアルゴリズム上のメリットでもあっ>たんでしょうね。 HANIM.X がこの画面モードにするメリットを考えてみたのですが、 よくよく考えてみたら、これってまさに絶好の画面モードですね。 1ワード(16bit)内の上位8ビットがPage1のドットで 下位8ビットがPage0のドットですから、 1ワードの書き込みで2ページ分、つまり2ドット分の書き込みができるわけで、 通常の256色x2ページの画面モードを使うより2倍のスピードが出ることになります。 (通常の画面モードだと、必ず1ワード=1ドットなので、 1ワードの書き込みで1ドット分しか書き込みできない) HANIM.X はおそらく仮想画面(実512x512のうち256x256を表示)も利用して 4〜8ページのページ切り替えを行っており、 そのうち2ページ分をまとめて書き込んでいるのではないかと考えられます。
>「$E80028.bは 実質512KBのGraphicVRAMにどのようにアドレス番地を割り当てるか」で、 >「$E82400.wは GraphicVRAM上のデータをどのように画面に反映させるか」かな? m_puusan さん、フォローありがとうございます。 "Inside X68000" などの文献で「同一の設定にする」とありながら、 $E80028.b の説明が「メモリモード」、$E82400.w の説明が「色モード」となっていたのは そういう意味だったんですね。初めて知りました。 わざわざこんな画面モードにしたのは、なにかアルゴリズム上のメリットでもあっ たんでしょうね。 >早速FLOAT2.XをC-TRACE68に付属のv1.00ではなく、v2.03に入れ替えてみました。 >すると今度は速すぎるみたいです。 あらら、そうでしたか。 するとやはり C-TRACE68 の version が違うのかもしれませんね。
以前報告したマーブルマッドネスと類似の不具合が、飛翔鮫でも発生しているようです。 L1: move.b $e90003,d0 ; OPMステータス参照 bmi.s L1 ; 書込み終了を待つ and.b #$03,d0 ; オーバーフロービットの取り出し beq.s L3 ; TimerA,B共にオーバーフローがなければOK(EX68では常にNG) btst.l #$0001,d0 ; TimerBオーバーフロービット bne.s L2 ; 検査ビットが0ならL2へ bsr.s ???? ; オーバーフロー発生時の処理 move.b #$14,d1 ; OPMレジスタ=Timer制御 move,b #$1f,d2 ; Aリセット、A・B共に割込み許可、動作開始 bsr.w L4 ; OPMアクセスルーチン bra.s L1 ; ステータス再検査 L2: bsr.s ???? ; オーバーフロー発生時の処理 move.b #$14,d1 ; move.b #$2f,d2 ; Bリセット、A・B共に割込み許可、動作開始 bsr.w L4 ; OPMアクセスルーチン bar.s L1 ; ステータス再検査 L3: movem.l (a7)+,d0-7/a1-6 rte L4: move.w sr,-(a7) ori.w #$0700,sr L5: tst.b $e90003 bmi.s L5 move.b d1,$e90001 nop nop nop move.b d2,$e90003 rte EX68ではリセットされなかったオーバーフローフラグが常に1になっている様です。 また、この時のTimerA、Bの値は OPMレジスタ番号 $10 : #$20 $11 : #$00 $12 : #$C8 に設定されていました。マーブルマッドネスでもこの値は同じです。
>確かCRTCの$E80028.bというのは、GraphicVRAMのメモリ構造を指定するもので、 >ビデオコントローラの$E82400というのは、 >画面の表示を指定するためのものだったと思います。 もうちょっと正確に言うと、 「$E80028.bは 実質512KBのGraphicVRAMにどのようにアドレス番地を割り当てるか」で、 「$E82400.wは GraphicVRAM上のデータをどのように画面に反映させるか」かな?
早速FLOAT2.XをC-TRACE68に付属のv1.00ではなく、v2.03に入れ替えてみました。 すると今度は速すぎるみたいです。 C-TRACE68 version 1.20 + FLOAT2.X v2.03 で、lesson1の計算時間は次のようになりました。 X68000 10MHz 33sec PentiumII 75x4=300MHz 10〜11sec
確かCRTCの$E80028.bというのは、GraphicVRAMのメモリ構造を指定するもので、 ビデオコントローラの$E82400というのは、 画面の表示を指定するためのものだったと思います。 >[CRTC] R20 = 0310H 784 ;3: 64kc. x1p. 10h H: 256x256 >[VIDEO] R1 = 01 ;1: 256c. x2p. この場合だと、画面表示はあくまで256色x2Pageですが、 GraphicVRAMの構造は6万色モード、つまりPage0の$C00000〜$C7FFFFの 領域にのみVRAMが配置され、Page1の$C80000〜$CFFFFFの領域には VRAMは配置されません。 で、Page1のVRAMはどこに行ってしまったのかというと、 Page0の各ワード(16bit)の上位8ビットに配置されます。 でも、こんな特殊な画面モードを使っているソフトがあったんですね。
以前グラフィックのパレットコード0に関する報告をしましたが、テキスト 画面での類似の現象を特定できました。テキストではグラフィックと違って、 パレットの色データが(色コードに関わらず)$0000 である場合「のみ」透 過処理が行われます。 サンプルでは色コード0を $0001 としていますが、 EX68 では後のグラフィックの赤が透けて見えてしまいます。 .include iocscall.mac .include doscall.mac start: movea.l #0,a1 IOCS __B_SUPER moveq.l #12,d1 * 512x512x16x1 IOCS __CRTMOD IOCS __G_CLR_ON move.w #$0001,$e82200 * Text Palette 0 move.w #$fffe,$e82202 * Text Palette 1 lea.l $e00000,a2 * Text RAM(0) lea.l $c00000,a3 * Grafic RAM move.l #$ff00,d2 move.l #$07c0,d3 * Red move.l #$1ffff,d6 loop: move.w d2,(a2)+ move.w d3,(a3)+ move.w d3,(a3)+ move.w d3,(a3)+ move.w d3,(a3)+ dbf d6,loop IOCS __B_SUPER DOS __EXIT .end
C-TRACE68 は持っていないので、代りに DoGA CGA で遊んでみようと思い、 「CGA マガジン創刊号」に入っているサンプルで 3D CG アニメーションを やろうとしたのですが、レンダリングはうまく行くものの、肝心の HANIM.X によるアニメーション再生で何も表示されませんでした。そこで、レジスタ ログを取ってみると、こんな設定になっていました。 [CRTC] R20 = 0310H 784 ;3: 64kc. x1p. 10h H: 256x256 [VIDEO] R1 = 01 ;1: 256c. x2p. つまり、同一であるべき $E80028 のビット 8〜10 と $E82400 の下位 3 ビットが矛盾しているわけです。 しかも、HANIM.X のディスアセンブルリ ストを眺めていくと、どうやら「わざと」このような設定にしている気配が 濃厚だったりするのです。そこで、次のようなサンプルを走らせてみました。 .include iocscall.mac .include doscall.mac start: movea.l #0,a1 IOCS __B_SUPER moveq.l #10,d1 * 256x256x8x2 IOCS __CRTMOD IOCS __G_CLR_ON lea.l $c00000,a2 * GRAM(0) moveq.l #$0,d2 move.l #$ffff,d6 gloop: move.w d2,(a2)+ addq.w #1,d2 dbf d6,gloop kloop: IOCS __B_KEYSNS tst.l d0 beq kloop move.w #$0310,$e80028 * 256x256x16x1 IOCS __B_SUPER DOS __EXIT .end グラフィックに描画してからキー入力を待ち、入力後に $E80028 を書き換え ているのですが、実機では何も変化が無いように「見える」のに対し、EX68 ではグラフィック画面が表示されなくなります。 これだけならば $E80028 の設定よりも $E82400 の値を優先するようにすれば 良いようですが、どうも「必ずしもそうとは限らない」みたいなのです。この 設定の時に、具体的に何が起こっているのかまだ把握できていないのですが、 とりあえず上記のサンプルが実機と同じように表示されるようにしていただけ 無いでしょうか?(→$E80028 よりも $E82400 を優先) もしこれで HANIM.X の表示が正常になれば良いのですが、そうはならないよ うな気がするのです。(HANIM.X はディフォルトの 256色モード) なお、使用した HANIM.X は Oh!X の特別付録に付いて来た CGA 入門キットの HANIM.X Ver.0.25c+TS2.2.3 ですが、CGA マガジンの HANIM.X でも同じ設定 を使っています。
>ウチのC-TRACE68はバージョンが古いのか、X68k 10MHz の結果が遅くなっています。 >C-TRACE68 version 1.20 + FLOAT2.X version 1.00 その FLOAT2.X はちょっと古すぎますよね。多分 yamama さんも FLOAT2 は新しいものと入れ替えているのではないでしょうか? Version 2.0x の FLOAT2.X は、コプロボードユーザが悲しくなるぐらい頑張ってくれますし。 (ただし、I/O ポート経由で FLOAT3.X から使う場合と比較して) 参考資料: X68000XVI+68881 float3.x v2.00 166.94 kwhets/sec X68000XVI float2.x v2.03 87.77 kwhets/sec X68000-10MHz float2.x v2.03 52.68 kwhets/sec X68000-10MHz float2.x v1.00 13.64 kwhets/sec (Oh!X 1995年7月号「Fの哲学」より)
ウチでも早速C-TRACE68を実行してみました。 ウチのC-TRACE68はバージョンが古いのか、X68k 10MHz の結果が遅くなっています。 C-TRACE68 version 1.20 + FLOAT2.X version 1.00 で、 lesson1の計算時間は次のようになりました。 X68000 10MHz 91〜92sec PentiumII 75x4=300MHz 25〜26sec PentiumII 75x4=300MHz 2〜3sec (float emu on) この結果を見ると、PentiumIIでもそこそこスピードが出てるみたいで、 ちょっと安心しました。 > CマガにVTUNE体験版がついてきたのでUVパイプのペア作って遊んでますので VTUNEって次のリンクにあるものですよね? こんなツールがあるとは知りませんでした。 ちょっと使ってみたくなりました。 使ってみて効果の方はいかがなものでしょうか?http://www.intel.co.jp/jp/developer/design/perftool/vtune/demo2.htm
power.xではaddq #1,d0とrtcの1secをcmpしているようで 実機との比較には不適当と思いctrace68で計測してみました。 float2.xをそのまま使って lesson1の計算時間です。 MMX Pentium 75 x 3.5 = 262MHz 19 sec Cx6x86MX PR166+ 60 x 2.5 = 150MHz 30 sec Pentium 66.6x 2.5= 166MHz 36 sec Cx6x86 P150+ 60 x 2.0 = 120MHz 105 sec X68000 10 MHz 60 sec (MMX Pentium 75 x 3.5 = 262MHz 3 sec (float em on)) Cx6x86はまだ変ですが、Cx6x86MXはクロック比程度の速度は出ているようです。 CマガにVTUNE体験版がついてきたのでUVパイプのペア作って遊んでますので v025とはちょっと違うと思います。
>私の環境はWin95/RAM64MBなんですが,EX68を起動するとシステムモニタの >カーネル使用率がずっと100%になって(BG動作時でも),ディスクスワップが >延々と続きます. ディスクスワップが延々続くとは妙ですね。 >フック or エミュレーションですが、もしかしたら他にもワークがあるかもしれ >ませんし、別な形で ROM ルーチンを使っているケースもあるかもしれないので、 >可能であればフックは避けたほうが良いのかもしれない、と考え直しました。 解析ありがとうございます。 DMAはiocsでフックしなくても動作するようになったのでDMAC経由のエミュレーションにしてみます。 FDC関係はまだ先になりそうですが。 >move.b #$FE,$00E8E001 * 本当は #$0E >実機では上位4ビットは無視されるためこれでも正しく表示されますが、 >EX68では上位4ビットが反映されてしまい、画面上の全ての色がおかしな色になってしまいます。 レポートありがとうございます。 無効なbitのマスクが出来てなかったようですね。 >そのからくりは、実機では $E82500.w も $E82502.w も同じ制御レジスタを指しているようです。 >同様に $E82504.w $E82506.w ... $E825FE.w も全て同じ制御レジスタを指しており、 >仮に $E825F0.w に $12E4 を書き込んだとしても、 $E82500.w に $12E4 を書き込んだことと同じ事になるようです。 アドレスデコードの省略でイメージが出てるのですね。 下位7bitsのA1からA7までをマスクして対処しました。次回バージョンで。 >ですが、この号の電脳画廊では上記の部分で VIDEOC の半透明処理を使っ >ています。(EX68 はまだ半透明処理を実装していないはずです) 半透明ですか。ちょっと重そうですが。
> なんかプロテクトの関係に見えますが、EX68ではどうしてもこうなってしまうのでしょうか? > それとも吸出しがうまくいってないからでしょうか? ディスクの吸い出しといっても、ディスクプロテクト領域までは吸い出せません。 (だからディスクプロテクトと言う) そのためゲームソフト内のチェックプログラムが「このディスクはプロテクトされたディスクではない」と 判断して、強制終了してしまうのです。 ですから、EX68で動かすには、このゲームソフト内のチェックプログラムを殺す必要があります。 チェックプログラムはゲームソフトによってまちまちなので、 ゲームソフトごとにチェックプログラムを殺す方法は異なります。 スパ2のチェックプログラムを殺す方法は、自分で探して殺すか、 コピーツール等を使って殺すか、誰かにこっそり教えてもらうかしましょう。 で、ウチでもスパ2のディスクを吸い出して、EX68上で起動してみましたが、 やはりチェッカに引っかかって「システムディスクから起動して下さい」と表示されました。 チェッカを殺したら(結構苦労しました)ちゃんと起動しました。 もうほとんどバッチリでFM音源もラスタスクロールも見事に再現されています。 改めてEX68の凄さにビックリしました。 ADPCMも最初のうちは鳴るのですが、途中から全く鳴らなくなってしまいます。 単にウチのマシンが遅いだけなのかな? 他の人はどうですか?
>なんかプロテクトの関係に見えますが、EX68ではどうしてもこうなってしまうのでしょうか?それとも コピーツールでちゃんとプロテクト解除してからイメージにしましたか?
うちでは問題なく動いていますよ。 システムうんたらと出ると言うことは外れていないのが原因だと思います。 電クラは私は1号から110号まで購入してました。
EX68なら家の初代68Kで動かないソフトも動くかもしれない、と思いスパ2(スーパーストリートファイ ターII)を購入し、吸い出して動かそうとしたのですが、やはり無謀な試みだったのか(^^;起動してくれ ませんでした。ディスクを数回入れ替えた後(HDならHDから読み込みをした後)、タイトル名がアルファ ベットで表示される所まではいいのですが、その後「システムディスクから起動して下さい」という表 示が出てHumanに戻ってしまうのです。 なんかプロテクトの関係に見えますが、EX68ではどうしてもこうなってしまうのでしょうか?それとも 吸出しがうまくいってないからでしょうか?後者はイメージファイルをもう一度実機に戻してテストして みればいいのでしょうが、家の実機ではメモリが足りないため、それもできません(ならわざわざ買う なよ>自分)。なんかハイレベルな話題の中でこういう質問で恐縮なのですが、解決方法などご存 知の方がいらしたらぜひ教えてください。 ちなみに購入10年目でつい最近初めて68Kのメモリを増設しました(笑)。EX68のおかげで今更なが ら68Kの環境を再構築するようになりました(^^;
>EX68で電脳倶楽部を読むとき、画廊のところで文字が読めない >状態になります。これは、どういった処理かはまだ調べていませんが、 >グラフィックを暗くして文字を見えるようにしてあるはずが、EX68 >では動作しないようで、ほとんど文字が見えなくなります。 私は電脳倶楽部 Vol.76 までしか購入しなかった(しかも TAKERU 版)の ですが、この号の電脳画廊では上記の部分で VIDEOC の半透明処理を使っ ています。(EX68 はまだ半透明処理を実装していないはずです)
こんにちは。 私もいわゆる「れっつらー」ですが、問題なくなっております。 問題がないので環境変数をじっくり見ることはなかったので一度調べてみますが、 当然のように出荷状態から変更しなくても鳴ってます。ポートのアドレスが 違ってるとかかなー(?)。ではでは。
前にも書いたことがあったと思いますが、 EX68で電脳倶楽部を読むとき、画廊のところで文字が読めない 状態になります。これは、どういった処理かはまだ調べていませんが、 グラフィックを暗くして文字を見えるようにしてあるはずが、EX68 では動作しないようで、ほとんど文字が見えなくなります。 画面左上の”画像”をクリックすると、テキストが消えてグラフィック がみやすくなるのですが、この反応がなぜかやたらと鈍いようです。 それから、マウスカーソルは、マウスの他にキーボードやジョイスティック にも対応しているのですが、これらで操作してもカーソルがピクピク するだけで動作しません。理由は何となくわかりますが、これって どうにかできるものなんでしょうか? ちなみに、電脳倶楽部を講読している方はいらっしゃいますか?
m_puusanです。 ビデオコントローラのプライオリティ制御レジスタ$E82500についてですが、 あれから実機での動作をちょっと調べてみたのですが、 私は間違ったことを書いてしまったようです。 >『ドラゴンスピリット』ではプライオリティ設定を次のように行っています。 > move.l #$000012E4,$00E82500 * 本当は move.w >これではプライオリティ制御レジスタに$0000が書き込まれてしまい、 >明らかにプログラムミスなのですが、実機ではこれでもちゃんと表示されてしまいます(Graphicは256色モードです)。 ここの部分ですが、実機ではプライオリティ制御レジスタにちゃんと $12E4 が 書き込まれるようです。 そのからくりは、実機では $E82500.w も $E82502.w も同じ制御レジスタを指しているようです。 同様に $E82504.w $E82506.w ... $E825FE.w も全て同じ制御レジスタを指しており、 仮に $E825F0.w に $12E4 を書き込んだとしても、 $E82500.w に $12E4 を書き込んだことと同じ事になるようです。 ビデオコントローラの他のレジスタ $E82400 $E82600 も同様の動作をするようです。 御参考までに...
m_puusanです。 書き忘れましたが、メモリはEDO 128MB積んでいますので、 スワップは全く発生していません。 また、他のWindowsアプリケーション等を全て終了してからPOWER.Xを計測しても この程度のスピードしか出ません。
m_puusanです。 ウチの環境はPentiumII(75*4=300MHz)+440FX+PWR128P/4VC+Windows95OSR2 という結構強力な環境だとおもうのですが、 POWER.X v1.1で、「POWER-1.1: 現在のCPUの実効速度は 113.36%です。」 と、110%くらいしか出ません(画面モードは800x600x16ビットカラー)。PentiumIIってこんなに遅いCPUなんでしょうか?(せっかく大枚はたいて買ったのにガッカリ) それともウチのWindows95orEX68はどこか設定が悪いのでしょうか? PentiumIIでEX68を動かしている他の方はどうですか?
>どうもCYRIX CPUの場合はEX68が妙に遅いようでした。 >他のベンチ(cpubench,hdbench)では問題無いのですが、pentiun rateが同じもので >半分程度の速度しか出ていません。 Cyrix は使ったことが無いので具体的な事は何もわからないのですが、 6x86(L/MX) の FPU 部分はかなり遅いことで有名らしいですね(Pentium の半分程度)しかし、これが EX68 に関係あるとも思えませんが、FPU を MEMCPY に使う最適化の手法もあるそうです。 また、Cyrix の Pentium Rating は Linux で使用する場合は全くアテ にはならないと Linux Cyrix/IBM 6x86 mini-HOWTO に書いてありました。 Linux では同クロックの P54C と 6x86L の速度はほぼ同じだそうです。 また、コードの最適化に関して次のような記述もみつけました。 >On the other hand, there is an optimization sometimes used with 486 >and Pentium CPUs that should NOT be used with 6x86 family CPUs: NOP >padding to align on 32 byte boundaries. This will increase the size >of the executable code and result in lower hit rates in the L1 and >L2 caches もっとも、これが 40〜50% ものパフォーマンスダウンを引き起こすと も思えませんが、もしかしたら他にも 6x86 には苦手なインストラクショ ンの組合せがあるのかも知れませんね。
>Let'snote(AL-N2)の設定を >どなたか教えていただけませんでしょうか? >音が鳴らなくてさみしいのです。 あのぅ、俺「れっつらー」(AL-N2)ですけど、EX68デフォ設定で 特になんもいぢってないけど・・・音、でてますけど?
>Let'snote(AL-N2)の設定を >どなたか教えていただけませんでしょうか? >音が鳴らなくてさみしいのです。 >A220とかI5とか設定してもうまくいきませんでした。 Let's Note (AL-N1)使っていて、PCMはなってます。 OPMはなっててたかな?、ちょっと今調べる時間内です。 MIDIはソフトウェアなどないので不明です。 特に何も設定はいじっていませんが… A220, I5ってなんだろぅ http://www1.plala.or.jp/cool
m_puusanです。 実機とEX68とのちょっとした違いに気づきましたので、また報告します。 まず、ビデオコントローラのプライオリティ制御レジスタ$E82500ですが、 『ドラゴンスピリット』ではプライオリティ設定を次のように行っています。 move.l #$000012E4,$00E82500 * 本当は move.w これではプライオリティ制御レジスタに$0000が書き込まれてしまい、 明らかにプログラムミスなのですが、実機ではこれでもちゃんと表示されてしまいます(Graphicは256色モードです)。 EX68ではText,GraphicPage0,Sprite&BGは正しく表示されますが、 GraphicPage1が全く表示されません。 それから『あにまーじゃんV3』では、自分が1回負けてから次のゲームが始まる際、 次のようなプライオリティ設定を行っています。 move.b #$34,$00E82500 * 本当は #$24 この設定では Sprite:11 Text:01 Graphic:00 の優先順位設定となり、 これもプログラムミスです(11というプライオリティは設定禁止のため)。 しかし、これまた実機ではうまく表示されてしまい、 EX68では Text,Graphicは正しく表示されますが、Sprite&BGが全く表示されません。 また、再び『ドラゴンスピリット』ですが、 最終面のボスの少し手前で、画面が一回暗くなり、再び明るくなるのですが、 この処理にはシステムポート$E8E001を利用しています。 で、明るくする際、次のように行っています。 move.b #$FE,$00E8E001 * 本当は #$0E 実機では上位4ビットは無視されるためこれでも正しく表示されますが、 EX68では上位4ビットが反映されてしまい、画面上の全ての色がおかしな色になってしまいます。 以上3点とも、ゲームソフト側のプログラムミスで、EX68が悪いわけではないのですが、 参考にして頂けたらと思います。
ディスクドライブ周りは FDD も HDD もまだ IOCS がフックされている ようなので、以下の現象は仕様なのだと思いますが、一応報告します。 mint なファイラーでの FDD の状態にまつわる誤動作ですが、これも DMA と同じように IOCS 関連のワークが原因であることが判明しました。 EX68v025c 現在では、ドライブ状態の変化時の割り込みが正常に働いて いないようなのですが、たとえ割り込みが働いても mint の場合は I/O コントローラ($E94005)を直接操作参照しつつ、IOCS のワークも同時に 扱うという離れ技を行っているので、誤動作になります。 具体的には $0009E2 と $0009E6〜$0009ED が FDC 関連の IOCS ワーク となっているのですが、実機ではディスクの状態に合わせて変化してい くのに対し、EX68 では常に 0 になっているので、mint はドライブ状態 が変化した事を知ることができないのです。(実際には、割り込みがか からないので、この部分のコードには到達していないが、結果は同じ) もっとも、誤動作といっても mint の場合は些細な事なので、致命的な不 具合ではないのですが、くばたさんの報告にあったディスクドライブの状 態の不具合も、もしかしたら同じ原因かもしれません。
DMAC 関連の IOCS ワークはもう一つありました。 隣の $000C35 がそれで、 これはただ単に $E84041(DMAC #2 CER:チャンネルエラーレジスタ)の値を 転送終了時にコピーしているだけでした。 フック or エミュレーションですが、もしかしたら他にもワークがあるかもしれ ませんし、別な形で ROM ルーチンを使っているケースもあるかもしれないので、 可能であればフックは避けたほうが良いのかもしれない、と考え直しました。
>_IOCS_DMAMOV_A($8B)と _IOCS_DMAMOV_L($8C)が参照・設定していますが、 >IPL-ROM 内ではもうあと2ルーチンが参照しています。 この2ルーチンは DMAMOVE と DMAMOD でした。そして、$000C34 が取る値は、 実行中の DMA 関連 IOCS コードを示していて、$00, $8a, $8b, $8c のどれか になるようです。 したがって、現在の IOCS フックのままでも、実行中の IOCS コールに合わせて上記の値を $000C34 に入れるようにすれば良いと思います。 ハードウェアエミュレーションよりもフックの方が速いですよね?
>DMAC #2 の実行モードの状態を示していて、たばたさんの報告にあっ くばたさんのお名前を間違えてしまいました。大変失礼いたしました。
>DMAのワークとするとIOCSのフックを外してハードエミュレーションのみにしたほうがいいですね。 そういえば幾つかの IOCS コールは EX68 がフックしてたんですよね。 すっかり忘れてました。(デバッグ版で追跡しているときにおかしいな とは思ったんですが......) というわけで、IOCS ワークの $000C34 の用途がわかりました。 こ れは IOCS_DMAMOD が返す値を保存しておく為のワークです。 つまり、 DMAC #2 の実行モードの状態を示していて、たばたさんの報告にあっ た不具合は、やはり DMAC #2 の空き待ちのままいつまでもループして いた事が原因となります。 それにしても、IOCS のワークを一般プログラムが直接参照したり、ROM 内ルーチンに直接ジャンプしたりと、大胆な事をするソフトもあるんで すね。 #IOCS_B_DRVCHK の方はまだ調査中です。
問題って程の事ではないのですが、FDダイアログのファイル名の部分に カーソル(と表現していいのかな?選択枠の部分です)がある状態でEX68 本体を最小化したり他のアプリケーションを前面に持ってくると、このタイミング でEX68が「ファイルを開く」の状態になります。(=動作停止) この状態にすると最小化できなくなる・・・という訳ではありませんが、気付くのに 時間がかかったもので(汗) Win95の仕様みたいな気がしますが、取り敢えず 報告しました。
「DIVE ON」のスプライトダブラーが完全に動作しました(^^ 確認はしてないですが、「究極タイガー」も動くと思います。 (作った人が同じらしいので...)
EX68,音が鳴るようになって凄いですね.全然雰囲気が違います. かなり最初の頃から試用させて頂いていましたが,今日最新版を入れてみて 「ここまできたか...」の思いです. ところで,質問/要望なんですが,EX68のエンジン部をアプリ本体と別スレッドで 動作させてはいかがでしょうか? 私の環境はWin95/RAM64MBなんですが,EX68を起動するとシステムモニタの カーネル使用率がずっと100%になって(BG動作時でも),ディスクスワップが 延々と続きます. 察するに,WinMainのメッセージループの空部分でエンジン部を回している と思うのですが,これではWin95の(変な仕様のせいて)スワップアクションが 発生してしまうので,せっかくのエミュレータ動作が実際よりも 遅く感じられてしまいます. 機会があればご一考いただきたくお願いします.
EX68感動しました。ほんとうにありがとうございます。 これで、家にあるXVIちゃんを改造できます(爆笑) これからも、がんばってください。http://home.intercity.or.jp/users/aupon001
>OPMエミュレーションだけでなく直接チップに書き込めるように >"I/Oアドレス設定出来るとうれしい"と思っている人も多いんじゃ どこかのI/Oポートにそのままデータを流すのは問題無いと思います。 ただ割り込みの再現性はどうなるかまだわかりません。 >HELLHOUND搭載のスプライトダブラ、なんだか動作してません。 >おそらく超連射と同じように、スプライトが一切出なくなります。 v025cで超連射のスプライトが表示出来るようになりましたがどうでしょうか。 転送は16分割まで対応するようにしてます。(速度はともかく) >EX68のDISK関係のちょっとした不具合をみつけました。 >フロッピーディスクorハードディスクからTextVRAMの一番後ろの領域すれすれに >データを読み込むとエラーになってしまうようです。 >簡単なプログラムを示すと、 レポートありがとうございます。領域判定のバグでした。 このバグでいろいろ不具合が出ていたようです。他にGRAPH-RAMも同様でした。 >です。 つまり問題のコードはメディアがちゃんと挿入されているかを >チェックしているのでしょう。 それに対して EX68 は $0086、つまり >「LED 点滅でノットレディ、しかもメディア挿入」という不思議な状態 >を返している事になります。 矛盾したステータスになってますね。 >タイマA,Bともにオーバーフローが発生していない場合のみ次の>処理へ進むようになっていますが、 >EX68ではタイマBオーバーフローフラグがONになっています。 これはわかりませんでした。 >ざっとながめた限りでは、$000C34 は DMAC #2 関連のワークのようでした。 >_IOCS_DMAMOV_A($8B)と _IOCS_DMAMOV_L($8C)が参照・設定していますが、 >IPL-ROM 内ではもうあと2ルーチンが参照しています。正確な用途はわかりません。 DMAのワークとするとIOCSのフックを外してハードエミュレーションのみにしたほうがいいですね。 >グラフィックパレット0問題 テストプログラムありがとうございます。こちらでも確認しました。
OPMエミュレーションだけでなく直接チップに書き込めるように "I/Oアドレス設定出来るとうれしい"と思っている人も多いんじゃ ないかと思ってるんですがだめですかねぇ。 きっと誰かOPMボードを作りかけてるに違いないと思うんだけど。
HELLHOUND搭載のスプライトダブラ、なんだか動作してません。 おそらく超連射と同じように、スプライトが一切出なくなります。 前によっしんさんと話して、動作原理は結構近かったような気がします。 私の方は_CRTCRAS割り込みで64枚転送*9回の設定で、 やっぱり上の方のラスタで表示オン/垂直帰線期間でオフにしてます。 何が原因なんでしょか。
なるほど。拙作HELLHOUNDという同人ソフトが、 白帯で正常に起動できなかったのですが、こういう 理由だったのですね。さっそく調整バージョンを 作って遊びます。レポート私からもどうもです。 本当に、同じ所で同じ理由でつまずいていました。
>(0)参加者全員は、参加する目的の事柄についてその国の法律を > 完全に遵守する。これを怠ると、参加者の表現のどこかに必ず >(2)誹謗、中傷や、必要以上な攻撃はしないようにしましょう。 (主に (2) についてですが) そうですね. 私が法律についてどう 考えるかのcommentは今はしませんが, 仮に法律を守らない人が (``ここ''に) 居たとしても, ``邪魔者は消せ''的ではなく, ``68に命を預けた (?) 人, また, これからそうなるかも知れない人, その全てが仲良くなれる事こそが最終目標''という様なつもりに なれると素晴らしいと思います. そうすれば, 我々が味わった (クサい言い方をすれば) ``68と共に あった青春''を世界の仲間にも味わって貰える (事や, 68の更なる) 可能性が ---依然として法律によるバイアスは残るものの--- 大きく なるでしょう. 勝手に決め付けるつもりはありませんがこれは68開発陣の, SHARP社員としてではなく, 68に持てる技術の全てを注ぎ込んだ者 としての願いでもある筈です.http://spock.vector.co.jp/authors/VA010205/
初めまして、m_puusanと申します。 EX68にはビックリしました。ここまで再現できるとは...。 ここまで再現するのに非常に苦労されたことと思います。脱帽です。 私の大好きだったゲーム(スターフォースやエキサイティングアワー等)もほぼ完動しています。 ウチの初代X68kに取り付けたSASIハードディスクのデータもそろそろ消えちゃうんじゃないかと冷や冷やしていましたが、 今はEX68に開発環境を全部移してもう安心です。 それからサイバリオンを起動しようとして、 EX68のDISK関係のちょっとした不具合をみつけました。 フロッピーディスクorハードディスクからTextVRAMの一番後ろの領域すれすれにデータを読み込むとエラーになってしまうようです。 簡単なプログラムを示すと、 .include doscall.mac .include iocscall.mac SIZE equ 1024 move.w #$0020,-(sp) pea.l fn(pc) dos __CREATE addq.l #6,sp move.l d0,d7 bmi exit move.l #SIZE,-(sp) pea.l buf(pc) move.w d7,-(sp) dos __WRITE lea.l 10(sp),sp clr.w -(sp) clr.l -(sp) move.w d7,-(sp) dos __SEEK addq.l #8,sp move.l #SIZE,-(sp) move.l #$E80000-SIZE,-(sp) move.w d7,-(sp) dos __READ * ここでエラー発生 lea.l 10(sp),sp move.w d7,-(sp) dos __CLOSE addq.l #2,sp exit: dos __EXIT .data fn: dc.b 'test.tmp',0 .bss buf: ds.b SIZE カレントをフロッピーorハードディスクにしてこのプログラムを実行すると、画面中央に白枠のエラーが出ます。 オリジナルのX68kの場合はエラーは出ませんし、EX68でもRAMDISKからの読み込みではエラーは出ません。 この領域に IOCS _B_READ で読み込むと、エラー D0.l=-1 が返るのが原因のようです。 また、読み込みサイズが1024の倍数の時のみにエラーになるようです。
>いいえPCM4常駐時のエラーの事です。CPUパワーが >足りないというエラーです。ということは再起動で >OKですか? 無視してOKです。PCM4は、マシンクロックが16MHz以上(だったっけ?) ないと起動時の判定で弾かれます。 PS.今のEX68だと弾かれたほうが都合が良いかもね
いいえPCM4常駐時のエラーの事です。CPUパワーが 足りないというエラーです。ということは再起動で OKですか?
>>ネメシス90を起動させようとしたところ、CPUパワーが足りませんと出て >>エラーが出てしまうのですが、どうしたらよいのでしょうか誰か教えてください >switchでメインメモリのサイズを増やしてやったら動きましたよ。 >ちなみに動作確認はPen75、RAM36Mのマシンでです。 メモリー不足が原因のエラーだったのですか? CPUパワーが足りないというエラーと書いてあったので、てっきり PCM4常駐時のエラーの事かと思いました。
のLet'snote(AL-N2)の設定を どなたか教えていただけませんでしょうか? 音が鳴らなくてさみしいのです。 A220とかI5とか設定してもうまくいきませんでした。
XVI以降に追加されたシステムポート6($E8E00B)を読み出すと実機(68000,10 MHz機)では$FF、EX68では $00 が読み出されるので、とりあえずこれで判別出来 ます。
はじめまして。しすと申します。 >ネメシス90を起動させようとしたところ、CPUパワーが足りませんと出て >エラーが出てしまうのですが、どうしたらよいのでしょうか誰か教えてください switchでメインメモリのサイズを増やしてやったら動きましたよ。 ちなみに動作確認はPen75、RAM36Mのマシンでです。http://hh.iij4u.or.jp/~akt001/
>>ネメシス90を起動させようとしたところ、CPUパワーが足りませんと出て >>エラーが出てしまうのですが、どうしたらよいのでしょうか誰か教えてください >EX68で動かす場合これが正常動作だと思うんですが<エラー うちではちゃんと動きますよ。 エラーの時はEX68自体を再起動させると次はちゃんと動いてます。 ところでネメシス90スプライトが遠くの景色より後ろに表示されて graph1をoffにしないと見づらいですね。
>$000400〜$0007ff が IOCS コールのベクタテーブルになっているので、 >IOCS.X を組み込まない状態でこの領域を見るのが一番手軽です。 >実は IOCS ROM の解析資料を書き始めたものがあるので、参考にして下さい。 早速ダウンロードさせて戴きました。 現在、出張中のため何も出来ない状態なのですが、週末自宅に戻ってからいろいろ調べてみようと思います。
Two weeks ago the project to create a cross platform X68000 emulator was launched. In two weeks we have made great progress, with the author of the original VPCE, the author of a PC88 emulator and a X68000 programmer on board. We also have managed to get hold of X68000 development documents. However, we need more help, specifically : C programmmers and specific platform developers X68000 programmers or people with good internal knowledge of the system Translators to assist in this Japanese <-> English co-project. A mail list for to assist development will be launched latter this week. Thanks John Stringer Japanese Computer Emulation Centrehttp://web.onyxnet.co.uk/John.Stringer-Oxford.onyxnet.co.uk/index.html
>ネメシス90を起動させようとしたところ、CPUパワーが足りませんと出て >エラーが出てしまうのですが、どうしたらよいのでしょうか誰か教えてください EX68で動かす場合これが正常動作だと思うんですが<エラー
ネメシス90を起動させようとしたところ、CPUパワーが足りませんと出て エラーが出てしまうのですが、どうしたらよいのでしょうか誰か教えてください
>中途半端な報告はかえって良くないかもしれませんね。 いえいえ、そんな事は無いと思いますよ。それに一人が全てを把握しようと するよりも、大勢が協力して調査する方が効率的だと思いますし。 >いい機会ですのでIOCS ROMの内容を調べようと思うんですが、調べ方は > IOCS.X等の常駐を解除して trap 15 の例外処理を参照する >とかになるんでしょうか。 $000400〜$0007ff が IOCS コールのベクタテーブルになっているので、 IOCS.X を組み込まない状態でこの領域を見るのが一番手軽です。くばた さんの報告にあったコードでも、このテーブルを見て ROM ルーチンに飛 ぶようになってますね。 実は IOCS ROM の解析資料を書き始めたものがあるので、参考にして下さい。 これは私の ACE-HD に搭載されている ROM (87/05/07 版 Version 1.00) の解析結果なので、他機種をお持ちの方は比較してみてください。 #まだ不完全で十分なチェックをしていないので転載・リンクは不可とします。http://amo.fys.ku.dk/~osada/ex68faq/iocsdata.html
おさださん、フォローありがとうございます。 ROMの内容を解析した事がないためアドレスの意味が解らないまま報告したのですが、 中途半端な報告はかえって良くないかもしれませんね。 いい機会ですのでIOCS ROMの内容を調べようと思うんですが、調べ方は IOCS.X等の常駐を解除して trap 15 の例外処理を参照する とかになるんでしょうか。
>movem.l $538,a0 ; 何のアドレスか解らないですが、$FF8DCA(IPL ROMアドレス)が格納されています >jsr (a0) ; $FF8DCAへジャンプ IOCS ROM の $FF8DCA は IOCS_B_DRVCHK です。つまり、 >move.w #$9000,d1 >move.w #$0000,d2 は「ドライブ0の状態の検査を行う」の設定で、 >andi.w #$0007,d0 ; d0の下位3ビットが’010’ならOK >cmpi.w #$0002,d0 ; EX68ではd0に #$0086が格納されている この戻り値の D0 の下3ビットの意味は、 ビット0 メディア誤挿入 ビット1 メディア挿入 ビット2 ノットレディ です。 つまり問題のコードはメディアがちゃんと挿入されているかを チェックしているのでしょう。 それに対して EX68 は $0086、つまり 「LED 点滅でノットレディ、しかもメディア挿入」という不思議な状態 を返している事になります。 これはどうやら mint なファイラーでのディスクエジェクト時の不具合 の原因でもあるようです。
下記デバッグ報告に記述ミスがあったので訂正します。(解るとは思いますが、念の為。) 誤: moweq.l a50,-(a7) 正: movem.l a50,-(a7)
パッチの内容は bne.s Label ; 先頭に戻ってしまう < nopに変更 です。 該当コードはDRA.X内に2箇所存在します。
悪魔城ドラキュラでのループ発生箇所がわかりましたので、報告します。 Label: bsr.w $0ace2a ; GPIPのポーリングとかいろいろ move.w #$9000,d1 move.w #$0000,d2 moweq.l a50,-(a7) suba,l a5,a5 movem.l $538,a0 ; 何のアドレスか解らないですが、$FF8DCA(IPL ROMアドレス)が格納されています jsr (a0) ; $FF8DCAへジャンプ movem.l (a7)+,a05 andi.w #$0007,d0 ; d0の下位3ビットが’010’ならOK cmpi.w #$0002,d0 ; EX68ではd0に #$0086が格納されている bne.s Label ; 先頭に戻ってしまう 上記の箇所にパッチを当ててみたところ先に進むようにはなったんですが、プロテクトチェックをパスする タイミングで再び無限ループが発生します。 該当コードを見ると何やら作為的なループのように見えますので、チェッカに掛かっている可能性が高いです。 もう少し追跡したかったのですが、今週は時間切れ(明日の仕事に響く)とゆー事で続きはまた来週です。 # 私の「ドラキュラ」はTFMでバックアップしてあります。他のツールでバックアップした人、または自分で # チェッカを潰した人はひょっとしたら上記パッチで動作するかも知れません。
バグレポートありがとうございます。 デバッグバージョンはコンパイルオプションで同じバージョンが出来ますので そのままリリースすることにします。 ヒストリのアクセス記録の一部は正しくない場合が間々ありますので気をつけてください。 padのチェックをしようと思ってsidewinder padの他に2ボタンpadと4ボタンpadに パッド分岐ケーブルを買ってきて手元の遅い機械に繋げて動かして見ましたが どうもCYRIX CPUの場合はEX68が妙に遅いようでした。 他のベンチ(cpubench,hdbench)では問題無いのですが、pentiun rateが同じもので 半分程度の速度しか出ていません。 マザーボードも違うのではっきりしないのですが、どんなもんでしょうか。 CPU clock power.x cpubench ----------------------------------------------------------------- MMX Pentium 75x3.5 = 262MHz 314..340% 531.5 Pentium 66.6x2.5= 166MHz 201..207% 314 Cx6x86MX 60x2.5=150 ->PR166 113..120% 363 Cx6x86 60x2=120 ->P150+ 75.. 84% 287 AMD5x86(WinNT) 40x4=160 ->P90? 70.. 85% 276
(すみませんちょっと長文です。) 初めて投稿します。いつも活発な投稿を読ませていただいています。 新参者がこのような生意気な事を発言するのは気が引けますし、 エミュレータの本筋からはちょっと外れますが、このサイトの発展に 大きな期待をよせている一人の発言として読んで頂ければ幸いです。 ---------------------------------------- 一般的に、公開されたサイトにおいては以下の項目を考慮しながら 書き込みやページ作成をされることをお奨めします。 (0)参加者全員は、参加する目的の事柄についてその国の法律を 完全に遵守する。これを怠ると、参加者の表現のどこかに必ず 隙が生まれます。 (1)著作権問題など誤解を生む表現を使わないようにしましょう。 誰の目から見てもきちんと理解できる文章を書きましょう。 誤解を防ぐ基本です。送る前に、一度トイレに行ったり一息 ついて、戻って文章を読み返してから投稿/作成することを お勧めします。もしあいまいな表現になりそうな時はそのまま 投稿/作成しないで、必ず明確にする事をお勧めします。 そういう日々の積み重ねを怠ると、だんだんとサイト本来の 方向性がずれてゆくなど、いずれそのサイト自体が余り良い 目で見られなくなります。 特にインターネット上に公開されたサイトは、クローズドな BBSとは違い誰でも簡単に見ることができるので、誰にでも 見たり参加したりできる反面、このような問題が起こりやすい のが現状だと思います。そういうところを見る人は見ています。 (2)誹謗、中傷や、必要以上な攻撃はしないようにしましょう。 説明の必要はないと思います。基本です。特に誹謗中傷を遠回しに 書かれる癖のある方は(3)も良くご覧ください。 (3)気持ちを広く構えましょう。ちょっとあいまいな表現ですが、 些細なことでも争いが起きて、せっかくのサイトが台無しです。 お互いに頭に血が上っている時などは結局他の参加者を巻き込む ことになり、みな気分が悪くなります。 自分がある特定の相手に特別な感情がある特は、メール等バック グラウンドで解決するべきです。 以上、勝手な発言、また長文にて失礼しました。 EX68の発展を期待しています。
商用でも原本を持ってるならかまいません。 ちなみにFloat?.xを組み込んでおくのは常識です。
あ、もちろん商用ソフトじゃないですよ フリーゲームとかが主です。 まさか商用ソフト吸い出して私が遊んでいたらそれは 余裕で違法ですし、でも個人的に吸い出して遊ぶには違法ではないと思いますが、、、 それに、私自身はパソコンは古い98しか持ってないので(初代Cx) EX68も友達の家で遊んでいます
とりあえず >すごいソフトですね、友達の家のX68からいろいろ吸い出してます とかいう使用する権利を持たない人には答えるべきではないと 思われますがいかがでしょう。 ROMとか無制限に配布されたとするとGAMEを著作権を無視して配布 しまくる輩が出てくる筈なのでSAHRPが許可するわけがないでしょう。
FM音源実装後に動かなくなった、マーブルマッドネスを調べてみました。 音源ドライバMUDRV.Xの以下の部分で無限ループになるようです。 moveq #$14,d1 ; OPMタイマ制御レジスタ番号 moveq #$1f,d2 ; タイマAのみオーバーフローリセット bsr.w $0808a2 ; OPMポートアクセスルーチン : moveq #$3,d0 and.b $e90003,d0 ; タイマA,Bのオーバーフローチェック タイマA,Bともにオーバーフローが発生していない場合のみ次の処理へ進むようになっていますが、 EX68ではタイマBオーバーフローフラグがONになっています。 2行目の部分を moveq #$3f,d2 ; タイマA,Bオーバーフローリセット に変更、タイマBのみリセットする処理もあるのでここも同様に変更すると、マーブルマッドネスが動作します。 ゲーム中はFM鳴ってるんですけど、SOUND TESTだと音が鳴りません。(このパッチが悪いかも・・・) また、画面モードを変更しようとするとEX68が固まってしまいます。 >>label: tst.b #$00000c34 >> bne label ; < nopに変更 >DMAC #2 の空き待ちでしょうか? だとすると、nopはマズイかもしれませんね。
>ところで、$c34って何か特殊なアドレスでしたっけ? >特に値を設定した様子もなく、いきなり参照しているんですが・・・ $000800 〜 $000FFF は IOCS のワーク領域です。 今 IPL-ROM の内容を ざっとながめた限りでは、$000C34 は DMAC #2 関連のワークのようでした。 _IOCS_DMAMOV_A($8B)と _IOCS_DMAMOV_L($8C)が参照・設定していますが、 IPL-ROM 内ではもうあと2ルーチンが参照しています。正確な用途はわかり ません。 >label: tst.b #$00000c34 > bne label ; < nopに変更 DMAC #2 の空き待ちでしょうか? #どなたか IPL-ROM の解析資料持ってたりしませんか?
>すごいソフトですね、友達の家のX68からいろいろ吸い出してます こういう事を平気で言うかなぁ。
頂きました。 早速使ってみたところ、グラナダの無限ループ発生箇所がわかったので報告します。 label: tst.b #$00000c34 bne label ; < nopに変更 上記の修正を3箇所に適用したところ、EX68でグラナダが動作するようになりました。 スプライトのちらつきが激しいですが、一応ゲームは出来ます。 また、以前どなたかが報告された「メニューの選択位置が勝手に下に行く」事象は、マウスを動かせば治ります。 ところで、$c34って何か特殊なアドレスでしたっけ? 特に値を設定した様子もなく、いきなり参照しているんですが・・・
>ちょっと不安定ですが、アクセスブレークが必要な時などに >使ってみてください。 どうもありがとうございます。さっそく使い始めましたが、前回 のデバッグ版に比べるとかなり安定して使いやすくなってますね。 ただ、贅沢を言えばメモリや I/O の modify やブロックの保存 などもできると嬉しいです。 個人的には現在の EX68 のリリース頻度でしたら10回に1回程 度の割合でデバッグ版もリリースされると、Up-to-date なチェッ クに役立つと思うのですが、それによって本リリースの開発作業が 遅れてしまうようであれば今回の版を今後も流用する事にします。 あと、初期の頃の実装予定に resume 機能が挙げられてましたね。 resume 機能自体にはあまり興味は無いのですが、16MB 空間を一気 にファイルに書き出す機能があると、動作追跡と状況の再現に利用 できるかもしれません。
近頃の書き込みを見ていると、なんだか細かな点での話が多いようで、これは逆にex68(仮)が大筋では相当 ばっちり動いているということなんでしょうね(^^)。 僕としては、RS232Cがサポートされたら会社のパソコンで家と同環境に使えてすごく嬉しいんですけど、素人目 にもやらなきゃいけないことが多そうなので大変なのかな。 さらに個人的には(うまく言えないんですけど)Neputune-X相当の動作ができたらとんでも無くすごいことになりそ うですけど、後づけハードのエミュレートというのをどう実現されるのか見当もつきません(^^;。 久しぶりに書いて、なんだか催促モードっぽくなってしまいましたけど、気にしないでください(^^;。 yamamaさん頑張ってくださいm(. .)m #「ROMイメージ他システムファイルのフリー化をシャープにお願い計画」は、近頃の書き込みを見ていて #ちと様子見した方が良いかと思うにいたったので中断中です。
ちょっと不安定ですが、アクセスブレークが必要な時などに 使ってみてください。 http://www.kumagaya.or.jp/~yamama/emul/ex68d025.lzh
すいません 私のミスでした ところで、TDQ1でパッチも入れたのですが なぜか戦闘中の画面で敵キャラ以外表示されないのですが どうやったら直りますか?
>BUP.Xでパッチをあてようとしたら >「演算パッケージが未登録です」 >といわれてしまいました >どうしたらよいのでしょうか? 演算パッケージ(FLOAT2.X 等)を登録すればいいのです。 X680x0 では基本的な事で、EX68 特有の現象ではありません。
はじめまして 結構前からX68使ってます すごいソフトですね、友達の家のX68からいろいろ吸い出してます ところで BUP.Xでパッチをあてようとしたら 「演算パッケージが未登録です」 といわれてしまいました どうしたらよいのでしょうか?
パレットデータの $0000 と 色コードの $0000 が混同される場合が あるようで、グラフィックの $0 以外の色コードのパレットデータが $0000(黒)になっていると、背景色コード($0)として処理されてし まい、透けて見えてしまう場合があります。 下のサンプルでは 256 色グラフィック面を2つ用意して、上から順に 64 ドットずつ、 GRAM(1) 色コード $00 → 赤 $07c0 GRAM(0) 色コード $01 → 青 $003e GRAM(0) 色コード $02 → 黒 $0000 (↑この裏側に GRAM(1) 色コード $03 → 白 $fffe) GRAM(1) 色コード $04 → 緑 $f800 と4色表示させているのですが、EX68 では3番目の黒($0000)が表示 されずに、その裏にある GRAM(1) の色コード $03、白が表示されてし まいます。 .include iocscall.mac .include doscall.mac start: movea.l #0,a1 IOCS __B_SUPER moveq.l #10,d1 * 256x256x8x2 IOCS __CRTMOD IOCS __G_CLR_ON move.w #$07c0,$e82000 * Graphic Palette 0 = Red move.w #$003e,$e82002 * Graphic Palette 1 = Blue move.w #$0000,$e82004 * Graphic Palette 2 = Black move.w #$fffe,$e82006 * Graphic Palette 3 = White move.w #$f800,$e82008 * Graphic Palette 4 = Green lea.l $c10000,a2 * 2nd quarter of GRAM(0) lea.l $c20000,a3 * 3rd quarter of GRAM(0) lea.l $ca0000,a4 * 3rd quarter of GRAM(1) lea.l $cb0000,a5 * 4th quarter of GRAM(1) moveq.l #$01,d2 moveq.l #$02,d3 moveq.l #$03,d4 moveq.l #$04,d5 move.l #$7fff,d6 loop: move.w d2,(a2)+ move.w d3,(a3)+ move.w d4,(a4)+ move.w d5,(a5)+ dbf d6,loop IOCS __B_SUPER DOS __EXIT .end かなりの数の panic データや一部のゲームなどで発生する現象なので すが、どなたも報告されていないので、もしかしたら私の環境だけなの かもしれません。サンプルの確認をお願いします。 また、SP,BG & TEXT でも類似の不具合が稀に発生しますが、こちらは 複雑な要因が影響しているようで、条件の特定はまだできていません。
switch.x の件解決しました。mOm どうも有り難うございました。mOm --> ALL 特にまーくん2さん、お世話になりました。^^ 引き続き色々いじってみます。^^
FMのエミュが実装されてからちょっとづつ試していたのですが ようやくわたしのS3製SonicVibes搭載の音源ボードでもFMが なるようになりました. ずっとOPL3の認識はしてたのですが音が鳴らなかったんですけ ど,原因が分かりました. 立ち上がった時に設定されている環境変数BLASTER=は主に DOS用の環境変数であり, これはS3 Legacy Relocatorのアドレス を指していて, そこで飛び先を指定してDOS上でのSBのエミュレ ートをしているようでした. これを介しているためいくらプログラム側がOPL3を認識してい ても音がならなかったんだと考えられます んで,BLASTER=AxxxxをS3 Sonic Vibes AudioDevice のI/Oア ドレスの一つに設定してやったところなんとか音が鳴るようになり ました やはりモノが違うせいか(S3 FM シンセサイザーというらしい)SB とは音が違うような気がします. ,このあと純正のSBを持ってるやつ捕まえてききくらべてみるつもりです
>ただ、30と00を見分ける手段があるのと同時にEmuMPUと実MPUを見分ける手段が >あるのはかまわないんじゃないかと思うんですが。 書いた後きづいたんですが これすると、今度は実際のMPU判定が動作未定になってしまいそうですね。 では、見分ける方法はない方が好ましいってことで理解しました。
>TX-Project さんのご質問の意図が理解しにくいのですが、 すいません、ちょっと自分でも収集つけられていないので。 要は実装されていないのにバスエラーを返さないのは変だってことですよね。 メインメモリーに限らず。意図の話はたぶん私がメインメモリーだけをターゲットに していたせいでしょう。 > 数値演算コプロは当然RAM空間以外のアドレスを使うようになっています。 > ちなみにデフォルトでは $E9E000 になってますが、ボード上で切り替える > 事もできます。 それはなんか思い出しました。 >以前も同様の要望がありましたが、「それは望ましいことではない」というのが > yamama さんのお答えでした。 なるほどわかりました。 ただ、30と00を見分ける手段があるのと同時にEmuMPUと実MPUを見分ける手段が あるのはかまわないんじゃないかと思うんですが。 #メモリのSDRAMでさえSPDでしたっけ、ベンダーや動作電圧などが区別できますし。 #ちょっと関係ないですね。すみません。(せっかく書いたのでそのまま(^^;)
TX-Project さんのご質問の意図が理解しにくいのですが、 >MAIN MemoryでのバスエラーはわかっていたんですがCo-Processerまでは >気がつかなかった、しかし、Co-Proって12M byteの自由空間のうちに配置され >ていましたっけ?資料が乏しくなってしまったもので。 数値演算コプロは当然RAM空間以外のアドレスを使うようになっています。 ちなみにデフォルトでは $E9E000 になってますが、ボード上で切り替える 事もできます。 >メモリ設定に限らず本機X680x0シリーズとEX68とをソフト的に見分ける手段 >ってありませんかねぇ。これから結構便利だと思うんですが。(いますぐにって >ことじゃないのですが) 以前も同様の要望がありましたが、「それは望ましいことではない」というのが yamama さんのお答えでした。
>EX68 はあくまでも「エミュレータ」なので、「実機と同じ動作をさせる」 >事が目的なのです。 未実装メモリ空間云々に関しても同じ理由で実機と >まったく同じ反応を返さなければならないのです。 なるほど、わかりました。確かにそうですね。それを目指してもいるんですし。 えっと、話ではEX68ではWindowsで実メモリしかとれないんですよね。 Swapには回らないのでしょうか。
メモリ設定に限らず本機X680x0シリーズとEX68とをソフト的に見分ける手段 ってありませんかねぇ。これから結構便利だと思うんですが。(いますぐにってこ とじゃないのですが)
>余談として、近頃はWinではFreeが16M以上というのも難しくはないので >どうかとは思いますが。 EX68 はあくまでも「エミュレータ」なので、「実機と同じ動作をさせる」 事が目的なのです。 未実装メモリ空間云々に関しても同じ理由で実機と まったく同じ反応を返さなければならないのです。
MAIN MemoryでのバスエラーはわかっていたんですがCo-Processerまでは 気がつかなかった、しかし、Co-Proって12M byteの自由空間のうちに配置され ていましたっけ?資料が乏しくなってしまったもので。 EX68だけなら、終了->再起動するってことでいけるような気もしますが。 一応アーカイブのドキュメントにはターゲットはEX68のみ&実機では使わない方が いいとは書きましたが。 以前、Oh!XでProcessManagerというSRAM常駐のRAMチェックプログラムが出されたときは、 BUSエラー割り込みをフックしてメモリを順にチェックしバスエラーが起こったところで、 SRAMに実装メモリ容量を書き出して再起動という、すごくダイナミックなプログラムも ありましたが。これの利点は、メモリの換装の度にSwitch.xがいらないってことですね。
>実装されていないメモリ領域ってどのことですか?実機なら物理的にあるんですが、 >Windowsって仮想メモリも入れていいんじゃないですか?(わかりませんのでお願いします) EX68 がエミュレートするメモリ空間の事です。そもそも MC68000 では物理的 に実装されていないメモリや I/O のアドレスにアクセスするとバスエラーを発 生するようになっているのですが、通常はこれを利用してバスエラーがでるかど うかを増設メモリや拡張ボード(MIDI ボード、コプロボード)の装着の有無の 判定をします。 この仕様もエミュレートしないと、例えば libc をリンクしたプログラムでは、 68881 or 68882 のレジスタが使える(バスエラーが発生しない)と判断すると、 FLOAT?.X を使わずに直接ドライブするようになるので、不具合がでるわけです。 この説明でおわかりいただけますか? なお、強引に SRAM に書き込むのが問題なのは実機で使う場合だけですので、 使用時に注意が表示されるようなプログラムならば別によろしいのではない でしょうか?
うう、そうか。直接書き込むのはまずいのか。 >実装されていないメモリ領域でバスエラーを出さないわけにはいきませんし、 >かといって強引に SRAM に書き込むソフトを配布するのも問題なので 実装されていないメモリ領域ってどのことですか?実機なら物理的にあるんですが、 Windowsって仮想メモリも入れていいんじゃないですか?(わかりませんのでお願いします) #余談として、近頃はWinではFreeが16M以上というのも難しくはないので #どうかとは思いますが。
本家 switch.x にあるような実装領域判定はしていないので本機X680x0シリーズでは 使わない方が無難かもしれません。(本機じゃ、早々可変しないのでいらないか) #URLに直接アドレスを書きました。http://www.jaist.ac.jp/~tagawa/programs/setmms.lzh
度々すみません。SWITCH.X Ver.2.20 にはバグがあって、コマンドラインでは 8MB以上設定できなかったのと、EX68 は一度終了させないと前述の現象は再 現できませんでした。よって、正しいエラー再現の手順は、 1)コマンドラインから "SWITCH.X MEMORY=6144" と入力。 2)EX68 を終了させ(リセットは不可)、再起動させる。 3)コマンドラインで、"SWITCH.X MEMORY=8192" と入力。 4)エラーメッセージが表示される。 実装されていないメモリ領域でバスエラーを出さないわけにはいきませんし、 かといって強引に SRAM に書き込むソフトを配布するのも問題なので(純正 SWITCH.X はそうしていますが)、X68.CFG かオプションで選択できるよう にした方が良いかもしれません。
いらないようなものかもしれませんが、SRAMにメインメモリ容量を設定するプログラム を作ってみました。ソースコードも一応つけてあります。 題字:Setup Main Memory Size for Human68k.X680x0 on EX68 url : http://www.jaist.ac.jp/~tagawa/programs/setmms.lzhhttp://www.jaist.ac.jp/~tagawa/
>Human68k Ver3.02 の SWITCH.X Ver 2.20 の中にも同様のコードは >存在しているのですが、どうやら使われていないようです。 Human68k ver3.02 & SWITCH.X Version 2.20 でも、コマンドライン・ モードで使うことによって、メモリの実装判定による「パラメータの指定 に間違いがあります」エラーを再現できる事が判明しました。 1)SWITCH.X で 10240 以下に設定する。 2)EX68 をリセットするか、立ち上げ直す。 3)"SWITCH.X MEMORY=12288" と入力。 4)「パラメータの指定に間違いがあります」が表示される。 メニュー・モードではチェックしてないんですね。
誤:move.l #$00c0000,$00ed0008 * 12MB 設定 正:move.l #$00c00000,$00ed0008 * 12MB 設定
Ver 1.x の SWITCH.X は、MEMORY の項目を SRAM に書き込む前に 「本当にメモリが装着されているか?」を確認していました。 Human68k Ver3.02 の SWITCH.X Ver 2.20 の中にも同様のコードは 存在しているのですが、どうやら使われていないようです。 (6MB 装着の実機で 8MB に設定できる事で確認) 具体的には SWITCH.X Ver 1.00 の場合ですと、まずバスエラーの ベクタを変えてから、ユーザーが設定した MEMORY サイズ時の最大 RAM アドレス(例:10 MB の場合 $9FFFFC)を A0 に入れ、 move.l #$5836385b,(a0) cmpi.l #$5836385b,(a0) とする事により、バスエラーまたは (a0) の内容が一致しない場合、 「パラメータの指定に間違いがあります」とエラーを出すようになっ ていました。 また、動作確認した SWITCH.X Version 1.00 には、 「11MB までしか指定できない」というバグもありました。 (当時はフル実装する人なんていなかったんでしょうか?) というわけで、EX68 はおそらく再起動、またはリセットをした後で 仮想メモリを確保して有効にしているのでしょうから、Ver. 1.x の SWITCH.X では現在確保されているメモリ以上には増やせないようで す。 もっとも、SWITCH.X のやっている事で重要なのは、 move.l #$00c0000,$00ed0008 * 12MB 設定 だけなので、適当なプログラムを組むなり、デバッガで書き換える なりして設定してください。
ゲ−ムはできるんですけど、ゲームのセーブが できないのはなぜなんでしょ?(^^; ぼうけんのしょをけすにするとフリーズして、きょうかいに いくと「かみがお困りになっています。ぼうけんのしょを封印 なされています」とかでてしまって・・・ たしか。ヒューマンのDELコマンド使えると思ったんですけど セーブデーターを消すのとは別なのでしょうか?
TDQ1はネットで発表されたバージョン、TDQ2は最初のスライムが跳ねるのが ないバージョン(・・・・・・・。)なら動いてますね。 懐かしのソフトがどんどん動作するようになってきて、本当にイメージを作って動作 確認するだけでも喜びが得られます・・・作者さんにあらためて感謝します。 はやくサウンド関係鳴らせるよう環境のチェックしないとなぁ。
ちょっと下の文は、違法ユーザを認めるような意味にとらえられかねませんでしたね。 「Human68k はコピーフリーか?」の議論ははっきり言って Offtopic なので、 たつぼうさんのケースでの解決方法を示しただけに過ぎません。あと、Human68k ver 1.0 時代の古い SWITCH,X を持っているはずなので、動作確認してみます。
仮想メモリ容量を変更するのに、SWITCH.X を入手する必要はありません。 SRAM.RAM ファイルの9バイト目が MEMORY の設定を保存しているので、例え ば 12MB フル実装したい場合は、そこに $C0 と書き込んでください。 エンディアンの違いに注意してください。現在の設定が 2MB ならば、最初に $20 となっている部分が該当箇所です。 #SX-Window のコントロール・パネルでも SWITCH.X の代用ができます。
おさださん: > 9SCDRV.X に /K /M /W /D オプションを付けて常駐させて下さい。 > ただし、まだ 2HD ディスクしか使えないと思います。 了解しました。mOm > 詳しくは過去ログを参照して下さい。 過去ログに出ている話でしたか。^^; 失礼致しました。mOm 過去ログ漁る時メモリ設定の部分ばかり見ていて調べるの忘れてました。^^; MONYONSさん: > switch.xはv2.20を使っていますが、普通に12Mまで確保できました。 > また、refreshg.x v1.00で普通にリフレッシュできました。。。環境に依存する > のかな?(あれ?なんでrefreshgのバージョン、こんな低いの使ってんだろう…) Switch.X Ver2.20 ですか。^^; そうするとオイラのは大分古いものなんですね。^^;; オイラACEの時に買ったんでちゃんとしたシステムディスクはその頃 のしか持っていないんです。^^;; だから Human.SYS だけ Ver3.02 なんてことに。^^;;; Refreshg.x は普通に動きましたか。 なんでオイラのところはこんなに不良クラスタが出ているんだろう? まーくん2さん: > 私も前になった事あります(^^;が、SRAM.RAMを消したりしてまたSWITCH.Xで再設定 > することによりちゃんと12MBまで認識してくれた覚えがあります。 駄目でした。^^; やり直しても2MBにしかならないです。^^;; > 私の主に使っているROMは、 > XVI Compact > のROMを使用してます。(あんまり意味ないけどサブでPROのROMも作ってあります(^^;) > SWITCH.Xは、Human 3.02システムディスクに付属しているものを使用してます。 やっぱり Switch.x のバージョンが古いんですかね。^^; 誰か下さい。^^;; #別に問題ないですよね?^^;; #確か Human.sys 関係はコピーフリーだったと思いましたけど #ちょっと自信がないっす。^^;; kikur さん: > Murcury関係に対応しないと再生できないと思います。 あ、そうでした。^^; .v16 はマーキュ用の高音質データでしたね。^^; > adpcmなものなら再生できるかもできませんね。試してないですが(^^; > でも、mmvpでvtrはpcmがブチブチいいますが再生できているようです。 小さいデータで試してみます。^^ 確かガ○ダムのOpで14MB位の持ってたな・・・ データの転送が大変ですけどね。^^;; yamama さん: > なんらかの理由でsram.ramが更新出来ていないかと思います。 > sram.ramはEX68終了時に書き戻しています。 sram.ram を消してやり直してもやっぱり2MBまでしか設定できません。 switch.x を実行して -Memory =2048k と入力すれば2MBにちゃんとなるんですけど、 -Memory =4096k と入力すると「パラメータの指定に間違いがあります」と言うエラーが 出てしまいます。 これは switch.x Ver1.11 固有の問題なのでしょうか。 どなたか新しい Ver のものをいただければ試せるのですが。^^;
>>BogoMIPSはHOWTOのBogoMIPSによるとLinus氏のジョークでもある様ですし。 >その事を知らない人が nishino さんのあの元記事を読めば、とんでも >ない誤解をするでしょう。一言でいいですから注を入れるべきです。 そのとおりでした,申し訳ない。 >Dhrystone かクロックの比較の方が直感的な目安としてはマシですよ。 これCPU内部だけの処理になるんでちょっと… なんか良い指標があるといいんですけどね
>BogoMIPSはHOWTOのBogoMIPSによるとLinus氏のジョークでもある様ですし。 その事を知らない人が nishino さんのあの元記事を読めば、とんでも ない誤解をするでしょう。一言でいいですから注を入れるべきです。 >でもまあ他の値(Drystone等)を使うよりは >良いかと思いまして(一応システムのタイミングを計ってるらしいので)。 Dhrystone かクロックの比較の方が直感的な目安としてはマシですよ。 ちなみに、各 CPU 間の BogoBIPS とクロックのおおよその関係は、 Intel Pentium clock * (0.40 +- 0.035) Intel Pentium Pro clock * (0.99 +- 0.005) Intel Pentium II clock * (1.00) Pentium MMX clock * (2.00) となっていて、これを認識しないでいたずらに BogoMIPS を持ち出すのは 勘違いのもとです。
>これは P54C-200 の値で、P55C-200 では前回書いたように 400 前後に >なります。 ちなみに私が研究所で使ってる Pentium-II 300 MHz では >299 だったりしますので、BogoMIPS の比較は意味がありません。 まあBogoMIPSを使ったのは1つの例としてですが。 BogoMIPSはHOWTOのBogoMIPSによるとLinus氏のジョーク でもある様ですし。でもまあ他の値(Drystone等)を使うよりは 良いかと思いまして(一応システムのタイミングを計ってるらしいので)。 ただPentiumU300Mhzが299だからおかしいというのもちょっと。 ベース66Mhzx4.5ということはバスアクセスを含めるとあまりいい値は 出ないような気が。
>YM2608のパンポットレジスタは$B4,$B8,$BCおよびその裏レジスタで、YM2151 >とは左右が逆になります。モノラル固定の場合$C0を書いておけばokです。 情報ありがとうございます。とりあえずモノラルにしましたが、bit位置をYM2151と逆で設定すればステレオになるのですね。次回に。 >TEXT のスクロール問題と MOVEM バグの修正、確認しました。 どうもありがとうございました。 >EX68からWin32APIを使用するために、未定義命令等を使用してX68内部からの >外部DLL等へインターフェースする予定はあるのでしょうか? 今のところは拡張は考えていません。 >なぜが最近のEX68Kで256色モード時に上半分ぐらい上にいって下半分しか見えません。 >かなりまえのバージョンでは正常に動作していたみたいですが、どうなんでしょうか。 すみません。256色モードは最近の更新分が反映されていません。 >ゲームの再現性に興味のある人が多いと思うのでX68000ユーザーでなかった >人ははがゆい思いをしてると思います。 X68000ユーザーでなければ使用出来ません。 >を Switch.x Ver1.11 で変更しようとしたところ、2048k までにしか設定 >できませんでした。 なんらかの理由でsram.ramが更新出来ていないかと思います。 sram.ramはEX68終了時に書き戻しています。
Ver025cの動作報告です。 超連射68Kにてスプライトダブラーの動作を確認しました。 かなりつらそうですが、以前より格段にスプライト表示量が 上がりました。 その他のダブラーを用いたソフトもチェックしてみました。 ・DIVE−ON 128枚一括転送方式のスプライトダブラーを使用した ソフトです。最大256枚まで表示されます。EX68上では 若干ちらつきますが、再現度はかなり良いです。ダブラー エミュレートの処理速度が、超連射の場合に比べてかなり 高速で、遅さを感じませんでした。 内部レベルで68版究極タイガーと同一ルーチンが動作 しているので、DIVE−ONをお持ちでない方はそちらで 試してみることをお勧めします。 ・DIRECT−X 前回のコミケで売っていた同人ソフトです。64枚交互転送 によるスプライトダブラーを使用し、最大384枚まで表示。 EX68上ではほとんどちらつく事はなく、またDIVE−ON の場合と同様に、ダブラーエミュレートは高速です。 以上、動作環境は MMX−233MHZです。 ダブラーのエミュレートは、超連射の場合だけ異常に重い ようです。超連射にてダブラー動作時に重くなるのは、何か 他に原因があるのかもしれません。割込み回りでしょうか? ちなみに超連射で用いているダブラーのアルゴリズムは、 64枚交互転送式で、上記のDIRECT−Xがこれに近いです。
>もっと大容量のHDDイメージがつかえるようになったら.v16の再生とか >やってみたいです。:D Murcury関係に対応しないと再生できないと思います。 adpcmなものなら再生できるかもできませんね。試してないですが(^^; でも、mmvpでvtrはpcmがブチブチいいますが再生できているようです。
>いくつかのデバドラをコピーして環境設定を行っていたのですが、搭載メモリ >を Switch.x Ver1.11 で変更しようとしたところ、2048k までにしか設定 >できませんでした。 私も前になった事あります(^^;が、SRAM.RAMを消したりしてまたSWITCH.Xで再設定 することによりちゃんと12MBまで認識してくれた覚えがあります。 私の主に使っているROMは、 XVI Compact のROMを使用してます。(あんまり意味ないけどサブでPROのROMも作ってあります(^^;) SWITCH.Xは、Human 3.02システムディスクに付属しているものを使用してます。
>ところで日本でA-JAX・イメージファイト・ファンタジーゾーンなどの >イメージを置いてるページってないんですかねー 作者オフィシャルページにこういう書き込み出来るとは、いい度胸 してますね(^^;(ってメールアドレス書いてないけど) 凄いっす(^^;
>ゲームの再現性に興味のある人が多いと思うのでX68000ユーザーでなかった >人ははがゆい思いをしてると思います。 X6ユーザーじゃない人は使えないんじゃないの?
もし、この書き込みの前に問い合わせ等が有ったらすみません。 「テラクレスタ/ムーンクレスタ」のイメージを普通に(0ドライブ)入れて起動すると、 問題なく「テラクレスタ」が起動するのですが、1ドライブに入れて起動すると、 「0で除算しました」のエラーがエミュレータ上のに「白オビ」で、表示されます。 これは、たぶんバグだと思うのですがどうでしょうか?
switch.xはv2.20を使っていますが、普通に12Mまで確保できました。 また、refreshg.x v1.00で普通にリフレッシュできました。。。環境に依存する のかな?(あれ?なんでrefreshgのバージョン、こんな低いの使ってんだろう…)
ちょっと書き間違えました。 >正常に設定された P55-200 Linux の BogoMIPS は 80 前後になります これは P54C-200 の値で、P55C-200 では前回書いたように 400 前後に なります。 ちなみに私が研究所で使ってる Pentium-II 300 MHz では 299 だったりしますので、BogoMIPS の比較は意味がありません。http://amo.fys.ku.dk/~osada/ex68faq/index-jp.html
>あと、9scdrv.x を組み込むととたんに起動用として作った FD0.XDF が >読み書きできなくなりました。 9SCDRV.X に /K /M /W /D オプションを付けて常駐させて下さい。 ただし、まだ 2HD ディスクしか使えないと思います。 詳しくは過去ログを参照して下さい。 #下の "Offtopic: BogoMIPS" は私の投稿です。
>Linuxの起動時にBogoMIPSといったスピード表示があるのですが、 >P54-120では47程度に対しP55-200では240程度で非常に差が大きいのです。 その BogoMIPS の値はおかしいですね。 正常に設定された P55-200 Linux の BogoMIPS は 80 前後になります。 また Pentium MMX/200 の BogoMIPS が 400 前後になるように、基本的に『全く同一の製造ラインの CPU 間』で 無い限り、BogoMIPS の比較は意味を成しません。 詳しくは Linux BogoMIPS mini-HOWTO を参照して下さい。
はじめまして。 たつぼうといいます。mOm Ex68を昨日インストールしてみました。^^ すごいですね、これ。^^; もっと大容量のHDDイメージがつかえるようになったら.v16の再生とか やってみたいです。:D で、本題ですが、HD0.HDF から起動できるようにしようと、Human.sys 以下 いくつかのデバドラをコピーして環境設定を行っていたのですが、搭載メモリ を Switch.x Ver1.11 で変更しようとしたところ、2048k までにしか設定 できませんでした。 Human.sys は Ver 3.02、Ex68 は Ver0.25b(cも試したけど結果は一緒)なの ですが、2MBまでしかメモリの選択ができないのはなぜでしょうか。 Switch.X のバージョンが低いのでしょうか。 あと、9scdrv.x を組み込むととたんに起動用として作った FD0.XDF が 読み書きできなくなりました。 DIR で見ても容量0、ファイルも1つも無し、と表示されてしまいます。 まだ 9scdrv は組み込んではいけないのでしょうか。 最後に、refreshg.x を使って環境設定の終わった HD0.HDF ドライブを リフレッシュしようとしたところ、リフレッシュ中にエラーセクタがいく つも発見されました。 不良セクタ潰しを先に行ってみても現れないのですが、リフレッシュを行 うと2〜3個出てきます。 しかも1度潰しても次にもう一度リフレッシュすると他のセクタにエラーが 発見されてしまいます。 まだ refreshg.x は使用しない方がいいのでしょうか。 よろしくお願いします。mOm
↓早いではなく速いでした。
>どちらかというと CPU の性能よりもグラフィックカードの性能の方が、 >描画速度のファクターとしては重要な場合が多いようですよ。 確かにMS-WindowsはExporseがカーネルの次ぐらいに位置するらしいので それは当然なのですが、CPUの差も大きいのです。 Linuxの起動時にBogoMIPSといったスピード表示があるのですが、 P54-120では47程度に対しP55-200では240程度で非常に差が大きいのです。 まあ、早いCPUに簡単に移れればいいんですけどね(私、貧乏なもので)
>ゲームの再現性に興味のある人が多いと思うのでX68000ユーザーでなかった >人ははがゆい思いをしてると思います。 X68000ユーザでなければそもそもboot romが取れないので、こういう心配 をする必要はないはずです。
>あの処理の関係で非常に重いとされていたソーサリアン68のX1 Turboモードの >音楽が正常に再生されました。(EX68 Ver. 0.25bでOPL3とOPNAで確認) >sorcx1.rでも、同様にちゃんと再生されました。 >いやはや凄いっす OPM Timer-Aの割り込み周期が実機に近づいたようですね。 ソーサリアンのX1turbo modeではTimer-Aをかなり速い周期で回し、 内部カウンタで分周することで実際のタイマ周期を取り出しています。 これはX1turbo実機と同等の処理であり、X1turboではOPMタイマーが 使用できないので汎用インターバルタイマの内部分周処理でPC-88 相当の周期へ変換しています。
やはりPentium 100MHzではとろいです。あんなちっちゃい画面なのに ところで日本でA-JAX・イメージファイト・ファンタジーゾーンなどの イメージを置いてるページってないんですかねー ソフトはどこにも売ってないし、TOOLはあっても吸い出しようがないんで 悲しいです。皆さんは自力で吸い出してるのでしょうか? ゲームの再現性に興味のある人が多いと思うのでX68000ユーザーでなかった 人ははがゆい思いをしてると思います。
FM音源のモノラルデータがちゃんとモノラルで鳴るようになりました(^^ あと超連射がちゃんと動くようになりました(なぜか音が出ないけど(^^;) これで、また動くゲームが増えたかもしれませんね これからいろいろ試してみます。 簡単な動作報告でした。
ひさしぶりの書き込みでいろんな人から意見を頂きましたが、 ちょっと、書き足りなかったようですね。 ちなみにうちのマシン構成は Tatung/tsukumoのTS-MT5120/850CDVで Pentium 120Mhz Virge(4M)+SB16 Mem48M なんですが、X Window systemではWindowsほど ストレスを感じたことがないんです。 これはまあ、WindowsのExporseイベントの頻度が 問題なんだと思うんですが。
Millennium2をCanopus PWR128Pに変えただけでも, 結構,体感速度が早く感じられましたよ! Pentium 166MHz Asus T2P4 SoundBlaster16 Memory 64MB
>おさだ氏によると、EX68の実行速度は、CPUよりもビデオカードの >性能で強く影響するらしいです。(詳しくは、過去のおさだ氏の >書き込みを参照) >あと実機同程度は、まだ難しいかも(^^; そうですか〜。こちらの環境は Pentium166 Millennium SoundBlaster16PnP といったところです。 ビデオカードはかなり早い部類だと思うので、 CPU周りを強化したかったのですが、 MMX200 でも厳しいとなると、少し様子見でしょうか。 とりあえず socket7 に刺さるCPUが良いので・・・。
XSPでスプライトが表示されないバグ対処です。 ファミベのよっしん さんからテストプログラムを送って頂き追跡してみると MFPのAERの不具合でした。 ほかにグラフィックモード切り替え時のメモリ並びの変換のバグ等。
>COPY FD0.XDF/B + FD1.XDF/B FD.XDF >で単純に結合した形式です。 >そうすると結構便利な気がするのですが。 それよりも、以前話が出ていたように LZH 形式のアーカイブとして固めて 利用する方が合理的だと思います。 X68.CFG ファイルも一緒に含めれば、 どのファイルからブートするのか、という情報なども含められて便利だと思 いますが、その前に CFG ファイルのフォーマットが固定されなければいけ ないですね....
EX68のディスクイメージ(XDF等)ですが 一つにまとめて扱えるようにならないでしょうか? COPY FD0.XDF/B + FD1.XDF/B FD.XDF で単純に結合した形式です。 そうすると結構便利な気がするのですが。
あの処理の関係で非常に重いとされていたソーサリアン68のX1 Turboモードの 音楽が正常に再生されました。(EX68 Ver. 0.25bでOPL3とOPNAで確認) sorcx1.rでも、同様にちゃんと再生されました。 いやはや凄いっす 軽い動作レポートでした(^^;
>同様な動作をする「テラクレスタ」は「0除算エラー」が出てしまいます。 これは Timer-D のデータレジスタ $E88025 が0を返してくるのが原因です。 (MFP 周りはまだ完全では無いそうです)
>FM音源も変な音しかなりません。 うーんOPL3でも、結構良い音で鳴るんですけどね (音色によりけりですけど) SB16(PRO?)互換音源やOPL3チップが搭載されている場合で、音がおかしかったり鳴らない場合は、 環境変数BLASTER=を設定してみてください (PnPモードで適切に設定される場合もあるそうです) PS.FM音源は、86ボードで鳴らしたほうがテンポも結構合ってたりするし 音色もかなり実機に近いしで、最近98の方でばかり動かしている(^^;
私の環境は、 AT CPU : Pentium 200MHz MMX Video : Millennium II(4MB RAM) Sound : SoundBlaster AWE64 Gold(4MB RAM) : UltraSound PnP PRO(4MB RAM) PC98 CPU : Pentium 133MHz Video :TGUI9680(TM)XGi Sound : 内臓WSS互換音源 : PC-9801-86(86ボード) な環境ですが、ATの場合x1モードで動かすには、まだ少しきついようです。 私は、ゲームなどの場合x3モードでまあまあ快適に動いてくれるので (ゲームによってx3だときつい物も結構あります(^^;)ギャラガ88とかx3で よくやっています。 おさだ氏によると、EX68の実行速度は、CPUよりもビデオカードの性能で 強く影響するらしいです。(詳しくは、過去のおさだ氏の書き込みを参照) あと実機同程度は、まだ難しいかも(^^;
ex68にはお世話になっています。 最近はそーさりんであそんでいたのですが、 0.24からなぜか私の環境では、なぜか、 スプライトが表示されないようです。 FM音源も変な音しかなりません。 パナのLet's note(AL-N2)なんですが・・・ 0.25b頂いて試させていただきます。 開発がんばってください!!!
トップページの説明で256だと表示がおかしくなりますと書かれています。 せめてトップページぐらい読みましょう。 動作報告なのですが、クレイジークライマーは立ち上げ時にDISKをDRIVE0と1 どちらに入れるかで起動するゲームが違うのですが、DRIVE1に入れてEX68を 立ち上げると「不正処理」でEX68自体が死にます。 同様な動作をする「テラクレスタ」は「0除算エラー」が出てしまいます。
こんにちわ。ex68 にはいつもお世話になっています。 開発、がんばってください。 さて、私のPCは Pentium166 が乗っているのですが、 これをそろそろ乗せ変えようと思っています。 理由は ex68 のエミュレーション速度を 実機と同じ程度にまで引き上げたいからです。 そこで皆さんの動作状況と環境を教えて下さい。 宜しくお願いします。
なぜが最近のEX68Kで256色モード時に上半分ぐらい上にいって下半分しか見えません。 かなりまえのバージョンでは正常に動作していたみたいですが、どうなんでしょうか。 PC-Noteが256色までなので。
>sfxviはどこまで動作するのでしょうか? いまのところそのままでは動かずドライバ差し替えたりして動作する状態です。 動くといってもSFXVIとしてはまだまだ制限多いですね。 あたしのページで動作云々のこと書いてあるのでそこらへん参照してください。 あと25bになってからSFXVI上で使用するFMの音がかなり近くなってきました。http://www2.osk.3web.ne.jp/~pipipi/
>ドラキュラでは再生スピードは普通なんですが画面がでないです。 >2本とも最新版で試しました。 ドラキュラまだ動かんようです。 ギャラガ88が結構いい動きしてます。 以前の書き込みを見ると上手く動くソフトや動かないソフトとか わかるかも
再生のスピードがすごい速すぎます。 グラ2で確認しました。 ドラキュラでは再生スピードは普通なんですが画面がでないです。 2本とも最新版で試しました。
endoです。yamamaさん、バージョンアップお疲れ様です。 yamamaさんへ質問です。 EX68からWin32APIを使用するために、未定義命令等を使用してX68内部からの 外部DLL等へインターフェースする予定はあるのでしょうか?
http://users.skynet.be/system16/index.html 不都合があったら削除して下さい。http://users.skynet.be/system16/index.html
バージョンアップしたSystem16エミュレーターのHPに音源部 のみのえみゅプログラムもアップされていますね。 聴いたことがないのでどんな感じかわからないけど前のバー ジョンよりは良い音で鳴るらしいです。
sfxviはどこまで動作するのでしょうか?
>P5-120だと画面周りが重くてスクロールなどが生じるとつらいですね。 >この辺が改善されるとうれしいですね。 どちらかというと CPU の性能よりもグラフィックカードの性能の方が、 描画速度のファクターとしては重要な場合が多いようですよ。 また、 v025b は確かに初期の版から比べると相当速くなっていますが、ハード の性能以上の事を求めるのは無理なのではないでしょうか? 遅いマシンの場合はオプションで描画更新速度などを変えるしかないと 思います。
v025bいろいろ動くようになりましたね。しかし、うちのマシンは P5-120だと画面周りが重くてスクロールなどが生じるとつらいですね。 この辺が改善されるとうれしいですね。
>>・ X=512 より右側に BG が表示されない >リミッタを外して画面サイズ分表示するように対応してみましたが、さて。 v025b で、ばっちり、表示されるようになりました。 すばらしいです。
TEXT のスクロール問題と MOVEM バグの修正、確認しました。 餓狼伝説スペシャルの画面描画は完全に実機と同じになりました。 また、MOVEM の修正により、AI5.X をメインプログラムとする某社 のソフトでアドレスエラーがでていたものが、全て動作するように なりました。 いつも素早い対応ありがとうございます。
>YM2608のパンポットレジスタは$B4,$B8,$BCおよびその裏レジスタで、 $B4,$B5,$B6の間違いでした。(書いてて何か変だと思った...)
>>86ボードのFM音源のステレオ出力 >特にステレオ設定はしてないので、デフォルトの設定なのでしょうか。 設定していないため以前のパンがそのまま残っているのではないでしょうか。 YM2608のパンポットレジスタは$B4,$B8,$BCおよびその裏レジスタで、YM2151 とは左右が逆になります。モノラル固定の場合$C0を書いておけばokです。
>86ボードのFM音源のステレオ出力 特にステレオ設定はしてないので、デフォルトの設定なのでしょうか。 >MOVEM 補足2 MPUバグのチェックありがとうございます。 アドレスレジスタの更新手順がまずい様で修正しました。 >640x400priolity >・ X=512 より右側に BG が表示されない リミッタを外して画面サイズ分表示するように対応してみましたが、さて。 >FDD挿入口(?)のところでクリックすると「ファイルを開く」ダイアログが出ますが、複数回押すと >ダイアログが複数出てしまいます。同じ場所に重なって出るので 多重起動を抑制するようにしてみました。 >あと、ウイルス防止ソフト(VirusScanとか)が常駐してると、FDDイメージによっては起動が >極端に遅くなるようです。 イメージファイルを開くたびにチェックが入るのかな。良く分かりません。 >で、FM音源とADPCM音源のボリュームバランスで >ADPCM音源の音量が凄く小さい気がするんですが、気のせいでしょうか? 私のところではFM音源よりADPCMが大きくなってるのでwavのボリュームを 絞ってますが、環境によってはちがうのかなぁ。 >>15Kの時のスキャンラインてなんでしょうか? >画面上にに入る黒いラインのことです(^^; わかりました。でも簡単には行かないですね。 >スクロール位置によっては省略しすぎているようです。 下のサンプ >ルでは4ドットスクロールさせていますが、テキストの右端の4ドッ >ト分が描画されずに後ろのグラフィック面が透けて見えてしまいます。 バグレポートとサンプルプログラムありがとうございます。 >ロックを解除してPoewrOffすると次回以降はその状態で起動するのですが、EX68がコケた後などは再び全角 >ロック状態に戻ってしまいます。私の sram.ram が変なんでしょうか。 sram.ramはEX68終了時に書き戻してますので、以上終了すると更新されないです。
とうとうスプライトダブラーまで対応してしまうとのことで頼もしい限りです。しかしさすがに前途多難と言ったところでしょうか。 さっそく超連射68Kを起動してみたのですが、スプライトが 一切表示されませんでした。残念・・・。 超連射68K(というかスプライトドライバXSP)では、帰線 期間に入った瞬間にスプライト表示をオフにして、34ラスター 目あたり(ディスプレイの最上段に相当)で割り込みをかけて 再び表示オンにしています。一切表示されないというあたり から察するに、この表示ビット($EB0808のBIT1)が関係 していると思われますがどうでしょうか。 もしくはラスター割り込みが正常に発生しなくなっている等の 原因も考えられますが、仮にそうだとした場合でも、帰線期間 割り込み処理内で先に転送した128枚(画面上段1/4)が 画面にみえるはずです。 それではここで、以前にも書き込みましたが、スプライトダブ ラーを用いたソフトを列挙しておきます。動作チェックの参考 にしてください。 ・A−JAX(ボンバー使用時) ・グラディウスII ・キャメルトライ(地形がすべてスプライト) ・出たなツインビー ・パロディウスだ!(多分・・) ・各種同人ソフト(超連射・DIVE−ON・プッチンブリン等など) これらのソフトでスプライトが実機以上に欠けるならダブラー 周りが関係している可能性が高いです。
なんかステレオでないFM音源データが、ステレオで鳴ってしまっています。 (例えば98によくあるモノラルデータをステレオで強引に鳴らしてしまうツールを 使って鳴らしているような感じです。) PS.ヘッドホンでよく聴いてみたら全てのFM音源データがステレオで出ていた(^^;
自己レスですが、 >MOVEM.L (A7)+,D0-D7/A0-A7 を行ったときに、スタックに積まれている >A7 に該当するデータが「0」だった場合、実機の MPU では『A7 の値は >変化しない!!!』のです。 は、実はスタックの値がなんであろうと A7 は書き換わらないみたい ですね。訂正します。あと、レジスタのセットは A7 が含まれている のが全部該当するみたいです。ということで、現在の EX68 で該当す るコードを正常に動かしたいときには、例えば movem.l (a7)+,d0-d7/a0-a7 の場合は movem.l (a7)+,d0-d7/a0-a6 addq.l #$4,a7 と書き換えれば良いみたいです。
見づらくなってしまいまして、申し訳ございません。
動作報告です。 正常に動いていないソフトについて報告致します。 (主に背景などに関するバグ?など) ・イメージファイト: 背景が真っ黒です。 ・でたなツインビー: ボスが化けます。 ・ファイナルファイト: 背景が一部欠けたりしています。 ・アルゴスの戦士: 一部の敵キャラ等の色がおかしくなってます。 ・ワールドスタジアム: プレイ画面の芝生の色が真っ黒になってます。 ・ファンタジーゾーン: SHOP画面のちらつきは直ってますが、アイテムが表示されません。 ・ストライダー飛竜: PLAYできますが、画面がけっこうグチャグチャになってます。 ・ジェノサイド: 一部の背景が表示されないです。会話の画面が一部おかしくなってます。 ・テラクレスタ: 自機の移動範囲がおかしいです。 ・熱血ドッジボール: 動いてますが、背景が真っ黒でキャラクターはグチャグチャになってます。 ・グラナダ: ゲームスタート時に止まります。 ・V'BALL: タイトル画面が表示される前で止ります。 ・ワールドコート: コートが一部真っ黒になります。 ほんの一部のソフトについてですが、デバッグの参考にして下さい。 ※もし、この中で正常に動作してるものがあったら教えて下さいませ。
画面モード 640 x 400 で BG と TEXT を使っている ソフトがあるのですが、 ・ X=512 より右側に BG が表示されない ・ 実機のテキストパレット = 0 は BG に対して「黒」らしいのだが、 EX68 では 「透明」になってしまう。 という現象が起こっています。640 x 400 なんてイリーガルな 使い方ですので「サポートしてください」だなんて言いませんが、 一応実機と違うみたいですと言う事で御報告します。 参考に、このソフトでの各設定を調べてみました。 (CRTC 設定) 0xe80000 = 0x0073 0xe80002 = 0x000f 0xe80004 = 0x0019 0xe80006 = 0x0069 0xe80008 = 0x01d0 0xe8000a = 0x0007 0xe8000c = 0x0020 0xe8000e = 0x01b0 0xe80028 = 0x0415 0xe82400 = 0x0004 0xeb0810 = 0x0015 0xeb080a = 0x00ff 0xeb080c = 0x002d 0xeb080e = 0x0020 (プライオリティ) 0xe82500 = 0x21e4 (テキストパレット) 0xe82206 = 0
BBBB CCCC
はじめまして。使わせて頂いたのですが、すごいですね感動してしまいました。 いろいろゲームを動かしてみたので動作報告させて頂きます。 COTTON:これが動かしたくてエミュレータを入れてみたのですが,残念ながら ECAの画面からタイトルに切り替わるところでハングアップしてしまいました。 1回目、MPU HALTというダイアログが出現。その後何回かやってみましたが EX68自体がページ違反で落ちてしまいました。ちょっと残念(;_;) 気を取り直してPHALANXを動かしてみたのですがラスタースクロールもかなり 再現されてました。音もちょっと遅れ気味かな?程度でした。 あとR-TYPE,ぶたさん,娑羅曼蛇も音が時々非常に遅くなる以外はほぼ問題なく 動きました。以上Ver0.24の動作報告です。
全体的に、完成度の高いエミュレータになってきましたね。すばらしいです。 外人パワーにも負けてないですね。しかし、画面表示が遅いのが気になります。 DirectDraw に対応すれば、画面表示に関してはかなりいいところまでいくと 思うのですが。
はじめまして。ちょっと気になったことがあるので報告させてもらいます。 FDD挿入口(?)のところでクリックすると「ファイルを開く」ダイアログが出ますが、複数回押すと ダイアログが複数出てしまいます。同じ場所に重なって出るので 最初気づきませんでしたが、 いつもの癖でダブルクリックしたら2枚出てきてしまいました。 ということで確認おねがいします。>yamamaさん あと、ウイルス防止ソフト(VirusScanとか)が常駐してると、FDDイメージによっては起動が 極端に遅くなるようです。 実はVirusScanが原因だったことに気づかず、「なーんか前より遅くなったなぁ。」なんて 勘違いしてました。私の知り合いも、これに気づかずがまんしてました。でも、イメージに よって読み込みに個体差があるので余計に気づかなかったっス。イメージが壊れてるのかな なんて思ってました…。 (だって、Human68k自体の起動が極端に遅かったんだもん。) これって両ソフトの性質上しょうがないんですかね?できれば、改善して頂けるとうれしい んですが。 以上、報告まで。すごく期待してます。これからもがんばってください。
コメントを付けるのを忘れてました。念の為。 .include doscall.mac start: move.l a7,stack lea.l stack,a7 * スタック指定 movem.l d0-d7/a0-a7,-(a7) move.l #$0,addr7 * スタック上の A7 を強制書き換え movem.l (a7)+,d0-d7/a0-a7 move.l a7,d0 * tst.l d0 * A7 は0か? beq l0 movea.l stack,a7 move.l #msg2,-(a7) bra l1 l0: movea.l stack,a7 move.l #msg1,-(a7) l1: DOS __PRINT DOS __EXIT .data ds.l 15 addr7: dc.l 0 * ここに A7 が積まれる stack: dc.l 0 msg1: dc.b 'A7 is ZERO!!!!',$A,$D,0 msg2: dc.b 'A7 is non-ZERO',$A,$D,0 .end
かなり音が良くなってますね。すばらしいです。 で、FM音源とADPCM音源のボリュームバランスで ADPCM音源の音量が凄く小さい気がするんですが、気のせいでしょうか? 自分で作ったゲームで音量バランスが違ったので気になりました。
MPU エミュレーションにバグを見付けました。 モトローラの出している M68000 Programmer's Reference Manual には載っていない挙動なので、 もしかしたら X68000 に搭載されている Hitachi 製 HD68HC000 に特 有なのかもしれませんが、MOVEM.L の動作には例外があるようです。 詳しい事は下のサンプルコードを実機と比べていただくことにします が、簡単に言うと、MOVEM.L (A7)+,D0-D7/A0-A7 を行ったときに、ス タックに積まれている A7 に該当するデータが「0」だった場合、実 機の MPU では『A7 の値は変化しない!!!』のです。 つまり0はロードされずに、(A7)+ になります。 そして EX68 では 通常の値と同じようにスタックの上の値、つまり0が A7 にロードさ れてしまいます。 実機でも、A7 に積まれようとするデータが $0 以外だった場合はその ままローディングされるのですが、$0 だけが例外みたいです。 そし て、 SP が0になるとまず暴走してしまうので、EX68 ではエラーになっ てしまうというわけです。 .include doscall.mac start: move.l sp,stack lea.l stack,sp movem.l d0-d7/a0-a7,-(sp) move.l #$0,addr7 movem.l (sp)+,d0-d7/a0-a7 move.l sp,d0 tst.l d0 beq l0 movea.l stack,sp move.l #msg2,-(sp) bra l1 l0: movea.l stack,sp move.l #msg1,-(sp) l1: DOS __PRINT DOS __EXIT .data ds.l 15 addr7: dc.l 0 stack: dc.l 0 msg1: dc.b 'SP is ZERO!!!!',$A,$D,0 msg2: dc.b 'SP is non-ZERO',$A,$D,0 .end #これが直ると某社のソフトで動作するものが増えるかも知れません ;-)
: ウチノpc98fa(dx4128mhz)デハ、ツライデス : ジュミョウガミジカクナリマス 私もPC-9801FAを持ってます。当然、というか仕方なく メルコのEUF-EP+64Mでドーピングしてます。 実は私もこのFAでEX68してみましたが、そもそもWin95を 動かすのがやっとこさ、メモリの量でなんとか補っている だけの機械では、遠くを見つめたくなる気分にかられました。 # 余りの反応の遅さにハングアップしたのかと勘違いしました : コンナカンキョウデウゴカシテイルヒト : ホカニイマスカ 一応動かした事のある人ということで、一票。いつもは PentiumII-300MHzの機械で使ってます。結構普通に 使えているようです。Pentium-90MHzのPC-9821Xaで 使ってみましたが、かなり動作が引っかかってました。 速さは力なんでしょうねぇ。 # FAの次がこれ。FAの何倍くらい速いのかワカラン。 : デハ、ゴキゲンヨウ 余談ですが、漢字、出ないんですか?私のFAはIE4.0を 入れたとたんにIME95の動作がおかしくなりました。 Win95再インストールで直りましたが…。 では。御機嫌良う。
>86が2枚では無いのですが、標準(BLASTER設定で鳴るやつ)音源と、 >86音源の組み合わせで使ってます。 >異なる音源を組み合わせる事が出来るとありがたいです。 うーんこの方が、単なる86ボード2枚差しのみよりも実現されるとなかなか凄いですね 98内臓音源(OPN)+86ボード(OPNA)とか86ボード+OPL3のとか いろいろ選べて4OPオンリーで全ての音を鳴らす事が出来るので うーんいいなぁ
おっと0.25から86ボードでの音声が ステレオになってますね(^^) 最高です。
>15Kの時のスキャンラインてなんでしょうか? なんか言い方が悪くて伝わってなかったようで申し訳ないです。 画面上にに入る黒いラインのことです(^^; グラ2のアーケードモードとかやっててそう感じたもので。 あと、匿名さん、レスどうもです。
ウチノpc98fa(dx4128mhz)デハ、ツライデス ジュミョウガミジカクナリマス コンナカンキョウデウゴカシテイルヒト ホカニイマスカ デハ、ゴキゲンヨウ
86が2枚では無いのですが、標準(BLASTER設定で鳴るやつ)音源と、 86音源の組み合わせで使ってます。 異なる音源を組み合わせる事が出来るとありがたいです。
前回書き忘れたんですが、以前報告した「X68000 サイズ」モードで の正方形ピクセルのグラフィック(正方 PIC、GLOGIN.X, etc.)が ちゃんと正方形に表示されるようになりました。 対応ありがとうございます。 あと不具合報告なんですが、EX68 は負荷を減らすためにテキストの 全体画面で表示されない部分の描画が省かれていると思うのですが、 スクロール位置によっては省略しすぎているようです。 下のサンプ ルでは4ドットスクロールさせていますが、テキストの右端の4ドッ ト分が描画されずに後ろのグラフィック面が透けて見えてしまいます。 おそらく8ドットずつの処理で、8の倍数の時には正常なのですが、 描画省略はもう8ドット待っていただけますか? .include iocscall.mac .include doscall.mac start: movea.l #0,a1 IOCS __B_SUPER moveq.l #10,d1 * 256x256x8bpp IOCS __CRTMOD IOCS __G_CLR_ON move.w #4,$e80014 * Text Scroll (x = 4) lea.l $e00000,a0 * Text VRAM0 lea.l $c00000,a1 * Graphic VRAM0 move.l #1023,d1 move.l #$ffffffff,d0 loop: move.l d0,(a0)+ move.l d0,(a1)+ move.l d0,(a1)+ dbf d1,loop DOS __EXIT .end
使ってみました。 スプライトダブラ対応になったんですね。ぷよぷよで試してみたところ、ぷよが消えなくなっていました。 タイトルのラスタ処理も実機同様に動いています。 ファンタジーゾーンのタイトルもついにフルスペックで動くようになり、ショップの画面もちらつかなくなりました。 ショップでのテキスト画面のプライオリティが実機と違うぐらいで、他は完全に再現されています。 以前報告したBGの不具合も修正されていますし、FMのテンポもかなり改善されていて、結構いい感じです。 ひとつだけ気になったのがLEDの状態保存なんですけど、デフォルトだと全角キーロックの状態で起動します。 ロックを解除してPoewrOffすると次回以降はその状態で起動するのですが、EX68がコケた後などは再び全角 ロック状態に戻ってしまいます。私の sram.ram が変なんでしょうか。 以下、恒例の動作報告です。 ・サンダーブレード BG0およびグラフィック画面にゴミデータが表示されます。ゲーム終了後はテキスト画面が消えず、 デモ画面を隠してしまいます。 ・Mr.Do 動くようになりました。FMは鳴っていません。 ・アトミックロボキッド スプライトダブラ対応で地形のちらつきはなくなったのですが、まだ一部の地形が欠ける事があります。 ・バラデューク ゲームに入ってもタイトルグラフィックが消えず、パレットも変です。また、自機・敵ともに弾が表示されません。
shop画面で、画面の重ねあわせの優先順位が違ってるみたい。 でも、v025からタイトルロゴがきれいに現れるようになりましたね。 バージョンアップのたびに幸せになります。 yamamaさん、ありがとう。
水平1ラインおきにはいる黒いシマというべきでしょうか。 2倍に拡大するときは再現できそうですね。
v025になっていたので頂いて帰ります。 動作報告はまた後程。
ラスタースクロールのバグ対処しました。 >あと、どうでもいい事なんですが、解像度が15Kの時にスキャンライン(だったかな?)が 15Kの時のスキャンラインてなんでしょうか? >なりました! 対応ありがとうございます。 最初に試したときだけグ >ラフィックのサイズが4分の1になり、パレットが異常になりましたが、 最初だけというのは、やなバグが入ってそうですね。 >『ふしぎの海のナディア』で「最初から遊ぶ」を選ぶと FM 音源が暴 >走するようになりました。 FM 音源が最初の音を発声したままになっ >てしまいますが、ゲーム自体は続行します。 これは v022 等でハン なにか割り込みが起動しなくなってそうな症状ですね。 MFPの割り込み制御あたりのような気がしますが、 そろそろMFPは書き直さないといけないかなあ。(つぎはぎ状態なので) >ところで「ラスタースクロール実装(要CPUパワー)」の(要 CPU パ >ワー)の目安は yamama さんがお使いになっている MMX 対応 266MHz >CPU あたりでしょうか? CPUパワーが無いと 水平1Hの(68K)CPU時間が確保出来ない のでラスター割り込みの処理オーバーがおこると思います。
V024戴きました. FM周りのテンポずれはかなり改善されたと思います. PCMがわずかにずれるのは実装上しかたない?^^; ラスタースクロール実装の影響か、スクロールの乱れるゲームが出ます. グラディウスII 1面がクリアできなくなった^^; (画面の下半分がずれます)
ファンタジーゾーンのBGMがかなり実機に近くなりました。 CARATでドットの表示が横が4ビットおきに縦が2ビット おきになります。どうもスクリーンモードの設定が無視されて いるみたいです。 メインフレームがフォーカスを失ったときに全てのオペレータ のキーをOFFしてもらえるとディスク変更時や強制終了時に 残音が響かなくて良いと思います(オペレータの状態はONに 戻さなくても、サウンドドライバ任せで問題なさそうです)。
「ふしぎの海のナディア」は自前のサウンドドライバをメインプログラムに 内蔵していて、OPM と ADPCM の制御は IOCS_OPMINTST を一回指定する以外 は I/O 直叩きでサウンド演奏を行っていました。 ADPCM に関しては $E92001, $E92003, $E9A005 をごく普通に扱っているよう です(何故か録音コマンドまで発行していましたが、影響は無いみたいです) DMAC #3 の設定は、パック無しバイト転送、リンクアレイチェイン、外部要 求転送が基本のようです。 YM2151 のレジスタの扱いは私には見切れません でした。 全然見当違いのところを疑っている可能性が高いので、同じような事をする プログラムを組んで試してみます。 一時期配付されたデバッガ付きバージョンのように CPU の挙動を外部から参 照できたり、以前どなたかが提案なさったようにデバッガのシリアルポート への出力を外部コンソールの様に別ウィンドウとして表示できると、ゲーム ソフト等の追跡やMPU エミュレーションの検証が楽になるかも知れませんね。
v0.24試しました グラディウス2 (FMはかなりきてます ただ 画面がやたら乱れます ラスタースクロール実装に かんけいあるのかな? よくわかんないけど、、) コットン(FMはこれも きけるようになった やっぱりがめんが 乱れまくり 一生懸命らすたーしようと してるみたい?) PC9821Na12 (P5ー122、32M)
SX-Window 3.1 の 1024x848 モード時のグラフィックの表示が正常に なりました! 対応ありがとうございます。 最初に試したときだけグ ラフィックのサイズが4分の1になり、パレットが異常になりましたが、 その後は正常に機能しています。 『ふしぎの海のナディア』で「最初から遊ぶ」を選ぶと FM 音源が暴 走するようになりました。 FM 音源が最初の音を発声したままになっ てしまいますが、ゲーム自体は続行します。 これは v022 等でハン グしてしまう時と同じ場所で発生する現象のようです。 ただ、セー ブした場所から始めると正常に演奏されるので、やはり冒頭のその部 分で行われている何らかの処理が原因だと思われます(現在調査中) それから「餓狼スペ」や「SFXVI」など、スクロールするグラフィック 面の背景を持つソフトで、スクロール位置がおかしくなったり表示が 崩れるようになりました。ラスタースクロールをすべき部分でしなかっ たり、その逆だったりです。 ところで「ラスタースクロール実装(要CPUパワー)」の(要 CPU パ ワー)の目安は yamama さんがお使いになっている MMX 対応 266MHz CPU あたりでしょうか? あと、以前報告した v003 〜 v022 でハングするソフトでの共通点に 追加なのですが、PCM がおかしいように見えるにも関わらず、「ADPCM を WAV に割り当てる」をオフにしても全く同じ結果になります。
86ボードを2枚使っている人は あまり居ないと思います。 余程のFM音源マニアではないでしょうか。 それ以前に98を使っている人も今となっては あまり多くないでしょうし...
ソーサリアンPC88版MDXなどのFM6音のみ使用の物を中心に いろいろ聴いてみました。 ソーサリアンや英雄伝説のMDXなどは、MMDSP.Rを使用したりウインドウ隠すなどして テンポさえ合わせてやれば、実機とほぼ変わらぬ再現力です。 MXDRV98の使用頻度が低くなってきました(^^; OPL3の音色などの問題で、OPL3上での再現力の悪かったファンタジーゾーンのMDXの再現力も見事! Victory Wayを聴いて久々にえらく感動しました(^^ さすがOPNAで鳴らすだけのことは、あるって感じです。 これで86ボード2枚環境やPCM8などの多重ADPCM音源ドライバに 対応したら考えるだけで、本当マジで、凄いと思います。 改めてyamamaさんどうもありがとうございます。 感動しました。 PS.昨日ゲームの動作テストとかしたんですが、バージョン上がってしまったので またテストし直して、レポートとか書きますね
VerUPご苦労様です。早速頂きました。 FM音源のエミュレートがだんだん良くなってますね。凄いです。 PCAT+SB16と9821Xa7+WaveStarで試してみましたが、98の方が実機に近い音が出てます(^^; 下の方の書き込みでもあるように(AT&98共に)2枚差しの環境に対応出来ればいいですね。 あと、どうでもいい事なんですが、解像度が15Kの時にスキャンライン(だったかな?)が 入るようにスイッチとかで設定出来ればいいかな?と思いました(^^;
>最初に98上で86ボードを使用してFM音源を鳴らしてみました。 >バッチリ正常に再生されました(^^ >PS.86ボード2枚差し環境に対応できないでしょうか? やっと鳴りましたか。ありがとうございました。 86ボード2枚使いの人いますか?
Ver.0.24頂きました。 最初に98上で86ボードを使用してFM音源を鳴らしてみました。 バッチリ正常に再生されました(^^ 86ボードなので、発音数2音少ないですけど再現性は、OPL3より上です。 実機とほぼ同等の音が出ます。 yamamaさん凄いです!(^_^) PS.86ボード2枚差し環境に対応できないでしょうか?
>> 実装方法の仕様でそれらが機能しないのはわかってましゅ。 > それは失礼いたしました。 いえいえあたしの書き方がマズかったんであゆ風にとらえられても仕方ないです。 >載されているので、SFXVI に関してはぴぴぴ☆さんのホームページ > を紹介する形にしました。よろしいですか? ええ かまいませんよぉ。
> FM音源がサポートされた辺りのバージョンから、 > NMI が効かなくなっていませんか? 突然思い出しました。 CONFIG.SYS に PROCESS を書いてたから効かなかっただけでした。 お騒がせしました、すみません。_o_
FM音源がサポートされた辺りのバージョンから、 NMI が効かなくなっていませんか? (私のとこだけかしらん?) あと、EX68 ってまだ仮称なんですね。 ずいぶん知名度上がっている見たいですし、 ここいらで(仮)を取るってのは?http://www.geocities.co.jp/SiliconValley/4224/
> 実装方法の仕様でそれらが機能しないのはわかってましゅ。 それは失礼いたしました。 > あたしはEX68上ではSFXVIの動作をメインにやってるので > いろいろわかったらあのページに書くですぅ。 ホームページ拝見しました。SFXVI を EX68 で使う際の TIPS 等も 紹介されていて、EX68 FAQ の SFXVI の項よりも充実した情報が掲 載されているので、SFXVI に関してはぴぴぴ☆さんのホームページ を紹介する形にしました。よろしいですか?
>PS.ぴぴぴ☆さんもインターやってらっしゃたんですね うん なんとなく。 あたしはEX68上ではSFXVIの動作をメインにやってるので いろいろわかったらあのページに書くですぅ。
今読み直してみたけど確かにあの書き方じゃ重くて鳴らないみたいな 書き方してましたね〜(がぉ。あたしの日本語あいかわらずめちゃくちゃ(ばく。 とりあえずあの辺直しました(だからどないやねん(ばく。
>と思います。ところで細かい事なのですが、PCM8.X, PCM8A.X, RDN.X > などのポリフォニック PCM ドライバが EX68 で機能しないのは負荷が問 > 題なのではなく、現在の PCM 変換再生の実装方法からくる仕様だと思い > ます。 実装方法の仕様でそれらが機能しないのはわかってましゅ。 あたしのHPでpcm8モドキを推奨するのは音が鳴るってのと 実際軽いからでし。負荷の問題を差してるのはこの辺のこと。http://www2.osk.3web.ne.jp/~pipipi/
毎度どうもです。 えーと以前私のホームディレクトリにリンクしたファイルですが、 ファイル増加に伴い整理のために移動しました。 以前のリンクからダウンされる方注意してください。 X68Kのユーティリティなどは、 http://home.interlink.or.jp/~markun2/ma-net/bins/archive/filesから http://home.interlink.or.jp/~markun2/ma-net/bins/archive/x68k_toolsへ X68kのフリーのゲームなどは、 http://home.interlink.or.jp/~markun2/ma-net/bins/archive/filesから http://home.interlink.or.jp/~markun2/ma-net/bins/archive/x68k_gamesへ 移動しました。 まだ、以前のディレクトリにファイルが残してありますが、3日後ぐらいに削除します。 テストサウンドも消しますのでよろしくお願いします。 ご迷惑おかけしますm(__)m PS.yamamaさんダウンロードどうもありがとうございました。 以下のURLで/archive内のディレクトリの一覧が出ます。http://home.interlink.or.jp/~markun2/ma-net/bins/archive
EX68でmasl68k動かしてみたんですが、完璧に動きました! 改めてエミュレーターという資産の再利用方について賛成しました。一部ではアングラとみなされてるけど。 maslベンチはWin版のmaslをウインドウ表示で動かすときの1/3くらいでました。 ただWin版maslにはマルチタスクoffというのがあってDOSのフル画面のように画面を占領できます。(似DirectX) この時ベンチは5倍くらいでます。 そこでやっぱい思ったんですが、EX68にもDirectXサポートできないんですかね? やっぱりゲームを大きな画面で滑らかにプレイしたいですし。。。 やっぱ、無理なのかな。。。これからも開発頑張ってください。
ぴぴぴ☆さん、「PCM8モドキ」ドライバの転載ありがとうございました。 ドキュメントに転載可とあるので、EX68 FAQ にも転載させていただこう と思います。ところで細かい事なのですが、PCM8.X, PCM8A.X, RDN.X などのポリフォニック PCM ドライバが EX68 で機能しないのは負荷が問 題なのではなく、現在の PCM 変換再生の実装方法からくる仕様だと思い ます。 さて、先日も報告しましたが、v023 から『ふしぎの…』等の今までハン グしてしまって動かなかったソフトが幾つか動くようになりました。「面 白くない」と言いつつ、しっかりエンディングまで動作確認して感動して しまったのですが、これらのソフトには以下の共通点があるようです: 1)v002 or v003 からハングするようになった。 2)v023 から動くようにはなったが PCM が鳴らない。 そして、v002〜v003 と言えば、ちょうど ADPCM→WAV 変換再生の実装が 開始された版ですよね。さらに FM 音源がサポートされてからわかったの ですが、これらのソフトがハングしていたのは、サウンド機能の「使用開 始直後」だったのです。 以上の事から、これらのソフトが動作しなかったのは PCM(の初期化?) が原因で、最近の ADPCM まわりのアップデートの影響で動くようになっ たのではないかと推測してみました。というわけで、致命的な不具合では ないのですが、PCM が鳴らないケースの報告 part 2 でした。 最後に BLASTER 環境変数に関してですが、私の Windows95(PC-ATX)マシ ンの AUTOEXEC.BAT には SET BLASTER の設定がされていないことに、今 ごろ気付きました。 どうやらアプリを起動する度に Windows が勝手に SET BLASTER を指定して渡していたようです(MS-DOS プロンプトで確認) 未だに FM 音源が鳴らないケースの報告がありますが、下手に AUTOEXEC で指定しないで Windows に任せた方が、特に PnP ボードの場合はうまく 行くのではないかと推測してみました。しかし、実際のところよくわかり ません。なお、私は SB16 PnP を使っていますが、付属ソフトの類は一切 インストールせず、ドライバだけ Creative Labs の WWW サイトからダウ ンロードした最新のものを使っています。
ぴぴぴ☆さんPCM8もどき頂きました どうもありがとうございます。 OSAさんが作ってらっしゃったんですかぁ PS.ぴぴぴ☆さんもインターやってらっしゃたんですね
MoriMoriさんの言う通りやったら ちゃんとキー設定できました(^^ MoriMoriさんどうもありがとうございますm(__)m でも、ゲームプレイは、相変わらず下手です<アルカノイド苦手っす
PCM8モドキを作者さんから許可を得て掲載しました。 あたしのHPのSFXVIのページに置いてあります。http://www2.osk.3web.ne.jp/~pipipi/
>● アルカノイド・リベンジ・オプ・ドウ >サウンドも再生され問題なく動作するようです。 >家では、なぜか操作不能(?)だったため >デモのみ見てました(設定も変えられなかった(;_;) >見ている限りでは、良好で、操作できればちゃんとプレイできそうです。 >(玉の跳ね返り音とかもちゃんとADPCMで出てます) まーくん2さん、僕のPC上ではPLAYできています。 始めに『KEY CONSTRUCTION』を選択し、キーの設定画面になりますか? なる場合、下記のように操作してみてください。(それでPLAYできなかったらすいません) 1.『LEFT MOVE KEY』で←キーを押し、リターンキーを押す。 2.『RIGHT MOVE KEY』で→キーを押し、リターンキーを押す。 3.『SHOOT KEY』でZキーを押し、リターンキーを押す。 4.『HISPEED KEY』でXキーを押し、リターンキーを押す。 5.ESCキーを押すとメイン画面に戻るので、『NEW GAME』を選び Zキーを押す。 ※一応、キー割り込みエミュレーションのチェックはOFFにしていた方がいいと思います。 ちなみに『JOY STICK』はキーボードカーソル + ZXを設定しています。
>今日Ver.0.23上で86ボードを使用して再生したFM音源データを >Waveファイルにサンプリングしてみました。 テストデータありがとうございます。 早速聞き比べてみます。
今回は、少々マイナーなゲームの動作テストをしてみました。 ☆ 市販ゲーム ● ダッシュ野郎 サウンドも再生され問題なく動作します。 が、家だとEX68 Ver.0.23のデフォルト設定でちょうどいいぐらいでした x8モードだと縦スクロールのレースゲームのためかなりきついです。 ● アルカノイド・リベンジ・オプ・ドウ サウンドも再生され問題なく動作するようです。 家では、なぜか操作不能(?)だったため デモのみ見てました(設定も変えられなかった(;_;) 見ている限りでは、良好で、操作できればちゃんとプレイできそうです。 (玉の跳ね返り音とかもちゃんとADPCMで出てます) ☆ フリーソフトなどのゲーム ● インテグラルアーム 感動するほど完璧に動作!(^^) ここまで、動くとは いうことなしですね 音楽は、入れ替えればよしです ● FCコンパイラ(^^;骨董品 NESTICLEほどでは、ないですが 結構滑らか動作 かなりいけてますよー(^^) ってことで今回は、エラーも発生せず 全て動きました。OKです。 インテグラルアームですが、私のディレクトリに置きます。 凄く面白いゲームなので、ダウンロードして実機&EX68で 是非プレイしてみてください。 (音楽は、入れ替える事をお勧めします(^^;)http://home.interlink.or.jp/~markun2/ma-net/bins/archive/files/INTARM.LZH
今日Ver.0.23上で86ボードを使用して再生したFM音源データを Waveファイルにサンプリングしてみました。 テストデータとしてアーカイブファイルにまとめてみましたので 聞いてみたい方私のホームディレクトリにアップしたので ダウンロードしてみてください。 ☆ アーカイブファイル構成 [TESMUS01.LZH] MXDRV16.X MXP.X SC88_092.MDX SC88_092.WAV TESTDATA.DIM となっております。 TESTDATA.DIMの中身は、アーカイブファイルに入っている*.WAV以外のファイルです。 マウントして中に入っているMU.BATを実行する事により 即MDXデータが再生されるようになってます。 MDXデータは、戦国ソーサリアンのイベントクリアのBGMです。 なおこのアーカイブファイルは、転載禁止とさせて頂きます。 PS.yamamaさん聞いていただけませんでしょうか?m(__)m 16bit 22KHz PCM Wave [TESMUS01.LZH] 533204 Bytehttp://home.interlink.or.jp/~markun2/ma-net/bins/archive/files/TESMUS01.LZH
ver0.22の時より118ボードでも 多少よい音がなるみたいです。 この分だとEX68未来は明るいですね。今後も期待しています。
: >EX68は必要無い訳で、ううん。ジレンマ。 : え?本体があるから EX68 を動作させることが出来るんじゃないんですか? おっと。言葉が足りませんでしたね。誤解を招く表現でしたね。申し訳ない。 「X68kのゲームは、X68k本体があるんだったらそっちで遊んだ方が楽しい」 という事をいいたかったわけです。 なお、決してEX68の存在意義を否定するものではありません。HDが壊れた ACE-HDを所有する私としては、Win95のHDDをEX68から使えるという点で 十二分に有効活用させて頂いています。 それでは。失礼。 # GCC、XC、SX-Window、ko-window、その他必須ツールを全部インストール # すると、ACE-HDのHDD(20MB)ではとてもじゃ無いけど足りなかった…
EX68つかわせていただいてます。 Ver0.19から0.23まで エトワール・プリンセス 画面表示が変。しばらくすると(タイトルが出る前に)なぜかリセットがかかってしまいます。 ドラゴンナイト3 音源関係は未確認。動作可。 です。ほかのゲームなどでも、いろいろと動作確認をしてみようとおもいます。