Skip to content

Releases: tablacus/LSX-Dodgers

1.61c

29 Dec 12:48
Compare
Choose a tag to compare

共通

  • MSXのワークエリアDISKVE($F323)とBREAKV($F325)を書き換えられても動作するように調整
    X1/turbo/Z版、MZ-700/1500版、PC-8801mkISR版でLHextが動作するようになりました。
    MSX版はTPA不足の為に動作しません。

PC-8801mkIISR版 (2024/4/22)

ブート領域を調整

1.61b

10 Dec 14:11
Compare
Choose a tag to compare

共通

  • MS-DOSフォーマットでは無いディスクのチェックが抜けていた部分を調整

X1/turbo/Z版

  • 起動時にAUTOEXEC.BATが動かなかった問題を対策
  • X1turboZ等の2D/2HD両方対応のドライブで2DDの読み書きができる機能を表に出した。
    2DDの場合は2HDモードでシークを行い2Dモードで読み書きを行います。
    トリッキーな機能なので非推奨ですが、実機でフォーマットを読み書きが確認できました。
    X1以外の5インチドライブで現在も動作するマシンを持っていないのでこれで正解かは不明です。
    エミュレータではldsys.dskをeX1turbo(Z)に入れると2DDで起動します。IPLメニューからは2Dモードで起動してください。
    なぜか2DDでは起動できません。

MSX版

  • MSX2以降で日付時刻取得のシステムコールに対応しました。
  • 起動周りの処理を調整
    実機やMSX0で起動できないとのことなので似非DOSに合わせて調整しました。
  • コピーの際のディスクバッファを$8000以降に変更
    MSXはスロット切り替えの関係でBIOSのあるスロット0とディスクカーネルのあるスロット1にある0~$7FFFにディスクバッファがあるとオーバーヘッドが大きい気がするので調整
    エミュレータでテストした感じでは微妙に速くなっている気がするがほとんど差が無かった。

1.61

03 Dec 13:57
Compare
Choose a tag to compare

共通

  • カレントドライブの保存場所をCP/Mに合わせて $0003番地 に変更
    レガシーなLD判別は使えなくなりました。代替としてはシステムコールの$6F MSX-DOS のバージョン番号の獲得(_DOSVER)を使用してください。

  • $5C ファイル名の解析(_PFILE)で設定のHLがFCBの先頭アドレスからファイル名の先頭アドレスに変更になりました。1バイトずらしMSX-DOS2との互換性を向上させました。

X1/turbo/Z版

  • 1セクタ512バイトまでに特化しディスクバッファとFATバッファを1KB減らしてTPAを1KB増やした。
    2HD(1.23MB)を使用する場合はJAPAN2HD.COMを実行してください。
    2HD(1.23MB)など1セクタ1024バイトのフロッピーから起動した場合は自動的に拡張されます。

PC-8801mkIISR版

  • 1セクタ512バイトまでに特化しディスクバッファとFATバッファを1KB減らしてTPAを1KB増やした。
    2HD(1.23MB)を使用する場合はJAPAN2HD.COMを実行してください。
    2HD(1.23MB)など1セクタ1024バイトのフロッピーから起動した場合は自動的に拡張されます。

  • 高速RAMのテキストVRAMの使っていない場所にプログラムとデータを置いてTPAを増やした。

MSX版

  • フロッピーからも起動できるようになった。
    フロッピーから起動する場合はディスクROMが必要です。基本的にDOS for MSXの方がお勧めですが、LSX-Dodgersの場合はDOS1のROMカーネルしかない場合でも階層ディレクトリが扱えます。

1.61a

MSX版

  • ディスクの書き込みに不具合があったのを調整
    Takashi Kobayashiさん、ご報告ありがとうございます。

1.60

21 Apr 13:04
Compare
Choose a tag to compare

共通

  • 内部コマンドのdirでドライブ名がおかしくなることがある問題を対策
    YATYATYATさん、ご報告ありがとうございます。

1.60A (2023/4/24)

MZ-700/1500版

1.60B(2023/4/27)

X1/turbo/Z版

1.60C(2023/7/5)

