04732af90b | ||
---|---|---|
.. | ||
README.md | ||
consoleType.c | ||
console_type.h | ||
osEepromProbe.inc.c | ||
osEepromRead.inc.c | ||
osEepromWrite.inc.c | ||
skGetId.s |
README.md
iQue Player Support Enhancement
This enhancement allows the same ROM to work on both the N64 and the iQue Player.
Instructions
Fix video corruption
In lib/src/__osViSwapContext.c
, change the line
HW_REG(VI_CONTROL_REG, u32) = s1->features;
to
HW_REG(VI_CONTROL_REG, u32) = s1->features & ~(1 << 13);
This has no effect on the N64, but prevents video corruption on iQue. Games will be unplayable on iQue unless you do this modification.
Add console detection
Copy enhancements/ique_support/skGetId.s
into lib/asm/
.
Copy enhancements/ique_support/consoleType.c
into lib/src/
.
Copy enhancements/ique_support/console_type.h
into include/PR/
.
Add the line #include <PR/console_type.h>
to the bottom of the block of #include
s in include/ultra64.h
.
Add the line gConsoleType = get_console_type();
as the first line of code in osInitialize()
in lib/src/osInitialize.c
(i.e. right before the line D_80365CD0 = TRUE;
)
Patch libultra EEPROM functions
Console detection needs to be added for this modification.
In lib/src/osEepromRead.c
, lib/src/osEepromWrite.c
, and lib/src/osEepromProbe.c
:
Add
if (gConsoleType == CONSOLE_N64) {
directly after the __osSiGetAccess
call.
Add
} else if (gConsoleType == CONSOLE_IQUE) {
#include "../../enhancements/ique_support/FILENAME.inc.c"
}
directly before the __osSiRelAccess
call; replace FILENAME
with the filename, i.e. if lib/src/osEepromRead.c
put #include "../../enhancements/ique_support/osEepromRead.inc.c"
.