⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dvdioctl.cod

📁 2440 CE500BSP包, EBOOT可用DEBUG版调试
💻 COD
📖 第 1 页 / 共 5 页
字号:
  008a4	e59d3000	 ldr         r3, [sp]
  008a8	e2831004	 add         r1, r3, #4
  008ac	e59d0088	 ldr         r0, [sp, #0x88]
  008b0	eb000000	 bl          |?DVDGetCopySystem@CPCIDiskAndCD@@QAAHPAE0@Z|

; 310  : 
; 311  :     memset(&CmdPkt, 0, sizeof(ATAPI_COMMAND_PACKET));

  008b4	e3a02014	 mov         r2, #0x14
  008b8	e3a01000	 mov         r1, #0
  008bc	e28d0018	 add         r0, sp, #0x18
  008c0	eb000000	 bl          memset

; 312  : 
; 313  :     // create command packet to read RPC setting (report key)
; 314  :     dwLength = DVDSetupReadTitleKey(&CmdPkt, DvdGetRPC, 0, 0);

  008c4	e3a03000	 mov         r3, #0
  008c8	e3a02000	 mov         r2, #0
  008cc	e3a01008	 mov         r1, #8
  008d0	e28d0018	 add         r0, sp, #0x18
  008d4	eb000000	 bl          |?DVDSetupReadTitleKey@@YAKPAU_ATAPI_COMMAND_PACKET@@EEK@Z|
  008d8	e58d0048	 str         r0, [sp, #0x48]
  008dc	e59d3048	 ldr         r3, [sp, #0x48]
  008e0	e58d302c	 str         r3, [sp, #0x2C]

; 315  :     SgBuf.sb_len = sizeof(RKFMT_RPC);

  008e4	e3a03008	 mov         r3, #8
  008e8	e58d3034	 str         r3, [sp, #0x34]

; 316  :     SgBuf.sb_buf = (PBYTE) &rpcData;

  008ec	e28d3008	 add         r3, sp, #8
  008f0	e58d3030	 str         r3, [sp, #0x30]

; 317  : 
; 318  :     // send command
; 319  :     if (AtapiSendCommand(&CmdPkt)) {

  008f4	e3a03000	 mov         r3, #0
  008f8	e3a02000	 mov         r2, #0
  008fc	e28d1018	 add         r1, sp, #0x18
  00900	e59d0088	 ldr         r0, [sp, #0x88]
  00904	eb000000	 bl          |?AtapiSendCommand@CPCIDiskAndCD@@QAAHPAU_ATAPI_COMMAND_PACKET@@GH@Z|
  00908	e58d004c	 str         r0, [sp, #0x4C]
  0090c	e59d304c	 ldr         r3, [sp, #0x4C]
  00910	e3530000	 cmp         r3, #0
  00914	0a0000d5	 beq         |$L32217|

; 320  :         // fetch result
; 321  :         if (AtapiReceiveData(&SgBuf, 1, &dwRet)) {

  00918	e28d3010	 add         r3, sp, #0x10
  0091c	e3a02001	 mov         r2, #1
  00920	e28d1030	 add         r1, sp, #0x30
  00924	e59d0088	 ldr         r0, [sp, #0x88]
  00928	eb000000	 bl          |?AtapiReceiveData@CPCIDiskAndCD@@QAAHPAU_SGX_BUF@@KPAK@Z|
  0092c	e58d0050	 str         r0, [sp, #0x50]
  00930	e59d3050	 ldr         r3, [sp, #0x50]
  00934	e3530000	 cmp         r3, #0
  00938	0a0000ba	 beq         |$L32218|

; 322  :             DUMP_REPORT_KEY(rpcData);

  0093c	e5dd300c	 ldrb        r3, [sp, #0xC]
  00940	e31300c0	 tst         r3, #0xC0
  00944	1a00000f	 bne         |$L32219|
  00948	e59f3380	 ldr         r3, [pc, #0x380]
  0094c	e5933440	 ldr         r3, [r3, #0x440]
  00950	e2032a02	 and         r2, r3, #2, 20
  00954	e59f3374	 ldr         r3, [pc, #0x374]
  00958	e5933440	 ldr         r3, [r3, #0x440]
  0095c	e2033080	 and         r3, r3, #0x80
  00960	e1923003	 orrs        r3, r2, r3
  00964	0a000004	 beq         |$L32420|
  00968	e59f0388	 ldr         r0, [pc, #0x388]
  0096c	eb000000	 bl          NKDbgPrintfW
  00970	e3a03001	 mov         r3, #1
  00974	e58d3054	 str         r3, [sp, #0x54]
  00978	ea000001	 b           |$L32421|
  0097c		 |$L32420|
  0097c	e3a03000	 mov         r3, #0
  00980	e58d3054	 str         r3, [sp, #0x54]
  00984		 |$L32421|
  00984	ea00003a	 b           |$L32222|
  00988		 |$L32219|
  00988	e5dd300c	 ldrb        r3, [sp, #0xC]
  0098c	e20330c0	 and         r3, r3, #0xC0
  00990	e3530040	 cmp         r3, #0x40
  00994	1a00000f	 bne         |$L32223|
  00998	e59f3330	 ldr         r3, [pc, #0x330]
  0099c	e5933440	 ldr         r3, [r3, #0x440]
  009a0	e2032a02	 and         r2, r3, #2, 20
  009a4	e59f3324	 ldr         r3, [pc, #0x324]
  009a8	e5933440	 ldr         r3, [r3, #0x440]
  009ac	e2033080	 and         r3, r3, #0x80
  009b0	e1923003	 orrs        r3, r2, r3
  009b4	0a000004	 beq         |$L32422|
  009b8	e59f0334	 ldr         r0, [pc, #0x334]
  009bc	eb000000	 bl          NKDbgPrintfW
  009c0	e3a03001	 mov         r3, #1
  009c4	e58d3058	 str         r3, [sp, #0x58]
  009c8	ea000001	 b           |$L32423|
  009cc		 |$L32422|
  009cc	e3a03000	 mov         r3, #0
  009d0	e58d3058	 str         r3, [sp, #0x58]
  009d4		 |$L32423|
  009d4	ea000026	 b           |$L32226|
  009d8		 |$L32223|
  009d8	e5dd300c	 ldrb        r3, [sp, #0xC]
  009dc	e20330c0	 and         r3, r3, #0xC0
  009e0	e3530080	 cmp         r3, #0x80
  009e4	1a00000f	 bne         |$L32227|
  009e8	e59f32e0	 ldr         r3, [pc, #0x2E0]
  009ec	e5933440	 ldr         r3, [r3, #0x440]
  009f0	e2032a02	 and         r2, r3, #2, 20
  009f4	e59f32d4	 ldr         r3, [pc, #0x2D4]
  009f8	e5933440	 ldr         r3, [r3, #0x440]
  009fc	e2033080	 and         r3, r3, #0x80
  00a00	e1923003	 orrs        r3, r2, r3
  00a04	0a000004	 beq         |$L32424|
  00a08	e59f02e0	 ldr         r0, [pc, #0x2E0]
  00a0c	eb000000	 bl          NKDbgPrintfW
  00a10	e3a03001	 mov         r3, #1
  00a14	e58d305c	 str         r3, [sp, #0x5C]
  00a18	ea000001	 b           |$L32425|
  00a1c		 |$L32424|
  00a1c	e3a03000	 mov         r3, #0
  00a20	e58d305c	 str         r3, [sp, #0x5C]
  00a24		 |$L32425|
  00a24	ea000012	 b           |$L32230|
  00a28		 |$L32227|
  00a28	e5dd300c	 ldrb        r3, [sp, #0xC]
  00a2c	e20330c0	 and         r3, r3, #0xC0
  00a30	e35300c0	 cmp         r3, #0xC0
  00a34	1a00000e	 bne         |$L32231|
  00a38	e59f3290	 ldr         r3, [pc, #0x290]
  00a3c	e5933440	 ldr         r3, [r3, #0x440]
  00a40	e2032a02	 and         r2, r3, #2, 20
  00a44	e59f3284	 ldr         r3, [pc, #0x284]
  00a48	e5933440	 ldr         r3, [r3, #0x440]
  00a4c	e2033080	 and         r3, r3, #0x80
  00a50	e1923003	 orrs        r3, r2, r3
  00a54	0a000004	 beq         |$L32426|
  00a58	e59f028c	 ldr         r0, [pc, #0x28C]
  00a5c	eb000000	 bl          NKDbgPrintfW
  00a60	e3a03001	 mov         r3, #1
  00a64	e58d3060	 str         r3, [sp, #0x60]
  00a68	ea000001	 b           |$L32427|
  00a6c		 |$L32426|
  00a6c	e3a03000	 mov         r3, #0
  00a70	e58d3060	 str         r3, [sp, #0x60]
  00a74		 |$L32427|
  00a74		 |$L32231|
  00a74		 |$L32230|
  00a74		 |$L32226|
  00a74		 |$L32222|
  00a74	e59f3254	 ldr         r3, [pc, #0x254]
  00a78	e5933440	 ldr         r3, [r3, #0x440]
  00a7c	e2032a02	 and         r2, r3, #2, 20
  00a80	e59f3248	 ldr         r3, [pc, #0x248]
  00a84	e5933440	 ldr         r3, [r3, #0x440]
  00a88	e2033080	 and         r3, r3, #0x80
  00a8c	e1923003	 orrs        r3, r2, r3
  00a90	0a000007	 beq         |$L32428|
  00a94	e5dd300c	 ldrb        r3, [sp, #0xC]
  00a98	e2033038	 and         r3, r3, #0x38
  00a9c	e1a011c3	 mov         r1, r3, asr #3
  00aa0	e59f0240	 ldr         r0, [pc, #0x240]
  00aa4	eb000000	 bl          NKDbgPrintfW
  00aa8	e3a03001	 mov         r3, #1
  00aac	e58d3064	 str         r3, [sp, #0x64]
  00ab0	ea000001	 b           |$L32429|
  00ab4		 |$L32428|
  00ab4	e3a03000	 mov         r3, #0
  00ab8	e58d3064	 str         r3, [sp, #0x64]
  00abc		 |$L32429|
  00abc	e59f320c	 ldr         r3, [pc, #0x20C]
  00ac0	e5933440	 ldr         r3, [r3, #0x440]
  00ac4	e2032a02	 and         r2, r3, #2, 20
  00ac8	e59f3200	 ldr         r3, [pc, #0x200]
  00acc	e5933440	 ldr         r3, [r3, #0x440]
  00ad0	e2033080	 and         r3, r3, #0x80
  00ad4	e1923003	 orrs        r3, r2, r3
  00ad8	0a000006	 beq         |$L32430|
  00adc	e5dd300c	 ldrb        r3, [sp, #0xC]
  00ae0	e2031007	 and         r1, r3, #7
  00ae4	e59f01f8	 ldr         r0, [pc, #0x1F8]
  00ae8	eb000000	 bl          NKDbgPrintfW
  00aec	e3a03001	 mov         r3, #1
  00af0	e58d3068	 str         r3, [sp, #0x68]
  00af4	ea000001	 b           |$L32431|
  00af8		 |$L32430|
  00af8	e3a03000	 mov         r3, #0
  00afc	e58d3068	 str         r3, [sp, #0x68]
  00b00		 |$L32431|
  00b00	e59f31c8	 ldr         r3, [pc, #0x1C8]
  00b04	e5933440	 ldr         r3, [r3, #0x440]
  00b08	e2032a02	 and         r2, r3, #2, 20
  00b0c	e59f31bc	 ldr         r3, [pc, #0x1BC]
  00b10	e5933440	 ldr         r3, [r3, #0x440]
  00b14	e2033080	 and         r3, r3, #0x80
  00b18	e1923003	 orrs        r3, r2, r3
  00b1c	0a000006	 beq         |$L32432|
  00b20	e5dd300d	 ldrb        r3, [sp, #0xD]
  00b24	e22310ff	 eor         r1, r3, #0xFF
  00b28	e59f01b0	 ldr         r0, [pc, #0x1B0]
  00b2c	eb000000	 bl          NKDbgPrintfW
  00b30	e3a03001	 mov         r3, #1
  00b34	e58d306c	 str         r3, [sp, #0x6C]
  00b38	ea000001	 b           |$L32433|
  00b3c		 |$L32432|
  00b3c	e3a03000	 mov         r3, #0
  00b40	e58d306c	 str         r3, [sp, #0x6C]
  00b44		 |$L32433|
  00b44	e59f3184	 ldr         r3, [pc, #0x184]
  00b48	e5933440	 ldr         r3, [r3, #0x440]
  00b4c	e2032a02	 and         r2, r3, #2, 20
  00b50	e59f3178	 ldr         r3, [pc, #0x178]
  00b54	e5933440	 ldr         r3, [r3, #0x440]
  00b58	e2033080	 and         r3, r3, #0x80
  00b5c	e1923003	 orrs        r3, r2, r3
  00b60	0a000006	 beq         |$L32434|
  00b64	e5dd300e	 ldrb        r3, [sp, #0xE]
  00b68	e1a01003	 mov         r1, r3
  00b6c	e59f0168	 ldr         r0, [pc, #0x168]
  00b70	eb000000	 bl          NKDbgPrintfW
  00b74	e3a03001	 mov         r3, #1
  00b78	e58d3070	 str         r3, [sp, #0x70]
  00b7c	ea000001	 b           |$L32435|
  00b80		 |$L32434|
  00b80	e3a03000	 mov         r3, #0
  00b84	e58d3070	 str         r3, [sp, #0x70]
  00b88		 |$L32435|

; 323  :             // is the drive in a non-NONE RPC state?
; 324  :             if (rpcData.ResetCounts & 0xc0) {

  00b88	e5dd300c	 ldrb        r3, [sp, #0xC]
  00b8c	e31300c0	 tst         r3, #0xC0
  00b90	0a00000c	 beq         |$L32242|

; 325  :                 // the drive is in SET, LAST CHANCE or PERM, i.e., this drive
; 326  :                 // has had its region set already
; 327  :                 preg->SystemRegion = rpcData.SystemRegion ^ 0xFF;

  00b94	e5dd300d	 ldrb        r3, [sp, #0xD]
  00b98	e22330ff	 eor         r3, r3, #0xFF
  00b9c	e20320ff	 and         r2, r3, #0xFF
  00ba0	e59d3000	 ldr         r3, [sp]
  00ba4	e2833006	 add         r3, r3, #6
  00ba8	e5c32000	 strb        r2, [r3]

; 328  :                 preg->ResetCount = rpcData.ResetCounts & 0x07;

  00bac	e5dd300c	 ldrb        r3, [sp, #0xC]
  00bb0	e2033007	 and         r3, r3, #7
  00bb4	e20320ff	 and         r2, r3, #0xFF
  00bb8	e59d3000	 ldr         r3, [sp]
  00bbc	e2833007	 add         r3, r3, #7
  00bc0	e5c32000	 strb        r2, [r3]

; 329  :             }
; 330  :             else {

  00bc4	ea000016	 b           |$L32243|
  00bc8		 |$L32242|

; 331  :                 // the drive is in NONE, i.e., this drive is a virgin
; 332  :                 DEBUGMSG(ZONE_ERROR|ZONE_CDROM, (_T(
; 333  :                     "Atapi!CPCIDiskAndCD::DVDGetRegion> Region has never been set\r\n"
; 334  :                     )));

  00bc8	e59f3100	 ldr         r3, [pc, #0x100]
  00bcc	e5933440	 ldr         r3, [r3, #0x440]
  00bd0	e2032a02	 and         r2, r3, #2, 20
  00bd4	e59f30f4	 ldr         r3, [pc, #0xF4]
  00bd8	e5933440	 ldr         r3, [r3, #0x440]
  00bdc	e2033080	 and         r3, r3, #0x80
  00be0	e1923003	 orrs        r3, r2, r3
  00be4	0a000004	 beq         |$L32436|
  00be8	e59f00e8	 ldr         r0, [pc, #0xE8]
  00bec	eb000000	 bl          NKDbgPrintfW
  00bf0	e3a03001	 mov         r3, #1
  00bf4	e58d3074	 str         r3, [sp, #0x74]
  00bf8	ea000001	 b           |$L32437|
  00bfc		 |$L32436|
  00bfc	e3a03000	 mov         r3, #0
  00c00	e58d3074	 str         r3, [sp, #0x74]
  00c04		 |$L32437|

; 335  :                 preg->SystemRegion = 0xFF;

  00c04	e59d3000	 ldr         r3, [sp]
  00c08	e2832006	 add         r2, r3, #6
  00c0c	e3a030ff	 mov         r3, #0xFF
  00c10	e5c23000	 strb        r3, [r2]

; 336  :                 preg->ResetCount = 5;

  00c14	e59d3000	 ldr         r3, [sp]
  00c18	e2832007	 add         r2, r3, #7
  00c1c	e3a03005	 mov         r3, #5
  00c20	e5c23000	 strb        r3, [r2]
  00c24		 |$L32243|

; 337  :             }
; 338  :         }
; 339  :         else {

  00c24	ea000010	 b           |$L32246|
  00c28		 |$L32218|

; 340  :             DEBUGMSG(ZONE_ERROR|ZONE_CDROM, (TEXT(
; 341  :                 "Atapi!CPCIDiskAndCD::DVDGetRegion> Failed to receive REPORT KEY response\r\n"
; 342  :                 )));

  00c28	e59f30a0	 ldr         r3, [pc, #0xA0]
  00c2c	e5933440	 ldr 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -