Esempio n. 1
0
        /*****************************************************
        *****************************************************/
        public bool WritePBlock()
        {
            byte[] B2 = new byte[0x60];

            byte[] p_block =
            {
                0xC9, 0x4B, 0x96, 0x28, 0xE5, 0x40, 0x90, 0x85, 0x36, 0x0F, 0x4A, 0x36, 0x32, 0x57, 0xCD, 0xAD,
                0x81, 0x1C, 0x51, 0x3A, 0xDD, 0x57, 0x73, 0x72, 0x39, 0x7D, 0x5D, 0xCE, 0xF4, 0x6E, 0xB3, 0x22,
                0x75, 0xF3, 0x7D, 0xD1, 0x49, 0xA3, 0x7B, 0xE7, 0xAD, 0x53, 0x60, 0x6F, 0x49, 0x1E, 0xA0, 0xAC,
                0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                0xA5, 0x59, 0x12, 0xBD, 0x21, 0xAF, 0x6F, 0x55, 0xD1, 0x49, 0x32, 0xFF, 0xC0, 0x48, 0xBF, 0x9C
            };

            byte[] UnlockB2 = { 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                0x2D, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 };

            CDB.DoStartStop();

            /* P Block */
            if (CDB.DoModeSelect(UnlockB2) != CDB.IoResult.OK)
            {
                return(false);
            }
            if (CDB.DoWriteBuffer(5, 2, p_block) != CDB.IoResult.OK)
            {
                return(false);
            }
            if (CDB.DoReadBuffer(2, B2) != CDB.IoResult.OK)
            {
                return(false);
            }
            return(true);
        }
Esempio n. 2
0
 /*****************************************************
 *****************************************************/
 public void Eject()
 {
     CDB.DoStartStop();
 }