﻿(UTF-8 Japanese Text)
------------------------------------------------------------------------------

  X68000 EMULATOR XM6 UTILITY (version 2.06.2)

  for Win32
  Copyright (C) 2001-2006,2022 ＰＩ．

  (2022/6/8:SCSIEXROM.DATバグフィックス版)
------------------------------------------------------------------------------
□はじめに

  XM6ユーティリティは、X68000エミュレータXM6のおよびXM6 TypeGの補助ツールです。

  このバージョンでは、以下の機能をサポートしています。

  (1)CG-ROM (CGROM.TMP)の合成
  (2)SCSI-ROM (SCSIIN.ROM.DATまたはSCSIEXROM.DAT)の合成
  (3)TrueKey機能の参考回路図を表示


□バグフィックス

  このバージョンでは、2006年に公開した初版、および、2021年に公開した再ビルド版
  に対し、以下のバグフィックスを行いました。

  ・SCSIEXROM.DAT使用時、連続したSCSI IDの複数のドライブが接続されていると、
    必ず最後のSCSI IDのドライブから起動してしまう

  この現象はSCSIEXROM.DATの場合のみ発生し、SCSIINROM.DATの場合は起こりません。

  原因はSCSINROMとSCSIEXROMでブートアドレスが$11FFE0ズレていることに対して、
  SCSIBOOT.Sの一部が対応できていなかったためでした。当時のチェックが甘かった
  ようです。修正箇所は以下になります。

  [SCSIBOOT.S]
  (修正前)
  .ifdef  SCSIEX
          cmpi.l  #$ea0000,d0
          bcs human_init1
          cmpi.l  #$ea0024,d0
          bcc human_init1
          cmpi.l  #$ea0020,d0
          beq human_init3
  .endif
  (修正後)
  .ifdef  SCSIEX
          cmpi.l  #$ea0020,d0
          bcs human_init1
          cmpi.l  #$ea0044,d0
          bcc human_init1
          cmpi.l  #$ea0040,d0
          beq human_init3
  .endif
  もう少し詰める余地があるコードかもしれませんが、SCSIINROM.DATに対する影響を
  完全に無くしたかったため、単純な修正としました。

  このバグは2021年にえくしみえむ(@Xymiem)氏よりレポートいただきました。当時
  私を含め多くの方がSCSIINROM.DATを選択した、または不具合に対しSCSIINROM.DATで
  代用したため、2021年に至るまで明らかにならなかったものと考えています。

  SCSIEXROM.DATの末尾にセットされているバージョン情報を更新し、今回の更新版で
  あるか判別できるようにしました。$36=従来版、$37=更新版となります。
  (SCSIINROM.DATは上述の通り更新がありませんので、$36のまま変わりません)


□DLLファイル

  2006年に公開したXM6Util.exeは、MFCおよびVisual C++のランタイムライブラリを
  必要としましたが、今回は以下の環境・設定でビルドを行いました。

  Visual Studio Community 2019 Version 16.11.15
    ・プラットフォームツールセット v142
    ・上記v142向けMFCライブラリ(マルチバイト版)
    ・MFCライブラリおよびランタイムライブラリを静的リンク


  このため、このアーカイブに含まれるXM6Util.exeは、単独で動作可能です。
  (DLLは不要です)

  ただし、プラットフォームツールセットv142の制約により、Windows XP以前では
  動作しません。


□外部ファイル

  SCSI-ROMを作成するためには、Human68k version3.02のディスクイメージ
  (HUMAN302.XDF)が必要です。XM6Util.exeと同じフォルダに配置してください。


□制限事項

  SCSINROM(SCSIEXROM)の作成は、十分な調査を行った上で、互換性の確保に留意
  して行いましたが、もしかすると、完全でない部分があるかもしれません。

  作者の環境ではSCSI-HDD, SCSI-MO, SCSI-CDのアクセスにおいて問題は発生
  していませんが、多種多様な環境下での安定性は、保証しかねますので
  各自の責任において、ご利用ください。

  また、本体SCSI-ID = 7 を前提としています。ご注意ください。


□著作権、および謝辞

  XM6ユーティリティはＰＩ．が著作権を所有するフリーソフトウェアです。無償
  かつ書庫を改変しない場合に限り、配布を認めます。

  CGROM.TMPの合成アルゴリズムは、WinX68k(けろぴー)のソースコードを参考に
  しています。アルゴリズムを考案された、けんじょ氏、ゆい氏に感謝します。


  2022年6月8日版のSCSIEXROM.DATバグフィックスは、えくしみえむ(@Xymiem)氏から
  のバグレポートに基づいています。純正SCSIボードCZ-6BS1のROMに対し、わざわざ
  SHARP純正ROMからSCSIEXROM.DATに焼き直して動作確認いただきました。

  2006年のXM6ユーティリティ開発当時は、SCSIINROM/SCSIEXROMの吸い出し環境を持
  たないユーザを想定しており、その逆、すなわち実SCSIボードに焼き込んで動かす
  ことは全く思いも付きませんでした。深く感謝申し上げます。


□連絡先

  ホームページ
  http://retropc.net/pi/

  Twitter
  https://twitter.com/xm6_original
