Virtual-Mac/frmSettingsPearPCVM.vb

762 lines
32 KiB
VB.net
Raw Permalink Normal View History

2021-12-21 20:27:18 +00:00
Imports System.IO
Imports System.Globalization
Imports System.Threading
Public Class frmSettingsPearPCVM
Public ConfigFile As String
Public VMName As String
Public SelectedItem As Integer
Public Sub LoadSettingsFrom(Item As Integer)
ConfigFile = frmMain.VMList.Items.Item(Item).SubItems(1).Text
VMName = frmMain.VMList.Items.Item(Item).Text
SelectedItem = Item
End Sub
Private Sub Settings()
Dim Reader As New StreamReader(ConfigFile)
Dim ConfigValues As New ArrayList()
Dim strContainer As String = ""
MacName.Text = frmMain.VMList.Items.Item(SelectedItem).Text
Do
strContainer = Reader.ReadLine()
If Not strContainer Is Nothing Then
ConfigValues.Add(strContainer)
End If
Loop Until strContainer Is Nothing
Reader.Close()
For x As Integer = 0 To ConfigValues.Count - 1
ConfigValues(x) = Replace(ConfigValues(x), Chr(34).ToString, "")
If InStr(ConfigValues(x), "ppc_start_resolution = ") <> 0 Then
Dim a As String = ConfigValues(x).ToString.Substring(23)
Dim b() As String = Split(a, "x")
Dim FoundX As Boolean = False
Dim FoundY As Boolean = False
For c As Integer = 0 To DisplayResY.Items.Count - 1
If FoundX = True And FoundY = True Then
Exit For
End If
If InStr(DisplayResX.Items.Item(c).ToString, b(0)) <> 0 Then
DisplayResX.SelectedIndex = c
FoundX = True
ElseIf c = DisplayResX.Items.Count - 1 And FoundX = False Then
DisplayResX.Items.Add(b(0))
DisplayResX.SelectedIndex = DisplayResX.Items.Count - 1
End If
If InStr(DisplayResY.Items.Item(c).ToString, b(1)) <> 0 Then
DisplayResY.SelectedIndex = c
FoundY = True
ElseIf c = DisplayResY.Items.Count - 1 And FoundY = False Then
DisplayResY.Items.Add(b(1))
DisplayResY.SelectedIndex = DisplayResY.Items.Count - 1
End If
If b.Length > 2 Then
'If InStr(b(2), "@") <> 0 Then
' If b(2).Substring(InStr(b(2), "@"), 2) <= DisplayFrequency.Maximum Then
' DisplayFrequency.Value = b(2).Substring(InStr(b(2), "@"))
' Select Case b(2).Substring(0, 2)
' Case "15"
' DisplayColourDepth.SelectedIndex = 0
' Case "32"
' DisplayColourDepth.SelectedIndex = 1
' Case Else
' DisplayColourDepth.SelectedIndex = 0
' End Select
' End If
'Else
Select Case b(2).Substring(0, 2)
Case "15"
DisplayColourDepth.SelectedIndex = 0
Case "32"
DisplayColourDepth.SelectedIndex = 1
Case Else
DisplayColourDepth.SelectedIndex = 0
End Select
'End If
End If
Next
End If
If InStr(ConfigValues(x), "ppc_start_full_screen = ") <> 0 Then
If ConfigValues(x).ToString.Substring(24) <> 0 Then
DisplayFullscreenStart.Checked = True
End If
End If
If InStr(ConfigValues(x), "redraw_interval_msec = ") <> 0 Then
DisplayRedrawLabel.Text = ConfigValues(x).ToString.Substring(23)
End If
If InStr(ConfigValues(x), "key_compose_dialog = ") <> 0 Then
BoardComposeDialogKey.Text = ConfigValues(x).ToString.Substring(21)
End If
If InStr(ConfigValues(x), "key_change_cd_0 = ") <> 0 Then
BoardChangeCDKey.Text = ConfigValues(x).ToString.Substring(18)
End If
If InStr(ConfigValues(x), "key_toggle_mouse_grab = ") <> 0 Then
BoardMouseGrabKey.Text = ConfigValues(x).ToString.Substring(24)
End If
If InStr(ConfigValues(x), "key_toggle_full_screen = ") <> 0 Then
DisplayFullscreenKey.Text = ConfigValues(x).ToString.Substring(25)
End If
If InStr(ConfigValues(x), "prom_bootmethod = ") <> 0 Then
Select Case ConfigValues(x).ToString.Substring(18)
Case "auto"
MiscBootModeAuto.Checked = True
Case "select"
MiscBootModeSelect.Checked = True
Case "force"
MiscBootModeForce.Checked = True
End Select
End If
If InStr(ConfigValues(x), "prom_loadfile = ") <> 0 Then
MiscPROMFile.Text = ConfigValues(x).ToString.Substring(16)
End If
If InStr(ConfigValues(x), "prom_env_bootpath = ") <> 0 Then
MiscPROMBootPath.Text = ConfigValues(x).ToString.Substring(20)
End If
If InStr(ConfigValues(x), "prom_env_bootargs = ") <> 0 Then
MiscPROMBootArgs.Text = ConfigValues(x).ToString.Substring(20)
End If
If InStr(ConfigValues(x), "prom_env_machargs = ") <> 0 Then
MiscMachArguments.Text = ConfigValues(x).ToString.Substring(20)
End If
If InStr(ConfigValues(x), "prom_driver_graphic = ") <> 0 Then
DisplayDriver.Text = ConfigValues(x).ToString.Substring(22)
End If
If InStr(ConfigValues(x), "page_table_pa = ") <> 0 Then
MiscPageTable.Text = ConfigValues(x).ToString.Substring(16)
End If
If InStr(ConfigValues(x), "cpu_pvr = ") <> 0 Then
Select Case ConfigValues(x).ToString.Substring(10)
Case "0x00088302"
BoardProcessorG3.Checked = True
Case "0x000c0201"
BoardProcessorG4.Checked = True
End Select
End If
If InStr(ConfigValues(x), "memory_size = ") <> 0 Then
Dim MemorySize As UInteger = Replace(ConfigValues(x).ToString.Substring(14), "0x", "")
MemorySize = MemorySize * 0.0000256
If MemorySize < BoardRAMSlider.Maximum Then
BoardRAMSlider.Value = MemorySize
End If
End If
If InStr(ConfigValues(x), "pci_ide0_master_installed = ") <> 0 Then
If ConfigValues(x).ToString.Substring(28) <> 0 Then
DriveMasterEnabled.Checked = True
End If
End If
If InStr(ConfigValues(x), "pci_ide0_master_image = ") <> 0 Then
DriveMasterPath.Text = ConfigValues(x).ToString.Substring(24)
End If
If InStr(ConfigValues(x), "pci_ide0_master_type = ") <> 0 Then
Select Case ConfigValues(x).ToString.Substring(23)
Case "hd"
DriveMasterType.SelectedIndex = 0
Case "cdrom"
DriveMasterType.SelectedIndex = 1
Case "nativecdrom"
DriveMasterType.SelectedIndex = 2
End Select
End If
If InStr(ConfigValues(x), "pci_ide0_slave_installed = ") <> 0 Then
If ConfigValues(x).ToString.Substring(27) <> 0 Then
DriveSlaveEnabled.Checked = True
End If
End If
If InStr(ConfigValues(x), "pci_ide0_slave_image = ") <> 0 Then
DriveSlavePath.Text = ConfigValues(x).ToString.Substring(23)
End If
If InStr(ConfigValues(x), "pci_ide0_slave_type = ") <> 0 Then
Select Case ConfigValues(x).ToString.Substring(22)
Case "hd"
DriveSlaveType.SelectedIndex = 0
Case "cdrom"
DriveSlaveType.SelectedIndex = 1
Case "nativecdrom"
DriveSlaveType.SelectedIndex = 2
End Select
End If
If InStr(ConfigValues(x), "pci_3c90x_installed = ") <> 0 Then
If ConfigValues(x).ToString.Substring(22) <> 0 Then
Net3c90xEnable.Checked = True
End If
End If
If InStr(ConfigValues(x), "pci_3c90x_mac = ") <> 0 Then
Dim PhAddr() As String = Split(ConfigValues(x).ToString.Substring(16), ":")
For y As Integer = 0 To PhAddr.Length - 1
Select Case y
Case 0
Net3c90Mac1.Text = PhAddr(y)
Case 1
Net3c90Mac2.Text = PhAddr(y)
Case 2
Net3c90Mac3.Text = PhAddr(y)
Case 3
Net3c90Mac4.Text = PhAddr(y)
Case 4
Net3c90Mac5.Text = PhAddr(y)
Case 5
Net3c90Mac6.Text = PhAddr(y)
End Select
Next
End If
If InStr(ConfigValues(x), "pci_rtl8139_installed = ") <> 0 Then
If ConfigValues(x).ToString.Substring(24) <> 0 Then
Net8139Enable.Checked = True
End If
End If
If InStr(ConfigValues(x), "pci_rtl8139_mac = ") <> 0 Then
Dim PhAddr() As String = Split(ConfigValues(x).ToString.Substring(18), ":")
For y As Integer = 0 To PhAddr.Length - 1
Select Case y
Case 0
Net8139Mac1.Text = PhAddr(y)
Case 1
Net8139Mac2.Text = PhAddr(y)
Case 2
Net8139Mac3.Text = PhAddr(y)
Case 3
Net8139Mac4.Text = PhAddr(y)
Case 4
Net8139Mac5.Text = PhAddr(y)
Case 5
Net8139Mac6.Text = PhAddr(y)
End Select
Next
End If
If InStr(ConfigValues(x), "pci_usb_installed = ") <> 0 Then
If ConfigValues(x).ToString.Substring(20) <> 0 Then
BoardUSBEnable.Checked = True
End If
End If
If InStr(ConfigValues(x), "pci_serial_installed = ") <> 0 Then
If ConfigValues(x).ToString.Substring(23) <> 0 Then
BoardSerialEnable.Checked = True
End If
End If
If InStr(ConfigValues(x), "nvram_file = ") <> 0 Then
MiscNVRAMFile.Text = ConfigValues(x).ToString.Substring(13)
End If
Next
End Sub
Private Sub SaveSettings()
On Error GoTo ErrorHandler
If VerifyData() = True Then
MsgBox("Incomplete data, please fill all the required fields.", MsgBoxStyle.Exclamation)
Exit Sub
End If
Dim Config As String = ""
Dim DataArray() As String = Split(GetData(), ",")
'Formatting the text with a function, which returns
'the text formatted as the documentation says
Config = FormatLine("ppc_start_resolution = ", DataArray(0), False) 'Emulator Resolution
Config = Config & FormatLine("ppc_start_full_screen = ", DataArray(1), True) 'Full screen (Enabled or disabled)
Config = Config & FormatLine("redraw_interval_msec = ", DataArray(2), True) 'Image redraw time
If DataArray(3) <> "" Then
Config = Config & FormatLine("key_compose_dialog = ", DataArray(3), False) 'Compose dialog key
End If
If DataArray(4) <> "" Then
Config = Config & FormatLine("key_change_cd_0 = ", DataArray(4), False) 'Change CD Key
End If
If DataArray(5) <> "" Then
Config = Config & FormatLine("key_toggle_mouse_grab = ", DataArray(5), False) 'Release/Capture mouse key
End If
If DataArray(6) <> "" Then
Config = Config & FormatLine("key_toggle_full_screen = ", DataArray(6), False) 'Toggle Fullscreen/Windowed modes key
End If
Config = Config & FormatLine("prom_bootmethod = ", DataArray(7), False) 'Boot mode (Auto, select or force)
If DataArray(7) = "force" Then
Config = Config & FormatLine("prom_loadfile = ", DataArray(8), False) 'PROM file (File to load in case BootMethod = Force)
Config = Config & FormatLine("prom_env_bootpath = ", DataArray(9), False) 'PROM Booth Path (Directory where PROM/PearPC boots)(Used with PROMFile)
Config = Config & FormatLine("prom_env_bootargs = ", DataArray(10), False) 'Boot Arguments
End If
Config = Config & FormatLine("prom_env_machargs = ", DataArray(11), False) 'Mach Arguments
Config = Config & FormatLine("prom_driver_graphic = ", DataArray(12), False) 'Graphic driver (video.x is recommended OS X)
Config = Config & FormatLine("page_table_pa = ", DataArray(13), True) 'Initial page table(Don't change)
Config = Config & FormatLine("cpu_pvr = ", DataArray(14), True) 'Processor Version Register (To emulate G3 or G4)
Config = Config & FormatLine("memory_size = ", DataArray(15), True) 'Memory size (must be >= 64 MiB)
Config = Config & FormatLine("pci_ide0_master_installed = ", DataArray(16), True) 'Master drive Installed (Yes or No , 1 or 0)
Config = Config & FormatLine("pci_ide0_master_image = ", DataArray(17), False) 'Route to the Master drive image
Config = Config & FormatLine("pci_ide0_master_type = ", DataArray(18), False) 'Master Drive Type(Hard disk or CD-ROM)
Config = Config & FormatLine("pci_ide0_slave_installed = ", DataArray(19), True) 'Slave drive Installed (Yes or No , 1 or 0)
Config = Config & FormatLine("pci_ide0_slave_image = ", DataArray(20), False) 'Route to the Slave drive image
Config = Config & FormatLine("pci_ide0_slave_type = ", DataArray(21), False) 'Slave Drive Type(Hard disk or CD-ROM)
Config = Config & FormatLine("pci_3c90x_installed = ", DataArray(22), True) 'Network card 3c90x Installed (Yes or No)
Config = Config & FormatLine("pci_3c90x_mac = ", DataArray(23), False) 'MAC of this card (3c90x)
Config = Config & FormatLine("pci_rtl8139_installed = ", DataArray(24), True) 'Network card RTL8139 installed (Yes or No)
Config = Config & FormatLine("pci_rtl8139_mac = ", DataArray(25), False) 'MAC of this card (RTL8139)
Config = Config & FormatLine("pci_usb_installed = ", DataArray(26), True) 'PCI USB capability installed (Yes or No)
Config = Config & FormatLine("pci_serial_installed = ", DataArray(27), True) 'PCI Serial port installed installed (Yes or No)(For debugging only)
Config = Config & FormatLine("nvram_file = ", DataArray(28), False) 'NVRAM file route
If SaveConfigFile.FileName <> "" Then
ConfigFileHandler.Write(Config, ConfigFile)
End If
frmMain.VMList.Items(SelectedItem).Text = MacName.Text
ErrorHandler:
If Err.Number <> 0 Then
MsgBox(Err.Description)
End If
End Sub
Private Function GetData() As String
Dim Data As String = ""
Dim Resolution As String = DisplayResX.SelectedItem.ToString & "x" & DisplayResY.SelectedItem.ToString & "x" & DisplayColourDepth.SelectedItem.ToString & "@" & DisplayFrequency.Value
Dim FullScreen As Long
Dim RedrawTime As Long = Me.DisplayRedrawLabel.Text
Dim ComposeDialogKey As String = Me.BoardComposeDialogKey.Text
Dim ChangeCDKey As String = Me.BoardChangeCDKey.Text
Dim ReleaseMouse As String = BoardMouseGrabKey.Text
Dim SwitchFullScreen As String = DisplayFullscreenKey.Text
Dim BootMode As String = "auto"
Dim PROMFile As String = Me.MiscPROMFile.Text
Dim PROMBootPath As String = Me.MiscPROMBootPath.Text
Dim BootArgs As String = MiscPROMBootArgs.Text
Dim MachArgs As String = MiscMachArguments.Text
Dim GraphicDriver As String = Me.DisplayDriver.Text
Dim PageTable As String = Me.MiscPageTable.Text
Dim CPUPvr As String = "0x00088302"
Dim Memory As String = "0x" & (BoardRAM.Text / 0.0000256)
Dim MasterInstalled As Long = 0
Dim MasterImage As String = DriveMasterPath.Text
Dim MasterType As String = "hd"
Dim SlaveInstalled As Long = 0
Dim SlaveImage As String = DriveSlavePath.Text
Dim SlaveType As String = "cdrom"
Dim Net3c90xInstalled As Long
Dim Net3c90xMac As String = Net3c90Mac1.Text & ":" & Net3c90Mac2.Text & ":" & Net3c90Mac3.Text & ":" & Net3c90Mac4.Text & ":" & Net3c90Mac5.Text & ":" & Net3c90Mac6.Text
Dim NetRTL8139Installed As Long
Dim NetRTL8139Mac As String = Net8139Mac1.Text & ":" & Net8139Mac2.Text & ":" & Net8139Mac3.Text & ":" & Net8139Mac4.Text & ":" & Net8139Mac5.Text & ":" & Net8139Mac6.Text
Dim USBInstalled As Long = 0
Dim SerialInstalled As Long = 0
Dim NVRAMFile As String = Me.MiscNVRAMFile.Text
If DisplayFullscreenStart.Checked = True Then
FullScreen = 1
End If
If MiscBootModeAuto.Checked = True Then
BootMode = "auto"
End If
If MiscBootModeSelect.Checked = True Then
BootMode = "select"
End If
If MiscBootModeForce.Checked = True Then
BootMode = "force"
End If
If BoardProcessorG3.Checked = True Then
CPUPvr = "0x00088302"
ElseIf BoardProcessorG4.Checked = True Then
CPUPvr = "0x000c0201"
End If
If DriveMasterEnabled.Checked = True Then
MasterInstalled = 1
End If
Select Case DriveMasterType.SelectedIndex
Case 0
MasterType = "hd"
Case 1
MasterType = "cdrom"
Case 2
MasterType = "nativecdrom"
End Select
If DriveSlaveEnabled.Checked = True Then
SlaveInstalled = 1
End If
Select Case DriveSlaveType.SelectedIndex
Case 0
SlaveType = "hd"
Case 1
SlaveType = "cdrom"
Case 2
SlaveType = "nativecdrom"
End Select
If Net3c90xEnable.Checked = True Then
Net3c90xInstalled = 1
End If
If Net8139Enable.Checked = True Then
NetRTL8139Installed = 1
End If
If BoardUSBEnable.Checked = True Then
USBInstalled = 1
End If
If BoardSerialEnable.Checked = True Then
SerialInstalled = 1
End If
Data = Resolution & "," & FullScreen & "," & RedrawTime & "," & ComposeDialogKey & "," & ChangeCDKey & "," & _
ReleaseMouse & "," & SwitchFullScreen & "," & BootMode & "," & PROMFile & "," & PROMBootPath & "," & _
BootArgs & "," & MachArgs & "," & GraphicDriver & "," & PageTable & "," & CPUPvr & "," & Memory & "," & _
MasterInstalled & "," & MasterImage & "," & MasterType & "," & SlaveInstalled & "," & SlaveImage & "," & _
SlaveType & "," & Net3c90xInstalled & "," & Net3c90xMac & "," & NetRTL8139Installed & "," & _
NetRTL8139Mac & "," & USBInstalled & "," & SerialInstalled & "," & NVRAMFile
Return Data
End Function
Private Function VerifyData() As Boolean
Dim Incomplete As Boolean = False
If DriveMasterEnabled.Checked = True Then
If DriveMasterPath.Text = "" Then
Incomplete = True
End If
End If
If DriveSlaveEnabled.Checked = True Then
If DriveSlavePath.Text = "" Then
Incomplete = True
End If
End If
If Net3c90xEnable.Checked = True Then
If Net3c90Mac1.Text = "" Then
Incomplete = True
End If
If Net3c90Mac2.Text = "" Then
Incomplete = True
End If
If Net3c90Mac3.Text = "" Then
Incomplete = True
End If
If Net3c90Mac4.Text = "" Then
Incomplete = True
End If
If Net3c90Mac5.Text = "" Then
Incomplete = True
End If
If Net3c90Mac6.Text = "" Then
Incomplete = True
End If
End If
If Net8139Enable.Checked = True Then
If Net8139Mac1.Text = "" Then
Incomplete = True
End If
If Net8139Mac2.Text = "" Then
Incomplete = True
End If
If Net8139Mac3.Text = "" Then
Incomplete = True
End If
If Net8139Mac4.Text = "" Then
Incomplete = True
End If
If Net8139Mac5.Text = "" Then
Incomplete = True
End If
If Net8139Mac6.Text = "" Then
Incomplete = True
End If
End If
If DisplayDriver.Text = "" Then
Incomplete = True
End If
If MiscNVRAMFile.Text = "" Then
Incomplete = True
End If
Return Incomplete
End Function
Private Function FormatLine(ByVal Config As String, ByVal Value As String, ByVal NoQuotes As Boolean) As String
Dim NewLine As String
If NoQuotes = True Then
NewLine = Config & Value & vbCrLf
Else
NewLine = Config & Chr(34) & Value & Chr(34) & vbCrLf
End If
EndFunction:
Return NewLine
End Function
Private Sub cmdCancel_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdCancel.Click
Me.Close() 'Saves nothing and closes the dialog
End Sub
Private Sub cmdOK_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdOK.Click
'Save the config file and/or update the item in the console and leave
SaveSettings()
Me.Close()
End Sub
Private Sub OptionList_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles OptionList.SelectedIndexChanged
Select Case OptionList.FocusedItem.Index
Case 0
SwitchPages(MacNameFrame)
Case 1
SwitchPages(IconFrame)
Case 2
SwitchPages(BoardFrame)
Case 3
SwitchPages(DriveFrame)
Case 4
SwitchPages(NetworkFrame)
Case 5
SwitchPages(DisplayFrame)
Case 6
SwitchPages(MiscFrame)
Case 7
End Select
End Sub
Private Sub SwitchPages(NewPage As System.Windows.Forms.GroupBox)
MacNameFrame.Visible = False
IconFrame.Visible = False
BoardFrame.Visible = False
DriveFrame.Visible = False
NetworkFrame.Visible = False
DisplayFrame.Visible = False
MiscFrame.Visible = False
NewPage.Visible = True
End Sub
Private Sub frmSettingsPearPCVM_Load(sender As Object, e As System.EventArgs) Handles Me.Load
InitializeData()
Settings()
End Sub
Private Sub InitializeData()
Dim HostMemory As Long = (My.Computer.Info.TotalPhysicalMemory / 1024) / 1024
BoardRAMSlider.Maximum = HostMemory
BoardRAMSlider.TickFrequency = HostMemory / 20
Me.Text = "Settings for " & frmMain.VMList.Items.Item(SelectedItem).Text
End Sub
Private Sub BoardRAMSlider_ValueChanged(sender As Object, e As System.EventArgs) Handles BoardRAMSlider.ValueChanged
BoardRAM.Text = BoardRAMSlider.Value
End Sub
Private Sub BoardRAM_TextChanged(sender As Object, e As System.EventArgs) Handles BoardRAM.TextChanged
BoardRAMSlider.Value = BoardRAM.Text
End Sub
Private Sub DriveMasterEnabled_CheckedChanged(sender As Object, e As System.EventArgs) Handles DriveMasterEnabled.CheckedChanged
If DriveMasterEnabled.Checked Then
DriveMasterPath.Enabled = True
DriveMasterPathLabel.Enabled = True
DriveMasterBrowse.Enabled = True
DriveMasterType.Enabled = True
DriveMasterTypeLabel.Enabled = True
Else
DriveMasterPath.Enabled = False
DriveMasterPathLabel.Enabled = False
DriveMasterBrowse.Enabled = False
DriveMasterType.Enabled = False
DriveMasterTypeLabel.Enabled = False
End If
End Sub
Private Sub DriveSlaveEnabled_CheckedChanged(sender As Object, e As System.EventArgs) Handles DriveSlaveEnabled.CheckedChanged
If DriveSlaveEnabled.Checked Then
DriveSlavePath.Enabled = True
DriveSlavePathLabel.Enabled = True
DriveSlaveBrowse.Enabled = True
DriveSlaveType.Enabled = True
DriveSlaveTypeLabel.Enabled = True
Else
DriveSlavePath.Enabled = False
DriveSlavePathLabel.Enabled = False
DriveSlaveBrowse.Enabled = False
DriveSlaveType.Enabled = False
DriveSlaveTypeLabel.Enabled = False
End If
End Sub
Private Sub MiscBootModeForce_CheckedChanged(sender As Object, e As System.EventArgs) Handles MiscBootModeForce.CheckedChanged
If MiscBootModeForce.Checked = True Then
MiscPROMFile.Enabled = True
MiscPROMFileLabel.Enabled = True
MiscPROMFileBrowse.Enabled = True
MiscPROMBootPath.Enabled = True
MiscPROMBootPathLabel.Enabled = True
MiscPROMBootPathBrowse.Enabled = True
MiscPROMBootArgs.Enabled = True
MiscPROMBootArgsLabel.Enabled = True
Else
MiscPROMFile.Enabled = False
MiscPROMFileLabel.Enabled = False
MiscPROMFileBrowse.Enabled = False
MiscPROMBootPath.Enabled = False
MiscPROMBootPathLabel.Enabled = False
MiscPROMBootPathBrowse.Enabled = False
MiscPROMBootArgs.Enabled = False
MiscPROMBootArgsLabel.Enabled = False
End If
End Sub
Private Sub Net8139Enable_CheckedChanged(sender As Object, e As System.EventArgs) Handles Net8139Enable.CheckedChanged
If Net8139Enable.Checked = True Then
Net8139MacLabel.Enabled = True
Net8139Mac1.Enabled = True
Net8139Mac2.Enabled = True
Net8139Mac3.Enabled = True
Net8139Mac4.Enabled = True
Net8139Mac5.Enabled = True
Net8139Mac6.Enabled = True
Else
Net8139MacLabel.Enabled = False
Net8139Mac1.Enabled = False
Net8139Mac2.Enabled = False
Net8139Mac3.Enabled = False
Net8139Mac4.Enabled = False
Net8139Mac5.Enabled = False
Net8139Mac6.Enabled = False
End If
End Sub
Private Sub Net3c90xEnable_CheckedChanged(sender As Object, e As System.EventArgs) Handles Net3c90xEnable.CheckedChanged
If Net3c90xEnable.Checked = True Then
Net3c90MacLabel.Enabled = True
Net3c90Mac1.Enabled = True
Net3c90Mac2.Enabled = True
Net3c90Mac3.Enabled = True
Net3c90Mac4.Enabled = True
Net3c90Mac5.Enabled = True
Net3c90Mac6.Enabled = True
Else
Net3c90MacLabel.Enabled = False
Net3c90Mac1.Enabled = False
Net3c90Mac2.Enabled = False
Net3c90Mac3.Enabled = False
Net3c90Mac4.Enabled = False
Net3c90Mac5.Enabled = False
Net3c90Mac6.Enabled = False
End If
End Sub
Private Sub BoardMouseGrabKey_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles BoardMouseGrabKey.KeyDown, BoardChangeCDKey.KeyDown, BoardComposeDialogKey.KeyDown, DisplayFullscreenKey.KeyDown
Dim KeyStrokes As String = ""
If e.Modifiers = Keys.Control Then
KeyStrokes = KeyStrokes & "CTRL"
ElseIf e.Modifiers = Keys.Alt Then
e.Handled = True
KeyStrokes = KeyStrokes & "ALT"
ElseIf e.Modifiers = Keys.Shift Then
KeyStrokes = KeyStrokes & "SHIFT"
ElseIf e.Modifiers = Keys.Alt + Keys.Control Then
KeyStrokes = KeyStrokes & "CTRL + ALT"
ElseIf e.Modifiers = Keys.Shift + Keys.Control Then
KeyStrokes = KeyStrokes & "CTRL + SHIFT"
ElseIf e.Modifiers = Keys.Alt + Keys.Shift Then
KeyStrokes = KeyStrokes & "SHIFT + ALT"
ElseIf e.Modifiers = Keys.Shift + Keys.Alt + Keys.Control Then
KeyStrokes = KeyStrokes & "CTRL + SHIFT + ALT"
ElseIf e.Modifiers = Keys.Control + Keys.Delete Then
KeyStrokes = ""
GoTo SetKey
ElseIf e.Modifiers = Keys.None Then
e.Handled = True
Else
KeyStrokes = KeyStrokes & e.Modifiers.ToString
End If
If e.KeyCode <> Keys.ControlKey And e.KeyCode <> Keys.Menu And e.KeyCode <> Keys.ShiftKey And e.Modifiers <> Keys.None Then
KeyStrokes = KeyStrokes & " + " & e.KeyCode.ToString
End If
SetKey:
sender.Text = KeyStrokes
End Sub
Private Sub DriveMasterBrowse_Click(sender As System.Object, e As System.EventArgs) Handles DriveMasterBrowse.Click
If FileBrowserDialog.ShowDialog = Forms.DialogResult.OK Then
DriveMasterPath.Text = FileBrowserDialog.FileName
End If
End Sub
Private Sub DriveSlaveBrowse_Click(sender As System.Object, e As System.EventArgs) Handles DriveSlaveBrowse.Click
If FileBrowserDialog.ShowDialog = Forms.DialogResult.OK Then
DriveSlavePath.Text = FileBrowserDialog.FileName
End If
End Sub
Private Sub DisplayDriverBrowse_Click(sender As System.Object, e As System.EventArgs) Handles DisplayDriverBrowse.Click
If FileBrowserDialog.ShowDialog = Forms.DialogResult.OK Then
DisplayDriver.Text = FileBrowserDialog.FileName
End If
End Sub
Private Sub MiscPROMFileBrowse_Click(sender As System.Object, e As System.EventArgs) Handles MiscPROMFileBrowse.Click
If FileBrowserDialog.ShowDialog = Forms.DialogResult.OK Then
MiscPROMFile.Text = FileBrowserDialog.FileName
End If
End Sub
Private Sub MiscPROMBootPathBrowse_Click(sender As System.Object, e As System.EventArgs) Handles MiscPROMBootPathBrowse.Click
If SelectDrive.ShowDialog = Forms.DialogResult.OK Then
MiscPROMBootPath.Text = SelectDrive.SelectedPath
End If
End Sub
Private Sub MiscNVRAMFileBrowse_Click(sender As System.Object, e As System.EventArgs) Handles MiscNVRAMFileBrowse.Click
If FileBrowserDialog.ShowDialog = Forms.DialogResult.OK Then
MiscNVRAMFile.Text = FileBrowserDialog.FileName
End If
End Sub
End Class