xeij/FDMedia.java
//========================================================================================
// FDMedia.java
// en:Floppy disk media
// ja:フロッピーディスクメディア
// Copyright (C) 2003-2023 Makoto Kamada
//
// This file is part of the XEiJ (X68000 Emulator in Java).
// You can use, modify and redistribute the XEiJ if the conditions are met.
// Read the XEiJ License for more details.
// https://stdkmd.net/xeij/
//========================================================================================
//----------------------------------------------------------------------------------------
//フロッピーディスクのメディアの種類
//
// シリンダ
// ここではシリンダとトラックと明確に区別する(トラックの項目を参照)
// シリンダ数は一般的なメディアでは77または80
// シリンダ番号は最も外側が0、最も内側が(シリンダ数-1)
// アドレスヘッダのC,H,S,NのC
//
// サイド
// サイド数は片面ディスクが1、両面ディスクが2
// サイド番号は表面が0、裏面が1。2HDEは最初のセクタを除いて表面が128、裏面が129
// ヘッドアドレスとも呼ばれる
// アドレスヘッダのC,H,S,NのH
//
// トラック
// トラック数は(サイド数*シリンダ数)
// トラック番号は(サイド数*シリンダ番号+サイド番号)
// トラック番号はアクセスする順序で数えたトラックの通し番号であり、シリンダ番号とは異なる
// フロッピーディスクが片面しかなかった時代の名残でシリンダとトラックを明確に区別していない資料もあるが、
// 両面ディスクは1つのシリンダに2つのトラックがあり、トラックを特定できない番号(シリンダ番号)をトラック番号と呼ぶべきではない
// シリンダとトラックを区別していてもトラック0はシリンダ0にあるのでTrack0信号やトラック0へのシークはそのままになっていたりする
//
// セクタ
// セクタ番号はトラックの先頭が1、末尾がEOT。2HSは最初のセクタを除いてトラックの先頭が10、末尾が18
// レコード番号とも呼ばれる
// アドレスヘッダのC,H,S,NのS
// セクタサイズは1セクタあたりのバイト数
// セクタスケールは(log2(セクタサイズ)-7)
// アドレスヘッダのC,H,S,NのN
// セクタサイズと1トラックあたりのセクタ数(EOT)はメディアの種類によって大きく異なる
//! ここで言うセクタはOSレベル(BPB)の論理セクタではなくてIOCSレベルの物理セクタである
//! Human68kではフロッピーディスクの論理セクタと物理セクタのサイズが同じなので区別が曖昧になっている
//
// セクタの順序
// シリンダ0サイド0(トラック0)セクタ1、…、シリンダ0サイド0(トラック0)セクタEOT、
// シリンダ0サイド1(トラック1)セクタ1、…、シリンダ0サイド1(トラック1)セクタEOT、
// シリンダ1サイド0(トラック2)セクタ1、…、シリンダ1サイド0(トラック2)セクタEOT、
// シリンダ1サイド1(トラック3)セクタ1、…、シリンダ1サイド1(トラック3)セクタEOT、…
//
// トラックフォーマット
// Index Pulseは12cmディスクの場合は円盤に空いている穴で検出される。そこから1回転で1トラック
// ┏━━━━━━┓ ┏━━━━━━┓
// ┃Index Pulse ┃ ┃ ┃
// ━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━
// │ │ │Index Mark │ │ │ │ │ │
// │ Gap4a │ Sync │ IAM │ Gap1 │ Sector1 │ … │ SectorEOT │ Gap4b │
// FM │$4E x 40│$00 x 6 │ $FC │$4E x 26│ │ │ │ │
// MFM │$4E x 80│$00 x 12│$C2 x 3,$FC│$4E x 50│ │ │ │ │
//
// セクタフォーマット
// SectorEOTにはGap3がなく、Dataの直後にGap4bが続く
// │ ID Field │ │ Data Field │ │
// │ │AddressMark│ Address Header │ │ │DataAddressMark│ Data │ │
// │ Sync │ IDAM │ C , H , S , N │ CRC │ Gap2 │ Sync │ DAM/DDAM │ │ CRC │ Gap3 │
// FM │$00 x 6 │ $FE │$xx,$xx,$xx,$xx│$xx x 2│$4E x 11│$00 x 6 │ $FB/$F8 │$xx x (128<<N) │$xx x 2│$4E x GPL│
// MFM │$00 x 12│$A1 x 3,$FE│$xx,$xx,$xx,$xx│$xx x 2│$4E x 22│$00 x 12│$A1 x 3,$FB/$F8│$xx x (128<<N) │$xx x 2│$4E x GPL│
//
// IBMフォーマット
// N EOT GPL GSL
// FM 128 0 26 27 7
// 256 1 15 42 14
// 512 2 8 58 27
// MFM 256 1 26 54 14
// 512 2 15 84 27 2HC
// 1024 3 8 116 53 2HD
//
// ECMAフォーマット
// N EOT GPL GSL
// FM 128 0 16 24 7
// 256 1 9 38 14
// MFM 256 1 16 50 14
//----------------------------------------------------------------------------------------
package xeij;
import java.io.*; //BufferedInputStream,BufferedOutputStream,BufferedReader,BufferedWriter,File,FileInputStream,FileNotFoundException,FileReader,InputStream,InputStreamReader,IOException,OutputStreamWriter,RandomAccessFile
import java.lang.*; //Boolean,Character,Class,Comparable,Double,Exception,Float,IllegalArgumentException,Integer,Long,Math,Number,Object,Runnable,SecurityException,String,StringBuilder,System
import java.util.*; //ArrayList,Arrays,Calendar,GregorianCalendar,HashMap,Map,Map.Entry,Timer,TimerTask,TreeMap
import java.util.zip.*; //CRC32,Deflater,GZIPInputStream,GZIPOutputStream,ZipEntry,ZipInputStream
public final class FDMedia extends HumanMedia {
// メディアの種類
// 最初の5種類(2HD/2HC/2DD8/2DD9/2HQ)はFDDEVICE.XとFORMAT.Xに合わせる
// 資料として参考にしたもの(動作を確認したものではない)
// FDDEVICE.X 1.00 (SHARP/Hudson)
// FORMAT.X:FORMAT1.X 2.20 (SHARP/Hudson)
// FORMAT.X:FORMAT2.X 2.31 (SHARP/Hudson)
// 9SCDRV.X 3.14+2 (6no8rouさん)
// 9SCFMT.X 3.14+2 (6no8rouさん)
// DIFC.X 1.19+8 (GUNさん)
// DIMG.X 1.10 (H.ATAさん)
// dpack.x 1.32.6 (feelさん、m.matsuoさん、SiNさん)
// vfic.exe 010621 (REDさん)
// READFD.X 1.1 (yamamaさん)
// メモ
// XDFファイルを作るREADFD.Xは2HDのみの対応なのでXDFは2HDのみと考えられるが、
// ここではHuman68kが標準で(FDDEVICE.Xで)対応していてファイルサイズで区別することができる2HD/2HC/2DD8/2DD9/2HQの5種類について、
// 拡張子がXDFでよいことにする
// mediaByte
// メディアバイト
// FDDEVICE.Xの中のBPBテーブルに書かれている値
// メディア判別を行う度にBPBテーブルごとHuman68kに渡され、DPBが作られて_GETDPBで返される
// fatID
// FDDEVICE.Xの中のメディア判別コードとFORMAT.Xの中のBPBテーブルに書かれている値
// IPLの中のBPBテーブルとFAT領域の先頭に書き込まれる
public static final FDMedia[] FDM_ARRAY = {
// -------------論理仕様(BPB)------------- -------物理仕様(IOCS)------
// rootEntries sectorsPerTrack tracksPerCylinder
// reservedSectors| mediaByte sectorScale| |cylindersPerDisk
// fatCount| | | partitionSectors| | | |doubleDensity
// sectorsPerCluster| | | | fatSectors| | | | | |
// bytesPerSector| | | | | fatID | | | | | | |
// 番号 | | | | | | | | | | | | | | 名前 拡張子 IOCS
new FDMedia ( 0, 1024, 1, 2, 1, 192, 0xfe, 0xfe, 2, 1232, 3, 8, 2, 77, false, "2HD (1232KB)", "2HD,HDM,XDF" ), //$9xxx
new FDMedia ( 1, 512, 1, 2, 1, 224, 0xfd, 0xf9, 7, 2400, 2, 15, 2, 80, false, "2HC (1200KB)", "2HC,FS,HD5,XDF" ), //$9xxx
new FDMedia ( 2, 512, 2, 2, 1, 112, 0xfb, 0xfb, 2, 1280, 2, 8, 2, 80, true , "2DD (640KB)", "2DD,2DD8,DD8,DD6,XDF"), //$1xxx
new FDMedia ( 3, 512, 2, 2, 1, 112, 0xfc, 0xf9, 3, 1440, 2, 9, 2, 80, true , "2DD (720KB)", "2DD,2DD9,DD9,XDF" ), //$3xxx
new FDMedia ( 4, 512, 1, 2, 1, 224, 0xfa, 0xf0, 9, 2880, 2, 18, 2, 80, false, "2HQ (1440KB)", "2HQ,HD4,XDF" ), //$7xxx
new FDMedia ( 5, 512, 2, 2, 1, 112, 0xe0, 0xe0, 3, 1600, 2, 10, 2, 80, true, "2DD (800KB)", "2DD,2DD10,DDA" ),
new FDMedia ( 6, 1024, 1, 2, 1, 192, 0xec, 0xf8, 3, 1440, 3, 9, 2, 80, false, "2HDE(1440KB)", "2HDE,2HE" ),
new FDMedia ( 7, 1024, 1, 1, 1, 192, 0xeb, 0xfb, 3, 1440, 3, 9, 2, 80, false, "2HS (1440KB)", "2HS" ),
};
public static final FDMedia FDM_2HD = FDM_ARRAY[0];
public static final FDMedia FDM_2HC = FDM_ARRAY[1];
public static final FDMedia FDM_2DD8 = FDM_ARRAY[2];
public static final FDMedia FDM_2DD9 = FDM_ARRAY[3];
public static final FDMedia FDM_2HQ = FDM_ARRAY[4];
public static final FDMedia FDM_2DD10 = FDM_ARRAY[5];
public static final FDMedia FDM_2HDE = FDM_ARRAY[6];
public static final FDMedia FDM_2HS = FDM_ARRAY[7];
public static final int FDM_BUFFER_SIZE = 256 + 1024 * 1600 + 16; //FDM_ARRAYにあるfdmBytesPerDiskの最大値+256よりも少し大きい値
public static final byte[] fdmCache = new byte[FDM_BUFFER_SIZE];
//media = fdmPathToMedia (path, bb)
// パスに合うメディアを返す。null=見つからない
// バッファを指定したときはそこにコピーする
public static FDMedia fdmPathToMedia (String path, byte[] bb) {
byte[] array = XEiJ.rscGetFile (path);
if (array == null) { //読み込めない
return null;
}
FDMedia outputMedia = null;
byte[] outputArray = null;
int dotIndex = path.lastIndexOf ('.');
String upperExt = dotIndex < 0 ? "" : path.substring (dotIndex + 1).toUpperCase ();
if (upperExt.equals ("DIM")) { //*.DIM
if (array.length < 256) { //短すぎる
System.out.println (Multilingual.mlnJapanese ?
path + " は短すぎます" :
path + " is too short");
return null;
}
if (!new String (array, 171, 13, XEiJ.ISO_8859_1).equals ("DIFC HEADER ")) { //マジックが一致しない
System.out.println (Multilingual.mlnJapanese ?
path + " に DIFC HEADER がありません" :
path + " does not have DIFC HEADER");
return null;
}
//形式を確認する
switch (array[0]) {
case 0x00:
outputMedia = FDM_2HD;
break;
case 0x01:
outputMedia = FDM_2HS;
break;
case 0x02:
outputMedia = FDM_2HC;
break;
case 0x03:
outputMedia = FDM_2HDE;
break;
case 0x09:
outputMedia = FDM_2HQ;
break;
default: //未対応の形式
System.out.println (Multilingual.mlnJapanese ?
path + " のフォーマットが不明です" :
"Format of " + path + " is unclear");
return null;
}
//その他のヘッダ情報を確認する
int tracksPerDisk = outputMedia.fdmTracksPerDisk; //本来のトラック数
if (array[0x00FF] != 0x00 &&
array[0x00FF] != tracksPerDisk) { //オーバートラック
System.out.println (Multilingual.mlnJapanese ?
path + " のトラック数が違います" :
path + " has wrong number of tracks");
return null;
}
for (int i = 0; i < tracksPerDisk; i++) {
if (array[0x0001 + i] != 0x00 &&
array[0x0001 + i] != 0x01) { //存在するトラックの保存状態が0x00または0x01でない
System.out.println (Multilingual.mlnJapanese ?
path + " に不明なトラックがあります" :
path + " has unclear tracks");
return null;
}
}
for (int i = tracksPerDisk; i < 170; i++) { //存在しないトラックの保存状態が0x00でない
if (array[0x0001 + i] != 0x00) {
System.out.println (Multilingual.mlnJapanese ?
path + " に不明なトラックがあります" :
path + " has unclear tracks");
return null;
}
}
//トラック保存状態をコピーする
byte[] savedFlag = new byte[tracksPerDisk];
System.arraycopy (array, 1, savedFlag, 0, tracksPerDisk);
//保存されているトラックの数を確認する
int savedTracks = 0;
for (int track = 0; track < tracksPerDisk; track++) {
if (savedFlag[track] == 0x01) { //保存されている
savedTracks++;
}
}
int bytesPerTrack = outputMedia.fdmBytesPerSector * outputMedia.fdmSectorsPerTrack;
if (array.length != 256 + bytesPerTrack * savedTracks) { //ファイルサイズが一致しない
System.out.println (Multilingual.mlnJapanese ?
path + " のファイルサイズが違います" :
path + " has wrong file size");
return null;
}
//保存されているトラックを再配置する
outputArray = new byte[outputMedia.fdmBytesPerDisk];
int srcTrack = 0;
for (int dstTrack = 0; dstTrack < tracksPerDisk; dstTrack++) {
if (savedFlag[dstTrack] == 0x01) { //保存されているトラック
System.arraycopy (array, 256 + bytesPerTrack * srcTrack, outputArray, bytesPerTrack * dstTrack, bytesPerTrack); //コピーする
srcTrack++;
} else { //保存されていないトラック
Arrays.fill (outputArray, bytesPerTrack * dstTrack, bytesPerTrack * (dstTrack + 1), (byte) 0xe5); //0xe5で埋める
}
}
} else { //*.DIM以外
//メディアを探す
// 最初にファイルサイズと拡張子が一致したもの、なければ最初にファイルサイズが一致したもの
checkMedia:
for (FDMedia media : FDMedia.FDM_ARRAY) {
if (media.fdmBytesPerDisk == array.length) { //ファイルサイズが一致
if (outputMedia == null) {
outputMedia = media;
}
for (String mediaExt : media.fdmExtensionArray) {
if (upperExt.equals (mediaExt)) { //ファイルサイズと拡張子が一致
outputMedia = media;
break checkMedia;
}
}
}
}
if (outputMedia == null) { //不明
System.out.println (Multilingual.mlnJapanese ?
path + " はフロッピーディスクのイメージファイルではありません" :
path + " is not a floppy disk image file");
return null;
}
outputArray = array;
}
System.out.println (Multilingual.mlnJapanese ?
path + " は " + outputMedia.fdmName + " です" :
path + " is " + outputMedia.fdmName);
if (bb != null) { //バッファが指定された
System.arraycopy (outputArray, 0, bb, 0, outputArray.length);
}
return outputMedia;
} //fdmPathToMedia(String,byte[])
public int fdmNumber; //番号
public int fdmSectorScale; //セクタスケール=log2(セクタサイズ)-7。0=128バイト,1=256バイト,2=512バイト,3=1024バイト
public int fdmSectorsPerTrack; //セクタ数=セクタ/トラック
public int fdmTracksPerCylinder; //サイド数=トラック/シリンダ
public int fdmCylindersPerDisk; //シリンダ数=シリンダ/ディスク
public boolean fdmDoubleDensity; //false=高密度(8MHz,2HD/2HC/2HQ/2HDE/2HS),true=倍密度(4MHz,2DD8/2DD9/2DD10)
public int fdmTracksPerDisk; //総トラック数=トラック/ディスク
public int fdmSectorsPerDisk; //総セクタ数=セクタ/ディスク
public int fdmBytesPerSector; //セクタサイズ=バイト/セクタ=128<<セクタスケール
public int fdmBytesPerDisk; //ディスクサイズ=バイト/ディスク=セクタサイズ*セクタ数*サイド数*シリンダ数
public int fdmTwoSide; //Two Side信号。0=片面,FDC.FDC_ST3_TS=両面
public String fdmName; //名前
public String[] fdmExtensionArray; //拡張子
public int fdmRootStartSector; //ルートディレクトリの先頭セクタ番号
public int fdmDataStartSector; //データ領域の先頭セクタ番号
public FDMedia (int number,
int bytesPerSector, int sectorsPerCluster, int fatCount, int reservedSectors,
int rootEntries, int mediaByte, int fatID, int fatSectors, int partitionSectors,
int sectorScale, int sectorsPerTrack, int tracksPerCylinder, int cylindersPerDisk,
boolean doubleDensity,
String name, String extensions) {
//super (ByteArray.byaRiwz (FDM_DISK_BPB, (number << 5) + 0x0000), //bytesPerSector
// ByteArray.byaRbz ( FDM_DISK_BPB, (number << 5) + 0x0002), //sectorsPerCluster
// ByteArray.byaRbz ( FDM_DISK_BPB, (number << 5) + 0x0005), //fatCount
// ByteArray.byaRiwz (FDM_DISK_BPB, (number << 5) + 0x0003), //reservedSectors
// ByteArray.byaRiwz (FDM_DISK_BPB, (number << 5) + 0x0006), //rootEntries
// ByteArray.byaRbz ( FDM_DISK_BPB, (number << 5) + 0x000a), //fatID
// ByteArray.byaRbz ( FDM_DISK_BPB, (number << 5) + 0x000b), //fatSectors
// (long) ((128 << sectorScale) * sectorsPerTrack * tracksPerCylinder * cylindersPerDisk)); //diskEndByte
super (bytesPerSector, sectorsPerCluster, fatCount, reservedSectors,
rootEntries, mediaByte, fatID, fatSectors, (long) bytesPerSector * partitionSectors);
fdmNumber = number; //番号
fdmSectorScale = sectorScale; //セクタスケール=log2(セクタサイズ)-7
fdmSectorsPerTrack = sectorsPerTrack; //1トラックあたりのセクタ数
fdmTracksPerCylinder = tracksPerCylinder; //サイド数=1シリンダあたりのトラック数
fdmCylindersPerDisk = cylindersPerDisk; //シリンダ数
fdmDoubleDensity = doubleDensity; //高密度/倍密度
fdmTracksPerDisk = tracksPerCylinder * cylindersPerDisk; //総トラック数
fdmSectorsPerDisk = sectorsPerTrack * fdmTracksPerDisk; //総セクタ数
fdmBytesPerSector = 128 << sectorScale; //セクタサイズ=1セクタあたりのバイト数
fdmBytesPerDisk = fdmBytesPerSector * fdmSectorsPerDisk; //ディスクサイズ
fdmTwoSide = tracksPerCylinder == 2 ? FDC.FDC_ST3_TS : 0; //片面/両面
fdmName = name; //名前
fdmExtensionArray = extensions.split (","); //拡張子
fdmRootStartSector = (int) (humRootStartByte >> 7 + fdmSectorScale); //ルートディレクトリの先頭セクタ番号
fdmDataStartSector = (int) (humDataStartByte >> 7 + fdmSectorScale); //データ領域の先頭セクタ番号
if (FDC.FDC_DEBUG_TRACE && FDC.fdcDebugLogOn) {
fdmPrintInfo ();
}
} //new FDMedia(...)
//success = media.fdmMakeFormatData (bb, copySystemFiles, x86SafeOn)
//success = media.fdmMakeFormatData (bb, humanSysOn, commandXOn, x86SafeOn)
// フロッピーディスクのフォーマットデータを作る
//public boolean fdmMakeFormatData (byte[] bb, boolean copySystemFiles, boolean x86SafeOn) {
public boolean fdmMakeFormatData (byte[] bb, boolean humanSysOn, boolean commandXOn, boolean x86SafeOn) {
Arrays.fill (bb, 0, (int) humDataStartByte, (byte) 0x00); //データ領域以外は0x00で埋める
Arrays.fill (bb, (int) humDataStartByte, (int) humDiskEndByte, (byte) 0xe5); //データ領域は0xe5で埋める
//フロッピーディスクIPLを書き込む
if (this == FDM_2HDE) {
System.arraycopy (FDM_2HDE_IPL, 0, bb, 0x00000000, FDM_2HDE_IPL.length);
} else if (this == FDM_2HS) {
System.arraycopy (FDM_2HS_IPL, 0, bb, 0x00000000, FDM_2HS_IPL.length);
} else {
System.arraycopy (FDM_DISK_IPL, 0, bb, 0x00000000, FDM_DISK_IPL.length);
//x86セーフ
// 2HQフローピーディスクのIPLの先頭3バイトを0xeb,0xfe,0x90にする
// 0xeb,0xfe,0x90は8086の命令でJMP(*);NOP
// x86系のPCの起動ディスクではないディスクのIPLの先頭3バイトを0xeb,0xfe,0x90にしておくと、誤ってx86系のPCで起動しようとしても余計なことをする前に無限ループに落ちるので安全(ということらしい)
// 先頭が0x60でないのでX68000でも起動できなくなる
// FORMAT.Xの場合
// FORMAT.X /4 x86セーフにする
// FORMAT.X /4/i x86セーフにしない
if (this == FDM_2HQ && x86SafeOn) { //2HQでx86セーフにするとき
bb[0] = (byte) 0xeb;
bb[1] = (byte) 0xfe;
//bb[2] = (byte) 0x90; //元々0x90なので不要
}
//フロッピーディスクIPLにBPBを埋め込む
if (false) {
System.arraycopy (FDM_DISK_BPB, fdmNumber << 5 , bb, 0x00000000 + (0x200b - 0x2000), 18);
System.arraycopy (FDM_DISK_BPB, (fdmNumber << 5) + 18, bb, 0x00000000 + (0x2162 - 0x2000), 14);
} else {
ByteArray.byaWiw (bb, 0x00000000 + (0x200b - 0x2000) + 0, humBytesPerSector);
ByteArray.byaWb ( bb, 0x00000000 + (0x200b - 0x2000) + 2, humSectorsPerCluster);
ByteArray.byaWiw (bb, 0x00000000 + (0x200b - 0x2000) + 3, humReservedSectors);
ByteArray.byaWb ( bb, 0x00000000 + (0x200b - 0x2000) + 5, humFatCount);
ByteArray.byaWiw (bb, 0x00000000 + (0x200b - 0x2000) + 6, humRootEntries);
ByteArray.byaWiw (bb, 0x00000000 + (0x200b - 0x2000) + 8, humPartitionSectors);
ByteArray.byaWb ( bb, 0x00000000 + (0x200b - 0x2000) + 10, humFatID);
ByteArray.byaWb ( bb, 0x00000000 + (0x200b - 0x2000) + 11, humFatSectors);
ByteArray.byaWw ( bb, 0x00000000 + (0x200b - 0x2000) + 12, fdmSectorsPerTrack);
ByteArray.byaWw ( bb, 0x00000000 + (0x200b - 0x2000) + 14, fdmTracksPerCylinder);
ByteArray.byaWb ( bb, 0x00000000 + (0x200b - 0x2000) + 16, 0);
ByteArray.byaWb ( bb, 0x00000000 + (0x200b - 0x2000) + 17, 0);
ByteArray.byaWl ( bb, 0x00000000 + (0x2162 - 0x2000) + 0, fdmBytesPerSector); //1セクタあたりのバイト数
ByteArray.byaWl ( bb, 0x00000000 + (0x2162 - 0x2000) + 4,
fdmSectorScale << 24 |
0 << 16 |
fdmRootStartSector / fdmSectorsPerTrack << 8 |
1 + fdmRootStartSector % fdmSectorsPerTrack); //ルートディレクトリの位置
ByteArray.byaWw ( bb, 0x00000000 + (0x2162 - 0x2000) + 8, fdmSectorsPerTrack); //1トラックあたりのセクタ数
ByteArray.byaWw ( bb, 0x00000000 + (0x2162 - 0x2000) + 10, (fdmBytesPerSector >> 5) - 1); //humEntriesPerSector-1。1セクタあたりのエントリ数-1
ByteArray.byaWw ( bb, 0x00000000 + (0x2162 - 0x2000) + 12, fdmDataStartSector - 2); //データ領域の先頭セクタ番号-2
if (FDC.FDC_DEBUG_TRACE && FDC.fdcDebugLogOn) {
if (fdmNumber < 5) {
System.out.printf ("fdmNumber=%d\n", fdmNumber);
for (int k = 0; k < 2; k++) {
int l = k == 0 ? 18 : 14;
int b1 = (fdmNumber << 5) + (k == 0 ? 0 : 18);
int b2 = (k == 0 ? 0x200b : 0x2162) - 0x2000;
System.out.printf ("%04x ", b1);
for (int i = 0; i < l; i++) {
System.out.printf (" %02x", FDM_DISK_BPB[b1 + i] & 255);
}
System.out.println ();
System.out.printf ("%04x ", b2);
boolean match = true;
for (int i = 0; i < l; i++) {
System.out.printf (" %02x", bb[b2 + i] & 255);
match = match && FDM_DISK_BPB[b1 + i] == bb[b2 + i];
}
System.out.println (match ? " OK" : " ERROR");
}
}
}
}
}
//FAT領域の先頭にFATマーカーを書き込む
humWriteFatMarker (bb);
//システムファイルを転送する
//if (copySystemFiles) {
// if (!humCopyHumanSys (bb) ||
// !humCopyCommandX (bb)) {
// return false;
// }
//}
if (humanSysOn) {
if (!humCopyHumanSys (bb)) {
return false;
}
if (commandXOn) {
if (!humCopyCommandX (bb)) {
return false;
}
}
}
if (false) {
humDumpFat (bb);
}
return true;
} //media.fdmMakeFormatData(byte[],boolean)
//dimSize = media.fdmMakeDimImage (dimBuffer, diskImage)
// *.DIMのイメージを作る
// dimSize *.DIMのサイズ
// dimBuffer *.DIMのイメージ
// diskImage ディスクイメージ
//
// DIFCヘッダ
// $0000 .b メディアタイプ($00=2HD,$01=2HS,$02=2HC,$03=2HDE,$09=2HQ,$11=N88)
// $0001 .b[170] トラック保存状態($00=なし,$01=あり)
// $00AB .b[15] 'DIFC HEADER ',$00,$00
// $00BA .l ファイル作成日付(_DATEGET)
// $00BA .b ファイル作成曜日(0~6)
// $00BB .b ファイル作成西暦年-$1980(BCD)
// $00BC .b ファイル作成月(BCD)
// $00BD .b ファイル作成月通日(BCD)
// $00BE .l ファイル作成時刻(_TIMEGET)
// $00BE .b $01 $00=12時間計,$01=24時間計
// $00BF .b ファイル作成時(BCD)
// $00C0 .b ファイル作成分(BCD)
// $00C1 .b ファイル作成秒(BCD)
// $00C2 .b[60] コメント。残りは$00。空白を含むときは/*~*/で囲む
// $00FE .b $19 DIFC.Xのバージョン(BCD)($19=1.19)
// $00FF .b $00 オーバートラック($00=NO,その他=/Bのトラック数)
public int fdmMakeDimImage (byte[] dimImage, byte[] diskImage) {
if (this == FDM_2HD) {
dimImage[0x0000] = 0x00; //メディアタイプ
} else if (this == FDM_2HS) {
dimImage[0x0000] = 0x01;
} else if (this == FDM_2HC) {
dimImage[0x0000] = 0x02;
} else if (this == FDM_2HDE) {
dimImage[0x0000] = 0x03;
} else if (this == FDM_2HQ) {
dimImage[0x0000] = 0x09;
} else {
return -1; //非対応
}
// 111 1 11
// 0123456789012 3 45
ByteArray.byaWstr (dimImage, 0x00ab, "DIFC HEADER \0\0"); //マジック
long dttm = DnT.dntDttmNow (); //現在の日時。ここではRTCの日時ではなくてホストマシンの日時を使う
dimImage[0x00ba] = (byte) DnT.dntWdayDttm (dttm); //曜日
dimImage[0x00bb] = (byte) XEiJ.fmtBcd4 (DnT.dntYearDttm (dttm) - 1980); //西暦年-1980。DIFC.Xは20xx年を正しく表示できない
dimImage[0x00bc] = (byte) XEiJ.fmtBcd4 (DnT.dntMontDttm (dttm)); //月
dimImage[0x00bd] = (byte) XEiJ.fmtBcd4 (DnT.dntMdayDttm (dttm)); //月通日
dimImage[0x00be] = 0x01; //$00=12時間計,$01=24時間計
dimImage[0x00bf] = (byte) XEiJ.fmtBcd4 (DnT.dntHourDttm (dttm)); //時
dimImage[0x00c0] = (byte) XEiJ.fmtBcd4 (DnT.dntMinuDttm (dttm)); //分
dimImage[0x00c1] = (byte) XEiJ.fmtBcd4 (DnT.dntSecoDttm (dttm)); //秒
Arrays.fill (dimImage, 0x00c2, 0x00c2 + 60, (byte) 0x00); //コメント
dimImage[0x00fe] = 0x19; //DIFC.Xのバージョン
dimImage[0x00ff] = 0x00; //オーバートラック
//
int bytesPerTrack = (128 << fdmSectorScale) * fdmSectorsPerTrack; //1トラックあたりのバイト数
int tracksPerDisk = fdmTracksPerCylinder * fdmCylindersPerDisk; //総トラック数
Arrays.fill (dimImage, 0x0001, 0x0001 + 170, (byte) 0x00); //トラックの保存状態
int diskPointer = 0; //ディスクイメージの読み出し位置
int dimPointer = 256; //*.DIMのイメージの書き込み位置
for (int trackNumber = 0; trackNumber < tracksPerDisk; trackNumber++) { //すべてのトラックについて
for (int offset = 0; offset < bytesPerTrack; offset++) { //トラックのすべてのデータについて
if (diskImage[diskPointer + offset] != (byte) 0xe5) { //0xe5以外のデータがあるとき。符号に注意
dimImage[0x0001 + trackNumber] = 0x01; //トラックの保存状態
System.arraycopy (diskImage, diskPointer, dimImage, dimPointer, bytesPerTrack); //トラックをコピーする
dimPointer += bytesPerTrack;
break;
}
}
diskPointer += bytesPerTrack;
}
return dimPointer;
} //media.fdmMakeDimImage(byte[],byte[])
//media.fdmReviveFiles (bb)
// 削除ファイルを復元する
public void fdmReviveFiles (byte[] bb) {
//int code = Arrays.hashCode (bb); //Arrays.hashCode()は1.5から。Arrays.hashCode()は範囲を指定できないので配列の長さとメディアの種類が合っていないと使えない
CRC32 crc32 = new CRC32 ();
crc32.reset ();
crc32.update (bb, 0, (int) humDiskEndByte);
int code = (int) crc32.getValue ();
switch (code) {
case 0x6930fe0f: //HUMAN302.XDF(crc32=0x6930fe0f,hashCode=0xbcebaa12)
humUndel (bb, 1024 * 110 + 32 * 20, 'O'); //SYS/OPMDRV3.X
humUndel (bb, 1024 * 418 + 32 * 11, 'D'); //BIN/DUMP.X
break;
//case 0x7b0d5df3: //SXTOOLS.XDF(crc32=0x7b0d5df3,hashCode=0x70cd3082)
//break;
case 0x14c461bf: //SXWIN311.XDF(crc32=0x14c461bf,hashCode=0xd6d3e7cd)
humUndel (bb, 1024 * 98 + 32 * 7, 'S'); //SHELL/SXCON.X
humUndel (bb, 1024 * 556 + 32 * 6, 'O'); //SYS/OPMDRV3.X
break;
case 0x08c4fe7c: //SXWIN312.XDF(crc32=0x08c4fe7c,hashCode=0x7da348d8)
humUndel (bb, 1024 * 5 + 32 * 4, 0x8373 >> 8); //ピンボール.X
break;
case 0x479edc8e: //SXWIN313.XDF(crc32=0x479edc8e,hashCode=0x0eb43290)
humUndel (bb, 1024 * 5 + 32 * 1, 'S'); //SAMPLE
humUndel (bb, 1024 * 11 + 32 * 2, 'S'); //SAMPLE/Sample.PCM
humUndel (bb, 1024 * 11 + 32 * 3, 'X'); //SAMPLE/X68K.OPM
humUndel (bb, 1024 * 11 + 32 * 4, 'A'); //SAMPLE/ANGEL.PIX
humUndel (bb, 1024 * 11 + 32 * 5, 0xcc); //SAMPLE/フェニックス.PIC
humUndel (bb, 1024 * 11 + 32 * 6, 0x90c2 >> 8); //SAMPLE/青空.PIC
humUndel (bb, 1024 * 11 + 32 * 7, 0xcf); //SAMPLE/マグカップ.PIC
humUndel (bb, 1024 * 11 + 32 * 8, 0x8946 >> 8); //SAMPLE/宇宙.PIC
humUndel (bb, 1024 * 11 + 32 * 9, 0x9190 >> 8); //SAMPLE/草原.JPG
humUndel (bb, 1024 * 11 + 32 * 10, 0x9356 >> 8); //SAMPLE/天球儀.CGA
humUndel (bb, 1024 * 11 + 32 * 11, 0xb6); //SAMPLE/カタログ.PEN
break;
//case 0x9ff5ea29: //SXWIN315.XDF(crc32=0x9ff5ea29,hashCode=0x56f1f53b)
//break;
case 0x1b1ac738: //SXWIN316.XDF(crc32=0x1b1ac738,hashCode=0x36952122)
humUndel (bb, 1024 * 5 + 32 * 1, 0xb2); //インストーラ.X
humUndel (bb, 1024 * 5 + 32 * 2, 0xb2); //インストーラ.LB
humUndel (bb, 1024 * 5 + 32 * 3, 'S'); //SX31_HD.INS
humUndel (bb, 1024 * 5 + 32 * 4, 'S'); //SX31_FD.INS
humUndel (bb, 1024 * 5 + 32 * 5, 'S'); //SX31INST.LB
break;
//case 0x4b3d5e26: //SXWORK1.XDF(crc32=0x4b3d5e26,hashCode=0x38c9ee13)
//break;
//case 0x4046ff76: //SXWORK2.XDF(crc32=0x4046ff76,hashCode=0x19fa34e1)
//break;
//case 0x80775dd1: //SXWORK3.XDF(crc32=0x80775dd1,hashCode=0x040501a3)
//break;
//case 0x89ff5558: //XC2101.XDF(crc32=0x89ff5558,hashCode=0x18b24c6d)
//break;
case 0xd90f9821: //XC2102.XDF(crc32=0xd90f9821,hashCode=0x5ce5ffc2)
humUndel (bb, 1024 * 5 + 32 * 3, 'B'); //BC
humUndel (bb, 1024 * 438 + 32 * 12, 'G'); //BASIC2/GPIB.FNC
humUndel (bb, 1024 * 542 + 32 * 2, 'B'); //BC/BC.X
humUndel (bb, 1024 * 542 + 32 * 3, 'B'); //BC/BASIC.CNF
humUndel (bb, 1024 * 542 + 32 * 4, 'A'); //BC/AUDIO.DEF
humUndel (bb, 1024 * 542 + 32 * 5, 'B'); //BC/BASIC.DEF
humUndel (bb, 1024 * 542 + 32 * 6, 'G'); //BC/GRAPH.DEF
humUndel (bb, 1024 * 542 + 32 * 7, 'I'); //BC/IMAGE.DEF
humUndel (bb, 1024 * 542 + 32 * 8, 'M'); //BC/MOUSE.DEF
humUndel (bb, 1024 * 542 + 32 * 9, 'M'); //BC/MUSIC.DEF
humUndel (bb, 1024 * 542 + 32 * 10, 'M'); //BC/MUSIC3.DEF
humUndel (bb, 1024 * 542 + 32 * 11, 'S'); //BC/SPRITE.DEF
humUndel (bb, 1024 * 542 + 32 * 12, 'S'); //BC/STICK.DEF
humUndel (bb, 1024 * 542 + 32 * 13, 'G'); //BC/GPIB.DEF
break;
case 0x68f09cf0: //XC2103.XDF(crc32=0x68f09cf0,hashCode=0x809478d0)
humUndel (bb, 1024 * 5 + 32 * 1, 'S'); //SAMPLE
humUndel (bb, 1024 * 5 + 32 * 2, 'M'); //MUSIC
humUndel (bb, 1024 * 5 + 32 * 4, 'S'); //SOURCE
humUndel (bb, 1024 * 11 + 32 * 2, 'S'); //SAMPLE/SAMPLE.DOC
humUndel (bb, 1024 * 11 + 32 * 3, 'M'); //SAMPLE/MESH.C
humUndel (bb, 1024 * 11 + 32 * 4, 'D'); //SAMPLE/DEF.BAS
humUndel (bb, 1024 * 11 + 32 * 5, 'D'); //SAMPLE/DEF.HLP
humUndel (bb, 1024 * 11 + 32 * 6, 'S'); //SAMPLE/SCSI1.C
humUndel (bb, 1024 * 11 + 32 * 7, 'S'); //SAMPLE/SCSI2.C
humUndel (bb, 1024 * 11 + 32 * 8, 'M'); //SAMPLE/MAKEFILE
humUndel (bb, 1024 * 69 + 32 * 2, 'O'); //MUSIC/OPMDRV2.X
humUndel (bb, 1024 * 69 + 32 * 3, 'B'); //MUSIC/BASIC2.CNF
humUndel (bb, 1024 * 69 + 32 * 4, 'A'); //MUSIC/AUDIO.FNC
humUndel (bb, 1024 * 69 + 32 * 5, 'M'); //MUSIC/MUSIC2.FNC
humUndel (bb, 1024 * 69 + 32 * 6, 'B'); //MUSIC/BC.CNF
humUndel (bb, 1024 * 69 + 32 * 7, 'M'); //MUSIC/MUSIC2.DEF
humUndel (bb, 1024 * 69 + 32 * 8, 'M'); //MUSIC/MUSIC.H
humUndel (bb, 1024 * 69 + 32 * 9, 'M'); //MUSIC/MUSIC2.H
humUndel (bb, 1024 * 69 + 32 * 10, 'B'); //MUSIC/BASLIB.L
humUndel (bb, 1024 * 69 + 32 * 11, 'B'); //MUSIC/BASLIB.ARC
humUndel (bb, 1024 * 401 + 32 * 2, 'C'); //SOURCE/CLIB.ARC
humUndel (bb, 1024 * 401 + 32 * 3, 'B'); //SOURCE/BASLIB.ARC
humUndel (bb, 1024 * 401 + 32 * 4, 'D'); //SOURCE/DOSLIB.ARC
humUndel (bb, 1024 * 401 + 32 * 5, 'I'); //SOURCE/IOCSLIB.ARC
break;
} //switch(code)
} //fdmReviveFiles(byte[])
//media.fdmPrintInfo ()
public void fdmPrintInfo () {
humPrintInfo ();
System.out.printf (" fdmNumber= %12d\n", fdmNumber);
System.out.printf (" fdmSectorScale= %12d\n", fdmSectorScale);
System.out.printf (" fdmSectorsPerTrack= %12d\n", fdmSectorsPerTrack);
System.out.printf (" fdmTracksPerCylinder= %12d\n", fdmTracksPerCylinder);
System.out.printf (" fdmCylindersPerDisk= %12d\n", fdmCylindersPerDisk);
System.out.printf (" fdmDoubleDensity= %12b\n", fdmDoubleDensity);
System.out.printf (" fdmTracksPerDisk= %12d\n", fdmTracksPerDisk);
System.out.printf (" fdmSectorsPerDisk= %12d\n", fdmSectorsPerDisk);
System.out.printf (" fdmBytesPerSector= %12d\n", fdmBytesPerSector);
System.out.printf (" fdmBytesPerDisk= %12d\n", fdmBytesPerDisk);
System.out.printf (" fdmTwoSide= %12d\n", fdmTwoSide);
System.out.printf (" fdmName=\"%s\"\n", fdmName);
System.out.printf (" fdmExtensionArray=\"%s\"\n", String.join (",", fdmExtensionArray));
System.out.printf (" fdmRootStartSector= %12d\n", fdmRootStartSector);
System.out.printf (" fdmDataStartSector= %12d\n", fdmDataStartSector);
if (humBytesPerSector != fdmBytesPerSector) {
System.out.printf ("FDM_ARRAY[%d]: humBytesPerSector(%d) != fdmBytesPerSector(%d)\n",
fdmNumber, humBytesPerSector, fdmBytesPerSector);
}
if (humPartitionSectors != fdmSectorsPerDisk) {
System.out.printf ("FDM_ARRAY[%d]: humPartitionSectors(%d) != fdmSectorsPerDisk(%d)\n",
fdmNumber, humPartitionSectors, fdmSectorsPerDisk);
}
if (humRootStartSector != fdmRootStartSector) {
System.out.printf ("FDM_ARRAY[%d]: humRootStartSector(%d) != fdmRootStartSector(%d)\n",
fdmNumber, humRootStartSector, fdmRootStartSector);
}
if (humDataStartSector != fdmDataStartSector) {
System.out.printf ("FDM_ARRAY[%d]: humDataStartSector(%d) != fdmDataStartSector(%d)\n",
fdmNumber, humDataStartSector, fdmDataStartSector);
}
} //media.fdmPrintInfo()
//========================================================================================
//フロッピーディスクフォーマットデータ
// 無償公開されたHuman68k version 3.02のシステムディスクに入っているFORMAT.Xから抽出したIPLデータを使う
//----------------------------------------------------------------------------------------
//フロッピーディスクIPL
// フロッピーディスクのセクタ0に書き込まれる
// HUMAN.SYSを読み込んで起動する
/*
public static final int[] FDM_DISK_IPL = {
// perl -e "do'sjdump.pl';$p=0;$m=1;$o=0x76e;$l=512;open IN,'HUMAN302.XDF'or die;binmode IN;seek IN,1024*592,0;read IN,$b,64;seek IN,1024*592+vec($b,15,32)+32*$m,0;read IN,$b,32;seek IN,1024*592+vec($b,7,32)+64+$o,0;read IN,$b,$l;close IN;sjdumpcode($b,0,$l,$p)"
0x60,0x3c,0x90,0x58,0x36,0x38,0x49,0x50,0x4c,0x33,0x30,0x00,0x04,0x01,0x01,0x00, //00000000 `<森68IPL30.....
0x02,0xc0,0x00,0xd0,0x04,0xfe,0x02,0x00,0x08,0x00,0x02,0x00,0x00,0x00,0x00,0x00, //00000010 .タ.ミ............
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x20, //00000020 ...........
0x20,0x20,0x20,0x20,0x20,0x20,0x46,0x41,0x54,0x31,0x32,0x20,0x20,0x20,0x4f,0xfa, //00000030 FAT12 O.
0xff,0xc0,0x4d,0xfa,0x01,0xb8,0x4b,0xfa,0x00,0xe0,0x49,0xfa,0x00,0xea,0x43,0xfa, //00000040 .タM..クK..潛..鵑.
0x01,0x20,0x4e,0x94,0x70,0x8e,0x4e,0x4f,0x7e,0x70,0xe1,0x48,0x8e,0x40,0x26,0x3a, //00000050 . N廃晒O~p瓸察&:
0x01,0x02,0x22,0x4e,0x24,0x3a,0x01,0x00,0x32,0x07,0x4e,0x95,0x66,0x28,0x22,0x4e, //00000060 .."N$:..2.N蒜("N
0x32,0x3a,0x00,0xfa,0x20,0x49,0x45,0xfa,0x01,0x78,0x70,0x0a,0x00,0x10,0x00,0x20, //00000070 2:.. IE..xp....
0xb1,0x0a,0x56,0xc8,0xff,0xf8,0x67,0x38,0xd2,0xfc,0x00,0x20,0x51,0xc9,0xff,0xe6, //00000080 ア.Vネ..g8メ.. Qノ.襴
0x45,0xfa,0x00,0xe0,0x60,0x10,0x45,0xfa,0x00,0xfa,0x60,0x0a,0x45,0xfa,0x01,0x10, //00000090 ..濮.E...`.E...
0x60,0x04,0x45,0xfa,0x01,0x28,0x61,0x00,0x00,0x94,0x22,0x4a,0x4c,0x99,0x00,0x06, //000000a0 `.E..(a..."JL...
0x70,0x23,0x4e,0x4f,0x4e,0x94,0x32,0x07,0x70,0x4f,0x4e,0x4f,0x70,0xfe,0x4e,0x4f, //000000b0 p#NON.2.pONOp.NO
0x74,0x00,0x34,0x29,0x00,0x1a,0xe1,0x5a,0xd4,0x7a,0x00,0xa4,0x84,0xfa,0x00,0x9c, //000000c0 t.4)..畛ヤz.、...怱
0x84,0x7a,0x00,0x94,0xe2,0x0a,0x64,0x04,0x08,0xc2,0x00,0x18,0x48,0x42,0x52,0x02, //000000d0 z.披.d..ツ..HBR.
0x22,0x4e,0x26,0x3a,0x00,0x7e,0x32,0x07,0x4e,0x95,0x34,0x7c,0x68,0x00,0x22,0x4e, //000000e0 "N&:.~2.N.4|h."N
0x0c,0x59,0x48,0x55,0x66,0xa6,0x54,0x89,0xb5,0xd9,0x66,0xa6,0x2f,0x19,0x20,0x59, //000000f0 .YHUfヲT卸ルfヲ/. Y
0xd1,0xd9,0x2f,0x08,0x2f,0x11,0x32,0x7c,0x67,0xc0,0x76,0x40,0xd6,0x88,0x4e,0x95, //00000100 ムル/./.2|gタv@ヨ.N.
0x22,0x1f,0x24,0x1f,0x22,0x5f,0x4a,0x80,0x66,0x00,0xff,0x7c,0xd5,0xc2,0x53,0x81, //00000110 ".$."_J.f..|ユツS‘
0x65,0x04,0x42,0x1a,0x60,0xf8,0x4e,0xd1,0x70,0x46,0x4e,0x4f,0x08,0x00,0x00,0x1e, //00000120 .B.`.NムpFNO....
0x66,0x02,0x70,0x00,0x4e,0x75,0x70,0x21,0x4e,0x4f,0x4e,0x75,0x72,0x0f,0x70,0x22, //00000130 f.p.Nup!NONur.p"
0x4e,0x4f,0x72,0x19,0x74,0x0c,0x70,0x23,0x4e,0x4f,0x61,0x08,0x72,0x19,0x74,0x0d, //00000140 NOr.t.p#NOa.r.t.
0x70,0x23,0x4e,0x4f,0x76,0x2c,0x72,0x20,0x70,0x20,0x4e,0x4f,0x51,0xcb,0xff,0xf8, //00000150 p#NOv,r p NOQヒ..
0x4e,0x75,0x00,0x00,0x04,0x00,0x03,0x00,0x00,0x06,0x00,0x08,0x00,0x1f,0x00,0x09, //00000160 Nu..............
0x1a,0x00,0x00,0x22,0x00,0x0d,0x48,0x75,0x6d,0x61,0x6e,0x2e,0x73,0x79,0x73,0x20, //00000170 ..."..Human.sys
0x82,0xaa,0x20,0x8c,0xa9,0x82,0xc2,0x82,0xa9,0x82,0xe8,0x82,0xdc,0x82,0xb9,0x82, //00000180 が 見つかりません
0xf1,0x00,0x00,0x25,0x00,0x0d,0x83,0x66,0x83,0x42,0x83,0x58,0x83,0x4e,0x82,0xaa, //00000190 ..%..ディスクが
0x81,0x40,0x93,0xc7,0x82,0xdf,0x82,0xdc,0x82,0xb9,0x82,0xf1,0x00,0x00,0x00,0x23, //000001a0 読めません...#
0x00,0x0d,0x48,0x75,0x6d,0x61,0x6e,0x2e,0x73,0x79,0x73,0x20,0x82,0xaa,0x20,0x89, //000001b0 ..Human.sys が 壊
0xf3,0x82,0xea,0x82,0xc4,0x82,0xa2,0x82,0xdc,0x82,0xb7,0x00,0x00,0x20,0x00,0x0d, //000001c0 れています.. ..
0x48,0x75,0x6d,0x61,0x6e,0x2e,0x73,0x79,0x73,0x20,0x82,0xcc,0x20,0x83,0x41,0x83, //000001d0 Human.sys の アド
0x68,0x83,0x8c,0x83,0x58,0x82,0xaa,0x88,0xd9,0x8f,0xed,0x82,0xc5,0x82,0xb7,0x00, //000001e0 レスが異常です.
0x68,0x75,0x6d,0x61,0x6e,0x20,0x20,0x20,0x73,0x79,0x73,0x00,0x00,0x00,0x00,0x00, //000001f0 human sys.....
};
*/
// perl misc/itob.pl xeij/FDMedia.java FDM_DISK_IPL
public static final byte[] FDM_DISK_IPL = "`<\220X68IPL30\0\4\1\1\0\2\300\0\320\4\376\2\0\b\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 FAT12 O\372\377\300M\372\1\270K\372\0\340I\372\0\352C\372\1 N\224p\216NO~p\341H\216@&:\1\2\"N$:\1\0002\7N\225f(\"N2:\0\372 IE\372\1xp\n\0\20\0 \261\nV\310\377\370g8\322\374\0 Q\311\377\346E\372\0\340`\20E\372\0\372`\nE\372\1\20`\4E\372\1(a\0\0\224\"JL\231\0\6p#NON\2242\7pONOp\376NOt\0004)\0\32\341Z\324z\0\244\204\372\0\234\204z\0\224\342\nd\4\b\302\0\30HBR\2\"N&:\0~2\7N\2254|h\0\"N\fYHUf\246T\211\265\331f\246/\31 Y\321\331/\b/\0212|g\300v@\326\210N\225\"\37$\37\"_J\200f\0\377|\325\302S\201e\4B\32`\370N\321pFNO\b\0\0\36f\2p\0Nup!NONur\17p\"NOr\31t\fp#NOa\br\31t\rp#NOv,r p NOQ\313\377\370Nu\0\0\4\0\3\0\0\6\0\b\0\37\0\t\32\0\0\"\0\rHuman.sys \202\252 \214\251\202\302\202\251\202\350\202\334\202\271\202\361\0\0%\0\r\203f\203B\203X\203N\202\252\201@\223\307\202\337\202\334\202\271\202\361\0\0\0#\0\rHuman.sys \202\252 \211\363\202\352\202\304\202\242\202\334\202\267\0\0 \0\rHuman.sys \202\314 \203A\203h\203\214\203X\202\252\210\331\217\355\202\305\202\267\0human sys\0\0\0\0\0".getBytes (XEiJ.ISO_8859_1);
/*
public static final int[] FDM_2HDE_IPL = {
// perl sjdump.pl 2hde.2hde 0 0x1000 2
0x60,0x20,0x32,0x48,0x44,0x45,0x20,0x76,0x31,0x2e,0x31,0x00,0x00,0x04,0x01,0x01, //00000000 ` 2HDE v1.1.....
0x00,0x02,0xc0,0x00,0xa0,0x05,0x03,0x03,0x00,0x09,0x00,0x02,0x00,0x00,0x00,0x00, //00000010 ..タ.............
0x90,0x70,0x60,0x00,0x03,0x5a,0x08,0x01,0x00,0x0c,0x66,0x08,0x4d,0xfa,0xff,0xd2, //00000020 壬`..Z....f.M..メ
0x2c,0x56,0x4e,0xd6,0x61,0x00,0x00,0xba,0x48,0xe7,0x4f,0x00,0x61,0x00,0x02,0xf0, //00000030 ,VNヨa..コH躇.a...
0x61,0x00,0x00,0xc4,0x08,0x00,0x00,0x1b,0x66,0x4e,0xc2,0x3c,0x00,0xc0,0x82,0x3c, //00000040 a..ト....fNツ<.タ.<
0x00,0x06,0x61,0x00,0x00,0xd0,0xe1,0x9a,0x54,0x88,0x20,0xc2,0xe0,0x9a,0x10,0xc2, //00000050 ..a..ミ癩T. ツ燠.ツ
0x10,0xc7,0x10,0x86,0x61,0x00,0x00,0xf0,0x41,0xf8,0x09,0xee,0x70,0x08,0x61,0x00, //00000060 .ヌ..a...A..綠.a.
0x01,0x0c,0x61,0x00,0x01,0x42,0x61,0x00,0x01,0x60,0x61,0x00,0x01,0x7a,0x08,0x00, //00000070 ..a..Ba..`a..z..
0x00,0x0e,0x66,0x0c,0x08,0x00,0x00,0x1e,0x67,0x26,0x08,0x00,0x00,0x1b,0x66,0x08, //00000080 ..f.....g&....f.
0x61,0x00,0x01,0x7a,0x51,0xcc,0xff,0xbc,0x4c,0xdf,0x00,0xf2,0x4a,0x38,0x09,0xe1, //00000090 a..zQフ.シL゚..J8.疊
0x67,0x0c,0x31,0xf8,0x09,0xc2,0x09,0xc4,0x11,0xfc,0x00,0x40,0x09,0xe1,0x4e,0x75, //000000a0 .1..ツ.ト...@.甎u
0x08,0x00,0x00,0x1f,0x66,0xe2,0xd3,0xc5,0x96,0x85,0x63,0xdc,0x20,0x04,0x48,0x40, //000000b0 ....f簽ナ妹cワ .H@
0x38,0x00,0x30,0x3c,0x00,0x09,0x52,0x02,0xb0,0x02,0x64,0x86,0x14,0x3c,0x00,0x01, //000000c0 8.0<..R.ー.d..<..
0x0a,0x42,0x01,0x00,0x08,0x02,0x00,0x08,0x66,0x00,0xff,0x78,0xd4,0xbc,0x00,0x01, //000000d0 .B......f..xヤシ..
0x00,0x00,0x61,0x00,0x01,0xb8,0x08,0x00,0x00,0x1b,0x66,0xac,0x60,0x00,0xff,0x64, //000000e0 ..a..ク....fャ`..d
0x08,0x38,0x00,0x07,0x09,0xe1,0x66,0x0c,0x48,0xe7,0xc0,0x00,0x61,0x00,0x01,0x46, //000000f0 .8...畴.H鄲.a..F
0x4c,0xdf,0x00,0x03,0x4e,0x75,0x70,0x00,0x78,0x00,0x08,0x01,0x00,0x05,0x67,0x08, //00000100 L゚..Nup.x.....g.
0x78,0x09,0x48,0x44,0x38,0x3c,0x00,0x09,0x08,0x01,0x00,0x04,0x67,0x04,0x61,0x00, //00000110 x.HD8<......g.a.
0x01,0x7c,0x4e,0x75,0x2f,0x01,0x41,0xf8,0x09,0xee,0x10,0x81,0xe0,0x99,0xc2,0x3c, //00000120 .|Nu/.A....≒卍<
0x00,0x03,0x08,0x02,0x00,0x08,0x67,0x04,0x08,0xc1,0x00,0x02,0x11,0x41,0x00,0x01, //00000130 ......g..チ...A..
0x22,0x1f,0x4e,0x75,0x13,0xfc,0x00,0xff,0x00,0xe8,0x40,0x00,0x13,0xfc,0x00,0x32, //00000140 ".Nu.....錙....2
0x00,0xe8,0x40,0x05,0x60,0x10,0x13,0xfc,0x00,0xff,0x00,0xe8,0x40,0x00,0x13,0xfc, //00000150 .錙.`......錙...
0x00,0xb2,0x00,0xe8,0x40,0x05,0x23,0xc9,0x00,0xe8,0x40,0x0c,0x33,0xc5,0x00,0xe8, //00000160 .イ.錙.#ノ.錙.3ナ.錙
0x40,0x0a,0x13,0xfc,0x00,0x80,0x00,0xe8,0x40,0x07,0x4e,0x75,0x48,0xe7,0x40,0x60, //00000170 ......錙.NuH蹇`
0x43,0xf9,0x00,0xe9,0x40,0x01,0x45,0xf9,0x00,0xe9,0x40,0x03,0x40,0xe7,0x00,0x7c, //00000180 C..顱.E..顱.@..|
0x07,0x00,0x12,0x11,0x08,0x01,0x00,0x04,0x66,0xf8,0x12,0x11,0x08,0x01,0x00,0x07, //00000190 ........f.......
0x67,0xf8,0x08,0x01,0x00,0x06,0x66,0xf2,0x14,0x98,0x51,0xc8,0xff,0xee,0x46,0xdf, //000001a0 g.....f..浪ネ.珖゚
0x4c,0xdf,0x06,0x02,0x4e,0x75,0x10,0x39,0x00,0xe8,0x40,0x00,0x08,0x00,0x00,0x04, //000001b0 L゚..Nu.9.錙.....
0x66,0x0e,0x10,0x39,0x00,0xe9,0x40,0x01,0xc0,0x3c,0x00,0x1f,0x66,0xf4,0x4e,0x75, //000001c0 f..9.顱.タ<..f.Nu
0x10,0x39,0x00,0xe8,0x40,0x01,0x4e,0x75,0x10,0x39,0x00,0xe8,0x40,0x00,0x08,0x00, //000001d0 .9.錙.Nu.9.錙...
0x00,0x07,0x66,0x08,0x13,0xfc,0x00,0x10,0x00,0xe8,0x40,0x07,0x13,0xfc,0x00,0xff, //000001e0 ..f......錙.....
0x00,0xe8,0x40,0x00,0x4e,0x75,0x30,0x01,0xe0,0x48,0xc0,0xbc,0x00,0x00,0x00,0x03, //000001f0 .錙.Nu0.潯タシ....
0xe7,0x40,0x41,0xf8,0x0c,0x90,0xd1,0xc0,0x20,0x10,0x4e,0x75,0x2f,0x00,0xc0,0xbc, //00000200 蹇A..績タ .Nu/.タシ
0x00,0x35,0xff,0x00,0x67,0x2a,0xb8,0x3c,0x00,0x05,0x64,0x24,0x2f,0x38,0x09,0xee, //00000210 .5..g*ク<..d$/8..
0x2f,0x38,0x09,0xf2,0x3f,0x38,0x09,0xf6,0x61,0x00,0x00,0xc4,0x70,0x64,0x51,0xc8, //00000220 /8..?8..a..トpdQネ
0xff,0xfe,0x61,0x68,0x31,0xdf,0x09,0xf6,0x21,0xdf,0x09,0xf2,0x21,0xdf,0x09,0xee, //00000230 ..ah1゚..!゚..!゚..
0x20,0x1f,0x4e,0x75,0x30,0x01,0xe0,0x48,0x4a,0x00,0x67,0x3c,0xc0,0x3c,0x00,0x03, //00000240 .Nu0.潯J.g<タ<..
0x80,0x3c,0x00,0x80,0x08,0xf8,0x00,0x07,0x09,0xe1,0x13,0xc0,0x00,0xe9,0x40,0x07, //00000250 .<.........タ.顱.
0x08,0xf8,0x00,0x06,0x09,0xe1,0x66,0x18,0x31,0xf8,0x09,0xc2,0x09,0xc4,0x61,0x00, //00000260 .....畴.1..ツ.トa.
0x00,0x90,0x08,0x00,0x00,0x1d,0x66,0x08,0x0c,0x78,0x00,0x64,0x09,0xc4,0x64,0xee, //00000270 ......f..x.d.トd.
0x08,0xb8,0x00,0x06,0x09,0xe1,0x4e,0x75,0x4a,0x38,0x09,0xe1,0x67,0x0c,0x31,0xf8, //00000280 .ク...甎uJ8.疊.1.
0x09,0xc2,0x09,0xc4,0x11,0xfc,0x00,0x40,0x09,0xe1,0x4e,0x75,0x61,0x12,0x08,0x00, //00000290 .ツ.ト...@.甎ua...
0x00,0x1b,0x66,0x26,0x48,0x40,0x48,0x42,0xb4,0x00,0x67,0x1a,0x48,0x42,0x61,0x3e, //000002a0 ..f&H@HBエ.g.HBa>
0x2f,0x01,0x12,0x3c,0x00,0x0f,0x61,0x00,0xfe,0x6c,0x48,0x42,0x11,0x42,0x00,0x02, //000002b0 /..<..a..lHB.B..
0x48,0x42,0x70,0x02,0x60,0x08,0x48,0x42,0x48,0x40,0x4e,0x75,0x2f,0x01,0x61,0x00, //000002c0 HBp.`.HBH@Nu/.a.
0xfe,0xac,0x61,0x00,0xfe,0xee,0x22,0x1f,0x30,0x01,0xe0,0x48,0xc0,0xbc,0x00,0x00, //000002d0 .ャa...".0.潯タシ..
0x00,0x03,0xe7,0x40,0x41,0xf8,0x0c,0x90,0xd1,0xc0,0x20,0x10,0x4e,0x75,0x2f,0x01, //000002e0 ..蹇A..績タ .Nu/.
0x12,0x3c,0x00,0x07,0x61,0x00,0xfe,0x2e,0x70,0x01,0x61,0xd0,0x22,0x1f,0x4e,0x75, //000002f0 .<..a...p.aミ".Nu
0x2f,0x01,0x12,0x3c,0x00,0x04,0x61,0x00,0xfe,0x1c,0x22,0x1f,0x70,0x01,0x61,0x00, //00000300 /..<..a...".p.a.
0xfe,0x6c,0x10,0x39,0x00,0xe9,0x40,0x01,0xc0,0x3c,0x00,0xd0,0xb0,0x3c,0x00,0xd0, //00000310 .l.9.顱.タ<.ミー<.ミ
0x66,0xf0,0x70,0x00,0x10,0x39,0x00,0xe9,0x40,0x03,0xe0,0x98,0x4e,0x75,0x53,0x02, //00000320 f.p..9.顱.燔NuS.
0x7e,0x00,0x3a,0x02,0xe0,0x5d,0x4a,0x05,0x67,0x04,0x06,0x45,0x08,0x00,0xe0,0x4d, //00000330 ~.:.濔J.g..E..潼
0x48,0x42,0x02,0x82,0x00,0x00,0x00,0xff,0xe9,0x8a,0xd4,0x45,0x0c,0x42,0x00,0x04, //00000340 HB......驫ヤE.B..
0x65,0x02,0x54,0x42,0x84,0xfc,0x00,0x12,0x48,0x42,0x3e,0x02,0x8e,0xfc,0x00,0x09, //00000350 e.TB....HB>.周..
0x48,0x47,0xe1,0x4f,0xe0,0x8f,0x34,0x07,0x06,0x82,0x03,0x00,0x80,0x01,0x2a,0x3c, //00000360 HG甍熄4.......*<
0x00,0x00,0x04,0x00,0x3c,0x3c,0x00,0xff,0x3e,0x3c,0x09,0x28,0x4e,0x75,0x4f,0xfa, //00000370 ....<<..><.(NuO.
0xfc,0x80,0x43,0xfa,0xfc,0xa2,0x4d,0xfa,0xfc,0x78,0x2c,0xb9,0x00,0x00,0x05,0x18, //00000380 ..C..「M..x,ケ....
0x23,0xc9,0x00,0x00,0x05,0x18,0x43,0xfa,0x00,0xda,0x4d,0xfa,0xfc,0x68,0x2c,0xb9, //00000390 #ノ....C..レM..h,ケ
0x00,0x00,0x05,0x14,0x23,0xc9,0x00,0x00,0x05,0x14,0x43,0xfa,0x01,0x6e,0x4d,0xfa, //000003a0 ....#ノ....C..nM.
0xfc,0x58,0x2c,0xb9,0x00,0x00,0x05,0x04,0x23,0xc9,0x00,0x00,0x05,0x04,0x24,0x3c, //000003b0 .X,ケ....#ノ....$<
0x03,0x00,0x00,0x04,0x20,0x3c,0x00,0x00,0x00,0x8e,0x4e,0x4f,0x12,0x00,0xe1,0x41, //000003c0 .... <...晒O..瓣
0x12,0x3c,0x00,0x70,0x33,0xc1,0x00,0x00,0x00,0x66,0x26,0x3c,0x00,0x00,0x04,0x00, //000003d0 .<.p3チ...f&<....
0x43,0xfa,0x00,0x20,0x61,0x04,0x60,0x00,0x01,0xec,0x48,0xe7,0x78,0x40,0x70,0x46, //000003e0 C.. a.`...H輾@pF
0x4e,0x4f,0x08,0x00,0x00,0x1e,0x66,0x02,0x70,0x00,0x4c,0xdf,0x02,0x1e,0x4e,0x75, //000003f0 NO....f.p.L゚..Nu
0xf8,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000400 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000410 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000420 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000430 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000440 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000450 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000460 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000470 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000480 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000490 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000004a0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000004b0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000004c0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000004d0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000004e0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000004f0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000500 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000510 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000520 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000530 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000540 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000550 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000560 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000570 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000580 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000590 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000005a0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000005b0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000005c0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000005d0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000005e0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000005f0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000600 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000610 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000620 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000630 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000640 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000650 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000660 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000670 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000680 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000690 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000006a0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000006b0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000006c0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000006d0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000006e0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000006f0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000700 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000710 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000720 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000730 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000740 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000750 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000760 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000770 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000780 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000790 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000007a0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000007b0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000007c0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000007d0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000007e0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000007f0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000800 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000810 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000820 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000830 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000840 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000850 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000860 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000870 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000880 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000890 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000008a0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000008b0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000008c0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000008d0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000008e0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000008f0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000900 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000910 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000920 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000930 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000940 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000950 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000960 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000970 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000980 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000990 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000009a0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000009b0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000009c0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000009d0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000009e0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000009f0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000a00 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000a10 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000a20 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000a30 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000a40 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000a50 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000a60 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000a70 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000a80 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000a90 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000aa0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000ab0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000ac0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000ad0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000ae0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000af0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000b00 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000b10 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000b20 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000b30 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000b40 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000b50 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000b60 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000b70 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000b80 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000b90 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000ba0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000bb0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000bc0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000bd0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000be0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000bf0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000c00 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000c10 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000c20 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000c30 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000c40 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000c50 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000c60 ................
0x08,0x01,0x00,0x0c,0x66,0x08,0x4d,0xfa,0xfb,0x8a,0x2c,0x56,0x4e,0xd6,0x61,0x00, //00000c70 ....f.M...,VNヨa.
0xfc,0x6e,0x48,0xe7,0x4f,0x00,0x61,0x00,0xfe,0xa4,0x61,0x00,0xfc,0x78,0x08,0x00, //00000c80 .nH躇.a..、a..x..
0x00,0x1b,0x66,0x30,0xc2,0x3c,0x00,0xc0,0x82,0x3c,0x00,0x05,0x60,0x08,0x30,0x3c, //00000c90 ..f0ツ<.タ.<..`.0<
0x01,0xac,0x51,0xc8,0xff,0xfe,0x61,0x00,0x00,0xfc,0x08,0x00,0x00,0x1e,0x67,0x2c, //00000ca0 .ャQネ..a.......g,
0x08,0x00,0x00,0x1b,0x66,0x0e,0x08,0x00,0x00,0x11,0x66,0x08,0x61,0x00,0xfd,0x4c, //00000cb0 ....f.....f.a..L
0x51,0xcc,0xff,0xe4,0x4c,0xdf,0x00,0xf2,0x4a,0x38,0x09,0xe1,0x67,0x0c,0x31,0xf8, //00000cc0 Qフ.膈゚..J8.疊.1.
0x09,0xc2,0x09,0xc4,0x11,0xfc,0x00,0x40,0x09,0xe1,0x4e,0x75,0x08,0x00,0x00,0x1f, //00000cd0 .ツ.ト...@.甎u....
0x66,0xe2,0xd3,0xc5,0x96,0x85,0x63,0xdc,0x20,0x04,0x48,0x40,0x38,0x00,0x30,0x3c, //00000ce0 f簽ナ妹cワ .H@8.0<
0x00,0x09,0x52,0x02,0xb0,0x02,0x64,0xae,0x14,0x3c,0x00,0x01,0x0a,0x42,0x01,0x00, //00000cf0 ..R.ー.dョ.<...B..
0x08,0x02,0x00,0x08,0x66,0x98,0xd4,0xbc,0x00,0x01,0x00,0x00,0x61,0x00,0xfd,0x8c, //00000d00 ....f儘シ....a...
0x08,0x00,0x00,0x1b,0x66,0xae,0x60,0x8e,0x08,0x01,0x00,0x0c,0x66,0x08,0x4d,0xfa, //00000d10 ....fョ`.....f.M.
0xfa,0xde,0x2c,0x56,0x4e,0xd6,0x61,0x00,0xfb,0xc6,0x48,0xe7,0x4f,0x00,0x61,0x00, //00000d20 .゙,VNヨa..ニH躇.a.
0xfd,0xfc,0x61,0x00,0xfb,0xd0,0x08,0x00,0x00,0x1b,0x66,0x24,0xc2,0x3c,0x00,0xc0, //00000d30 ..a..ミ....f$ツ<.タ
0x82,0x3c,0x00,0x11,0x61,0x5e,0x08,0x00,0x00,0x0a,0x66,0x14,0x08,0x00,0x00,0x1e, //00000d40 .<..a^....f.....
0x67,0x16,0x08,0x00,0x00,0x1b,0x66,0x08,0x61,0x00,0xfc,0xb0,0x51,0xcc,0xff,0xe6, //00000d50 g.....f.a..ーQフ.覘
0x4c,0xdf,0x00,0xf2,0x60,0x00,0xfb,0x34,0x08,0x00,0x00,0x1f,0x66,0xf2,0xd3,0xc5, //00000d60 ゚..`..4....f.モナ
0x96,0x85,0x63,0xec,0x20,0x04,0x48,0x40,0x38,0x00,0x30,0x3c,0x00,0x09,0x52,0x02, //00000d70 妹c. .H@8.0<..R.
0xb0,0x02,0x64,0xc0,0x14,0x3c,0x00,0x01,0x0a,0x42,0x01,0x00,0x08,0x02,0x00,0x08, //00000d80 ー.dタ.<...B......
0x66,0xb2,0xd4,0xbc,0x00,0x01,0x00,0x00,0x61,0x00,0xfd,0x00,0x08,0x00,0x00,0x1b, //00000d90 fイヤシ....a.......
0x66,0xbe,0x60,0xa0,0x61,0x00,0xfb,0x7c,0xe1,0x9a,0x54,0x88,0x20,0xc2,0xe0,0x9a, //00000da0 fセ`.a..|癩T. ツ燠
0x10,0xc2,0x10,0xc7,0x10,0x86,0x61,0x00,0xfb,0x8a,0x41,0xf8,0x09,0xee,0x70,0x08, //00000db0 .ツ.ヌ..a..晦..綠.
0x61,0x00,0xfb,0xb8,0x61,0x00,0xfb,0xee,0x61,0x00,0xfc,0x0c,0x61,0x00,0xfc,0x26, //00000dc0 a..クa..礼...a..&
0x4e,0x75,0x43,0xfa,0x01,0x8c,0x61,0x00,0x01,0x76,0x24,0x3c,0x03,0x00,0x00,0x06, //00000dd0 NuC..径..v$<....
0x32,0x39,0x00,0x00,0x00,0x66,0x26,0x3c,0x00,0x00,0x04,0x00,0x43,0xf8,0x28,0x00, //00000de0 29...f&<....C.(.
0x61,0x00,0xfd,0xf6,0x4a,0x80,0x66,0x00,0x01,0x20,0x43,0xf8,0x28,0x00,0x49,0xfa, //00000df0 a...J.f.. C.(.I.
0x01,0x54,0x78,0x1f,0x24,0x49,0x26,0x4c,0x7a,0x0a,0x10,0x1a,0x80,0x3c,0x00,0x20, //00000e00 .Tx.$I&Lz....<.
0xb0,0x1b,0x66,0x06,0x51,0xcd,0xff,0xf4,0x60,0x0c,0x43,0xe9,0x00,0x20,0x51,0xcc, //00000e10 ー.f.Qヘ..`.C.. Qフ
0xff,0xe4,0x66,0x00,0x00,0xf4,0x30,0x29,0x00,0x1a,0xe1,0x58,0x55,0x40,0xd0,0x7c, //00000e20 .臟...0)..畊U@ミ|
0x00,0x0b,0x34,0x00,0xc4,0x7c,0x00,0x07,0x52,0x02,0xe8,0x48,0x64,0x04,0x84,0x7c, //00000e30 ..4.ト|..R.鍠d.л
0x01,0x00,0x48,0x42,0x34,0x3c,0x03,0x00,0x14,0x00,0x48,0x42,0x26,0x29,0x00,0x1c, //00000e40 ..HB4<....HB&)..
0xe1,0x5b,0x48,0x43,0xe1,0x5b,0x43,0xf8,0x67,0xc0,0x61,0x00,0xfd,0x8c,0x0c,0x51, //00000e50 畆HC畆C.gタa....Q
0x48,0x55,0x66,0x00,0x00,0xb4,0x4b,0xf8,0x68,0x00,0x49,0xfa,0x00,0x4c,0x22,0x4d, //00000e60 HUf..エK.h.I..L"M
0x43,0xf1,0x38,0xc0,0x2c,0x3c,0x00,0x04,0x00,0x00,0x0c,0x69,0x4e,0xd4,0xff,0xd2, //00000e70 C.8タ,<.....iNヤ.メ
0x66,0x36,0x0c,0xad,0x4c,0x5a,0x58,0x20,0x00,0x04,0x66,0x16,0x2b,0x46,0x00,0x04, //00000e80 f6.ュLZX ..f.+F..
0x2b,0x4d,0x00,0x08,0x42,0xad,0x00,0x20,0x51,0xf9,0x00,0x00,0x07,0x9c,0x4e,0xed, //00000e90 +M..Bュ. Q....廸.
0x00,0x02,0x0c,0x6d,0x4e,0xec,0x00,0x1a,0x66,0x0e,0x0c,0x6d,0x4e,0xea,0x00,0x2a, //00000ea0 ...mN...f..mN..*
0x66,0x06,0x43,0xfa,0x01,0x20,0x60,0x64,0x10,0x3c,0x00,0xc0,0x41,0xf8,0x68,0x00, //00000eb0 f.C.. `d.<.タA.h.
0x36,0x3c,0xff,0xff,0xb0,0x18,0x67,0x26,0x51,0xcb,0xff,0xfa,0x43,0xf8,0x68,0x00, //00000ec0 6<..ー.g&Qヒ..C.h.
0x4a,0x39,0x00,0x00,0x07,0x9c,0x67,0x14,0x41,0xf8,0x67,0xcc,0x24,0x18,0xd4,0x98, //00000ed0 J9...徃.A.gフ$.ヤ.
0x22,0x10,0xd1,0xc2,0x53,0x81,0x65,0x04,0x42,0x18,0x60,0xf8,0x4e,0xd1,0x0c,0x10, //00000ee0 ".ムツS‘.B.`.Nム..
0x00,0x04,0x66,0xd0,0x52,0x88,0x0c,0x10,0x00,0xd0,0x66,0xc8,0x52,0x88,0x0c,0x10, //00000ef0 ..fミR....ミfネR...
0x00,0xfe,0x66,0xc0,0x52,0x88,0x0c,0x10,0x00,0x02,0x66,0xb8,0x57,0x88,0x30,0xfc, //00000f00 ..fタR.....fクW.0.
0x05,0x9e,0x10,0xbc,0x00,0xfb,0x60,0xac,0x43,0xfa,0x00,0x93,0x2f,0x09,0x43,0xfa, //00000f10 ...シ..`ャC.../.C.
0x00,0x48,0x61,0x2a,0x43,0xfa,0x00,0x47,0x61,0x24,0x43,0xfa,0x00,0x53,0x61,0x1e, //00000f20 .Ha*C..Ga$C..Sa.
0x43,0xfa,0x00,0x44,0x61,0x18,0x43,0xfa,0x00,0x47,0x61,0x12,0x22,0x5f,0x61,0x0e, //00000f30 C..Da.C..Ga."_a.
0x32,0x39,0x00,0x00,0x00,0x66,0x70,0x4f,0x4e,0x4f,0x70,0xfe,0x4e,0x4f,0x70,0x21, //00000f40 29...fpONOp.NOp!
0x4e,0x4f,0x4e,0x75,0x68,0x75,0x6d,0x61,0x6e,0x20,0x20,0x20,0x73,0x79,0x73,0x00, //00000f50 NONuhuman sys.
0x32,0x48,0x44,0x45,0x49,0x50,0x4c,0x00,0x1b,0x5b,0x34,0x37,0x6d,0x1b,0x5b,0x31, //00000f60 2HDEIPL..[47m.[1
0x33,0x3b,0x32,0x36,0x48,0x00,0x1b,0x5b,0x31,0x34,0x3b,0x32,0x36,0x48,0x00,0x20, //00000f70 3;26H..[14;26H.
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, //00000f80
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, //00000f90
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x1b,0x5b,0x31, //00000fa0 ..[1
0x34,0x3b,0x33,0x34,0x48,0x48,0x75,0x6d,0x61,0x6e,0x2e,0x73,0x79,0x73,0x20,0x82, //00000fb0 4;34HHuman.sys の
0xcc,0x93,0xc7,0x82,0xdd,0x8d,0x9e,0x82,0xdd,0x83,0x47,0x83,0x89,0x81,0x5b,0x82, //00000fc0 読み込みエラーで
0xc5,0x82,0xb7,0x00,0x1b,0x5b,0x31,0x34,0x3b,0x33,0x34,0x48,0x4c,0x5a,0x58,0x2e, //00000fd0 す..[14;34HLZX.
0x58,0x20,0x82,0xcc,0x83,0x6f,0x81,0x5b,0x83,0x57,0x83,0x87,0x83,0x93,0x82,0xaa, //00000fe0 X のバージョンが
0x8c,0xc3,0x82,0xb7,0x82,0xac,0x82,0xdc,0x82,0xb7,0x00,0x00,0x00,0x00,0x00,0x00, //00000ff0 古すぎます......
};
*/
// perl misc/itob.pl xeij/FDMedia.java FDM_2HDE_IPL
public static final byte[] FDM_2HDE_IPL = "` 2HDE v1.1\0\0\4\1\1\0\2\300\0\240\5\3\3\0\t\0\2\0\0\0\0\220p`\0\3Z\b\1\0\ff\bM\372\377\322,VN\326a\0\0\272H\347O\0a\0\2\360a\0\0\304\b\0\0\33fN\302<\0\300\202<\0\6a\0\0\320\341\232T\210 \302\340\232\20\302\20\307\20\206a\0\0\360A\370\t\356p\ba\0\1\fa\0\1Ba\0\1`a\0\1z\b\0\0\16f\f\b\0\0\36g&\b\0\0\33f\ba\0\1zQ\314\377\274L\337\0\362J8\t\341g\f1\370\t\302\t\304\21\374\0@\t\341Nu\b\0\0\37f\342\323\305\226\205c\334 \4H@8\0000<\0\tR\2\260\2d\206\24<\0\1\nB\1\0\b\2\0\bf\0\377x\324\274\0\1\0\0a\0\1\270\b\0\0\33f\254`\0\377d\b8\0\7\t\341f\fH\347\300\0a\0\1FL\337\0\3Nup\0x\0\b\1\0\5g\bx\tHD8<\0\t\b\1\0\4g\4a\0\1|Nu/\1A\370\t\356\20\201\340\231\302<\0\3\b\2\0\bg\4\b\301\0\2\21A\0\1\"\37Nu\23\374\0\377\0\350@\0\23\374\0002\0\350@\5`\20\23\374\0\377\0\350@\0\23\374\0\262\0\350@\5#\311\0\350@\f3\305\0\350@\n\23\374\0\200\0\350@\7NuH\347@`C\371\0\351@\1E\371\0\351@\3@\347\0|\7\0\22\21\b\1\0\4f\370\22\21\b\1\0\7g\370\b\1\0\6f\362\24\230Q\310\377\356F\337L\337\6\2Nu\209\0\350@\0\b\0\0\4f\16\209\0\351@\1\300<\0\37f\364Nu\209\0\350@\1Nu\209\0\350@\0\b\0\0\7f\b\23\374\0\20\0\350@\7\23\374\0\377\0\350@\0Nu0\1\340H\300\274\0\0\0\3\347@A\370\f\220\321\300 \20Nu/\0\300\274\0005\377\0g*\270<\0\5d$/8\t\356/8\t\362?8\t\366a\0\0\304pdQ\310\377\376ah1\337\t\366!\337\t\362!\337\t\356 \37Nu0\1\340HJ\0g<\300<\0\3\200<\0\200\b\370\0\7\t\341\23\300\0\351@\7\b\370\0\6\t\341f\0301\370\t\302\t\304a\0\0\220\b\0\0\35f\b\fx\0d\t\304d\356\b\270\0\6\t\341NuJ8\t\341g\f1\370\t\302\t\304\21\374\0@\t\341Nua\22\b\0\0\33f&H@HB\264\0g\32HBa>/\1\22<\0\17a\0\376lHB\21B\0\2HBp\2`\bHBH@Nu/\1a\0\376\254a\0\376\356\"\0370\1\340H\300\274\0\0\0\3\347@A\370\f\220\321\300 \20Nu/\1\22<\0\7a\0\376.p\1a\320\"\37Nu/\1\22<\0\4a\0\376\34\"\37p\1a\0\376l\209\0\351@\1\300<\0\320\260<\0\320f\360p\0\209\0\351@\3\340\230NuS\2~\0:\2\340]J\5g\4\6E\b\0\340MHB\2\202\0\0\0\377\351\212\324E\fB\0\4e\2TB\204\374\0\22HB>\2\216\374\0\tHG\341O\340\2174\7\6\202\3\0\200\1*<\0\0\4\0<<\0\377><\t(NuO\372\374\200C\372\374\242M\372\374x,\271\0\0\5\30#\311\0\0\5\30C\372\0\332M\372\374h,\271\0\0\5\24#\311\0\0\5\24C\372\1nM\372\374X,\271\0\0\5\4#\311\0\0\5\4$<\3\0\0\4 <\0\0\0\216NO\22\0\341A\22<\0p3\301\0\0\0f&<\0\0\4\0C\372\0 a\4`\0\1\354H\347x@pFNO\b\0\0\36f\2p\0L\337\2\36Nu\370\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\b\1\0\ff\bM\372\373\212,VN\326a\0\374nH\347O\0a\0\376\244a\0\374x\b\0\0\33f0\302<\0\300\202<\0\5`\b0<\1\254Q\310\377\376a\0\0\374\b\0\0\36g,\b\0\0\33f\16\b\0\0\21f\ba\0\375LQ\314\377\344L\337\0\362J8\t\341g\f1\370\t\302\t\304\21\374\0@\t\341Nu\b\0\0\37f\342\323\305\226\205c\334 \4H@8\0000<\0\tR\2\260\2d\256\24<\0\1\nB\1\0\b\2\0\bf\230\324\274\0\1\0\0a\0\375\214\b\0\0\33f\256`\216\b\1\0\ff\bM\372\372\336,VN\326a\0\373\306H\347O\0a\0\375\374a\0\373\320\b\0\0\33f$\302<\0\300\202<\0\21a^\b\0\0\nf\24\b\0\0\36g\26\b\0\0\33f\ba\0\374\260Q\314\377\346L\337\0\362`\0\3734\b\0\0\37f\362\323\305\226\205c\354 \4H@8\0000<\0\tR\2\260\2d\300\24<\0\1\nB\1\0\b\2\0\bf\262\324\274\0\1\0\0a\0\375\0\b\0\0\33f\276`\240a\0\373|\341\232T\210 \302\340\232\20\302\20\307\20\206a\0\373\212A\370\t\356p\ba\0\373\270a\0\373\356a\0\374\fa\0\374&NuC\372\1\214a\0\1v$<\3\0\0\00629\0\0\0f&<\0\0\4\0C\370(\0a\0\375\366J\200f\0\1 C\370(\0I\372\1Tx\37$I&Lz\n\20\32\200<\0 \260\33f\6Q\315\377\364`\fC\351\0 Q\314\377\344f\0\0\3640)\0\32\341XU@\320|\0\0134\0\304|\0\7R\2\350Hd\4\204|\1\0HB4<\3\0\24\0HB&)\0\34\341[HC\341[C\370g\300a\0\375\214\fQHUf\0\0\264K\370h\0I\372\0L\"MC\3618\300,<\0\4\0\0\fiN\324\377\322f6\f\255LZX \0\4f\26+F\0\4+M\0\bB\255\0 Q\371\0\0\7\234N\355\0\2\fmN\354\0\32f\16\fmN\352\0*f\6C\372\1 `d\20<\0\300A\370h\0006<\377\377\260\30g&Q\313\377\372C\370h\0J9\0\0\7\234g\24A\370g\314$\30\324\230\"\20\321\302S\201e\4B\30`\370N\321\f\20\0\4f\320R\210\f\20\0\320f\310R\210\f\20\0\376f\300R\210\f\20\0\2f\270W\2100\374\5\236\20\274\0\373`\254C\372\0\223/\tC\372\0Ha*C\372\0Ga$C\372\0Sa\36C\372\0Da\30C\372\0Ga\22\"_a\01629\0\0\0fpONOp\376NOp!NONuhuman sys\0002HDEIPL\0\33[47m\33[13;26H\0\33[14;26H\0 \0\33[14;34HHuman.sys \202\314\223\307\202\335\215\236\202\335\203G\203\211\201[\202\305\202\267\0\33[14;34HLZX.X \202\314\203o\201[\203W\203\207\203\223\202\252\214\303\202\267\202\254\202\334\202\267\0\0\0\0\0\0".getBytes (XEiJ.ISO_8859_1);
/*
public static final int[] FDM_2HS_IPL = {
// perl sjdump.pl 2hs.2hs 0 0x1000 2
0x60,0x1e,0x39,0x53,0x43,0x46,0x4d,0x54,0x20,0x49,0x50,0x4c,0x20,0x76,0x31,0x2e, //00000000 `.9SCFMT IPL v1.
0x30,0x32,0x04,0x00,0x01,0x03,0x00,0x01,0x00,0xc0,0x05,0xa0,0xfb,0x01,0x90,0x70, //00000010 02.......タ....壬
0x60,0x00,0x03,0x5a,0x08,0x01,0x00,0x0c,0x66,0x08,0x4d,0xfa,0xff,0xd4,0x2c,0x56, //00000020 `..Z....f.M..ヤ,V
0x4e,0xd6,0x61,0x00,0x00,0xba,0x48,0xe7,0x4f,0x00,0x61,0x00,0x02,0xf0,0x61,0x00, //00000030 Nヨa..コH躇.a...a.
0x00,0xc4,0x08,0x00,0x00,0x1b,0x66,0x4e,0xc2,0x3c,0x00,0xc0,0x82,0x3c,0x00,0x06, //00000040 .ト....fNツ<.タ.<..
0x61,0x00,0x00,0xd0,0xe1,0x9a,0x54,0x88,0x20,0xc2,0xe0,0x9a,0x10,0xc2,0x10,0xc7, //00000050 a..ミ癩T. ツ燠.ツ.ヌ
0x10,0x86,0x61,0x00,0x00,0xf0,0x41,0xf8,0x09,0xee,0x70,0x08,0x61,0x00,0x01,0x0c, //00000060 ..a...A..綠.a...
0x61,0x00,0x01,0x42,0x61,0x00,0x01,0x60,0x61,0x00,0x01,0x7a,0x08,0x00,0x00,0x0e, //00000070 a..Ba..`a..z....
0x66,0x0c,0x08,0x00,0x00,0x1e,0x67,0x26,0x08,0x00,0x00,0x1b,0x66,0x08,0x61,0x00, //00000080 f.....g&....f.a.
0x01,0x7a,0x51,0xcc,0xff,0xbc,0x4c,0xdf,0x00,0xf2,0x4a,0x38,0x09,0xe1,0x67,0x0c, //00000090 .zQフ.シL゚..J8.疊.
0x31,0xf8,0x09,0xc2,0x09,0xc4,0x11,0xfc,0x00,0x40,0x09,0xe1,0x4e,0x75,0x08,0x00, //000000a0 1..ツ.ト...@.甎u..
0x00,0x1f,0x66,0xe2,0xd3,0xc5,0x96,0x85,0x63,0xdc,0x20,0x04,0x48,0x40,0x38,0x00, //000000b0 ..f簽ナ妹cワ .H@8.
0x30,0x3c,0x00,0x12,0x52,0x02,0xb0,0x02,0x64,0x86,0x14,0x3c,0x00,0x0a,0x0a,0x42, //000000c0 0<..R.ー.d..<...B
0x01,0x00,0x08,0x02,0x00,0x08,0x66,0x00,0xff,0x78,0xd4,0xbc,0x00,0x01,0x00,0x00, //000000d0 ......f..xヤシ....
0x61,0x00,0x01,0xb8,0x08,0x00,0x00,0x1b,0x66,0xac,0x60,0x00,0xff,0x64,0x08,0x38, //000000e0 a..ク....fャ`..d.8
0x00,0x07,0x09,0xe1,0x66,0x0c,0x48,0xe7,0xc0,0x00,0x61,0x00,0x01,0x46,0x4c,0xdf, //000000f0 ...畴.H鄲.a..FL゚
0x00,0x03,0x4e,0x75,0x70,0x00,0x78,0x00,0x08,0x01,0x00,0x05,0x67,0x08,0x78,0x09, //00000100 ..Nup.x.....g.x.
0x48,0x44,0x38,0x3c,0x00,0x09,0x08,0x01,0x00,0x04,0x67,0x04,0x61,0x00,0x01,0x7c, //00000110 HD8<......g.a..|
0x4e,0x75,0x2f,0x01,0x41,0xf8,0x09,0xee,0x10,0x81,0xe0,0x99,0xc2,0x3c,0x00,0x03, //00000120 Nu/.A....≒卍<..
0x08,0x02,0x00,0x08,0x67,0x04,0x08,0xc1,0x00,0x02,0x11,0x41,0x00,0x01,0x22,0x1f, //00000130 ....g..チ...A..".
0x4e,0x75,0x13,0xfc,0x00,0xff,0x00,0xe8,0x40,0x00,0x13,0xfc,0x00,0x32,0x00,0xe8, //00000140 Nu.....錙....2.錙
0x40,0x05,0x60,0x10,0x13,0xfc,0x00,0xff,0x00,0xe8,0x40,0x00,0x13,0xfc,0x00,0xb2, //00000150 .`......錙....イ
0x00,0xe8,0x40,0x05,0x23,0xc9,0x00,0xe8,0x40,0x0c,0x33,0xc5,0x00,0xe8,0x40,0x0a, //00000160 .錙.#ノ.錙.3ナ.錙.
0x13,0xfc,0x00,0x80,0x00,0xe8,0x40,0x07,0x4e,0x75,0x48,0xe7,0x40,0x60,0x43,0xf9, //00000170 .....錙.NuH蹇`C.
0x00,0xe9,0x40,0x01,0x45,0xf9,0x00,0xe9,0x40,0x03,0x40,0xe7,0x00,0x7c,0x07,0x00, //00000180 .顱.E..顱.@..|..
0x12,0x11,0x08,0x01,0x00,0x04,0x66,0xf8,0x12,0x11,0x08,0x01,0x00,0x07,0x67,0xf8, //00000190 ......f.......g.
0x08,0x01,0x00,0x06,0x66,0xf2,0x14,0x98,0x51,0xc8,0xff,0xee,0x46,0xdf,0x4c,0xdf, //000001a0 ....f..浪ネ.珖゚L゚
0x06,0x02,0x4e,0x75,0x10,0x39,0x00,0xe8,0x40,0x00,0x08,0x00,0x00,0x04,0x66,0x0e, //000001b0 ..Nu.9.錙.....f.
0x10,0x39,0x00,0xe9,0x40,0x01,0xc0,0x3c,0x00,0x1f,0x66,0xf4,0x4e,0x75,0x10,0x39, //000001c0 .9.顱.タ<..f.Nu.9
0x00,0xe8,0x40,0x01,0x4e,0x75,0x10,0x39,0x00,0xe8,0x40,0x00,0x08,0x00,0x00,0x07, //000001d0 .錙.Nu.9.錙.....
0x66,0x08,0x13,0xfc,0x00,0x10,0x00,0xe8,0x40,0x07,0x13,0xfc,0x00,0xff,0x00,0xe8, //000001e0 f......錙......錙
0x40,0x00,0x4e,0x75,0x30,0x01,0xe0,0x48,0xc0,0xbc,0x00,0x00,0x00,0x03,0xe7,0x40, //000001f0 .Nu0.潯タシ....蹇
0x41,0xf8,0x0c,0x90,0xd1,0xc0,0x20,0x10,0x4e,0x75,0x2f,0x00,0xc0,0xbc,0x00,0x35, //00000200 A..績タ .Nu/.タシ.5
0xff,0x00,0x67,0x2a,0xb8,0x3c,0x00,0x05,0x64,0x24,0x2f,0x38,0x09,0xee,0x2f,0x38, //00000210 ..g*ク<..d$/8../8
0x09,0xf2,0x3f,0x38,0x09,0xf6,0x61,0x00,0x00,0xc4,0x70,0x64,0x51,0xc8,0xff,0xfe, //00000220 ..?8..a..トpdQネ..
0x61,0x68,0x31,0xdf,0x09,0xf6,0x21,0xdf,0x09,0xf2,0x21,0xdf,0x09,0xee,0x20,0x1f, //00000230 ah1゚..!゚..!゚.. .
0x4e,0x75,0x30,0x01,0xe0,0x48,0x4a,0x00,0x67,0x3c,0xc0,0x3c,0x00,0x03,0x80,0x3c, //00000240 Nu0.潯J.g<タ<...<
0x00,0x80,0x08,0xf8,0x00,0x07,0x09,0xe1,0x13,0xc0,0x00,0xe9,0x40,0x07,0x08,0xf8, //00000250 .........タ.顱...
0x00,0x06,0x09,0xe1,0x66,0x18,0x31,0xf8,0x09,0xc2,0x09,0xc4,0x61,0x00,0x00,0x90, //00000260 ...畴.1..ツ.トa...
0x08,0x00,0x00,0x1d,0x66,0x08,0x0c,0x78,0x00,0x64,0x09,0xc4,0x64,0xee,0x08,0xb8, //00000270 ....f..x.d.トd..ク
0x00,0x06,0x09,0xe1,0x4e,0x75,0x4a,0x38,0x09,0xe1,0x67,0x0c,0x31,0xf8,0x09,0xc2, //00000280 ...甎uJ8.疊.1..ツ
0x09,0xc4,0x11,0xfc,0x00,0x40,0x09,0xe1,0x4e,0x75,0x61,0x12,0x08,0x00,0x00,0x1b, //00000290 .ト...@.甎ua.....
0x66,0x26,0x48,0x40,0x48,0x42,0xb4,0x00,0x67,0x1a,0x48,0x42,0x61,0x3e,0x2f,0x01, //000002a0 f&H@HBエ.g.HBa>/.
0x12,0x3c,0x00,0x0f,0x61,0x00,0xfe,0x6c,0x48,0x42,0x11,0x42,0x00,0x02,0x48,0x42, //000002b0 .<..a..lHB.B..HB
0x70,0x02,0x60,0x08,0x48,0x42,0x48,0x40,0x4e,0x75,0x2f,0x01,0x61,0x00,0xfe,0xac, //000002c0 p.`.HBH@Nu/.a..ャ
0x61,0x00,0xfe,0xee,0x22,0x1f,0x30,0x01,0xe0,0x48,0xc0,0xbc,0x00,0x00,0x00,0x03, //000002d0 a...".0.潯タシ....
0xe7,0x40,0x41,0xf8,0x0c,0x90,0xd1,0xc0,0x20,0x10,0x4e,0x75,0x2f,0x01,0x12,0x3c, //000002e0 蹇A..績タ .Nu/..<
0x00,0x07,0x61,0x00,0xfe,0x2e,0x70,0x01,0x61,0xd0,0x22,0x1f,0x4e,0x75,0x2f,0x01, //000002f0 ..a...p.aミ".Nu/.
0x12,0x3c,0x00,0x04,0x61,0x00,0xfe,0x1c,0x22,0x1f,0x70,0x01,0x61,0x00,0xfe,0x6c, //00000300 .<..a...".p.a..l
0x10,0x39,0x00,0xe9,0x40,0x01,0xc0,0x3c,0x00,0xd0,0xb0,0x3c,0x00,0xd0,0x66,0xf0, //00000310 .9.顱.タ<.ミー<.ミf.
0x70,0x00,0x10,0x39,0x00,0xe9,0x40,0x03,0xe0,0x98,0x4e,0x75,0x53,0x02,0x7e,0x00, //00000320 p..9.顱.燔NuS.~.
0x3a,0x02,0xe0,0x5d,0x4a,0x05,0x67,0x04,0x06,0x45,0x08,0x00,0xe0,0x4d,0x48,0x42, //00000330 :.濔J.g..E..潼HB
0x02,0x82,0x00,0x00,0x00,0xff,0xe9,0x8a,0xd4,0x45,0x0c,0x42,0x00,0x04,0x65,0x02, //00000340 ......驫ヤE.B..e.
0x53,0x42,0x84,0xfc,0x00,0x12,0x48,0x42,0x3e,0x02,0x8e,0xfc,0x00,0x09,0x48,0x47, //00000350 SB....HB>.周..HG
0xe1,0x4f,0xe0,0x8f,0x34,0x07,0x06,0x82,0x03,0x00,0x00,0x0a,0x2a,0x3c,0x00,0x00, //00000360 甍熄4.......*<..
0x04,0x00,0x3c,0x3c,0x00,0xff,0x3e,0x3c,0x09,0x28,0x4e,0x75,0x4f,0xfa,0xfc,0x82, //00000370 ..<<..><.(NuO...
0x43,0xfa,0xfc,0xa2,0x4d,0xfa,0xfc,0x7a,0x2c,0xb9,0x00,0x00,0x05,0x18,0x23,0xc9, //00000380 C..「M..z,ケ....#ノ
0x00,0x00,0x05,0x18,0x43,0xfa,0x00,0xda,0x4d,0xfa,0xfc,0x6a,0x2c,0xb9,0x00,0x00, //00000390 ....C..レM..j,ケ..
0x05,0x14,0x23,0xc9,0x00,0x00,0x05,0x14,0x43,0xfa,0x01,0x6e,0x4d,0xfa,0xfc,0x5a, //000003a0 ..#ノ....C..nM..Z
0x2c,0xb9,0x00,0x00,0x05,0x04,0x23,0xc9,0x00,0x00,0x05,0x04,0x24,0x3c,0x03,0x00, //000003b0 ,ケ....#ノ....$<..
0x00,0x04,0x20,0x3c,0x00,0x00,0x00,0x8e,0x4e,0x4f,0x12,0x00,0xe1,0x41,0x12,0x3c, //000003c0 .. <...晒O..瓣.<
0x00,0x70,0x33,0xc1,0x00,0x00,0x00,0x64,0x26,0x3c,0x00,0x00,0x04,0x00,0x43,0xfa, //000003d0 .p3チ...d&<....C.
0x00,0x20,0x61,0x04,0x60,0x00,0x01,0xf0,0x48,0xe7,0x78,0x40,0x70,0x46,0x4e,0x4f, //000003e0 . a.`...H輾@pFNO
0x08,0x00,0x00,0x1e,0x66,0x02,0x70,0x00,0x4c,0xdf,0x02,0x1e,0x4e,0x75,0x4e,0x75, //000003f0 ....f.p.L゚..NuNu
0xfb,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000400 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000410 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000420 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000430 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000440 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000450 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000460 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000470 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000480 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000490 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000004a0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000004b0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000004c0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000004d0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000004e0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000004f0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000500 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000510 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000520 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000530 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000540 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000550 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000560 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000570 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000580 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000590 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000005a0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000005b0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000005c0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000005d0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000005e0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000005f0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000600 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000610 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000620 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000630 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000640 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000650 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000660 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000670 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000680 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000690 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000006a0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000006b0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000006c0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000006d0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000006e0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000006f0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000700 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000710 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000720 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000730 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000740 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000750 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000760 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000770 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000780 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000790 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000007a0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000007b0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000007c0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000007d0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000007e0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000007f0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000800 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000810 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000820 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000830 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000840 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000850 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000860 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000870 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000880 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000890 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000008a0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000008b0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000008c0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000008d0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000008e0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000008f0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000900 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000910 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000920 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000930 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000940 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000950 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000960 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000970 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000980 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000990 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000009a0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000009b0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000009c0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000009d0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000009e0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //000009f0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000a00 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000a10 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000a20 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000a30 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000a40 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000a50 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000a60 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000a70 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000a80 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000a90 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000aa0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000ab0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000ac0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000ad0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000ae0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000af0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000b00 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000b10 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000b20 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000b30 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000b40 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000b50 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000b60 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000b70 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000b80 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000b90 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000ba0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000bb0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000bc0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000bd0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000be0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000bf0 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000c00 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000c10 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000c20 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000c30 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000c40 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000c50 ................
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //00000c60 ................
0x08,0x01,0x00,0x0c,0x66,0x08,0x4d,0xfa,0xfb,0x8c,0x2c,0x56,0x4e,0xd6,0x61,0x00, //00000c70 ....f.M...,VNヨa.
0xfc,0x6e,0x48,0xe7,0x4f,0x00,0x61,0x00,0xfe,0xa4,0x61,0x00,0xfc,0x78,0x08,0x00, //00000c80 .nH躇.a..、a..x..
0x00,0x1b,0x66,0x30,0xc2,0x3c,0x00,0xc0,0x82,0x3c,0x00,0x05,0x60,0x08,0x30,0x3c, //00000c90 ..f0ツ<.タ.<..`.0<
0x01,0xac,0x51,0xc8,0xff,0xfe,0x61,0x00,0x01,0x00,0x08,0x00,0x00,0x1e,0x67,0x2c, //00000ca0 .ャQネ..a.......g,
0x08,0x00,0x00,0x1b,0x66,0x0e,0x08,0x00,0x00,0x11,0x66,0x08,0x61,0x00,0xfd,0x4c, //00000cb0 ....f.....f.a..L
0x51,0xcc,0xff,0xe4,0x4c,0xdf,0x00,0xf2,0x4a,0x38,0x09,0xe1,0x67,0x0c,0x31,0xf8, //00000cc0 Qフ.膈゚..J8.疊.1.
0x09,0xc2,0x09,0xc4,0x11,0xfc,0x00,0x40,0x09,0xe1,0x4e,0x75,0x08,0x00,0x00,0x1f, //00000cd0 .ツ.ト...@.甎u....
0x66,0xe2,0xd3,0xc5,0x96,0x85,0x63,0xdc,0x20,0x04,0x48,0x40,0x38,0x00,0x30,0x3c, //00000ce0 f簽ナ妹cワ .H@8.0<
0x00,0x12,0x52,0x02,0xb0,0x02,0x64,0xae,0x14,0x3c,0x00,0x0a,0x0a,0x42,0x01,0x00, //00000cf0 ..R.ー.dョ.<...B..
0x08,0x02,0x00,0x08,0x66,0x98,0xd4,0xbc,0x00,0x01,0x00,0x00,0x61,0x00,0xfd,0x8c, //00000d00 ....f儘シ....a...
0x08,0x00,0x00,0x1b,0x66,0xae,0x60,0x8e,0x08,0x01,0x00,0x0c,0x66,0x08,0x4d,0xfa, //00000d10 ....fョ`.....f.M.
0xfa,0xe0,0x2c,0x56,0x4e,0xd6,0x61,0x00,0xfb,0xc6,0x48,0xe7,0x4f,0x00,0x61,0x00, //00000d20 ..,VNヨa..ニH躇.a.
0xfd,0xfc,0x61,0x00,0xfb,0xd0,0x08,0x00,0x00,0x1b,0x66,0x24,0xc2,0x3c,0x00,0xc0, //00000d30 ..a..ミ....f$ツ<.タ
0x82,0x3c,0x00,0x11,0x61,0x62,0x08,0x00,0x00,0x0a,0x66,0x14,0x08,0x00,0x00,0x1e, //00000d40 .<..ab....f.....
0x67,0x16,0x08,0x00,0x00,0x1b,0x66,0x08,0x61,0x00,0xfc,0xb0,0x51,0xcc,0xff,0xe6, //00000d50 g.....f.a..ーQフ.覘
0x4c,0xdf,0x00,0xf2,0x60,0x00,0xfb,0x34,0x08,0x00,0x00,0x1f,0x66,0xf2,0xd3,0xc5, //00000d60 ゚..`..4....f.モナ
0x96,0x85,0x63,0xec,0x20,0x04,0x48,0x40,0x38,0x00,0x30,0x3c,0x00,0x12,0x30,0x3c, //00000d70 妹c. .H@8.0<..0<
0x00,0x12,0x52,0x02,0xb0,0x02,0x64,0xbc,0x14,0x3c,0x00,0x0a,0x0a,0x42,0x01,0x00, //00000d80 ..R.ー.dシ.<...B..
0x08,0x02,0x00,0x08,0x66,0xae,0xd4,0xbc,0x00,0x01,0x00,0x00,0x61,0x00,0xfc,0xfc, //00000d90 ....fョヤシ....a...
0x08,0x00,0x00,0x1b,0x66,0xba,0x60,0x9c,0x61,0x00,0xfb,0x78,0xe1,0x9a,0x54,0x88, //00000da0 ....fコ`彗..x癩T.
0x20,0xc2,0xe0,0x9a,0x10,0xc2,0x10,0xc7,0x10,0x86,0x61,0x00,0xfb,0x86,0x41,0xf8, //00000db0 ツ燠.ツ.ヌ..a...A.
0x09,0xee,0x70,0x08,0x61,0x00,0xfb,0xb4,0x61,0x00,0xfb,0xea,0x61,0x00,0xfc,0x08, //00000dc0 .綠.a..エa..鸞...
0x61,0x00,0xfc,0x22,0x4e,0x75,0x43,0xfa,0x01,0x8c,0x61,0x00,0x01,0x76,0x24,0x3c, //00000dd0 a.."NuC..径..v$<
0x03,0x00,0x00,0x06,0x32,0x39,0x00,0x00,0x00,0x64,0x26,0x3c,0x00,0x00,0x04,0x00, //00000de0 ....29...d&<....
0x43,0xf8,0x28,0x00,0x61,0x00,0xfd,0xf2,0x4a,0x80,0x66,0x00,0x01,0x20,0x43,0xf8, //00000df0 C.(.a...J.f.. C.
0x28,0x00,0x49,0xfa,0x01,0x54,0x78,0x1f,0x24,0x49,0x26,0x4c,0x7a,0x0a,0x10,0x1a, //00000e00 (.I..Tx.$I&Lz...
0x80,0x3c,0x00,0x20,0xb0,0x1b,0x66,0x06,0x51,0xcd,0xff,0xf4,0x60,0x0c,0x43,0xe9, //00000e10 .<. ー.f.Qヘ..`.C.
0x00,0x20,0x51,0xcc,0xff,0xe4,0x66,0x00,0x00,0xf4,0x30,0x29,0x00,0x1a,0xe1,0x58, //00000e20 . Qフ.臟...0)..畊
0x55,0x40,0xd0,0x7c,0x00,0x0b,0x34,0x00,0xc4,0x7c,0x00,0x07,0x52,0x02,0xe8,0x48, //00000e30 U@ミ|..4.ト|..R.鍠
0x64,0x04,0x84,0x7c,0x01,0x00,0x48,0x42,0x34,0x3c,0x03,0x00,0x14,0x00,0x48,0x42, //00000e40 d.л..HB4<....HB
0x26,0x29,0x00,0x1c,0xe1,0x5b,0x48,0x43,0xe1,0x5b,0x43,0xf8,0x67,0xc0,0x61,0x00, //00000e50 &)..畆HC畆C.gタa.
0xfd,0x88,0x0c,0x51,0x48,0x55,0x66,0x00,0x00,0xb4,0x4b,0xf8,0x68,0x00,0x49,0xfa, //00000e60 ...QHUf..エK.h.I.
0x00,0x4c,0x22,0x4d,0x43,0xf1,0x38,0xc0,0x2c,0x3c,0x00,0x04,0x00,0x00,0x0c,0x69, //00000e70 .L"MC.8タ,<.....i
0x4e,0xd4,0xff,0xd2,0x66,0x36,0x0c,0xad,0x4c,0x5a,0x58,0x20,0x00,0x04,0x66,0x16, //00000e80 Nヤ.メf6.ュLZX ..f.
0x2b,0x46,0x00,0x04,0x2b,0x4d,0x00,0x08,0x42,0xad,0x00,0x20,0x51,0xf9,0x00,0x00, //00000e90 +F..+M..Bュ. Q...
0x07,0x9e,0x4e,0xed,0x00,0x02,0x0c,0x6d,0x4e,0xec,0x00,0x1a,0x66,0x0e,0x0c,0x6d, //00000ea0 .朦....mN...f..m
0x4e,0xea,0x00,0x2a,0x66,0x06,0x43,0xfa,0x01,0x1f,0x60,0x64,0x10,0x3c,0x00,0xc0, //00000eb0 N..*f.C...`d.<.タ
0x41,0xf8,0x68,0x00,0x36,0x3c,0xff,0xff,0xb0,0x18,0x67,0x26,0x51,0xcb,0xff,0xfa, //00000ec0 A.h.6<..ー.g&Qヒ..
0x43,0xf8,0x68,0x00,0x4a,0x39,0x00,0x00,0x07,0x9e,0x67,0x14,0x41,0xf8,0x67,0xcc, //00000ed0 C.h.J9...枷.A.gフ
0x24,0x18,0xd4,0x98,0x22,0x10,0xd1,0xc2,0x53,0x81,0x65,0x04,0x42,0x18,0x60,0xf8, //00000ee0 $.ヤ.".ムツS‘.B.`.
0x4e,0xd1,0x0c,0x10,0x00,0x04,0x66,0xd0,0x52,0x88,0x0c,0x10,0x00,0xd0,0x66,0xc8, //00000ef0 Nム....fミR....ミfネ
0x52,0x88,0x0c,0x10,0x00,0xfe,0x66,0xc0,0x52,0x88,0x0c,0x10,0x00,0x02,0x66,0xb8, //00000f00 R.....fタR.....fク
0x57,0x88,0x30,0xfc,0x05,0xa1,0x10,0xbc,0x00,0xfb,0x60,0xac,0x43,0xfa,0x00,0x92, //00000f10 W.0..。.シ..`ャC...
0x2f,0x09,0x43,0xfa,0x00,0x47,0x61,0x2a,0x43,0xfa,0x00,0x46,0x61,0x24,0x43,0xfa, //00000f20 /.C..Ga*C..Fa$C.
0x00,0x52,0x61,0x1e,0x43,0xfa,0x00,0x43,0x61,0x18,0x43,0xfa,0x00,0x46,0x61,0x12, //00000f30 .Ra.C..Ca.C..Fa.
0x22,0x5f,0x61,0x0e,0x32,0x39,0x00,0x00,0x00,0x64,0x70,0x4f,0x4e,0x4f,0x70,0xfe, //00000f40 "_a.29...dpONOp.
0x4e,0x4f,0x70,0x21,0x4e,0x4f,0x4e,0x75,0x68,0x75,0x6d,0x61,0x6e,0x20,0x20,0x20, //00000f50 NOp!NONuhuman
0x73,0x79,0x73,0x00,0x39,0x53,0x43,0x49,0x50,0x4c,0x00,0x1b,0x5b,0x34,0x37,0x6d, //00000f60 sys.9SCIPL..[47m
0x1b,0x5b,0x31,0x33,0x3b,0x32,0x36,0x48,0x00,0x1b,0x5b,0x31,0x34,0x3b,0x32,0x36, //00000f70 .[13;26H..[14;26
0x48,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, //00000f80 H.
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, //00000f90
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00, //00000fa0 .
0x1b,0x5b,0x31,0x34,0x3b,0x33,0x34,0x48,0x48,0x75,0x6d,0x61,0x6e,0x2e,0x73,0x79, //00000fb0 .[14;34HHuman.sy
0x73,0x20,0x82,0xcc,0x93,0xc7,0x82,0xdd,0x8d,0x9e,0x82,0xdd,0x83,0x47,0x83,0x89, //00000fc0 s の読み込みエラ
0x81,0x5b,0x82,0xc5,0x82,0xb7,0x00,0x1b,0x5b,0x31,0x34,0x3b,0x33,0x34,0x48,0x4c, //00000fd0 ーです..[14;34HL
0x5a,0x58,0x2e,0x58,0x20,0x82,0xcc,0x83,0x6f,0x81,0x5b,0x83,0x57,0x83,0x87,0x83, //00000fe0 ZX.X のバージョン
0x93,0x82,0xaa,0x8c,0xc3,0x82,0xb7,0x82,0xac,0x82,0xdc,0x82,0xb7,0x00,0x00,0x00, //00000ff0 が古すぎます...
};
*/
// perl misc/itob.pl xeij/FDMedia.java FDM_2HS_IPL
public static final byte[] FDM_2HS_IPL = "`\369SCFMT IPL v1.02\4\0\1\3\0\1\0\300\5\240\373\1\220p`\0\3Z\b\1\0\ff\bM\372\377\324,VN\326a\0\0\272H\347O\0a\0\2\360a\0\0\304\b\0\0\33fN\302<\0\300\202<\0\6a\0\0\320\341\232T\210 \302\340\232\20\302\20\307\20\206a\0\0\360A\370\t\356p\ba\0\1\fa\0\1Ba\0\1`a\0\1z\b\0\0\16f\f\b\0\0\36g&\b\0\0\33f\ba\0\1zQ\314\377\274L\337\0\362J8\t\341g\f1\370\t\302\t\304\21\374\0@\t\341Nu\b\0\0\37f\342\323\305\226\205c\334 \4H@8\0000<\0\22R\2\260\2d\206\24<\0\n\nB\1\0\b\2\0\bf\0\377x\324\274\0\1\0\0a\0\1\270\b\0\0\33f\254`\0\377d\b8\0\7\t\341f\fH\347\300\0a\0\1FL\337\0\3Nup\0x\0\b\1\0\5g\bx\tHD8<\0\t\b\1\0\4g\4a\0\1|Nu/\1A\370\t\356\20\201\340\231\302<\0\3\b\2\0\bg\4\b\301\0\2\21A\0\1\"\37Nu\23\374\0\377\0\350@\0\23\374\0002\0\350@\5`\20\23\374\0\377\0\350@\0\23\374\0\262\0\350@\5#\311\0\350@\f3\305\0\350@\n\23\374\0\200\0\350@\7NuH\347@`C\371\0\351@\1E\371\0\351@\3@\347\0|\7\0\22\21\b\1\0\4f\370\22\21\b\1\0\7g\370\b\1\0\6f\362\24\230Q\310\377\356F\337L\337\6\2Nu\209\0\350@\0\b\0\0\4f\16\209\0\351@\1\300<\0\37f\364Nu\209\0\350@\1Nu\209\0\350@\0\b\0\0\7f\b\23\374\0\20\0\350@\7\23\374\0\377\0\350@\0Nu0\1\340H\300\274\0\0\0\3\347@A\370\f\220\321\300 \20Nu/\0\300\274\0005\377\0g*\270<\0\5d$/8\t\356/8\t\362?8\t\366a\0\0\304pdQ\310\377\376ah1\337\t\366!\337\t\362!\337\t\356 \37Nu0\1\340HJ\0g<\300<\0\3\200<\0\200\b\370\0\7\t\341\23\300\0\351@\7\b\370\0\6\t\341f\0301\370\t\302\t\304a\0\0\220\b\0\0\35f\b\fx\0d\t\304d\356\b\270\0\6\t\341NuJ8\t\341g\f1\370\t\302\t\304\21\374\0@\t\341Nua\22\b\0\0\33f&H@HB\264\0g\32HBa>/\1\22<\0\17a\0\376lHB\21B\0\2HBp\2`\bHBH@Nu/\1a\0\376\254a\0\376\356\"\0370\1\340H\300\274\0\0\0\3\347@A\370\f\220\321\300 \20Nu/\1\22<\0\7a\0\376.p\1a\320\"\37Nu/\1\22<\0\4a\0\376\34\"\37p\1a\0\376l\209\0\351@\1\300<\0\320\260<\0\320f\360p\0\209\0\351@\3\340\230NuS\2~\0:\2\340]J\5g\4\6E\b\0\340MHB\2\202\0\0\0\377\351\212\324E\fB\0\4e\2SB\204\374\0\22HB>\2\216\374\0\tHG\341O\340\2174\7\6\202\3\0\0\n*<\0\0\4\0<<\0\377><\t(NuO\372\374\202C\372\374\242M\372\374z,\271\0\0\5\30#\311\0\0\5\30C\372\0\332M\372\374j,\271\0\0\5\24#\311\0\0\5\24C\372\1nM\372\374Z,\271\0\0\5\4#\311\0\0\5\4$<\3\0\0\4 <\0\0\0\216NO\22\0\341A\22<\0p3\301\0\0\0d&<\0\0\4\0C\372\0 a\4`\0\1\360H\347x@pFNO\b\0\0\36f\2p\0L\337\2\36NuNu\373\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\b\1\0\ff\bM\372\373\214,VN\326a\0\374nH\347O\0a\0\376\244a\0\374x\b\0\0\33f0\302<\0\300\202<\0\5`\b0<\1\254Q\310\377\376a\0\1\0\b\0\0\36g,\b\0\0\33f\16\b\0\0\21f\ba\0\375LQ\314\377\344L\337\0\362J8\t\341g\f1\370\t\302\t\304\21\374\0@\t\341Nu\b\0\0\37f\342\323\305\226\205c\334 \4H@8\0000<\0\22R\2\260\2d\256\24<\0\n\nB\1\0\b\2\0\bf\230\324\274\0\1\0\0a\0\375\214\b\0\0\33f\256`\216\b\1\0\ff\bM\372\372\340,VN\326a\0\373\306H\347O\0a\0\375\374a\0\373\320\b\0\0\33f$\302<\0\300\202<\0\21ab\b\0\0\nf\24\b\0\0\36g\26\b\0\0\33f\ba\0\374\260Q\314\377\346L\337\0\362`\0\3734\b\0\0\37f\362\323\305\226\205c\354 \4H@8\0000<\0\0220<\0\22R\2\260\2d\274\24<\0\n\nB\1\0\b\2\0\bf\256\324\274\0\1\0\0a\0\374\374\b\0\0\33f\272`\234a\0\373x\341\232T\210 \302\340\232\20\302\20\307\20\206a\0\373\206A\370\t\356p\ba\0\373\264a\0\373\352a\0\374\ba\0\374\"NuC\372\1\214a\0\1v$<\3\0\0\00629\0\0\0d&<\0\0\4\0C\370(\0a\0\375\362J\200f\0\1 C\370(\0I\372\1Tx\37$I&Lz\n\20\32\200<\0 \260\33f\6Q\315\377\364`\fC\351\0 Q\314\377\344f\0\0\3640)\0\32\341XU@\320|\0\0134\0\304|\0\7R\2\350Hd\4\204|\1\0HB4<\3\0\24\0HB&)\0\34\341[HC\341[C\370g\300a\0\375\210\fQHUf\0\0\264K\370h\0I\372\0L\"MC\3618\300,<\0\4\0\0\fiN\324\377\322f6\f\255LZX \0\4f\26+F\0\4+M\0\bB\255\0 Q\371\0\0\7\236N\355\0\2\fmN\354\0\32f\16\fmN\352\0*f\6C\372\1\37`d\20<\0\300A\370h\0006<\377\377\260\30g&Q\313\377\372C\370h\0J9\0\0\7\236g\24A\370g\314$\30\324\230\"\20\321\302S\201e\4B\30`\370N\321\f\20\0\4f\320R\210\f\20\0\320f\310R\210\f\20\0\376f\300R\210\f\20\0\2f\270W\2100\374\5\241\20\274\0\373`\254C\372\0\222/\tC\372\0Ga*C\372\0Fa$C\372\0Ra\36C\372\0Ca\30C\372\0Fa\22\"_a\01629\0\0\0dpONOp\376NOp!NONuhuman sys\09SCIPL\0\33[47m\33[13;26H\0\33[14;26H\0 \0\33[14;34HHuman.sys \202\314\223\307\202\335\215\236\202\335\203G\203\211\201[\202\305\202\267\0\33[14;34HLZX.X \202\314\203o\201[\203W\203\207\203\223\202\252\214\303\202\267\202\254\202\334\202\267\0\0\0".getBytes (XEiJ.ISO_8859_1);
//----------------------------------------------------------------------------------------
//フロッピーディスクBPB
// フロッピーディスクIPLに埋め込まれる
/*
public static final int[] FDM_DISK_BPB = {
// perl -e "do'sjdump.pl';$p=0;$m=1;$o=0xb6e;$l=160;open IN,'HUMAN302.XDF'or die;binmode IN;seek IN,1024*592,0;read IN,$b,64;seek IN,1024*592+vec($b,15,32)+32*$m,0;read IN,$b,32;seek IN,1024*592+vec($b,7,32)+64+$o,0;read IN,$b,$l;close IN;sjdumpcode($b,0,$l,$p)"
//bytesPerSector
// |sectorsPerCluster partitionSectors sectorsPerTrack
// | |reservedSectors rootEntries | fatSectors |
// | | | fatCount | | fatID | | tracksPerCylinder
//--+---- --+- ----+---- --+- ----+---- ----+---- --+- --+- ----+---- ----+----
0x00,0x04,0x01,0x01,0x00,0x02,0xc0,0x00,0xd0,0x04,0xfe,0x02,0x00,0x08,0x00,0x02, //00000000 ......タ.ミ.......
0x00,0x00,0x00,0x00,0x04,0x00,0x03,0x00,0x00,0x06,0x00,0x08,0x00,0x1f,0x00,0x09, //00000010 ................
//+- --+- ---------+--------- ---------+--------- ----+---- ----+---- ----+----
//PDA | bytesPerSector rootPosition sectorsPerTrack | dataStartSector-2
// ejectFlag entriesPerSector-1
0x00,0x02,0x01,0x01,0x00,0x02,0xe0,0x00,0x60,0x09,0xf9,0x07,0x00,0x0f,0x00,0x02, //00000020 ........`.......
0x00,0x00,0x00,0x00,0x02,0x00,0x02,0x00,0x01,0x01,0x00,0x0f,0x00,0x0f,0x00,0x1b, //00000030 ................
0x00,0x02,0x02,0x01,0x00,0x02,0x70,0x00,0x00,0x05,0xfb,0x02,0x00,0x08,0x00,0x02, //00000040 ......p.........
0x00,0x00,0x00,0x00,0x02,0x00,0x02,0x00,0x00,0x06,0x00,0x08,0x00,0x0f,0x00,0x0a, //00000050 ................
0x00,0x02,0x02,0x01,0x00,0x02,0x70,0x00,0xa0,0x05,0xf9,0x03,0x00,0x09,0x00,0x02, //00000060 ......p.........
0x00,0x00,0x00,0x00,0x02,0x00,0x02,0x00,0x00,0x08,0x00,0x09,0x00,0x0f,0x00,0x0c, //00000070 ................
0x00,0x02,0x01,0x01,0x00,0x02,0xe0,0x00,0x40,0x0b,0xf0,0x09,0x00,0x12,0x00,0x02, //00000080 ........@.......
0x00,0x00,0x00,0x00,0x02,0x00,0x02,0x00,0x01,0x02,0x00,0x12,0x00,0x0f,0x00,0x1f, //00000090 ................
};
*/
// perl misc/itob.pl xeij/FDMedia.java FDM_DISK_BPB
public static final byte[] FDM_DISK_BPB = "\0\4\1\1\0\2\300\0\320\4\376\2\0\b\0\2\0\0\0\0\4\0\3\0\0\6\0\b\0\37\0\t\0\2\1\1\0\2\340\0`\t\371\7\0\17\0\2\0\0\0\0\2\0\2\0\1\1\0\17\0\17\0\33\0\2\2\1\0\2p\0\0\5\373\2\0\b\0\2\0\0\0\0\2\0\2\0\0\6\0\b\0\17\0\n\0\2\2\1\0\2p\0\240\5\371\3\0\t\0\2\0\0\0\0\2\0\2\0\0\b\0\t\0\17\0\f\0\2\1\1\0\2\340\0@\13\360\t\0\22\0\2\0\0\0\0\2\0\2\0\1\2\0\22\0\17\0\37".getBytes (XEiJ.ISO_8859_1);
//MS-DOSの2HDディスクのセクタ0の先頭
// sectorsPerCluster
// JMP(*);NOP "NEC 5.0" bytesPerSector|reservedSectors
// -------+------ -------------------+------------------- ----+---- --+- ----+----
// 0xeb,0x3c,0x90,0x4e,0x45,0x43,0x20,0x20,0x35,0x2e,0x30,0x00,0x04,0x01,0x01,0x00,
// 0x02,0xc0,0x00,0xd0,0x04,0xfe,0x02,0x00,0x08,0x00,0x02,0x00,0x00,0x00,0x00,0x00,
// --+- ----+---- ----+---- --+- ----+---- ----+---- ----+---- ----+----
// | rootEntries | fatID fatSectors | tracksPerCylinder |
// fatCount partitionSectors sectorsPerTrack hiddenSectors
} //class FDMedia