Skip to content

Commit 7ff5528

Browse files
committed
Added preliminary support for PcImgCnv
1 parent c3926ae commit 7ff5528

39 files changed

+2590
-642
lines changed

DiskImageTool/DiskImageTool.vbproj

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,9 @@
172172
<Compile Include="Filters\ImageFilters.vb" />
173173
<Compile Include="Filters\ImageFiltersBase.vb" />
174174
<Compile Include="DiskImageLib.vb" />
175+
<Compile Include="Flux\DeviceLib.vb" />
175176
<Compile Include="Flux\Enums.vb" />
177+
<Compile Include="Flux\Greaseweazle\GreaseweazleDevice.vb" />
176178
<Compile Include="Flux\Greaseweazle\SettingsPanel.Designer.vb">
177179
<DependentUpon>SettingsPanel.vb</DependentUpon>
178180
</Compile>
@@ -183,10 +185,12 @@
183185
<Compile Include="Flux\Forms\ConvertImageForm.vb">
184186
<SubType>Form</SubType>
185187
</Compile>
188+
<Compile Include="Flux\IDevice.vb" />
186189
<Compile Include="Flux\ISettings.vb" />
187190
<Compile Include="Flux\ITrackStatus.vb" />
188191
<Compile Include="Flux\Kryoflux\CommandLineBuilder.vb" />
189192
<Compile Include="Flux\Kryoflux\ConsoleParser.vb" />
193+
<Compile Include="Flux\Kryoflux\KryofluxDevice.vb" />
190194
<Compile Include="Flux\Kryoflux\KryofluxLib.vb" />
191195
<Compile Include="Flux\Kryoflux\SettingsPanel.Designer.vb">
192196
<DependentUpon>SettingsPanel.vb</DependentUpon>
@@ -195,6 +199,18 @@
195199
<SubType>UserControl</SubType>
196200
</Compile>
197201
<Compile Include="Flux\Kryoflux\TrackStatus.vb" />
202+
<Compile Include="Flux\PcImgCnv\CommandLineBuilder.vb" />
203+
<Compile Include="Flux\PcImgCnv\ConsoleParser.vb" />
204+
<Compile Include="Flux\PcImgCnv\PcImgCnvDevice.vb" />
205+
<Compile Include="Flux\PcImgCnv\PcImgCnvLib.vb" />
206+
<Compile Include="Flux\PcImgCnv\PcImgCnvSettings.vb" />
207+
<Compile Include="Flux\PcImgCnv\SettingsPanel.Designer.vb">
208+
<DependentUpon>SettingsPanel.vb</DependentUpon>
209+
</Compile>
210+
<Compile Include="Flux\PcImgCnv\SettingsPanel.vb">
211+
<SubType>UserControl</SubType>
212+
</Compile>
213+
<Compile Include="Flux\PcImgCnv\TrackStatus.vb" />
198214
<Compile Include="Flux\SharedLib.vb" />
199215
<Compile Include="Globals.vb" />
200216
<Compile Include="Flux\Greaseweazle\Forms\CleanDiskForm.vb">
@@ -569,6 +585,18 @@
569585
<EmbeddedResource Include="Flux\Kryoflux\SettingsPanel.resx">
570586
<DependentUpon>SettingsPanel.vb</DependentUpon>
571587
</EmbeddedResource>
588+
<EmbeddedResource Include="Flux\PcImgCnv\SettingsPanel.de.resx">
589+
<DependentUpon>SettingsPanel.vb</DependentUpon>
590+
</EmbeddedResource>
591+
<EmbeddedResource Include="Flux\PcImgCnv\SettingsPanel.es.resx">
592+
<DependentUpon>SettingsPanel.vb</DependentUpon>
593+
</EmbeddedResource>
594+
<EmbeddedResource Include="Flux\PcImgCnv\SettingsPanel.fr.resx">
595+
<DependentUpon>SettingsPanel.vb</DependentUpon>
596+
</EmbeddedResource>
597+
<EmbeddedResource Include="Flux\PcImgCnv\SettingsPanel.resx">
598+
<DependentUpon>SettingsPanel.vb</DependentUpon>
599+
</EmbeddedResource>
572600
<EmbeddedResource Include="Forms\AboutBox.resx">
573601
<DependentUpon>AboutBox.vb</DependentUpon>
574602
<SubType>Designer</SubType>

