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

📄 atapipcicd.cod

📁 2440 CE500BSP包, EBOOT可用DEBUG版调试
💻 COD
📖 第 1 页 / 共 2 页
字号:
  000c0	e24dd01c	 sub         sp, sp, #0x1C
  000c4		 |$M32208|

; 72   :     DWORD dwError;
; 73   : 
; 74   :     DEBUGMSG(ZONE_IOCTL, (_T(
; 75   :         "Atapi!CPCIDiskAndCD::MainIoctl> IOCTL(0x%x), device(%d)\r\n"
; 76   :         ),pIOReq->dwCode, m_dwDeviceId));

  000c4	e59f3364	 ldr         r3, [pc, #0x364]
  000c8	e5933440	 ldr         r3, [r3, #0x440]
  000cc	e3130040	 tst         r3, #0x40
  000d0	0a00000b	 beq         |$L32197|
  000d4	e59d3024	 ldr         r3, [sp, #0x24]
  000d8	e2833b01	 add         r3, r3, #1, 22
  000dc	e2833088	 add         r3, r3, #0x88
  000e0	e5932000	 ldr         r2, [r3]
  000e4	e59d3028	 ldr         r3, [sp, #0x28]
  000e8	e2833014	 add         r3, r3, #0x14
  000ec	e5931000	 ldr         r1, [r3]
  000f0	e59f0334	 ldr         r0, [pc, #0x334]
  000f4	eb000000	 bl          NKDbgPrintfW
  000f8	e3a03001	 mov         r3, #1
  000fc	e58d3008	 str         r3, [sp, #8]
  00100	ea000001	 b           |$L32198|
  00104		 |$L32197|
  00104	e3a03000	 mov         r3, #0
  00108	e58d3008	 str         r3, [sp, #8]
  0010c		 |$L32198|

; 77   : 
; 78   :     dwError = CPCIDisk::MainIoctl(pIOReq);

  0010c	e59d1028	 ldr         r1, [sp, #0x28]
  00110	e59d0024	 ldr         r0, [sp, #0x24]
  00114	eb000000	 bl          |?MainIoctl@CPCIDisk@@UAAKPAU_IOREQ@@@Z|
  00118	e58d000c	 str         r0, [sp, #0xC]
  0011c	e59d300c	 ldr         r3, [sp, #0xC]
  00120	e58d3000	 str         r3, [sp]

; 79   : 
; 80   :     if (dwError == ERROR_NOT_SUPPORTED) {

  00124	e59d3000	 ldr         r3, [sp]
  00128	e3530032	 cmp         r3, #0x32
  0012c	1a0000b8	 bne         |$L32117|

; 81   : 
; 82   :         switch(pIOReq->dwCode) {

  00130	e59d3028	 ldr         r3, [sp, #0x28]
  00134	e2833014	 add         r3, r3, #0x14
  00138	e5933000	 ldr         r3, [r3]
  0013c	e58d3010	 str         r3, [sp, #0x10]
  00140	e59d2010	 ldr         r2, [sp, #0x10]
  00144	e3a03909	 mov         r3, #9, 18
  00148	e3833038	 orr         r3, r3, #0x38
  0014c	e1520003	 cmp         r2, r3
  00150	8a000051	 bhi         |$L32199|
  00154	e59d2010	 ldr         r2, [sp, #0x10]
  00158	e3a03909	 mov         r3, #9, 18
  0015c	e3833038	 orr         r3, r3, #0x38
  00160	e1520003	 cmp         r2, r3
  00164	0a000097	 beq         |$L32122|
  00168	e59d2010	 ldr         r2, [sp, #0x10]
  0016c	e3a03909	 mov         r3, #9, 18
  00170	e3833010	 orr         r3, r3, #0x10
  00174	e1520003	 cmp         r2, r3
  00178	8a000027	 bhi         |$L32200|
  0017c	e59d2010	 ldr         r2, [sp, #0x10]
  00180	e3a03909	 mov         r3, #9, 18
  00184	e3833010	 orr         r3, r3, #0x10
  00188	e1520003	 cmp         r2, r3
  0018c	0a00008d	 beq         |$L32122|
  00190	e59d2010	 ldr         r2, [sp, #0x10]
  00194	e3a03909	 mov         r3, #9, 18
  00198	e3833004	 orr         r3, r3, #4
  0019c	e1520003	 cmp         r2, r3
  001a0	8a000012	 bhi         |$L32201|
  001a4	e59d2010	 ldr         r2, [sp, #0x10]
  001a8	e3a03909	 mov         r3, #9, 18
  001ac	e3833004	 orr         r3, r3, #4
  001b0	e1520003	 cmp         r2, r3
  001b4	0a000083	 beq         |$L32122|
  001b8	e59d2010	 ldr         r2, [sp, #0x10]
  001bc	e3a03802	 mov         r3, #2, 16
  001c0	e3833040	 orr         r3, r3, #0x40
  001c4	e1520003	 cmp         r2, r3
  001c8	0a00007e	 beq         |$L32122|
  001cc	e59d2010	 ldr         r2, [sp, #0x10]
  001d0	e3a03802	 mov         r3, #2, 16
  001d4	e3833080	 orr         r3, r3, #0x80
  001d8	e1520003	 cmp         r2, r3
  001dc	0a000079	 beq         |$L32122|
  001e0	e59d3010	 ldr         r3, [sp, #0x10]
  001e4	e3530909	 cmp         r3, #9, 18
  001e8	0a000076	 beq         |$L32122|
  001ec	ea000086	 b           |$L32125|
  001f0		 |$L32201|
  001f0	e59d2010	 ldr         r2, [sp, #0x10]
  001f4	e3a03909	 mov         r3, #9, 18
  001f8	e3833008	 orr         r3, r3, #8
  001fc	e1520003	 cmp         r2, r3
  00200	0a000070	 beq         |$L32122|
  00204	e59d2010	 ldr         r2, [sp, #0x10]
  00208	e3a03909	 mov         r3, #9, 18
  0020c	e383300c	 orr         r3, r3, #0xC
  00210	e1520003	 cmp         r2, r3
  00214	0a00006b	 beq         |$L32122|
  00218	ea00007b	 b           |$L32125|
  0021c		 |$L32200|
  0021c	e59d2010	 ldr         r2, [sp, #0x10]
  00220	e3a03909	 mov         r3, #9, 18
  00224	e3833028	 orr         r3, r3, #0x28
  00228	e1520003	 cmp         r2, r3
  0022c	8a00000f	 bhi         |$L32202|
  00230	e59d2010	 ldr         r2, [sp, #0x10]
  00234	e3a03909	 mov         r3, #9, 18
  00238	e3833028	 orr         r3, r3, #0x28
  0023c	e1520003	 cmp         r2, r3
  00240	0a000060	 beq         |$L32122|
  00244	e59d2010	 ldr         r2, [sp, #0x10]
  00248	e3a03909	 mov         r3, #9, 18
  0024c	e3833014	 orr         r3, r3, #0x14
  00250	e1520003	 cmp         r2, r3
  00254	0a00005b	 beq         |$L32122|
  00258	e59d2010	 ldr         r2, [sp, #0x10]
  0025c	e3a03909	 mov         r3, #9, 18
  00260	e3833018	 orr         r3, r3, #0x18
  00264	e1520003	 cmp         r2, r3
  00268	0a000056	 beq         |$L32122|
  0026c	ea000066	 b           |$L32125|
  00270		 |$L32202|
  00270	e59d2010	 ldr         r2, [sp, #0x10]
  00274	e3a03909	 mov         r3, #9, 18
  00278	e383302c	 orr         r3, r3, #0x2C
  0027c	e1520003	 cmp         r2, r3
  00280	0a000050	 beq         |$L32122|
  00284	e59d2010	 ldr         r2, [sp, #0x10]
  00288	e3a03909	 mov         r3, #9, 18
  0028c	e3833034	 orr         r3, r3, #0x34
  00290	e1520003	 cmp         r2, r3
  00294	0a00004b	 beq         |$L32122|
  00298	ea00005b	 b           |$L32125|
  0029c		 |$L32199|
  0029c	e59d2010	 ldr         r2, [sp, #0x10]
  002a0	e3a03b93	 mov         r3, #0x93, 22
  002a4	e383301c	 orr         r3, r3, #0x1C
  002a8	e1520003	 cmp         r2, r3
  002ac	8a000029	 bhi         |$L32203|
  002b0	e59d2010	 ldr         r2, [sp, #0x10]
  002b4	e3a03b93	 mov         r3, #0x93, 22
  002b8	e383301c	 orr         r3, r3, #0x1C
  002bc	e1520003	 cmp         r2, r3
  002c0	0a000040	 beq         |$L32122|
  002c4	e59d2010	 ldr         r2, [sp, #0x10]
  002c8	e3a03b93	 mov         r3, #0x93, 22
  002cc	e3833004	 orr         r3, r3, #4
  002d0	e1520003	 cmp         r2, r3
  002d4	8a000014	 bhi         |$L32204|
  002d8	e59d2010	 ldr         r2, [sp, #0x10]
  002dc	e3a03b93	 mov         r3, #0x93, 22
  002e0	e3833004	 orr         r3, r3, #4
  002e4	e1520003	 cmp         r2, r3
  002e8	0a000036	 beq         |$L32122|
  002ec	e59d2010	 ldr         r2, [sp, #0x10]
  002f0	e3a03909	 mov         r3, #9, 18
  002f4	e383303e	 orr         r3, r3, #0x3E
  002f8	e1520003	 cmp         r2, r3
  002fc	0a000031	 beq         |$L32122|
  00300	e59d2010	 ldr         r2, [sp, #0x10]
  00304	e3a03b92	 mov         r3, #0x92, 22
  00308	e3833008	 orr         r3, r3, #8
  0030c	e1520003	 cmp         r2, r3
  00310	0a00002c	 beq         |$L32122|
  00314	e59d2010	 ldr         r2, [sp, #0x10]
  00318	e3a03b92	 mov         r3, #0x92, 22
  0031c	e383300c	 orr         r3, r3, #0xC
  00320	e1520003	 cmp         r2, r3
  00324	0a000027	 beq         |$L32122|
  00328	ea000037	 b           |$L32125|
  0032c		 |$L32204|
  0032c	e59d2010	 ldr         r2, [sp, #0x10]
  00330	e3a03b93	 mov         r3, #0x93, 22
  00334	e3833008	 orr         r3, r3, #8
  00338	e1520003	 cmp         r2, r3
  0033c	0a000021	 beq         |$L32122|
  00340	e59d2010	 ldr         r2, [sp, #0x10]
  00344	e3a03b93	 mov         r3, #0x93, 22
  00348	e383300c	 orr         r3, r3, #0xC
  0034c	e1520003	 cmp         r2, r3
  00350	0a00001c	 beq         |$L32122|
  00354	ea00002c	 b           |$L32125|
  00358		 |$L32203|
  00358	e59d3010	 ldr         r3, [sp, #0x10]
  0035c	e24339cd	 sub         r3, r3, #0xCD, 18
  00360	e58d3010	 str         r3, [sp, #0x10]
  00364	e59d3010	 ldr         r3, [sp, #0x10]
  00368	e3530010	 cmp         r3, #0x10
  0036c	8a000026	 bhi         |$L32125|
  00370	e59d2010	 ldr         r2, [sp, #0x10]
  00374	e1a03102	 mov         r3, r2, lsl #2
  00378	e083300f	 add         r3, r3, pc
  0037c	e5933004	 ldr         r3, [r3, #4]
  00380	e08ff003	 add         pc, pc, r3
  00384		 |$L32207|
  00384		 |$L32206|
  00384	00000040	 DCD         0x40
  00388	00000084	 DCD         0x84
  0038c	00000084	 DCD         0x84
  00390	00000084	 DCD         0x84
  00394	00000040	 DCD         0x40
  00398	00000084	 DCD         0x84
  0039c	00000084	 DCD         0x84
  003a0	00000084	 DCD         0x84
  003a4	00000040	 DCD         0x40
  003a8	00000084	 DCD         0x84
  003ac	00000084	 DCD         0x84
  003b0	00000084	 DCD         0x84
  003b4	00000040	 DCD         0x40
  003b8	00000084	 DCD         0x84
  003bc	00000084	 DCD         0x84
  003c0	00000084	 DCD         0x84
  003c4	00000040	 DCD         0x40
  003c8		 |$L32122|

; 83   : 
; 84   :             // supported ATAPI commands
; 85   :             case IOCTL_CDROM_READ_SG:
; 86   :             case IOCTL_CDROM_TEST_UNIT_READY:
; 87   :             case IOCTL_CDROM_DISC_INFO:
; 88   :             case IOCTL_CDROM_EJECT_MEDIA:
; 89   :             case IOCTL_CDROM_LOAD_MEDIA:
; 90   : 
; 91   :             // supported DVD commands
; 92   :             case IOCTL_DVD_START_SESSION:
; 93   :             case IOCTL_DVD_READ_KEY:
; 94   :             case IOCTL_DVD_END_SESSION:
; 95   :             case IOCTL_DVD_SEND_KEY:
; 96   :             case IOCTL_DVD_GET_REGION:
; 97   : 
; 98   :             // supported audio commands
; 99   :             case IOCTL_CDROM_READ_TOC:
; 100  :             case IOCTL_CDROM_GET_CONTROL:
; 101  :             case IOCTL_CDROM_PLAY_AUDIO_MSF:
; 102  :             case IOCTL_CDROM_SEEK_AUDIO_MSF:
; 103  :             case IOCTL_CDROM_STOP_AUDIO:
; 104  :             case IOCTL_CDROM_PAUSE_AUDIO:
; 105  :             case IOCTL_CDROM_RESUME_AUDIO:
; 106  :             case IOCTL_CDROM_GET_VOLUME:
; 107  :             case IOCTL_CDROM_SET_VOLUME:
; 108  :             case IOCTL_CDROM_READ_Q_CHANNEL:
; 109  :             case IOCTL_CDROM_GET_LAST_SESSION:
; 110  :             case IOCTL_CDROM_RAW_READ:
; 111  :             case IOCTL_CDROM_DISK_TYPE:
; 112  :             case IOCTL_CDROM_SCAN_AUDIO:
; 113  :             case IOCTL_CDROM_ISSUE_INQUIRY:
; 114  : 
; 115  :                 if (IsAtapiDevice()) {

  003c8	e59d0024	 ldr         r0, [sp, #0x24]
  003cc	eb000000	 bl          |?IsAtapiDevice@CDisk@@QAAHXZ|
  003d0	e58d0014	 str         r0, [sp, #0x14]
  003d4	e59d3014	 ldr         r3, [sp, #0x14]
  003d8	e3530000	 cmp         r3, #0
  003dc	0a000006	 beq         |$L32123|

; 116  :                     dwError = AtapiIoctl(pIOReq);

  003e0	e59d1028	 ldr         r1, [sp, #0x28]
  003e4	e59d0024	 ldr         r0, [sp, #0x24]
  003e8	eb000000	 bl          |?AtapiIoctl@CPCIDiskAndCD@@QAAKPAU_IOREQ@@@Z|
  003ec	e58d0018	 str         r0, [sp, #0x18]
  003f0	e59d3018	 ldr         r3, [sp, #0x18]
  003f4	e58d3000	 str         r3, [sp]

; 117  :                 }
; 118  :                 else {

  003f8	ea000002	 b           |$L32124|
  003fc		 |$L32123|

; 119  :                     dwError = ERROR_INVALID_OPERATION;

  003fc	e3a03d43	 mov         r3, #0x43, 26
  00400	e383301d	 orr         r3, r3, #0x1D
  00404	e58d3000	 str         r3, [sp]
  00408		 |$L32124|

; 120  :                 }
; 121  :                 break;

  00408	ea000001	 b           |$L32119|
  0040c		 |$L32125|

; 122  : 
; 123  :             default:
; 124  :                 dwError = ERROR_NOT_SUPPORTED;

  0040c	e3a03032	 mov         r3, #0x32
  00410	e58d3000	 str         r3, [sp]
  00414		 |$L32119|
  00414		 |$L32117|

; 125  :                 break;
; 126  :         }
; 127  :     }
; 128  : 
; 129  :     return dwError;

  00414	e59d3000	 ldr         r3, [sp]
  00418	e58d3004	 str         r3, [sp, #4]
  0041c	e59d0004	 ldr         r0, [sp, #4]

; 130  : }

  00420	e28dd01c	 add         sp, sp, #0x1C
  00424	e89d6000	 ldmia       sp, {sp, lr}
  00428	e12fff1e	 bx          lr
  0042c		 |$L32212|
  0042c	00000000	 DCD         |??_C@_1HE@IGEJDPHE@?$AAA?$AAt?$AAa?$AAp?$AAi?$AA?$CB?$AAC?$AAP?$AAC?$AAI?$AAD?$AAi?$AAs?$AAk?$AAA?$AAn?$AAd?$AAC?$AAD?$AA?3@|
  00430	00000000	 DCD         |dpCurSettings|
  00434		 |$M32209|

			 ENDP  ; |?MainIoctl@CPCIDiskAndCD@@UAAKPAU_IOREQ@@@Z|, CPCIDiskAndCD::MainIoctl

	END

⌨️ 快捷键说明

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