MSX版

  • ページ0、ぺージ1のRAMの捜索方法を変更
    ごりぽんさん、ありがとうございます。
  • CALSLTの引数がおかしかったのを調整

1.60D(2023/7/12)

MSX版

  • 起動時に使っているRAMのスロットの取得に問題があったので調整
  • RAMの捜索を調整
    スロットn-2、n-3の捜索ができていなかった。

1.60E(2023/8/30)

共通

  • FATサイズが256セクタの場合にハングしてしまう問題を対策
    webmsxのハードディスクの128MB(FAT16)が動作するようになりました。
  • 予備FAT(第2FAT)への書き込みを省略した。

1.59

20 Apr 12:58
Compare
Choose a tag to compare

共通

  • FCBを使ったアクセスでカレントドライブの場合にシステムコールを使った時点でその時のカレントドライブの設定に固定していたのをやめた。
  • 内部コマンド用のバッファ取得を調整

X1/turbo/Z

  • FDDのタイムアウトのタイミングをCPUのクロック数からVSYNCを使った物に変更

MZ-700/1500版

  • G-RAM(PCG)ディスク(G:)24KBを追加
  • FDDのタイムアウトのタイミングをCPUのクロック数からVSYNCを使った物に変更

PC-8801mkIISR版

  • 拡張RAMディスクの容量測定に不具合があったので調整

1.58

04 Mar 13:32
Compare
Choose a tag to compare

共通

  • DIRコマンドでタイムスタンプの表示を削除
  • TYPEコマンドを削除

X1/turbo/Z

  • EMMの対応サイズを16MBに拡大しBPBを使用するようにした。
    IPLとBPBをずらしてEMMからIPL起動が可能です。互換IOCSやCZ-8BE4の場合
  • X1turboでもEMMの転送をCPUで行うようにした。
  • オートリピートでCTCの使用をやめた。
  • TPAが256バイト広くなった。
    フリーエリアが変わった関係でLD-hddは対応バージョンを使用してください。

PC-8801mkIISR

  • TPAが256バイト広くなった。
  • $18のBIOS-ROM呼び出しを廃止

MZ-700/1500版

  • キー入力で8253を使った割り込み処理をやめた。

MSX版

  • C-BIOS環境でも文字列入力時にカーソルを表示するようになった。

1.57

12 Feb 13:18
Compare
Choose a tag to compare

MSX版

MSX版を追加しました。
似非DOS for MSXとの違いはDOSカーネルが不要でフロッピーではなくROMで起動しROMをディスクとする点になります。MSXで64KBのRAMがあれば互換BIOSのC-BIOS環境でも動作しています。

ROMディスクはドライブA、DSKを2つ連結した場合はドライブA,Bに配置されます。
1ドライブならWindowsで同じフォルダにROM.DSKLDMSX,BINmsxcat.batを置いてmsxcat.batを実行するとLDMSX.ROMができるのでそれをカートリッジに入れて実行してください。ROM.DSKは差し替えて使ってください。

2ドライブならWindowsのコマンドラインだと以下のような感じになります。連結で2ドライブにできるのは前側のディスクが720KBの2DDディスクイメージに限ります。

copy /b LDMSX.BIN + ROMA.DSK + ROMA.DSK LDMSX.ROM

ROMなので読み込み専用になります。
2DD以外のMSX版LSX-Dodgers向けブランクディスク

ドライブE~GはPHYDIOで接続されるドライブ(A~C)が配置されます。多分、E:はフロッピーになる場合が多いと思います。
ドライブHはPHYDIOで接続されるドライブHが配置されます。

※PHYDIOはなんかやってみたら成功したのですが、まだほとんどテストできていないので……

階層ディレクトリに対応していますが、MSX-DOS2専用のソフトが動くわけではありません。
現バージョンではC-BIOSを使用した場合はコマンドライン入力でカーソルが表示できません。

HRA!さんのMSX Memory Architecture のお陰でメガROMに対応することができました。
本当にありがたいです。

https://github.com/hra1129/msx_documents/blob/main/memory/MSX_memory_architecture.pdf

MZ-700/1500版 / PC-8801mkIISR版

先行キー入力関連を調整しました。

共通

