雑談質問相談掲示板

ページ名:雑談質問相談掲示板

はじめに

ここは、雑談・質問・相談など何でも話題にする掲示板です。

掲示板についてお知らせ

特にありません。

禁止事項

  • 掲示板の趣旨と関係ない書き込み
  • 誹謗・中傷含む書き込み
  • 他サイトやアプリの宣伝
  • 招待URLの書き込み

以上に該当する書き込みを見つけた場合、コメントを削除する可能性がございます。

 

また、お困りのことがございましたら管理者へのお問い合わせフォームよりお問い合わせください。

コメント

返信元返信をやめる

※ 悪質なユーザーの書き込みは制限します。

最新を表示する
WINDY ID:ZmUxN2E5Y
>> 返信元

有り難うございます。
って事はφMが8MHzなのかが判明すれば、裏が取れるわけですね。
蓋を開けたときに計測してみる価値は有りそうですね。

返信
2020-09-17 10:16:51

山川機長 ID:YzFhMTU2N

おおなるほど!大体耳で聞きながら調律(?)した周波数と一致しますね!貴重な情報をありがとうございます!

返信
2020-09-14 06:43:56

たけがみりう ID:NmNlMTA5N
>> 返信元

今更ですが…RF5C68A/RF5C190Aの1チャンネル当たりの最高再生周波数は、φMの384分の1の値になります。
TOWNSの場合、φMが8MHzピッタリだとすると、その384分の1で約20.833kHzになります。
これはセガ系ハードの同系列のPCMチップ(RF5C105/RF5C164)も同じで、φMが12.5MHzピッタリとすると約32.552kHzとなります。

返信
2020-09-13 16:36:48

山川機長 ID:Mjk5MDgyO

了解しました!ありがとうございます!

返信
2020-07-29 01:34:06

WINDY ID:MzA2MWMyM

やたらと方向転換してもアレですが、掲示板としてまともな物を左メニューの「新掲示板」として
用意しました。
スレッド型の掲示板となりますので、必要に応じてスレッドを作成して使用してください。
前の掲示板も残りますが、こちらはwiki内の報告や通知などに使用して行こうと思います。
また、discussion内の情報も新掲示板にこちらでコピーしました。
(山川機長さん,nabe@abkさん勝手にお二人の名前で書き込みましたがお許しください)

返信
2020-07-28 13:27:16

山川機長 ID:ZmVkMTM2Z

いろいろありがとうございます!現在の捜査状況(?)をDiscussionの方に上げました。なお、今週末は引っ越し(同じアパートの今より少し大きな隣の部屋に移転する)のため、進行が遅いと思います。

返信
2020-07-26 14:25:32

WINDY ID:MDU0OTFhZ
>> 返信元

コメント欄は300文字制限があり、私も使いにくいと感じています。
また、コメント欄は記録に残らず消えていきますので技術的な話等の後に残す必要が有る内容については左メニューにdiscussionを作成しましたので、そちらのページに記載してもらえますでしょうか?
ただ、discussionページはコメントのようにトップページには表示されませんので新しい議題が発生した場合はコメント欄に案内を書き込んでもらえると助かります。

返信
2020-07-26 12:03:52

nabe@abk ID:MDE5ZWMxY

参考までにDOSメモリ確認ツール
https://www.vector.co.jp/soft/dos/hardware/se002492.html

