Наверх

Как разблокировать регион на рекордерах Panasonic DMR

11 февраля 2024 г.

Серия DVD рекордеров DMR от Panasonic является довольно интересной. Например, мой аппарат модели DMR-EH65 принципе заслуживает отдельного полноценного обзора. Однако, поскольку это лишь заметка, тут я не буду рассказывать о том, зачем вообще может понадобиться DVD рекордер в 2024-м году.

Мой DMR-EH65 был выпущен для рынка России, следовательно был «оклеймен» на задней панели цифрой 5, означающей 5-ый регион-код. О том, что такое региональное кодирование DVD и Blu-Ray, можно прочитать в статье на википедии.

Да, в 2024-м году статус региональной защиты весьма сомнителен, особенно для DVD, но мой рекордер был выпущен в далеком 2006-м году и не абы какой китайской компанией, т.ч. нельзя просто так взять и проиграть на нем диск, не предназначенный для его региона.

Большинству устройств, работающими с DVD, так или иначе (само собой не совсем официально) можно сменить регион. В некоторых случаях устройство можно сделать полностью мульти-региональным. И мой рекордер как раз относится к таким устройствам. Более того, его аппаратная часть уже является мультсистемной, т.к. без проблем может выдавать картинку как в PAL как и в NTSC формате.

В интернете на разных форумах можно найти далеко не одно упоминание об успешной «разблокировке» разных устройств серии DMR, в том числе с описанием методов (начиная от сырых кодов и заканчивая покупкой готового устройства с «волшебной» кнопкой). Для разблокировки, или вернее, для смены региона на нулевой, или на регион ALL, устройств, к которым относится мой рекордер DMR-EH65, нужно с помощью инфракрасного передатчика послать последовательность команд. После чего устройство перезагружается с новым регион-кодом. Я проанализировал пять с виду разных наборов команд для разблокировки. Разными они выглядели, т.к. предназначались для разных методов с разными программно-аппаратными решениями. Однако после расшифровки и привидению их всех к одному виду я с удивлением обнаружил, что все способы имеют абсолютно одинаковый набор из 12-ти команд.

В этой заметке я постараюсь дать информацию о том, как послать эти команды с помощью подручных средств в исчерпывающем и понятном виде.

Сначала немного теории. Panasonic использует одноименный протокол из семейства протоколов Kaseikyo. Частота передачи – 37 кГц. Каждая команда (или код) состоит из 48-и бит.

Последовательность команд (HEX MSB), которые нужно передать на устройство, следующая:

0x400405B8FB46 0x40040D00414C 0x40040D00A8A5 0x40040D00919C 0x40040D00202D 0x40040D004F42 0x40040D00CCC1 0x40040D00E8E5 0x40040D000805 0x40040D008984 0x40040D00C8C5 0x400405B800BD

Есть несколько универсальных форматов, в которые можно закодировать эти команды для упрощения последующего использования. Для методов, которые я дальше буду описывать (и не только для них), подходит формат PRONTO_HEX.

12 команд в формате PRONTO_HEX

Code 1: D160 S29 F223 0000 0070 0000 0032 0080 0040 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0030 0010 0030 0010 0010 0010 0030 0010 0030 0010 0030 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0030 0010 0030 0010 0030 0010 0010 0010 0030 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0ACD Code 2: D176 S0 F130 0000 0070 0000 0032 0080 0040 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0010 0010 0ACD Code 3: D176 S0 F21 0000 0070 0000 0032 0080 0040 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0030 0010 0010 0010 0030 0010 0ACD Code 4: D176 S0 F137 0000 0070 0000 0032 0080 0040 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0010 0010 0030 0010 0030 0010 0030 0010 0010 0010 0010 0010 0ACD Code 5:D176 S0 F4 0000 0070 0000 0032 0080 0040 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0030 0010 0030 0010 0010 0010 0030 0010 0ACD Code 6: D176 S0 F242 0000 0070 0000 0032 0080 0040 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0030 0010 0030 0010 0030 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0ACD Code 7: D176 S0 F51 0000 0070 0000 0032 0080 0040 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0ACD Code 8: D176 S0 F23 0000 0070 0000 0032 0080 0040 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0030 0010 0010 0010 0010 0010 0030 0010 0010 0010 0030 0010 0ACD Code 9: D176 S0 F16 0000 0070 0000 0032 0080 0040 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0030 0010 0ACD Code 10: D176 S0 F145 0000 0070 0000 0032 0080 0040 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0ACD Code 11: D176 S0 F19 0000 0070 0000 0032 0080 0040 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0030 0010 0ACD Code 12: D160 S29 F0 0000 0070 0000 0032 0080 0040 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0030 0010 0030 0010 0010 0010 0030 0010 0030 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0030 0010 0030 0010 0030 0010 0030 0010 0010 0010 0030 0010 0ACD

Передать эти команды можно разными способами. Самыми простыми мне показались следующие:

Надеюсь, что каждый, кто будет читать данную заметку, сможет самостоятельно разобраться с одним из этим методов. Либо воспользоваться любым другим доступным методом, благо PRONTO_HEX поддерживается практически везде и не требует никакой настройки, т.к. каждая команда содержит в себе всю необходимую информацию и о протоколе, и о частоте, и о том, какую информацию надо передать.

Для программы irplus я подготовил два layout-а (layout 1 и layout 2). Первый layout содержит в себе 12 команд. Второй layout содержит макрокоманду, которая отправит одну за одной все 12 команд с задержкой в 500 мс. Поскольку второй layout ссылается на первый, то первый layout тоже нужно добавить.

Для платформы Arduino ниже представлен скетч. Для его работы в Arduino IDE необходимо установить библиотеку IrRemote версии 4.2.1 и выше.

