Skip to content

Commit

Permalink
リファクタリング。
Browse files Browse the repository at this point in the history
説明を追加。
  • Loading branch information
BouKiCHi committed Mar 21, 2021
1 parent a49270a commit 4c15da3
Show file tree
Hide file tree
Showing 21 changed files with 327 additions and 277 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@

## 履歴

### ver 1.20
* ファイルサイズが0の場合の処理を追加。
* --asciiオプションの追加。

### ver 1.17
* 展開時にファイルサイズが256で割り切れる場合、末尾256バイトが出力されない不具合を修正
### ver 1.16
Expand Down
Binary file modified HuDisk.exe
Binary file not shown.
13 changes: 5 additions & 8 deletions HuDisk/HuDisk.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -73,24 +73,21 @@
<DesignTimeSharedInput>True</DesignTimeSharedInput>
<DependentUpon>Settings.settings</DependentUpon>
</Compile>
<Compile Include="src\Context.cs" />
<Compile Include="src\HuBasic\Context.cs" />
<Compile Include="src\Disk\DataController.cs" />
<Compile Include="src\Disk\DiskImage.cs" />
<Compile Include="src\Disk\DiskManager.cs" />
<Compile Include="src\Disk\DiskParameter.cs" />
<Compile Include="src\Disk\DiskType.cs" />
<Compile Include="src\HuBasic\HuBasicDisk.cs" />
<Compile Include="src\HuBasic\HuBasicDiskEntry.cs" />
<Compile Include="src\HuBasic\HuBasicDiskImage.cs" />
<Compile Include="src\HuDisk.cs" />
<Compile Include="src\HuBasic\HuFileEntry.cs" />
<Compile Include="src\Log.cs" />
<Compile Include="src\MiniOption.cs" />
<Compile Include="src\OptionType.cs" />
<Compile Include="src\Program.cs" />
<Compile Include="src\HuBasic\HuFileEntry.cs" />
<Compile Include="src\Utils\Log.cs" />
<Compile Include="src\Utils\MiniOption.cs" />
<Compile Include="src\Disk\SectorData.cs" />
<Compile Include="src\Disk\TrackFormat.cs" />
<Compile Include="src\Setting.cs" />
<Compile Include="src\HuBasic\Setting.cs" />
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.7.2">
Expand Down
6 changes: 3 additions & 3 deletions HuDisk/src/Disk/DiskImage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ public byte[] GetSectorDataForWrite(int Sector) {
/// <summary>
/// フォーマット
/// </summary>
public void FormatImage() {
public void Format() {
var tf = DiskType.CurrentTrackFormat;
TrackPerSector = tf.TrackPerSector;
TrackFormat(tf.TrackMax, tf.TrackPerSector);
Expand All @@ -98,7 +98,7 @@ private void TrackFormat(int TrackMax, int TrackPerSector) {
/// イメージを読み込む
/// </summary>
/// <returns></returns>
public bool ReadImage() {
public bool Read() {
if (!File.Exists(ImageFile)) return false;
var fs = new FileStream(ImageFile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);

Expand All @@ -116,7 +116,7 @@ public bool ReadImage() {
/// <summary>
/// イメージを出力する
/// </summary>
public void WriteDisk() {
public void Write() {
var fs = new FileStream(ImageFile,
FileMode.OpenOrCreate,
FileAccess.Write,
Expand Down
21 changes: 0 additions & 21 deletions HuDisk/src/Disk/DiskManager.cs

This file was deleted.

42 changes: 21 additions & 21 deletions HuDisk/src/Disk/DiskType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,29 +15,29 @@ public class DiskType {
public bool PlainFormat;
private DiskTypeEnum imageType;

public DiskTypeEnum ImageType {
get => imageType;
// ディスク種別の設定
set {
imageType = value;
CurrentTrackFormat = new TrackFormat(value);
DiskParameter = new DiskParameter(value);
}
public DiskTypeEnum GetImageType() {
return imageType;
}

public void SetImageType(DiskTypeEnum value) {
imageType = value;
CurrentTrackFormat = new TrackFormat(value);
DiskParameter = new DiskParameter(value);
}

public TrackFormat CurrentTrackFormat;
public DiskParameter DiskParameter;

public DiskType() {
ImageType = DiskTypeEnum.Disk2D;
SetImageType(DiskTypeEnum.Disk2D);
}

//
public bool IsNot2D => ImageType == DiskTypeEnum.Disk2DD || ImageType == DiskTypeEnum.Disk2HD;
public bool IsNot2D => GetImageType() == DiskTypeEnum.Disk2DD || GetImageType() == DiskTypeEnum.Disk2HD;

public int ImageTypeByte {
get {
switch (ImageType) {
switch (GetImageType()) {
case DiskTypeEnum.Disk2D:
return 0x00;
case DiskTypeEnum.Disk2DD:
Expand All @@ -58,26 +58,26 @@ public bool SetDiskTypeFromOption(string value) {
value = value.ToUpper();
switch (value) {
case "2D":
ImageType = DiskTypeEnum.Disk2D;
SetImageType(DiskTypeEnum.Disk2D);
break;
case "2DD":
ImageType = DiskTypeEnum.Disk2DD;
SetImageType(DiskTypeEnum.Disk2DD);
break;
case "2HD":
ImageType = DiskTypeEnum.Disk2HD;
SetImageType(DiskTypeEnum.Disk2HD);
break;
default:
ImageType = DiskTypeEnum.Unknown;
SetImageType(DiskTypeEnum.Unknown);
break;
}

// 強制設定する
ForceType = ImageType != DiskTypeEnum.Unknown;
ForceType = GetImageType() != DiskTypeEnum.Unknown;
return ForceType;
}

public string GetTypeName() {
switch (ImageType) {
switch (GetImageType()) {
case DiskTypeEnum.Disk2D:
return "2D";
case DiskTypeEnum.Disk2DD:
Expand All @@ -98,7 +98,7 @@ public void SetTypeFromExtension(string ext) {

SetPlainFormat();
var TypeFromExtenstion = ext == "2D" ? DiskTypeEnum.Disk2D : DiskTypeEnum.Disk2HD;
if (!ForceType) ImageType = TypeFromExtenstion;
if (!ForceType) SetImageType(TypeFromExtenstion);
}

private static bool IsNotPlainExtension(string ext) => ext != "2D" && ext != "2HD";
Expand All @@ -110,14 +110,14 @@ public int GetTrackPerSector() {
public void SetImageTypeFromHeader(byte t) {
switch(t) {
case 0x20: // 2HD
ImageType = DiskTypeEnum.Disk2HD;
SetImageType(DiskTypeEnum.Disk2HD);
break;
case 0x10: // 2DD
ImageType = DiskTypeEnum.Disk2DD;
SetImageType(DiskTypeEnum.Disk2DD);
break;
case 0x00: // 2D
default:
ImageType = DiskTypeEnum.Disk2D;
SetImageType(DiskTypeEnum.Disk2D);
break;
}
}
Expand Down
19 changes: 13 additions & 6 deletions HuDisk/src/Context.cs → HuDisk/src/HuBasic/Context.cs
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ public enum OptionType {
ImageType,
Path,
Verbose,
Ascii
ForceAscii,
ForceBinary
}

public class Context {
Expand Down Expand Up @@ -106,7 +107,8 @@ private static MiniOption GetOptionData() {
new MiniOption.DefineData(OptionType.EntryName,null,"name",true),
new MiniOption.DefineData(OptionType.Path,null,"path",true),
new MiniOption.DefineData(OptionType.Verbose,"v","verbose",false),
new MiniOption.DefineData(OptionType.Ascii,null,"ascii",false),
new MiniOption.DefineData(OptionType.ForceAscii,null,"ascii",false),
new MiniOption.DefineData(OptionType.ForceBinary,null,"binary",false),

new MiniOption.DefineData(OptionType.Help,"h","help",false),
new MiniOption.DefineData(OptionType.Help,"?",null,false)
Expand Down Expand Up @@ -134,8 +136,9 @@ public void Usage() {
Console.WriteLine(" --x1s Set x1save.exe compatible mode");
Console.WriteLine(" --name <name> Set entry name as <name>");
Console.WriteLine(" --path <path> Change directory in image");
Console.WriteLine(" -v,--verbose Change directory in image");
Console.WriteLine(" --ascii Set ASCII Mode");
Console.WriteLine(" -v,--verbose Set verbose mode");
Console.WriteLine(" --binary Force binary mode");
Console.WriteLine(" --ascii Force ASCII mode");
Console.WriteLine();
Console.WriteLine(" -h,-?,--help This one");
}
Expand Down Expand Up @@ -197,8 +200,12 @@ public bool CheckOptionExternal(MiniOption.OptionData o) {
Setting.X1SMode = true;
break;

case OptionType.Ascii:
Setting.AsciiMode = true;
case OptionType.ForceAscii:
Setting.ForceAsciiMode = true;
break;

case OptionType.ForceBinary:
Setting.ForceBinaryMode = true;
break;

case OptionType.Verbose:
Expand Down
Loading

0 comments on commit 4c15da3

Please sign in to comment.