(また300文字の壁。うーん技術的議論には不便……

返信
2020-07-26 09:27:13

nabe@abk ID:MDE5ZWMxY

DEVICEHIGHは、デバイスドライバを1MB以下のUMB領域(0C0000h-0FFFFFh)に読み込む指定になります。プロテクトメモリには転送しません。この領域はDOSのメモリ管理下(MCBによる16byte単位)です。また、UMB領域はEMS(EMM386)によって16KB単位のバンクメモリ領域としても使用されます。

ちなみにSETVERの常駐サイズを確認しましたが128byteのようです。またEXEは64KBの壁を超えるためセグメント分割されていて、ファイル内容がそのままメモリに展開されるわけではありません。

返信
2020-07-26 09:26:24

山川機長 ID:ZmVkMTM2Z

IDTが存在しないINTはGP例外を出すとEMM386が処理をフォワードしてくれるようです。が、次にDEVICEHIGH=SETVER.EXEで、なぜかヘッダを除いて最初の600Hバイトと最後の19BHバイトしかHIEH Memoryに転送しない現象が起きてます。(SETVER.EXEのファイルサイズは319BH) 600Hバイトはヘッダ200Hを足すと800HになるのでEMM386のページサイズが800Hなのではないかと思うのですが、どうして途中を飛ばすのやら。

返信
2020-07-26 02:45:10

nabe@abk ID:M2RhYmNlN
>> 返信元

DMコマンドありがとうございます。早速使います!

>INT 97H(TimerBIOS)
V86モードでもプロテクトモードで割り込みを発生させる場合は、DOS-Extenderの機能を使ってリアルモード側のベクタを書き換えるのが正しい処理になります。
よって、V86モードで発生した割り込みでしたら、EMM386の機能としてはリアルモードベクタに飛ばすのが正しい処理だと思われます。もしくは正しい例外処理をエミュレートできれば、EMM386がエミュレートしてリアルモード割り込みに引き継ぐと思われます。
※EMM386は、V86なDOS環境をリアルモードと極力同じにするよう動作します。

返信
2020-07-25 00:21:32

山川機長 ID:MzhiZWIzN

調査ありがとうございます! PLAY "O4C","","","","","","O4C" として津軽のPCM音源をFM音源に合わせて調律(?)したのですが、20725Hzという変な値に落ち着いてます。うねりに関しては、エンベロープの計算の違いだと思います。XM7のCISCさん作のエミュレータと比較してみたところ、減衰の仕方が微妙に違うようなのですが具体的にどう計算を変えると正しくなるのかはまだ解明できてないもので。引き続きよろしくお願いします!

返信
2020-07-24 23:59:27

山川機長 ID:MzhiZWIzN

とりあえずVM86に入ることはできてINTも出るようになったのですが、INT 97H(TimerBIOS)が出てる箇所があって、プロテクトモードのIDTに97Hが書いてなくて止まってます。ここは本来97Hのエントリが書かれてあるべきなのか、それともNP faultを出すのが正しいのかで止まってます。ごまかしてリアルモードのとび先に直接飛ばすという手でも動きそうな気がしますが一応正しく処理する方法を模索してます。

返信
2020-07-24 23:54:39

山川機長 ID:MzhiZWIzN

デバッガは、自分で使いまくるので、ユーザフレンドリーではないかもしれないですが機能は日々成長しています。なお、ダンプですが、 DM または PRI でできます。

DM DS:DI+AX*100+1FFFF

みたいにできます!なお、DM PHYS:1000 とか と DM LINE:2000 とかも可能です。数字はすべて16進数です。

返信
2020-07-24 23:50:25

nabe@abk ID:NGEzNDY4N

ネットワークドライブの仕組みがなんとなく分かってきたので、MSCDEXを軽く解析してるのですが、デバッガ超絶便利で感動しています。そこで要望ばかりして大変申し訳ないのですが、将来的にメモリダンプコマンドをつけていただけると嬉しいです。
ひとまず「dbコマンド(dump byte)」があると嬉しいです。「db ds:bx」とかできると感動ですが即値のみでも十分。

返信
2020-07-24 23:31:44

WINDY ID:OWE1ZTIzY

つづき
・F-BASIC386 V2.1 L20でPLAY "@7V15O4C1&C1&C1&C1&C1&"として発声させました
・津軽の出力は音圧が低く、Volt/Divを他の2種よりも低くしています
・HCとうんづは似た波形ですが、逆転しているような波形
・津軽の波形はうねりが小さいようですが、上記の音圧の絡みかも知れません。
・3種とも周期は同じような物でした

返信
2020-07-24 23:16:40

WINDY ID:OWE1ZTIzY

FM音源の出力波形を計測してみました。
HC:https://drive.google.com/file/d/1VsPsHIIgKx07Vnj2mWnmWD2_6-d8wia7/view?usp=sharing
津軽:https://drive.google.com/file/d/1Vl2WpcR6G-hZJ-nkKl4QhaNxKKILsJIm/view?usp=sharing
うんづ:https://drive.google.com/file/d/1ViLtFJvaMMXMma5BqwfmE9wfAxux4WPw/view?usp=sharing

返信
2020-07-24 23:04:22

nabe@abk ID:NGEzNDY4N
>> 返信元

(文字数制限にかかったので、続き)

あと、DOS6の仮想86モードは、ほとんどすべての特権命令をEMM386がエミュレートするので、ユーザーランドからみるとリアルモードとほぼ変わりありません。ですので、V86として真面目に実装しなくても(I/O他特権命令を素通りさせても)、DOSは問題なく動く気がします。

-HIMEM.SYS 1MB超えメモリの管理。CPUのリアル←→プロテクトモード切り替え機能。
-EMM386.EXE CPUをV86モードに切り替えてEMM機能(バンクメモリシステム)のエミュレート。

返信
2020-07-24 19:58:06

nabe@abk ID:NGEzNDY4N
>> 返信元

keymapの実装ありがとうございます。嬉しいです。個人的にはNumLockは無反応(マップなし)で良いのではないかと思います(物理キー側のモードを切り替えるだけなので、何か入力したくて押すわけではない)。

仮想ドライブドライバですが、SHSUCDXというものを見つけたので昨日ずっとソースを読んでました。まだ完全に理解したわけではないですが、そんなに複雑なことはしなさそうですのでなんとかなるかも。
http://adoxa.altervista.org/shsucdx/index.html

返信
2020-07-24 19:51:25

fuzzball ID:OGM4OTE2O
>> 返信元

シグノシス2作品確認しました。
画像はこちら。 https://twitter.com/fuzzball/status/1286523469656547328

マイクロコズムはスタート時にフリーズ。
スカベンジャー4は改善されたようでプレイ可になっていましたが、ボスでクラッシュしました。ログはこちら。 https://pastebin.pl/view/b5631fd9

昨日ここには書きませんでしたが、シャドー・オブ・ザ・ビーストは1も2も起動せずでした。
シグノシスは手ごわいですね。

返信
2020-07-24 14:28:45