diff options
| author | Derek Hensley <hensley.derek58@gmail.com> | 2023-08-04 09:02:33 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-08-04 12:02:33 -0400 |
| commit | 5b54707958ca7fe5455436cf732cdf034232cd50 (patch) | |
| tree | fcb69dbd4becb53a3b8d16c5d721c30454e28b1a /src | |
| parent | c51da0ee0f9c5616bb3fb212f8b6943f727e37d3 (diff) | |
Viconfig OK (#29)
Diffstat (limited to 'src')
| -rw-r--r-- | src/boot/boot_main.c | 5 | ||||
| -rw-r--r-- | src/boot/viconfig.c | 45 |
2 files changed, 46 insertions, 4 deletions
diff --git a/src/boot/boot_main.c b/src/boot/boot_main.c index 6951860..3ccd5e6 100644 --- a/src/boot/boot_main.c +++ b/src/boot/boot_main.c @@ -1,5 +1,4 @@ -#include "libc/stdint.h" -#include "ultra64.h" +#include "global.h" #include "idle.h" #include "m_thread.h" @@ -7,8 +6,6 @@ #include "stack.h" #include "stackcheck.h" -extern OSPiHandle* gCartHandle; // TODO: Determine where this goes - STACK(sIdleStack, 0x400); StackEntry sIdleStackInfo; StackEntry sBootStackInfo; diff --git a/src/boot/viconfig.c b/src/boot/viconfig.c new file mode 100644 index 0000000..cb58def --- /dev/null +++ b/src/boot/viconfig.c @@ -0,0 +1,45 @@ +#include "global.h" +#include "idle.h" + +u8 gViConfigBlackNext; +u8 gViConfigBlack; + +void ViConfig_UpdateVi(u32 black) { + if ((black || (D_8010EFB0_jp == 0)) && ((black != gViConfigBlack) || (black != gViConfigBlackNext))) { + if (black) { + if (osTvType == OS_TV_PAL) { + osViSetMode(&osViModePalLan1); + } else { + osViSetMode(&osViModeNtscLan1); + } + + if (gViConfigYScale == 1.0f) { + osViBlack(1); + } else { + osViSetYScale(1.0f); + } + } else { + osViSetMode(&gViConfigMode); + + if (gViConfigFeatures != 0) { + osViSetSpecialFeatures(gViConfigFeatures); + } + + if (gViConfigXScale != 1.0f) { + osViSetXScale(gViConfigXScale); + } + + if (gViConfigYScale != 1.0f) { + osViSetYScale(gViConfigYScale); + } + } + gViConfigBlackNext = black; + } +} + +void ViConfig_UpdateBlack(void) { + if (gViConfigBlackNext != gViConfigBlack) { + osViBlack(gViConfigBlackNext); + gViConfigBlack = gViConfigBlackNext; + } +} |