Sketch code #define DISABLE_CODE_FOR_RECEIVER // Disables restarting receiver after each send. Saves 450 bytes program memory and 269 bytes RAM if receiving functions are not used. #include "PinDefinitionsAndMore.h" // Define macros for input and output pin etc. #include <IRremote.hpp> struct packet { uint8_t repeats; uint16_t delay_time; char data[525]; }; #define PACKET_COUNT 12 #if defined(__AVR__) PROGMEM #endif const struct packet packets[PACKET_COUNT] = { {1, 500, "0000 0070 0000 0032 0080 0040 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0030 0010 0030 0010 0010 0010 0030 0010 0030 0010 0030 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0030 0010 0030 0010 0030 0010 0010 0010 0030 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0ACD"}, {1, 500, "0000 0070 0000 0032 0080 0040 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0010 0010 0ACD"}, {1, 500, "0000 0070 0000 0032 0080 0040 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0030 0010 0010 0010 0030 0010 0ACD"}, {1, 500, "0000 0070 0000 0032 0080 0040 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0010 0010 0030 0010 0030 0010 0030 0010 0010 0010 0010 0010 0ACD"}, {1, 500, "0000 0070 0000 0032 0080 0040 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0030 0010 0030 0010 0010 0010 0030 0010 0ACD"}, {1, 500, "0000 0070 0000 0032 0080 0040 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0030 0010 0030 0010 0030 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0ACD"}, {1, 500, "0000 0070 0000 0032 0080 0040 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0ACD"}, {1, 500, "0000 0070 0000 0032 0080 0040 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0030 0010 0010 0010 0010 0010 0030 0010 0010 0010 0030 0010 0ACD"}, {1, 500, "0000 0070 0000 0032 0080 0040 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0030 0010 0ACD"}, {1, 500, "0000 0070 0000 0032 0080 0040 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0ACD"}, {1, 500, "0000 0070 0000 0032 0080 0040 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0030 0010 0030 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0030 0010 0ACD"}, {1, 500, "0000 0070 0000 0032 0080 0040 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0030 0010 0030 0010 0010 0010 0030 0010 0030 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0030 0010 0030 0010 0030 0010 0030 0010 0010 0010 0030 0010 0ACD"} }; #define NUMBER_OF_REPEATS 3U IRsend irsend; void setup() { IrSender.begin(); // Start with IR_SEND_PIN as send pin and enable feedback LED at default feedback LED pin } void loop() { delay(2000); for (uint8_t i = 0; i < PACKET_COUNT; i++) { irsend.sendPronto(packets[i].data, packets[i].repeats); delay(packets[i].delay_time); } while (1) { delay(2000); } }

Пример схемы с Arduino Nano.

После включения через 2 секунды будут отправлены все 12 команд с задержкой в 500 мс. Для повторной отправки нажать RESET.

Использована библиотека IRremote, версия 4.2.1.

В программу IrScrutinzer можно как вручную ввести все 12 команд (не важно в каком виде, хоть просто HEX, хоть PRONTO_HEX, программа понимает практически все), а можно импортировать из приложенного текстового файла. Делается это примерно так:

Пользоваться программой не сложно, но описывать как это делать в этой заметке я не буду. У программы есть довольно подробная инструкция.

Далее я покажу, как выглядит процесс смены региона-кода для моего рекордера DMR-EH65.

Очевидно, что при смене региона-кода цифра на задней стенке не поменяется, и чтобы убедиться в смене региона можно воспользоваться сервисным режимом.

В сервис мануале эта процедура описана вот так:

Включаем рекордер комбинацией клавиш REC, CH UP и OPEN/CLOSE, удерживая их 5 секунд. Нажимаем на пульте кнопки 0 и 2 и видим, что регион-код соответствует заявленному на задней стенке.

Ну, соответствует и соответствует, а работает ли эта защита на самом деле? У меня есть некоторое количество лицензионных DVD разных регионов. Для проверки я выбрал 2 диска. Один диск, купленный в России (регион 5), и другой, купленный из Японии (регион 2).

Защита работает. Диск 5-го региона воспроизводится, а вот диск второго региона уже нет.

Перезагружаем рекордер, чтобы выйти из сервисного режима, и пробуем отправить на него 12 команд для смены регион-кода. На дисплее отобразиться команда «6n». Она же начнет мигать и на экране.

После чего рекордер самостоятельно перезагрузится. Снова заходим в сервисный режим и проверяем регион-код.

Ну… да, регион сменился. Но не на нулевой, как я предпологал, а на первый. Первый регион – это США с островами и Канада. Выглядит странно. Пробуем прочитать диски – читает, причем оба диска, и второго и 5-го регионов. Еще страннее…

В общем и целом, картина мне видится такая. Panasonic, очевидно, не планировал выпуск устройства с нулевым регион-кодом, т.е. такого устройства, которое бы не проверяло регион-код, или принимало бы диски любого региона. Следовательно можно предположить, что правильного обозначения в прошивке моего рекордера для работы в режима, когда регион-код игнорируется, нет. Косвенно это подтверждается еще и тем, что когда я нашел последовательность команд для смены региона на первый, цифра в сервис режиме осталась "1", но вот читать диски второго и пятого региона рекордер отказался. Возможно с этими командами не все так просто, или не все правильно, но в принципе результат положительный. Несмотря на цифру "1" в сервисном режиме, рекордер читает лицензионные диски с разными регион-кодами.

На этом у меня все.

За помощь в этом расследовании и в работе с Arduino спасибо @alex_wallace и @walhi с дискорд сервера FagearTechCorner.

Источники и полезные ссылки

Скачать irplus layout 1 | Скачать irplus layout 2 (sequence)
Скачать Region Unlock Command set