From ebefe7fc9e7b917e0a61cde29178ebae56bc2498 Mon Sep 17 00:00:00 2001 From: Jas Laferriere Date: Mon, 7 Jun 2021 04:14:05 -0700 Subject: [PATCH 01/16] store ticks when input is fetched --- External/Debug Inputs/DebugInputs.s | 10 ++++ External/Debug Inputs/InitBuffer.asm | 30 ++++++++++ External/Debug Inputs/StoreCaptureTimes.asm | 65 +++++++++++++++++++++ Output/Netplay/GALE01r2.ini | 64 ++++++++++++++++++++ Output/Netplay/GALJ01r2.ini | 64 ++++++++++++++++++++ netplay.json | 17 ++++++ 6 files changed, 250 insertions(+) create mode 100644 External/Debug Inputs/DebugInputs.s create mode 100644 External/Debug Inputs/InitBuffer.asm create mode 100644 External/Debug Inputs/StoreCaptureTimes.asm diff --git a/External/Debug Inputs/DebugInputs.s b/External/Debug Inputs/DebugInputs.s new file mode 100644 index 00000000..b0b07391 --- /dev/null +++ b/External/Debug Inputs/DebugInputs.s @@ -0,0 +1,10 @@ + +.set INJ_InitDebugInputs, 0x8016e774 + +.set CIRCULAR_BUFFER_COUNT, 10 + +.set DIB_IS_READY, 0 # u8 +.set DIB_POLL_INDEX, DIB_IS_READY + 1 # u8 +.set DIB_ENGINE_INDEX, DIB_POLL_INDEX + 1 # u8 +.set DIB_CIRCULAR_BUFFER, DIB_ENGINE_INDEX + 1 # u32 * CIRCULAR_BUFFER_COUNT +.set DIB_SIZE, DIB_CIRCULAR_BUFFER + (4 * CIRCULAR_BUFFER_COUNT) \ No newline at end of file diff --git a/External/Debug Inputs/InitBuffer.asm b/External/Debug Inputs/InitBuffer.asm new file mode 100644 index 00000000..19544e7b --- /dev/null +++ b/External/Debug Inputs/InitBuffer.asm @@ -0,0 +1,30 @@ +################################################################################ +# Address: INJ_InitDebugInputs +################################################################################ + +.include "Common/Common.s" +.include "Online/Online.s" # Required for logf buffer, should fix that +.include "./DebugInputs.s" + +b CODE_START + +DATA_BLRL: +blrl +.long 0 # Buffer + +CODE_START: + +# logf LOG_LEVEL_WARN, "Init..." + +li r3, DIB_SIZE +branchl r12, HSD_MemAlloc + +bl DATA_BLRL +mflr r4 +stw r3, 0(r4) # Write address to static address + +li r4, DIB_SIZE +branchl r12, Zero_AreaLength + +EXIT: +lfs f1, -0x5738(rtoc) \ No newline at end of file diff --git a/External/Debug Inputs/StoreCaptureTimes.asm b/External/Debug Inputs/StoreCaptureTimes.asm new file mode 100644 index 00000000..699e494e --- /dev/null +++ b/External/Debug Inputs/StoreCaptureTimes.asm @@ -0,0 +1,65 @@ +################################################################################ +# Address: 0x80376a88 +################################################################################ + +.include "Common/Common.s" +.include "Online/Online.s" # Required for logf buffer, should fix that +.include "./DebugInputs.s" + +# Check if VS Mode +getMinorMajor r3 +cmpwi r3, 0x0202 +bne EXIT + +load r3, 0x80479d64 +lwz r3, 0x0(r3) # 0x80479d64 - Believed to be some loading state +cmpwi r3, 0 # Loading state should be zero when game starts +bne EXIT + +.set REG_DIB, 31 +.set REG_INTERRUPTS, 30 + +backup + +branchl r12, OSDisableInterrupts +mr REG_INTERRUPTS, r3 + +# Fetch DIB +computeBranchTargetAddress r3, INJ_InitDebugInputs +lwz REG_DIB, 8+0(r3) + +# Get and write current tick +branchl r12, 0x8034c408 # OSGetTick +lbz r4, DIB_POLL_INDEX(REG_DIB) +mulli r4, r4, 4 # Get index offset +addi r4, r4, DIB_CIRCULAR_BUFFER +stwx r3, REG_DIB, r4 + +# Log us, not needed +li r4, 486 +divwu r3, r3, r4 +mulli r4, r3, 12 +loadGlobalFrame r3 +logf LOG_LEVEL_WARN, "%d %d", "mr 5, 3", "mr 6, 4" + +# Increment index +lbz r3, DIB_POLL_INDEX(REG_DIB) +addi r3, r3, 1 +cmpwi r3, CIRCULAR_BUFFER_COUNT +blt SKIP_IDX_WRAP +li r3, 0 +SKIP_IDX_WRAP: +stb r3, DIB_POLL_INDEX(REG_DIB) + +# Indicate ready, prevents other functions from running first +li r3, 1 +stb r3, DIB_IS_READY(REG_DIB) + +# Restore interrupts +mr r3, REG_INTERRUPTS +branchl r12, OSRestoreInterrupts + +restore + +EXIT: +lbz r0, 0x0002(r31) # replaced code line \ No newline at end of file diff --git a/Output/Netplay/GALE01r2.ini b/Output/Netplay/GALE01r2.ini index de54982e..93c1a26c 100644 --- a/Output/Netplay/GALE01r2.ini +++ b/Output/Netplay/GALE01r2.ini @@ -5708,3 +5708,67 @@ C22FD1EC 0000000E #Online/Optional/IndicateLocalPlayer/SetLocalPlayerTag.asm 3D808023 618C754C 7D8903A6 4E800421 60000000 00000000 + +$Debug Input Timings [Fizzi] +*Try to debug inputs +C216E774 00000009 #External/Debug Inputs/InitBuffer.asm +4800000C 4E800021 +00000000 3860002B +3D808037 618CF1E4 +7D8903A6 4E800421 +4BFFFFE5 7C8802A6 +90640000 3880002B +3D808000 618CC160 +7D8903A6 4E800421 +C022A8C8 00000000 +C2376A88 00000032 #External/Debug Inputs/StoreCaptureTimes.asm +3C608048 80639D30 +5463443E 2C030202 +40820178 3C608047 +60639D64 80630000 +2C030000 40820164 +7C0802A6 90010004 +9421FF50 BE810008 +3D808034 618C7364 +7D8903A6 4E800421 +7C7E1B78 3C608016 +6063E774 80830000 +5485863E 7CA50774 +54A5801E 5484043A +7C842B78 7C632214 +83E30008 3D808034 +618CC408 7D8903A6 +4E800421 889F0001 +1C840004 38840003 +7C7F212E 388001E6 +7C632396 1C83000C +3C608048 80639D60 +48000010 4E800021 +25642025 64000000 +7C0802A6 90010004 +9421FF00 BC610008 +7C651B78 7C862378 +60000000 60000000 +60000000 806DAFC4 +38630003 4BFFFFC9 +7C8802A6 4CC63242 +3D808032 618C3CF4 +7D8903A6 4E800421 +806DAFC4 388000D0 +98830000 38800000 +98830001 38800003 +98830002 38800080 +38A00001 3D808000 +618C55F0 7D8903A6 +4E800421 B8610008 +80010104 38210100 +7C0803A6 887F0001 +38630001 2C03000A +41800008 38600000 +987F0001 38600001 +987F0000 7FC3F378 +3D808034 618C738C +7D8903A6 4E800421 +BA810008 800100B4 +382100B0 7C0803A6 +881F0002 00000000 diff --git a/Output/Netplay/GALJ01r2.ini b/Output/Netplay/GALJ01r2.ini index f1992e64..c9cad7d1 100644 --- a/Output/Netplay/GALJ01r2.ini +++ b/Output/Netplay/GALJ01r2.ini @@ -5708,3 +5708,67 @@ C22FD1EC 0000000E #Online/Optional/IndicateLocalPlayer/SetLocalPlayerTag.asm 3D808023 618C754C 7D8903A6 4E800421 60000000 00000000 + +$Debug Input Timings [Fizzi] +*Try to debug inputs +C216E774 00000009 #External/Debug Inputs/InitBuffer.asm +4800000C 4E800021 +00000000 3860002B +3D808037 618CF1E4 +7D8903A6 4E800421 +4BFFFFE5 7C8802A6 +90640000 3880002B +3D808000 618CC160 +7D8903A6 4E800421 +C022A8C8 00000000 +C2376A88 00000032 #External/Debug Inputs/StoreCaptureTimes.asm +3C608048 80639D30 +5463443E 2C030202 +40820178 3C608047 +60639D64 80630000 +2C030000 40820164 +7C0802A6 90010004 +9421FF50 BE810008 +3D808034 618C7364 +7D8903A6 4E800421 +7C7E1B78 3C608016 +6063E774 80830000 +5485863E 7CA50774 +54A5801E 5484043A +7C842B78 7C632214 +83E30008 3D808034 +618CC408 7D8903A6 +4E800421 889F0001 +1C840004 38840003 +7C7F212E 388001E6 +7C632396 1C83000C +3C608048 80639D60 +48000010 4E800021 +25642025 64000000 +7C0802A6 90010004 +9421FF00 BC610008 +7C651B78 7C862378 +60000000 60000000 +60000000 806DAFC4 +38630003 4BFFFFC9 +7C8802A6 4CC63242 +3D808032 618C3CF4 +7D8903A6 4E800421 +806DAFC4 388000D0 +98830000 38800000 +98830001 38800003 +98830002 38800080 +38A00001 3D808000 +618C55F0 7D8903A6 +4E800421 B8610008 +80010104 38210100 +7C0803A6 887F0001 +38630001 2C03000A +41800008 38600000 +987F0001 38600001 +987F0000 7FC3F378 +3D808034 618C738C +7D8903A6 4E800421 +BA810008 800100B4 +382100B0 7C0803A6 +881F0002 00000000 diff --git a/netplay.json b/netplay.json index 28ebc3d1..d06f64e1 100644 --- a/netplay.json +++ b/netplay.json @@ -469,6 +469,23 @@ "isRecursive": true } ] + }, + { + "name": "Debug Input Timings", + "authors": [ + "Fizzi" + ], + "description": [ + "Try to debug inputs" + ], + "build": [ + { + "type": "injectFolder", + "sourceFolder": "External/Debug Inputs", + "isRecursive": true, + "annotation": "Debug Inputs" + } + ] } ] } \ No newline at end of file From 17c5100841eeb9ccc4306ae6faea1153f2598698 Mon Sep 17 00:00:00 2001 From: Jas Laferriere Date: Mon, 7 Jun 2021 16:11:34 -0700 Subject: [PATCH 02/16] add macro to increment byte --- External/Debug Inputs/DebugInputs.s | 13 +++++++++++++ External/Debug Inputs/StoreCaptureTimes.asm | 8 +------- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/External/Debug Inputs/DebugInputs.s b/External/Debug Inputs/DebugInputs.s index b0b07391..e168dad1 100644 --- a/External/Debug Inputs/DebugInputs.s +++ b/External/Debug Inputs/DebugInputs.s @@ -1,4 +1,17 @@ +################################################################################ +# Macros +################################################################################ +.macro incrementByte reg, reg_address, offset, limit +lbz \reg, \offset(\reg_address) +addi \reg, \reg, 1 +cmpwi \reg, \limit +blt 0f +li \reg, 0 +0: +stb \reg, \offset(\reg_address) +.endm + .set INJ_InitDebugInputs, 0x8016e774 .set CIRCULAR_BUFFER_COUNT, 10 diff --git a/External/Debug Inputs/StoreCaptureTimes.asm b/External/Debug Inputs/StoreCaptureTimes.asm index 699e494e..73beee70 100644 --- a/External/Debug Inputs/StoreCaptureTimes.asm +++ b/External/Debug Inputs/StoreCaptureTimes.asm @@ -43,13 +43,7 @@ loadGlobalFrame r3 logf LOG_LEVEL_WARN, "%d %d", "mr 5, 3", "mr 6, 4" # Increment index -lbz r3, DIB_POLL_INDEX(REG_DIB) -addi r3, r3, 1 -cmpwi r3, CIRCULAR_BUFFER_COUNT -blt SKIP_IDX_WRAP -li r3, 0 -SKIP_IDX_WRAP: -stb r3, DIB_POLL_INDEX(REG_DIB) +incrementByte r3, REG_DIB, DIB_POLL_INDEX, CIRCULAR_BUFFER_COUNT # Indicate ready, prevents other functions from running first li r3, 1 From 289bf2ee5012464625bd1ef1fb58555243e0969d Mon Sep 17 00:00:00 2001 From: Jas Laferriere Date: Tue, 8 Jun 2021 04:35:27 -0700 Subject: [PATCH 03/16] add timing logic when engine starts --- External/59.94Hz Engine/InGameSpeed.asm | 5 + External/59.94Hz Engine/MenuSpeed.asm | 5 + External/59.94Hz Engine/SetSpeedOnBoot.asm | 5 + External/59.94Hz Engine/TrainingModeSpeed.asm | 5 + External/Debug Inputs/AllocBuffer.asm | 14 ++ External/Debug Inputs/Boot To CSS.asm | 6 + External/Debug Inputs/DebugInputs.s | 32 +++-- External/Debug Inputs/LogEngineTime.asm | 53 ++++++++ External/Debug Inputs/StoreCaptureTimes.asm | 21 ++- Online/Slippi Online Scene/boot.asm | 2 +- Output/Console/g_lag_pd.bin | Bin 48 -> 32 bytes Output/Netplay/GALE01r2.ini | 123 ++++++++++++++---- Output/Netplay/GALJ01r2.ini | 123 ++++++++++++++---- console_lag_pd.json | 13 +- netplay.json | 23 +++- 15 files changed, 348 insertions(+), 82 deletions(-) create mode 100644 External/59.94Hz Engine/InGameSpeed.asm create mode 100644 External/59.94Hz Engine/MenuSpeed.asm create mode 100644 External/59.94Hz Engine/SetSpeedOnBoot.asm create mode 100644 External/59.94Hz Engine/TrainingModeSpeed.asm create mode 100644 External/Debug Inputs/AllocBuffer.asm create mode 100644 External/Debug Inputs/Boot To CSS.asm create mode 100644 External/Debug Inputs/LogEngineTime.asm diff --git a/External/59.94Hz Engine/InGameSpeed.asm b/External/59.94Hz Engine/InGameSpeed.asm new file mode 100644 index 00000000..2fe5f56d --- /dev/null +++ b/External/59.94Hz Engine/InGameSpeed.asm @@ -0,0 +1,5 @@ +################################################################################ +# Address: 0x804DA2A8 +################################################################################ + +.long 0x3C88AB85 \ No newline at end of file diff --git a/External/59.94Hz Engine/MenuSpeed.asm b/External/59.94Hz Engine/MenuSpeed.asm new file mode 100644 index 00000000..10cfb783 --- /dev/null +++ b/External/59.94Hz Engine/MenuSpeed.asm @@ -0,0 +1,5 @@ +################################################################################ +# Address: 0x804DA9E8 +################################################################################ + +.long 0x3C88AB85 \ No newline at end of file diff --git a/External/59.94Hz Engine/SetSpeedOnBoot.asm b/External/59.94Hz Engine/SetSpeedOnBoot.asm new file mode 100644 index 00000000..460a4c38 --- /dev/null +++ b/External/59.94Hz Engine/SetSpeedOnBoot.asm @@ -0,0 +1,5 @@ +################################################################################ +# Address: 0x804D7CA0 +################################################################################ + +.long 0x3C88AB85 \ No newline at end of file diff --git a/External/59.94Hz Engine/TrainingModeSpeed.asm b/External/59.94Hz Engine/TrainingModeSpeed.asm new file mode 100644 index 00000000..50e3c519 --- /dev/null +++ b/External/59.94Hz Engine/TrainingModeSpeed.asm @@ -0,0 +1,5 @@ +################################################################################ +# Address: 0x804DA5F8 +################################################################################ + +.long 0x3C88AB85 \ No newline at end of file diff --git a/External/Debug Inputs/AllocBuffer.asm b/External/Debug Inputs/AllocBuffer.asm new file mode 100644 index 00000000..21464ad9 --- /dev/null +++ b/External/Debug Inputs/AllocBuffer.asm @@ -0,0 +1,14 @@ +################################################################################ +# Address: 0x801a4cb4 +################################################################################ + +.include "Common/Common.s" +.include "Online/Online.s" + +# Alloc buffer + li r3,128 + branchl r12,HSD_MemAlloc + stw r3,OFST_R13_SB_ADDR(r13) + +# Original + li r0, 0 diff --git a/External/Debug Inputs/Boot To CSS.asm b/External/Debug Inputs/Boot To CSS.asm new file mode 100644 index 00000000..d4fc9c55 --- /dev/null +++ b/External/Debug Inputs/Boot To CSS.asm @@ -0,0 +1,6 @@ +################################################################################ +# Address: 801bfa20 +################################################################################ +.include "Common/Common.s" + +li r3,2 diff --git a/External/Debug Inputs/DebugInputs.s b/External/Debug Inputs/DebugInputs.s index e168dad1..9b3fec32 100644 --- a/External/Debug Inputs/DebugInputs.s +++ b/External/Debug Inputs/DebugInputs.s @@ -1,3 +1,15 @@ +################################################################################ +# Constants +################################################################################ +.set INJ_InitDebugInputs, 0x8016e774 + +.set CIRCULAR_BUFFER_COUNT, 10 + +.set DIB_IS_READY, 0 # u8 +.set DIB_POLL_INDEX, DIB_IS_READY + 1 # u8 +.set DIB_ENGINE_INDEX, DIB_POLL_INDEX + 1 # u8 +.set DIB_CIRCULAR_BUFFER, DIB_ENGINE_INDEX + 1 # u32 * CIRCULAR_BUFFER_COUNT +.set DIB_SIZE, DIB_CIRCULAR_BUFFER + (4 * CIRCULAR_BUFFER_COUNT) ################################################################################ # Macros @@ -12,12 +24,14 @@ li \reg, 0 stb \reg, \offset(\reg_address) .endm -.set INJ_InitDebugInputs, 0x8016e774 - -.set CIRCULAR_BUFFER_COUNT, 10 - -.set DIB_IS_READY, 0 # u8 -.set DIB_POLL_INDEX, DIB_IS_READY + 1 # u8 -.set DIB_ENGINE_INDEX, DIB_POLL_INDEX + 1 # u8 -.set DIB_CIRCULAR_BUFFER, DIB_ENGINE_INDEX + 1 # u32 * CIRCULAR_BUFFER_COUNT -.set DIB_SIZE, DIB_CIRCULAR_BUFFER + (4 * CIRCULAR_BUFFER_COUNT) \ No newline at end of file +.macro calcDiffTicksToUs reg_dib, ref_idx +branchl r12, 0x8034c408 # OSGetTick +lbz r4, \ref_idx(\reg_dib) +mulli r4, r4, 4 +addi r4, r4, DIB_CIRCULAR_BUFFER +lwzx r4, \reg_dib, r4 +sub r3, r3, r4 # This works even if ticks overflow +mulli r3, r3, 12 +li r4, 486 +divwu r3, r3, r4 +.endm \ No newline at end of file diff --git a/External/Debug Inputs/LogEngineTime.asm b/External/Debug Inputs/LogEngineTime.asm new file mode 100644 index 00000000..7e60150d --- /dev/null +++ b/External/Debug Inputs/LogEngineTime.asm @@ -0,0 +1,53 @@ +################################################################################ +# Address: 0x801a4dec +################################################################################ + +.include "Common/Common.s" +.include "Online/Online.s" # Required for logf buffer, should fix that +.include "./DebugInputs.s" + +# Check if VS Mode +getMinorMajor r3 +cmpwi r3, 0x0202 +bne EXIT + +loadGlobalFrame r3 +cmpwi r3, 0 +ble EXIT + +.set REG_DIB, 31 +.set REG_INTERRUPTS, 30 +.set REG_DIFF_US, 29 + +backup + +branchl r12, OSDisableInterrupts +mr REG_INTERRUPTS, r3 + +# Fetch DIB +computeBranchTargetAddress r3, INJ_InitDebugInputs +lwz REG_DIB, 8+0(r3) + +# Calculate time diff +calcDiffTicksToUs REG_DIB, DIB_ENGINE_INDEX +mr REG_DIFF_US, r3 + +# Log +mr r8, REG_DIFF_US +loadwz r7, 0x804c1fac # Fetch key from controller input +rlwinm r7, r7, 0, 0xF +lbz r6, DIB_ENGINE_INDEX(REG_DIB) +loadGlobalFrame r5 +logf LOG_LEVEL_WARN, "ENGINE %u %u 0x%X %u" # Label Frame TimeUs + +# Increment index +incrementByte r3, REG_DIB, DIB_ENGINE_INDEX, CIRCULAR_BUFFER_COUNT + +# Restore interrupts +mr r3, REG_INTERRUPTS +branchl r12, OSRestoreInterrupts + +restore + +EXIT: +lwz r0, -0x6C98(r13) \ No newline at end of file diff --git a/External/Debug Inputs/StoreCaptureTimes.asm b/External/Debug Inputs/StoreCaptureTimes.asm index 73beee70..8568f1ce 100644 --- a/External/Debug Inputs/StoreCaptureTimes.asm +++ b/External/Debug Inputs/StoreCaptureTimes.asm @@ -16,6 +16,9 @@ lwz r3, 0x0(r3) # 0x80479d64 - Believed to be some loading state cmpwi r3, 0 # Loading state should be zero when game starts bne EXIT +.set CONST_BACKUP_BYTES, 0xB0 # Maybe add this to Common.s +.set P1_PAD_OFFSET, CONST_BACKUP_BYTES + 0x2C + .set REG_DIB, 31 .set REG_INTERRUPTS, 30 @@ -28,6 +31,11 @@ mr REG_INTERRUPTS, r3 computeBranchTargetAddress r3, INJ_InitDebugInputs lwz REG_DIB, 8+0(r3) +# Store "key" to inputs (sets d-pad inputs) +loadGlobalFrame r3 +rlwinm r3, r3, 16, 0xF0000 +stw r3, P1_PAD_OFFSET(sp) + # Get and write current tick branchl r12, 0x8034c408 # OSGetTick lbz r4, DIB_POLL_INDEX(REG_DIB) @@ -35,12 +43,13 @@ mulli r4, r4, 4 # Get index offset addi r4, r4, DIB_CIRCULAR_BUFFER stwx r3, REG_DIB, r4 -# Log us, not needed -li r4, 486 -divwu r3, r3, r4 -mulli r4, r3, 12 -loadGlobalFrame r3 -logf LOG_LEVEL_WARN, "%d %d", "mr 5, 3", "mr 6, 4" +# Log +mr r8, r3 +lwz r7, P1_PAD_OFFSET(sp) +rlwinm r7, r7, 16, 0xF +lbz r6, DIB_POLL_INDEX(REG_DIB) +loadGlobalFrame r5 +logf LOG_LEVEL_WARN, "POLL %u %u 0x%X %u" # Increment index incrementByte r3, REG_DIB, DIB_POLL_INDEX, CIRCULAR_BUFFER_COUNT diff --git a/Online/Slippi Online Scene/boot.asm b/Online/Slippi Online Scene/boot.asm index 3d394b5f..f15fe867 100644 --- a/Online/Slippi Online Scene/boot.asm +++ b/Online/Slippi Online Scene/boot.asm @@ -56,4 +56,4 @@ branch r12, 0x801b136c # Code end ################################################################################ EXIT: -li r3, 0x1 # Load menu first +li r3, 0x2 # Load menu first diff --git a/Output/Console/g_lag_pd.bin b/Output/Console/g_lag_pd.bin index 1f20dd0e8990b23cb325fcb600c825bc2e5bd50d..f00775fc45e5010d4703932328711c25fddf5df8 100644 GIT binary patch literal 32 dcmZSaU9`fcV|6Qw@5&btx@G}{Uit$>0|4f@4ygbD literal 48 zcmX>k<-34^fq{8~3 Date: Tue, 8 Jun 2021 21:22:10 -0700 Subject: [PATCH 04/16] log out time during blank --- External/Debug Inputs/DebugInputs.s | 11 +- External/Debug Inputs/InitBuffer.asm | 30 --- External/Debug Inputs/InitOnGameStart.asm | 85 ++++++++ External/Debug Inputs/LogEngineTime.asm | 35 +++- .../Debug Inputs/LogFrameScanoutStart.asm | 71 +++++++ External/Debug Inputs/StoreCaptureTimes.asm | 11 +- Output/Netplay/GALE01r2.ini | 197 +++++++++++++----- Output/Netplay/GALJ01r2.ini | 197 +++++++++++++----- 8 files changed, 477 insertions(+), 160 deletions(-) delete mode 100644 External/Debug Inputs/InitBuffer.asm create mode 100644 External/Debug Inputs/InitOnGameStart.asm create mode 100644 External/Debug Inputs/LogFrameScanoutStart.asm diff --git a/External/Debug Inputs/DebugInputs.s b/External/Debug Inputs/DebugInputs.s index 9b3fec32..7e80607d 100644 --- a/External/Debug Inputs/DebugInputs.s +++ b/External/Debug Inputs/DebugInputs.s @@ -3,12 +3,12 @@ ################################################################################ .set INJ_InitDebugInputs, 0x8016e774 -.set CIRCULAR_BUFFER_COUNT, 10 +.set CIRCULAR_BUFFER_COUNT, 16 .set DIB_IS_READY, 0 # u8 .set DIB_POLL_INDEX, DIB_IS_READY + 1 # u8 -.set DIB_ENGINE_INDEX, DIB_POLL_INDEX + 1 # u8 -.set DIB_CIRCULAR_BUFFER, DIB_ENGINE_INDEX + 1 # u32 * CIRCULAR_BUFFER_COUNT +.set DIB_DEVELOP_TEXT_ADDR, DIB_POLL_INDEX + 1 # u32 +.set DIB_CIRCULAR_BUFFER, DIB_DEVELOP_TEXT_ADDR + 4 # u32 * CIRCULAR_BUFFER_COUNT .set DIB_SIZE, DIB_CIRCULAR_BUFFER + (4 * CIRCULAR_BUFFER_COUNT) ################################################################################ @@ -24,10 +24,9 @@ li \reg, 0 stb \reg, \offset(\reg_address) .endm -.macro calcDiffTicksToUs reg_dib, ref_idx +.macro calcDiffTicksToUs reg_dib, reg_idx branchl r12, 0x8034c408 # OSGetTick -lbz r4, \ref_idx(\reg_dib) -mulli r4, r4, 4 +mulli r4, \reg_idx, 4 addi r4, r4, DIB_CIRCULAR_BUFFER lwzx r4, \reg_dib, r4 sub r3, r3, r4 # This works even if ticks overflow diff --git a/External/Debug Inputs/InitBuffer.asm b/External/Debug Inputs/InitBuffer.asm deleted file mode 100644 index 19544e7b..00000000 --- a/External/Debug Inputs/InitBuffer.asm +++ /dev/null @@ -1,30 +0,0 @@ -################################################################################ -# Address: INJ_InitDebugInputs -################################################################################ - -.include "Common/Common.s" -.include "Online/Online.s" # Required for logf buffer, should fix that -.include "./DebugInputs.s" - -b CODE_START - -DATA_BLRL: -blrl -.long 0 # Buffer - -CODE_START: - -# logf LOG_LEVEL_WARN, "Init..." - -li r3, DIB_SIZE -branchl r12, HSD_MemAlloc - -bl DATA_BLRL -mflr r4 -stw r3, 0(r4) # Write address to static address - -li r4, DIB_SIZE -branchl r12, Zero_AreaLength - -EXIT: -lfs f1, -0x5738(rtoc) \ No newline at end of file diff --git a/External/Debug Inputs/InitOnGameStart.asm b/External/Debug Inputs/InitOnGameStart.asm new file mode 100644 index 00000000..b65d2701 --- /dev/null +++ b/External/Debug Inputs/InitOnGameStart.asm @@ -0,0 +1,85 @@ +################################################################################ +# Address: INJ_InitDebugInputs +################################################################################ + +.include "Common/Common.s" +.include "Online/Online.s" # Required for logf buffer, should fix that +.include "./DebugInputs.s" + +b CODE_START + +DATA_BLRL: +blrl +.set DO_DIB_ADDR, 0 +.long 0 # Buffer +.set DO_X_SCALE, DO_DIB_ADDR + 4 +.float 25 +.set DO_Y_SCALE, DO_X_SCALE + 4 +.float 25 +.set DO_COLOR, DO_Y_SCALE + 4 +.byte 0,0,0,255 + +################################################################################ +# Function: InitColorSquare +################################################################################ +.set REG_DATA, 31 +.set REG_DevelopText, 30 + +FN_InitColorSquare: +backup + + bl DATA_BLRL + mflr REG_DATA + +#Create Rectangle + li r3,32 + branchl r12,HSD_MemAlloc + mr r8,r3 + li r3,30 # ID + li r4,-25 # X Pos, bottom right: 638 + li r5,-25 # Y Pos, bottom right: 478 + li r6,1 + li r7,1 + branchl r12, 0x80302834 # DevelopText_CreateDataTable + mr REG_DevelopText,r3 +#Activate Text + lwz r3, -0x4884 (r13) + mr r4,REG_DevelopText + branchl r12, 0x80302810 # DevelopText_Activate +#Hide blinking cursor + li r3,0 + stb r3,0x26(REG_DevelopText) +#Change BG Color + mr r3,REG_DevelopText + addi r4,REG_DATA,DO_COLOR + branchl r12, 0x80302b90 # DevelopText_StoreBGColor +#Set Stretch + lfs f1,DO_X_SCALE(REG_DATA) + stfs f1,0x8(REG_DevelopText) + lfs f1,DO_Y_SCALE(REG_DATA) + stfs f1,0xC(REG_DevelopText) +#Store Develop Text Addr + lwz r3, DO_DIB_ADDR(REG_DATA) + stw REG_DevelopText, DIB_DEVELOP_TEXT_ADDR(r3) + +restore +blr + +CODE_START: + +# logf LOG_LEVEL_WARN, "Init..." + +li r3, DIB_SIZE +branchl r12, HSD_MemAlloc + +bl DATA_BLRL +mflr r4 +stw r3, 0(r4) # Write address to static address + +li r4, DIB_SIZE +branchl r12, Zero_AreaLength + +bl FN_InitColorSquare + +EXIT: +lfs f1, -0x5738(rtoc) \ No newline at end of file diff --git a/External/Debug Inputs/LogEngineTime.asm b/External/Debug Inputs/LogEngineTime.asm index 7e60150d..301e71ca 100644 --- a/External/Debug Inputs/LogEngineTime.asm +++ b/External/Debug Inputs/LogEngineTime.asm @@ -18,6 +18,8 @@ ble EXIT .set REG_DIB, 31 .set REG_INTERRUPTS, 30 .set REG_DIFF_US, 29 +.set REG_KEY, 28 +.set REG_DEVELOP_TEXT, 27 backup @@ -28,25 +30,42 @@ mr REG_INTERRUPTS, r3 computeBranchTargetAddress r3, INJ_InitDebugInputs lwz REG_DIB, 8+0(r3) +# Check if DIB is ready (poll has happened) +lbz r3, DIB_IS_READY(REG_DIB) +cmpwi r3, 0 +beq RESTORE_AND_EXIT + +# Fetch key from controller input +loadwz r7, 0x804c1fac +rlwinm REG_KEY, r7, 0, 0xF + # Calculate time diff -calcDiffTicksToUs REG_DIB, DIB_ENGINE_INDEX +calcDiffTicksToUs REG_DIB, REG_KEY mr REG_DIFF_US, r3 # Log -mr r8, REG_DIFF_US -loadwz r7, 0x804c1fac # Fetch key from controller input -rlwinm r7, r7, 0, 0xF -lbz r6, DIB_ENGINE_INDEX(REG_DIB) +mr r7, REG_DIFF_US +mr r6, REG_KEY loadGlobalFrame r5 -logf LOG_LEVEL_WARN, "ENGINE %u %u 0x%X %u" # Label Frame TimeUs +logf LOG_LEVEL_WARN, "ENGINE %u 0x%X %u" # Label Frame TimeUs -# Increment index -incrementByte r3, REG_DIB, DIB_ENGINE_INDEX, CIRCULAR_BUFFER_COUNT +# Adjust develop text BG color +lwz r3, DIB_DEVELOP_TEXT_ADDR(REG_DIB) +stb REG_KEY, BKP_FREE_SPACE_OFFSET+0(sp) +stb REG_KEY, BKP_FREE_SPACE_OFFSET+1(sp) +stb REG_KEY, BKP_FREE_SPACE_OFFSET+2(sp) +lwz r4, BKP_FREE_SPACE_OFFSET(sp) +rlwinm r4, r4, 4, 0xFFFFF000 +ori r4, r4, 0xFF +stw r4, BKP_FREE_SPACE_OFFSET(sp) +addi r4, sp, BKP_FREE_SPACE_OFFSET +branchl r12, 0x80302b90 # DevelopText_StoreBGColor # Restore interrupts mr r3, REG_INTERRUPTS branchl r12, OSRestoreInterrupts +RESTORE_AND_EXIT: restore EXIT: diff --git a/External/Debug Inputs/LogFrameScanoutStart.asm b/External/Debug Inputs/LogFrameScanoutStart.asm new file mode 100644 index 00000000..4f2ff9a5 --- /dev/null +++ b/External/Debug Inputs/LogFrameScanoutStart.asm @@ -0,0 +1,71 @@ +################################################################################ +# Address: 0x80375c14 # End of VIPreRetraceCB +################################################################################ + +.include "Common/Common.s" +.include "Online/Online.s" # Required for logf buffer, should fix that +.include "./DebugInputs.s" + +# Check if VS Mode +getMinorMajor r3 +cmpwi r3, 0x0202 +bne EXIT + +load r3, 0x80479d64 +lwz r3, 0x0(r3) # 0x80479d64 - Believed to be some loading state +cmpwi r3, 0 # Loading state should be zero when game starts +bne EXIT + +.set REG_DIB, 31 +.set REG_INTERRUPTS, 30 +.set REG_DIFF_US, 29 +.set REG_KEY, 28 +.set REG_DEVELOP_TEXT, 27 + +backup + +branchl r12, OSDisableInterrupts +mr REG_INTERRUPTS, r3 + +# Fetch DIB +computeBranchTargetAddress r3, INJ_InitDebugInputs +lwz REG_DIB, 8+0(r3) + +# Check if DIB is ready (poll has happened) +lbz r3, DIB_IS_READY(REG_DIB) +cmpwi r3, 0 +beq RESTORE_AND_EXIT + +# Fetch/convert key from frame +# https://docs.google.com/spreadsheets/d/1EKnVQmAbt5LCipXq_aGCMJ_utsOlPqM_O0UJ3cnWm4c/edit#gid=0 +loadwz r3, 0x804a8b10 # Load ptr to frame that will be scanned out +lwz r3, 0(r3) # Load top left pixel +rlwinm r3, r3, 8, 0xFF # Extract top byte +subi r3, r3, 15 +mulli r3, r3, 6 +li r4, 5 +divwu r3, r3, r4 +rlwinm REG_KEY, r3, 28, 0xF # Extract 4 bits to get key + +# Calculate time diff +calcDiffTicksToUs REG_DIB, REG_KEY +mr REG_DIFF_US, r3 + +# Log +mr r8, REG_DIFF_US +loadwz r7, 0x804a8b10 # Load ptr to frame that will be scanned out +lwz r7, 0(r7) # Load top left pixel +mr r6, REG_KEY +loadGlobalFrame r5 +subi r5, r5, 1 +logf LOG_LEVEL_WARN, "BLANK %u 0x%X %X %u" # Label Frame TimeUs + +# Restore interrupts +mr r3, REG_INTERRUPTS +branchl r12, OSRestoreInterrupts + +RESTORE_AND_EXIT: +restore + +EXIT: +lwz r0, 0x0024(sp) # Replaced codeline \ No newline at end of file diff --git a/External/Debug Inputs/StoreCaptureTimes.asm b/External/Debug Inputs/StoreCaptureTimes.asm index 8568f1ce..11c79a11 100644 --- a/External/Debug Inputs/StoreCaptureTimes.asm +++ b/External/Debug Inputs/StoreCaptureTimes.asm @@ -32,7 +32,7 @@ computeBranchTargetAddress r3, INJ_InitDebugInputs lwz REG_DIB, 8+0(r3) # Store "key" to inputs (sets d-pad inputs) -loadGlobalFrame r3 +lbz r3, DIB_POLL_INDEX(REG_DIB) rlwinm r3, r3, 16, 0xF0000 stw r3, P1_PAD_OFFSET(sp) @@ -44,12 +44,10 @@ addi r4, r4, DIB_CIRCULAR_BUFFER stwx r3, REG_DIB, r4 # Log -mr r8, r3 -lwz r7, P1_PAD_OFFSET(sp) -rlwinm r7, r7, 16, 0xF -lbz r6, DIB_POLL_INDEX(REG_DIB) +lwz r6, P1_PAD_OFFSET(sp) +rlwinm r6, r6, 16, 0xF loadGlobalFrame r5 -logf LOG_LEVEL_WARN, "POLL %u %u 0x%X %u" +logf LOG_LEVEL_WARN, "POLL %u 0x%X" # Increment index incrementByte r3, REG_DIB, DIB_POLL_INDEX, CIRCULAR_BUFFER_COUNT @@ -62,6 +60,7 @@ stb r3, DIB_IS_READY(REG_DIB) mr r3, REG_INTERRUPTS branchl r12, OSRestoreInterrupts +RESTORE_AND_EXIT: restore EXIT: diff --git a/Output/Netplay/GALE01r2.ini b/Output/Netplay/GALE01r2.ini index 44e20795..ea0e8ecb 100644 --- a/Output/Netplay/GALE01r2.ini +++ b/Output/Netplay/GALE01r2.ini @@ -5703,22 +5703,48 @@ C21A4CB4 00000004 #External/Debug Inputs/AllocBuffer.asm 4E800421 906DAFC4 38000000 00000000 041BFA20 38600002 #External/Debug Inputs/Boot To CSS.asm -C216E774 00000009 #External/Debug Inputs/InitBuffer.asm -4800000C 4E800021 -00000000 3860002B +C216E774 00000023 #External/Debug Inputs/InitOnGameStart.asm +480000D4 4E800021 +00000000 41C80000 +41C80000 000000FF +7C0802A6 90010004 +9421FF50 BE810008 +4BFFFFDD 7FE802A6 +38600020 3D808037 +618CF1E4 7D8903A6 +4E800421 7C681B78 +3860001E 3880FFE7 +38A0FFE7 38C00001 +38E00001 3D808030 +618C2834 7D8903A6 +4E800421 7C7E1B78 +806DB77C 7FC4F378 +3D808030 618C2810 +7D8903A6 4E800421 +38600000 987E0026 +7FC3F378 389F000C +3D808030 618C2B90 +7D8903A6 4E800421 +C03F0004 D03E0008 +C03F0008 D03E000C +807F0000 93C30002 +BA810008 800100B4 +382100B0 7C0803A6 +4E800020 38600046 3D808037 618CF1E4 7D8903A6 4E800421 -4BFFFFE5 7C8802A6 -90640000 3880002B +4BFFFF1D 7C8802A6 +90640000 38800046 3D808000 618CC160 7D8903A6 4E800421 -C022A8C8 00000000 -C21A4DEC 00000037 #External/Debug Inputs/LogEngineTime.asm +4BFFFF11 C022A8C8 +60000000 00000000 +C21A4DEC 0000003B #External/Debug Inputs/LogEngineTime.asm 3C608048 80639D30 5463443E 2C030202 -4082019C 3C608048 +408201BC 3C608048 80639D60 2C030000 -4081018C 7C0802A6 +408101AC 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 7D8903A6 @@ -5728,53 +5754,57 @@ BE810008 3D808034 7CA50774 54A5801E 5484043A 7C842B78 7C632214 83E30008 -3D808034 618CC408 -7D8903A6 4E800421 -889F0002 1C840004 -38840003 7C9F202E +887F0000 2C030000 +41820144 3CE0804C +60E71FAC 80E70000 +54FC073E 3D808034 +618CC408 7D8903A6 +4E800421 1C9C0004 +38840006 7C9F202E 7C641850 1C63000C 388001E6 7C632396 -7C7D1B78 7FA8EB78 -3CE0804C 60E71FAC -80E70000 54E7073E -88DF0002 3CA08048 -80A59D60 48000020 +7C7D1B78 7FA7EB78 +7F86E378 3CA08048 +80A59D60 4800001C 4E800021 454E4749 -4E452025 75202575 -20307825 58202575 -00000000 7C0802A6 -90010004 9421FF00 -BC610008 60000000 +4E452025 75203078 +25582025 75000000 +7C0802A6 90010004 +9421FF00 BC610008 60000000 60000000 60000000 60000000 -806DAFC4 38630003 -4BFFFFB9 7C8802A6 -4CC63242 3D808032 -618C3CF4 7D8903A6 -4E800421 806DAFC4 -388000D0 98830000 -38800000 98830001 -38800003 98830002 -38800080 38A00001 -3D808000 618C55F0 +60000000 806DAFC4 +38630003 4BFFFFBD +7C8802A6 4CC63242 +3D808032 618C3CF4 +7D8903A6 4E800421 +806DAFC4 388000D0 +98830000 38800000 +98830001 38800003 +98830002 38800080 +38A00001 3D808000 +618C55F0 7D8903A6 +4E800421 B8610008 +80010104 38210100 +7C0803A6 807F0002 +9B810038 9B810039 +9B81003A 80810038 +54842026 608400FF +90810038 38810038 +3D808030 618C2B90 7D8903A6 4E800421 -B8610008 80010104 -38210100 7C0803A6 -887F0002 38630001 -2C03000A 41800008 -38600000 987F0002 7FC3F378 3D808034 618C738C 7D8903A6 4E800421 BA810008 800100B4 382100B0 7C0803A6 800D9368 60000000 00000000 -C2376A88 00000036 #External/Debug Inputs/StoreCaptureTimes.asm +C2375C14 0000003A #External/Debug Inputs/LogFrameScanoutStart.asm 3C608048 80639D30 5463443E 2C030202 -40820198 3C608047 +408201B8 3C608047 60639D64 80630000 -2C030000 40820184 +2C030000 408201A4 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 @@ -5784,19 +5814,27 @@ C2376A88 00000036 #External/Debug Inputs/StoreCaptureTimes.asm 5485863E 7CA50774 54A5801E 5484043A 7C842B78 7C632214 -83E30008 3C608048 -80639D60 5463831E -906100DC 3D808034 -618CC408 7D8903A6 -4E800421 889F0001 -1C840004 38840003 -7C7F212E 7C681B78 -80E100DC 54E7873E -88DF0001 3CA08048 -80A59D60 4800001C -4E800021 504F4C4C -20257520 25752030 -78255820 25750000 +83E30008 887F0000 +2C030000 4182013C +3C60804A 60638B10 +80630000 80630000 +5463463E 3863FFF1 +1C630006 38800005 +7C632396 547CE73E +3D808034 618CC408 +7D8903A6 4E800421 +1C9C0004 38840006 +7C9F202E 7C641850 +1C63000C 388001E6 +7C632396 7C7D1B78 +7FA8EB78 3CE0804A +60E78B10 80E70000 +80E70000 7F86E378 +3CA08048 80A59D60 +38A5FFFF 4800001C +4E800021 424C414E +4B202575 20307825 +58202558 20257500 7C0802A6 90010004 9421FF00 BC610008 60000000 60000000 @@ -5814,8 +5852,57 @@ C2376A88 00000036 #External/Debug Inputs/StoreCaptureTimes.asm 618C55F0 7D8903A6 4E800421 B8610008 80010104 38210100 +7C0803A6 7FC3F378 +3D808034 618C738C +7D8903A6 4E800421 +BA810008 800100B4 +382100B0 7C0803A6 +80010024 00000000 +C2376A88 00000034 #External/Debug Inputs/StoreCaptureTimes.asm +3C608048 80639D30 +5463443E 2C030202 +40820188 3C608047 +60639D64 80630000 +2C030000 40820174 +7C0802A6 90010004 +9421FF50 BE810008 +3D808034 618C7364 +7D8903A6 4E800421 +7C7E1B78 3C608016 +6063E774 80830000 +5485863E 7CA50774 +54A5801E 5484043A +7C842B78 7C632214 +83E30008 887F0001 +5463831E 906100DC +3D808034 618CC408 +7D8903A6 4E800421 +889F0001 1C840004 +38840006 7C7F212E +80C100DC 54C6873E +3CA08048 80A59D60 +48000018 4E800021 +504F4C4C 20257520 +30782558 00000000 +7C0802A6 90010004 +9421FF00 BC610008 +60000000 60000000 +60000000 60000000 +60000000 806DAFC4 +38630003 4BFFFFC1 +7C8802A6 4CC63242 +3D808032 618C3CF4 +7D8903A6 4E800421 +806DAFC4 388000D0 +98830000 38800000 +98830001 38800003 +98830002 38800080 +38A00001 3D808000 +618C55F0 7D8903A6 +4E800421 B8610008 +80010104 38210100 7C0803A6 887F0001 -38630001 2C03000A +38630001 2C030010 41800008 38600000 987F0001 38600001 987F0000 7FC3F378 diff --git a/Output/Netplay/GALJ01r2.ini b/Output/Netplay/GALJ01r2.ini index 3cb5010f..84f222ed 100644 --- a/Output/Netplay/GALJ01r2.ini +++ b/Output/Netplay/GALJ01r2.ini @@ -5703,22 +5703,48 @@ C21A4CB4 00000004 #External/Debug Inputs/AllocBuffer.asm 4E800421 906DAFC4 38000000 00000000 041BFA20 38600002 #External/Debug Inputs/Boot To CSS.asm -C216E774 00000009 #External/Debug Inputs/InitBuffer.asm -4800000C 4E800021 -00000000 3860002B +C216E774 00000023 #External/Debug Inputs/InitOnGameStart.asm +480000D4 4E800021 +00000000 41C80000 +41C80000 000000FF +7C0802A6 90010004 +9421FF50 BE810008 +4BFFFFDD 7FE802A6 +38600020 3D808037 +618CF1E4 7D8903A6 +4E800421 7C681B78 +3860001E 3880FFE7 +38A0FFE7 38C00001 +38E00001 3D808030 +618C2834 7D8903A6 +4E800421 7C7E1B78 +806DB77C 7FC4F378 +3D808030 618C2810 +7D8903A6 4E800421 +38600000 987E0026 +7FC3F378 389F000C +3D808030 618C2B90 +7D8903A6 4E800421 +C03F0004 D03E0008 +C03F0008 D03E000C +807F0000 93C30002 +BA810008 800100B4 +382100B0 7C0803A6 +4E800020 38600046 3D808037 618CF1E4 7D8903A6 4E800421 -4BFFFFE5 7C8802A6 -90640000 3880002B +4BFFFF1D 7C8802A6 +90640000 38800046 3D808000 618CC160 7D8903A6 4E800421 -C022A8C8 00000000 -C21A4DEC 00000037 #External/Debug Inputs/LogEngineTime.asm +4BFFFF11 C022A8C8 +60000000 00000000 +C21A4DEC 0000003B #External/Debug Inputs/LogEngineTime.asm 3C608048 80639D30 5463443E 2C030202 -4082019C 3C608048 +408201BC 3C608048 80639D60 2C030000 -4081018C 7C0802A6 +408101AC 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 7D8903A6 @@ -5728,53 +5754,57 @@ BE810008 3D808034 7CA50774 54A5801E 5484043A 7C842B78 7C632214 83E30008 -3D808034 618CC408 -7D8903A6 4E800421 -889F0002 1C840004 -38840003 7C9F202E +887F0000 2C030000 +41820144 3CE0804C +60E71FAC 80E70000 +54FC073E 3D808034 +618CC408 7D8903A6 +4E800421 1C9C0004 +38840006 7C9F202E 7C641850 1C63000C 388001E6 7C632396 -7C7D1B78 7FA8EB78 -3CE0804C 60E71FAC -80E70000 54E7073E -88DF0002 3CA08048 -80A59D60 48000020 +7C7D1B78 7FA7EB78 +7F86E378 3CA08048 +80A59D60 4800001C 4E800021 454E4749 -4E452025 75202575 -20307825 58202575 -00000000 7C0802A6 -90010004 9421FF00 -BC610008 60000000 +4E452025 75203078 +25582025 75000000 +7C0802A6 90010004 +9421FF00 BC610008 60000000 60000000 60000000 60000000 -806DAFC4 38630003 -4BFFFFB9 7C8802A6 -4CC63242 3D808032 -618C3CF4 7D8903A6 -4E800421 806DAFC4 -388000D0 98830000 -38800000 98830001 -38800003 98830002 -38800080 38A00001 -3D808000 618C55F0 +60000000 806DAFC4 +38630003 4BFFFFBD +7C8802A6 4CC63242 +3D808032 618C3CF4 +7D8903A6 4E800421 +806DAFC4 388000D0 +98830000 38800000 +98830001 38800003 +98830002 38800080 +38A00001 3D808000 +618C55F0 7D8903A6 +4E800421 B8610008 +80010104 38210100 +7C0803A6 807F0002 +9B810038 9B810039 +9B81003A 80810038 +54842026 608400FF +90810038 38810038 +3D808030 618C2B90 7D8903A6 4E800421 -B8610008 80010104 -38210100 7C0803A6 -887F0002 38630001 -2C03000A 41800008 -38600000 987F0002 7FC3F378 3D808034 618C738C 7D8903A6 4E800421 BA810008 800100B4 382100B0 7C0803A6 800D9368 60000000 00000000 -C2376A88 00000036 #External/Debug Inputs/StoreCaptureTimes.asm +C2375C14 0000003A #External/Debug Inputs/LogFrameScanoutStart.asm 3C608048 80639D30 5463443E 2C030202 -40820198 3C608047 +408201B8 3C608047 60639D64 80630000 -2C030000 40820184 +2C030000 408201A4 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 @@ -5784,19 +5814,27 @@ C2376A88 00000036 #External/Debug Inputs/StoreCaptureTimes.asm 5485863E 7CA50774 54A5801E 5484043A 7C842B78 7C632214 -83E30008 3C608048 -80639D60 5463831E -906100DC 3D808034 -618CC408 7D8903A6 -4E800421 889F0001 -1C840004 38840003 -7C7F212E 7C681B78 -80E100DC 54E7873E -88DF0001 3CA08048 -80A59D60 4800001C -4E800021 504F4C4C -20257520 25752030 -78255820 25750000 +83E30008 887F0000 +2C030000 4182013C +3C60804A 60638B10 +80630000 80630000 +5463463E 3863FFF1 +1C630006 38800005 +7C632396 547CE73E +3D808034 618CC408 +7D8903A6 4E800421 +1C9C0004 38840006 +7C9F202E 7C641850 +1C63000C 388001E6 +7C632396 7C7D1B78 +7FA8EB78 3CE0804A +60E78B10 80E70000 +80E70000 7F86E378 +3CA08048 80A59D60 +38A5FFFF 4800001C +4E800021 424C414E +4B202575 20307825 +58202558 20257500 7C0802A6 90010004 9421FF00 BC610008 60000000 60000000 @@ -5814,8 +5852,57 @@ C2376A88 00000036 #External/Debug Inputs/StoreCaptureTimes.asm 618C55F0 7D8903A6 4E800421 B8610008 80010104 38210100 +7C0803A6 7FC3F378 +3D808034 618C738C +7D8903A6 4E800421 +BA810008 800100B4 +382100B0 7C0803A6 +80010024 00000000 +C2376A88 00000034 #External/Debug Inputs/StoreCaptureTimes.asm +3C608048 80639D30 +5463443E 2C030202 +40820188 3C608047 +60639D64 80630000 +2C030000 40820174 +7C0802A6 90010004 +9421FF50 BE810008 +3D808034 618C7364 +7D8903A6 4E800421 +7C7E1B78 3C608016 +6063E774 80830000 +5485863E 7CA50774 +54A5801E 5484043A +7C842B78 7C632214 +83E30008 887F0001 +5463831E 906100DC +3D808034 618CC408 +7D8903A6 4E800421 +889F0001 1C840004 +38840006 7C7F212E +80C100DC 54C6873E +3CA08048 80A59D60 +48000018 4E800021 +504F4C4C 20257520 +30782558 00000000 +7C0802A6 90010004 +9421FF00 BC610008 +60000000 60000000 +60000000 60000000 +60000000 806DAFC4 +38630003 4BFFFFC1 +7C8802A6 4CC63242 +3D808032 618C3CF4 +7D8903A6 4E800421 +806DAFC4 388000D0 +98830000 38800000 +98830001 38800003 +98830002 38800080 +38A00001 3D808000 +618C55F0 7D8903A6 +4E800421 B8610008 +80010104 38210100 7C0803A6 887F0001 -38630001 2C03000A +38630001 2C030010 41800008 38600000 987F0001 38600001 987F0000 7FC3F378 From 27984a3afbbf1fce9e0fc9eb74c370dab46ce242 Mon Sep 17 00:00:00 2001 From: Jas Laferriere Date: Wed, 9 Jun 2021 15:09:04 -0700 Subject: [PATCH 05/16] hook up polling handler --- .../SyncPollingOnGameStart.asmtemp | 27 +++++ External/Debug Inputs/DebugInputs.s | 3 +- External/Debug Inputs/InitOnGameStart.asm | 22 ++++ External/Debug Inputs/StoreCaptureTimes.asm | 5 +- Output/Netplay/GALE01r2.ini | 112 +++++++++++------- Output/Netplay/GALJ01r2.ini | 112 +++++++++++------- netplay.json | 33 ++++++ 7 files changed, 228 insertions(+), 86 deletions(-) create mode 100644 External/59.94Hz Engine/SyncPollingOnGameStart.asmtemp diff --git a/External/59.94Hz Engine/SyncPollingOnGameStart.asmtemp b/External/59.94Hz Engine/SyncPollingOnGameStart.asmtemp new file mode 100644 index 00000000..2e16c0c7 --- /dev/null +++ b/External/59.94Hz Engine/SyncPollingOnGameStart.asmtemp @@ -0,0 +1,27 @@ +################################################################################ +# Address: 0x80376a8c +################################################################################ + +.include "Common/Common.s" +.include "Online/Online.s" + +# Check if VS Mode +getMinorMajor r3 +cmpwi r3, 0x0202 +bne EXIT + +load r3, 0x80479d64 +lwz r3, 0x0(r3) # 0x80479d64 - Believed to be some loading state +cmpwi r3, 0 # Loading state should be zero when game starts +bne EXIT + +loadGlobalFrame r3 +cmpwi r3, 1 +bne EXIT + +branchl r12, 0x8034f314 # VIWaitForRetrace + +EXIT: +# Replaced code lines +lbz r0, 0x0002 (r31) +lbz r4, 0x0003 (r31) \ No newline at end of file diff --git a/External/Debug Inputs/DebugInputs.s b/External/Debug Inputs/DebugInputs.s index 7e80607d..ec7f3d36 100644 --- a/External/Debug Inputs/DebugInputs.s +++ b/External/Debug Inputs/DebugInputs.s @@ -8,7 +8,8 @@ .set DIB_IS_READY, 0 # u8 .set DIB_POLL_INDEX, DIB_IS_READY + 1 # u8 .set DIB_DEVELOP_TEXT_ADDR, DIB_POLL_INDEX + 1 # u32 -.set DIB_CIRCULAR_BUFFER, DIB_DEVELOP_TEXT_ADDR + 4 # u32 * CIRCULAR_BUFFER_COUNT +.set DIB_CALLBACK_COUNT, DIB_DEVELOP_TEXT_ADDR + 4 # u32 +.set DIB_CIRCULAR_BUFFER, DIB_CALLBACK_COUNT + 4 # u32 * CIRCULAR_BUFFER_COUNT .set DIB_SIZE, DIB_CIRCULAR_BUFFER + (4 * CIRCULAR_BUFFER_COUNT) ################################################################################ diff --git a/External/Debug Inputs/InitOnGameStart.asm b/External/Debug Inputs/InitOnGameStart.asm index b65d2701..0a17a100 100644 --- a/External/Debug Inputs/InitOnGameStart.asm +++ b/External/Debug Inputs/InitOnGameStart.asm @@ -19,6 +19,23 @@ blrl .set DO_COLOR, DO_Y_SCALE + 4 .byte 0,0,0,255 +################################################################################ +# Function: PollingHandler +################################################################################ +FN_BLRL_PollingHandler: +blrl +backup + +bl DATA_BLRL +mflr REG_DATA +lwz r4, DO_DIB_ADDR(REG_DATA) +lwz r3, DIB_CALLBACK_COUNT(r4) +addi r3, r3, 1 +stw r3, DIB_CALLBACK_COUNT(r4) + +restore +blr + ################################################################################ # Function: InitColorSquare ################################################################################ @@ -81,5 +98,10 @@ branchl r12, Zero_AreaLength bl FN_InitColorSquare +# I thought this would fire twice per frame (same as polling), but it doesn't and idk what it does +bl FN_BLRL_PollingHandler +mflr r3 +branchl r12, 0x80349bf0 # SIRegisterPollingHandler + EXIT: lfs f1, -0x5738(rtoc) \ No newline at end of file diff --git a/External/Debug Inputs/StoreCaptureTimes.asm b/External/Debug Inputs/StoreCaptureTimes.asm index 11c79a11..b45efb51 100644 --- a/External/Debug Inputs/StoreCaptureTimes.asm +++ b/External/Debug Inputs/StoreCaptureTimes.asm @@ -44,10 +44,13 @@ addi r4, r4, DIB_CIRCULAR_BUFFER stwx r3, REG_DIB, r4 # Log +# loadwz r7, 0xCC006430 # Includes details to poll more often. http://hitmen.c02.at/files/yagcd/yagcd/chap5.html#sec5.8 +# loadwz r7, 0xCC006434 +lwz r7, DIB_CALLBACK_COUNT(REG_DIB) lwz r6, P1_PAD_OFFSET(sp) rlwinm r6, r6, 16, 0xF loadGlobalFrame r5 -logf LOG_LEVEL_WARN, "POLL %u 0x%X" +logf LOG_LEVEL_WARN, "POLL %u 0x%X %u" # Increment index incrementByte r3, REG_DIB, DIB_POLL_INDEX, CIRCULAR_BUFFER_COUNT diff --git a/Output/Netplay/GALE01r2.ini b/Output/Netplay/GALE01r2.ini index ea0e8ecb..661dd248 100644 --- a/Output/Netplay/GALE01r2.ini +++ b/Output/Netplay/GALE01r2.ini @@ -5703,13 +5703,21 @@ C21A4CB4 00000004 #External/Debug Inputs/AllocBuffer.asm 4E800421 906DAFC4 38000000 00000000 041BFA20 38600002 #External/Debug Inputs/Boot To CSS.asm -C216E774 00000023 #External/Debug Inputs/InitOnGameStart.asm -480000D4 4E800021 +C216E774 0000002E #External/Debug Inputs/InitOnGameStart.asm +48000114 4E800021 00000000 41C80000 41C80000 000000FF +4E800021 7C0802A6 +90010004 9421FF50 +BE810008 4BFFFFD9 +7FE802A6 809F0000 +80640006 38630001 +90640006 BA810008 +800100B4 382100B0 +7C0803A6 4E800020 7C0802A6 90010004 9421FF50 BE810008 -4BFFFFDD 7FE802A6 +4BFFFF9D 7FE802A6 38600020 3D808037 618CF1E4 7D8903A6 4E800421 7C681B78 @@ -5730,14 +5738,17 @@ C03F0008 D03E000C 807F0000 93C30002 BA810008 800100B4 382100B0 7C0803A6 -4E800020 38600046 +4E800020 3860004A 3D808037 618CF1E4 7D8903A6 4E800421 -4BFFFF1D 7C8802A6 -90640000 38800046 +4BFFFEDD 7C8802A6 +90640000 3880004A 3D808000 618CC160 7D8903A6 4E800421 -4BFFFF11 C022A8C8 +4BFFFF11 4BFFFECD +7C6802A6 3D808034 +618C9BF0 7D8903A6 +4E800421 C022A8C8 60000000 00000000 C21A4DEC 0000003B #External/Debug Inputs/LogEngineTime.asm 3C608048 80639D30 @@ -5760,7 +5771,7 @@ BE810008 3D808034 54FC073E 3D808034 618CC408 7D8903A6 4E800421 1C9C0004 -38840006 7C9F202E +3884000A 7C9F202E 7C641850 1C63000C 388001E6 7C632396 7C7D1B78 7FA7EB78 @@ -5823,7 +5834,7 @@ C2375C14 0000003A #External/Debug Inputs/LogFrameScanoutStart.asm 7C632396 547CE73E 3D808034 618CC408 7D8903A6 4E800421 -1C9C0004 38840006 +1C9C0004 3884000A 7C9F202E 7C641850 1C63000C 388001E6 7C632396 7C7D1B78 @@ -5858,12 +5869,12 @@ C2375C14 0000003A #External/Debug Inputs/LogFrameScanoutStart.asm BA810008 800100B4 382100B0 7C0803A6 80010024 00000000 -C2376A88 00000034 #External/Debug Inputs/StoreCaptureTimes.asm +C2376A88 00000035 #External/Debug Inputs/StoreCaptureTimes.asm 3C608048 80639D30 5463443E 2C030202 -40820188 3C608047 +4082018C 3C608047 60639D64 80630000 -2C030000 40820174 +2C030000 40820178 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 @@ -5878,39 +5889,40 @@ C2376A88 00000034 #External/Debug Inputs/StoreCaptureTimes.asm 3D808034 618CC408 7D8903A6 4E800421 889F0001 1C840004 -38840006 7C7F212E -80C100DC 54C6873E -3CA08048 80A59D60 -48000018 4E800021 -504F4C4C 20257520 -30782558 00000000 -7C0802A6 90010004 -9421FF00 BC610008 +3884000A 7C7F212E +80FF0006 80C100DC +54C6873E 3CA08048 +80A59D60 48000018 +4E800021 504F4C4C +20257520 30782558 +20257500 7C0802A6 +90010004 9421FF00 +BC610008 60000000 60000000 60000000 60000000 60000000 -60000000 806DAFC4 -38630003 4BFFFFC1 -7C8802A6 4CC63242 -3D808032 618C3CF4 -7D8903A6 4E800421 -806DAFC4 388000D0 -98830000 38800000 -98830001 38800003 -98830002 38800080 -38A00001 3D808000 -618C55F0 7D8903A6 -4E800421 B8610008 -80010104 38210100 -7C0803A6 887F0001 -38630001 2C030010 -41800008 38600000 -987F0001 38600001 -987F0000 7FC3F378 -3D808034 618C738C +806DAFC4 38630003 +4BFFFFC1 7C8802A6 +4CC63242 3D808032 +618C3CF4 7D8903A6 +4E800421 806DAFC4 +388000D0 98830000 +38800000 98830001 +38800003 98830002 +38800080 38A00001 +3D808000 618C55F0 7D8903A6 4E800421 -BA810008 800100B4 -382100B0 7C0803A6 -881F0002 00000000 +B8610008 80010104 +38210100 7C0803A6 +887F0001 38630001 +2C030010 41800008 +38600000 987F0001 +38600001 987F0000 +7FC3F378 3D808034 +618C738C 7D8903A6 +4E800421 BA810008 +800100B4 382100B0 +7C0803A6 881F0002 +60000000 00000000 $Optional: PD+VB [taukhan] *PD+VB @@ -5928,3 +5940,19 @@ C21A5018 00000005 618C5078 7D8903A6 4D820420 00000000 04218D68 C8228000 + +$Optional: PD [Dan Salvato] +*PD +C21A4DA0 00000003 #Polling Drift Fix [Dan Salvato] +901C0000 3D808001 +618C95FC 7D8903A6 +4E800421 00000000 +041A4DB4 60000000 +04019860 4BFFFD9D + +$Optional: 59.94Hz Engine [Fizzi] +*Attempts to fix polling drift +044DA2A8 3C88AB85 #External/59.94Hz Engine/InGameSpeed.asm +044DA9E8 3C88AB85 #External/59.94Hz Engine/MenuSpeed.asm +044D7CA0 3C88AB85 #External/59.94Hz Engine/SetSpeedOnBoot.asm +044DA5F8 3C88AB85 #External/59.94Hz Engine/TrainingModeSpeed.asm diff --git a/Output/Netplay/GALJ01r2.ini b/Output/Netplay/GALJ01r2.ini index 84f222ed..9533ede7 100644 --- a/Output/Netplay/GALJ01r2.ini +++ b/Output/Netplay/GALJ01r2.ini @@ -5703,13 +5703,21 @@ C21A4CB4 00000004 #External/Debug Inputs/AllocBuffer.asm 4E800421 906DAFC4 38000000 00000000 041BFA20 38600002 #External/Debug Inputs/Boot To CSS.asm -C216E774 00000023 #External/Debug Inputs/InitOnGameStart.asm -480000D4 4E800021 +C216E774 0000002E #External/Debug Inputs/InitOnGameStart.asm +48000114 4E800021 00000000 41C80000 41C80000 000000FF +4E800021 7C0802A6 +90010004 9421FF50 +BE810008 4BFFFFD9 +7FE802A6 809F0000 +80640006 38630001 +90640006 BA810008 +800100B4 382100B0 +7C0803A6 4E800020 7C0802A6 90010004 9421FF50 BE810008 -4BFFFFDD 7FE802A6 +4BFFFF9D 7FE802A6 38600020 3D808037 618CF1E4 7D8903A6 4E800421 7C681B78 @@ -5730,14 +5738,17 @@ C03F0008 D03E000C 807F0000 93C30002 BA810008 800100B4 382100B0 7C0803A6 -4E800020 38600046 +4E800020 3860004A 3D808037 618CF1E4 7D8903A6 4E800421 -4BFFFF1D 7C8802A6 -90640000 38800046 +4BFFFEDD 7C8802A6 +90640000 3880004A 3D808000 618CC160 7D8903A6 4E800421 -4BFFFF11 C022A8C8 +4BFFFF11 4BFFFECD +7C6802A6 3D808034 +618C9BF0 7D8903A6 +4E800421 C022A8C8 60000000 00000000 C21A4DEC 0000003B #External/Debug Inputs/LogEngineTime.asm 3C608048 80639D30 @@ -5760,7 +5771,7 @@ BE810008 3D808034 54FC073E 3D808034 618CC408 7D8903A6 4E800421 1C9C0004 -38840006 7C9F202E +3884000A 7C9F202E 7C641850 1C63000C 388001E6 7C632396 7C7D1B78 7FA7EB78 @@ -5823,7 +5834,7 @@ C2375C14 0000003A #External/Debug Inputs/LogFrameScanoutStart.asm 7C632396 547CE73E 3D808034 618CC408 7D8903A6 4E800421 -1C9C0004 38840006 +1C9C0004 3884000A 7C9F202E 7C641850 1C63000C 388001E6 7C632396 7C7D1B78 @@ -5858,12 +5869,12 @@ C2375C14 0000003A #External/Debug Inputs/LogFrameScanoutStart.asm BA810008 800100B4 382100B0 7C0803A6 80010024 00000000 -C2376A88 00000034 #External/Debug Inputs/StoreCaptureTimes.asm +C2376A88 00000035 #External/Debug Inputs/StoreCaptureTimes.asm 3C608048 80639D30 5463443E 2C030202 -40820188 3C608047 +4082018C 3C608047 60639D64 80630000 -2C030000 40820174 +2C030000 40820178 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 @@ -5878,39 +5889,40 @@ C2376A88 00000034 #External/Debug Inputs/StoreCaptureTimes.asm 3D808034 618CC408 7D8903A6 4E800421 889F0001 1C840004 -38840006 7C7F212E -80C100DC 54C6873E -3CA08048 80A59D60 -48000018 4E800021 -504F4C4C 20257520 -30782558 00000000 -7C0802A6 90010004 -9421FF00 BC610008 +3884000A 7C7F212E +80FF0006 80C100DC +54C6873E 3CA08048 +80A59D60 48000018 +4E800021 504F4C4C +20257520 30782558 +20257500 7C0802A6 +90010004 9421FF00 +BC610008 60000000 60000000 60000000 60000000 60000000 -60000000 806DAFC4 -38630003 4BFFFFC1 -7C8802A6 4CC63242 -3D808032 618C3CF4 -7D8903A6 4E800421 -806DAFC4 388000D0 -98830000 38800000 -98830001 38800003 -98830002 38800080 -38A00001 3D808000 -618C55F0 7D8903A6 -4E800421 B8610008 -80010104 38210100 -7C0803A6 887F0001 -38630001 2C030010 -41800008 38600000 -987F0001 38600001 -987F0000 7FC3F378 -3D808034 618C738C +806DAFC4 38630003 +4BFFFFC1 7C8802A6 +4CC63242 3D808032 +618C3CF4 7D8903A6 +4E800421 806DAFC4 +388000D0 98830000 +38800000 98830001 +38800003 98830002 +38800080 38A00001 +3D808000 618C55F0 7D8903A6 4E800421 -BA810008 800100B4 -382100B0 7C0803A6 -881F0002 00000000 +B8610008 80010104 +38210100 7C0803A6 +887F0001 38630001 +2C030010 41800008 +38600000 987F0001 +38600001 987F0000 +7FC3F378 3D808034 +618C738C 7D8903A6 +4E800421 BA810008 +800100B4 382100B0 +7C0803A6 881F0002 +60000000 00000000 $Optional: PD+VB [taukhan] *PD+VB @@ -5928,3 +5940,19 @@ C21A5018 00000005 618C5078 7D8903A6 4D820420 00000000 04218D68 C8228000 + +$Optional: PD [Dan Salvato] +*PD +C21A4DA0 00000003 #Polling Drift Fix [Dan Salvato] +901C0000 3D808001 +618C95FC 7D8903A6 +4E800421 00000000 +041A4DB4 60000000 +04019860 4BFFFD9D + +$Optional: 59.94Hz Engine [Fizzi] +*Attempts to fix polling drift +044DA2A8 3C88AB85 #External/59.94Hz Engine/InGameSpeed.asm +044DA9E8 3C88AB85 #External/59.94Hz Engine/MenuSpeed.asm +044D7CA0 3C88AB85 #External/59.94Hz Engine/SetSpeedOnBoot.asm +044DA5F8 3C88AB85 #External/59.94Hz Engine/TrainingModeSpeed.asm diff --git a/netplay.json b/netplay.json index 0f9e4087..09d4ac02 100644 --- a/netplay.json +++ b/netplay.json @@ -497,6 +497,39 @@ "annotation": "Polling Drift Fix + VB [tauKhan]" } ] + }, + { + "name": "Optional: PD", + "authors": [ + "Dan Salvato" + ], + "description": [ + "PD" + ], + "build": [ + { + "type": "binary", + "sourceFile": "Binary/LagReduction/PD.bin", + "annotation": "Polling Drift Fix [Dan Salvato]" + } + ] + }, + { + "name": "Optional: 59.94Hz Engine", + "authors": [ + "Fizzi" + ], + "description": [ + "Attempts to fix polling drift" + ], + "build": [ + { + "type": "injectFolder", + "sourceFolder": "External/59.94Hz Engine", + "isRecursive": true, + "annotation": "59.94Hz Engine" + } + ] } ] } \ No newline at end of file From 7d4d1aa8bf30dd69d8ca7f528167380448fed711 Mon Sep 17 00:00:00 2001 From: Jas Laferriere Date: Thu, 10 Jun 2021 02:24:22 -0700 Subject: [PATCH 06/16] add visual output for lag --- External/Debug Inputs/DebugInputs.s | 14 +- External/Debug Inputs/InitOnGameStart.asm | 216 +++++++++++++--- External/Debug Inputs/LogEngineTime.asm | 21 +- .../Debug Inputs/LogFrameScanoutStart.asm | 19 +- External/Debug Inputs/StoreCaptureTimes.asm | 27 +- External/Monitor4-3/Add Shutters.asm | 14 +- Output/Console/GALE01r2.ini | 240 +++++++++++++++++ Output/Console/g_core.bin | Bin 6048 -> 7944 bytes Output/Console/g_core_porta.bin | Bin 6048 -> 7944 bytes Output/Console/g_lag_pd.bin | Bin 32 -> 48 bytes Output/Netplay/GALE01r2.ini | 241 +++++++++--------- Output/Netplay/GALJ01r2.ini | 241 +++++++++--------- console_core.json | 17 ++ console_lag_pd.json | 11 +- 14 files changed, 753 insertions(+), 308 deletions(-) diff --git a/External/Debug Inputs/DebugInputs.s b/External/Debug Inputs/DebugInputs.s index ec7f3d36..c724d051 100644 --- a/External/Debug Inputs/DebugInputs.s +++ b/External/Debug Inputs/DebugInputs.s @@ -5,12 +5,16 @@ .set CIRCULAR_BUFFER_COUNT, 16 -.set DIB_IS_READY, 0 # u8 -.set DIB_POLL_INDEX, DIB_IS_READY + 1 # u8 -.set DIB_DEVELOP_TEXT_ADDR, DIB_POLL_INDEX + 1 # u32 -.set DIB_CALLBACK_COUNT, DIB_DEVELOP_TEXT_ADDR + 4 # u32 +.set DIB_ACTIVE_STATE, 0 # u8. 0 = starting, 1 = active, 2 = complete +.set DIB_POLL_INDEX, DIB_ACTIVE_STATE + 1 # u8 +.set DIB_COLOR_KEY_DTEXT_ADDR, DIB_POLL_INDEX + 1 # u32 +.set DIB_LAG_DISPLAY_DTEXT_ADDR, DIB_COLOR_KEY_DTEXT_ADDR + 4 # u32 +.set DIB_LAST_POLL_TIME, DIB_LAG_DISPLAY_DTEXT_ADDR + 4 # u32 +.set DIB_CALLBACK_PTR, DIB_LAST_POLL_TIME + 4 # u32 +.set DIB_CALLBACK_COUNT, DIB_CALLBACK_PTR + 4 # u32 .set DIB_CIRCULAR_BUFFER, DIB_CALLBACK_COUNT + 4 # u32 * CIRCULAR_BUFFER_COUNT -.set DIB_SIZE, DIB_CIRCULAR_BUFFER + (4 * CIRCULAR_BUFFER_COUNT) +.set DIB_INPUT_TO_RENDER_US, DIB_CIRCULAR_BUFFER + (4 * CIRCULAR_BUFFER_COUNT) # float +.set DIB_SIZE, DIB_INPUT_TO_RENDER_US + 4 ################################################################################ # Macros diff --git a/External/Debug Inputs/InitOnGameStart.asm b/External/Debug Inputs/InitOnGameStart.asm index 0a17a100..3aba14f8 100644 --- a/External/Debug Inputs/InitOnGameStart.asm +++ b/External/Debug Inputs/InitOnGameStart.asm @@ -12,78 +12,223 @@ DATA_BLRL: blrl .set DO_DIB_ADDR, 0 .long 0 # Buffer -.set DO_X_SCALE, DO_DIB_ADDR + 4 +.set DO_CS_X_SCALE, DO_DIB_ADDR + 4 .float 25 -.set DO_Y_SCALE, DO_X_SCALE + 4 +.set DO_CS_Y_SCALE, DO_CS_X_SCALE + 4 .float 25 -.set DO_COLOR, DO_Y_SCALE + 4 +.set DO_CS_COLOR, DO_CS_Y_SCALE + 4 .byte 0,0,0,255 +.set DO_LD_COLOR, DO_CS_COLOR + 4 +.byte 0,0,0,180 +.set DO_LD_TEXT_COLOR, DO_LD_COLOR + 4 +.byte 0xE2,0xE2,0xE2,0xFF +.set DO_LD_TEXT_X_SCALE, DO_LD_TEXT_COLOR + 4 +.float 10 +.set DO_LD_TEXT_Y_SCALE, DO_LD_TEXT_X_SCALE + 4 +.float 17 +.set DO_LD_STR_LATENCY, DO_LD_TEXT_Y_SCALE + 4 +.string "Input to Render: %u us\n" +.set DO_LD_STR_POLL_COUNT, DO_LD_STR_LATENCY + 24 +.string "Poll Count: %u\n" +.align 2 ################################################################################ # Function: PollingHandler ################################################################################ +.set REG_DATA, 31 +.set REG_DIB, 30 + FN_BLRL_PollingHandler: blrl backup bl DATA_BLRL mflr REG_DATA -lwz r4, DO_DIB_ADDR(REG_DATA) -lwz r3, DIB_CALLBACK_COUNT(r4) +lwz REG_DIB, DO_DIB_ADDR(REG_DATA) +lwz r3, DIB_CALLBACK_COUNT(REG_DIB) addi r3, r3, 1 -stw r3, DIB_CALLBACK_COUNT(r4) +stw r3, DIB_CALLBACK_COUNT(REG_DIB) + +# Write poll time +branchl r12, 0x8034c408 # OSGetTick +stw r3, DIB_LAST_POLL_TIME(REG_DIB) restore blr +################################################################################ +# Function: UpdateLagDisplay +################################################################################ +.set REG_DATA, 31 +.set REG_DIB, 30 +.set REG_DEVELOP_TEXT, 29 + +FN_BLRL_UpdateLagDisplay: +blrl +backup + +bl DATA_BLRL +mflr REG_DATA +lwz REG_DIB, DO_DIB_ADDR(REG_DATA) +lwz REG_DEVELOP_TEXT, DIB_LAG_DISPLAY_DTEXT_ADDR(REG_DIB) + +# Only run update if active, if complete, stop updating +lbz r3, DIB_ACTIVE_STATE(REG_DIB) +cmpwi r3, 1 +bne FN_UpdateLagDisplay_EXIT + +mr r3, REG_DEVELOP_TEXT +branchl r12, 0x80302bb0 # DevelopText_EraseAllText +mr r3, REG_DEVELOP_TEXT +li r4, 0 +li r5, 0 +branchl r12, 0x80302a3c # DevelopMode_Text_ResetCursorXY + +#Set Text +mr r3, REG_DEVELOP_TEXT +addi r4, REG_DATA, DO_LD_STR_LATENCY +lwz r5, DIB_INPUT_TO_RENDER_US(REG_DIB) +branchl r12, 0x80302d4c # DevelopText_FormatAndPrint +mr r3, REG_DEVELOP_TEXT +addi r4, REG_DATA, DO_LD_STR_POLL_COUNT +lwz r5, DIB_CALLBACK_COUNT(REG_DIB) +branchl r12, 0x80302d4c # DevelopText_FormatAndPrint + +# Check if game over +load r3, 0x8046b6a0 +lbz r3, 0x8(r3) +cmpwi r3, 0 +beq SKIP_GAME_END + +# Here game has ended, so let's do some cleanup. First unregister polling callback +lwz r3, DIB_CALLBACK_PTR(REG_DIB) +branchl r12, 0x80349cbc # SIUnregisterPollingHandler + +# Set active state to game complete +li r3, 2 +stb r3, DIB_ACTIVE_STATE(REG_DIB) +SKIP_GAME_END: + +FN_UpdateLagDisplay_EXIT: +restore +blr + ################################################################################ # Function: InitColorSquare ################################################################################ .set REG_DATA, 31 -.set REG_DevelopText, 30 +.set REG_DEVELOP_TEXT, 30 FN_InitColorSquare: backup - bl DATA_BLRL - mflr REG_DATA +bl DATA_BLRL +mflr REG_DATA #Create Rectangle - li r3,32 - branchl r12,HSD_MemAlloc - mr r8,r3 - li r3,30 # ID - li r4,-25 # X Pos, bottom right: 638 - li r5,-25 # Y Pos, bottom right: 478 - li r6,1 - li r7,1 - branchl r12, 0x80302834 # DevelopText_CreateDataTable - mr REG_DevelopText,r3 +li r3, 32 +branchl r12, HSD_MemAlloc +mr r8, r3 +li r3, 30 # ID +li r4, -43 # X Pos, bottom right: 638 +li r5, -42 # Y Pos, bottom right: 478 +li r6, 1 +li r7, 1 +branchl r12, 0x80302834 # DevelopText_CreateDataTable +mr REG_DEVELOP_TEXT, r3 #Activate Text - lwz r3, -0x4884 (r13) - mr r4,REG_DevelopText - branchl r12, 0x80302810 # DevelopText_Activate +lwz r3, -0x4884(r13) +mr r4, REG_DEVELOP_TEXT +branchl r12, 0x80302810 # DevelopText_Activate #Hide blinking cursor - li r3,0 - stb r3,0x26(REG_DevelopText) +li r3, 0 +stb r3, 0x26(REG_DEVELOP_TEXT) #Change BG Color - mr r3,REG_DevelopText - addi r4,REG_DATA,DO_COLOR - branchl r12, 0x80302b90 # DevelopText_StoreBGColor +mr r3, REG_DEVELOP_TEXT +addi r4, REG_DATA, DO_CS_COLOR +branchl r12, 0x80302b90 # DevelopText_StoreBGColor #Set Stretch - lfs f1,DO_X_SCALE(REG_DATA) - stfs f1,0x8(REG_DevelopText) - lfs f1,DO_Y_SCALE(REG_DATA) - stfs f1,0xC(REG_DevelopText) +lfs f1, DO_CS_X_SCALE(REG_DATA) +stfs f1, 0x8(REG_DEVELOP_TEXT) +lfs f1, DO_CS_Y_SCALE(REG_DATA) +stfs f1, 0xC(REG_DEVELOP_TEXT) #Store Develop Text Addr - lwz r3, DO_DIB_ADDR(REG_DATA) - stw REG_DevelopText, DIB_DEVELOP_TEXT_ADDR(r3) +lwz r3, DO_DIB_ADDR(REG_DATA) +stw REG_DEVELOP_TEXT, DIB_COLOR_KEY_DTEXT_ADDR(r3) + +restore +blr + +################################################################################ +# Function: InitLagDisplay +################################################################################ +.set REG_DATA, 31 +.set REG_DEVELOP_TEXT, 30 + +FN_InitLagDisplay: +backup + +bl DATA_BLRL +mflr REG_DATA + +#Create Rectangle +li r3, 1000 +branchl r12, HSD_MemAlloc +mr r8, r3 +li r3, 31 # ID +li r4, 0 # X Pos, bottom right: 638 +li r5, 0 # Y Pos, bottom right: 478 +li r6, 28 +li r7, 4 +branchl r12, 0x80302834 # DevelopText_CreateDataTable +mr REG_DEVELOP_TEXT, r3 +#Activate Text +lwz r3, -0x4884(r13) +mr r4, REG_DEVELOP_TEXT +branchl r12, 0x80302810 # DevelopText_Activate +#Hide blinking cursor +li r3, 0 +stb r3, 0x26(REG_DEVELOP_TEXT) +#Change BG Color +mr r3, REG_DEVELOP_TEXT +addi r4, REG_DATA, DO_LD_COLOR +branchl r12, 0x80302b90 # DevelopText_StoreBGColor +#Store text scale +mr r3, REG_DEVELOP_TEXT +lfs f1, DO_LD_TEXT_X_SCALE(REG_DATA) +lfs f2, DO_LD_TEXT_Y_SCALE(REG_DATA) +branchl r12, 0x80302b10 # DevelopText_StoreTextScale +#Set Text Color +mr r3, REG_DEVELOP_TEXT +addi r4, REG_DATA, DO_LD_TEXT_COLOR +branchl r12, 0x80302b64 # DevelopText_StoreTextColor +#Show text +mr r3, REG_DEVELOP_TEXT +branchl r12, 0x80302af0 # DevelopText_ShowText +#Store Develop Text Addr +lwz r3, DO_LD_DIB_ADDR(REG_DATA) +stw REG_DEVELOP_TEXT, DIB_LAG_DISPLAY_DTEXT_ADDR(r3) + +# Create GObj +li r3, 19 # GObj Type +li r4, 20 +li r5, 0 # some type of priority +branchl r12, GObj_Create + +#Create Proc to update display +bl FN_BLRL_UpdateLagDisplay +mflr r4 # Function +li r5, 7 # Priority +branchl r12, GObj_AddProc restore blr CODE_START: +.set REG_DIB, 30 + +backup # logf LOG_LEVEL_WARN, "Init..." li r3, DIB_SIZE @@ -92,16 +237,21 @@ branchl r12, HSD_MemAlloc bl DATA_BLRL mflr r4 stw r3, 0(r4) # Write address to static address +mr REG_DIB, r3 li r4, DIB_SIZE branchl r12, Zero_AreaLength bl FN_InitColorSquare +bl FN_InitLagDisplay # I thought this would fire twice per frame (same as polling), but it doesn't and idk what it does bl FN_BLRL_PollingHandler mflr r3 +stw r3, DIB_CALLBACK_PTR(REG_DIB) # Store so we can unregister later branchl r12, 0x80349bf0 # SIRegisterPollingHandler +restore + EXIT: lfs f1, -0x5738(rtoc) \ No newline at end of file diff --git a/External/Debug Inputs/LogEngineTime.asm b/External/Debug Inputs/LogEngineTime.asm index 301e71ca..b9c4e15f 100644 --- a/External/Debug Inputs/LogEngineTime.asm +++ b/External/Debug Inputs/LogEngineTime.asm @@ -31,26 +31,29 @@ computeBranchTargetAddress r3, INJ_InitDebugInputs lwz REG_DIB, 8+0(r3) # Check if DIB is ready (poll has happened) -lbz r3, DIB_IS_READY(REG_DIB) +lbz r3, DIB_ACTIVE_STATE(REG_DIB) cmpwi r3, 0 beq RESTORE_AND_EXIT -# Fetch key from controller input -loadwz r7, 0x804c1fac -rlwinm REG_KEY, r7, 0, 0xF +# Fetch key from controller input and clear d-pad inputs +load r4, 0x804c1fac +lwz r3, 0(r4) +rlwinm REG_KEY, r3, 0, 0xF +rlwinm r3, r3, 0, 0xFFFFFFF0 # clear d-pad inputs +stw r3, 0(r4) # Calculate time diff calcDiffTicksToUs REG_DIB, REG_KEY mr REG_DIFF_US, r3 # Log -mr r7, REG_DIFF_US -mr r6, REG_KEY -loadGlobalFrame r5 -logf LOG_LEVEL_WARN, "ENGINE %u 0x%X %u" # Label Frame TimeUs +# mr r7, REG_DIFF_US +# mr r6, REG_KEY +# loadGlobalFrame r5 +# logf LOG_LEVEL_WARN, "ENGINE %u 0x%X %u" # Label Frame TimeUs # Adjust develop text BG color -lwz r3, DIB_DEVELOP_TEXT_ADDR(REG_DIB) +lwz r3, DIB_COLOR_KEY_DTEXT_ADDR(REG_DIB) stb REG_KEY, BKP_FREE_SPACE_OFFSET+0(sp) stb REG_KEY, BKP_FREE_SPACE_OFFSET+1(sp) stb REG_KEY, BKP_FREE_SPACE_OFFSET+2(sp) diff --git a/External/Debug Inputs/LogFrameScanoutStart.asm b/External/Debug Inputs/LogFrameScanoutStart.asm index 4f2ff9a5..d01d1881 100644 --- a/External/Debug Inputs/LogFrameScanoutStart.asm +++ b/External/Debug Inputs/LogFrameScanoutStart.asm @@ -32,7 +32,7 @@ computeBranchTargetAddress r3, INJ_InitDebugInputs lwz REG_DIB, 8+0(r3) # Check if DIB is ready (poll has happened) -lbz r3, DIB_IS_READY(REG_DIB) +lbz r3, DIB_ACTIVE_STATE(REG_DIB) cmpwi r3, 0 beq RESTORE_AND_EXIT @@ -52,13 +52,16 @@ calcDiffTicksToUs REG_DIB, REG_KEY mr REG_DIFF_US, r3 # Log -mr r8, REG_DIFF_US -loadwz r7, 0x804a8b10 # Load ptr to frame that will be scanned out -lwz r7, 0(r7) # Load top left pixel -mr r6, REG_KEY -loadGlobalFrame r5 -subi r5, r5, 1 -logf LOG_LEVEL_WARN, "BLANK %u 0x%X %X %u" # Label Frame TimeUs +# mr r8, REG_DIFF_US +# loadwz r7, 0x804a8b10 # Load ptr to frame that will be scanned out +# lwz r7, 0(r7) # Load top left pixel +# mr r6, REG_KEY +# loadGlobalFrame r5 +# subi r5, r5, 1 +# logf LOG_LEVEL_WARN, "BLANK %u 0x%X %X %u" # Label Frame TimeUs + +# Store latest latency +stw REG_DIFF_US, DIB_INPUT_TO_RENDER_US(REG_DIB) # Restore interrupts mr r3, REG_INTERRUPTS diff --git a/External/Debug Inputs/StoreCaptureTimes.asm b/External/Debug Inputs/StoreCaptureTimes.asm index b45efb51..e65ec6f6 100644 --- a/External/Debug Inputs/StoreCaptureTimes.asm +++ b/External/Debug Inputs/StoreCaptureTimes.asm @@ -32,12 +32,15 @@ computeBranchTargetAddress r3, INJ_InitDebugInputs lwz REG_DIB, 8+0(r3) # Store "key" to inputs (sets d-pad inputs) -lbz r3, DIB_POLL_INDEX(REG_DIB) -rlwinm r3, r3, 16, 0xF0000 +lwz r3, P1_PAD_OFFSET(sp) # Load P1 inputs +rlwinm r3, r3, 16, 0xFFFFFFF0 # shift inputs to put d-pad lowest, also clear d-pad +lbz r4, DIB_POLL_INDEX(REG_DIB) +or r3, r3, r4 # set d-pad inputs to key +rlwinm r3, r3, 16, 0xFFFFFFFF # shift inputs back into place stw r3, P1_PAD_OFFSET(sp) # Get and write current tick -branchl r12, 0x8034c408 # OSGetTick +lwz r3, DIB_LAST_POLL_TIME(REG_DIB) lbz r4, DIB_POLL_INDEX(REG_DIB) mulli r4, r4, 4 # Get index offset addi r4, r4, DIB_CIRCULAR_BUFFER @@ -46,18 +49,22 @@ stwx r3, REG_DIB, r4 # Log # loadwz r7, 0xCC006430 # Includes details to poll more often. http://hitmen.c02.at/files/yagcd/yagcd/chap5.html#sec5.8 # loadwz r7, 0xCC006434 -lwz r7, DIB_CALLBACK_COUNT(REG_DIB) -lwz r6, P1_PAD_OFFSET(sp) -rlwinm r6, r6, 16, 0xF -loadGlobalFrame r5 -logf LOG_LEVEL_WARN, "POLL %u 0x%X %u" +# lwz r7, DIB_CALLBACK_COUNT(REG_DIB) +# lwz r6, P1_PAD_OFFSET(sp) +# rlwinm r6, r6, 16, 0xF +# loadGlobalFrame r5 +# logf LOG_LEVEL_WARN, "POLL %u 0x%X %u" # Increment index incrementByte r3, REG_DIB, DIB_POLL_INDEX, CIRCULAR_BUFFER_COUNT -# Indicate ready, prevents other functions from running first +# Indicate ready, prevents other functions from running first. Only activate if currently inactive +lbz r3, DIB_ACTIVE_STATE(REG_DIB) +cmpwi r3, 0 +bne SKIP_ACTIVATE li r3, 1 -stb r3, DIB_IS_READY(REG_DIB) +stb r3, DIB_ACTIVE_STATE(REG_DIB) +SKIP_ACTIVATE: # Restore interrupts mr r3, REG_INTERRUPTS diff --git a/External/Monitor4-3/Add Shutters.asm b/External/Monitor4-3/Add Shutters.asm index d6a65f7f..deb8f584 100644 --- a/External/Monitor4-3/Add Shutters.asm +++ b/External/Monitor4-3/Add Shutters.asm @@ -21,7 +21,7 @@ blrl # r3: isLeft # True if this is the left shutter, False if right ################################################################################ .set REG_DATA, 31 -.set REG_DevelopText, 30 +.set REG_DEVELOP_TEXT, 30 .set REG_X_POS, 29 .set REG_ID, 28 @@ -49,23 +49,23 @@ backup li r6,1 li r7,1 branchl r12, 0x80302834 # DevelopText_CreateDataTable - mr REG_DevelopText,r3 + mr REG_DEVELOP_TEXT,r3 #Activate Text lwz r3, -0x4884 (r13) - mr r4,REG_DevelopText + mr r4,REG_DEVELOP_TEXT branchl r12, 0x80302810 # DevelopText_Activate #Hide blinking cursor li r3,0 - stb r3,0x26(REG_DevelopText) + stb r3,0x26(REG_DEVELOP_TEXT) #Change BG Color - mr r3,REG_DevelopText + mr r3,REG_DEVELOP_TEXT addi r4,REG_DATA,DO_COLOR branchl r12, 0x80302b90 # DevelopText_StoreBGColor #Set Stretch lfs f1,DO_X_SCALE(REG_DATA) - stfs f1,0x8(REG_DevelopText) + stfs f1,0x8(REG_DEVELOP_TEXT) lfs f1,DO_Y_SCALE(REG_DATA) - stfs f1,0xC(REG_DevelopText) + stfs f1,0xC(REG_DEVELOP_TEXT) restore blr diff --git a/Output/Console/GALE01r2.ini b/Output/Console/GALE01r2.ini index 45682f31..92365e4e 100644 --- a/Output/Console/GALE01r2.ini +++ b/Output/Console/GALE01r2.ini @@ -771,3 +771,243 @@ BA810008 800100B4 382100B0 7C0803A6 4E800020 00000000 04005600 801910E0 #Common/ConsoleOverrides/SetGeckoStart.asm + +$Optional: Debug Input Timings [Fizzi] +*Try to debug inputs +C21A4CB4 00000004 #External/Debug Inputs/AllocBuffer.asm +38600080 3D808037 +618CF1E4 7D8903A6 +4E800421 906DAFC4 +38000000 00000000 +041BFA20 38600002 #External/Debug Inputs/Boot To CSS.asm +C216E774 0000007E #External/Debug Inputs/InitOnGameStart.asm +48000368 4E800021 +00000000 41C80000 +41C80000 000000FF +000000B4 E2E2E2FF +41200000 41880000 +496E7075 7420746F +2052656E 6465723A +20257520 75730A00 +506F6C6C 20436F75 +6E743A20 25750A00 +4E800021 7C0802A6 +90010004 9421FF50 +BE810008 4BFFFFA1 +7FE802A6 83DF0000 +807E0012 38630001 +907E0012 3D808034 +618CC408 7D8903A6 +4E800421 907E000A +BA810008 800100B4 +382100B0 7C0803A6 +4E800020 4E800021 +7C0802A6 90010004 +9421FF50 BE810008 +4BFFFF4D 7FE802A6 +83DF0000 83BE0006 +887E0000 2C030001 +4082009C 7FA3EB78 +3D808030 618C2BB0 +7D8903A6 4E800421 +7FA3EB78 38800000 +38A00000 3D808030 +618C2A3C 7D8903A6 +4E800421 7FA3EB78 +389F0020 80BE0056 +3D808030 618C2D4C +7D8903A6 4E800421 +7FA3EB78 389F0038 +80BE0012 3D808030 +618C2D4C 7D8903A6 +4E800421 3C608046 +6063B6A0 88630008 +2C030000 41820020 +807E000E 3D808034 +618C9CBC 7D8903A6 +4E800421 38600002 +987E0000 BA810008 +800100B4 382100B0 +7C0803A6 4E800020 +7C0802A6 90010004 +9421FF50 BE810008 +4BFFFE75 7FE802A6 +38600020 3D808037 +618CF1E4 7D8903A6 +4E800421 7C681B78 +3860001E 3880FFD5 +38A0FFD6 38C00001 +38E00001 3D808030 +618C2834 7D8903A6 +4E800421 7C7E1B78 +806DB77C 7FC4F378 +3D808030 618C2810 +7D8903A6 4E800421 +38600000 987E0026 +7FC3F378 389F000C +3D808030 618C2B90 +7D8903A6 4E800421 +C03F0004 D03E0008 +C03F0008 D03E000C +807F0000 93C30002 +BA810008 800100B4 +382100B0 7C0803A6 +4E800020 7C0802A6 +90010004 9421FF50 +BE810008 4BFFFDB9 +7FE802A6 386003E8 +3D808037 618CF1E4 +7D8903A6 4E800421 +7C681B78 3860001F +38800000 38A00000 +38C0001C 38E00004 +3D808030 618C2834 +7D8903A6 4E800421 +7C7E1B78 806DB77C +7FC4F378 3D808030 +618C2810 7D8903A6 +4E800421 38600000 +987E0026 7FC3F378 +389F0010 3D808030 +618C2B90 7D8903A6 +4E800421 7FC3F378 +C03F0018 C05F001C +3D808030 618C2B10 +7D8903A6 4E800421 +7FC3F378 389F0014 +3D808030 618C2B64 +7D8903A6 4E800421 +7FC3F378 3D808030 +618C2AF0 7D8903A6 +4E800421 807F0000 +93C30006 38600013 +38800014 38A00000 +3D808039 618C01F0 +7D8903A6 4E800421 +4BFFFD6D 7C8802A6 +38A00007 3D808038 +618CFD54 7D8903A6 +4E800421 BA810008 +800100B4 382100B0 +7C0803A6 4E800020 +7C0802A6 90010004 +9421FF50 BE810008 +3860005A 3D808037 +618CF1E4 7D8903A6 +4E800421 4BFFFC79 +7C8802A6 90640000 +7C7E1B78 3880005A +3D808000 618CC160 +7D8903A6 4E800421 +4BFFFDD1 4BFFFE89 +4BFFFC99 7C6802A6 +907E000E 3D808034 +618C9BF0 7D8903A6 +4E800421 BA810008 +800100B4 382100B0 +7C0803A6 C022A8C8 +60000000 00000000 +C21A4DEC 00000025 #External/Debug Inputs/LogEngineTime.asm +3C608048 80639D30 +5463443E 2C030202 +4082010C 3C608048 +80639D60 2C030000 +408100FC 7C0802A6 +90010004 9421FF50 +BE810008 3D808034 +618C7364 7D8903A6 +4E800421 7C7E1B78 +3C608016 6063E774 +80830000 5485863E +7CA50774 54A5801E +5484043A 7C842B78 +7C632214 83E30008 +887F0000 2C030000 +41820094 3C80804C +60841FAC 80640000 +547C073E 54630036 +90640000 3D808034 +618CC408 7D8903A6 +4E800421 1C9C0004 +38840016 7C9F202E +7C641850 1C63000C +388001E6 7C632396 +7C7D1B78 807F0002 +9B810038 9B810039 +9B81003A 80810038 +54842026 608400FF +90810038 38810038 +3D808030 618C2B90 +7D8903A6 4E800421 +7FC3F378 3D808034 +618C738C 7D8903A6 +4E800421 BA810008 +800100B4 382100B0 +7C0803A6 800D9368 +60000000 00000000 +C2375C14 00000021 #External/Debug Inputs/LogFrameScanoutStart.asm +3C608048 80639D30 +5463443E 2C030202 +408200F0 3C608047 +60639D64 80630000 +2C030000 408200DC +7C0802A6 90010004 +9421FF50 BE810008 +3D808034 618C7364 +7D8903A6 4E800421 +7C7E1B78 3C608016 +6063E774 80830000 +5485863E 7CA50774 +54A5801E 5484043A +7C842B78 7C632214 +83E30008 887F0000 +2C030000 41820074 +3C60804A 60638B10 +80630000 80630000 +5463463E 3863FFF1 +1C630006 38800005 +7C632396 547CE73E +3D808034 618CC408 +7D8903A6 4E800421 +1C9C0004 38840016 +7C9F202E 7C641850 +1C63000C 388001E6 +7C632396 7C7D1B78 +93BF0056 7FC3F378 +3D808034 618C738C +7D8903A6 4E800421 +BA810008 800100B4 +382100B0 7C0803A6 +80010024 00000000 +C2376A88 0000001F #External/Debug Inputs/StoreCaptureTimes.asm +3C608048 80639D30 +5463443E 2C030202 +408200E0 3C608047 +60639D64 80630000 +2C030000 408200CC +7C0802A6 90010004 +9421FF50 BE810008 +3D808034 618C7364 +7D8903A6 4E800421 +7C7E1B78 3C608016 +6063E774 80830000 +5485863E 7CA50774 +54A5801E 5484043A +7C842B78 7C632214 +83E30008 806100DC +54638036 889F0001 +7C632378 5463803E +906100DC 807F000A +889F0001 1C840004 +38840016 7C7F212E +887F0001 38630001 +2C030010 41800008 +38600000 987F0001 +887F0000 2C030000 +4082000C 38600001 +987F0000 7FC3F378 +3D808034 618C738C +7D8903A6 4E800421 +BA810008 800100B4 +382100B0 7C0803A6 +881F0002 00000000 diff --git a/Output/Console/g_core.bin b/Output/Console/g_core.bin index cb4f42acd80f44ad36f634776c3a483254d843f3..edc685b9b99d02152064a95498fb51ea53aaaea3 100644 GIT binary patch delta 1734 zcmb_cUuaWT9RA%TwwDm4Xo$`RbFcpptIh|p$I`_XMXjw;bPh569po7mlbC->gCy819?;BZgA z-#NeYeZSv#PWjV(e7d~Zs&4I>A))}&iGRjMRea#es)&3_ z##fCjrtmj=iu`?NIjJJnIqwWiZH$?Pg$27)0hTA~8vG)iQc^?8xl4n|OJBAryV6Sf zN|1VoE?-uT4RxglQvwT;NM_2usiH)IYpUHlJ3?}|ZQrq8`liNyCE{7y$PAK-_=4!6 zL}5;@6U|bvRM{A|K9J;$mt<^~8uD49eSVTUMrp#j`)3Bp4kijM(_S)xF;2wFL{4mP z`>NO^DSVdBJF)#e|A=*E*d#Fo1w$l#7i`!03Eg;9&Ko4-aOxaIk}Pe&Iw+a=&PyUn zd;)qrwr0^zXR_#=se zRA19=uMC)Zw4zLn*v}G$;ELuYsFee|FCen2N!|9_uf(oml1MZH*~J=46n@aX&B*)= zjULC^n`R%@)?IO{e)_k#3tXZZrqZ-2`==_~@6V%mwO@7XnOB%tyI`?X+_-&EGmgji z`F*~QQ7PnNy0Bcw2)%v(f`JU|ccoq)K@xi+y0MtzV?^55-^9&(jVbLO-=^gPZDy_| zV;bATW51D{hZ$TeUu)+U@6mIy2OLT@voWq2bXcf%4tRG{qZ4>)auhKql>=sSOK;Sm z5aZGxrm^F?ISi{>JBDZBL?*+tA526BoETl6Ye>uD(wiCKJosZV#x zLe+GwfwZZ-61z z3F(@-82_)ODt%AqT|0{&7KX=5{gH?TpX?MRsJ8aw`K8zz`d_S}|HqG@U&z;M-rxy( zt{MDrev%~U%U~Wa0z-R)0*mHc8(8WA_(&2DJG|7?$w{ugO29mSp*bO7(hc|xdP^50 Ls+^CJPl)^*dyz-s delta 7 OcmeCMTcE#Tfj9sRb^`qX diff --git a/Output/Console/g_core_porta.bin b/Output/Console/g_core_porta.bin index 190c929904d0ad5d492c7bf3803d0845babf9951..e9d2039d6a5b2d2ef70b8c78dc23f944780d65dc 100644 GIT binary patch delta 1734 zcmb_cUuaWT9RA%TwwDm4Xo$`RbFcpptIh|p$I`_XMXjw;bPh569po7mlbC->gCy819?;BZgA z-#NeYeZSv#PWjV(e7d~Zs&4I>A))}&iGRjMRea#es)&3_ z##fCjrtmj=iu`?NIjJJnIqwWiZH$?Pg$27)0hTA~8vG)iQc^?8xl4n|OJBAryV6Sf zN|1VoE?-uT4RxglQvwT;NM_2usiH)IYpUHlJ3?}|ZQrq8`liNyCE{7y$PAK-_=4!6 zL}5;@6U|bvRM{A|K9J;$mt<^~8uD49eSVTUMrp#j`)3Bp4kijM(_S)xF;2wFL{4mP z`>NO^DSVdBJF)#e|A=*E*d#Fo1w$l#7i`!03Eg;9&Ko4-aOxaIk}Pe&Iw+a=&PyUn zd;)qrwr0^zXR_#=se zRA19=uMC)Zw4zLn*v}G$;ELuYsFee|FCen2N!|9_uf(oml1MZH*~J=46n@aX&B*)= zjULC^n`R%@)?IO{e)_k#3tXZZrqZ-2`==_~@6V%mwO@7XnOB%tyI`?X+_-&EGmgji z`F*~QQ7PnNy0Bcw2)%v(f`JU|ccoq)K@xi+y0MtzV?^55-^9&(jVbLO-=^gPZDy_| zV;bATW51D{hZ$TeUu)+U@6mIy2OLT@voWq2bXcf%4tRG{qZ4>)auhKql>=sSOK;Sm z5aZGxrm^F?ISi{>JBDZBL?*+tA526BoETl6Ye>uD(wiCKJosZV#x zLe+GwfwZZ-61z z3F(@-82_)ODt%AqT|0{&7KX=5{gH?TpX?MRsJ8aw`K8zz`d_S}|HqG@U&z;M-rxy( zt{MDrev%~U%U~Wa0z-R)0*mHc8(8WA_(&2DJG|7?$w{ugO29mSp*bO7(hc|xdP^50 Ls+^CJPl)^*dyz-s delta 7 OcmeCMTcE#Tfj9sRb^`qX diff --git a/Output/Console/g_lag_pd.bin b/Output/Console/g_lag_pd.bin index f00775fc45e5010d4703932328711c25fddf5df8..1f20dd0e8990b23cb325fcb600c825bc2e5bd50d 100644 GIT binary patch literal 48 zcmX>k<-34^fq{8~30|4f@4ygbD diff --git a/Output/Netplay/GALE01r2.ini b/Output/Netplay/GALE01r2.ini index 661dd248..9eac382e 100644 --- a/Output/Netplay/GALE01r2.ini +++ b/Output/Netplay/GALE01r2.ini @@ -5703,26 +5703,63 @@ C21A4CB4 00000004 #External/Debug Inputs/AllocBuffer.asm 4E800421 906DAFC4 38000000 00000000 041BFA20 38600002 #External/Debug Inputs/Boot To CSS.asm -C216E774 0000002E #External/Debug Inputs/InitOnGameStart.asm -48000114 4E800021 +C216E774 0000007E #External/Debug Inputs/InitOnGameStart.asm +48000368 4E800021 00000000 41C80000 41C80000 000000FF +000000B4 E2E2E2FF +41200000 41880000 +496E7075 7420746F +2052656E 6465723A +20257520 75730A00 +506F6C6C 20436F75 +6E743A20 25750A00 4E800021 7C0802A6 90010004 9421FF50 -BE810008 4BFFFFD9 -7FE802A6 809F0000 -80640006 38630001 -90640006 BA810008 +BE810008 4BFFFFA1 +7FE802A6 83DF0000 +807E0012 38630001 +907E0012 3D808034 +618CC408 7D8903A6 +4E800421 907E000A +BA810008 800100B4 +382100B0 7C0803A6 +4E800020 4E800021 +7C0802A6 90010004 +9421FF50 BE810008 +4BFFFF4D 7FE802A6 +83DF0000 83BE0006 +887E0000 2C030001 +4082009C 7FA3EB78 +3D808030 618C2BB0 +7D8903A6 4E800421 +7FA3EB78 38800000 +38A00000 3D808030 +618C2A3C 7D8903A6 +4E800421 7FA3EB78 +389F0020 80BE0056 +3D808030 618C2D4C +7D8903A6 4E800421 +7FA3EB78 389F0038 +80BE0012 3D808030 +618C2D4C 7D8903A6 +4E800421 3C608046 +6063B6A0 88630008 +2C030000 41820020 +807E000E 3D808034 +618C9CBC 7D8903A6 +4E800421 38600002 +987E0000 BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 BE810008 -4BFFFF9D 7FE802A6 +4BFFFE75 7FE802A6 38600020 3D808037 618CF1E4 7D8903A6 4E800421 7C681B78 -3860001E 3880FFE7 -38A0FFE7 38C00001 +3860001E 3880FFD5 +38A0FFD6 38C00001 38E00001 3D808030 618C2834 7D8903A6 4E800421 7C7E1B78 @@ -5738,24 +5775,67 @@ C03F0008 D03E000C 807F0000 93C30002 BA810008 800100B4 382100B0 7C0803A6 -4E800020 3860004A +4E800020 7C0802A6 +90010004 9421FF50 +BE810008 4BFFFDB9 +7FE802A6 386003E8 3D808037 618CF1E4 7D8903A6 4E800421 -4BFFFEDD 7C8802A6 -90640000 3880004A +7C681B78 3860001F +38800000 38A00000 +38C0001C 38E00004 +3D808030 618C2834 +7D8903A6 4E800421 +7C7E1B78 806DB77C +7FC4F378 3D808030 +618C2810 7D8903A6 +4E800421 38600000 +987E0026 7FC3F378 +389F0010 3D808030 +618C2B90 7D8903A6 +4E800421 7FC3F378 +C03F0018 C05F001C +3D808030 618C2B10 +7D8903A6 4E800421 +7FC3F378 389F0014 +3D808030 618C2B64 +7D8903A6 4E800421 +7FC3F378 3D808030 +618C2AF0 7D8903A6 +4E800421 807F0000 +93C30006 38600013 +38800014 38A00000 +3D808039 618C01F0 +7D8903A6 4E800421 +4BFFFD6D 7C8802A6 +38A00007 3D808038 +618CFD54 7D8903A6 +4E800421 BA810008 +800100B4 382100B0 +7C0803A6 4E800020 +7C0802A6 90010004 +9421FF50 BE810008 +3860005A 3D808037 +618CF1E4 7D8903A6 +4E800421 4BFFFC79 +7C8802A6 90640000 +7C7E1B78 3880005A 3D808000 618CC160 7D8903A6 4E800421 -4BFFFF11 4BFFFECD -7C6802A6 3D808034 +4BFFFDD1 4BFFFE89 +4BFFFC99 7C6802A6 +907E000E 3D808034 618C9BF0 7D8903A6 -4E800421 C022A8C8 +4E800421 BA810008 +800100B4 382100B0 +7C0803A6 C022A8C8 60000000 00000000 -C21A4DEC 0000003B #External/Debug Inputs/LogEngineTime.asm +C21A4DEC 00000025 #External/Debug Inputs/LogEngineTime.asm 3C608048 80639D30 5463443E 2C030202 -408201BC 3C608048 +4082010C 3C608048 80639D60 2C030000 -408101AC 7C0802A6 +408100FC 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 7D8903A6 @@ -5766,38 +5846,16 @@ BE810008 3D808034 5484043A 7C842B78 7C632214 83E30008 887F0000 2C030000 -41820144 3CE0804C -60E71FAC 80E70000 -54FC073E 3D808034 +41820094 3C80804C +60841FAC 80640000 +547C073E 54630036 +90640000 3D808034 618CC408 7D8903A6 4E800421 1C9C0004 -3884000A 7C9F202E +38840016 7C9F202E 7C641850 1C63000C 388001E6 7C632396 -7C7D1B78 7FA7EB78 -7F86E378 3CA08048 -80A59D60 4800001C -4E800021 454E4749 -4E452025 75203078 -25582025 75000000 -7C0802A6 90010004 -9421FF00 BC610008 -60000000 60000000 -60000000 60000000 -60000000 806DAFC4 -38630003 4BFFFFBD -7C8802A6 4CC63242 -3D808032 618C3CF4 -7D8903A6 4E800421 -806DAFC4 388000D0 -98830000 38800000 -98830001 38800003 -98830002 38800080 -38A00001 3D808000 -618C55F0 7D8903A6 -4E800421 B8610008 -80010104 38210100 -7C0803A6 807F0002 +7C7D1B78 807F0002 9B810038 9B810039 9B81003A 80810038 54842026 608400FF @@ -5810,12 +5868,12 @@ BE810008 3D808034 800100B4 382100B0 7C0803A6 800D9368 60000000 00000000 -C2375C14 0000003A #External/Debug Inputs/LogFrameScanoutStart.asm +C2375C14 00000021 #External/Debug Inputs/LogFrameScanoutStart.asm 3C608048 80639D30 5463443E 2C030202 -408201B8 3C608047 +408200F0 3C608047 60639D64 80630000 -2C030000 408201A4 +2C030000 408200DC 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 @@ -5826,7 +5884,7 @@ C2375C14 0000003A #External/Debug Inputs/LogFrameScanoutStart.asm 54A5801E 5484043A 7C842B78 7C632214 83E30008 887F0000 -2C030000 4182013C +2C030000 41820074 3C60804A 60638B10 80630000 80630000 5463463E 3863FFF1 @@ -5834,47 +5892,22 @@ C2375C14 0000003A #External/Debug Inputs/LogFrameScanoutStart.asm 7C632396 547CE73E 3D808034 618CC408 7D8903A6 4E800421 -1C9C0004 3884000A +1C9C0004 38840016 7C9F202E 7C641850 1C63000C 388001E6 7C632396 7C7D1B78 -7FA8EB78 3CE0804A -60E78B10 80E70000 -80E70000 7F86E378 -3CA08048 80A59D60 -38A5FFFF 4800001C -4E800021 424C414E -4B202575 20307825 -58202558 20257500 -7C0802A6 90010004 -9421FF00 BC610008 -60000000 60000000 -60000000 60000000 -60000000 806DAFC4 -38630003 4BFFFFBD -7C8802A6 4CC63242 -3D808032 618C3CF4 -7D8903A6 4E800421 -806DAFC4 388000D0 -98830000 38800000 -98830001 38800003 -98830002 38800080 -38A00001 3D808000 -618C55F0 7D8903A6 -4E800421 B8610008 -80010104 38210100 -7C0803A6 7FC3F378 +93BF0056 7FC3F378 3D808034 618C738C 7D8903A6 4E800421 BA810008 800100B4 382100B0 7C0803A6 80010024 00000000 -C2376A88 00000035 #External/Debug Inputs/StoreCaptureTimes.asm +C2376A88 0000001F #External/Debug Inputs/StoreCaptureTimes.asm 3C608048 80639D30 5463443E 2C030202 -4082018C 3C608047 +408200E0 3C608047 60639D64 80630000 -2C030000 40820178 +2C030000 408200CC 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 @@ -5884,45 +5917,23 @@ C2376A88 00000035 #External/Debug Inputs/StoreCaptureTimes.asm 5485863E 7CA50774 54A5801E 5484043A 7C842B78 7C632214 -83E30008 887F0001 -5463831E 906100DC -3D808034 618CC408 -7D8903A6 4E800421 +83E30008 806100DC +54638036 889F0001 +7C632378 5463803E +906100DC 807F000A 889F0001 1C840004 -3884000A 7C7F212E -80FF0006 80C100DC -54C6873E 3CA08048 -80A59D60 48000018 -4E800021 504F4C4C -20257520 30782558 -20257500 7C0802A6 -90010004 9421FF00 -BC610008 60000000 -60000000 60000000 -60000000 60000000 -806DAFC4 38630003 -4BFFFFC1 7C8802A6 -4CC63242 3D808032 -618C3CF4 7D8903A6 -4E800421 806DAFC4 -388000D0 98830000 -38800000 98830001 -38800003 98830002 -38800080 38A00001 -3D808000 618C55F0 -7D8903A6 4E800421 -B8610008 80010104 -38210100 7C0803A6 +38840016 7C7F212E 887F0001 38630001 2C030010 41800008 38600000 987F0001 -38600001 987F0000 -7FC3F378 3D808034 -618C738C 7D8903A6 -4E800421 BA810008 -800100B4 382100B0 -7C0803A6 881F0002 -60000000 00000000 +887F0000 2C030000 +4082000C 38600001 +987F0000 7FC3F378 +3D808034 618C738C +7D8903A6 4E800421 +BA810008 800100B4 +382100B0 7C0803A6 +881F0002 00000000 $Optional: PD+VB [taukhan] *PD+VB diff --git a/Output/Netplay/GALJ01r2.ini b/Output/Netplay/GALJ01r2.ini index 9533ede7..f4e48142 100644 --- a/Output/Netplay/GALJ01r2.ini +++ b/Output/Netplay/GALJ01r2.ini @@ -5703,26 +5703,63 @@ C21A4CB4 00000004 #External/Debug Inputs/AllocBuffer.asm 4E800421 906DAFC4 38000000 00000000 041BFA20 38600002 #External/Debug Inputs/Boot To CSS.asm -C216E774 0000002E #External/Debug Inputs/InitOnGameStart.asm -48000114 4E800021 +C216E774 0000007E #External/Debug Inputs/InitOnGameStart.asm +48000368 4E800021 00000000 41C80000 41C80000 000000FF +000000B4 E2E2E2FF +41200000 41880000 +496E7075 7420746F +2052656E 6465723A +20257520 75730A00 +506F6C6C 20436F75 +6E743A20 25750A00 4E800021 7C0802A6 90010004 9421FF50 -BE810008 4BFFFFD9 -7FE802A6 809F0000 -80640006 38630001 -90640006 BA810008 +BE810008 4BFFFFA1 +7FE802A6 83DF0000 +807E0012 38630001 +907E0012 3D808034 +618CC408 7D8903A6 +4E800421 907E000A +BA810008 800100B4 +382100B0 7C0803A6 +4E800020 4E800021 +7C0802A6 90010004 +9421FF50 BE810008 +4BFFFF4D 7FE802A6 +83DF0000 83BE0006 +887E0000 2C030001 +4082009C 7FA3EB78 +3D808030 618C2BB0 +7D8903A6 4E800421 +7FA3EB78 38800000 +38A00000 3D808030 +618C2A3C 7D8903A6 +4E800421 7FA3EB78 +389F0020 80BE0056 +3D808030 618C2D4C +7D8903A6 4E800421 +7FA3EB78 389F0038 +80BE0012 3D808030 +618C2D4C 7D8903A6 +4E800421 3C608046 +6063B6A0 88630008 +2C030000 41820020 +807E000E 3D808034 +618C9CBC 7D8903A6 +4E800421 38600002 +987E0000 BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 BE810008 -4BFFFF9D 7FE802A6 +4BFFFE75 7FE802A6 38600020 3D808037 618CF1E4 7D8903A6 4E800421 7C681B78 -3860001E 3880FFE7 -38A0FFE7 38C00001 +3860001E 3880FFD5 +38A0FFD6 38C00001 38E00001 3D808030 618C2834 7D8903A6 4E800421 7C7E1B78 @@ -5738,24 +5775,67 @@ C03F0008 D03E000C 807F0000 93C30002 BA810008 800100B4 382100B0 7C0803A6 -4E800020 3860004A +4E800020 7C0802A6 +90010004 9421FF50 +BE810008 4BFFFDB9 +7FE802A6 386003E8 3D808037 618CF1E4 7D8903A6 4E800421 -4BFFFEDD 7C8802A6 -90640000 3880004A +7C681B78 3860001F +38800000 38A00000 +38C0001C 38E00004 +3D808030 618C2834 +7D8903A6 4E800421 +7C7E1B78 806DB77C +7FC4F378 3D808030 +618C2810 7D8903A6 +4E800421 38600000 +987E0026 7FC3F378 +389F0010 3D808030 +618C2B90 7D8903A6 +4E800421 7FC3F378 +C03F0018 C05F001C +3D808030 618C2B10 +7D8903A6 4E800421 +7FC3F378 389F0014 +3D808030 618C2B64 +7D8903A6 4E800421 +7FC3F378 3D808030 +618C2AF0 7D8903A6 +4E800421 807F0000 +93C30006 38600013 +38800014 38A00000 +3D808039 618C01F0 +7D8903A6 4E800421 +4BFFFD6D 7C8802A6 +38A00007 3D808038 +618CFD54 7D8903A6 +4E800421 BA810008 +800100B4 382100B0 +7C0803A6 4E800020 +7C0802A6 90010004 +9421FF50 BE810008 +3860005A 3D808037 +618CF1E4 7D8903A6 +4E800421 4BFFFC79 +7C8802A6 90640000 +7C7E1B78 3880005A 3D808000 618CC160 7D8903A6 4E800421 -4BFFFF11 4BFFFECD -7C6802A6 3D808034 +4BFFFDD1 4BFFFE89 +4BFFFC99 7C6802A6 +907E000E 3D808034 618C9BF0 7D8903A6 -4E800421 C022A8C8 +4E800421 BA810008 +800100B4 382100B0 +7C0803A6 C022A8C8 60000000 00000000 -C21A4DEC 0000003B #External/Debug Inputs/LogEngineTime.asm +C21A4DEC 00000025 #External/Debug Inputs/LogEngineTime.asm 3C608048 80639D30 5463443E 2C030202 -408201BC 3C608048 +4082010C 3C608048 80639D60 2C030000 -408101AC 7C0802A6 +408100FC 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 7D8903A6 @@ -5766,38 +5846,16 @@ BE810008 3D808034 5484043A 7C842B78 7C632214 83E30008 887F0000 2C030000 -41820144 3CE0804C -60E71FAC 80E70000 -54FC073E 3D808034 +41820094 3C80804C +60841FAC 80640000 +547C073E 54630036 +90640000 3D808034 618CC408 7D8903A6 4E800421 1C9C0004 -3884000A 7C9F202E +38840016 7C9F202E 7C641850 1C63000C 388001E6 7C632396 -7C7D1B78 7FA7EB78 -7F86E378 3CA08048 -80A59D60 4800001C -4E800021 454E4749 -4E452025 75203078 -25582025 75000000 -7C0802A6 90010004 -9421FF00 BC610008 -60000000 60000000 -60000000 60000000 -60000000 806DAFC4 -38630003 4BFFFFBD -7C8802A6 4CC63242 -3D808032 618C3CF4 -7D8903A6 4E800421 -806DAFC4 388000D0 -98830000 38800000 -98830001 38800003 -98830002 38800080 -38A00001 3D808000 -618C55F0 7D8903A6 -4E800421 B8610008 -80010104 38210100 -7C0803A6 807F0002 +7C7D1B78 807F0002 9B810038 9B810039 9B81003A 80810038 54842026 608400FF @@ -5810,12 +5868,12 @@ BE810008 3D808034 800100B4 382100B0 7C0803A6 800D9368 60000000 00000000 -C2375C14 0000003A #External/Debug Inputs/LogFrameScanoutStart.asm +C2375C14 00000021 #External/Debug Inputs/LogFrameScanoutStart.asm 3C608048 80639D30 5463443E 2C030202 -408201B8 3C608047 +408200F0 3C608047 60639D64 80630000 -2C030000 408201A4 +2C030000 408200DC 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 @@ -5826,7 +5884,7 @@ C2375C14 0000003A #External/Debug Inputs/LogFrameScanoutStart.asm 54A5801E 5484043A 7C842B78 7C632214 83E30008 887F0000 -2C030000 4182013C +2C030000 41820074 3C60804A 60638B10 80630000 80630000 5463463E 3863FFF1 @@ -5834,47 +5892,22 @@ C2375C14 0000003A #External/Debug Inputs/LogFrameScanoutStart.asm 7C632396 547CE73E 3D808034 618CC408 7D8903A6 4E800421 -1C9C0004 3884000A +1C9C0004 38840016 7C9F202E 7C641850 1C63000C 388001E6 7C632396 7C7D1B78 -7FA8EB78 3CE0804A -60E78B10 80E70000 -80E70000 7F86E378 -3CA08048 80A59D60 -38A5FFFF 4800001C -4E800021 424C414E -4B202575 20307825 -58202558 20257500 -7C0802A6 90010004 -9421FF00 BC610008 -60000000 60000000 -60000000 60000000 -60000000 806DAFC4 -38630003 4BFFFFBD -7C8802A6 4CC63242 -3D808032 618C3CF4 -7D8903A6 4E800421 -806DAFC4 388000D0 -98830000 38800000 -98830001 38800003 -98830002 38800080 -38A00001 3D808000 -618C55F0 7D8903A6 -4E800421 B8610008 -80010104 38210100 -7C0803A6 7FC3F378 +93BF0056 7FC3F378 3D808034 618C738C 7D8903A6 4E800421 BA810008 800100B4 382100B0 7C0803A6 80010024 00000000 -C2376A88 00000035 #External/Debug Inputs/StoreCaptureTimes.asm +C2376A88 0000001F #External/Debug Inputs/StoreCaptureTimes.asm 3C608048 80639D30 5463443E 2C030202 -4082018C 3C608047 +408200E0 3C608047 60639D64 80630000 -2C030000 40820178 +2C030000 408200CC 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 @@ -5884,45 +5917,23 @@ C2376A88 00000035 #External/Debug Inputs/StoreCaptureTimes.asm 5485863E 7CA50774 54A5801E 5484043A 7C842B78 7C632214 -83E30008 887F0001 -5463831E 906100DC -3D808034 618CC408 -7D8903A6 4E800421 +83E30008 806100DC +54638036 889F0001 +7C632378 5463803E +906100DC 807F000A 889F0001 1C840004 -3884000A 7C7F212E -80FF0006 80C100DC -54C6873E 3CA08048 -80A59D60 48000018 -4E800021 504F4C4C -20257520 30782558 -20257500 7C0802A6 -90010004 9421FF00 -BC610008 60000000 -60000000 60000000 -60000000 60000000 -806DAFC4 38630003 -4BFFFFC1 7C8802A6 -4CC63242 3D808032 -618C3CF4 7D8903A6 -4E800421 806DAFC4 -388000D0 98830000 -38800000 98830001 -38800003 98830002 -38800080 38A00001 -3D808000 618C55F0 -7D8903A6 4E800421 -B8610008 80010104 -38210100 7C0803A6 +38840016 7C7F212E 887F0001 38630001 2C030010 41800008 38600000 987F0001 -38600001 987F0000 -7FC3F378 3D808034 -618C738C 7D8903A6 -4E800421 BA810008 -800100B4 382100B0 -7C0803A6 881F0002 -60000000 00000000 +887F0000 2C030000 +4082000C 38600001 +987F0000 7FC3F378 +3D808034 618C738C +7D8903A6 4E800421 +BA810008 800100B4 +382100B0 7C0803A6 +881F0002 00000000 $Optional: PD+VB [taukhan] *PD+VB diff --git a/console_core.json b/console_core.json index dbae8a7b..5b7a8426 100644 --- a/console_core.json +++ b/console_core.json @@ -176,6 +176,23 @@ "annotation": "Forces values for proper console operation [Fizzi]" } ] + }, + { + "name": "Optional: Debug Input Timings", + "authors": [ + "Fizzi" + ], + "description": [ + "Try to debug inputs" + ], + "build": [ + { + "type": "injectFolder", + "sourceFolder": "External/Debug Inputs", + "isRecursive": true, + "annotation": "Debug Inputs" + } + ] } ] } \ No newline at end of file diff --git a/console_lag_pd.json b/console_lag_pd.json index ec9d71db..50e9ae90 100644 --- a/console_lag_pd.json +++ b/console_lag_pd.json @@ -6,19 +6,18 @@ ], "codes": [ { - "name": "59.94Hz Engine", + "name": "Polling Drift Fix", "authors": [ - "Fizzi" + "Dan Salvato" ], "description": [ "Removes polling drift phenomenon causing variable input lag" ], "build": [ { - "type": "injectFolder", - "sourceFolder": "External/59.94Hz Engine", - "isRecursive": true, - "annotation": "59.94Hz Engine [Fizzi]" + "type": "binary", + "sourceFile": "Binary/LagReduction/PD.bin", + "annotation": "Polling Drift Fix [Dan Salvato]" } ] } From 5195d2e76ae66be0fe19358d9e73b48efae7cb83 Mon Sep 17 00:00:00 2001 From: Jas Laferriere Date: Thu, 10 Jun 2021 17:18:40 -0700 Subject: [PATCH 07/16] add additional logging and fix time on Nintendont --- Common/Common.s | 325 ++++++++++-------- .../EXILogging/AllocLoggingBuffer.asm | 12 +- External/Debug Inputs/Boot To CSS.asm | 6 - External/Debug Inputs/DebugInputs.s | 30 +- External/Debug Inputs/InitOnGameStart.asm | 67 +++- External/Debug Inputs/LogEngineTime.asm | 11 +- .../Debug Inputs/LogFrameScanoutStart.asm | 17 +- External/Debug Inputs/StoreCaptureTimes.asm | 31 +- Online/Core/ForceEngineOnRollback.asm | 2 +- Online/Core/Hacks/ForceNoVideoAssert.asm | 2 +- .../Hacks/PreventPadAlarmDuringRollback.asm | 2 +- Online/Core/Sound/PreventDuplicateSounds.asm | 6 +- Online/Core/TriggerSendInput.asm | 28 +- Online/Menus/CSS/HandleInputsOnCSS.asm | 4 +- Online/Menus/CSS/LoadCSSText.asm | 6 +- Online/Menus/CSS/Teams/AnimateCursorPort.asm | 2 +- .../Menus/CSS/Teams/InitTeamToggleButton.asm | 2 +- Online/Online.s | 1 - Output/Console/GALE01r2.ini | 247 +++++++------ Output/Console/g_core.bin | Bin 7944 -> 8240 bytes Output/Console/g_core_porta.bin | Bin 7944 -> 8240 bytes Output/Netplay/GALE01r2.ini | 247 +++++++------ Output/Netplay/GALJ01r2.ini | 247 +++++++------ Recording/SendGameEnd.asm | 6 +- 24 files changed, 756 insertions(+), 545 deletions(-) rename External/Debug Inputs/AllocBuffer.asm => Common/EXILogging/AllocLoggingBuffer.asm (62%) delete mode 100644 External/Debug Inputs/Boot To CSS.asm diff --git a/Common/Common.s b/Common/Common.s index de84aaf8..4708c793 100644 --- a/Common/Common.s +++ b/Common/Common.s @@ -1,152 +1,3 @@ -################################################################################ -# Macros -################################################################################ -.macro branchl reg, address -lis \reg, \address @h -ori \reg,\reg,\address @l -mtctr \reg -bctrl -.endm - -.macro branch reg, address -lis \reg, \address @h -ori \reg,\reg,\address @l -mtctr \reg -bctr -.endm - -.macro load reg, address -lis \reg, \address @h -ori \reg, \reg, \address @l -.endm - -.macro loadf regf,reg,address -lis \reg, \address @h -ori \reg, \reg, \address @l -stw \reg,-0x4(sp) -lfs \regf,-0x4(sp) -.endm - -.macro loadwz reg, address -lis \reg, \address @h -ori \reg, \reg, \address @l -lwz \reg, 0(\reg) -.endm - -.macro loadbz reg, address -lis \reg, \address @h -ori \reg, \reg, \address @l -lbz \reg, 0(\reg) -.endm - -.set BKP_FREE_SPACE_OFFSET, 0x38 # This is where the free space in our stack starts - -.macro backup space=0x78 -mflr r0 -stw r0, 0x4(r1) -stwu r1,-(BKP_FREE_SPACE_OFFSET + \space)(r1) # make space for 12 registers -stmw r20,0x8(r1) -.endm - -.macro restore space=0x78 -lmw r20,0x8(r1) -lwz r0, (BKP_FREE_SPACE_OFFSET + 0x4 + \space)(r1) -addi r1,r1,BKP_FREE_SPACE_OFFSET + \space # release the space -mtlr r0 -.endm - -.macro byteAlign32 reg -addi \reg, \reg, 31 -rlwinm \reg, \reg, 0, 0xFFFFFFE0 -.endm - -.macro backupall -mflr r0 -stw r0, 0x4(r1) -stwu r1,-0x100(r1) -stmw r3,0x8(r1) -.endm - -.macro restoreall -lmw r3,0x8(r1) -lwz r0, 0x104(r1) -addi r1,r1,0x100 -mtlr r0 -.endm - -.macro logf level, str, arg1="nop", arg2="nop", arg3="nop", arg4="nop", arg5="nop" -b 1f -0: -blrl -.string "\str" -.align 2 - -1: -backupall - -# Set up args to log -\arg1 -\arg2 -\arg3 -\arg4 -\arg5 - -lwz r3, OFST_R13_SB_ADDR(r13) # Buf to use as EXI buf -addi r3, r3, 3 -bl 0b -mflr r4 -crset 6 -branchl r12, 0x80323cf4 # sprintf - -lwz r3, OFST_R13_SB_ADDR(r13) # Buf to use as EXI buf - -li r4, 0xD0 -stb r4, 0(r3) -li r4, 0 # Do not request time to be logged -stb r4, 1(r3) -li r4, \level -stb r4, 2(r3) - -li r4, 128 # Length of buf -li r5, CONST_ExiWrite -branchl r12, FN_EXITransferBuffer - -restoreall -.endm - -.macro getMinorMajor reg -lis \reg, 0x8048 # load address to offset from for scene controller -lwz \reg, -0x62D0(\reg) # Load from 0x80479D30 (scene controller) -rlwinm \reg, \reg, 8, 0xFFFF # Loads major and minor scene into bottom of reg -.endm - -.macro getMajorId reg -lis \reg, 0x8048 # load address to offset from for scene controller -lbz \reg, -0x62D0(\reg) # Load byte from 0x80479D30 (major ID) -.endm - -.macro loadGlobalFrame reg -lis \reg, 0x8048 -lwz \reg, -0x62A0(\reg) -.endm - -# This macro takes in an address that is expected to have a branch instruction. It will set -# r3 to the address being branched to. This will overwrite r3 and r4 -.macro computeBranchTargetAddress reg address -load r3, \address -lwz r4, 0(r3) # Get branch instruction which contains offset - -# Process 3rd byte and extend sign to handle negative branches -rlwinm r5, r4, 16, 0xFF -extsb r5, r5 -rlwinm r5, r5, 16, 0xFFFF0000 - -# Extract last 2 bytes, combine with top half, and then add to base address to get result -rlwinm r4, r4, 0, 0xFFFC # Use 0xFFFC because the last bit is used for link -or r4, r4, r5 -add \reg, r3, r4 -.endm - ################################################################################ # Settings ################################################################################ @@ -393,7 +244,7 @@ add \reg, r3, r4 # Offsets from r13 ################################################################################ .set primaryDataBuffer,-0x49b4 -.set secondaryDmaBuffer,-0x49b0 +.set OFST_R13_LOG_BUF, -0x5040 # From Line: 8019b914 (SceneLoad_TournamentBracket) .set archiveDataBuffer, -0x4AE8 .set bufferOffset,-0x49b0 .set frameIndex,-0x49ac @@ -407,3 +258,177 @@ add \reg, r3, r4 .set LOG_LEVEL_WARN, 3 .set LOG_LEVEL_ERROR, 2 .set LOG_LEVEL_NOTICE, 1 + +################################################################################ +# Macros +################################################################################ +.macro branchl reg, address +lis \reg, \address @h +ori \reg,\reg,\address @l +mtctr \reg +bctrl +.endm + +.macro branch reg, address +lis \reg, \address @h +ori \reg,\reg,\address @l +mtctr \reg +bctr +.endm + +.macro load reg, address +lis \reg, \address @h +ori \reg, \reg, \address @l +.endm + +.macro loadf regf,reg,address +lis \reg, \address @h +ori \reg, \reg, \address @l +stw \reg,-0x4(sp) +lfs \regf,-0x4(sp) +.endm + +.macro loadwz reg, address +lis \reg, \address @h +ori \reg, \reg, \address @l +lwz \reg, 0(\reg) +.endm + +.macro loadbz reg, address +lis \reg, \address @h +ori \reg, \reg, \address @l +lbz \reg, 0(\reg) +.endm + +.set BKP_FREE_SPACE_OFFSET, 0x38 # This is where the free space in our stack starts + +.macro backup space=0x78 +mflr r0 +stw r0, 0x4(r1) +stwu r1,-(BKP_FREE_SPACE_OFFSET + \space)(r1) # make space for 12 registers +stmw r20,0x8(r1) +.endm + +.macro restore space=0x78 +lmw r20,0x8(r1) +lwz r0, (BKP_FREE_SPACE_OFFSET + 0x4 + \space)(r1) +addi r1,r1,BKP_FREE_SPACE_OFFSET + \space # release the space +mtlr r0 +.endm + +.macro byteAlign32 reg +addi \reg, \reg, 31 +rlwinm \reg, \reg, 0, 0xFFFFFFE0 +.endm + +.macro backupall +mflr r0 +stw r0, 0x4(r1) +stwu r1,-0x100(r1) +stmw r3,0x8(r1) +.endm + +.macro restoreall +lmw r3,0x8(r1) +lwz r0, 0x104(r1) +addi r1,r1,0x100 +mtlr r0 +.endm + +.macro logf str, arg1="nop", arg2="nop", arg3="nop", arg4="nop", arg5="nop" +b 1f +0: +blrl +.string "\str" +.align 2 + +1: +backupall + +# Set up args to log +\arg1 +\arg2 +\arg3 +\arg4 +\arg5 + +# Call OSReport +bl 0b +mflr r3 +branchl r12, OSReport + +restoreall +.endm + +.macro exilogf level, str, arg1="nop", arg2="nop", arg3="nop", arg4="nop", arg5="nop" +b 1f +0: +blrl +.string "\str" +.align 2 + +1: +backupall + +# Set up args to log +\arg1 +\arg2 +\arg3 +\arg4 +\arg5 + +lwz r3, OFST_R13_LOG_BUF(r13) # Buf to use as EXI buf +addi r3, r3, 3 +bl 0b +mflr r4 +crset 6 +branchl r12, 0x80323cf4 # sprintf + +lwz r3, OFST_R13_LOG_BUF(r13) # Buf to use as EXI buf + +li r4, 0xD0 +stb r4, 0(r3) +li r4, 0 # Do not request time to be logged +stb r4, 1(r3) +li r4, \level +stb r4, 2(r3) + +li r4, 128 # Length of buf +li r5, CONST_ExiWrite +branchl r12, FN_EXITransferBuffer + +restoreall +.endm + +.macro getMinorMajor reg +lis \reg, 0x8048 # load address to offset from for scene controller +lwz \reg, -0x62D0(\reg) # Load from 0x80479D30 (scene controller) +rlwinm \reg, \reg, 8, 0xFFFF # Loads major and minor scene into bottom of reg +.endm + +.macro getMajorId reg +lis \reg, 0x8048 # load address to offset from for scene controller +lbz \reg, -0x62D0(\reg) # Load byte from 0x80479D30 (major ID) +.endm + +.macro loadGlobalFrame reg +lis \reg, 0x8048 +lwz \reg, -0x62A0(\reg) +.endm + +# This macro takes in an address that is expected to have a branch instruction. It will set +# r3 to the address being branched to. This will overwrite r3 and r4 +.macro computeBranchTargetAddress reg address +load r3, \address +lwz r4, 0(r3) # Get branch instruction which contains offset + +# Process 3rd byte and extend sign to handle negative branches +rlwinm r5, r4, 16, 0xFF +extsb r5, r5 +rlwinm r5, r5, 16, 0xFFFF0000 + +# Extract last 2 bytes, combine with top half, and then add to base address to get result +rlwinm r4, r4, 0, 0xFFFC # Use 0xFFFC because the last bit is used for link +or r4, r4, r5 +add \reg, r3, r4 +.endm \ No newline at end of file diff --git a/External/Debug Inputs/AllocBuffer.asm b/Common/EXILogging/AllocLoggingBuffer.asm similarity index 62% rename from External/Debug Inputs/AllocBuffer.asm rename to Common/EXILogging/AllocLoggingBuffer.asm index 21464ad9..f64d2ff9 100644 --- a/External/Debug Inputs/AllocBuffer.asm +++ b/Common/EXILogging/AllocLoggingBuffer.asm @@ -1,14 +1,14 @@ ################################################################################ -# Address: 0x801a4cb4 +# Address: 0x801a4cb8 ################################################################################ .include "Common/Common.s" -.include "Online/Online.s" # Alloc buffer - li r3,128 - branchl r12,HSD_MemAlloc - stw r3,OFST_R13_SB_ADDR(r13) +li r3, 128 +branchl r12, HSD_MemAlloc +stw r3, OFST_R13_LOG_BUF(r13) # Original - li r0, 0 +li r0, 0 +stw r0, -0x4F78(r13) diff --git a/External/Debug Inputs/Boot To CSS.asm b/External/Debug Inputs/Boot To CSS.asm deleted file mode 100644 index d4fc9c55..00000000 --- a/External/Debug Inputs/Boot To CSS.asm +++ /dev/null @@ -1,6 +0,0 @@ -################################################################################ -# Address: 801bfa20 -################################################################################ -.include "Common/Common.s" - -li r3,2 diff --git a/External/Debug Inputs/DebugInputs.s b/External/Debug Inputs/DebugInputs.s index c724d051..90fb1b6e 100644 --- a/External/Debug Inputs/DebugInputs.s +++ b/External/Debug Inputs/DebugInputs.s @@ -6,15 +6,20 @@ .set CIRCULAR_BUFFER_COUNT, 16 .set DIB_ACTIVE_STATE, 0 # u8. 0 = starting, 1 = active, 2 = complete -.set DIB_POLL_INDEX, DIB_ACTIVE_STATE + 1 # u8 -.set DIB_COLOR_KEY_DTEXT_ADDR, DIB_POLL_INDEX + 1 # u32 +.set DIB_FETCH_INDEX, DIB_ACTIVE_STATE + 1 # u8 +.set DIB_COLOR_KEY_DTEXT_ADDR, DIB_FETCH_INDEX + 1 # u32 .set DIB_LAG_DISPLAY_DTEXT_ADDR, DIB_COLOR_KEY_DTEXT_ADDR + 4 # u32 .set DIB_LAST_POLL_TIME, DIB_LAG_DISPLAY_DTEXT_ADDR + 4 # u32 -.set DIB_CALLBACK_PTR, DIB_LAST_POLL_TIME + 4 # u32 +.set DIB_LAST_FETCH_TIME, DIB_LAST_POLL_TIME + 4 # u32 +.set DIB_CALLBACK_PTR, DIB_LAST_FETCH_TIME + 4 # u32 .set DIB_CALLBACK_COUNT, DIB_CALLBACK_PTR + 4 # u32 .set DIB_CIRCULAR_BUFFER, DIB_CALLBACK_COUNT + 4 # u32 * CIRCULAR_BUFFER_COUNT -.set DIB_INPUT_TO_RENDER_US, DIB_CIRCULAR_BUFFER + (4 * CIRCULAR_BUFFER_COUNT) # float -.set DIB_SIZE, DIB_INPUT_TO_RENDER_US + 4 +.set DIB_INPUT_TO_RENDER_US, DIB_CIRCULAR_BUFFER + (4 * CIRCULAR_BUFFER_COUNT) # u32 +.set DIB_POLL_DIFF_MIN_US, DIB_INPUT_TO_RENDER_US + 4 # u32 +.set DIB_POLL_DIFF_MAX_US, DIB_POLL_DIFF_MIN_US + 4 # u32 +.set DIB_FETCH_DIFF_US, DIB_POLL_DIFF_MAX_US + 4 # u32 +.set DIB_FETCH_TO_POLL_US, DIB_FETCH_DIFF_US + 4 # u32 +.set DIB_SIZE, DIB_FETCH_TO_POLL_US + 4 ################################################################################ # Macros @@ -29,13 +34,18 @@ li \reg, 0 stb \reg, \offset(\reg_address) .endm -.macro calcDiffTicksToUs reg_dib, reg_idx +# Calculates us difference from two ticks +.macro calcDiffUs reg_now, reg_ref +sub r3, \reg_now, \reg_ref # This works even if ticks overflow +mulli r3, r3, 12 +li r4, 729 # This is the MHz of the PPC clock. 729 in Nintendont, 486 otherwise +divwu r3, r3, r4 +.endm + +.macro calcDiffFromFetchUs reg_dib, reg_idx branchl r12, 0x8034c408 # OSGetTick mulli r4, \reg_idx, 4 addi r4, r4, DIB_CIRCULAR_BUFFER lwzx r4, \reg_dib, r4 -sub r3, r3, r4 # This works even if ticks overflow -mulli r3, r3, 12 -li r4, 486 -divwu r3, r3, r4 +calcDiffUs r3, r4 .endm \ No newline at end of file diff --git a/External/Debug Inputs/InitOnGameStart.asm b/External/Debug Inputs/InitOnGameStart.asm index 3aba14f8..1a67143b 100644 --- a/External/Debug Inputs/InitOnGameStart.asm +++ b/External/Debug Inputs/InitOnGameStart.asm @@ -3,7 +3,6 @@ ################################################################################ .include "Common/Common.s" -.include "Online/Online.s" # Required for logf buffer, should fix that .include "./DebugInputs.s" b CODE_START @@ -30,6 +29,14 @@ blrl .string "Input to Render: %u us\n" .set DO_LD_STR_POLL_COUNT, DO_LD_STR_LATENCY + 24 .string "Poll Count: %u\n" +.set DO_LD_STR_MIN_POLL_DIFF, DO_LD_STR_POLL_COUNT + 16 +.string "Min Poll Diff: %u us\n" +.set DO_LD_STR_MAX_POLL_DIFF, DO_LD_STR_MIN_POLL_DIFF + 22 +.string "Max Poll Diff: %u us\n" +.set DO_LD_STR_FETCH_DIFF, DO_LD_STR_MAX_POLL_DIFF + 22 +.string "Fetch-Fetch: %u us\n" +.set DO_LD_STR_FETCH_TO_POLL_DIFF, DO_LD_STR_FETCH_DIFF + 20 +.string "Fetch-Poll: %u us\n" .align 2 ################################################################################ @@ -37,6 +44,7 @@ blrl ################################################################################ .set REG_DATA, 31 .set REG_DIB, 30 +.set REG_DIFF_SINCE_LAST, 29 FN_BLRL_PollingHandler: blrl @@ -51,7 +59,39 @@ stw r3, DIB_CALLBACK_COUNT(REG_DIB) # Write poll time branchl r12, 0x8034c408 # OSGetTick +lwz r4, DIB_LAST_POLL_TIME(REG_DIB) stw r3, DIB_LAST_POLL_TIME(REG_DIB) +calcDiffUs r3, r4 # Calculate difference since last poll +mr REG_DIFF_SINCE_LAST, r3 + +# Store min/max diff for logging +lwz r3, DIB_CALLBACK_COUNT(REG_DIB) +rlwinm. r3, r3, 0, 0xFF +beq FN_PollingHandler_RESET_MIN_MAX # Reset every 256 polls, 2 seconds? + +lwz r3, DIB_POLL_DIFF_MIN_US(REG_DIB) +cmpw REG_DIFF_SINCE_LAST, r3 +bge FN_PollingHandler_SKIP_ADJUST_MIN +stw REG_DIFF_SINCE_LAST, DIB_POLL_DIFF_MIN_US(REG_DIB) +FN_PollingHandler_SKIP_ADJUST_MIN: + +lwz r3, DIB_POLL_DIFF_MAX_US(REG_DIB) +cmpw REG_DIFF_SINCE_LAST, r3 +ble FN_PollingHandler_SKIP_ADJUST_MAX +stw REG_DIFF_SINCE_LAST, DIB_POLL_DIFF_MAX_US(REG_DIB) +FN_PollingHandler_SKIP_ADJUST_MAX: + +b FN_PollingHandler_MIN_MAX_END + +FN_PollingHandler_RESET_MIN_MAX: +stw REG_DIFF_SINCE_LAST, DIB_POLL_DIFF_MIN_US(REG_DIB) +stw REG_DIFF_SINCE_LAST, DIB_POLL_DIFF_MAX_US(REG_DIB) +FN_PollingHandler_MIN_MAX_END: + +# li r4, 486 +# divwu r4, r3, r4 +# mulli r4, r4, 12 +# logf "POLL %u" restore blr @@ -89,11 +129,32 @@ mr r3, REG_DEVELOP_TEXT addi r4, REG_DATA, DO_LD_STR_LATENCY lwz r5, DIB_INPUT_TO_RENDER_US(REG_DIB) branchl r12, 0x80302d4c # DevelopText_FormatAndPrint + mr r3, REG_DEVELOP_TEXT addi r4, REG_DATA, DO_LD_STR_POLL_COUNT lwz r5, DIB_CALLBACK_COUNT(REG_DIB) branchl r12, 0x80302d4c # DevelopText_FormatAndPrint +mr r3, REG_DEVELOP_TEXT +addi r4, REG_DATA, DO_LD_STR_MIN_POLL_DIFF +lwz r5, DIB_POLL_DIFF_MIN_US(REG_DIB) +branchl r12, 0x80302d4c # DevelopText_FormatAndPrint + +mr r3, REG_DEVELOP_TEXT +addi r4, REG_DATA, DO_LD_STR_MAX_POLL_DIFF +lwz r5, DIB_POLL_DIFF_MAX_US(REG_DIB) +branchl r12, 0x80302d4c # DevelopText_FormatAndPrint + +mr r3, REG_DEVELOP_TEXT +addi r4, REG_DATA, DO_LD_STR_FETCH_DIFF +lwz r5, DIB_FETCH_DIFF_US(REG_DIB) +branchl r12, 0x80302d4c # DevelopText_FormatAndPrint + +mr r3, REG_DEVELOP_TEXT +addi r4, REG_DATA, DO_LD_STR_FETCH_TO_POLL_DIFF +lwz r5, DIB_FETCH_TO_POLL_US(REG_DIB) +branchl r12, 0x80302d4c # DevelopText_FormatAndPrint + # Check if game over load r3, 0x8046b6a0 lbz r3, 0x8(r3) @@ -179,7 +240,7 @@ li r3, 31 # ID li r4, 0 # X Pos, bottom right: 638 li r5, 0 # Y Pos, bottom right: 478 li r6, 28 -li r7, 4 +li r7, 7 branchl r12, 0x80302834 # DevelopText_CreateDataTable mr REG_DEVELOP_TEXT, r3 #Activate Text @@ -229,7 +290,7 @@ CODE_START: .set REG_DIB, 30 backup -# logf LOG_LEVEL_WARN, "Init..." +# logf "Init..." li r3, DIB_SIZE branchl r12, HSD_MemAlloc diff --git a/External/Debug Inputs/LogEngineTime.asm b/External/Debug Inputs/LogEngineTime.asm index b9c4e15f..3694837c 100644 --- a/External/Debug Inputs/LogEngineTime.asm +++ b/External/Debug Inputs/LogEngineTime.asm @@ -3,7 +3,6 @@ ################################################################################ .include "Common/Common.s" -.include "Online/Online.s" # Required for logf buffer, should fix that .include "./DebugInputs.s" # Check if VS Mode @@ -43,14 +42,14 @@ rlwinm r3, r3, 0, 0xFFFFFFF0 # clear d-pad inputs stw r3, 0(r4) # Calculate time diff -calcDiffTicksToUs REG_DIB, REG_KEY +calcDiffFromFetchUs REG_DIB, REG_KEY mr REG_DIFF_US, r3 # Log -# mr r7, REG_DIFF_US -# mr r6, REG_KEY -# loadGlobalFrame r5 -# logf LOG_LEVEL_WARN, "ENGINE %u 0x%X %u" # Label Frame TimeUs +# mr r6, REG_DIFF_US +# mr r5, REG_KEY +# loadGlobalFrame r4 +# logf "ENGINE %u 0x%X %u" # Label Frame TimeUs # Adjust develop text BG color lwz r3, DIB_COLOR_KEY_DTEXT_ADDR(REG_DIB) diff --git a/External/Debug Inputs/LogFrameScanoutStart.asm b/External/Debug Inputs/LogFrameScanoutStart.asm index d01d1881..b48cdfd5 100644 --- a/External/Debug Inputs/LogFrameScanoutStart.asm +++ b/External/Debug Inputs/LogFrameScanoutStart.asm @@ -3,7 +3,6 @@ ################################################################################ .include "Common/Common.s" -.include "Online/Online.s" # Required for logf buffer, should fix that .include "./DebugInputs.s" # Check if VS Mode @@ -48,17 +47,17 @@ divwu r3, r3, r4 rlwinm REG_KEY, r3, 28, 0xF # Extract 4 bits to get key # Calculate time diff -calcDiffTicksToUs REG_DIB, REG_KEY +calcDiffFromFetchUs REG_DIB, REG_KEY mr REG_DIFF_US, r3 # Log -# mr r8, REG_DIFF_US -# loadwz r7, 0x804a8b10 # Load ptr to frame that will be scanned out -# lwz r7, 0(r7) # Load top left pixel -# mr r6, REG_KEY -# loadGlobalFrame r5 -# subi r5, r5, 1 -# logf LOG_LEVEL_WARN, "BLANK %u 0x%X %X %u" # Label Frame TimeUs +# mr r7, REG_DIFF_US +# loadwz r6, 0x804a8b10 # Load ptr to frame that will be scanned out +# lwz r6, 0(r6) # Load top left pixel +# mr r5, REG_KEY +# loadGlobalFrame r4 +# subi r4, r4, 1 +# logf "BLANK %u 0x%X %X %u" # Label Frame TimeUs # Store latest latency stw REG_DIFF_US, DIB_INPUT_TO_RENDER_US(REG_DIB) diff --git a/External/Debug Inputs/StoreCaptureTimes.asm b/External/Debug Inputs/StoreCaptureTimes.asm index e65ec6f6..29ae1582 100644 --- a/External/Debug Inputs/StoreCaptureTimes.asm +++ b/External/Debug Inputs/StoreCaptureTimes.asm @@ -3,7 +3,6 @@ ################################################################################ .include "Common/Common.s" -.include "Online/Online.s" # Required for logf buffer, should fix that .include "./DebugInputs.s" # Check if VS Mode @@ -21,6 +20,7 @@ bne EXIT .set REG_DIB, 31 .set REG_INTERRUPTS, 30 +.set REG_FETCH_TIME, 29 backup @@ -34,14 +34,14 @@ lwz REG_DIB, 8+0(r3) # Store "key" to inputs (sets d-pad inputs) lwz r3, P1_PAD_OFFSET(sp) # Load P1 inputs rlwinm r3, r3, 16, 0xFFFFFFF0 # shift inputs to put d-pad lowest, also clear d-pad -lbz r4, DIB_POLL_INDEX(REG_DIB) +lbz r4, DIB_FETCH_INDEX(REG_DIB) or r3, r3, r4 # set d-pad inputs to key rlwinm r3, r3, 16, 0xFFFFFFFF # shift inputs back into place stw r3, P1_PAD_OFFSET(sp) # Get and write current tick lwz r3, DIB_LAST_POLL_TIME(REG_DIB) -lbz r4, DIB_POLL_INDEX(REG_DIB) +lbz r4, DIB_FETCH_INDEX(REG_DIB) mulli r4, r4, 4 # Get index offset addi r4, r4, DIB_CIRCULAR_BUFFER stwx r3, REG_DIB, r4 @@ -49,14 +49,14 @@ stwx r3, REG_DIB, r4 # Log # loadwz r7, 0xCC006430 # Includes details to poll more often. http://hitmen.c02.at/files/yagcd/yagcd/chap5.html#sec5.8 # loadwz r7, 0xCC006434 -# lwz r7, DIB_CALLBACK_COUNT(REG_DIB) -# lwz r6, P1_PAD_OFFSET(sp) -# rlwinm r6, r6, 16, 0xF -# loadGlobalFrame r5 -# logf LOG_LEVEL_WARN, "POLL %u 0x%X %u" +# lwz r6, DIB_CALLBACK_COUNT(REG_DIB) +# lwz r5, P1_PAD_OFFSET(sp) +# rlwinm r5, r5, 16, 0xF +# loadGlobalFrame r4 +# logf "FETCH %u 0x%X %u" # Increment index -incrementByte r3, REG_DIB, DIB_POLL_INDEX, CIRCULAR_BUFFER_COUNT +incrementByte r3, REG_DIB, DIB_FETCH_INDEX, CIRCULAR_BUFFER_COUNT # Indicate ready, prevents other functions from running first. Only activate if currently inactive lbz r3, DIB_ACTIVE_STATE(REG_DIB) @@ -66,6 +66,19 @@ li r3, 1 stb r3, DIB_ACTIVE_STATE(REG_DIB) SKIP_ACTIVATE: +# Store details to print. Start with difference since last fetch +branchl r12, 0x8034c408 # OSGetTick +mr REG_FETCH_TIME, r3 +lwz r4, DIB_LAST_FETCH_TIME(REG_DIB) +stw REG_FETCH_TIME, DIB_LAST_FETCH_TIME(REG_DIB) +calcDiffUs REG_FETCH_TIME, r4 # Calculate difference since last poll +stw r3, DIB_FETCH_DIFF_US(REG_DIB) + +# Store time since poll +lwz r3, DIB_LAST_POLL_TIME(REG_DIB) +calcDiffUs REG_FETCH_TIME, r3 +stw r3, DIB_FETCH_TO_POLL_US(REG_DIB) + # Restore interrupts mr r3, REG_INTERRUPTS branchl r12, OSRestoreInterrupts diff --git a/Online/Core/ForceEngineOnRollback.asm b/Online/Core/ForceEngineOnRollback.asm index c1b0c188..c5bde73f 100644 --- a/Online/Core/ForceEngineOnRollback.asm +++ b/Online/Core/ForceEngineOnRollback.asm @@ -64,7 +64,7 @@ beq RESTORE_AND_EXIT li r4, 0 stb r4, ODB_SHOULD_FORCE_PAD_RENEW(r5) branchl r12, RenewInputs_Prefunction -#logf LOG_LEVEL_NOTICE, "Forced a pad renew..." +#exilogf LOG_LEVEL_NOTICE, "Forced a pad renew..." RESTORE_AND_EXIT: mr r3, r26 # We will set r26 to 0 later so it's fine to use here diff --git a/Online/Core/Hacks/ForceNoVideoAssert.asm b/Online/Core/Hacks/ForceNoVideoAssert.asm index 86090136..356f0af8 100644 --- a/Online/Core/Hacks/ForceNoVideoAssert.asm +++ b/Online/Core/Hacks/ForceNoVideoAssert.asm @@ -5,7 +5,7 @@ .include "Common/Common.s" .include "Online/Online.s" -#logf LOG_LEVEL_NOTICE, "XFB Status is not 4. Value: %d", "mr r5, 0" +#exilogf LOG_LEVEL_NOTICE, "XFB Status is not 4. Value: %d", "mr r5, 0" # Log XFB status value bl STRING diff --git a/Online/Core/Hacks/PreventPadAlarmDuringRollback.asm b/Online/Core/Hacks/PreventPadAlarmDuringRollback.asm index 966bef3a..5d04b2ec 100644 --- a/Online/Core/Hacks/PreventPadAlarmDuringRollback.asm +++ b/Online/Core/Hacks/PreventPadAlarmDuringRollback.asm @@ -35,7 +35,7 @@ cmpwi r3, 0 beq EXIT # Here we have gotten a VI retrace callback while executing a rollback -# logf LOG_LEVEL_NOTICE, "VI retrace CB during rollback..." +# exilogf LOG_LEVEL_NOTICE, "VI retrace CB during rollback..." li r3, 1 stb r3, ODB_SHOULD_FORCE_PAD_RENEW(r5) diff --git a/Online/Core/Sound/PreventDuplicateSounds.asm b/Online/Core/Sound/PreventDuplicateSounds.asm index a01b949d..f74d23de 100644 --- a/Online/Core/Sound/PreventDuplicateSounds.asm +++ b/Online/Core/Sound/PreventDuplicateSounds.asm @@ -36,7 +36,7 @@ li REG_IS_SOUND_ACTIVE, 0 li REG_SOUND_INSTANCE_ID, 0 rlwinm REG_SOUND_ID, r23, 0, 0xFFFF # Extract half word from sound ID input -#logf LOG_LEVEL_WARN, "Play SFX %x, Frame: %d, Rollback: %d", "mr r5, REG_SOUND_ID", "loadGlobalFrame r6", "lbz r7, ODB_STABLE_ROLLBACK_IS_ACTIVE(REG_ODB_ADDRESS)" +#exilogf LOG_LEVEL_WARN, "Play SFX %x, Frame: %d, Rollback: %d", "mr r5, REG_SOUND_ID", "loadGlobalFrame r6", "lbz r7, ODB_STABLE_ROLLBACK_IS_ACTIVE(REG_ODB_ADDRESS)" lbz REG_WRITE_INDEX, SFXDB_WRITE_INDEX(REG_SFXDB_ADDRESS) loadGlobalFrame r3 @@ -84,11 +84,11 @@ lbz r3, SFXS_LOG_INDEX(r6) cmpw r8, r3 blt FIND_SOUND_LOOP_START -#logf LOG_LEVEL_ERROR, "SFX %x NOT found. End frame: %d", "mr r5, REG_SOUND_ID", "lwz r6, ODB_STABLE_ROLLBACK_END_FRAME(REG_ODB_ADDRESS)" +#exilogf LOG_LEVEL_ERROR, "SFX %x NOT found. End frame: %d", "mr r5, REG_SOUND_ID", "lwz r6, ODB_STABLE_ROLLBACK_END_FRAME(REG_ODB_ADDRESS)" b STORE_SOUND SOUND_ALREADY_PLAYED: -#logf LOG_LEVEL_WARN, "SFX %x found. End frame: %d", "mr r5, REG_SOUND_ID", "lwz r6, ODB_STABLE_ROLLBACK_END_FRAME(REG_ODB_ADDRESS)" +#exilogf LOG_LEVEL_WARN, "SFX %x found. End frame: %d", "mr r5, REG_SOUND_ID", "lwz r6, ODB_STABLE_ROLLBACK_END_FRAME(REG_ODB_ADDRESS)" lwz REG_SOUND_INSTANCE_ID, SFXS_ENTRY_INSTANCE_ID(r5) li REG_IS_SOUND_ACTIVE, 1 diff --git a/Online/Core/TriggerSendInput.asm b/Online/Core/TriggerSendInput.asm index 48f04267..a72b3dd8 100644 --- a/Online/Core/TriggerSendInput.asm +++ b/Online/Core/TriggerSendInput.asm @@ -350,7 +350,7 @@ addi r6, REG_COUNT, ODB_ROLLBACK_PREDICTED_INPUTS_READ_IDXS # compute offset of lbzx r3, r6, REG_ODB_ADDRESS addi r6, REG_COUNT, ODB_ROLLBACK_PREDICTED_INPUTS_WRITE_IDXS # compute offset of write idx for this player lbzx r4, r6, REG_ODB_ADDRESS -#logf LOG_LEVEL_WARN, "Player %d[%d] r/w indexes when reading next input: %d/%d", "mr r5, 20", "mr r6, 22", "mr r7, 3", "mr r8, 4" +#exilogf LOG_LEVEL_WARN, "Player %d[%d] r/w indexes when reading next input: %d/%d", "mr r5, 20", "mr r6, 22", "mr r7, 3", "mr r8, 4" mr r3, REG_VARIOUS_1 # Compute offset of true inputs for this player on this frame @@ -436,7 +436,7 @@ addi r6, REG_COUNT, ODB_ROLLBACK_PREDICTED_INPUTS_READ_IDXS # compute offset of lbzx r3, r6, REG_ODB_ADDRESS addi r6, REG_COUNT, ODB_ROLLBACK_PREDICTED_INPUTS_WRITE_IDXS # compute offset of write idx for this player lbzx r4, r6, REG_ODB_ADDRESS -#logf LOG_LEVEL_WARN, "Player %d r/w indexes after reading: %d/%d", "mr r5, 20", "mr r6, 3", "mr r7, 4" +#exilogf LOG_LEVEL_WARN, "Player %d r/w indexes after reading: %d/%d", "mr r5, 20", "mr r6, 3", "mr r7, 4" # Check if we have caught up to the prediction addi r6, REG_COUNT, ODB_ROLLBACK_PREDICTED_INPUTS_READ_IDXS # compute offset of read idx for this player @@ -452,7 +452,7 @@ TRIGGER_ROLLBACK: mulli r6, REG_COUNT, 4 addi r6, r6, ODB_PLAYER_SAVESTATE_FRAME lwzx r3, r6, REG_ODB_ADDRESS # get our player-specific savestate frame -#logf LOG_LEVEL_WARN, "Triggering rollback from player %d input on past frame %d", "mr r5, 20", "mr r6, 3" +#exilogf LOG_LEVEL_WARN, "Triggering rollback from player %d input on past frame %d", "mr r5, 20", "mr r6, 3" # Set the is rollback active flag to indicate to the engine to continue # processing inputs until we have completed the rollback process @@ -484,14 +484,14 @@ li REG_COUNT, 0 lwz r3, ODB_SAVESTATE_FRAME(REG_ODB_ADDRESS) # r3 will hold the min savestate frame we see mr REG_VARIOUS_1, r3 -#logf LOG_LEVEL_WARN, "Attempting to advance savestate frame past %d", "mr r5, 3" +#exilogf LOG_LEVEL_WARN, "Attempting to advance savestate frame past %d", "mr r5, 3" mr r3, REG_VARIOUS_1 COMPUTE_SAVESTATE_FRAME_LOOP: addi r6, REG_COUNT, ODB_PLAYER_SAVESTATE_IS_ACTIVE lbzx r4, r6, REG_ODB_ADDRESS mr REG_VARIOUS_1, r3 -#logf LOG_LEVEL_WARN, "Player %d savestate flag: %d", "mr r5, 20", "mr r6, 4" +#exilogf LOG_LEVEL_WARN, "Player %d savestate flag: %d", "mr r5, 20", "mr r6, 4" mr r3, REG_VARIOUS_1 # If this player doesn't have missing inputs, ignore their savestate frame @@ -515,7 +515,7 @@ bge CONTINUE_SAVESTATE_FRAME_LOOP SKIP_SAVESTATE_FRAME_CHECK: mr r3, r4 mr REG_VARIOUS_1, r3 -#logf LOG_LEVEL_WARN, "Player %d set savestate frame %d", "mr r5, 20", "mr r6, 4" +#exilogf LOG_LEVEL_WARN, "Player %d set savestate frame %d", "mr r5, 20", "mr r6, 4" mr r3, REG_VARIOUS_1 li REG_SAVESTATE_FRAME_SET, 1 @@ -526,7 +526,7 @@ blt COMPUTE_SAVESTATE_FRAME_LOOP # Set the savestate frame to the minimum value among players with missing inputs stw r3, ODB_SAVESTATE_FRAME(REG_ODB_ADDRESS) -#logf LOG_LEVEL_WARN, "Set savestate frame to %d, game frame: %d", "mr r5, 3", "loadGlobalFrame r6" +#exilogf LOG_LEVEL_WARN, "Set savestate frame to %d, game frame: %d", "mr r5, 3", "loadGlobalFrame r6" # Check if all players inputs have caught up to the prediction so we can set savestate = 0 li REG_COUNT, 0 @@ -541,7 +541,7 @@ addi r6, REG_COUNT, ODB_ROLLBACK_PREDICTED_INPUTS_READ_IDXS # compute offset of lbzx r3, r6, REG_ODB_ADDRESS addi r6, REG_COUNT, ODB_ROLLBACK_PREDICTED_INPUTS_WRITE_IDXS # compute offset of write idx for this player lbzx r4, r6, REG_ODB_ADDRESS -#logf LOG_LEVEL_WARN, "Player %d r/w indexes during reset: %d/%d", "mr r5, 20", "mr r6, 3", "mr r7, 4" +#exilogf LOG_LEVEL_WARN, "Player %d r/w indexes during reset: %d/%d", "mr r5, 20", "mr r6, 3", "mr r7, 4" # Check if this player's inputs have caught up to the prediction addi r6, REG_COUNT, ODB_ROLLBACK_PREDICTED_INPUTS_READ_IDXS # compute offset of read idx for this player @@ -581,7 +581,7 @@ blt CHECK_GLOBAL_SAVESTATE_LOOP li r3, 0 stb r3, ODB_SAVESTATE_IS_ACTIVE(REG_ODB_ADDRESS) -#logf LOG_LEVEL_WARN, "Reset savestate flags to 0" +#exilogf LOG_LEVEL_WARN, "Reset savestate flags to 0" ################################################################################ # Section 9: Try to read opponent's input for this frame @@ -659,7 +659,7 @@ addi r6, REG_COUNT, ODB_ROLLBACK_PREDICTED_INPUTS_READ_IDXS # compute offset of lbzx r3, r6, REG_ODB_ADDRESS addi r6, REG_COUNT, ODB_ROLLBACK_PREDICTED_INPUTS_WRITE_IDXS # compute offset of write idx for this player lbzx r4, r6, REG_ODB_ADDRESS -#logf LOG_LEVEL_WARN, "Player %d r/w indexes after write update: %d/%d", "mr r5, 20", "mr r6, 3", "mr r7, 4" +#exilogf LOG_LEVEL_WARN, "Player %d r/w indexes after write update: %d/%d", "mr r5, 20", "mr r6, 3", "mr r7, 4" # in the case where we don't have this opponent's inputs but already have a # savestate location for them, just keep the old savestate location @@ -672,13 +672,13 @@ beq LOAD_STALE_INPUTS mulli r6, REG_COUNT, 4 addi r6, r6, ODB_PLAYER_SAVESTATE_FRAME stwx REG_FRAME_INDEX, r6, REG_ODB_ADDRESS -#logf LOG_LEVEL_WARN, "Setting savestate frame for player %d to %d", "mr r5, 20", "mr r6, 26" +#exilogf LOG_LEVEL_WARN, "Setting savestate frame for player %d to %d", "mr r5, 20", "mr r6, 26" # Indicate we have prepared for a rollback because of this player's missing input li r3, 1 addi r6, REG_COUNT, ODB_PLAYER_SAVESTATE_IS_ACTIVE stbx r3, r6, REG_ODB_ADDRESS -#logf LOG_LEVEL_WARN, "Setting savestate flag to 1 for player %d", "mr r5, 20" +#exilogf LOG_LEVEL_WARN, "Setting savestate flag to 1 for player %d", "mr r5, 20" # Store read idx for predicted inputs addi r6, REG_COUNT, ODB_ROLLBACK_PREDICTED_INPUTS_READ_IDXS # compute offset of read idx for this player @@ -692,12 +692,12 @@ beq LOAD_STALE_INPUTS # Store the rollback frame in the global savestate frame counter stw REG_FRAME_INDEX, ODB_SAVESTATE_FRAME(REG_ODB_ADDRESS) -#logf LOG_LEVEL_WARN, "Setting global savestate frame to %d", "mr r5, 26" +#exilogf LOG_LEVEL_WARN, "Setting global savestate frame to %d", "mr r5, 26" # Indicate that we have prepared for a rollback li r3, 1 stb r3, ODB_SAVESTATE_IS_ACTIVE(REG_ODB_ADDRESS) -#logf LOG_LEVEL_WARN, "Setting global savestate flag to 1" +#exilogf LOG_LEVEL_WARN, "Setting global savestate flag to 1" LOAD_STALE_INPUTS: li r3, 0 # use input at index zero (the most recent received) diff --git a/Online/Menus/CSS/HandleInputsOnCSS.asm b/Online/Menus/CSS/HandleInputsOnCSS.asm index 397ab0e6..7cf50427 100644 --- a/Online/Menus/CSS/HandleInputsOnCSS.asm +++ b/Online/Menus/CSS/HandleInputsOnCSS.asm @@ -487,7 +487,7 @@ FN_LOCK_IN_AND_SEARCH: backup lbz r20, CSSDT_TEAM_IDX(REG_CSSDT_ADDR) -# logf LOG_LEVEL_NOTICE, "TEAM INDEX AFTER %d", "mr r5, 20" +# exilogf LOG_LEVEL_NOTICE, "TEAM INDEX AFTER %d", "mr r5, 20" bl FN_TX_LOCK_IN # Lock in character selection bl FN_TX_FIND_MATCH # Trigger matchmaking @@ -932,7 +932,7 @@ cmpwi r3, CHAT_WINDOW_IDLE_TIMER_TIME-CHAT_WINDOW_IDLE_TIMER_DELAY bgt CSS_ONLINE_CHAT_WINDOW_THINK_CHECK_IDLE_TIMER SKIP_CSS_ONLINE_CHAT_WINDOW_THINK_CHECK_IDLE_TIMER: -# logf LOG_LEVEL_WARN, "msg input: %d", "mr r5, REG_CHAT_WINDOW_SECOND_INPUT" +# exilogf LOG_LEVEL_WARN, "msg input: %d", "mr r5, REG_CHAT_WINDOW_SECOND_INPUT" # if B pressed, close chat window cmpwi REG_CHAT_WINDOW_SECOND_INPUT, B_BUTTON diff --git a/Online/Menus/CSS/LoadCSSText.asm b/Online/Menus/CSS/LoadCSSText.asm index a5468f97..3e264b5c 100644 --- a/Online/Menus/CSS/LoadCSSText.asm +++ b/Online/Menus/CSS/LoadCSSText.asm @@ -1347,7 +1347,7 @@ branchl r12, GObj_Destroy lwz r4, CSSDT_MSRB_ADDR(REG_CSSDT_ADDR) lbz r4, MSRB_LOCAL_PLAYER_INDEX(r4) -#logf LOG_LEVEL_INFO, "MSG LOCAL INDEX %d MSG INDEX %d", "mr r5, 4", "mr r6, 23" +#exilogf LOG_LEVEL_INFO, "MSG LOCAL INDEX %d MSG INDEX %d", "mr r5, 4", "mr r6, 23" cmpw REG_CHATMSG_PLAYER_INDEX,r4 bne SKIP_DECREASE_LOCAL_CHAT_MSG_COUNT @@ -1355,14 +1355,14 @@ bne SKIP_DECREASE_LOCAL_CHAT_MSG_COUNT lbz r3, CSSDT_CHAT_LOCAL_MSG_COUNT(REG_CSSDT_ADDR) # chat message index subi r3, r3, 1 stb r3, CSSDT_CHAT_LOCAL_MSG_COUNT(REG_CSSDT_ADDR) # store the new message count -#logf LOG_LEVEL_WARN, "local msg count: %d", "mr r5, r3" +#exilogf LOG_LEVEL_WARN, "local msg count: %d", "mr r5, r3" SKIP_DECREASE_LOCAL_CHAT_MSG_COUNT: # Decrease chat message count by 1 lbz r3, CSSDT_CHAT_MSG_COUNT(REG_CSSDT_ADDR) # chat message index subi r3, r3, 1 stb r3, CSSDT_CHAT_MSG_COUNT(REG_CSSDT_ADDR) # store the new message count -#logf LOG_LEVEL_WARN, "msg count: %d", "mr r5, r3" +#exilogf LOG_LEVEL_WARN, "msg count: %d", "mr r5, r3" # If This is the last message being removed, reset the Last MSG Index to 0 lbz r3, CSSDT_LAST_CHAT_MSG_INDEX(REG_CSSDT_ADDR) # chat message index diff --git a/Online/Menus/CSS/Teams/AnimateCursorPort.asm b/Online/Menus/CSS/Teams/AnimateCursorPort.asm index 2a11612f..a42cc145 100644 --- a/Online/Menus/CSS/Teams/AnimateCursorPort.asm +++ b/Online/Menus/CSS/Teams/AnimateCursorPort.asm @@ -37,7 +37,7 @@ mulli r6, r6, 0x4 add REG_TEAM_IDX, REG_TEAM_IDX, r6 mr r3, REG_TEAM_IDX -#logf LOG_LEVEL_NOTICE, "CURSOR COLOR r3: %d", "mr r5, 3", "mr r6, 6" +#exilogf LOG_LEVEL_NOTICE, "CURSOR COLOR r3: %d", "mr r5, 3", "mr r6, 6" branchl r12, FN_IntToFloat b EXIT diff --git a/Online/Menus/CSS/Teams/InitTeamToggleButton.asm b/Online/Menus/CSS/Teams/InitTeamToggleButton.asm index b28bf68c..fcf6afdb 100644 --- a/Online/Menus/CSS/Teams/InitTeamToggleButton.asm +++ b/Online/Menus/CSS/Teams/InitTeamToggleButton.asm @@ -353,7 +353,7 @@ lbz r3, 0x70(REG_PORT_SELECTIONS_ADDR) mr REG_INTERNAL_CHAR_ID, r3 lbz REG_TEAM_IDX, CSSDT_TEAM_IDX(REG_CSSDT_ADDR) -# logf LOG_LEVEL_NOTICE, "TEAM INDEX %d", "mr r5, 25" +# exilogf LOG_LEVEL_NOTICE, "TEAM INDEX %d", "mr r5, 25" # Animate the team icon based on team index cmpwi REG_TEAM_IDX, 3 diff --git a/Online/Online.s b/Online/Online.s index 963e8d51..a8c49c84 100644 --- a/Online/Online.s +++ b/Online/Online.s @@ -22,7 +22,6 @@ .set OFST_R13_USE_PREMADE_TEXT,-0x5014 # bool, used to make Text_CopyPremadeTextDataToStruct load text data from dolphin .set OFST_R13_ISWIDESCREEN,-0x5020 # bool, used to make Text_CopyPremadeTextDataToStruct load text data from dolphin # r13 offsets used in tournament mode (not sure if completely safe though) -# -0x5040 (r13) # -0x5068 (r13) # -0x7510 (r13) diff --git a/Output/Console/GALE01r2.ini b/Output/Console/GALE01r2.ini index 92365e4e..a676095f 100644 --- a/Output/Console/GALE01r2.ini +++ b/Output/Console/GALE01r2.ini @@ -774,14 +774,8 @@ BA810008 800100B4 $Optional: Debug Input Timings [Fizzi] *Try to debug inputs -C21A4CB4 00000004 #External/Debug Inputs/AllocBuffer.asm -38600080 3D808037 -618CF1E4 7D8903A6 -4E800421 906DAFC4 -38000000 00000000 -041BFA20 38600002 #External/Debug Inputs/Boot To CSS.asm -C216E774 0000007E #External/Debug Inputs/InitOnGameStart.asm -48000368 4E800021 +C216E774 000000A0 #External/Debug Inputs/InitOnGameStart.asm +4800047C 4E800021 00000000 41C80000 41C80000 000000FF 000000B4 E2E2E2FF @@ -791,76 +785,87 @@ C216E774 0000007E #External/Debug Inputs/InitOnGameStart.asm 20257520 75730A00 506F6C6C 20436F75 6E743A20 25750A00 -4E800021 7C0802A6 -90010004 9421FF50 -BE810008 4BFFFFA1 -7FE802A6 83DF0000 -807E0012 38630001 -907E0012 3D808034 -618CC408 7D8903A6 -4E800421 907E000A -BA810008 800100B4 -382100B0 7C0803A6 -4E800020 4E800021 +4D696E20 506F6C6C +20446966 663A2025 +75207573 0A004D61 +7820506F 6C6C2044 +6966663A 20257520 +75730A00 46657463 +682D4665 7463683A +20257520 75730A00 +46657463 682D506F +6C6C3A20 25752075 +730A0000 4E800021 7C0802A6 90010004 9421FF50 BE810008 4BFFFF4D 7FE802A6 -83DF0000 83BE0006 -887E0000 2C030001 -4082009C 7FA3EB78 -3D808030 618C2BB0 -7D8903A6 4E800421 -7FA3EB78 38800000 -38A00000 3D808030 -618C2A3C 7D8903A6 +83DF0000 807E0016 +38630001 907E0016 +3D808034 618CC408 +7D8903A6 4E800421 +809E000A 907E000A +7C641850 1C63000C +388002D9 7C632396 +7C7D1B78 807E0016 +5463063F 41820028 +807E005E 7C1D1800 +40800008 93BE005E +807E0062 7C1D1800 +40810008 93BE0062 +4800000C 93BE005E +93BE0062 BA810008 +800100B4 382100B0 +7C0803A6 4E800020 +4E800021 7C0802A6 +90010004 9421FF50 +BE810008 4BFFFEA9 +7FE802A6 83DF0000 +83BE0006 887E0000 +2C030001 4082010C +7FA3EB78 3D808030 +618C2BB0 7D8903A6 4E800421 7FA3EB78 -389F0020 80BE0056 +38800000 38A00000 +3D808030 618C2A3C +7D8903A6 4E800421 +7FA3EB78 389F0020 +80BE005A 3D808030 +618C2D4C 7D8903A6 +4E800421 7FA3EB78 +389F0038 80BE0016 3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F0038 -80BE0012 3D808030 +7FA3EB78 389F0048 +80BE005E 3D808030 618C2D4C 7D8903A6 -4E800421 3C608046 -6063B6A0 88630008 -2C030000 41820020 -807E000E 3D808034 -618C9CBC 7D8903A6 -4E800421 38600002 -987E0000 BA810008 -800100B4 382100B0 -7C0803A6 4E800020 -7C0802A6 90010004 -9421FF50 BE810008 -4BFFFE75 7FE802A6 -38600020 3D808037 -618CF1E4 7D8903A6 -4E800421 7C681B78 -3860001E 3880FFD5 -38A0FFD6 38C00001 -38E00001 3D808030 -618C2834 7D8903A6 -4E800421 7C7E1B78 -806DB77C 7FC4F378 -3D808030 618C2810 +4E800421 7FA3EB78 +389F005E 80BE0062 +3D808030 618C2D4C 7D8903A6 4E800421 -38600000 987E0026 -7FC3F378 389F000C -3D808030 618C2B90 +7FA3EB78 389F0074 +80BE0066 3D808030 +618C2D4C 7D8903A6 +4E800421 7FA3EB78 +389F0088 80BE006A +3D808030 618C2D4C +7D8903A6 4E800421 +3C608046 6063B6A0 +88630008 2C030000 +41820020 807E0012 +3D808034 618C9CBC 7D8903A6 4E800421 -C03F0004 D03E0008 -C03F0008 D03E000C -807F0000 93C30002 +38600002 987E0000 BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 -BE810008 4BFFFDB9 -7FE802A6 386003E8 +BE810008 4BFFFD61 +7FE802A6 38600020 3D808037 618CF1E4 7D8903A6 4E800421 -7C681B78 3860001F -38800000 38A00000 -38C0001C 38E00004 +7C681B78 3860001E +3880FFD5 38A0FFD6 +38C00001 38E00001 3D808030 618C2834 7D8903A6 4E800421 7C7E1B78 806DB77C @@ -868,45 +873,68 @@ BE810008 4BFFFDB9 618C2810 7D8903A6 4E800421 38600000 987E0026 7FC3F378 -389F0010 3D808030 +389F000C 3D808030 618C2B90 7D8903A6 -4E800421 7FC3F378 -C03F0018 C05F001C -3D808030 618C2B10 -7D8903A6 4E800421 -7FC3F378 389F0014 -3D808030 618C2B64 -7D8903A6 4E800421 -7FC3F378 3D808030 -618C2AF0 7D8903A6 -4E800421 807F0000 -93C30006 38600013 -38800014 38A00000 -3D808039 618C01F0 -7D8903A6 4E800421 -4BFFFD6D 7C8802A6 -38A00007 3D808038 -618CFD54 7D8903A6 -4E800421 BA810008 +4E800421 C03F0004 +D03E0008 C03F0008 +D03E000C 807F0000 +93C30002 BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 BE810008 -3860005A 3D808037 +4BFFFCA5 7FE802A6 +386003E8 3D808037 618CF1E4 7D8903A6 -4E800421 4BFFFC79 -7C8802A6 90640000 -7C7E1B78 3880005A -3D808000 618CC160 +4E800421 7C681B78 +3860001F 38800000 +38A00000 38C0001C +38E00007 3D808030 +618C2834 7D8903A6 +4E800421 7C7E1B78 +806DB77C 7FC4F378 +3D808030 618C2810 7D8903A6 4E800421 -4BFFFDD1 4BFFFE89 -4BFFFC99 7C6802A6 -907E000E 3D808034 -618C9BF0 7D8903A6 -4E800421 BA810008 -800100B4 382100B0 -7C0803A6 C022A8C8 -60000000 00000000 +38600000 987E0026 +7FC3F378 389F0010 +3D808030 618C2B90 +7D8903A6 4E800421 +7FC3F378 C03F0018 +C05F001C 3D808030 +618C2B10 7D8903A6 +4E800421 7FC3F378 +389F0014 3D808030 +618C2B64 7D8903A6 +4E800421 7FC3F378 +3D808030 618C2AF0 +7D8903A6 4E800421 +807F0000 93C30006 +38600013 38800014 +38A00000 3D808039 +618C01F0 7D8903A6 +4E800421 4BFFFCFD +7C8802A6 38A00007 +3D808038 618CFD54 +7D8903A6 4E800421 +BA810008 800100B4 +382100B0 7C0803A6 +4E800020 7C0802A6 +90010004 9421FF50 +BE810008 3860006E +3D808037 618CF1E4 +7D8903A6 4E800421 +4BFFFB65 7C8802A6 +90640000 7C7E1B78 +3880006E 3D808000 +618CC160 7D8903A6 +4E800421 4BFFFDD1 +4BFFFE89 4BFFFBD9 +7C6802A6 907E0012 +3D808034 618C9BF0 +7D8903A6 4E800421 +BA810008 800100B4 +382100B0 7C0803A6 +C022A8C8 00000000 C21A4DEC 00000025 #External/Debug Inputs/LogEngineTime.asm 3C608048 80639D30 5463443E 2C030202 @@ -929,9 +957,9 @@ BE810008 3D808034 90640000 3D808034 618CC408 7D8903A6 4E800421 1C9C0004 -38840016 7C9F202E +3884001A 7C9F202E 7C641850 1C63000C -388001E6 7C632396 +388002D9 7C632396 7C7D1B78 807F0002 9B810038 9B810039 9B81003A 80810038 @@ -969,22 +997,22 @@ C2375C14 00000021 #External/Debug Inputs/LogFrameScanoutStart.asm 7C632396 547CE73E 3D808034 618CC408 7D8903A6 4E800421 -1C9C0004 38840016 +1C9C0004 3884001A 7C9F202E 7C641850 -1C63000C 388001E6 +1C63000C 388002D9 7C632396 7C7D1B78 -93BF0056 7FC3F378 +93BF005A 7FC3F378 3D808034 618C738C 7D8903A6 4E800421 BA810008 800100B4 382100B0 7C0803A6 80010024 00000000 -C2376A88 0000001F #External/Debug Inputs/StoreCaptureTimes.asm +C2376A88 00000028 #External/Debug Inputs/StoreCaptureTimes.asm 3C608048 80639D30 5463443E 2C030202 -408200E0 3C608047 +40820128 3C608047 60639D64 80630000 -2C030000 408200CC +2C030000 40820114 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 @@ -999,13 +1027,22 @@ C2376A88 0000001F #External/Debug Inputs/StoreCaptureTimes.asm 7C632378 5463803E 906100DC 807F000A 889F0001 1C840004 -38840016 7C7F212E +3884001A 7C7F212E 887F0001 38630001 2C030010 41800008 38600000 987F0001 887F0000 2C030000 4082000C 38600001 -987F0000 7FC3F378 +987F0000 3D808034 +618CC408 7D8903A6 +4E800421 7C7D1B78 +809F000E 93BF000E +7C64E850 1C63000C +388002D9 7C632396 +907F0066 807F000A +7C63E850 1C63000C +388002D9 7C632396 +907F006A 7FC3F378 3D808034 618C738C 7D8903A6 4E800421 BA810008 800100B4 diff --git a/Output/Console/g_core.bin b/Output/Console/g_core.bin index edc685b9b99d02152064a95498fb51ea53aaaea3..18f8062d19d6310b1e3aec4d8a535263f2133387 100644 GIT binary patch delta 731 zcmeCM+u*Qap*XkL^AZLIh6NrBEH#twi2H>2X67jbH=PUdBP4J?Wc z^BA~*;#@T;5&<&F3_KPMOgC$im8aFzN>_mNg(S1tJ2o+B0NHUhvJwmq4GbKU_c6o) z`AJ}YBbcA$!N9-+5(na>T|lu0MusgGiVPcSIG87&7h(mvLrm)5%K8^f%bM>qFf{LD zVC$%3V9;S^V036=~3sw9zeM`9Qxvb za!EMkN`P`{sB(NPickwXfRb60StQjNg(mAr+A;l2oSY-Mi|NnO$r@7njO>%=NLo*x zELG3+=kH_@X?xE+pgHD=Js+RI-0l7UcWO-s)3OOE3=B1O(iIjB3?MZOi9H7s5NiHj z^#1>^6R7rPO$JbH9fQ#1InpYVk4SG9l&YDppobhIn|ox88D%kqVG%WXKSR{yJF>=_ z8a4?H9u3KJ4MLJ#>~xr!n1F!`5_3;To}1E;3=VJxpqR*H3%O!OsmW{P3_O4?LrD?f jn4izU2Q-wgCglZ6s+dsEkk(KSOfAV6;#rgL$msw8o)-C( delta 402 zcmdns&|$Y>p}4h_&lUy-1{RA1h6dY)2J^(8k56hlnV0!BuqaN*U4O&^CpU2kGbXPQ_nG`bLQL!b!ul6X%bM>qFf`OL2w5aEFirr{K;ujjdya6x zjjLnentVV=1f)gkzb{Nn^F9W)jyeVg9cBhbhbD$OlNBVb8N()TkQ8UNXxPUfH2H<3 zIwRj?0VzACf2ETHq;@g=-8q>@TAz_+a)Xrhf1VsKrpVDD&%gw900RKYe1j$c diff --git a/Output/Console/g_core_porta.bin b/Output/Console/g_core_porta.bin index e9d2039d6a5b2d2ef70b8c78dc23f944780d65dc..ea972a9d178ba644b12732b168003dead5085318 100644 GIT binary patch delta 731 zcmeCM+u*Qap*XkL^AZLIh6NrBEH#twi2H>2X67jbH=PUdBP4J?Wc z^BA~*;#@T;5&<&F3_KPMOgC$im8aFzN>_mNg(S1tJ2o+B0NHUhvJwmq4GbKU_c6o) z`AJ}YBbcA$!N9-+5(na>T|lu0MusgGiVPcSIG87&7h(mvLrm)5%K8^f%bM>qFf{LD zVC$%3V9;S^V036=~3sw9zeM`9Qxvb za!EMkN`P`{sB(NPickwXfRb60StQjNg(mAr+A;l2oSY-Mi|NnO$r@7njO>%=NLo*x zELG3+=kH_@X?xE+pgHD=Js+RI-0l7UcWO-s)3OOE3=B1O(iIjB3?MZOi9H7s5NiHj z^#1>^6R7rPO$JbH9fQ#1InpYVk4SG9l&YDppobhIn|ox88D%kqVG%WXKSR{yJF>=_ z8a4?H9u3KJ4MLJ#>~xr!n1F!`5_3;To}1E;3=VJxpqR*H3%O!OsmW{P3_O4?LrD?f jn4izU2Q-wgCglZ6s+dsEkk(KSOfAV6;#rgL$msw8o)-C( delta 402 zcmdns&|$Y>p}4h_&lUy-1{RA1h6dY)2J^(8k56hlnV0!BuqaN*U4O&^CpU2kGbXPQ_nG`bLQL!b!ul6X%bM>qFf`OL2w5aEFirr{K;ujjdya6x zjjLnentVV=1f)gkzb{Nn^F9W)jyeVg9cBhbhbD$OlNBVb8N()TkQ8UNXxPUfH2H<3 zIwRj?0VzACf2ETHq;@g=-8q>@TAz_+a)Xrhf1VsKrpVDD&%gw900RKYe1j$c diff --git a/Output/Netplay/GALE01r2.ini b/Output/Netplay/GALE01r2.ini index 9eac382e..b68796a9 100644 --- a/Output/Netplay/GALE01r2.ini +++ b/Output/Netplay/GALE01r2.ini @@ -5697,14 +5697,8 @@ C22FD1EC 0000000E #Online/Optional/IndicateLocalPlayer/SetLocalPlayerTag.asm $Optional: Debug Input Timings [Fizzi] *Try to debug inputs -C21A4CB4 00000004 #External/Debug Inputs/AllocBuffer.asm -38600080 3D808037 -618CF1E4 7D8903A6 -4E800421 906DAFC4 -38000000 00000000 -041BFA20 38600002 #External/Debug Inputs/Boot To CSS.asm -C216E774 0000007E #External/Debug Inputs/InitOnGameStart.asm -48000368 4E800021 +C216E774 000000A0 #External/Debug Inputs/InitOnGameStart.asm +4800047C 4E800021 00000000 41C80000 41C80000 000000FF 000000B4 E2E2E2FF @@ -5714,76 +5708,87 @@ C216E774 0000007E #External/Debug Inputs/InitOnGameStart.asm 20257520 75730A00 506F6C6C 20436F75 6E743A20 25750A00 -4E800021 7C0802A6 -90010004 9421FF50 -BE810008 4BFFFFA1 -7FE802A6 83DF0000 -807E0012 38630001 -907E0012 3D808034 -618CC408 7D8903A6 -4E800421 907E000A -BA810008 800100B4 -382100B0 7C0803A6 -4E800020 4E800021 +4D696E20 506F6C6C +20446966 663A2025 +75207573 0A004D61 +7820506F 6C6C2044 +6966663A 20257520 +75730A00 46657463 +682D4665 7463683A +20257520 75730A00 +46657463 682D506F +6C6C3A20 25752075 +730A0000 4E800021 7C0802A6 90010004 9421FF50 BE810008 4BFFFF4D 7FE802A6 -83DF0000 83BE0006 -887E0000 2C030001 -4082009C 7FA3EB78 -3D808030 618C2BB0 -7D8903A6 4E800421 -7FA3EB78 38800000 -38A00000 3D808030 -618C2A3C 7D8903A6 +83DF0000 807E0016 +38630001 907E0016 +3D808034 618CC408 +7D8903A6 4E800421 +809E000A 907E000A +7C641850 1C63000C +388002D9 7C632396 +7C7D1B78 807E0016 +5463063F 41820028 +807E005E 7C1D1800 +40800008 93BE005E +807E0062 7C1D1800 +40810008 93BE0062 +4800000C 93BE005E +93BE0062 BA810008 +800100B4 382100B0 +7C0803A6 4E800020 +4E800021 7C0802A6 +90010004 9421FF50 +BE810008 4BFFFEA9 +7FE802A6 83DF0000 +83BE0006 887E0000 +2C030001 4082010C +7FA3EB78 3D808030 +618C2BB0 7D8903A6 +4E800421 7FA3EB78 +38800000 38A00000 +3D808030 618C2A3C +7D8903A6 4E800421 +7FA3EB78 389F0020 +80BE005A 3D808030 +618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F0020 80BE0056 +389F0038 80BE0016 3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F0038 -80BE0012 3D808030 +7FA3EB78 389F0048 +80BE005E 3D808030 618C2D4C 7D8903A6 -4E800421 3C608046 -6063B6A0 88630008 -2C030000 41820020 -807E000E 3D808034 -618C9CBC 7D8903A6 -4E800421 38600002 -987E0000 BA810008 -800100B4 382100B0 -7C0803A6 4E800020 -7C0802A6 90010004 -9421FF50 BE810008 -4BFFFE75 7FE802A6 -38600020 3D808037 -618CF1E4 7D8903A6 -4E800421 7C681B78 -3860001E 3880FFD5 -38A0FFD6 38C00001 -38E00001 3D808030 -618C2834 7D8903A6 -4E800421 7C7E1B78 -806DB77C 7FC4F378 -3D808030 618C2810 +4E800421 7FA3EB78 +389F005E 80BE0062 +3D808030 618C2D4C 7D8903A6 4E800421 -38600000 987E0026 -7FC3F378 389F000C -3D808030 618C2B90 +7FA3EB78 389F0074 +80BE0066 3D808030 +618C2D4C 7D8903A6 +4E800421 7FA3EB78 +389F0088 80BE006A +3D808030 618C2D4C 7D8903A6 4E800421 -C03F0004 D03E0008 -C03F0008 D03E000C -807F0000 93C30002 +3C608046 6063B6A0 +88630008 2C030000 +41820020 807E0012 +3D808034 618C9CBC +7D8903A6 4E800421 +38600002 987E0000 BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 -BE810008 4BFFFDB9 -7FE802A6 386003E8 +BE810008 4BFFFD61 +7FE802A6 38600020 3D808037 618CF1E4 7D8903A6 4E800421 -7C681B78 3860001F -38800000 38A00000 -38C0001C 38E00004 +7C681B78 3860001E +3880FFD5 38A0FFD6 +38C00001 38E00001 3D808030 618C2834 7D8903A6 4E800421 7C7E1B78 806DB77C @@ -5791,45 +5796,68 @@ BE810008 4BFFFDB9 618C2810 7D8903A6 4E800421 38600000 987E0026 7FC3F378 -389F0010 3D808030 +389F000C 3D808030 618C2B90 7D8903A6 -4E800421 7FC3F378 -C03F0018 C05F001C -3D808030 618C2B10 -7D8903A6 4E800421 -7FC3F378 389F0014 -3D808030 618C2B64 -7D8903A6 4E800421 -7FC3F378 3D808030 -618C2AF0 7D8903A6 -4E800421 807F0000 -93C30006 38600013 -38800014 38A00000 -3D808039 618C01F0 -7D8903A6 4E800421 -4BFFFD6D 7C8802A6 -38A00007 3D808038 -618CFD54 7D8903A6 -4E800421 BA810008 +4E800421 C03F0004 +D03E0008 C03F0008 +D03E000C 807F0000 +93C30002 BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 BE810008 -3860005A 3D808037 +4BFFFCA5 7FE802A6 +386003E8 3D808037 618CF1E4 7D8903A6 -4E800421 4BFFFC79 -7C8802A6 90640000 -7C7E1B78 3880005A -3D808000 618CC160 +4E800421 7C681B78 +3860001F 38800000 +38A00000 38C0001C +38E00007 3D808030 +618C2834 7D8903A6 +4E800421 7C7E1B78 +806DB77C 7FC4F378 +3D808030 618C2810 7D8903A6 4E800421 -4BFFFDD1 4BFFFE89 -4BFFFC99 7C6802A6 -907E000E 3D808034 -618C9BF0 7D8903A6 -4E800421 BA810008 -800100B4 382100B0 -7C0803A6 C022A8C8 -60000000 00000000 +38600000 987E0026 +7FC3F378 389F0010 +3D808030 618C2B90 +7D8903A6 4E800421 +7FC3F378 C03F0018 +C05F001C 3D808030 +618C2B10 7D8903A6 +4E800421 7FC3F378 +389F0014 3D808030 +618C2B64 7D8903A6 +4E800421 7FC3F378 +3D808030 618C2AF0 +7D8903A6 4E800421 +807F0000 93C30006 +38600013 38800014 +38A00000 3D808039 +618C01F0 7D8903A6 +4E800421 4BFFFCFD +7C8802A6 38A00007 +3D808038 618CFD54 +7D8903A6 4E800421 +BA810008 800100B4 +382100B0 7C0803A6 +4E800020 7C0802A6 +90010004 9421FF50 +BE810008 3860006E +3D808037 618CF1E4 +7D8903A6 4E800421 +4BFFFB65 7C8802A6 +90640000 7C7E1B78 +3880006E 3D808000 +618CC160 7D8903A6 +4E800421 4BFFFDD1 +4BFFFE89 4BFFFBD9 +7C6802A6 907E0012 +3D808034 618C9BF0 +7D8903A6 4E800421 +BA810008 800100B4 +382100B0 7C0803A6 +C022A8C8 00000000 C21A4DEC 00000025 #External/Debug Inputs/LogEngineTime.asm 3C608048 80639D30 5463443E 2C030202 @@ -5852,9 +5880,9 @@ BE810008 3D808034 90640000 3D808034 618CC408 7D8903A6 4E800421 1C9C0004 -38840016 7C9F202E +3884001A 7C9F202E 7C641850 1C63000C -388001E6 7C632396 +388002D9 7C632396 7C7D1B78 807F0002 9B810038 9B810039 9B81003A 80810038 @@ -5892,22 +5920,22 @@ C2375C14 00000021 #External/Debug Inputs/LogFrameScanoutStart.asm 7C632396 547CE73E 3D808034 618CC408 7D8903A6 4E800421 -1C9C0004 38840016 +1C9C0004 3884001A 7C9F202E 7C641850 -1C63000C 388001E6 +1C63000C 388002D9 7C632396 7C7D1B78 -93BF0056 7FC3F378 +93BF005A 7FC3F378 3D808034 618C738C 7D8903A6 4E800421 BA810008 800100B4 382100B0 7C0803A6 80010024 00000000 -C2376A88 0000001F #External/Debug Inputs/StoreCaptureTimes.asm +C2376A88 00000028 #External/Debug Inputs/StoreCaptureTimes.asm 3C608048 80639D30 5463443E 2C030202 -408200E0 3C608047 +40820128 3C608047 60639D64 80630000 -2C030000 408200CC +2C030000 40820114 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 @@ -5922,13 +5950,22 @@ C2376A88 0000001F #External/Debug Inputs/StoreCaptureTimes.asm 7C632378 5463803E 906100DC 807F000A 889F0001 1C840004 -38840016 7C7F212E +3884001A 7C7F212E 887F0001 38630001 2C030010 41800008 38600000 987F0001 887F0000 2C030000 4082000C 38600001 -987F0000 7FC3F378 +987F0000 3D808034 +618CC408 7D8903A6 +4E800421 7C7D1B78 +809F000E 93BF000E +7C64E850 1C63000C +388002D9 7C632396 +907F0066 807F000A +7C63E850 1C63000C +388002D9 7C632396 +907F006A 7FC3F378 3D808034 618C738C 7D8903A6 4E800421 BA810008 800100B4 diff --git a/Output/Netplay/GALJ01r2.ini b/Output/Netplay/GALJ01r2.ini index f4e48142..aac441b4 100644 --- a/Output/Netplay/GALJ01r2.ini +++ b/Output/Netplay/GALJ01r2.ini @@ -5697,14 +5697,8 @@ C22FD1EC 0000000E #Online/Optional/IndicateLocalPlayer/SetLocalPlayerTag.asm $Optional: Debug Input Timings [Fizzi] *Try to debug inputs -C21A4CB4 00000004 #External/Debug Inputs/AllocBuffer.asm -38600080 3D808037 -618CF1E4 7D8903A6 -4E800421 906DAFC4 -38000000 00000000 -041BFA20 38600002 #External/Debug Inputs/Boot To CSS.asm -C216E774 0000007E #External/Debug Inputs/InitOnGameStart.asm -48000368 4E800021 +C216E774 000000A0 #External/Debug Inputs/InitOnGameStart.asm +4800047C 4E800021 00000000 41C80000 41C80000 000000FF 000000B4 E2E2E2FF @@ -5714,76 +5708,87 @@ C216E774 0000007E #External/Debug Inputs/InitOnGameStart.asm 20257520 75730A00 506F6C6C 20436F75 6E743A20 25750A00 -4E800021 7C0802A6 -90010004 9421FF50 -BE810008 4BFFFFA1 -7FE802A6 83DF0000 -807E0012 38630001 -907E0012 3D808034 -618CC408 7D8903A6 -4E800421 907E000A -BA810008 800100B4 -382100B0 7C0803A6 -4E800020 4E800021 +4D696E20 506F6C6C +20446966 663A2025 +75207573 0A004D61 +7820506F 6C6C2044 +6966663A 20257520 +75730A00 46657463 +682D4665 7463683A +20257520 75730A00 +46657463 682D506F +6C6C3A20 25752075 +730A0000 4E800021 7C0802A6 90010004 9421FF50 BE810008 4BFFFF4D 7FE802A6 -83DF0000 83BE0006 -887E0000 2C030001 -4082009C 7FA3EB78 -3D808030 618C2BB0 -7D8903A6 4E800421 -7FA3EB78 38800000 -38A00000 3D808030 -618C2A3C 7D8903A6 +83DF0000 807E0016 +38630001 907E0016 +3D808034 618CC408 +7D8903A6 4E800421 +809E000A 907E000A +7C641850 1C63000C +388002D9 7C632396 +7C7D1B78 807E0016 +5463063F 41820028 +807E005E 7C1D1800 +40800008 93BE005E +807E0062 7C1D1800 +40810008 93BE0062 +4800000C 93BE005E +93BE0062 BA810008 +800100B4 382100B0 +7C0803A6 4E800020 +4E800021 7C0802A6 +90010004 9421FF50 +BE810008 4BFFFEA9 +7FE802A6 83DF0000 +83BE0006 887E0000 +2C030001 4082010C +7FA3EB78 3D808030 +618C2BB0 7D8903A6 +4E800421 7FA3EB78 +38800000 38A00000 +3D808030 618C2A3C +7D8903A6 4E800421 +7FA3EB78 389F0020 +80BE005A 3D808030 +618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F0020 80BE0056 +389F0038 80BE0016 3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F0038 -80BE0012 3D808030 +7FA3EB78 389F0048 +80BE005E 3D808030 618C2D4C 7D8903A6 -4E800421 3C608046 -6063B6A0 88630008 -2C030000 41820020 -807E000E 3D808034 -618C9CBC 7D8903A6 -4E800421 38600002 -987E0000 BA810008 -800100B4 382100B0 -7C0803A6 4E800020 -7C0802A6 90010004 -9421FF50 BE810008 -4BFFFE75 7FE802A6 -38600020 3D808037 -618CF1E4 7D8903A6 -4E800421 7C681B78 -3860001E 3880FFD5 -38A0FFD6 38C00001 -38E00001 3D808030 -618C2834 7D8903A6 -4E800421 7C7E1B78 -806DB77C 7FC4F378 -3D808030 618C2810 +4E800421 7FA3EB78 +389F005E 80BE0062 +3D808030 618C2D4C 7D8903A6 4E800421 -38600000 987E0026 -7FC3F378 389F000C -3D808030 618C2B90 +7FA3EB78 389F0074 +80BE0066 3D808030 +618C2D4C 7D8903A6 +4E800421 7FA3EB78 +389F0088 80BE006A +3D808030 618C2D4C 7D8903A6 4E800421 -C03F0004 D03E0008 -C03F0008 D03E000C -807F0000 93C30002 +3C608046 6063B6A0 +88630008 2C030000 +41820020 807E0012 +3D808034 618C9CBC +7D8903A6 4E800421 +38600002 987E0000 BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 -BE810008 4BFFFDB9 -7FE802A6 386003E8 +BE810008 4BFFFD61 +7FE802A6 38600020 3D808037 618CF1E4 7D8903A6 4E800421 -7C681B78 3860001F -38800000 38A00000 -38C0001C 38E00004 +7C681B78 3860001E +3880FFD5 38A0FFD6 +38C00001 38E00001 3D808030 618C2834 7D8903A6 4E800421 7C7E1B78 806DB77C @@ -5791,45 +5796,68 @@ BE810008 4BFFFDB9 618C2810 7D8903A6 4E800421 38600000 987E0026 7FC3F378 -389F0010 3D808030 +389F000C 3D808030 618C2B90 7D8903A6 -4E800421 7FC3F378 -C03F0018 C05F001C -3D808030 618C2B10 -7D8903A6 4E800421 -7FC3F378 389F0014 -3D808030 618C2B64 -7D8903A6 4E800421 -7FC3F378 3D808030 -618C2AF0 7D8903A6 -4E800421 807F0000 -93C30006 38600013 -38800014 38A00000 -3D808039 618C01F0 -7D8903A6 4E800421 -4BFFFD6D 7C8802A6 -38A00007 3D808038 -618CFD54 7D8903A6 -4E800421 BA810008 +4E800421 C03F0004 +D03E0008 C03F0008 +D03E000C 807F0000 +93C30002 BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 BE810008 -3860005A 3D808037 +4BFFFCA5 7FE802A6 +386003E8 3D808037 618CF1E4 7D8903A6 -4E800421 4BFFFC79 -7C8802A6 90640000 -7C7E1B78 3880005A -3D808000 618CC160 +4E800421 7C681B78 +3860001F 38800000 +38A00000 38C0001C +38E00007 3D808030 +618C2834 7D8903A6 +4E800421 7C7E1B78 +806DB77C 7FC4F378 +3D808030 618C2810 7D8903A6 4E800421 -4BFFFDD1 4BFFFE89 -4BFFFC99 7C6802A6 -907E000E 3D808034 -618C9BF0 7D8903A6 -4E800421 BA810008 -800100B4 382100B0 -7C0803A6 C022A8C8 -60000000 00000000 +38600000 987E0026 +7FC3F378 389F0010 +3D808030 618C2B90 +7D8903A6 4E800421 +7FC3F378 C03F0018 +C05F001C 3D808030 +618C2B10 7D8903A6 +4E800421 7FC3F378 +389F0014 3D808030 +618C2B64 7D8903A6 +4E800421 7FC3F378 +3D808030 618C2AF0 +7D8903A6 4E800421 +807F0000 93C30006 +38600013 38800014 +38A00000 3D808039 +618C01F0 7D8903A6 +4E800421 4BFFFCFD +7C8802A6 38A00007 +3D808038 618CFD54 +7D8903A6 4E800421 +BA810008 800100B4 +382100B0 7C0803A6 +4E800020 7C0802A6 +90010004 9421FF50 +BE810008 3860006E +3D808037 618CF1E4 +7D8903A6 4E800421 +4BFFFB65 7C8802A6 +90640000 7C7E1B78 +3880006E 3D808000 +618CC160 7D8903A6 +4E800421 4BFFFDD1 +4BFFFE89 4BFFFBD9 +7C6802A6 907E0012 +3D808034 618C9BF0 +7D8903A6 4E800421 +BA810008 800100B4 +382100B0 7C0803A6 +C022A8C8 00000000 C21A4DEC 00000025 #External/Debug Inputs/LogEngineTime.asm 3C608048 80639D30 5463443E 2C030202 @@ -5852,9 +5880,9 @@ BE810008 3D808034 90640000 3D808034 618CC408 7D8903A6 4E800421 1C9C0004 -38840016 7C9F202E +3884001A 7C9F202E 7C641850 1C63000C -388001E6 7C632396 +388002D9 7C632396 7C7D1B78 807F0002 9B810038 9B810039 9B81003A 80810038 @@ -5892,22 +5920,22 @@ C2375C14 00000021 #External/Debug Inputs/LogFrameScanoutStart.asm 7C632396 547CE73E 3D808034 618CC408 7D8903A6 4E800421 -1C9C0004 38840016 +1C9C0004 3884001A 7C9F202E 7C641850 -1C63000C 388001E6 +1C63000C 388002D9 7C632396 7C7D1B78 -93BF0056 7FC3F378 +93BF005A 7FC3F378 3D808034 618C738C 7D8903A6 4E800421 BA810008 800100B4 382100B0 7C0803A6 80010024 00000000 -C2376A88 0000001F #External/Debug Inputs/StoreCaptureTimes.asm +C2376A88 00000028 #External/Debug Inputs/StoreCaptureTimes.asm 3C608048 80639D30 5463443E 2C030202 -408200E0 3C608047 +40820128 3C608047 60639D64 80630000 -2C030000 408200CC +2C030000 40820114 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 @@ -5922,13 +5950,22 @@ C2376A88 0000001F #External/Debug Inputs/StoreCaptureTimes.asm 7C632378 5463803E 906100DC 807F000A 889F0001 1C840004 -38840016 7C7F212E +3884001A 7C7F212E 887F0001 38630001 2C030010 41800008 38600000 987F0001 887F0000 2C030000 4082000C 38600001 -987F0000 7FC3F378 +987F0000 3D808034 +618CC408 7D8903A6 +4E800421 7C7D1B78 +809F000E 93BF000E +7C64E850 1C63000C +388002D9 7C632396 +907F0066 807F000A +7C63E850 1C63000C +388002D9 7C632396 +907F006A 7FC3F378 3D808034 618C738C 7D8903A6 4E800421 BA810008 800100B4 diff --git a/Recording/SendGameEnd.asm b/Recording/SendGameEnd.asm index 6b3a34a6..0cf62252 100644 --- a/Recording/SendGameEnd.asm +++ b/Recording/SendGameEnd.asm @@ -32,7 +32,7 @@ backup # check if we have previously sent game end message (don't send more than once) lwz REG_RDB, primaryDataBuffer(r13) lbz r3, RDB_GAME_END_SENT(REG_RDB) - #logf LOG_LEVEL_NOTICE, "Checking game end sent: %d", "mr r5, 3" + #exilogf LOG_LEVEL_NOTICE, "Checking game end sent: %d", "mr r5, 3" cmpwi r3, 0 bne Injection_Exit # If game end already sent, do nothing more @@ -45,7 +45,7 @@ backup bne StartWrite lwz r3, OFST_R13_ODB_ADDR(r13) # data buffer address lbz r3, ODB_IS_GAME_OVER(r3) - #logf LOG_LEVEL_NOTICE, "Game end being checked %d", "mr r5, 3" + #exilogf LOG_LEVEL_NOTICE, "Game end being checked %d", "mr r5, 3" cmpwi r3, 0 beq Injection_Exit # If game is not over yet, don't send game end @@ -81,7 +81,7 @@ StoreLRAStarter: # Indicate game end has been sent li r3, 1 stb r3, RDB_GAME_END_SENT(REG_RDB) - #logf LOG_LEVEL_NOTICE, "Wrote game end sent" + #exilogf LOG_LEVEL_NOTICE, "Wrote game end sent" Injection_Exit: restore From 09cba23b3725767383d109aa3520744a48b0c518 Mon Sep 17 00:00:00 2001 From: Jas Laferriere Date: Thu, 10 Jun 2021 17:32:00 -0700 Subject: [PATCH 08/16] tweak text --- External/Debug Inputs/InitOnGameStart.asm | 8 +- Output/Netplay/GALE01r2.ini | 237 +++++++++++----------- Output/Netplay/GALJ01r2.ini | 237 +++++++++++----------- 3 files changed, 242 insertions(+), 240 deletions(-) diff --git a/External/Debug Inputs/InitOnGameStart.asm b/External/Debug Inputs/InitOnGameStart.asm index 1a67143b..e3768868 100644 --- a/External/Debug Inputs/InitOnGameStart.asm +++ b/External/Debug Inputs/InitOnGameStart.asm @@ -26,8 +26,8 @@ blrl .set DO_LD_TEXT_Y_SCALE, DO_LD_TEXT_X_SCALE + 4 .float 17 .set DO_LD_STR_LATENCY, DO_LD_TEXT_Y_SCALE + 4 -.string "Input to Render: %u us\n" -.set DO_LD_STR_POLL_COUNT, DO_LD_STR_LATENCY + 24 +.string "Input to Retrace: %u us\n\n" +.set DO_LD_STR_POLL_COUNT, DO_LD_STR_LATENCY + 26 .string "Poll Count: %u\n" .set DO_LD_STR_MIN_POLL_DIFF, DO_LD_STR_POLL_COUNT + 16 .string "Min Poll Diff: %u us\n" @@ -239,8 +239,8 @@ mr r8, r3 li r3, 31 # ID li r4, 0 # X Pos, bottom right: 638 li r5, 0 # Y Pos, bottom right: 478 -li r6, 28 -li r7, 7 +li r6, 29 +li r7, 8 branchl r12, 0x80302834 # DevelopText_CreateDataTable mr REG_DEVELOP_TEXT, r3 #Activate Text diff --git a/Output/Netplay/GALE01r2.ini b/Output/Netplay/GALE01r2.ini index b68796a9..ef245c50 100644 --- a/Output/Netplay/GALE01r2.ini +++ b/Output/Netplay/GALE01r2.ini @@ -5697,98 +5697,122 @@ C22FD1EC 0000000E #Online/Optional/IndicateLocalPlayer/SetLocalPlayerTag.asm $Optional: Debug Input Timings [Fizzi] *Try to debug inputs -C216E774 000000A0 #External/Debug Inputs/InitOnGameStart.asm -4800047C 4E800021 +C216E774 000000A1 #External/Debug Inputs/InitOnGameStart.asm +48000480 4E800021 00000000 41C80000 41C80000 000000FF 000000B4 E2E2E2FF 41200000 41880000 496E7075 7420746F -2052656E 6465723A +20526574 72616365 +3A202575 2075730A +0A00506F 6C6C2043 +6F756E74 3A202575 +0A004D69 6E20506F +6C6C2044 6966663A 20257520 75730A00 -506F6C6C 20436F75 -6E743A20 25750A00 -4D696E20 506F6C6C +4D617820 506F6C6C 20446966 663A2025 -75207573 0A004D61 -7820506F 6C6C2044 -6966663A 20257520 -75730A00 46657463 -682D4665 7463683A -20257520 75730A00 -46657463 682D506F -6C6C3A20 25752075 -730A0000 4E800021 -7C0802A6 90010004 -9421FF50 BE810008 -4BFFFF4D 7FE802A6 -83DF0000 807E0016 -38630001 907E0016 -3D808034 618CC408 -7D8903A6 4E800421 -809E000A 907E000A -7C641850 1C63000C -388002D9 7C632396 -7C7D1B78 807E0016 -5463063F 41820028 -807E005E 7C1D1800 -40800008 93BE005E -807E0062 7C1D1800 -40810008 93BE0062 -4800000C 93BE005E -93BE0062 BA810008 -800100B4 382100B0 -7C0803A6 4E800020 +75207573 0A004665 +7463682D 46657463 +683A2025 75207573 +0A004665 7463682D +506F6C6C 3A202575 +2075730A 00000000 4E800021 7C0802A6 90010004 9421FF50 -BE810008 4BFFFEA9 +BE810008 4BFFFF49 7FE802A6 83DF0000 -83BE0006 887E0000 -2C030001 4082010C -7FA3EB78 3D808030 -618C2BB0 7D8903A6 +807E0016 38630001 +907E0016 3D808034 +618CC408 7D8903A6 +4E800421 809E000A +907E000A 7C641850 +1C63000C 388002D9 +7C632396 7C7D1B78 +807E0016 5463063F +41820028 807E005E +7C1D1800 40800008 +93BE005E 807E0062 +7C1D1800 40810008 +93BE0062 4800000C +93BE005E 93BE0062 +BA810008 800100B4 +382100B0 7C0803A6 +4E800020 4E800021 +7C0802A6 90010004 +9421FF50 BE810008 +4BFFFEA5 7FE802A6 +83DF0000 83BE0006 +887E0000 2C030001 +4082010C 7FA3EB78 +3D808030 618C2BB0 +7D8903A6 4E800421 +7FA3EB78 38800000 +38A00000 3D808030 +618C2A3C 7D8903A6 4E800421 7FA3EB78 -38800000 38A00000 -3D808030 618C2A3C +389F0020 80BE005A +3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F0020 -80BE005A 3D808030 +7FA3EB78 389F003A +80BE0016 3D808030 618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F0038 80BE0016 +389F004A 80BE005E 3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F0048 -80BE005E 3D808030 +7FA3EB78 389F0060 +80BE0062 3D808030 618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F005E 80BE0062 +389F0076 80BE0066 3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F0074 -80BE0066 3D808030 +7FA3EB78 389F008A +80BE006A 3D808030 618C2D4C 7D8903A6 -4E800421 7FA3EB78 -389F0088 80BE006A -3D808030 618C2D4C +4E800421 3C608046 +6063B6A0 88630008 +2C030000 41820020 +807E0012 3D808034 +618C9CBC 7D8903A6 +4E800421 38600002 +987E0000 BA810008 +800100B4 382100B0 +7C0803A6 4E800020 +7C0802A6 90010004 +9421FF50 BE810008 +4BFFFD5D 7FE802A6 +38600020 3D808037 +618CF1E4 7D8903A6 +4E800421 7C681B78 +3860001E 3880FFD5 +38A0FFD6 38C00001 +38E00001 3D808030 +618C2834 7D8903A6 +4E800421 7C7E1B78 +806DB77C 7FC4F378 +3D808030 618C2810 7D8903A6 4E800421 -3C608046 6063B6A0 -88630008 2C030000 -41820020 807E0012 -3D808034 618C9CBC +38600000 987E0026 +7FC3F378 389F000C +3D808030 618C2B90 7D8903A6 4E800421 -38600002 987E0000 +C03F0004 D03E0008 +C03F0008 D03E000C +807F0000 93C30002 BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 -BE810008 4BFFFD61 -7FE802A6 38600020 +BE810008 4BFFFCA1 +7FE802A6 386003E8 3D808037 618CF1E4 7D8903A6 4E800421 -7C681B78 3860001E -3880FFD5 38A0FFD6 -38C00001 38E00001 +7C681B78 3860001F +38800000 38A00000 +38C0001D 38E00008 3D808030 618C2834 7D8903A6 4E800421 7C7E1B78 806DB77C @@ -5796,68 +5820,45 @@ BE810008 4BFFFD61 618C2810 7D8903A6 4E800421 38600000 987E0026 7FC3F378 -389F000C 3D808030 +389F0010 3D808030 618C2B90 7D8903A6 -4E800421 C03F0004 -D03E0008 C03F0008 -D03E000C 807F0000 -93C30002 BA810008 +4E800421 7FC3F378 +C03F0018 C05F001C +3D808030 618C2B10 +7D8903A6 4E800421 +7FC3F378 389F0014 +3D808030 618C2B64 +7D8903A6 4E800421 +7FC3F378 3D808030 +618C2AF0 7D8903A6 +4E800421 807F0000 +93C30006 38600013 +38800014 38A00000 +3D808039 618C01F0 +7D8903A6 4E800421 +4BFFFCFD 7C8802A6 +38A00007 3D808038 +618CFD54 7D8903A6 +4E800421 BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 BE810008 -4BFFFCA5 7FE802A6 -386003E8 3D808037 +3860006E 3D808037 618CF1E4 7D8903A6 -4E800421 7C681B78 -3860001F 38800000 -38A00000 38C0001C -38E00007 3D808030 -618C2834 7D8903A6 -4E800421 7C7E1B78 -806DB77C 7FC4F378 -3D808030 618C2810 -7D8903A6 4E800421 -38600000 987E0026 -7FC3F378 389F0010 -3D808030 618C2B90 -7D8903A6 4E800421 -7FC3F378 C03F0018 -C05F001C 3D808030 -618C2B10 7D8903A6 -4E800421 7FC3F378 -389F0014 3D808030 -618C2B64 7D8903A6 -4E800421 7FC3F378 -3D808030 618C2AF0 -7D8903A6 4E800421 -807F0000 93C30006 -38600013 38800014 -38A00000 3D808039 -618C01F0 7D8903A6 -4E800421 4BFFFCFD -7C8802A6 38A00007 -3D808038 618CFD54 -7D8903A6 4E800421 -BA810008 800100B4 -382100B0 7C0803A6 -4E800020 7C0802A6 -90010004 9421FF50 -BE810008 3860006E -3D808037 618CF1E4 -7D8903A6 4E800421 -4BFFFB65 7C8802A6 -90640000 7C7E1B78 -3880006E 3D808000 -618CC160 7D8903A6 -4E800421 4BFFFDD1 -4BFFFE89 4BFFFBD9 -7C6802A6 907E0012 -3D808034 618C9BF0 +4E800421 4BFFFB61 +7C8802A6 90640000 +7C7E1B78 3880006E +3D808000 618CC160 7D8903A6 4E800421 -BA810008 800100B4 -382100B0 7C0803A6 -C022A8C8 00000000 +4BFFFDD1 4BFFFE89 +4BFFFBD9 7C6802A6 +907E0012 3D808034 +618C9BF0 7D8903A6 +4E800421 BA810008 +800100B4 382100B0 +7C0803A6 C022A8C8 +60000000 00000000 C21A4DEC 00000025 #External/Debug Inputs/LogEngineTime.asm 3C608048 80639D30 5463443E 2C030202 diff --git a/Output/Netplay/GALJ01r2.ini b/Output/Netplay/GALJ01r2.ini index aac441b4..1c1ae01f 100644 --- a/Output/Netplay/GALJ01r2.ini +++ b/Output/Netplay/GALJ01r2.ini @@ -5697,98 +5697,122 @@ C22FD1EC 0000000E #Online/Optional/IndicateLocalPlayer/SetLocalPlayerTag.asm $Optional: Debug Input Timings [Fizzi] *Try to debug inputs -C216E774 000000A0 #External/Debug Inputs/InitOnGameStart.asm -4800047C 4E800021 +C216E774 000000A1 #External/Debug Inputs/InitOnGameStart.asm +48000480 4E800021 00000000 41C80000 41C80000 000000FF 000000B4 E2E2E2FF 41200000 41880000 496E7075 7420746F -2052656E 6465723A +20526574 72616365 +3A202575 2075730A +0A00506F 6C6C2043 +6F756E74 3A202575 +0A004D69 6E20506F +6C6C2044 6966663A 20257520 75730A00 -506F6C6C 20436F75 -6E743A20 25750A00 -4D696E20 506F6C6C +4D617820 506F6C6C 20446966 663A2025 -75207573 0A004D61 -7820506F 6C6C2044 -6966663A 20257520 -75730A00 46657463 -682D4665 7463683A -20257520 75730A00 -46657463 682D506F -6C6C3A20 25752075 -730A0000 4E800021 -7C0802A6 90010004 -9421FF50 BE810008 -4BFFFF4D 7FE802A6 -83DF0000 807E0016 -38630001 907E0016 -3D808034 618CC408 -7D8903A6 4E800421 -809E000A 907E000A -7C641850 1C63000C -388002D9 7C632396 -7C7D1B78 807E0016 -5463063F 41820028 -807E005E 7C1D1800 -40800008 93BE005E -807E0062 7C1D1800 -40810008 93BE0062 -4800000C 93BE005E -93BE0062 BA810008 -800100B4 382100B0 -7C0803A6 4E800020 +75207573 0A004665 +7463682D 46657463 +683A2025 75207573 +0A004665 7463682D +506F6C6C 3A202575 +2075730A 00000000 4E800021 7C0802A6 90010004 9421FF50 -BE810008 4BFFFEA9 +BE810008 4BFFFF49 7FE802A6 83DF0000 -83BE0006 887E0000 -2C030001 4082010C -7FA3EB78 3D808030 -618C2BB0 7D8903A6 +807E0016 38630001 +907E0016 3D808034 +618CC408 7D8903A6 +4E800421 809E000A +907E000A 7C641850 +1C63000C 388002D9 +7C632396 7C7D1B78 +807E0016 5463063F +41820028 807E005E +7C1D1800 40800008 +93BE005E 807E0062 +7C1D1800 40810008 +93BE0062 4800000C +93BE005E 93BE0062 +BA810008 800100B4 +382100B0 7C0803A6 +4E800020 4E800021 +7C0802A6 90010004 +9421FF50 BE810008 +4BFFFEA5 7FE802A6 +83DF0000 83BE0006 +887E0000 2C030001 +4082010C 7FA3EB78 +3D808030 618C2BB0 +7D8903A6 4E800421 +7FA3EB78 38800000 +38A00000 3D808030 +618C2A3C 7D8903A6 4E800421 7FA3EB78 -38800000 38A00000 -3D808030 618C2A3C +389F0020 80BE005A +3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F0020 -80BE005A 3D808030 +7FA3EB78 389F003A +80BE0016 3D808030 618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F0038 80BE0016 +389F004A 80BE005E 3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F0048 -80BE005E 3D808030 +7FA3EB78 389F0060 +80BE0062 3D808030 618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F005E 80BE0062 +389F0076 80BE0066 3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F0074 -80BE0066 3D808030 +7FA3EB78 389F008A +80BE006A 3D808030 618C2D4C 7D8903A6 -4E800421 7FA3EB78 -389F0088 80BE006A -3D808030 618C2D4C +4E800421 3C608046 +6063B6A0 88630008 +2C030000 41820020 +807E0012 3D808034 +618C9CBC 7D8903A6 +4E800421 38600002 +987E0000 BA810008 +800100B4 382100B0 +7C0803A6 4E800020 +7C0802A6 90010004 +9421FF50 BE810008 +4BFFFD5D 7FE802A6 +38600020 3D808037 +618CF1E4 7D8903A6 +4E800421 7C681B78 +3860001E 3880FFD5 +38A0FFD6 38C00001 +38E00001 3D808030 +618C2834 7D8903A6 +4E800421 7C7E1B78 +806DB77C 7FC4F378 +3D808030 618C2810 7D8903A6 4E800421 -3C608046 6063B6A0 -88630008 2C030000 -41820020 807E0012 -3D808034 618C9CBC +38600000 987E0026 +7FC3F378 389F000C +3D808030 618C2B90 7D8903A6 4E800421 -38600002 987E0000 +C03F0004 D03E0008 +C03F0008 D03E000C +807F0000 93C30002 BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 -BE810008 4BFFFD61 -7FE802A6 38600020 +BE810008 4BFFFCA1 +7FE802A6 386003E8 3D808037 618CF1E4 7D8903A6 4E800421 -7C681B78 3860001E -3880FFD5 38A0FFD6 -38C00001 38E00001 +7C681B78 3860001F +38800000 38A00000 +38C0001D 38E00008 3D808030 618C2834 7D8903A6 4E800421 7C7E1B78 806DB77C @@ -5796,68 +5820,45 @@ BE810008 4BFFFD61 618C2810 7D8903A6 4E800421 38600000 987E0026 7FC3F378 -389F000C 3D808030 +389F0010 3D808030 618C2B90 7D8903A6 -4E800421 C03F0004 -D03E0008 C03F0008 -D03E000C 807F0000 -93C30002 BA810008 +4E800421 7FC3F378 +C03F0018 C05F001C +3D808030 618C2B10 +7D8903A6 4E800421 +7FC3F378 389F0014 +3D808030 618C2B64 +7D8903A6 4E800421 +7FC3F378 3D808030 +618C2AF0 7D8903A6 +4E800421 807F0000 +93C30006 38600013 +38800014 38A00000 +3D808039 618C01F0 +7D8903A6 4E800421 +4BFFFCFD 7C8802A6 +38A00007 3D808038 +618CFD54 7D8903A6 +4E800421 BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 BE810008 -4BFFFCA5 7FE802A6 -386003E8 3D808037 +3860006E 3D808037 618CF1E4 7D8903A6 -4E800421 7C681B78 -3860001F 38800000 -38A00000 38C0001C -38E00007 3D808030 -618C2834 7D8903A6 -4E800421 7C7E1B78 -806DB77C 7FC4F378 -3D808030 618C2810 -7D8903A6 4E800421 -38600000 987E0026 -7FC3F378 389F0010 -3D808030 618C2B90 -7D8903A6 4E800421 -7FC3F378 C03F0018 -C05F001C 3D808030 -618C2B10 7D8903A6 -4E800421 7FC3F378 -389F0014 3D808030 -618C2B64 7D8903A6 -4E800421 7FC3F378 -3D808030 618C2AF0 -7D8903A6 4E800421 -807F0000 93C30006 -38600013 38800014 -38A00000 3D808039 -618C01F0 7D8903A6 -4E800421 4BFFFCFD -7C8802A6 38A00007 -3D808038 618CFD54 -7D8903A6 4E800421 -BA810008 800100B4 -382100B0 7C0803A6 -4E800020 7C0802A6 -90010004 9421FF50 -BE810008 3860006E -3D808037 618CF1E4 -7D8903A6 4E800421 -4BFFFB65 7C8802A6 -90640000 7C7E1B78 -3880006E 3D808000 -618CC160 7D8903A6 -4E800421 4BFFFDD1 -4BFFFE89 4BFFFBD9 -7C6802A6 907E0012 -3D808034 618C9BF0 +4E800421 4BFFFB61 +7C8802A6 90640000 +7C7E1B78 3880006E +3D808000 618CC160 7D8903A6 4E800421 -BA810008 800100B4 -382100B0 7C0803A6 -C022A8C8 00000000 +4BFFFDD1 4BFFFE89 +4BFFFBD9 7C6802A6 +907E0012 3D808034 +618C9BF0 7D8903A6 +4E800421 BA810008 +800100B4 382100B0 +7C0803A6 C022A8C8 +60000000 00000000 C21A4DEC 00000025 #External/Debug Inputs/LogEngineTime.asm 3C608048 80639D30 5463443E 2C030202 From 3ceffc72fb5eebe7f2fa2129891ab98eaa982a5e Mon Sep 17 00:00:00 2001 From: Jas Laferriere Date: Thu, 10 Jun 2021 18:07:26 -0700 Subject: [PATCH 09/16] adjust color indicator position and size --- External/Debug Inputs/DebugInputs.s | 2 +- External/Debug Inputs/InitOnGameStart.asm | 6 +- Output/Console/GALE01r2.ini | 251 +++++++++++----------- Output/Console/g_core.bin | Bin 8240 -> 8248 bytes Output/Console/g_core_porta.bin | Bin 8240 -> 8248 bytes Output/Netplay/GALE01r2.ini | 21 +- Output/Netplay/GALJ01r2.ini | 21 +- console_core.json | 6 +- netplay.json | 11 +- 9 files changed, 163 insertions(+), 155 deletions(-) diff --git a/External/Debug Inputs/DebugInputs.s b/External/Debug Inputs/DebugInputs.s index 90fb1b6e..a9946098 100644 --- a/External/Debug Inputs/DebugInputs.s +++ b/External/Debug Inputs/DebugInputs.s @@ -38,7 +38,7 @@ stb \reg, \offset(\reg_address) .macro calcDiffUs reg_now, reg_ref sub r3, \reg_now, \reg_ref # This works even if ticks overflow mulli r3, r3, 12 -li r4, 729 # This is the MHz of the PPC clock. 729 in Nintendont, 486 otherwise +li r4, 486 # This is the MHz of the PPC clock. 729 in Nintendont, 486 otherwise divwu r3, r3, r4 .endm diff --git a/External/Debug Inputs/InitOnGameStart.asm b/External/Debug Inputs/InitOnGameStart.asm index e3768868..37a6df04 100644 --- a/External/Debug Inputs/InitOnGameStart.asm +++ b/External/Debug Inputs/InitOnGameStart.asm @@ -12,7 +12,7 @@ blrl .set DO_DIB_ADDR, 0 .long 0 # Buffer .set DO_CS_X_SCALE, DO_DIB_ADDR + 4 -.float 25 +.float 200 .set DO_CS_Y_SCALE, DO_CS_X_SCALE + 4 .float 25 .set DO_CS_COLOR, DO_CS_Y_SCALE + 4 @@ -191,8 +191,8 @@ li r3, 32 branchl r12, HSD_MemAlloc mr r8, r3 li r3, 30 # ID -li r4, -43 # X Pos, bottom right: 638 -li r5, -42 # Y Pos, bottom right: 478 +li r4, -210 # X Pos, bottom right: 638 +li r5, -40 # Y Pos, bottom right: 478 li r6, 1 li r7, 1 branchl r12, 0x80302834 # DevelopText_CreateDataTable diff --git a/Output/Console/GALE01r2.ini b/Output/Console/GALE01r2.ini index a676095f..6f7fca34 100644 --- a/Output/Console/GALE01r2.ini +++ b/Output/Console/GALE01r2.ini @@ -772,169 +772,170 @@ BA810008 800100B4 4E800020 00000000 04005600 801910E0 #Common/ConsoleOverrides/SetGeckoStart.asm -$Optional: Debug Input Timings [Fizzi] -*Try to debug inputs -C216E774 000000A0 #External/Debug Inputs/InitOnGameStart.asm -4800047C 4E800021 -00000000 41C80000 +$Optional: Debug Game-Side Latency (Not Nintendont) [Fizzi] +*Shows latency information on screen while in-game. To be used on native GC/Wii. +C216E774 000000A1 #External/Debug Inputs/InitOnGameStart.asm +48000480 4E800021 +00000000 43480000 41C80000 000000FF 000000B4 E2E2E2FF 41200000 41880000 496E7075 7420746F -2052656E 6465723A +20526574 72616365 +3A202575 2075730A +0A00506F 6C6C2043 +6F756E74 3A202575 +0A004D69 6E20506F +6C6C2044 6966663A 20257520 75730A00 -506F6C6C 20436F75 -6E743A20 25750A00 -4D696E20 506F6C6C +4D617820 506F6C6C 20446966 663A2025 -75207573 0A004D61 -7820506F 6C6C2044 -6966663A 20257520 -75730A00 46657463 -682D4665 7463683A -20257520 75730A00 -46657463 682D506F -6C6C3A20 25752075 -730A0000 4E800021 -7C0802A6 90010004 -9421FF50 BE810008 -4BFFFF4D 7FE802A6 -83DF0000 807E0016 -38630001 907E0016 -3D808034 618CC408 -7D8903A6 4E800421 -809E000A 907E000A -7C641850 1C63000C -388002D9 7C632396 -7C7D1B78 807E0016 -5463063F 41820028 -807E005E 7C1D1800 -40800008 93BE005E -807E0062 7C1D1800 -40810008 93BE0062 -4800000C 93BE005E -93BE0062 BA810008 -800100B4 382100B0 -7C0803A6 4E800020 +75207573 0A004665 +7463682D 46657463 +683A2025 75207573 +0A004665 7463682D +506F6C6C 3A202575 +2075730A 00000000 4E800021 7C0802A6 90010004 9421FF50 -BE810008 4BFFFEA9 +BE810008 4BFFFF49 7FE802A6 83DF0000 -83BE0006 887E0000 -2C030001 4082010C -7FA3EB78 3D808030 -618C2BB0 7D8903A6 -4E800421 7FA3EB78 -38800000 38A00000 -3D808030 618C2A3C +807E0016 38630001 +907E0016 3D808034 +618CC408 7D8903A6 +4E800421 809E000A +907E000A 7C641850 +1C63000C 388001E6 +7C632396 7C7D1B78 +807E0016 5463063F +41820028 807E005E +7C1D1800 40800008 +93BE005E 807E0062 +7C1D1800 40810008 +93BE0062 4800000C +93BE005E 93BE0062 +BA810008 800100B4 +382100B0 7C0803A6 +4E800020 4E800021 +7C0802A6 90010004 +9421FF50 BE810008 +4BFFFEA5 7FE802A6 +83DF0000 83BE0006 +887E0000 2C030001 +4082010C 7FA3EB78 +3D808030 618C2BB0 7D8903A6 4E800421 -7FA3EB78 389F0020 -80BE005A 3D808030 -618C2D4C 7D8903A6 +7FA3EB78 38800000 +38A00000 3D808030 +618C2A3C 7D8903A6 4E800421 7FA3EB78 -389F0038 80BE0016 +389F0020 80BE005A 3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F0048 -80BE005E 3D808030 +7FA3EB78 389F003A +80BE0016 3D808030 618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F005E 80BE0062 +389F004A 80BE005E 3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F0074 -80BE0066 3D808030 +7FA3EB78 389F0060 +80BE0062 3D808030 618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F0088 80BE006A +389F0076 80BE0066 3D808030 618C2D4C 7D8903A6 4E800421 -3C608046 6063B6A0 -88630008 2C030000 -41820020 807E0012 -3D808034 618C9CBC -7D8903A6 4E800421 -38600002 987E0000 -BA810008 800100B4 -382100B0 7C0803A6 -4E800020 7C0802A6 -90010004 9421FF50 -BE810008 4BFFFD61 -7FE802A6 38600020 -3D808037 618CF1E4 -7D8903A6 4E800421 -7C681B78 3860001E -3880FFD5 38A0FFD6 -38C00001 38E00001 -3D808030 618C2834 -7D8903A6 4E800421 -7C7E1B78 806DB77C -7FC4F378 3D808030 -618C2810 7D8903A6 -4E800421 38600000 -987E0026 7FC3F378 -389F000C 3D808030 -618C2B90 7D8903A6 -4E800421 C03F0004 -D03E0008 C03F0008 -D03E000C 807F0000 -93C30002 BA810008 +7FA3EB78 389F008A +80BE006A 3D808030 +618C2D4C 7D8903A6 +4E800421 3C608046 +6063B6A0 88630008 +2C030000 41820020 +807E0012 3D808034 +618C9CBC 7D8903A6 +4E800421 38600002 +987E0000 BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 BE810008 -4BFFFCA5 7FE802A6 -386003E8 3D808037 +4BFFFD5D 7FE802A6 +38600020 3D808037 618CF1E4 7D8903A6 4E800421 7C681B78 -3860001F 38800000 -38A00000 38C0001C -38E00007 3D808030 +3860001E 3880FF2E +38A0FFD8 38C00001 +38E00001 3D808030 618C2834 7D8903A6 4E800421 7C7E1B78 806DB77C 7FC4F378 3D808030 618C2810 7D8903A6 4E800421 38600000 987E0026 -7FC3F378 389F0010 +7FC3F378 389F000C 3D808030 618C2B90 7D8903A6 4E800421 -7FC3F378 C03F0018 -C05F001C 3D808030 -618C2B10 7D8903A6 -4E800421 7FC3F378 -389F0014 3D808030 -618C2B64 7D8903A6 -4E800421 7FC3F378 -3D808030 618C2AF0 -7D8903A6 4E800421 -807F0000 93C30006 -38600013 38800014 -38A00000 3D808039 -618C01F0 7D8903A6 -4E800421 4BFFFCFD -7C8802A6 38A00007 -3D808038 618CFD54 -7D8903A6 4E800421 +C03F0004 D03E0008 +C03F0008 D03E000C +807F0000 93C30002 BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 -BE810008 3860006E +BE810008 4BFFFCA1 +7FE802A6 386003E8 3D808037 618CF1E4 7D8903A6 4E800421 -4BFFFB65 7C8802A6 -90640000 7C7E1B78 -3880006E 3D808000 -618CC160 7D8903A6 -4E800421 4BFFFDD1 -4BFFFE89 4BFFFBD9 -7C6802A6 907E0012 -3D808034 618C9BF0 +7C681B78 3860001F +38800000 38A00000 +38C0001D 38E00008 +3D808030 618C2834 7D8903A6 4E800421 -BA810008 800100B4 -382100B0 7C0803A6 -C022A8C8 00000000 +7C7E1B78 806DB77C +7FC4F378 3D808030 +618C2810 7D8903A6 +4E800421 38600000 +987E0026 7FC3F378 +389F0010 3D808030 +618C2B90 7D8903A6 +4E800421 7FC3F378 +C03F0018 C05F001C +3D808030 618C2B10 +7D8903A6 4E800421 +7FC3F378 389F0014 +3D808030 618C2B64 +7D8903A6 4E800421 +7FC3F378 3D808030 +618C2AF0 7D8903A6 +4E800421 807F0000 +93C30006 38600013 +38800014 38A00000 +3D808039 618C01F0 +7D8903A6 4E800421 +4BFFFCFD 7C8802A6 +38A00007 3D808038 +618CFD54 7D8903A6 +4E800421 BA810008 +800100B4 382100B0 +7C0803A6 4E800020 +7C0802A6 90010004 +9421FF50 BE810008 +3860006E 3D808037 +618CF1E4 7D8903A6 +4E800421 4BFFFB61 +7C8802A6 90640000 +7C7E1B78 3880006E +3D808000 618CC160 +7D8903A6 4E800421 +4BFFFDD1 4BFFFE89 +4BFFFBD9 7C6802A6 +907E0012 3D808034 +618C9BF0 7D8903A6 +4E800421 BA810008 +800100B4 382100B0 +7C0803A6 C022A8C8 +60000000 00000000 C21A4DEC 00000025 #External/Debug Inputs/LogEngineTime.asm 3C608048 80639D30 5463443E 2C030202 @@ -959,7 +960,7 @@ BE810008 3D808034 4E800421 1C9C0004 3884001A 7C9F202E 7C641850 1C63000C -388002D9 7C632396 +388001E6 7C632396 7C7D1B78 807F0002 9B810038 9B810039 9B81003A 80810038 @@ -999,7 +1000,7 @@ C2375C14 00000021 #External/Debug Inputs/LogFrameScanoutStart.asm 7D8903A6 4E800421 1C9C0004 3884001A 7C9F202E 7C641850 -1C63000C 388002D9 +1C63000C 388001E6 7C632396 7C7D1B78 93BF005A 7FC3F378 3D808034 618C738C @@ -1038,10 +1039,10 @@ C2376A88 00000028 #External/Debug Inputs/StoreCaptureTimes.asm 4E800421 7C7D1B78 809F000E 93BF000E 7C64E850 1C63000C -388002D9 7C632396 +388001E6 7C632396 907F0066 807F000A 7C63E850 1C63000C -388002D9 7C632396 +388001E6 7C632396 907F006A 7FC3F378 3D808034 618C738C 7D8903A6 4E800421 diff --git a/Output/Console/g_core.bin b/Output/Console/g_core.bin index 18f8062d19d6310b1e3aec4d8a535263f2133387..7878dccd0b5ef9620b89a41441fb2fdf23d923fe 100644 GIT binary patch delta 208 zcmdnsu)|@)a&i8J9tj<>(&E*{l`~`xwL~CrFC3dH`8*AQofXP~ZRn=YvGE diff --git a/Output/Console/g_core_porta.bin b/Output/Console/g_core_porta.bin index ea972a9d178ba644b12732b168003dead5085318..6102d580e2359e5baf236ff44a2c378d1ad10675 100644 GIT binary patch delta 208 zcmdnsu)|@)a&i8J9tj<>(&E*{l`~`xwL~CrFC3dH`8*AQofXP~ZRn=YvGE diff --git a/Output/Netplay/GALE01r2.ini b/Output/Netplay/GALE01r2.ini index ef245c50..2c1f8b2b 100644 --- a/Output/Netplay/GALE01r2.ini +++ b/Output/Netplay/GALE01r2.ini @@ -5695,11 +5695,11 @@ C22FD1EC 0000000E #Online/Optional/IndicateLocalPlayer/SetLocalPlayerTag.asm 7D8903A6 4E800421 60000000 00000000 -$Optional: Debug Input Timings [Fizzi] -*Try to debug inputs +$Optional: Debug Game-Side Latency [Fizzi] +*Shows latency information on screen while in-game C216E774 000000A1 #External/Debug Inputs/InitOnGameStart.asm 48000480 4E800021 -00000000 41C80000 +00000000 43480000 41C80000 000000FF 000000B4 E2E2E2FF 41200000 41880000 @@ -5728,7 +5728,7 @@ BE810008 4BFFFF49 618CC408 7D8903A6 4E800421 809E000A 907E000A 7C641850 -1C63000C 388002D9 +1C63000C 388001E6 7C632396 7C7D1B78 807E0016 5463063F 41820028 807E005E @@ -5787,8 +5787,8 @@ BA810008 800100B4 38600020 3D808037 618CF1E4 7D8903A6 4E800421 7C681B78 -3860001E 3880FFD5 -38A0FFD6 38C00001 +3860001E 3880FF2E +38A0FFD8 38C00001 38E00001 3D808030 618C2834 7D8903A6 4E800421 7C7E1B78 @@ -5883,7 +5883,7 @@ BE810008 3D808034 4E800421 1C9C0004 3884001A 7C9F202E 7C641850 1C63000C -388002D9 7C632396 +388001E6 7C632396 7C7D1B78 807F0002 9B810038 9B810039 9B81003A 80810038 @@ -5923,7 +5923,7 @@ C2375C14 00000021 #External/Debug Inputs/LogFrameScanoutStart.asm 7D8903A6 4E800421 1C9C0004 3884001A 7C9F202E 7C641850 -1C63000C 388002D9 +1C63000C 388001E6 7C632396 7C7D1B78 93BF005A 7FC3F378 3D808034 618C738C @@ -5962,16 +5962,17 @@ C2376A88 00000028 #External/Debug Inputs/StoreCaptureTimes.asm 4E800421 7C7D1B78 809F000E 93BF000E 7C64E850 1C63000C -388002D9 7C632396 +388001E6 7C632396 907F0066 807F000A 7C63E850 1C63000C -388002D9 7C632396 +388001E6 7C632396 907F006A 7FC3F378 3D808034 618C738C 7D8903A6 4E800421 BA810008 800100B4 382100B0 7C0803A6 881F0002 00000000 +041BFA20 38600002 #External/Boot to CSS/Boot To CSS.asm $Optional: PD+VB [taukhan] *PD+VB diff --git a/Output/Netplay/GALJ01r2.ini b/Output/Netplay/GALJ01r2.ini index 1c1ae01f..966b4067 100644 --- a/Output/Netplay/GALJ01r2.ini +++ b/Output/Netplay/GALJ01r2.ini @@ -5695,11 +5695,11 @@ C22FD1EC 0000000E #Online/Optional/IndicateLocalPlayer/SetLocalPlayerTag.asm 7D8903A6 4E800421 60000000 00000000 -$Optional: Debug Input Timings [Fizzi] -*Try to debug inputs +$Optional: Debug Game-Side Latency [Fizzi] +*Shows latency information on screen while in-game C216E774 000000A1 #External/Debug Inputs/InitOnGameStart.asm 48000480 4E800021 -00000000 41C80000 +00000000 43480000 41C80000 000000FF 000000B4 E2E2E2FF 41200000 41880000 @@ -5728,7 +5728,7 @@ BE810008 4BFFFF49 618CC408 7D8903A6 4E800421 809E000A 907E000A 7C641850 -1C63000C 388002D9 +1C63000C 388001E6 7C632396 7C7D1B78 807E0016 5463063F 41820028 807E005E @@ -5787,8 +5787,8 @@ BA810008 800100B4 38600020 3D808037 618CF1E4 7D8903A6 4E800421 7C681B78 -3860001E 3880FFD5 -38A0FFD6 38C00001 +3860001E 3880FF2E +38A0FFD8 38C00001 38E00001 3D808030 618C2834 7D8903A6 4E800421 7C7E1B78 @@ -5883,7 +5883,7 @@ BE810008 3D808034 4E800421 1C9C0004 3884001A 7C9F202E 7C641850 1C63000C -388002D9 7C632396 +388001E6 7C632396 7C7D1B78 807F0002 9B810038 9B810039 9B81003A 80810038 @@ -5923,7 +5923,7 @@ C2375C14 00000021 #External/Debug Inputs/LogFrameScanoutStart.asm 7D8903A6 4E800421 1C9C0004 3884001A 7C9F202E 7C641850 -1C63000C 388002D9 +1C63000C 388001E6 7C632396 7C7D1B78 93BF005A 7FC3F378 3D808034 618C738C @@ -5962,16 +5962,17 @@ C2376A88 00000028 #External/Debug Inputs/StoreCaptureTimes.asm 4E800421 7C7D1B78 809F000E 93BF000E 7C64E850 1C63000C -388002D9 7C632396 +388001E6 7C632396 907F0066 807F000A 7C63E850 1C63000C -388002D9 7C632396 +388001E6 7C632396 907F006A 7FC3F378 3D808034 618C738C 7D8903A6 4E800421 BA810008 800100B4 382100B0 7C0803A6 881F0002 00000000 +041BFA20 38600002 #External/Boot to CSS/Boot To CSS.asm $Optional: PD+VB [taukhan] *PD+VB diff --git a/console_core.json b/console_core.json index 5b7a8426..5e90e675 100644 --- a/console_core.json +++ b/console_core.json @@ -178,19 +178,19 @@ ] }, { - "name": "Optional: Debug Input Timings", + "name": "Optional: Debug Game-Side Latency (Not Nintendont)", "authors": [ "Fizzi" ], "description": [ - "Try to debug inputs" + "Shows latency information on screen while in-game. To be used on native GC/Wii." ], "build": [ { "type": "injectFolder", "sourceFolder": "External/Debug Inputs", "isRecursive": true, - "annotation": "Debug Inputs" + "annotation": "Shows latency information on screen while in-game" } ] } diff --git a/netplay.json b/netplay.json index 09d4ac02..e89dc647 100644 --- a/netplay.json +++ b/netplay.json @@ -466,19 +466,24 @@ ] }, { - "name": "Optional: Debug Input Timings", + "name": "Optional: Debug Game-Side Latency", "authors": [ "Fizzi" ], "description": [ - "Try to debug inputs" + "Shows latency information on screen while in-game" ], "build": [ { "type": "injectFolder", "sourceFolder": "External/Debug Inputs", "isRecursive": true, - "annotation": "Debug Inputs" + "annotation": "Shows latency information on screen while in-game" + }, + { + "type": "injectFolder", + "sourceFolder": "External/Boot to CSS", + "isRecursive": true } ] }, From ef49a5af3888fbcbfda32d72904f845db7e9875e Mon Sep 17 00:00:00 2001 From: Jas Laferriere Date: Fri, 11 Jun 2021 01:14:34 -0700 Subject: [PATCH 10/16] divide ticks by CPU speed fetched from memory --- External/Debug Inputs/DebugInputs.s | 7 ++++++- console_core.json | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/External/Debug Inputs/DebugInputs.s b/External/Debug Inputs/DebugInputs.s index a9946098..e5469e64 100644 --- a/External/Debug Inputs/DebugInputs.s +++ b/External/Debug Inputs/DebugInputs.s @@ -38,7 +38,12 @@ stb \reg, \offset(\reg_address) .macro calcDiffUs reg_now, reg_ref sub r3, \reg_now, \reg_ref # This works even if ticks overflow mulli r3, r3, 12 -li r4, 486 # This is the MHz of the PPC clock. 729 in Nintendont, 486 otherwise +lis r4, 0x8000 +ori r4, r4, 0x00FC +lwz r4, 0(r4) # Grab CPU speed so that this works on Nintendont (729MHz) and GC/Wii (486MHz) +li r5, 1000 +divwu r4, r4, r5 +divwu r4, r4, r5 # Divide by 1000 twice because I can't li 1000000 divwu r3, r3, r4 .endm diff --git a/console_core.json b/console_core.json index 5e90e675..2b6b7e1d 100644 --- a/console_core.json +++ b/console_core.json @@ -178,12 +178,12 @@ ] }, { - "name": "Optional: Debug Game-Side Latency (Not Nintendont)", + "name": "Optional: Debug Game-Side Latency", "authors": [ "Fizzi" ], "description": [ - "Shows latency information on screen while in-game. To be used on native GC/Wii." + "Shows latency information on screen while in-game" ], "build": [ { From 08661491a0633842cfa00448bcf15f2c6e960333 Mon Sep 17 00:00:00 2001 From: Jas Laferriere Date: Fri, 11 Jun 2021 02:10:57 -0700 Subject: [PATCH 11/16] attempt to add compatibility for 0.5f code --- Binary/LagReduction/PD+VB.bin | Bin 112 -> 416 bytes External/Debug Inputs/InitOnGameStart.asm | 53 +-- External/Debug Inputs/LogPollInterrupt.asm | 74 ++++ Output/Console/GALE01r2.ini | 314 +++++++++-------- Output/Console/g_core.bin | Bin 8248 -> 8472 bytes Output/Console/g_core_porta.bin | Bin 8248 -> 8472 bytes Output/Console/g_lag_pdvb.bin | Bin 168 -> 472 bytes Output/Netplay/GALE01r2.ini | 374 ++++++++++++--------- Output/Netplay/GALJ01r2.ini | 374 ++++++++++++--------- 9 files changed, 689 insertions(+), 500 deletions(-) create mode 100644 External/Debug Inputs/LogPollInterrupt.asm diff --git a/Binary/LagReduction/PD+VB.bin b/Binary/LagReduction/PD+VB.bin index 10a2c67350251fbc38c79f503d5adb83a298ce87..7425eb1dc277d2ec8d536af5e6e6ee944fda2a61 100644 GIT binary patch literal 416 zcmX>kIu=Hi40WWs2heA0T%%G%fpJ(Zawu0Z8kxfZZ+vbSqbIKci@sL5bj2GRRs z3QVs}LW2iTy_5xu+ZT%lgnL;;n=(!)H7qz}@;U+NZcw;_!jjRU0T`A*5s-aAz0MX5 eKs#GP|7>X1a)OF~0Qm`|2?SUyD=It~n0NpwYk`IU literal 112 zcmZRP@=-b9G^>V%aYl?yLW2*GPMD}HA9Kh&i2(?hb!7klcWh$d@L*uzn7rsnH}s2Bw1nIt>5+TL1+n0NJ(;4N{3c0Ts2K%*%Y6SQLQ53@nPh87Gt) F7yz$g9zy^C diff --git a/External/Debug Inputs/InitOnGameStart.asm b/External/Debug Inputs/InitOnGameStart.asm index 37a6df04..edc7e09f 100644 --- a/External/Debug Inputs/InitOnGameStart.asm +++ b/External/Debug Inputs/InitOnGameStart.asm @@ -42,58 +42,13 @@ blrl ################################################################################ # Function: PollingHandler ################################################################################ -.set REG_DATA, 31 -.set REG_DIB, 30 -.set REG_DIFF_SINCE_LAST, 29 - FN_BLRL_PollingHandler: blrl -backup -bl DATA_BLRL -mflr REG_DATA -lwz REG_DIB, DO_DIB_ADDR(REG_DATA) -lwz r3, DIB_CALLBACK_COUNT(REG_DIB) -addi r3, r3, 1 -stw r3, DIB_CALLBACK_COUNT(REG_DIB) - -# Write poll time -branchl r12, 0x8034c408 # OSGetTick -lwz r4, DIB_LAST_POLL_TIME(REG_DIB) -stw r3, DIB_LAST_POLL_TIME(REG_DIB) -calcDiffUs r3, r4 # Calculate difference since last poll -mr REG_DIFF_SINCE_LAST, r3 - -# Store min/max diff for logging -lwz r3, DIB_CALLBACK_COUNT(REG_DIB) -rlwinm. r3, r3, 0, 0xFF -beq FN_PollingHandler_RESET_MIN_MAX # Reset every 256 polls, 2 seconds? - -lwz r3, DIB_POLL_DIFF_MIN_US(REG_DIB) -cmpw REG_DIFF_SINCE_LAST, r3 -bge FN_PollingHandler_SKIP_ADJUST_MIN -stw REG_DIFF_SINCE_LAST, DIB_POLL_DIFF_MIN_US(REG_DIB) -FN_PollingHandler_SKIP_ADJUST_MIN: - -lwz r3, DIB_POLL_DIFF_MAX_US(REG_DIB) -cmpw REG_DIFF_SINCE_LAST, r3 -ble FN_PollingHandler_SKIP_ADJUST_MAX -stw REG_DIFF_SINCE_LAST, DIB_POLL_DIFF_MAX_US(REG_DIB) -FN_PollingHandler_SKIP_ADJUST_MAX: - -b FN_PollingHandler_MIN_MAX_END - -FN_PollingHandler_RESET_MIN_MAX: -stw REG_DIFF_SINCE_LAST, DIB_POLL_DIFF_MIN_US(REG_DIB) -stw REG_DIFF_SINCE_LAST, DIB_POLL_DIFF_MAX_US(REG_DIB) -FN_PollingHandler_MIN_MAX_END: - -# li r4, 486 -# divwu r4, r3, r4 -# mulli r4, r4, 12 -# logf "POLL %u" - -restore +# This is only here to trigger the interrupt. The actual logic will happen in LogPollInterrupt.asm +# I modified it to work this way such that the poll time is logged before any poll handlers +# run in case the PadRenewRaw is called is a side effect of a poll handler such as is the case +# with tau's 0.5f lag reduction code blr ################################################################################ diff --git a/External/Debug Inputs/LogPollInterrupt.asm b/External/Debug Inputs/LogPollInterrupt.asm new file mode 100644 index 00000000..818b87df --- /dev/null +++ b/External/Debug Inputs/LogPollInterrupt.asm @@ -0,0 +1,74 @@ +################################################################################ +# Address: 0x80349a28 # SIInterruptHandler +################################################################################ + +.include "Common/Common.s" +.include "./DebugInputs.s" + +# Check if VS Mode +getMinorMajor r3 +cmpwi r3, 0x0202 +bne EXIT + +load r3, 0x80479d64 +lwz r3, 0x0(r3) # 0x80479d64 - Believed to be some loading state +cmpwi r3, 0 # Loading state should be zero when game starts +bne EXIT + +.set REG_DIB, 31 +.set REG_INTERRUPTS, 30 +.set REG_DIFF_SINCE_LAST, 29 + +backup + +branchl r12, OSDisableInterrupts +mr REG_INTERRUPTS, r3 + +# Fetch DIB +computeBranchTargetAddress r3, INJ_InitDebugInputs +lwz REG_DIB, 8+0(r3) + +lwz r3, DIB_CALLBACK_COUNT(REG_DIB) +addi r3, r3, 1 +stw r3, DIB_CALLBACK_COUNT(REG_DIB) + +# Write poll time +branchl r12, 0x8034c408 # OSGetTick +lwz r4, DIB_LAST_POLL_TIME(REG_DIB) +stw r3, DIB_LAST_POLL_TIME(REG_DIB) +calcDiffUs r3, r4 # Calculate difference since last poll +mr REG_DIFF_SINCE_LAST, r3 + +# Store min/max diff for logging +lwz r3, DIB_CALLBACK_COUNT(REG_DIB) +rlwinm. r3, r3, 0, 0xFF +beq FN_PollingHandler_RESET_MIN_MAX # Reset every 256 polls, 2 seconds? + +lwz r3, DIB_POLL_DIFF_MIN_US(REG_DIB) +cmpw REG_DIFF_SINCE_LAST, r3 +bge FN_PollingHandler_SKIP_ADJUST_MIN +stw REG_DIFF_SINCE_LAST, DIB_POLL_DIFF_MIN_US(REG_DIB) +FN_PollingHandler_SKIP_ADJUST_MIN: + +lwz r3, DIB_POLL_DIFF_MAX_US(REG_DIB) +cmpw REG_DIFF_SINCE_LAST, r3 +ble FN_PollingHandler_SKIP_ADJUST_MAX +stw REG_DIFF_SINCE_LAST, DIB_POLL_DIFF_MAX_US(REG_DIB) +FN_PollingHandler_SKIP_ADJUST_MAX: + +b FN_PollingHandler_MIN_MAX_END + +FN_PollingHandler_RESET_MIN_MAX: +stw REG_DIFF_SINCE_LAST, DIB_POLL_DIFF_MIN_US(REG_DIB) +stw REG_DIFF_SINCE_LAST, DIB_POLL_DIFF_MAX_US(REG_DIB) +FN_PollingHandler_MIN_MAX_END: + +# Restore interrupts +mr r3, REG_INTERRUPTS +branchl r12, OSRestoreInterrupts + +RESTORE_AND_EXIT: +restore + +EXIT: +lwz r5, 0(r24) # Replaced codeline \ No newline at end of file diff --git a/Output/Console/GALE01r2.ini b/Output/Console/GALE01r2.ini index 6f7fca34..87d64df2 100644 --- a/Output/Console/GALE01r2.ini +++ b/Output/Console/GALE01r2.ini @@ -772,10 +772,10 @@ BA810008 800100B4 4E800020 00000000 04005600 801910E0 #Common/ConsoleOverrides/SetGeckoStart.asm -$Optional: Debug Game-Side Latency (Not Nintendont) [Fizzi] -*Shows latency information on screen while in-game. To be used on native GC/Wii. -C216E774 000000A1 #External/Debug Inputs/InitOnGameStart.asm -48000480 4E800021 +$Optional: Debug Game-Side Latency [Fizzi] +*Shows latency information on screen while in-game +C216E774 0000008D #External/Debug Inputs/InitOnGameStart.asm +480003E4 4E800021 00000000 43480000 41C80000 000000FF 000000B4 E2E2E2FF @@ -796,100 +796,57 @@ C216E774 000000A1 #External/Debug Inputs/InitOnGameStart.asm 0A004665 7463682D 506F6C6C 3A202575 2075730A 00000000 +4E800021 4E800020 4E800021 7C0802A6 90010004 9421FF50 -BE810008 4BFFFF49 +BE810008 4BFFFF41 7FE802A6 83DF0000 -807E0016 38630001 -907E0016 3D808034 -618CC408 7D8903A6 -4E800421 809E000A -907E000A 7C641850 -1C63000C 388001E6 -7C632396 7C7D1B78 -807E0016 5463063F -41820028 807E005E -7C1D1800 40800008 -93BE005E 807E0062 -7C1D1800 40810008 -93BE0062 4800000C -93BE005E 93BE0062 -BA810008 800100B4 -382100B0 7C0803A6 -4E800020 4E800021 -7C0802A6 90010004 -9421FF50 BE810008 -4BFFFEA5 7FE802A6 -83DF0000 83BE0006 -887E0000 2C030001 -4082010C 7FA3EB78 -3D808030 618C2BB0 -7D8903A6 4E800421 -7FA3EB78 38800000 -38A00000 3D808030 -618C2A3C 7D8903A6 +83BE0006 887E0000 +2C030001 4082010C +7FA3EB78 3D808030 +618C2BB0 7D8903A6 4E800421 7FA3EB78 -389F0020 80BE005A -3D808030 618C2D4C +38800000 38A00000 +3D808030 618C2A3C 7D8903A6 4E800421 -7FA3EB78 389F003A -80BE0016 3D808030 +7FA3EB78 389F0020 +80BE005A 3D808030 618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F004A 80BE005E +389F003A 80BE0016 3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F0060 -80BE0062 3D808030 +7FA3EB78 389F004A +80BE005E 3D808030 618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F0076 80BE0066 +389F0060 80BE0062 3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F008A -80BE006A 3D808030 +7FA3EB78 389F0076 +80BE0066 3D808030 618C2D4C 7D8903A6 -4E800421 3C608046 -6063B6A0 88630008 -2C030000 41820020 -807E0012 3D808034 -618C9CBC 7D8903A6 -4E800421 38600002 -987E0000 BA810008 -800100B4 382100B0 -7C0803A6 4E800020 -7C0802A6 90010004 -9421FF50 BE810008 -4BFFFD5D 7FE802A6 -38600020 3D808037 -618CF1E4 7D8903A6 -4E800421 7C681B78 -3860001E 3880FF2E -38A0FFD8 38C00001 -38E00001 3D808030 -618C2834 7D8903A6 -4E800421 7C7E1B78 -806DB77C 7FC4F378 -3D808030 618C2810 +4E800421 7FA3EB78 +389F008A 80BE006A +3D808030 618C2D4C 7D8903A6 4E800421 -38600000 987E0026 -7FC3F378 389F000C -3D808030 618C2B90 +3C608046 6063B6A0 +88630008 2C030000 +41820020 807E0012 +3D808034 618C9CBC 7D8903A6 4E800421 -C03F0004 D03E0008 -C03F0008 D03E000C -807F0000 93C30002 +38600002 987E0000 BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 -BE810008 4BFFFCA1 -7FE802A6 386003E8 +BE810008 4BFFFDF9 +7FE802A6 38600020 3D808037 618CF1E4 7D8903A6 4E800421 -7C681B78 3860001F -38800000 38A00000 -38C0001D 38E00008 +7C681B78 3860001E +3880FF2E 38A0FFD8 +38C00001 38E00001 3D808030 618C2834 7D8903A6 4E800421 7C7E1B78 806DB77C @@ -897,51 +854,74 @@ BE810008 4BFFFCA1 618C2810 7D8903A6 4E800421 38600000 987E0026 7FC3F378 -389F0010 3D808030 +389F000C 3D808030 618C2B90 7D8903A6 -4E800421 7FC3F378 -C03F0018 C05F001C -3D808030 618C2B10 -7D8903A6 4E800421 -7FC3F378 389F0014 -3D808030 618C2B64 -7D8903A6 4E800421 -7FC3F378 3D808030 -618C2AF0 7D8903A6 -4E800421 807F0000 -93C30006 38600013 -38800014 38A00000 -3D808039 618C01F0 -7D8903A6 4E800421 -4BFFFCFD 7C8802A6 -38A00007 3D808038 -618CFD54 7D8903A6 -4E800421 BA810008 +4E800421 C03F0004 +D03E0008 C03F0008 +D03E000C 807F0000 +93C30002 BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 BE810008 -3860006E 3D808037 +4BFFFD3D 7FE802A6 +386003E8 3D808037 618CF1E4 7D8903A6 -4E800421 4BFFFB61 -7C8802A6 90640000 -7C7E1B78 3880006E -3D808000 618CC160 +4E800421 7C681B78 +3860001F 38800000 +38A00000 38C0001D +38E00008 3D808030 +618C2834 7D8903A6 +4E800421 7C7E1B78 +806DB77C 7FC4F378 +3D808030 618C2810 7D8903A6 4E800421 -4BFFFDD1 4BFFFE89 -4BFFFBD9 7C6802A6 -907E0012 3D808034 -618C9BF0 7D8903A6 -4E800421 BA810008 -800100B4 382100B0 -7C0803A6 C022A8C8 -60000000 00000000 -C21A4DEC 00000025 #External/Debug Inputs/LogEngineTime.asm +38600000 987E0026 +7FC3F378 389F0010 +3D808030 618C2B90 +7D8903A6 4E800421 +7FC3F378 C03F0018 +C05F001C 3D808030 +618C2B10 7D8903A6 +4E800421 7FC3F378 +389F0014 3D808030 +618C2B64 7D8903A6 +4E800421 7FC3F378 +3D808030 618C2AF0 +7D8903A6 4E800421 +807F0000 93C30006 +38600013 38800014 +38A00000 3D808039 +618C01F0 7D8903A6 +4E800421 4BFFFCFD +7C8802A6 38A00007 +3D808038 618CFD54 +7D8903A6 4E800421 +BA810008 800100B4 +382100B0 7C0803A6 +4E800020 7C0802A6 +90010004 9421FF50 +BE810008 3860006E +3D808037 618CF1E4 +7D8903A6 4E800421 +4BFFFBFD 7C8802A6 +90640000 7C7E1B78 +3880006E 3D808000 +618CC160 7D8903A6 +4E800421 4BFFFDD1 +4BFFFE89 4BFFFC75 +7C6802A6 907E0012 +3D808034 618C9BF0 +7D8903A6 4E800421 +BA810008 800100B4 +382100B0 7C0803A6 +C022A8C8 00000000 +C21A4DEC 00000027 #External/Debug Inputs/LogEngineTime.asm 3C608048 80639D30 5463443E 2C030202 -4082010C 3C608048 +40820120 3C608048 80639D60 2C030000 -408100FC 7C0802A6 +40810110 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 7D8903A6 @@ -952,7 +932,7 @@ BE810008 3D808034 5484043A 7C842B78 7C632214 83E30008 887F0000 2C030000 -41820094 3C80804C +418200A8 3C80804C 60841FAC 80640000 547C073E 54630036 90640000 3D808034 @@ -960,26 +940,28 @@ BE810008 3D808034 4E800421 1C9C0004 3884001A 7C9F202E 7C641850 1C63000C -388001E6 7C632396 -7C7D1B78 807F0002 -9B810038 9B810039 -9B81003A 80810038 -54842026 608400FF -90810038 38810038 -3D808030 618C2B90 +3C808000 608400FC +80840000 38A003E8 +7C842B96 7C842B96 +7C632396 7C7D1B78 +807F0002 9B810038 +9B810039 9B81003A +80810038 54842026 +608400FF 90810038 +38810038 3D808030 +618C2B90 7D8903A6 +4E800421 7FC3F378 +3D808034 618C738C 7D8903A6 4E800421 -7FC3F378 3D808034 -618C738C 7D8903A6 -4E800421 BA810008 -800100B4 382100B0 -7C0803A6 800D9368 -60000000 00000000 -C2375C14 00000021 #External/Debug Inputs/LogFrameScanoutStart.asm +BA810008 800100B4 +382100B0 7C0803A6 +800D9368 00000000 +C2375C14 00000024 #External/Debug Inputs/LogFrameScanoutStart.asm 3C608048 80639D30 5463443E 2C030202 -408200F0 3C608047 +40820104 3C608047 60639D64 80630000 -2C030000 408200DC +2C030000 408200F0 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 @@ -990,7 +972,7 @@ C2375C14 00000021 #External/Debug Inputs/LogFrameScanoutStart.asm 54A5801E 5484043A 7C842B78 7C632214 83E30008 887F0000 -2C030000 41820074 +2C030000 41820088 3C60804A 60638B10 80630000 80630000 5463463E 3863FFF1 @@ -1000,20 +982,61 @@ C2375C14 00000021 #External/Debug Inputs/LogFrameScanoutStart.asm 7D8903A6 4E800421 1C9C0004 3884001A 7C9F202E 7C641850 -1C63000C 388001E6 -7C632396 7C7D1B78 -93BF005A 7FC3F378 -3D808034 618C738C +1C63000C 3C808000 +608400FC 80840000 +38A003E8 7C842B96 +7C842B96 7C632396 +7C7D1B78 93BF005A +7FC3F378 3D808034 +618C738C 7D8903A6 +4E800421 BA810008 +800100B4 382100B0 +7C0803A6 80010024 +60000000 00000000 +C2349A28 00000025 #External/Debug Inputs/LogPollInterrupt.asm +3C608048 80639D30 +5463443E 2C030202 +4082010C 3C608047 +60639D64 80630000 +2C030000 408200F8 +7C0802A6 90010004 +9421FF50 BE810008 +3D808034 618C7364 7D8903A6 4E800421 -BA810008 800100B4 -382100B0 7C0803A6 -80010024 00000000 -C2376A88 00000028 #External/Debug Inputs/StoreCaptureTimes.asm +7C7E1B78 3C608016 +6063E774 80830000 +5485863E 7CA50774 +54A5801E 5484043A +7C842B78 7C632214 +83E30008 807F0016 +38630001 907F0016 +3D808034 618CC408 +7D8903A6 4E800421 +809F000A 907F000A +7C641850 1C63000C +3C808000 608400FC +80840000 38A003E8 +7C842B96 7C842B96 +7C632396 7C7D1B78 +807F0016 5463063F +41820028 807F005E +7C1D1800 40800008 +93BF005E 807F0062 +7C1D1800 40810008 +93BF0062 4800000C +93BF005E 93BF0062 +7FC3F378 3D808034 +618C738C 7D8903A6 +4E800421 BA810008 +800100B4 382100B0 +7C0803A6 80B80000 +60000000 00000000 +C2376A88 0000002D #External/Debug Inputs/StoreCaptureTimes.asm 3C608048 80639D30 5463443E 2C030202 -40820128 3C608047 +40820150 3C608047 60639D64 80630000 -2C030000 40820114 +2C030000 4082013C 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 @@ -1039,10 +1062,15 @@ C2376A88 00000028 #External/Debug Inputs/StoreCaptureTimes.asm 4E800421 7C7D1B78 809F000E 93BF000E 7C64E850 1C63000C -388001E6 7C632396 -907F0066 807F000A -7C63E850 1C63000C -388001E6 7C632396 +3C808000 608400FC +80840000 38A003E8 +7C842B96 7C842B96 +7C632396 907F0066 +807F000A 7C63E850 +1C63000C 3C808000 +608400FC 80840000 +38A003E8 7C842B96 +7C842B96 7C632396 907F006A 7FC3F378 3D808034 618C738C 7D8903A6 4E800421 diff --git a/Output/Console/g_core.bin b/Output/Console/g_core.bin index 7878dccd0b5ef9620b89a41441fb2fdf23d923fe..2ecdc41b2c6abadb63eb1173a0a97da18b92d9cd 100644 GIT binary patch delta 583 zcmdntFvDrXa&gvP4+iEZlh=r^nEXLPis`@OW*$j*M#i6$L!@>w{k7dJAZ^dc_;+%E zj26?M(#bV4ItC0ta7fDc4Ukf|NoeqBNSjf71@14BX!!=Hv01_p}-%r9zMw5NgaZrHaLT9xUenn5-c0TVKy0 zW|7RmH~~o8HZ+(d_8j4;?POl&*TACKFrR@7D9%-rA`u{y%)o=ogEh&@(`ss^D;j`i zge0@sJ2o+B0NHUhvJwmq4GbKU_cO!+`AJ}YBbcA$!N9-+5@!JtNs~9os#@=0U`PP@ y0tgP7XLSH6T`V36!1M^C4bUSeeDJvr=!-O<3%F{MUl8;OP;C~_K`N6C6gU87__C=0 delta 452 zcmbQ?w8LS;a&gv$9t@D7|9jTIU|QCEpMjyF zjzP>KnSpTvkhX1TFiGq=!cp7Fyv(nGMX_NX0~b)7t0qMvKqi@i$D)DpSxvI?w3=G! z3Xr~#WHx)pCI$^4JFZ4ng2ADIfn)MMhBzQU3CsuD1?2N4c`z{WfFyu8Y4QOf5edHr z21QI){ad=ZK*F7oF?R9}$z5E37J}Spk-+?7@&QTl&6A}R7#R~MZ;{qw`h9cq18E(e z1O^B=B<1^Na*docuSY}j+yotF1_p;lhCh=VWWyP!Or9cR!vb>m{ ziZ%%iAUy^l$u4#}%uGxUO$;A^V(tmab5k0U85qE3H8I=)n^iLThO7_7EE_o!6Oi49 v%(FUxlm@0bj36;Ia~MT{=J-rjQK*rDh2(^KhO~xyUw{k7dJAZ^dc_;+%E zj26?M(#bV4ItC0ta7fDc4Ukf|NoeqBNSjf71@14BX!!=Hv01_p}-%r9zMw5NgaZrHaLT9xUenn5-c0TVKy0 zW|7RmH~~o8HZ+(d_8j4;?POl&*TACKFrR@7D9%-rA`u{y%)o=ogEh&@(`ss^D;j`i zge0@sJ2o+B0NHUhvJwmq4GbKU_cO!+`AJ}YBbcA$!N9-+5@!JtNs~9os#@=0U`PP@ y0tgP7XLSH6T`V36!1M^C4bUSeeDJvr=!-O<3%F{MUl8;OP;C~_K`N6C6gU87__C=0 delta 452 zcmbQ?w8LS;a&gv$9t@D7|9jTIU|QCEpMjyF zjzP>KnSpTvkhX1TFiGq=!cp7Fyv(nGMX_NX0~b)7t0qMvKqi@i$D)DpSxvI?w3=G! z3Xr~#WHx)pCI$^4JFZ4ng2ADIfn)MMhBzQU3CsuD1?2N4c`z{WfFyu8Y4QOf5edHr z21QI){ad=ZK*F7oF?R9}$z5E37J}Spk-+?7@&QTl&6A}R7#R~MZ;{qw`h9cq18E(e z1O^B=B<1^Na*docuSY}j+yotF1_p;lhCh=VWWyP!Or9cR!vb>m{ ziZ%%iAUy^l$u4#}%uGxUO$;A^V(tmab5k0U85qE3H8I=)n^iLThO7_7EE_o!6Oi49 v%(FUxlm@0bj36;Ia~MT{=J-rjQK*rDh2(^KhO~xyU879Ji~TUsGg1NWs+oB&!K>;oZr8b2`GcMTFVe#tkCgYIqXPKRUW4@D ze7DZriY_ZnR#en3Sz{}kcY8cE!f)*BGRM|E?%=(lEOH@P;*p_B!&d%1+w9@>kCo+?OB+UKMs6$3Ec8;&{+yJKS4Wa~EDwvWb7O3Q6M-Z6(9kmSgoTN7#o-l2Iw&S|8D^lm;hwkHZ({j_5@Vab}}#XZDLUX3Nx@M b_GX+=Y5?kUEdX-afOfehByX6!o>3D3GUFy5 diff --git a/Output/Netplay/GALE01r2.ini b/Output/Netplay/GALE01r2.ini index 2c1f8b2b..e4942b67 100644 --- a/Output/Netplay/GALE01r2.ini +++ b/Output/Netplay/GALE01r2.ini @@ -5697,8 +5697,8 @@ C22FD1EC 0000000E #Online/Optional/IndicateLocalPlayer/SetLocalPlayerTag.asm $Optional: Debug Game-Side Latency [Fizzi] *Shows latency information on screen while in-game -C216E774 000000A1 #External/Debug Inputs/InitOnGameStart.asm -48000480 4E800021 +C216E774 0000008D #External/Debug Inputs/InitOnGameStart.asm +480003E4 4E800021 00000000 43480000 41C80000 000000FF 000000B4 E2E2E2FF @@ -5719,100 +5719,57 @@ C216E774 000000A1 #External/Debug Inputs/InitOnGameStart.asm 0A004665 7463682D 506F6C6C 3A202575 2075730A 00000000 +4E800021 4E800020 4E800021 7C0802A6 90010004 9421FF50 -BE810008 4BFFFF49 +BE810008 4BFFFF41 7FE802A6 83DF0000 -807E0016 38630001 -907E0016 3D808034 -618CC408 7D8903A6 -4E800421 809E000A -907E000A 7C641850 -1C63000C 388001E6 -7C632396 7C7D1B78 -807E0016 5463063F -41820028 807E005E -7C1D1800 40800008 -93BE005E 807E0062 -7C1D1800 40810008 -93BE0062 4800000C -93BE005E 93BE0062 -BA810008 800100B4 -382100B0 7C0803A6 -4E800020 4E800021 -7C0802A6 90010004 -9421FF50 BE810008 -4BFFFEA5 7FE802A6 -83DF0000 83BE0006 -887E0000 2C030001 -4082010C 7FA3EB78 -3D808030 618C2BB0 -7D8903A6 4E800421 -7FA3EB78 38800000 -38A00000 3D808030 -618C2A3C 7D8903A6 +83BE0006 887E0000 +2C030001 4082010C +7FA3EB78 3D808030 +618C2BB0 7D8903A6 4E800421 7FA3EB78 -389F0020 80BE005A -3D808030 618C2D4C +38800000 38A00000 +3D808030 618C2A3C 7D8903A6 4E800421 -7FA3EB78 389F003A -80BE0016 3D808030 +7FA3EB78 389F0020 +80BE005A 3D808030 618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F004A 80BE005E +389F003A 80BE0016 3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F0060 -80BE0062 3D808030 +7FA3EB78 389F004A +80BE005E 3D808030 618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F0076 80BE0066 +389F0060 80BE0062 3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F008A -80BE006A 3D808030 +7FA3EB78 389F0076 +80BE0066 3D808030 618C2D4C 7D8903A6 -4E800421 3C608046 -6063B6A0 88630008 -2C030000 41820020 -807E0012 3D808034 -618C9CBC 7D8903A6 -4E800421 38600002 -987E0000 BA810008 -800100B4 382100B0 -7C0803A6 4E800020 -7C0802A6 90010004 -9421FF50 BE810008 -4BFFFD5D 7FE802A6 -38600020 3D808037 -618CF1E4 7D8903A6 -4E800421 7C681B78 -3860001E 3880FF2E -38A0FFD8 38C00001 -38E00001 3D808030 -618C2834 7D8903A6 -4E800421 7C7E1B78 -806DB77C 7FC4F378 -3D808030 618C2810 +4E800421 7FA3EB78 +389F008A 80BE006A +3D808030 618C2D4C 7D8903A6 4E800421 -38600000 987E0026 -7FC3F378 389F000C -3D808030 618C2B90 +3C608046 6063B6A0 +88630008 2C030000 +41820020 807E0012 +3D808034 618C9CBC 7D8903A6 4E800421 -C03F0004 D03E0008 -C03F0008 D03E000C -807F0000 93C30002 +38600002 987E0000 BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 -BE810008 4BFFFCA1 -7FE802A6 386003E8 +BE810008 4BFFFDF9 +7FE802A6 38600020 3D808037 618CF1E4 7D8903A6 4E800421 -7C681B78 3860001F -38800000 38A00000 -38C0001D 38E00008 +7C681B78 3860001E +3880FF2E 38A0FFD8 +38C00001 38E00001 3D808030 618C2834 7D8903A6 4E800421 7C7E1B78 806DB77C @@ -5820,51 +5777,74 @@ BE810008 4BFFFCA1 618C2810 7D8903A6 4E800421 38600000 987E0026 7FC3F378 -389F0010 3D808030 +389F000C 3D808030 618C2B90 7D8903A6 -4E800421 7FC3F378 -C03F0018 C05F001C -3D808030 618C2B10 -7D8903A6 4E800421 -7FC3F378 389F0014 -3D808030 618C2B64 -7D8903A6 4E800421 -7FC3F378 3D808030 -618C2AF0 7D8903A6 -4E800421 807F0000 -93C30006 38600013 -38800014 38A00000 -3D808039 618C01F0 -7D8903A6 4E800421 -4BFFFCFD 7C8802A6 -38A00007 3D808038 -618CFD54 7D8903A6 -4E800421 BA810008 +4E800421 C03F0004 +D03E0008 C03F0008 +D03E000C 807F0000 +93C30002 BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 BE810008 -3860006E 3D808037 +4BFFFD3D 7FE802A6 +386003E8 3D808037 618CF1E4 7D8903A6 -4E800421 4BFFFB61 -7C8802A6 90640000 -7C7E1B78 3880006E -3D808000 618CC160 +4E800421 7C681B78 +3860001F 38800000 +38A00000 38C0001D +38E00008 3D808030 +618C2834 7D8903A6 +4E800421 7C7E1B78 +806DB77C 7FC4F378 +3D808030 618C2810 7D8903A6 4E800421 -4BFFFDD1 4BFFFE89 -4BFFFBD9 7C6802A6 -907E0012 3D808034 -618C9BF0 7D8903A6 -4E800421 BA810008 -800100B4 382100B0 -7C0803A6 C022A8C8 -60000000 00000000 -C21A4DEC 00000025 #External/Debug Inputs/LogEngineTime.asm +38600000 987E0026 +7FC3F378 389F0010 +3D808030 618C2B90 +7D8903A6 4E800421 +7FC3F378 C03F0018 +C05F001C 3D808030 +618C2B10 7D8903A6 +4E800421 7FC3F378 +389F0014 3D808030 +618C2B64 7D8903A6 +4E800421 7FC3F378 +3D808030 618C2AF0 +7D8903A6 4E800421 +807F0000 93C30006 +38600013 38800014 +38A00000 3D808039 +618C01F0 7D8903A6 +4E800421 4BFFFCFD +7C8802A6 38A00007 +3D808038 618CFD54 +7D8903A6 4E800421 +BA810008 800100B4 +382100B0 7C0803A6 +4E800020 7C0802A6 +90010004 9421FF50 +BE810008 3860006E +3D808037 618CF1E4 +7D8903A6 4E800421 +4BFFFBFD 7C8802A6 +90640000 7C7E1B78 +3880006E 3D808000 +618CC160 7D8903A6 +4E800421 4BFFFDD1 +4BFFFE89 4BFFFC75 +7C6802A6 907E0012 +3D808034 618C9BF0 +7D8903A6 4E800421 +BA810008 800100B4 +382100B0 7C0803A6 +C022A8C8 00000000 +C21A4DEC 00000027 #External/Debug Inputs/LogEngineTime.asm 3C608048 80639D30 5463443E 2C030202 -4082010C 3C608048 +40820120 3C608048 80639D60 2C030000 -408100FC 7C0802A6 +40810110 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 7D8903A6 @@ -5875,7 +5855,7 @@ BE810008 3D808034 5484043A 7C842B78 7C632214 83E30008 887F0000 2C030000 -41820094 3C80804C +418200A8 3C80804C 60841FAC 80640000 547C073E 54630036 90640000 3D808034 @@ -5883,26 +5863,28 @@ BE810008 3D808034 4E800421 1C9C0004 3884001A 7C9F202E 7C641850 1C63000C -388001E6 7C632396 -7C7D1B78 807F0002 -9B810038 9B810039 -9B81003A 80810038 -54842026 608400FF -90810038 38810038 -3D808030 618C2B90 +3C808000 608400FC +80840000 38A003E8 +7C842B96 7C842B96 +7C632396 7C7D1B78 +807F0002 9B810038 +9B810039 9B81003A +80810038 54842026 +608400FF 90810038 +38810038 3D808030 +618C2B90 7D8903A6 +4E800421 7FC3F378 +3D808034 618C738C 7D8903A6 4E800421 -7FC3F378 3D808034 -618C738C 7D8903A6 -4E800421 BA810008 -800100B4 382100B0 -7C0803A6 800D9368 -60000000 00000000 -C2375C14 00000021 #External/Debug Inputs/LogFrameScanoutStart.asm +BA810008 800100B4 +382100B0 7C0803A6 +800D9368 00000000 +C2375C14 00000024 #External/Debug Inputs/LogFrameScanoutStart.asm 3C608048 80639D30 5463443E 2C030202 -408200F0 3C608047 +40820104 3C608047 60639D64 80630000 -2C030000 408200DC +2C030000 408200F0 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 @@ -5913,7 +5895,7 @@ C2375C14 00000021 #External/Debug Inputs/LogFrameScanoutStart.asm 54A5801E 5484043A 7C842B78 7C632214 83E30008 887F0000 -2C030000 41820074 +2C030000 41820088 3C60804A 60638B10 80630000 80630000 5463463E 3863FFF1 @@ -5923,20 +5905,61 @@ C2375C14 00000021 #External/Debug Inputs/LogFrameScanoutStart.asm 7D8903A6 4E800421 1C9C0004 3884001A 7C9F202E 7C641850 -1C63000C 388001E6 -7C632396 7C7D1B78 -93BF005A 7FC3F378 -3D808034 618C738C +1C63000C 3C808000 +608400FC 80840000 +38A003E8 7C842B96 +7C842B96 7C632396 +7C7D1B78 93BF005A +7FC3F378 3D808034 +618C738C 7D8903A6 +4E800421 BA810008 +800100B4 382100B0 +7C0803A6 80010024 +60000000 00000000 +C2349A28 00000025 #External/Debug Inputs/LogPollInterrupt.asm +3C608048 80639D30 +5463443E 2C030202 +4082010C 3C608047 +60639D64 80630000 +2C030000 408200F8 +7C0802A6 90010004 +9421FF50 BE810008 +3D808034 618C7364 7D8903A6 4E800421 -BA810008 800100B4 -382100B0 7C0803A6 -80010024 00000000 -C2376A88 00000028 #External/Debug Inputs/StoreCaptureTimes.asm +7C7E1B78 3C608016 +6063E774 80830000 +5485863E 7CA50774 +54A5801E 5484043A +7C842B78 7C632214 +83E30008 807F0016 +38630001 907F0016 +3D808034 618CC408 +7D8903A6 4E800421 +809F000A 907F000A +7C641850 1C63000C +3C808000 608400FC +80840000 38A003E8 +7C842B96 7C842B96 +7C632396 7C7D1B78 +807F0016 5463063F +41820028 807F005E +7C1D1800 40800008 +93BF005E 807F0062 +7C1D1800 40810008 +93BF0062 4800000C +93BF005E 93BF0062 +7FC3F378 3D808034 +618C738C 7D8903A6 +4E800421 BA810008 +800100B4 382100B0 +7C0803A6 80B80000 +60000000 00000000 +C2376A88 0000002D #External/Debug Inputs/StoreCaptureTimes.asm 3C608048 80639D30 5463443E 2C030202 -40820128 3C608047 +40820150 3C608047 60639D64 80630000 -2C030000 40820114 +2C030000 4082013C 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 @@ -5962,10 +5985,15 @@ C2376A88 00000028 #External/Debug Inputs/StoreCaptureTimes.asm 4E800421 7C7D1B78 809F000E 93BF000E 7C64E850 1C63000C -388001E6 7C632396 -907F0066 807F000A -7C63E850 1C63000C -388001E6 7C632396 +3C808000 608400FC +80840000 38A003E8 +7C842B96 7C842B96 +7C632396 907F0066 +807F000A 7C63E850 +1C63000C 3C808000 +608400FC 80840000 +38A003E8 7C842B96 +7C842B96 7C632396 907F006A 7FC3F378 3D808034 618C738C 7D8903A6 4E800421 @@ -5976,20 +6004,58 @@ BA810008 800100B4 $Optional: PD+VB [taukhan] *PD+VB -041A4C24 C0429A7C #Polling Drift Fix + VB [tauKhan] -0401985C 3C60804C -04019860 91231F5C -C2376200 00000003 -2C1DFFFF 41820008 -48000008 93A2C150 +C21A4D98 00000007 #Polling Drift Fix + VB [tauKhan] +8062A6F4 2C030001 +40820028 8062A6F0 +2C030002 4182001C +386DBD88 3D808034 +618CBA14 7D8803A6 +4E800021 4BFFFFD4 +60000000 00000000 +C21A5050 0000000B +8062A6F4 2C030001 +40820044 8062A6F0 +2C030002 40820038 +4800001C 8062A6F0 +2C030002 41820028 +8062A6F4 2C030001 +4082001C 386DBD88 +3D808034 618CBA14 +7D8803A6 4E800021 +4BFFFFD4 38600000 +60000000 00000000 +C21A4BEC 00000015 +4800007D 7C0802A6 +90010004 9421FFF8 +386DBD88 8082A6F0 +38840001 9082A6F0 +2C040001 40820014 +3D808001 618C95FC +7D8803A6 4E800021 +8082A6F0 2C040002 +40820014 3D808034 +618CBB00 7D8803A6 +4E800021 38600001 +9062A6F4 38604000 +38635624 3C808043 +B0642A42 8001000C +38210008 7C0803A6 +4E800020 7C6802A6 +3D808034 618CE894 +7D8803A6 4E800021 +3C608048 3C80801A +380446F4 38800000 +60000000 00000000 +04158268 C82280A0 +C234EB60 00000007 +8062A6F0 2C030001 +4080001C 38600000 +9062A6F4 3C608043 +38804000 388455FC +B0832A42 38600000 +9062A6F0 386DBD88 60000000 00000000 -C21A5018 00000005 -3B5A0001 8002C150 -2C00FFFF 38000000 -9002C150 3D80801A -618C5078 7D8903A6 -4D820420 00000000 -04218D68 C8228000 +04397878 4800020C $Optional: PD [Dan Salvato] *PD diff --git a/Output/Netplay/GALJ01r2.ini b/Output/Netplay/GALJ01r2.ini index 966b4067..fd18a587 100644 --- a/Output/Netplay/GALJ01r2.ini +++ b/Output/Netplay/GALJ01r2.ini @@ -5697,8 +5697,8 @@ C22FD1EC 0000000E #Online/Optional/IndicateLocalPlayer/SetLocalPlayerTag.asm $Optional: Debug Game-Side Latency [Fizzi] *Shows latency information on screen while in-game -C216E774 000000A1 #External/Debug Inputs/InitOnGameStart.asm -48000480 4E800021 +C216E774 0000008D #External/Debug Inputs/InitOnGameStart.asm +480003E4 4E800021 00000000 43480000 41C80000 000000FF 000000B4 E2E2E2FF @@ -5719,100 +5719,57 @@ C216E774 000000A1 #External/Debug Inputs/InitOnGameStart.asm 0A004665 7463682D 506F6C6C 3A202575 2075730A 00000000 +4E800021 4E800020 4E800021 7C0802A6 90010004 9421FF50 -BE810008 4BFFFF49 +BE810008 4BFFFF41 7FE802A6 83DF0000 -807E0016 38630001 -907E0016 3D808034 -618CC408 7D8903A6 -4E800421 809E000A -907E000A 7C641850 -1C63000C 388001E6 -7C632396 7C7D1B78 -807E0016 5463063F -41820028 807E005E -7C1D1800 40800008 -93BE005E 807E0062 -7C1D1800 40810008 -93BE0062 4800000C -93BE005E 93BE0062 -BA810008 800100B4 -382100B0 7C0803A6 -4E800020 4E800021 -7C0802A6 90010004 -9421FF50 BE810008 -4BFFFEA5 7FE802A6 -83DF0000 83BE0006 -887E0000 2C030001 -4082010C 7FA3EB78 -3D808030 618C2BB0 -7D8903A6 4E800421 -7FA3EB78 38800000 -38A00000 3D808030 -618C2A3C 7D8903A6 +83BE0006 887E0000 +2C030001 4082010C +7FA3EB78 3D808030 +618C2BB0 7D8903A6 4E800421 7FA3EB78 -389F0020 80BE005A -3D808030 618C2D4C +38800000 38A00000 +3D808030 618C2A3C 7D8903A6 4E800421 -7FA3EB78 389F003A -80BE0016 3D808030 +7FA3EB78 389F0020 +80BE005A 3D808030 618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F004A 80BE005E +389F003A 80BE0016 3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F0060 -80BE0062 3D808030 +7FA3EB78 389F004A +80BE005E 3D808030 618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F0076 80BE0066 +389F0060 80BE0062 3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F008A -80BE006A 3D808030 +7FA3EB78 389F0076 +80BE0066 3D808030 618C2D4C 7D8903A6 -4E800421 3C608046 -6063B6A0 88630008 -2C030000 41820020 -807E0012 3D808034 -618C9CBC 7D8903A6 -4E800421 38600002 -987E0000 BA810008 -800100B4 382100B0 -7C0803A6 4E800020 -7C0802A6 90010004 -9421FF50 BE810008 -4BFFFD5D 7FE802A6 -38600020 3D808037 -618CF1E4 7D8903A6 -4E800421 7C681B78 -3860001E 3880FF2E -38A0FFD8 38C00001 -38E00001 3D808030 -618C2834 7D8903A6 -4E800421 7C7E1B78 -806DB77C 7FC4F378 -3D808030 618C2810 +4E800421 7FA3EB78 +389F008A 80BE006A +3D808030 618C2D4C 7D8903A6 4E800421 -38600000 987E0026 -7FC3F378 389F000C -3D808030 618C2B90 +3C608046 6063B6A0 +88630008 2C030000 +41820020 807E0012 +3D808034 618C9CBC 7D8903A6 4E800421 -C03F0004 D03E0008 -C03F0008 D03E000C -807F0000 93C30002 +38600002 987E0000 BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 -BE810008 4BFFFCA1 -7FE802A6 386003E8 +BE810008 4BFFFDF9 +7FE802A6 38600020 3D808037 618CF1E4 7D8903A6 4E800421 -7C681B78 3860001F -38800000 38A00000 -38C0001D 38E00008 +7C681B78 3860001E +3880FF2E 38A0FFD8 +38C00001 38E00001 3D808030 618C2834 7D8903A6 4E800421 7C7E1B78 806DB77C @@ -5820,51 +5777,74 @@ BE810008 4BFFFCA1 618C2810 7D8903A6 4E800421 38600000 987E0026 7FC3F378 -389F0010 3D808030 +389F000C 3D808030 618C2B90 7D8903A6 -4E800421 7FC3F378 -C03F0018 C05F001C -3D808030 618C2B10 -7D8903A6 4E800421 -7FC3F378 389F0014 -3D808030 618C2B64 -7D8903A6 4E800421 -7FC3F378 3D808030 -618C2AF0 7D8903A6 -4E800421 807F0000 -93C30006 38600013 -38800014 38A00000 -3D808039 618C01F0 -7D8903A6 4E800421 -4BFFFCFD 7C8802A6 -38A00007 3D808038 -618CFD54 7D8903A6 -4E800421 BA810008 +4E800421 C03F0004 +D03E0008 C03F0008 +D03E000C 807F0000 +93C30002 BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 BE810008 -3860006E 3D808037 +4BFFFD3D 7FE802A6 +386003E8 3D808037 618CF1E4 7D8903A6 -4E800421 4BFFFB61 -7C8802A6 90640000 -7C7E1B78 3880006E -3D808000 618CC160 +4E800421 7C681B78 +3860001F 38800000 +38A00000 38C0001D +38E00008 3D808030 +618C2834 7D8903A6 +4E800421 7C7E1B78 +806DB77C 7FC4F378 +3D808030 618C2810 7D8903A6 4E800421 -4BFFFDD1 4BFFFE89 -4BFFFBD9 7C6802A6 -907E0012 3D808034 -618C9BF0 7D8903A6 -4E800421 BA810008 -800100B4 382100B0 -7C0803A6 C022A8C8 -60000000 00000000 -C21A4DEC 00000025 #External/Debug Inputs/LogEngineTime.asm +38600000 987E0026 +7FC3F378 389F0010 +3D808030 618C2B90 +7D8903A6 4E800421 +7FC3F378 C03F0018 +C05F001C 3D808030 +618C2B10 7D8903A6 +4E800421 7FC3F378 +389F0014 3D808030 +618C2B64 7D8903A6 +4E800421 7FC3F378 +3D808030 618C2AF0 +7D8903A6 4E800421 +807F0000 93C30006 +38600013 38800014 +38A00000 3D808039 +618C01F0 7D8903A6 +4E800421 4BFFFCFD +7C8802A6 38A00007 +3D808038 618CFD54 +7D8903A6 4E800421 +BA810008 800100B4 +382100B0 7C0803A6 +4E800020 7C0802A6 +90010004 9421FF50 +BE810008 3860006E +3D808037 618CF1E4 +7D8903A6 4E800421 +4BFFFBFD 7C8802A6 +90640000 7C7E1B78 +3880006E 3D808000 +618CC160 7D8903A6 +4E800421 4BFFFDD1 +4BFFFE89 4BFFFC75 +7C6802A6 907E0012 +3D808034 618C9BF0 +7D8903A6 4E800421 +BA810008 800100B4 +382100B0 7C0803A6 +C022A8C8 00000000 +C21A4DEC 00000027 #External/Debug Inputs/LogEngineTime.asm 3C608048 80639D30 5463443E 2C030202 -4082010C 3C608048 +40820120 3C608048 80639D60 2C030000 -408100FC 7C0802A6 +40810110 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 7D8903A6 @@ -5875,7 +5855,7 @@ BE810008 3D808034 5484043A 7C842B78 7C632214 83E30008 887F0000 2C030000 -41820094 3C80804C +418200A8 3C80804C 60841FAC 80640000 547C073E 54630036 90640000 3D808034 @@ -5883,26 +5863,28 @@ BE810008 3D808034 4E800421 1C9C0004 3884001A 7C9F202E 7C641850 1C63000C -388001E6 7C632396 -7C7D1B78 807F0002 -9B810038 9B810039 -9B81003A 80810038 -54842026 608400FF -90810038 38810038 -3D808030 618C2B90 +3C808000 608400FC +80840000 38A003E8 +7C842B96 7C842B96 +7C632396 7C7D1B78 +807F0002 9B810038 +9B810039 9B81003A +80810038 54842026 +608400FF 90810038 +38810038 3D808030 +618C2B90 7D8903A6 +4E800421 7FC3F378 +3D808034 618C738C 7D8903A6 4E800421 -7FC3F378 3D808034 -618C738C 7D8903A6 -4E800421 BA810008 -800100B4 382100B0 -7C0803A6 800D9368 -60000000 00000000 -C2375C14 00000021 #External/Debug Inputs/LogFrameScanoutStart.asm +BA810008 800100B4 +382100B0 7C0803A6 +800D9368 00000000 +C2375C14 00000024 #External/Debug Inputs/LogFrameScanoutStart.asm 3C608048 80639D30 5463443E 2C030202 -408200F0 3C608047 +40820104 3C608047 60639D64 80630000 -2C030000 408200DC +2C030000 408200F0 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 @@ -5913,7 +5895,7 @@ C2375C14 00000021 #External/Debug Inputs/LogFrameScanoutStart.asm 54A5801E 5484043A 7C842B78 7C632214 83E30008 887F0000 -2C030000 41820074 +2C030000 41820088 3C60804A 60638B10 80630000 80630000 5463463E 3863FFF1 @@ -5923,20 +5905,61 @@ C2375C14 00000021 #External/Debug Inputs/LogFrameScanoutStart.asm 7D8903A6 4E800421 1C9C0004 3884001A 7C9F202E 7C641850 -1C63000C 388001E6 -7C632396 7C7D1B78 -93BF005A 7FC3F378 -3D808034 618C738C +1C63000C 3C808000 +608400FC 80840000 +38A003E8 7C842B96 +7C842B96 7C632396 +7C7D1B78 93BF005A +7FC3F378 3D808034 +618C738C 7D8903A6 +4E800421 BA810008 +800100B4 382100B0 +7C0803A6 80010024 +60000000 00000000 +C2349A28 00000025 #External/Debug Inputs/LogPollInterrupt.asm +3C608048 80639D30 +5463443E 2C030202 +4082010C 3C608047 +60639D64 80630000 +2C030000 408200F8 +7C0802A6 90010004 +9421FF50 BE810008 +3D808034 618C7364 7D8903A6 4E800421 -BA810008 800100B4 -382100B0 7C0803A6 -80010024 00000000 -C2376A88 00000028 #External/Debug Inputs/StoreCaptureTimes.asm +7C7E1B78 3C608016 +6063E774 80830000 +5485863E 7CA50774 +54A5801E 5484043A +7C842B78 7C632214 +83E30008 807F0016 +38630001 907F0016 +3D808034 618CC408 +7D8903A6 4E800421 +809F000A 907F000A +7C641850 1C63000C +3C808000 608400FC +80840000 38A003E8 +7C842B96 7C842B96 +7C632396 7C7D1B78 +807F0016 5463063F +41820028 807F005E +7C1D1800 40800008 +93BF005E 807F0062 +7C1D1800 40810008 +93BF0062 4800000C +93BF005E 93BF0062 +7FC3F378 3D808034 +618C738C 7D8903A6 +4E800421 BA810008 +800100B4 382100B0 +7C0803A6 80B80000 +60000000 00000000 +C2376A88 0000002D #External/Debug Inputs/StoreCaptureTimes.asm 3C608048 80639D30 5463443E 2C030202 -40820128 3C608047 +40820150 3C608047 60639D64 80630000 -2C030000 40820114 +2C030000 4082013C 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 @@ -5962,10 +5985,15 @@ C2376A88 00000028 #External/Debug Inputs/StoreCaptureTimes.asm 4E800421 7C7D1B78 809F000E 93BF000E 7C64E850 1C63000C -388001E6 7C632396 -907F0066 807F000A -7C63E850 1C63000C -388001E6 7C632396 +3C808000 608400FC +80840000 38A003E8 +7C842B96 7C842B96 +7C632396 907F0066 +807F000A 7C63E850 +1C63000C 3C808000 +608400FC 80840000 +38A003E8 7C842B96 +7C842B96 7C632396 907F006A 7FC3F378 3D808034 618C738C 7D8903A6 4E800421 @@ -5976,20 +6004,58 @@ BA810008 800100B4 $Optional: PD+VB [taukhan] *PD+VB -041A4C24 C0429A7C #Polling Drift Fix + VB [tauKhan] -0401985C 3C60804C -04019860 91231F5C -C2376200 00000003 -2C1DFFFF 41820008 -48000008 93A2C150 +C21A4D98 00000007 #Polling Drift Fix + VB [tauKhan] +8062A6F4 2C030001 +40820028 8062A6F0 +2C030002 4182001C +386DBD88 3D808034 +618CBA14 7D8803A6 +4E800021 4BFFFFD4 +60000000 00000000 +C21A5050 0000000B +8062A6F4 2C030001 +40820044 8062A6F0 +2C030002 40820038 +4800001C 8062A6F0 +2C030002 41820028 +8062A6F4 2C030001 +4082001C 386DBD88 +3D808034 618CBA14 +7D8803A6 4E800021 +4BFFFFD4 38600000 +60000000 00000000 +C21A4BEC 00000015 +4800007D 7C0802A6 +90010004 9421FFF8 +386DBD88 8082A6F0 +38840001 9082A6F0 +2C040001 40820014 +3D808001 618C95FC +7D8803A6 4E800021 +8082A6F0 2C040002 +40820014 3D808034 +618CBB00 7D8803A6 +4E800021 38600001 +9062A6F4 38604000 +38635624 3C808043 +B0642A42 8001000C +38210008 7C0803A6 +4E800020 7C6802A6 +3D808034 618CE894 +7D8803A6 4E800021 +3C608048 3C80801A +380446F4 38800000 +60000000 00000000 +04158268 C82280A0 +C234EB60 00000007 +8062A6F0 2C030001 +4080001C 38600000 +9062A6F4 3C608043 +38804000 388455FC +B0832A42 38600000 +9062A6F0 386DBD88 60000000 00000000 -C21A5018 00000005 -3B5A0001 8002C150 -2C00FFFF 38000000 -9002C150 3D80801A -618C5078 7D8903A6 -4D820420 00000000 -04218D68 C8228000 +04397878 4800020C $Optional: PD [Dan Salvato] *PD From 85e3a4d85e2a518d3315a226cc855cbc8d563367 Mon Sep 17 00:00:00 2001 From: Jas Laferriere Date: Fri, 11 Jun 2021 05:31:12 -0700 Subject: [PATCH 12/16] require specific colors --- External/Debug Inputs/DebugInputs.s | 11 +- External/Debug Inputs/InitOnGameStart.asm | 31 +- External/Debug Inputs/LogEngineTime.asm | 4 +- ...StoreCaptureTimes.asm => LogFetchTime.asm} | 6 +- .../Debug Inputs/LogFrameScanoutStart.asm | 73 ----- .../{LogPollInterrupt.asm => LogPollTime.asm} | 8 +- External/Debug Inputs/LogScanoutTime.asm | 148 ++++++++++ Output/Console/GALE01r2.ini | 266 ++++++++++-------- Output/Console/g_core.bin | Bin 8472 -> 8808 bytes Output/Console/g_core_porta.bin | Bin 8472 -> 8808 bytes Output/Netplay/GALE01r2.ini | 266 ++++++++++-------- Output/Netplay/GALJ01r2.ini | 266 ++++++++++-------- 12 files changed, 653 insertions(+), 426 deletions(-) rename External/Debug Inputs/{StoreCaptureTimes.asm => LogFetchTime.asm} (96%) delete mode 100644 External/Debug Inputs/LogFrameScanoutStart.asm rename External/Debug Inputs/{LogPollInterrupt.asm => LogPollTime.asm} (94%) create mode 100644 External/Debug Inputs/LogScanoutTime.asm diff --git a/External/Debug Inputs/DebugInputs.s b/External/Debug Inputs/DebugInputs.s index e5469e64..a62248f5 100644 --- a/External/Debug Inputs/DebugInputs.s +++ b/External/Debug Inputs/DebugInputs.s @@ -12,14 +12,17 @@ .set DIB_LAST_POLL_TIME, DIB_LAG_DISPLAY_DTEXT_ADDR + 4 # u32 .set DIB_LAST_FETCH_TIME, DIB_LAST_POLL_TIME + 4 # u32 .set DIB_CALLBACK_PTR, DIB_LAST_FETCH_TIME + 4 # u32 -.set DIB_CALLBACK_COUNT, DIB_CALLBACK_PTR + 4 # u32 -.set DIB_CIRCULAR_BUFFER, DIB_CALLBACK_COUNT + 4 # u32 * CIRCULAR_BUFFER_COUNT +.set DIB_CIRCULAR_BUFFER, DIB_CALLBACK_PTR + 4 # u32 * CIRCULAR_BUFFER_COUNT .set DIB_INPUT_TO_RENDER_US, DIB_CIRCULAR_BUFFER + (4 * CIRCULAR_BUFFER_COUNT) # u32 .set DIB_POLL_DIFF_MIN_US, DIB_INPUT_TO_RENDER_US + 4 # u32 .set DIB_POLL_DIFF_MAX_US, DIB_POLL_DIFF_MIN_US + 4 # u32 .set DIB_FETCH_DIFF_US, DIB_POLL_DIFF_MAX_US + 4 # u32 -.set DIB_FETCH_TO_POLL_US, DIB_FETCH_DIFF_US + 4 # u32 -.set DIB_SIZE, DIB_FETCH_TO_POLL_US + 4 +.set DIB_POLL_TO_FETCH_US, DIB_FETCH_DIFF_US + 4 # u32 +.set DIB_POLL_TO_ENGINE_US, DIB_POLL_TO_FETCH_US + 4 # u32 +.set DIB_POLL_COUNT, DIB_POLL_TO_ENGINE_US + 4 # u32 +.set DIB_COLOR_FAIL_COUNT, DIB_POLL_COUNT + 4 # u32 +.set DIB_FAILED_COLOR, DIB_COLOR_FAIL_COUNT + 4 # u32 +.set DIB_SIZE, DIB_FAILED_COLOR + 4 ################################################################################ # Macros diff --git a/External/Debug Inputs/InitOnGameStart.asm b/External/Debug Inputs/InitOnGameStart.asm index edc7e09f..77b0e991 100644 --- a/External/Debug Inputs/InitOnGameStart.asm +++ b/External/Debug Inputs/InitOnGameStart.asm @@ -36,7 +36,13 @@ blrl .set DO_LD_STR_FETCH_DIFF, DO_LD_STR_MAX_POLL_DIFF + 22 .string "Fetch-Fetch: %u us\n" .set DO_LD_STR_FETCH_TO_POLL_DIFF, DO_LD_STR_FETCH_DIFF + 20 -.string "Fetch-Poll: %u us\n" +.string "Poll-Fetch: %u us\n" +.set DO_LD_STR_POLL_TO_ENGINE_DIFF, DO_LD_STR_FETCH_TO_POLL_DIFF + 19 +.string "Poll-Engine: %u us\n\n" +.set DO_LD_STR_COLOR_ERRORS, DO_LD_STR_POLL_TO_ENGINE_DIFF + 21 +.string "Color Errors: %u\n" +.set DO_LD_STR_FAILED_COLOR, DO_LD_STR_COLOR_ERRORS + 18 +.string "Failed Color: 0x%08X\n" .align 2 ################################################################################ @@ -87,7 +93,7 @@ branchl r12, 0x80302d4c # DevelopText_FormatAndPrint mr r3, REG_DEVELOP_TEXT addi r4, REG_DATA, DO_LD_STR_POLL_COUNT -lwz r5, DIB_CALLBACK_COUNT(REG_DIB) +lwz r5, DIB_POLL_COUNT(REG_DIB) branchl r12, 0x80302d4c # DevelopText_FormatAndPrint mr r3, REG_DEVELOP_TEXT @@ -107,7 +113,22 @@ branchl r12, 0x80302d4c # DevelopText_FormatAndPrint mr r3, REG_DEVELOP_TEXT addi r4, REG_DATA, DO_LD_STR_FETCH_TO_POLL_DIFF -lwz r5, DIB_FETCH_TO_POLL_US(REG_DIB) +lwz r5, DIB_POLL_TO_FETCH_US(REG_DIB) +branchl r12, 0x80302d4c # DevelopText_FormatAndPrint + +mr r3, REG_DEVELOP_TEXT +addi r4, REG_DATA, DO_LD_STR_POLL_TO_ENGINE_DIFF +lwz r5, DIB_POLL_TO_ENGINE_US(REG_DIB) +branchl r12, 0x80302d4c # DevelopText_FormatAndPrint + +mr r3, REG_DEVELOP_TEXT +addi r4, REG_DATA, DO_LD_STR_COLOR_ERRORS +lwz r5, DIB_COLOR_FAIL_COUNT(REG_DIB) +branchl r12, 0x80302d4c # DevelopText_FormatAndPrint + +mr r3, REG_DEVELOP_TEXT +addi r4, REG_DATA, DO_LD_STR_FAILED_COLOR +lwz r5, DIB_FAILED_COLOR(REG_DIB) branchl r12, 0x80302d4c # DevelopText_FormatAndPrint # Check if game over @@ -188,14 +209,14 @@ bl DATA_BLRL mflr REG_DATA #Create Rectangle -li r3, 1000 +li r3, 1200 branchl r12, HSD_MemAlloc mr r8, r3 li r3, 31 # ID li r4, 0 # X Pos, bottom right: 638 li r5, 0 # Y Pos, bottom right: 478 li r6, 29 -li r7, 8 +li r7, 12 branchl r12, 0x80302834 # DevelopText_CreateDataTable mr REG_DEVELOP_TEXT, r3 #Activate Text diff --git a/External/Debug Inputs/LogEngineTime.asm b/External/Debug Inputs/LogEngineTime.asm index 3694837c..51664287 100644 --- a/External/Debug Inputs/LogEngineTime.asm +++ b/External/Debug Inputs/LogEngineTime.asm @@ -51,6 +51,8 @@ mr REG_DIFF_US, r3 # loadGlobalFrame r4 # logf "ENGINE %u 0x%X %u" # Label Frame TimeUs +stw REG_DIFF_US, DIB_POLL_TO_ENGINE_US(REG_DIB) + # Adjust develop text BG color lwz r3, DIB_COLOR_KEY_DTEXT_ADDR(REG_DIB) stb REG_KEY, BKP_FREE_SPACE_OFFSET+0(sp) @@ -63,11 +65,11 @@ stw r4, BKP_FREE_SPACE_OFFSET(sp) addi r4, sp, BKP_FREE_SPACE_OFFSET branchl r12, 0x80302b90 # DevelopText_StoreBGColor +RESTORE_AND_EXIT: # Restore interrupts mr r3, REG_INTERRUPTS branchl r12, OSRestoreInterrupts -RESTORE_AND_EXIT: restore EXIT: diff --git a/External/Debug Inputs/StoreCaptureTimes.asm b/External/Debug Inputs/LogFetchTime.asm similarity index 96% rename from External/Debug Inputs/StoreCaptureTimes.asm rename to External/Debug Inputs/LogFetchTime.asm index 29ae1582..cc4407f6 100644 --- a/External/Debug Inputs/StoreCaptureTimes.asm +++ b/External/Debug Inputs/LogFetchTime.asm @@ -49,7 +49,7 @@ stwx r3, REG_DIB, r4 # Log # loadwz r7, 0xCC006430 # Includes details to poll more often. http://hitmen.c02.at/files/yagcd/yagcd/chap5.html#sec5.8 # loadwz r7, 0xCC006434 -# lwz r6, DIB_CALLBACK_COUNT(REG_DIB) +# lwz r6, DIB_POLL_COUNT(REG_DIB) # lwz r5, P1_PAD_OFFSET(sp) # rlwinm r5, r5, 16, 0xF # loadGlobalFrame r4 @@ -77,13 +77,13 @@ stw r3, DIB_FETCH_DIFF_US(REG_DIB) # Store time since poll lwz r3, DIB_LAST_POLL_TIME(REG_DIB) calcDiffUs REG_FETCH_TIME, r3 -stw r3, DIB_FETCH_TO_POLL_US(REG_DIB) +stw r3, DIB_POLL_TO_FETCH_US(REG_DIB) +RESTORE_AND_EXIT: # Restore interrupts mr r3, REG_INTERRUPTS branchl r12, OSRestoreInterrupts -RESTORE_AND_EXIT: restore EXIT: diff --git a/External/Debug Inputs/LogFrameScanoutStart.asm b/External/Debug Inputs/LogFrameScanoutStart.asm deleted file mode 100644 index b48cdfd5..00000000 --- a/External/Debug Inputs/LogFrameScanoutStart.asm +++ /dev/null @@ -1,73 +0,0 @@ -################################################################################ -# Address: 0x80375c14 # End of VIPreRetraceCB -################################################################################ - -.include "Common/Common.s" -.include "./DebugInputs.s" - -# Check if VS Mode -getMinorMajor r3 -cmpwi r3, 0x0202 -bne EXIT - -load r3, 0x80479d64 -lwz r3, 0x0(r3) # 0x80479d64 - Believed to be some loading state -cmpwi r3, 0 # Loading state should be zero when game starts -bne EXIT - -.set REG_DIB, 31 -.set REG_INTERRUPTS, 30 -.set REG_DIFF_US, 29 -.set REG_KEY, 28 -.set REG_DEVELOP_TEXT, 27 - -backup - -branchl r12, OSDisableInterrupts -mr REG_INTERRUPTS, r3 - -# Fetch DIB -computeBranchTargetAddress r3, INJ_InitDebugInputs -lwz REG_DIB, 8+0(r3) - -# Check if DIB is ready (poll has happened) -lbz r3, DIB_ACTIVE_STATE(REG_DIB) -cmpwi r3, 0 -beq RESTORE_AND_EXIT - -# Fetch/convert key from frame -# https://docs.google.com/spreadsheets/d/1EKnVQmAbt5LCipXq_aGCMJ_utsOlPqM_O0UJ3cnWm4c/edit#gid=0 -loadwz r3, 0x804a8b10 # Load ptr to frame that will be scanned out -lwz r3, 0(r3) # Load top left pixel -rlwinm r3, r3, 8, 0xFF # Extract top byte -subi r3, r3, 15 -mulli r3, r3, 6 -li r4, 5 -divwu r3, r3, r4 -rlwinm REG_KEY, r3, 28, 0xF # Extract 4 bits to get key - -# Calculate time diff -calcDiffFromFetchUs REG_DIB, REG_KEY -mr REG_DIFF_US, r3 - -# Log -# mr r7, REG_DIFF_US -# loadwz r6, 0x804a8b10 # Load ptr to frame that will be scanned out -# lwz r6, 0(r6) # Load top left pixel -# mr r5, REG_KEY -# loadGlobalFrame r4 -# subi r4, r4, 1 -# logf "BLANK %u 0x%X %X %u" # Label Frame TimeUs - -# Store latest latency -stw REG_DIFF_US, DIB_INPUT_TO_RENDER_US(REG_DIB) - -# Restore interrupts -mr r3, REG_INTERRUPTS -branchl r12, OSRestoreInterrupts - -RESTORE_AND_EXIT: -restore - -EXIT: -lwz r0, 0x0024(sp) # Replaced codeline \ No newline at end of file diff --git a/External/Debug Inputs/LogPollInterrupt.asm b/External/Debug Inputs/LogPollTime.asm similarity index 94% rename from External/Debug Inputs/LogPollInterrupt.asm rename to External/Debug Inputs/LogPollTime.asm index 818b87df..de37a00c 100644 --- a/External/Debug Inputs/LogPollInterrupt.asm +++ b/External/Debug Inputs/LogPollTime.asm @@ -28,9 +28,9 @@ mr REG_INTERRUPTS, r3 computeBranchTargetAddress r3, INJ_InitDebugInputs lwz REG_DIB, 8+0(r3) -lwz r3, DIB_CALLBACK_COUNT(REG_DIB) +lwz r3, DIB_POLL_COUNT(REG_DIB) addi r3, r3, 1 -stw r3, DIB_CALLBACK_COUNT(REG_DIB) +stw r3, DIB_POLL_COUNT(REG_DIB) # Write poll time branchl r12, 0x8034c408 # OSGetTick @@ -40,7 +40,7 @@ calcDiffUs r3, r4 # Calculate difference since last poll mr REG_DIFF_SINCE_LAST, r3 # Store min/max diff for logging -lwz r3, DIB_CALLBACK_COUNT(REG_DIB) +lwz r3, DIB_POLL_COUNT(REG_DIB) rlwinm. r3, r3, 0, 0xFF beq FN_PollingHandler_RESET_MIN_MAX # Reset every 256 polls, 2 seconds? @@ -63,11 +63,11 @@ stw REG_DIFF_SINCE_LAST, DIB_POLL_DIFF_MIN_US(REG_DIB) stw REG_DIFF_SINCE_LAST, DIB_POLL_DIFF_MAX_US(REG_DIB) FN_PollingHandler_MIN_MAX_END: +RESTORE_AND_EXIT: # Restore interrupts mr r3, REG_INTERRUPTS branchl r12, OSRestoreInterrupts -RESTORE_AND_EXIT: restore EXIT: diff --git a/External/Debug Inputs/LogScanoutTime.asm b/External/Debug Inputs/LogScanoutTime.asm new file mode 100644 index 00000000..55340f8b --- /dev/null +++ b/External/Debug Inputs/LogScanoutTime.asm @@ -0,0 +1,148 @@ +################################################################################ +# Address: 0x80375c14 # End of VIPreRetraceCB +################################################################################ + +.include "Common/Common.s" +.include "./DebugInputs.s" + +b CODE_START + +DATA_BLRL: +blrl +# The following is an array of the key colors with the 2nd and 4th byte masked out +# The 2nd and 4th byte seem to be either 7F or 80, easier to compare by just excluding them +# TODO: I commented the console versions of the colors but for some reason when I use those, +# TODO: the latency can get really jumpy so I have no idea what's up +.long 0x10001000 +.long 0x1E001E00 +.long 0x2B002B00 # 0x2C002C00 +.long 0x39003900 +.long 0x47004700 +.long 0x55005500 +.long 0x62006200 # 0x63006300 +.long 0x70007000 +.long 0x7E007E00 +.long 0x8C008C00 +.long 0x99009900 # 0x9A009A00 +.long 0xA700A700 +.long 0xB500B500 +.long 0xC300C300 +.long 0xD000D000 # 0xD100D100 +.long 0xDE00DE00 + +################################################################################ +# Function: GetIndexFromColor +################################################################################ +# Inputs: +# r3 - YUV Color +################################################################################ +# Output: +# r3 - 0-15 or -1 if color does not match +################################################################################ +.set REG_DATA, 31 +.set REG_IDX, 30 +.set REG_COLOR, 29 + +FN_GetIndexFromColor: +backup + +load r4, 0xFF00FF00 +and REG_COLOR, r3, r4 + +bl DATA_BLRL +mflr REG_DATA + +li REG_IDX, 0 +FN_GetIndexFromColor_LOOP_START: +mulli r3, REG_IDX, 4 +lwzx r3, REG_DATA, r3 +cmpw REG_COLOR, r3 +bne FN_GetIndexFromColor_LOOP_CONTINUE +mr r3, REG_IDX +b FN_GetIndexFromColor_RETURN +FN_GetIndexFromColor_LOOP_CONTINUE: +addi REG_IDX, REG_IDX, 1 +cmpwi REG_IDX, 16 +blt FN_GetIndexFromColor_LOOP_START + +li r3, -1 + +FN_GetIndexFromColor_RETURN: +restore +blr + +CODE_START: +# Check if VS Mode +getMinorMajor r3 +cmpwi r3, 0x0202 +bne EXIT + +load r3, 0x80479d64 +lwz r3, 0x0(r3) # 0x80479d64 - Believed to be some loading state +cmpwi r3, 0 # Loading state should be zero when game starts +bne EXIT + +.set REG_DIB, 31 +.set REG_INTERRUPTS, 30 +.set REG_DIFF_US, 29 +.set REG_KEY, 28 +.set REG_DEVELOP_TEXT, 27 +.set REG_COLOR, 26 + +backup + +branchl r12, OSDisableInterrupts +mr REG_INTERRUPTS, r3 + +# Fetch DIB +computeBranchTargetAddress r3, INJ_InitDebugInputs +lwz REG_DIB, 8+0(r3) + +# Check if DIB is ready (poll has happened) +lbz r3, DIB_ACTIVE_STATE(REG_DIB) +cmpwi r3, 0 +beq RESTORE_AND_EXIT + +# Fetch/convert key from frame +loadwz r3, 0x804a8b10 # Load ptr to frame that will be scanned out +lwz REG_COLOR, 4(r3) # Load top left pixel +mr r3, REG_COLOR +bl FN_GetIndexFromColor +cmpwi r3, 0 +bge CALC_DIFF + +# Color is invalid, increment count and exit +lwz r3, DIB_COLOR_FAIL_COUNT(REG_DIB) +addi r3, r3, 1 +stw r3, DIB_COLOR_FAIL_COUNT(REG_DIB) +stw REG_COLOR, DIB_FAILED_COLOR(REG_DIB) +b RESTORE_AND_EXIT + +CALC_DIFF: +mr REG_KEY, r3 + +# Calculate time diff +calcDiffFromFetchUs REG_DIB, REG_KEY +mr REG_DIFF_US, r3 + +# Log +# mr r7, REG_DIFF_US +# loadwz r6, 0x804a8b10 # Load ptr to frame that will be scanned out +# lwz r6, 0(r6) # Load top left pixel +# mr r5, REG_KEY +# loadGlobalFrame r4 +# subi r4, r4, 1 +# logf "BLANK %u 0x%X %X %u" # Label Frame TimeUs + +# Store latest latency +stw REG_DIFF_US, DIB_INPUT_TO_RENDER_US(REG_DIB) + +RESTORE_AND_EXIT: +# Restore interrupts +mr r3, REG_INTERRUPTS +branchl r12, OSRestoreInterrupts + +restore + +EXIT: +lwz r0, 0x0024(sp) # Replaced codeline \ No newline at end of file diff --git a/Output/Console/GALE01r2.ini b/Output/Console/GALE01r2.ini index 87d64df2..1e57453c 100644 --- a/Output/Console/GALE01r2.ini +++ b/Output/Console/GALE01r2.ini @@ -774,8 +774,8 @@ BA810008 800100B4 $Optional: Debug Game-Side Latency [Fizzi] *Shows latency information on screen while in-game -C216E774 0000008D #External/Debug Inputs/InitOnGameStart.asm -480003E4 4E800021 +C216E774 0000009F #External/Debug Inputs/InitOnGameStart.asm +48000474 4E800021 00000000 43480000 41C80000 000000FF 000000B4 E2E2E2FF @@ -793,41 +793,59 @@ C216E774 0000008D #External/Debug Inputs/InitOnGameStart.asm 75207573 0A004665 7463682D 46657463 683A2025 75207573 -0A004665 7463682D -506F6C6C 3A202575 -2075730A 00000000 -4E800021 4E800020 -4E800021 7C0802A6 -90010004 9421FF50 -BE810008 4BFFFF41 -7FE802A6 83DF0000 -83BE0006 887E0000 -2C030001 4082010C -7FA3EB78 3D808030 -618C2BB0 7D8903A6 +0A00506F 6C6C2D46 +65746368 3A202575 +2075730A 00506F6C +6C2D456E 67696E65 +3A202575 2075730A +0A00436F 6C6F7220 +4572726F 72733A20 +25750A00 4661696C +65642043 6F6C6F72 +3A203078 25303858 +0A000000 4E800021 +4E800020 4E800021 +7C0802A6 90010004 +9421FF50 BE810008 +4BFFFF05 7FE802A6 +83DF0000 83BE0006 +887E0000 2C030001 +40820160 7FA3EB78 +3D808030 618C2BB0 +7D8903A6 4E800421 +7FA3EB78 38800000 +38A00000 3D808030 +618C2A3C 7D8903A6 4E800421 7FA3EB78 -38800000 38A00000 -3D808030 618C2A3C +389F0020 80BE0056 +3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F0020 -80BE005A 3D808030 +7FA3EB78 389F003A +80BE006E 3D808030 618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F003A 80BE0016 +389F004A 80BE005A 3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F004A +7FA3EB78 389F0060 80BE005E 3D808030 618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F0060 80BE0062 +389F0076 80BE0062 3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F0076 +7FA3EB78 389F008A 80BE0066 3D808030 618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F008A 80BE006A +389F009D 80BE006A +3D808030 618C2D4C +7D8903A6 4E800421 +7FA3EB78 389F00B2 +80BE0072 3D808030 +618C2D4C 7D8903A6 +4E800421 7FA3EB78 +389F00C4 80BE0076 3D808030 618C2D4C 7D8903A6 4E800421 3C608046 6063B6A0 @@ -840,7 +858,7 @@ BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 -BE810008 4BFFFDF9 +BE810008 4BFFFD69 7FE802A6 38600020 3D808037 618CF1E4 7D8903A6 4E800421 @@ -864,13 +882,13 @@ D03E000C 807F0000 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 BE810008 -4BFFFD3D 7FE802A6 -386003E8 3D808037 +4BFFFCAD 7FE802A6 +386004B0 3D808037 618CF1E4 7D8903A6 4E800421 7C681B78 3860001F 38800000 38A00000 38C0001D -38E00008 3D808030 +38E0000C 3D808030 618C2834 7D8903A6 4E800421 7C7E1B78 806DB77C 7FC4F378 @@ -893,7 +911,7 @@ C05F001C 3D808030 38600013 38800014 38A00000 3D808039 618C01F0 7D8903A6 -4E800421 4BFFFCFD +4E800421 4BFFFCA9 7C8802A6 38A00007 3D808038 618CFD54 7D8903A6 4E800421 @@ -901,27 +919,27 @@ BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 -BE810008 3860006E +BE810008 3860007A 3D808037 618CF1E4 7D8903A6 4E800421 -4BFFFBFD 7C8802A6 +4BFFFB6D 7C8802A6 90640000 7C7E1B78 -3880006E 3D808000 +3880007A 3D808000 618CC160 7D8903A6 4E800421 4BFFFDD1 -4BFFFE89 4BFFFC75 +4BFFFE89 4BFFFC21 7C6802A6 907E0012 3D808034 618C9BF0 7D8903A6 4E800421 BA810008 800100B4 382100B0 7C0803A6 C022A8C8 00000000 -C21A4DEC 00000027 #External/Debug Inputs/LogEngineTime.asm +C21A4DEC 00000028 #External/Debug Inputs/LogEngineTime.asm 3C608048 80639D30 5463443E 2C030202 -40820120 3C608048 +40820124 3C608048 80639D60 2C030000 -40810110 7C0802A6 +40810114 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 7D8903A6 @@ -932,36 +950,37 @@ BE810008 3D808034 5484043A 7C842B78 7C632214 83E30008 887F0000 2C030000 -418200A8 3C80804C +41820098 3C80804C 60841FAC 80640000 547C073E 54630036 90640000 3D808034 618CC408 7D8903A6 4E800421 1C9C0004 -3884001A 7C9F202E +38840016 7C9F202E 7C641850 1C63000C 3C808000 608400FC 80840000 38A003E8 7C842B96 7C842B96 7C632396 7C7D1B78 -807F0002 9B810038 -9B810039 9B81003A -80810038 54842026 -608400FF 90810038 -38810038 3D808030 -618C2B90 7D8903A6 -4E800421 7FC3F378 -3D808034 618C738C +93BF006A 807F0002 +9B810038 9B810039 +9B81003A 80810038 +54842026 608400FF +90810038 38810038 +3D808030 618C2B90 7D8903A6 4E800421 -BA810008 800100B4 -382100B0 7C0803A6 -800D9368 00000000 -C2375C14 00000024 #External/Debug Inputs/LogFrameScanoutStart.asm +7FC3F378 3D808034 +618C738C 7D8903A6 +4E800421 BA810008 +800100B4 382100B0 +7C0803A6 800D9368 +60000000 00000000 +C2376A88 0000002D #External/Debug Inputs/LogFetchTime.asm 3C608048 80639D30 5463443E 2C030202 -40820104 3C608047 +40820150 3C608047 60639D64 80630000 -2C030000 408200F0 +2C030000 4082013C 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 @@ -971,29 +990,38 @@ C2375C14 00000024 #External/Debug Inputs/LogFrameScanoutStart.asm 5485863E 7CA50774 54A5801E 5484043A 7C842B78 7C632214 -83E30008 887F0000 -2C030000 41820088 -3C60804A 60638B10 -80630000 80630000 -5463463E 3863FFF1 -1C630006 38800005 -7C632396 547CE73E -3D808034 618CC408 -7D8903A6 4E800421 -1C9C0004 3884001A -7C9F202E 7C641850 +83E30008 806100DC +54638036 889F0001 +7C632378 5463803E +906100DC 807F000A +889F0001 1C840004 +38840016 7C7F212E +887F0001 38630001 +2C030010 41800008 +38600000 987F0001 +887F0000 2C030000 +4082000C 38600001 +987F0000 3D808034 +618CC408 7D8903A6 +4E800421 7C7D1B78 +809F000E 93BF000E +7C64E850 1C63000C +3C808000 608400FC +80840000 38A003E8 +7C842B96 7C842B96 +7C632396 907F0062 +807F000A 7C63E850 1C63000C 3C808000 608400FC 80840000 38A003E8 7C842B96 7C842B96 7C632396 -7C7D1B78 93BF005A -7FC3F378 3D808034 -618C738C 7D8903A6 -4E800421 BA810008 -800100B4 382100B0 -7C0803A6 80010024 -60000000 00000000 -C2349A28 00000025 #External/Debug Inputs/LogPollInterrupt.asm +907F0066 7FC3F378 +3D808034 618C738C +7D8903A6 4E800421 +BA810008 800100B4 +382100B0 7C0803A6 +881F0002 00000000 +C2349A28 00000025 #External/Debug Inputs/LogPollTime.asm 3C608048 80639D30 5463443E 2C030202 4082010C 3C608047 @@ -1008,8 +1036,8 @@ C2349A28 00000025 #External/Debug Inputs/LogPollInterrupt.asm 5485863E 7CA50774 54A5801E 5484043A 7C842B78 7C632214 -83E30008 807F0016 -38630001 907F0016 +83E30008 807F006E +38630001 907F006E 3D808034 618CC408 7D8903A6 4E800421 809F000A 907F000A @@ -1018,62 +1046,76 @@ C2349A28 00000025 #External/Debug Inputs/LogPollInterrupt.asm 80840000 38A003E8 7C842B96 7C842B96 7C632396 7C7D1B78 -807F0016 5463063F -41820028 807F005E +807F006E 5463063F +41820028 807F005A 7C1D1800 40800008 -93BF005E 807F0062 +93BF005A 807F005E 7C1D1800 40810008 -93BF0062 4800000C -93BF005E 93BF0062 +93BF005E 4800000C +93BF005A 93BF005E 7FC3F378 3D808034 618C738C 7D8903A6 4E800421 BA810008 800100B4 382100B0 7C0803A6 80B80000 60000000 00000000 -C2376A88 0000002D #External/Debug Inputs/StoreCaptureTimes.asm -3C608048 80639D30 -5463443E 2C030202 -40820150 3C608047 -60639D64 80630000 -2C030000 4082013C +C2375C14 0000003B #External/Debug Inputs/LogScanoutTime.asm +480000AC 4E800021 +10001000 1E001E00 +2C002C00 39003900 +47004700 55005500 +63006300 70007000 +7E007E00 8C008C00 +9A009A00 A700A700 +B500B500 C300C300 +D100D100 DE00DE00 7C0802A6 90010004 9421FF50 BE810008 -3D808034 618C7364 -7D8903A6 4E800421 -7C7E1B78 3C608016 -6063E774 80830000 -5485863E 7CA50774 -54A5801E 5484043A -7C842B78 7C632214 -83E30008 806100DC -54638036 889F0001 -7C632378 5463803E -906100DC 807F000A -889F0001 1C840004 -3884001A 7C7F212E -887F0001 38630001 -2C030010 41800008 -38600000 987F0001 +3C80FF00 6084FF00 +7C7D2038 4BFFFFA1 +7FE802A6 3BC00000 +1C7E0004 7C7F182E +7C1D1800 4082000C +7FC3F378 48000014 +3BDE0001 2C1E0010 +4180FFE0 3860FFFF +BA810008 800100B4 +382100B0 7C0803A6 +4E800020 3C608048 +80639D30 5463443E +2C030202 40820114 +3C608047 60639D64 +80630000 2C030000 +40820100 7C0802A6 +90010004 9421FF50 +BE810008 3D808034 +618C7364 7D8903A6 +4E800421 7C7E1B78 +3C608016 6063E774 +80830000 5485863E +7CA50774 54A5801E +5484043A 7C842B78 +7C632214 83E30008 887F0000 2C030000 -4082000C 38600001 -987F0000 3D808034 +41820084 3C60804A +60638B10 80630000 +83430004 7F43D378 +4BFFFF09 2C030000 +40800018 807F0072 +38630001 907F0072 +935F0076 48000050 +7C7C1B78 3D808034 618CC408 7D8903A6 -4E800421 7C7D1B78 -809F000E 93BF000E -7C64E850 1C63000C +4E800421 1C9C0004 +38840016 7C9F202E +7C641850 1C63000C 3C808000 608400FC 80840000 38A003E8 7C842B96 7C842B96 -7C632396 907F0066 -807F000A 7C63E850 -1C63000C 3C808000 -608400FC 80840000 -38A003E8 7C842B96 -7C842B96 7C632396 -907F006A 7FC3F378 +7C632396 7C7D1B78 +93BF0056 7FC3F378 3D808034 618C738C 7D8903A6 4E800421 BA810008 800100B4 382100B0 7C0803A6 -881F0002 00000000 +80010024 00000000 diff --git a/Output/Console/g_core.bin b/Output/Console/g_core.bin index 2ecdc41b2c6abadb63eb1173a0a97da18b92d9cd..bbdf0d923846a1c0261362f235ead499153051fb 100644 GIT binary patch delta 770 zcmZvZ%}*0i6vgi=Q&SpZs%hxdLOV5(kXWTV28sffuUN${5Dg(^U_gY_mJAGb*b;YsyQgH$~wO-;DLw%RfyqnY8qo*UxXbXJqvG%c%5Sgsq| z2S(GwLz3NSkfOQjsC>(f*Tl2TiQ}S=DYziUSPvFOpR;GU95Kfps?&=GU&E+8geKwGz@2xv9u=HN} zcjxDR!u++EFpt7m4AfQEG%CE4tLxEjwe?b@#NlYpv#MiHiIe~|&oM9Z%A0HrS1W2+ zIf}trHilm-`fwxkg6gZ%1RKPHbdKG|FH!_^L8CMytH72G$gG6oa;957(bSTM8g4+Z zUMWH|2N%ABUaC`eJ!jXcPN1J8pH9ly`;PtPVSExgY4mvkAV%HoE)HQ2cpykbh=Ors?xKho2&-W;xl5B9xe3a=3HppACrtC1^$4*7K*cNw zx*=ZBL)OZ9D5I5fw1hWy04x#&PYXATvSON8IPLvkj9!YdLs8d-7Hrr*v|GjJc}1O+tf5L-JgMkYpD-9cCsbpz9T&VhKRsFgP?a3QRsD z6VA9|vWl!eqts*`C7sDFvN0wMKyb)BMg&NyU@?RRDCVA!JU68w85}GO4owUnKn6K> z0A;)qlDh>!G9Vn1>}F??{Qsj&G6NgX(X2Je%F{w>p4$N(Z<5$^gahVynK=wB7A*`Q zC+IUqO}0_eU`YVlJ~>3bnN!RnnSpUaJ%iZf2lCFQVj;a~kljOC5aik-!0{|wT Bsa*g7 diff --git a/Output/Console/g_core_porta.bin b/Output/Console/g_core_porta.bin index a4e22dd0ed43760d5e445656edd0f35344f611bc..d32ec18ff6abc62213031170c7dd916203a43e0f 100644 GIT binary patch delta 770 zcmZvZ%}*0i6vgi=Q&SpZs%hxdLOV5(kXWTV28sffuUN${5Dg(^U_gY_mJAGb*b;YsyQgH$~wO-;DLw%RfyqnY8qo*UxXbXJqvG%c%5Sgsq| z2S(GwLz3NSkfOQjsC>(f*Tl2TiQ}S=DYziUSPvFOpR;GU95Kfps?&=GU&E+8geKwGz@2xv9u=HN} zcjxDR!u++EFpt7m4AfQEG%CE4tLxEjwe?b@#NlYpv#MiHiIe~|&oM9Z%A0HrS1W2+ zIf}trHilm-`fwxkg6gZ%1RKPHbdKG|FH!_^L8CMytH72G$gG6oa;957(bSTM8g4+Z zUMWH|2N%ABUaC`eJ!jXcPN1J8pH9ly`;PtPVSExgY4mvkAV%HoE)HQ2cpykbh=Ors?xKho2&-W;xl5B9xe3a=3HppACrtC1^$4*7K*cNw zx*=ZBL)OZ9D5I5fw1hWy04x#&PYXATvSON8IPLvkj9!YdLs8d-7Hrr*v|GjJc}1O+tf5L-JgMkYpD-9cCsbpz9T&VhKRsFgP?a3QRsD z6VA9|vWl!eqts*`C7sDFvN0wMKyb)BMg&NyU@?RRDCVA!JU68w85}GO4owUnKn6K> z0A;)qlDh>!G9Vn1>}F??{Qsj&G6NgX(X2Je%F{w>p4$N(Z<5$^gahVynK=wB7A*`Q zC+IUqO}0_eU`YVlJ~>3bnN!RnnSpUaJ%iZf2lCFQVj;a~kljOC5aik-!0{|wT Bsa*g7 diff --git a/Output/Netplay/GALE01r2.ini b/Output/Netplay/GALE01r2.ini index e4942b67..3da62537 100644 --- a/Output/Netplay/GALE01r2.ini +++ b/Output/Netplay/GALE01r2.ini @@ -5697,8 +5697,8 @@ C22FD1EC 0000000E #Online/Optional/IndicateLocalPlayer/SetLocalPlayerTag.asm $Optional: Debug Game-Side Latency [Fizzi] *Shows latency information on screen while in-game -C216E774 0000008D #External/Debug Inputs/InitOnGameStart.asm -480003E4 4E800021 +C216E774 0000009F #External/Debug Inputs/InitOnGameStart.asm +48000474 4E800021 00000000 43480000 41C80000 000000FF 000000B4 E2E2E2FF @@ -5716,41 +5716,59 @@ C216E774 0000008D #External/Debug Inputs/InitOnGameStart.asm 75207573 0A004665 7463682D 46657463 683A2025 75207573 -0A004665 7463682D -506F6C6C 3A202575 -2075730A 00000000 -4E800021 4E800020 -4E800021 7C0802A6 -90010004 9421FF50 -BE810008 4BFFFF41 -7FE802A6 83DF0000 -83BE0006 887E0000 -2C030001 4082010C -7FA3EB78 3D808030 -618C2BB0 7D8903A6 +0A00506F 6C6C2D46 +65746368 3A202575 +2075730A 00506F6C +6C2D456E 67696E65 +3A202575 2075730A +0A00436F 6C6F7220 +4572726F 72733A20 +25750A00 4661696C +65642043 6F6C6F72 +3A203078 25303858 +0A000000 4E800021 +4E800020 4E800021 +7C0802A6 90010004 +9421FF50 BE810008 +4BFFFF05 7FE802A6 +83DF0000 83BE0006 +887E0000 2C030001 +40820160 7FA3EB78 +3D808030 618C2BB0 +7D8903A6 4E800421 +7FA3EB78 38800000 +38A00000 3D808030 +618C2A3C 7D8903A6 4E800421 7FA3EB78 -38800000 38A00000 -3D808030 618C2A3C +389F0020 80BE0056 +3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F0020 -80BE005A 3D808030 +7FA3EB78 389F003A +80BE006E 3D808030 618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F003A 80BE0016 +389F004A 80BE005A 3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F004A +7FA3EB78 389F0060 80BE005E 3D808030 618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F0060 80BE0062 +389F0076 80BE0062 3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F0076 +7FA3EB78 389F008A 80BE0066 3D808030 618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F008A 80BE006A +389F009D 80BE006A +3D808030 618C2D4C +7D8903A6 4E800421 +7FA3EB78 389F00B2 +80BE0072 3D808030 +618C2D4C 7D8903A6 +4E800421 7FA3EB78 +389F00C4 80BE0076 3D808030 618C2D4C 7D8903A6 4E800421 3C608046 6063B6A0 @@ -5763,7 +5781,7 @@ BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 -BE810008 4BFFFDF9 +BE810008 4BFFFD69 7FE802A6 38600020 3D808037 618CF1E4 7D8903A6 4E800421 @@ -5787,13 +5805,13 @@ D03E000C 807F0000 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 BE810008 -4BFFFD3D 7FE802A6 -386003E8 3D808037 +4BFFFCAD 7FE802A6 +386004B0 3D808037 618CF1E4 7D8903A6 4E800421 7C681B78 3860001F 38800000 38A00000 38C0001D -38E00008 3D808030 +38E0000C 3D808030 618C2834 7D8903A6 4E800421 7C7E1B78 806DB77C 7FC4F378 @@ -5816,7 +5834,7 @@ C05F001C 3D808030 38600013 38800014 38A00000 3D808039 618C01F0 7D8903A6 -4E800421 4BFFFCFD +4E800421 4BFFFCA9 7C8802A6 38A00007 3D808038 618CFD54 7D8903A6 4E800421 @@ -5824,27 +5842,27 @@ BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 -BE810008 3860006E +BE810008 3860007A 3D808037 618CF1E4 7D8903A6 4E800421 -4BFFFBFD 7C8802A6 +4BFFFB6D 7C8802A6 90640000 7C7E1B78 -3880006E 3D808000 +3880007A 3D808000 618CC160 7D8903A6 4E800421 4BFFFDD1 -4BFFFE89 4BFFFC75 +4BFFFE89 4BFFFC21 7C6802A6 907E0012 3D808034 618C9BF0 7D8903A6 4E800421 BA810008 800100B4 382100B0 7C0803A6 C022A8C8 00000000 -C21A4DEC 00000027 #External/Debug Inputs/LogEngineTime.asm +C21A4DEC 00000028 #External/Debug Inputs/LogEngineTime.asm 3C608048 80639D30 5463443E 2C030202 -40820120 3C608048 +40820124 3C608048 80639D60 2C030000 -40810110 7C0802A6 +40810114 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 7D8903A6 @@ -5855,36 +5873,37 @@ BE810008 3D808034 5484043A 7C842B78 7C632214 83E30008 887F0000 2C030000 -418200A8 3C80804C +41820098 3C80804C 60841FAC 80640000 547C073E 54630036 90640000 3D808034 618CC408 7D8903A6 4E800421 1C9C0004 -3884001A 7C9F202E +38840016 7C9F202E 7C641850 1C63000C 3C808000 608400FC 80840000 38A003E8 7C842B96 7C842B96 7C632396 7C7D1B78 -807F0002 9B810038 -9B810039 9B81003A -80810038 54842026 -608400FF 90810038 -38810038 3D808030 -618C2B90 7D8903A6 -4E800421 7FC3F378 -3D808034 618C738C +93BF006A 807F0002 +9B810038 9B810039 +9B81003A 80810038 +54842026 608400FF +90810038 38810038 +3D808030 618C2B90 7D8903A6 4E800421 -BA810008 800100B4 -382100B0 7C0803A6 -800D9368 00000000 -C2375C14 00000024 #External/Debug Inputs/LogFrameScanoutStart.asm +7FC3F378 3D808034 +618C738C 7D8903A6 +4E800421 BA810008 +800100B4 382100B0 +7C0803A6 800D9368 +60000000 00000000 +C2376A88 0000002D #External/Debug Inputs/LogFetchTime.asm 3C608048 80639D30 5463443E 2C030202 -40820104 3C608047 +40820150 3C608047 60639D64 80630000 -2C030000 408200F0 +2C030000 4082013C 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 @@ -5894,29 +5913,38 @@ C2375C14 00000024 #External/Debug Inputs/LogFrameScanoutStart.asm 5485863E 7CA50774 54A5801E 5484043A 7C842B78 7C632214 -83E30008 887F0000 -2C030000 41820088 -3C60804A 60638B10 -80630000 80630000 -5463463E 3863FFF1 -1C630006 38800005 -7C632396 547CE73E -3D808034 618CC408 -7D8903A6 4E800421 -1C9C0004 3884001A -7C9F202E 7C641850 +83E30008 806100DC +54638036 889F0001 +7C632378 5463803E +906100DC 807F000A +889F0001 1C840004 +38840016 7C7F212E +887F0001 38630001 +2C030010 41800008 +38600000 987F0001 +887F0000 2C030000 +4082000C 38600001 +987F0000 3D808034 +618CC408 7D8903A6 +4E800421 7C7D1B78 +809F000E 93BF000E +7C64E850 1C63000C +3C808000 608400FC +80840000 38A003E8 +7C842B96 7C842B96 +7C632396 907F0062 +807F000A 7C63E850 1C63000C 3C808000 608400FC 80840000 38A003E8 7C842B96 7C842B96 7C632396 -7C7D1B78 93BF005A -7FC3F378 3D808034 -618C738C 7D8903A6 -4E800421 BA810008 -800100B4 382100B0 -7C0803A6 80010024 -60000000 00000000 -C2349A28 00000025 #External/Debug Inputs/LogPollInterrupt.asm +907F0066 7FC3F378 +3D808034 618C738C +7D8903A6 4E800421 +BA810008 800100B4 +382100B0 7C0803A6 +881F0002 00000000 +C2349A28 00000025 #External/Debug Inputs/LogPollTime.asm 3C608048 80639D30 5463443E 2C030202 4082010C 3C608047 @@ -5931,8 +5959,8 @@ C2349A28 00000025 #External/Debug Inputs/LogPollInterrupt.asm 5485863E 7CA50774 54A5801E 5484043A 7C842B78 7C632214 -83E30008 807F0016 -38630001 907F0016 +83E30008 807F006E +38630001 907F006E 3D808034 618CC408 7D8903A6 4E800421 809F000A 907F000A @@ -5941,65 +5969,79 @@ C2349A28 00000025 #External/Debug Inputs/LogPollInterrupt.asm 80840000 38A003E8 7C842B96 7C842B96 7C632396 7C7D1B78 -807F0016 5463063F -41820028 807F005E +807F006E 5463063F +41820028 807F005A 7C1D1800 40800008 -93BF005E 807F0062 +93BF005A 807F005E 7C1D1800 40810008 -93BF0062 4800000C -93BF005E 93BF0062 +93BF005E 4800000C +93BF005A 93BF005E 7FC3F378 3D808034 618C738C 7D8903A6 4E800421 BA810008 800100B4 382100B0 7C0803A6 80B80000 60000000 00000000 -C2376A88 0000002D #External/Debug Inputs/StoreCaptureTimes.asm -3C608048 80639D30 -5463443E 2C030202 -40820150 3C608047 -60639D64 80630000 -2C030000 4082013C +C2375C14 0000003B #External/Debug Inputs/LogScanoutTime.asm +480000AC 4E800021 +10001000 1E001E00 +2C002C00 39003900 +47004700 55005500 +63006300 70007000 +7E007E00 8C008C00 +9A009A00 A700A700 +B500B500 C300C300 +D100D100 DE00DE00 7C0802A6 90010004 9421FF50 BE810008 -3D808034 618C7364 -7D8903A6 4E800421 -7C7E1B78 3C608016 -6063E774 80830000 -5485863E 7CA50774 -54A5801E 5484043A -7C842B78 7C632214 -83E30008 806100DC -54638036 889F0001 -7C632378 5463803E -906100DC 807F000A -889F0001 1C840004 -3884001A 7C7F212E -887F0001 38630001 -2C030010 41800008 -38600000 987F0001 +3C80FF00 6084FF00 +7C7D2038 4BFFFFA1 +7FE802A6 3BC00000 +1C7E0004 7C7F182E +7C1D1800 4082000C +7FC3F378 48000014 +3BDE0001 2C1E0010 +4180FFE0 3860FFFF +BA810008 800100B4 +382100B0 7C0803A6 +4E800020 3C608048 +80639D30 5463443E +2C030202 40820114 +3C608047 60639D64 +80630000 2C030000 +40820100 7C0802A6 +90010004 9421FF50 +BE810008 3D808034 +618C7364 7D8903A6 +4E800421 7C7E1B78 +3C608016 6063E774 +80830000 5485863E +7CA50774 54A5801E +5484043A 7C842B78 +7C632214 83E30008 887F0000 2C030000 -4082000C 38600001 -987F0000 3D808034 +41820084 3C60804A +60638B10 80630000 +83430004 7F43D378 +4BFFFF09 2C030000 +40800018 807F0072 +38630001 907F0072 +935F0076 48000050 +7C7C1B78 3D808034 618CC408 7D8903A6 -4E800421 7C7D1B78 -809F000E 93BF000E -7C64E850 1C63000C +4E800421 1C9C0004 +38840016 7C9F202E +7C641850 1C63000C 3C808000 608400FC 80840000 38A003E8 7C842B96 7C842B96 -7C632396 907F0066 -807F000A 7C63E850 -1C63000C 3C808000 -608400FC 80840000 -38A003E8 7C842B96 -7C842B96 7C632396 -907F006A 7FC3F378 +7C632396 7C7D1B78 +93BF0056 7FC3F378 3D808034 618C738C 7D8903A6 4E800421 BA810008 800100B4 382100B0 7C0803A6 -881F0002 00000000 +80010024 00000000 041BFA20 38600002 #External/Boot to CSS/Boot To CSS.asm $Optional: PD+VB [taukhan] diff --git a/Output/Netplay/GALJ01r2.ini b/Output/Netplay/GALJ01r2.ini index fd18a587..87984c22 100644 --- a/Output/Netplay/GALJ01r2.ini +++ b/Output/Netplay/GALJ01r2.ini @@ -5697,8 +5697,8 @@ C22FD1EC 0000000E #Online/Optional/IndicateLocalPlayer/SetLocalPlayerTag.asm $Optional: Debug Game-Side Latency [Fizzi] *Shows latency information on screen while in-game -C216E774 0000008D #External/Debug Inputs/InitOnGameStart.asm -480003E4 4E800021 +C216E774 0000009F #External/Debug Inputs/InitOnGameStart.asm +48000474 4E800021 00000000 43480000 41C80000 000000FF 000000B4 E2E2E2FF @@ -5716,41 +5716,59 @@ C216E774 0000008D #External/Debug Inputs/InitOnGameStart.asm 75207573 0A004665 7463682D 46657463 683A2025 75207573 -0A004665 7463682D -506F6C6C 3A202575 -2075730A 00000000 -4E800021 4E800020 -4E800021 7C0802A6 -90010004 9421FF50 -BE810008 4BFFFF41 -7FE802A6 83DF0000 -83BE0006 887E0000 -2C030001 4082010C -7FA3EB78 3D808030 -618C2BB0 7D8903A6 +0A00506F 6C6C2D46 +65746368 3A202575 +2075730A 00506F6C +6C2D456E 67696E65 +3A202575 2075730A +0A00436F 6C6F7220 +4572726F 72733A20 +25750A00 4661696C +65642043 6F6C6F72 +3A203078 25303858 +0A000000 4E800021 +4E800020 4E800021 +7C0802A6 90010004 +9421FF50 BE810008 +4BFFFF05 7FE802A6 +83DF0000 83BE0006 +887E0000 2C030001 +40820160 7FA3EB78 +3D808030 618C2BB0 +7D8903A6 4E800421 +7FA3EB78 38800000 +38A00000 3D808030 +618C2A3C 7D8903A6 4E800421 7FA3EB78 -38800000 38A00000 -3D808030 618C2A3C +389F0020 80BE0056 +3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F0020 -80BE005A 3D808030 +7FA3EB78 389F003A +80BE006E 3D808030 618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F003A 80BE0016 +389F004A 80BE005A 3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F004A +7FA3EB78 389F0060 80BE005E 3D808030 618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F0060 80BE0062 +389F0076 80BE0062 3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F0076 +7FA3EB78 389F008A 80BE0066 3D808030 618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F008A 80BE006A +389F009D 80BE006A +3D808030 618C2D4C +7D8903A6 4E800421 +7FA3EB78 389F00B2 +80BE0072 3D808030 +618C2D4C 7D8903A6 +4E800421 7FA3EB78 +389F00C4 80BE0076 3D808030 618C2D4C 7D8903A6 4E800421 3C608046 6063B6A0 @@ -5763,7 +5781,7 @@ BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 -BE810008 4BFFFDF9 +BE810008 4BFFFD69 7FE802A6 38600020 3D808037 618CF1E4 7D8903A6 4E800421 @@ -5787,13 +5805,13 @@ D03E000C 807F0000 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 BE810008 -4BFFFD3D 7FE802A6 -386003E8 3D808037 +4BFFFCAD 7FE802A6 +386004B0 3D808037 618CF1E4 7D8903A6 4E800421 7C681B78 3860001F 38800000 38A00000 38C0001D -38E00008 3D808030 +38E0000C 3D808030 618C2834 7D8903A6 4E800421 7C7E1B78 806DB77C 7FC4F378 @@ -5816,7 +5834,7 @@ C05F001C 3D808030 38600013 38800014 38A00000 3D808039 618C01F0 7D8903A6 -4E800421 4BFFFCFD +4E800421 4BFFFCA9 7C8802A6 38A00007 3D808038 618CFD54 7D8903A6 4E800421 @@ -5824,27 +5842,27 @@ BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 -BE810008 3860006E +BE810008 3860007A 3D808037 618CF1E4 7D8903A6 4E800421 -4BFFFBFD 7C8802A6 +4BFFFB6D 7C8802A6 90640000 7C7E1B78 -3880006E 3D808000 +3880007A 3D808000 618CC160 7D8903A6 4E800421 4BFFFDD1 -4BFFFE89 4BFFFC75 +4BFFFE89 4BFFFC21 7C6802A6 907E0012 3D808034 618C9BF0 7D8903A6 4E800421 BA810008 800100B4 382100B0 7C0803A6 C022A8C8 00000000 -C21A4DEC 00000027 #External/Debug Inputs/LogEngineTime.asm +C21A4DEC 00000028 #External/Debug Inputs/LogEngineTime.asm 3C608048 80639D30 5463443E 2C030202 -40820120 3C608048 +40820124 3C608048 80639D60 2C030000 -40810110 7C0802A6 +40810114 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 7D8903A6 @@ -5855,36 +5873,37 @@ BE810008 3D808034 5484043A 7C842B78 7C632214 83E30008 887F0000 2C030000 -418200A8 3C80804C +41820098 3C80804C 60841FAC 80640000 547C073E 54630036 90640000 3D808034 618CC408 7D8903A6 4E800421 1C9C0004 -3884001A 7C9F202E +38840016 7C9F202E 7C641850 1C63000C 3C808000 608400FC 80840000 38A003E8 7C842B96 7C842B96 7C632396 7C7D1B78 -807F0002 9B810038 -9B810039 9B81003A -80810038 54842026 -608400FF 90810038 -38810038 3D808030 -618C2B90 7D8903A6 -4E800421 7FC3F378 -3D808034 618C738C +93BF006A 807F0002 +9B810038 9B810039 +9B81003A 80810038 +54842026 608400FF +90810038 38810038 +3D808030 618C2B90 7D8903A6 4E800421 -BA810008 800100B4 -382100B0 7C0803A6 -800D9368 00000000 -C2375C14 00000024 #External/Debug Inputs/LogFrameScanoutStart.asm +7FC3F378 3D808034 +618C738C 7D8903A6 +4E800421 BA810008 +800100B4 382100B0 +7C0803A6 800D9368 +60000000 00000000 +C2376A88 0000002D #External/Debug Inputs/LogFetchTime.asm 3C608048 80639D30 5463443E 2C030202 -40820104 3C608047 +40820150 3C608047 60639D64 80630000 -2C030000 408200F0 +2C030000 4082013C 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 @@ -5894,29 +5913,38 @@ C2375C14 00000024 #External/Debug Inputs/LogFrameScanoutStart.asm 5485863E 7CA50774 54A5801E 5484043A 7C842B78 7C632214 -83E30008 887F0000 -2C030000 41820088 -3C60804A 60638B10 -80630000 80630000 -5463463E 3863FFF1 -1C630006 38800005 -7C632396 547CE73E -3D808034 618CC408 -7D8903A6 4E800421 -1C9C0004 3884001A -7C9F202E 7C641850 +83E30008 806100DC +54638036 889F0001 +7C632378 5463803E +906100DC 807F000A +889F0001 1C840004 +38840016 7C7F212E +887F0001 38630001 +2C030010 41800008 +38600000 987F0001 +887F0000 2C030000 +4082000C 38600001 +987F0000 3D808034 +618CC408 7D8903A6 +4E800421 7C7D1B78 +809F000E 93BF000E +7C64E850 1C63000C +3C808000 608400FC +80840000 38A003E8 +7C842B96 7C842B96 +7C632396 907F0062 +807F000A 7C63E850 1C63000C 3C808000 608400FC 80840000 38A003E8 7C842B96 7C842B96 7C632396 -7C7D1B78 93BF005A -7FC3F378 3D808034 -618C738C 7D8903A6 -4E800421 BA810008 -800100B4 382100B0 -7C0803A6 80010024 -60000000 00000000 -C2349A28 00000025 #External/Debug Inputs/LogPollInterrupt.asm +907F0066 7FC3F378 +3D808034 618C738C +7D8903A6 4E800421 +BA810008 800100B4 +382100B0 7C0803A6 +881F0002 00000000 +C2349A28 00000025 #External/Debug Inputs/LogPollTime.asm 3C608048 80639D30 5463443E 2C030202 4082010C 3C608047 @@ -5931,8 +5959,8 @@ C2349A28 00000025 #External/Debug Inputs/LogPollInterrupt.asm 5485863E 7CA50774 54A5801E 5484043A 7C842B78 7C632214 -83E30008 807F0016 -38630001 907F0016 +83E30008 807F006E +38630001 907F006E 3D808034 618CC408 7D8903A6 4E800421 809F000A 907F000A @@ -5941,65 +5969,79 @@ C2349A28 00000025 #External/Debug Inputs/LogPollInterrupt.asm 80840000 38A003E8 7C842B96 7C842B96 7C632396 7C7D1B78 -807F0016 5463063F -41820028 807F005E +807F006E 5463063F +41820028 807F005A 7C1D1800 40800008 -93BF005E 807F0062 +93BF005A 807F005E 7C1D1800 40810008 -93BF0062 4800000C -93BF005E 93BF0062 +93BF005E 4800000C +93BF005A 93BF005E 7FC3F378 3D808034 618C738C 7D8903A6 4E800421 BA810008 800100B4 382100B0 7C0803A6 80B80000 60000000 00000000 -C2376A88 0000002D #External/Debug Inputs/StoreCaptureTimes.asm -3C608048 80639D30 -5463443E 2C030202 -40820150 3C608047 -60639D64 80630000 -2C030000 4082013C +C2375C14 0000003B #External/Debug Inputs/LogScanoutTime.asm +480000AC 4E800021 +10001000 1E001E00 +2C002C00 39003900 +47004700 55005500 +63006300 70007000 +7E007E00 8C008C00 +9A009A00 A700A700 +B500B500 C300C300 +D100D100 DE00DE00 7C0802A6 90010004 9421FF50 BE810008 -3D808034 618C7364 -7D8903A6 4E800421 -7C7E1B78 3C608016 -6063E774 80830000 -5485863E 7CA50774 -54A5801E 5484043A -7C842B78 7C632214 -83E30008 806100DC -54638036 889F0001 -7C632378 5463803E -906100DC 807F000A -889F0001 1C840004 -3884001A 7C7F212E -887F0001 38630001 -2C030010 41800008 -38600000 987F0001 +3C80FF00 6084FF00 +7C7D2038 4BFFFFA1 +7FE802A6 3BC00000 +1C7E0004 7C7F182E +7C1D1800 4082000C +7FC3F378 48000014 +3BDE0001 2C1E0010 +4180FFE0 3860FFFF +BA810008 800100B4 +382100B0 7C0803A6 +4E800020 3C608048 +80639D30 5463443E +2C030202 40820114 +3C608047 60639D64 +80630000 2C030000 +40820100 7C0802A6 +90010004 9421FF50 +BE810008 3D808034 +618C7364 7D8903A6 +4E800421 7C7E1B78 +3C608016 6063E774 +80830000 5485863E +7CA50774 54A5801E +5484043A 7C842B78 +7C632214 83E30008 887F0000 2C030000 -4082000C 38600001 -987F0000 3D808034 +41820084 3C60804A +60638B10 80630000 +83430004 7F43D378 +4BFFFF09 2C030000 +40800018 807F0072 +38630001 907F0072 +935F0076 48000050 +7C7C1B78 3D808034 618CC408 7D8903A6 -4E800421 7C7D1B78 -809F000E 93BF000E -7C64E850 1C63000C +4E800421 1C9C0004 +38840016 7C9F202E +7C641850 1C63000C 3C808000 608400FC 80840000 38A003E8 7C842B96 7C842B96 -7C632396 907F0066 -807F000A 7C63E850 -1C63000C 3C808000 -608400FC 80840000 -38A003E8 7C842B96 -7C842B96 7C632396 -907F006A 7FC3F378 +7C632396 7C7D1B78 +93BF0056 7FC3F378 3D808034 618C738C 7D8903A6 4E800421 BA810008 800100B4 382100B0 7C0803A6 -881F0002 00000000 +80010024 00000000 041BFA20 38600002 #External/Boot to CSS/Boot To CSS.asm $Optional: PD+VB [taukhan] From c311167ddc1a5bda2f5aae28c62f337ae4225696 Mon Sep 17 00:00:00 2001 From: Jas Laferriere Date: Mon, 14 Jun 2021 04:21:38 -0700 Subject: [PATCH 13/16] fix cache issue and do some clean up --- External/Debug Inputs/DebugInputs.s | 4 +- External/Debug Inputs/InitOnGameStart.asm | 34 +-- External/Debug Inputs/LogEngineTime.asm | 6 - External/Debug Inputs/LogFetchTime.asm | 11 +- External/Debug Inputs/LogScanoutTime.asm | 98 +++---- Output/Console/GALE01r2.ini | 297 ++++++++++------------ Output/Console/g_core.bin | Bin 8808 -> 8592 bytes Output/Console/g_core_porta.bin | Bin 8808 -> 8592 bytes Output/Netplay/GALE01r2.ini | 297 ++++++++++------------ Output/Netplay/GALJ01r2.ini | 297 ++++++++++------------ 10 files changed, 447 insertions(+), 597 deletions(-) diff --git a/External/Debug Inputs/DebugInputs.s b/External/Debug Inputs/DebugInputs.s index a62248f5..5e295e72 100644 --- a/External/Debug Inputs/DebugInputs.s +++ b/External/Debug Inputs/DebugInputs.s @@ -20,9 +20,7 @@ .set DIB_POLL_TO_FETCH_US, DIB_FETCH_DIFF_US + 4 # u32 .set DIB_POLL_TO_ENGINE_US, DIB_POLL_TO_FETCH_US + 4 # u32 .set DIB_POLL_COUNT, DIB_POLL_TO_ENGINE_US + 4 # u32 -.set DIB_COLOR_FAIL_COUNT, DIB_POLL_COUNT + 4 # u32 -.set DIB_FAILED_COLOR, DIB_COLOR_FAIL_COUNT + 4 # u32 -.set DIB_SIZE, DIB_FAILED_COLOR + 4 +.set DIB_SIZE, DIB_POLL_COUNT + 4 ################################################################################ # Macros diff --git a/External/Debug Inputs/InitOnGameStart.asm b/External/Debug Inputs/InitOnGameStart.asm index 77b0e991..e178e148 100644 --- a/External/Debug Inputs/InitOnGameStart.asm +++ b/External/Debug Inputs/InitOnGameStart.asm @@ -26,8 +26,8 @@ blrl .set DO_LD_TEXT_Y_SCALE, DO_LD_TEXT_X_SCALE + 4 .float 17 .set DO_LD_STR_LATENCY, DO_LD_TEXT_Y_SCALE + 4 -.string "Input to Retrace: %u us\n\n" -.set DO_LD_STR_POLL_COUNT, DO_LD_STR_LATENCY + 26 +.string "Total Game Lag: %u us\n\n" +.set DO_LD_STR_POLL_COUNT, DO_LD_STR_LATENCY + 24 .string "Poll Count: %u\n" .set DO_LD_STR_MIN_POLL_DIFF, DO_LD_STR_POLL_COUNT + 16 .string "Min Poll Diff: %u us\n" @@ -38,11 +38,7 @@ blrl .set DO_LD_STR_FETCH_TO_POLL_DIFF, DO_LD_STR_FETCH_DIFF + 20 .string "Poll-Fetch: %u us\n" .set DO_LD_STR_POLL_TO_ENGINE_DIFF, DO_LD_STR_FETCH_TO_POLL_DIFF + 19 -.string "Poll-Engine: %u us\n\n" -.set DO_LD_STR_COLOR_ERRORS, DO_LD_STR_POLL_TO_ENGINE_DIFF + 21 -.string "Color Errors: %u\n" -.set DO_LD_STR_FAILED_COLOR, DO_LD_STR_COLOR_ERRORS + 18 -.string "Failed Color: 0x%08X\n" +.string "Poll-Engine: %u us\n" .align 2 ################################################################################ @@ -121,16 +117,6 @@ addi r4, REG_DATA, DO_LD_STR_POLL_TO_ENGINE_DIFF lwz r5, DIB_POLL_TO_ENGINE_US(REG_DIB) branchl r12, 0x80302d4c # DevelopText_FormatAndPrint -mr r3, REG_DEVELOP_TEXT -addi r4, REG_DATA, DO_LD_STR_COLOR_ERRORS -lwz r5, DIB_COLOR_FAIL_COUNT(REG_DIB) -branchl r12, 0x80302d4c # DevelopText_FormatAndPrint - -mr r3, REG_DEVELOP_TEXT -addi r4, REG_DATA, DO_LD_STR_FAILED_COLOR -lwz r5, DIB_FAILED_COLOR(REG_DIB) -branchl r12, 0x80302d4c # DevelopText_FormatAndPrint - # Check if game over load r3, 0x8046b6a0 lbz r3, 0x8(r3) @@ -167,8 +153,8 @@ li r3, 32 branchl r12, HSD_MemAlloc mr r8, r3 li r3, 30 # ID -li r4, -210 # X Pos, bottom right: 638 -li r5, -40 # Y Pos, bottom right: 478 +li r4, -210 # X Pos +li r5, -40 # Y Pos li r6, 1 li r7, 1 branchl r12, 0x80302834 # DevelopText_CreateDataTable @@ -209,14 +195,14 @@ bl DATA_BLRL mflr REG_DATA #Create Rectangle -li r3, 1200 +li r3, 1000 branchl r12, HSD_MemAlloc mr r8, r3 li r3, 31 # ID -li r4, 0 # X Pos, bottom right: 638 -li r5, 0 # Y Pos, bottom right: 478 -li r6, 29 -li r7, 12 +li r4, 0 # X Pos +li r5, 0 # Y Pos +li r6, 29 # Width +li r7, 9 # Height branchl r12, 0x80302834 # DevelopText_CreateDataTable mr REG_DEVELOP_TEXT, r3 #Activate Text diff --git a/External/Debug Inputs/LogEngineTime.asm b/External/Debug Inputs/LogEngineTime.asm index 51664287..6c69fea0 100644 --- a/External/Debug Inputs/LogEngineTime.asm +++ b/External/Debug Inputs/LogEngineTime.asm @@ -45,12 +45,6 @@ stw r3, 0(r4) calcDiffFromFetchUs REG_DIB, REG_KEY mr REG_DIFF_US, r3 -# Log -# mr r6, REG_DIFF_US -# mr r5, REG_KEY -# loadGlobalFrame r4 -# logf "ENGINE %u 0x%X %u" # Label Frame TimeUs - stw REG_DIFF_US, DIB_POLL_TO_ENGINE_US(REG_DIB) # Adjust develop text BG color diff --git a/External/Debug Inputs/LogFetchTime.asm b/External/Debug Inputs/LogFetchTime.asm index cc4407f6..012f5d31 100644 --- a/External/Debug Inputs/LogFetchTime.asm +++ b/External/Debug Inputs/LogFetchTime.asm @@ -46,15 +46,6 @@ mulli r4, r4, 4 # Get index offset addi r4, r4, DIB_CIRCULAR_BUFFER stwx r3, REG_DIB, r4 -# Log -# loadwz r7, 0xCC006430 # Includes details to poll more often. http://hitmen.c02.at/files/yagcd/yagcd/chap5.html#sec5.8 -# loadwz r7, 0xCC006434 -# lwz r6, DIB_POLL_COUNT(REG_DIB) -# lwz r5, P1_PAD_OFFSET(sp) -# rlwinm r5, r5, 16, 0xF -# loadGlobalFrame r4 -# logf "FETCH %u 0x%X %u" - # Increment index incrementByte r3, REG_DIB, DIB_FETCH_INDEX, CIRCULAR_BUFFER_COUNT @@ -71,7 +62,7 @@ branchl r12, 0x8034c408 # OSGetTick mr REG_FETCH_TIME, r3 lwz r4, DIB_LAST_FETCH_TIME(REG_DIB) stw REG_FETCH_TIME, DIB_LAST_FETCH_TIME(REG_DIB) -calcDiffUs REG_FETCH_TIME, r4 # Calculate difference since last poll +calcDiffUs REG_FETCH_TIME, r4 # Calculate difference since last fetch stw r3, DIB_FETCH_DIFF_US(REG_DIB) # Store time since poll diff --git a/External/Debug Inputs/LogScanoutTime.asm b/External/Debug Inputs/LogScanoutTime.asm index 55340f8b..24aef01a 100644 --- a/External/Debug Inputs/LogScanoutTime.asm +++ b/External/Debug Inputs/LogScanoutTime.asm @@ -7,29 +7,6 @@ b CODE_START -DATA_BLRL: -blrl -# The following is an array of the key colors with the 2nd and 4th byte masked out -# The 2nd and 4th byte seem to be either 7F or 80, easier to compare by just excluding them -# TODO: I commented the console versions of the colors but for some reason when I use those, -# TODO: the latency can get really jumpy so I have no idea what's up -.long 0x10001000 -.long 0x1E001E00 -.long 0x2B002B00 # 0x2C002C00 -.long 0x39003900 -.long 0x47004700 -.long 0x55005500 -.long 0x62006200 # 0x63006300 -.long 0x70007000 -.long 0x7E007E00 -.long 0x8C008C00 -.long 0x99009900 # 0x9A009A00 -.long 0xA700A700 -.long 0xB500B500 -.long 0xC300C300 -.long 0xD000D000 # 0xD100D100 -.long 0xDE00DE00 - ################################################################################ # Function: GetIndexFromColor ################################################################################ @@ -39,38 +16,31 @@ blrl # Output: # r3 - 0-15 or -1 if color does not match ################################################################################ -.set REG_DATA, 31 -.set REG_IDX, 30 -.set REG_COLOR, 29 - FN_GetIndexFromColor: -backup +rlwinm r4, r3, 24, 0xFF +rlwinm r3, r3, 8, 0xFF -load r4, 0xFF00FF00 -and REG_COLOR, r3, r4 +cmpw r3, r4 +beq FN_GetIndexFromColor_CALC_INDEX -bl DATA_BLRL -mflr REG_DATA - -li REG_IDX, 0 -FN_GetIndexFromColor_LOOP_START: -mulli r3, REG_IDX, 4 -lwzx r3, REG_DATA, r3 -cmpw REG_COLOR, r3 -bne FN_GetIndexFromColor_LOOP_CONTINUE -mr r3, REG_IDX +li r3, -1 # Color invalid if the two bytes don't match b FN_GetIndexFromColor_RETURN -FN_GetIndexFromColor_LOOP_CONTINUE: -addi REG_IDX, REG_IDX, 1 -cmpwi REG_IDX, 16 -blt FN_GetIndexFromColor_LOOP_START -li r3, -1 +FN_GetIndexFromColor_CALC_INDEX: +# This does some math on the byte to calculate the index from it. See google sheet for examples: +# https://docs.google.com/spreadsheets/d/1EKnVQmAbt5LCipXq_aGCMJ_utsOlPqM_O0UJ3cnWm4c/edit?usp=sharing +subi r3, r3, 15 +mulli r3, r3, 6 +li r4, 5 +divwu r3, r3, r4 +rlwinm r3, r3, 28, 0xF # Extract 4 bits to get key FN_GetIndexFromColor_RETURN: -restore blr +################################################################################ +# Code start +################################################################################ CODE_START: # Check if VS Mode getMinorMajor r3 @@ -103,37 +73,29 @@ lbz r3, DIB_ACTIVE_STATE(REG_DIB) cmpwi r3, 0 beq RESTORE_AND_EXIT -# Fetch/convert key from frame -loadwz r3, 0x804a8b10 # Load ptr to frame that will be scanned out -lwz REG_COLOR, 4(r3) # Load top left pixel +# Load ptr to frame that will be scanned out +loadwz r3, 0x804a8b10 # Contains ptr to the current XFB + +# Invalidate the pixel color memory because the GPU will have overwritten it and if that memory +# is still in our cache, we would load a stale color (only on console) +li r4, 0 +dcbi r3, r4 +sync +isync + +# Load 2 pixels and calculate the index from it +lwz REG_COLOR, 0(r3) # Load top left pixels mr r3, REG_COLOR bl FN_GetIndexFromColor cmpwi r3, 0 -bge CALC_DIFF +blt RESTORE_AND_EXIT # Color is invalid, exit -# Color is invalid, increment count and exit -lwz r3, DIB_COLOR_FAIL_COUNT(REG_DIB) -addi r3, r3, 1 -stw r3, DIB_COLOR_FAIL_COUNT(REG_DIB) -stw REG_COLOR, DIB_FAILED_COLOR(REG_DIB) -b RESTORE_AND_EXIT - -CALC_DIFF: mr REG_KEY, r3 # Calculate time diff calcDiffFromFetchUs REG_DIB, REG_KEY mr REG_DIFF_US, r3 -# Log -# mr r7, REG_DIFF_US -# loadwz r6, 0x804a8b10 # Load ptr to frame that will be scanned out -# lwz r6, 0(r6) # Load top left pixel -# mr r5, REG_KEY -# loadGlobalFrame r4 -# subi r4, r4, 1 -# logf "BLANK %u 0x%X %X %u" # Label Frame TimeUs - # Store latest latency stw REG_DIFF_US, DIB_INPUT_TO_RENDER_US(REG_DIB) @@ -145,4 +107,4 @@ branchl r12, OSRestoreInterrupts restore EXIT: -lwz r0, 0x0024(sp) # Replaced codeline \ No newline at end of file +lwz r0, 0x0024(sp) # Replaced codeline \ No newline at end of file diff --git a/Output/Console/GALE01r2.ini b/Output/Console/GALE01r2.ini index 1e57453c..43363919 100644 --- a/Output/Console/GALE01r2.ini +++ b/Output/Console/GALE01r2.ini @@ -774,97 +774,108 @@ BA810008 800100B4 $Optional: Debug Game-Side Latency [Fizzi] *Shows latency information on screen while in-game -C216E774 0000009F #External/Debug Inputs/InitOnGameStart.asm -48000474 4E800021 +C216E774 00000093 #External/Debug Inputs/InitOnGameStart.asm +48000410 4E800021 00000000 43480000 41C80000 000000FF 000000B4 E2E2E2FF 41200000 41880000 -496E7075 7420746F -20526574 72616365 -3A202575 2075730A -0A00506F 6C6C2043 -6F756E74 3A202575 -0A004D69 6E20506F -6C6C2044 6966663A -20257520 75730A00 -4D617820 506F6C6C +546F7461 6C204761 +6D65204C 61673A20 +25752075 730A0A00 +506F6C6C 20436F75 +6E743A20 25750A00 +4D696E20 506F6C6C 20446966 663A2025 -75207573 0A004665 -7463682D 46657463 -683A2025 75207573 -0A00506F 6C6C2D46 -65746368 3A202575 -2075730A 00506F6C -6C2D456E 67696E65 -3A202575 2075730A -0A00436F 6C6F7220 -4572726F 72733A20 -25750A00 4661696C -65642043 6F6C6F72 -3A203078 25303858 -0A000000 4E800021 -4E800020 4E800021 -7C0802A6 90010004 -9421FF50 BE810008 -4BFFFF05 7FE802A6 -83DF0000 83BE0006 -887E0000 2C030001 -40820160 7FA3EB78 -3D808030 618C2BB0 -7D8903A6 4E800421 -7FA3EB78 38800000 -38A00000 3D808030 -618C2A3C 7D8903A6 +75207573 0A004D61 +7820506F 6C6C2044 +6966663A 20257520 +75730A00 46657463 +682D4665 7463683A +20257520 75730A00 +506F6C6C 2D466574 +63683A20 25752075 +730A0050 6F6C6C2D +456E6769 6E653A20 +25752075 730A0000 +4E800021 4E800020 +4E800021 7C0802A6 +90010004 9421FF50 +BE810008 4BFFFF31 +7FE802A6 83DF0000 +83BE0006 887E0000 +2C030001 40820128 +7FA3EB78 3D808030 +618C2BB0 7D8903A6 4E800421 7FA3EB78 -389F0020 80BE0056 -3D808030 618C2D4C +38800000 38A00000 +3D808030 618C2A3C 7D8903A6 4E800421 -7FA3EB78 389F003A -80BE006E 3D808030 +7FA3EB78 389F0020 +80BE0056 3D808030 618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F004A 80BE005A +389F0038 80BE006E 3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F0060 -80BE005E 3D808030 +7FA3EB78 389F0048 +80BE005A 3D808030 618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F0076 80BE0062 +389F005E 80BE005E 3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F008A -80BE0066 3D808030 +7FA3EB78 389F0074 +80BE0062 3D808030 618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F009D 80BE006A +389F0088 80BE0066 3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F00B2 -80BE0072 3D808030 +7FA3EB78 389F009B +80BE006A 3D808030 618C2D4C 7D8903A6 -4E800421 7FA3EB78 -389F00C4 80BE0076 -3D808030 618C2D4C +4E800421 3C608046 +6063B6A0 88630008 +2C030000 41820020 +807E0012 3D808034 +618C9CBC 7D8903A6 +4E800421 38600002 +987E0000 BA810008 +800100B4 382100B0 +7C0803A6 4E800020 +7C0802A6 90010004 +9421FF50 BE810008 +4BFFFDCD 7FE802A6 +38600020 3D808037 +618CF1E4 7D8903A6 +4E800421 7C681B78 +3860001E 3880FF2E +38A0FFD8 38C00001 +38E00001 3D808030 +618C2834 7D8903A6 +4E800421 7C7E1B78 +806DB77C 7FC4F378 +3D808030 618C2810 7D8903A6 4E800421 -3C608046 6063B6A0 -88630008 2C030000 -41820020 807E0012 -3D808034 618C9CBC +38600000 987E0026 +7FC3F378 389F000C +3D808030 618C2B90 7D8903A6 4E800421 -38600002 987E0000 +C03F0004 D03E0008 +C03F0008 D03E000C +807F0000 93C30002 BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 -BE810008 4BFFFD69 -7FE802A6 38600020 +BE810008 4BFFFD11 +7FE802A6 386003E8 3D808037 618CF1E4 7D8903A6 4E800421 -7C681B78 3860001E -3880FF2E 38A0FFD8 -38C00001 38E00001 +7C681B78 3860001F +38800000 38A00000 +38C0001D 38E00009 3D808030 618C2834 7D8903A6 4E800421 7C7E1B78 806DB77C @@ -872,68 +883,45 @@ BE810008 4BFFFD69 618C2810 7D8903A6 4E800421 38600000 987E0026 7FC3F378 -389F000C 3D808030 +389F0010 3D808030 618C2B90 7D8903A6 -4E800421 C03F0004 -D03E0008 C03F0008 -D03E000C 807F0000 -93C30002 BA810008 +4E800421 7FC3F378 +C03F0018 C05F001C +3D808030 618C2B10 +7D8903A6 4E800421 +7FC3F378 389F0014 +3D808030 618C2B64 +7D8903A6 4E800421 +7FC3F378 3D808030 +618C2AF0 7D8903A6 +4E800421 807F0000 +93C30006 38600013 +38800014 38A00000 +3D808039 618C01F0 +7D8903A6 4E800421 +4BFFFCE1 7C8802A6 +38A00007 3D808038 +618CFD54 7D8903A6 +4E800421 BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 BE810008 -4BFFFCAD 7FE802A6 -386004B0 3D808037 +38600072 3D808037 618CF1E4 7D8903A6 -4E800421 7C681B78 -3860001F 38800000 -38A00000 38C0001D -38E0000C 3D808030 -618C2834 7D8903A6 -4E800421 7C7E1B78 -806DB77C 7FC4F378 -3D808030 618C2810 -7D8903A6 4E800421 -38600000 987E0026 -7FC3F378 389F0010 -3D808030 618C2B90 -7D8903A6 4E800421 -7FC3F378 C03F0018 -C05F001C 3D808030 -618C2B10 7D8903A6 -4E800421 7FC3F378 -389F0014 3D808030 -618C2B64 7D8903A6 -4E800421 7FC3F378 -3D808030 618C2AF0 -7D8903A6 4E800421 -807F0000 93C30006 -38600013 38800014 -38A00000 3D808039 -618C01F0 7D8903A6 -4E800421 4BFFFCA9 -7C8802A6 38A00007 -3D808038 618CFD54 -7D8903A6 4E800421 -BA810008 800100B4 -382100B0 7C0803A6 -4E800020 7C0802A6 -90010004 9421FF50 -BE810008 3860007A -3D808037 618CF1E4 -7D8903A6 4E800421 -4BFFFB6D 7C8802A6 -90640000 7C7E1B78 -3880007A 3D808000 -618CC160 7D8903A6 -4E800421 4BFFFDD1 -4BFFFE89 4BFFFC21 -7C6802A6 907E0012 -3D808034 618C9BF0 +4E800421 4BFFFBD1 +7C8802A6 90640000 +7C7E1B78 38800072 +3D808000 618CC160 7D8903A6 4E800421 -BA810008 800100B4 -382100B0 7C0803A6 -C022A8C8 00000000 +4BFFFDD1 4BFFFE89 +4BFFFC59 7C6802A6 +907E0012 3D808034 +618C9BF0 7D8903A6 +4E800421 BA810008 +800100B4 382100B0 +7C0803A6 C022A8C8 +60000000 00000000 C21A4DEC 00000028 #External/Debug Inputs/LogEngineTime.asm 3C608048 80639D30 5463443E 2C030202 @@ -1059,34 +1047,19 @@ C2349A28 00000025 #External/Debug Inputs/LogPollTime.asm 800100B4 382100B0 7C0803A6 80B80000 60000000 00000000 -C2375C14 0000003B #External/Debug Inputs/LogScanoutTime.asm -480000AC 4E800021 -10001000 1E001E00 -2C002C00 39003900 -47004700 55005500 -63006300 70007000 -7E007E00 8C008C00 -9A009A00 A700A700 -B500B500 C300C300 -D100D100 DE00DE00 -7C0802A6 90010004 -9421FF50 BE810008 -3C80FF00 6084FF00 -7C7D2038 4BFFFFA1 -7FE802A6 3BC00000 -1C7E0004 7C7F182E -7C1D1800 4082000C -7FC3F378 48000014 -3BDE0001 2C1E0010 -4180FFE0 3860FFFF -BA810008 800100B4 -382100B0 7C0803A6 +C2375C14 0000002C #External/Debug Inputs/LogScanoutTime.asm +48000034 5464C63E +5463463E 7C032000 +4182000C 3860FFFF +48000018 3863FFF1 +1C630006 38800005 +7C632396 5463E73E 4E800020 3C608048 80639D30 5463443E -2C030202 40820114 +2C030202 40820110 3C608047 60639D64 80630000 2C030000 -40820100 7C0802A6 +408200FC 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 7D8903A6 @@ -1097,25 +1070,25 @@ BE810008 3D808034 5484043A 7C842B78 7C632214 83E30008 887F0000 2C030000 -41820084 3C60804A +41820080 3C60804A 60638B10 80630000 -83430004 7F43D378 -4BFFFF09 2C030000 -40800018 807F0072 -38630001 907F0072 -935F0076 48000050 -7C7C1B78 3D808034 -618CC408 7D8903A6 -4E800421 1C9C0004 -38840016 7C9F202E -7C641850 1C63000C -3C808000 608400FC -80840000 38A003E8 -7C842B96 7C842B96 -7C632396 7C7D1B78 -93BF0056 7FC3F378 -3D808034 618C738C +38800000 7C0323AC +7C0004AC 4C00012C +83430000 7F43D378 +4BFFFF2D 2C030000 +41800050 7C7C1B78 +3D808034 618CC408 7D8903A6 4E800421 -BA810008 800100B4 -382100B0 7C0803A6 -80010024 00000000 +1C9C0004 38840016 +7C9F202E 7C641850 +1C63000C 3C808000 +608400FC 80840000 +38A003E8 7C842B96 +7C842B96 7C632396 +7C7D1B78 93BF0056 +7FC3F378 3D808034 +618C738C 7D8903A6 +4E800421 BA810008 +800100B4 382100B0 +7C0803A6 80010024 +60000000 00000000 diff --git a/Output/Console/g_core.bin b/Output/Console/g_core.bin index bbdf0d923846a1c0261362f235ead499153051fb..febc2bf26ce1cfca15d188b9154c4bcd32b8f5a1 100644 GIT binary patch delta 414 zcmaFiGQoMna&gwl9tq$0FN?2J^(8k56hlnV0!Buqb-}|9!EhgK61>6b6QxI_V0aevlf5 z#GZo*2sM8%djJ2|>HYstUc0Pn1rMpvkOUfv#ViNU~p_= z;IT;f{~stWVUhg*qf9ab8_-PFnq=i^A<56}{2CY(Y!Vtg8j|N4ge1Gz=`b@f0fRvR zDCVA!JU68w85}eW4owVyCZCZB*KYvIcqJrv3xH%mzN=wYUQ@%svc`vjQK#9NfuY{{ Za)tN*|GK~cWpHem{7$iq1LQss005P^QsidZ?X;{iM zJ8BR9$RY4Nh)~2!s!*XQUKC29{sD?t2_Aarp@&M3Evzp)pTm5I?+kA`#r^AB8>;+n z9Ha(rs^^qjkCv7jW}|N2t~R`~Tg9F#F2@Mn%pX z@iQa#{W#!^W-%FsrZNZLXm?l+4>Vn#5Zmwo4>eVGD9!W}YvNc+mtWF(E^5{(J&e+4 zN?w$HP--Gi&9epEOMQ!=K(|u?;4R&^1+3tqt}_c0M)pg=IEn@Nae&P!0hR&^43jJwB_(o~xMYd6 zNSnMR8{{k5CBI0I@Ie~HKzeP3)7wvAupmNk)*F^Z&cES*MP9?Eoo<5T-IHKgZ>lNVwWMe?j7+}q~H@Zg6 wgyX(a`pvThFI<(^~G-=K>=em!7j1taT7bKwdAN@P1F8}}l diff --git a/Output/Console/g_core_porta.bin b/Output/Console/g_core_porta.bin index d32ec18ff6abc62213031170c7dd916203a43e0f..e2ebcce3b5fb684f2dfc7c4b89ed3b049b79570c 100644 GIT binary patch delta 414 zcmaFiGQoMna&gwl9tq$0FN?2J^(8k56hlnV0!Buqb-}|9!EhgK61>6b6QxI_V0aevlf5 z#GZo*2sM8%djJ2|>HYstUc0Pn1rMpvkOUfv#ViNU~p_= z;IT;f{~stWVUhg*qf9ab8_-PFnq=i^A<56}{2CY(Y!Vtg8j|N4ge1Gz=`b@f0fRvR zDCVA!JU68w85}eW4owVyCZCZB*KYvIcqJrv3xH%mzN=wYUQ@%svc`vjQK#9NfuY{{ Za)tN*|GK~cWpHem{7$iq1LQss005P^QsidZ?X;{iM zJ8BR9$RY4Nh)~2!s!*XQUKC29{sD?t2_Aarp@&M3Evzp)pTm5I?+kA`#r^AB8>;+n z9Ha(rs^^qjkCv7jW}|N2t~R`~Tg9F#F2@Mn%pX z@iQa#{W#!^W-%FsrZNZLXm?l+4>Vn#5Zmwo4>eVGD9!W}YvNc+mtWF(E^5{(J&e+4 zN?w$HP--Gi&9epEOMQ!=K(|u?;4R&^1+3tqt}_c0M)pg=IEn@Nae&P!0hR&^43jJwB_(o~xMYd6 zNSnMR8{{k5CBI0I@Ie~HKzeP3)7wvAupmNk)*F^Z&cES*MP9?Eoo<5T-IHKgZ>lNVwWMe?j7+}q~H@Zg6 wgyX(a`pvThFI<(^~G-=K>=em!7j1taT7bKwdAN@P1F8}}l diff --git a/Output/Netplay/GALE01r2.ini b/Output/Netplay/GALE01r2.ini index 3da62537..479758df 100644 --- a/Output/Netplay/GALE01r2.ini +++ b/Output/Netplay/GALE01r2.ini @@ -5697,97 +5697,108 @@ C22FD1EC 0000000E #Online/Optional/IndicateLocalPlayer/SetLocalPlayerTag.asm $Optional: Debug Game-Side Latency [Fizzi] *Shows latency information on screen while in-game -C216E774 0000009F #External/Debug Inputs/InitOnGameStart.asm -48000474 4E800021 +C216E774 00000093 #External/Debug Inputs/InitOnGameStart.asm +48000410 4E800021 00000000 43480000 41C80000 000000FF 000000B4 E2E2E2FF 41200000 41880000 -496E7075 7420746F -20526574 72616365 -3A202575 2075730A -0A00506F 6C6C2043 -6F756E74 3A202575 -0A004D69 6E20506F -6C6C2044 6966663A -20257520 75730A00 -4D617820 506F6C6C +546F7461 6C204761 +6D65204C 61673A20 +25752075 730A0A00 +506F6C6C 20436F75 +6E743A20 25750A00 +4D696E20 506F6C6C 20446966 663A2025 -75207573 0A004665 -7463682D 46657463 -683A2025 75207573 -0A00506F 6C6C2D46 -65746368 3A202575 -2075730A 00506F6C -6C2D456E 67696E65 -3A202575 2075730A -0A00436F 6C6F7220 -4572726F 72733A20 -25750A00 4661696C -65642043 6F6C6F72 -3A203078 25303858 -0A000000 4E800021 -4E800020 4E800021 -7C0802A6 90010004 -9421FF50 BE810008 -4BFFFF05 7FE802A6 -83DF0000 83BE0006 -887E0000 2C030001 -40820160 7FA3EB78 -3D808030 618C2BB0 -7D8903A6 4E800421 -7FA3EB78 38800000 -38A00000 3D808030 -618C2A3C 7D8903A6 +75207573 0A004D61 +7820506F 6C6C2044 +6966663A 20257520 +75730A00 46657463 +682D4665 7463683A +20257520 75730A00 +506F6C6C 2D466574 +63683A20 25752075 +730A0050 6F6C6C2D +456E6769 6E653A20 +25752075 730A0000 +4E800021 4E800020 +4E800021 7C0802A6 +90010004 9421FF50 +BE810008 4BFFFF31 +7FE802A6 83DF0000 +83BE0006 887E0000 +2C030001 40820128 +7FA3EB78 3D808030 +618C2BB0 7D8903A6 4E800421 7FA3EB78 -389F0020 80BE0056 -3D808030 618C2D4C +38800000 38A00000 +3D808030 618C2A3C 7D8903A6 4E800421 -7FA3EB78 389F003A -80BE006E 3D808030 +7FA3EB78 389F0020 +80BE0056 3D808030 618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F004A 80BE005A +389F0038 80BE006E 3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F0060 -80BE005E 3D808030 +7FA3EB78 389F0048 +80BE005A 3D808030 618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F0076 80BE0062 +389F005E 80BE005E 3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F008A -80BE0066 3D808030 +7FA3EB78 389F0074 +80BE0062 3D808030 618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F009D 80BE006A +389F0088 80BE0066 3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F00B2 -80BE0072 3D808030 +7FA3EB78 389F009B +80BE006A 3D808030 618C2D4C 7D8903A6 -4E800421 7FA3EB78 -389F00C4 80BE0076 -3D808030 618C2D4C +4E800421 3C608046 +6063B6A0 88630008 +2C030000 41820020 +807E0012 3D808034 +618C9CBC 7D8903A6 +4E800421 38600002 +987E0000 BA810008 +800100B4 382100B0 +7C0803A6 4E800020 +7C0802A6 90010004 +9421FF50 BE810008 +4BFFFDCD 7FE802A6 +38600020 3D808037 +618CF1E4 7D8903A6 +4E800421 7C681B78 +3860001E 3880FF2E +38A0FFD8 38C00001 +38E00001 3D808030 +618C2834 7D8903A6 +4E800421 7C7E1B78 +806DB77C 7FC4F378 +3D808030 618C2810 7D8903A6 4E800421 -3C608046 6063B6A0 -88630008 2C030000 -41820020 807E0012 -3D808034 618C9CBC +38600000 987E0026 +7FC3F378 389F000C +3D808030 618C2B90 7D8903A6 4E800421 -38600002 987E0000 +C03F0004 D03E0008 +C03F0008 D03E000C +807F0000 93C30002 BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 -BE810008 4BFFFD69 -7FE802A6 38600020 +BE810008 4BFFFD11 +7FE802A6 386003E8 3D808037 618CF1E4 7D8903A6 4E800421 -7C681B78 3860001E -3880FF2E 38A0FFD8 -38C00001 38E00001 +7C681B78 3860001F +38800000 38A00000 +38C0001D 38E00009 3D808030 618C2834 7D8903A6 4E800421 7C7E1B78 806DB77C @@ -5795,68 +5806,45 @@ BE810008 4BFFFD69 618C2810 7D8903A6 4E800421 38600000 987E0026 7FC3F378 -389F000C 3D808030 +389F0010 3D808030 618C2B90 7D8903A6 -4E800421 C03F0004 -D03E0008 C03F0008 -D03E000C 807F0000 -93C30002 BA810008 +4E800421 7FC3F378 +C03F0018 C05F001C +3D808030 618C2B10 +7D8903A6 4E800421 +7FC3F378 389F0014 +3D808030 618C2B64 +7D8903A6 4E800421 +7FC3F378 3D808030 +618C2AF0 7D8903A6 +4E800421 807F0000 +93C30006 38600013 +38800014 38A00000 +3D808039 618C01F0 +7D8903A6 4E800421 +4BFFFCE1 7C8802A6 +38A00007 3D808038 +618CFD54 7D8903A6 +4E800421 BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 BE810008 -4BFFFCAD 7FE802A6 -386004B0 3D808037 +38600072 3D808037 618CF1E4 7D8903A6 -4E800421 7C681B78 -3860001F 38800000 -38A00000 38C0001D -38E0000C 3D808030 -618C2834 7D8903A6 -4E800421 7C7E1B78 -806DB77C 7FC4F378 -3D808030 618C2810 -7D8903A6 4E800421 -38600000 987E0026 -7FC3F378 389F0010 -3D808030 618C2B90 -7D8903A6 4E800421 -7FC3F378 C03F0018 -C05F001C 3D808030 -618C2B10 7D8903A6 -4E800421 7FC3F378 -389F0014 3D808030 -618C2B64 7D8903A6 -4E800421 7FC3F378 -3D808030 618C2AF0 -7D8903A6 4E800421 -807F0000 93C30006 -38600013 38800014 -38A00000 3D808039 -618C01F0 7D8903A6 -4E800421 4BFFFCA9 -7C8802A6 38A00007 -3D808038 618CFD54 -7D8903A6 4E800421 -BA810008 800100B4 -382100B0 7C0803A6 -4E800020 7C0802A6 -90010004 9421FF50 -BE810008 3860007A -3D808037 618CF1E4 -7D8903A6 4E800421 -4BFFFB6D 7C8802A6 -90640000 7C7E1B78 -3880007A 3D808000 -618CC160 7D8903A6 -4E800421 4BFFFDD1 -4BFFFE89 4BFFFC21 -7C6802A6 907E0012 -3D808034 618C9BF0 +4E800421 4BFFFBD1 +7C8802A6 90640000 +7C7E1B78 38800072 +3D808000 618CC160 7D8903A6 4E800421 -BA810008 800100B4 -382100B0 7C0803A6 -C022A8C8 00000000 +4BFFFDD1 4BFFFE89 +4BFFFC59 7C6802A6 +907E0012 3D808034 +618C9BF0 7D8903A6 +4E800421 BA810008 +800100B4 382100B0 +7C0803A6 C022A8C8 +60000000 00000000 C21A4DEC 00000028 #External/Debug Inputs/LogEngineTime.asm 3C608048 80639D30 5463443E 2C030202 @@ -5982,34 +5970,19 @@ C2349A28 00000025 #External/Debug Inputs/LogPollTime.asm 800100B4 382100B0 7C0803A6 80B80000 60000000 00000000 -C2375C14 0000003B #External/Debug Inputs/LogScanoutTime.asm -480000AC 4E800021 -10001000 1E001E00 -2C002C00 39003900 -47004700 55005500 -63006300 70007000 -7E007E00 8C008C00 -9A009A00 A700A700 -B500B500 C300C300 -D100D100 DE00DE00 -7C0802A6 90010004 -9421FF50 BE810008 -3C80FF00 6084FF00 -7C7D2038 4BFFFFA1 -7FE802A6 3BC00000 -1C7E0004 7C7F182E -7C1D1800 4082000C -7FC3F378 48000014 -3BDE0001 2C1E0010 -4180FFE0 3860FFFF -BA810008 800100B4 -382100B0 7C0803A6 +C2375C14 0000002C #External/Debug Inputs/LogScanoutTime.asm +48000034 5464C63E +5463463E 7C032000 +4182000C 3860FFFF +48000018 3863FFF1 +1C630006 38800005 +7C632396 5463E73E 4E800020 3C608048 80639D30 5463443E -2C030202 40820114 +2C030202 40820110 3C608047 60639D64 80630000 2C030000 -40820100 7C0802A6 +408200FC 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 7D8903A6 @@ -6020,28 +5993,28 @@ BE810008 3D808034 5484043A 7C842B78 7C632214 83E30008 887F0000 2C030000 -41820084 3C60804A +41820080 3C60804A 60638B10 80630000 -83430004 7F43D378 -4BFFFF09 2C030000 -40800018 807F0072 -38630001 907F0072 -935F0076 48000050 -7C7C1B78 3D808034 -618CC408 7D8903A6 -4E800421 1C9C0004 -38840016 7C9F202E -7C641850 1C63000C -3C808000 608400FC -80840000 38A003E8 -7C842B96 7C842B96 -7C632396 7C7D1B78 -93BF0056 7FC3F378 -3D808034 618C738C +38800000 7C0323AC +7C0004AC 4C00012C +83430000 7F43D378 +4BFFFF2D 2C030000 +41800050 7C7C1B78 +3D808034 618CC408 7D8903A6 4E800421 -BA810008 800100B4 -382100B0 7C0803A6 -80010024 00000000 +1C9C0004 38840016 +7C9F202E 7C641850 +1C63000C 3C808000 +608400FC 80840000 +38A003E8 7C842B96 +7C842B96 7C632396 +7C7D1B78 93BF0056 +7FC3F378 3D808034 +618C738C 7D8903A6 +4E800421 BA810008 +800100B4 382100B0 +7C0803A6 80010024 +60000000 00000000 041BFA20 38600002 #External/Boot to CSS/Boot To CSS.asm $Optional: PD+VB [taukhan] diff --git a/Output/Netplay/GALJ01r2.ini b/Output/Netplay/GALJ01r2.ini index 87984c22..c421f1e1 100644 --- a/Output/Netplay/GALJ01r2.ini +++ b/Output/Netplay/GALJ01r2.ini @@ -5697,97 +5697,108 @@ C22FD1EC 0000000E #Online/Optional/IndicateLocalPlayer/SetLocalPlayerTag.asm $Optional: Debug Game-Side Latency [Fizzi] *Shows latency information on screen while in-game -C216E774 0000009F #External/Debug Inputs/InitOnGameStart.asm -48000474 4E800021 +C216E774 00000093 #External/Debug Inputs/InitOnGameStart.asm +48000410 4E800021 00000000 43480000 41C80000 000000FF 000000B4 E2E2E2FF 41200000 41880000 -496E7075 7420746F -20526574 72616365 -3A202575 2075730A -0A00506F 6C6C2043 -6F756E74 3A202575 -0A004D69 6E20506F -6C6C2044 6966663A -20257520 75730A00 -4D617820 506F6C6C +546F7461 6C204761 +6D65204C 61673A20 +25752075 730A0A00 +506F6C6C 20436F75 +6E743A20 25750A00 +4D696E20 506F6C6C 20446966 663A2025 -75207573 0A004665 -7463682D 46657463 -683A2025 75207573 -0A00506F 6C6C2D46 -65746368 3A202575 -2075730A 00506F6C -6C2D456E 67696E65 -3A202575 2075730A -0A00436F 6C6F7220 -4572726F 72733A20 -25750A00 4661696C -65642043 6F6C6F72 -3A203078 25303858 -0A000000 4E800021 -4E800020 4E800021 -7C0802A6 90010004 -9421FF50 BE810008 -4BFFFF05 7FE802A6 -83DF0000 83BE0006 -887E0000 2C030001 -40820160 7FA3EB78 -3D808030 618C2BB0 -7D8903A6 4E800421 -7FA3EB78 38800000 -38A00000 3D808030 -618C2A3C 7D8903A6 +75207573 0A004D61 +7820506F 6C6C2044 +6966663A 20257520 +75730A00 46657463 +682D4665 7463683A +20257520 75730A00 +506F6C6C 2D466574 +63683A20 25752075 +730A0050 6F6C6C2D +456E6769 6E653A20 +25752075 730A0000 +4E800021 4E800020 +4E800021 7C0802A6 +90010004 9421FF50 +BE810008 4BFFFF31 +7FE802A6 83DF0000 +83BE0006 887E0000 +2C030001 40820128 +7FA3EB78 3D808030 +618C2BB0 7D8903A6 4E800421 7FA3EB78 -389F0020 80BE0056 -3D808030 618C2D4C +38800000 38A00000 +3D808030 618C2A3C 7D8903A6 4E800421 -7FA3EB78 389F003A -80BE006E 3D808030 +7FA3EB78 389F0020 +80BE0056 3D808030 618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F004A 80BE005A +389F0038 80BE006E 3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F0060 -80BE005E 3D808030 +7FA3EB78 389F0048 +80BE005A 3D808030 618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F0076 80BE0062 +389F005E 80BE005E 3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F008A -80BE0066 3D808030 +7FA3EB78 389F0074 +80BE0062 3D808030 618C2D4C 7D8903A6 4E800421 7FA3EB78 -389F009D 80BE006A +389F0088 80BE0066 3D808030 618C2D4C 7D8903A6 4E800421 -7FA3EB78 389F00B2 -80BE0072 3D808030 +7FA3EB78 389F009B +80BE006A 3D808030 618C2D4C 7D8903A6 -4E800421 7FA3EB78 -389F00C4 80BE0076 -3D808030 618C2D4C +4E800421 3C608046 +6063B6A0 88630008 +2C030000 41820020 +807E0012 3D808034 +618C9CBC 7D8903A6 +4E800421 38600002 +987E0000 BA810008 +800100B4 382100B0 +7C0803A6 4E800020 +7C0802A6 90010004 +9421FF50 BE810008 +4BFFFDCD 7FE802A6 +38600020 3D808037 +618CF1E4 7D8903A6 +4E800421 7C681B78 +3860001E 3880FF2E +38A0FFD8 38C00001 +38E00001 3D808030 +618C2834 7D8903A6 +4E800421 7C7E1B78 +806DB77C 7FC4F378 +3D808030 618C2810 7D8903A6 4E800421 -3C608046 6063B6A0 -88630008 2C030000 -41820020 807E0012 -3D808034 618C9CBC +38600000 987E0026 +7FC3F378 389F000C +3D808030 618C2B90 7D8903A6 4E800421 -38600002 987E0000 +C03F0004 D03E0008 +C03F0008 D03E000C +807F0000 93C30002 BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 -BE810008 4BFFFD69 -7FE802A6 38600020 +BE810008 4BFFFD11 +7FE802A6 386003E8 3D808037 618CF1E4 7D8903A6 4E800421 -7C681B78 3860001E -3880FF2E 38A0FFD8 -38C00001 38E00001 +7C681B78 3860001F +38800000 38A00000 +38C0001D 38E00009 3D808030 618C2834 7D8903A6 4E800421 7C7E1B78 806DB77C @@ -5795,68 +5806,45 @@ BE810008 4BFFFD69 618C2810 7D8903A6 4E800421 38600000 987E0026 7FC3F378 -389F000C 3D808030 +389F0010 3D808030 618C2B90 7D8903A6 -4E800421 C03F0004 -D03E0008 C03F0008 -D03E000C 807F0000 -93C30002 BA810008 +4E800421 7FC3F378 +C03F0018 C05F001C +3D808030 618C2B10 +7D8903A6 4E800421 +7FC3F378 389F0014 +3D808030 618C2B64 +7D8903A6 4E800421 +7FC3F378 3D808030 +618C2AF0 7D8903A6 +4E800421 807F0000 +93C30006 38600013 +38800014 38A00000 +3D808039 618C01F0 +7D8903A6 4E800421 +4BFFFCE1 7C8802A6 +38A00007 3D808038 +618CFD54 7D8903A6 +4E800421 BA810008 800100B4 382100B0 7C0803A6 4E800020 7C0802A6 90010004 9421FF50 BE810008 -4BFFFCAD 7FE802A6 -386004B0 3D808037 +38600072 3D808037 618CF1E4 7D8903A6 -4E800421 7C681B78 -3860001F 38800000 -38A00000 38C0001D -38E0000C 3D808030 -618C2834 7D8903A6 -4E800421 7C7E1B78 -806DB77C 7FC4F378 -3D808030 618C2810 -7D8903A6 4E800421 -38600000 987E0026 -7FC3F378 389F0010 -3D808030 618C2B90 -7D8903A6 4E800421 -7FC3F378 C03F0018 -C05F001C 3D808030 -618C2B10 7D8903A6 -4E800421 7FC3F378 -389F0014 3D808030 -618C2B64 7D8903A6 -4E800421 7FC3F378 -3D808030 618C2AF0 -7D8903A6 4E800421 -807F0000 93C30006 -38600013 38800014 -38A00000 3D808039 -618C01F0 7D8903A6 -4E800421 4BFFFCA9 -7C8802A6 38A00007 -3D808038 618CFD54 -7D8903A6 4E800421 -BA810008 800100B4 -382100B0 7C0803A6 -4E800020 7C0802A6 -90010004 9421FF50 -BE810008 3860007A -3D808037 618CF1E4 -7D8903A6 4E800421 -4BFFFB6D 7C8802A6 -90640000 7C7E1B78 -3880007A 3D808000 -618CC160 7D8903A6 -4E800421 4BFFFDD1 -4BFFFE89 4BFFFC21 -7C6802A6 907E0012 -3D808034 618C9BF0 +4E800421 4BFFFBD1 +7C8802A6 90640000 +7C7E1B78 38800072 +3D808000 618CC160 7D8903A6 4E800421 -BA810008 800100B4 -382100B0 7C0803A6 -C022A8C8 00000000 +4BFFFDD1 4BFFFE89 +4BFFFC59 7C6802A6 +907E0012 3D808034 +618C9BF0 7D8903A6 +4E800421 BA810008 +800100B4 382100B0 +7C0803A6 C022A8C8 +60000000 00000000 C21A4DEC 00000028 #External/Debug Inputs/LogEngineTime.asm 3C608048 80639D30 5463443E 2C030202 @@ -5982,34 +5970,19 @@ C2349A28 00000025 #External/Debug Inputs/LogPollTime.asm 800100B4 382100B0 7C0803A6 80B80000 60000000 00000000 -C2375C14 0000003B #External/Debug Inputs/LogScanoutTime.asm -480000AC 4E800021 -10001000 1E001E00 -2C002C00 39003900 -47004700 55005500 -63006300 70007000 -7E007E00 8C008C00 -9A009A00 A700A700 -B500B500 C300C300 -D100D100 DE00DE00 -7C0802A6 90010004 -9421FF50 BE810008 -3C80FF00 6084FF00 -7C7D2038 4BFFFFA1 -7FE802A6 3BC00000 -1C7E0004 7C7F182E -7C1D1800 4082000C -7FC3F378 48000014 -3BDE0001 2C1E0010 -4180FFE0 3860FFFF -BA810008 800100B4 -382100B0 7C0803A6 +C2375C14 0000002C #External/Debug Inputs/LogScanoutTime.asm +48000034 5464C63E +5463463E 7C032000 +4182000C 3860FFFF +48000018 3863FFF1 +1C630006 38800005 +7C632396 5463E73E 4E800020 3C608048 80639D30 5463443E -2C030202 40820114 +2C030202 40820110 3C608047 60639D64 80630000 2C030000 -40820100 7C0802A6 +408200FC 7C0802A6 90010004 9421FF50 BE810008 3D808034 618C7364 7D8903A6 @@ -6020,28 +5993,28 @@ BE810008 3D808034 5484043A 7C842B78 7C632214 83E30008 887F0000 2C030000 -41820084 3C60804A +41820080 3C60804A 60638B10 80630000 -83430004 7F43D378 -4BFFFF09 2C030000 -40800018 807F0072 -38630001 907F0072 -935F0076 48000050 -7C7C1B78 3D808034 -618CC408 7D8903A6 -4E800421 1C9C0004 -38840016 7C9F202E -7C641850 1C63000C -3C808000 608400FC -80840000 38A003E8 -7C842B96 7C842B96 -7C632396 7C7D1B78 -93BF0056 7FC3F378 -3D808034 618C738C +38800000 7C0323AC +7C0004AC 4C00012C +83430000 7F43D378 +4BFFFF2D 2C030000 +41800050 7C7C1B78 +3D808034 618CC408 7D8903A6 4E800421 -BA810008 800100B4 -382100B0 7C0803A6 -80010024 00000000 +1C9C0004 38840016 +7C9F202E 7C641850 +1C63000C 3C808000 +608400FC 80840000 +38A003E8 7C842B96 +7C842B96 7C632396 +7C7D1B78 93BF0056 +7FC3F378 3D808034 +618C738C 7D8903A6 +4E800421 BA810008 +800100B4 382100B0 +7C0803A6 80010024 +60000000 00000000 041BFA20 38600002 #External/Boot to CSS/Boot To CSS.asm $Optional: PD+VB [taukhan] From b698534f286a825a36972364d81271da588f4667 Mon Sep 17 00:00:00 2001 From: Jas Laferriere Date: Thu, 14 Sep 2023 12:37:10 -0400 Subject: [PATCH 14/16] fix build issues --- External/Debug Inputs/DebugInputs.s | 16 +- External/Debug Inputs/LogFetchTime.asm | 2 +- Output/Console/GALE01r2.ini | 321 +++++++++++++++++++ Output/Console/g_core.bin | Bin 5496 -> 8040 bytes Output/Console/g_core_porta.bin | Bin 5496 -> 8040 bytes Output/Netplay/GALE01r2.ini | 409 ++++++++++++++++++++++++- Output/Netplay/GALJ01r2.ini | 409 ++++++++++++++++++++++++- 7 files changed, 1116 insertions(+), 41 deletions(-) diff --git a/External/Debug Inputs/DebugInputs.s b/External/Debug Inputs/DebugInputs.s index 5e295e72..088c0cfa 100644 --- a/External/Debug Inputs/DebugInputs.s +++ b/External/Debug Inputs/DebugInputs.s @@ -1,3 +1,5 @@ +.ifndef HEADER_DEBUG_INPUTS + ################################################################################ # Constants ################################################################################ @@ -25,15 +27,6 @@ ################################################################################ # Macros ################################################################################ -.macro incrementByte reg, reg_address, offset, limit -lbz \reg, \offset(\reg_address) -addi \reg, \reg, 1 -cmpwi \reg, \limit -blt 0f -li \reg, 0 -0: -stb \reg, \offset(\reg_address) -.endm # Calculates us difference from two ticks .macro calcDiffUs reg_now, reg_ref @@ -54,4 +47,7 @@ mulli r4, \reg_idx, 4 addi r4, r4, DIB_CIRCULAR_BUFFER lwzx r4, \reg_dib, r4 calcDiffUs r3, r4 -.endm \ No newline at end of file +.endm + +.endif +.set HEADER_DEBUG_INPUTS, 1 diff --git a/External/Debug Inputs/LogFetchTime.asm b/External/Debug Inputs/LogFetchTime.asm index 012f5d31..9e736e61 100644 --- a/External/Debug Inputs/LogFetchTime.asm +++ b/External/Debug Inputs/LogFetchTime.asm @@ -47,7 +47,7 @@ addi r4, r4, DIB_CIRCULAR_BUFFER stwx r3, REG_DIB, r4 # Increment index -incrementByte r3, REG_DIB, DIB_FETCH_INDEX, CIRCULAR_BUFFER_COUNT +incrementByteInBuf r3, REG_DIB, DIB_FETCH_INDEX, CIRCULAR_BUFFER_COUNT # Indicate ready, prevents other functions from running first. Only activate if currently inactive lbz r3, DIB_ACTIVE_STATE(REG_DIB) diff --git a/Output/Console/GALE01r2.ini b/Output/Console/GALE01r2.ini index 98d69bac..b458de8b 100644 --- a/Output/Console/GALE01r2.ini +++ b/Output/Console/GALE01r2.ini @@ -702,3 +702,324 @@ C03D000C FC020840 BA8100B0 800100E4 382100E0 7C0803A6 60000000 00000000 + +$Optional: Debug Game-Side Latency [Fizzi] +*Shows latency information on screen while in-game +C216E774 00000093 #External/Debug Inputs/InitOnGameStart.asm +48000410 4E800021 +00000000 43480000 +41C80000 000000FF +000000B4 E2E2E2FF +41200000 41880000 +546F7461 6C204761 +6D65204C 61673A20 +25752075 730A0A00 +506F6C6C 20436F75 +6E743A20 25750A00 +4D696E20 506F6C6C +20446966 663A2025 +75207573 0A004D61 +7820506F 6C6C2044 +6966663A 20257520 +75730A00 46657463 +682D4665 7463683A +20257520 75730A00 +506F6C6C 2D466574 +63683A20 25752075 +730A0050 6F6C6C2D +456E6769 6E653A20 +25752075 730A0000 +4E800021 4E800020 +4E800021 7C0802A6 +90010004 9421FF20 +BE8100B0 4BFFFF31 +7FE802A6 83DF0000 +83BE0006 887E0000 +2C030001 40820128 +7FA3EB78 3D808030 +618C2BB0 7D8903A6 +4E800421 7FA3EB78 +38800000 38A00000 +3D808030 618C2A3C +7D8903A6 4E800421 +7FA3EB78 389F0020 +80BE0056 3D808030 +618C2D4C 7D8903A6 +4E800421 7FA3EB78 +389F0038 80BE006E +3D808030 618C2D4C +7D8903A6 4E800421 +7FA3EB78 389F0048 +80BE005A 3D808030 +618C2D4C 7D8903A6 +4E800421 7FA3EB78 +389F005E 80BE005E +3D808030 618C2D4C +7D8903A6 4E800421 +7FA3EB78 389F0074 +80BE0062 3D808030 +618C2D4C 7D8903A6 +4E800421 7FA3EB78 +389F0088 80BE0066 +3D808030 618C2D4C +7D8903A6 4E800421 +7FA3EB78 389F009B +80BE006A 3D808030 +618C2D4C 7D8903A6 +4E800421 3C608046 +6063B6A0 88630008 +2C030000 41820020 +807E0012 3D808034 +618C9CBC 7D8903A6 +4E800421 38600002 +987E0000 BA8100B0 +800100E4 382100E0 +7C0803A6 4E800020 +7C0802A6 90010004 +9421FF20 BE8100B0 +4BFFFDCD 7FE802A6 +38600020 3D808037 +618CF1E4 7D8903A6 +4E800421 7C681B78 +3860001E 3880FF2E +38A0FFD8 38C00001 +38E00001 3D808030 +618C2834 7D8903A6 +4E800421 7C7E1B78 +806DB77C 7FC4F378 +3D808030 618C2810 +7D8903A6 4E800421 +38600000 987E0026 +7FC3F378 389F000C +3D808030 618C2B90 +7D8903A6 4E800421 +C03F0004 D03E0008 +C03F0008 D03E000C +807F0000 93C30002 +BA8100B0 800100E4 +382100E0 7C0803A6 +4E800020 7C0802A6 +90010004 9421FF20 +BE8100B0 4BFFFD11 +7FE802A6 386003E8 +3D808037 618CF1E4 +7D8903A6 4E800421 +7C681B78 3860001F +38800000 38A00000 +38C0001D 38E00009 +3D808030 618C2834 +7D8903A6 4E800421 +7C7E1B78 806DB77C +7FC4F378 3D808030 +618C2810 7D8903A6 +4E800421 38600000 +987E0026 7FC3F378 +389F0010 3D808030 +618C2B90 7D8903A6 +4E800421 7FC3F378 +C03F0018 C05F001C +3D808030 618C2B10 +7D8903A6 4E800421 +7FC3F378 389F0014 +3D808030 618C2B64 +7D8903A6 4E800421 +7FC3F378 3D808030 +618C2AF0 7D8903A6 +4E800421 807F0000 +93C30006 38600013 +38800014 38A00000 +3D808039 618C01F0 +7D8903A6 4E800421 +4BFFFCE1 7C8802A6 +38A00007 3D808038 +618CFD54 7D8903A6 +4E800421 BA8100B0 +800100E4 382100E0 +7C0803A6 4E800020 +7C0802A6 90010004 +9421FF20 BE8100B0 +38600072 3D808037 +618CF1E4 7D8903A6 +4E800421 4BFFFBD1 +7C8802A6 90640000 +7C7E1B78 38800072 +3D808000 618CC160 +7D8903A6 4E800421 +4BFFFDD1 4BFFFE89 +4BFFFC59 7C6802A6 +907E0012 3D808034 +618C9BF0 7D8903A6 +4E800421 BA8100B0 +800100E4 382100E0 +7C0803A6 C022A8C8 +60000000 00000000 +C21A4DEC 00000028 #External/Debug Inputs/LogEngineTime.asm +3C608048 80639D30 +5463443E 2C030202 +40820124 3C608048 +80639D60 2C030000 +40810114 7C0802A6 +90010004 9421FF20 +BE8100B0 3D808034 +618C7364 7D8903A6 +4E800421 7C7E1B78 +3C608016 6063E774 +80830000 5485863E +7CA50774 54A5801E +5484043A 7C842B78 +7C632214 83E30008 +887F0000 2C030000 +41820098 3C80804C +60841FAC 80640000 +547C073E 54630036 +90640000 3D808034 +618CC408 7D8903A6 +4E800421 1C9C0004 +38840016 7C9F202E +7C641850 1C63000C +3C808000 608400FC +80840000 38A003E8 +7C842B96 7C842B96 +7C632396 7C7D1B78 +93BF006A 807F0002 +9B810008 9B810009 +9B81000A 80810008 +54842026 608400FF +90810008 38810008 +3D808030 618C2B90 +7D8903A6 4E800421 +7FC3F378 3D808034 +618C738C 7D8903A6 +4E800421 BA8100B0 +800100E4 382100E0 +7C0803A6 800D9368 +60000000 00000000 +C2376A88 0000002D #External/Debug Inputs/LogFetchTime.asm +3C608048 80639D30 +5463443E 2C030202 +40820150 3C608047 +60639D64 80630000 +2C030000 4082013C +7C0802A6 90010004 +9421FF20 BE8100B0 +3D808034 618C7364 +7D8903A6 4E800421 +7C7E1B78 3C608016 +6063E774 80830000 +5485863E 7CA50774 +54A5801E 5484043A +7C842B78 7C632214 +83E30008 806100DC +54638036 889F0001 +7C632378 5463803E +906100DC 807F000A +889F0001 1C840004 +38840016 7C7F212E +887F0001 38630001 +2C030010 41800008 +38600000 987F0001 +887F0000 2C030000 +4082000C 38600001 +987F0000 3D808034 +618CC408 7D8903A6 +4E800421 7C7D1B78 +809F000E 93BF000E +7C64E850 1C63000C +3C808000 608400FC +80840000 38A003E8 +7C842B96 7C842B96 +7C632396 907F0062 +807F000A 7C63E850 +1C63000C 3C808000 +608400FC 80840000 +38A003E8 7C842B96 +7C842B96 7C632396 +907F0066 7FC3F378 +3D808034 618C738C +7D8903A6 4E800421 +BA8100B0 800100E4 +382100E0 7C0803A6 +881F0002 00000000 +C2349A28 00000025 #External/Debug Inputs/LogPollTime.asm +3C608048 80639D30 +5463443E 2C030202 +4082010C 3C608047 +60639D64 80630000 +2C030000 408200F8 +7C0802A6 90010004 +9421FF20 BE8100B0 +3D808034 618C7364 +7D8903A6 4E800421 +7C7E1B78 3C608016 +6063E774 80830000 +5485863E 7CA50774 +54A5801E 5484043A +7C842B78 7C632214 +83E30008 807F006E +38630001 907F006E +3D808034 618CC408 +7D8903A6 4E800421 +809F000A 907F000A +7C641850 1C63000C +3C808000 608400FC +80840000 38A003E8 +7C842B96 7C842B96 +7C632396 7C7D1B78 +807F006E 5463063F +41820028 807F005A +7C1D1800 40800008 +93BF005A 807F005E +7C1D1800 40810008 +93BF005E 4800000C +93BF005A 93BF005E +7FC3F378 3D808034 +618C738C 7D8903A6 +4E800421 BA8100B0 +800100E4 382100E0 +7C0803A6 80B80000 +60000000 00000000 +C2375C14 0000002C #External/Debug Inputs/LogScanoutTime.asm +48000034 5464C63E +5463463E 7C032000 +4182000C 3860FFFF +48000018 3863FFF1 +1C630006 38800005 +7C632396 5463E73E +4E800020 3C608048 +80639D30 5463443E +2C030202 40820110 +3C608047 60639D64 +80630000 2C030000 +408200FC 7C0802A6 +90010004 9421FF20 +BE8100B0 3D808034 +618C7364 7D8903A6 +4E800421 7C7E1B78 +3C608016 6063E774 +80830000 5485863E +7CA50774 54A5801E +5484043A 7C842B78 +7C632214 83E30008 +887F0000 2C030000 +41820080 3C60804A +60638B10 80630000 +38800000 7C0323AC +7C0004AC 4C00012C +83430000 7F43D378 +4BFFFF2D 2C030000 +41800050 7C7C1B78 +3D808034 618CC408 +7D8903A6 4E800421 +1C9C0004 38840016 +7C9F202E 7C641850 +1C63000C 3C808000 +608400FC 80840000 +38A003E8 7C842B96 +7C842B96 7C632396 +7C7D1B78 93BF0056 +7FC3F378 3D808034 +618C738C 7D8903A6 +4E800421 BA8100B0 +800100E4 382100E0 +7C0803A6 80010024 +60000000 00000000 diff --git a/Output/Console/g_core.bin b/Output/Console/g_core.bin index b01d8c0a3c01dd7db538c562c82fe0dcef90c322..1a1e9fea60562aa73ae5839346637f045e54af09 100644 GIT binary patch delta 2367 zcmb_dUr1Y582@gPX&Ta!)=XsDdaZ3q{YM8h|HDC6FhI6)zz6@6OvWLMoH&ECfTKZC$-QDjbxlvPPrEB2i zp7Z;C-#y>=`@VDTe^IBl6kM<$k#AJqpNv;PHC;k*;{X5`XPq`zQBB4`Xbz3lQDLDPKIShvkj{X#UgL?wxFq6Rxj zZIhDE`25e<>ztnmCF>WjUbD}i=Z+eIDV#`|Bg%1gt=qT^$$W_}*ugNBRAR*iRR`j>MFot#jD+9#3GI30jp zb0~TJYbzr~BijtrN`C+unbS6(lF0FCjVUip&|=Vh^1YB1Mlu{*Ldl1JSdMJ4G6wvR z!p$aS&iqMPCQ12~q+B4r=7QaLWsG0`iWzqw<;&pnSRDKbn;$doJc=n9I_}On*QYFl z<YL%241rtnPt@<+Ch-JY@*joA1)sLP@D$6EqKO{KgWf%^a2D1xhISL``dD zRpH_y;w>M-U|aEm=HK^)b1F>4P$29gY$%lcR}F|Hy~z)$amOhZua7bPu;HEhotz1DM83agS~>61;?)ZrS*fhl zuj+JCWSHCFuG7k_>N+`;IF+-E+{D5aJykln;Y(VaHh5gz3ifquGMycI?KHbu8B2dd z!>EgGc7mK3duAt&lZ#`a#^qyhG*g%>7}!i)HH8*Nfz$7l)fjwldQi)WMJp}CxKgQc z2eo>Doz?UkVXo&AgMzIuKrur|mQ{?0=x0^uCleWxm|h#h+@Au5>|6q?is#iaYMP*~ zr066;VNW|pg2-S7n5BB#B)Ne}z@AcBsKzt256bOh;kVcSQ|6RG7ex?Ee;zr&&E^fS9G zJ_snCX#%fMbn_t&K?$ybm(UW^s=nqI-_{+J^z5MIMv;=n;&UG9;uFoW*;|_aiANj; zadk6$?E)jmLKj+cs)NYr_%ViWe`EFr;MBudC2rGm+vR`G<9;EprkhK2M9XSP^e?uz B7{LGl delta 7 OcmaE1_d{z#g(v_JXaj}- diff --git a/Output/Console/g_core_porta.bin b/Output/Console/g_core_porta.bin index b9b03399eb1ef21c420a91fdc356925cfffa2831..bfb2c09f5e8af8d0e4a8a6cb7728fd4a60b2ef0c 100644 GIT binary patch delta 2367 zcmb_dUr1Y582@gPX&Ta!)=XsDdaZ3q{YM8h|HDC6FhI6)zz6@6OvWLMoH&ECfTKZC$-QDjbxlvPPrEB2i zp7Z;C-#y>=`@VDTe^IBl6kM<$k#AJqpNv;PHC;k*;{X5`XPq`zQBB4`Xbz3lQDLDPKIShvkj{X#UgL?wxFq6Rxj zZIhDE`25e<>ztnmCF>WjUbD}i=Z+eIDV#`|Bg%1gt=qT^$$W_}*ugNBRAR*iRR`j>MFot#jD+9#3GI30jp zb0~TJYbzr~BijtrN`C+unbS6(lF0FCjVUip&|=Vh^1YB1Mlu{*Ldl1JSdMJ4G6wvR z!p$aS&iqMPCQ12~q+B4r=7QaLWsG0`iWzqw<;&pnSRDKbn;$doJc=n9I_}On*QYFl z<YL%241rtnPt@<+Ch-JY@*joA1)sLP@D$6EqKO{KgWf%^a2D1xhISL``dD zRpH_y;w>M-U|aEm=HK^)b1F>4P$29gY$%lcR}F|Hy~z)$amOhZua7bPu;HEhotz1DM83agS~>61;?)ZrS*fhl zuj+JCWSHCFuG7k_>N+`;IF+-E+{D5aJykln;Y(VaHh5gz3ifquGMycI?KHbu8B2dd z!>EgGc7mK3duAt&lZ#`a#^qyhG*g%>7}!i)HH8*Nfz$7l)fjwldQi)WMJp}CxKgQc z2eo>Doz?UkVXo&AgMzIuKrur|mQ{?0=x0^uCleWxm|h#h+@Au5>|6q?is#iaYMP*~ zr066;VNW|pg2-S7n5BB#B)Ne}z@AcBsKzt256bOh;kVcSQ|6RG7ex?Ee;zr&&E^fS9G zJ_snCX#%fMbn_t&K?$ybm(UW^s=nqI-_{+J^z5MIMv;=n;&UG9;uFoW*;|_aiANj; zadk6$?E)jmLKj+cs)NYr_%ViWe`EFr;MBudC2rGm+vR`G<9;EprkhK2M9XSP^e?uz B7{LGl delta 7 OcmaE1_d{z#g(v_JXaj}- diff --git a/Output/Netplay/GALE01r2.ini b/Output/Netplay/GALE01r2.ini index d377db37..db599beb 100644 --- a/Output/Netplay/GALE01r2.ini +++ b/Output/Netplay/GALE01r2.ini @@ -4665,7 +4665,7 @@ C21BFA20 00000012 #Online/Slippi Online Scene/boot.asm 60631360 906400A0 3D80801B 618C136C 7D8903A6 4E800420 -38600001 00000000 +38600002 00000000 C21A45B8 000001FF #Online/Slippi Online Scene/main.asm 3BA30004 7C0802A6 90010004 9421FF20 @@ -5622,20 +5622,6 @@ BE8100B0 4BFFFCA9 7C0803A6 4E800020 60000000 00000000 043775B0 7C600775 #Online/Debugging/LogInputOnCopy.asm -041A4C24 C0429A7C #Polling Drift Fix + VB [tauKhan] -0401985C 3C60804C -04019860 91231F5C -C2376200 00000003 -2C1DFFFF 41820008 -48000008 93A2C150 -60000000 00000000 -C21A5018 00000005 -3B5A0001 8002C150 -2C00FFFF 38000000 -9002C150 3D80801A -618C5078 7D8903A6 -4D820420 00000000 -04218D68 C8228000 C209E090 00000011 #Common/FastForward/DynamicsFix.asm 807E0000 80630028 48000009 48000074 @@ -6953,3 +6939,396 @@ C0230064 BA810008 BA810008 800100B4 382100B0 7C0803A6 60000000 00000000 + +$Optional: Debug Game-Side Latency [Fizzi] +*Shows latency information on screen while in-game +C216E774 00000093 #External/Debug Inputs/InitOnGameStart.asm +48000410 4E800021 +00000000 43480000 +41C80000 000000FF +000000B4 E2E2E2FF +41200000 41880000 +546F7461 6C204761 +6D65204C 61673A20 +25752075 730A0A00 +506F6C6C 20436F75 +6E743A20 25750A00 +4D696E20 506F6C6C +20446966 663A2025 +75207573 0A004D61 +7820506F 6C6C2044 +6966663A 20257520 +75730A00 46657463 +682D4665 7463683A +20257520 75730A00 +506F6C6C 2D466574 +63683A20 25752075 +730A0050 6F6C6C2D +456E6769 6E653A20 +25752075 730A0000 +4E800021 4E800020 +4E800021 7C0802A6 +90010004 9421FF20 +BE8100B0 4BFFFF31 +7FE802A6 83DF0000 +83BE0006 887E0000 +2C030001 40820128 +7FA3EB78 3D808030 +618C2BB0 7D8903A6 +4E800421 7FA3EB78 +38800000 38A00000 +3D808030 618C2A3C +7D8903A6 4E800421 +7FA3EB78 389F0020 +80BE0056 3D808030 +618C2D4C 7D8903A6 +4E800421 7FA3EB78 +389F0038 80BE006E +3D808030 618C2D4C +7D8903A6 4E800421 +7FA3EB78 389F0048 +80BE005A 3D808030 +618C2D4C 7D8903A6 +4E800421 7FA3EB78 +389F005E 80BE005E +3D808030 618C2D4C +7D8903A6 4E800421 +7FA3EB78 389F0074 +80BE0062 3D808030 +618C2D4C 7D8903A6 +4E800421 7FA3EB78 +389F0088 80BE0066 +3D808030 618C2D4C +7D8903A6 4E800421 +7FA3EB78 389F009B +80BE006A 3D808030 +618C2D4C 7D8903A6 +4E800421 3C608046 +6063B6A0 88630008 +2C030000 41820020 +807E0012 3D808034 +618C9CBC 7D8903A6 +4E800421 38600002 +987E0000 BA8100B0 +800100E4 382100E0 +7C0803A6 4E800020 +7C0802A6 90010004 +9421FF20 BE8100B0 +4BFFFDCD 7FE802A6 +38600020 3D808037 +618CF1E4 7D8903A6 +4E800421 7C681B78 +3860001E 3880FF2E +38A0FFD8 38C00001 +38E00001 3D808030 +618C2834 7D8903A6 +4E800421 7C7E1B78 +806DB77C 7FC4F378 +3D808030 618C2810 +7D8903A6 4E800421 +38600000 987E0026 +7FC3F378 389F000C +3D808030 618C2B90 +7D8903A6 4E800421 +C03F0004 D03E0008 +C03F0008 D03E000C +807F0000 93C30002 +BA8100B0 800100E4 +382100E0 7C0803A6 +4E800020 7C0802A6 +90010004 9421FF20 +BE8100B0 4BFFFD11 +7FE802A6 386003E8 +3D808037 618CF1E4 +7D8903A6 4E800421 +7C681B78 3860001F +38800000 38A00000 +38C0001D 38E00009 +3D808030 618C2834 +7D8903A6 4E800421 +7C7E1B78 806DB77C +7FC4F378 3D808030 +618C2810 7D8903A6 +4E800421 38600000 +987E0026 7FC3F378 +389F0010 3D808030 +618C2B90 7D8903A6 +4E800421 7FC3F378 +C03F0018 C05F001C +3D808030 618C2B10 +7D8903A6 4E800421 +7FC3F378 389F0014 +3D808030 618C2B64 +7D8903A6 4E800421 +7FC3F378 3D808030 +618C2AF0 7D8903A6 +4E800421 807F0000 +93C30006 38600013 +38800014 38A00000 +3D808039 618C01F0 +7D8903A6 4E800421 +4BFFFCE1 7C8802A6 +38A00007 3D808038 +618CFD54 7D8903A6 +4E800421 BA8100B0 +800100E4 382100E0 +7C0803A6 4E800020 +7C0802A6 90010004 +9421FF20 BE8100B0 +38600072 3D808037 +618CF1E4 7D8903A6 +4E800421 4BFFFBD1 +7C8802A6 90640000 +7C7E1B78 38800072 +3D808000 618CC160 +7D8903A6 4E800421 +4BFFFDD1 4BFFFE89 +4BFFFC59 7C6802A6 +907E0012 3D808034 +618C9BF0 7D8903A6 +4E800421 BA8100B0 +800100E4 382100E0 +7C0803A6 C022A8C8 +60000000 00000000 +C21A4DEC 00000028 #External/Debug Inputs/LogEngineTime.asm +3C608048 80639D30 +5463443E 2C030202 +40820124 3C608048 +80639D60 2C030000 +40810114 7C0802A6 +90010004 9421FF20 +BE8100B0 3D808034 +618C7364 7D8903A6 +4E800421 7C7E1B78 +3C608016 6063E774 +80830000 5485863E +7CA50774 54A5801E +5484043A 7C842B78 +7C632214 83E30008 +887F0000 2C030000 +41820098 3C80804C +60841FAC 80640000 +547C073E 54630036 +90640000 3D808034 +618CC408 7D8903A6 +4E800421 1C9C0004 +38840016 7C9F202E +7C641850 1C63000C +3C808000 608400FC +80840000 38A003E8 +7C842B96 7C842B96 +7C632396 7C7D1B78 +93BF006A 807F0002 +9B810008 9B810009 +9B81000A 80810008 +54842026 608400FF +90810008 38810008 +3D808030 618C2B90 +7D8903A6 4E800421 +7FC3F378 3D808034 +618C738C 7D8903A6 +4E800421 BA8100B0 +800100E4 382100E0 +7C0803A6 800D9368 +60000000 00000000 +C2376A88 0000002D #External/Debug Inputs/LogFetchTime.asm +3C608048 80639D30 +5463443E 2C030202 +40820150 3C608047 +60639D64 80630000 +2C030000 4082013C +7C0802A6 90010004 +9421FF20 BE8100B0 +3D808034 618C7364 +7D8903A6 4E800421 +7C7E1B78 3C608016 +6063E774 80830000 +5485863E 7CA50774 +54A5801E 5484043A +7C842B78 7C632214 +83E30008 806100DC +54638036 889F0001 +7C632378 5463803E +906100DC 807F000A +889F0001 1C840004 +38840016 7C7F212E +887F0001 38630001 +2C030010 41800008 +38600000 987F0001 +887F0000 2C030000 +4082000C 38600001 +987F0000 3D808034 +618CC408 7D8903A6 +4E800421 7C7D1B78 +809F000E 93BF000E +7C64E850 1C63000C +3C808000 608400FC +80840000 38A003E8 +7C842B96 7C842B96 +7C632396 907F0062 +807F000A 7C63E850 +1C63000C 3C808000 +608400FC 80840000 +38A003E8 7C842B96 +7C842B96 7C632396 +907F0066 7FC3F378 +3D808034 618C738C +7D8903A6 4E800421 +BA8100B0 800100E4 +382100E0 7C0803A6 +881F0002 00000000 +C2349A28 00000025 #External/Debug Inputs/LogPollTime.asm +3C608048 80639D30 +5463443E 2C030202 +4082010C 3C608047 +60639D64 80630000 +2C030000 408200F8 +7C0802A6 90010004 +9421FF20 BE8100B0 +3D808034 618C7364 +7D8903A6 4E800421 +7C7E1B78 3C608016 +6063E774 80830000 +5485863E 7CA50774 +54A5801E 5484043A +7C842B78 7C632214 +83E30008 807F006E +38630001 907F006E +3D808034 618CC408 +7D8903A6 4E800421 +809F000A 907F000A +7C641850 1C63000C +3C808000 608400FC +80840000 38A003E8 +7C842B96 7C842B96 +7C632396 7C7D1B78 +807F006E 5463063F +41820028 807F005A +7C1D1800 40800008 +93BF005A 807F005E +7C1D1800 40810008 +93BF005E 4800000C +93BF005A 93BF005E +7FC3F378 3D808034 +618C738C 7D8903A6 +4E800421 BA8100B0 +800100E4 382100E0 +7C0803A6 80B80000 +60000000 00000000 +C2375C14 0000002C #External/Debug Inputs/LogScanoutTime.asm +48000034 5464C63E +5463463E 7C032000 +4182000C 3860FFFF +48000018 3863FFF1 +1C630006 38800005 +7C632396 5463E73E +4E800020 3C608048 +80639D30 5463443E +2C030202 40820110 +3C608047 60639D64 +80630000 2C030000 +408200FC 7C0802A6 +90010004 9421FF20 +BE8100B0 3D808034 +618C7364 7D8903A6 +4E800421 7C7E1B78 +3C608016 6063E774 +80830000 5485863E +7CA50774 54A5801E +5484043A 7C842B78 +7C632214 83E30008 +887F0000 2C030000 +41820080 3C60804A +60638B10 80630000 +38800000 7C0323AC +7C0004AC 4C00012C +83430000 7F43D378 +4BFFFF2D 2C030000 +41800050 7C7C1B78 +3D808034 618CC408 +7D8903A6 4E800421 +1C9C0004 38840016 +7C9F202E 7C641850 +1C63000C 3C808000 +608400FC 80840000 +38A003E8 7C842B96 +7C842B96 7C632396 +7C7D1B78 93BF0056 +7FC3F378 3D808034 +618C738C 7D8903A6 +4E800421 BA8100B0 +800100E4 382100E0 +7C0803A6 80010024 +60000000 00000000 +041BFA20 38600002 #External/Boot to CSS/Boot To CSS.asm + +$Optional: PD+VB [taukhan] +*PD+VB +C21A4D98 00000007 #Polling Drift Fix + VB [tauKhan] +8062A6F4 2C030001 +40820028 8062A6F0 +2C030002 4182001C +386DBD88 3D808034 +618CBA14 7D8803A6 +4E800021 4BFFFFD4 +60000000 00000000 +C21A5050 0000000B +8062A6F4 2C030001 +40820044 8062A6F0 +2C030002 40820038 +4800001C 8062A6F0 +2C030002 41820028 +8062A6F4 2C030001 +4082001C 386DBD88 +3D808034 618CBA14 +7D8803A6 4E800021 +4BFFFFD4 38600000 +60000000 00000000 +C21A4BEC 00000015 +4800007D 7C0802A6 +90010004 9421FFF8 +386DBD88 8082A6F0 +38840001 9082A6F0 +2C040001 40820014 +3D808001 618C95FC +7D8803A6 4E800021 +8082A6F0 2C040002 +40820014 3D808034 +618CBB00 7D8803A6 +4E800021 38600001 +9062A6F4 38604000 +38635624 3C808043 +B0642A42 8001000C +38210008 7C0803A6 +4E800020 7C6802A6 +3D808034 618CE894 +7D8803A6 4E800021 +3C608048 3C80801A +380446F4 38800000 +60000000 00000000 +04158268 C82280A0 +C234EB60 00000007 +8062A6F0 2C030001 +4080001C 38600000 +9062A6F4 3C608043 +38804000 388455FC +B0832A42 38600000 +9062A6F0 386DBD88 +60000000 00000000 +04397878 4800020C + +$Optional: PD [Dan Salvato] +*PD +C21A4DA0 00000003 #Polling Drift Fix [Dan Salvato] +901C0000 3D808001 +618C95FC 7D8903A6 +4E800421 00000000 +041A4DB4 60000000 +04019860 4BFFFD9D + +$Optional: 59.94Hz Engine [Fizzi] +*Attempts to fix polling drift +044DA2A8 3C88AB85 #External/59.94Hz Engine/InGameSpeed.asm +044DA9E8 3C88AB85 #External/59.94Hz Engine/MenuSpeed.asm +044D7CA0 3C88AB85 #External/59.94Hz Engine/SetSpeedOnBoot.asm +044DA5F8 3C88AB85 #External/59.94Hz Engine/TrainingModeSpeed.asm diff --git a/Output/Netplay/GALJ01r2.ini b/Output/Netplay/GALJ01r2.ini index 7cfef3f3..2046ffbc 100644 --- a/Output/Netplay/GALJ01r2.ini +++ b/Output/Netplay/GALJ01r2.ini @@ -4664,7 +4664,7 @@ C21BFA20 00000012 #Online/Slippi Online Scene/boot.asm 60631360 906400A0 3D80801B 618C136C 7D8903A6 4E800420 -38600001 00000000 +38600002 00000000 C21A45B8 000001FF #Online/Slippi Online Scene/main.asm 3BA30004 7C0802A6 90010004 9421FF20 @@ -5621,20 +5621,6 @@ BE8100B0 4BFFFCA9 7C0803A6 4E800020 60000000 00000000 043775B0 7C600775 #Online/Debugging/LogInputOnCopy.asm -041A4C24 C0429A7C #Polling Drift Fix + VB [tauKhan] -0401985C 3C60804C -04019860 91231F5C -C2376200 00000003 -2C1DFFFF 41820008 -48000008 93A2C150 -60000000 00000000 -C21A5018 00000005 -3B5A0001 8002C150 -2C00FFFF 38000000 -9002C150 3D80801A -618C5078 7D8903A6 -4D820420 00000000 -04218D68 C8228000 C209E090 00000011 #Common/FastForward/DynamicsFix.asm 807E0000 80630028 48000009 48000074 @@ -6952,3 +6938,396 @@ C0230064 BA810008 BA810008 800100B4 382100B0 7C0803A6 60000000 00000000 + +$Optional: Debug Game-Side Latency [Fizzi] +*Shows latency information on screen while in-game +C216E774 00000093 #External/Debug Inputs/InitOnGameStart.asm +48000410 4E800021 +00000000 43480000 +41C80000 000000FF +000000B4 E2E2E2FF +41200000 41880000 +546F7461 6C204761 +6D65204C 61673A20 +25752075 730A0A00 +506F6C6C 20436F75 +6E743A20 25750A00 +4D696E20 506F6C6C +20446966 663A2025 +75207573 0A004D61 +7820506F 6C6C2044 +6966663A 20257520 +75730A00 46657463 +682D4665 7463683A +20257520 75730A00 +506F6C6C 2D466574 +63683A20 25752075 +730A0050 6F6C6C2D +456E6769 6E653A20 +25752075 730A0000 +4E800021 4E800020 +4E800021 7C0802A6 +90010004 9421FF20 +BE8100B0 4BFFFF31 +7FE802A6 83DF0000 +83BE0006 887E0000 +2C030001 40820128 +7FA3EB78 3D808030 +618C2BB0 7D8903A6 +4E800421 7FA3EB78 +38800000 38A00000 +3D808030 618C2A3C +7D8903A6 4E800421 +7FA3EB78 389F0020 +80BE0056 3D808030 +618C2D4C 7D8903A6 +4E800421 7FA3EB78 +389F0038 80BE006E +3D808030 618C2D4C +7D8903A6 4E800421 +7FA3EB78 389F0048 +80BE005A 3D808030 +618C2D4C 7D8903A6 +4E800421 7FA3EB78 +389F005E 80BE005E +3D808030 618C2D4C +7D8903A6 4E800421 +7FA3EB78 389F0074 +80BE0062 3D808030 +618C2D4C 7D8903A6 +4E800421 7FA3EB78 +389F0088 80BE0066 +3D808030 618C2D4C +7D8903A6 4E800421 +7FA3EB78 389F009B +80BE006A 3D808030 +618C2D4C 7D8903A6 +4E800421 3C608046 +6063B6A0 88630008 +2C030000 41820020 +807E0012 3D808034 +618C9CBC 7D8903A6 +4E800421 38600002 +987E0000 BA8100B0 +800100E4 382100E0 +7C0803A6 4E800020 +7C0802A6 90010004 +9421FF20 BE8100B0 +4BFFFDCD 7FE802A6 +38600020 3D808037 +618CF1E4 7D8903A6 +4E800421 7C681B78 +3860001E 3880FF2E +38A0FFD8 38C00001 +38E00001 3D808030 +618C2834 7D8903A6 +4E800421 7C7E1B78 +806DB77C 7FC4F378 +3D808030 618C2810 +7D8903A6 4E800421 +38600000 987E0026 +7FC3F378 389F000C +3D808030 618C2B90 +7D8903A6 4E800421 +C03F0004 D03E0008 +C03F0008 D03E000C +807F0000 93C30002 +BA8100B0 800100E4 +382100E0 7C0803A6 +4E800020 7C0802A6 +90010004 9421FF20 +BE8100B0 4BFFFD11 +7FE802A6 386003E8 +3D808037 618CF1E4 +7D8903A6 4E800421 +7C681B78 3860001F +38800000 38A00000 +38C0001D 38E00009 +3D808030 618C2834 +7D8903A6 4E800421 +7C7E1B78 806DB77C +7FC4F378 3D808030 +618C2810 7D8903A6 +4E800421 38600000 +987E0026 7FC3F378 +389F0010 3D808030 +618C2B90 7D8903A6 +4E800421 7FC3F378 +C03F0018 C05F001C +3D808030 618C2B10 +7D8903A6 4E800421 +7FC3F378 389F0014 +3D808030 618C2B64 +7D8903A6 4E800421 +7FC3F378 3D808030 +618C2AF0 7D8903A6 +4E800421 807F0000 +93C30006 38600013 +38800014 38A00000 +3D808039 618C01F0 +7D8903A6 4E800421 +4BFFFCE1 7C8802A6 +38A00007 3D808038 +618CFD54 7D8903A6 +4E800421 BA8100B0 +800100E4 382100E0 +7C0803A6 4E800020 +7C0802A6 90010004 +9421FF20 BE8100B0 +38600072 3D808037 +618CF1E4 7D8903A6 +4E800421 4BFFFBD1 +7C8802A6 90640000 +7C7E1B78 38800072 +3D808000 618CC160 +7D8903A6 4E800421 +4BFFFDD1 4BFFFE89 +4BFFFC59 7C6802A6 +907E0012 3D808034 +618C9BF0 7D8903A6 +4E800421 BA8100B0 +800100E4 382100E0 +7C0803A6 C022A8C8 +60000000 00000000 +C21A4DEC 00000028 #External/Debug Inputs/LogEngineTime.asm +3C608048 80639D30 +5463443E 2C030202 +40820124 3C608048 +80639D60 2C030000 +40810114 7C0802A6 +90010004 9421FF20 +BE8100B0 3D808034 +618C7364 7D8903A6 +4E800421 7C7E1B78 +3C608016 6063E774 +80830000 5485863E +7CA50774 54A5801E +5484043A 7C842B78 +7C632214 83E30008 +887F0000 2C030000 +41820098 3C80804C +60841FAC 80640000 +547C073E 54630036 +90640000 3D808034 +618CC408 7D8903A6 +4E800421 1C9C0004 +38840016 7C9F202E +7C641850 1C63000C +3C808000 608400FC +80840000 38A003E8 +7C842B96 7C842B96 +7C632396 7C7D1B78 +93BF006A 807F0002 +9B810008 9B810009 +9B81000A 80810008 +54842026 608400FF +90810008 38810008 +3D808030 618C2B90 +7D8903A6 4E800421 +7FC3F378 3D808034 +618C738C 7D8903A6 +4E800421 BA8100B0 +800100E4 382100E0 +7C0803A6 800D9368 +60000000 00000000 +C2376A88 0000002D #External/Debug Inputs/LogFetchTime.asm +3C608048 80639D30 +5463443E 2C030202 +40820150 3C608047 +60639D64 80630000 +2C030000 4082013C +7C0802A6 90010004 +9421FF20 BE8100B0 +3D808034 618C7364 +7D8903A6 4E800421 +7C7E1B78 3C608016 +6063E774 80830000 +5485863E 7CA50774 +54A5801E 5484043A +7C842B78 7C632214 +83E30008 806100DC +54638036 889F0001 +7C632378 5463803E +906100DC 807F000A +889F0001 1C840004 +38840016 7C7F212E +887F0001 38630001 +2C030010 41800008 +38600000 987F0001 +887F0000 2C030000 +4082000C 38600001 +987F0000 3D808034 +618CC408 7D8903A6 +4E800421 7C7D1B78 +809F000E 93BF000E +7C64E850 1C63000C +3C808000 608400FC +80840000 38A003E8 +7C842B96 7C842B96 +7C632396 907F0062 +807F000A 7C63E850 +1C63000C 3C808000 +608400FC 80840000 +38A003E8 7C842B96 +7C842B96 7C632396 +907F0066 7FC3F378 +3D808034 618C738C +7D8903A6 4E800421 +BA8100B0 800100E4 +382100E0 7C0803A6 +881F0002 00000000 +C2349A28 00000025 #External/Debug Inputs/LogPollTime.asm +3C608048 80639D30 +5463443E 2C030202 +4082010C 3C608047 +60639D64 80630000 +2C030000 408200F8 +7C0802A6 90010004 +9421FF20 BE8100B0 +3D808034 618C7364 +7D8903A6 4E800421 +7C7E1B78 3C608016 +6063E774 80830000 +5485863E 7CA50774 +54A5801E 5484043A +7C842B78 7C632214 +83E30008 807F006E +38630001 907F006E +3D808034 618CC408 +7D8903A6 4E800421 +809F000A 907F000A +7C641850 1C63000C +3C808000 608400FC +80840000 38A003E8 +7C842B96 7C842B96 +7C632396 7C7D1B78 +807F006E 5463063F +41820028 807F005A +7C1D1800 40800008 +93BF005A 807F005E +7C1D1800 40810008 +93BF005E 4800000C +93BF005A 93BF005E +7FC3F378 3D808034 +618C738C 7D8903A6 +4E800421 BA8100B0 +800100E4 382100E0 +7C0803A6 80B80000 +60000000 00000000 +C2375C14 0000002C #External/Debug Inputs/LogScanoutTime.asm +48000034 5464C63E +5463463E 7C032000 +4182000C 3860FFFF +48000018 3863FFF1 +1C630006 38800005 +7C632396 5463E73E +4E800020 3C608048 +80639D30 5463443E +2C030202 40820110 +3C608047 60639D64 +80630000 2C030000 +408200FC 7C0802A6 +90010004 9421FF20 +BE8100B0 3D808034 +618C7364 7D8903A6 +4E800421 7C7E1B78 +3C608016 6063E774 +80830000 5485863E +7CA50774 54A5801E +5484043A 7C842B78 +7C632214 83E30008 +887F0000 2C030000 +41820080 3C60804A +60638B10 80630000 +38800000 7C0323AC +7C0004AC 4C00012C +83430000 7F43D378 +4BFFFF2D 2C030000 +41800050 7C7C1B78 +3D808034 618CC408 +7D8903A6 4E800421 +1C9C0004 38840016 +7C9F202E 7C641850 +1C63000C 3C808000 +608400FC 80840000 +38A003E8 7C842B96 +7C842B96 7C632396 +7C7D1B78 93BF0056 +7FC3F378 3D808034 +618C738C 7D8903A6 +4E800421 BA8100B0 +800100E4 382100E0 +7C0803A6 80010024 +60000000 00000000 +041BFA20 38600002 #External/Boot to CSS/Boot To CSS.asm + +$Optional: PD+VB [taukhan] +*PD+VB +C21A4D98 00000007 #Polling Drift Fix + VB [tauKhan] +8062A6F4 2C030001 +40820028 8062A6F0 +2C030002 4182001C +386DBD88 3D808034 +618CBA14 7D8803A6 +4E800021 4BFFFFD4 +60000000 00000000 +C21A5050 0000000B +8062A6F4 2C030001 +40820044 8062A6F0 +2C030002 40820038 +4800001C 8062A6F0 +2C030002 41820028 +8062A6F4 2C030001 +4082001C 386DBD88 +3D808034 618CBA14 +7D8803A6 4E800021 +4BFFFFD4 38600000 +60000000 00000000 +C21A4BEC 00000015 +4800007D 7C0802A6 +90010004 9421FFF8 +386DBD88 8082A6F0 +38840001 9082A6F0 +2C040001 40820014 +3D808001 618C95FC +7D8803A6 4E800021 +8082A6F0 2C040002 +40820014 3D808034 +618CBB00 7D8803A6 +4E800021 38600001 +9062A6F4 38604000 +38635624 3C808043 +B0642A42 8001000C +38210008 7C0803A6 +4E800020 7C6802A6 +3D808034 618CE894 +7D8803A6 4E800021 +3C608048 3C80801A +380446F4 38800000 +60000000 00000000 +04158268 C82280A0 +C234EB60 00000007 +8062A6F0 2C030001 +4080001C 38600000 +9062A6F4 3C608043 +38804000 388455FC +B0832A42 38600000 +9062A6F0 386DBD88 +60000000 00000000 +04397878 4800020C + +$Optional: PD [Dan Salvato] +*PD +C21A4DA0 00000003 #Polling Drift Fix [Dan Salvato] +901C0000 3D808001 +618C95FC 7D8903A6 +4E800421 00000000 +041A4DB4 60000000 +04019860 4BFFFD9D + +$Optional: 59.94Hz Engine [Fizzi] +*Attempts to fix polling drift +044DA2A8 3C88AB85 #External/59.94Hz Engine/InGameSpeed.asm +044DA9E8 3C88AB85 #External/59.94Hz Engine/MenuSpeed.asm +044D7CA0 3C88AB85 #External/59.94Hz Engine/SetSpeedOnBoot.asm +044DA5F8 3C88AB85 #External/59.94Hz Engine/TrainingModeSpeed.asm From 45ddce738b6ca3e92eaca99e1a5695b9cdecf1da Mon Sep 17 00:00:00 2001 From: Jas Laferriere Date: Thu, 14 Sep 2023 15:06:22 -0400 Subject: [PATCH 15/16] improve computeBranchTargetAddress macro --- Common/Common.s | 16 +-- External/Debug Inputs/LogFetchTime.asm | 2 +- Output/Console/GALE01r2.ini | 50 ++++--- Output/Console/g_core.bin | Bin 8040 -> 8008 bytes Output/Console/g_core_porta.bin | Bin 8040 -> 8008 bytes Output/Netplay/GALE01r2.ini | 173 +++++++++++-------------- Output/Netplay/GALJ01r2.ini | 173 +++++++++++-------------- 7 files changed, 188 insertions(+), 226 deletions(-) diff --git a/Common/Common.s b/Common/Common.s index e679ea0f..6fb06a86 100644 --- a/Common/Common.s +++ b/Common/Common.s @@ -322,14 +322,14 @@ lwz \reg, -0x62A0(\reg) load r3, \address lwz r4, 0(r3) # Get branch instruction which contains offset -# Process 3rd byte and extend sign to handle negative branches -rlwinm r5, r4, 16, 0xFF -extsb r5, r5 -rlwinm r5, r5, 16, 0xFFFF0000 - -# Extract last 2 bytes, combine with top half, and then add to base address to get result -rlwinm r4, r4, 0, 0xFFFC # Use 0xFFFC because the last bit is used for link -or r4, r4, r5 +# This extracts the LI portion of the branch instruction and shifts it such +# that the sign bit is all the way left. Then it does a divide instruction to +# shift to the right 6 bits while preserving the sign. After that, add to +# branch instruction location to get result. +# Credit to taukhan for the divw improvement (saves 2 instructions) +rlwinm r5, r4, 6, 0xFFFFFF00 +li r4, 64 +divw r4, r5, r4 add \reg, r3, r4 .endm diff --git a/External/Debug Inputs/LogFetchTime.asm b/External/Debug Inputs/LogFetchTime.asm index 9e736e61..8583bde2 100644 --- a/External/Debug Inputs/LogFetchTime.asm +++ b/External/Debug Inputs/LogFetchTime.asm @@ -15,7 +15,7 @@ lwz r3, 0x0(r3) # 0x80479d64 - Believed to be some loading state cmpwi r3, 0 # Loading state should be zero when game starts bne EXIT -.set CONST_BACKUP_BYTES, 0xB0 # Maybe add this to Common.s +.set CONST_BACKUP_BYTES, 0xE0 # Maybe add this to Common.s .set P1_PAD_OFFSET, CONST_BACKUP_BYTES + 0x2C .set REG_DIB, 31 diff --git a/Output/Console/GALE01r2.ini b/Output/Console/GALE01r2.ini index b458de8b..4dcd582c 100644 --- a/Output/Console/GALE01r2.ini +++ b/Output/Console/GALE01r2.ini @@ -853,20 +853,19 @@ C03F0018 C05F001C 800100E4 382100E0 7C0803A6 C022A8C8 60000000 00000000 -C21A4DEC 00000028 #External/Debug Inputs/LogEngineTime.asm +C21A4DEC 00000027 #External/Debug Inputs/LogEngineTime.asm 3C608048 80639D30 5463443E 2C030202 -40820124 3C608048 +4082011C 3C608048 80639D60 2C030000 -40810114 7C0802A6 +4081010C 7C0802A6 90010004 9421FF20 BE8100B0 3D808034 618C7364 7D8903A6 4E800421 7C7E1B78 3C608016 6063E774 -80830000 5485863E -7CA50774 54A5801E -5484043A 7C842B78 +80830000 5485302E +38800040 7C8523D6 7C632214 83E30008 887F0000 2C030000 41820098 3C80804C @@ -894,25 +893,24 @@ BE8100B0 3D808034 800100E4 382100E0 7C0803A6 800D9368 60000000 00000000 -C2376A88 0000002D #External/Debug Inputs/LogFetchTime.asm +C2376A88 0000002C #External/Debug Inputs/LogFetchTime.asm 3C608048 80639D30 5463443E 2C030202 -40820150 3C608047 +40820148 3C608047 60639D64 80630000 -2C030000 4082013C +2C030000 40820134 7C0802A6 90010004 9421FF20 BE8100B0 3D808034 618C7364 7D8903A6 4E800421 7C7E1B78 3C608016 6063E774 80830000 -5485863E 7CA50774 -54A5801E 5484043A -7C842B78 7C632214 -83E30008 806100DC +5485302E 38800040 +7C8523D6 7C632214 +83E30008 8061010C 54638036 889F0001 7C632378 5463803E -906100DC 807F000A +9061010C 807F000A 889F0001 1C840004 38840016 7C7F212E 887F0001 38630001 @@ -940,21 +938,20 @@ C2376A88 0000002D #External/Debug Inputs/LogFetchTime.asm BA8100B0 800100E4 382100E0 7C0803A6 881F0002 00000000 -C2349A28 00000025 #External/Debug Inputs/LogPollTime.asm +C2349A28 00000024 #External/Debug Inputs/LogPollTime.asm 3C608048 80639D30 5463443E 2C030202 -4082010C 3C608047 +40820104 3C608047 60639D64 80630000 -2C030000 408200F8 +2C030000 408200F0 7C0802A6 90010004 9421FF20 BE8100B0 3D808034 618C7364 7D8903A6 4E800421 7C7E1B78 3C608016 6063E774 80830000 -5485863E 7CA50774 -54A5801E 5484043A -7C842B78 7C632214 +5485302E 38800040 +7C8523D6 7C632214 83E30008 807F006E 38630001 907F006E 3D808034 618CC408 @@ -978,7 +975,7 @@ C2349A28 00000025 #External/Debug Inputs/LogPollTime.asm 800100E4 382100E0 7C0803A6 80B80000 60000000 00000000 -C2375C14 0000002C #External/Debug Inputs/LogScanoutTime.asm +C2375C14 0000002B #External/Debug Inputs/LogScanoutTime.asm 48000034 5464C63E 5463463E 7C032000 4182000C 3860FFFF @@ -987,18 +984,17 @@ C2375C14 0000002C #External/Debug Inputs/LogScanoutTime.asm 7C632396 5463E73E 4E800020 3C608048 80639D30 5463443E -2C030202 40820110 +2C030202 40820108 3C608047 60639D64 80630000 2C030000 -408200FC 7C0802A6 +408200F4 7C0802A6 90010004 9421FF20 BE8100B0 3D808034 618C7364 7D8903A6 4E800421 7C7E1B78 3C608016 6063E774 -80830000 5485863E -7CA50774 54A5801E -5484043A 7C842B78 +80830000 5485302E +38800040 7C8523D6 7C632214 83E30008 887F0000 2C030000 41820080 3C60804A @@ -1006,7 +1002,7 @@ BE8100B0 3D808034 38800000 7C0323AC 7C0004AC 4C00012C 83430000 7F43D378 -4BFFFF2D 2C030000 +4BFFFF35 2C030000 41800050 7C7C1B78 3D808034 618CC408 7D8903A6 4E800421 diff --git a/Output/Console/g_core.bin b/Output/Console/g_core.bin index 1a1e9fea60562aa73ae5839346637f045e54af09..ba15a8a97f6a57515543456eb1c06ff15b533d01 100644 GIT binary patch delta 271 zcmaE1cfxLiyp*cCO+tf5L-JgMkYpD-9cCsbhbBfDs91syGXsM|BO}k`3DQPf26`3^ z3=TD|%GV}$NZr@e!J^RvDCVA!JU68wnSlYUxrxyPq*)80xh7djr1>!eM?)ebPe^iu zS;u?^#+qd13Lx8V0#I!77wN~EDp(9>!8DxV1G>vxWDhfHPv($w7v;dB{0qAB6>`>$ Krjwt@wEzHdU{W^# delta 303 zcmX?M_rh+2yp*bjO+tf5L-JgMkYpD-9cCsbhbBf9s91syGXsM|BcsUV4>CqVZFV(F z*-Ju}Hpqpvuvpc!Xje>bkh-s_i^YHdpqP6?^4ye$WCjMXAx(@nAVZ8W4XH_15@~+S zz|oM%a3>_W!K`CG17l6Has`lWHvuR%`HA#nO;s$G@L*cP@B^1ibz~1S>P-G1>n!eM?)ebPe^iu zS;u?^#+qd13Lx8V0#I!77wN~EDp(9>!8DxV1G>vxWDhfHPv($w7v;dB{0qAB6>`>$ Krjwt@wEzHdU{W^# delta 303 zcmX?M_rh+2yp*bjO+tf5L-JgMkYpD-9cCsbhbBf9s91syGXsM|BcsUV4>CqVZFV(F z*-Ju}Hpqpvuvpc!Xje>bkh-s_i^YHdpqP6?^4ye$WCjMXAx(@nAVZ8W4XH_15@~+S zz|oM%a3>_W!K`CG17l6Has`lWHvuR%`HA#nO;s$G@L*cP@B^1ibz~1S>P-G1>n Date: Thu, 14 Sep 2023 15:24:42 -0400 Subject: [PATCH 16/16] revert changes --- Binary/LagReduction/PD+VB.bin | Bin 416 -> 112 bytes Common/EXILogging/AllocLoggingBuffer.asm | 14 - Online/Core/ForceEngineOnRollback.asm | 2 +- Online/Core/Hacks/ForceNoVideoAssert.asm | 2 +- Online/Core/Sound/PreventDuplicateSounds.asm | 6 +- Online/Menus/CSS/Teams/AnimateCursorPort.asm | 2 +- .../Menus/CSS/Teams/InitTeamToggleButton.asm | 2 +- Online/Slippi Online Scene/boot.asm | 2 +- Output/Console/GALE01r2.ini | 317 -------------- Output/Console/g_core.bin | Bin 8008 -> 5496 bytes Output/Console/g_core_porta.bin | Bin 8008 -> 5496 bytes Output/Netplay/GALE01r2.ini | 405 +----------------- Output/Netplay/GALJ01r2.ini | 405 +----------------- console_core.json | 17 - netplay.json | 76 +--- 15 files changed, 43 insertions(+), 1207 deletions(-) delete mode 100644 Common/EXILogging/AllocLoggingBuffer.asm diff --git a/Binary/LagReduction/PD+VB.bin b/Binary/LagReduction/PD+VB.bin index 7425eb1dc277d2ec8d536af5e6e6ee944fda2a61..10a2c67350251fbc38c79f503d5adb83a298ce87 100644 GIT binary patch literal 112 zcmZRP@=-b9G^>V%aYl?yLW2*GPMD}HA9Kh&i2(?hb!7klcWh$d@L*uzn7rsnH}s2Bw1nIt>5+TL1+n0NJ(;4N{3c0Ts2K%*%Y6SQLQ53@nPh87Gt) F7yz$g9zy^C literal 416 zcmX>kIu=Hi40WWs2heA0T%%G%fpJ(Zawu0Z8kxfZZ+vbSqbIKci@sL5bj2GRRs z3QVs}LW2iTy_5xu+ZT%lgnL;;n=(!)H7qz}@;U+NZcw;_!jjRU0T`A*5s-aAz0MX5 eKs#GP|7>X1a)OF~0Qm`|2?SUyD=It~n0NpwYk`IU diff --git a/Common/EXILogging/AllocLoggingBuffer.asm b/Common/EXILogging/AllocLoggingBuffer.asm deleted file mode 100644 index f64d2ff9..00000000 --- a/Common/EXILogging/AllocLoggingBuffer.asm +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -# Address: 0x801a4cb8 -################################################################################ - -.include "Common/Common.s" - -# Alloc buffer -li r3, 128 -branchl r12, HSD_MemAlloc -stw r3, OFST_R13_LOG_BUF(r13) - -# Original -li r0, 0 -stw r0, -0x4F78(r13) diff --git a/Online/Core/ForceEngineOnRollback.asm b/Online/Core/ForceEngineOnRollback.asm index f1815fcb..4a782535 100644 --- a/Online/Core/ForceEngineOnRollback.asm +++ b/Online/Core/ForceEngineOnRollback.asm @@ -64,7 +64,7 @@ beq RESTORE_AND_EXIT li r4, 0 stb r4, ODB_SHOULD_FORCE_PAD_RENEW(r5) branchl r12, RenewInputs_Prefunction -#exilogf LOG_LEVEL_NOTICE, "Forced a pad renew..." +#logf LOG_LEVEL_NOTICE, "Forced a pad renew..." RESTORE_AND_EXIT: mr r3, r26 # We will set r26 to 0 later so it's fine to use here diff --git a/Online/Core/Hacks/ForceNoVideoAssert.asm b/Online/Core/Hacks/ForceNoVideoAssert.asm index 356f0af8..86090136 100644 --- a/Online/Core/Hacks/ForceNoVideoAssert.asm +++ b/Online/Core/Hacks/ForceNoVideoAssert.asm @@ -5,7 +5,7 @@ .include "Common/Common.s" .include "Online/Online.s" -#exilogf LOG_LEVEL_NOTICE, "XFB Status is not 4. Value: %d", "mr r5, 0" +#logf LOG_LEVEL_NOTICE, "XFB Status is not 4. Value: %d", "mr r5, 0" # Log XFB status value bl STRING diff --git a/Online/Core/Sound/PreventDuplicateSounds.asm b/Online/Core/Sound/PreventDuplicateSounds.asm index f74d23de..a01b949d 100644 --- a/Online/Core/Sound/PreventDuplicateSounds.asm +++ b/Online/Core/Sound/PreventDuplicateSounds.asm @@ -36,7 +36,7 @@ li REG_IS_SOUND_ACTIVE, 0 li REG_SOUND_INSTANCE_ID, 0 rlwinm REG_SOUND_ID, r23, 0, 0xFFFF # Extract half word from sound ID input -#exilogf LOG_LEVEL_WARN, "Play SFX %x, Frame: %d, Rollback: %d", "mr r5, REG_SOUND_ID", "loadGlobalFrame r6", "lbz r7, ODB_STABLE_ROLLBACK_IS_ACTIVE(REG_ODB_ADDRESS)" +#logf LOG_LEVEL_WARN, "Play SFX %x, Frame: %d, Rollback: %d", "mr r5, REG_SOUND_ID", "loadGlobalFrame r6", "lbz r7, ODB_STABLE_ROLLBACK_IS_ACTIVE(REG_ODB_ADDRESS)" lbz REG_WRITE_INDEX, SFXDB_WRITE_INDEX(REG_SFXDB_ADDRESS) loadGlobalFrame r3 @@ -84,11 +84,11 @@ lbz r3, SFXS_LOG_INDEX(r6) cmpw r8, r3 blt FIND_SOUND_LOOP_START -#exilogf LOG_LEVEL_ERROR, "SFX %x NOT found. End frame: %d", "mr r5, REG_SOUND_ID", "lwz r6, ODB_STABLE_ROLLBACK_END_FRAME(REG_ODB_ADDRESS)" +#logf LOG_LEVEL_ERROR, "SFX %x NOT found. End frame: %d", "mr r5, REG_SOUND_ID", "lwz r6, ODB_STABLE_ROLLBACK_END_FRAME(REG_ODB_ADDRESS)" b STORE_SOUND SOUND_ALREADY_PLAYED: -#exilogf LOG_LEVEL_WARN, "SFX %x found. End frame: %d", "mr r5, REG_SOUND_ID", "lwz r6, ODB_STABLE_ROLLBACK_END_FRAME(REG_ODB_ADDRESS)" +#logf LOG_LEVEL_WARN, "SFX %x found. End frame: %d", "mr r5, REG_SOUND_ID", "lwz r6, ODB_STABLE_ROLLBACK_END_FRAME(REG_ODB_ADDRESS)" lwz REG_SOUND_INSTANCE_ID, SFXS_ENTRY_INSTANCE_ID(r5) li REG_IS_SOUND_ACTIVE, 1 diff --git a/Online/Menus/CSS/Teams/AnimateCursorPort.asm b/Online/Menus/CSS/Teams/AnimateCursorPort.asm index a42cc145..2a11612f 100644 --- a/Online/Menus/CSS/Teams/AnimateCursorPort.asm +++ b/Online/Menus/CSS/Teams/AnimateCursorPort.asm @@ -37,7 +37,7 @@ mulli r6, r6, 0x4 add REG_TEAM_IDX, REG_TEAM_IDX, r6 mr r3, REG_TEAM_IDX -#exilogf LOG_LEVEL_NOTICE, "CURSOR COLOR r3: %d", "mr r5, 3", "mr r6, 6" +#logf LOG_LEVEL_NOTICE, "CURSOR COLOR r3: %d", "mr r5, 3", "mr r6, 6" branchl r12, FN_IntToFloat b EXIT diff --git a/Online/Menus/CSS/Teams/InitTeamToggleButton.asm b/Online/Menus/CSS/Teams/InitTeamToggleButton.asm index 986d042e..244c11b6 100644 --- a/Online/Menus/CSS/Teams/InitTeamToggleButton.asm +++ b/Online/Menus/CSS/Teams/InitTeamToggleButton.asm @@ -354,7 +354,7 @@ lbz r3, 0x70(REG_PORT_SELECTIONS_ADDR) mr REG_INTERNAL_CHAR_ID, r3 lbz REG_TEAM_IDX, CSSDT_TEAM_IDX(REG_CSSDT_ADDR) -# exilogf LOG_LEVEL_NOTICE, "TEAM INDEX %d", "mr r5, 25" +# logf LOG_LEVEL_NOTICE, "TEAM INDEX %d", "mr r5, 25" # Animate the team icon based on team index cmpwi REG_TEAM_IDX, 3 diff --git a/Online/Slippi Online Scene/boot.asm b/Online/Slippi Online Scene/boot.asm index f15fe867..3d394b5f 100644 --- a/Online/Slippi Online Scene/boot.asm +++ b/Online/Slippi Online Scene/boot.asm @@ -56,4 +56,4 @@ branch r12, 0x801b136c # Code end ################################################################################ EXIT: -li r3, 0x2 # Load menu first +li r3, 0x1 # Load menu first diff --git a/Output/Console/GALE01r2.ini b/Output/Console/GALE01r2.ini index 4dcd582c..98d69bac 100644 --- a/Output/Console/GALE01r2.ini +++ b/Output/Console/GALE01r2.ini @@ -702,320 +702,3 @@ C03D000C FC020840 BA8100B0 800100E4 382100E0 7C0803A6 60000000 00000000 - -$Optional: Debug Game-Side Latency [Fizzi] -*Shows latency information on screen while in-game -C216E774 00000093 #External/Debug Inputs/InitOnGameStart.asm -48000410 4E800021 -00000000 43480000 -41C80000 000000FF -000000B4 E2E2E2FF -41200000 41880000 -546F7461 6C204761 -6D65204C 61673A20 -25752075 730A0A00 -506F6C6C 20436F75 -6E743A20 25750A00 -4D696E20 506F6C6C -20446966 663A2025 -75207573 0A004D61 -7820506F 6C6C2044 -6966663A 20257520 -75730A00 46657463 -682D4665 7463683A -20257520 75730A00 -506F6C6C 2D466574 -63683A20 25752075 -730A0050 6F6C6C2D -456E6769 6E653A20 -25752075 730A0000 -4E800021 4E800020 -4E800021 7C0802A6 -90010004 9421FF20 -BE8100B0 4BFFFF31 -7FE802A6 83DF0000 -83BE0006 887E0000 -2C030001 40820128 -7FA3EB78 3D808030 -618C2BB0 7D8903A6 -4E800421 7FA3EB78 -38800000 38A00000 -3D808030 618C2A3C -7D8903A6 4E800421 -7FA3EB78 389F0020 -80BE0056 3D808030 -618C2D4C 7D8903A6 -4E800421 7FA3EB78 -389F0038 80BE006E -3D808030 618C2D4C -7D8903A6 4E800421 -7FA3EB78 389F0048 -80BE005A 3D808030 -618C2D4C 7D8903A6 -4E800421 7FA3EB78 -389F005E 80BE005E -3D808030 618C2D4C -7D8903A6 4E800421 -7FA3EB78 389F0074 -80BE0062 3D808030 -618C2D4C 7D8903A6 -4E800421 7FA3EB78 -389F0088 80BE0066 -3D808030 618C2D4C -7D8903A6 4E800421 -7FA3EB78 389F009B -80BE006A 3D808030 -618C2D4C 7D8903A6 -4E800421 3C608046 -6063B6A0 88630008 -2C030000 41820020 -807E0012 3D808034 -618C9CBC 7D8903A6 -4E800421 38600002 -987E0000 BA8100B0 -800100E4 382100E0 -7C0803A6 4E800020 -7C0802A6 90010004 -9421FF20 BE8100B0 -4BFFFDCD 7FE802A6 -38600020 3D808037 -618CF1E4 7D8903A6 -4E800421 7C681B78 -3860001E 3880FF2E -38A0FFD8 38C00001 -38E00001 3D808030 -618C2834 7D8903A6 -4E800421 7C7E1B78 -806DB77C 7FC4F378 -3D808030 618C2810 -7D8903A6 4E800421 -38600000 987E0026 -7FC3F378 389F000C -3D808030 618C2B90 -7D8903A6 4E800421 -C03F0004 D03E0008 -C03F0008 D03E000C -807F0000 93C30002 -BA8100B0 800100E4 -382100E0 7C0803A6 -4E800020 7C0802A6 -90010004 9421FF20 -BE8100B0 4BFFFD11 -7FE802A6 386003E8 -3D808037 618CF1E4 -7D8903A6 4E800421 -7C681B78 3860001F -38800000 38A00000 -38C0001D 38E00009 -3D808030 618C2834 -7D8903A6 4E800421 -7C7E1B78 806DB77C -7FC4F378 3D808030 -618C2810 7D8903A6 -4E800421 38600000 -987E0026 7FC3F378 -389F0010 3D808030 -618C2B90 7D8903A6 -4E800421 7FC3F378 -C03F0018 C05F001C -3D808030 618C2B10 -7D8903A6 4E800421 -7FC3F378 389F0014 -3D808030 618C2B64 -7D8903A6 4E800421 -7FC3F378 3D808030 -618C2AF0 7D8903A6 -4E800421 807F0000 -93C30006 38600013 -38800014 38A00000 -3D808039 618C01F0 -7D8903A6 4E800421 -4BFFFCE1 7C8802A6 -38A00007 3D808038 -618CFD54 7D8903A6 -4E800421 BA8100B0 -800100E4 382100E0 -7C0803A6 4E800020 -7C0802A6 90010004 -9421FF20 BE8100B0 -38600072 3D808037 -618CF1E4 7D8903A6 -4E800421 4BFFFBD1 -7C8802A6 90640000 -7C7E1B78 38800072 -3D808000 618CC160 -7D8903A6 4E800421 -4BFFFDD1 4BFFFE89 -4BFFFC59 7C6802A6 -907E0012 3D808034 -618C9BF0 7D8903A6 -4E800421 BA8100B0 -800100E4 382100E0 -7C0803A6 C022A8C8 -60000000 00000000 -C21A4DEC 00000027 #External/Debug Inputs/LogEngineTime.asm -3C608048 80639D30 -5463443E 2C030202 -4082011C 3C608048 -80639D60 2C030000 -4081010C 7C0802A6 -90010004 9421FF20 -BE8100B0 3D808034 -618C7364 7D8903A6 -4E800421 7C7E1B78 -3C608016 6063E774 -80830000 5485302E -38800040 7C8523D6 -7C632214 83E30008 -887F0000 2C030000 -41820098 3C80804C -60841FAC 80640000 -547C073E 54630036 -90640000 3D808034 -618CC408 7D8903A6 -4E800421 1C9C0004 -38840016 7C9F202E -7C641850 1C63000C -3C808000 608400FC -80840000 38A003E8 -7C842B96 7C842B96 -7C632396 7C7D1B78 -93BF006A 807F0002 -9B810008 9B810009 -9B81000A 80810008 -54842026 608400FF -90810008 38810008 -3D808030 618C2B90 -7D8903A6 4E800421 -7FC3F378 3D808034 -618C738C 7D8903A6 -4E800421 BA8100B0 -800100E4 382100E0 -7C0803A6 800D9368 -60000000 00000000 -C2376A88 0000002C #External/Debug Inputs/LogFetchTime.asm -3C608048 80639D30 -5463443E 2C030202 -40820148 3C608047 -60639D64 80630000 -2C030000 40820134 -7C0802A6 90010004 -9421FF20 BE8100B0 -3D808034 618C7364 -7D8903A6 4E800421 -7C7E1B78 3C608016 -6063E774 80830000 -5485302E 38800040 -7C8523D6 7C632214 -83E30008 8061010C -54638036 889F0001 -7C632378 5463803E -9061010C 807F000A -889F0001 1C840004 -38840016 7C7F212E -887F0001 38630001 -2C030010 41800008 -38600000 987F0001 -887F0000 2C030000 -4082000C 38600001 -987F0000 3D808034 -618CC408 7D8903A6 -4E800421 7C7D1B78 -809F000E 93BF000E -7C64E850 1C63000C -3C808000 608400FC -80840000 38A003E8 -7C842B96 7C842B96 -7C632396 907F0062 -807F000A 7C63E850 -1C63000C 3C808000 -608400FC 80840000 -38A003E8 7C842B96 -7C842B96 7C632396 -907F0066 7FC3F378 -3D808034 618C738C -7D8903A6 4E800421 -BA8100B0 800100E4 -382100E0 7C0803A6 -881F0002 00000000 -C2349A28 00000024 #External/Debug Inputs/LogPollTime.asm -3C608048 80639D30 -5463443E 2C030202 -40820104 3C608047 -60639D64 80630000 -2C030000 408200F0 -7C0802A6 90010004 -9421FF20 BE8100B0 -3D808034 618C7364 -7D8903A6 4E800421 -7C7E1B78 3C608016 -6063E774 80830000 -5485302E 38800040 -7C8523D6 7C632214 -83E30008 807F006E -38630001 907F006E -3D808034 618CC408 -7D8903A6 4E800421 -809F000A 907F000A -7C641850 1C63000C -3C808000 608400FC -80840000 38A003E8 -7C842B96 7C842B96 -7C632396 7C7D1B78 -807F006E 5463063F -41820028 807F005A -7C1D1800 40800008 -93BF005A 807F005E -7C1D1800 40810008 -93BF005E 4800000C -93BF005A 93BF005E -7FC3F378 3D808034 -618C738C 7D8903A6 -4E800421 BA8100B0 -800100E4 382100E0 -7C0803A6 80B80000 -60000000 00000000 -C2375C14 0000002B #External/Debug Inputs/LogScanoutTime.asm -48000034 5464C63E -5463463E 7C032000 -4182000C 3860FFFF -48000018 3863FFF1 -1C630006 38800005 -7C632396 5463E73E -4E800020 3C608048 -80639D30 5463443E -2C030202 40820108 -3C608047 60639D64 -80630000 2C030000 -408200F4 7C0802A6 -90010004 9421FF20 -BE8100B0 3D808034 -618C7364 7D8903A6 -4E800421 7C7E1B78 -3C608016 6063E774 -80830000 5485302E -38800040 7C8523D6 -7C632214 83E30008 -887F0000 2C030000 -41820080 3C60804A -60638B10 80630000 -38800000 7C0323AC -7C0004AC 4C00012C -83430000 7F43D378 -4BFFFF35 2C030000 -41800050 7C7C1B78 -3D808034 618CC408 -7D8903A6 4E800421 -1C9C0004 38840016 -7C9F202E 7C641850 -1C63000C 3C808000 -608400FC 80840000 -38A003E8 7C842B96 -7C842B96 7C632396 -7C7D1B78 93BF0056 -7FC3F378 3D808034 -618C738C 7D8903A6 -4E800421 BA8100B0 -800100E4 382100E0 -7C0803A6 80010024 -60000000 00000000 diff --git a/Output/Console/g_core.bin b/Output/Console/g_core.bin index ba15a8a97f6a57515543456eb1c06ff15b533d01..b01d8c0a3c01dd7db538c562c82fe0dcef90c322 100644 GIT binary patch delta 7 OcmX?M_d{z#g(v_Ihy!K- delta 2335 zcmb_dQA}G^82)eDv975L4kSc6xgB#NFoFq=tHBOrvT9-Bp_!2wymz-SAgmZyl0KYq z56~rD>_d|pLS#!xOvoO1;K8U5h9O%FFD5P~#y1sBAkhbw`CuaR`knUP4mxVgT$9s# z?)U%yIp6>N|2g;1hV{U5{261dYBNSenIO5!&vEi&PF+Ew&UG;(6XVm3jSaI?29_iW zkH@qz`K)$nQ0~z#zA8UIAx~WPc&KlDY)tMNpNPf;=Aqt^sGP&jj0_FgZq%#A_o8o# zXzCt}>BA>;{{>eOydU&N^x{Z#u;505G=`j6^;8-m(|pO;axBjLNHnuTWywjRCMQW9 z(^9?h$#3!3IB(HXjmuZAITz1ymtSBCCsG!O^0tQdJ+>^#e1*>EZ6|w*Yzl1AT{h$4 zqFD;U*uTrT+cp5(KnYt6whJX}N!W%;*yj1l>oi(yY*%@=s(-eS)X5DcsB;<_P0|tg zwQ8yBU)mWdDmmt$R_1-k$lQ*_v_!6t{HDAzMav=c!8bxyILQcX(^B_-wFB93O&s`h z3OAdT1@i}Gl_cdSlJZ3ATMK@ZHF19Fb7tJRZKnJmaqNN^$Girq| zQd~r=@&O$76fb1{byozZBSZ`Z!Y;yxwA5Fs%>u>08#4dC7BY9B(hPzf>}uWjOg~mR^9#9?1{vani@u&~=e$Qv)Gl#k6J`ekVVzEi%<>E0 zaoZXBu9HhiP!-F{%`8&g=hMlHSW*+T!xQ2*aBi_g<7{r|b+hbBO+0gpMo|yP{1mw{ z4qeatJ}!T0gGG zK3jR@~pt1azN7p{N9GkqQ>K~SirUxlv&blQ= xuB9Hd;7k{h(e+&%-}aYtC!JFtV>RNov{diRf6O2ASf964^m2)gt2qsc{sAAe2`2ym diff --git a/Output/Console/g_core_porta.bin b/Output/Console/g_core_porta.bin index db7c17c7b6edeea67bd1317eaf809c21cd0cc8c3..b9b03399eb1ef21c420a91fdc356925cfffa2831 100644 GIT binary patch delta 7 OcmX?M_d{z#g(v_Ihy!K- delta 2335 zcmb_dQA}G^82)eDv975L4kSc6xgB#NFoFq=tHBOrvT9-Bp_!2wymz-SAgmZyl0KYq z56~rD>_d|pLS#!xOvoO1;K8U5h9O%FFD5P~#y1sBAkhbw`CuaR`knUP4mxVgT$9s# z?)U%yIp6>N|2g;1hV{U5{261dYBNSenIO5!&vEi&PF+Ew&UG;(6XVm3jSaI?29_iW zkH@qz`K)$nQ0~z#zA8UIAx~WPc&KlDY)tMNpNPf;=Aqt^sGP&jj0_FgZq%#A_o8o# zXzCt}>BA>;{{>eOydU&N^x{Z#u;505G=`j6^;8-m(|pO;axBjLNHnuTWywjRCMQW9 z(^9?h$#3!3IB(HXjmuZAITz1ymtSBCCsG!O^0tQdJ+>^#e1*>EZ6|w*Yzl1AT{h$4 zqFD;U*uTrT+cp5(KnYt6whJX}N!W%;*yj1l>oi(yY*%@=s(-eS)X5DcsB;<_P0|tg zwQ8yBU)mWdDmmt$R_1-k$lQ*_v_!6t{HDAzMav=c!8bxyILQcX(^B_-wFB93O&s`h z3OAdT1@i}Gl_cdSlJZ3ATMK@ZHF19Fb7tJRZKnJmaqNN^$Girq| zQd~r=@&O$76fb1{byozZBSZ`Z!Y;yxwA5Fs%>u>08#4dC7BY9B(hPzf>}uWjOg~mR^9#9?1{vani@u&~=e$Qv)Gl#k6J`ekVVzEi%<>E0 zaoZXBu9HhiP!-F{%`8&g=hMlHSW*+T!xQ2*aBi_g<7{r|b+hbBO+0gpMo|yP{1mw{ z4qeatJ}!T0gGG zK3jR@~pt1azN7p{N9GkqQ>K~SirUxlv&blQ= xuB9Hd;7k{h(e+&%-}aYtC!JFtV>RNov{diRf6O2ASf964^m2)gt2qsc{sAAe2`2ym diff --git a/Output/Netplay/GALE01r2.ini b/Output/Netplay/GALE01r2.ini index 49a512b2..6e2cf55c 100644 --- a/Output/Netplay/GALE01r2.ini +++ b/Output/Netplay/GALE01r2.ini @@ -4653,7 +4653,7 @@ C21BFA20 00000012 #Online/Slippi Online Scene/boot.asm 60631360 906400A0 3D80801B 618C136C 7D8903A6 4E800420 -38600002 00000000 +38600001 00000000 C21A45B8 000001FF #Online/Slippi Online Scene/main.asm 3BA30004 7C0802A6 90010004 9421FF20 @@ -5610,6 +5610,20 @@ BE8100B0 4BFFFCA9 7C0803A6 4E800020 60000000 00000000 043775B0 7C600775 #Online/Debugging/LogInputOnCopy.asm +041A4C24 C0429A7C #Polling Drift Fix + VB [tauKhan] +0401985C 3C60804C +04019860 91231F5C +C2376200 00000003 +2C1DFFFF 41820008 +48000008 93A2C150 +60000000 00000000 +C21A5018 00000005 +3B5A0001 8002C150 +2C00FFFF 38000000 +9002C150 3D80801A +618C5078 7D8903A6 +4D820420 00000000 +04218D68 C8228000 C209E090 00000011 #Common/FastForward/DynamicsFix.asm 807E0000 80630028 48000009 48000074 @@ -6926,392 +6940,3 @@ C0230064 BA810008 BA810008 800100B4 382100B0 7C0803A6 60000000 00000000 - -$Optional: Debug Game-Side Latency [Fizzi] -*Shows latency information on screen while in-game -C216E774 00000093 #External/Debug Inputs/InitOnGameStart.asm -48000410 4E800021 -00000000 43480000 -41C80000 000000FF -000000B4 E2E2E2FF -41200000 41880000 -546F7461 6C204761 -6D65204C 61673A20 -25752075 730A0A00 -506F6C6C 20436F75 -6E743A20 25750A00 -4D696E20 506F6C6C -20446966 663A2025 -75207573 0A004D61 -7820506F 6C6C2044 -6966663A 20257520 -75730A00 46657463 -682D4665 7463683A -20257520 75730A00 -506F6C6C 2D466574 -63683A20 25752075 -730A0050 6F6C6C2D -456E6769 6E653A20 -25752075 730A0000 -4E800021 4E800020 -4E800021 7C0802A6 -90010004 9421FF20 -BE8100B0 4BFFFF31 -7FE802A6 83DF0000 -83BE0006 887E0000 -2C030001 40820128 -7FA3EB78 3D808030 -618C2BB0 7D8903A6 -4E800421 7FA3EB78 -38800000 38A00000 -3D808030 618C2A3C -7D8903A6 4E800421 -7FA3EB78 389F0020 -80BE0056 3D808030 -618C2D4C 7D8903A6 -4E800421 7FA3EB78 -389F0038 80BE006E -3D808030 618C2D4C -7D8903A6 4E800421 -7FA3EB78 389F0048 -80BE005A 3D808030 -618C2D4C 7D8903A6 -4E800421 7FA3EB78 -389F005E 80BE005E -3D808030 618C2D4C -7D8903A6 4E800421 -7FA3EB78 389F0074 -80BE0062 3D808030 -618C2D4C 7D8903A6 -4E800421 7FA3EB78 -389F0088 80BE0066 -3D808030 618C2D4C -7D8903A6 4E800421 -7FA3EB78 389F009B -80BE006A 3D808030 -618C2D4C 7D8903A6 -4E800421 3C608046 -6063B6A0 88630008 -2C030000 41820020 -807E0012 3D808034 -618C9CBC 7D8903A6 -4E800421 38600002 -987E0000 BA8100B0 -800100E4 382100E0 -7C0803A6 4E800020 -7C0802A6 90010004 -9421FF20 BE8100B0 -4BFFFDCD 7FE802A6 -38600020 3D808037 -618CF1E4 7D8903A6 -4E800421 7C681B78 -3860001E 3880FF2E -38A0FFD8 38C00001 -38E00001 3D808030 -618C2834 7D8903A6 -4E800421 7C7E1B78 -806DB77C 7FC4F378 -3D808030 618C2810 -7D8903A6 4E800421 -38600000 987E0026 -7FC3F378 389F000C -3D808030 618C2B90 -7D8903A6 4E800421 -C03F0004 D03E0008 -C03F0008 D03E000C -807F0000 93C30002 -BA8100B0 800100E4 -382100E0 7C0803A6 -4E800020 7C0802A6 -90010004 9421FF20 -BE8100B0 4BFFFD11 -7FE802A6 386003E8 -3D808037 618CF1E4 -7D8903A6 4E800421 -7C681B78 3860001F -38800000 38A00000 -38C0001D 38E00009 -3D808030 618C2834 -7D8903A6 4E800421 -7C7E1B78 806DB77C -7FC4F378 3D808030 -618C2810 7D8903A6 -4E800421 38600000 -987E0026 7FC3F378 -389F0010 3D808030 -618C2B90 7D8903A6 -4E800421 7FC3F378 -C03F0018 C05F001C -3D808030 618C2B10 -7D8903A6 4E800421 -7FC3F378 389F0014 -3D808030 618C2B64 -7D8903A6 4E800421 -7FC3F378 3D808030 -618C2AF0 7D8903A6 -4E800421 807F0000 -93C30006 38600013 -38800014 38A00000 -3D808039 618C01F0 -7D8903A6 4E800421 -4BFFFCE1 7C8802A6 -38A00007 3D808038 -618CFD54 7D8903A6 -4E800421 BA8100B0 -800100E4 382100E0 -7C0803A6 4E800020 -7C0802A6 90010004 -9421FF20 BE8100B0 -38600072 3D808037 -618CF1E4 7D8903A6 -4E800421 4BFFFBD1 -7C8802A6 90640000 -7C7E1B78 38800072 -3D808000 618CC160 -7D8903A6 4E800421 -4BFFFDD1 4BFFFE89 -4BFFFC59 7C6802A6 -907E0012 3D808034 -618C9BF0 7D8903A6 -4E800421 BA8100B0 -800100E4 382100E0 -7C0803A6 C022A8C8 -60000000 00000000 -C21A4DEC 00000027 #External/Debug Inputs/LogEngineTime.asm -3C608048 80639D30 -5463443E 2C030202 -4082011C 3C608048 -80639D60 2C030000 -4081010C 7C0802A6 -90010004 9421FF20 -BE8100B0 3D808034 -618C7364 7D8903A6 -4E800421 7C7E1B78 -3C608016 6063E774 -80830000 5485302E -38800040 7C8523D6 -7C632214 83E30008 -887F0000 2C030000 -41820098 3C80804C -60841FAC 80640000 -547C073E 54630036 -90640000 3D808034 -618CC408 7D8903A6 -4E800421 1C9C0004 -38840016 7C9F202E -7C641850 1C63000C -3C808000 608400FC -80840000 38A003E8 -7C842B96 7C842B96 -7C632396 7C7D1B78 -93BF006A 807F0002 -9B810008 9B810009 -9B81000A 80810008 -54842026 608400FF -90810008 38810008 -3D808030 618C2B90 -7D8903A6 4E800421 -7FC3F378 3D808034 -618C738C 7D8903A6 -4E800421 BA8100B0 -800100E4 382100E0 -7C0803A6 800D9368 -60000000 00000000 -C2376A88 0000002C #External/Debug Inputs/LogFetchTime.asm -3C608048 80639D30 -5463443E 2C030202 -40820148 3C608047 -60639D64 80630000 -2C030000 40820134 -7C0802A6 90010004 -9421FF20 BE8100B0 -3D808034 618C7364 -7D8903A6 4E800421 -7C7E1B78 3C608016 -6063E774 80830000 -5485302E 38800040 -7C8523D6 7C632214 -83E30008 8061010C -54638036 889F0001 -7C632378 5463803E -9061010C 807F000A -889F0001 1C840004 -38840016 7C7F212E -887F0001 38630001 -2C030010 41800008 -38600000 987F0001 -887F0000 2C030000 -4082000C 38600001 -987F0000 3D808034 -618CC408 7D8903A6 -4E800421 7C7D1B78 -809F000E 93BF000E -7C64E850 1C63000C -3C808000 608400FC -80840000 38A003E8 -7C842B96 7C842B96 -7C632396 907F0062 -807F000A 7C63E850 -1C63000C 3C808000 -608400FC 80840000 -38A003E8 7C842B96 -7C842B96 7C632396 -907F0066 7FC3F378 -3D808034 618C738C -7D8903A6 4E800421 -BA8100B0 800100E4 -382100E0 7C0803A6 -881F0002 00000000 -C2349A28 00000024 #External/Debug Inputs/LogPollTime.asm -3C608048 80639D30 -5463443E 2C030202 -40820104 3C608047 -60639D64 80630000 -2C030000 408200F0 -7C0802A6 90010004 -9421FF20 BE8100B0 -3D808034 618C7364 -7D8903A6 4E800421 -7C7E1B78 3C608016 -6063E774 80830000 -5485302E 38800040 -7C8523D6 7C632214 -83E30008 807F006E -38630001 907F006E -3D808034 618CC408 -7D8903A6 4E800421 -809F000A 907F000A -7C641850 1C63000C -3C808000 608400FC -80840000 38A003E8 -7C842B96 7C842B96 -7C632396 7C7D1B78 -807F006E 5463063F -41820028 807F005A -7C1D1800 40800008 -93BF005A 807F005E -7C1D1800 40810008 -93BF005E 4800000C -93BF005A 93BF005E -7FC3F378 3D808034 -618C738C 7D8903A6 -4E800421 BA8100B0 -800100E4 382100E0 -7C0803A6 80B80000 -60000000 00000000 -C2375C14 0000002B #External/Debug Inputs/LogScanoutTime.asm -48000034 5464C63E -5463463E 7C032000 -4182000C 3860FFFF -48000018 3863FFF1 -1C630006 38800005 -7C632396 5463E73E -4E800020 3C608048 -80639D30 5463443E -2C030202 40820108 -3C608047 60639D64 -80630000 2C030000 -408200F4 7C0802A6 -90010004 9421FF20 -BE8100B0 3D808034 -618C7364 7D8903A6 -4E800421 7C7E1B78 -3C608016 6063E774 -80830000 5485302E -38800040 7C8523D6 -7C632214 83E30008 -887F0000 2C030000 -41820080 3C60804A -60638B10 80630000 -38800000 7C0323AC -7C0004AC 4C00012C -83430000 7F43D378 -4BFFFF35 2C030000 -41800050 7C7C1B78 -3D808034 618CC408 -7D8903A6 4E800421 -1C9C0004 38840016 -7C9F202E 7C641850 -1C63000C 3C808000 -608400FC 80840000 -38A003E8 7C842B96 -7C842B96 7C632396 -7C7D1B78 93BF0056 -7FC3F378 3D808034 -618C738C 7D8903A6 -4E800421 BA8100B0 -800100E4 382100E0 -7C0803A6 80010024 -60000000 00000000 -041BFA20 38600002 #External/Boot to CSS/Boot To CSS.asm - -$Optional: PD+VB [taukhan] -*PD+VB -C21A4D98 00000007 #Polling Drift Fix + VB [tauKhan] -8062A6F4 2C030001 -40820028 8062A6F0 -2C030002 4182001C -386DBD88 3D808034 -618CBA14 7D8803A6 -4E800021 4BFFFFD4 -60000000 00000000 -C21A5050 0000000B -8062A6F4 2C030001 -40820044 8062A6F0 -2C030002 40820038 -4800001C 8062A6F0 -2C030002 41820028 -8062A6F4 2C030001 -4082001C 386DBD88 -3D808034 618CBA14 -7D8803A6 4E800021 -4BFFFFD4 38600000 -60000000 00000000 -C21A4BEC 00000015 -4800007D 7C0802A6 -90010004 9421FFF8 -386DBD88 8082A6F0 -38840001 9082A6F0 -2C040001 40820014 -3D808001 618C95FC -7D8803A6 4E800021 -8082A6F0 2C040002 -40820014 3D808034 -618CBB00 7D8803A6 -4E800021 38600001 -9062A6F4 38604000 -38635624 3C808043 -B0642A42 8001000C -38210008 7C0803A6 -4E800020 7C6802A6 -3D808034 618CE894 -7D8803A6 4E800021 -3C608048 3C80801A -380446F4 38800000 -60000000 00000000 -04158268 C82280A0 -C234EB60 00000007 -8062A6F0 2C030001 -4080001C 38600000 -9062A6F4 3C608043 -38804000 388455FC -B0832A42 38600000 -9062A6F0 386DBD88 -60000000 00000000 -04397878 4800020C - -$Optional: PD [Dan Salvato] -*PD -C21A4DA0 00000003 #Polling Drift Fix [Dan Salvato] -901C0000 3D808001 -618C95FC 7D8903A6 -4E800421 00000000 -041A4DB4 60000000 -04019860 4BFFFD9D - -$Optional: 59.94Hz Engine [Fizzi] -*Attempts to fix polling drift -044DA2A8 3C88AB85 #External/59.94Hz Engine/InGameSpeed.asm -044DA9E8 3C88AB85 #External/59.94Hz Engine/MenuSpeed.asm -044D7CA0 3C88AB85 #External/59.94Hz Engine/SetSpeedOnBoot.asm -044DA5F8 3C88AB85 #External/59.94Hz Engine/TrainingModeSpeed.asm diff --git a/Output/Netplay/GALJ01r2.ini b/Output/Netplay/GALJ01r2.ini index e2fc8ae8..5aeebdb0 100644 --- a/Output/Netplay/GALJ01r2.ini +++ b/Output/Netplay/GALJ01r2.ini @@ -4652,7 +4652,7 @@ C21BFA20 00000012 #Online/Slippi Online Scene/boot.asm 60631360 906400A0 3D80801B 618C136C 7D8903A6 4E800420 -38600002 00000000 +38600001 00000000 C21A45B8 000001FF #Online/Slippi Online Scene/main.asm 3BA30004 7C0802A6 90010004 9421FF20 @@ -5609,6 +5609,20 @@ BE8100B0 4BFFFCA9 7C0803A6 4E800020 60000000 00000000 043775B0 7C600775 #Online/Debugging/LogInputOnCopy.asm +041A4C24 C0429A7C #Polling Drift Fix + VB [tauKhan] +0401985C 3C60804C +04019860 91231F5C +C2376200 00000003 +2C1DFFFF 41820008 +48000008 93A2C150 +60000000 00000000 +C21A5018 00000005 +3B5A0001 8002C150 +2C00FFFF 38000000 +9002C150 3D80801A +618C5078 7D8903A6 +4D820420 00000000 +04218D68 C8228000 C209E090 00000011 #Common/FastForward/DynamicsFix.asm 807E0000 80630028 48000009 48000074 @@ -6925,392 +6939,3 @@ C0230064 BA810008 BA810008 800100B4 382100B0 7C0803A6 60000000 00000000 - -$Optional: Debug Game-Side Latency [Fizzi] -*Shows latency information on screen while in-game -C216E774 00000093 #External/Debug Inputs/InitOnGameStart.asm -48000410 4E800021 -00000000 43480000 -41C80000 000000FF -000000B4 E2E2E2FF -41200000 41880000 -546F7461 6C204761 -6D65204C 61673A20 -25752075 730A0A00 -506F6C6C 20436F75 -6E743A20 25750A00 -4D696E20 506F6C6C -20446966 663A2025 -75207573 0A004D61 -7820506F 6C6C2044 -6966663A 20257520 -75730A00 46657463 -682D4665 7463683A -20257520 75730A00 -506F6C6C 2D466574 -63683A20 25752075 -730A0050 6F6C6C2D -456E6769 6E653A20 -25752075 730A0000 -4E800021 4E800020 -4E800021 7C0802A6 -90010004 9421FF20 -BE8100B0 4BFFFF31 -7FE802A6 83DF0000 -83BE0006 887E0000 -2C030001 40820128 -7FA3EB78 3D808030 -618C2BB0 7D8903A6 -4E800421 7FA3EB78 -38800000 38A00000 -3D808030 618C2A3C -7D8903A6 4E800421 -7FA3EB78 389F0020 -80BE0056 3D808030 -618C2D4C 7D8903A6 -4E800421 7FA3EB78 -389F0038 80BE006E -3D808030 618C2D4C -7D8903A6 4E800421 -7FA3EB78 389F0048 -80BE005A 3D808030 -618C2D4C 7D8903A6 -4E800421 7FA3EB78 -389F005E 80BE005E -3D808030 618C2D4C -7D8903A6 4E800421 -7FA3EB78 389F0074 -80BE0062 3D808030 -618C2D4C 7D8903A6 -4E800421 7FA3EB78 -389F0088 80BE0066 -3D808030 618C2D4C -7D8903A6 4E800421 -7FA3EB78 389F009B -80BE006A 3D808030 -618C2D4C 7D8903A6 -4E800421 3C608046 -6063B6A0 88630008 -2C030000 41820020 -807E0012 3D808034 -618C9CBC 7D8903A6 -4E800421 38600002 -987E0000 BA8100B0 -800100E4 382100E0 -7C0803A6 4E800020 -7C0802A6 90010004 -9421FF20 BE8100B0 -4BFFFDCD 7FE802A6 -38600020 3D808037 -618CF1E4 7D8903A6 -4E800421 7C681B78 -3860001E 3880FF2E -38A0FFD8 38C00001 -38E00001 3D808030 -618C2834 7D8903A6 -4E800421 7C7E1B78 -806DB77C 7FC4F378 -3D808030 618C2810 -7D8903A6 4E800421 -38600000 987E0026 -7FC3F378 389F000C -3D808030 618C2B90 -7D8903A6 4E800421 -C03F0004 D03E0008 -C03F0008 D03E000C -807F0000 93C30002 -BA8100B0 800100E4 -382100E0 7C0803A6 -4E800020 7C0802A6 -90010004 9421FF20 -BE8100B0 4BFFFD11 -7FE802A6 386003E8 -3D808037 618CF1E4 -7D8903A6 4E800421 -7C681B78 3860001F -38800000 38A00000 -38C0001D 38E00009 -3D808030 618C2834 -7D8903A6 4E800421 -7C7E1B78 806DB77C -7FC4F378 3D808030 -618C2810 7D8903A6 -4E800421 38600000 -987E0026 7FC3F378 -389F0010 3D808030 -618C2B90 7D8903A6 -4E800421 7FC3F378 -C03F0018 C05F001C -3D808030 618C2B10 -7D8903A6 4E800421 -7FC3F378 389F0014 -3D808030 618C2B64 -7D8903A6 4E800421 -7FC3F378 3D808030 -618C2AF0 7D8903A6 -4E800421 807F0000 -93C30006 38600013 -38800014 38A00000 -3D808039 618C01F0 -7D8903A6 4E800421 -4BFFFCE1 7C8802A6 -38A00007 3D808038 -618CFD54 7D8903A6 -4E800421 BA8100B0 -800100E4 382100E0 -7C0803A6 4E800020 -7C0802A6 90010004 -9421FF20 BE8100B0 -38600072 3D808037 -618CF1E4 7D8903A6 -4E800421 4BFFFBD1 -7C8802A6 90640000 -7C7E1B78 38800072 -3D808000 618CC160 -7D8903A6 4E800421 -4BFFFDD1 4BFFFE89 -4BFFFC59 7C6802A6 -907E0012 3D808034 -618C9BF0 7D8903A6 -4E800421 BA8100B0 -800100E4 382100E0 -7C0803A6 C022A8C8 -60000000 00000000 -C21A4DEC 00000027 #External/Debug Inputs/LogEngineTime.asm -3C608048 80639D30 -5463443E 2C030202 -4082011C 3C608048 -80639D60 2C030000 -4081010C 7C0802A6 -90010004 9421FF20 -BE8100B0 3D808034 -618C7364 7D8903A6 -4E800421 7C7E1B78 -3C608016 6063E774 -80830000 5485302E -38800040 7C8523D6 -7C632214 83E30008 -887F0000 2C030000 -41820098 3C80804C -60841FAC 80640000 -547C073E 54630036 -90640000 3D808034 -618CC408 7D8903A6 -4E800421 1C9C0004 -38840016 7C9F202E -7C641850 1C63000C -3C808000 608400FC -80840000 38A003E8 -7C842B96 7C842B96 -7C632396 7C7D1B78 -93BF006A 807F0002 -9B810008 9B810009 -9B81000A 80810008 -54842026 608400FF -90810008 38810008 -3D808030 618C2B90 -7D8903A6 4E800421 -7FC3F378 3D808034 -618C738C 7D8903A6 -4E800421 BA8100B0 -800100E4 382100E0 -7C0803A6 800D9368 -60000000 00000000 -C2376A88 0000002C #External/Debug Inputs/LogFetchTime.asm -3C608048 80639D30 -5463443E 2C030202 -40820148 3C608047 -60639D64 80630000 -2C030000 40820134 -7C0802A6 90010004 -9421FF20 BE8100B0 -3D808034 618C7364 -7D8903A6 4E800421 -7C7E1B78 3C608016 -6063E774 80830000 -5485302E 38800040 -7C8523D6 7C632214 -83E30008 8061010C -54638036 889F0001 -7C632378 5463803E -9061010C 807F000A -889F0001 1C840004 -38840016 7C7F212E -887F0001 38630001 -2C030010 41800008 -38600000 987F0001 -887F0000 2C030000 -4082000C 38600001 -987F0000 3D808034 -618CC408 7D8903A6 -4E800421 7C7D1B78 -809F000E 93BF000E -7C64E850 1C63000C -3C808000 608400FC -80840000 38A003E8 -7C842B96 7C842B96 -7C632396 907F0062 -807F000A 7C63E850 -1C63000C 3C808000 -608400FC 80840000 -38A003E8 7C842B96 -7C842B96 7C632396 -907F0066 7FC3F378 -3D808034 618C738C -7D8903A6 4E800421 -BA8100B0 800100E4 -382100E0 7C0803A6 -881F0002 00000000 -C2349A28 00000024 #External/Debug Inputs/LogPollTime.asm -3C608048 80639D30 -5463443E 2C030202 -40820104 3C608047 -60639D64 80630000 -2C030000 408200F0 -7C0802A6 90010004 -9421FF20 BE8100B0 -3D808034 618C7364 -7D8903A6 4E800421 -7C7E1B78 3C608016 -6063E774 80830000 -5485302E 38800040 -7C8523D6 7C632214 -83E30008 807F006E -38630001 907F006E -3D808034 618CC408 -7D8903A6 4E800421 -809F000A 907F000A -7C641850 1C63000C -3C808000 608400FC -80840000 38A003E8 -7C842B96 7C842B96 -7C632396 7C7D1B78 -807F006E 5463063F -41820028 807F005A -7C1D1800 40800008 -93BF005A 807F005E -7C1D1800 40810008 -93BF005E 4800000C -93BF005A 93BF005E -7FC3F378 3D808034 -618C738C 7D8903A6 -4E800421 BA8100B0 -800100E4 382100E0 -7C0803A6 80B80000 -60000000 00000000 -C2375C14 0000002B #External/Debug Inputs/LogScanoutTime.asm -48000034 5464C63E -5463463E 7C032000 -4182000C 3860FFFF -48000018 3863FFF1 -1C630006 38800005 -7C632396 5463E73E -4E800020 3C608048 -80639D30 5463443E -2C030202 40820108 -3C608047 60639D64 -80630000 2C030000 -408200F4 7C0802A6 -90010004 9421FF20 -BE8100B0 3D808034 -618C7364 7D8903A6 -4E800421 7C7E1B78 -3C608016 6063E774 -80830000 5485302E -38800040 7C8523D6 -7C632214 83E30008 -887F0000 2C030000 -41820080 3C60804A -60638B10 80630000 -38800000 7C0323AC -7C0004AC 4C00012C -83430000 7F43D378 -4BFFFF35 2C030000 -41800050 7C7C1B78 -3D808034 618CC408 -7D8903A6 4E800421 -1C9C0004 38840016 -7C9F202E 7C641850 -1C63000C 3C808000 -608400FC 80840000 -38A003E8 7C842B96 -7C842B96 7C632396 -7C7D1B78 93BF0056 -7FC3F378 3D808034 -618C738C 7D8903A6 -4E800421 BA8100B0 -800100E4 382100E0 -7C0803A6 80010024 -60000000 00000000 -041BFA20 38600002 #External/Boot to CSS/Boot To CSS.asm - -$Optional: PD+VB [taukhan] -*PD+VB -C21A4D98 00000007 #Polling Drift Fix + VB [tauKhan] -8062A6F4 2C030001 -40820028 8062A6F0 -2C030002 4182001C -386DBD88 3D808034 -618CBA14 7D8803A6 -4E800021 4BFFFFD4 -60000000 00000000 -C21A5050 0000000B -8062A6F4 2C030001 -40820044 8062A6F0 -2C030002 40820038 -4800001C 8062A6F0 -2C030002 41820028 -8062A6F4 2C030001 -4082001C 386DBD88 -3D808034 618CBA14 -7D8803A6 4E800021 -4BFFFFD4 38600000 -60000000 00000000 -C21A4BEC 00000015 -4800007D 7C0802A6 -90010004 9421FFF8 -386DBD88 8082A6F0 -38840001 9082A6F0 -2C040001 40820014 -3D808001 618C95FC -7D8803A6 4E800021 -8082A6F0 2C040002 -40820014 3D808034 -618CBB00 7D8803A6 -4E800021 38600001 -9062A6F4 38604000 -38635624 3C808043 -B0642A42 8001000C -38210008 7C0803A6 -4E800020 7C6802A6 -3D808034 618CE894 -7D8803A6 4E800021 -3C608048 3C80801A -380446F4 38800000 -60000000 00000000 -04158268 C82280A0 -C234EB60 00000007 -8062A6F0 2C030001 -4080001C 38600000 -9062A6F4 3C608043 -38804000 388455FC -B0832A42 38600000 -9062A6F0 386DBD88 -60000000 00000000 -04397878 4800020C - -$Optional: PD [Dan Salvato] -*PD -C21A4DA0 00000003 #Polling Drift Fix [Dan Salvato] -901C0000 3D808001 -618C95FC 7D8903A6 -4E800421 00000000 -041A4DB4 60000000 -04019860 4BFFFD9D - -$Optional: 59.94Hz Engine [Fizzi] -*Attempts to fix polling drift -044DA2A8 3C88AB85 #External/59.94Hz Engine/InGameSpeed.asm -044DA9E8 3C88AB85 #External/59.94Hz Engine/MenuSpeed.asm -044D7CA0 3C88AB85 #External/59.94Hz Engine/SetSpeedOnBoot.asm -044DA5F8 3C88AB85 #External/59.94Hz Engine/TrainingModeSpeed.asm diff --git a/console_core.json b/console_core.json index 4447c9f4..98b0e2f9 100644 --- a/console_core.json +++ b/console_core.json @@ -189,23 +189,6 @@ "annotation": "Avoids PS + Widescreen desyncs [Fizzi]" } ] - }, - { - "name": "Optional: Debug Game-Side Latency", - "authors": [ - "Fizzi" - ], - "description": [ - "Shows latency information on screen while in-game" - ], - "build": [ - { - "type": "injectFolder", - "sourceFolder": "External/Debug Inputs", - "isRecursive": true, - "annotation": "Shows latency information on screen while in-game" - } - ] } ] } \ No newline at end of file diff --git a/netplay.json b/netplay.json index bb209bd4..de99eee0 100644 --- a/netplay.json +++ b/netplay.json @@ -327,6 +327,11 @@ "isRecursive": true, "annotation": "Log injections [Fizzi]" }, + { + "type": "binary", + "sourceFile": "Binary/LagReduction/PD+VB.bin", + "annotation": "Polling Drift Fix + VB [tauKhan]" + }, { "type": "injectFolder", "sourceFolder": "Common/FastForward", @@ -516,77 +521,6 @@ "isRecursive": true } ] - }, - { - "name": "Optional: Debug Game-Side Latency", - "authors": [ - "Fizzi" - ], - "description": [ - "Shows latency information on screen while in-game" - ], - "build": [ - { - "type": "injectFolder", - "sourceFolder": "External/Debug Inputs", - "isRecursive": true, - "annotation": "Shows latency information on screen while in-game" - }, - { - "type": "injectFolder", - "sourceFolder": "External/Boot to CSS", - "isRecursive": true - } - ] - }, - { - "name": "Optional: PD+VB", - "authors": [ - "taukhan" - ], - "description": [ - "PD+VB" - ], - "build": [ - { - "type": "binary", - "sourceFile": "Binary/LagReduction/PD+VB.bin", - "annotation": "Polling Drift Fix + VB [tauKhan]" - } - ] - }, - { - "name": "Optional: PD", - "authors": [ - "Dan Salvato" - ], - "description": [ - "PD" - ], - "build": [ - { - "type": "binary", - "sourceFile": "Binary/LagReduction/PD.bin", - "annotation": "Polling Drift Fix [Dan Salvato]" - } - ] - }, - { - "name": "Optional: 59.94Hz Engine", - "authors": [ - "Fizzi" - ], - "description": [ - "Attempts to fix polling drift" - ], - "build": [ - { - "type": "injectFolder", - "sourceFolder": "External/59.94Hz Engine", - "isRecursive": true, - "annotation": "59.94Hz Engine" - } - ] } ] } \ No newline at end of file