ワークエリアにバッチファイルのFCBのアドレスやパス文字列のアドレスを追加

1.57test

23 Feb 14:22
Compare
Choose a tag to compare
1.57test Pre-release
Pre-release

X1のEMMのテストバージョン

  • ldsys_dma.d88
    EMMの転送のDMAのタイミングを変更
  • ldsys_cpu.d88
    EMMの転送をX1turboでもノーマルX1と同じくCPUで転送

1.56

01 Dec 13:51
ec867eb
Compare
Choose a tag to compare

PC-8801mkIISR

  • 物理フォーマットしやすい構造に調整

2022/12/29 ディスクイメージファイルを調整

ldsys.d88の88用のブートセクタにX1用のIPLを追加してX1で88用のブートセクタを読み込んだ場合も起動できるように調整
トラック0はセクタ1が512バイトのMS-DOS用と256バイトの88のブート専用のセクタの2つの1セクタが存在する。
μPD765のPC-8801は起動時にトラック0に256バイトのセクタ1しか読み込みを行わないので88での起動の為に必須。
MB8877のX1では起動時にトラック0のセクタ1を読み込みに行く。これはセクタサイズは何でもよい。
これはFDCの違いでμPD765系は読み込むセクタのサイズを指定してそれを読み込むのに対してMB8877系の場合はセクタサイズを指定せずにトラック0のセクタ1を読み込みに行く。
この2つのセクタ位置を2-3-4-5-6-7-8-9-1(512)-1(256)としてタイミング的に512バイトの方が当たりやすいようにしている。
もともとは88のブートセクタの方にもMS-DOSのBPBを設定していたがそれをX1用のブートセクタに差し替えた。
万一、LSX-Dodgers(X1/MZ)で88のブートセクタを読み込んだ場合もBPBとして不正な場合はデフォルトの360KBフォーマットが選択されるので問題はないはず。
また、MS-DOSマシンの場合はFDCがμPD765系なのでセクタサイズを指定して読み込みに行くと思われるので標準的な512バイトの方のセクタの読み込みが行われると思われる。
また古くからあるものはBPBではなくセクタ2のFATを読み込みメディアID(FAT ID)で判別するのでその場合はBPBは関係ない。

2022/12/30 ディスクイメージファイルを微調整

X1のIPLから2連続で88のブート専用のセクタを呼んだ場合の処理を微調整

2023/1/3 ディスクイメージファイルのブート関連の調整

X1/88デュアルブートのディスクイメージファイルではNDでうまく認識できなかったので認識できるように調整。
トラック0 のセクタの並び順をL3ディスクエクスプローラで作成できる「CDOSII(トラック0サイド0は10セクタ)」と同様の順序に変更した。
旧 2,3,4,5,6,7,8,9,1(512),1(256)
新 1(512),2,3,4,5,6,7,8,9,1(256)
こうすると何故か ND で認識可能になった。
ただ、上記の変更を加えるとeX1/eX1twin/eX1turbo/eX1turboZで起動ができない確率が非常に高くなる。
トラック1(シリンダ0サイド1)も10セクタに拡張し、ここにデュアルIPL時のX1用の簡易ローダーを置いた。
こちらも88のローダーと同様に256バイトしか使えないのでサイズや位置などが決め打ちである。LD.BINを移動させた場合は起動しなくなる。
こちらのセクタ番号は10で他のセクタと被らない用に作成している。
並び順 1,2,3,4,5,6,7,8,9,10(256)
Xmil106の場合は1セクタは必ず前にあるMS-DOSのブートセクタを読み込む為にトラック1の10セクタは不要である。
88のエミュレータの場合は起動時は256バイトの88用のブートセクタを読み込むがLSX-Dodgersが起動してからは先に512バイトのセクタからチェックする仕様である。この辺りはX1/MZと88のFDCの違いに寄るところが大きい。
これらの256バイトのセクタはあくまで88やX1での起動の際に必要なデータであってMS-DOSフォーマットとしては全く関係ない外にデータを置いている。

1.55

28 Nov 14:12
Compare
Choose a tag to compare

共通

  • ファイルサイズより後ろにランダムレコードを設定した場合に書き込みがうまくいかない問題を対策