FMTowns情報

  • 1 名前: WINDY ID:0YWYwODA1

    FMTowns新エミュレータ Tsugaruの情報交換用スレッドです。
    Tsugaru : http://www.ysflight.com/FM/towns/Tsugaru/j.html

    2020-07-28 12:41:40

  • 83 名前: WINDY ID:2NzEzYjM1

    >82 山川機長さん
    マウストランスレートを試してみました、見違えるような操作感となり非常に面白い機能だと思います。
    1点だけ余裕が有ればお願いしたいのですが、私のコントローラが少しボロいのかセンターで安定しない傾向がある事も要因ですが、センターに遊びが有れば少しのアナログ値のふらつきに敏感に反応しなくなるので、"-FLIGHTMOUSE 0 320 135 400 300 10"みたいな感じで設定できると良いかと思います。 ←の場合は10%

    2020-09-03 23:09:44

  • 84 名前: 山川機長 ID:mMzJjZGE3

    おおなるほど!やりましょう!というか、やりました。今晩のソースでZero-Zoneが指定できるようになります。

    2020-09-04 00:58:09

  • 85 名前: 山川機長 ID:5ODIwMDY3

    ハードディスクのサルベージ成功しました!必要なのは、津軽の環境の他にSCSI2SD(または相当品)と、動作可能なTOWNS実機です。詳しくは津軽のドキュメントに書きますが、
    (1)実機上でイメージツール(ソースはひそかに既にGithubのtownsapp/hdimage/hdread.c)を使って、SCSI2SDのドライブにイメージをファイルとして保存。
    (2)Win32DiskImagerなどを使ってSDカードのイメージをPCに読み込み。
    (3)津軽にマウント
    (4)津軽ファイル転送プロトコルを使ってイメージファイルを抜き出す
    (5)つなげて終わり。
    です。津軽ファイル転送プロトコルは、VNDRVで双方向のファイル転送が実現するようになったらそっちの方が手軽になると思われますが、とりあえず当面のつなぎとして使えると思います。CUIからしか使えませんが、コマンドで、
    VM2HOST vmFileName hostFileName
    というコマンドを打っておいて、VM上でこれもソースはgithubにある ftclient.exp を実行するとファイルが転送されるという仕組みになってます。Host to VMの場合はHOST2VM。これも、EXPファイルをgithubに出さないと使えないですね。そのようにします。

    で、OASYSを起動してみようと思ったのですが、I/OにリセットをかけてHLTがかかって止まりました。そういえば、リセットボタンやI/Oによるリセットのシーケンスがわからなくて実装してないのですが、どうやったもんですかね。基本的に各デバイスにリセットかけてCPUの起動ベクトルに飛ばせばいいのかな?でもそれだと普通にTownsOSが起動してしまう気がする。

    しかし、OASYSのイメージができたのは大きい。実家から回収してきたOASYSのフロッピーディスク読めなかったし。

    2020-09-06 23:21:03

  • 86 名前: 山川機長 ID:5NTVjNmJj

    ついさっきPUSHしたソースで、ストライクコマンダー専用 -STCMTHR オプションをGUIにも出しました。これを使うとストライクコマンダー以外のアプリケーションではフルキーの1,2,3,...,0をアナログ軸を動かすことで入力できます。ストライクコマンダー以外にまったく使い道が思いつきません!

    あと、バーチャルキーもGUIに出したのでパッドのボタンにキーを割り当てられるようになりました。RPGなんかで移動にパッド、他の操作にキーを使ってたようなやつには応用できる鴨しれません。これってUSキーボード使ってるときかな漢字変換キーに割り当てておくとテストに使えるという実用的な意味があることも判明しましたが。しかし、OAKを使ったことがあると今のMS IMEがあまりにも頭が悪くて日本語はTOWNS上でタイプしたくなってくる。というか、Windows 10についてくる最新版って、前のバージョンにはあったアルファベットと数字を常に半角に変換する機能が無くなってるのは英語版Windowsに日本語をプラスしたからなんでしょうか。あと、まったく学習しない気がするのですが。何度やっても僕が頻繁に使う単語を覚えないし。日本語版Windows 10だとここまで酷くないもんですかね。あまりにも日本語と英語が混じった文をタイプしづらいのでATOKを買ってしまおうかと思ってるのですが。ううう、富士通にはOAKだけ売ってほしい。

    2020-09-09 09:43:18

  • 87 名前: WINDY ID:iZGExNGNm

    >86
    アップデート有り難うございます。-STCMTHRオプションは確かにニッチすぎる実装ですが、こう言ったオプションはある意味において可能性を示す無いようだと思います。

    OAKは流石に今は有りませんが、OAKの後継としてはJAPANISTが有ります。2021年5月で終売,2026年6月でサポート終了です。
    私はWINDOWS環境では頑なにMS-IMEとATOKを拒み、JAPANISTを使っております。使い心地はほぼOAKなのでこれを機に是非ー検討ください。
    https://www.fujitsu.com/jp/products/software/applications/applications/japanist/

    2020-09-09 09:56:39

  • 88 名前: 山川機長 ID:lMzVjMmJm

    リリース出しました!内容は、既にここで書いた通りですね。

    ちなみにI/O 0020Hによるリセットに対応して、OASYSが起動しないか、と、思ったんですが甘かったですね。赤本だと0020Hに1を書き込むとCPUとFPUにリセットがかかるということですが、他にリセットするべきものがあるのかどうかですね。ただ、4A20:10E6でOUT DX,ALでリセット信号出して、次のバイトでHLTで、SYSROMのブートコードを通ってきてHLTの次のバイトにジャンプしてくるので、シーケンスは正しいっぽいです。でも、残念ながらその後エラーメッセージを出そうとして止まってますね。Windows 3.1も試しに起動しようとしてみましたが、Windows 3.1のロゴまでで止まりました。UNZってOASYSとWin3.1って対応してましたっけ?UNZでトライしてもCS:IPを見ると同じとこまでで止まってるっぽいので、イメージ化に失敗したかそもそもディスクドライブの内容が既に壊れていたという可能性もあるんですがね。明日 CR2032のソケットが来るのでMXのバッテリーを新しくしたら実機でどうなるかいろいろやってみるつもりです。

    2020-09-10 09:03:21

  • 89 名前: WINDY ID:5ZTI3ZGEy

    >88
    OASYSですが、うんづの掲示板に以下の様な書込が過去にあります。その後に動かないとの書込がないと言うことは動いたのでは?と思います。
    https://8730.teacup.com/townsemu/bbs?page=24&

    2020-09-10 09:49:54

  • 90 名前: 山川機長 ID:iOGNlOTUy

    おおなるほど!書き込みを見ると、OASYSパーティションからの起動にも対応すれば完璧、というような記述があるのでひょっとするとFD起動しか対応していない可能性もあるでしょうか。OASYS.EXEの動作を調べているのですが、多分OASYSのIPLと思われるコードをセグメント4A20H~に読み込んで、その中でI/O 0020Hに1を書き込んでCPUにリセットをかけているのですが(書き込み後HLT)、その後SYSROMは、HLT命令の次のアドレスにジャンプしてきて処理を続行するのでおそらくOASYSパーティションのIPLを読み込んで、正しい起動シーケンスが始まっている模様です。しかし、エラーメッセージが出るもののメッセージは完全に壊れているというとこで止まってます。今試している方は実機で起動を確認していないので、起動が確認できている昨日の晩にイメージ取った方でどうか、やってみます。FD再度見てみたのですが、カビがひどいんですね。多分読み込めないし、一応拭き取れる限りのカビは99%アルコールでクリーンしたものの、FDドライブに入れるのも不安という状況でした。

    2020-09-11 21:46:32

  • 91 名前: WINDY ID:jOWY2YWVj

    いつぞや津軽のエミュレーションスピードに関して、リニアアドレス→物理アドレスのお話があったと思います。
    PC-9821エミュレータであるSL9821のページ(http://www.satotomi.com/sl9821/)にある、技術的なはなしのなかで同様の事項が有りますが作者であるsatotomiさん工夫が紹介されています。

    津軽のエミュレーションエンジンの構成まで見てなのでアレですが、毎回リニア→物理変換を行わずにセグメントごとに内部でキャッシュしておいて対応しているようですね。

    2020-09-30 17:49:18


全部読む/ 最新50/ 1-100/ 掲示板トップ リロード

  • 1 名前: 山川機長 ID:1MDZmYzQ4

    スレッド分けました。内蔵CDが故障してしまったTOWNSをフロッピーディスク経由でSCSI CDから起動するブートローダープロジェクト用スレッドです。一応、フロッピーディスク経由の場合と、SCSI2SDや変換番長のような仮想SCSIデバイスからの起動の両方を想定してます。似たようなことは既にYSSCSICD.SYSでできていますが、TownsOS起動ディスクに組み込む必要があるので、ディスクの再配布していいか微妙なのと、特殊なドライバを組み込むタイトルでは専用起動ディスクが必要などの問題がありましたが、このプロジェクトはその2点の解消を目指してます。

    まだ津軽上の実験ですが、SCSI CDドライブからIO.SYSを読み込み、INT 93Hなどをインストールして、MSDOS.SYSまで読み込んだところで処理を迎撃することに成功しました。まだ青森県地図の表示はできてません。

    しかし、迎撃地点ではMSDOS.SYSは読み込んでいるものの、まだINT 21HがEnableされていないようで、INT 21H AH=48Hでメモリを確保してやろうと思ったら固まってしまいました。これ、INT 21がまだ使えないのではなく、実はPSPとかが存在してないからという可能性もあるんですがね。ただ、考えようによってはBIOSのRedirectorをインストールしようと思ったらこの迎撃地点は悪く無くて、IO.SYSには内蔵CD-ROMから起動したと思い込ませているはずなので、ここでINT 93 AL=C0HがすべてSCSIにリダイレクトされるようにすると、IO.SYSは何事もなかったかのようにSCSI CDから起動してくるはずです。

    問題は、リダイレクタをインストールしたとして、リダイレクタが使用するアドレスがその後別のプロセスに上書きされてしまうことを防止しなくてはならない点です。そのために、その後さらに調べたところ、どうも、MSDOS.SYSにジャンプするときのDXの値がMSDOS.SYSが使ってもいい最後のアドレス (DX=B800Hだと物理B8000Hまで使える)になっているようなのですが、どなたかこの解釈が正しいかご存知の方いませんか?また、そうした場合、DOS ExtenderがB8000~BFFFFを使わないと言えるのかという問題もあるのですが。nabeさんとか知ってそうと期待していたりするのですが。もしもこの解釈が正しければ C000H をDXにセットしている場所にパッチを当ててやれば、BIOSリダイレクタ置き場を作ることができるはずです。

    これまで津軽のデバッガでMSDOS.SYS入り口で止めてLET DX B800H として放流してやった上でV2.1 L20上で何本かEXPファイルを走らせてみた限りではB8000~BFFFFは守られているようでした。

    別な方法としては、もともとのCD-ROM BIOSはいらなくなるので、IO.SYSを識別して、もとのCD-ROM BIOSが書いてある場所にリダイレクタをインストールしてしまうという手もあるのですが、やや乱暴な方法で、多分CD-ROM BIOSは一か所に固まっているのですが他のINT 93Hがその部分のPROCを使っていたらこの手は使えないですね。

    また、できればC0000H直前ではなくもっと下の方のIO.SYS直後あたりにインストールしたいところなのですが、どこでIO.SYSが使っていい領域の最初のアドレスをMSDOS.SYSに渡しているのやら。それはまだ見つかってません。ただ、IO.SYSのサイズはTownsOSのバージョンによって異なってもどのTOWNSのMSDOS.SYSを使っても起動できるということは、どこから使っていいかという情報もIO.SYSはMSDOS.SYSに絶対渡しているはずなんですがね。

    2020-09-24 09:22:42

  • 7 名前: たけがみりう ID:2YjUyNzRi

    >6 (ただの自爆)
    ああ、純正ベクトル文字カードとかCAR MARTYとかのROM系カードにも対応してたか…(完全な自爆

    2020-09-26 18:27:55

  • 8 名前: WINDY ID:5MmYwNTY1

    >6
    正式にはその通りなのですが、TOWNSの場合はICメモリカードスロットの構造が専用コントローラではなくてもっと原始的に実現されている物ですから,ひょっとしたらメモリアクセスのみで読み書きが出来るデバイスについてはサポート出来るものが有るのではないか?との疑問から来たものです。
    SDカードについては、4in1Adapterが内部でCF←→SDのプロトコル変換を行っていると勝手に思っているのですが、そもそもCFカードアダプターが読み取れなかったので、CFの時点で駄目なのかも知れません。(CDカードアダプタ,4in1Adapterの2つで試したのは、それぞれメーカーが異なる事での相性問題を考えての事です)
    F-ROMカードやベクトルフォントカードについてはROMやフラッシュメモリである事から、条件としてはSRAMカードと同じようにリニアにメモリへマップされるメモリタイプでないと読めないのかもしれませんね。

    2020-09-26 23:02:17

  • 9 名前: 山川機長 ID:wNDNkMTYx

    電源の修理は失敗したのですが、とりあえずAT電源化ケーブルの生産に成功したので(ラジオペンチで虫眼鏡で見ながらクリンプするのめちゃくちゃ目が疲れた)、試しにブートローダーから起動してみたところ、ばっちり起動しました!なお、内蔵CDドライブには天晴CDが入ってました。これでMXとHRは動作を確認できました。あと、別の知り合いのTOWNSユーザー(アメリカ人)が彼のTOWNSでも成功と報告してくれたのですが、機種を聞くのを忘れました。HRは電池をソケット化したものの、CMOSが飛んだ環境でのテストを続行するためにあえて電池を入れてません。

    これでうちにMXとHRと2Fがあるという状況になりましたがスペースの都合で一度に一台しか稼働状態にできないんですがね。HRのドライブはCD-Rは読めないですね。仕様なのか、劣化なのかはわかりませんが。HR使ってみた感想ですが、現状の津軽ってCore i7の3GHzでHRの高速モードぐらいのパフォーマンス出てるのではないかという気がしました。

    考えてみるとICカードからのブートローダーも作っておくと、誰かがICカードの生産に成功したときに役に立つかもしらんですね。アセンブリプログラミングは楽しいから作っておこうかな。なお、ブートローダーの津軽での検証ですが、

    .\Tsugaru_CUI.exe ROM_MX -SCSICD5 TownsOSV2.1L20.cue -FD0 FDIMAGE.BIN

    こんな感じでできます。現在、CD-ROMドライブは後半のSCSI IDからスキャンすることにしたつもりがうっかり0番からスキャンしてたみたいでID5,6にSCSI CDつなげてたら5番から起動したよと言われたので、直します、というか、これはほっといてもいいか。

    2020-09-27 23:56:49

  • 10 名前: たけがみりう ID:5MDQ2OTIy

    >8 WINDYさん
    pureTOWNSの大半のモデルはJEIDA 4.0まで対応ということで、「I/Oモード」がないのではないでしょうか。おそらくSNのシステムROMでもI/Oモードを用いるデバイスからの起動には対応してないでしょうし…

    なお、TOWNSのICメモリカードスロット等の情報に関してはOSASKのWikiが詳しいと思います。
    http://oswiki.osask.jp/?PCMCIA

    2020-09-28 01:23:08

  • 11 名前: WINDY ID:xMDRkNzcw

    >10 りうさん
    仰る通りで、pureTOWNSではI/Oモードは有りません。(文教タイプは詳しく解らないので、含みません)
    なので、いわゆるCardBusカード等は一切使用できませんが、I/Oを使用しないカードは使用できる望みがあると思っています。

    OSASKのWIKIでも様々な試みが行われていましたが、結局の所どうなのかが解らない状態でしたので今回、私で用意できたメディアでほぼ再検証に近い内容ですが試しており、
    CDアダプタや4in1adapterに関しては、殆ど駄目もとで試しているのが現状です。
    (それ以前に山川機長さんに作成していただいたカード領域のダンププログラムが私の実機(HC)でハングアップするので、そちらを動かすのが先ですが)

    2020-09-28 08:01:28

  • 12 名前: 山川機長 ID:iNGVhYTg0

    (ブートローダーの他にHR復活させたり、Thursutmaster TOPGUNジョイスティック[2本目]修理したり内容の濃い週末だった。。。。)
    とりあえず、ysflight.comにもページ作りました。
    http://www.ysflight.com/FM/towns/bootloader/j.html
    http://www.ysflight.com/FM/towns/bootloader/e.html (英語版)
    結構アメリカでTOWNS動態保存しててくれる人多いみたいなんですよ。ありがたいことです。多分、この勢いだと来週にはSCSI2SDや変換番長などを使って起動できる救難ブートローダーもできていると思います。これに成功するとCDドライブもFDドライブも死んだTOWNSも金の力である程度よみがえらせることができるようになりますね。引き続き開発続行します。なお、津軽の開発が相対的に遅くなってますが、ひそかにSCSIコマンドの2バイト目の処理を実機に近づけるなどの変更も入ってます。はっ、既に秋学期が始まってるのに僕はこんなことをしていていいのか!?

    > りうさん、WINDYさん、

    今のところICメモリカードブートローダーは自分の環境で目処が立たないので保留にしてましたが、考えてみたら作って置いたら誰か方法を編み出したら起動できるかもしれないですね。一応SCSI HDのIPLが済んだら、作っておきましょうかね。

    2020-09-28 09:51:35

  • 13 名前: 山川機長 ID:iNGVhYTg0

    今、衝撃の事実に気が付いてしまいました!

    ついさっき、まさかと思うけど一応なあ、と、思って津軽上で試したところ、なんと!MXのSYSROMですが、普通にSCSIのCD-ROMドライブのブートセクタ読み込んでジャンプしますね。HDDもCDもSCSIの読み込みコマンドは同じで、セクタサイズは違うものの、セクタ0から読み込むのでどっちもメディアの先頭だから、ひょとしたらと思っていたのですが。読み込み前にINQUIRYを出しているのでHD以外だったら読まないと思ってたら、気にせずREAD 10 (28H)を出すようです。

    当然、内蔵CDのつもりでブートしようとするので、「不法な割り込みが発生しました」と出るのですが、じゃあ、実機で本当にそうなるかやってみりゃいいじゃん。ということで、やってみたら、なんと出ました!「おお、MX実機でもSCSI CDから起動できるんじゃん!」と、思ってよくよく見てみたら、そういや今日からHRが置いてあるんだった!うっかり、津軽上ではMXのSYSROM、実機はHRのSYSROMで動作を確認してしまいました!

    ただし、2FのSYSROMだとだめだったので、おそらく、雰囲気としてCX以降はSCSIにつながってればHDDでもCDでもブートセクタを読むのではないでしょうか。

    だとすると、別の起動メディアいらないという事態に発展してしまうんですが。SCSI接続のCDドライブとCD-Rが一枚あればFM TOWNS II以降の救済ができてしまうということに。ただし、CDの入れ替えが必要なので、少し複雑になりますが、パッドのボタンかなんかで対応すればいいだけなので、大した手間ではありません。どうせメニュー作ろうと思ってたし。

    とりあえず、先にこの路線をやってみます!

    2020-09-28 13:23:12

  • 14 名前: 山川機長 ID:5Nzk3MzU2

    すごいものができてしまった。

    https://github.com/captainys/FM/tree/master/TOWNS/IPL

    まず、DISKIMG/CDIMAGE.ISOですが、これをCD-Rに焼いてSCSI CD-ROMドライブに入れて起動するとCDを入れ替えてパッドかマウスのボタンを押すように言ってくるので、そのようにすると、SCSI CD-ROMだけでTowns OSを起動できます。

    で、次がBOOTSECT/BOOTSECT.BINで、Towns OSのISOイメージを取って、最初の6KBをこのデータと置き換えると、SCSI CDから起動できるTowns OSになります。

    津軽上ではMXのROMで、実機ではHRで確認しました。HRはあえてCMOSバッテリーをはずしてあるので、CMOSが飛んだTOWNSの起動に使えます。

    なお、CDドライブのSCSI IDは0~3の間である必要があると思います。それから、多分CXからこの手が使えると思いますが、少なくとも2Fだとだめです。
    SCSI CDドライブがスピンアップするのに時間がかかるようだと最初の起動デバイスのサイクルではタイムアウトして失敗するかもしれませんが、次のサイクルで起動すると思います。僕が使ってるCDドライブだと一度目はタイムアウトで失敗して二度目のサイクルで起動します。なので、ハードディスクなどははずしておく必要があります。が、最近の使い方を考えるとハードディスクイメージまではエミュレータ上で作っておいて、あとはCMOSさえ設定できれば起動可能という状況にすると思うので、救済目的には十分すぎると思います。

    今のブートローダーの仕組みは、IO.SYSの途中で処理を迎撃して、YSSCSICD.SYSをインストールしてから処理を返してやることでSCSI CDドライブからの起動を可能にしていますが、YSSCSICD.SYSだけ見ると32KBもあって、とてもブートセクタに入らないかに見えたのですが、そのうち28KBぐらいは、 DUP 2356*12 dup (0) が占めているので、実質的に4KBでした。そして、HRとMXのSYSROMはSCSI CDドライブから最初の4セクタを読み込むので、8KB使えます。ということで、ローダーを含めても余裕で青森県地図まで含めて収まってしまいました。

    よかったら試してみてください。

    2020-09-29 07:49:19

  • 15 名前: WINDY ID:0YmI0YTQ1

    >14
    あまり考えていなかった方向で突破口が開けてきて面白いです。

    取り敢えずCDIMAGE.ISOを試そうと思ってCD-Rに焼いてみました。
    モデル2は予定通り駄目でしたので、HCで試そうと考えたのですが内蔵HDDを外すのが面倒くさくなってドライブ構成から削除してトライ。
    と、ここで、ドライブ構成から削除してもIPLはそんなの見てなくてIPL4のシグニチャを持つドライブを発見したら読み込んじゃうので意味無い・・・・ 想像通りIPLを読み込んでハングアップ(IPLより先はドライブ構成が必要なのに削除しちゃったので?)でした。
    取り敢えずモデル2は駄目(と言っても全く無視するわけでも無く、エラーが出てスキップしていた)と判ったので、HCの方は後ほど動作確認を行います。

    CDIMAGE.ISOを焼いたCD-RはWINDOWSで見たら空っぽだったのですが、これでOKですか? (IPLのみだから見えないのかと解釈しています)

    折角なので最終的には開いたスペースでデモを仕込むのも有りだと思います。(山川機長さんHPより)

    2020-09-30 10:57:47


全部読む/ 最新50/ 1-100/ 掲示板トップ リロード

  • 1 名前: たけがみりう ID:1NjNhMmQ0

    雑談スレッドでハードウェア解析や考察が話題となっていますが、個人的に別途スレッドを立てた方がよいと思ったので立てました。
    強制はしませんが、今後のハードウェア解析や考察についてはこちらのスレッドで話題にしていただけると助かります。

    2020-09-24 09:40:33

  • 2 名前: 山川機長 ID:lYzAwMDRi

    現在、去年ヤフオクで落としてアメリカまで輸送したまままだ未処理だったHRの電源を修理しようとしてます。コンデンサは全部交換しますが、なんかリレーが死んでるような気がするのでリレーも交換してみて、それでもだめだったらAT電源化する予定です。

    当然のごとくバッテリーも死んでいるはずなのでソケットに変換しようとしてます。一応、MX、MAがCR2450だったのでHRも同じだろういう予想はできましたが、確認しました。同じCR2450でした。一応、報告でした。

    2020-09-27 03:51:19

  • 3 名前: WINDY ID:kMmUxNDFm

    旧スレッドからのネタです
    ・モデルHC(たぶんMシリーズやFreshも?)のCD-ROMについて、読み取り不良を何とかしたかったのでえすびさん方式(ピックアップのトリマ調整)を行いました。
    結果としては上々で、いままであれ程読めなかったCD-ROMが確認した限りでは全て読めるようになりました。
    私の場合はトリマを右に10°程度右に適当に回して当たりでした。
    CD-ROMが不調な場合の1つの方法としては有効ではないかと思います。(http://sbeach.seesaa.net/article/475985723.html)

    ・モデルHCのFDDについて、以前ジャンクで購入してきたドライブに交換して3モード共に正常でしたのでWIKIの方に記載しておきました。
    交換したドライブは YE-DATA製 YD-702D-6238Dですが、1点だけ注意点が有ります。 (ドライ部側コネクタのバンプ溝が天地逆となっていますのでドライ部側コネクタを加工する必要があり)
    同時に購入してきたMITSUMI製 D63119は正常動作しなかった為、原因を究明中です。(非常に綺麗なのでドライブの不良とは考えにくい)

    2020-09-28 00:19:19

  • 4 名前: WINDY ID:zZGRmMzc3

    上記ネタでTOWNSを久しぶりにバラした時に今更気づいたのですが、HCにはPLCCソケットでH8マイコンが搭載されていました。
    赤本等の資料には一切その様な記載が有りませんが、どなたか情報をお持ちでしょうか?

    逆に赤本ではCDCとしてMB88505が搭載されていると記載されていますが、こちらは見つけることが出来なかった(そもそもよく見ていなかった)のでひょっとしたら2倍速化の際等にCDCがH8に変更されているのか? とも思っています。
    (今度機会を造ってH8のピンとCD-DRIVEのピンをテスターで計ってみようかな)

    2020-09-28 13:10:57

  • 5 名前: たけがみりう ID:3ZmQ0YmNl

    >4 WINDYさん
    遡ると確かHRでHD64180系マイコンに変更されていた記憶があります(おそらく64KB先読みキャッシュのため?)。
    その後6代目(白TOWNS)でH8マイコン(Oh!誌のDr.ちゆきの分解記事の写真(暗いですが)によると「H8/325」)に変更され、それが7代目(Oh!誌の分解記事の写真によると「H8/324」)にも引き継がれているものと思われます。
    なお、V-TOWNSではATAPIから独自I/Fへのエミュレーションの関係上、CD-ROMコントローラエミュレータもTOWNSカード上のVM386SXで実行されるファームウェアに実装されています。このあたりを更に深掘りしてみれば白TOWNSにしか実装されていないADPCMデコーダ以外の仕様が見えてくるかもしれません。

    2020-09-29 19:04:50

  • 6 名前: WINDY ID:5ODllOWNi

    >5 りうさん
    有り難うございます。 Oh!誌はFM-7を使っていた頃から欠かさず購入していましたが・・・・
    そのような記事が有ったことはすっかり記憶から欠落していました。

    深堀ですか・・・ 深堀ですね。 流石に回路図を起こす事は出来ませんが、なるべく高精細で写真を撮る事は出来ると思います。(LANカードとかMIDIカードとかの写真は撮ったのですが、メインボードは途中で面倒くさくなって・・・)
    何せASICが結構使われていますので配線を追ってもそこで手の打ちようが無いのが残念ですが想像は出来そうな気がします。
    ビスが異常に多いのでバラすのには時間がかかりますが、初代のような箱根細工風でもないのが唯一の救いです。

    2020-09-29 23:55:36


全部読む/ 最新50/ 1-100/ 掲示板トップ リロード

  • 1 名前: WINDY ID:0NzBlMGQ3

    他愛もないない事から、悩み事までなんでもお書きください。

    では、手始めに私の困ったことから。
    我が家のTowns・・・ モデル2FとMXとHC(MXは実家に置き去りにしていますので手元には無い)ですが、MXとHCはCD-ROMが弱っているようでCD-Rが読めなかったり、
    特定のCD-ROMから起動できなかったり・・・・ FDDはメディアが悪いのか,安定しない状態です。
    かといってSCSIのCD-ROMドライブを持っている訳でも無いので、Windowsとのデータのやり取りに苦慮する場面がチラホラとあります。
    真剣に内蔵CD-ROMを何とかする手だてを考えないといけないのだろうか・・・・ みなさんのTownsの状況は如何ですか?

    2020-07-29 10:03:48

  • 120 名前: WINDY ID:3NTBkMWYz

    >>119
    そうですね、しかも自分のではなく人さまのアドレスを書くとは。 軽率でした。
    一旦削除して再書き込みをしておきます。
    有り難うございます。

    2020-09-24 00:22:25

  • 121 名前: WINDY ID:3NTBkMWYz

    >116
    シリーズのどこまで有効なのか判らないのですが、TOWNSのIPL読み込み直後の各レジスタの意味合いは下記の通りです。

    ・AXレジスタ
    1MB以下の物理メモリの装着状態をビットイメージで表現(ビットONでメモリが存在)
    b0→0x00000000~0x0000FFFF
    b1→0x00010000~0x0001FFFF
    ・ ・
    ・ ・
    b15→0x000F0000~0x000FFFFF

    ・BXレジスタ

    ブートデバイス種
    BL → 0x01=HDD, 0x02=FDD, 0x04=IC-CARD, 0x08=CD-ROM, 0x80=CXが有効(※詳細不明)
    BH → ユニット番号(FDならドライブ番号,HDDならSCSI-ID,IC-CARD or CD-ROMなら意味がない)

    ・FLAGS

    全ビットクリア状態

    ・その他

    AHにエラーコードを設定してキャリーフラグを立ててfar RETすると次のデバイスからブートしようとする

    ※情報源 : Yukio KATOHさん FDIPLTソースファイルより

    2020-09-24 00:24:09

  • 122 名前: pin ID:kNmJiNzQz

    CRTCのふるまいをモデル化すべく実機(MA)で調査を進めていたのですが、
    高解像度機では(それとも一定の機種以降?)CR0の下位4ビット(CL0, CL1)は何を設定しても表示には影響しませんでした。
    (赤本のレジスタセット28番で実験)

    ありそうな話としては、新CRTCで従来のCRTCの動作をシミュレートしているせいでしょうか。
    ここを変えることでVRAMからのデータ供給頻度とCRTへの出力頻度を相違させることができ、壊れた表示の周期に
    内部構造の情報があらわれるかとも思ったのですが、なかなか思ったようにはいかないものですね。

    2020-09-24 01:30:59

  • 123 名前: たけがみりう ID:1OGUwZThj

    >122 pinさん
    実は初代からCRTCにも(無意味に)設定値があるだけでビデオ出力制御レジスタ00(でいいんだっけ?)のほうの設定が優先される可能性はあります。
    あと、MX/MAはMF(Fresh)/ME以降の中解像度機と違い、スキャンコンバータを切れば4種類のドットクロック設定もきちんと反映されるので(MF/ME以降の中解像度機は2種類のみ)、新CRTCに従来のCRTCが内包されているともされていないとも言い切れないのですが…やたらと画面まわりの制御用と思われるチップが増えているのだけはわかります(ぉ

    2020-09-24 09:38:14

  • 124 名前: たけがみりう ID:1OGUwZThj

    こちらの『雑談スレッド』がICメモリカードやCRTCの話題に埋め尽くされるのもアレなので、ハードウェア解析・考察スレッドを別途立てました。以上です。

    2020-09-24 09:41:53

  • 125 名前: Type.D ID:zYzEwNWMx

    お久しぶりです。
    津軽への質問はこの辺で宜しいでしょうか。
    日本語キーボードで"keyboard translate"コマンドでモード移行した状態でエスケープキーを押そうとした場合、ESCを押しても反応しないのですが、translateモードでESCを入力する方法はありますでしょうか。
    Directモードでチルダキーとして@キーでESC相当になるのは承知していますが、translateモードで毎回モードチェンジするのは厳しいです。
    起動パラメータに指定したいくらいなのですが

    2020-09-28 05:03:50

  • 126 名前: Type.D ID:zYzEwNWMx

    すみません途中で送信してしまいました。上記の件、ESCに割り振るという案はどうでしょう。Breakはまず使わないですし。
    ファイル操作にDOSのファイラを使っているのでどうしても引っかかっています。
    以上、ご検討お願い致します。

    2020-09-28 05:09:20

  • 127 名前: 山川機長 ID:0NjZkYzdi

    おおなるほど。うーん、BreakはF-BASIC386で使ったりします。ただ、どちらの場合もESCとBreakが両方出ても困らない気がしてきたので、Translation ModeではBreakキーとESCキーを両方押したことにしてみましょうかね。多分Breakが効く状態ではESCは効果が無くて、ESCが効く状態ではBreakには効果が無いのではないかと思います。。。。。

    ここまで書いてF-BASIC386のプログラムでESCを待ってるやつがあったらESCを押したら止まってしまうということに気が付いた。いや、けどESCを使うようなBASICプログラムだったら多分DIRECTモードで使っても大丈夫かな。とりあえずやってみて、あまりよくないようだったらパラメータとコマンドを追加しましょう。

    2020-09-29 21:51:04

  • 128 名前: Type.D ID:yNDY2NWM0

    >>山川機長さん
    ありがとうございます!

    2020-09-29 22:26:24


全部読む/ 最新50/ 1-100/ 掲示板トップ リロード

  • 1 名前: WINDY ID:5YWNmNTg5

    FMTownsのアプリケーションの動作報告用

    2020-07-28 13:17:50

  • 95 名前: WINDY ID:2N2I2YzE0

    ジャンクで買ってきたYE-DATAのドライブに交換してFDDは復活しました。と言うかひょっとしたら元のFDDは生きているかも。
    元々HCはFDDが1台なのを、末期にFMT-FD304を買って2ドライブにしていたのですが、この前電池を外付けに改造した際に使い込んだドライブ0とほぼ使用していないドライブ1を入れ換えて組み立てたのですが、今日になって外したFDDを見ていてドライブセレクトのジャンパピンがDS1側になっているのを発見しました。
    DS1に設定したFDDをドライブ0のケーブルにつないでいたのが原因なのではと思っています。

    後はどうやってネットにあるイメージ化ソフトを持っていくか・・・・LANか?(色々と面倒くさい)
    山川機長さんの発言を思い出して、互換モードでCD-Rを読んでみたら読めたので、CD-R経由で試してみようと思います。

    ドライブセレクトの件も有るのでもう一度HCの蓋を開けるので、どのドライブで置き換えたかは確認してこちらとWIKIに情報として挙げておきます。

    2020-09-08 23:16:19

  • 96 名前: 山川機長 ID:4ZmVlMmI1

    うちのMXのAドライブは、FDクリーナーを2回かけたらTownsOS V2.1 L20のディスクから起動できるようになりました。ところで、MXのドライブは電源が矩形コネクタと一緒になっているので普通のDOSのドライブではコンバータを作らないと置き換えられないというようなことを聞いたのですが(確かに開けてみたら電源ケーブルっぽいのが見えない)、ピンアサインメントって解明されてますかね?実はこれがわからないとHxCとか持ってきても置き換えられない気がしてきてます。

    2020-09-09 02:26:09

  • 97 名前: pin ID:yOTRiODlj

    YD-702B-6036B D のピンアサインについてはMSXへの流用があったようで、ぽつぽつと情報が出てきます。
    ピンアサイン資料 http://niga2.sytes.net/msx/FDD_READY.html
    MSXにポン付けした方 http://usbsecretbase.michikusa.jp/70fd/fdd.html
    そのMSXの資料 http://madscient.hatenablog.jp/entry/2016/12/25/153653

    2020-09-09 04:16:19

  • 98 名前: 山川機長 ID:4ZmVlMmI1

    おおなるほど!さすが!

    ところで、githubのコメントにReplyしましたが、townsdef.hはできれば近いうちにHigh-Cからもそのまま#includeできるようにしようと思っているので、strongly-typed enumは回避したいところです。物理アドレスなので、High-Cからは使わなくてもいいかもしれないので、そのenumごと #ifdef __cplusplus で括ってしまうという手もあるにはあるんですがね。enumを#defineに切り替えたらなんとかなりませんかね。あと、stdint.hって2004年から存在してたんですね。いろんなライブラリが勝手なint型を定義して収集がつかなくなってるOpen Source Projectを結構見てきたので(見てきたって言ってもせいぜい2~3か)もう津軽はintが32、shortが16、long long intが64ビット決め打ち、ってことで始めたんですが、stdint.hが使えるなら徐々にintXX_tに置き換えていこうと思います。勉強になりました。

    2020-09-09 05:54:50

  • 99 名前: 山川機長 ID:1MjM3YWY3

    DINOSAURなのですが、僕がやると町出て帰ってこれるのですが、すると町から出られなくなるようです。これ、町に戻れなくなります?

    こちらの現象ですが、初期状態だと「扉は固く閉ざされている」というメッセージが出ますが、長老に話すと扉が開くのですが、いったん外に出て帰ってくると、メッセージは出なくて、画面が一瞬暗くなって外に出るかと思うのですが、結局出られないという現象が起きてます。現在どこにフラグがあるのか解明しようとしてます。

    2020-09-10 09:55:05

  • 100 名前: 山川機長 ID:1MjM3YWY3

    DINOSAURですが、DS:106FHが扉通過回数のカウンタになってるっぽくて、値が1以下になると扉を通れないようです。僕は町から出てすぐ戻ったので入れましたが、再度出ようと思ったら出れなくなりました。ひょっとして、町から出て何かするうちにカウンタが減るイベントが発生している鴨しれません。お時間のあるときに、町に戻れなくなった時点で、試しに、

    EMB PHYS:3106F 7F

    と、やってみて、戻れるか試してみていただけますか?そうであれば同じ原因ということになりますね。あとは、何の拍子に値が減ってるのか解明すれば、扉が通れない問題は解決するのではないかと思うのですが。あ、違うや。減ってる箇所見つけちゃった。けど、これだと扉を通ると確実に1ずつ減っていくことになるな。。。。じゃあ回復する場所を解明しないと解決しないのか。

    それから、長老にいちいち話に行くのが面倒だったら、

    EMB PHYS:3EF01 5

    これで話したことになります。

    2020-09-10 11:18:25

  • 101 名前: WNIDY ID:yMDkxMjM1

    >100
    "EMB PHYS:3106F 7F"とやってみた所、再度町の外へ出ることができるようになります。
    "DM PHYS:3106F"とやると、町を出たり入ったりするとデクリメントされるようです。

    うんづでは同じアドレスはオープニング以降ずっと00Hのままですね、一瞬だと判らないですが少なくとも大きな数値は入っていないようです。

    2020-09-10 12:37:04

  • 102 名前: 山川機長 ID:1MjM3YWY3

    あー、DINOSAURはコピープロテクトですね。なお、一応再度書いておくと僕はアメリカに住んでるのでDMCA法に基づいてレトロゲーム保存のためのプロテクト解除は明示的に合法とのことです。日本も早くレトロゲーム保存のための法制度が整うといいのですが。

    INT 93H AX=0720Hを2度読んで、シリンダ6のサイド0に9,10,11,12,13セクタ(おそらくそれぞれ256バイト)が存在することを確認してます。チェック箇所はBRKON INT 93 AX=0720で簡単に見つかります。確認した範囲では2度に分けて読んでます。Brandishと同じ方式に見えますね。プロテクトに通った場合は、DS:[106EH](物理 3106EH)に10Hが、通らなかった場合はDS:[106EH](物理 3106EH)に01H, DS:[106FH]に03Hを書き込んでいます。これは扉を通るたびにチェックしていて、一度ひっかかってDS:[106EH]に01Hが書かれてしまうと、一度扉を通るたびにDS:[106FH]がDecrementされ、0になったら二度と通れないというものです。おそらくシナリオディスク両方がそうでしょう。

    D77イメージを作ればプロテクトごと再現できるはずです。が、現在2HDのD77が作れないので、D77に変換して、シリンダ6のサイド0に256バイトのセクタを追加してみたところ、普通に何度でも出入りできるようになりました。なお、使ったツールは、僕のpublic repositoryのsrc/FM7/utilに入ってるd77analyze.exeです。publicレポジトリのFM系のソースをFMレポジトリに分離しようとしてますが、まだD77ユーティリティはpublic下に残ったままになってます。

    存在しないセクタの読み込み要求があったら気にしないで適当なデータを返した方がいいんだろうか。うーん。しかし、コピープロテクトも含めて再現したいと思っているので、ひっかかったときの動作も再現したいから、やっぱとりあえずやめておこう。

    2020-09-10 22:33:58

  • 103 名前: WINDY ID:kZjNiZGNl

    >102
    プロテクトか・・・ 動き的に何だかそんな気はしていました。
    プロテクトに引っかかるのも正しいエミュレーション結果ですので、方針は支持します。
    WIKIの方にも記載しておきます。

    2020-09-11 06:51:24


全部読む/ 最新50/ 1-100/ 掲示板トップ リロード

  • 1 名前: 山川機長 ID:2ZmNjY2Jj

    SCSIのPhaseのMESSAGE_INとSTATUSの順を入れ替えたら、とりあえずSCSIのエラーは出なくなりました。
    が、HIMEM.SYSインストール中に割り込みハンドラを破壊という現象が起きていて原因を調査中です。
    なお、デバッガで BRKON INT 21 AH=3D としておくとfile openで止まるので、pri cst するとどのファイルを開くとこかわかるようになってます。

    2020-07-28 12:59:54

  • 38 名前: [email protected] ID:yOTA2ZDA0

    VERR/VERWありがとうございます。VERRを通過して、CLTS(0Fh 06h)で死亡しました。T-OSはなぜタスク機能を使ってるのか……。
    お盆あんまり関係ないんですよね。まとまった時間取れれば集中してドライバ書いてたいのですが。

    2020-08-14 21:33:10

  • 39 名前: [email protected] ID:iOTlkMGEx

    CLTS実装ありがとうございます。TBIOSLD.SYSとTOWNS.SYSを組み込んだ状態で起動するようになりました。
    ですが、COCO で forrbios.nsd を組み込むとコードでない場所(V86モード)を実行して止まるようです。
    (COCOを組み込まなくても適当なEXPを起動してると同じようなところで停止。同条件でEMM386を組み込まない場合は問題なし。)

    なんとなく根が深そうなので、お時間あるときに見ていただけら嬉しいです。

    2020-08-15 15:15:40

  • 40 名前: 山川機長 ID:1YmIyYTA2

    あらぬ場所にジャンプしてしまう現象は、考えられる可能性として高いのは、
    (1) Exceptionを正しく出してない。
    (2) Exceptionの出し方が正しくない。
    (3) Task Gateを使ってジャンプしている。
    (4) CPUコアに未発見のエラーがある。
    と、このぐらいだと思います。多分、(1)だと思うんですね。なんとか環境を作って調べられないか検討してみます。

    2020-08-16 02:51:32

  • 41 名前: [email protected] ID:1OWQzZTg4

    >>40
    TOWNS-OS on DOS6環境を作るには、DOS6をインストールしたHDD区画に対して、TOWNS-OS V2.1L40以降のシステムCDを起動して、アイコンから新規インストール先として指定すれば、DOS6上にTOWNS-OSがインストールされます。

    これで128MB超えのHDD区画もバッチリ認識……じゃなかった。これで上に書いた問題も再現します(V2.1L50にて確認)。

    2020-08-17 18:16:55

  • 42 名前: 山川機長 ID:iZWUxZmQ0

    了解しました!詰まったら、多分実家から回収してきたFM Townsシステムセットアップガイドを見ながらなんとかできると思います。(一応共著者に名前入ってるけどDOS6の部分は全部武井先生が書いた)。やってみます!

    2020-08-19 05:36:29

  • 43 名前: 山川機長 ID:iZWUxZmQ0

    状況再現しました。クラッシュは↓ですね?

    3FF8:000014E1 FFFF

    この直前がIRETDで、NT=1となっているので、どうやらTask Returnというのを実装しなくてはならないらしいです。戻ってくるアドレス自体は正しいのですが、素直にStack ReturnsしてしまうとVMフラグをクリアしてしまって、3FF8をセレクタと解釈してとんでもないリニアアドレスだと思っているようです。

    想像なのですが、ここはRUN386の中のようで、このTask Returnした先でVMフラグをクリアして3FF8:000014E1に戻してRUN386に続きをさせるということではないかと見ています。

    どのぐらい簡単か難しいかまだわからないので、ちょっと勉強してみます。

    2020-08-19 08:45:30

  • 44 名前: 山川機長 ID:iZWUxZmQ0

    うーん、もはやどれを信じていいのかわからない。i486 Programmer's Reference ManualのPsuedo Codeによると、

    (* Protected mode *)
    IF VM=1
    THEN #GP(0)
    ELSE
    IF NT=1
    THEN GOTO TASK-RETURN

    と、あるものの、下の説明では、

    #GP(0) fault if the IOPL is less than 3, to permit emulation

    しかし、VM86モードのIOPLは3のはずだから、'less than'にはあたらない。ので、Pseudo Codeとテキストの解説が矛盾してます。結構こういう誤記なのか手抜きなのかわからない表記多いんですよね。

    ここの記述→では、https://www.felixcloutier.com/x86/iret:iretd

    IF(EFLAGS.VM=1)
    THEN GOTO RETURN-FROM-VIRTUAL-8086-MODE;
    ELSE GOTO PROTECTED-MODE;

    RETURN-FROM-VIRTUAL-8086-MODE:
    (*Processor is in virtual-8086 mode when IRET is executed and stays in virtual-8086 mode*)

    とあり、その説明では普通にNTフラグにかかわらずStack ReturnするがVMビットは影響を受けない。とのこと。しかし、そんなことはi486 Programmer's Reference Manualを見る限りまったく書いてません。POPFDではそういう記述があるんですけどね。VMフラグそのたいくつかのフラグはPOPFDによって変化しないそうです。

    それで、Task Returnを調べたところ、TSSにReturn先のTRが書いてなければならないことになってますが、EMM386環境ではタスクはひとつしかなくて、ほかのタスクにリターンしたくてもそもそも戻り先タスクが存在しなさそうです。

    一番都合のいい解釈は、VM86モード下のIRETではVMフラグが変わらない以外は基本的に普通のIRETと一緒、とする説なので、そのようにしてみたところ、DOS6上でTowns MENUが起動しました。例によって現在ctestを流しているので、全部通ったらソースをPUSHしますね。

    2020-08-19 09:44:41

  • 45 名前: WINDY ID:lMWM3OGE0

    >44 山川機長さん
    もうある意味解決しているのかもしれませんが、INTELのia32_arh_dev_man_vol2a_i.pdfの該当個所を見てみると、

    RETURN-FROM-VIRTUAL-8086-MODE:
    (* Processor is in virtual-8086 mode when IRET is executed and stays in virtual-8086mode *)
    IF IOPL=3 (* Virtual mode: PE=1, VM=1, IOPL=3 *)
    THEN IF OperandSize = 32
    THEN
    IF top 12 bytes of stack not within stack limits THEN #SS(0); FI;
    IF instruction pointer not within code segment limits THEN #GP(0); FI;
    EIP ← Pop();
    CS ← Pop(); (* 32-bit pop, high-order 16 bits discarded *)
    EFLAGS ← Pop();
    (*VM,IOPL,VIP,and VIF EFLAGS bits are not modified by pop *)

    とあります。

    2020-09-02 14:39:35

  • 46 名前: 山川機長 ID:iNmQyZjc5

    そうですね。とりあえずDOS6を走らすレベルでは解決しましたが、ありがとうございます!一応、i486 Programmer's Reference Manualというのを参考にしていて、Intelの公式出版物のようなのですが、エラーが多いです。Intel公式のSoftware Development Manual (多分ia32_arch_dev_man_vol2a_i.pdfがそれかな?) を参考にする方が良い、と、とある知り合いの方から教えていただいたので今後はそのようにしようかと思ってます。

    2020-09-03 05:33:45


全部読む/ 最新50/ 1-100/ 掲示板トップ リロード

  • 1 名前: WINDY ID:kY2JlZjhk

    FMTowns実機や各種FMTownsエミュレータを使用する上での質問事項

    2020-07-28 13:20:43


全部読む/ 最新50/ 1-100/ 掲示板トップ リロード

  • 1 名前: WINDY ID:zNjIyNjU0

    FMTowns新エミュレータ emufmtownsの情報交換用スレッドです

    2020-07-28 12:45:08


全部読む/ 最新50/ 1-100/ 掲示板トップ リロード

スレッド作成



管理者へ問い合わせ