Three rows the port is blocked on: H3 -- 2 units per guest frame, measured on the plate's own ramp against a pre-registration. Their 5 excluded by >2x, and the reason named: an alpha step is not a clock rate without the element's declared T, and my own splash-quad-timeline.txt published alpha against frame with no T column. That file now warns at its head. The title settle anchor is t~160, not t=118 -- it is ptcopyright, the last build-in element and the only glyph one. Said plainly that this is the reading under which their clock:'shared' collapses, and that a consequence is not a counter-argument. Told them NOT to change their 60 units/s yet: units/second is untouched by this and two of my own captures disagree ~2.9x on frames->seconds. The pad: sub_82457038 reads every field of XINPUT_GAMEPAD, 14/14 loads verified against the image, plus a second keystroke-queue path. Flagged as the superset the game can SEE, not the per-screen set, so it is used to check a binding table and not to write one.
58 lines
3.3 KiB
Plaintext
58 lines
3.3 KiB
Plaintext
# The pad poll sub_82457038: every XINPUT_GAMEPAD field it reads, and the
|
|
# image bytes that prove it. VA -> file offset is VA - 0x82000000.
|
|
# Database used as an index only; the image is the authority.
|
|
|
|
## disassembly of the field-compare block, image bytes beside each line
|
|
0x82457220 817E0000 lwz r11, 0(r30)
|
|
0x82457224 815F0034 lwz r10, 52(r31)
|
|
0x82457228 7F0B5040 cmpl cr6, 0, r11, r10
|
|
0x8245722C 419A0074 bc 12, 4*cr6+eq, 0x824572A0
|
|
0x82457230 A17F0038 lhz r11, 56(r31)
|
|
0x82457234 A15F0028 lhz r10, 40(r31)
|
|
0x82457238 7F0A5840 cmpl cr6, 0, r10, r11
|
|
0x8245723C 409AFFCC bc 4, 4*cr6+eq, 0x82457208
|
|
0x82457240 897F003A lbz r11, 58(r31)
|
|
0x82457244 895F002A lbz r10, 42(r31)
|
|
0x82457248 7F0A5840 cmpl cr6, 0, r10, r11
|
|
0x8245724C 409AFFBC bc 4, 4*cr6+eq, 0x82457208
|
|
0x82457250 897F003B lbz r11, 59(r31)
|
|
0x82457254 895F002B lbz r10, 43(r31)
|
|
0x82457258 7F0A5840 cmpl cr6, 0, r10, r11
|
|
0x8245725C 409AFFAC bc 4, 4*cr6+eq, 0x82457208
|
|
0x82457260 A17F003C lhz r11, 60(r31)
|
|
0x82457264 A15F002C lhz r10, 44(r31)
|
|
0x82457268 7F0A5840 cmpl cr6, 0, r10, r11
|
|
0x8245726C 409AFF9C bc 4, 4*cr6+eq, 0x82457208
|
|
0x82457270 A17F003E lhz r11, 62(r31)
|
|
0x82457274 A15F002E lhz r10, 46(r31)
|
|
0x82457278 7F0A5840 cmpl cr6, 0, r10, r11
|
|
0x8245727C 409AFF8C bc 4, 4*cr6+eq, 0x82457208
|
|
0x82457280 A17F0040 lhz r11, 64(r31)
|
|
0x82457284 A15F0030 lhz r10, 48(r31)
|
|
0x82457288 7F0A5840 cmpl cr6, 0, r10, r11
|
|
0x8245728C 409AFF7C bc 4, 4*cr6+eq, 0x82457208
|
|
0x82457290 A17F0042 lhz r11, 66(r31)
|
|
0x82457294 A15F0032 lhz r10, 50(r31)
|
|
0x82457298 7F0A5840 cmpl cr6, 0, r10, r11
|
|
0x8245729C 409AFF6C bc 4, 4*cr6+eq, 0x82457208
|
|
0x824572A0 38600000 addi r3, r0, 0
|
|
0x824572A4 38210090 addi r1, r1, 144
|
|
|
|
## independent re-encoding check (opcode|rD|rA|d rebuilt from the operands)
|
|
0x82457230 image=0xA17F0038 expect=0xA17F0038 OK lhz r11,56(r31) prev wButtons
|
|
0x82457234 image=0xA15F0028 expect=0xA15F0028 OK lhz r10,40(r31) new wButtons
|
|
0x82457240 image=0x897F003A expect=0x897F003A OK lbz r11,58(r31) prev bLeftTrigger
|
|
0x82457244 image=0x895F002A expect=0x895F002A OK lbz r10,42(r31) new bLeftTrigger
|
|
0x82457250 image=0x897F003B expect=0x897F003B OK lbz r11,59(r31) prev bRightTrigger
|
|
0x82457254 image=0x895F002B expect=0x895F002B OK lbz r10,43(r31) new bRightTrigger
|
|
0x82457260 image=0xA17F003C expect=0xA17F003C OK lhz r11,60(r31) prev sThumbLX
|
|
0x82457264 image=0xA15F002C expect=0xA15F002C OK lhz r10,44(r31) new sThumbLX
|
|
0x82457270 image=0xA17F003E expect=0xA17F003E OK lhz r11,62(r31) prev sThumbLY
|
|
0x82457274 image=0xA15F002E expect=0xA15F002E OK lhz r10,46(r31) new sThumbLY
|
|
0x82457280 image=0xA17F0040 expect=0xA17F0040 OK lhz r11,64(r31) prev sThumbRX
|
|
0x82457284 image=0xA15F0030 expect=0xA15F0030 OK lhz r10,48(r31) new sThumbRX
|
|
0x82457290 image=0xA17F0042 expect=0xA17F0042 OK lhz r11,66(r31) prev sThumbRY
|
|
0x82457294 image=0xA15F0032 expect=0xA15F0032 OK lhz r10,50(r31) new sThumbRY
|
|
|
|
14/14 agree. The state buffer is at r31+36; the previous copy at r31+52.
|