One year after its original release, Gex makes its way over to the Sega Saturn.
Level Select#
On the overworld, press Start, then hold R and press Left, Right, L, Start, Left, A, Y, A, Up, Y.
(Source: Rings of Saturn)
Planet X Level Select#
At the main menu, hold R and press Down, Right, C, Right, Right, L, Start, Left, A, Up, Right, L.
(Source: Rings of Saturn)
Debugging Features#
A few debugging features can be activated with Action Replay codes:
Debug Display: 1606BE76 0003
Free Movement: 1607A08A 0001
(Source: Rings of Saturn)
Possible Debugging Features#
|
|
This needs some investigation. |
On boot, the game checks the file GEX.ARG which contains the following text:
gx -real -dram 32000 -nodebug -vramblks 23 -blocks 143 -noprint -music -speech
A list of commands can be found at 0x13E40 in BEAM.EXE:
-sl
-vsit <id> = force a voice situation
-idle <id> = force an idle to appear
-intros = show intros
-noprint = no non-error message
-real = play it for real
-duck = show duck video
-play <fname> = playback joypad file
-rec <fname> = record joypad input to file
-noexit = no exit by holding start & stop
-noskew = no skewing by holding start
-nopower = no powerups on pad 2
-nofreeze = no scroll freeze on pad 2
-noscale = no gex scale on pad 2
-nodelay = no delay on pad 2
-norotate = no rotation on pad 2
-cursor = put cursor on screen
-vramblks<value> = blocks in vram (def 67)
-blocks <value> = num blocks for levels (def 162)
-vram <value> = vram to save for OS
-dram <value> = dram to save for OS
-speech = play speech
-nosfx = no sound effects
-music = play music
-nodebug = no debug messages
-level <value> = Level to play
gx %s Copyright (c) 1994 Crystal Dynamics
----
gex.arg
*** Play level %ld ***
*** Reserve %-6ld bytes of VRAM
*** Reserve %-6ld bytes of DRAM
*** Allocate %ld blocks
*** Blocks in VRAM = %ld bytes
Similar text can also be found in the PlayStation version.
Making any changes to GEX.ARG however just displays the above error on boot.
(Source: Original TCRF research)
Source Code#
Some uncompiled source code can be found throughout BEAM.EXE.
0x7701E
type 010; .endef
.def _di_Tags; .val 20; .scl 8; .tag _TagArg; .dim 1; .size 8; .type 070; .endef
.def .eos; .val 28; .scl 102; .tag _DisplayInfo; .size 28; .endef
.def _DisplayInfo; .scl 13; .tag _DisplayInfo; .size 28; .type 010; .endef
.def _Bitmap; .scl 10; .type 010; .size 132; .endef
.def _bm; .val 0; .scl 8; .tag _ItemNode; .size 36; .type 010; .endef
.def _bm_Buffer; .val 36; .scl 8; .type 022; .endef
.def _bm_Width; .val 40; .scl 8; .type 05; .endef
.def _bm_Height; .val 44; .scl 8; .type 05; .endef
.def _bm_VerticalOffset; .val 48; .scl 8; .type 05; .endef
.def _bm_Flags; .val 52; .scl 8; .type 05; .endef
.def _bm_ClipWidth; .val 56; .scl 8; .type 05; .endef
.def _bm_ClipHeight; .val 60; .scl 8; .type 05; .endef
.def _bm_ClipX; .val 64; .scl 8; .type 05; .endef
.def _bm_ClipY; .val 68; .scl 8; .type 05; .endef
.def _bm_WatchDogCtr; .val 72; .scl 8; .type 05; .endef
.def _bm_SysMalloc; .val 76; .scl 8; .type 05; .endef
.def _bm_SharedList; .val 80; .scl 8; .tag _List; .size 32; .type 010; .endef
.def _bm_CEControl; .val 112; .scl 8; .type 05; .endef
.def _bm_REGCTL0; .val 116; .scl 8; .type 05; .endef
.def _bm_REGCTL1; .val 120; .scl 8; .type 05; .endef
.def _bm_REGCTL2; .val 124; .scl 8; .type 05; .endef
.def _bm_REGCTL3; .val 128; .scl 8; .type 05; .endef
.def .eos; .val 132; .scl 102; .tag _Bitmap; .size 132; .endef
.def _Bitmap; .scl 13; .tag _Bitmap; .size 132; .type 010; .endef
.def _VDL; .scl 10; .type 010; .size 68; .endef
.def _vdl; .val 0; .scl 8; .tag _ItemNode; .size 36; .type 010; .endef
.def _vdl_ScreenPtr; .val 36; .scl 8; .type 030; .endef
.def _vdl_DataPtr; .val 40; .scl 8; .type 037; .endef
.def _vdl_Type; .val 44; .scl 8; .type 05; .endef
.def _vdl_DataSize; .val 48; .scl 8; .type 05; .endef
.def _vdl_Flags; .val 52; .scl 8; .type 05; .endef
.def _vdl_DisplayType; .val 56; .scl 8; .type 05; .endef
.def _vdl_Height; .val 60; .scl 8; .type 05; .endef
.def _vdl_Offset; .val 64; .scl 8; .type 05; .endef
.def .eos; .val 68; .scl 102; .tag _VDL; .size 68; .endef
.def _VDL; .scl 13; .tag _VDL; .size 68; .type 010; .endef
.def _Screen; .scl 10; .type 010; .size 124; .endef
.def _scr; .val 0; .scl 8; .tag _ItemNode; .size 36; .type 010; .endef
.def _scr_ScreenGroupPtr; .val 36; .scl 8; .tag _ScreenGroup; .size 116; .type 030; .endef
.def _scr_VDLPtr; .val 40; .scl 8; .tag _VDL; .size 68; .type 030; .endef
.def _scr_VDLItem; .val 44; .scl 8; .type 05; .endef
.def _scr_VDLType; .val 48; .scl 8; .type 05; .endef
.def _scr_BitmapCount; .val 52; .scl 8; .type 05; .endef
.def _scr_BitmapList; .val 56; .scl 8; .tag _List; .size 32; .type 010; .endef
.def _scr_SharedList; .val 88; .scl 8; .tag _List; .size 32; .type 010; .endef
.def _scr_TempBitmap; .val 120; .scl 8; .tag _Bitmap; .size 132; .type 030; .endef
.def .eos; .val 124; .scl 102; .tag _Screen; .size 124; .endef
.def _Screen; .scl 13; .tag _Screen; .size 124; .type 010; .endef
.def _BitmapInfo; .scl 10; .type 010; .size 12; .endef
.def _bi_Item; .val 0; .scl 8; .type 05; .endef
.def _bi_Bitmap; .val 4; .scl 8; .tag _Bitmap; .size 132; .type 030; .endef
.def _bi_Buffer; .val 8; .scl 8; .type 022; .endef
.def .eos; .val 12; .scl 102; .tag _BitmapInfo; .size 12; .endef
.def _BitmapInfo; .scl 13; .tag _BitmapInfo; .size 12; .type 010; .endef
.def _ScreenInfo; .scl 10; .type 010; .size 20; .endef
.def _si_Item; .val 0; .scl 8; .type 05; .endef
.def _si_Screen; .val 4; .scl 8; .tag _Screen; .size 124; .type 030; .endef
.def _si_BitmapInfo; .val 8; .scl 8; .tag _BitmapInfo; .size 12; .type 010; .endef
.def .eos; .val 20; .scl 102; .tag _ScreenInfo; .size 20; .endef
.def _ScreenInfo; .scl 13; .tag _ScreenInfo; .size 20; .type 010; .endef
.def _Point; .scl 10; .type 010; .size 8; .endef
.def _pt_X; .val 0; .scl 8; .type 05; .endef
.def _pt_Y; .val 4; .scl 8; .type 05; .endef
.def .eos; .val 8; .scl 102; .tag _Point; .size 8; .endef
.def _Point; .scl 13; .tag _Point; .size 8; .type 010; .endef
.def _Rect; .scl 10; .type 010; .size 16; .endef
.def _rect_XLeft; .val 0; .scl 8; .type 05; .endef
.def _rect_YTop; .val 4; .scl 8; .type 05; .endef
.def _rect_XRight; .val 8; .scl 8; .type 05; .endef
.def _rect_YBottom; .val 12; .scl 8; .type 05; .endef
.def .eos; .val 16; .scl 102; .tag _Rect; .size 16; .endef
.def _Rect; .scl 13; .tag _Rect; .size 16; .type 010; .endef
.def _GrafCon; .scl 10; .type 010; .size 40; .endef
.def _gc; .val 0; .scl 8; .tag _Node; .size 20; .type 010; .endef
.def _gc_FGPen; .val 20; .scl 8; .type 017; .endef
.def _gc_BGPen; .val 24; .scl 8; .type 017; .endef
.def _gc_PenX; .val 28; .scl 8; .type 05; .endef
.def _gc_PenY; .val 32; .scl 8; .type 05; .endef
.def _gc_Flags; .val 36; .scl 8; .type 017; .endef
.def .eos; .val 40; .scl 102; .tag _GrafCon; .size 40; .endef
.def _GrafCon; .scl 13; .tag _GrafCon; .size 40; .type 010; .endef
.def _CCB; .scl 10; .type 010; .size 68; .endef
.def _ccb_Flags; .val 0; .scl 8; .type 017; .endef
.def _ccb_NextPtr; .val 4; .scl 8; .tag _CCB; .size 68; .type 030; .endef
.def _ccb_SourcePtr; .val 8; .scl 8; .dim 0; .size 4; .type 0337; .endef
.def _ccb_PLUTPtr; .val 12; .scl 8; .type 021; .endef
.def _ccb_XPos; .val 16; .scl 8; .type 05; .endef
.def _ccb_YPos; .val 20; .scl 8; .type 05; .endef
.def _ccb_HDX; .val 24; .scl 8; .type 05; .endef
.def _ccb_HDY; .val 28; .scl 8; .type 05; .endef
.def _ccb_VDX; .val 32; .scl 8; .type 05; .endef
.def _ccb_VDY; .val 36; .scl 8; .type 05; .endef
.def _ccb_HDDX; .val 40; .scl 8; .type 05; .endef
.def _ccb_HDDY; .val 44; .scl 8; .type 05; .endef
.def _ccb_PIXC; .val 48; .scl 8; .type 017; .endef
.def _ccb_PRE0; .val 52; .scl 8; .type 017; .endef
.def _ccb_PRE1; .val 56; .scl 8; .type 017; .endef
.def _ccb_Width; .val 60; .scl 8; .type 05; .endef
.def _ccb_Height; .val 64; .scl 8; .type 05; .endef
.def .eos; .val 68; .scl 102; .tag _CCB; .size 68; .endef
.def _CCB; .scl 13; .tag _CCB; .size 68; .type 010; .endef
.def _FontChar; .scl 10; .type 010; .size 12; .endef
.def _fc_CharValue; .val 0; .scl 8; .type 017; .endef
.def _fc_Width; .val 4; .scl 8; .type 02; .endef
.def _fc_Image; .val 8; .scl 8; .dim 0; .size 4; .type 0337; .endef
.def .eos; .val 12; .scl 102; .tag _FontChar; .size 12; .endef
.def _FontChar; .scl 13; .tag _FontChar; .size 12; .type 010; .endef
.def _Font; .scl 10; .type 010; .size 12; .endef
.def _font_Height; .val 0; .scl 8; .type 02; .endef
.def _font_Flags; .val 1; .scl 8; .type 02; .endef
.def _font_CCB; .val 4; .scl 8; .tag _CCB; .size 68; .type 030; .endef
.def _font_FontEntries; .val 8; .scl 8; .tag _FontEntry; .size 44; .type 030; .endef
.def .eos; .val 12; .scl 102; .tag _Font; .size 12; .endef
.def _Font; .scl 13; .tag _Font; .size 12; .type 010; .endef
.def _GrafFolio; .scl 10; .type 010; .size 332; .endef
.def _gf; .val 0; .scl 8; .tag _Folio; .size 112; .type 010; .endef
.def _gf_Flags; .val 112; .scl 8; .type 017; .endef
.def _gf_VBLNumber; .val 116; .scl 8; .type 017; .endef
.def _gf_ZeroPage; .val 120; .scl 8; .type 021; .endef
.def _gf_VIRSPage; .val 124; .scl 8; .type 021; .endef
.def _gf_VRAMPageSize; .val 128; .scl 8; .type 017; .endef
.def _gf_DefaultDisplayWidth; .val 132; .scl 8; .type 05; .endef
.def _gf_DefaultDisplayHeight; .val 136; .scl 8; .type 05; .endef
.def _gf_TimeoutTimer; .val 140; .scl 8; .tag _Timer; .size 52; .type 030; .endef
.def _gf_Reserved5; .val 144; .scl 8; .type 05; .endef
.def _gf_Reserved6; .val 148; .scl 8; .type 05; .endef
.def _gf_Reserved7; .val 152; .scl 8; .type 05; .endef
.def _gf_VDLForcedFirst; .val 156; .scl 8; .type 037; .endef
.def _gf_VDLPreDisplay; .val 160; .scl 8; .type 037; .endef
.def _gf_VDLPostDisplay; .val 164; .scl 8; .type 037; .endef
.def _gf_VDLBlank; .val 168; .scl 8; .type 037; .endef
.def _gf_CurrentVDLEven; .val 172; .scl 8; .tag _VDL; .size 68; .type 030; .endef
.def _gf_CurrentVDLOdd; .val 176; .scl 8; .tag _VDL; .size 68; .type 030; .endef
.def _gf_VDLDisplayLink; .val 180; .scl 8; .type 037; .endef
.def _gf_Reserved1; .val 184; .scl 8; .type 05; .endef
.def _gf_Reserved3; .val 188; .scl 8; .type 05; .endef
.def _gf_CelSemaphore; .val 192; .scl 8; .type 05; .endef
.def _gf_VBLTime; .val 196; .scl 8; .type 05; .endef
.def _gf_VBLFreq; .val 200; .scl 8; .type 05; .endef
.def _gf_Reserved2; .val 204; .scl 8; .type 05; .endef
.def _gf_CurrentFontStream; .val 208; .scl 8; .tag _Stream; .size 56; .type 030; .endef
.def _gf_FileFontCacheSize; .val 212; .scl 8; .type 05; .endef
.def _gf_FileFontCacheAlloc; .val 216; .scl 8; .type 05; .endef
.def _gf_FileFontCache; .val 220; .scl 8; .type 022; .endef
.def _gf_FontEntryHead; .val 224; .scl 8; .tag _FontEntry; .size 44; .type 030; .endef
.def _gf_FontEntryButt; .val 228; .scl 8; .tag _FontEntry; .size 44; .type 030; .endef
.def _gf_FontLRUList; .val 232; .scl 8; .tag _List; .size 32; .type 010; .endef
.def _gf_FileFontFlags; .val 264; .scl 8; .type 05; .endef
.def _gf_FontBaseChar; .val 268; .scl 8; .type 05; .endef
.def _gf_FontMaxChar; .val 272; .scl 8; .type 05; .endef
.def _gf_CurrentFont; .val 276; .scl 8; .tag _Font; .size 12; .type 030; .endef
.def _gf_CharArrayOffset; .val 280; .scl 8; .type 05; .endef
.def _gf_fileFontCacheUsed; .val 284; .scl 8; .type 05; .endef
.def _gf_DisplayInfoList; .val 288; .scl 8; .tag _List; .size 32; .type 010; .endef
.def _gf_DefaultDisplayType; .val 320; .scl 8; .type 017; .endef
.def _gf_DisplayTypeMask; .val 324; .scl 8; .type 017; .endef
.def _gf_BlankVDL; .val 328; .scl 8; .tag _VDL; .size 68; .type 030; .endef
.def .eos; .val 332; .scl 102; .tag _GrafFolio; .size 332; .endef
.def _GrafFolio; .scl 13; .tag _GrafFolio; .size 332; .type 010; .endef
.def _frac16; .scl 13; .type 05; .endef
.def _frac30; .scl 13; .type 05; .endef
.def _frac14; .scl 13; .type 05; .endef
.def _ufrac16; .scl 13; .type 017; .endef
.def _ufrac30; .scl 13; .type 017; .endef
.def _ufrac14; .scl 13; .type 017; .endef
.def _int64; .scl 10; .type 010; .size 8; .endef
.def _hi; .val 0; .scl 8; .type 017; .endef
.def _lo; .val 4; .scl 8; .type 017; .endef
.def .eos; .val 8; .scl 102; .tag _int64; .size 8; .endef
.def _int64; .scl 13; .tag _int64; .size 8; .type 010; .endef
.def _uint64; .scl 13; .tag _int64; .size 8; .type 010; .endef
.def _frac32; .scl 13; .tag _int64; .size 8; .type 010; .endef
.def _ufrac32; .scl 13; .tag _int64; .size 8; .type 010; .endef
.def _frac60; .scl 13; .tag _int64; .size 8; .type 010; .endef
.def _ufrac60; .scl 13; .tag _int64; .size 8; .type 010; .endef
.def _vec3f16; .scl 13; .dim 3; .size 12; .type 065; .endef
.def _vec4f16; .scl 13; .dim 4; .size 16; .type 065; .endef
.def _mat33f16; .scl 13; .dim 3,3; .size 36; .type 0365; .endef
.def _mat44f16; .scl 13; .dim 4,4; .size 64; .type 0365; .endef
.def _mat34f16; .scl 13; .dim 4,3; .size 48; .type 0365; .endef
.def _vec3f30; .scl 13; .dim 3; .size 12; .type 065; .endef
.def _vec4f30; .scl 13; .dim 4; .size 16; .type 065; .endef
.def _mat33f30; .scl 13; .dim 3,3; .size 36; .type 0365; .endef
.def _mat44f30; .scl 13; .dim 4,4; .size 64; .type 0365; .endef
.def _mat34f30; .scl 13; .dim 4,3; .size 48; .type 0365; .endef
.def _MathFolio; .scl 10; .type 010; .size 112; .endef
.def _mf; .val 0; .scl 8; .tag _Folio; .size 112; .type 010; .endef
.def .eos; .val 112; .scl 102; .tag _MathFolio; .size 112; .endef
.def _MathFolio; .scl 13; .tag _MathFolio; .size 112; .type 010; .endef
.def _mmv3m33d; .scl 10; .type 010; .size 20; .endef
.def _dest; .val 0; .scl 8; .dim 3; .size 4; .type 0325; .endef
.def _src; .val 4; .scl 8; .dim 3; .size 4; .type 0325; .endef
.def _mat; .val 8; .scl 8; .dim 3,3; .size 4; .type 01725; .endef
.def _n; .val 12; .scl 8; .type 05; .endef
.def _count; .val 16; .scl 8; .type 017; .endef
.def .eos; .val 20; .scl 102; .tag _mmv3m33d; .size 20; .endef
.def _mmv3m33d; .scl 13; .tag _mmv3m33d; .size 20; .type 010; .endef
.def _ObjOffset1; .scl 10; .type 010; .size 16; .endef
.def _oo1_DestArrayPtrOffset; .val 0; .scl 8; .type 05; .endef
.def _oo1_SrcArrayPtrOffset; .val 4; .scl 8; .type 05; .endef
.def _oo1_MatOffset; .val 8; .scl 8; .type 05; .endef
.def _oo1_CountOffset; .val 12; .scl 8; .type 05; .endef
.def .eos; .val 16; .scl 102; .tag _ObjOffset1; .size 16; .endef
.def _ObjOffset1; .scl 13; .tag _ObjOffset1; .size 16; .type 010; .endef
.def _ObjOffset2; .scl 10; .type 010; .size 8; .endef
.def _oo2_DestMatOffset; .val 0; .scl 8; .type 05; .endef
.def _oo2_SrcMatOffset; .val 4; .scl 8; .type 05; .endef
.def .eos; .val 8; .scl 102; .tag _ObjOffset2; .size 8; .endef
.def _ObjOffset2; .scl 13; .tag _ObjOffset2; .size 8; .type 010; .endef
.def _audio_folio_tags; .scl 15; .type 012; .size 4; .endef
.def _AF_TAG_AMPLITUDE; .val 10; .scl 16; .type 013; .endef
.def _AF_TAG_RATE; .val 11; .scl 16; .type 013; .endef
.def _AF_TAG_NAME; .val 12; .scl 16; .type 013; .endef
.def _AF_TAG_DEVICE; .val 13; .scl 16; .type 013; .endef
.def _AF_TAG_PITCH; .val 14; .scl 16; .type 013; .endef
.def _AF_TAG_VELOCITY; .val 15; .scl 16; .type 013; .endef
.def _AF_TAG_TEMPLATE; .val 16; .scl 16; .type 013; .endef
.def _AF_TAG_INSTRUMENT; .val 17; .scl 16; .type 013; .endef
.def _AF_TAG_FORMAT; .val 18; .scl 16; .type 013; .endef
.def _AF_TAG_MIN; .val 19; .scl 16; .type 013; .endef
.def _AF_TAG_MAX; .val 20; .scl 16; .type 013; .endef
.def _AF_TAG_DEFAULT; .val 21; .scl 16; .type 013; .endef
.def _AF_TAG_WIDTH; .val 22; .scl 16; .type 013; .endef
.def _AF_TAG_CHANNELS; .val 23; .scl 16; .type 013; .endef
.def _AF_TAG_FRAMES; .val 24; .scl 16; .type 013; .endef
.def _AF_TAG_BASENOTE; .val 25; .scl 16; .type 013; .endef
.def _AF_TAG_DETUNE; .val 26; .scl 16; .type 013; .endef
.def _AF_TAG_LOWNOTE; .val 27; .scl 16; .type 013; .endef
.def _AF_TAG_HIGHNOTE; .val 28; .scl 16; .type 013; .endef
.def _AF_TAG_LOWVELOCITY; .val 29; .scl 16; .type 013; .endef
.def _AF_TAG_HIGHVELOCITY; .val 30; .scl 16; .type 013; .endef
.def _AF_TAG_SUSTAINBEGIN; .val 31; .scl 16; .type 013; .endef
.def _AF_TAG_SUSTAINEND; .val 32; .scl 16; .type 013; .endef
.def _AF_TAG_RELEASEBEGIN; .val 33; .scl 16; .type 013; .endef
.def _AF_TAG_RELEASEEND; .val 34; .scl 16; .type 013; .endef
.def _AF_TAG_NUMBYTES; .val 35; .scl 16; .type 013; .endef
.def _AF_TAG_ADDRESS; .val 36; .scl 16; .type 013; .endef
.def _AF_TAG_SAMPLE; .val 37; .scl 16; .type 013; .endef
.def _AF_TAG_EXTERNAL; .val 38; .scl 16; .type 013; .endef
.def _AF_TAG_PRIORITY; .val 39; .scl 16; .type 013; .endef
.def _AF_TAG_SET_FLAGS; .val 40; .scl 16; .type 013; .endef
.def _AF_TAG_CLEAR_FLAGS; .val 41; .scl 16; .type 013; .endef
.def _AF_TAG_FREQUENCY; .val 42; .scl 16; .type 013; .endef
.def _AF_TAG_ENVELOPE; .val 43; .scl 16; .type 013; .endef
.def _AF_TAG_HOOKNAME; .val 44; .scl 16; .type 013; .endef
.def _AF_TAG_START_AT; .val 45; .scl 16; .type 013; .endef
.def _AF_TAG_SAMPLE_RATE; .val 46; .scl 16; .type 013; .endef
.def _AF_TAG_COMPRESSIONRATIO; .val 47; .scl 16; .type 013; .endef
.def _AF_TAG_COMPRESSIONTYPE; .val 48; .scl 16; .type 013; .endef
.def _AF_TAG_NUMBITS; .val 49; .scl 16; .type 013; .endef
.def _AF_TAG_NOTESPEROCTAVE; .val 50; .scl 16; .type 013; .endef
.def _AF_TAG_BASEFREQ; .val 51; .scl 16; .type 013; .endef
.def _AF_TAG_SUSTAINTIME; .val 52; .scl 16; .type 013; .endef
.def _AF_TAG_RELEASETIME; .val 53; .scl 16; .type 013; .endef
.def _AF_TAG_MICROSPERUNIT; .val 54; .scl 16; .type 013; .endef
.def _AF_TAG_DATA_OFFSET; .val 55; .scl 16; .type 013; .endef
.def _AF_TAG_DATA_SIZE; .val 56; .scl 16; .type 013; .endef
.def _AF_TAG_DELAY_LINE; .val 57; .scl 16; .type 013; .endef
.def _AF_TAG_RELEASEJUMP; .val 58; .scl 16; .type 013; .endef
.def _AF_TAG_CURRENT; .val 59; .scl 16; .type 013; .endef
.def _AF_TAG_STATUS; .val 60; .scl 16; .type 013; .endef
.def _AF_TAG_TIME_SCALE; .val 61; .scl 16; .type 013; .endef
.def _AF_TAG_START_TIME; .val 62; .scl 16; .type 013; .endef
.def _AF_TAG_IMAGE_ADDRESS; .val 63; .scl 16; .type 013; .endef
.def _AF_TAG_IMAGE_LENGTH; .val 64; .scl 16; .type 013; .endef
.def _AF_TAG_LEAVE_IN_PLACE; .val 65; .scl 16; .type 013; .endef
.def _AF_TAG_ALLOC_FUNCTION; .val 66; .scl 16; .type 013; .endef
.def _AF_TAG_FREE_FUNCTION; .val 67; .scl 16; .type 013; .endef
.def _AF_TAG_SCAN; .val 68; .scl 16; .type 013; .endef
.def .eos; .val 4; .scl 102; .tag _audio_folio_tags; .size 4; .endef
.def _DSPPResourceTypes; .scl 15; .type 012; .size 4; .endef
.def _DRSC_N_MEM; .val 0; .scl 16; .type 013; .endef
.def _DRSC_EI_MEM; .val 1; .scl 16; .type 013; .endef
.def _DRSC_I_MEM; .val 2; .scl 16; .type 013; .endef
.def _DRSC_EO_MEM; .val 3; .scl 16; .type 013; .endef
.def _DRSC_RBASE4; .val 4; .scl 16; .type 013; .endef
.def _DRSC_RBASE8; .val 5; .scl 16; .type 013; .endef
.def _DRSC_IN_FIFO; .val 6; .scl 16; .type 013; .endef
.def _DRSC_OUT_FIFO; .val 7; .scl 16; .type 013; .endef
.def _DRSC_TICKS; .val 8; .scl 16; .type 013; .endef
.def _DSPP_NUM_RSRC_TYPES; .val 9; .scl 16; .type 013; .endef
.def .eos; .val 4; .scl 102; .tag _DSPPResourceTypes; .size 4; .endef
.def _AudioTime; .scl 13; .type 017; .endef
.def _DataTimePair; .scl 10; .type 010; .size 8; .endef
.def _dtpr_Time; .val 0; .scl 8; .type 017; .endef
.def _dtpr_Data; .val 4; .scl 8; .type 05; .endef
.def .eos; .val 8; .scl 102; .tag _DataTimePair; .size 8; .endef
.def _DataTimePair; .scl 13; .tag _DataTimePair; .size 8; .type 010; .endef
.def _Int8; .scl 13; .type 02; .endef
.def _UInt8; .scl 13; .type 014; .endef
.def _Int16; .scl 13; .type 03; .endef
.def _UInt16; .scl 13; .type 015; .endef
.def _Int32; .scl 13; .type 05; .endef
.def _UInt32; .scl 13; .type 017; .endef
.def _RGB555; .scl 13; .type 015; .endef
.def _RGB888_Tag; .scl 10; .type 010; .size 4; .endef
.def _unused; .val 0; .scl 8; .type 014; .endef
.def _red; .val 1; .scl 8; .type 014; .endef
.def _green; .val 2; .scl 8; .type 014; .endef
.def _blue; .val 3; .scl 8; .type 014; .endef
.def .eos; .val 4; .scl 102; .tag _RGB888_Tag; .size 4; .endef
.def _RGB; .scl 13; .tag _RGB888_Tag; .size 4; .type 010; .endef
.def _WrapperChunk; .scl 10; .type 010; .size 12; .endef
.def _chunk_ID; .val 0; .scl 8; .type 05; .endef
.def _chunk_size; .val 4; .scl 8; .type 05; .endef
.def _data; .val 8; .scl 8; .dim 1; .size 1; .type 062; .endef
.def .eos; .val 12; .scl 102; .tag _WrapperChunk; .size 12; .endef
.def _WrapperChunk; .scl 13; .tag _WrapperChunk; .size 12; .type 010; .endef
.def _ImageCC; .scl 10; .type 010; .size 28; .endef
.def _chunk_ID; .val 0; .scl 8; .type 05; .endef
.def _chunk_size; .val 4; .scl 8; .type 05; .endef
.def _w; .val 8; .scl 8; .type 05; .endef
.def _h; .val 12; .scl 8; .type 05; .endef
.def _bytesperrow; .val 16; .scl 8; .type 05; .endef
.def _bitsperpixel; .val 20; .scl 8; .type 02; .endef
.def _numcomponents; .val 21; .scl 8; .type 02; .endef
.def _numplanes; .val 22; .scl 8; .type 02; .endef
.def _colorspace; .val 23; .scl 8; .type 02; .endef
.def _comptype; .val 24; .scl 8; .type 02; .endef
.def _hvformat; .val 25; .scl 8; .type 02; .endef
.def _pixelorder; .val 26; .scl 8; .type 02; .endef
.def _version; .val 27; .scl 8; .type 02; .endef
.def .eos; .val 28; .scl 102; .tag _ImageCC; .size 28; .endef
.def _ImageCC; .scl 13; .tag _ImageCC; .size 28; .type 010; .endef
.def _PixelChunk; .scl 10; .type 010; .size 12; .endef
.def _chunk_ID; .val 0; .scl 8; .type 05; .endef
.def _chunk_size; .val 4; .scl 8; .type 05; .endef
.def _pixels; .val 8; .scl 8; .dim 1; .size 1; .type 062; .endef
.def .eos; .val 12; .scl 102; .tag _PixelChunk; .size 12; .endef
.def _PixelChunk; .scl 13; .tag _PixelChunk; .size 12; .type 010; .endef
.def _CCC; .scl 10; .type 010; .size 80; .endef
.def _chunk_ID; .val 0; .scl 8; .type 05; .endef
.def _chunk_size; .val 4; .scl 8; .type 05; .endef
.def _ccbversion; .val 8; .scl 8; .type 017; .endef
.def _ccb_Flags; .val 12; .scl 8; .type 017; .endef
.def _ccb_NextPtr; .val 16; .scl 8; .tag _CCB; .size 68; .type 030; .endef
.def _ccb_CelData; .val 20; .scl 8; .dim 0; .size 4; .type 0337; .endef
.def _ccb_PIPPtr; .val 24; .scl 8; .type 021; .endef
.def _ccb_X; .val 28; .scl 8; .type 05; .endef
.def _ccb_Y; .val 32; .scl 8; .type 05; .endef
.def _ccb_hdx; .val 36; .scl 8; .type 05; .endef
.def _ccb_hdy; .val 40; .scl 8; .type 05; .endef
.def _ccb_vdx; .val 44; .scl 8; .type 05; .endef
.def _ccb_vdy; .val 48; .scl 8; .type 05; .endef
.def _ccb_ddx; .val 52; .scl 8; .type 05; .endef
.def _ccb_ddy; .val 56; .scl 8; .type 05; .endef
.def _ccb_PPMPC; .val 60; .scl 8; .type 017; .endef
.def _ccb_PRE0; .val 64; .scl 8; .type 017; .endef
.def _ccb_PRE1; .val 68; .scl 8; .type 017; .endef
.def _ccb_Width; .val 72; .scl 8; .type 05; .endef
.def _ccb_Height; .val 76; .scl 8; .type 05; .endef
.def .eos; .val 80; .scl 102; .tag _CCC; .size 80; .endef
.def _CCC; .scl 13; .tag _CCC; .size 80; .type 010; .endef
.def _LoopRec; .scl 10; .type 010; .size 16; .endef
.def _loopStart; .val 0; .scl 8; .type 05; .endef
.def _loopEnd; .val 4; .scl 8; .type 05; .endef
.def _repeatCount; .val 8; .scl 8; .type 05; .endef
.def _repeatDelay; .val 12; .scl 8; .type 05; .endef
.def .eos; .val 16; .scl 102; .tag _LoopRec; .size 16; .endef
.def _LoopRec; .scl 13; .tag _LoopRec; .size 16; .type 010; .endef
.def _AnimChunk; .scl 10; .type 010; .size 48; .endef
.def _chunk_ID; .val 0; .scl 8; .type 05; .endef
.def _chunk_size; .val 4; .scl 8; .type 05; .endef
.def _version; .val 8; .scl 8; .type 05; .endef
.def _animType; .val 12; .scl 8; .type 05; .endef
.def _numFrames; .val 16; .scl 8; .type 05; .endef
.def _frameRate; .val 20; .scl 8; .type 05; .endef
.def _startFrame; .val 24; .scl 8; .type 05; .endef
.def _numLoops; .val 28; .scl 8; .type 05; .endef
.def _loop; .val 32; .scl 8; .tag _LoopRec; .dim 1; .size 16; .type 070; .endef
.def .eos; .val 48; .scl 102; .tag _AnimChunk; .size 48; .endef
.def _AnimChunk; .scl 13; .tag _AnimChunk; .size 48; .type 010; .endef
.def _PLUTChunk; .scl 10; .type 010; .size 16; .endef
.def _chunk_ID; .val 0; .scl 8; .type 05; .endef
.def _chunk_size; .val 4; .scl 8; .type 05; .endef
.def _numentries; .val 8; .scl 8; .type 05; .endef
.def _PLUT; .val 12; .scl 8; .dim 1; .size 2; .type 075; .endef
.def .eos; .val 16; .scl 102; .tag _PLUTChunk; .size 16; .endef
.def _PLUTChunk; .scl 13; .tag _PLUTChunk; .size 16; .type 010; .endef
.def _VDL_REC; .scl 10; .type 010; .size 160; .endef
.def _controlword; .val 0; .scl 8; .type 017; .endef
.def _curLineBuffer; .val 4; .scl 8; .type 017; .endef
.def _prevLineBuffer; .val 8; .scl 8; .type 017; .endef
.def _nextVDLEntry; .val 12; .scl 8; .type 017; .endef
.def _displayControl; .val 16; .scl 8; .type 017; .endef
.def _CLUTEntry; .val 20; .scl 8; .dim 32; .size 128; .type 077; .endef
.def _backgroundEntry; .val 148; .scl 8; .type 017; .endef
.def _filler1; .val 152; .scl 8; .type 017; .endef
.def _filler2; .val 156; .scl 8; .type 017; .endef
.def .eos; .val 160; .scl 102; .tag _VDL_REC; .size 160; .endef
.def _VDL_REC; .scl 13; .tag _VDL_REC; .size 160; .type 010; .endef
.def _VDLCHUNK; .scl 10; .type 010; .size 172; .endef
.def _chunk_ID; .val 0; .scl 8; .type 05; .endef
.def _chunk_size; .val 4; .scl 8; .type 05; .endef
.def _vdlcount; .val 8; .scl 8; .type 05; .endef
.def _vdl; .val 12; .scl 8; .tag _VDL_REC; .dim 1; .size 160; .type 070; .endef
.def .eos; .val 172; .scl 102; .tag _VDLCHUNK; .size 172; .endef
.def _VdlChunk; .scl 13; .tag _VDLCHUNK; .size 172; .type 010; .endef
.def _Cpyr; .scl 10; .type 010; .size 12; .endef
.def _chunk_ID; .val 0; .scl 8; .type 05; .endef
.def _chunk_size; .val 4; .scl 8; .type 05; .endef
.def _copyright; .val 8; .scl 8; .dim 1; .size 1; .type 062; .endef
.def .eos; .val 12; .scl 102; .tag _Cpyr; .size 12; .endef
.def _Cpyr; .scl 13; .tag _Cpyr; .size 12; .type 010; .endef
.def _Desc; .scl 10; .type 010; .size 12; .endef
.def _chunk_ID; .val 0; .scl 8; .type 05; .endef
.def _chunk_size; .val 4; .scl 8; .type 05; .endef
.def _descrip; .val 8; .scl 8; .dim 1; .size 1; .type 062; .endef
.def .eos; .val 12; .scl 102; .tag _Desc; .size 12; .endef
.def _Desc; .scl 13; .tag _Desc; .size 12; .type 010; .endef
.def _Kwrd; .scl 10; .type 010; .size 12; .endef
.def _chunk_ID; .val 0; .scl 8; .type 05; .endef
.def _chunk_size; .val 4; .scl 8; .type 05; .endef
.def _keywords; .val 8; .scl 8; .dim 1; .size 1; .type 062; .endef
.def .eos; .val 12; .scl 102; .tag _Kwrd; .size 12; .endef
.def _Kwrd; .scl 13; .tag _Kwrd; .size 12; .type 010; .endef
.def _Crdt; .scl 10; .type 010; .size 12; .endef
.def _chunk_ID; .val 0; .scl 8; .type 05; .endef
.def _chunk_size; .val 4; .scl 8; .type 05; .endef
.def _credits; .val 8; .scl 8; .dim 1; .size 1; .type 062; .endef
.def .eos; .val 12; .scl 102; .tag _Crdt; .size 12; .endef
.def _Crdt; .scl 13; .tag _Crdt; .size 12; .type 010; .endef
.def _ScreenContext_TAG; .scl 10; .type 010; .size 88; .endef
.def _sc_nScreens; .val 0; .scl 8; .type 05; .endef
.def _sc_curScreen; .val 4; .scl 8; .type 05; .endef
.def _sc_nFrameBufferPages; .val 8; .scl 8; .type 05; .endef
.def _sc_nFrameByteCount; .val 12; .scl 8; .type 05; .endef
.def _sc_Screens; .val 16; .scl 8; .dim 6; .size 24; .type 065; .endef
.def _sc_BitmapItems; .val 40; .scl 8; .dim 6; .size 24; .type 065; .endef
.def _sc_Bitmaps; .val 64; .scl 8; .tag _Bitmap; .dim 6; .size 24; .type 0170; .endef
.def .eos; .val 88; .scl 102; .tag _ScreenContext_TAG; .size 88; .endef
.def _ScreenContext; .scl 13; .tag _ScreenContext_TAG; .size 88; .type 010; .endef
.def _tag_AnimFrame; .scl 10; .type 010; .size 16; .endef
.def _af_CCB; .val 0; .scl 8; .tag _CCB; .size 68; .type 030; .endef
.def _af_PLUT; .val 4; .scl 8; .type 022; .endef
.def _af_pix; .val 8; .scl 8; .type 022; .endef
.def _reserved; .val 12; .scl 8; .type 05; .endef
.def .eos; .val 16; .scl 102; .tag _tag_AnimFrame; .size 16; .endef
.def _AnimFrame; .scl 13; .tag _tag_AnimFrame; .size 16; .type 010; .endef
.def _tag_ANIM; .scl 10; .type 010; .size 20; .endef
.def _num_Frames; .val 0; .scl 8; .type 05; .endef
.def _cur_Frame; .val 4; .scl 8; .type 05; .endef
.def _num_Alloced_Frames; .val 8; .scl 8; .type 05; .endef
.def _pentries; .val 12; .scl 8; .tag _tag_AnimFrame; .size 16; .type 030; .endef
.def _dataBuffer; .val 16; .scl 8; .type 021; .endef
.def .eos; .val 20; .scl 102; .tag _tag_ANIM; .size 20; .endef
.def _ANIM; .scl 13; .tag _tag_ANIM; .size 20; .type 010; .endef
.def _tag_SoundInfo; .scl 10; .type 010; .size 20; .endef
.def _iSoundEffect; .val 0; .scl 8; .type 05; .endef
.def _iSoundData; .val 4; .scl 8; .type 05; .endef
.def _iSoundTemplate; .val 8; .scl 8; .type 05; .endef
.def _iSoundAttachment; .val 12; .scl 8; .type 05; .endef
.def _next; .val 16; .scl 8; .tag _tag_SoundInfo; .size 20; .type 030; .endef
.def .eos; .val 20; .scl 102; .tag _tag_SoundInfo; .size 20; .endef
.def _SoundInfo; .scl 13; .tag _tag_SoundInfo; .size 20; .type 010; .endef
.def _tag_Rectf16; .scl 10; .type 010; .size 16; .endef
.def _rectf16_XLeft; .val 0; .scl 8; .type 05; .endef
.def _rectf16_YTop; .val 4; .scl 8; .type 05; .endef
.def _rectf16_XRight; .val 8; .scl 8; .type 05; .endef
.def _rectf16_YBottom; .val 12; .scl 8; .type 05; .endef
.def .eos; .val 16; .scl 102; .tag _tag_Rectf16; .size 16; .endef
.def _Rectf16; .scl 13; .tag _tag_Rectf16; .size 16; .type 010; .endef
.def _tag_MoveVect; .scl 10; .type 010; .size 8; .endef
.def _xVector; .val 0; .scl 8; .type 05; .endef
.def _yVector; .val 4; .scl 8; .type 05; .endef
.def .eos; .val 8; .scl 102; .tag _tag_MoveVect; .size 8; .endef
.def _MoveVect; .scl 13; .tag _tag_MoveVect; .size 8; .type 010; .endef
.def _tag_MoveRec; .scl 10; .type 010; .size 64; .endef
.def _curQuadf16; .val 0; .scl 8; .tag _tag_MoveVect; .dim 4; .size 32; .type 070; .endef
.def _quadIncr; .val 32; .scl 8; .tag _tag_MoveVect; .dim 4; .size 32; .type 070; .endef
.def .eos; .val 64; .scl 102; .tag _tag_MoveRec; .size 64; .endef
.def _MoveRec; .scl 13; .tag _tag_MoveRec; .size 64; .type 010; .endef
.def _CelLink; .scl 10; .type 010; .size 12; .endef
.def _next; .val 0; .scl 8; .tag _CelLink; .size 12; .type 030; .endef
.def _prev; .val 4; .scl 8; .tag _CelLink; .size 12; .type 030; .endef
.def _ccb; .val 8; .scl 8; .tag _CCB; .size 68; .type 030; .endef
.def .eos; .val 12; .scl 102; .tag _CelLink; .size 12; .endef
.def _CelLink; .scl 13; .tag _CelLink; .size 12; .type 010; .endef
.def _CFileInfo; .scl 10; .type 010; .size 16; .endef
.def _cfi_fileHash; .val 0; .scl 8; .type 017; .endef
.def _cfi_fileLen; .val 4; .scl 8; .type 017; .endef
.def _cfi_filePos; .val 8; .scl 8; .type 017; .endef
.def _cfi_fileChecksum; .val 12; .scl 8; .type 017; .endef
.def .eos; .val 16; .scl 102; .tag _CFileInfo; .size 16; .endef
.def _CFileInfo; .scl 13; .tag _CFileInfo; .size 16; .type 010; .endef
.def _CFileTracker; .scl 10; .type 010; .size 84; .endef
.def _cft_file; .val 0; .scl 8; .type 05; .endef
.def _cft_ioReq; .val 4; .scl 8; .dim 8; .size 32; .type 065; .endef
.def _cft_ioSent; .val 36; .scl 8; .dim 8; .size 32; .type 077; .endef
.def _cft_reqCheck; .val 68; .scl 8; .type 017; .endef
.def _cft_reqUse; .val 72; .scl 8; .type 017; .endef
.def _cygs_fh; .val 76; .scl 8; .type 05; .endef
.def _cygs_sr; .val 80; .scl 8; .type 05; .endef
.def .eos; .val 84; .scl 102; .tag _CFileTracker; .size 84; .endef
.def _CFileTracker; .scl 13; .tag _CFileTracker; .size 84; .type 010; .endef
.def _CFile; .scl 10; .type 010; .size 112; .endef
.def _cf_fileInfo; .val 0; .scl 8; .tag _CFileInfo; .size 16; .type 030; .endef
.def _cf_curPos; .val 4; .scl 8; .type 05; .endef
.def _cf_cTrack; .val 8; .scl 8; .tag _CFileTracker; .size 84; .type 030; .endef
.def _cf_cTrackX; .val 12; .scl 8; .tag _CFileTracker; .size 84; .type 010; .endef
.def _cf_fileInfoX; .val 96; .scl 8; .tag _CFileInfo; .size 16; .type 010; .endef
.def .eos; .val 112; .scl 102; .tag _CFile; .size 112; .endef
.def _CFile; .scl 13; .tag _CFile; .size 112; .type 010; .endef
.def _CFileIOReq; .scl 10; .type 010; .size 72; .endef
.def _creq_file; .val 0; .scl 8; .tag _CFile; .size 112; .type 030; .endef
.def _creq_reqID; .val 4; .scl 8; .type 017; .endef
.def _cygs_rr; .val 8; .scl 8; .tag _READ_REQUEST; .size 64; .type 010; .endef
.def .eos; .val 72; .scl 102; .tag _CFileIOReq; .size 72; .endef
.def _CFileIOReq; .scl 13; .tag _CFileIOReq; .size 72; .type 010; .endef
.def _CDirectory; .scl 10; .type 010; .size 468; .endef
.def _cdir_bank; .val 0; .scl 8; .type 05; .endef
.def _cdir_dataDir; .val 4; .scl 8; .dim 256; .size 256; .type 062; .endef
.def _cdir_nameTbl; .val 260; .scl 8; .type 022; .endef
.def _cdir_file; .val 264; .scl 8; .tag _CFile; .size 112; .type 010; .endef
.def _cdir_fileTracker; .val 376; .scl 8; .tag _CFileTracker; .size 84; .type 010; .endef
.def _cdir_numFiles; .val 460; .scl 8; .type 05; .endef
.def _cdir_fileInfo; .val 464; .scl 8; .tag _CFileInfo; .size 16; .type 030; .endef
.def .eos; .val 468; .scl 102; .tag _CDirectory; .size 468; .endef
.def _CDirectory; .scl 13; .tag _CDirectory; .size 468; .type 010; .endef
.def _Uint8; .scl 13; .type 014; .endef
.def _Sint8; .scl 13; .type 02; .endef
.def _Uint16; .scl 13; .type 015; .endef
.def _Sint16; .scl 13; .type 03; .endef
.def _Uint32; .scl 13; .type 017; .endef
.def _Sint32; .scl 13; .type 05; .endef
.def _Float32; .scl 13; .type 06; .endef
.def _Float64; .scl 13; .type 07; .endef
.def _Int; .scl 13; .type 04; .endef
.def _Bool; .scl 13; .type 04; .endef
.def _BooleanSwitch; .scl 15; .type 012; .size 4; .endef
.def _OFF; .val 0; .scl 16; .type 013; .endef
.def _ON; .val 1; .scl 16; .type 013; .endef
.def .eos; .val 4; .scl 102; .tag _BooleanSwitch; .size 4; .endef
.def _Judgement; .scl 15; .type 012; .size 4; .endef
.def _OK; .val 0; .scl 16; .type 013; .endef
.def _NG; .val -1; .scl 16; .type 013; .endef
.def .eos; .val 4; .scl 102; .tag _Judgement; .size 4; .endef
.def _CdcStatus; .scl 15; .type 012; .size 4; .endef
.def _CDC_ST_BUSY; .val 0; .scl 16; .type 013; .endef
.def _CDC_ST_PAUSE; .val 1; .scl 16; .type 013; .endef
.def _CDC_ST_STANDBY; .val 2; .scl 16; .type 013; .endef
.def _CDC_ST_PLAY; .val 3; .scl 16; .type 013; .endef
.def _CDC_ST_SEEK; .val 4; .scl 16; .type 013; .endef
.def _CDC_ST_SCAN; .val 5; .scl 16; .type 013; .endef
.def _CDC_ST_OPEN; .val 6; .scl 16; .type 013; .endef
.def _CDC_ST_NODISC; .val 7; .scl 16; .type 013; .endef
.def _CDC_ST_RETRY; .val 8; .scl 16; .type 013; .endef
.def _CDC_ST_ERROR; .val 9; .scl 16; .type 013; .endef
.def _CDC_ST_FATAL; .val 10; .scl 16; .type 013; .endef
.def _CDC_ST_PERI; .val 32; .scl 16; .type 013; .endef
.def _CDC_ST_TRNS; .val 64; .scl 16; .type 013; .endef
.def _CDC_ST_WAIT; .val 128; .scl 16; .type 013; .endef
.def _CDC_ST_REJECT; .val 255; .scl 16; .type 013; .endef
.def .eos; .val 4; .scl 102; .tag _CdcStatus; .size 4; .endef
.def _CdcErrCode; .scl 15; .type 012; .size 4; .endef
.def _CDC_ERR_OK; .val 0; .scl 16; .type 013; .endef
.def _CDC_ERR_CMDBUSY; .val -1; .scl 16; .type 013; .endef
.def _CDC_ERR_CMDNG; .val -2; .scl 16; .type 013; .endef
.def _CDC_ERR_TMOUT; .val -3; .scl 16; .type 013; .endef
.def _CDC_ERR_PUT; .val -4; .scl 16; .type 013; .endef
.def _CDC_ERR_REJECT; .val -5; .scl 16; .type 013; .endef
.def _CDC_ERR_WAIT; .val -6; .scl 16; .type 013; .endef
.def _CDC_ERR_TRNS; .val -7; .scl 16; .type 013; .endef
.def _CDC_ERR_PERI; .val -8; .scl 16; .type 013; .endef
.def .eos; .val 4; .scl 102; .tag _CdcErrCode; .size 4; .endef
.def _CdcPosType; .scl 15; .type 012; .size 4; .endef
.def _CDC_PTYPE_DFL; .val 0; .scl 16; .type 013; .endef
.def _CDC_PTYPE_FAD; .val 1; .scl 16; .type 013; .endef
.def _CDC_PTYPE_TNO; .val 2; .scl 16; .type 013; .endef
.def _CDC_PTYPE_NOCHG; .val 3; .scl 16; .type 013; .endef
.def _CDC_PTYPE_END; .val 4; .scl 16; .type 013; .endef
.def .eos; .val 4; .scl 102; .tag _CdcPosType; .size 4; .endef
.def _CdcSubMode; .scl 15; .type 012; .size 4; .endef
.def _CDC_SM_EOR; .val 1; .scl 16; .type 013; .endef
.def _CDC_SM_VIDEO; .val 2; .scl 16; .type 013; .endef
.def _CDC_SM_AUDIO; .val 4; .scl 16; .type 013; .endef
.def _CDC_SM_DATA; .val 8; .scl 16; .type 013; .endef
.def _CDC_SM_TRIG; .val 16; .scl 16; .type 013; .endef
.def _CDC_SM_FORM; .val 32; .scl 16; .type 013; .endef
.def _CDC_SM_RT; .val 64; .scl 16; .type 013; .endef
.def _CDC_SM_EOF; .val 128; .scl 16; .type 013; .endef
.def .eos; .val 4; .scl 102; .tag _CdcSubMode; .size 4; .endef
.def _CdcDrdyType; .scl 15; .type 012; .size 4; .endef
.def _CDC_DRDY_GET; .val 0; .scl 16; .type 013; .endef
.def _CDC_DRDY_PUT; .val 1; .scl 16; .type 013; .endef
.def _CDC_DRDY_END; .val 2; .scl 16; .type 013; .endef
.def .eos; .val 4; .scl 102; .tag _CdcDrdyType; .size 4; .endef
.def _CdcScanDir; .scl 15; .type 012; .size 4; .endef
.def _CDC_SCAN_FWD; .val 0; .scl 16; .type 013; .endef
.def _CDC_SCAN_RVS; .val 1; .scl 16; .type 013; .endef
.def .eos; .val 4; .scl 102; .tag _CdcScanDir; .size 4; .endef
.def _CdcSctLen; .scl 15; .type 012; .size 4; .endef
.def _CDC_SLEN_2048; .val 0; .scl 16; .type 013; .endef
.def _CDC_SLEN_2336; .val 1; .scl 16; .type 013; .endef
.def _CDC_SLEN_2340; .val 2; .scl 16; .type 013; .endef
.def _CDC_SLEN_2352; .val 3; .scl 16; .type 013; .endef
.def _CDC_SLEN_NOCHG; .val 255; .scl 16; .type 013; .endef
.def .eos; .val 4; .scl 102; .tag _CdcSctLen; .size 4; .endef
.def _CdcCopyErr; .scl 15; .type 012; .size 4; .endef
.def _CDC_COPY_OK; .val 0; .scl 16; .type 013; .endef
.def _CDC_COPY_NG; .val 1; .scl 16; .type 013; .endef
.def _CDC_COPY_BUSY; .val 255; .scl 16; .type 013; .endef
.def .eos; .val 4; .scl 102; .tag _CdcCopyErr; .size 4; .endef
.def _.4fake; .scl 10; .type 010; .size 8; .endef
.def _flgrep; .val 0; .scl 8; .type 014; .endef
.def _ctladr; .val 1; .scl 8; .type 014; .endef
.def _tno; .val 2; .scl 8; .type 014; .endef
.def _idx; .val 3; .scl 8; .type 014; .endef
.def _fad; .val 4; .scl 8; .type 05; .endef
.def .eos; .val 8; .scl 102; .tag _.4fake; .size 8; .endef
.def _.5fake; .scl 10; .type 010; .size 12; .endef
.def _status; .val 0; .scl 8; .type 014; .endef
0x80000
LOCAL
GEXS
\SEGALIB\INCLUDE\
G:\USERS\GEX\SATURN\
C:\GEX\SATURN\
FAC
SPRITE H !
CONTROL FAC'
FILESERVH !
SATURN H
MEM_MGR H !
JOYPAD H !
DUK H !
DITCH
TDDEF H
TRING H
DP1 H
ANSI H
SYS
0x8043A
# 10 "saturn.c" 2
# 1 "segalib/include/sega_tim.h" 1
# 1 "segalib/include/sega_xpt.h" 1
# 82 "segalib/include/sega_xpt.h"
# 26 "segalib/include/sega_tim.h" 2
0x80B1E
# 11 "saturn.c" 2
# 1 "segalib/include/sega_cdc.h" 1
# 1 "segalib/include/sega_xpt.h" 1
# 82 "segalib/include/sega_xpt.h"
# 22 "segalib/include/sega_cdc.h" 2
0x80C95
enum CdcStatus {
CDC_ST_BUSY = 0x00,
CDC_ST_PAUSE = 0x01,
CDC_ST_STANDBY = 0x02,
CDC_ST_PLAY = 0x03,
CDC_ST_SEEK = 0x04,
CDC_ST_SCAN = 0x05,
CDC_ST_OPEN = 0x06,
CDC_ST_NODISC = 0x07,
CDC_ST_RETRY = 0x08,
CDC_ST_ERROR = 0x09,
CDC_ST_FATAL = 0x0a,
CDC_ST_PERI = 0x20,
CDC_ST_TRNS = 0x40,
CDC_ST_WAIT = 0x80,
CDC_ST_REJECT = 0xff
};
enum CdcErrCode {
CDC_ERR_OK = OK,
CDC_ERR_CMDBUSY=-1,
CDC_ERR_CMDNG =-2,
CDC_ERR_TMOUT =-3,
CDC_ERR_PUT =-4,
CDC_ERR_REJECT =-5,
CDC_ERR_WAIT =-6,
CDC_ERR_TRNS =-7,
CDC_ERR_PERI =-8
};
enum CdcPosType {
CDC_PTYPE_DFL,
CDC_PTYPE_FAD,
CDC_PTYPE_TNO,
CDC_PTYPE_NOCHG,
CDC_PTYPE_END
};
enum CdcSubMode {
CDC_SM_EOR = 0x01,
CDC_SM_VIDEO = 0x02,
CDC_SM_AUDIO = 0x04,
CDC_SM_DATA = 0x08,
CDC_SM_TRIG = 0x10,
CDC_SM_FORM = 0x20,
CDC_SM_RT = 0x40,
CDC_SM_EOF = 0x80
};
enum CdcDrdyType {
CDC_DRDY_GET,
CDC_DRDY_PUT,
CDC_DRDY_END
};
enum CdcScanDir {
CDC_SCAN_FWD = 0x00,
CDC_SCAN_RVS = 0x01
};
enum CdcSctLen {
CDC_SLEN_2048 = 0,
CDC_SLEN_2336 = 1,
CDC_SLEN_2340 = 2,
CDC_SLEN_2352 = 3,
CDC_SLEN_NOCHG = 0xff
};
enum CdcCopyErr {
CDC_COPY_OK = 0,
CDC_COPY_NG = 1,
CDC_COPY_BUSY = 0xff
};
0x81436
typedef struct {
Uint8 status;
struct {
Uint8 flgrep;
Uint8 ctladr;
Uint8 tno;
Uint8 idx;
Sint32 fad;
} report;
} CdcStat;
typedef struct {
Uint8 hflag;
Uint8 ver;
Uint8 mpver;
Uint8 drv;
Uint8 rev;
} CdcHw;
typedef struct {
Sint32 ptype;
union {
Sint32 fad;
struct {
Uint8 tno;
Uint8 idx;
} trkidx;
} pbody;
} CdcPos;
typedef struct {
CdcPos start;
CdcPos end;
Uint8 pmode;
} CdcPly;
typedef struct {
Uint8 fn;
Uint8 cn;
Uint8 smmsk;
Uint8 smval;
Uint8 cimsk;
Uint8 cival;
} CdcSubh;
typedef struct {
Sint32 fad;
Uint8 fn;
Uint8 cn;
Uint8 sm;
Uint8 ci;
} CdcSct;
typedef struct {
Sint32 fad;
Sint32 size;
Uint8 unit;
Uint8 gap;
Uint8 fn;
Uint8 atr;
} CdcFile;
0x819E3
Sint32 CDC_GetCurStat(CdcStat *stat);
Sint32 CDC_GetLastStat(CdcStat *stat);
Sint32 CDC_GetHwInfo(CdcHw *hw);
Sint32 CDC_TgetToc(Uint32 *toc);
Sint32 CDC_GetSes(Sint32 sesno, Uint32 *ses);
Sint32 CDC_CdInit(Sint32 iflag, Sint32 stnby, Sint32 ecc, Sint32 retry);
Sint32 CDC_CdOpen(void);
Sint32 CDC_DataReady(Sint32 dtype);
Sint32 CDC_DataEnd(Sint32 *cdwnum);
Sint32 CDC_GetPeriStat(CdcStat *stat);
Sint32 CDC_CdPlay(CdcPly *ply);
Sint32 CDC_CdSeek(CdcPos *pos);
Sint32 CDC_CdScan(Sint32 scandir);
Sint32 CDC_TgetScdQch(Uint16 *qcode);
Sint32 CDC_TgetScdRwch(Uint16 *rwcode, Sint32 *scdflag);
Sint32 CDC_CdSetCon(Sint32 filtno);
Sint32 CDC_CdGetCon(Sint32 *filtno);
Sint32 CDC_CdGetLastBuf(Sint32 *bufno);
Sint32 CDC_SetFiltRange(Sint32 filtno, Sint32 fad, Sint32 fasnum);
Sint32 CDC_GetFiltRange(Sint32 filtno, Sint32 *fad, Sint32 *fasnum);
Sint32 CDC_SetFiltSubh(Sint32 filtno, CdcSubh *subh);
Sint32 CDC_GetFiltSubh(Sint32 filtno, CdcSubh *subh);
Sint32 CDC_SetFiltMode(Sint32 filtno, Sint32 fmode);
Sint32 CDC_GetFiltMode(Sint32 filtno, Sint32 *fmode);
Sint32 CDC_SetFiltCon(Sint32 filtno, Sint32 cflag, Sint32 bufno,
Sint32 flnout);
Sint32 CDC_GetFiltCon(Sint32 filtno, Sint32 *bufno, Sint32 *flnout);
Sint32 CDC_ResetSelector(Sint32 rflag, Sint32 bufno);
Sint32 CDC_GetBufSiz(Sint32 *totalsiz, Sint32 *bufnum, Sint32 *freesiz);
Sint32 CDC_GetSctNum(Sint32 bufno, Sint32 *snum);
Sint32 CDC_CalActSiz(Sint32 bufno, Sint32 spos, Sint32 snum);
Sint32 CDC_GetActSiz(Sint32 *actwsiz);
Sint32 CDC_GetSctInfo(Sint32 bufno, Sint32 spos, CdcSct *sct);
Sint32 CDC_ExeFadSearch(Sint32 bufno, Sint32 spos, Sint32 fad);
Sint32 CDC_GetFadSearch(Sint32 *bufno, Sint32 *spos, Sint32 *fad);
Sint32 CDC_SetSctLen(Sint32 getslen, Sint32 putslen);
Sint32 CDC_GetSctData(Sint32 bufno, Sint32 spos, Sint32 snum);
Sint32 CDC_DelSctData(Sint32 bufno, Sint32 spos, Sint32 snum);
Sint32 CDC_GetdelSctData(Sint32 bufno, Sint32 spos, Sint32 snum);
Sint32 CDC_PutSctData(Sint32 filtno, Sint32 snum);
Sint32 CDC_CopySctData(Sint32 srcbn, Sint32 spos, Sint32 snum, Sint32 dstfln);
Sint32 CDC_MoveSctData(Sint32 srcbn, Sint32 spos, Sint32 snum, Sint32 dstfln);
Sint32 CDC_GetCopyErr(Sint32 *cpyerr);
Sint32 CDC_ChgDir(Sint32 filtno, Sint32 fid);
Sint32 CDC_ReadDir(Sint32 filtno, Sint32 fid);
Sint32 CDC_GetFileScope(Sint32 *fid, Sint32 *infnum, Bool *drend);
Sint32 CDC_TgetFileInfo(Sint32 fid, CdcFile *file);
Sint32 CDC_ReadFile(Sint32 filtno, Sint32 fid, Sint32 offset);
Sint32 CDC_AbortFile(void);
Uint32 *CDC_GetDataPtr(void);
Uint16 CDC_GetHirqReq(void);
void CDC_ClrHirqReq(Uint16 bitpat);
Uint16 CDC_GetHirqMsk(void);
void CDC_SetHirqMsk(Uint16 bitpat);
Uint32 *CDC_GetMpegPtr(void);
0x82603
enum CdcMpErrCode {
CDC_ERR_MP_COMU = -20
};
0x826A7
typedef struct {
Uint8 status;
struct {
Uint8 actst;
Uint8 pict;
Uint8 stat_a;
Uint16 stat_v;
Uint16 vcnt;
} report;
} CdcMpStat;
typedef struct {
Uint8 hour;
Uint8 min;
Uint8 sec;
Uint8 pic;
} CdcMpTc;
typedef struct {
Uint8 cmod;
Uint8 lay;
Uint8 bn;
} CdcMpCon;
typedef struct {
Uint8 smod;
Uint8 id;
Uint8 cn;
} CdcMpStm;
typedef struct {
Uint8 intpol;
Uint8 trnsp;
Uint8 moz_h;
Uint8 moz_v;
Uint8 soft_h;
Uint8 soft_v;
} CdcMpVeff;
0x82A46
Sint32 CDC_MpGetCurStat(CdcMpStat *mpstat);
Sint32 CDC_MpGetLastStat(CdcMpStat *mpstat);
Sint32 CDC_MpGetInt(Sint32 *intreq);
Sint32 CDC_MpSetIntMsk(Sint32 intmsk);
Sint32 CDC_MpInit(Sint32 sw);
Sint32 CDC_MpSetMode(Sint32 actmod, Sint32 dectim, Sint32 out,
Sint32 scnmod);
Sint32 CDC_MpPlay(Sint32 plymod, Sint32 tmod_a, Sint32 tmod_v,
Sint32 dec_v);
Sint32 CDC_MpSetDec(Sint32 mute, Sint32 pautim, Sint32 frztim);
Sint32 CDC_MpOutDsync(Sint32 fbn);
Sint32 CDC_MpGetTc(Sint32 *bnk, Sint32 *pictyp, Sint32 *tr, CdcMpTc *mptc);
Sint32 CDC_MpGetPts(Sint32 *pts_a);
Sint32 CDC_MpSetCon(Sint32 next, CdcMpCon *mpcon_a, CdcMpCon *mpcon_v,
Sint32 picsrch);
Sint32 CDC_MpGetCon(Sint32 next, CdcMpCon *mpcon_a, CdcMpCon *mpcon_v);
Sint32 CDC_MpChgCon(Sint32 chg_a, Sint32 chg_v,
Sint32 clr_a, Sint32 clr_v);
Sint32 CDC_MpSetStm(Sint32 next, CdcMpStm *mpstm_a, CdcMpStm *mpstm_v);
Sint32 CDC_MpGetStm(Sint32 next, CdcMpStm *mpstm_a, CdcMpStm *mpstm_v);
Sint32 CDC_MpGetPictSiz(Sint32 *siz_h, Sint32 *siz_v);
Sint32 CDC_MpDisp(Sint32 dswsw, Sint32 fbn);
Sint32 CDC_MpSetWinFpos(Sint32 chgflg, Sint32 fpx, Sint32 fpy);
Sint32 CDC_MpSetWinFrat(Sint32 chgflg, Sint32 frx, Sint32 fry);
Sint32 CDC_MpSetWinDpos(Sint32 chgflg, Sint32 dpx, Sint32 dpy);
Sint32 CDC_MpSetWinDsiz(Sint32 chgflg, Sint32 dsx, Sint32 dsy);
Sint32 CDC_MpSetWinDofs(Sint32 chgflg, Sint32 dox, Sint32 doy);
Sint32 CDC_MpSetBcolor(Sint32 bcolor);
Sint32 CDC_MpSetFade(Sint32 gain_y, Sint32 gain_c);
Sint32 CDC_MpSetVeff(CdcMpVeff *mpveff);
Sint32 CDC_MpGetImg(Sint32 *dwsiz);
Sint32 CDC_MpSetImgPos(Sint32 fbn, Sint32 ipx, Sint32 ipy);
Sint32 CDC_MpSetImgSiz(Sint32 fbn, Sint32 isx, Sint32 isy);
Sint32 CDC_MpReadImg(Sint32 srcfbn,
Sint32 fln_y, Sint32 fln_cr, Sint32 fln_cb);
Sint32 CDC_MpWriteImg(Sint32 bn_y, Sint32 bn_cr, Sint32 bn_cb,
Sint32 dstfbn, Sint32 cmod_i);
Sint32 CDC_MpReadSct(Sint32 srcmsp, Sint32 snum, Sint32 dstfln);
Sint32 CDC_MpWriteSct(Sint32 srcbn, Sint32 sp, Sint32 snum,
Sint32 dstmsp);
Sint32 CDC_MpGetLsi(Sint32 r_sw, Sint32 reg_no, Sint32 *rdata);
Sint32 CDC_MpSetLsi(Sint32 rwsw, Sint32 reg_no, Sint32 wdata,
Sint32 *rdata);
# 12 "saturn.c" 2
# 1 "segalib/include/sega_per.h" 1
0x836DE
typedef Uint16 PerDgtData;
typedef struct {
PerDgtData dgt;
Sint16 x;
Sint16 y;
Sint16 z;
}PerAnlData;
typedef struct {
PerDgtData dgt;
Uint16 data;
Sint16 x;
Sint16 y;
}PerPntData;
typedef struct {
PerDgtData dgt;
Uint8 skey;
Uint8 key;
}PerKbdData;
typedef Uint8 PerM3bpData;
typedef Uint16 PerM6bpData;
typedef Uint8 PerId;
typedef Uint8 PerSize;
typedef Uint8 PerKind;
typedef Uint16 PerNum;
typedef struct {
PerDgtData data;
PerDgtData push;
PerId id;
}PerDgtInfo;
typedef struct {
PerAnlData data;
PerAnlData push;
PerId id;
}PerAnlInfo;
typedef struct {
PerPntData data;
PerPntData push;
PerId id;
}PerPntInfo;
typedef struct {
PerKbdData data;
PerKbdData push;
PerId id;
}PerKbdInfo;
typedef struct {
PerM3bpData data;
PerM3bpData push;
PerId id;
}PerM3bpInfo;
typedef struct {
PerM6bpData data;
PerM6bpData push;
PerId id;
}PerM6bpInfo;
typedef struct {
Uint8 cc;
Uint8 ac;
Uint16 ss;
Uint32 sm;
Uint8 stat;
}PerGetSys;
typedef void PerGetPer;
extern Uint8 per_hot_res;
extern Uint8 *per_get_time_adr;
extern PerGetSys per_get_sys_data;
extern Uint8 per_set_sys_flg;
extern Uint8 per_time_out_flg;
Uint32 PER_Init(PerKind, PerNum, PerId, PerSize, Uint32 *, Uint8);
Uint32 PER_GetPer(PerGetPer **);
PerGetSys PER_GetSys(void);
void PER_IntFunc(void);
0x84653
# 641 "segalib/include/sega_per.h"
# 661 "segalib/include/sega_per.h"
# 14 "saturn.c" 2
# 1 "segalib/include/sega_gfs.h" 1
enum GfsAccessMode {
GFS_NWSTAT_NOACT = 0,
GFS_NWSTAT_FREAD,
GFS_NWSTAT_CDREAD
};
enum GfsSeekMode {
GFS_SEEK_SET = 0,
GFS_SEEK_CUR,
GFS_SEEK_END
};
enum GfsGetMode {
GFS_GMODE_ERASE = 0,
GFS_GMODE_RESIDENT
};
enum GfsTransMode {
GFS_TMODE_SCU = 0,
GFS_TMODE_SDMA0,
GFS_TMODE_SDMA1,
GFS_TMODE_CPU,
GFS_TMODE_STM,
GFS_TMODE_END
};
enum GfsServerStatus {
GFS_SVR_COMPLETED = 0,
GFS_SVR_BUSY,
GFS_SVR_CDPAUSE,
GFS_SVR_ERROR
};
enum GfsDirType {
GFS_DIR_ID = 0,
GFS_DIR_NAME
};
typedef struct {
Sint32 fid;
CdcFile finfo;
Sint32 sctsz;
Sint32 nsct;
Sint32 lstrm;
} GfsFinfo;
typedef struct {
Sint32 bufno;
Sint32 sctsz;
Sint32 flt;
CdcSubh subh;
Sint32 fmode;
Sint32 puid;
Sint32 filepos;
Sint32 sctpos;
Sint32 sfad;
Sint32 efad;
} GfsCdRsrc;
typedef struct {
Sint32 fid;
Sint32 filepos;
Sint32 sctpos;
Sint32 sctnum;
} GfsScsiRsrc;
typedef struct {
void *data;
Sint32 filepos;
Sint32 sctpos;
Sint32 sctnum;
} GfsMemRsrc;
typedef struct {
Sint32 ftype;
union {
GfsCdRsrc cd;
GfsScsiRsrc scsi;
GfsMemRsrc mem;
} rsrc;
} GfsDtsrc;
typedef struct {
GfsFinfo finfo;
GfsDtsrc dtsrc;
Sint32 gmode;
Sint32 stat;
Sint32 sct;
Sint32 sctcnt;
Sint32 sctmax;
} GfsFlow;
typedef struct {
void *data;
Sint32 adlt;
Sint32 len;
Sint32 nsct;
Bool use;
} GfsDataPack;
typedef GfsDataPack *GfdpHn;
typedef Sint32 (*GfsTransFunc)(void *obj, Sint32 nsct);
typedef struct {
void *buf;
Sint32 size;
Sint32 wp;
GfdpHn dps;
GfdpHn dpd;
Sint32 tsctmax;
Sint32 tsct;
Sint32 tsctcnt;
Sint32 tbytcnt;
void *obj;
GfsTransFunc tfunc;
Sint32 unit;
Bool active;
Sint32 stat;
Sint32 mode;
} GfsTrans;
typedef GfsTrans *GftrHn;
typedef struct {
Bool used;
Sint32 amode;
Sint32 astat;
GfsFlow flow;
GfsTrans trans;
} GfsFile;
typedef GfsFile *GfsHn;
typedef struct {
CdcFile dirrec;
} GfsDirId;
typedef struct {
CdcFile dirrec;
Sint8 fname[12 ];
} GfsDirName;
typedef struct {
Sint32 type;
Sint32 ndir;
union {
GfsDirId *dir_i;
GfsDirName *dir_n;
} dir;
} GfsDirTbl;
typedef void (*GfsErrFunc)(void *obj, Sint32 ec);
typedef struct {
GfsErrFunc func;
void *obj;
Sint32 code;
} GfsErrStat;
Sint32 GFS_Init(Sint32 open_max, void *work, GfsDirTbl *dirtbl);
Sint32 GFS_LoadDir(Sint32 fid, GfsDirTbl *dirtbl);
Sint32 GFS_SetDir(GfsDirTbl *dirtbl);
Sint32 GFS_NameToId(Sint8 *fname);
Sint8 *GFS_IdToName(Sint32 fid);
GfsHn GFS_Open(Sint32 fid);
void GFS_Close(GfsHn gfs);
Sint32 GFS_Seek(GfsHn gfs, Sint32 ofs, Sint32 org);
Sint32 GFS_Tell(GfsHn gfs);
Bool GFS_IsEof(GfsHn gfs);
Sint32 GFS_ByteToSct(GfsHn gfs, Sint32 nbyte);
void GFS_GetFileSize(GfsHn gfs, Sint32 *sctsz, Sint32 *nsct, Sint32 *lstsz);
void GFS_GetFileInfo(GfsHn gfs, Sint32 *fid, Sint32 *fn, Sint32 *fsize,
Sint32 *atr);
Sint32 GFS_Load(Sint32 fid, Sint32 ofs, void *buf, Sint32 bsize);
Sint32 GFS_Fread(GfsHn gfs, Sint32 nsct, void *buf, Sint32 bsize);
Sint32 GFS_NwFread(GfsHn gfs, Sint32 nsct, void *buf, Sint32 bsize);
Sint32 GFS_NwCdRead(GfsHn gfs, Sint32 nsct);
Bool GFS_NwIsComplete(GfsHn gfs);
Sint32 GFS_NwStop(GfsHn gfs);
void GFS_NwGetStat(GfsHn gfs, Sint32 *amode, Sint32 *ndata);
Sint32 GFS_NwExecOne(GfsHn gfs);
Sint32 GFS_NwExecServer(GfsHn *now_gfs);
Sint32 GFS_SetGmode(GfsHn gfs, Sint32 gmode);
Sint32 GFS_SetTmode(GfsHn gfs, Sint32 tmode);
Sint32 GFS_SetReadPara(GfsHn gfs, Sint32 nsct);
Sint32 GFS_SetTransPara(GfsHn gfs, Sint32 tsize);
Sint32 GFS_CdMovePickup(GfsHn gfs);
void GFS_SetErrFunc(GfsErrFunc func, void *obj);
void GFS_GetErrStat(GfsErrStat *stat);
Sint32 GFS_GetDirInfo(Sint32 fid, GfsDirId *dirrec);
Sint32 GFS_GetFad(Sint32 fid, Sint32 ofs);
typedef struct {
Sint32 (*flowin)(GfsFlow *);
void (*stopin)(GfsFlow *, Bool);
Sint32 (*seek)(GfsFlow *, Sint32);
Sint32 (*tell)(GfsFlow *);
} GfsFileFunc;
typedef struct {
GfsHn access_file[24 ];
Sint32 nfile;
} GfsSvr;
typedef struct {
GfsDirTbl dirtbl;
Sint32 nfile;
} GfsDirMng;
typedef struct {
Uint8 flt;
Uint8 fmode;
CdcSubh subh;
Sint32 fad;
Sint32 snum;
} GfcdSelQu;
typedef struct {
Sint32 flt;
Sint32 buf;
Sint32 flnout;
} GfcdFconQu;
typedef struct {
Sint8 use_buf[24 ];
Sint8 use_filt[24 ];
Bool use_pu;
Sint32 tr_bufno;
Sint32 puid;
Sint32 timer;
CdcStat stat;
void (*func)(void *);
void *obj;
struct {
Sint32 len;
Sint32 stat;
GfcdSelQu selq[24 ];
} tsk_setflt;
struct {
Sint32 len;
Sint32 stat;
GfcdFconQu fconq[24 ];
} tsk_fltcon;
struct {
Sint32 stat;
Sint32 flt;
} tsk_setcon;
struct {
Sint32 stat;
Sint32 bufno;
Sint32 spos;
Sint32 usct;
Sint32 cnt;
Sint32 *nsct;
Sint32 *nbyte;
}tsk_getlen;
struct {
Sint32 stat;
Sint32 bufno;
Sint32 sctpos;
Sint32 nsct;
} tsk_reqdat;
struct {
Sint32 stat;
Sint32 bufno;
Sint32 sctpos;
Sint32 nsct;
} tsk_delsct;
struct {
Sint32 stat;
Sint32 dst;
Sint32 src;
Sint32 spos;
Sint32 snum;
Sint32 fmode;
} tsk_movsct;
struct {
Sint32 stat;
Sint16 fid;
Sint16 work;
Sint32 *ndir;
} tsk_chgdir;
} GfsCdbMng;
typedef struct {
Sint32 openmax;
GfsFileFunc functbl[3 ];
GfsSvr svr;
GfsDirMng curdir;
GfsHn pickup;
Sint32 sfad;
Sint32 efad;
GfsHn trans;
GfsErrStat error;
Uint32 flags;
Sint32 timer;
GfsCdbMng cdb;
GfsDataPack srcpk;
GfsDataPack dstpk;
Uint8 sect_buf[2048 ];
GfsFile file[1];
} GfsMng;
# 15 "saturn.c" 2
# 1 "..\\generic\\incl3do/event.h" 1
#pragma include_only_once
# 1 "..\\generic\\incl3do/graphics.h" 1
#pragma force_top_level
#pragma include_only_once
# 1 "..\\generic\\incl3do/operror.h" 1
#pragma force_top_level
#pragma include_only_once
extern char _SixToAscii[];
0x86792
typedef struct ErrorText
{
ItemNode et;
uint32 et_ObjID;
uint8 et_MaxErr;
uint8 et_MaxStringSize;
uint8 et_Reserved[2];
char **et_ErrorTable;
} ErrorText;
enum errtxt_tags
{
ERRTEXT_TAG_OBJID = TAG_ITEM_LAST+1,
ERRTEXT_TAG_MAXERR,
ERRTEXT_TAG_TABLE,
ERRTEXT_TAG_MAXSTR
};
void PrintfSysErr(Item);
int32 GetSysErr(char *buff,int32 buffsize,Item err);
# 52 "..\\generic\\incl3do/graphics.h" 2
# 1 "..\\generic\\incl3do/timer.h" 1
#pragma force_top_level
#pragma include_only_once
typedef struct Timer
{
ItemNode tm;
uint8 tm_ID;
uint8 tm_Size;
uint8 tm_IntNum;
uint8 tm_r[1];
void (*tm_Control)(struct Timer *,int32 set,int32 clr);
void (*tm_Load)(int32 n,int32 value16, int32 reloadvalue16);
int32 (*tm_Read)(int32 n);
} Timer;
enum timer_tags
{
CREATETIMER_TAG_NUM = TAG_ITEM_LAST+1,
CREATETIMER_TAG_FLAGS
};
# 53 "..\\generic\\incl3do/graphics.h" 2
# 1 "..\\generic\\incl3do/filesyst.h" 1
# 1 "..\\generic\\incl3do/io.h" 1
#pragma force_top_level
#pragma include_only_once
# 1 "..\\generic\\incl3do/msgport.h" 1
#pragma force_top_level
#pragma include_only_once
typedef struct MsgPort
{
ItemNode mp;
uint32 mp_Signal;
List mp_Msgs;
void *mp_UserData;
uint32 mp_Reserved;
} MsgPort;
enum msgport_tags
{
CREATEPORT_TAG_SIGNAL = TAG_ITEM_LAST+1,
CREATEPORT_TAG_USERDATA
};
extern Item CreateMsgPort(char *name, uint8 pri, uint32 signal);
typedef struct Message
{
ItemNode msg;
Item msg_ReplyPort;
uint32 msg_Result;
void *msg_DataPtr;
int32 msg_DataSize;
Item msg_MsgPort;
uint32 msg_DataPtrSize;
Item msg_SigItem;
} Message;
enum message_tags
{
CREATEMSG_TAG_REPLYPORT = TAG_ITEM_LAST+1,
CREATEMSG_TAG_MSG_IS_SMALL,
CREATEMSG_TAG_DATA_SIZE
};
extern Item CreateMsg(char *name, uint8 pri, Item mp);
extern Item CreateSmallMsg(char *name, uint8 pri, Item mp);
extern Item CreateBufferedMsg(char *name, uint8 pri, Item mp, uint32 buffsize);
extern Err SendMsg(Item mp,Item msg,
void *dataptr, int32 datasize);
extern Err SendSmallMsg(Item mp,Item msg,
uint32 val1, uint32 val2);
extern Item GetMsg(Item mp);
extern Item GetThisMsg(Item msg);
extern Item WaitPort(Item mp,Item msg);
extern Err ReplyMsg(Item msg, int32 result,
void *dataptr, int32 datasize);
extern Err ReplySmallMsg(Item msg, int32 result,
uint32 val1, uint32 val2);
# 123 "..\\generic\\incl3do/io.h" 2
typedef struct IOBuf
{
void *iob_Buffer;
int32 iob_Len;
} IOBuf;
typedef struct IOInfo
{
uint8 ioi_Command;
uint8 ioi_Flags;
uint8 ioi_Unit;
uint8 ioi_Flags2;
uint32 ioi_CmdOptions;
uint32 ioi_User;
int32 ioi_Offset;
IOBuf ioi_Send;
IOBuf ioi_Recv;
} IOInfo;
(Source: Original TCRF research)
|
The Gex series | |
|---|---|
|
3DO |
|
|
PlayStation |
Gex • Gex: Enter the Gecko • Gex 3: Deep Cover Gecko (Prototypes) • Gex Jr. |
|
Sega Saturn |
|
|
Nintendo 64 |
|
|
Game Boy (Color) |
|
|
Windows |
|
|
PlayStation 5, Windows, Xbox Series X and S, Nintendo Switch |
|