summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDerek Hensley <hensley.derek58@gmail.com>2023-08-04 09:02:33 -0700
committerGitHub <noreply@github.com>2023-08-04 12:02:33 -0400
commit5b54707958ca7fe5455436cf732cdf034232cd50 (patch)
treefcb69dbd4becb53a3b8d16c5d721c30454e28b1a /src
parentc51da0ee0f9c5616bb3fb212f8b6943f727e37d3 (diff)
Viconfig OK (#29)
Diffstat (limited to 'src')
-rw-r--r--src/boot/boot_main.c5
-rw-r--r--src/boot/viconfig.c45
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;
+ }
+}