Subversion Repositories pentevo

Rev

Rev 601 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?

  1. #include "_global.h"
  2.  
  3. //-----------------------------------------------------------------------------
  4.  
  5. const u8 BlahBlah[] PROGMEM =
  6.   "\0\0\0\0================  Test&Service  ================";
  7.  
  8. //-----------------------------------------------------------------------------
  9.  
  10. const u8 msg_title1[] PROGMEM =
  11.                  "          ZX Evolution Test&Service ";
  12. //               |          ZX Evolution Test&Service (110203)         |
  13. //width limited! "01234567890123456789012345678901234567890123456789012"
  14.  
  15. //-----------------------------------------------------------------------------
  16.  
  17. const u8 msg_title2[] PROGMEM = "http://www.NedoPC.com/";
  18.  
  19. //-----------------------------------------------------------------------------
  20.  
  21. const u8 msg_pintest_rus[] PROGMEM = "\r\n\nПроверка выводов ATMEGA128... ";
  22. const u8 msg_pintest_eng[] PROGMEM = "\r\n\nATMEGA128 pins check... ";
  23. PGM_U8_P mlmsg_pintest[] PROGMEM = {msg_pintest_rus, msg_pintest_eng};
  24.  
  25. //-----------------------------------------------------------------------------
  26.  
  27. const u8 msg_pintest_ok_rus[] PROGMEM = "Проблем не обнаружено.";
  28. const u8 msg_pintest_ok_eng[] PROGMEM = "No problems found.";
  29. PGM_U8_P mlmsg_pintest_ok[] PROGMEM = {msg_pintest_ok_rus, msg_pintest_ok_eng};
  30.  
  31. //-----------------------------------------------------------------------------
  32.  
  33. const u8 msg_pintest_error_rus[] PROGMEM = "\r\nОбнаружена проблема на порту(-ах): ";
  34. const u8 msg_pintest_error_eng[] PROGMEM = "\r\nHave a problem at port(s): ";
  35. PGM_U8_P mlmsg_pintest_error[] PROGMEM = {msg_pintest_error_rus, msg_pintest_error_eng};
  36.  
  37. //-----------------------------------------------------------------------------
  38.  
  39. const u8 msg_pintest_pa[] PROGMEM = "PAx ";
  40. const u8 msg_pintest_pb[] PROGMEM = "PBx ";
  41. const u8 msg_pintest_pc[] PROGMEM = "PCx ";
  42. const u8 msg_pintest_pd[] PROGMEM = "PD5 ";
  43. const u8 msg_pintest_pe[] PROGMEM = "PEx ";
  44. const u8 msg_pintest_pg[] PROGMEM = "PGx ";
  45.  
  46. //-----------------------------------------------------------------------------
  47.  
  48. const u8 msg_halt_rus[] PROGMEM = "\r\nПрограмма остановлена!";
  49. const u8 msg_halt_eng[] PROGMEM = "\r\nProgram is halted!";
  50. PGM_U8_P mlmsg_halt[] PROGMEM = {msg_halt_rus, msg_halt_eng};
  51.  
  52. //-----------------------------------------------------------------------------
  53.  
  54. const u8 msg_statusof_rus[] PROGMEM = "\n\rСостояние ";
  55. const u8 msg_statusof_eng[] PROGMEM = "\n\rStatus of ";
  56. PGM_U8_P mlmsg_statusof_crlf[] PROGMEM = {msg_statusof_rus,  msg_statusof_eng  };
  57. PGM_U8_P mlmsg_statusof_cr[] PROGMEM   = {msg_statusof_rus+1,msg_statusof_eng+1};
  58.  
  59. const u8 msg_power_pg[] PROGMEM = "POWERGOOD=";
  60. const u8 msg_power_vcc5[] PROGMEM = ", VCC5=";
  61.  
  62. const u8 msg_power_on_rus[] PROGMEM = "\r\nВключение питания ATX...\n";
  63. const u8 msg_power_on_eng[] PROGMEM = "\r\nATX power up...\n";
  64. PGM_U8_P mlmsg_power_on[] PROGMEM = {msg_power_on_rus, msg_power_on_eng};
  65.  
  66. //-----------------------------------------------------------------------------
  67.  
  68. const u8 msg_cfgfpga_rus[] PROGMEM = "\r\nЗагрузка конфигурации в FPGA... ";
  69. const u8 msg_cfgfpga_eng[] PROGMEM = "\r\nSet FPGA configuration... ";
  70. PGM_U8_P mlmsg_cfgfpga[] PROGMEM = {msg_cfgfpga_rus, msg_cfgfpga_eng};
  71.  
  72. //-----------------------------------------------------------------------------
  73.  
  74. const u8 msg_done1_rus[] PROGMEM = "Завершено.\r\nПроверка обмена с FPGA... ";
  75. const u8 msg_done1_eng[] PROGMEM = "Done.\r\nFPGA data exchange test... ";
  76. PGM_U8_P mlmsg_done1[] PROGMEM = {msg_done1_rus, msg_done1_eng};
  77.  
  78. //-----------------------------------------------------------------------------
  79.  
  80. const u8 msg_ok[] PROGMEM = "Ok.";
  81.  
  82. //-----------------------------------------------------------------------------
  83.  
  84. const u8 msg_someerrors_rus[] PROGMEM = "Есть ошибки!";
  85. const u8 msg_someerrors_eng[] PROGMEM = "We have some errors!";
  86. PGM_U8_P mlmsg_someerrors[] PROGMEM = {msg_someerrors_rus, msg_someerrors_eng};
  87.  
  88. //-----------------------------------------------------------------------------
  89.  
  90. const u8 msg_spi_test_rus[] PROGMEM = "\r\nКоличество неправильных байт из 50000 -";
  91. const u8 msg_spi_test_eng[] PROGMEM = "\r\nQuantity wrong byte from 50000 -";
  92. PGM_U8_P mlmsg_spi_test[] PROGMEM = {msg_spi_test_rus, msg_spi_test_eng};
  93.  
  94. //-----------------------------------------------------------------------------
  95.  
  96. const u8 msg_kbd_detect_rus[] PROGMEM = "\r\nПроверка клавиатуры PS/2...\r\n";
  97. const u8 msg_kbd_detect_eng[] PROGMEM = "\r\nPS/2 keyboard check...\r\n";
  98. PGM_U8_P mlmsg_kbd_detect[] PROGMEM = {msg_kbd_detect_rus, msg_kbd_detect_eng};
  99.  
  100. //-----------------------------------------------------------------------------
  101.  
  102. const u8 msg_noresponse_rus[] PROGMEM = " ...нет ответа\r\n";
  103. const u8 msg_noresponse_eng[] PROGMEM = " ...no response\r\n";
  104. PGM_U8_P mlmsg_noresponse[] PROGMEM = {msg_noresponse_rus, msg_noresponse_eng};
  105.  
  106. //-----------------------------------------------------------------------------
  107.  
  108. const u8 msg_unwanted_rus[] PROGMEM = " <- неожидаемый ответ\r\n";
  109. const u8 msg_unwanted_eng[] PROGMEM = " <- unwanted response\r\n";
  110. PGM_U8_P mlmsg_unwanted[] PROGMEM = {msg_unwanted_rus, msg_unwanted_eng};
  111.  
  112. //-----------------------------------------------------------------------------
  113.  
  114. const u8 msg_txfail_rus[] PROGMEM = " ...сбой при передаче\r\n";
  115. const u8 msg_txfail_eng[] PROGMEM = " ...fail to transmit\r\n";
  116. PGM_U8_P mlmsg_txfail[] PROGMEM = {msg_txfail_rus, msg_txfail_eng};
  117.  
  118. //-----------------------------------------------------------------------------
  119.  
  120. const u8 msg_ready[] PROGMEM = "---\r\n";
  121.  
  122. //-----------------------------------------------------------------------------
  123.  
  124. const u8 msg_menu_help_rus[] PROGMEM =
  125.  "\x16\x05\x0e"  "Основные клавиши управления:"
  126.  "\x16\x05\x0f"  "<>, <>"
  127.  "\x16\x05\x10"  "<Enter> - \"Да\", выбор"
  128.  "\x16\x05\x11"  "<Esc> - \"Нет\", отмена, выход"
  129.  "\x16\x05\x12"  "Горячие клавиши (только в меню):"
  130.  "\x16\x05\x13"  "<ScrollLock> - режим TV/VGA"
  131.  "\x16\x05\x14"  "<CapsLock> - язык интерфейса";
  132. const u8 msg_menu_help_eng[] PROGMEM =
  133.  "\x16\x05\x0e"  "Usage:"
  134.  "\x16\x05\x0f"  "<>, <>"
  135.  "\x16\x05\x10"  "<Enter> - \"Yes\", select"
  136.  "\x16\x05\x11"  "<Esc> - \"No\", cancel, exit"
  137.  "\x16\x05\x12"  "Hot-keys (in menu only):"
  138.  "\x16\x05\x13"  "<ScrollLock> - toggle TV/VGA mode"
  139.  "\x16\x05\x14"  "<CapsLock> - language switch";
  140. //width limited! "567890123456789012345678901234567"
  141. PGM_U8_P mlmsg_menu_help[] PROGMEM = {msg_menu_help_rus, msg_menu_help_eng};
  142.  
  143. //-----------------------------------------------------------------------------
  144.  
  145. const u8 msg_tbeep_rus[] PROGMEM =
  146.  "\x16\x1a\x0a"  "Гц"  "\x16\x0a\x0c"  "<>, <> - изменение частоты"  "\x15\x0f";
  147. const u8 msg_tbeep_eng[] PROGMEM =
  148.  "\x16\x1a\x0a"  "Hz"  "\x16\x0e\x0c"      "<>, <> - frequence"      "\x15\x0f";
  149. //width limited!                       "0123456789012345678901234567"
  150. PGM_U8_P mlmsg_tbeep[] PROGMEM = {msg_tbeep_rus, msg_tbeep_eng};
  151.  
  152. //-----------------------------------------------------------------------------
  153.  
  154. const u8 msg_tzxk1_rus[] PROGMEM = "\x16\x0e\x07Клавиатура ZX\x16\x23\x07Джойстик";
  155. const u8 msg_tzxk1_eng[] PROGMEM = "\x16\x0f\x07ZX Keyboard\x16\x23\x07Joystick";
  156. PGM_U8_P mlmsg_tzxk1[] PROGMEM = {msg_tzxk1_rus, msg_tzxk1_eng};
  157.  
  158. //-----------------------------------------------------------------------------
  159.  
  160. const u8 msg_tzxk2[] PROGMEM =
  161.  "\x16\x0b\x09"  "1 2 3 4 5 6 7 8 9 0"
  162.  "\x16\x0b\x0a"  "Q W E R T Y U I O P"
  163.  "\x16\x0b\x0b"  "A S D F G H J K L e"
  164.  "\x16\x0b\x0c"  "c Z X C V B N M s s"
  165.  "\x16\x26\x0a"  "\x18"
  166.  "\x16\x24\x0b"  "\x1b F \x1a"
  167.  "\x16\x26\x0c"  "\x19"
  168.  "\x16\x0e\x0f"  "SoftReset"
  169.  "\x16\x1e\x0f"  "TurboKey";
  170.  
  171. //-----------------------------------------------------------------------------
  172.  
  173. const u8 msg_tps2k0_rus[] PROGMEM =
  174.  "\x16\x05\x13"  "Трёхкратное нажатие <ESC> - выход из теста.";
  175. const u8 msg_tps2k0_eng[] PROGMEM =
  176.  "\x16\x0a\x13"       "Press <ESC> three times to exit.";
  177. //width limited! "5678901234567890123456789012345678901234567"
  178. PGM_U8_P mlmsg_tps2k0[] PROGMEM = {msg_tps2k0_rus, msg_tps2k0_eng};
  179.  
  180. //-----------------------------------------------------------------------------
  181.  
  182. const u8 msg_tps2k1[] PROGMEM =
  183.  "\x16\x05\x07"  "e   1 2 3 4 5 6 7 8 9 0 1 2  p s p  \x07 \x07 \x07"
  184.  "\x16\x05\x09"  "` 1 2 3 4 5 6 7 8 9 0 - = \x1b  i h u  n / * -"
  185.  "\x16\x05\x0a"  "t Q W E R T Y U I O P [ ] \\  d e d  7 8 9"
  186.  "\x16\x05\x0b"  "c A S D F G H J K L ; '   e         4 5 6 +"
  187.  "\x16\x05\x0c"  "s Z X C V B N M , . /     s    \x18    1 2 3"
  188.  "\x16\x05\x0d"  "c w a       s       a w m c  \x1b \x19 \x1a  0   . e"
  189.  "\x16\x05\x10"  "Raw data:\x16\x04\x0f";
  190.  
  191. //-----------------------------------------------------------------------------
  192.  
  193. const u8 msg_mouse_test_rus[] PROGMEM = "\r\nТестирование мыши... ";
  194. const u8 msg_mouse_test_eng[] PROGMEM = "\r\nMouse test... ";
  195. PGM_U8_P mlmsg_mouse_test[] PROGMEM = {msg_mouse_test_rus, msg_mouse_test_eng};
  196.  
  197. //-----------------------------------------------------------------------------
  198.  
  199. const u8 msg_mouse_detect_rus[] PROGMEM = "Обнаружение мыши...  ";
  200. const u8 msg_mouse_detect_eng[] PROGMEM = "Detecting mouse...  ";
  201. PGM_U8_P mlmsg_mouse_detect[] PROGMEM = {msg_mouse_detect_rus, msg_mouse_detect_eng};
  202.  
  203. //-----------------------------------------------------------------------------
  204.  
  205. const u8 msg_mouse_setup_rus[] PROGMEM = "Настройка... ";
  206. const u8 msg_mouse_setup_eng[] PROGMEM = "Customization... ";
  207. PGM_U8_P mlmsg_mouse_setup[] PROGMEM = {msg_mouse_setup_rus, msg_mouse_setup_eng};
  208.  
  209. //-----------------------------------------------------------------------------
  210.  
  211. const u8 msg_mouse_letsgo_rus[] PROGMEM = "Поехали!";
  212. const u8 msg_mouse_letsgo_eng[] PROGMEM = "Let's go!";
  213. PGM_U8_P mlmsg_mouse_letsgo[] PROGMEM = {msg_mouse_letsgo_rus, msg_mouse_letsgo_eng};
  214.  
  215. //-----------------------------------------------------------------------------
  216.  
  217. const u8 msg_mouse_fail0_rus[] PROGMEM = "      Нет ответа от мыши.";
  218. const u8 msg_mouse_fail0_eng[] PROGMEM = "      No mouse response.";
  219. //width limited!                         "1234567890123456789012345678901"
  220. PGM_U8_P mlmsg_mouse_fail0[] PROGMEM = {msg_mouse_fail0_rus, msg_mouse_fail0_eng};
  221.  
  222. //-----------------------------------------------------------------------------
  223.  
  224. const u8 msg_mouse_fail1_rus[] PROGMEM = "   Имеются некоторые проблемы.";
  225. const u8 msg_mouse_fail1_eng[] PROGMEM = "    There are some problems.";
  226. //width limited!                         "1234567890123456789012345678901"
  227. PGM_U8_P mlmsg_mouse_fail1[] PROGMEM = {msg_mouse_fail1_rus, msg_mouse_fail1_eng};
  228.  
  229. //-----------------------------------------------------------------------------
  230.  
  231. const u8 msg_mouse_restart_rus[] PROGMEM = "  <Enter> - перезапустить тест.";
  232. const u8 msg_mouse_restart_eng[] PROGMEM = "     <Enter> - restart test.";
  233. //width limited!                           "1234567890123456789012345678901"
  234. PGM_U8_P mlmsg_mouse_restart[] PROGMEM = {msg_mouse_restart_rus, msg_mouse_restart_eng};
  235.  
  236. //-----------------------------------------------------------------------------
  237.  
  238. const u8 msg_tpsm_1[] PROGMEM =
  239.  "\x16\x25\x0f"  "Wheel ="
  240.  "\x16\x25\x0c"  "L   M   R"
  241.  "\x16\x25\x11"  "X  ="
  242.  "\x16\x25\x12"  "Y  =";
  243.  
  244. //-----------------------------------------------------------------------------
  245.  
  246. const u8 msg_mtst_rus[] PROGMEM =
  247.  "\x16\x23\x12"     " Тест DRAM "
  248.  "\x16\x20\x13"  "Проведено циклов"
  249.  "\x16\x20\x14"  "без ошибок"
  250.  "\x16\x20\x15"  "с ошибками";
  251. const u8 msg_mtst_eng[] PROGMEM =
  252.  "\x16\x23\x12"     " DRAM test "
  253. //width limited! "23456789012345678"
  254.  "\x16\x20\x13"  "Loops"
  255. //width limited! "23456789012345678"
  256.  "\x16\x20\x14"  "Pass"
  257. //width limited! "2345678901"
  258.  "\x16\x20\x15"  "Fail";
  259. //width limited! "2345678901"
  260. PGM_U8_P mlmsg_mtst[] PROGMEM = {msg_mtst_rus, msg_mtst_eng};
  261.  
  262. //-----------------------------------------------------------------------------
  263.  
  264. const u8 msg_menu_swlng_rus[] PROGMEM = "\x16\x17\x0c"          "Русский";
  265. const u8 msg_menu_swlng_eng[] PROGMEM = "\x16\x17\x0c"          "English";
  266. //width limited!                                       "456789012345678901234567"
  267. PGM_U8_P mlmsg_menu_swlng[] PROGMEM = {msg_menu_swlng_rus, msg_menu_swlng_eng};
  268.  
  269. //-----------------------------------------------------------------------------
  270.  
  271. const u8 msg_fl_menu_rus[] PROGMEM =
  272.  "\x16\x02\x02"  "Выход"
  273.  "\x16\x02\x03"  "Всё снова"
  274.  "\x16\x02\x04"  "Стереть м/сх."
  275.  "\x16\x02\x05"  "Добав.задание"
  276.  "\x16\x02\x06"  "Выполнить";
  277. const u8 msg_fl_menu_eng[] PROGMEM =
  278.  "\x16\x02\x02"  "Exit"
  279.  "\x16\x02\x03"  "Retrieve all"
  280.  "\x16\x02\x04"  "Erase chip"
  281.  "\x16\x02\x05"  "Add job"
  282.  "\x16\x02\x06"  "Execute jobs";
  283. //width limited! "2345678901234"
  284. PGM_U8_P mlmsg_fl_menu[] PROGMEM = {msg_fl_menu_rus, msg_fl_menu_eng};
  285.  
  286. //-----------------------------------------------------------------------------
  287.  
  288. const u8 msg_fp_nofiles_rus[] PROGMEM = "\x15\x9f"  " Нет файлов ";
  289. const u8 msg_fp_nofiles_eng[] PROGMEM = "\x15\x9f"  "  No files  ";
  290. //width fixed!                                      "123456789012"
  291. PGM_U8_P mlmsg_fp_nofiles[] PROGMEM = {msg_fp_nofiles_rus, msg_fp_nofiles_eng};
  292.  
  293. //-----------------------------------------------------------------------------
  294.  
  295. const u8 msg_fl_readrom_rus[] PROGMEM =
  296.  "\x16\x02\x0a"  "Чтение Flash"
  297.  "\x16\x02\x0b"  "<ESC> - выход";
  298. const u8 msg_fl_readrom_eng[] PROGMEM =
  299.  "\x16\x02\x0a"  "Read Flash..."
  300.  "\x16\x02\x0b"  "<ESC> - exit";
  301. //width limited! "2345678901234"
  302. PGM_U8_P mlmsg_fl_readrom[] PROGMEM = {msg_fl_readrom_rus, msg_fl_readrom_eng};
  303.  
  304. //-----------------------------------------------------------------------------
  305.  
  306. const u8 msg_fl_sdinit_rus[] PROGMEM =
  307.  "\x16\x02\x0b\x15\x9f"  "Иниц.SD карты";
  308. const u8 msg_fl_sdinit_eng[] PROGMEM =
  309.  "\x16\x02\x0b\x15\x9f"  "SDcard init. ";
  310. //width limited!         "2345678901234"
  311. PGM_U8_P mlmsg_fl_sdinit[] PROGMEM = {msg_fl_sdinit_rus, msg_fl_sdinit_eng};
  312.  
  313. //-----------------------------------------------------------------------------
  314.  
  315. const u8 msg_fl_sderror1_rus[] PROGMEM = " Нет SD карты! ";
  316. const u8 msg_fl_sderror1_eng[] PROGMEM = "  No SD-card!  ";
  317. //width fixed!                           "123456789012345"
  318. PGM_U8_P mlmsg_fl_sderror1[] PROGMEM = {msg_fl_sderror1_rus, msg_fl_sderror1_eng};
  319.  
  320. //-----------------------------------------------------------------------------
  321.  
  322. const u8 msg_fl_sderror2_rus[] PROGMEM = " Ошибка чт. SD ";
  323. const u8 msg_fl_sderror2_eng[] PROGMEM = " SD read error ";
  324. //width fixed!                           "123456789012345"
  325. PGM_U8_P mlmsg_fl_sderror2[] PROGMEM = {msg_fl_sderror2_rus, msg_fl_sderror2_eng};
  326.  
  327. //-----------------------------------------------------------------------------
  328.  
  329. const u8 msg_fl_sderror3_rus[] PROGMEM = "   Нет FAT !   ";
  330. const u8 msg_fl_sderror3_eng[] PROGMEM = " FAT no found! ";
  331. //width fixed!                           "123456789012345"
  332. PGM_U8_P mlmsg_fl_sderror3[] PROGMEM = {msg_fl_sderror3_rus, msg_fl_sderror3_eng};
  333.  
  334. //-----------------------------------------------------------------------------
  335.  
  336. const u8 msg_fl_sderror4_rus[] PROGMEM = "  Ошибка FAT ! ";
  337. const u8 msg_fl_sderror4_eng[] PROGMEM = "  FAT error !  ";
  338. //width fixed!                           "123456789012345"
  339. PGM_U8_P mlmsg_fl_sderror4[] PROGMEM = {msg_fl_sderror4_rus, msg_fl_sderror4_eng};
  340.  
  341. //-----------------------------------------------------------------------------
  342.  
  343. //const u8 msg_fl_sderrorx_rus[] PROGMEM = " О, глюкануло! ";
  344. //const u8 msg_fl_sderrorx_eng[] PROGMEM = " Great glitch! ";
  345. ////width fixed!                           "123456789012345"
  346. //PGM_U8_P mlmsg_fl_sderrorx[] PROGMEM = {msg_fl_sderrorx_rus, msg_fl_sderrorx_eng};
  347.  
  348. //-----------------------------------------------------------------------------
  349.  
  350. const u8 msg_fl_sure_rus[] PROGMEM =
  351.  "\x16\x02\x0c\x15\x9e"  " Уверен? <Y> ";
  352. const u8 msg_fl_sure_eng[] PROGMEM =
  353.  "\x16\x02\x0c\x15\x9e"  "You sure? <Y>";
  354. //width fixed!           "2345678901234"
  355. PGM_U8_P mlmsg_fl_sure[] PROGMEM = {msg_fl_sure_rus, msg_fl_sure_eng};
  356.  
  357. //-----------------------------------------------------------------------------
  358.  
  359. const u8 msg_fl_erase_rus[] PROGMEM =
  360.  "\x16\x02\x0c\x15\x9e"  "Стирание...  ";
  361. const u8 msg_fl_erase_eng[] PROGMEM =
  362.  "\x16\x02\x0c\x15\x9e"  "Erase...     ";
  363. //width fixed!           "2345678901234"
  364. PGM_U8_P mlmsg_fl_erase[] PROGMEM = {msg_fl_erase_rus, msg_fl_erase_eng};
  365.  
  366. //-----------------------------------------------------------------------------
  367.  
  368. const u8 msg_fl_write_rus[] PROGMEM =
  369.  "\x16\x02\x0c\x15\x9e"  "Запись...    ";
  370. const u8 msg_fl_write_eng[] PROGMEM =
  371.  "\x16\x02\x0c\x15\x9e"  "Write...     ";
  372. //width fixed!           "2345678901234"
  373. PGM_U8_P mlmsg_fl_write[] PROGMEM = {msg_fl_write_rus, msg_fl_write_eng};
  374.  
  375. //-----------------------------------------------------------------------------
  376.  
  377. const u8 msg_fl_verify_rus[] PROGMEM =
  378.  "\x16\x02\x0c\x15\x9e"  "Проверка...  ";
  379. const u8 msg_fl_verify_eng[] PROGMEM =
  380.  "\x16\x02\x0c\x15\x9e"  "Verify...    ";
  381. //width fixed!           "2345678901234"
  382. PGM_U8_P mlmsg_fl_verify[] PROGMEM = {msg_fl_verify_rus, msg_fl_verify_eng};
  383.  
  384. //-----------------------------------------------------------------------------
  385.  
  386. const u8 msg_fl_complete_rus[] PROGMEM =
  387.  "\x16\x02\x0c\x15\x9e"  "Завершено.   ";
  388. const u8 msg_fl_complete_eng[] PROGMEM =
  389.  "\x16\x02\x0c\x15\x9e"  "Complete.    ";
  390. //width fixed!           "2345678901234"
  391. PGM_U8_P mlmsg_fl_complete[] PROGMEM = {msg_fl_complete_rus, msg_fl_complete_eng};
  392.  
  393. //-----------------------------------------------------------------------------
  394.  
  395. const u8 msg_flres0_rus[] PROGMEM =
  396.  "\x16\x0d\x06"  "Запись в FlashROM завершена";
  397. const u8 msg_flres0_eng[] PROGMEM =
  398.  "\x16\x12\x06"        "Job(s) completed.";
  399. //width limited! "23456789012345678901234567890"
  400. PGM_U8_P mlmsg_flres0[] PROGMEM = {msg_flres0_rus, msg_flres0_eng};
  401.  
  402. //-----------------------------------------------------------------------------
  403.  
  404. const u8 msg_flres1_rus[] PROGMEM =
  405.  "\x16\x15\x07"           "без ошибок.";
  406. const u8 msg_flres1_eng[] PROGMEM =
  407.  "\x16\x11\x07"       "No errors detected.";
  408. //width limited! "23456789012345678901234567890"
  409. PGM_U8_P mlmsg_flres1[] PROGMEM = {msg_flres1_rus, msg_flres1_eng};
  410.  
  411. //-----------------------------------------------------------------------------
  412.  
  413. const u8 msg_flres2_rus[] PROGMEM =
  414.  "\x16\x15\x07"           "с ошибками!";
  415. const u8 msg_flres2_eng[] PROGMEM =
  416.  "\x16\x0e\x07"    "Some errors are detected!";
  417. //width limited! "23456789012345678901234567890"
  418. PGM_U8_P mlmsg_flres2[] PROGMEM = {msg_flres2_rus, msg_flres2_eng};
  419.  
  420. //-----------------------------------------------------------------------------
  421.  
  422. const u8 msg_sensors_rus[] PROGMEM = "   Датчики: ";
  423. const u8 msg_sensors_eng[] PROGMEM = "   Sensors: ";
  424. //width fixed!                       "012345678901"
  425. PGM_U8_P mlmsg_sensors[] PROGMEM = {msg_sensors_rus, msg_sensors_eng};
  426.  
  427. //-----------------------------------------------------------------------------
  428.  
  429. const u8 msg_s_nocard_rus[] PROGMEM = "     Нет карты     ";
  430. const u8 msg_s_nocard_eng[] PROGMEM = "      No card      ";
  431. //width fixed!                        "2345678901234567890"
  432. PGM_U8_P mlmsg_s_nocard[] PROGMEM = {msg_s_nocard_rus, msg_s_nocard_eng};
  433.  
  434. //-----------------------------------------------------------------------------
  435.  
  436. const u8 msg_s_inserted_rus[] PROGMEM = " Карта установлена ";
  437. const u8 msg_s_inserted_eng[] PROGMEM = "   Card inserted   ";
  438. //width fixed!                          "2345678901234567890"
  439. PGM_U8_P mlmsg_s_inserted[] PROGMEM = {msg_s_inserted_rus, msg_s_inserted_eng};
  440.  
  441. //-----------------------------------------------------------------------------
  442.  
  443. const u8 msg_s_readonly_rus[] PROGMEM = "  Защита от записи ";
  444. const u8 msg_s_readonly_eng[] PROGMEM = "     Read only     ";
  445. //width fixed!                          "1234567890123456789"
  446. PGM_U8_P mlmsg_s_readonly[] PROGMEM = {msg_s_readonly_rus, msg_s_readonly_eng};
  447.  
  448. //-----------------------------------------------------------------------------
  449.  
  450. const u8 msg_s_writeen_rus[] PROGMEM = "  Запись разрешена ";
  451. const u8 msg_s_writeen_eng[] PROGMEM = "   Write enabled   ";
  452. //width fixed!                         "1234567890123456789"
  453. PGM_U8_P mlmsg_s_writeen[] PROGMEM = {msg_s_writeen_rus, msg_s_writeen_eng};
  454.  
  455. //-----------------------------------------------------------------------------
  456.  
  457. const u8 msg_tsd_init_rus[] PROGMEM = "Инициализация карточки...";
  458. const u8 msg_tsd_init_eng[] PROGMEM = "Card initialization...";
  459. PGM_U8_P mlmsg_tsd_init[] PROGMEM = {msg_tsd_init_rus, msg_tsd_init_eng};
  460.  
  461. //-----------------------------------------------------------------------------
  462.  
  463. const u8 msg_tsd_nocard_rus[] PROGMEM = "SD/MMC карта не обнаружена.";
  464. const u8 msg_tsd_nocard_eng[] PROGMEM = "No SD/MMC card found.";
  465. PGM_U8_P mlmsg_tsd_nocard[] PROGMEM = {msg_tsd_nocard_rus, msg_tsd_nocard_eng};
  466.  
  467. //-----------------------------------------------------------------------------
  468.  
  469. const u8 msg_tsd_foundcard_rus[] PROGMEM = "Обнаружена карта: ";
  470. const u8 msg_tsd_foundcard_eng[] PROGMEM = "Found card: ";
  471. PGM_U8_P mlmsg_tsd_foundcard[] PROGMEM = {msg_tsd_foundcard_rus, msg_tsd_foundcard_eng};
  472.  
  473. //-----------------------------------------------------------------------------
  474.  
  475. const u8 msg_tsd_menu_rus[] PROGMEM =
  476.  "\x16\x10\x0b"      "Начать диагностику"
  477.  "\x16\x0c\x0c"  "[ ] Подробный отчёт в RS-232";
  478. const u8 msg_tsd_menu_eng[] PROGMEM =
  479.  "\x16\x11\x0b"       "Start diagnostic"
  480.  "\x16\x0c\x0c"  "[ ] Detailed log to RS-232";
  481. //width limited! "2345678901234567890123456789"
  482. PGM_U8_P mlmsg_tsd_menu[] PROGMEM = {msg_tsd_menu_rus, msg_tsd_menu_eng};
  483.  
  484. //-----------------------------------------------------------------------------
  485.  
  486. const u8 msg_tsd_foundfat_rus[] PROGMEM = "Обнаружена FAT";
  487. const u8 msg_tsd_foundfat_eng[] PROGMEM = "Found FAT";
  488. PGM_U8_P mlmsg_tsd_foundfat[] PROGMEM = {msg_tsd_foundfat_rus, msg_tsd_foundfat_eng};
  489.  
  490. //-----------------------------------------------------------------------------
  491.  
  492. const u8 msg_tsd_detect_rus[] PROGMEM = "Поиск файловой системы...";
  493. const u8 msg_tsd_detect_eng[] PROGMEM = "Detecting of file system...";
  494. PGM_U8_P mlmsg_tsd_detect[] PROGMEM = {msg_tsd_detect_rus, msg_tsd_detect_eng};
  495.  
  496. //-----------------------------------------------------------------------------
  497.  
  498. const u8 msg_tsd_readfile_rus[] PROGMEM = "Чтение тестового файла...";
  499. const u8 msg_tsd_readfile_eng[] PROGMEM = "Reading of test file...";
  500. PGM_U8_P mlmsg_tsd_readfile[] PROGMEM = {msg_tsd_readfile_rus, msg_tsd_readfile_eng};
  501.  
  502. //-----------------------------------------------------------------------------
  503.  
  504. const u8 msg_tsd_complete_rus[] PROGMEM = "Диагностика завершена.";
  505. const u8 msg_tsd_complete_eng[] PROGMEM = "Diagnostic is complete.";
  506. PGM_U8_P mlmsg_tsd_complete[] PROGMEM = {msg_tsd_complete_rus, msg_tsd_complete_eng};
  507.  
  508. //-----------------------------------------------------------------------------
  509.  
  510. const u8 msg_tsd_out[] PROGMEM = "\r\nout ";
  511. const u8 msg_tsd_in[] PROGMEM = ", in ";
  512. const u8 msg_tsd_cmd[] PROGMEM = "\r\n;CMD";
  513. const u8 msg_tsd_acmd41[] PROGMEM = "\r\n;ACMD41";
  514. const u8 msg_tsd_csup[] PROGMEM = "\r\nCS up";
  515. const u8 msg_tsd_csdown[] PROGMEM = "\r\nCS down";
  516. const u8 msg_tsd_mmc[] PROGMEM = "MMC";
  517. const u8 msg_tsd_sdv1[] PROGMEM = "SD v1";
  518. const u8 msg_tsd_sdsc[] PROGMEM = "SD v2+ Standard Capacity";
  519. const u8 msg_tsd_sdhc[] PROGMEM = "SD v2+ High Capacity";
  520. const u8 msg_tsd_ocr[] PROGMEM = "OCR: ";
  521. const u8 msg_tsd_csd[] PROGMEM = "CSD: ";
  522. const u8 msg_tsd_cid0[] PROGMEM = "CID: ";
  523. const u8 msg_tsd_cid1[] PROGMEM = "Manufacturer ID    ";
  524. const u8 msg_tsd_cid2[] PROGMEM = "OEM/Application ID ";
  525. const u8 msg_tsd_cid3[] PROGMEM = "Product name       ";
  526. const u8 msg_tsd_cid4[] PROGMEM = "Product revision   ";
  527. const u8 msg_tsd_cid5[] PROGMEM = "Product serial #   ";
  528. const u8 msg_tsd_cid6[] PROGMEM = "Manufacturing date ";
  529. const u8 msg_tsd_cid6b[] PROGMEM = ".20";
  530. const u8 msg_tsd_cid6c[] PROGMEM = ".19";
  531. const u8 msg_tsd_crc[] PROGMEM = "CRC=";
  532. const u8 msg_tsd_readsector[] PROGMEM = "\r\n;Read sector ";
  533. const u8 msg_tsd_skip[] PROGMEM = "\r\n;512 operations is skiped";
  534.  
  535. //-----------------------------------------------------------------------------
  536.  
  537. const u8 msg_trs_1[] PROGMEM =
  538.  "\x16\x14\x03"  "┬"
  539.  "\x16\x0b\x04"  "pc/win32"
  540.  "\x16\x17\x04"  "TESTCOM"
  541.  "\x16\x09\x05"  "├"
  542.  "\x16\x0b\x06"  "Bit rate 115200   No parity"
  543.  "\x16\x0b\x07"  "Data bits 8"
  544.  "\x16\x1d\x07"  "Flow control"
  545.  "\x16\x0b\x08"  "Stop bits 2"
  546.  "\x16\x1e\x08"  "√ RTS/CTS"
  547.  "\x16\x1d\x09"  "DSR - Ignored"
  548.  "\x16\x15\x0a"  "Start BERT "
  549.  "\x16\x19\x0b"  "┬"
  550.  "\x16\x19\x0c"  "│COM port"
  551.  "\x16\x19\x0d"  "│"
  552.  "\x16\x13\x0e"  "RS-232│"
  553.  "\x16\x0c\x0f"  "┬"
  554.  "\x16\x19\x0f"  "┴"
  555.  "\x16\x05\x10"  "ZX Evo"
  556.  "\x16\x10\x10"  "Last sec"
  557.  "\x16\x26\x10"  "sec"
  558.  "\x16\x03\x11"  "├"
  559.  "\x16\x05\x12"  "RxBuff"
  560.  "\x16\x2d\x12"  "RTS"
  561.  "\x16\x05\x13"  "TxBuff"
  562.  "\x16\x2d\x13"  "CTS";
  563.  
  564. //-----------------------------------------------------------------------------
  565.  
  566. //const u8 msg__rus[] PROGMEM = "";
  567. //const u8 msg__eng[] PROGMEM = "";
  568. //PGM_U8_P mlmsg_[] PROGMEM = {msg__rus, msg__eng};
  569.  
  570. //-----------------------------------------------------------------------------
  571.  
  572. const u8 str_menu_main[] PROGMEM =
  573.   "Тест клавиатуры PS/2      "
  574.   "Тест клавиатуры ZX и др.  "
  575.   "Тест мыши                 "
  576.   "Тест BEEP/TAPEOUT/COVOX   "
  577.   "Тест видео                "
  578.   "Тест RS-232               "
  579.   "Диагностика SD/MMC        "
  580.   "Программирование Flash-ROM"
  581.  
  582.   "PS/2 keyboard test        "
  583.   "ZX keyboard test and etc  "
  584.   "Mouse test                "
  585.   "BEEP/TAPEOUT/COVOX test   "
  586.   "Video test                "
  587.   "RS-232 test               "
  588.   "SD/MMC diagnostic         "
  589.   "Write Flash-ROM           ";
  590. //"12345678901234567890123456"  width fixed!
  591.  
  592. //-----------------------------------------------------------------------------
  593.