011822 |
にがBBSをご利用される方はまずこちらをお読み下さい! |
![]() 1676534488.jpg/70KB
転載されているFM音源ユニットの回路図の4066の11番ピンは[D0]になっていますが自分が当時手書きした回路図では[D2]になっていて 念の為に基板写真からパターンを追ってみましたがFM音源の2番ピン[D2]に繋がっています。 回路図を見る限りではF2hレジスタの値はBit0〜Bit2までが有効で読み出した時にxxxxx00n(nはFM音源用)スイッチとなるようです。
追記です。SMSとMK3では4066の使い方が異なるようです。 4066の4回路の内、1回路がFM音源の音声出力のスイッチに使われていて 残りの3回路がFM音源ユニットの接続ID?として使われています。 F2hを読み出すと4066の3回路がONになり HC74で保持されているbit0とGNDに接続されているbit1〜2の値が返されます。 4066はバススイッチになっているんだと思います。
情報ありがとうございます。ご指摘のMk3のFM音源ユニットの回路図はEnriさんが書いたもので、当方の判断で勝手に転載したもの(Enriさんのサイトに「過去私が携わった全てのモノも許可はいりません」と書いてあるので)なのですが、なぜか現在引用元のサイトからは消えているようです。この回路図に誤記があるという情報はどこかで読んだことがありますが、私は実機を所有していないのでそのままになっています。 私が設計したOPLL増設回路は、MK3のFMユニットよりもSMSの内蔵OPLLの仕様を再現することを目標にしたもので、ネットで出回っているレジスタの仕様からCPLDロジックを組み立てました。このためEnriさんの回路図はあまり深くは読んでいなかったりします。 ちなみに#F2hレジスタ(Write時)の仕様ですが、SMSではbit1:0=11でFM+DCSG有効、10でDCSG有効、01でFM有効、00で両方無効になると思いきやDCSGが有効になるようです。このあたり、SNS Powerあたりでも明示されておらず、当方の基板の不具合改修の原因となりました。MK3の場合は単純にbit0でFM有効・無効を切り替えているだけですが、FMを有効にすると信号インピーダンスの問題で事実上DCSGがMUTE状態になります。このためbit1:0=11の時以外はSMSと同じ挙動を示すことになります。 なお、一息入れましょうさんの解析通りなら#F2hレジスタはreadでbit2:1=00が帰ってくるはずですが、私が解析した何本かのゲームソフトではFM音源の有無をチェックするためにbit0しか読み書きしていない(不定値でないことを確認するために複数回試行する)ようでした。bit2:1=00が読めなかった時にFM音源の認識に失敗するとかの不具合が出ないとは言い切れませんが、#F2hレジスタは上位bitが不定値であるためプログラムでand演算して上位を無視する必要がありますし、bit2:1=00であることを確認する必要もありませんのでよほど変なプログラムが書かれていない限りは大丈夫かなと思います。 SMSの仕様からも分かるようにbit1はDCSGの制御に関わるレジスタになっていますが、bit2は例えば将来的に別の音源ハードウエアを作ったときに識別できるように予約されたもので、OPLLユニットではあえて0を返すように作ったのかもしれませんね。結果的にそのようなハードは出ませんでしたのでbit2を読む必要もないのかなと。
返答ありがとうございます。 SMSのF2レジスタの00の書き込みでDCSGが有効になるのは MK3ではDCSGがデフォルトな事が起因してるのかもしれません。 恐らくMK3の時点ではFM音源ユニットの有無が認識できればよく、SMSで仕様が確定した感じなんですね。 F2レジスタに03hを書いて読みだした時に00hが返ってきたらFMユニット非搭載のMK3(海外SMSとゲームギア)、 01hが帰ってきたらFM音源搭載のMK3、03hが返ってきたらSMSと識別できるようになりますし。 ただ、FM音源とDCSGを排他使用すると決めてあればbit0の確認だけで済みますね。 余談ですがパッド端子もMK3とSMSとでは違い、7ピンがMK3ではGND固定、SMSではコントロール可?になっているようで メガドラパッドを挿すとSMSでは正常(と言ってもSTARTとAは無効で恐らくHIGHレベル固定)に使えますがMK3では上下とAとSTARTボタンしか使えません。 |
![]() C18toPoint3.jpg/39KB
SG-MK3 OPLL増設基板を知って購入しようとすると 売り切れでした・・・・ 仕方がないので分解の練習として電解コンデンサ?を すべて交換する事にしました。 コンデンサ取り外しの際、ランドを壊しまくったので、 途中、メンテナンスから修理に変わりました(笑) で、C18の「+」のランドも破壊したんですけど、 接続先を目で追うのが大変でどこに繋げて良いか分かりませんでした・・・ と、改造後編にC18が載っていたので接続先が 「/RESET」となってることが解かりました。 RESET??? CPUの26ピンに繋いで良いのでしょうか? 適当な場所に繋げたら治ったので(画像添付) CPU26のピンには繋いでないんですけど、 繋いでも問題無かったんでしょうか・・・・・ 質問と言うか感想みたいになってしまいました。 SG-MK3 OPLLの再販に期待してます。
pingoさんこんにちは。コメントありがとうございます。申し訳有りませんがMk3のOPLL増設基板はCPLDの入手の都合で再販が伸び伸びになっています。基板は10枚あるので需要があるのなら優先順位を少し上げることはできます。似非SGROMも作りたいのですが、同じ理由で延期になっています。 さて、Mk3のC18ですが、これはリセット信号生成のためのコンデンサですね。電源投入後に一定時間CPUの起動を遅らせる目的で使われています。記事後編の回路図の通り、CPUの26pに繋いでしまっていいはずです。これを繋がない場合は、誤動作してゲームが立ち上がらなくなったり、バックアップSRAMが載ったゲームでSRAMの内容が消えやすくなったりすると思います。まぁ、簡易的なりセット生成回路なので繋いでいてもSRAMが消えることはあり、できればリセット信号は電圧検出できるリセットICで生成したほうがいいです。 あと、ケミコン張替えは先に足を本体から切り離してから1本ずつ端子を抜いたほうが基板を傷めなくて済みます。どうせ外したコンデンサは再利用しませんので。
にがさん。お忙しい中、ご回答ありがとうございます >申し訳有りませんがMk3のOPLL増設基板はCPLDの入手の都合で再販が伸び伸びになっています。 >基板は10枚あるので需要があるのなら優先順位を少し上げることはできます。 >似非SGROMも作りたいのですが、同じ理由で延期になっています。 部品ですか、それは仕方が無いですね CPU(Z84C0010PEG)やはんだ吸い取り器(Z80抜き用)を準備して 大人しく待っています。 >CPUの26pに繋いでしまっていいはずです。 >これを繋がない場合は、誤動作してゲームが立ち上がらなくなったり、 たしかに何も繋がなかった場合 データの消えたファンタシースターで 何度もテストした結果 90%:画面が暗いまま 07%:「SEGA MARK III」という文字が何度も出るだけ 03%:普通に起動 みたいな感じでした。 稀に普通に起動するのが「?」でした。 (「%」の数字は、なんとなくです。100回もテストしてないです(笑)) >張替えは先に足を本体から切り離してから >1本ずつ端子を抜いたほうが なるほど 別なゲーム機(PCエンジン)で試しました ランドを壊さず交換出来ました |
現状TurborRを実ドライブ(スリムFDDと交換済み)とGOTEKで2ドライブ運用しているのですが 起動ドライブの切り替えができないものかと常々思っていました。 で、にが様のところならなにか答えなりヒントがあるのでは?と思い検索してみたら FS-A1Fの改造のページで切り替え方法があったので読んでいました。 が、これデイジーチェーンの2ドライブの切り替えなのですね。 turboRは2系統のFDDコネクタあるので利用していますが、ドライブセレクト信号をスイッチで入れ替えればokな単純なものなのでしょうか。 その他の信号も別経路なんじゃないかなー?と想像してるのでそんな簡単なものではないとも思うのでその場合は全部の信号を切り替えなので素人な自分では切り替えスイッチ作るのは大変かと思っています。 ドライブセレクト信号の切り替えだけでいいのなら簡単なスイッチ作って実装してみようと思いますがダメならなにかヒントがあると自分で考えて見ようかと思います。 よろしければご回答お願いします。
イカさんこんにちは。turboRの場合はA1Fと違ってDISKCHANGE信号の処理が必要になると思います。 試しにテスターでDISK0とDISK1の信号を調べて並列に繋がっていないところを探してみてください。たぶんDRIVESELECTとMOTORON,DISKCHANGEは並列になっていないと思います。その場合はスイッチで切り替えるのはこの3本ということになります。ちなみにGOTEKにはMOTORONを繋げる必要はありませんが、リアルFDDには必要なので切り替え回路も必要です。 これらの信号を物理的なスイッチで切り替えるのはあまり現実的ではありませんのでA1F記事でやったように74HC157で切り替えるのがお勧めです。3〜4本の信号を切り替える場合、74HC157は2つ必要になります。
ご返信ありがとうございます。 やはり切り替えスイッチの作成は必要になりますか。 工作はできますけど回路自作は全く知識がないので勉強がてら記事を読みながらどうすっかーと想像してますけど、難しいですね。 特にCPU足直結は最近失敗した例があるので大事なターボRで実践する度胸がありませんw ヒントを元に基板とにらめっこして考えてみようと思います。 ありがとうございました。 |
タイトルの件について質問があります。このハードは「シンセザウルス」で使うことができますでしょうか? お暇な時で構わないので、ご回答よろしくお願いします。m(_ _)m
お問い合わせありがとうございます。シンセサウルスはMSX-MUSIC対応ソフトですが、似非OPM-ROMはMSX-MUSICとは互換性がありませんので、残念ながらお使い頂けません。
こんばんは、にがさん。お忙しい中、ご回答ありがとうございます。私、MSXは現役最後の方のユーザーなもので、気が付いた時にはほとんどお店で買えるソフトが限られていました。なので、ビッツーが出していた〜サウルスに対応していないモノは手持ちがないので非常に痛いです。今回は残念ですが、今後何かのソフトを出す機会がございましたら、ご対応よろしくお願いいたします。m(_ _)m |
Ps2、scph18000が故障しまして、オレンジの電源のユニットのみを外し、電源プラグを差し込んだところ、ヒューズが飛ぶ現象が起きました。 ガラス管ヒューズ(5A,250V)をホームセンターで購入し、差し込み、ヒューズが壊れる。 この原因は何だと思われますか。 よろしければお答え願えますでしょうか。
何らかの部品が内部でショートしているように思います。調べるのはちょっと面倒ですが、アタリを付けて部品を取り外してテスターで抵抗値を調べてみてください。面倒であれば他のジャンク機から電源ユニットを移植するのも手です。
了解いたしました。 親切なご回答ありがとうございます。 |
20代頃にMSX2のHB-XDmk2を購入し にがさまのソフト(NSLOAD・NGLOAD)をこよなく愛する者 です。最近になって部屋の片付けをした際に懐かしい相棒を発掘したのでお仕事のオフ時に立上げて 遊んでいます。にがさまのソフトはここの掲示板でアップされていたので操作方法を思い出しながら 本日何とか解決して遊べたのですが、にがさまもご存知の似非職人工房の辻川さまから購入した MEGA-SCSI(1M版)と うっかりくん(4M)を使ってMSX-DOS2立上げ方法がマニュアル通り操作 していてもSRAMにはDOS1・DOS2のシステムファイルとコマンドファイル1と2の4つがあるのですが MSX2本体リセット後MSX-DOS1で立ち上がってしまい、MEGA-SCSI内のESE RAMDISKや 手持ちのMOドライブ(230M)などがDRIVE.COMで確認してもA:からH:全てがFDD表示になってしまう のです。20代に購入した当時はすんなりと立ち上がってSCSI機器を使えてたのですが、30年近く使用 していないせいかその当時の操作方法も うろ覚えで忘れてしまっているのが恥ずかしいところです。汗 MEGA-SCSI・うっかりくんを使ってMSX-DOS2の立上げ方法をにがさまの知っている範囲で お手数をお掛けしますが教えて頂けたらありがたいです。ちなみに うっかりくんはスロット1または2に 差すだけで良かったでしょうか?うっかりくんの不具合でMSX-DOS2が立ち上がらないでしょうか? 原因が分からず今も思考停止中です。アドバイスよろしくお願い致します。汗
こんにちは、当方の作品を愛用してくださってありがとうございます。DOS2起動要件は満たしているはずなのにDOS1しか起動しない件ですが、とりあえず原因は2つ考えられます。 1)MegaSCSIにDOS1カーネルがインストールされている たぶん昔使っていた頃のSRAMデータは消えていて、今回MGINSTをやり直してると思いますが、HB-X1XDmk2本体にはDOS1しか入っていません。本体から吸い出したDISK.ROMをインストールしてもだめです。DOS2カートリッジかturboR本体から吸い出したDOS2カーネルファイルが必要です。 2)うっかりうくんを正しく認識していない メモリチェッカーで4096kBのメモリが認識されていることを調べてみましょう。藤本氏のMEMTEST.COMなどが使えます。
おはようございます。 にがさまからアドバイス頂いた方法を参考に色々とやってみて 気が付いた点や誤りなどお伝えしますね。 1)MegaSCSIにDOS1カーネルがインストールされている この件に関してワタクシ勘違いをしていました。汗 MEGA-SCSI取扱説明書にはインストールディスク作成の際 フォーマット済空DISCにMSX-DOS2システムFileと付属DISCの 内容を全てcopyすると書かれているのにMSX-DOS1システム Fileが入っている状態でMSX-DOSカーネルcopyを行った結果、 KERNEL.TMPの中にMSX-DOS1とDOS2のシステム(4つのFile)が イメージFileとして1つのFileとなった訳なんですね。汗 この状態でMEGA-SCSIカーネルインストールを行うとMSX-DOS1が 立上がる原因が分かりました汗。なのでMSX-DOS1を省いた状態で MSX-DOSカーネルを作り直しMEGA-SCSIカーネルインストールを 行いMSX2本体リセット後MSX-DOS2が起動せずBASIC画面が立上って しまうのです。この時点でfilesしてみるとMSX-DOS2システムFileの2つ があるのみで現状MEGA-SCSI内のSRAMの中にあると思うんです。 ここまでの操作は正しいと思うのですがあってますでしょうか? 後気になる点が1つ、MSX DOS2立上げの際、MSXDOS22.ROM Fileが過去に作ったものがあるのですがこの使い道って今回のSCSI 機器使う際必要なものなのでしょうか? 2)うっかりうくんを正しく認識していない この件に関して にがさまからアドバイス頂いたのですが 現在自宅でのネットは解約して使えないのでDLは出来ませんので うっかりくんの動作テストは出来ない状態です。汗 ここまでが1週間で空き時間での確認作業でした。汗 にがさまのアドバイス☆お願い致します。ぺこり
DOS2カーネルはMGINST時に指定してMegaSCSIのシステム領域にインストールする64kBのROMファイルです。MSXDOS2.SYSやCOMMAND2.COMもインストール時にFDDに入っている必要がありますが、これとは別のものです。 通常はMSX-DOS2カートリッジか、turboR本体から吸い出して作成します。MSXDOS22.ROMがそれではないでしょうか。試しにMGINST MSXDOS22.ROM /Sxでインストールしてみてください。ちなみにDOS1カーネルは16kBです。
こんばんは☆にがさま 早急のコメントありがとうございます!! にがさまのコメントアドバイス通り実行してみたら あら不思議!一発でDOS2が立上がりました。ver2.30です。 うっかりくんは2スロットに差しただけです。とゆう事は正常動作 している証拠って事ですね! B:ではDRIVE.COMは使えずA:にcopyしてDRIVE.COMを実行・・・ A:ESE-RAM DRIVE B:FDD C:FDD D:からH:までNon connectedと 正常動作しました。まず第1の悩み解決です。次はSCSI機器の MOドライブ(230M)の接続でトライ☆一旦電源OFFしてMO接続。 ドライブの登録はESET.COMで実行後ユーティリティ画面で auto set upのaキー入力でB:ID1 MO OLMPUS MOS331が登録 されましてSCSI機器のMOが使える!って事ですよね。 これで第2の悩み解決です。問題はここから第3の悩み、 A>B:DIRした際、次の様なメッセージが表示されたのです。 Volume in drive B: has no name Dirctory of B:\ 0 byte in 0 files 0 bytes free B> これって若き頃に作ったMO DISC内のFileが抹消? って事ですかね?汗書き込み防止にはツメ動かして 穴が開いてる状態になってます。 前に記録したMO DISC内のFileを表示するやり方を にがさまの知っている範囲でアドバイス☆頂けたら 有難いです。あと1つの悩みですが宜しくお願い致します!!
MOのパーティション設定が不適切なのかも知れません。MSX-DOS2は1パーティション32MBの制約があるので、230MBのMOドライブは複数のパーティションで区切られているはずです。CP,COMで設定してみてください。 デフォルトでは先頭パーティションになっていると思いますので、中身がゼロというのは怪しげですが…。MOドライブも年代物だと思いますし、ドライブが壊れている可能性もあります。メディアにアクセスを試みているような動作はしているのでしょうか。
おはようございます! にがさまの超早急の対応に、ありがとうございます!! にがさまのコメントアドバイス☆通りA:にCP.COMをcopyし、 B>CP B0(ここの使用はしていない事を思い出しました。汗。なので B>CP B1を実行した所、ありました!ありました!若き頃に作成した DSKイメージされたFileがズラリと表示☆されまして消えてない事に ほっと一息です。その他にも<dir>で まとめてあるFileが幾つか ありまして<dir>を開くコマンドCD ***や閉じるコマンドCD ..など 思い出し、中身を見る事に成功です! 1番のやりたかったのは、 にがさんのNSLOADで動くソフト達です。(☆’v’☆)感謝! とゆう感じで第3の悩みも解決☆出来ました!!(嬉) 1分でも早く にがさまに解決☆した事を お伝えしたくて 今こうしてコメント☆しています。夜中に目が覚めて 良かったナと にがさまには何度も相談☆して貴重なお時間を 裂いてしまった事など感謝の気持ちでいっぱいです!! 良きアドバイス☆も色々とありがとうございました。 匠の にがさま☆今後ワタクシの記憶忘れで またお世話になる事も ありますがその時はどうぞ宜しくお願い致します!!(☆'v'☆)
動作してよかったですね。SCSI機器もいずれ壊れたりすることがありそうですので、データが取り出せる内にSDカード等にバックアップしておくことをお勧めします。 Flashメディアを扱えるMSXカートリッジはMegaFlashSCC+SDあたりがメジャーのようですが、Mapper MegqaRAMとか、Carnivore2とか海外からイロイロ出ています。手前からも似非SDiskというものを不定期に売りに出していますが、マッパメモリを搭載していないので、MegaSCSIと同時に挿すとメモリ不足でDOS2が起動しなくなるためお勧めしません(拡張スロットかメモリ内部増設が必要になる)。
こんばんは☆にがさま MSX2本体でSDカードが使えるって事ですかね? もし出来るのならやってみたい!気持ちもあります。 Windowsのパソコンでも普段バックアップって 中々した事がない(やり方がイマイチ分からない)ワタクシなので 不具合や故障になってみて初めて分かるみたいな、 そんな感じです。汗。今までにWindows98や2000、XPと 使ってきましたがバックアップ経験はほぼ0に近いです。 今はWindows10のノートパソコンはありますがネットを 辞めてからは殆ど触ってないのが現状で、勿体無いと思う 時もあって時代☆について行けないってトコロでしょうか・・・汗 今回も にがさまからバックアップ方法などアドバイス頂いたので 興味を持って取り組んでみよう!と思いました。(☆'o'☆) 今現在は暫く にがさまからMSX2でのMEGA-SCSIを使いこなして バックアップへの道☆へ進んでみよう!と考えてます。 今回も色々とアドバイス☆ありがとうございました!(☆'v'☆) |
どちらもスピンドルモーターが回りが悪く 読み込み不良を起こしています。 互換性のある市販モーターは無いのでしょうか?
このBBSの投稿No.21918に類似の話題が出ています。同一規格のモーターはおそらく製造終了していると思われ、適当な代用品を探すしか無いと思いますが、GD-ROMドライブはスピンドルモーター以外にもシークモーターやギヤなど保守部品の確保がますます困難になってくると思われますので、GDエミュレータに移行するのも手かと思います。
ttps://page.auctions.yahoo.co.jp/jp/auction/s1064374449 これですかね。本体とセットですが。 |
先日、SG-MK3 OPLL増設基板 Rev.1cを購入し組み込みを行いましたが FM音源使用時に音声合成が鳴らない事象が発生しております。(エイリアンシンドロームにて確認) →DCSG使用時は鳴ります。 クイックマニュアルの接続ポイント及びDCSGサウンドの経路のパターンカットも問題無いことは 確認しております。また各モードの正常動作も確認しております。 音声MIX部分に問題があるかと思いますが考えられる箇所があればご教授願います。 ちなみに使用しているCPUはZilog Z84C0010PEG、RFユニットは撤去しております。
当方の作品を買っていただきありがとうございます。 FM音源が発音されないというトラブルでしょうか。手順通り組み込みが出来ている前提で考えられる原因を挙げてみます。 1)可変抵抗が最小になっている ボリウムを回してご確認願います。 2)U9(アナログスイッチ)の半田不良 音声信号をU7(OPAMP)の1Pから直接取り出して、適当なアンプやアクティブスピーカーに接続してFM音が出るか確認できますか? これで音が出るならU9に問題があります。 3)YM2413が壊れている 上記を試してもU7の1pから音声が出ない場合はYM2413が壊れている可能性が高いです。実はCPUソケットに逆挿ししたりすると一発で壊れたりします(経験あり)。 まずは原因切り分けのために上記お試し願います。初期不良が疑われる状況であればこちらで対応させていただきます。
返信ありがとうございます。 すみません。説明が不十分でした。 FM音源モード時、FM音は出ますがやられた時の声が聞こえません。 DCSGモード時はDCSG音もやられた時の声も聞こえます。 YM2413及びSG-MK3 OPLL増設基板自体には問題は無いと思っております。 私の配線等に問題があるのではと疑っておりますので怪しい箇所が御座いましたら ご教授頂ければ幸いです。 よろしくお願い致します。
なるほど。DCSGとFMどちらか一方は出るのに、ミキシングされた音が出ないという認識なのですね。基本的にMk3やMasterSystemのソフトはゲーム中にFMとDCSGのどちらか一方しか音が出ない仕様になっているはずです。したがって、FMモードで起動したときにDCSGの効果音が出ないのは正常動作と思われます(ソフトがそういう仕様)。 唯一の例外が、国産MasteSystemのIPL-ROMに入っているスペースハリアーのBGMで、FM+DCSGが同時発音します。そもそもMk3+純正FM音源ユニットはFMとDCSGが同時発音できないハードウエアになっており、互換性維持のためソフトは同時発音しないように作られていると思われます。 なお、当方のOPLL増設基板ではミキサー回路とスイッチを内蔵しているため、MasterSystemと同様に同時発音できます。当方の出荷前チェックではMasteSystemのIPLを少し改造したものを似非SGROMで起動して同時発音を確認しています。
返信ありがとうございます。 >基本的にMk3やMasterSystemのソフトはゲーム中にFMとDCSGのどちらか >一方しか音が出ない仕様になっているはずです。 >したがって、FMモードで起動したときにDCSGの効果音が出ないのは正常動作と思われます →私も同じ認識です。ただし音声合成でDCSGを使用しているソフトもあると思います。 例)アフターバーナー スペースハリアー3D 熱中熱球甲子園 エイリアンシンドローム 実験的にパターンカットした箇所を復活させた状態で起動したら FM音の音量は小さくなりましたが音声合成が鳴るようになりました。 FM音源モード時は#F2レジスタを有効としU3及びU9でDCSGをMUTEにして いるみたいですがこれが原因で音声合成が鳴らなくなっているのではないでしょうか。 分かりづらい説明になってしまいましたがご確認頂ければ幸いです。
状況が分かりました。エイリアンシンドロームはゲーム中にFMとDCSGを切り替えているようです。プログラム覗いてみましたが、FM音源が存在すれば#F2hレジスタに1を書き込んでいますが、それ以外は0を書き込んでいます。ゲーム中にDCSGに切り替える際にも一時的に0を書き込んでいるようです。 私はIPL-ROMのスペースハリアーBGMの挙動から、#F2hのbit1がDCSGのMute制御レジスタだと思っていたのですが、実際は少々違っていたようです。SMS実機のIPL-ROMを改造して#F2hに0を書き込んだところ、DCSGのみ発音されました。 つまり、DCSGは#F2hレジスタの「bit1=0 and bit0=1」のときだけMute制御にするべきということになります。改修にはCPLDを書き換えが必要ですので、お手数ですがblogのRev1b改修申込みの手順で手続きしていただけますか。定形外郵便かクリックポストで送って頂ければ送料は当方で負担します。 ご迷惑をおかけして申し訳ありませんが、以上よろしくお願いいたします。 |
はじめまして。HRA!と申します。 1chipMSXのFPGAデザインを拡張した OCM-PLD を、KdL氏とともに開発しています。 下の書き込みの「ngload について」で話題に上っている SX1mini+ も OCM-PLD が書き込まれています。 KdL氏からの依頼で書き込んでいます。 非常に厚かましいお願いなのですが、もしよろしければ MPCM.COM に OCM-PLD で利便性を上げるパッチを採用していただけないでしょうか? KdL氏の方で MPCM.COM にパッチをあてて MPCM-OCM.COM として使っていたようなのですが、 つい先日 MPCM.COM が新しくなっていることに気が付いて、パッチをオリジナルに組み込んで欲しいと考えたようです。 メーカーIDとして D4h を使っていますので、このパッチを組み込んでも本物のMSXで悪さをすることは無いと考えています。 もちろん動作テストは引き受けます。 ご検討のほど、よろしくお願いします。 MPCM-OCM patch rules ==================== Before loading WAV (set 8.06MHz) -------------------------------- ld a,0xD4 out (0x40),a ld a,0x0A out (0x41),a xor a out (0x40),a Before playing WAV (set 3.58MHz) -------------------------------- ld a,0xD4 out (0x40),a ld a,0x03 out (0x41),a xor a out (0x40),a Before exit to DOS (restore turbo mode) --------------------------------------- ld a,0xD4 out (0x40),a ld a,0xD5 out (0x41),a xor a out (0x40),a
HRA!さんコメントありがとうございます。SNSは時々拝見しています。 私はOCM-PLDの仕様を存じ上げませんが、以下の認識で合っていますか? >Before loading WAV (set 8.06MHz) PCMファイルのLOADを高速化するためのCPUクロック設定 >Before playing WAV (set 3.58MHz) PCM再生時にZ80クロックに切り替え >Before exit to DOS (restore turbo mode) 終了前にR800互換?高速モードに戻す 単純に上記のようなIO書き込みを行うパッチならすぐに組み込めますが、それだと実行前のCPUモードに関わらず終了時にturboモードになってしまうと思います。正攻法でやるなら機種判定して実行時のCPUモードを記録しておき、終了時に元に戻すべきかと思いますが、OCM-PLD機種判定と現在のCPUモードを知る手段はありますか。
お返事ありがとうございます。 私のことをご存じとのことで、とても嬉しいです。 > 私はOCM-PLDの仕様を存じ上げませんが、以下の認識で合っていますか? はい。概ね合っています。 >Before exit to DOS (restore turbo mode) これに関しては、高速モードへ戻すのでは無く、DIP S/W の設定に合わせたクロックへ戻します。 OCM専用の CPUSPEED.COM というクロック変更コマンドが存在しているため、 DIP S/W が標準速設定の時に、CPUSPEEDで高速モードに変更している場合、 上記のパッチで戻すと標準速に戻ってしまうので、ユーザーが混乱する恐れがあります。 OCM-PLDであるかどうかの判定ですが、 I/O:40h に D4h を書き込んで、その後にI/O:40hを読むと 2Bh が返ってくれば OCM-PLD であることがわかります。 I/O:40h=D4h は、Switch I/O と呼んでいまして、仕様は下記にまとめてあります。 https://github.com/gnogni/ocm-pld-dev/blob/master/docs/switched%20io%20ports%20revision%2010.pdf 3.58MHzモードと、Panasonic MSX2+ の 5MHzモードに相当するモード、さらに高クロックのカスタムクロックモード と、設定可能なクロックの種類が多数あります。 下記の I/O:40h=D4h を書き込んだ後、I/O 43h, 47h, 48h を読むことで「現在のクロック」を知ることができます。 継ぎ接ぎ拡張されていて、"現在のクロック" を知るために少し手間が掛かります。 私自身、この辺り把握し切れていないので、しっかり把握した状態で 「現在のクロック設定情報を保存するコード」と「その設定に基づいてクロックを復元するコード」を 改めて提示させていただこうと思います。
連投失礼します。 KdL氏がパッチを作ってくれましたので転載します。 _ttps://github.com/hra1129/hra1129.github.io/blob/main/ocm/mpcm-ocm-patch-v2.asm
ご提示されたソースコードを組み込んでみました。とりあえず実機では普通に動作しましたのでOCM-PLDでテストしてみてください。 http://niga2.sytes.net/upfile/MPCM6.zip
対応ありがとうございます! テストさせていただきます!
MPCM v1.07 を SX-2 で試してみました。 https://twitter.com/thara1129/status/1558213251468787712?s=20&t=-XAYP7y2OwbravalkzRRNA SLOT#1 ナイスメモリーうっかりくん(4MB) SLOT#2-X 16MB拡張メモリ SLOT#3-1 本体内蔵 4MB という構成です。 SX-2 には、turboR PCM を搭載済みなので、/T オプションで再生させています。 5.8MB程度の曲データを読み込ませてみると、読み込みが速くなっているのが確認できました。 しかし、再生も速いままになってしまいます。 最初、高速モードで再生させているのかと思ったのですが、KdL が中身を解析しており、 「再生開始前に _set_358_speed を呼んでいる」ということなので、再生時には 3.58MHz へ戻そうと 試みているのだと思いました。 _set_358_speed を呼び出す場所が悪いのか、8MHz のままで再生されてしまうようです。 「再生開始前に、3.58MHz に戻そうとしている」という認識は正しいでしょうか?
動作確認ありがとうございます。 すみませんうっかりミスでIOポート出力時に再生時のクロックが切り替わらなくなっていました。ご指摘のようにクロック切り替えをCALLする場所が不適切でした。 修正版(Ver番号同じ、タイムスタンプ違い)に差し替えましたので改めてお試し願います。 http://niga2.sytes.net/upfile/MPCM6.zip
https://twitter.com/thara1129/status/1558254270398726144?t=YrqkGevxoYNjZBYTgVIAhQ&s=19 期待通りの速度で再生されるようになったのを確認できました! ありがとうございます。
ご報告ありがとうございます。ダウンロードページのMPCMアーカイブをver1.07にUpdateしておきました。
ニガさん、ありがとうございました。 |
ヤマハサイレントヴァイオリンのSV-100について質問失礼致します。 フリマサイトでこの機種が売られており購入を検討しているのですが,こちらの機種は普通のバイオリンの音量に比べて,何分の1くらいの大きさになりますでしょうか。 お隣のお宅の方が音に敏感なので出来るだけ小さい音のものを探しております。 何卒ご回答よろしくお願い申し上げます。
自己解決致しました。お騒がせしてしまい申し訳ございませんでした。お返事は大丈夫です。 何卒よろしくお願い申し上げます。 |