ソースコードの方は更新されているようでしたが、FMT_DOS.ROMはまだのようでした。DosboxとMASMを使って自力でコンパイルしようとしてもMASMのバージョンが違うのかエラーが出てobjファイルが作成できませんでした。
2024-04-27 23:46:42
すんません、この部分がいまいち自動化できてないもんで。(学生にはビルド自動化しろっていつも言ってるのに!) ちょっとこの際YSDOS.SYSとYAMAND.COMをビルドして所定の位置にコピーするまで自動化しますんで、ちょっとお待ちください。
2024-04-28 06:20:37
大変失礼しました。WATCOM CでWindows上からDOSのCOMファイルをクロスコンパイルする方法をやっと理解して、FMT_DOS.ROMのビルドからアセンブルまでbuild.pyでできるようにしたので、以後この手の間違いは減ると思います。COMMAND.COMのリダイレクトに対応(パイプは未対応)したので、Linux+JE2 1995-12は互換ROMからCD起動できるようになりました。Undocumented DOS、「なんでもっと早く買わなかったんだ!大体の内容は既に解明しちゃった!」と、思ったもんでしたが、今回はリダイレクト対応の仕方の説明があって助かりましたね。実はこの本の例題コードはバグってるんですが。ただ、何を探せばいいのかわかったので、FREEDOSのコマンドインタープリタを参照したところやり方がわかりました。
2024-04-28 08:43:54
MALLOCの修正とredirectionが実装されたROMでもVFS: Cannot open root device 00:00で止まってしまいますね。
DOS部分だけマーティーから抽出したROMに置き替えると問題なく立ち上がるので間違いなくYSDOSが原因のはずなんですが。
関係のない差異かもしれませんが、TownsOS上でLinuxパーティーション(ext2)を開こうとすると、実DOSだと「ドライブの準備ができていません」と出るのにYSDOSだと「システムエラー(/FFFH)」と返ってくるようです。
山川機長さんが書かれているとおりDMAやSCSIの問題なのかもしれないので、それとコールスタックのデバッグ情報も載せておきます。
pri cst
FR=000C:000078C9 TO=0110:0001D399 RET=000C:000078CB (INT 21,AX=4C00H DOS.Exit Program AL=Returncode))
FR=4958:00000031 TO=386D:000004A4 RET=4958:00000033 (INT 21,AX=4C00H DOS.Exit Program AL=Returncode)
R=39FE:00002E4A TO=386D:000004A4 RET=39FE:00002E4C (INT 21,AX=4B00H DOS.Load or Exec D:\LINUX\DOSBOOT5.EXE)
FR=0010:00108FBD TO=0010:0010A5E0 RET=0010:00108FBF (INT 80,AX=0070H)
pri dmac
CH00(FD ): MODE=00 BASEAD=00000000 CURRAD=00000000 BASECT=00000000 CURRCT=00000000
CH01(SCSI ): MODE=45 BASEAD=0001F000 CURRAD=0001F400 BASECT=000001FF CURRCT=FFFFFFFF
CH02(PRN ): MODE=00 BASEAD=00000000 CURRAD=00000000 BASECT=00000000 CURRCT=00000000
CH03(CD-ROM): MODE=00 BASEAD=00000000 CURRAD=00000000 BASECT=00000000 CURRCT=00000000
TFRSIZE=02 BASE=0 SELCH=01 DEVCTL=0000 REQ=00 MASK=0F
pri scsi
PHASE:BUSFREE
REQ:0 I/O:0 MSG:0 C/D:0 BUSY:0 INT:0 PERR:0
DMAE:1 SEL:0 ATN:0 IMSK:1 WEN:1
Selected SCSI ID:1 Last Data Byte:00H
COMMAND BUFFER: 08 00 00 00 02 00
SENSEKEY_NO_SENSE STATUSCODE_GOOD
TOWNSのDOS ROMは3.1なので参考になるか分かりませんが、MS-DOS 4.0のソースコードが公開されましたね。
https://github.com/microsoft/MS-DOS/tree/main/v4.0
2024-04-28 13:26:13
うーん、起動せんですか。残念。こうなるとDOSBOOTがコンソールに出してる出力が見たくなりますね、ということで、DOSのSTDOUTをキャプチャする機能を津軽に追加してみました。さっきPUSHしたソースで、デバッガ有効な状態で、ENA DOSSTDOUTCAP とするとキャプチャ開始、SAVEDOSSTDOUT filename で結果をファイルに書きだします。Linuxの起動が始まったタイミングでセーブしたら何て言ってますかね? MXで起動したときと互換ROMで起動したときでパラメータとか、読み込んだブロック数とか変化ありますかね?
Linux+JE4 1995-12 で互換ROMだとoverload以後は下のような出力になります。zimageってどうやらFDダンプですね。だとするとzimageの最初のとこはDOSを使ってたりするだろうか。メッセージの雰囲気として、このrootimageをマウントできてないっぽい感じですかね。
overload cdrom.fmt dosboot5 -i zimage root=0101 <nul$
Found Q:\TOWNS\OVERLOAD.EXE
dosboot5 -i zimage root=0101 ramdisk=1200 rootimage=0xed4000,1228800
Linux boot loader for TOWNS ver 0.5 copyright(c) TECO, 1992
V5.0 beta2
Now loading LINUX boot image (zimage)
parameter="root=0101 ramdisk=1200 rootimage=0xed4000,1228800"
717 blocks read.
Hit RETURN key the boot!
DOS4公開は僕も見ましたが、そのうちDOS3も公開されるかもしれないですね。まあ、そうなったらもっと再現性の高い互換ROMが作れるってことで。
2024-04-28 21:48:53
そうか。BCCさんのはHDから起動ですね。。。。。
あ、ひょっとして、 BOOT "/dev/sda1" みたいにダブルクオートつけてたりします? YAMAND.COMがダブルクオート正しく扱ってないことに気が付いて、試しにやってみたらKernel panic起きますね。今から直します。
2024-04-28 22:42:45
ソースがまだ上がってないですが先に、Slackware LinuxのTOWNS差分部分ファイルをちゃんと確認(README.DOC)したら「GNU General Public Licence に従います。」と書かれていることを見落としていたので上げておきます。
https://drive.google.com/file/d/1mFdpkEOXiJS2kbj_evqsl7VdUchMMbBX/view?usp=sharing
\TOWNS\Linuxフォルダ内にあるZIIMAGEというやつが該当する物と思います。
あと、上の方で言われていたネットワークカードのドライバ/ソースももしかしたらこの中に入っているかもしれません。\TOWNS\DOC\DEVICE\にあるETHER.TXTにはFM50L186/FM50L187/REX-3586/FM50L189という対応カード名が書かれているので、\TOWNS\FMD1\FMKERN.TGZ\FMKERN.tar\usr\src\linux\drivers\net\とか探したら該当ソースがあるかもしれません。
2024-04-28 22:42:45
ありがとうございます!ダウンロードしました。試しにうちのLinuxインストールHDのLINUXディレクトリを送っていただいたものと置き換えてみたのですが、Linux+JE4だと普通に起動してしまいますね。zimageの読み込みブロック数が777になったので送っていただいたzimageで起動しているのは間違いないです。また、ダブルクオートの問題かと思ったのですが、ダブルクオートをつけるとMXのROMでもrootのマウントに失敗するので違う原因のようですね。今のところDOSからLinuxに渡っている情報というとこのパラメータしか思いつかないのですが。
2024-04-28 23:53:03
山川機長さんの書き込みで気づいて原因がようやくわかりました。
BOOT.BAT内で「dosboot5 root=%1 townscd=polling <nul」と記載しこれをTMENU上でアイテム登録、パラメータに「/dev/sda1」としていたのが原因でした。
「dosboot5 root=/dev/sda1 townscd=polling <nul」と直接BOOT.BAT内に記載したら起動しました。
2024-04-28 23:59:01
おおなるほど!COMMAND /cでバッチファイルにパラメータを渡すとこがバグってました。直したバージョンをPUSHしたので、多分アイテムからも起動できると思います。うちの環境でもドライバを減らさないと起動しないので、ちょっとダイエットが必要そうですね。
ネットワークドライバありますね!RATOC REX-3586がサポートされたのは1996年の1月だったんですね。それだと1995-12のJE4には入ってないわけですね。どうやって使ったらいいのかは不明ですが、これで、RATOCカードのI/Oは7000Hまたは7100Hから、FM50L188/9は10A0Hまたは10C0Hから+7までを使ってることはわかりますね。そして、これはMB86965を使ってるんですね。ただ、僕は物理レイアの上がどうなってるのかよくわからないので、TOWNSのネットワークカード用ドライバを自力で書く自信はまったくないのですが、一歩前進した気がします。
2024-04-29 05:46:43
DOSメモリに関してですが、[設定]→[辞書管理]→[かな漢字変換領域の確保]を「する」にしないと、OAK0.SYSが79KBも余計にDOSメモリを使ってしまうようです。デフォルトが「しない」になっているらしく、その場合、CMOSの32B2hの下位2ビットが0になっていて、そのバイトは、INT 8EH AH=00Hで返されるデータの+23H (未公開バイト) に書き込まれて、OAK0.SYSはこの下位2ビットをチェックして、3だったら10Hパラグラフ、それ以外だったら13E8Hパラグラフを取ってしまうようです。
それでもまだアイコンから起動させようとすると足りないですね。AUTOEXEC.BATの中とかから起動だと初期のコマンドインタープリタで起動するので平気なのですが、COMMAND /cで起動すると一個余計にCOMMAND.COMを開いてしまう影響で微妙に足りないようですね。
2024-04-29 09:55:34
ご無沙汰しております(女B)。
最近は忙しいわけでもないのにこちらにも顔を出せておらず、ご心配をかけたかもしれません。
本当はMIDIカードの解析の時に顔を出そうとしていたんですが、Oh!FM TOWNS 1993年6月号「INSIDE TOWNS」のMIDIカード仕様をテキストに起こしている間にこちらの掲示板で解析が進んでしまい、結局そのテキストもお蔵入りしてしまいました。FMT-401のI/OポートとかMIDI IN 2~4、OUT 3~8、フットスイッチに関する情報も載っていて現在では得がたい情報ではあるのですが。
>698 山川機長さん
辞書管理から設定できる「かな漢字変換領域の確保」はMS-DOSでいう「アプリ領域」の設定のどれかと一緒で、「する」に設定するとコンベンショナルメモリより上位のメモリ(とはいっても0x000C0000~0x000CFFFFはないと思いますが)にOAK0.SYSが逃げてくれます。これは確かDOS3からそういう仕様で、DOS5/6(DOS6ベースT-OS含む)だと別の方法(確かOAK0.SYSに/Eだったか何かオプションスイッチを付けるはず)でEMSメモリに逃がすように変更されています。
2024-04-29 23:32:45
YAMAND.COMですが、いくらCコンパイラだからって本来10KBもあれば実現できるはずのものがなんで22KBも食ってるのか調べたところ、WATCOMのCランタイムライブラリがごっそり食ってることがわかったので、fopen, fclose, printfなどを使うのをやめてDOSの機能を直接使うようにしたところ、14KBぐらいまでに減りました。多分もう少し減らせそうですが、とりあえずTowns MENUのアイテムからBOOT.BATを起動してもメモリ不足になりにくくなったと思います。
> りうさん
おおなるほど!Oh!TOWNSの1996年6月号ですね。それは手元にあったはず。というか、確かにMIDIカードについて載ってますね。だから目次を作っておけばよかったものを。。。(途中で止まっちゃった)実装が間違ってないかあとで確認してみます。
しかし、さすがにネットワークカードのI/Oと使い方について書いてた号は無いですよね。手元にRATOCのネットワークカードがあるのですが、TOWNS OSから使えなくて持ち腐れになってるんですが。
辞書管理はそういう意味だったんですね。MXが現役だったころは気にしてなかったのでまったく気づきませんでした。
貴重な情報をありがとうございます!
2024-04-30 12:06:01
ぎゃああああ鯖鰓で書いた中身が全部翔んで埼玉ぁぁぁぁorz
>700 山川機長さん
TOWNS用LANカード(FMV-TOWNS用のFMV-181/182/183/184の制御方法はFM50L188/189と一緒です。いや逆か?)のドライバはTOWNS用Linuxにもあったはずですし(実際のところは未確認)、DOS6ベースTownsOSであればNDISドライバ(RATOCのカード用のものはRATOCのサイトで現在でも配布してい…るといいな)+FMR用MSLANMANとかODIドライバ(でいいんだっけ?)+NetWareクライアントとかの組み合わせで行けます。うちでは実際に前者でSCE版nasneを介してFMV-TOWNSとモデルMX間のファイルのやりとりをしています(FMV-TOWNSのTOWNSモード用NDISドライバを見たことがないので、ODIドライバ+某ツールを使ってはいますが)。
2024-04-30 13:08:16
あれ?僕もなぜか昨日書き込んだはずの内容が書かれてないですね。最近サバエラ多いですね。
RATOCのドライバなんですが、今だとWindows 95用ドライバしかダウンロードできないんですよ。archive.orgのWayback Machineでも2000年ぐらいまでしか遡れなくて、DOS用ドライバは既にダウンロードできないんですよね。Windows 95かLinuxで使えば使えると思うんですが。
なお、YAMAND.COMはその後の調査で、Open Watcom 1.9のdup, dup2, getcwd関数が必要ないのにmalloc/freeをリンクしていることがわかり、さらに、なんと、int main(int argc,char *argv[])とすると、argをヒープに展開するらしくmalloc/freeにリンクして、合計3KBぐらい使うことがわかって、そのへんを直して11KB程度まで小さくなりました。ここまで小さくなったらあとはまだ書いてない機能を足してもそんなに大きくなることは無さそうです。
2024-05-01 00:44:03
互換BIOSでTMENUからもインストールしたLinuxが起動するようになりました。ありがとうございます。
Twitterで見かけたのですが、OpenWatcom C Ver2.0でTOWNS用RUN386で動くEXPアプリが作成できるようなのですが、time.hに記載されている関数・sprintf()・fprintf()を記述すると互換BIOSだとフリーズするようですね。自分は実際に試していないのでどうなっているのかはわかりませんが。
REX-3586のDOS(ODI)ドライバはRATOCのドライバ内に入っているREX3586.COMというファイルだとは思います。
Another TownsのCD内にFM TOWNS用のTCP/IPアプリ(ping、ftp等)を移植した「TOWNS(DOS)用ダイアルアップ接続アダプタ&TCPIPライブラリ」というのを見つけたのですが、LAN環境でREX-3586を使う際のドライバファイル名はこれが記載されてます。
2024-05-01 01:31:13
>702 山川機長さん
RATOCのカードがREX-3586/7なら↓なんですが、今でもDOS用ドライバ込みで配布されているようです。
https://www.ratocsystems.com/services/driver/lan/3586.html
そういえばFTOWNSにTCPIPFMとかいうのがあったなー…何もしませんでしたが(ばく
2024-05-01 12:17:51
>りうさん、BCCさん、
そのファイルなんですが、NetWareのドライバとあるんですが、このドライバを組み込めばDNSからIP取ってきてネットワークに加わるところまでできるもんですかね? 僕はネットはSOCKETライブラリから上しか使ったことがなくてドライバレベルのことがよくわかってないのですが、NetWareってTCP/IPと違うものかと思ってたんですが。自力でSOCKET使ったコードさえ書ければいろいろ調べられると思うんですが。
りうさんの書き込みから探したところ、↓に行きついたんですが、
https://hp.vector.co.jp/authors/VA018718/towns/towns-tcpip-faq-091.txt
これによると、「TCPIPFM のプロテクトモード版ライブラリは、32bit版 Wataloo TCPライブラリ (GCC版) を High-C 1.7/1.4 で動作するように移植したものです。」とのことなんですが、これってgithubにあるみたいなんですが、今からでも移植したら使えるもんですかね。SOCKETが使えるようになりさえすればいろいろできることが増えると思うのですが。
しかし、多くのTOWNS用プログラムが散逸してしまったのが非常に惜しいですね。僕もOh!FM TOWNS終了あたりで後ろ髪を引かれる思いでメインをWindowsにしてしまったので人のこと言えないんですが。
まったく別の問題でFM-7をネットワークにつなげないかという話が上がってはいるんですが、これってさすがにまだ実現した例無いですよね? ネットワークつきのArduinoとのインターフェースを作ればネットにつながったことになるのではないか、と、いう道を模索しているのですが。でもサーバーPCを介すると反則だから、Arduinoだとネットにつながったと言っていいのかなあ。。。
2024-05-02 01:03:39
自分の言った「TOWNS(DOS)用ダイアルアップ接続アダプタ&TCPIPライブラリ」とたけがみさんの言ったTCPIPFMは同一の物と思うのですが、FTOWNSのサイトで配布されていたようですね。既に閉鎖されていますがInternet Archiveには残ってました。
https://web.archive.org/web/20010614032507/http://www.nifty.ne.jp/forum/ftowns/
「TCP/IP for TOWNS」→「ダウンロード」→「TCP/IP for TOWNS Ver 0.02 フルセット (1,298KB)」で実行ファイルとソースがダウンロード可能。
これにNetWareドライバとLANカードのドライバを組み合わせることでネットワーク接続ができるような感じだと思うのですが。
FMR/TOWNS用のNetWareドライバ(FMRWS_1.EXE/FMRWS_2.EXE)はここから入手可能のようです。
https://ftp.zx.net.nz/pub/archive/novell/clients-jp/
話逸れますが、山川機長さんがCDが劣化していると言っていた『挑戦!Linux「基本操作s&日本語環境構築』を自分も200円だったので購入してみましたが、案の定白濁化していてそのままではイメージ化できませんでした。
ですが、ドライヤーでチリチリになるまで温めてティッシュで押し付けたところ白濁部分が減少し、読み取りが遅かったもののイメージ化に成功しました。
2024-05-02 01:16:50
>705 山川機長さん
https://strawberry-linux.com/catalog/items?code=36012
↑
「この辺りを使うとFM-77あたりでもネットワークに接続できるかも」と考えたことが有ります。
ネットワークに関する知識が著しく低いので手は出せずに居ましたが、なんとかなるのかな?
MSXのネットワークカード制作などを見るとカニチップを搭載していたりするのですが、今ならこっちの方がネットワーク関連をチップが面倒を見てくれるので楽かも知れませんね。
2024-05-02 09:16:16
>706 BCCさん
CDの劣化ですが、そんな方法もアリなんですね。表面上の傷は過去に液体コンパウンドで磨いて消したことは有りますが、それも良い方法かどうか解りません。(手元に有った物で対処したので)
過去に買ってきたCDが透明で、「??? こんなCDも有るのかな?」と思ったけどやっぱり認識しなかった事は有ります。記念に置いてあると思います。(ダンジョンマスター)
2024-05-02 15:05:55
貴重なファイルがそんなところにあったとは!ChatGPTに聞いてもわからなかったのに、さすがです!CMUは再来週から夏休みに突入するので、RATOCのLANカードをネットに接続できるかやってみます!
花小金井3丁目さんによると、文教モデルは結構LANカード付で出荷されたような感じがしてますが、案外LANカード刺さってるけど眠ってしまってるTOWNSも多いんでしょうかね?
2024-05-03 03:18:22
>705 山川機長さん
RATOCのドライバはDOS用のNDISドライバやパケットドライバも入っているようなので、パケットドライバを使って(NetWare ODIドライバを使わずに)TCP/IP for TOWNSを動かすことも、(コンベンショナルメモリを大量に消費しますが)DOS LAN ManagerでTCP/IPを有効にして使うことも可能かと思います。
NetWare Clientを使うのはドライバが配布されていない富士通のLANカード(20年ほど前にヤフオクで割とたくさん出品されてました)でTCP/IPやLAN Managerを使うときの代替手段です。純粋にファイルサーバのクライアントとして使うならNetWareが一番使い勝手がいいと思うのですが。
2024-05-03 20:03:37
富士通純正カードのODIドライバは、
FM50L186/186A/187/187A: FMRLAN.COM
FM50L188/189, FMV-181/182/183/184(VTOWNS用): FJN00F.COM
FM50N183, FMV-J181(共にモデルSN用): FJP00F.COM
となっています。FMRWS_1.EXE/FMRWS_2.EXEにはFMRLAN.COMしか入っていないようです。VLMFMR1.EXEの方にはそれ以外のドライバも入っています。
2024-05-03 21:24:18
> BCCさん
僕もドライヤーメソッド試してみようかと思ったのですが、完全に破壊してしまう可能性もあると思って、最後にもう一度読ませてみたら、なぜか今日はリトライひとつなく読んでしまいました。見るアングルによって白濁が見えたり見えなかったりするので、ドライブの機嫌によって読めたり読めなかったりするのかもしれません。ということで、ディスクイメージができたので、インストールしようかと思ったらDOS6+EMM386環境で試したらクラッシュしますね。原因を調べたところ、現状ではキーボードコントローラがデータをCPUに送る間隔を最低1/600秒にしているのですが、こうすると
DOSINST5がキーボードBIOSをリセット→4バイトのデータ発生→1バイト読んだところでEMM386終了→キーボード割り込みハンドラ消滅→4バイトの残りのバイト送信→クラッシュ、
と、なってしまうのですが、この間隔をゼロにすると、
DOSINST5がキーボードBIOSをリセット→4バイトのデータ発生→4バイト次々に読んでしまう→EMM386終了→キーボード割り込みハンドラ消滅するけど関係ないので続行
と、なるようです。考えてみるとキーリピートの間隔は1/600秒ということですが、キーデータ読み取り後1/600秒待つという意味ではないので、ここでその間隔待つ必要は多分無いのですが、1/600秒待つように書いたのは何か理由があったのではないかと思ってここまでの開発の記録を見ても(そもそも長すぎて全部読めないけど)それらしいことは書いてなくてゼロにしてしまって他に副作用が出ないのかどうかちょっと心配ですね。
一応、キーボードにコマンドA3を出してからデータが帰ってくるまでの時間を実機で計測してみようと思ってますが。
2024-05-05 10:33:24
訂正:1/600秒はキーリピートじゃなくて、9600bpsから1 wordのタイミングですね。ということは、正しくは1/1200秒だった。
そのように修正したら通過しますね。そして、でもクラッシュすると思ったら -FASTSCSI オプションつけてたからでした。それはずしたら起動するようになったんで、インストールできそうです。
2024-05-05 12:42:43
MIDI出力実装おめでとうございます。
こちらでいろいろ試したところ津軽でソフトウェアMIDI以外に、外付けMIDI音源も鳴らすことができました。
津軽からはMIDIポートマッパー固定で出力されるようなので、ポートマッパーの出力先を変えるソフトで外部と繋ぎました。
確認したのはGenocide2の3面までとTownsOS V2.1L51上のGSPLAY/Pureです。
Windows95からはやり方が悪いのかソフトMIDIか内蔵MIDIになりうまくいきませんでした。
こちらはメディアプレイヤーとTMIDI PLAYERでやってみました。
以上ご報告まで。
2024-05-06 21:40:28
すみませんポートマッパーではなくMIDI Mapperでした
2024-05-06 21:58:52
すみません、誰かLinux+JE4 1995-12を実機で実行できる人いますかね? ディスクイメージ自体はLinuxなのでarchive.orgから罪悪感ゼロでダウンロードできると思うのですが、うちのTOWNSはCD-Rだと読んでくれないもので。
どうも津軽が5~6回に一度Linux+JE4 1995-12の起動に失敗するので解析してどこで詰まってるのかまで解明したのですが、どうもsysvinitのversion 2.4にはバグがあって、子プロセスを起動してから、子プロセスを記録してるstructにpidを書く前に子プロセスが終了してしまった場合止まってしまうようです。2.57bでは直ってないようです。2.88のソースではそのバグが修正されているのを確認したのですが、2.57bと2.88の間のどのバージョンで修正されたのかまでは特定できませんでした。
一応僕としてはこれは津軽の問題ではなくsysvinitの問題であると見てほぼ間違いないと結論に至ったのでほっといて次に進もうと思うのですが、そうであれば実機TOWNSでもLinux+JE4 1995-12のCDからの起動は数回あるいは十数回に一度は失敗するはずなので、それを確認したいのですが。
多分、子プロセス起動~pid保存までの間に子プロセスが終了してしまうという事態は子プロセスがディスク上のファイルであればほぼ発生しなかったと思います。ですが、CDから起動する場合、initが起動するプロセスはRAM Driveに書いてあるため、ディスクアクセスのオーバーヘッドが無く、高速起動してしまうのでこの問題が顕在化したものと思います。
2024-05-10 13:25:41
Linux+JE4 1995-12ですが、HCとモデル2で状況が違った結果となりました。なお、どちらもドライブが万全ではない可能性も有りますのでその点は考慮してください。
モデルHC→5度程度テストを行いましたが、高速モード,標準モード共に開始後各種ドライバの読み込み画面後にカーネルダンプが表示されて停止します。
モデル2→10度程度テストを行い、1度だけ最初に画面がクリアされた後に何も表示されずに停止(CDドライブが停止),他は問題なくログイン画面が表示されます。
モデルMXはドライブの調子が悪くテストを行っていません。(他のCDからの起動や読み込みも出来ないことから除外)
お役に立ちますでしょうか?
2024-05-14 00:08:45
おおなるほど。実験していただきありがとうございます!モデル2で10回に一度失敗したというのは、止まってる場所は違うようですが、多分Race Conditionのチェックが甘い個所が他にもあるということかもしれないですね。
HCで起動しないのは意外ですね。ただ、ハードディスクにインストールしたものだと、-FASTSCSIをつけて起動するとカーネルダンプになる場合があるようなので、この場合はCDですが、何か反応が速すぎるものがあると失敗するのかもしれないですね。HCだとさすがに標準モードにしても何か速いままになってるものがあるのかも。
とりあえずLinux+JE4の問題は津軽側でなんとかする必要のあるものでは無さそうという可能性が高まったように思うので、安心して(?)放置しておこうと思います。ありがとうございました!
2024-05-14 23:19:50
Pull requestを送っておきましたが、Youtubeのコメントで「津軽だとあすか120%動かない」という話があって、製品版は持っていないので実際に確認したわけではないですが天晴Vol.2に収録されている体験版と同じ症状であればマウスを接続したままだと対戦画面でフリーズする現象がある(エミュの問題ではなく実機でも同じ)ようなので新たにApplication-Specificを設けてゲームポートにマウスが接続している場合は抜くような設定を追加してはどうでしょうか。VM起動中にマウスをオフにすればいいだけなんですけど、この現象が分かっていないとそのような対処方法があるのを知らないまま津軽側の問題だと誤認する可能性が高いので、Application内の設定で用意されていれば見つけてくれるかもしれません。
2024-05-14 23:47:47
>718 山川機長さん
Linux+JE4 1995-12がHCで動かない原因はよく解らないのですが、スクリーンの推移ではSCSIの認識後にカーネルダンプが出るように感じます。(速すぎて見れない)
気がかりなのは我が家のHCはメモリが最大容量(104MBなので、そっちの原因かも知れません。(カーネルの更新履歴を見ていたら過去に64MB以上を搭載した際に不具合が有ったようです)
SIMMを外すだけなので時間が取れたら試してみます。
2024-05-15 08:59:06
自己レスです
>>714でWin95上から外付けMIDIを鳴らせなかった件ですが自己解決しました。
手動でWin95のハードウエアウイザードを実行したところ正常にデバイスがインストールされ、MIDI OUTが使えました。
スロットに実装されるだけではWin95の場合動作しないのでしたね。
こちらの件、スレッドが適切でなかったようですみません。
前回の投稿で津軽に問題があるように誤認されると困るので今回はこちらのスレッドに投稿します。
なお、私のHCはFastモードにするとCDDが正常動作しないのでlinuxは試せませんでした。ご了承ください。
2024-05-16 01:02:52
BCCさん、
たしかに、この問い合わせ多いんですよね。ありがたく、Mergeさせていただきます。いずれデフォルトでアプリケーション自動判別しようと思っているので、このオプションプラス自動判別にしたらこの問い合わせも減るかもしれません。
ここ数日、CPUコアで、ひとつのインストラクションの中で何度もオペランドサイズやアドレスサイズをチェックしてるところをチェックを減らすように書き替えたり、割り込み処理で連続Push/PopをまとめてPush/Popするように書き替えたりして、うちの3年前のPCでWindows 95のぷよぷよ通がそれなりにプレイ可能なスピードになったので効果はあったようです。タイムバランスを見るとあまり変わってないのですが。ぷよ通、しばらくプレイしてなかったので腕がなまってましたが、なんとかレベル5までコンスタントに行けるところまで回復してきました。
A列車で行こう・レジェンドパックができないか、と、思ったけどこれはXP/Vista用だったか。残念。
2024-05-17 13:40:26
動かす意味があるのかはわかりませんが、オープンソースのOS「OSASK」というものにFM TOWNS版があるようで起動させようとしてもシステム読み込み中のまま停止してしまうようです(互換BIOS使用、HIGH_FIDELITY設定)。
フロッピーイメージのダウンロード先
http://osask.net/d/download/download1.html
2024-05-18 23:54:21
おおなるほど。それは是非保護(?)したいですね。ただ、ハードウェアによるタスクスイッチング機能は必要最小限しか実装していないので、もしもそれを使っていたら難しいかもと思う反面、ソースがあるので、何を期待しているのかある程度推測することができるのはプラスですね。今週木曜まで旅行中なので、戻ったら見てみます!情報ありがとうございます!
2024-05-21 23:44:03
先ほどのOSASKリンク先だとダウンロードが不安定なようなのでこちらから
http://osask.net/d/download/index2.html
マーティーBIOSで起動させようとすると「386 16-bit INT gate not supported」とのメッセージでAbortするようで、やはりタスクスイッチを使用しているようです。
もう何点か、津軽のGUI版でModel設定をMARTYに変更してスタートすると何故かGUI上の設定が全て反映されなくなってしまうようです。
あとFREQの設定値が津軽の設定ファイルを消すと40が初期値で入りますが、あまり高速なCPUを積んでないPCだとこの値は厳しくて、適切な設定値が分からない人がそのまま起動し処理落ちや音割れに見舞われたり、FREQ 20でもメモリアクセスが実機よりも高速なため実486 20MHz(FM TOWNS II HR)機よりも早く動くんで下げても問題はないかと思いました。
2024-05-22 22:16:11
正確には、機種IDをMARTYにしている場合はBIOSもマーティーのものに変更しとかないとその他の設定が反映されなくなるようでした。
2024-05-22 22:26:48
一応、OSASK、ランチャーのGUIまで出るようにしました。起動画面まで見れます。が、何か選ぶと、
LOOP: TEST EAX,EAX
JNE LOOP
の無限ループで何かを待ち続ける状態になってしまいますね。おそらくIRQハンドラ内でEAX=0としてリターンするとかだと思いますが。うーん、何が足りないのか。
2024-06-01 11:52:17
あれ?今やったらOSASKでプログラム起動するじゃん、と、思ったら、これ.JPGとか.TXTをダブルクリックして開こうとすると無限ループに陥るっぽいですね。でも、.BINファイルは実行できるっぽい。INVADERとか起動したし。操作方法がわからんかったけど。実機でどうなるのかやってみりゃいいのか。
2024-06-01 13:13:22
なんてことだ。.JPGダブルクリックで普通に表示されるようになっちゃった。さっきまでの無限ループ起こらなくなってしまった。一応、OSASKもサポートできたっぽいということで。半角フォントの表示がまだおかしいかな?
2024-06-01 13:47:12
ちなみにOSASKのドキュメント内に気になる記述があって、CX以降であれば確実にCompact Flashカードを読めるらしいんですね。コードを解析すれば読む方法がわかるかも。ちょっと世の中おもしろいことが多すぎてなかなか手が回り切らないですが。
2024-06-01 22:54:17
OSASKの起動、おめでとうございます。
CompactFlashカードの件、下記リンクのPCCTOOLを用いた実験では過去にHCでPCMCIA_SDカードで読み書き可能でした。
EXPプログラムに仕立てようと考えましたが未だ未着手ですが。
http://oswiki.osask.jp/?pcctol
2024-06-03 09:24:50
YM2612(陸奥ではYM2203)のエミュレートでSustain Levelテーブルが-3db毎に変化し最大値だと-45dbとなってますが、実際は-42dbから一気に飛び越して最後だけ-93dbのようですがどうでしょうか。
同じチップが載っているメガドライブの開発資料、OPN系の仕様書いている記事、その他エミュのソースコードでもこのように実装されているのでこれが正確かと思います。
https://est.ceres.ne.jp/2020/12/16/opn-params/
https://lipoyang.hatenablog.com/entry/20131112/p1
ソースコードの該当箇所だと
void YM2612::MakeSLtoDB100(void)
{
for(unsigned int SL=0; SL<15; ++SL)
{
SLtoDB100[SL]=SL*300;
}
SLtoDB100[15]=9300;
}
このようになるはず。
2024-08-22 14:42:47
おおなるほど。デシベル値は、そのようにすると実機に近くなるっぽいですか?
2024-08-27 06:48:50
これに該当する音色(各オペレータSLに15が設定されるトランペット)が流れるTownsOS付属のEUPを流したところ、出だしのトランペットが弱まり、-45db時よりは早く減音することは確認できました。
が、この変化が実機通りかはまだ定かじゃなく、記憶だと-45dbが近いような気もしてくるんですよね。
EUPプレーヤーのVELOCITYメーターの動きと音の流れが-93db時の方が近い、うんづでも-93db相当の音で、結構思い出補正も激しいんでマーティーでもいいから実機確認もしてみます。
2024-08-27 12:19:14
実機(マーティー)で該当曲を鳴らして確認しましたがやはり-93dbの方が実機に近い印象でした。
2024-08-27 20:50:05
なるほど!では、修正も簡単そうだし、そのように変更してみましょう。僕も変更前と変更後で何曲か聞いてみますね。
2024-08-27 22:27:44
津軽でMIDI音源がリセットできないというのを見つけて、MIDIの知識がなくて前に提示したソースでは0xF0から始まるMIDIメッセージも長さが2バイトという扱いにしてましたが、これはシステムエクスクルーシブという音源(GS・GM・XG等)固有のメッセージのようでF7の値がくるまで長さが可変のメッセージデータなんですね。
https://dtm-hyper.com/midicc/sysx.html
0xf0だったらf7がくるまで配列に貯めてmidiOutLongMsgで出力するようにすればよさそうです。
http://www.sm.rim.or.jp/~shishido/midimsg.html
2024-11-25 02:36:14