<お知らせとかあったらここに書きます>

現在公開しているSASIエミュについて
STM32 SASIエミュレーターArdSCSinoは別のプログラムです。
またArdSCSinoのページは移動しました。

プログラム置き場
いいアイデアが思いついたら表示を改良します。

リンク:
yukkurizのメモ帳別館
お遊びで作りましたw ここのPC-98Tipsは冗談なので真に受けないでください。
別館のコンテンツは不真面目に徹する予定です。
掲示板 別館においています。ご利用ください。

カテゴリー: 未分類 | コメントする

ArdSCSino_TEST98

お知らせ(2024/08/06)
ArdSCSino_98SASIおよびArdSCSino_TEST98は終了しました。
最終版ダウンロード

ArdSCSino とは
たんぼ(TNB製作所) さんが作成されたSCSI(SASI)ターゲットエミュレーターです。
(https://twitter.com/h_koma2)
zatoさんによってSTM32に移植されました。(https://twitter.com/z_alpha2)
ArdSCSino_TEST98はzatoさんが公開されていたArdSCSinoV2(20220410版)がベースになっています。

更新情報 2023/03/20
付属ドライバでマウントしたカードの第一パーティションに書き込めないようにしました。
独自実装なのでBlueSCSI等と同等かは分かりませんが
CDで始まるファイル名のファイルをCD-ROMドライブとしてマウントするようにしました。
細かな仕様変更とバグ修正をしました。
旧ファームは誤ったSCSIステータスを返すので更新してください。
ダウンロード

特徴や違い
PC-98特化
専用ドライバ(PC-98専用)によってSDカード内のファイルにアクセス可能。
デフォルトのCHSのHSは8:32になります。、8:25には非対応。
ウェイト挿入位置やウェイトのかかり方が違う。
(scsi-config.txtでウェイトの値を200にしても動作しないI/Fはおそらく動作しない。)
余計な処理を挟んでいるので転送速度が遅い
(scsi-config.txtでウェイトの値を0にすると高速転送が適用されるが本家のものより遅い)
標準フォーマット対応のためにコマンド06hの挙動が違う。本家は何もしないがこちらはE5hで埋める。
NHDイメージ対応(現在バグがあるが直ちに影響はないので放置している)
HD[id][lun].NHDで起動時に読み込む。(例:HD00.NHDならID0,LUN0に読み込まれる)
専用ドライバによりMO,CDイメージ対応(MOはID5固定 CD-ROMはID6固定)
(以下は今後仕様変更する可能性がある)
SASI専用機を救済するためのMOイメージ対応なので
SDカードに直接アクセスできるようになった今機能を削除する可能性あり。
MOイメージは512バイト/セクタ固定、MOフォルダに入れる。拡張子はMOI
MOの自動読み込みのファイル名はMO.MOI
CD-ROMイメージは2048バイト固定 CDフォルダに入れる。拡張子はISO
CD-ROMの自動読み込みのファイル名はCDROM.ISO
専用コマンドによりメディアの入れ替えが可能
またMOの位置がID5なのでIDが開くとNECのDOSで利用できない。

お勧めのArdSCSino_TEST98の使い方
SDカードのパーティションをWindows10上で分割して
第一パーティションをArdSCSinoのイメージ用(FAT32,ExFat)
第二パーティションを共有ストレージ(FAT)
にするのがおすすめです。
MBR方式にしてください。GPTは扱えません。


専用ドライバの使用方法
第二パーティションをデフォルトでマウントするようにしてます。
第一パーティション(リードオンリー)で使う場合は/P1をオプションで指定してください。
SASI
DEVICE=ARDDRVA.SYS (/Pn nはパーティション番号 デフォルトは2)
SCSI
DEVICE=ARDDRVC.SYS (/Pn nはパーティション番号 デフォルトは2)
第一パーティションはArdSCSinoのイメージファイルが入っているので
ドライバ経由で書き込みが出来ないようになっています。
また当ドライバはリムーバブル非対応なので起動中にSDを抜き挿ししないでください。

トラブルシューティング
他のArdSCSinoやBlueSCSIファームではこの方法は使えません。
当方が公開しているArdSCSinoファームのみ調整できます。
SASI編だけ
DISK ERROR!で起動しないんだが・・・
ウェイト不足->
まずはウェイトを500まで増やす。動いたなら徐々に減らしてみる。
動かないのならロジアナで調査する必要があるのであきらめたほうがいい。
Inquiryに細工してある可能性がある->
Debugを有効にしたファームでないと判断できないので当方に連絡してみる。


カテゴリー: PC, PC-98 | コメントする

リアルタイムMIDIコンバーター(仮)の配布ページ

RT_MIDI_Converter リアルタイムMIDIコンバーター(仮)

JD-800でDX7を鳴らすとベロシティ過剰でFM臭くなるのでそれを抑えるために作ったものです。
リアルタイムとは名ばかりで実際は遅れます。PCの状態にも左右されます。
システムエクスクルーシブメッセージ(SysEx)には対応してません。
未実装の部分も多いので使ってみて覚えてください。自分でもどこまで実装したのか覚えてません。

最初にお読みください。(リスク等の説明)
*ライブなどのやり直しがきかない場面での使用は禁止します。
*当アーカイブに含まれるデータやプログラムを使用した結果について
作者は一切責任を取りませんしいかなる損害に対しても補償はいたしません。
また、作者はソフトウェアのバグを修正する義務を負いません。
*作者は完全なテストを実施していません。
事実誤認等の過誤があることを前提として扱ってください。
*使用料は無料です。サポートは一切ありません。
*再配布はアーカイブそのものを改変せずに配布することはかまいません。
配布に伴う金銭の授受はメディア代を含め一切の請求を禁止します。
一部のファイルやアーカイブの中身を変更しての再配布は禁止します。

必要なもの
Windowsが動くマシンとMIDI I/F
もしランタイムがないとかで起動しなかったときは別途用意してください。

使い方
実行してMIDI IN/OUTを設定するだけなのでそれ以上のことは覚えてください。
EXT MIDI INは外部のMIDIコンなどをつなぐためのものです。

記事を読んで全ての項目に同意できる方はダウンロードに進んでください。
同意してダウンロードする->rt_midiconv.zip

もしリンクをしたい方がいましたらここ(https://pc98.asukadns.net/?p=392)にお願いします。

カテゴリー: 配布 | コメントする

PC-98×1でInt1BのROMプログラミングをするためのテンプレ

PC-98×1やPC-98互換機でInt1BのROMプログラミングをしたい人向けに
アセンブラで書かれたテンプレです。
Int1B関係のプログラミングをしない人には無用ですので無視してください。

2021/09/01
フックの方の使い方がわからない状態
(特殊な呼び出し方が必要なので致命的な説明不足だった)
だったので例を交えて使い方がわかるように変更しました。

*当アーカイブに含まれるデータやプログラムを使用した結果について
作者は一切責任を取りませんしいかなる損害に対しても補償はいたしません。
*作者は完全なテストを実施していません。
事実誤認等の過誤があることを前提として扱ってください。
*使用料は無料です。サポートは一切ありません。
*商用でなければ自由にご利用ください。
*当アーカイブをそのまま転載することについても金銭等の授受を伴わなければ自由です。

間違っている部分やメモがそのまま残っている部分、誤字脱字がありますが気にしないでください。
各種フラグなどについては
https://www.webtech.co.jp/company/doc/undocumented_mem/index.html
を参考にしてカスタマイズしてください。

記事を読んで全ての項目に同意できる方はダウンロードに進んでください。
同意してダウンロードする->int1b.zip

もしリンクをしたい方がいましたらここ(https://pc98.asukadns.net/?p=283)にお願いします。

カテゴリー: PC-98, 配布 | コメントする

D88イメージをシリアル経由でPC-98×1実機に書き戻すプログラム公開

D88形式のFDイメージをシリアルポート経由で実機のFDに書き戻すプログラムを公開します。
他に書き戻す手段がないときの非常用です。
EPSON機やROM BASICを搭載していない機種ではDISK BASICを使用してください。
裏技的なものとしてはEPSONのSIPを起動する途中でSTOPキーを連打して
SIPのプログラムを起動させなければDISK BASICの代わりとして当プログラムが使用できます。
HDDにOSをインストールしたい方はSFD98win (シリアルFD98)を利用してみてください。

バグ報告
1200bpsで動作しないバグが発覚しました。9600bpsで使用してください。
1200bpsになっている人向け
メモリスイッチを初期化しないようにディップスイッチの設定を変更
rom basic上で以下の文を実行
10 def seg=&ha3fe
20 memsw2 = PEEK(&H6)
30 memsw2 = memsw2 and &hf0
40 memsw2 = memsw2 or &h8
50 out &h68,&hd
60 poke &H6,memsw2
70 out &h68,&hc
実行が終わったらリセットしてください。

改修など
2022/06/03 CH340等に対応するためにCTS状態を無視するオプションを追加
フロー制御ができなくなりますが9600bpsなので耐えてくれるでしょう。

最初にお読みください。(リスク等の説明)
*当アーカイブに含まれるデータやプログラムを使用した結果について
作者は一切責任を取りませんしいかなる損害に対しても補償はいたしません。
また、作者はソフトウェアのバグを修正する義務を負いません。
*当アーカイブに含まれるデータやプログラムのリスクについて
PC-98側においてメモリスイッチ等の内容の破壊やデータ損失の可能性があります。
*作者は完全なテストを実施していません。
事実誤認等の過誤があることを前提として扱ってください。
*使用料は無料です。サポートは一切ありません。
*当プログラムは個人使用や個人研究を目的としたものであり
金銭を得る目的での研究や業務で使用することはご遠慮ください。
*当アーカイブまたは当アーカイブに含まれるファイルの再配布には作者の許可が必要です。

必要なもの
PC-98×1実機(メインRAMおよびVRAMが故障していないこと)
ROM BASICまたはDISK BASIC
RS-232C(シリアル)リバースケーブル(クロスケーブル)
d88to98fdd.exeを動かすための.NET Framework 4以降の環境

できないこと
書き込み途中でキャンセル。中止するときはPC-98×1をリセットしてください。
D88形式以外のFDイメージの書き戻し。
複数枚まとまったD88イメージには対応してません。
不良セクタがあるメディアに対しては無視して書き込まれるかエラーが出て停止します。
2Dの書き戻しには対応してません。また320K I/FのFDDに対しては使用できません。
FDCを直接たたかないといけないような変態フォーマットには対応してません。
イメージ化はできません。書き戻し専用です。

使い方
Windows機のシリアルポートとPC-98のRS-232Cポートをリバースケーブルで接続します。
PC-98×1の実機のBASICを起動します。
d88to98fdd.exeを起動します。
同梱のbasic.binと同じフォルダで実行してください。
シリアルポートとボーレートを設定します。
 ボーレートはPC-98×1のメモリスイッチの設定にあわせてください。
 大体のケースで1200bpsか9600bpsに設定されていると思います。
D88イメージファイルをドラッグアンドドロップします。
プログラムの指示に従ってください。
ドライブ指定ができないので不用意にFDを入れないように!!!
直前に使用していたFDの抜き忘れに注意。

9600bpsでおよそ30分で終了すると思います。
書き込みが終了したり失敗した後はPC-98×1をリセットしてください。

FD種別強制
スイッチで種類を切り替えるタイプの外付けFDD用のオプションです。
初代PC-9801,E,F,M,VF,U(VM以前のFDD)またはPC-9801-15などでは
FDBIOSの仕様によりこのオプションを使用しても変わりません。
この機能を利用すれば2モード機に3モードの外付けFDDをつないで1.44Mの書き込みが行えます。

CTS無視
CH340等のUSBシリアル変換ケーブルを利用する場合にチェックしてください。
フロー制御ができなくなりますがとりあえずは動作するようになります。

うまくいかない場合
不正終了する場合は実行ファイルと同じフォルダにbasic.binがあるか確認してください。
リバースケーブルの結線や変換コネクタの仕様によってはうまく通信ができないことがあります。
load “COM:N81NN”でPC-98×1が暴走する場合はボーレートなどを確認してください。
書き込み開始後に暴走する場合は通信状態を確認してください。
外付けFDDの場合はモードが正しく切り替わっているか確認してください。
CTS無視やFD種別強制をチェックしてみてください。

作者のテスト環境
ROM BASIC:PC-9801RX21,PC-9801E
N88 DISK BASIC:PC-9821V166,PC-486MV
EPSON DISK BASIC:PC-486MV
CRC-FD3.5WS(3mode化改造済)

記事を読んで全ての項目に同意できる方はダウンロードに進んでください。
同意してダウンロードする->d88to98fdd.zip

もしリンクをしたい方がいましたらここ(https://pc98.asukadns.net/?p=264)にお願いします。

カテゴリー: PC-98, 配布 | コメントする

ROMに重大なバグが発覚しました

今まで公開しているROMに重大なバグが発覚したので報告します。
ROM版は利用者がいないのですぐに修正する予定はありません。
気が向いたときにのっぺらないから修正していく予定です。

バグの内容
当方で公開しているROMを利用した場合BIOS Int1B経由でSCSI機器が動作しなくなる。
ただしInt1Bを利用せず直接SCSIコントローラを操作しているプログラムへの影響は無いと思われる。

原因
ROM側でセグメントを書き換えているのでInt1BでSCSIパラメータが正しく渡されなくなる。

作者がSCSI BIOSの動作の仕組みを知らなかったのとSCSIボードをROM置き場にしてたので
いままで発覚しませんでした。
作者の無知をここにお詫びします。
IDE BIOSも全く理解していないのでIDEでも不具合が出るかもしれません。
SASIは多分大丈夫だと思います。
修正方法は2つ考えてますがどちらを採用しても安全性は保証できません。
もしROMを利用している方がいましたら連絡ください。のっぺらない以外でも優先して対応します。

カテゴリー: PC-98, 配布 | コメントする

PC-9801-RA35などの内蔵SASI BIOSにNECチェックがある!?

PC-9801-Ra35などの内蔵SASI用のBIOSにNECチェックがある可能性を発見したので報告。
なお、このNECチェックが害をなすことはPC-9801-55と違って通常ありえません。
気にせず安心して使ってください。
理由は簡単でこの内蔵SASI I/F基板にはST-506変換部分が含まれていて分離できないからです。
問題になるのはこのBIOSを抜き出してエミュレーターでPC-9801-27用のSASI BIOSの
代わりとして使う場合やこのスロットに新規にSASI I/Fを構築する場合に限られます。

何をやっているのか?(あくまで想像)
SASI BIOSはおそらくST-506変換基板に対して0x12(SCSIでいうINQUIRY)を発行し
返ってきたデータのベンダIDがNECであるかチェックしているものと思われる。
(詳しくはSCSIのINQUIRYのレスポンスを参照)
NECが含まれてなければDISK ERROR!を出して停止する。

DISK ERROR画面

対策
エミュレーターを使う際にこのBIOSイメージしか持っていない場合は
エミュレーターの作者に連絡して対策してもらうかBIOSイメージにパッチを当てるしかない。
もしくはPC-9801-27または互換ボードを買ってBIOSを抜き出すという手もある。
パッチを当てる箇所とかツールは公開していいか分からないので今のところ公開しない予定。

このスロットにSASI I/Fを構築したい場合はINQUIRYを正しく返してあげればよい。
ST-506変換基板を内蔵するのならST-506変換基板のファームで対応するなど。
27互換で実装する場合はINQUIRYをSASIバスに流さないようにして
ホスト側で独自にデータを返してやればうまくいくはず???
インテリジェントSASIコントローラ???の開発が必要?

この件は独自研究による推測なのでなにかあったらツイッター等で連絡ください。

カテゴリー: PC-98, メモ, 修理,改造 | コメントする

FD1231Tの一部のロットでNot Readyになる不具合

FD1231Tの一部のロットでNot Ready(ディスクの準備ができていません)
になる不具合が昨日発覚したのでお知らせします。

当サイトで配布しているものとの関係や影響
当サイトでFD1231Tを外付けFDDとして使う全ての記事の内容で確実に不具合が発生します。

対象ロット
P/N 134-506790-011-0のうちFDN143が採用されているもの。

現象と原因(と思われるもの)
Ready端子につながっている抵抗が151(150Ω?)になっているために
Ready信号ラインの電流が十分に吸い込めず電圧が規定の電圧まで落ちない。
そのためにメディアを入れているのにもかかわらずReady状態になっていないと判定される。
FDN139採用のものは0Ωであった。

対処方法
1.FDDの交換 2.オープンコレクタバッファを挟む 3.抵抗の交換
FD1231Tの互換FDDは種類が多いのでFDDごと交換してしまうのが一番安全です。

オープンコレクタバッファを挟む(未確認・あくまで想像)
本体ReadyラインとFD1231TのReady端子間にオープンコレクタバッファを挟む方法もあります。
VFO基板かフラットケーブルに加工が必要ですが。
FDD側の適切なプルアップの抵抗値はわからないので各自で調べてみてください。

抵抗の交換
メーカーがわざわざ150Ωの抵抗を使用している意味を考えればしないほうがいいです。
最悪何らかの拍子にFDN143が壊れます。少なくとも寿命は縮むでしょう。
それでもよければ交換してください。
正規の使い方(PC-9821に内蔵)しかしないのであれば絶対に交換しないでください。
なおこの改造をした結果について著者は一切動作保証しませんし責任を取りません。
またいかなる被害をこうむったとしても補償はいたしません。

下の画像の赤で囲った部分を0Ωの抵抗などに取り替えてください。

もし著者の改造したFD1231Tが壊れたときはまたここに追記します。

カテゴリー: PC-98, メモ, 修理,改造, 配布 | コメントする

EPSON PC-386NoteAのFDDとHDD

うちの98アーキテクチャーのノートで唯一の生き残り。残りのノートはビネガーで全滅した・・・
FDD
不調。モーターが突然回らなくなる。電源を入れっぱなしにして温まると正常になるっぽい。

コンデンサー交換
茶色のほうのコンデンサーは外すときに臭いがしたので交換したほうがいいかも。
C2?茶色のほう16V120μF  C3?黒いほう 50V不明

 

HDD
BIOSメニューで設定しないとHDDが起動しないかも?なんてこの時代に省電力よりとはよくできてるな。
HDDはTEXAのCarry pack 20(NA-CP20)
中身はPrairieTekのPrairie 120

カテゴリー: PC, PC-98, 修理,改造 | コメントする

のっぺらないRS-232C版 公開

ほぼ未テストのシリアルポートをのっぺらボードの代わりに使うお遊びプログラムです。
RS232Cを搭載していればほぼ機種を選ばす使用できると思います。
RS232CとFDDを直接接続しないでください。負電圧によりFDD側が壊れます。
今回からNEC版EPSON版を問わずに同じコマンドで使用できるようになりました。

最初にお読みください。(リスク等の説明)
*当アーカイブに含まれるデータやプログラムを使用した結果について
作者は一切責任を取りませんしいかなる損害に対しても補償はいたしません。
また、作者はソフトウェアのバグを修正する義務を負いません。
*当アーカイブに含まれるデータやプログラムのリスクについて
誤接続(直接接続)により負電圧が流れてFDD側のICやFDDが破損する。
INT 1Bを利用する全ての記憶媒体のデータ破損。

*使用料は無料です。サポートは一切ありません。
*当プログラムは個人使用や個人研究を目的としたものであり
金銭を得る目的での研究や業務で使用することはご遠慮ください。

*当アーカイブまたは当アーカイブに含まれるファイルの再配布はいかなる形でも禁止します。

必要なもの
density入力ジャック付(のっぺらボード対応)の2モード対応外付けFDD
3モードで使う場合は外付けFDDの1ピンの改造
RS232Cの信号をTTLに変換するための回路(MAX232やMC1489を利用する。)
3モードで使用する場合は1.44MB対応OS

アーカイブ更新履歴
2021/02/20 作成

記事を読んで全ての項目に同意できる方はダウンロードに進んでください。
ダウンロードID:mf2hdダウンロードパスワードはIDと同じです。
403になる場合はリファラを確認してください。
同意してダウンロードする->nn232c.zip
ファイルへの直リンクや配布や販売目的のハードウェアのサポートソフトとして紹介することは禁止します。
もっともサポートソフトとしては役に立ちませんが念のために書いておきます。
実験など個人利用の目的で使用したことについて紹介することはかまいません。
もしリンクをしたい方がいましたらここ(https://pc98.asukadns.net/?p=187)にお願いします。

カテゴリー: PC-98, 配布 | コメントする