Jet Force Gemini
|Jet Force Gemini|
Also known as: Star Twins (JP)
This game has unused areas.
This game has a prototype article
This game has a prerelease article
One of Rare's lesser known AAA titles for the Nintendo 64, Jet Force Gemini didn't sell particularly well, only about a million copies and has never had a sequel. It was generally met with very solid reviews, despite being criticized for the somewhat clunky camera and stiff controls. It's also pretty gory for a T-rated game.
- 1 Debug Options
- 2 Crash Debug Screen
- 3 Hidden Models
- 4 Unused HiRes Mode
- 5 Unused Models
- 6 Unused Graphics
- 7 Unused Levels
- 7.1 XX FRONT END
- 7.2 XX FRONT END 2
- 7.3 CHARACTER TEST
- 7.4 CANYON SPIRAL2
- 7.5 ALPHASEWER WESTTOP
- 7.6 ALPHASEWER MAP
- 7.7 OLD CHARACTER SELECT
- 7.8 DUNE TOP DOWN
- 7.9 ALIENCAVE TWO NOT USED
- 7.10 B MAN
- 7.11 SEWER TEST
- 7.12 CANYON JETPAC MOUNTAIN TEST NOT USED
- 7.13 CANYON JETPAC MULTI TEST
- 7.14 TERMITE MULTI TEST
- 7.15 WORLDMAP TEST
- 7.16 ALIEN PIPES
- 7.17 COOPERATIVE SWAMPMAZE
- 7.18 ALPHASEWER BOSS
- 7.19 TRIBAL FAMILY
- 7.20 ANT TYPES
- 7.21 BIG BADDIES
- 7.22 GALAXIANS
- 8 Unused Cutscene
- 9 Unused Weapon
- 10 Unused Sounds
- 11 Unused Music
- 12 Unused Text
- 13 Anti Piracy
- 14 Regional Differences
- 15 Rare Replay Differences
A debug mode can be enabled by pressing C-Left, C-Right, C-Up, C-Down, R, L, L, R, C-Up, R, C-Down, R, L, C-Right at the title screen. A small box will appear at the bottom right corner of the screen, which displays various information such as the coordinates for player 1, current location, and the amount of free RAM.
Alternately, you can apply the following GameShark code for the same effect:
A total of four debug cheats that were a part of the debug menu in the kiosk version of the game also remain in the final version. The unlimited ammo and unlimited health cheats can also be seen used in the E3 demo version of the game. Apply the following GameShark codes to enable them.
USA version codes:
|800A5078 0001||All Weapons|
|800A5074 0001||Unlimited Ammo|
|800A5070 0001||Unlimited Health|
|800A5068 0001||Unlock All Levels|
EU version codes:
|800A52F8 0001||All Weapons|
|800A52F4 0001||Unlimited Ammo|
|800A52F0 0001||Unlimited Health|
|800A52E8 0001||Unlock All Levels|
Applying the below GameShark code will display various debug objects in the current map, normally unseen. This will also display red orbs whenever you kill an enemy, display N64 logos in some cutscenes, and render all models during cutscene at once that are normally invisible.
|USA/Japan|| 8100E138 0000|
|Europe|| 8100E118 0000|
Crash Debug Screen
Explain this in detail
If the game crashes while debug mode is enabled, it will display crash debug screens. A and B change pages, R zooms in and out, C buttons allow you to view different addresses on page 2, and Z views the different memory regions on page 6.
In the Invasion cutscene (the one that King Jeff shows Juno at the beginning of the game), the Nintendo 64 logo appears right as the ship lands on the tribal. It can't be seen normally because it is hidden inside of the ship.
The logo model itself isn't used anywhere else, not even in the logo sequence.
A camera that is used in cutscenes to represent where the actual camera is. It's never visible in game because it's always off screen. It's also present in Diddy Kong Racing and Mickey's Speedway USA.
Unused HiRes Mode
A high resolution mode appeared to have been planned at one point in development, but unfortunately, the code for the mode was never completed. As a result of being incomplete, the mode does not move objects on screen accordingly nor does it work after a level load, resulting in a crash. If you wish to see the results of the high resolution mode yourself, there are GameShark codes below to enable them. Apply the code, then reset your game if you are on a emulator.
|Gameshark Code||Internal Name||Effect|
|800FF384 0000||Ntsc LowRes||Default 320x237 resolution.|
|800FF384 0090||Ntsc Widescreen||Default widescreen resolution.|
|800FF384 00B0||Ntsc MediumRes||446x331 resolution.|
|800FF384 00F0||Ntsc HiResWide||446x330 widescreen resolution.|
3D Rare Logo
An unused 3D Rare logo.
3D Jet Force Gemini Logo
An unused 3D model of the game's logo. This was used in the E3 1999 demo. Footage of this demo and its logo can be found here.
An unused ammunition pickup.
A multicolored arrow that can also be found in Diddy Kong Racing and Mickey's Speedway USA.
A vehicle for the ant enemies.
Another vehicle for the ant enemies.
An unused dragonfly enemy.
Early Floyd Pad
An earlier version of the Floyd pad that can be seen in earlier versions of the game. Only the collision model still exists in the final game.
3D PRESENT text intended for the intro.
An unused model of a sea creature. This is also present and unused in Diddy Kong Racing.
A 3D map of Sekhmet.
An unused ship.
Sewer Test Map
The unused Sewer Test map. Most of the textures won't load in-game, so the full layout can't be seen.
A target that would've fit in the target practice mini game.
A yellow version of the tokens that appear in the racing mini game. Only the red, green, and blue tokens are used.
Various level editor related graphics.
A green texture with a red X and "SHOOT ME BIG BOY" written on it.
An unused pad with a rocket on it.
Use the level modifier 810A323C 00??.
XX FRONT END
A multicolored cube. This map is actually loaded into memory during menus.
XX FRONT END 2
An identical copy of the above map.
A small circular room with a single enemy, a box, six Mizar tokens, and two transformation pads.
An unused section of Rith Essa.
An unused section of Sekhmet which only contains a few flying enemies.
Only displays a space background. Judging by the name of this level, it was likely meant to be a map of the Sekhmet level.
OLD CHARACTER SELECT
A very early version of the character select.
DUNE TOP DOWN
A room only containing a single enemy.
ALIENCAVE TWO NOT USED
An unused area that cannot be explored since the spawn point is right above a bottomless pit.
A small circular room with three Lupus models floating in the air.
An unused room where most of the textures don't load.
CANYON JETPAC MOUNTAIN TEST NOT USED
An unused area with a single jetpack pad floating in the air.
CANYON JETPAC MULTI TEST
An unused multiplayer map with many platforms that have weapon pick ups and jetpack pads.
TERMITE MULTI TEST
An empty multiplayer map that only contains weapon pickups.
An empty circular room.
An unused section of Eschebone. This area can be seen in an early screenshot. Exiting this area brings you in front of the entrance that leads to Eschebone's Floyd mission.
An unused version of the castle section in Tawfret. The only difference here is that there are several misplaced enemy spawners throughout the level.
An unused boss room meant for Sekhmet. On the platform across the gap is a small object that pushes you away when you touch it.
A room containing all of the different tribals including King Jeff, who never appears in any of the main levels.
A room containing all of the small ant enemies including an unused flying red ant.
A room containing all of the large ant enemies, including an unused robotic enemy that makes rooster sounds when it shoots its laser.
A room containing all of the drone enemies.
An unused cutscene in Tawfret which shows a zombie ant slowly walking towards the camera. After a few seconds, the screen goes white. It can be seen in game using the GameShark code 810A323C 00EB
A unused weapon can be found left within game code. When shot, it will be one green bullet however, when hitting a wall it will branch off into three more bullets. This can go on for about four seconds until it disappears. When a direct initial shot hits a ant, they will explode. The gun has no special icon or sound. The sound is a pistol shot, and the icon is the Grenade. Apply the following GameShark codes to have the weapon:
Add to Juno's Inventory (must have at least 2 weapons first):
|USA|| 811E6214 0064|
|Kiosk|| 811E36F4 0064|
Or replace Juno's current weapon with it:
|USA|| 811E6214 0064|
|Kiosk|| 811E36F4 0064|
Two drum type instruments which were used in GoldenEye and Perfect Dark can be heard here.
An unused jet pack sound which was only used in Blast Corps can be heard here.
A rooster crowing. This sound is only used by an unused enemy.
Three unused songs remain in the game.
You can apply the following GameShark code to listen to them in game.
Where "??" is, replace that with one of the following values:
36 Unused song 1 3F Unused song 2 2C Unused song 3
The song "Unused song 3" was originally value 4F in the kiosk demo version of this game, however that value seemed to have moved down in the final release. The first two unused songs remain the same value.
Unused Song 1
Unused Song 2
Unused Song 3
Unused song 3 sounds like it might have been used in Tawfret at one point.
Leftover Text From Diddy Kong Racing
Present at 0xC36CCD in the ROM is leftover text from Diddy Kong Racing, which was developed by the same team.
MUSIC TEST ENTER YOUR INITIALS ENTER CODE CLEAR ALL CODES CODE LIST MAGIC CODES Sorry, the code was incorrect All cheats have been deleted MAGIC CODES LIST ON OFF RACE ORDER QUIT OVERALL TIME RECORD TIMES RANKINGS ENGLISH OPTIONS GAME A GAME B GAME C NEW GAME RESTART RACE PAUSE OPTIONS GAME PAK BONUSES SUBTITLES ON SUBTITLES OFF
Present at 0xC37641 in the ROM among the options text is unused text referring to a high-resolution mode.
HIGHRES OFF HIGHRES ON
Present in the ROM is a build date along with the version number that's displayed in the crash debugger.
jpegg John Pegg, Software Engineer pmountain Paul Mountain, Software Engineer ainnes Andrew Innes, Software Engineer
|Version||Hex Address||Build Message|
|Kiosk||0xAD9B0||1.1723 19/08/99 15:26 jpegg 7.2|
|USA||0xAD0D0||1.1848 04/09/99 20:40 jpegg 9.6|
|Europe||0xAD3D0||1.1896 24/09/99 12:09 pmountain 0.9|
|Japan||0xACFE0||1.1908 21/10/99 14:18 ainnes NCL 1.9|
No I'm not playing MIDI sequence %d, its over 32K WARNING: Sync arrived before wait - music will be out of sync with sequence I'm not playing any ditty over 4K nowadays (%d) amSndPlay: Illegal sound effects table index amSndPlayDirect: Somebody tried to play illegal sound %d Invalid midi sequence index audio: ai out of samples OH DEAR - No audio DMA buffers left Dma not done OUT OF AUDIO POINTS am: Unknown OSCILLATOR type %d am: Out of oscillator states Objects out of ram(1) !! Char %d, Disguise %d Found Boss Control At %d,%d,%d,%08x ObjSetupObject(1) Memory fail!! ObjSetupObject(2) Memory fail!! ObjSetupObject(3) Memory fail!! ObjSetupObject(4) Memory fail!! ObjSetupObject(5) Memory fail!! ObjSetupObject(6) Memory fail!! ObjList Overflow %d!!! NoAddObjList Overflow %d!!! objSetupObject: clone shadow set up failed objSetupObject: clone blob shadow set up failed objSetupChild: memory fail WARNING:%s (%x) already registered its dependancy with %s (%x)! Error: Model no. out of range on load. !! TEXTURE ERROR!! %d,%d Error: Model table overflow!! CREATE LOD MODEL :: null model pointer! WARNING :: createModelInstance called with NULL pointer MODELS Error: Tryed to deallocate non-existent model! MODELS Error : cannot free NULL model instance pointer!! modLoadAnim: Overflowed AnimTab! modFreeAnim : NULL anim!! Anim Error: Tryed to deallocate non-existent anim!! modLoadAnimEvent: Overflowed AnimEventTab! modFreeAnimEvents : NULL anim event table!! Anim Event Error: Tryed to deallocate non-existent anim event! WARNING: Stack overflow/underflow!!! Camera Error: Illegal mode! Illegal CAMERA number %d %f Cam do 2D sprite called with NULL pointer! CAM Error!! Convlist overflow. LOADLEVEL Error: Level out of range levelGetRegionFlags: Ran out of levelRegionFlag structures!! levelGetObjectID - Out of level flags jpegg null setting up freeing processing exploding WARNING: couldn't find 'ra=0x666' in function %d Change: L %d, R %d >> L %d, R %d (%d) SYNC Char Flag %d Saving Game %d %5d %5d %5d FREE %d %d K *** mmAllocAtAddr: size = 0 *** *** mm Error *** ---> No more slots available. *** mm Error *** ---> Can't allocate memory at desired address. (%x, size = %d bytes) *** mm Error *** ---> Can't free ram at this location: %x *** mm Error *** ---> stbf stack too deep! Region = %d loc = %x size = %x, col = %x FREE ALLOCATED ALLOCATED,FIXED *** SAVING GAME *** FlashSectorErase failed *** ERASING GAME %d*** FlashSectorErase failed *** ERASING FLASH ROM *** FlashSectorErase failed Global Flags size = %d Loaded Globals :: (%04x == %04x) ? RESET GLOBAL FLAGS FlashSectorErase failed Saved Globals :: %04x osFlashWriteArray failed (%d) osFlashReadArray failed! (Audio task) (Game task) (DI task) (DI benchmark test) (Clone task) (Refract task) (Blur task) (Unknown task type %d) RCP TASK INFO------------- type = %u flags = %u ucode_boot = %p ucode_boot_size = %u ucode = %p ucode_size = %u ucode_data = %p ucode_data_size = %u output_buff = %p output_buff_size = %u data_ptr = %p data_size = %u framebuffer = %p Branch DisplayList Crash gfx ptr = %x *** CHILD DISPLAY LIST Crash gfx ptr = %x Surrounding traces: Previous:%s:%5d gfx=%x Next:%s:%5d gfx=%x No traces available scheduler: Looks like the SP has crashed %s scheduler: Looks like the DP has crashed %s 9.6 SP CRASHED, gfx=%x DP CRASHED, gfx=%x ** GFX overflow ** ** MTX overflow ** ** VTX overflow ** ** POL overflow ** Version %s CRITICAL ERROR: objSetupObject() returned NULL GFDS:%d ??? **** WARNING: Duplicate squadron ID:%d **** WARNING:Can't lock to node, no nodes WARNING: Unimplemented linkage operation %d ERROR:MIPS_HI16 without matching MIPS_LO16 REALLOC: %08x (%d) unknown Error: Texture no %x out of range on load. !! Restore to %x Restore1 to %x TEX Error: Palette memory overflow!! TEX Error: TexTab overflow!! texFreeTexture: NULL tex!! TEX Error: Tryed to deallocate non-existent texture!! SRPBUF overflow!! Error: Sprite table overflow!! texFreeSprite: NULL sprite!! TEXSPR Error: Tryed to deallocate non-existent sprite!! SCREEN: No out of range!! loadFrontEndItem() - Item no %d out of range 0-%d >333 Triangle Rectangle Sprite Points Models Unknown trigger type in partInitTrigger %d, Max %d. Unknown particle type in partInitTriggerPos %d, Max %d. Unknown trigger type in partInitTriggerPos %d, Max %d. particle warning: Object %s has SP emitter, but matrices not generated allocParticle: Illegal particle type %d %s particle buffer full Particle of type %d has been freed twice, this is Super Safe, Honest! freeParticle: Unknown particle type %d %s particle buffer is empty (null) (nil) *** diPrintf Error *** ---> Out of string space. (Print less text!) diRcpTrace: Buffer not allocated! diRcpTrace: Buffer overflow! >>>> %x: %x: G_SPNOOP G_TEXDMA G_RESERVED3 G_RESERVED4 G_NOOP gDPNoOp G_SETCIMG G_SETZIMG G_SETTIMG G_SETCOMBINE G_SETENVCOLOR gDPSetEnvColor G_SETBLENDCOLOR gDPSetBlendColor G_SETFOGCOLOR gDPSetFogColor G_SETFILLCOLOR gDPSetFillColor G_FILLRECT G_SETTILE G_LOADTILE G_LOADBLOCK G_SETTILESIZE G_LOADTLUT G_RDPSETOTHERMODE G_SETPRIMDEPTH G_SETSCISSOR G_SETCONVERT G_SETKEYR G_SETKEYGB G_RDPFULLSYNC gDPFullSync G_RDPTILESYNC gDPTileSync G_RDPPIPESYNC gDPPipeSync G_RDPLoadSYNC gDPLoadSync G_TEXRECTFLIP G_TEXRECT G_DMAOFFSETS G_CULLDL G_POPMTX G_TEXTURE G_SETOTHERMODE_H G_SETOTHERMODE_L G_ENDDL G_SETGEOMETRYMODE gSPSetGeometryMode G_CLEARGEOMETRYMODE gSPClearGeometryMode G_LINE3D G_PERSPNORMALIZE G_RDPHALF_1 G_RDPHALF_2 G_RDPHALF_CONT UNKNOWN COMMAND %20s: gSPVertex(0x%x, 0x%x, %d, %d); G_VTX %20s: gSPPolygon(0x%x, 0x%x, %d, %d); G_POL GARBAGENOMTXMULT MTXMULT %20s: gSPMatrix2(0x%x, 0x%x, %d, %s, %d); G_MTX %20s: gSPLoadTextureOffsets(%d, %08x); %20s: gSPDPBlock(0x%x, 0x%x, %d); G_DP_BLOCK %20s: gSPViewport(0x%x, 0x%x); G_MOVEMEM %20s: gSPDisplayList(0x%x, 0x%x); G_DL %20s: gSPBranchList(0x%x, 0x%x); G_DL %20s: Unknown G_DL command G_DL %20s: %s(0x%08x); %20s: gDPSetPrimColor(0x%08x, %d, %d, %d, %d, %d, %d); G_SETPRIMCOLOR %20s: %s(0x%08x, %2d, %2d, %2d, %2d); %20s: gSPSetDMAOffsets(%08x, %08x) G_MW_SEGMENT G_MW_CLIP G_MW_MTXOFFSET G_MW_POINTS G_MW_SPRITEMODE G_MW_FOG UNKNOWN INDEX %d %20s: %s offset = %d, data = 0x%08x G_MOVEWORD %20s %s: 0x%08x 0x%08x %20s %20s: gSetAlphaCompare(%x) %20s: gSetDepthSource(%x) %20s: gSetRenderMode( RM_AA_ZB_OPA_SURF RM_RA_ZB_OPA_SURF RM_AA_ZB_XLU_SURF RM_AA_ZB_OPA_DECAL RM_RA_ZB_OPA_DECAL RM_AA_ZB_XLU_DECAL RM_AA_ZB_OPA_INTER RM_AA_ZB_XLU_INTER RM_AA_ZB_XLU_LINE RM_AA_ZB_DEC_LINE RM_AA_ZB_TEX_EDGE RM_AA_ZB_TEX_INTER RM_AA_ZB_SUB_SURF RM_AA_ZB_PCL_SURF RM_AA_ZB_OPA_TERR RM_AA_ZB_TEX_TERR RM_AA_ZB_SUB_TERR RM_AA_OPA_SURF RM_RA_OPA_SURF RM_AA_XLU_SURF RM_AA_XLU_LINE RM_AA_DEC_LINE RM_AA_TEX_EDGE RM_AA_SUB_SURF RM_AA_PCL_SURF RM_AA_OPA_TERR RM_AA_TEX_TERR RM_AA_SUB_TERR RM_ZB_OPA_SURF RM_ZB_XLU_SURF RM_ZB_OPA_DECAL RM_ZB_XLU_DECAL RM_ZB_CLD_SURF RM_ZB_OVL_SURF RM_ZB_PCL_SURF RM_OPA_SURF RM_XLU_SURF RM_TEX_EDGE RM_CLD_SURF RM_PCL_SURF RM_ADD RM_NOOP RM_VISCVG RM_OPA_CI AA | Z_CMP | Z_UPD | IM_RD | CLR_ON_CVG | CVG_CLAMP | CVG_WRAP | CVG_FULL | CVG_SAVE | OPA | INTER | XLU | DECAL | CVG_X_ALPHA | ALPHA_CVG_SEL | FORCE_BL | %20s: gSetBlender() - UNSUPPORTED %20s %20s: %s( G_ZBUFFER G_TEXTURE_ENABLE G_SHADE G_SHADING_SMOOTH G_CULL_FRONT G_CULL_BACK G_FOG G_LIGHTING G_TEXTURE_GEN G_TEXTURE_GEN_LINEAR G_LOD 9.6 interrupt TLB modify TLB load or fetch TLB store addr load or fetch addr store bus error fetch bus error reference syscall breakpoint reserved instruction co-pro unusable overflow trap virtual coherency floating point >fault< CORE %08x:%08x MEMORY REGION %d MOD OFFSET SIZE ADDRESS Texture %d Module %d %d %08x %d Module %d at %08x %1x %d lines logged Page %d/%d Watchpoint exception at %x Module %d at %08x %04d: %04d: %s Fault in thread %d (%s) epc NULL epc %d,%x epc %08x,?,?,? ra NULL ra %d,%x ra %08x,?,?,? cause mmAlloc(%d,%8x) %s exception crashed %s %s crashed %s type %d unknown error %s %s error %s type %d error %s unknown aborted %s %s aborted %s type %d aborted %s unknown badvaddr free ram Level is %s Position is %.1f, %.1f, %.1f Track polygon buffer overflow Track edge buffer overflow Object polygon buffer overflow Object edge buffer overflow Path %d, Obj %d Before Level Number %d (%d) After Level Number %d Bad soundState: voices =%d, states free =%d, states busy =%d, type %d data %x playing a playing sound Nonsense sndp event Sound state allocate failed - sndId %d WARNING: Attempt to stop NULL sound aborted WARNING: Attempt to modify NULL sound aborted Player hit (soft) Player hit (normal) Player hit (hard) Player Fired Player Threw Grenade Enemy hit (soft) Enemy hit (normal) Enemy hit (hard) Killed Enemy Player Saved a Bear Player hit a Bear Player Killed a Bear Enemy killed a Bear Player Fired Player Threw Grenade
800A3944 Ntsc LowRes 800A396C Ntsc Widescreen 800A3994 Ntsc MediumRes 800A39BC Ntsc HiResWide 800A39E4 Mpal LowRes 800A3A0C Mpal Widescreen 800A3A34 Mpal MediumRes 800A3A5C Mpal HiResWide 800A3A84 Pal LowRes 800A3AAC Pal Widescreen 800A3AD4 Pal MediumRes 800A3AFC Pal HiResWide 800A3B24 Ntsc Reset Mode 800A3B4C Mpal Reset Mode 800A3B74 Pal Reset Mode
Level Select Text
Present at 0x1F3B180 in the ROM is text that was used for the level select in the kiosk demo's debug menu.
Goldwood Forest SS Anubis Swamp Sekhmet Battleship Spawn Ship Canyon Ichor Alien Cave Goldwood Caves Dune Canyon Mine Asteroid Mizar Sub-Worlds General FrontEnd Multi Old Baddy Test
Leftover Build Date
Present at 0xA3DDC in the ROM is a build date left over from something else.
Version 1.1 14/03/98 15:50 The Overlord
If the game doesn't detect the 6105 or 7105 lockout chip, you won't be able to run, jump, or shoot. Most backup devices usually piggyback off of another cartridge containing a 6102 or 7101 lockout chip which activates the anti piracy function.
- The English font is different and larger in the Japanese version.
- The game's logo was changed in the Japanese version.
- The debug display is less informative in the Japanese version; however, the code to enable it remains the same.
- The button icons have letters on them in the Japanese version.
- The SFX icon in the options menu was changed to SE in the Japanese version.
- The American and European versions allow up to 16 letters for a save file name, while the Japanese version allows only up to 8 letters.
- The Tribal's blood is red in the American and European versions and blue in the Japanese version.
- Certain cutscenes can now be skipped in the Japanese version, such as the cutscenes for when the characters' ship descends on a planet.
- The Japanese version no longer auto saves after getting a new record in a level.
- The Spacestation level was renamed to UFO.
- The Japanese version displays seconds on the game time in the file select screen.
- The Japanese version no longer displays milliseconds in the game timer upon completing a level.
- When low on health, the indicator will flash in the Japanese version.
- In the international versions, enemy heads can be collected to unlock cheats. Enemy heads can't be collected in the Japanese version, so the first two cheats are unlocked at the start. The third cheat, ants as pants, was removed.
- Each region in a level has a unique name in the international version. In the Japanese version, the regions are simply named Zone 1, 2, 3, etc.
Rare Replay Differences
Check for more differences.
- The Nintendo logo is no longer displayed on startup.
- All N64 controller prompts were replaced with Xbox controller prompts.
- The noise effect that appears when Lupus uses the night vision goggles is no longer present.
- All mentions of Nintendo were removed from the credits.