Skip to content

Commit

Permalink
- Disable vertical scaling for the RetroTINK-4K.
Browse files Browse the repository at this point in the history
  • Loading branch information
Extrems committed Mar 31, 2024
1 parent adc9318 commit 0d3f78e
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 2 deletions.
3 changes: 3 additions & 0 deletions cube/swiss/include/patcher.h
Expand Up @@ -136,6 +136,8 @@ extern u8 VIConfigureHook1RT4K[];
extern u32 VIConfigureHook1RT4K_length;
extern u8 VIConfigureHook2[];
extern u32 VIConfigureHook2_length;
extern u8 VIConfigureNoYScale[];
extern u32 VIConfigureNoYScale_length;
extern u8 VIConfigurePanHook[];
extern u32 VIConfigurePanHook_length;
extern u8 VIConfigurePanHookD[];
Expand Down Expand Up @@ -177,6 +179,7 @@ enum patchIds {
VI_CONFIGUREHOOK1_GCVIDEO,
VI_CONFIGUREHOOK1_RT4K,
VI_CONFIGUREHOOK2,
VI_CONFIGURENOYSCALE,
VI_CONFIGUREPANHOOK,
VI_CONFIGUREPANHOOKD,
VI_GETRETRACECOUNTHOOK,
Expand Down
5 changes: 5 additions & 0 deletions cube/swiss/source/patcher.c
Expand Up @@ -95,6 +95,8 @@ void *installPatch(int patchId) {
patch = VIConfigureHook1RT4K; patchSize = VIConfigureHook1RT4K_length; break;
case VI_CONFIGUREHOOK2:
patch = VIConfigureHook2; patchSize = VIConfigureHook2_length; break;
case VI_CONFIGURENOYSCALE:
patch = VIConfigureNoYScale; patchSize = VIConfigureNoYScale_length; break;
case VI_CONFIGUREPANHOOK:
patch = VIConfigurePanHook; patchSize = VIConfigurePanHook_length; break;
case VI_CONFIGUREPANHOOKD:
Expand Down Expand Up @@ -9474,6 +9476,9 @@ void Patch_Video(u32 *data, u32 length, int dataType)
case 14: VIConfigureHook1 = getPatchAddr(VI_CONFIGURE540P50); break;
}

if (swissSettings.aveCompat == 1 && swissSettings.rt4kOptim)
VIConfigureHook1 = getPatchAddr(VI_CONFIGURENOYSCALE);

switch (j) {
case 0:
data[i + 54] = data[i + 6];
Expand Down
4 changes: 2 additions & 2 deletions cube/swiss/source/patches/vi/VIConfigureHook1RT4K.s
Expand Up @@ -13,12 +13,12 @@ VIConfigureHook1RT4K:
stw %r3, VAR_RMODE (%r4)
lbz %r0, VAR_VFILTER_ON (%r4)
cmpwi %r0, 0
beq 5f
beq 1f
addi %r4, %r4, VAR_VFILTER
addi %r3, %r3, 50
lswi %r5, %r4, 7
stswi %r5, %r3, 7
5: mfmsr %r3
1: mfmsr %r3
rlwinm %r4, %r3, 0, 17, 15
extrwi %r3, %r3, 1, 16
mtmsr %r4
Expand Down
22 changes: 22 additions & 0 deletions cube/swiss/source/patches/vi/VIConfigureNoYScale.s
@@ -0,0 +1,22 @@
#include "reservedarea.h"

.globl VIConfigureNoYScale
VIConfigureNoYScale:
lhz %r6, 8 (%r3)
lhz %r5, 6 (%r3)
cmpw %r5, %r6
bgt 2f
lbz %r0, 25 (%r3)
cmpwi %r0, 0
beq 1f
srwi %r7, %r6, 1
addi %r7, %r7, 2
cmpw %r7, %r5
beq 2f
1: clrrwi %r6, %r5, 1
sth %r6, 8 (%r3)
2:

.globl VIConfigureNoYScale_length
VIConfigureNoYScale_length:
.long (VIConfigureNoYScale_length - VIConfigureNoYScale)

0 comments on commit 0d3f78e

Please sign in to comment.