mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Move all localizable strings from Aaru.Tests.Devices project to resources.
This commit is contained in:
@@ -39,23 +39,23 @@ static partial class MainClass
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Send an ATA command to the device:");
|
||||
AaruConsole.WriteLine("1.- Send a CHS ATA command to the device.");
|
||||
AaruConsole.WriteLine("2.- Send a 28-bit ATA command to the device.");
|
||||
AaruConsole.WriteLine("3.- Send a 48-bit ATA command to the device.");
|
||||
AaruConsole.WriteLine("4.- Send an ATAPI command to the device.");
|
||||
AaruConsole.WriteLine("5.- Send a CompactFlash command to the device.");
|
||||
AaruConsole.WriteLine("6.- Send a Media Card Pass Through command to the device.");
|
||||
AaruConsole.WriteLine("7.- Send a S.M.A.R.T. command to the device.");
|
||||
AaruConsole.WriteLine("0.- Return to command class menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Send_an_ATA_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Send_a_CHS_ATA_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Send_a_28_bit_ATA_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Send_a_48_bit_ATA_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Send_an_ATAPI_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Send_a_CompactFlash_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Send_a_Media_Card_Pass_Through_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Send_a_SMART_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Return_to_command_class_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -64,7 +64,7 @@ static partial class MainClass
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to command class menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_command_class_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
@@ -96,7 +96,7 @@ static partial class MainClass
|
||||
|
||||
continue;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -40,23 +40,23 @@ static class Ata48
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Send a 48-bit ATA command to the device:");
|
||||
AaruConsole.WriteLine("1.- Send GET NATIVE MAX ADDRESS EXT command.");
|
||||
AaruConsole.WriteLine("2.- Send READ DMA EXT command.");
|
||||
AaruConsole.WriteLine("3.- Send READ LOG DMA EXT command.");
|
||||
AaruConsole.WriteLine("4.- Send READ LOG EXT command.");
|
||||
AaruConsole.WriteLine("5.- Send READ NATIVE MAX ADDRESS EXT command.");
|
||||
AaruConsole.WriteLine("6.- Send READ MULTIPLE EXT command.");
|
||||
AaruConsole.WriteLine("7.- Send READ SECTORS EXT command.");
|
||||
AaruConsole.WriteLine("0.- Return to ATA commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Send_a_48_bit_ATA_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Send_GET_NATIVE_MAX_ADDRESS_EXT_command);
|
||||
AaruConsole.WriteLine(Localization.Send_READ_DMA_EXT_command);
|
||||
AaruConsole.WriteLine(Localization.Send_READ_LOG_DMA_EXT_command);
|
||||
AaruConsole.WriteLine(Localization.Send_READ_LOG_EXT_command);
|
||||
AaruConsole.WriteLine(Localization.Send_READ_NATIVE_MAX_ADDRESS_EXT_command);
|
||||
AaruConsole.WriteLine(Localization.Send_READ_MULTIPLE_EXT_command);
|
||||
AaruConsole.WriteLine(Localization.Send_READ_SECTORS_EXT_command);
|
||||
AaruConsole.WriteLine(Localization.Return_to_ATA_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -65,7 +65,7 @@ static class Ata48
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to ATA commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_ATA_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
@@ -97,7 +97,7 @@ static class Ata48
|
||||
|
||||
continue;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -114,23 +114,23 @@ static class Ata48
|
||||
out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending GET NATIVE MAX ADDRESS EXT to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Max LBA is {0}.", lba);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_GET_NATIVE_MAX_ADDRESS_EXT_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Max_LBA_is_0, lba);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Decode error registers.");
|
||||
AaruConsole.WriteLine("2.- Send command again.");
|
||||
AaruConsole.WriteLine("0.- Return to 48-bit ATA commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Decode_error_registers);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization.Return_to_48_bit_ATA_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -140,23 +140,23 @@ static class Ata48
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to 48-bit ATA commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_48_bit_ATA_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("GET NATIVE MAX ADDRESS EXT status registers:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.GET_NATIVE_MAX_ADDRESS_EXT_status_registers);
|
||||
AaruConsole.Write("{0}", MainClass.DecodeAtaRegisters(errorRegisters));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2: goto start;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -176,21 +176,21 @@ static class Ata48
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for READ DMA EXT command:");
|
||||
AaruConsole.WriteLine("LBA: {0}", lba);
|
||||
AaruConsole.WriteLine("Count: {0}", count);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Parameters_for_READ_DMA_EXT_command);
|
||||
AaruConsole.WriteLine(Localization.LBA_0, lba);
|
||||
AaruConsole.WriteLine(Localization.Count_0, count);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to 48-bit ATA commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_48_bit_ATA_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -199,16 +199,16 @@ static class Ata48
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to 48-bit ATA commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_48_bit_ATA_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("What logical block address?: ");
|
||||
AaruConsole.Write(Localization.What_logical_block_address);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!ulong.TryParse(strDev, out lba))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
lba = 0;
|
||||
System.Console.ReadKey();
|
||||
|
||||
@@ -217,18 +217,19 @@ static class Ata48
|
||||
|
||||
if(lba > 0xFFFFFFFFFFFF)
|
||||
{
|
||||
AaruConsole.WriteLine("Logical block address cannot be bigger than {0}. Setting it to {0}...",
|
||||
0xFFFFFFFFFFFF);
|
||||
AaruConsole.
|
||||
WriteLine(Localization.Logical_block_address_cannot_be_bigger_than_0_Setting_it_to_0,
|
||||
0xFFFFFFFFFFFF);
|
||||
|
||||
lba = 0xFFFFFFFFFFFF;
|
||||
}
|
||||
|
||||
AaruConsole.Write("How many sectors?: ");
|
||||
AaruConsole.Write(Localization.How_many_sectors);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!ushort.TryParse(strDev, out count))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
count = 0;
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
@@ -245,26 +246,26 @@ static class Ata48
|
||||
out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending READ DMA EXT to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_READ_DMA_EXT_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Decode error registers.");
|
||||
AaruConsole.WriteLine("3.- Send command again.");
|
||||
AaruConsole.WriteLine("4.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to 48-bit ATA commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization.Decode_error_registers);
|
||||
AaruConsole.WriteLine(Localization.Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._4_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_48_bit_ATA_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -274,38 +275,38 @@ static class Ata48
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to 48-bit ATA commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_48_bit_ATA_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ DMA EXT response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_DMA_EXT_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ DMA EXT status registers:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_DMA_EXT_status_registers);
|
||||
AaruConsole.Write("{0}", MainClass.DecodeAtaRegisters(errorRegisters));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3: goto start;
|
||||
case 4: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -326,22 +327,22 @@ static class Ata48
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for READ LOG EXT command:");
|
||||
AaruConsole.WriteLine("Log address: {0}", address);
|
||||
AaruConsole.WriteLine("Page number: {0}", page);
|
||||
AaruConsole.WriteLine("Count: {0}", count);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Parameters_for_READ_LOG_EXT_command);
|
||||
AaruConsole.WriteLine(Localization.Log_address_0, address);
|
||||
AaruConsole.WriteLine(Localization.Page_number_0, page);
|
||||
AaruConsole.WriteLine(Localization.Count_0, count);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to 48-bit ATA commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_48_bit_ATA_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -350,40 +351,40 @@ static class Ata48
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to 48-bit ATA commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_48_bit_ATA_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("What log address?: ");
|
||||
AaruConsole.Write(Localization.What_log_address);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!byte.TryParse(strDev, out address))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
address = 0;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("What page number?: ");
|
||||
AaruConsole.Write(Localization.What_page_number);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!ushort.TryParse(strDev, out page))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
page = 0;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("How many sectors?: ");
|
||||
AaruConsole.Write(Localization.How_many_sectors);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!ushort.TryParse(strDev, out count))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
count = 0;
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
@@ -400,26 +401,26 @@ static class Ata48
|
||||
dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending READ LOG EXT to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_READ_LOG_EXT_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Decode error registers.");
|
||||
AaruConsole.WriteLine("3.- Send command again.");
|
||||
AaruConsole.WriteLine("4.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to 48-bit ATA commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization.Decode_error_registers);
|
||||
AaruConsole.WriteLine(Localization.Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._4_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_48_bit_ATA_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -429,38 +430,38 @@ static class Ata48
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to 48-bit ATA commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_48_bit_ATA_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ LOG EXT response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_LOG_EXT_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ LOG EXT status registers:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_LOG_EXT_status_registers);
|
||||
AaruConsole.Write("{0}", MainClass.DecodeAtaRegisters(errorRegisters));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3: goto start;
|
||||
case 4: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -481,22 +482,22 @@ static class Ata48
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for READ LOG DMA EXT command:");
|
||||
AaruConsole.WriteLine("Log address: {0}", address);
|
||||
AaruConsole.WriteLine("Page number: {0}", page);
|
||||
AaruConsole.WriteLine("Count: {0}", count);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Parameters_for_READ_LOG_DMA_EXT_command);
|
||||
AaruConsole.WriteLine(Localization.Log_address_0, address);
|
||||
AaruConsole.WriteLine(Localization.Page_number_0, page);
|
||||
AaruConsole.WriteLine(Localization.Count_0, count);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to 48-bit ATA commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_48_bit_ATA_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -505,40 +506,40 @@ static class Ata48
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to 48-bit ATA commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_48_bit_ATA_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("What log address?: ");
|
||||
AaruConsole.Write(Localization.What_log_address);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!byte.TryParse(strDev, out address))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
address = 0;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("What page number?: ");
|
||||
AaruConsole.Write(Localization.What_page_number);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!ushort.TryParse(strDev, out page))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
page = 0;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("How many sectors?: ");
|
||||
AaruConsole.Write(Localization.How_many_sectors);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!ushort.TryParse(strDev, out count))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
count = 0;
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
@@ -555,26 +556,26 @@ static class Ata48
|
||||
dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending READ LOG DMA EXT to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_READ_LOG_DMA_EXT_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Decode error registers.");
|
||||
AaruConsole.WriteLine("3.- Send command again.");
|
||||
AaruConsole.WriteLine("4.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to 48-bit ATA commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization.Decode_error_registers);
|
||||
AaruConsole.WriteLine(Localization.Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._4_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_48_bit_ATA_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -584,38 +585,38 @@ static class Ata48
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to 48-bit ATA commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_48_bit_ATA_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ LOG DMA EXT response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_LOG_DMA_EXT_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ LOG DMA EXT status registers:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_LOG_DMA_EXT_status_registers);
|
||||
AaruConsole.Write("{0}", MainClass.DecodeAtaRegisters(errorRegisters));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3: goto start;
|
||||
case 4: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -635,21 +636,21 @@ static class Ata48
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for READ MULTIPLE EXT command:");
|
||||
AaruConsole.WriteLine("LBA: {0}", lba);
|
||||
AaruConsole.WriteLine("Count: {0}", count);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Parameters_for_READ_MULTIPLE_EXT_command);
|
||||
AaruConsole.WriteLine(Localization.LBA_0, lba);
|
||||
AaruConsole.WriteLine(Localization.Count_0, count);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to 48-bit ATA commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_48_bit_ATA_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -658,16 +659,16 @@ static class Ata48
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to 48-bit ATA commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_48_bit_ATA_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("What logical block address?: ");
|
||||
AaruConsole.Write(Localization.What_logical_block_address);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!ulong.TryParse(strDev, out lba))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
lba = 0;
|
||||
System.Console.ReadKey();
|
||||
|
||||
@@ -676,18 +677,19 @@ static class Ata48
|
||||
|
||||
if(lba > 0xFFFFFFFFFFFF)
|
||||
{
|
||||
AaruConsole.WriteLine("Logical block address cannot be bigger than {0}. Setting it to {0}...",
|
||||
0xFFFFFFFFFFFF);
|
||||
AaruConsole.
|
||||
WriteLine(Localization.Logical_block_address_cannot_be_bigger_than_0_Setting_it_to_0,
|
||||
0xFFFFFFFFFFFF);
|
||||
|
||||
lba = 0xFFFFFFFFFFFF;
|
||||
}
|
||||
|
||||
AaruConsole.Write("How many sectors?: ");
|
||||
AaruConsole.Write(Localization.How_many_sectors);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!ushort.TryParse(strDev, out count))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
count = 0;
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
@@ -704,26 +706,26 @@ static class Ata48
|
||||
dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending READ MULTIPLE EXT to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_READ_MULTIPLE_EXT_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Decode error registers.");
|
||||
AaruConsole.WriteLine("3.- Send command again.");
|
||||
AaruConsole.WriteLine("4.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to 48-bit ATA commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization.Decode_error_registers);
|
||||
AaruConsole.WriteLine(Localization.Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._4_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_48_bit_ATA_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -733,38 +735,38 @@ static class Ata48
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to 48-bit ATA commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_48_bit_ATA_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ MULTIPLE EXT response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_MULTIPLE_EXT_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ MULTIPLE EXT status registers:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_MULTIPLE_EXT_status_registers);
|
||||
AaruConsole.Write("{0}", MainClass.DecodeAtaRegisters(errorRegisters));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3: goto start;
|
||||
case 4: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -781,23 +783,23 @@ static class Ata48
|
||||
out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending READ NATIVE MAX ADDRESS EXT to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Max LBA is {0}.", lba);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_READ_NATIVE_MAX_ADDRESS_EXT_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Max_LBA_is_0, lba);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Decode error registers.");
|
||||
AaruConsole.WriteLine("2.- Send command again.");
|
||||
AaruConsole.WriteLine("0.- Return to 48-bit ATA commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Decode_error_registers);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization.Return_to_48_bit_ATA_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -807,23 +809,23 @@ static class Ata48
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to 48-bit ATA commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_48_bit_ATA_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ NATIVE MAX ADDRESS status registers:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_NATIVE_MAX_ADDRESS_status_registers);
|
||||
AaruConsole.Write("{0}", MainClass.DecodeAtaRegisters(errorRegisters));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2: goto start;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -843,21 +845,21 @@ static class Ata48
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for READ SECTORS EXT command:");
|
||||
AaruConsole.WriteLine("LBA: {0}", lba);
|
||||
AaruConsole.WriteLine("Count: {0}", count);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Parameters_for_READ_SECTORS_EXT_command);
|
||||
AaruConsole.WriteLine(Localization.LBA_0, lba);
|
||||
AaruConsole.WriteLine(Localization.Count_0, count);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to 48-bit ATA commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_48_bit_ATA_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -866,16 +868,16 @@ static class Ata48
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to 48-bit ATA commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_48_bit_ATA_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("What logical block address?: ");
|
||||
AaruConsole.Write(Localization.What_logical_block_address);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!ulong.TryParse(strDev, out lba))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
lba = 0;
|
||||
System.Console.ReadKey();
|
||||
|
||||
@@ -884,18 +886,19 @@ static class Ata48
|
||||
|
||||
if(lba > 0xFFFFFFFFFFFF)
|
||||
{
|
||||
AaruConsole.WriteLine("Logical block address cannot be bigger than {0}. Setting it to {0}...",
|
||||
0xFFFFFFFFFFFF);
|
||||
AaruConsole.
|
||||
WriteLine(Localization.Logical_block_address_cannot_be_bigger_than_0_Setting_it_to_0,
|
||||
0xFFFFFFFFFFFF);
|
||||
|
||||
lba = 0xFFFFFFFFFFFF;
|
||||
}
|
||||
|
||||
AaruConsole.Write("How many sectors?: ");
|
||||
AaruConsole.Write(Localization.How_many_sectors);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!ushort.TryParse(strDev, out count))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
count = 0;
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
@@ -912,26 +915,26 @@ static class Ata48
|
||||
out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending READ SECTORS EXT to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_READ_SECTORS_EXT_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Decode error registers.");
|
||||
AaruConsole.WriteLine("3.- Send command again.");
|
||||
AaruConsole.WriteLine("4.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to 48-bit ATA commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization.Decode_error_registers);
|
||||
AaruConsole.WriteLine(Localization.Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._4_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_48_bit_ATA_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -941,38 +944,38 @@ static class Ata48
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to 48-bit ATA commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_48_bit_ATA_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ SECTORS EXT response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_SECTORS_EXT_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ SECTORS EXT status registers:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_SECTORS_EXT_status_registers);
|
||||
AaruConsole.Write("{0}", MainClass.DecodeAtaRegisters(errorRegisters));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3: goto start;
|
||||
case 4: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -40,17 +40,17 @@ static class Atapi
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Send an ATAPI command to the device:");
|
||||
AaruConsole.WriteLine("1.- Send IDENTIFY PACKET DEVICE command.");
|
||||
AaruConsole.WriteLine("0.- Return to ATA commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Send_an_ATAPI_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Send_IDENTIFY_PACKET_DEVICE_command);
|
||||
AaruConsole.WriteLine(Localization.Return_to_ATA_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -59,7 +59,7 @@ static class Atapi
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to ATA commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_ATA_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
@@ -67,7 +67,7 @@ static class Atapi
|
||||
|
||||
continue;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -83,26 +83,26 @@ static class Atapi
|
||||
bool sense = dev.AtapiIdentify(out byte[] buffer, out AtaErrorRegistersChs errorRegisters, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending IDENTIFY PACKET DEVICE to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_IDENTIFY_PACKET_DEVICE_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Decode buffer.");
|
||||
AaruConsole.WriteLine("3.- Decode error registers.");
|
||||
AaruConsole.WriteLine("4.- Send command again.");
|
||||
AaruConsole.WriteLine("0.- Return to ATAPI commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Decode_buffer);
|
||||
AaruConsole.WriteLine(Localization._3_Decode_error_registers);
|
||||
AaruConsole.WriteLine(Localization._4_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization.Return_to_ATAPI_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -112,51 +112,51 @@ static class Atapi
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to ATAPI commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_ATAPI_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("IDENTIFY PACKET DEVICE response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.IDENTIFY_PACKET_DEVICE_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("IDENTIFY PACKET DEVICE decoded response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.IDENTIFY_PACKET_DEVICE_decoded_response);
|
||||
|
||||
if(buffer != null)
|
||||
AaruConsole.WriteLine("{0}", Decoders.ATA.Identify.Prettify(buffer));
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("IDENTIFY PACKET DEVICE status registers:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.IDENTIFY_PACKET_DEVICE_status_registers);
|
||||
AaruConsole.Write("{0}", MainClass.DecodeAtaRegisters(errorRegisters));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 4: goto start;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
|
||||
@@ -40,19 +40,19 @@ static class Cfa
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Send a CompactFlash command to the device:");
|
||||
AaruConsole.WriteLine("1.- Send REQUEST EXTENDED ERROR CODE command.");
|
||||
AaruConsole.WriteLine("2.- Send CHS TRANSLATE SECTOR command.");
|
||||
AaruConsole.WriteLine("3.- Send LBA TRANSLATE SECTOR command.");
|
||||
AaruConsole.WriteLine("0.- Return to ATA commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Send_a_CompactFlash_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Send_REQUEST_EXTENDED_ERROR_CODE_command);
|
||||
AaruConsole.WriteLine(Localization.Send_CHS_TRANSLATE_SECTOR_command);
|
||||
AaruConsole.WriteLine(Localization.Send_LBA_TRANSLATE_SECTOR_command);
|
||||
AaruConsole.WriteLine(Localization.Return_to_ATA_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -61,7 +61,7 @@ static class Cfa
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to ATA commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_ATA_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
@@ -77,7 +77,7 @@ static class Cfa
|
||||
|
||||
continue;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -94,23 +94,23 @@ static class Cfa
|
||||
dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending REQUEST EXTENDED ERROR CODE to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Error code is {0}.", errorCode);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_REQUEST_EXTENDED_ERROR_CODE_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Error_code_is_0, errorCode);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Decode error registers.");
|
||||
AaruConsole.WriteLine("2.- Send command again.");
|
||||
AaruConsole.WriteLine("0.- Return to CompactFlash commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Decode_error_registers);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization.Return_to_CompactFlash_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -120,23 +120,23 @@ static class Cfa
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to CompactFlash commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_CompactFlash_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("REQUEST EXTENDED ERROR CODE status registers:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.REQUEST_EXTENDED_ERROR_CODE_status_registers);
|
||||
AaruConsole.Write("{0}", MainClass.DecodeAtaRegisters(errorRegisters));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2: goto start;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -157,22 +157,22 @@ static class Cfa
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for TRANSLATE SECTOR command:");
|
||||
AaruConsole.WriteLine("Cylinder: {0}", cylinder);
|
||||
AaruConsole.WriteLine("Head: {0}", head);
|
||||
AaruConsole.WriteLine("Sector: {0}", sector);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Parameters_for_TRANSLATE_SECTOR_command);
|
||||
AaruConsole.WriteLine(Localization.Cylinder_0, cylinder);
|
||||
AaruConsole.WriteLine(Localization.Head_0, head);
|
||||
AaruConsole.WriteLine(Localization.Sector_0, sector);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to CompactFlash commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_CompactFlash_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -181,28 +181,28 @@ static class Cfa
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to CompactFlash commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_CompactFlash_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("What cylinder?: ");
|
||||
AaruConsole.Write(Localization.What_cylinder);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!ushort.TryParse(strDev, out cylinder))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
cylinder = 0;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("What head?: ");
|
||||
AaruConsole.Write(Localization.What_head);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!byte.TryParse(strDev, out head))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
head = 0;
|
||||
System.Console.ReadKey();
|
||||
|
||||
@@ -211,16 +211,16 @@ static class Cfa
|
||||
|
||||
if(head > 15)
|
||||
{
|
||||
AaruConsole.WriteLine("Head cannot be bigger than 15. Setting it to 15...");
|
||||
AaruConsole.WriteLine(Localization.Head_cannot_be_bigger_than_15_Setting_it_to_15);
|
||||
head = 15;
|
||||
}
|
||||
|
||||
AaruConsole.Write("What sector?: ");
|
||||
AaruConsole.Write(Localization.What_sector);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!byte.TryParse(strDev, out sector))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
sector = 0;
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
@@ -237,26 +237,26 @@ static class Cfa
|
||||
sector, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending TRANSLATE SECTOR to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_TRANSLATE_SECTOR_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Decode error registers.");
|
||||
AaruConsole.WriteLine("3.- Send command again.");
|
||||
AaruConsole.WriteLine("4.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to CompactFlash commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization.Decode_error_registers);
|
||||
AaruConsole.WriteLine(Localization.Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_CompactFlash_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -266,38 +266,38 @@ static class Cfa
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to CompactFlash commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_CompactFlash_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("TRANSLATE SECTOR response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.TRANSLATE_SECTOR_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("TRANSLATE SECTOR status registers:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.TRANSLATE_SECTOR_status_registers);
|
||||
AaruConsole.Write("{0}", MainClass.DecodeAtaRegisters(errorRegisters));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3: goto start;
|
||||
case 4: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -316,20 +316,20 @@ static class Cfa
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for TRANSLATE SECTOR command:");
|
||||
AaruConsole.WriteLine("LBA: {0}", lba);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Parameters_for_TRANSLATE_SECTOR_command);
|
||||
AaruConsole.WriteLine(Localization.LBA_0, lba);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to CompactFlash commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_CompactFlash_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -338,16 +338,16 @@ static class Cfa
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to CompactFlash commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_CompactFlash_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("What logical block address?: ");
|
||||
AaruConsole.Write(Localization.What_logical_block_address);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!uint.TryParse(strDev, out lba))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
lba = 0;
|
||||
System.Console.ReadKey();
|
||||
|
||||
@@ -356,8 +356,9 @@ static class Cfa
|
||||
|
||||
if(lba > 0xFFFFFFF)
|
||||
{
|
||||
AaruConsole.WriteLine("Logical block address cannot be bigger than {0}. Setting it to {0}...",
|
||||
0xFFFFFFF);
|
||||
AaruConsole.
|
||||
WriteLine(Localization.Logical_block_address_cannot_be_bigger_than_0_Setting_it_to_0,
|
||||
0xFFFFFFF);
|
||||
|
||||
lba = 0xFFFFFFF;
|
||||
}
|
||||
@@ -374,26 +375,26 @@ static class Cfa
|
||||
out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending TRANSLATE SECTOR to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_TRANSLATE_SECTOR_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Decode error registers.");
|
||||
AaruConsole.WriteLine("3.- Send command again.");
|
||||
AaruConsole.WriteLine("4.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to CompactFlash commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization.Decode_error_registers);
|
||||
AaruConsole.WriteLine(Localization.Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_CompactFlash_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -403,38 +404,38 @@ static class Cfa
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to CompactFlash commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_CompactFlash_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("TRANSLATE SECTOR response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.TRANSLATE_SECTOR_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("TRANSLATE SECTOR status registers:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.TRANSLATE_SECTOR_status_registers);
|
||||
AaruConsole.Write("{0}", MainClass.DecodeAtaRegisters(errorRegisters));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3: goto start;
|
||||
case 4: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
|
||||
@@ -39,17 +39,17 @@ static class Mcpt
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Send a Media Card Pass Through command to the device:");
|
||||
AaruConsole.WriteLine("1.- Send CHECK MEDIA CARD TYPE command.");
|
||||
AaruConsole.WriteLine("0.- Return to ATA commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Send_a_Media_Card_Pass_Through_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Send_CHECK_MEDIA_CARD_TYPE_command);
|
||||
AaruConsole.WriteLine(Localization.Return_to_ATA_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -58,7 +58,7 @@ static class Mcpt
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to ATA commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_ATA_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
@@ -66,7 +66,7 @@ static class Mcpt
|
||||
|
||||
continue;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -85,20 +85,20 @@ static class Mcpt
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for CHECK MEDIA CARD TYPE command:");
|
||||
AaruConsole.WriteLine("Feature: {0}", feature);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Parameters_for_CHECK_MEDIA_CARD_TYPE_command);
|
||||
AaruConsole.WriteLine(Localization.Feature_0, feature);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Media Card Pass Through commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_Media_Card_Pass_Through_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -107,16 +107,16 @@ static class Mcpt
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Media Card Pass Through commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_Media_Card_Pass_Through_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("Feature?: ");
|
||||
AaruConsole.Write(Localization.Feature);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!byte.TryParse(strDev, out feature))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
feature = 0;
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
@@ -133,24 +133,24 @@ static class Mcpt
|
||||
out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending CHECK MEDIA CARD TYPE to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("CHECK MEDIA CARD TYPE status registers:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_CHECK_MEDIA_CARD_TYPE_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.CHECK_MEDIA_CARD_TYPE_status_registers);
|
||||
AaruConsole.Write("{0}", MainClass.DecodeAtaRegisters(errorRegisters));
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Send command again.");
|
||||
AaruConsole.WriteLine("2.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Media Card Pass Through commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._2_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_Media_Card_Pass_Through_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -160,13 +160,13 @@ static class Mcpt
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Media Card Pass Through commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_Media_Card_Pass_Through_commands_menu);
|
||||
|
||||
return;
|
||||
case 1: goto start;
|
||||
case 2: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
|
||||
@@ -40,24 +40,24 @@ static class Smart
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Send a S.M.A.R.T. command to the device:");
|
||||
AaruConsole.WriteLine("1.- Send DISABLE ATTRIBUTE AUTOSAVE command.");
|
||||
AaruConsole.WriteLine("2.- Send DISABLE OPERATIONS command.");
|
||||
AaruConsole.WriteLine("3.- Send ENABLE ATTRIBUTE AUTOSAVE command.");
|
||||
AaruConsole.WriteLine("4.- Send ENABLE OPERATIONS command.");
|
||||
AaruConsole.WriteLine("5.- Send EXECUTE OFF-LINE IMMEDIATE command.");
|
||||
AaruConsole.WriteLine("6.- Send READ DATA command.");
|
||||
AaruConsole.WriteLine("7.- Send READ LOG command.");
|
||||
AaruConsole.WriteLine("8.- Send RETURN STATUS command.");
|
||||
AaruConsole.WriteLine("0.- Return to ATA commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Send_a_SMART_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Send_DISABLE_ATTRIBUTE_AUTOSAVE_command);
|
||||
AaruConsole.WriteLine(Localization.Send_DISABLE_OPERATIONS_command);
|
||||
AaruConsole.WriteLine(Localization.Send_ENABLE_ATTRIBUTE_AUTOSAVE_command);
|
||||
AaruConsole.WriteLine(Localization.Send_ENABLE_OPERATIONS_command);
|
||||
AaruConsole.WriteLine(Localization.Send_EXECUTE_OFF_LINE_IMMEDIATE_command);
|
||||
AaruConsole.WriteLine(Localization.Send_READ_DATA_command);
|
||||
AaruConsole.WriteLine(Localization.Send_READ_LOG_command);
|
||||
AaruConsole.WriteLine(Localization.Send_RETURN_STATUS_command);
|
||||
AaruConsole.WriteLine(Localization.Return_to_ATA_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -66,7 +66,7 @@ static class Smart
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to ATA commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_ATA_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
@@ -102,7 +102,7 @@ static class Smart
|
||||
|
||||
continue;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -120,23 +120,23 @@ static class Smart
|
||||
out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending DISABLE ATTRIBUTE AUTOSAVE to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("DISABLE ATTRIBUTE AUTOSAVE status registers:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_DISABLE_ATTRIBUTE_AUTOSAVE_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.DISABLE_ATTRIBUTE_AUTOSAVE_status_registers);
|
||||
AaruConsole.Write("{0}", MainClass.DecodeAtaRegisters(errorRegisters));
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Send command again.");
|
||||
AaruConsole.WriteLine("0.- Return to S.M.A.R.T. commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SMART_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -146,12 +146,12 @@ static class Smart
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to S.M.A.R.T. commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SMART_commands_menu);
|
||||
|
||||
return;
|
||||
case 1: goto start;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -166,23 +166,23 @@ static class Smart
|
||||
bool sense = dev.SmartDisable(out AtaErrorRegistersLba28 errorRegisters, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending DISABLE OPERATIONS to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("DISABLE OPERATIONS status registers:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_DISABLE_OPERATIONS_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.DISABLE_OPERATIONS_status_registers);
|
||||
AaruConsole.Write("{0}", MainClass.DecodeAtaRegisters(errorRegisters));
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Send command again.");
|
||||
AaruConsole.WriteLine("0.- Return to S.M.A.R.T. commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SMART_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -192,12 +192,12 @@ static class Smart
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to S.M.A.R.T. commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SMART_commands_menu);
|
||||
|
||||
return;
|
||||
case 1: goto start;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -215,23 +215,23 @@ static class Smart
|
||||
out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending ENABLE ATTRIBUTE AUTOSAVE to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("ENABLE ATTRIBUTE AUTOSAVE status registers:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_ENABLE_ATTRIBUTE_AUTOSAVE_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.ENABLE_ATTRIBUTE_AUTOSAVE_status_registers);
|
||||
AaruConsole.Write("{0}", MainClass.DecodeAtaRegisters(errorRegisters));
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Send command again.");
|
||||
AaruConsole.WriteLine("0.- Return to S.M.A.R.T. commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SMART_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -241,12 +241,12 @@ static class Smart
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to S.M.A.R.T. commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SMART_commands_menu);
|
||||
|
||||
return;
|
||||
case 1: goto start;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -261,23 +261,23 @@ static class Smart
|
||||
bool sense = dev.SmartEnable(out AtaErrorRegistersLba28 errorRegisters, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending ENABLE OPERATIONS to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("ENABLE OPERATIONS status registers:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_ENABLE_OPERATIONS_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.ENABLE_OPERATIONS_status_registers);
|
||||
AaruConsole.Write("{0}", MainClass.DecodeAtaRegisters(errorRegisters));
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Send command again.");
|
||||
AaruConsole.WriteLine("0.- Return to S.M.A.R.T. commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SMART_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -287,12 +287,12 @@ static class Smart
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to S.M.A.R.T. commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SMART_commands_menu);
|
||||
|
||||
return;
|
||||
case 1: goto start;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -311,20 +311,20 @@ static class Smart
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for EXECUTE OFF-LINE IMMEDIATE command:");
|
||||
AaruConsole.WriteLine("Subcommand: {0}", subcommand);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Parameters_for_EXECUTE_OFF_LINE_IMMEDIATE_command);
|
||||
AaruConsole.WriteLine(Localization.Subcommand_0, subcommand);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to S.M.A.R.T. commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SMART_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -333,16 +333,16 @@ static class Smart
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to S.M.A.R.T. commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SMART_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("Subcommand?: ");
|
||||
AaruConsole.Write(Localization.Subcommand);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!byte.TryParse(strDev, out subcommand))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
subcommand = 0;
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
@@ -359,24 +359,24 @@ static class Smart
|
||||
dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending EXECUTE OFF-LINE IMMEDIATE to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("EXECUTE OFF-LINE IMMEDIATE status registers:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_EXECUTE_OFF_LINE_IMMEDIATE_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.EXECUTE_OFF_LINE_IMMEDIATE_status_registers);
|
||||
AaruConsole.Write("{0}", MainClass.DecodeAtaRegisters(errorRegisters));
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Send command again.");
|
||||
AaruConsole.WriteLine("2.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Media Card Pass Through commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._2_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SMART_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -386,13 +386,13 @@ static class Smart
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to S.M.A.R.T. commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SMART_commands_menu);
|
||||
|
||||
return;
|
||||
case 1: goto start;
|
||||
case 2: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -409,25 +409,25 @@ static class Smart
|
||||
out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending READ DATA to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_READ_DATA_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Decode error registers.");
|
||||
AaruConsole.WriteLine("3.- Send command again.");
|
||||
AaruConsole.WriteLine("0.- Return to S.M.A.R.T. commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization.Decode_error_registers);
|
||||
AaruConsole.WriteLine(Localization.Send_command_again);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SMART_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -437,37 +437,37 @@ static class Smart
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to S.M.A.R.T. commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SMART_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ DATA response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_DATA_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ DATA status registers:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_DATA_status_registers);
|
||||
AaruConsole.Write("{0}", MainClass.DecodeAtaRegisters(errorRegisters));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 4: goto start;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -486,20 +486,20 @@ static class Smart
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for READ LOG command:");
|
||||
AaruConsole.WriteLine("Log address: {0}", address);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Parameters_for_READ_LOG_command);
|
||||
AaruConsole.WriteLine(Localization.Log_address_0, address);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to S.M.A.R.T. commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SMART_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -508,16 +508,16 @@ static class Smart
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to S.M.A.R.T. commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SMART_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("Log address?: ");
|
||||
AaruConsole.Write(Localization.Log_address);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!byte.TryParse(strDev, out address))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
address = 0;
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
@@ -534,26 +534,26 @@ static class Smart
|
||||
dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending READ LOG to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_READ_LOG_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Decode error registers.");
|
||||
AaruConsole.WriteLine("3.- Send command again.");
|
||||
AaruConsole.WriteLine("4.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to S.M.A.R.T. commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization.Decode_error_registers);
|
||||
AaruConsole.WriteLine(Localization.Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SMART_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -563,38 +563,38 @@ static class Smart
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to S.M.A.R.T. commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SMART_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ LOG response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_LOG_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ LOG status registers:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_LOG_status_registers);
|
||||
AaruConsole.Write("{0}", MainClass.DecodeAtaRegisters(errorRegisters));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3: goto start;
|
||||
case 4: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -610,23 +610,23 @@ static class Smart
|
||||
bool sense = dev.SmartReturnStatus(out AtaErrorRegistersLba28 errorRegisters, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending RETURN STATUS to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("RETURN STATUS status registers:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_RETURN_STATUS_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.RETURN_STATUS_status_registers);
|
||||
AaruConsole.Write("{0}", MainClass.DecodeAtaRegisters(errorRegisters));
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Send command again.");
|
||||
AaruConsole.WriteLine("0.- Return to S.M.A.R.T. commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SMART_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -636,12 +636,12 @@ static class Smart
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to S.M.A.R.T. commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SMART_commands_menu);
|
||||
|
||||
return;
|
||||
case 1: goto start;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
|
||||
@@ -28,6 +28,11 @@
|
||||
<NrtShowRevision>true</NrtShowRevision>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Localization\Localization.Designer.cs">
|
||||
<DesignTime>True</DesignTime>
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Localization.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Main.cs"/>
|
||||
<Compile Include="Device.cs"/>
|
||||
<Compile Include="Command.cs"/>
|
||||
@@ -84,4 +89,10 @@
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Update="Localization\Localization.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Localization.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -1,5 +1,7 @@
|
||||
<wpf:ResourceDictionary xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib"
|
||||
xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xml:space="preserve">
|
||||
<wpf:ResourceDictionary xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:s="clr-namespace:System;assembly=mscorlib"
|
||||
xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xml:space="preserve">
|
||||
<s:Boolean
|
||||
x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=localization/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean
|
||||
x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=scsi_005Fmmc/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
|
||||
@@ -39,24 +39,24 @@ static partial class MainClass
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Send a command to the device:");
|
||||
AaruConsole.WriteLine("1.- Send a SCSI command.");
|
||||
AaruConsole.WriteLine("2.- Send an ATA command.");
|
||||
AaruConsole.WriteLine("3.- Send a SecureDigital/MultiMediaCard command.");
|
||||
AaruConsole.WriteLine("4.- Send a NVMe command.");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Send_a_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Send_a_SCSI_command);
|
||||
AaruConsole.WriteLine(Localization.Send_an_ATA_command);
|
||||
AaruConsole.WriteLine(Localization.Send_a_SecureDigital_MultiMediaCard_command);
|
||||
AaruConsole.WriteLine(Localization.Send_a_NVMe_command);
|
||||
|
||||
if(dev.ScsiType == PeripheralDeviceTypes.MultiMediaDevice)
|
||||
AaruConsole.WriteLine("5.- Send a special sequence of commands for SCSI Multimedia devices.");
|
||||
AaruConsole.WriteLine(Localization.Send_a_special_sequence_of_commands_for_SCSI_Multimedia_devices);
|
||||
|
||||
AaruConsole.WriteLine("0.- Return to device menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Return_to_device_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -65,7 +65,7 @@ static partial class MainClass
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to device menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_device_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
@@ -90,7 +90,7 @@ static partial class MainClass
|
||||
continue;
|
||||
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
|
||||
@@ -99,16 +99,16 @@ static partial class MainClass
|
||||
public static string DecodeAtaRegisters(AtaErrorRegistersChs registers)
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
sb.AppendFormat("Status: {0}", DecodeAtaStatus(registers.Status)).AppendLine();
|
||||
sb.AppendFormat("Error: {0}", DecodeAtaStatus(registers.Error)).AppendLine();
|
||||
sb.AppendFormat("Device: {0}", (registers.DeviceHead >> 4) & 0x01).AppendLine();
|
||||
sb.AppendFormat("Cylinder: {0}", registers.CylinderHigh << (8 + registers.CylinderLow)).AppendLine();
|
||||
sb.AppendFormat("Head: {0}", registers.DeviceHead & 0xF).AppendLine();
|
||||
sb.AppendFormat("Sector: {0}", registers.Sector).AppendLine();
|
||||
sb.AppendFormat("Count: {0}", registers.SectorCount).AppendLine();
|
||||
sb.AppendFormat("LBA?: {0}", Convert.ToBoolean(registers.DeviceHead & 0x40)).AppendLine();
|
||||
sb.AppendFormat("Bit 7 set?: {0}", Convert.ToBoolean(registers.DeviceHead & 0x80)).AppendLine();
|
||||
sb.AppendFormat("Bit 5 set?: {0}", Convert.ToBoolean(registers.DeviceHead & 0x20)).AppendLine();
|
||||
sb.AppendFormat(Localization.Status_0, DecodeAtaStatus(registers.Status)).AppendLine();
|
||||
sb.AppendFormat(Localization.Error_0, DecodeAtaStatus(registers.Error)).AppendLine();
|
||||
sb.AppendFormat(Localization.Device_0, (registers.DeviceHead >> 4) & 0x01).AppendLine();
|
||||
sb.AppendFormat(Localization.Cylinder_0, registers.CylinderHigh << (8 + registers.CylinderLow)).AppendLine();
|
||||
sb.AppendFormat(Localization.Head_0, registers.DeviceHead & 0xF).AppendLine();
|
||||
sb.AppendFormat(Localization.Sector_0, registers.Sector).AppendLine();
|
||||
sb.AppendFormat(Localization.Count_0, registers.SectorCount).AppendLine();
|
||||
sb.AppendFormat(Localization.LBA_Q_0, Convert.ToBoolean(registers.DeviceHead & 0x40)).AppendLine();
|
||||
sb.AppendFormat(Localization.Bit_7_set_0, Convert.ToBoolean(registers.DeviceHead & 0x80)).AppendLine();
|
||||
sb.AppendFormat(Localization.Bit_5_set_0, Convert.ToBoolean(registers.DeviceHead & 0x20)).AppendLine();
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
@@ -116,18 +116,18 @@ static partial class MainClass
|
||||
public static string DecodeAtaRegisters(AtaErrorRegistersLba28 registers)
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
sb.AppendFormat("Status: {0}", DecodeAtaStatus(registers.Status)).AppendLine();
|
||||
sb.AppendFormat("Error: {0}", DecodeAtaStatus(registers.Error)).AppendLine();
|
||||
sb.AppendFormat("Device: {0}", (registers.DeviceHead >> 4) & 0x01).AppendLine();
|
||||
sb.AppendFormat(Localization.Status_0, DecodeAtaStatus(registers.Status)).AppendLine();
|
||||
sb.AppendFormat(Localization.Error_0, DecodeAtaStatus(registers.Error)).AppendLine();
|
||||
sb.AppendFormat(Localization.Device_0, (registers.DeviceHead >> 4) & 0x01).AppendLine();
|
||||
|
||||
sb.AppendFormat("LBA: {0}",
|
||||
sb.AppendFormat(Localization.LBA_0,
|
||||
((registers.DeviceHead & 0xF) << 24) + (registers.LbaHigh << 16) + (registers.LbaMid << 8) +
|
||||
registers.LbaLow);
|
||||
|
||||
sb.AppendFormat("Count: {0}", registers.SectorCount).AppendLine();
|
||||
sb.AppendFormat("LBA?: {0}", Convert.ToBoolean(registers.DeviceHead & 0x40)).AppendLine();
|
||||
sb.AppendFormat("Bit 7 set?: {0}", Convert.ToBoolean(registers.DeviceHead & 0x80)).AppendLine();
|
||||
sb.AppendFormat("Bit 5 set?: {0}", Convert.ToBoolean(registers.DeviceHead & 0x20)).AppendLine();
|
||||
sb.AppendFormat(Localization.Count_0, registers.SectorCount).AppendLine();
|
||||
sb.AppendFormat(Localization.LBA_Q_0, Convert.ToBoolean(registers.DeviceHead & 0x40)).AppendLine();
|
||||
sb.AppendFormat(Localization.Bit_7_set_0, Convert.ToBoolean(registers.DeviceHead & 0x80)).AppendLine();
|
||||
sb.AppendFormat(Localization.Bit_5_set_0, Convert.ToBoolean(registers.DeviceHead & 0x20)).AppendLine();
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
@@ -135,9 +135,9 @@ static partial class MainClass
|
||||
public static string DecodeAtaRegisters(AtaErrorRegistersLba48 registers)
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
sb.AppendFormat("Status: {0}", DecodeAtaStatus(registers.Status)).AppendLine();
|
||||
sb.AppendFormat("Error: {0}", DecodeAtaStatus(registers.Error)).AppendLine();
|
||||
sb.AppendFormat("Device: {0}", (registers.DeviceHead >> 4) & 0x01).AppendLine();
|
||||
sb.AppendFormat(Localization.Status_0, DecodeAtaStatus(registers.Status)).AppendLine();
|
||||
sb.AppendFormat(Localization.Error_0, DecodeAtaStatus(registers.Error)).AppendLine();
|
||||
sb.AppendFormat(Localization.Device_0, (registers.DeviceHead >> 4) & 0x01).AppendLine();
|
||||
|
||||
ulong lba = registers.LbaHighPrevious * 0x10000000000UL;
|
||||
lba += registers.LbaMidPrevious * 0x100000000UL;
|
||||
@@ -146,12 +146,12 @@ static partial class MainClass
|
||||
lba += registers.LbaMidCurrent * 0x100UL;
|
||||
lba += registers.LbaLowCurrent;
|
||||
|
||||
sb.AppendFormat("LBA: {0}", lba);
|
||||
sb.AppendFormat(Localization.LBA_0, lba);
|
||||
|
||||
sb.AppendFormat("Count: {0}", registers.SectorCount).AppendLine();
|
||||
sb.AppendFormat("LBA?: {0}", Convert.ToBoolean(registers.DeviceHead & 0x40)).AppendLine();
|
||||
sb.AppendFormat("Bit 7 set?: {0}", Convert.ToBoolean(registers.DeviceHead & 0x80)).AppendLine();
|
||||
sb.AppendFormat("Bit 5 set?: {0}", Convert.ToBoolean(registers.DeviceHead & 0x20)).AppendLine();
|
||||
sb.AppendFormat(Localization.Count_0, registers.SectorCount).AppendLine();
|
||||
sb.AppendFormat(Localization.LBA_Q_0, Convert.ToBoolean(registers.DeviceHead & 0x40)).AppendLine();
|
||||
sb.AppendFormat(Localization.Bit_7_set_0, Convert.ToBoolean(registers.DeviceHead & 0x80)).AppendLine();
|
||||
sb.AppendFormat(Localization.Bit_5_set_0, Convert.ToBoolean(registers.DeviceHead & 0x20)).AppendLine();
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
@@ -57,7 +57,8 @@ static partial class MainClass
|
||||
AaruConsole.WriteLine("dev.USBVendorID = 0x{0:X4}", dev.UsbVendorId);
|
||||
AaruConsole.WriteLine("dev.USBProductID = 0x{0:X4}", dev.UsbProductId);
|
||||
|
||||
AaruConsole.WriteLine("dev.USBDescriptors.Length = {0}", dev.UsbDescriptors?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("dev.USBDescriptors.Length = {0}",
|
||||
dev.UsbDescriptors?.Length.ToString() ?? Localization._null);
|
||||
|
||||
AaruConsole.WriteLine("dev.USBManufacturerString = \"{0}\"", dev.UsbManufacturerString);
|
||||
AaruConsole.WriteLine("dev.USBProductString = \"{0}\"", dev.UsbProductString);
|
||||
@@ -70,26 +71,26 @@ static partial class MainClass
|
||||
AaruConsole.WriteLine("dev.FireWireVendorName = \"{0}\"", dev.FireWireVendorName);
|
||||
AaruConsole.WriteLine("dev.IsCompactFlash = {0}", dev.IsCompactFlash);
|
||||
AaruConsole.WriteLine("dev.IsPCMCIA = {0}", dev.IsPcmcia);
|
||||
AaruConsole.WriteLine("dev.CIS.Length = {0}", dev.Cis?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("dev.CIS.Length = {0}", dev.Cis?.Length.ToString() ?? Localization._null);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...", devPath);
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue, devPath);
|
||||
System.Console.ReadKey();
|
||||
|
||||
menu:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Options:");
|
||||
AaruConsole.WriteLine("1.- Print USB descriptors.");
|
||||
AaruConsole.WriteLine("2.- Print PCMCIA CIS.");
|
||||
AaruConsole.WriteLine("3.- Send a command to the device.");
|
||||
AaruConsole.WriteLine("0.- Return to device selection.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Options);
|
||||
AaruConsole.WriteLine(Localization.Print_USB_descriptors);
|
||||
AaruConsole.WriteLine(Localization.Print_PCMCIA_CIS);
|
||||
AaruConsole.WriteLine(Localization._3_Send_a_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Return_to_device_selection);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
@@ -98,30 +99,30 @@ static partial class MainClass
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to device selection...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_device_selection);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("USB descriptors:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.USB_descriptors);
|
||||
|
||||
if(dev.UsbDescriptors != null)
|
||||
PrintHex.PrintHexArray(dev.UsbDescriptors, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("PCMCIA CIS:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.PCMCIA_CIS);
|
||||
|
||||
if(dev.Cis != null)
|
||||
PrintHex.PrintHexArray(dev.Cis, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
@@ -130,7 +131,7 @@ static partial class MainClass
|
||||
|
||||
goto menu;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
|
||||
7111
Aaru.Tests.Devices/Localization/Localization.Designer.cs
generated
Normal file
7111
Aaru.Tests.Devices/Localization/Localization.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
3556
Aaru.Tests.Devices/Localization/Localization.resx
Normal file
3556
Aaru.Tests.Devices/Localization/Localization.resx
Normal file
File diff suppressed because it is too large
Load Diff
@@ -47,7 +47,7 @@ static partial class MainClass
|
||||
if(devices == null ||
|
||||
devices.Length == 0)
|
||||
{
|
||||
AaruConsole.WriteLine("No known devices attached.");
|
||||
AaruConsole.WriteLine(Localization.No_known_devices_attached);
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -58,10 +58,11 @@ static partial class MainClass
|
||||
{
|
||||
System.Console.Clear();
|
||||
|
||||
AaruConsole.WriteLine("DiscImageChef device handling tests");
|
||||
AaruConsole.WriteLine(Localization.Aaru_device_handling_tests);
|
||||
|
||||
AaruConsole.WriteLine("{6,-8}|{0,-22}|{1,-16}|{2,-24}|{3,-24}|{4,-10}|{5,-10}", "Path", "Vendor", "Model",
|
||||
"Serial", "Bus", "Supported?", "Number");
|
||||
AaruConsole.WriteLine("{6,-8}|{0,-22}|{1,-16}|{2,-24}|{3,-24}|{4,-10}|{5,-10}", Localization.Path,
|
||||
Localization.Vendor, Localization.Model, Localization.Serial, Localization.Bus,
|
||||
Localization.Supported, Localization.Number);
|
||||
|
||||
AaruConsole.WriteLine("{6,-8}|{0,-22}+{1,-16}+{2,-24}+{3,-24}+{4,-10}+{5,-10}", "----------------------",
|
||||
"----------------", "------------------------", "------------------------",
|
||||
@@ -72,12 +73,12 @@ static partial class MainClass
|
||||
devices[i].Vendor, devices[i].Model, devices[i].Serial, devices[i].Bus,
|
||||
devices[i].Supported, i + 1);
|
||||
|
||||
AaruConsole.Write("Please choose which drive to test (0 to exit): ");
|
||||
AaruConsole.Write(Localization.Please_choose_which_drive_to_test_zero_to_exit);
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -85,14 +86,14 @@ static partial class MainClass
|
||||
|
||||
if(item == 0)
|
||||
{
|
||||
AaruConsole.WriteLine("Exiting...");
|
||||
AaruConsole.WriteLine(Localization.Exiting);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if(item > devices.Length)
|
||||
{
|
||||
AaruConsole.WriteLine("No such device. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.No_such_device_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
|
||||
@@ -35,7 +35,7 @@ static partial class MainClass
|
||||
{
|
||||
public static void NVMe(string devPath, Device dev)
|
||||
{
|
||||
AaruConsole.WriteLine("NVMe commands not yet implemented. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.NVMe_commands_not_yet_implemented_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
}
|
||||
@@ -39,33 +39,33 @@ static partial class MainClass
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Send a SCSI command to the device:");
|
||||
AaruConsole.WriteLine("1.- Send an Adaptec vendor command to the device.");
|
||||
AaruConsole.WriteLine("2.- Send an Archive vendor command to the device.");
|
||||
AaruConsole.WriteLine("3.- Send a Certance vendor command to the device.");
|
||||
AaruConsole.WriteLine("4.- Send a Fujitsu vendor command to the device.");
|
||||
AaruConsole.WriteLine("5.- Send an HL-DT-ST vendor command to the device.");
|
||||
AaruConsole.WriteLine("6.- Send a Hewlett-Packard vendor command to the device.");
|
||||
AaruConsole.WriteLine("7.- Send a Kreon vendor command to the device.");
|
||||
AaruConsole.WriteLine("8.- Send a SCSI MultiMedia Command to the device.");
|
||||
AaruConsole.WriteLine("9.- Send a NEC vendor command to the device.");
|
||||
AaruConsole.WriteLine("10.- Send a Pioneer vendor command to the device.");
|
||||
AaruConsole.WriteLine("11.- Send a Plasmon vendor command to the device.");
|
||||
AaruConsole.WriteLine("12.- Send a Plextor vendor command to the device.");
|
||||
AaruConsole.WriteLine("13.- Send a SCSI Block Command to the device.");
|
||||
AaruConsole.WriteLine("14.- Send a SCSI Media Changer command to the device.");
|
||||
AaruConsole.WriteLine("15.- Send a SCSI Primary Command to the device.");
|
||||
AaruConsole.WriteLine("16.- Send a SCSI Streaming Command to the device.");
|
||||
AaruConsole.WriteLine("17.- Send a SyQuest vendor command to the device.");
|
||||
AaruConsole.WriteLine("0.- Return to command class menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Send_a_SCSI_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization._1_Send_an_Adaptec_vendor_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization._2_Send_an_Archive_vendor_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization._3_Send_a_Certance_vendor_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization._4_Send_a_Fujitsu_vendor_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization._5_Send_an_HLDTST_vendor_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization._6_Send_a_Hewlett_Packard_vendor_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization._7_Send_a_Kreon_vendor_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization._8_Send_a_SCSI_MultiMedia_Command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization._9_Send_a_NEC_vendor_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization._10_Send_a_Pioneer_vendor_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization._11_Send_a_Plasmon_vendor_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization._12_Send_a_Plextor_vendor_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization._13_Send_a_SCSI_Block_Command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization._14_Send_a_SCSI_Media_Changer_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization._15_Send_a_SCSI_Primary_Command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization._16_Send_a_SCSI_Streaming_Command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization._17_Send_a_SyQuest_vendor_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Return_to_command_class_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -74,7 +74,7 @@ static partial class MainClass
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to command class menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_command_class_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
@@ -146,7 +146,7 @@ static partial class MainClass
|
||||
|
||||
continue;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
|
||||
@@ -40,20 +40,20 @@ static class Adaptec
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Send an Adaptec vendor command to the device:");
|
||||
AaruConsole.WriteLine("1.- Send READ/RESET USAGE COUNTER command.");
|
||||
AaruConsole.WriteLine("2.- Send READ DATA BUFFER command.");
|
||||
AaruConsole.WriteLine("3.- Send SET ERROR THRESHOLD command.");
|
||||
AaruConsole.WriteLine("4.- Send TRANSLATE command.");
|
||||
AaruConsole.WriteLine("0.- Return to SCSI commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Send_an_Adaptec_vendor_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Send_READ_RESET_USAGE_COUNTER_command);
|
||||
AaruConsole.WriteLine(Localization.Send_READ_DATA_BUFFER_command);
|
||||
AaruConsole.WriteLine(Localization.Send_SET_ERROR_THRESHOLD_command);
|
||||
AaruConsole.WriteLine(Localization.Send_TRANSLATE_command);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SCSI_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -62,7 +62,7 @@ static class Adaptec
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to SCSI commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SCSI_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
@@ -82,7 +82,7 @@ static class Adaptec
|
||||
|
||||
continue;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -101,20 +101,20 @@ static class Adaptec
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for READ/RESET USAGE COUNTER command:");
|
||||
AaruConsole.WriteLine("Drive 1?: {0}", drive1);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Parameters_for_READ_RESET_USAGE_COUNTER_command);
|
||||
AaruConsole.WriteLine(Localization.Drive_one_0, drive1);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Adaptec vendor commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_Adaptec_vendor_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -123,16 +123,16 @@ static class Adaptec
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Adaptec vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_Adaptec_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("Drive 1?: ");
|
||||
AaruConsole.Write(Localization.Drive_1_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!bool.TryParse(strDev, out drive1))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a boolean. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_boolean_Press_any_key_to_continue);
|
||||
drive1 = false;
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
@@ -149,29 +149,34 @@ static class Adaptec
|
||||
out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending READ/RESET USAGE COUNTER to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine("Sense buffer is {0} bytes.", senseBuffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Sense buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_READ_RESET_USAGE_COUNTER_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_0_bytes,
|
||||
senseBuffer?.Length.ToString() ?? Localization._null);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_null_or_empty_0,
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Print sense buffer.");
|
||||
AaruConsole.WriteLine("3.- Decode sense buffer.");
|
||||
AaruConsole.WriteLine("4.- Send command again.");
|
||||
AaruConsole.WriteLine("5.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Adaptec vendor commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Print_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._3_Decode_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._4_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._5_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_Adaptec_vendor_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -181,52 +186,52 @@ static class Adaptec
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Adaptec vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_Adaptec_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ/RESET USAGE COUNTER response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_RESET_USAGE_COUNTER_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ/RESET USAGE COUNTER sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_RESET_USAGE_COUNTER_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(senseBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ/RESET USAGE COUNTER decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_RESET_USAGE_COUNTER_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 4: goto start;
|
||||
case 5: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -242,28 +247,33 @@ static class Adaptec
|
||||
bool sense = dev.AdaptecReadBuffer(out byte[] buffer, out byte[] senseBuffer, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending READ DATA BUFFER to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine("Sense buffer is {0} bytes.", senseBuffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Sense buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_READ_DATA_BUFFER_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_0_bytes,
|
||||
senseBuffer?.Length.ToString() ?? Localization._null);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_null_or_empty_0,
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Print sense buffer.");
|
||||
AaruConsole.WriteLine("3.- Decode sense buffer.");
|
||||
AaruConsole.WriteLine("4.- Send command again.");
|
||||
AaruConsole.WriteLine("0.- Return to Adaptec vendor commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Print_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._3_Decode_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._4_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization.Return_to_Adaptec_vendor_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -273,51 +283,51 @@ static class Adaptec
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Adaptec vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_Adaptec_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ DATA BUFFER response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_DATA_BUFFER_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ DATA BUFFER sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_DATA_BUFFER_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(senseBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ DATA BUFFER decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_DATA_BUFFER_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 4: goto start;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -337,21 +347,21 @@ static class Adaptec
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for SET ERROR THRESHOLD command:");
|
||||
AaruConsole.WriteLine("Drive 1?: {0}", drive1);
|
||||
AaruConsole.WriteLine("Error threshold: {0}", threshold);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Parameters_for_SET_ERROR_THRESHOLD_command);
|
||||
AaruConsole.WriteLine(Localization.Drive_one_0, drive1);
|
||||
AaruConsole.WriteLine(Localization.Error_threshold_0, threshold);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Adaptec vendor commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_Adaptec_vendor_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -360,28 +370,28 @@ static class Adaptec
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Adaptec vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_Adaptec_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("Drive 1?: ");
|
||||
AaruConsole.Write(Localization.Drive_1_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!bool.TryParse(strDev, out drive1))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a boolean. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_boolean_Press_any_key_to_continue);
|
||||
drive1 = false;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("Error threshold?: ");
|
||||
AaruConsole.Write(Localization.Error_threshold);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!byte.TryParse(strDev, out threshold))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
threshold = 0;
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
@@ -398,27 +408,32 @@ static class Adaptec
|
||||
dev.AdaptecSetErrorThreshold(threshold, out byte[] senseBuffer, drive1, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending SET ERROR THRESHOLD to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Sense buffer is {0} bytes.", senseBuffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Sense buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
AaruConsole.WriteLine("SET ERROR THRESHOLD decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_SET_ERROR_THRESHOLD_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_0_bytes,
|
||||
senseBuffer?.Length.ToString() ?? Localization._null);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_null_or_empty_0,
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
|
||||
AaruConsole.WriteLine(Localization.SET_ERROR_THRESHOLD_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print sense buffer.");
|
||||
AaruConsole.WriteLine("2.- Send command again.");
|
||||
AaruConsole.WriteLine("3.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Adaptec vendor commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Print_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._3_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_Adaptec_vendor_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -428,27 +443,27 @@ static class Adaptec
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Adaptec vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_Adaptec_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("SET ERROR THRESHOLD sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.SET_ERROR_THRESHOLD_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(senseBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2: goto start;
|
||||
case 3: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -468,21 +483,21 @@ static class Adaptec
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for TRANSLATE command:");
|
||||
AaruConsole.WriteLine("Drive 1?: {0}", drive1);
|
||||
AaruConsole.WriteLine("LBA: {0}", lba);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Parameters_for_TRANSLATE_command);
|
||||
AaruConsole.WriteLine(Localization.Drive_one_0, drive1);
|
||||
AaruConsole.WriteLine(Localization.LBA_0, lba);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Adaptec vendor commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_Adaptec_vendor_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -491,28 +506,28 @@ static class Adaptec
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Adaptec vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_Adaptec_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("Drive 1?: ");
|
||||
AaruConsole.Write(Localization.Drive_1_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!bool.TryParse(strDev, out drive1))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a boolean. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_boolean_Press_any_key_to_continue);
|
||||
drive1 = false;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("LBA?: ");
|
||||
AaruConsole.Write(Localization.LBA_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!uint.TryParse(strDev, out lba))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
lba = 0;
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
@@ -529,29 +544,34 @@ static class Adaptec
|
||||
out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending TRANSLATE to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine("Sense buffer is {0} bytes.", senseBuffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Sense buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_TRANSLATE_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_0_bytes,
|
||||
senseBuffer?.Length.ToString() ?? Localization._null);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_null_or_empty_0,
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Print sense buffer.");
|
||||
AaruConsole.WriteLine("3.- Decode sense buffer.");
|
||||
AaruConsole.WriteLine("4.- Send command again.");
|
||||
AaruConsole.WriteLine("5.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Adaptec vendor commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Print_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._3_Decode_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._4_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._5_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_Adaptec_vendor_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -561,52 +581,52 @@ static class Adaptec
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Adaptec vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_Adaptec_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("TRANSLATE response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.TRANSLATE_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("TRANSLATE sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.TRANSLATE_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(senseBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("TRANSLATE decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.TRANSLATE_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 4: goto start;
|
||||
case 5: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
|
||||
@@ -40,18 +40,18 @@ static class ArchiveCorp
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Send an Archive vendor command to the device:");
|
||||
AaruConsole.WriteLine("1.- Send REQUEST BLOCK ADDRESS command.");
|
||||
AaruConsole.WriteLine("2.- Send SEEK BLOCK command.");
|
||||
AaruConsole.WriteLine("0.- Return to SCSI commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Send_an_Archive_vendor_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Send_REQUEST_BLOCK_ADDRESS_command);
|
||||
AaruConsole.WriteLine(Localization.Send_SEEK_BLOCK_command);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SCSI_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -60,7 +60,7 @@ static class ArchiveCorp
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to SCSI commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SCSI_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
@@ -72,7 +72,7 @@ static class ArchiveCorp
|
||||
|
||||
continue;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -91,20 +91,23 @@ static class ArchiveCorp
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for REQUEST BLOCK ADDRESS command:");
|
||||
AaruConsole.WriteLine("LBA: {0}", lba);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
AaruConsole.WriteLine(Localization.
|
||||
ArchiveCorp_RequestBlockAddress_Parameters_for_REQUEST_BLOCK_ADDRESS_command);
|
||||
|
||||
AaruConsole.WriteLine(Localization.LBA_0, lba);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Archive vendor commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.ArchiveCorp_RequestBlockAddress_Return_to_Archive_vendor_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -113,16 +116,17 @@ static class ArchiveCorp
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Archive vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.
|
||||
ArchiveCorp_RequestBlockAddress_Returning_to_Archive_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("LBA?: ");
|
||||
AaruConsole.Write(Localization.LBA_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!uint.TryParse(strDev, out lba))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
lba = 0;
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
@@ -139,29 +143,34 @@ static class ArchiveCorp
|
||||
out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending REQUEST BLOCK ADDRESS to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine("Sense buffer is {0} bytes.", senseBuffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Sense buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.ArchiveCorp_RequestBlockAddress_Sending_REQUEST_BLOCK_ADDRESS_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_0_bytes,
|
||||
senseBuffer?.Length.ToString() ?? Localization._null);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_null_or_empty_0,
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Print sense buffer.");
|
||||
AaruConsole.WriteLine("3.- Decode sense buffer.");
|
||||
AaruConsole.WriteLine("4.- Send command again.");
|
||||
AaruConsole.WriteLine("5.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Archive vendor commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Print_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._3_Decode_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._4_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._5_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.ArchiveCorp_RequestBlockAddress_Return_to_Archive_vendor_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -171,52 +180,53 @@ static class ArchiveCorp
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Archive vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.
|
||||
ArchiveCorp_RequestBlockAddress_Returning_to_Archive_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("REQUEST BLOCK ADDRESS response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.ArchiveCorp_RequestBlockAddress_REQUEST_BLOCK_ADDRESS_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("REQUEST BLOCK ADDRESS sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.ArchiveCorp_RequestBlockAddress_REQUEST_BLOCK_ADDRESS_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(senseBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("REQUEST BLOCK ADDRESS decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.ArchiveCorp_RequestBlockAddress_REQUEST_BLOCK_ADDRESS_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 4: goto start;
|
||||
case 5: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -236,21 +246,21 @@ static class ArchiveCorp
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for SEEK BLOCK command:");
|
||||
AaruConsole.WriteLine("Immediate?: {0}", immediate);
|
||||
AaruConsole.WriteLine("LBA: {0}", lba);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Parameters_for_SEEK_BLOCK_command);
|
||||
AaruConsole.WriteLine(Localization.Immediate_0, immediate);
|
||||
AaruConsole.WriteLine(Localization.LBA_0, lba);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Archive vendor commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.ArchiveCorp_RequestBlockAddress_Return_to_Archive_vendor_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -259,28 +269,29 @@ static class ArchiveCorp
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Archive vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.
|
||||
ArchiveCorp_RequestBlockAddress_Returning_to_Archive_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("Immediate?: ");
|
||||
AaruConsole.Write(Localization.Immediate_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!bool.TryParse(strDev, out immediate))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a boolean. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_boolean_Press_any_key_to_continue);
|
||||
immediate = false;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("LBA?: ");
|
||||
AaruConsole.Write(Localization.LBA_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!uint.TryParse(strDev, out lba))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
lba = 0;
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
@@ -296,27 +307,32 @@ static class ArchiveCorp
|
||||
bool sense = dev.ArchiveCorpSeekBlock(out byte[] senseBuffer, immediate, lba, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending SEEK BLOCK to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Sense buffer is {0} bytes.", senseBuffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Sense buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
AaruConsole.WriteLine("SEEK BLOCK decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_SEEK_BLOCK_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_0_bytes,
|
||||
senseBuffer?.Length.ToString() ?? Localization._null);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_null_or_empty_0,
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
|
||||
AaruConsole.WriteLine(Localization.SEEK_BLOCK_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print sense buffer.");
|
||||
AaruConsole.WriteLine("2.- Send command again.");
|
||||
AaruConsole.WriteLine("3.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Archive vendor commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Print_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._3_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.ArchiveCorp_RequestBlockAddress_Return_to_Archive_vendor_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -326,27 +342,28 @@ static class ArchiveCorp
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Archive vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.
|
||||
ArchiveCorp_RequestBlockAddress_Returning_to_Archive_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("SEEK BLOCK sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.SEEK_BLOCK_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(senseBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2: goto start;
|
||||
case 3: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
|
||||
@@ -40,18 +40,18 @@ static class Certance
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Send a Certance vendor command to the device:");
|
||||
AaruConsole.WriteLine("1.- Send PARK command.");
|
||||
AaruConsole.WriteLine("2.- Send UNPARK command.");
|
||||
AaruConsole.WriteLine("0.- Return to SCSI commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Send_a_Certance_vendor_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Send_PARK_command);
|
||||
AaruConsole.WriteLine(Localization.Send_UNPARK_command);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SCSI_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -60,7 +60,7 @@ static class Certance
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to SCSI commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SCSI_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
@@ -72,7 +72,7 @@ static class Certance
|
||||
|
||||
continue;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -87,26 +87,31 @@ static class Certance
|
||||
bool sense = dev.CertancePark(out byte[] senseBuffer, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending PARK to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Sense buffer is {0} bytes.", senseBuffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Sense buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
AaruConsole.WriteLine("PARK decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_PARK_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_0_bytes,
|
||||
senseBuffer?.Length.ToString() ?? Localization._null);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_null_or_empty_0,
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
|
||||
AaruConsole.WriteLine(Localization.PARK_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print sense buffer.");
|
||||
AaruConsole.WriteLine("2.- Send command again.");
|
||||
AaruConsole.WriteLine("0.- Return to Certance vendor commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Print_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization.Return_to_Certance_vendor_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -116,26 +121,26 @@ static class Certance
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Certance vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_Certance_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("PARK sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.PARK_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(senseBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2: goto start;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -150,26 +155,31 @@ static class Certance
|
||||
bool sense = dev.CertanceUnpark(out byte[] senseBuffer, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending UNPARK to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Sense buffer is {0} bytes.", senseBuffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Sense buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
AaruConsole.WriteLine("UNPARK decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_UNPARK_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_0_bytes,
|
||||
senseBuffer?.Length.ToString() ?? Localization._null);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_null_or_empty_0,
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
|
||||
AaruConsole.WriteLine(Localization.UNPARK_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print sense buffer.");
|
||||
AaruConsole.WriteLine("2.- Send command again.");
|
||||
AaruConsole.WriteLine("0.- Return to Certance vendor commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Print_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization.Return_to_Certance_vendor_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -179,26 +189,26 @@ static class Certance
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Certance vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_Certance_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("UNPARK sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.UNPARK_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(senseBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2: goto start;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
|
||||
@@ -41,17 +41,17 @@ static class Fujitsu
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Send a Fujitsu vendor command to the device:");
|
||||
AaruConsole.WriteLine("1.- Send DISPLAY command.");
|
||||
AaruConsole.WriteLine("0.- Return to SCSI commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Send_a_Fujitsu_vendor_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Send_DISPLAY_command);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SCSI_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -60,7 +60,7 @@ static class Fujitsu
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to SCSI commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SCSI_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
@@ -68,7 +68,7 @@ static class Fujitsu
|
||||
|
||||
continue;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -80,8 +80,8 @@ static class Fujitsu
|
||||
{
|
||||
bool flash = false;
|
||||
FujitsuDisplayModes mode = FujitsuDisplayModes.Ready;
|
||||
string firstHalf = "DIC TEST";
|
||||
string secondHalf = "TEST DIC";
|
||||
string firstHalf = "AARUTEST";
|
||||
string secondHalf = "TESTAARU";
|
||||
string strDev;
|
||||
int item;
|
||||
|
||||
@@ -90,20 +90,20 @@ static class Fujitsu
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for DISPLAY command:");
|
||||
AaruConsole.WriteLine("Descriptor: {0}", flash);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Parameters_for_DISPLAY_command);
|
||||
AaruConsole.WriteLine(Localization.Descriptor_0, flash);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Fujitsu vendor commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_Fujitsu_vendor_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -112,7 +112,7 @@ static class Fujitsu
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Fujitsu vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_Fujitsu_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
@@ -121,34 +121,34 @@ static class Fujitsu
|
||||
|
||||
if(!bool.TryParse(strDev, out flash))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
flash = false;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.WriteLine("Display mode");
|
||||
AaruConsole.WriteLine(Localization.Display_mode);
|
||||
|
||||
AaruConsole.WriteLine("Available values: {0} {1} {2} {3} {4}", FujitsuDisplayModes.Cancel,
|
||||
AaruConsole.WriteLine(Localization.Available_values_0_1_2_3_4, FujitsuDisplayModes.Cancel,
|
||||
FujitsuDisplayModes.Cart, FujitsuDisplayModes.Half, FujitsuDisplayModes.Idle,
|
||||
FujitsuDisplayModes.Ready);
|
||||
|
||||
AaruConsole.Write("Choose?: ");
|
||||
AaruConsole.Write(Localization.Choose_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!Enum.TryParse(strDev, true, out mode))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a correct display mode. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_correct_display_mode_Press_any_key_to_continue);
|
||||
mode = FujitsuDisplayModes.Ready;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("First display half (will be cut to 7-bit ASCII, 8 chars?: ");
|
||||
AaruConsole.Write(Localization.First_display_half_will_be_cut_to_7_bit_ASCII_8_chars);
|
||||
firstHalf = System.Console.ReadLine();
|
||||
AaruConsole.Write("Second display half (will be cut to 7-bit ASCII, 8 chars?: ");
|
||||
AaruConsole.Write(Localization.Second_display_half_will_be_cut_to_7_bit_ASCII_8_chars);
|
||||
secondHalf = System.Console.ReadLine();
|
||||
|
||||
break;
|
||||
@@ -163,27 +163,32 @@ static class Fujitsu
|
||||
out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending DISPLAY to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Sense buffer is {0} bytes.", senseBuffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Sense buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
AaruConsole.WriteLine("DISPLAY decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_DISPLAY_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_0_bytes,
|
||||
senseBuffer?.Length.ToString() ?? Localization._null);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_null_or_empty_0,
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
|
||||
AaruConsole.WriteLine(Localization.DISPLAY_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print sense buffer.");
|
||||
AaruConsole.WriteLine("2.- Send command again.");
|
||||
AaruConsole.WriteLine("3.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Fujitsu vendor commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Print_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._3_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_Fujitsu_vendor_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -193,27 +198,27 @@ static class Fujitsu
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Fujitsu vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_Fujitsu_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("DISPLAY sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.DISPLAY_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(senseBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2: goto start;
|
||||
case 3: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
|
||||
@@ -40,17 +40,17 @@ static class HlDtSt
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Send an HL-DT-ST vendor command to the device:");
|
||||
AaruConsole.WriteLine("1.- Send READ DVD (RAW) command.");
|
||||
AaruConsole.WriteLine("0.- Return to SCSI commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Send_an_HLDTST_vendor_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Send_READ_DVD_RAW_command);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SCSI_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -59,7 +59,7 @@ static class HlDtSt
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to SCSI commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SCSI_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
@@ -67,7 +67,7 @@ static class HlDtSt
|
||||
|
||||
continue;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -87,21 +87,21 @@ static class HlDtSt
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for READ DVD (RAW) command:");
|
||||
AaruConsole.WriteLine("LBA: {0}", lba);
|
||||
AaruConsole.WriteLine("Count: {0}", count);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Parameters_for_READ_DVD_RAW_command);
|
||||
AaruConsole.WriteLine(Localization.LBA_0, lba);
|
||||
AaruConsole.WriteLine(Localization.Count_0, count);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to HL-DT-ST vendor commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_HLDTST_vendor_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -110,28 +110,28 @@ static class HlDtSt
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to HL-DT-ST vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_HLDTST_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("How many sectors?: ");
|
||||
AaruConsole.Write(Localization.How_many_sectors);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!uint.TryParse(strDev, out count))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
count = 1;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("LBA?: ");
|
||||
AaruConsole.Write(Localization.LBA_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!uint.TryParse(strDev, out lba))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
lba = 0;
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
@@ -148,29 +148,34 @@ static class HlDtSt
|
||||
out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending READ DVD (RAW) to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine("Sense buffer is {0} bytes.", senseBuffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Sense buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_READ_DVD_RAW_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_0_bytes,
|
||||
senseBuffer?.Length.ToString() ?? Localization._null);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_null_or_empty_0,
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Print sense buffer.");
|
||||
AaruConsole.WriteLine("3.- Decode sense buffer.");
|
||||
AaruConsole.WriteLine("4.- Send command again.");
|
||||
AaruConsole.WriteLine("5.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to HL-DT-ST vendor commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Print_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._3_Decode_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._4_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._5_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_HLDTST_vendor_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -180,52 +185,52 @@ static class HlDtSt
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to HL-DT-ST vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_HLDTST_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ DVD (RAW) response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_DVD_RAW_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ DVD (RAW) sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_DVD_RAW_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(senseBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ DVD (RAW) decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_DVD_RAW_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 4: goto start;
|
||||
case 5: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
|
||||
@@ -40,17 +40,17 @@ static class Hp
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Send a Hewlett-Packard vendor command to the device:");
|
||||
AaruConsole.WriteLine("1.- Send READ LONG command.");
|
||||
AaruConsole.WriteLine("0.- Return to SCSI commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Send_a_Hewlett_Packard_vendor_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization._1_Send_READ_LONG_command);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SCSI_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -59,7 +59,7 @@ static class Hp
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to SCSI commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SCSI_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
@@ -67,7 +67,7 @@ static class Hp
|
||||
|
||||
continue;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -91,26 +91,33 @@ static class Hp
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for READ LONG command:");
|
||||
AaruConsole.WriteLine("{0} Block Address: {1}", physical ? "Physical" : "Logical", address);
|
||||
AaruConsole.WriteLine("Relative?: {0}", relative);
|
||||
AaruConsole.WriteLine("Will transfer {0} {1}", length, sectorCount ? "sectors" : "bytes");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Parameters_for_READ_LONG_command);
|
||||
|
||||
AaruConsole.
|
||||
WriteLine(physical ? Localization.Physical_Block_Address_0 : Localization.Logical_Block_Address_0,
|
||||
address);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Relative_0, relative);
|
||||
|
||||
AaruConsole.
|
||||
WriteLine(sectorCount ? Localization.Will_transfer_0_sectors : Localization.Will_transfer_0_bytes,
|
||||
length);
|
||||
|
||||
if(sectorCount)
|
||||
AaruConsole.WriteLine("Expected sector size: {0} bytes", bps);
|
||||
AaruConsole.WriteLine(Localization.Expected_sector_size_0_bytes, bps);
|
||||
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Hewlett-Packard vendor commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_Hewlett_Packard_vendor_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -119,64 +126,68 @@ static class Hp
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Hewlett-Packard vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_Hewlett_Packard_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("Physical address?: ");
|
||||
AaruConsole.Write(Localization.Physical_address_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!bool.TryParse(strDev, out physical))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a boolean. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_boolean_Press_any_key_to_continue);
|
||||
physical = false;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("Relative address?: ");
|
||||
AaruConsole.Write(Localization.Relative_address_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!bool.TryParse(strDev, out relative))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a boolean. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_boolean_Press_any_key_to_continue);
|
||||
relative = false;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("{0} Block Address?: ", physical ? "Physical" : "Logical");
|
||||
AaruConsole.Write(physical ? Localization.Physical_Block_Address_Q
|
||||
: Localization.Logical_Block_Address_Q);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!uint.TryParse(strDev, out address))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
address = 0;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("Transfer sectors?: ");
|
||||
AaruConsole.Write(Localization.Transfer_sectors_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!bool.TryParse(strDev, out sectorCount))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a boolean. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_boolean_Press_any_key_to_continue);
|
||||
sectorCount = true;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("How many {0} to transfer?: ", sectorCount ? "sectors" : "bytes");
|
||||
AaruConsole.Write(sectorCount ? Localization.How_many_sectors_to_transfer_Q
|
||||
: Localization.How_many_bytes_to_transfer_Q);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!ushort.TryParse(strDev, out length))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
length = (ushort)(sectorCount ? 1 : 512);
|
||||
System.Console.ReadKey();
|
||||
|
||||
@@ -185,12 +196,12 @@ static class Hp
|
||||
|
||||
if(sectorCount)
|
||||
{
|
||||
AaruConsole.Write("How many bytes to expect per sector?");
|
||||
AaruConsole.Write(Localization.How_many_bytes_to_expect_per_sector_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!ushort.TryParse(strDev, out bps))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
bps = 512;
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
@@ -208,29 +219,34 @@ static class Hp
|
||||
sectorCount, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending READ LONG to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine("Sense buffer is {0} bytes.", senseBuffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Sense buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_READ_LONG_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_0_bytes,
|
||||
senseBuffer?.Length.ToString() ?? Localization._null);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_null_or_empty_0,
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Print sense buffer.");
|
||||
AaruConsole.WriteLine("3.- Decode sense buffer.");
|
||||
AaruConsole.WriteLine("4.- Send command again.");
|
||||
AaruConsole.WriteLine("5.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Hewlett-Packard vendor commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Print_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._3_Decode_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._4_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._5_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_Hewlett_Packard_vendor_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -240,52 +256,52 @@ static class Hp
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Hewlett-Packard vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_Hewlett_Packard_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ LONG response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_LONG_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ LONG sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_LONG_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(senseBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ LONG decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_LONG_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 4: goto start;
|
||||
case 5: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
|
||||
@@ -41,20 +41,20 @@ static class Kreon
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Send a Kreon vendor command to the device:");
|
||||
AaruConsole.WriteLine("1.- Send EXTRACT SS command.");
|
||||
AaruConsole.WriteLine("2.- Send GET FEATURE LIST command.");
|
||||
AaruConsole.WriteLine("3.- Send SET LOCK STATE command.");
|
||||
AaruConsole.WriteLine("4.- Send UNLOCK command.");
|
||||
AaruConsole.WriteLine("0.- Return to SCSI commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Kreon_Menu_Send_a_Kreon_vendor_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Kreon_Menu_Send_EXTRACT_SS_command);
|
||||
AaruConsole.WriteLine(Localization.Kreon_Menu_Send_GET_FEATURE_LIST_command);
|
||||
AaruConsole.WriteLine(Localization.Kreon_Menu_Send_SET_LOCK_STATE_command);
|
||||
AaruConsole.WriteLine(Localization.Kreon_Menu_Send_UNLOCK_command);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SCSI_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -63,7 +63,7 @@ static class Kreon
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to SCSI commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SCSI_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
@@ -83,7 +83,7 @@ static class Kreon
|
||||
|
||||
continue;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -102,20 +102,20 @@ static class Kreon
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for EXTRACT SS command:");
|
||||
AaruConsole.WriteLine("Request number: {0}", requestNumber);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Parameters_for_EXTRACT_SS_command);
|
||||
AaruConsole.WriteLine(Localization.Request_number_0, requestNumber);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Kreon vendor commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_Kreon_vendor_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -124,16 +124,16 @@ static class Kreon
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Kreon vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_Kreon_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("Request number?: ");
|
||||
AaruConsole.Write(Localization.Request_number_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!byte.TryParse(strDev, out requestNumber))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
requestNumber = 0;
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
@@ -150,29 +150,34 @@ static class Kreon
|
||||
requestNumber);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending EXTRACT SS to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine("Sense buffer is {0} bytes.", senseBuffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Sense buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_EXTRACT_SS_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_0_bytes,
|
||||
senseBuffer?.Length.ToString() ?? Localization._null);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_null_or_empty_0,
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Print sense buffer.");
|
||||
AaruConsole.WriteLine("3.- Decode sense buffer.");
|
||||
AaruConsole.WriteLine("4.- Send command again.");
|
||||
AaruConsole.WriteLine("5.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Kreon vendor commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Print_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._3_Decode_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._4_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._5_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_Kreon_vendor_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -182,52 +187,52 @@ static class Kreon
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Kreon vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_Kreon_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("EXTRACT SS response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.EXTRACT_SS_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("EXTRACT SS sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.EXTRACT_SS_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(senseBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("EXTRACT SS decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.EXTRACT_SS_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 4: goto start;
|
||||
case 5: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -244,27 +249,32 @@ static class Kreon
|
||||
out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending GET FEATURE LIST to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Sense buffer is {0} bytes.", senseBuffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Sense buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
AaruConsole.WriteLine("Features: {0}.", features);
|
||||
AaruConsole.WriteLine("GET FEATURE LIST decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_GET_FEATURE_LIST_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_0_bytes,
|
||||
senseBuffer?.Length.ToString() ?? Localization._null);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_null_or_empty_0,
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
|
||||
AaruConsole.WriteLine(Localization.Features_0, features);
|
||||
AaruConsole.WriteLine(Localization.GET_FEATURE_LIST_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print sense buffer.");
|
||||
AaruConsole.WriteLine("2.- Send command again.");
|
||||
AaruConsole.WriteLine("0.- Return to Kreon vendor commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Print_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization.Return_to_Kreon_vendor_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -274,26 +284,26 @@ static class Kreon
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Kreon vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_Kreon_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("GET FEATURE LIST sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.GET_FEATURE_LIST_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(senseBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2: goto start;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -312,20 +322,20 @@ static class Kreon
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for SET LOCK STATE command:");
|
||||
AaruConsole.WriteLine("Lock state: {0}", state);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Parameters_for_SET_LOCK_STATE_command);
|
||||
AaruConsole.WriteLine(Localization.Lock_state_0, state);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Kreon vendor commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_Kreon_vendor_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -334,21 +344,21 @@ static class Kreon
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Kreon vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_Kreon_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.WriteLine("Lock state");
|
||||
AaruConsole.WriteLine(Localization.Lock_state);
|
||||
|
||||
AaruConsole.WriteLine("Available values: {0} {1} {2}", KreonLockStates.Locked,
|
||||
AaruConsole.WriteLine(Localization.Available_values_0_1_2, KreonLockStates.Locked,
|
||||
KreonLockStates.Wxripper, KreonLockStates.Xtreme);
|
||||
|
||||
AaruConsole.Write("Choose?: ");
|
||||
AaruConsole.Write(Localization.Choose_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!Enum.TryParse(strDev, true, out state))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a correct page control. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_correct_lock_state_Press_any_key_to_continue);
|
||||
state = KreonLockStates.Locked;
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
@@ -363,24 +373,24 @@ static class Kreon
|
||||
bool sense = dev.KreonSetLockState(out byte[] senseBuffer, state, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending SET LOCK STATE to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("SET LOCK STATE decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_SET_LOCK_STATE_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.SET_LOCK_STATE_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Send command again.");
|
||||
AaruConsole.WriteLine("2.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Kreon vendor commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._2_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_Kreon_vendor_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -390,13 +400,13 @@ static class Kreon
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Kreon vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_Kreon_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1: goto start;
|
||||
case 2: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -411,26 +421,31 @@ static class Kreon
|
||||
bool sense = dev.KreonDeprecatedUnlock(out byte[] senseBuffer, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending UNLOCK to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Sense buffer is {0} bytes.", senseBuffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Sense buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
AaruConsole.WriteLine("UNLOCK decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_UNLOCK_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_0_bytes,
|
||||
senseBuffer?.Length.ToString() ?? Localization._null);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_null_or_empty_0,
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
|
||||
AaruConsole.WriteLine(Localization.UNLOCK_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print sense buffer.");
|
||||
AaruConsole.WriteLine("2.- Send command again.");
|
||||
AaruConsole.WriteLine("0.- Return to Kreon vendor commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Print_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization.Return_to_Kreon_vendor_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -440,26 +455,26 @@ static class Kreon
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Kreon vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_Kreon_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("UNLOCK sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.UNLOCK_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(senseBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2: goto start;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -40,17 +40,17 @@ static class Nec
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Send a NEC vendor command to the device:");
|
||||
AaruConsole.WriteLine("1.- Send READ CD-DA command.");
|
||||
AaruConsole.WriteLine("0.- Return to SCSI commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Send_a_NEC_vendor_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization._1_Send_READ_CD_DA_command);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SCSI_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -59,7 +59,7 @@ static class Nec
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to SCSI commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SCSI_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
@@ -67,7 +67,7 @@ static class Nec
|
||||
|
||||
continue;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -87,21 +87,21 @@ static class Nec
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for READ CD-DA command:");
|
||||
AaruConsole.WriteLine("LBA: {0}", address);
|
||||
AaruConsole.WriteLine("Will transfer {0} sectors", length);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Parameters_for_READ_CD_DA_command);
|
||||
AaruConsole.WriteLine(Localization.LBA_0, address);
|
||||
AaruConsole.WriteLine(Localization.Will_transfer_0_sectors, length);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to NEC vendor commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_NEC_vendor_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -110,28 +110,28 @@ static class Nec
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to NEC vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_NEC_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("Logical Block Address?: ");
|
||||
AaruConsole.Write(Localization.Logical_Block_Address_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!uint.TryParse(strDev, out address))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
address = 0;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("How many sectors to transfer?: ");
|
||||
AaruConsole.Write(Localization.How_many_sectors_to_transfer_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!uint.TryParse(strDev, out length))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
length = 1;
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
@@ -148,29 +148,34 @@ static class Nec
|
||||
out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending READ CD-DA to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine("Sense buffer is {0} bytes.", senseBuffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Sense buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_READ_CD_DA_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_0_bytes,
|
||||
senseBuffer?.Length.ToString() ?? Localization._null);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_null_or_empty_0,
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Print sense buffer.");
|
||||
AaruConsole.WriteLine("3.- Decode sense buffer.");
|
||||
AaruConsole.WriteLine("4.- Send command again.");
|
||||
AaruConsole.WriteLine("5.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to NEC vendor commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Print_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._3_Decode_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._4_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._5_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_NEC_vendor_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -180,52 +185,52 @@ static class Nec
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to NEC vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_NEC_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ CD-DA response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_CD_DA_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ CD-DA sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_CD_DA_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(senseBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ CD-DA decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_CD_DA_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 4: goto start;
|
||||
case 5: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
|
||||
@@ -41,19 +41,19 @@ static class Pioneer
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Send a Pioneer vendor command to the device:");
|
||||
AaruConsole.WriteLine("1.- Send READ CD-DA command.");
|
||||
AaruConsole.WriteLine("2.- Send READ CD-DA MSF command.");
|
||||
AaruConsole.WriteLine("3.- Send READ CD-XA command.");
|
||||
AaruConsole.WriteLine("0.- Return to SCSI commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Send_a_Pioneer_vendor_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization._1_Send_READ_CD_DA_command);
|
||||
AaruConsole.WriteLine(Localization._2_Send_READ_CD_DA_MSF_command);
|
||||
AaruConsole.WriteLine(Localization._3_Send_READ_CD_XA_command);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SCSI_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -62,7 +62,7 @@ static class Pioneer
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to SCSI commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SCSI_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
@@ -78,7 +78,7 @@ static class Pioneer
|
||||
|
||||
continue;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -100,23 +100,23 @@ static class Pioneer
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for READ CD-DA command:");
|
||||
AaruConsole.WriteLine("LBA: {0}", address);
|
||||
AaruConsole.WriteLine("Will transfer {0} sectors", length);
|
||||
AaruConsole.WriteLine("Subchannel mode: {0}", subchan);
|
||||
AaruConsole.WriteLine("{0} bytes per sectors", blockSize);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Parameters_for_READ_CD_DA_command);
|
||||
AaruConsole.WriteLine(Localization.LBA_0, address);
|
||||
AaruConsole.WriteLine(Localization.Will_transfer_0_sectors, length);
|
||||
AaruConsole.WriteLine(Localization.Subchannel_mode_0, subchan);
|
||||
AaruConsole.WriteLine(Localization._0_bytes_per_sectors, blockSize);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Pioneer vendor commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_Pioneer_vendor_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -125,45 +125,45 @@ static class Pioneer
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Pioneer vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_Pioneer_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("Logical Block Address?: ");
|
||||
AaruConsole.Write(Localization.Logical_Block_Address_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!uint.TryParse(strDev, out address))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
address = 0;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("How many sectors to transfer?: ");
|
||||
AaruConsole.Write(Localization.How_many_sectors_to_transfer_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!uint.TryParse(strDev, out length))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
length = 1;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.WriteLine("Subchannel mode");
|
||||
AaruConsole.WriteLine(Localization.Subchannel_mode);
|
||||
|
||||
AaruConsole.WriteLine("Available values: {0} {1} {2} {3}", PioneerSubchannel.None,
|
||||
AaruConsole.WriteLine(Localization.Available_values_0_1_2_3, PioneerSubchannel.None,
|
||||
PioneerSubchannel.Q16, PioneerSubchannel.All, PioneerSubchannel.Only);
|
||||
|
||||
AaruConsole.Write("Choose?: ");
|
||||
AaruConsole.Write(Localization.Choose_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!Enum.TryParse(strDev, true, out subchan))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a correct page control. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_correct_subchannel_mode_Press_any_key_to_continue);
|
||||
subchan = PioneerSubchannel.None;
|
||||
System.Console.ReadKey();
|
||||
|
||||
@@ -190,29 +190,34 @@ static class Pioneer
|
||||
dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending READ CD-DA to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine("Sense buffer is {0} bytes.", senseBuffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Sense buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_READ_CD_DA_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_0_bytes,
|
||||
senseBuffer?.Length.ToString() ?? Localization._null);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_null_or_empty_0,
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Print sense buffer.");
|
||||
AaruConsole.WriteLine("3.- Decode sense buffer.");
|
||||
AaruConsole.WriteLine("4.- Send command again.");
|
||||
AaruConsole.WriteLine("5.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Pioneer vendor commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Print_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._3_Decode_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._4_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._5_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_Pioneer_vendor_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -222,52 +227,52 @@ static class Pioneer
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Pioneer vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_Pioneer_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ CD-DA response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_CD_DA_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ CD-DA sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_CD_DA_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(senseBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ CD-DA decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_CD_DA_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 4: goto start;
|
||||
case 5: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -293,23 +298,23 @@ static class Pioneer
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for READ CD-DA MSF command:");
|
||||
AaruConsole.WriteLine("Start: {0:D2}:{1:D2}:{2:D2}", startMinute, startSecond, startFrame);
|
||||
AaruConsole.WriteLine("End: {0:D2}:{1:D2}:{2:D2}", endMinute, endSecond, endFrame);
|
||||
AaruConsole.WriteLine("Subchannel mode: {0}", subchan);
|
||||
AaruConsole.WriteLine("{0} bytes per sectors", blockSize);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Parameters_for_READ_CD_DA_MSF_command);
|
||||
AaruConsole.WriteLine(Localization.Start_0_1_2, startMinute, startSecond, startFrame);
|
||||
AaruConsole.WriteLine(Localization.End_0_1_2, endMinute, endSecond, endFrame);
|
||||
AaruConsole.WriteLine(Localization.Subchannel_mode_0, subchan);
|
||||
AaruConsole.WriteLine(Localization._0_bytes_per_sectors, blockSize);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Pioneer vendor commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_Pioneer_vendor_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -318,93 +323,93 @@ static class Pioneer
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Pioneer vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_Pioneer_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("Start minute?: ");
|
||||
AaruConsole.Write(Localization.Start_minute_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!byte.TryParse(strDev, out startMinute))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
startMinute = 0;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("Start second?: ");
|
||||
AaruConsole.Write(Localization.Start_second_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!byte.TryParse(strDev, out startSecond))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
startSecond = 2;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("Start frame?: ");
|
||||
AaruConsole.Write(Localization.Start_frame_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!byte.TryParse(strDev, out startFrame))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
startFrame = 0;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("End minute?: ");
|
||||
AaruConsole.Write(Localization.End_minute_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!byte.TryParse(strDev, out endMinute))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
endMinute = 0;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("End second?: ");
|
||||
AaruConsole.Write(Localization.End_second_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!byte.TryParse(strDev, out endMinute))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
endMinute = 2;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("End frame?: ");
|
||||
AaruConsole.Write(Localization.End_frame_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!byte.TryParse(strDev, out endFrame))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
endFrame = 0;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.WriteLine("Subchannel mode");
|
||||
AaruConsole.WriteLine(Localization.Subchannel_mode);
|
||||
|
||||
AaruConsole.WriteLine("Available values: {0} {1} {2} {3}", PioneerSubchannel.None,
|
||||
AaruConsole.WriteLine(Localization.Available_values_0_1_2_3, PioneerSubchannel.None,
|
||||
PioneerSubchannel.Q16, PioneerSubchannel.All, PioneerSubchannel.Only);
|
||||
|
||||
AaruConsole.Write("Choose?: ");
|
||||
AaruConsole.Write(Localization.Choose_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!Enum.TryParse(strDev, true, out subchan))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a correct page control. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_correct_subchannel_mode_Press_any_key_to_continue);
|
||||
subchan = PioneerSubchannel.None;
|
||||
System.Console.ReadKey();
|
||||
|
||||
@@ -433,29 +438,34 @@ static class Pioneer
|
||||
subchan, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending READ CD-DA MSF to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine("Sense buffer is {0} bytes.", senseBuffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Sense buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_READ_CD_DA_MSF_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_0_bytes,
|
||||
senseBuffer?.Length.ToString() ?? Localization._null);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_null_or_empty_0,
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Print sense buffer.");
|
||||
AaruConsole.WriteLine("3.- Decode sense buffer.");
|
||||
AaruConsole.WriteLine("4.- Send command again.");
|
||||
AaruConsole.WriteLine("5.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Pioneer vendor commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Print_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._3_Decode_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._4_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._5_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_Pioneer_vendor_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -465,52 +475,52 @@ static class Pioneer
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Pioneer vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_Pioneer_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ CD-DA MSF response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_CD_DA_MSF_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ CD-DA MSF sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_CD_DA_MSF_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(senseBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ CD-DA MSF decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_CD_DA_MSF_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 4: goto start;
|
||||
case 5: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -532,23 +542,23 @@ static class Pioneer
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for READ CD-XA command:");
|
||||
AaruConsole.WriteLine("LBA: {0}", address);
|
||||
AaruConsole.WriteLine("Will transfer {0} sectors", length);
|
||||
AaruConsole.WriteLine("Include error flags?: {0}", errorFlags);
|
||||
AaruConsole.WriteLine("Whole sector?: {0}", wholeSector);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Parameters_for_READ_CD_XA_command);
|
||||
AaruConsole.WriteLine(Localization.LBA_0, address);
|
||||
AaruConsole.WriteLine(Localization.Will_transfer_0_sectors, length);
|
||||
AaruConsole.WriteLine(Localization.Include_error_flags_0, errorFlags);
|
||||
AaruConsole.WriteLine(Localization.Whole_sector_0, wholeSector);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Pioneer vendor commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_Pioneer_vendor_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -557,52 +567,52 @@ static class Pioneer
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Pioneer vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_Pioneer_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("Logical Block Address?: ");
|
||||
AaruConsole.Write(Localization.Logical_Block_Address_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!uint.TryParse(strDev, out address))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
address = 0;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("How many sectors to transfer?: ");
|
||||
AaruConsole.Write(Localization.How_many_sectors_to_transfer_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!uint.TryParse(strDev, out length))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
length = 1;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("Include error flags?: ");
|
||||
AaruConsole.Write(Localization.Include_error_flags_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!bool.TryParse(strDev, out errorFlags))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
errorFlags = false;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("Read whole sector?: ");
|
||||
AaruConsole.Write(Localization.Read_whole_sector_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!bool.TryParse(strDev, out wholeSector))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
wholeSector = false;
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
@@ -619,29 +629,34 @@ static class Pioneer
|
||||
wholeSector, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending READ CD-XA to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine("Sense buffer is {0} bytes.", senseBuffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Sense buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_READ_CD_XA_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_0_bytes,
|
||||
senseBuffer?.Length.ToString() ?? Localization._null);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_null_or_empty_0,
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Print sense buffer.");
|
||||
AaruConsole.WriteLine("3.- Decode sense buffer.");
|
||||
AaruConsole.WriteLine("4.- Send command again.");
|
||||
AaruConsole.WriteLine("5.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Pioneer vendor commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Print_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._3_Decode_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._4_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._5_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_Pioneer_vendor_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -651,52 +666,52 @@ static class Pioneer
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Pioneer vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_Pioneer_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ CD-XA response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_CD_XA_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ CD-XA sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_CD_XA_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(senseBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ CD-XA decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_CD_XA_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 4: goto start;
|
||||
case 5: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
|
||||
@@ -40,18 +40,18 @@ static class Plasmon
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Send a Plasmon vendor command to the device:");
|
||||
AaruConsole.WriteLine("1.- Send READ LONG command.");
|
||||
AaruConsole.WriteLine("2.- Send READ SECTOR LOCATION command.");
|
||||
AaruConsole.WriteLine("0.- Return to SCSI commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Send_a_Plasmon_vendor_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization._1_Send_READ_LONG_command);
|
||||
AaruConsole.WriteLine(Localization._2_Send_READ_SECTOR_LOCATION_command);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SCSI_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -60,7 +60,7 @@ static class Plasmon
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to SCSI commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SCSI_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
@@ -72,7 +72,7 @@ static class Plasmon
|
||||
|
||||
continue;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -96,26 +96,33 @@ static class Plasmon
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for READ LONG command:");
|
||||
AaruConsole.WriteLine("{0} Block Address: {1}", physical ? "Physical" : "Logical", address);
|
||||
AaruConsole.WriteLine("Relative?: {0}", relative);
|
||||
AaruConsole.WriteLine("Will transfer {0} {1}", length, sectorCount ? "sectors" : "bytes");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Parameters_for_READ_LONG_command);
|
||||
|
||||
AaruConsole.
|
||||
WriteLine(physical ? Localization.Physical_Block_Address_0 : Localization.Logical_Block_Address_0,
|
||||
address);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Relative_0, relative);
|
||||
|
||||
AaruConsole.
|
||||
WriteLine(sectorCount ? Localization.Will_transfer_0_sectors : Localization.Will_transfer_0_bytes,
|
||||
length);
|
||||
|
||||
if(sectorCount)
|
||||
AaruConsole.WriteLine("Expected sector size: {0} bytes", bps);
|
||||
AaruConsole.WriteLine(Localization.Expected_sector_size_0_bytes, bps);
|
||||
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Plasmon vendor commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_Plasmon_vendor_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -124,64 +131,68 @@ static class Plasmon
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Plasmon vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_Plasmon_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("Physical address?: ");
|
||||
AaruConsole.Write(Localization.Physical_address_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!bool.TryParse(strDev, out physical))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a boolean. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_boolean_Press_any_key_to_continue);
|
||||
physical = false;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("Relative address?: ");
|
||||
AaruConsole.Write(Localization.Relative_address_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!bool.TryParse(strDev, out relative))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a boolean. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_boolean_Press_any_key_to_continue);
|
||||
relative = false;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("{0} Block Address?: ", physical ? "Physical" : "Logical");
|
||||
AaruConsole.Write(physical ? Localization.Physical_Block_Address_Q
|
||||
: Localization.Logical_Block_Address_Q);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!uint.TryParse(strDev, out address))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
address = 0;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("Transfer sectors?: ");
|
||||
AaruConsole.Write(Localization.Transfer_sectors_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!bool.TryParse(strDev, out sectorCount))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a boolean. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_boolean_Press_any_key_to_continue);
|
||||
sectorCount = true;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("How many {0} to transfer?: ", sectorCount ? "sectors" : "bytes");
|
||||
AaruConsole.Write(sectorCount ? Localization.How_many_sectors_to_transfer_Q
|
||||
: Localization.How_many_bytes_to_transfer_Q);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!ushort.TryParse(strDev, out length))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
length = (ushort)(sectorCount ? 1 : 512);
|
||||
System.Console.ReadKey();
|
||||
|
||||
@@ -190,12 +201,12 @@ static class Plasmon
|
||||
|
||||
if(sectorCount)
|
||||
{
|
||||
AaruConsole.Write("How many bytes to expect per sector?");
|
||||
AaruConsole.Write(Localization.How_many_bytes_to_expect_per_sector_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!ushort.TryParse(strDev, out bps))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
bps = 512;
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
@@ -213,29 +224,34 @@ static class Plasmon
|
||||
physical, sectorCount, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending READ LONG to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine("Sense buffer is {0} bytes.", senseBuffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Sense buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_READ_LONG_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_0_bytes,
|
||||
senseBuffer?.Length.ToString() ?? Localization._null);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_null_or_empty_0,
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Print sense buffer.");
|
||||
AaruConsole.WriteLine("3.- Decode sense buffer.");
|
||||
AaruConsole.WriteLine("4.- Send command again.");
|
||||
AaruConsole.WriteLine("5.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Plasmon vendor commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Print_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._3_Decode_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._4_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._5_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_Plasmon_vendor_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -245,52 +261,52 @@ static class Plasmon
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Plasmon vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_Plasmon_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ LONG response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_LONG_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ LONG sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_LONG_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(senseBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ LONG decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_LONG_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 4: goto start;
|
||||
case 5: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -310,20 +326,24 @@ static class Plasmon
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for READ SECTOR LOCATION command:");
|
||||
AaruConsole.WriteLine("{0} Block Address: {1}", physical ? "Physical" : "Logical", address);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Parameters_for_READ_SECTOR_LOCATION_command);
|
||||
|
||||
AaruConsole.
|
||||
WriteLine(physical ? Localization.Physical_Block_Address_0 : Localization.Logical_Block_Address_0,
|
||||
address);
|
||||
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Plasmon vendor commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_Plasmon_vendor_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -332,28 +352,30 @@ static class Plasmon
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Plasmon vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_Plasmon_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("Physical address?: ");
|
||||
AaruConsole.Write(Localization.Physical_address_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!bool.TryParse(strDev, out physical))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a boolean. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_boolean_Press_any_key_to_continue);
|
||||
physical = false;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("{0} Block Address?: ", physical ? "Physical" : "Logical");
|
||||
AaruConsole.Write(physical ? Localization.Physical_Block_Address_Q
|
||||
: Localization.Logical_Block_Address_Q);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!uint.TryParse(strDev, out address))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
address = 0;
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
@@ -370,29 +392,34 @@ static class Plasmon
|
||||
dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending READ SECTOR LOCATION to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine("Sense buffer is {0} bytes.", senseBuffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Sense buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_READ_SECTOR_LOCATION_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_0_bytes,
|
||||
senseBuffer?.Length.ToString() ?? Localization._null);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_null_or_empty_0,
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Print sense buffer.");
|
||||
AaruConsole.WriteLine("3.- Decode sense buffer.");
|
||||
AaruConsole.WriteLine("4.- Send command again.");
|
||||
AaruConsole.WriteLine("5.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Plasmon vendor commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Print_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._3_Decode_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._4_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._5_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_Plasmon_vendor_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -402,52 +429,52 @@ static class Plasmon
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to Plasmon vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_Plasmon_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ SECTOR LOCATION response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_SECTOR_LOCATION_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ SECTOR LOCATION sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_SECTOR_LOCATION_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(senseBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ SECTOR LOCATION decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_SECTOR_LOCATION_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 4: goto start;
|
||||
case 5: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -41,17 +41,17 @@ static class Smc
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Send a SCSI Media Changer command to the device:");
|
||||
AaruConsole.WriteLine("1.- Send READ ATTRIBUTE command.");
|
||||
AaruConsole.WriteLine("0.- Return to SCSI commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Send_a_SCSI_Media_Changer_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization._1_Send_READ_ATTRIBUTE_command);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SCSI_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -60,7 +60,7 @@ static class Smc
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to SCSI commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SCSI_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
@@ -68,7 +68,7 @@ static class Smc
|
||||
|
||||
continue;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -93,26 +93,26 @@ static class Smc
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for READ ATTRIBUTE command:");
|
||||
AaruConsole.WriteLine("Action: {0}", action);
|
||||
AaruConsole.WriteLine("Element: {0}", element);
|
||||
AaruConsole.WriteLine("Element type: {0}", elementType);
|
||||
AaruConsole.WriteLine("Volume: {0}", volume);
|
||||
AaruConsole.WriteLine("Partition: {0}", partition);
|
||||
AaruConsole.WriteLine("First attribute: {0}", firstAttribute);
|
||||
AaruConsole.WriteLine("Use cache?: {0}", cache);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Parameters_for_READ_ATTRIBUTE_command);
|
||||
AaruConsole.WriteLine(Localization.Action_0, action);
|
||||
AaruConsole.WriteLine(Localization.Element_0, element);
|
||||
AaruConsole.WriteLine(Localization.Element_type_0, elementType);
|
||||
AaruConsole.WriteLine(Localization.Volume_0, volume);
|
||||
AaruConsole.WriteLine(Localization.Partition_0, partition);
|
||||
AaruConsole.WriteLine(Localization.First_attribute_0, firstAttribute);
|
||||
AaruConsole.WriteLine(Localization.Use_cache_0, cache);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to SCSI Media Changer commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SCSI_Media_Changer_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -121,95 +121,95 @@ static class Smc
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to SCSI Media Changer commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SCSI_Media_Changer_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.WriteLine("Attribute action");
|
||||
AaruConsole.WriteLine(Localization.Attribute_action);
|
||||
|
||||
AaruConsole.WriteLine("Available values: {0} {1} {2} {3} {4}", ScsiAttributeAction.Values,
|
||||
AaruConsole.WriteLine(Localization.Available_values_0_1_2_3_4, ScsiAttributeAction.Values,
|
||||
ScsiAttributeAction.List, ScsiAttributeAction.VolumeList,
|
||||
ScsiAttributeAction.PartitionList, ScsiAttributeAction.ElementList,
|
||||
ScsiAttributeAction.Supported);
|
||||
|
||||
AaruConsole.Write("Choose?: ");
|
||||
AaruConsole.Write(Localization.Choose_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!Enum.TryParse(strDev, true, out action))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a valid attribute action. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_valid_attribute_action_Press_any_key_to_continue);
|
||||
action = ScsiAttributeAction.Values;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("Element?: ");
|
||||
AaruConsole.Write(Localization.Element_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!ushort.TryParse(strDev, out element))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
element = 0;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("Element type?: ");
|
||||
AaruConsole.Write(Localization.Element_type_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!byte.TryParse(strDev, out elementType))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
elementType = 0;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("Volume?: ");
|
||||
AaruConsole.Write(Localization.Volume_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!byte.TryParse(strDev, out volume))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
volume = 0;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("Partition?: ");
|
||||
AaruConsole.Write(Localization.Partition_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!byte.TryParse(strDev, out partition))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
partition = 0;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("First attribute?: ");
|
||||
AaruConsole.Write(Localization.First_attribute_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!ushort.TryParse(strDev, out firstAttribute))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
firstAttribute = 0;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("Use cache?: ");
|
||||
AaruConsole.Write(Localization.Use_cache_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!bool.TryParse(strDev, out cache))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a boolean. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_boolean_Press_any_key_to_continue);
|
||||
cache = false;
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
@@ -226,29 +226,34 @@ static class Smc
|
||||
partition, firstAttribute, cache, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending READ ATTRIBUTE to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine("Sense buffer is {0} bytes.", senseBuffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Sense buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_READ_ATTRIBUTE_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_0_bytes,
|
||||
senseBuffer?.Length.ToString() ?? Localization._null);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_null_or_empty_0,
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Print sense buffer.");
|
||||
AaruConsole.WriteLine("3.- Decode sense buffer.");
|
||||
AaruConsole.WriteLine("4.- Send command again.");
|
||||
AaruConsole.WriteLine("5.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to SCSI Media Changer commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Print_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._3_Decode_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._4_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._5_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SCSI_Media_Changer_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -258,52 +263,52 @@ static class Smc
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to SCSI Media Changer commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SCSI_Media_Changer_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ ATTRIBUTE response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_ATTRIBUTE_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ ATTRIBUTE sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_ATTRIBUTE_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(senseBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ ATTRIBUTE decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_ATTRIBUTE_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 4: goto start;
|
||||
case 5: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -40,21 +40,21 @@ static class SyQuest
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Send a SyQuest vendor command to the device:");
|
||||
AaruConsole.WriteLine("1.- Send READ (6) command.");
|
||||
AaruConsole.WriteLine("2.- Send READ (10) command.");
|
||||
AaruConsole.WriteLine("3.- Send READ LONG (6) command.");
|
||||
AaruConsole.WriteLine("4.- Send READ LONG (10) command.");
|
||||
AaruConsole.WriteLine("5.- Send READ/RESET USAGE COUNTER command.");
|
||||
AaruConsole.WriteLine("0.- Return to SCSI commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Send_a_SyQuest_vendor_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization._1_Send_READ_6_command);
|
||||
AaruConsole.WriteLine(Localization._2_Send_READ_10_command);
|
||||
AaruConsole.WriteLine(Localization._3_Send_READ_LONG_6_command);
|
||||
AaruConsole.WriteLine(Localization._4_Send_READ_LONG_10_command);
|
||||
AaruConsole.WriteLine(Localization._5_Send_READ_RESET_USAGE_COUNTER_command);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SCSI_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -63,7 +63,7 @@ static class SyQuest
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to SCSI commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SCSI_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
@@ -87,7 +87,7 @@ static class SyQuest
|
||||
|
||||
continue;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -109,23 +109,26 @@ static class SyQuest
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for READ {0}(6) command:", readlong ? "LONG " : "");
|
||||
AaruConsole.WriteLine("LBA: {0}", lba);
|
||||
AaruConsole.WriteLine("{0} blocks to read", count == 0 ? 256 : count);
|
||||
AaruConsole.WriteLine("{0} bytes expected per block", blockSize);
|
||||
AaruConsole.WriteLine("Inhibit DMA?: {0}", noDma);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
AaruConsole.WriteLine(readlong ? Localization.Parameters_for_READ_LONG_6_command
|
||||
: Localization.Parameters_for_READ_6_command);
|
||||
|
||||
AaruConsole.WriteLine(Localization.LBA_0, lba);
|
||||
AaruConsole.WriteLine(Localization._0_blocks_to_read, count == 0 ? 256 : count);
|
||||
AaruConsole.WriteLine(Localization._0_bytes_expected_per_block, blockSize);
|
||||
AaruConsole.WriteLine(Localization.Inhibit_DMA_0, noDma);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to SyQuest vendor commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SyQuest_vendor_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -134,16 +137,16 @@ static class SyQuest
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to SyQuest vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SyQuest_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("LBA?: ");
|
||||
AaruConsole.Write(Localization.LBA_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!uint.TryParse(strDev, out lba))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
lba = 0;
|
||||
System.Console.ReadKey();
|
||||
|
||||
@@ -152,40 +155,40 @@ static class SyQuest
|
||||
|
||||
if(lba > 0x1FFFFF)
|
||||
{
|
||||
AaruConsole.WriteLine("Max LBA is {0}, setting to {0}", 0x1FFFFF);
|
||||
AaruConsole.WriteLine(Localization.Max_LBA_is_0_setting_to_0, 0x1FFFFF);
|
||||
lba = 0x1FFFFF;
|
||||
}
|
||||
|
||||
AaruConsole.Write("Blocks to read (0 for 256 blocks)?: ");
|
||||
AaruConsole.Write(Localization.Blocks_to_read_zero_for_256_blocks);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!byte.TryParse(strDev, out count))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
count = 1;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("How many bytes to expect per block?: ");
|
||||
AaruConsole.Write(Localization.How_many_bytes_to_expect_per_block_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!uint.TryParse(strDev, out blockSize))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
blockSize = 512;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("Inhibit DMA?: ");
|
||||
AaruConsole.Write(Localization.Inhibit_DMA_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!bool.TryParse(strDev, out noDma))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a boolean. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_boolean_Press_any_key_to_continue);
|
||||
noDma = false;
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
@@ -202,29 +205,37 @@ static class SyQuest
|
||||
dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending READ {0}(6) to the device:", readlong ? "LONG " : "");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine("Sense buffer is {0} bytes.", senseBuffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Sense buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
AaruConsole.WriteLine(readlong ? Localization.Sending_READ_LONG_6_to_the_device
|
||||
: Localization.Sending_READ_6_to_the_device);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_0_bytes,
|
||||
senseBuffer?.Length.ToString() ?? Localization._null);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_null_or_empty_0,
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Print sense buffer.");
|
||||
AaruConsole.WriteLine("3.- Decode sense buffer.");
|
||||
AaruConsole.WriteLine("4.- Send command again.");
|
||||
AaruConsole.WriteLine("5.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to SyQuest vendor commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Print_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._3_Decode_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._4_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._5_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SyQuest_vendor_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -234,52 +245,55 @@ static class SyQuest
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to SyQuest vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SyQuest_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ {0}(6) response:", readlong ? "LONG " : "");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(readlong ? Localization.READ_LONG_6_response : Localization.READ_6_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ {0}(6) sense:", readlong ? "LONG " : "");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(readlong ? Localization.READ_LONG_6_sense : Localization.READ_6_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(senseBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ {0}(6) decoded sense:", readlong ? "LONG " : "");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
AaruConsole.WriteLine(readlong ? Localization.READ_LONG_6_decoded_sense
|
||||
: Localization.READ_6_decoded_sense);
|
||||
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 4: goto start;
|
||||
case 5: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -301,23 +315,26 @@ static class SyQuest
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for READ {0}(10) command:", readlong ? "LONG " : "");
|
||||
AaruConsole.WriteLine("LBA: {0}", lba);
|
||||
AaruConsole.WriteLine("{0} blocks to read", count == 0 ? 256 : count);
|
||||
AaruConsole.WriteLine("{0} bytes expected per block", blockSize);
|
||||
AaruConsole.WriteLine("Inhibit DMA?: {0}", noDma);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
AaruConsole.WriteLine(readlong ? Localization.Parameters_for_READ_LONG_10_command
|
||||
: Localization.Parameters_for_READ_10_command);
|
||||
|
||||
AaruConsole.WriteLine(Localization.LBA_0, lba);
|
||||
AaruConsole.WriteLine(Localization._0_blocks_to_read, count == 0 ? 256 : count);
|
||||
AaruConsole.WriteLine(Localization._0_bytes_expected_per_block, blockSize);
|
||||
AaruConsole.WriteLine(Localization.Inhibit_DMA_0, noDma);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to SyQuest vendor commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SyQuest_vendor_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -326,52 +343,52 @@ static class SyQuest
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to SyQuest vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SyQuest_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("LBA?: ");
|
||||
AaruConsole.Write(Localization.LBA_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!uint.TryParse(strDev, out lba))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
lba = 0;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("Blocks to read (0 for 256 blocks)?: ");
|
||||
AaruConsole.Write(Localization.Blocks_to_read_zero_for_256_blocks);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!byte.TryParse(strDev, out count))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
count = 1;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("How many bytes to expect per block?: ");
|
||||
AaruConsole.Write(Localization.How_many_bytes_to_expect_per_block_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!uint.TryParse(strDev, out blockSize))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
blockSize = 512;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("Inhibit DMA?: ");
|
||||
AaruConsole.Write(Localization.Inhibit_DMA_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!bool.TryParse(strDev, out noDma))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a boolean. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_boolean_Press_any_key_to_continue);
|
||||
noDma = false;
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
@@ -388,29 +405,37 @@ static class SyQuest
|
||||
readlong, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending READ {0}(10) to the device:", readlong ? "LONG " : "");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine("Sense buffer is {0} bytes.", senseBuffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Sense buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
AaruConsole.WriteLine(readlong ? Localization.Sending_READ_LONG_10_to_the_device
|
||||
: Localization.Sending_READ_10_to_the_device);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_0_bytes,
|
||||
senseBuffer?.Length.ToString() ?? Localization._null);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_null_or_empty_0,
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Print sense buffer.");
|
||||
AaruConsole.WriteLine("3.- Decode sense buffer.");
|
||||
AaruConsole.WriteLine("4.- Send command again.");
|
||||
AaruConsole.WriteLine("5.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to SyQuest vendor commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Print_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._3_Decode_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._4_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._5_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SyQuest_vendor_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -420,52 +445,55 @@ static class SyQuest
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to SyQuest vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SyQuest_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ {0}(10) response:", readlong ? "LONG " : "");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(readlong ? Localization.READ_LONG_10_response : Localization.READ_10_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ {0}(10) sense:", readlong ? "LONG " : "");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(readlong ? Localization.READ_LONG_10_sense : Localization.READ_10_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(senseBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ {0}(10) decoded sense:", readlong ? "LONG " : "");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
AaruConsole.WriteLine(readlong ? Localization.READ_LONG_10_decoded_sense
|
||||
: Localization.READ_10_decoded_sense);
|
||||
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 4: goto start;
|
||||
case 5: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -482,28 +510,33 @@ static class SyQuest
|
||||
dev.SyQuestReadUsageCounter(out byte[] buffer, out byte[] senseBuffer, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending READ/RESET USAGE COUNTER to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine("Sense buffer is {0} bytes.", senseBuffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Sense buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_READ_RESET_USAGE_COUNTER_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_0_bytes,
|
||||
senseBuffer?.Length.ToString() ?? Localization._null);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_null_or_empty_0,
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Print sense buffer.");
|
||||
AaruConsole.WriteLine("3.- Decode sense buffer.");
|
||||
AaruConsole.WriteLine("4.- Send command again.");
|
||||
AaruConsole.WriteLine("0.- Return to SyQuest vendor commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Print_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._3_Decode_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._4_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SyQuest_vendor_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -513,51 +546,51 @@ static class SyQuest
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to SyQuest vendor commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SyQuest_vendor_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ/RESET USAGE COUNTER response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_RESET_USAGE_COUNTER_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ/RESET USAGE COUNTER sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_RESET_USAGE_COUNTER_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(senseBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ/RESET USAGE COUNTER decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.READ_RESET_USAGE_COUNTER_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 4: goto start;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
|
||||
@@ -19,16 +19,16 @@ static partial class ScsiMmc
|
||||
start:
|
||||
System.Console.Clear();
|
||||
|
||||
AaruConsole.WriteLine("Ejecting disc...");
|
||||
AaruConsole.WriteLine(Localization.Ejecting_disc);
|
||||
|
||||
dev.AllowMediumRemoval(out _, dev.Timeout, out _);
|
||||
dev.EjectTray(out _, dev.Timeout, out _);
|
||||
|
||||
AaruConsole.WriteLine("Please insert trap disc inside...");
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Please_insert_trap_disc_inside);
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadLine();
|
||||
|
||||
AaruConsole.WriteLine("Sending READ FULL TOC to the device...");
|
||||
AaruConsole.WriteLine(Localization.Sending_READ_FULL_TOC_to_the_device);
|
||||
|
||||
int retries = 0;
|
||||
|
||||
@@ -55,9 +55,9 @@ static partial class ScsiMmc
|
||||
|
||||
if(sense)
|
||||
{
|
||||
AaruConsole.WriteLine("READ FULL TOC failed...");
|
||||
AaruConsole.WriteLine(Localization.READ_FULL_TOC_failed);
|
||||
AaruConsole.WriteLine("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadLine();
|
||||
|
||||
return;
|
||||
@@ -67,8 +67,8 @@ static partial class ScsiMmc
|
||||
|
||||
if(decodedToc is null)
|
||||
{
|
||||
AaruConsole.WriteLine("Could not decode TOC...");
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Could_not_decode_TOC);
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadLine();
|
||||
|
||||
return;
|
||||
@@ -80,8 +80,8 @@ static partial class ScsiMmc
|
||||
|
||||
if(leadOutTrack.POINT != 0xA2)
|
||||
{
|
||||
AaruConsole.WriteLine("Cannot find lead-out...");
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Cannot_find_lead_out);
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadLine();
|
||||
|
||||
return;
|
||||
@@ -117,29 +117,29 @@ static partial class ScsiMmc
|
||||
|
||||
int sectors = (min * 60 * 75) + (sec * 75) + frame - 150;
|
||||
|
||||
AaruConsole.WriteLine("Trap disc shows {0} sectors...", sectors);
|
||||
AaruConsole.WriteLine(Localization.Trap_disc_shows_0_sectors, sectors);
|
||||
|
||||
if(sectors < 450000)
|
||||
{
|
||||
AaruConsole.WriteLine("Trap disc doesn't have enough sectors...");
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Trap_disc_doesnt_have_enough_sectors);
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadLine();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
AaruConsole.WriteLine("Stopping motor...");
|
||||
AaruConsole.WriteLine(Localization.Stopping_motor);
|
||||
|
||||
dev.StopUnit(out _, dev.Timeout, out _);
|
||||
|
||||
AaruConsole.WriteLine("Please MANUALLY get the trap disc out and put the GD-ROM disc inside...");
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Please_MANUALLY_get_the_trap_disc_out_and_put_the_GD_ROM_disc_inside);
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadLine();
|
||||
|
||||
AaruConsole.WriteLine("Waiting 5 seconds...");
|
||||
AaruConsole.WriteLine(Localization.Waiting_5_seconds);
|
||||
Thread.Sleep(5000);
|
||||
|
||||
AaruConsole.WriteLine("Sending READ FULL TOC to the device...");
|
||||
AaruConsole.WriteLine(Localization.Sending_READ_FULL_TOC_to_the_device);
|
||||
|
||||
retries = 0;
|
||||
|
||||
@@ -162,9 +162,9 @@ static partial class ScsiMmc
|
||||
|
||||
if(sense)
|
||||
{
|
||||
AaruConsole.WriteLine("READ FULL TOC failed...");
|
||||
AaruConsole.WriteLine(Localization.READ_FULL_TOC_failed);
|
||||
AaruConsole.WriteLine("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadLine();
|
||||
|
||||
return;
|
||||
@@ -174,8 +174,8 @@ static partial class ScsiMmc
|
||||
|
||||
if(decodedToc is null)
|
||||
{
|
||||
AaruConsole.WriteLine("Could not decode TOC...");
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Could_not_decode_TOC);
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadLine();
|
||||
|
||||
return;
|
||||
@@ -187,8 +187,8 @@ static partial class ScsiMmc
|
||||
|
||||
if(newLeadOutTrack.POINT != 0xA2)
|
||||
{
|
||||
AaruConsole.WriteLine("Cannot find lead-out...");
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Cannot_find_lead_out);
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadLine();
|
||||
|
||||
return;
|
||||
@@ -202,8 +202,8 @@ static partial class ScsiMmc
|
||||
newLeadOutTrack.PSEC != leadOutTrack.PSEC ||
|
||||
newLeadOutTrack.PFRAME != leadOutTrack.PFRAME)
|
||||
{
|
||||
AaruConsole.WriteLine("Lead-out has changed, this drive does not support hot swapping discs...");
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Lead_out_has_changed_this_drive_does_not_support_hot_swapping_discs);
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadLine();
|
||||
|
||||
return;
|
||||
@@ -211,205 +211,208 @@ static partial class ScsiMmc
|
||||
|
||||
dev.SetCdSpeed(out _, RotationalControl.PureCav, 170, 0, dev.Timeout, out _);
|
||||
|
||||
AaruConsole.Write("Reading LBA 0... ");
|
||||
AaruConsole.Write(Localization.Reading_LBA_zero);
|
||||
|
||||
bool lba0Result = dev.ReadCd(out byte[] lba0Buffer, out byte[] lba0Sense, 0, 2352, 1, MmcSectorTypes.AllTypes,
|
||||
false, false, true, MmcHeaderCodes.AllHeaders, true, true, MmcErrorField.None,
|
||||
MmcSubchannel.None, dev.Timeout, out _);
|
||||
|
||||
AaruConsole.WriteLine(lba0Result ? "FAIL!" : "Success!");
|
||||
AaruConsole.WriteLine(lba0Result ? Localization.FAIL : Localization.Success);
|
||||
|
||||
AaruConsole.Write("Reading LBA 0 as audio (scrambled)... ");
|
||||
AaruConsole.Write(Localization.Reading_LBA_zero_as_audio_scrambled);
|
||||
|
||||
bool lba0ScrambledResult = dev.ReadCd(out byte[] lba0ScrambledBuffer, out byte[] lba0ScrambledSense, 0, 2352, 1,
|
||||
MmcSectorTypes.Cdda, false, false, false, MmcHeaderCodes.None, true,
|
||||
false, MmcErrorField.None, MmcSubchannel.None, dev.Timeout, out _);
|
||||
|
||||
AaruConsole.WriteLine(lba0ScrambledResult ? "FAIL!" : "Success!");
|
||||
AaruConsole.WriteLine(lba0ScrambledResult ? Localization.FAIL : Localization.Success);
|
||||
|
||||
AaruConsole.Write("Reading LBA 100000... ");
|
||||
AaruConsole.Write(Localization.Reading_LBA_100000);
|
||||
|
||||
bool lba100000Result = dev.ReadCd(out byte[] lba100000Buffer, out byte[] lba100000Sense, 100000, 2352, 1,
|
||||
MmcSectorTypes.AllTypes, false, false, true, MmcHeaderCodes.AllHeaders, true,
|
||||
true, MmcErrorField.None, MmcSubchannel.None, dev.Timeout, out _);
|
||||
|
||||
AaruConsole.WriteLine(lba100000Result ? "FAIL!" : "Success!");
|
||||
AaruConsole.WriteLine(lba100000Result ? Localization.FAIL : Localization.Success);
|
||||
|
||||
AaruConsole.Write("Reading LBA 50000... ");
|
||||
AaruConsole.Write(Localization.Reading_LBA_50000);
|
||||
|
||||
bool lba50000Result = dev.ReadCd(out byte[] lba50000Buffer, out byte[] lba50000Sense, 50000, 2352, 1,
|
||||
MmcSectorTypes.AllTypes, false, false, true, MmcHeaderCodes.AllHeaders, true,
|
||||
true, MmcErrorField.None, MmcSubchannel.None, dev.Timeout, out _);
|
||||
|
||||
AaruConsole.WriteLine(lba50000Result ? "FAIL!" : "Success!");
|
||||
AaruConsole.WriteLine(lba50000Result ? Localization.FAIL : Localization.Success);
|
||||
|
||||
AaruConsole.Write("Reading LBA 450000... ");
|
||||
AaruConsole.Write(Localization.Reading_LBA_450000);
|
||||
|
||||
bool lba450000Result = dev.ReadCd(out byte[] lba450000Buffer, out byte[] lba450000Sense, 450000, 2352, 1,
|
||||
MmcSectorTypes.AllTypes, false, false, true, MmcHeaderCodes.AllHeaders, true,
|
||||
true, MmcErrorField.None, MmcSubchannel.None, dev.Timeout, out _);
|
||||
|
||||
AaruConsole.WriteLine(lba450000Result ? "FAIL!" : "Success!");
|
||||
AaruConsole.WriteLine(lba450000Result ? Localization.FAIL : Localization.Success);
|
||||
|
||||
AaruConsole.Write("Reading LBA 400000... ");
|
||||
AaruConsole.Write(Localization.Reading_LBA_400000);
|
||||
|
||||
bool lba400000Result = dev.ReadCd(out byte[] lba400000Buffer, out byte[] lba400000Sense, 400000, 2352, 1,
|
||||
MmcSectorTypes.AllTypes, false, false, true, MmcHeaderCodes.AllHeaders, true,
|
||||
true, MmcErrorField.None, MmcSubchannel.None, dev.Timeout, out _);
|
||||
|
||||
AaruConsole.WriteLine(lba400000Result ? "FAIL!" : "Success!");
|
||||
AaruConsole.WriteLine(lba400000Result ? Localization.FAIL : Localization.Success);
|
||||
|
||||
AaruConsole.Write("Reading LBA 45000... ");
|
||||
AaruConsole.Write(Localization.Reading_LBA_45000);
|
||||
|
||||
bool lba45000Result = dev.ReadCd(out byte[] lba45000Buffer, out byte[] lba45000Sense, 45000, 2352, 1,
|
||||
MmcSectorTypes.AllTypes, false, false, true, MmcHeaderCodes.AllHeaders, true,
|
||||
true, MmcErrorField.None, MmcSubchannel.None, dev.Timeout, out _);
|
||||
|
||||
AaruConsole.WriteLine(lba45000Result ? "FAIL!" : "Success!");
|
||||
AaruConsole.WriteLine(lba45000Result ? Localization.FAIL : Localization.Success);
|
||||
|
||||
AaruConsole.Write("Reading LBA 44990... ");
|
||||
AaruConsole.Write(Localization.Reading_LBA_44990);
|
||||
|
||||
bool lba44990Result = dev.ReadCd(out byte[] lba44990Buffer, out byte[] lba44990Sense, 44990, 2352, 1,
|
||||
MmcSectorTypes.AllTypes, false, false, true, MmcHeaderCodes.AllHeaders, true,
|
||||
true, MmcErrorField.None, MmcSubchannel.None, dev.Timeout, out _);
|
||||
|
||||
AaruConsole.WriteLine(lba44990Result ? "FAIL!" : "Success!");
|
||||
AaruConsole.WriteLine(lba44990Result ? Localization.FAIL : Localization.Success);
|
||||
|
||||
menu:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Device {0} read HD area.", lba450000Result ? "cannot" : "can");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
AaruConsole.WriteLine("LBA 0 sense is {0}, buffer is {1}, sense buffer is {2}.", lba0Result, lba0Buffer is null
|
||||
? "null"
|
||||
AaruConsole.WriteLine(lba450000Result ? Localization.Device_cannot_read_HD_area
|
||||
: Localization.Device_can_read_HD_area);
|
||||
|
||||
AaruConsole.WriteLine(Localization.LBA_zero_sense_is_0_buffer_is_1_sense_buffer_is_2, lba0Result,
|
||||
lba0Buffer is null
|
||||
? Localization._null
|
||||
: ArrayHelpers.ArrayIsNullOrEmpty(lba0Buffer)
|
||||
? "empty"
|
||||
: $"{lba0Buffer.Length} bytes", lba0Sense is null
|
||||
? "null"
|
||||
: ArrayHelpers.
|
||||
ArrayIsNullOrEmpty(lba0Sense)
|
||||
? "empty"
|
||||
: $"{lba0Sense.Length}");
|
||||
? Localization.empty
|
||||
: string.Format(Localization._0_bytes, lba0Buffer.Length), lba0Sense is null
|
||||
? Localization._null
|
||||
: ArrayHelpers.ArrayIsNullOrEmpty(lba0Sense)
|
||||
? Localization.empty
|
||||
: $"{lba0Sense.Length}");
|
||||
|
||||
AaruConsole.WriteLine("LBA 0 (scrambled) sense is {0}, buffer is {1}, sense buffer is {2}.",
|
||||
AaruConsole.WriteLine(Localization.LBA_zero_scrambled_sense_is_0_buffer_is_1_sense_buffer_is_2_,
|
||||
lba0ScrambledResult, lba0ScrambledBuffer is null
|
||||
? "null"
|
||||
? Localization._null
|
||||
: ArrayHelpers.ArrayIsNullOrEmpty(lba0ScrambledBuffer)
|
||||
? "empty"
|
||||
: $"{lba0ScrambledBuffer.Length} bytes",
|
||||
? Localization.empty
|
||||
: string.Format(Localization._0_bytes,
|
||||
lba0ScrambledBuffer.Length),
|
||||
lba0ScrambledSense is null
|
||||
? "null"
|
||||
? Localization._null
|
||||
: ArrayHelpers.ArrayIsNullOrEmpty(lba0ScrambledSense)
|
||||
? "empty"
|
||||
? Localization.empty
|
||||
: $"{lba0ScrambledSense.Length}");
|
||||
|
||||
AaruConsole.WriteLine("LBA 44990 sense is {0}, buffer is {1}, sense buffer is {2}.", lba44990Result,
|
||||
AaruConsole.WriteLine(Localization.LBA_44990_sense_is_0_buffer_is_1_sense_buffer_is_2, lba44990Result,
|
||||
lba44990Buffer is null
|
||||
? "null"
|
||||
? Localization._null
|
||||
: ArrayHelpers.ArrayIsNullOrEmpty(lba44990Buffer)
|
||||
? "empty"
|
||||
: $"{lba44990Buffer.Length} bytes", lba44990Sense is null
|
||||
? "null"
|
||||
: ArrayHelpers.
|
||||
ArrayIsNullOrEmpty(lba44990Sense)
|
||||
? "empty"
|
||||
: $"{lba44990Sense.Length}");
|
||||
? Localization.empty
|
||||
: string.Format(Localization._0_bytes, lba44990Buffer.Length),
|
||||
lba44990Sense is null
|
||||
? Localization._null
|
||||
: ArrayHelpers.ArrayIsNullOrEmpty(lba44990Sense)
|
||||
? Localization.empty
|
||||
: $"{lba44990Sense.Length}");
|
||||
|
||||
AaruConsole.WriteLine("LBA 45000 sense is {0}, buffer is {1}, sense buffer is {2}.", lba45000Result,
|
||||
AaruConsole.WriteLine(Localization.LBA_45000_sense_is_0_buffer_is_1_sense_buffer_is_2, lba45000Result,
|
||||
lba45000Buffer is null
|
||||
? "null"
|
||||
? Localization._null
|
||||
: ArrayHelpers.ArrayIsNullOrEmpty(lba45000Buffer)
|
||||
? "empty"
|
||||
: $"{lba45000Buffer.Length} bytes", lba45000Sense is null
|
||||
? "null"
|
||||
: ArrayHelpers.
|
||||
ArrayIsNullOrEmpty(lba45000Sense)
|
||||
? "empty"
|
||||
: $"{lba45000Sense.Length}");
|
||||
? Localization.empty
|
||||
: string.Format(Localization._0_bytes, lba45000Buffer.Length),
|
||||
lba45000Sense is null
|
||||
? Localization._null
|
||||
: ArrayHelpers.ArrayIsNullOrEmpty(lba45000Sense)
|
||||
? Localization.empty
|
||||
: $"{lba45000Sense.Length}");
|
||||
|
||||
AaruConsole.WriteLine("LBA 50000 sense is {0}, buffer is {1}, sense buffer is {2}.", lba50000Result,
|
||||
AaruConsole.WriteLine(Localization.LBA_50000_sense_is_0_buffer_is_1_sense_buffer_is_2, lba50000Result,
|
||||
lba50000Buffer is null
|
||||
? "null"
|
||||
? Localization._null
|
||||
: ArrayHelpers.ArrayIsNullOrEmpty(lba50000Buffer)
|
||||
? "empty"
|
||||
: $"{lba50000Buffer.Length} bytes", lba50000Sense is null
|
||||
? "null"
|
||||
: ArrayHelpers.
|
||||
ArrayIsNullOrEmpty(lba50000Sense)
|
||||
? "empty"
|
||||
: $"{lba50000Sense.Length}");
|
||||
? Localization.empty
|
||||
: string.Format(Localization._0_bytes, lba50000Buffer.Length),
|
||||
lba50000Sense is null
|
||||
? Localization._null
|
||||
: ArrayHelpers.ArrayIsNullOrEmpty(lba50000Sense)
|
||||
? Localization.empty
|
||||
: $"{lba50000Sense.Length}");
|
||||
|
||||
AaruConsole.WriteLine("LBA 100000 sense is {0}, buffer is {1}, sense buffer is {2}.", lba100000Result,
|
||||
AaruConsole.WriteLine(Localization.LBA_100000_sense_is_0_buffer_is_1_sense_buffer_is_2, lba100000Result,
|
||||
lba100000Buffer is null
|
||||
? "null"
|
||||
? Localization._null
|
||||
: ArrayHelpers.ArrayIsNullOrEmpty(lba100000Buffer)
|
||||
? "empty"
|
||||
: $"{lba100000Buffer.Length} bytes", lba100000Sense is null
|
||||
? "null"
|
||||
: ArrayHelpers.
|
||||
ArrayIsNullOrEmpty(lba100000Sense)
|
||||
? "empty"
|
||||
: $"{lba100000Sense.Length}");
|
||||
? Localization.empty
|
||||
: string.Format(Localization._0_bytes, lba100000Buffer.Length),
|
||||
lba100000Sense is null
|
||||
? Localization._null
|
||||
: ArrayHelpers.ArrayIsNullOrEmpty(lba100000Sense)
|
||||
? Localization.empty
|
||||
: $"{lba100000Sense.Length}");
|
||||
|
||||
AaruConsole.WriteLine("LBA 400000 sense is {0}, buffer is {1}, sense buffer is {2}.", lba400000Result,
|
||||
AaruConsole.WriteLine(Localization.LBA_400000_sense_is_0_buffer_is_1_sense_buffer_is_2, lba400000Result,
|
||||
lba400000Buffer is null
|
||||
? "null"
|
||||
? Localization._null
|
||||
: ArrayHelpers.ArrayIsNullOrEmpty(lba400000Buffer)
|
||||
? "empty"
|
||||
: $"{lba400000Buffer.Length} bytes", lba400000Sense is null
|
||||
? "null"
|
||||
: ArrayHelpers.
|
||||
ArrayIsNullOrEmpty(lba400000Sense)
|
||||
? "empty"
|
||||
: $"{lba400000Sense.Length}");
|
||||
? Localization.empty
|
||||
: string.Format(Localization._0_bytes, lba400000Buffer.Length),
|
||||
lba400000Sense is null
|
||||
? Localization._null
|
||||
: ArrayHelpers.ArrayIsNullOrEmpty(lba400000Sense)
|
||||
? Localization.empty
|
||||
: $"{lba400000Sense.Length}");
|
||||
|
||||
AaruConsole.WriteLine("LBA 450000 sense is {0}, buffer is {1}, sense buffer is {2}.", lba450000Result,
|
||||
AaruConsole.WriteLine(Localization.LBA_450000_sense_is_0_buffer_is_1_sense_buffer_is_2, lba450000Result,
|
||||
lba450000Buffer is null
|
||||
? "null"
|
||||
? Localization._null
|
||||
: ArrayHelpers.ArrayIsNullOrEmpty(lba450000Buffer)
|
||||
? "empty"
|
||||
: $"{lba450000Buffer.Length} bytes", lba450000Sense is null
|
||||
? "null"
|
||||
: ArrayHelpers.
|
||||
ArrayIsNullOrEmpty(lba450000Sense)
|
||||
? "empty"
|
||||
: $"{lba450000Sense.Length}");
|
||||
? Localization.empty
|
||||
: string.Format(Localization._0_bytes, lba450000Buffer.Length),
|
||||
lba450000Sense is null
|
||||
? Localization._null
|
||||
: ArrayHelpers.ArrayIsNullOrEmpty(lba450000Sense)
|
||||
? Localization.empty
|
||||
: $"{lba450000Sense.Length}");
|
||||
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print LBA 0 buffer.");
|
||||
AaruConsole.WriteLine("2.- Print LBA 0 sense buffer.");
|
||||
AaruConsole.WriteLine("3.- Decode LBA 0 sense buffer.");
|
||||
AaruConsole.WriteLine("4.- Print LBA 0 (scrambled) buffer.");
|
||||
AaruConsole.WriteLine("5.- Print LBA 0 (scrambled) sense buffer.");
|
||||
AaruConsole.WriteLine("6.- Decode LBA 0 (scrambled) sense buffer.");
|
||||
AaruConsole.WriteLine("7.- Print LBA 44990 buffer.");
|
||||
AaruConsole.WriteLine("8.- Print LBA 44990 sense buffer.");
|
||||
AaruConsole.WriteLine("9.- Decode LBA 44990 sense buffer.");
|
||||
AaruConsole.WriteLine("10.- Print LBA 45000 buffer.");
|
||||
AaruConsole.WriteLine("11.- Print LBA 45000 sense buffer.");
|
||||
AaruConsole.WriteLine("12.- Decode LBA 45000 sense buffer.");
|
||||
AaruConsole.WriteLine("13.- Print LBA 50000 buffer.");
|
||||
AaruConsole.WriteLine("14.- Print LBA 50000 sense buffer.");
|
||||
AaruConsole.WriteLine("15.- Decode LBA 50000 sense buffer.");
|
||||
AaruConsole.WriteLine("16.- Print LBA 100000 buffer.");
|
||||
AaruConsole.WriteLine("17.- Print LBA 100000 sense buffer.");
|
||||
AaruConsole.WriteLine("18.- Decode LBA 100000 sense buffer.");
|
||||
AaruConsole.WriteLine("19.- Print LBA 400000 buffer.");
|
||||
AaruConsole.WriteLine("20.- Print LBA 400000 sense buffer.");
|
||||
AaruConsole.WriteLine("21.- Decode LBA 400000 sense buffer.");
|
||||
AaruConsole.WriteLine("22.- Print LBA 450000 buffer.");
|
||||
AaruConsole.WriteLine("23.- Print LBA 450000 sense buffer.");
|
||||
AaruConsole.WriteLine("24.- Decode LBA 450000 sense buffer.");
|
||||
AaruConsole.WriteLine("25.- Send command again.");
|
||||
AaruConsole.WriteLine("0.- Return to special SCSI MultiMedia Commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Print_LBA_zero_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Print_LBA_zero_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._3_Decode_LBA_zero_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._4_Print_LBA_zero_scrambled_buffer);
|
||||
AaruConsole.WriteLine(Localization._5_Print_LBA_zero_scrambled_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._6_Decode_LBA_zero_scrambled_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._7_Print_LBA_44990_buffer);
|
||||
AaruConsole.WriteLine(Localization._8_Print_LBA_44990_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._9_Decode_LBA_44990_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._10_Print_LBA_45000_buffer);
|
||||
AaruConsole.WriteLine(Localization._11_Print_LBA_45000_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._12_Decode_LBA_45000_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._13_Print_LBA_50000_buffer);
|
||||
AaruConsole.WriteLine(Localization._14_Print_LBA_50000_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._15_Decode_LBA_50000_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._16_Print_LBA_100000_buffer);
|
||||
AaruConsole.WriteLine(Localization._17_Print_LBA_100000_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._18_Decode_LBA_100000_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._19_Print_LBA_400000_buffer);
|
||||
AaruConsole.WriteLine(Localization._20_Print_LBA_400000_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._21_Decode_LBA_400000_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._22_Print_LBA_450000_buffer);
|
||||
AaruConsole.WriteLine(Localization._23_Print_LBA_450000_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._24_Decode_LBA_450000_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._25_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization.Return_to_special_SCSI_MultiMedia_Commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -419,276 +422,276 @@ static partial class ScsiMmc
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to special SCSI MultiMedia Commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_special_SCSI_MultiMedia_Commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA 0 response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_zero_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(lba0Buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA 0 sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_zero_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(lba0Sense, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 3:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA 0 decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_zero_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(lba0Sense));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 4:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA 0 (scrambled) response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_zero_scrambled_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(lba0ScrambledBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 5:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA 0 (scrambled) sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_zero_scrambled_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(lba0ScrambledSense, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 6:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA 0 (scrambled) decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_zero_scrambled_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(lba0ScrambledSense));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 7:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA 44990 response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_44990_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(lba44990Buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 8:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA 44990 sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_44990_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(lba44990Sense, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 9:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA 44990 decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_44990_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(lba44990Sense));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 10:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA 45000 response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_45000_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(lba45000Buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 11:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA 45000 sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_45000_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(lba45000Sense, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 12:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA 45000 decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_45000_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(lba45000Sense));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 13:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA 50000 response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_50000_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(lba50000Buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 14:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA 50000 sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_50000_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(lba50000Sense, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 15:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA 50000 decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_50000_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(lba50000Sense));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 16:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA 100000 response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_100000_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(lba100000Buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 17:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA 100000 sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_100000_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(lba100000Sense, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 18:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA 100000 decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_100000_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(lba100000Sense));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 19:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA 400000 response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_400000_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(lba400000Buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 20:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA 400000 sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_400000_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(lba400000Sense, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 21:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA 400000 decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_400000_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(lba400000Sense));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 22:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA 450000 response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_450000_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(lba450000Buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 23:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA 450000 sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_450000_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(lba450000Sense, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 24:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA 450000 decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_450000_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(lba450000Sense));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 25: goto start;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
|
||||
@@ -19,16 +19,16 @@ static partial class ScsiMmc
|
||||
start:
|
||||
System.Console.Clear();
|
||||
|
||||
AaruConsole.WriteLine("Ejecting disc...");
|
||||
AaruConsole.WriteLine(Localization.Ejecting_disc);
|
||||
|
||||
dev.AllowMediumRemoval(out _, dev.Timeout, out _);
|
||||
dev.EjectTray(out _, dev.Timeout, out _);
|
||||
|
||||
AaruConsole.WriteLine("Please insert a data only disc inside...");
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Please_insert_a_data_only_disc_inside);
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadLine();
|
||||
|
||||
AaruConsole.WriteLine("Sending READ FULL TOC to the device...");
|
||||
AaruConsole.WriteLine(Localization.Sending_READ_FULL_TOC_to_the_device);
|
||||
|
||||
int retries = 0;
|
||||
|
||||
@@ -55,9 +55,9 @@ static partial class ScsiMmc
|
||||
|
||||
if(sense)
|
||||
{
|
||||
AaruConsole.WriteLine("READ FULL TOC failed...");
|
||||
AaruConsole.WriteLine(Localization.READ_FULL_TOC_failed);
|
||||
AaruConsole.WriteLine("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadLine();
|
||||
|
||||
return;
|
||||
@@ -67,8 +67,8 @@ static partial class ScsiMmc
|
||||
|
||||
if(decodedToc is null)
|
||||
{
|
||||
AaruConsole.WriteLine("Could not decode TOC...");
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Could_not_decode_TOC);
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadLine();
|
||||
|
||||
return;
|
||||
@@ -80,8 +80,8 @@ static partial class ScsiMmc
|
||||
|
||||
if(leadOutTrack.POINT != 0xA2)
|
||||
{
|
||||
AaruConsole.WriteLine("Cannot find lead-out...");
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Cannot_find_lead_out);
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadLine();
|
||||
|
||||
return;
|
||||
@@ -93,18 +93,18 @@ static partial class ScsiMmc
|
||||
|
||||
int sectors = (min * 60 * 75) + (sec * 75) + frame - 150;
|
||||
|
||||
AaruConsole.WriteLine("Data disc shows {0} sectors...", sectors);
|
||||
AaruConsole.WriteLine(Localization.Data_disc_shows_0_sectors, sectors);
|
||||
|
||||
AaruConsole.WriteLine("Ejecting disc...");
|
||||
AaruConsole.WriteLine(Localization.Ejecting_disc);
|
||||
|
||||
dev.AllowMediumRemoval(out _, dev.Timeout, out _);
|
||||
dev.EjectTray(out _, dev.Timeout, out _);
|
||||
|
||||
AaruConsole.WriteLine("Please insert the trap disc inside...");
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Please_insert_the_trap_disc_inside);
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadLine();
|
||||
|
||||
AaruConsole.WriteLine("Sending READ FULL TOC to the device...");
|
||||
AaruConsole.WriteLine(Localization.Sending_READ_FULL_TOC_to_the_device);
|
||||
|
||||
retries = 0;
|
||||
|
||||
@@ -131,9 +131,9 @@ static partial class ScsiMmc
|
||||
|
||||
if(sense)
|
||||
{
|
||||
AaruConsole.WriteLine("READ FULL TOC failed...");
|
||||
AaruConsole.WriteLine(Localization.READ_FULL_TOC_failed);
|
||||
AaruConsole.WriteLine("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadLine();
|
||||
|
||||
return;
|
||||
@@ -143,8 +143,8 @@ static partial class ScsiMmc
|
||||
|
||||
if(decodedToc is null)
|
||||
{
|
||||
AaruConsole.WriteLine("Could not decode TOC...");
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Could_not_decode_TOC);
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadLine();
|
||||
|
||||
return;
|
||||
@@ -156,8 +156,8 @@ static partial class ScsiMmc
|
||||
|
||||
if(leadOutTrack.POINT != 0xA2)
|
||||
{
|
||||
AaruConsole.WriteLine("Cannot find lead-out...");
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Cannot_find_lead_out);
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadLine();
|
||||
|
||||
return;
|
||||
@@ -193,29 +193,29 @@ static partial class ScsiMmc
|
||||
|
||||
int trapSectors = (min * 60 * 75) + (sec * 75) + frame - 150;
|
||||
|
||||
AaruConsole.WriteLine("Trap disc shows {0} sectors...", trapSectors);
|
||||
AaruConsole.WriteLine(Localization.Trap_disc_shows_0_sectors, trapSectors);
|
||||
|
||||
if(trapSectors < sectors + 100)
|
||||
{
|
||||
AaruConsole.WriteLine("Trap disc doesn't have enough sectors...");
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Trap_disc_doesnt_have_enough_sectors);
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadLine();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
AaruConsole.WriteLine("Stopping motor...");
|
||||
AaruConsole.WriteLine(Localization.Stopping_motor);
|
||||
|
||||
dev.StopUnit(out _, dev.Timeout, out _);
|
||||
|
||||
AaruConsole.WriteLine("Please MANUALLY get the trap disc out and put the data disc back inside...");
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Please_MANUALLY_get_the_trap_disc_out_and_put_the_data_disc_back_inside);
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadLine();
|
||||
|
||||
AaruConsole.WriteLine("Waiting 5 seconds...");
|
||||
AaruConsole.WriteLine(Localization.Waiting_5_seconds);
|
||||
Thread.Sleep(5000);
|
||||
|
||||
AaruConsole.WriteLine("Sending READ FULL TOC to the device...");
|
||||
AaruConsole.WriteLine(Localization.Sending_READ_FULL_TOC_to_the_device);
|
||||
|
||||
retries = 0;
|
||||
|
||||
@@ -238,9 +238,9 @@ static partial class ScsiMmc
|
||||
|
||||
if(sense)
|
||||
{
|
||||
AaruConsole.WriteLine("READ FULL TOC failed...");
|
||||
AaruConsole.WriteLine(Localization.READ_FULL_TOC_failed);
|
||||
AaruConsole.WriteLine("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadLine();
|
||||
|
||||
return;
|
||||
@@ -250,8 +250,8 @@ static partial class ScsiMmc
|
||||
|
||||
if(decodedToc is null)
|
||||
{
|
||||
AaruConsole.WriteLine("Could not decode TOC...");
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Could_not_decode_TOC);
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadLine();
|
||||
|
||||
return;
|
||||
@@ -263,8 +263,8 @@ static partial class ScsiMmc
|
||||
|
||||
if(newLeadOutTrack.POINT != 0xA2)
|
||||
{
|
||||
AaruConsole.WriteLine("Cannot find lead-out...");
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Cannot_find_lead_out);
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadLine();
|
||||
|
||||
return;
|
||||
@@ -278,30 +278,30 @@ static partial class ScsiMmc
|
||||
newLeadOutTrack.PSEC != leadOutTrack.PSEC ||
|
||||
newLeadOutTrack.PFRAME != leadOutTrack.PFRAME)
|
||||
{
|
||||
AaruConsole.WriteLine("Lead-out has changed, this drive does not support hot swapping discs...");
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Lead_out_has_changed_this_drive_does_not_support_hot_swapping_discs);
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadLine();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
AaruConsole.Write("Reading LBA {0}... ", sectors + 5);
|
||||
AaruConsole.Write(Localization.Reading_LBA_0, sectors + 5);
|
||||
|
||||
bool dataResult = dev.ReadCd(out byte[] dataBuffer, out byte[] dataSense, (uint)(sectors + 5), 2352, 1,
|
||||
MmcSectorTypes.AllTypes, false, false, true, MmcHeaderCodes.AllHeaders, true, true,
|
||||
MmcErrorField.None, MmcSubchannel.None, dev.Timeout, out _);
|
||||
|
||||
AaruConsole.WriteLine(dataResult ? "FAIL!" : "Success!");
|
||||
AaruConsole.WriteLine(dataResult ? Localization.FAIL : Localization.Success);
|
||||
|
||||
AaruConsole.Write("Reading LBA {0} as audio (scrambled)... ", sectors + 5);
|
||||
AaruConsole.Write(Localization.Reading_LBA_0_as_audio_scrambled, sectors + 5);
|
||||
|
||||
bool scrambledResult = dev.ReadCd(out byte[] scrambledBuffer, out byte[] scrambledSense, (uint)(sectors + 5),
|
||||
2352, 1, MmcSectorTypes.Cdda, false, false, false, MmcHeaderCodes.None, true,
|
||||
false, MmcErrorField.None, MmcSubchannel.None, dev.Timeout, out _);
|
||||
|
||||
AaruConsole.WriteLine(scrambledResult ? "FAIL!" : "Success!");
|
||||
AaruConsole.WriteLine(scrambledResult ? Localization.FAIL : Localization.Success);
|
||||
|
||||
AaruConsole.Write("Reading LBA {0}'s PQ subchannel... ", sectors + 5);
|
||||
AaruConsole.Write(Localization.Reading_LBA_0_PQ_subchannel, sectors + 5);
|
||||
|
||||
bool pqResult = dev.ReadCd(out byte[] pqBuffer, out byte[] pqSense, (uint)(sectors + 5), 16, 1,
|
||||
MmcSectorTypes.AllTypes, false, false, false, MmcHeaderCodes.None, false, false,
|
||||
@@ -312,9 +312,9 @@ static partial class ScsiMmc
|
||||
false, false, MmcHeaderCodes.None, false, false, MmcErrorField.None,
|
||||
MmcSubchannel.Q16, dev.Timeout, out _);
|
||||
|
||||
AaruConsole.WriteLine(pqResult ? "FAIL!" : "Success!");
|
||||
AaruConsole.WriteLine(pqResult ? Localization.FAIL : Localization.Success);
|
||||
|
||||
AaruConsole.Write("Reading LBA {0}'s PQ subchannel... ", sectors + 5);
|
||||
AaruConsole.Write(Localization.Reading_LBA_0_RW_subchannel, sectors + 5);
|
||||
|
||||
bool rwResult = dev.ReadCd(out byte[] rwBuffer, out byte[] rwSense, (uint)(sectors + 5), 16, 1,
|
||||
MmcSectorTypes.AllTypes, false, false, false, MmcHeaderCodes.None, false, false,
|
||||
@@ -325,80 +325,83 @@ static partial class ScsiMmc
|
||||
false, false, MmcHeaderCodes.None, false, false, MmcErrorField.None, MmcSubchannel.Rw,
|
||||
dev.Timeout, out _);
|
||||
|
||||
AaruConsole.WriteLine(pqResult ? "FAIL!" : "Success!");
|
||||
AaruConsole.WriteLine(pqResult ? Localization.FAIL : Localization.Success);
|
||||
|
||||
menu:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Device {0} read Lead-Out.", dataResult && scrambledResult ? "cannot" : "can");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
AaruConsole.WriteLine("LBA {0} sense is {1}, buffer is {2}, sense buffer is {3}.", sectors + 5, dataResult,
|
||||
AaruConsole.WriteLine(dataResult && scrambledResult ? Localization.Device_cannot_read_Lead_Out
|
||||
: Localization.Device_can_read_Lead_Out);
|
||||
|
||||
AaruConsole.WriteLine(Localization.LBA_0_sense_is_1_buffer_is_2_sense_buffer_is_3, sectors + 5, dataResult,
|
||||
dataBuffer is null
|
||||
? "null"
|
||||
? Localization._null
|
||||
: ArrayHelpers.ArrayIsNullOrEmpty(dataBuffer)
|
||||
? "empty"
|
||||
: $"{dataBuffer.Length} bytes", dataSense is null
|
||||
? "null"
|
||||
: ArrayHelpers.ArrayIsNullOrEmpty(dataSense)
|
||||
? "empty"
|
||||
: $"{dataSense.Length}");
|
||||
? Localization.empty
|
||||
: string.Format(Localization._0_bytes, dataBuffer.Length), dataSense is null
|
||||
? Localization._null
|
||||
: ArrayHelpers.ArrayIsNullOrEmpty(dataSense)
|
||||
? Localization.empty
|
||||
: $"{dataSense.Length}");
|
||||
|
||||
AaruConsole.WriteLine("LBA {0} (scrambled) sense is {1}, buffer is {2}, sense buffer is {3}.", sectors + 5,
|
||||
AaruConsole.WriteLine(Localization.LBA_0_scrambled_sense_is_1_buffer_is_2_sense_buffer_is_3, sectors + 5,
|
||||
scrambledResult, scrambledBuffer is null
|
||||
? "null"
|
||||
? Localization._null
|
||||
: ArrayHelpers.ArrayIsNullOrEmpty(scrambledBuffer)
|
||||
? "empty"
|
||||
: $"{scrambledBuffer.Length} bytes", scrambledSense is null
|
||||
? "null"
|
||||
? Localization.empty
|
||||
: string.Format(Localization._0_bytes, scrambledBuffer.Length),
|
||||
scrambledSense is null
|
||||
? Localization._null
|
||||
: ArrayHelpers.ArrayIsNullOrEmpty(scrambledSense)
|
||||
? "empty"
|
||||
? Localization.empty
|
||||
: $"{scrambledSense.Length}");
|
||||
|
||||
AaruConsole.WriteLine("LBA {0}'s PQ sense is {1}, buffer is {2}, sense buffer is {3}.", sectors + 5, pqResult,
|
||||
AaruConsole.WriteLine(Localization.LBA_0_PQ_sense_is_1_buffer_is_2_sense_buffer_is_3, sectors + 5, pqResult,
|
||||
pqBuffer is null
|
||||
? "null"
|
||||
? Localization._null
|
||||
: ArrayHelpers.ArrayIsNullOrEmpty(pqBuffer)
|
||||
? "empty"
|
||||
: $"{pqBuffer.Length} bytes", pqSense is null
|
||||
? "null"
|
||||
: ArrayHelpers.ArrayIsNullOrEmpty(pqSense)
|
||||
? "empty"
|
||||
: $"{pqSense.Length}");
|
||||
? Localization.empty
|
||||
: string.Format(Localization._0_bytes, pqBuffer.Length), pqSense is null
|
||||
? Localization._null
|
||||
: ArrayHelpers.ArrayIsNullOrEmpty(pqSense)
|
||||
? Localization.empty
|
||||
: $"{pqSense.Length}");
|
||||
|
||||
AaruConsole.WriteLine("LBA {0}'s RW sense is {1}, buffer is {2}, sense buffer is {3}.", sectors + 5, rwResult,
|
||||
AaruConsole.WriteLine(Localization.LBA_0_RW_sense_is_1_buffer_is_2_sense_buffer_is_3, sectors + 5, rwResult,
|
||||
rwBuffer is null
|
||||
? "null"
|
||||
? Localization._null
|
||||
: ArrayHelpers.ArrayIsNullOrEmpty(rwBuffer)
|
||||
? "empty"
|
||||
: $"{rwBuffer.Length} bytes", rwSense is null
|
||||
? "null"
|
||||
: ArrayHelpers.ArrayIsNullOrEmpty(rwSense)
|
||||
? "empty"
|
||||
: $"{rwSense.Length}");
|
||||
? Localization.empty
|
||||
: string.Format(Localization._0_bytes, rwBuffer.Length), rwSense is null
|
||||
? Localization._null
|
||||
: ArrayHelpers.ArrayIsNullOrEmpty(rwSense)
|
||||
? Localization.empty
|
||||
: $"{rwSense.Length}");
|
||||
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print LBA {0} buffer.", sectors + 5);
|
||||
AaruConsole.WriteLine("2.- Print LBA {0} sense buffer.", sectors + 5);
|
||||
AaruConsole.WriteLine("3.- Decode LBA {0} sense buffer.", sectors + 5);
|
||||
AaruConsole.WriteLine("4.- Print LBA {0} (scrambled) buffer.", sectors + 5);
|
||||
AaruConsole.WriteLine("5.- Print LBA {0} (scrambled) sense buffer.", sectors + 5);
|
||||
AaruConsole.WriteLine("6.- Decode LBA {0} (scrambled) sense buffer.", sectors + 5);
|
||||
AaruConsole.WriteLine("7.- Print LBA {0}'s PQ buffer.", sectors + 5);
|
||||
AaruConsole.WriteLine("8.- Print LBA {0}'s PQ sense buffer.", sectors + 5);
|
||||
AaruConsole.WriteLine("9.- Decode LBA {0}'s PQ sense buffer.", sectors + 5);
|
||||
AaruConsole.WriteLine("10.- Print LBA {0}'s RW buffer.", sectors + 5);
|
||||
AaruConsole.WriteLine("11.- Print LBA {0}'s RW sense buffer.", sectors + 5);
|
||||
AaruConsole.WriteLine("12.- Decode LBA {0}'s RW sense buffer.", sectors + 5);
|
||||
AaruConsole.WriteLine("13.- Send command again.");
|
||||
AaruConsole.WriteLine("0.- Return to special SCSI MultiMedia Commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Print_LBA_0_buffer, sectors + 5);
|
||||
AaruConsole.WriteLine(Localization._2_Print_LBA_0_sense_buffer, sectors + 5);
|
||||
AaruConsole.WriteLine(Localization._3_Decode_LBA_0_sense_buffer, sectors + 5);
|
||||
AaruConsole.WriteLine(Localization._4_Print_LBA_0_scrambled_buffer, sectors + 5);
|
||||
AaruConsole.WriteLine(Localization._5_Print_LBA_0_scrambled_sense_buffer, sectors + 5);
|
||||
AaruConsole.WriteLine(Localization._6_Decode_LBA_0_scrambled_sense_buffer, sectors + 5);
|
||||
AaruConsole.WriteLine(Localization._7_Print_LBA_0_PQ_buffer, sectors + 5);
|
||||
AaruConsole.WriteLine(Localization._8_Print_LBA_0_PQ_sense_buffer, sectors + 5);
|
||||
AaruConsole.WriteLine(Localization._9_Decode_LBA_0_PQ_sense_buffer, sectors + 5);
|
||||
AaruConsole.WriteLine(Localization._10_Print_LBA_0_RW_buffer, sectors + 5);
|
||||
AaruConsole.WriteLine(Localization._11_Print_LBA_0_RW_sense_buffer, sectors + 5);
|
||||
AaruConsole.WriteLine(Localization._12_Decode_LBA_0_RW_sense_buffer, sectors + 5);
|
||||
AaruConsole.WriteLine(Localization._13_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization.Return_to_special_SCSI_MultiMedia_Commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -408,144 +411,144 @@ static partial class ScsiMmc
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to special SCSI MultiMedia Commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_special_SCSI_MultiMedia_Commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA {0} response:", sectors + 5);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_0_response, sectors + 5);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(dataBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA {0} sense:", sectors + 5);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_0_sense, sectors + 5);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(dataSense, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 3:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA {0} decoded sense:", sectors + 5);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_0_decoded_sense, sectors + 5);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(dataSense));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 4:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA {0} (scrambled) response:", sectors + 5);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_0_scrambled_response, sectors + 5);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(scrambledBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 5:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA {0} (scrambled) sense:", sectors + 5);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_0_scrambled_sense, sectors + 5);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(scrambledSense, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 6:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA {0} (scrambled) decoded sense:", sectors + 5);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_0_scrambled_decoded_sense, sectors + 5);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(scrambledSense));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 7:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA's PQ {0} response:", sectors + 5);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_PQ_0_response, sectors + 5);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(pqBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 8:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA's PQ {0} sense:", sectors + 5);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_PQ_0_sense, sectors + 5);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(pqSense, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 9:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA's PQ {0} decoded sense:", sectors + 5);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_PQ_decoded_sense, sectors + 5);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(pqSense));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 10:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA's RW {0} response:", sectors + 5);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_RW_0_response, sectors + 5);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(rwBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 11:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA's RW {0} sense:", sectors + 5);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_RW_0_sense, sectors + 5);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(rwSense, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 12:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("LBA's RW {0} decoded sense:", sectors + 5);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.LBA_RW_0_decoded_sense, sectors + 5);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(rwSense));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
goto menu;
|
||||
case 13: goto start;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
|
||||
@@ -18,20 +18,20 @@ static partial class ScsiMmc
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for MediaTek READ CACHE command:");
|
||||
AaruConsole.WriteLine("LBA: {0}", address);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Parameters_for_MediaTek_READ_CACHE_command);
|
||||
AaruConsole.WriteLine(Localization.LBA_0, address);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to special SCSI MultiMedia Commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_special_SCSI_MultiMedia_Commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -40,16 +40,16 @@ static partial class ScsiMmc
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to special SCSI MultiMedia Commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_special_SCSI_MultiMedia_Commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("LBA?: ");
|
||||
AaruConsole.Write(Localization.LBA_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!uint.TryParse(strDev, out address))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
address = 0;
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
@@ -62,42 +62,47 @@ static partial class ScsiMmc
|
||||
start:
|
||||
System.Console.Clear();
|
||||
|
||||
AaruConsole.WriteLine("Sending READ CD to the device...");
|
||||
AaruConsole.WriteLine(Localization.Sending_READ_CD_to_the_device);
|
||||
|
||||
bool sense = dev.ReadCd(out byte[] buffer, out byte[] senseBuffer, address, 2352, 1, MmcSectorTypes.AllTypes,
|
||||
false, false, true, MmcHeaderCodes.AllHeaders, true, true, MmcErrorField.None,
|
||||
MmcSubchannel.None, dev.Timeout, out double duration);
|
||||
|
||||
if(sense)
|
||||
AaruConsole.WriteLine("READ CD failed...");
|
||||
AaruConsole.WriteLine(Localization.READ_CD_failed);
|
||||
|
||||
AaruConsole.WriteLine("Sending MediaTek READ DRAM to the device...");
|
||||
AaruConsole.WriteLine(Localization.Sending_MediaTek_READ_DRAM_to_the_device);
|
||||
sense = dev.MediaTekReadDram(out buffer, out senseBuffer, 0, 0xB00, dev.Timeout, out duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("System error status is {0} and error number is {1}.", dev.Error, dev.LastError);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine("Sense buffer is {0} bytes.", senseBuffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Sense buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.System_error_status_is_0_and_error_number_is_1, dev.Error, dev.LastError);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_0_bytes,
|
||||
senseBuffer?.Length.ToString() ?? Localization._null);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Sense_buffer_is_null_or_empty_0,
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Print sense buffer.");
|
||||
AaruConsole.WriteLine("3.- Decode sense buffer.");
|
||||
AaruConsole.WriteLine("4.- Send command again.");
|
||||
AaruConsole.WriteLine("5.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to special SCSI MultiMedia Commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Print_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._3_Decode_sense_buffer);
|
||||
AaruConsole.WriteLine(Localization._4_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._5_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_special_SCSI_MultiMedia_Commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -107,52 +112,52 @@ static partial class ScsiMmc
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to special SCSI MultiMedia Commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_special_SCSI_MultiMedia_Commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("MediaTek's READ CACHE response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.MediaTek_READ_CACHE_response);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("MediaTek's READ CACHE sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.MediaTek_READ_CACHE_sense);
|
||||
|
||||
if(senseBuffer != null)
|
||||
PrintHex.PrintHexArray(senseBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("MediaTek's READ CACHE decoded sense:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.MediaTek_READ_CACHE_decoded_sense);
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 4: goto start;
|
||||
case 5: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
|
||||
@@ -38,23 +38,23 @@ static partial class ScsiMmc
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Send a special SCSI MultiMedia command to the device:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Send_a_special_SCSI_MultiMedia_command_to_the_device);
|
||||
|
||||
AaruConsole.
|
||||
WriteLine("1.- Try to read the cache data from a device with a MediaTek chipset (F1h command 06h subcommand).");
|
||||
AaruConsole.WriteLine(Localization.
|
||||
Try_to_read_the_cache_data_from_a_device_with_a_MediaTek_chipset_F1h_command_06h_subcommand);
|
||||
|
||||
AaruConsole.WriteLine("2.- Try to read a GD-ROM using a trap disc.");
|
||||
AaruConsole.WriteLine("3.- Try to read Lead-Out using a trap disc.");
|
||||
AaruConsole.WriteLine(Localization.Try_to_read_a_GD_ROM_using_a_trap_disc);
|
||||
AaruConsole.WriteLine(Localization.Try_to_read_Lead_Out_using_a_trap_disc);
|
||||
|
||||
AaruConsole.WriteLine("0.- Return to command class menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Return_to_command_class_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -63,7 +63,7 @@ static partial class ScsiMmc
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to command class menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_command_class_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
@@ -79,7 +79,7 @@ static partial class ScsiMmc
|
||||
|
||||
continue;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
|
||||
@@ -39,18 +39,18 @@ static partial class MainClass
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Send an SecureDigital/MultiMediaCard command to the device:");
|
||||
AaruConsole.WriteLine("1.- Send a SecureDigital command to the device.");
|
||||
AaruConsole.WriteLine("2.- Send a MultiMediaCard command to the device.");
|
||||
AaruConsole.WriteLine("0.- Return to command class menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Send_an_SecureDigital_MultiMediaCard_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization._1_Send_a_SecureDigital_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization._2_Send_a_MultiMediaCard_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Return_to_command_class_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -59,7 +59,7 @@ static partial class MainClass
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to command class menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_command_class_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
@@ -71,7 +71,7 @@ static partial class MainClass
|
||||
|
||||
continue;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
|
||||
@@ -39,24 +39,24 @@ static class MultiMediaCard
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Send a MultiMediaCard command to the device:");
|
||||
AaruConsole.WriteLine("1.- Send READ_MULTIPLE_BLOCK command.");
|
||||
AaruConsole.WriteLine("2.- Send READ_SINGLE_BLOCK command.");
|
||||
AaruConsole.WriteLine("3.- Send SEND_CID command.");
|
||||
AaruConsole.WriteLine("4.- Send SEND_CSD command.");
|
||||
AaruConsole.WriteLine("5.- Send SEND_EXT_CSD command.");
|
||||
AaruConsole.WriteLine("6.- Send SEND_OP_COND command.");
|
||||
AaruConsole.WriteLine("7.- Send SEND_STATUS command.");
|
||||
AaruConsole.WriteLine("8.- Send SET_BLOCKLEN command.");
|
||||
AaruConsole.WriteLine("0.- Return to SecureDigital/MultiMediaCard commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Send_a_MultiMediaCard_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization._1_Send_READ_MULTIPLE_BLOCK_command);
|
||||
AaruConsole.WriteLine(Localization._2_Send_READ_SINGLE_BLOCK_command);
|
||||
AaruConsole.WriteLine(Localization._3_Send_SEND_CID_command);
|
||||
AaruConsole.WriteLine(Localization._4_Send_SEND_CSD_command);
|
||||
AaruConsole.WriteLine(Localization._5_Send_SEND_EXT_CSD_command);
|
||||
AaruConsole.WriteLine(Localization._6_Send_SEND_OP_COND_command);
|
||||
AaruConsole.WriteLine(Localization._7_Send_SEND_STATUS_command);
|
||||
AaruConsole.WriteLine(Localization._8_Send_SET_BLOCKLEN_command);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SecureDigital_MultiMediaCard_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -65,7 +65,7 @@ static class MultiMediaCard
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to SecureDigital/MultiMediaCard commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SecureDigital_MultiMediaCard_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
@@ -101,7 +101,7 @@ static class MultiMediaCard
|
||||
|
||||
continue;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -123,25 +123,28 @@ static class MultiMediaCard
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for READ_{0}_BLOCK command:", multiple ? "MULTIPLE" : "SINGLE");
|
||||
AaruConsole.WriteLine("Read from {1}: {0}", address, byteAddr ? "byte" : "block");
|
||||
AaruConsole.WriteLine("Expected block size: {0} bytes", blockSize);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
AaruConsole.WriteLine(multiple ? Localization.Parameters_for_READ_MULTIPLE_BLOCK_command
|
||||
: Localization.Parameters_for_READ_SINGLE_BLOCK_command);
|
||||
|
||||
AaruConsole.WriteLine(byteAddr ? Localization.Read_from_byte_0 : Localization.Read_from_block_0, address);
|
||||
AaruConsole.WriteLine(Localization.Expected_block_size_0_bytes, blockSize);
|
||||
|
||||
if(multiple)
|
||||
AaruConsole.WriteLine("Will read {0} blocks", count);
|
||||
AaruConsole.WriteLine(Localization.Will_read_0_blocks, count);
|
||||
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to MultiMediaCard commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_MultiMediaCard_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -150,28 +153,28 @@ static class MultiMediaCard
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to MultiMediaCard commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_MultiMediaCard_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("Use byte addressing?: ");
|
||||
AaruConsole.Write(Localization.Use_byte_addressing_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!bool.TryParse(strDev, out byteAddr))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a boolean. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_boolean_Press_any_key_to_continue);
|
||||
byteAddr = false;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("Read from {0}?: ", byteAddr ? "byte" : "block");
|
||||
AaruConsole.Write(byteAddr ? Localization.Read_from_byte_Q : Localization.Read_from_block_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!uint.TryParse(strDev, out address))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
address = 0;
|
||||
System.Console.ReadKey();
|
||||
|
||||
@@ -180,12 +183,12 @@ static class MultiMediaCard
|
||||
|
||||
if(multiple)
|
||||
{
|
||||
AaruConsole.Write("How many blocks to read?");
|
||||
AaruConsole.Write(Localization.How_many_blocks_to_read_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!ushort.TryParse(strDev, out count))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
count = 1;
|
||||
System.Console.ReadKey();
|
||||
|
||||
@@ -193,12 +196,12 @@ static class MultiMediaCard
|
||||
}
|
||||
}
|
||||
|
||||
AaruConsole.Write("How many bytes to expect in a block?");
|
||||
AaruConsole.Write(Localization.How_many_bytes_to_expect_in_a_block_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!uint.TryParse(strDev, out blockSize))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
blockSize = 512;
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
@@ -215,27 +218,30 @@ static class MultiMediaCard
|
||||
byteAddr, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending READ_{0}_BLOCK to the device:", multiple ? "MULTIPLE" : "SINGLE");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine("Response has {0} elements.", response?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
AaruConsole.WriteLine(multiple ? Localization.Sending_READ_MULTIPLE_BLOCK_to_the_device
|
||||
: Localization.Sending_READ_SINGLE_BLOCK_to_the_device);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine(Localization.Response_has_0_elements, response?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Print response buffer.");
|
||||
AaruConsole.WriteLine("3.- Send command again.");
|
||||
AaruConsole.WriteLine("4.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to MultiMediaCard commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Print_response_buffer);
|
||||
AaruConsole.WriteLine(Localization.Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._4_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_MultiMediaCard_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -245,27 +251,31 @@ static class MultiMediaCard
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to MultiMediaCard commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_MultiMediaCard_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ_{0}_BLOCK buffer:", multiple ? "MULTIPLE" : "SINGLE");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
AaruConsole.WriteLine(multiple ? Localization.READ_MULTIPLE_BLOCK_buffer
|
||||
: Localization.READ_SINGLE_BLOCK_buffer);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ_{0}_BLOCK response:", multiple ? "MULTIPLE" : "SINGLE");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
AaruConsole.WriteLine(multiple ? Localization.READ_MULTIPLE_BLOCK_response
|
||||
: Localization.READ_SINGLE_BLOCK_response);
|
||||
|
||||
if(response != null)
|
||||
{
|
||||
@@ -275,16 +285,16 @@ static class MultiMediaCard
|
||||
AaruConsole.WriteLine();
|
||||
}
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3: goto start;
|
||||
case 4: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -299,27 +309,27 @@ static class MultiMediaCard
|
||||
bool sense = dev.ReadOcr(out byte[] buffer, out uint[] response, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending SEND_OP_COND to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine("Response has {0} elements.", response?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_SEND_OP_COND_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine(Localization.Response_has_0_elements, response?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Decode buffer.");
|
||||
AaruConsole.WriteLine("3.- Print response buffer.");
|
||||
AaruConsole.WriteLine("4.- Send command again.");
|
||||
AaruConsole.WriteLine("0.- Return to MultiMediaCard commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Decode_buffer);
|
||||
AaruConsole.WriteLine(Localization._3_Print_response_buffer);
|
||||
AaruConsole.WriteLine(Localization._4_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization.Return_to_MultiMediaCard_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -329,41 +339,41 @@ static class MultiMediaCard
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to MultiMediaCard commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_MultiMediaCard_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("SEND_OP_COND buffer:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.SEND_OP_COND_buffer);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("SEND_OP_COND decoded buffer:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.SEND_OP_COND_decoded_buffer);
|
||||
|
||||
if(buffer != null)
|
||||
AaruConsole.WriteLine("{0}", Decoders.MMC.Decoders.PrettifyOCR(buffer));
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("SEND_OP_COND response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.SEND_OP_COND_response);
|
||||
|
||||
if(response != null)
|
||||
{
|
||||
@@ -373,15 +383,15 @@ static class MultiMediaCard
|
||||
AaruConsole.WriteLine();
|
||||
}
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 4: goto start;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -396,26 +406,26 @@ static class MultiMediaCard
|
||||
bool sense = dev.ReadSdStatus(out byte[] buffer, out uint[] response, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending SEND_STATUS to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine("Response has {0} elements.", response?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_SEND_STATUS_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine(Localization.Response_has_0_elements, response?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Print response buffer.");
|
||||
AaruConsole.WriteLine("3.- Send command again.");
|
||||
AaruConsole.WriteLine("0.- Return to MultiMediaCard commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Print_response_buffer);
|
||||
AaruConsole.WriteLine(Localization.Send_command_again);
|
||||
AaruConsole.WriteLine(Localization.Return_to_MultiMediaCard_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -425,27 +435,27 @@ static class MultiMediaCard
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to MultiMediaCard commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_MultiMediaCard_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("SEND_STATUS buffer:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.SEND_STATUS_buffer);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("SEND_STATUS response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.SEND_STATUS_response);
|
||||
|
||||
if(response != null)
|
||||
{
|
||||
@@ -455,15 +465,15 @@ static class MultiMediaCard
|
||||
AaruConsole.WriteLine();
|
||||
}
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3: goto start;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -478,27 +488,27 @@ static class MultiMediaCard
|
||||
bool sense = dev.ReadCid(out byte[] buffer, out uint[] response, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending SEND_CID to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine("Response has {0} elements.", response?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_SEND_CID_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine(Localization.Response_has_0_elements, response?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Decode buffer.");
|
||||
AaruConsole.WriteLine("3.- Print response buffer.");
|
||||
AaruConsole.WriteLine("4.- Send command again.");
|
||||
AaruConsole.WriteLine("0.- Return to MultiMediaCard commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Decode_buffer);
|
||||
AaruConsole.WriteLine(Localization._3_Print_response_buffer);
|
||||
AaruConsole.WriteLine(Localization._4_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization.Return_to_MultiMediaCard_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -508,41 +518,41 @@ static class MultiMediaCard
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to MultiMediaCard commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_MultiMediaCard_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("SEND_CID buffer:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.SEND_CID_buffer);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("SEND_CID decoded buffer:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.SEND_CID_decoded_buffer);
|
||||
|
||||
if(buffer != null)
|
||||
AaruConsole.WriteLine("{0}", Decoders.MMC.Decoders.PrettifyCID(buffer));
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("SEND_CID response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.SEND_CID_response);
|
||||
|
||||
if(response != null)
|
||||
{
|
||||
@@ -552,15 +562,15 @@ static class MultiMediaCard
|
||||
AaruConsole.WriteLine();
|
||||
}
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 4: goto start;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -575,27 +585,27 @@ static class MultiMediaCard
|
||||
bool sense = dev.ReadCsd(out byte[] buffer, out uint[] response, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending SEND_CSD to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine("Response has {0} elements.", response?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_SEND_CSD_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine(Localization.Response_has_0_elements, response?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Decode buffer.");
|
||||
AaruConsole.WriteLine("3.- Print response buffer.");
|
||||
AaruConsole.WriteLine("4.- Send command again.");
|
||||
AaruConsole.WriteLine("0.- Return to MultiMediaCard commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Decode_buffer);
|
||||
AaruConsole.WriteLine(Localization._3_Print_response_buffer);
|
||||
AaruConsole.WriteLine(Localization._4_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization.Return_to_MultiMediaCard_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -605,41 +615,41 @@ static class MultiMediaCard
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to MultiMediaCard commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_MultiMediaCard_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("SEND_CSD buffer:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.SEND_CSD_buffer);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("SEND_CSD decoded buffer:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.SEND_CSD_decoded_buffer);
|
||||
|
||||
if(buffer != null)
|
||||
AaruConsole.WriteLine("{0}", Decoders.MMC.Decoders.PrettifyCSD(buffer));
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("SEND_CSD response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.SEND_CSD_response);
|
||||
|
||||
if(response != null)
|
||||
{
|
||||
@@ -649,15 +659,15 @@ static class MultiMediaCard
|
||||
AaruConsole.WriteLine();
|
||||
}
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 4: goto start;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -672,27 +682,27 @@ static class MultiMediaCard
|
||||
bool sense = dev.ReadExtendedCsd(out byte[] buffer, out uint[] response, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending SEND_EXT_CSD to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine("Response has {0} elements.", response?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_SEND_EXT_CSD_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine(Localization.Response_has_0_elements, response?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Decode buffer.");
|
||||
AaruConsole.WriteLine("3.- Print response buffer.");
|
||||
AaruConsole.WriteLine("4.- Send command again.");
|
||||
AaruConsole.WriteLine("0.- Return to MultiMediaCard commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Decode_buffer);
|
||||
AaruConsole.WriteLine(Localization._3_Print_response_buffer);
|
||||
AaruConsole.WriteLine(Localization._4_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization.Return_to_MultiMediaCard_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -702,41 +712,41 @@ static class MultiMediaCard
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to MultiMediaCard commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_MultiMediaCard_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("SEND_EXT_CSD buffer:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.SEND_EXT_CSD_buffer);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("SEND_EXT_CSD decoded buffer:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.SEND_EXT_CSD_decoded_buffer);
|
||||
|
||||
if(buffer != null)
|
||||
AaruConsole.WriteLine("{0}", Decoders.MMC.Decoders.PrettifyExtendedCSD(buffer));
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("SEND_EXT_CSD response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.SEND_EXT_CSD_response);
|
||||
|
||||
if(response != null)
|
||||
{
|
||||
@@ -746,15 +756,15 @@ static class MultiMediaCard
|
||||
AaruConsole.WriteLine();
|
||||
}
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 4: goto start;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -773,20 +783,20 @@ static class MultiMediaCard
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for SET_BLOCKLEN command:");
|
||||
AaruConsole.WriteLine("Set block length to: {0} bytes", blockSize);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Parameters_for_SET_BLOCKLEN_command);
|
||||
AaruConsole.WriteLine(Localization.Set_block_length_to_0_bytes, blockSize);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to MultiMediaCard commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_MultiMediaCard_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -795,16 +805,16 @@ static class MultiMediaCard
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to MultiMediaCard commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_MultiMediaCard_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("Set block length to?");
|
||||
AaruConsole.Write(Localization.Set_block_length_to_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!uint.TryParse(strDev, out blockSize))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
blockSize = 512;
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
@@ -819,12 +829,12 @@ static class MultiMediaCard
|
||||
bool sense = dev.SetBlockLength(blockSize, out uint[] response, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending SET_BLOCKLEN to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Response has {0} elements.", response?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("SET_BLOCKLEN response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_SET_BLOCKLEN_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Response_has_0_elements, response?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.SET_BLOCKLEN_response);
|
||||
|
||||
if(response != null)
|
||||
{
|
||||
@@ -835,17 +845,17 @@ static class MultiMediaCard
|
||||
}
|
||||
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Send command again.");
|
||||
AaruConsole.WriteLine("2.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to MultiMediaCard commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._2_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_MultiMediaCard_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -855,13 +865,13 @@ static class MultiMediaCard
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to MultiMediaCard commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_MultiMediaCard_commands_menu);
|
||||
|
||||
return;
|
||||
case 1: goto start;
|
||||
case 2: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
|
||||
@@ -39,24 +39,24 @@ static class SecureDigital
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Send a SecureDigital command to the device:");
|
||||
AaruConsole.WriteLine("1.- Send READ_MULTIPLE_BLOCK command.");
|
||||
AaruConsole.WriteLine("2.- Send READ_SINGLE_BLOCK command.");
|
||||
AaruConsole.WriteLine("3.- Send SD_SEND_OP_COND command.");
|
||||
AaruConsole.WriteLine("4.- Send SD_STATUS command.");
|
||||
AaruConsole.WriteLine("5.- Send SEND_CID command.");
|
||||
AaruConsole.WriteLine("6.- Send SEND_CSD command.");
|
||||
AaruConsole.WriteLine("7.- Send SEND_SCR command.");
|
||||
AaruConsole.WriteLine("8.- Send SET_BLOCKLEN command.");
|
||||
AaruConsole.WriteLine("0.- Return to SecureDigital/MultiMediaCard commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Send_a_SecureDigital_command_to_the_device);
|
||||
AaruConsole.WriteLine(Localization._1_Send_READ_MULTIPLE_BLOCK_command);
|
||||
AaruConsole.WriteLine(Localization._2_Send_READ_SINGLE_BLOCK_command);
|
||||
AaruConsole.WriteLine(Localization._3_Send_SD_SEND_OP_COND_command);
|
||||
AaruConsole.WriteLine(Localization._4_Send_SD_STATUS_command);
|
||||
AaruConsole.WriteLine(Localization._5_Send_SEND_CID_command);
|
||||
AaruConsole.WriteLine(Localization._6_Send_SEND_CSD_command);
|
||||
AaruConsole.WriteLine(Localization._7_Send_SEND_SCR_command);
|
||||
AaruConsole.WriteLine(Localization._8_Send_SET_BLOCKLEN_command);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SecureDigital_MultiMediaCard_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -65,7 +65,7 @@ static class SecureDigital
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to SecureDigital/MultiMediaCard commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SecureDigital_MultiMediaCard_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
@@ -101,7 +101,7 @@ static class SecureDigital
|
||||
|
||||
continue;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -123,25 +123,28 @@ static class SecureDigital
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for READ_{0}_BLOCK command:", multiple ? "MULTIPLE" : "SINGLE");
|
||||
AaruConsole.WriteLine("Read from {1}: {0}", address, byteAddr ? "byte" : "block");
|
||||
AaruConsole.WriteLine("Expected block size: {0} bytes", blockSize);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
AaruConsole.WriteLine(multiple ? Localization.Parameters_for_READ_MULTIPLE_BLOCK_command
|
||||
: Localization.Parameters_for_READ_SINGLE_BLOCK_command);
|
||||
|
||||
AaruConsole.WriteLine(byteAddr ? Localization.Read_from_byte_0 : Localization.Read_from_block_0, address);
|
||||
AaruConsole.WriteLine(Localization.Expected_block_size_0_bytes, blockSize);
|
||||
|
||||
if(multiple)
|
||||
AaruConsole.WriteLine("Will read {0} blocks", count);
|
||||
AaruConsole.WriteLine(Localization.Will_read_0_blocks, count);
|
||||
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to SecureDigital commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SecureDigital_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -150,28 +153,28 @@ static class SecureDigital
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to SecureDigital commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SecureDigital_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("Use byte addressing?: ");
|
||||
AaruConsole.Write(Localization.Use_byte_addressing_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!bool.TryParse(strDev, out byteAddr))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a boolean. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_boolean_Press_any_key_to_continue);
|
||||
byteAddr = false;
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("Read from {0}?: ", byteAddr ? "byte" : "block");
|
||||
AaruConsole.Write(byteAddr ? Localization.Read_from_byte_Q : Localization.Read_from_block_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!uint.TryParse(strDev, out address))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
address = 0;
|
||||
System.Console.ReadKey();
|
||||
|
||||
@@ -180,12 +183,12 @@ static class SecureDigital
|
||||
|
||||
if(multiple)
|
||||
{
|
||||
AaruConsole.Write("How many blocks to read?");
|
||||
AaruConsole.Write(Localization.How_many_blocks_to_read_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!ushort.TryParse(strDev, out count))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
count = 1;
|
||||
System.Console.ReadKey();
|
||||
|
||||
@@ -193,12 +196,12 @@ static class SecureDigital
|
||||
}
|
||||
}
|
||||
|
||||
AaruConsole.Write("How many bytes to expect in a block?");
|
||||
AaruConsole.Write(Localization.How_many_bytes_to_expect_in_a_block_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!uint.TryParse(strDev, out blockSize))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
blockSize = 512;
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
@@ -215,27 +218,30 @@ static class SecureDigital
|
||||
byteAddr, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending READ_{0}_BLOCK to the device:", multiple ? "MULTIPLE" : "SINGLE");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine("Response has {0} elements.", response?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
AaruConsole.WriteLine(multiple ? Localization.Sending_READ_MULTIPLE_BLOCK_to_the_device
|
||||
: Localization.Sending_READ_SINGLE_BLOCK_to_the_device);
|
||||
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine(Localization.Response_has_0_elements, response?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Print response buffer.");
|
||||
AaruConsole.WriteLine("3.- Send command again.");
|
||||
AaruConsole.WriteLine("4.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to SecureDigital commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Print_response_buffer);
|
||||
AaruConsole.WriteLine(Localization.Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._4_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SecureDigital_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -245,27 +251,31 @@ static class SecureDigital
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to SecureDigital commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SecureDigital_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ_{0}_BLOCK buffer:", multiple ? "MULTIPLE" : "SINGLE");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
AaruConsole.WriteLine(multiple ? Localization.READ_MULTIPLE_BLOCK_buffer
|
||||
: Localization.READ_SINGLE_BLOCK_buffer);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ_{0}_BLOCK response:", multiple ? "MULTIPLE" : "SINGLE");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
AaruConsole.WriteLine(multiple ? Localization.READ_MULTIPLE_BLOCK_response
|
||||
: Localization.READ_SINGLE_BLOCK_response);
|
||||
|
||||
if(response != null)
|
||||
{
|
||||
@@ -275,16 +285,16 @@ static class SecureDigital
|
||||
AaruConsole.WriteLine();
|
||||
}
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3: goto start;
|
||||
case 4: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -299,27 +309,27 @@ static class SecureDigital
|
||||
bool sense = dev.ReadSdocr(out byte[] buffer, out uint[] response, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending SD_SEND_OP_COND to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine("Response has {0} elements.", response?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_SD_SEND_OP_COND_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine(Localization.Response_has_0_elements, response?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Decode buffer.");
|
||||
AaruConsole.WriteLine("3.- Print response buffer.");
|
||||
AaruConsole.WriteLine("4.- Send command again.");
|
||||
AaruConsole.WriteLine("0.- Return to SecureDigital commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Decode_buffer);
|
||||
AaruConsole.WriteLine(Localization._3_Print_response_buffer);
|
||||
AaruConsole.WriteLine(Localization._4_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SecureDigital_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -329,41 +339,41 @@ static class SecureDigital
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to SecureDigital commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SecureDigital_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("SD_SEND_OP_COND buffer:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.SD_SEND_OP_COND_buffer);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("SD_SEND_OP_COND decoded buffer:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.SD_SEND_OP_COND_decoded_buffer);
|
||||
|
||||
if(buffer != null)
|
||||
AaruConsole.WriteLine("{0}", Decoders.SecureDigital.Decoders.PrettifyOCR(buffer));
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("SD_SEND_OP_COND response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.SD_SEND_OP_COND_response);
|
||||
|
||||
if(response != null)
|
||||
{
|
||||
@@ -373,15 +383,15 @@ static class SecureDigital
|
||||
AaruConsole.WriteLine();
|
||||
}
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 4: goto start;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -396,26 +406,26 @@ static class SecureDigital
|
||||
bool sense = dev.ReadSdStatus(out byte[] buffer, out uint[] response, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending SD_STATUS to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine("Response has {0} elements.", response?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_SD_STATUS_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine(Localization.Response_has_0_elements, response?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Print response buffer.");
|
||||
AaruConsole.WriteLine("3.- Send command again.");
|
||||
AaruConsole.WriteLine("0.- Return to SecureDigital commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Print_response_buffer);
|
||||
AaruConsole.WriteLine(Localization.Send_command_again);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SecureDigital_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -425,27 +435,27 @@ static class SecureDigital
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to SecureDigital commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SecureDigital_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("SD_STATUS buffer:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.SD_STATUS_buffer);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("SD_STATUS response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.SD_STATUS_response);
|
||||
|
||||
if(response != null)
|
||||
{
|
||||
@@ -455,15 +465,15 @@ static class SecureDigital
|
||||
AaruConsole.WriteLine();
|
||||
}
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3: goto start;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -478,27 +488,27 @@ static class SecureDigital
|
||||
bool sense = dev.ReadCid(out byte[] buffer, out uint[] response, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending SEND_CID to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine("Response has {0} elements.", response?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_SEND_CID_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine(Localization.Response_has_0_elements, response?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Decode buffer.");
|
||||
AaruConsole.WriteLine("3.- Print response buffer.");
|
||||
AaruConsole.WriteLine("4.- Send command again.");
|
||||
AaruConsole.WriteLine("0.- Return to SecureDigital commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Decode_buffer);
|
||||
AaruConsole.WriteLine(Localization._3_Print_response_buffer);
|
||||
AaruConsole.WriteLine(Localization._4_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SecureDigital_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -508,41 +518,41 @@ static class SecureDigital
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to SecureDigital commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SecureDigital_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("SEND_CID buffer:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.SEND_CID_buffer);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("SEND_CID decoded buffer:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.SEND_CID_decoded_buffer);
|
||||
|
||||
if(buffer != null)
|
||||
AaruConsole.WriteLine("{0}", Decoders.SecureDigital.Decoders.PrettifyCID(buffer));
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("SEND_CID response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.SEND_CID_response);
|
||||
|
||||
if(response != null)
|
||||
{
|
||||
@@ -552,15 +562,15 @@ static class SecureDigital
|
||||
AaruConsole.WriteLine();
|
||||
}
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 4: goto start;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -575,27 +585,27 @@ static class SecureDigital
|
||||
bool sense = dev.ReadCsd(out byte[] buffer, out uint[] response, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending SEND_CSD to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine("Response has {0} elements.", response?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_SEND_CSD_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine(Localization.Response_has_0_elements, response?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Decode buffer.");
|
||||
AaruConsole.WriteLine("3.- Print response buffer.");
|
||||
AaruConsole.WriteLine("4.- Send command again.");
|
||||
AaruConsole.WriteLine("0.- Return to SecureDigital commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Decode_buffer);
|
||||
AaruConsole.WriteLine(Localization._3_Print_response_buffer);
|
||||
AaruConsole.WriteLine(Localization._4_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SecureDigital_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -605,41 +615,41 @@ static class SecureDigital
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to SecureDigital commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SecureDigital_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("SEND_CSD buffer:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.SEND_CSD_buffer);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("SEND_CSD decoded buffer:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.SEND_CSD_decoded_buffer);
|
||||
|
||||
if(buffer != null)
|
||||
AaruConsole.WriteLine("{0}", Decoders.SecureDigital.Decoders.PrettifyCSD(buffer));
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("SEND_CSD response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.SEND_CSD_response);
|
||||
|
||||
if(response != null)
|
||||
{
|
||||
@@ -649,15 +659,15 @@ static class SecureDigital
|
||||
AaruConsole.WriteLine();
|
||||
}
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 4: goto start;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -672,27 +682,27 @@ static class SecureDigital
|
||||
bool sense = dev.ReadScr(out byte[] buffer, out uint[] response, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending SEND_SCR to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Buffer is {0} bytes.", buffer?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("Buffer is null or empty? {0}", ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine("Response has {0} elements.", response?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_SEND_SCR_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
AaruConsole.WriteLine(Localization.Response_has_0_elements, response?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Print buffer.");
|
||||
AaruConsole.WriteLine("2.- Decode buffer.");
|
||||
AaruConsole.WriteLine("3.- Print response buffer.");
|
||||
AaruConsole.WriteLine("4.- Send command again.");
|
||||
AaruConsole.WriteLine("0.- Return to SecureDigital commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization.Print_buffer);
|
||||
AaruConsole.WriteLine(Localization._2_Decode_buffer);
|
||||
AaruConsole.WriteLine(Localization._3_Print_response_buffer);
|
||||
AaruConsole.WriteLine(Localization._4_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SecureDigital_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -702,41 +712,41 @@ static class SecureDigital
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to SecureDigital commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SecureDigital_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("SEND_SCR buffer:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.SEND_SCR_buffer);
|
||||
|
||||
if(buffer != null)
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("SEND_SCR decoded buffer:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.SEND_SCR_decoded_buffer);
|
||||
|
||||
if(buffer != null)
|
||||
AaruConsole.WriteLine("{0}", Decoders.SecureDigital.Decoders.PrettifySCR(buffer));
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 3:
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("SEND_SCR response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.SEND_SCR_response);
|
||||
|
||||
if(response != null)
|
||||
{
|
||||
@@ -746,15 +756,15 @@ static class SecureDigital
|
||||
AaruConsole.WriteLine();
|
||||
}
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
|
||||
goto menu;
|
||||
case 4: goto start;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -773,20 +783,20 @@ static class SecureDigital
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for SET_BLOCKLEN command:");
|
||||
AaruConsole.WriteLine("Set block length to: {0} bytes", blockSize);
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Parameters_for_SET_BLOCKLEN_command);
|
||||
AaruConsole.WriteLine(Localization.Set_block_length_to_0_bytes, blockSize);
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Change parameters.");
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to SecureDigital commands menu.");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization._2_Send_command_with_these_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SecureDigital_commands_menu);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
|
||||
continue;
|
||||
@@ -795,16 +805,16 @@ static class SecureDigital
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to SecureDigital commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SecureDigital_commands_menu);
|
||||
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("Set block length to?");
|
||||
AaruConsole.Write(Localization.Set_block_length_to_Q);
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!uint.TryParse(strDev, out blockSize))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
blockSize = 512;
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
@@ -819,12 +829,12 @@ static class SecureDigital
|
||||
bool sense = dev.SetBlockLength(blockSize, out uint[] response, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending SET_BLOCKLEN to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
AaruConsole.WriteLine("Sense is {0}.", sense);
|
||||
AaruConsole.WriteLine("Response has {0} elements.", response?.Length.ToString() ?? "null");
|
||||
AaruConsole.WriteLine("SET_BLOCKLEN response:");
|
||||
AaruConsole.WriteLine(Localization.Device_0, devPath);
|
||||
AaruConsole.WriteLine(Localization.Sending_SET_BLOCKLEN_to_the_device);
|
||||
AaruConsole.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruConsole.WriteLine(Localization.Sense_is_0, sense);
|
||||
AaruConsole.WriteLine(Localization.Response_has_0_elements, response?.Length.ToString() ?? Localization._null);
|
||||
AaruConsole.WriteLine(Localization.SET_BLOCKLEN_response);
|
||||
|
||||
if(response != null)
|
||||
{
|
||||
@@ -835,17 +845,17 @@ static class SecureDigital
|
||||
}
|
||||
|
||||
AaruConsole.WriteLine();
|
||||
AaruConsole.WriteLine("Choose what to do:");
|
||||
AaruConsole.WriteLine("1.- Send command again.");
|
||||
AaruConsole.WriteLine("2.- Change parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to SecureDigital commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
AaruConsole.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruConsole.WriteLine(Localization._1_Send_command_again);
|
||||
AaruConsole.WriteLine(Localization._2_Change_parameters);
|
||||
AaruConsole.WriteLine(Localization.Return_to_SecureDigital_commands_menu);
|
||||
AaruConsole.Write(Localization.Choose);
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Not_a_number_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
@@ -855,13 +865,13 @@ static class SecureDigital
|
||||
switch(item)
|
||||
{
|
||||
case 0:
|
||||
AaruConsole.WriteLine("Returning to SecureDigital commands menu...");
|
||||
AaruConsole.WriteLine(Localization.Returning_to_SecureDigital_commands_menu);
|
||||
|
||||
return;
|
||||
case 1: goto start;
|
||||
case 2: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
AaruConsole.WriteLine(Localization.Incorrect_option_Press_any_key_to_continue);
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user