DiskImageTool/Flux/DeviceLib.vb

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
Namespace Flux
2+
Module DeviceLib
3+
Public Function FluxDeviceGetList(FileType As InputFileTypeEnum) As List(Of IDevice)
4+
Dim list As New List(Of IDevice)
5+
6+
For Each dev As IDevice.FluxDevice In [Enum].GetValues(GetType(IDevice.FluxDevice))
7+
8+
' Skip if not available
9+
If Not FluxDeviceIsAvailable(dev) Then
10+
Continue For
11+
End If
12+
13+
' Get FluxDeviceInfo
14+
Dim Device = FluxDeviceGet(dev)
15+
If Device IsNot Nothing Then
16+
If Not Device.InputTypeSupported(FileType) Then
17+
Continue For
18+
End If
19+
list.Add(Device)
20+
End If
21+
Next
22+
23+
Return list
24+
End Function
25+
26+
Private Function FluxDeviceGet(Device As IDevice.FluxDevice) As IDevice
27+
Select Case Device
28+
Case IDevice.FluxDevice.Greaseweazle
29+
Return New Greaseweazle.GreaseweazleDevice
30+
31+
Case IDevice.FluxDevice.Kryoflux
32+
Return New Kryoflux.KryofluxDevice
33+
34+
Case IDevice.FluxDevice.PcImgCnv
35+
Return New PcImgCnv.PcImgCnvDevice
36+
37+
Case Else
38+
Return Nothing
39+
End Select
40+
End Function
41+
42+
Private Function FluxDeviceIsAvailable(Device As IDevice.FluxDevice) As Boolean
43+
Select Case Device
44+
Case IDevice.FluxDevice.Greaseweazle
45+
Return App.AppSettings.Greaseweazle.IsPathValid
46+
Case IDevice.FluxDevice.Kryoflux
47+
Return App.AppSettings.Kryoflux.IsPathValid
48+
Case IDevice.FluxDevice.PcImgCnv
49+
Return App.AppSettings.PcImgCnv.IsPathValid
50+
Case Else
51+
Return False
52+
End Select
53+
End Function
54+
End Module
55+
End Namespace

DiskImageTool/Flux/Enums.vb

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,12 @@
99
Complete
1010
End Enum
1111

12-
Enum FluxDevice
13-
Greaseweazle
14-
Kryoflux
15-
End Enum
16-
1712
Public Enum ImageImportOutputTypes
1813
IMA
1914
HFE
15+
MFM
16+
F86
17+
TC
2018
End Enum
2119

2220
Public Enum InputFileTypeEnum
@@ -36,6 +34,12 @@
3634
Select Case Value
3735
Case ImageImportOutputTypes.HFE
3836
Return "HxC HFE Image"
37+
Case ImageImportOutputTypes.MFM
38+
Return "HxC MFM Image"
39+
Case ImageImportOutputTypes.F86
40+
Return "86Box 86F Image"
41+
Case ImageImportOutputTypes.TC
42+
Return "TransCopy Image"
3943
Case ImageImportOutputTypes.IMA
4044
Return "Basic Sector Image"
4145
Case Else
@@ -47,6 +51,12 @@
4751
Select Case Value
4852
Case ImageImportOutputTypes.HFE
4953
Return ".hfe"
54+
Case ImageImportOutputTypes.MFM
55+
Return ".mfm"
56+
Case ImageImportOutputTypes.F86
57+
Return ".86f"
58+
Case ImageImportOutputTypes.TC
59+
Return ".tc"
5060
Case ImageImportOutputTypes.IMA
5161
Return ".ima"
5262
Case Else

DiskImageTool/Flux/Forms/ConfigurationForm.Designer.vb

Lines changed: 19 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)