Motocross Championship/Hidden content
From Sega Retro
- Back to: Motocross Championship.
Unused content
Error and JPEG conversion tool text
There is quite a bit of text relating to all sorts of errors, mostly, if not completely, relating to the JPEG technology used in this game.[1]
001E7738:
Insufficient memory (case %d) Bogus free_small request Image too wide for this implementation
001E7898:
Bogus free_small_sarray request
001E79D4:
Bogus free_small_barray request
001E7B8C:
Bogus access_big_sarray request Virtual control array messed up
001E7D5C:
Bogus access_big_barray request
001E7F20:
Bogus free_big_sarray request
001E8074:
Bogus free_big_barray request
001E86D0:
Premature EOF in JPEG
001E88E0:
Skipping marker 0x%02x, length %u Define Huffman Table 0x%02x %3d %3d %3d %3d %3d %3d %3d %3d Bogus DHT counts Bogus DHT index %d
001E8B84:
Define Arithmetic Table 0x%02x: 0x%02x Bogus DAC index %d Bogus DAC value 0x%x
001E8D14:
Define Quantization Table %d precision %d Bogus table number %d
001E8FA8:
Bogus length in DRI Define Restart Interval %u
001E90B4:
Unsupported JFIF revision number %d.%02d Warning: unknown JFIF revision number %d.%02d JFIF APP0 marker, density %dx%d %d with %d x %d thumbnail image Warning: thumbnail image size does not match data length %u Unknown APP0 marker (not JFIF), length %u Short APP0 marker, length %u
001E9460:
Start Of Frame 0x%02x: width=%u, height=%u, components=%d Empty JPEG image (DNL not supported) Unsupported JPEG data precision Component %d: %dhx%dv q=%d
001E9848:
Bogus SOS length Start Of Scan: %d components Invalid component number in SOS c%d: [dc=%d ac=%d]
001E9ACC:
Start of Image
001E9B54:
Corrupt JPEG data: %d extraneous bytes before marker 0x%02x
001E9C6C:
Unexpected marker 0x%02x
001E9E34:
Not a FF file Not a M_SOI file Not a JPEG file Unsupported SOF marker type 0x%02x Unrecognized component IDs %d %d %d, assuming YCbCr
001EA100:
End of Image Corrupt JPEG data: found 0x%02x marker instead of RST%d At marker 0x%02x, recovery action %
001EA2CC:
Arithmetic coding not supported Bogus sampling factors
001EA44C:
Empty JPEG file
001EA870:
Backing store not supported
001EA9FC:
Corrupt JPEG data: premature end of data segment
001EAB70:
Corrupt JPEG data: bad Huffman code
001EAC14:
Use of undefined Huffman table
001EAD44:
Corrupt JPEG data: %d extraneous bytes before marker 0x%02x
001EBAFD:
Bogus JPEG colorspace Unsupported JPEG colorspace Unsupported color conversion request
001EBD70:
Cannot quantize to fewer than %d colors
001EBF6C:
Cannot quantize more than %d color components Cannot request more than %d quantized colors Quantizing to %d = %d*%d*%d colors Quantizing to %d colors
001ECF19:
Selected %d colors for quantization
001ED928:
Cannot request less than 8 quantized colors Cannot request more than %d quantized colors
001EDAB4:
Should not get here! 2-pass quantization only handles YCbCr input
001EDC08:
Too many components for interleaved scan I'm confused about the image width Sampling factors too large for interleaved scan
001EE59C:
Didn't expect more than one scan
001EF81C:
CCIR601 upsampling not implemented yet Fractional upsampling not implemented yet
Uncompiled code
Starting at 001F3001, an entire segment of uncompiled source code can be found within the game's data. The #ifdef PC and #ifdef MARS (the 32x's codename) lines and their associated comments led to speculation that the game was scheduled to receive a Windows PC port that never surfaced.[1] However, in April 2022, lead programmer Alexander G. M. Smith confirmed through a Sega Retro discussion post that this version was intended solely for internal development.[2]
to limit the # of lines that need to be drawn DrawScrollPlane(2, &CopyOfCamera2, camDX, lineCountForBackGround); #endif #endif DrawObjects (CopyOfCamera2.currentTile, NumberOfTiles, RoadDistances, TileScreenPositionArray, SM); DrawPlayerLapFlag(2); #ifdef MARS if (SM == MASTER) #endif { Camera1Data = CopyOfCamera1; Camera2Data = CopyOfCamera2; } } else /* Not split screen. */ { CopyOfCamera1 = Camera1Data; /* Copy the whole structure. */ #ifdef DEBUGSPEED WindowWidth = SMALLWINDOWWIDTH; HalfWindowWidth = WindowWidth / 2; WindowX = SCREENWIDTH / 2 - HalfWindowWidth; WindowY = SCREENHEIGHT / 2 - SMALLWINDOWHEIGHT / 2; WindowHeight = SMALLWINDOWHEIGHT; WindowScaleFactor = 2; #else WindowX = WINDOWXMARGIN; WindowWidth = SCREENWIDTH - (WINDOWXMARGIN * 2); HalfWindowWidth = WindowWidth / 2; WindowY = 4; WindowHeight = SCREENHEIGHT - (WINDOWYMARGIN * 2) - 4; WindowScaleFactor = 1; #endif #ifdef PC /* PC background is a full screen and must be drawn first. */ drawBackground (FALSE, 0, 0, SM); #endif NumberOfTiles = CalculateTileAndCameraPositions (TileScreenPositionArray, &CopyOfCamera1, &camDX, &camDY); // .......... calc the difference in absolute heights between the bike and camera heightDiffForHorizon = (CopyOfCamera1.SubjectBikeTileHeight + CopyOfCamera1.subjectBike->bottomY) - (CopyOfCamera1.absoluteTileHeight + CopyOfCamera1.yOffset); lineCountForBackGround = DrawGround (NumberOfTiles, RoadDistances, TileScreenPositionArray, SM); #ifdef MARS // .......... 32X background gets drawn after, to limit the # of lines that need to be drawn DrawScrollPlane(1, &CopyOfCamera1, camDX, lineCountForBackGround); #endif DrawObjects (CopyOfCamera1.currentTile, NumberOfTiles, RoadDistances, TileScreenPositionArray, SM); DrawPlayerLapFlag(1); #if 0 ShowNum(heightDiffForHorizon); #endif #ifdef MARS if (SM == MASTER) #endif { Camera1Data = CopyOfCamera1; } } #if 0 #ifdef DEBUG /* Print out the debug value. */ if (SM == MASTER) { char TempString [40]; #ifdef DEBUGSPEED #else IntToAscii ((int) DebugValue, TempString, 10); PutString (0, 0, "Debug value:", WHITECOLOUR); PutString (120, 0, TempString, WHITECOLOUR); #endif } #endif #endif } void ShowNum(int num) { char String1[100],String2[20]; StringCopy (String1,"Number: "); IntToAscii (num, String2,10); StringCat(String1,String2); #ifdef MARS ColorAreaNOCLIP(50,50,100,20,0,0); #endif PutString(50,50,String1,100); } void ShowAbsoluteTileHeight(CameraDataRecord CopyOfCamera) { char String1[100],String2[20]; StringCopy (String1,"TileHeight: "); IntToAscii ((int) CopyOfCamera.absoluteTileHeight, String2,10); StringCat(String1,String2); #ifdef MARS ColorAreaNOCLIP(90,30,100,20,0,0); #endif PutString(10,30,String1,100); } void ShowSegment(void) { trackTilePointer CurrentTilePtr; char String1[100],String2[20]; CurrentTilePtr = GetTrackTileForNumber (Camera1Data.currentTile); StringCopy (String1,"Segment # "); IntToAscii ((int) CurrentTilePtr->segmentNumber, String2,10); StringCat(String1,String2); PutString(10,30,String1,100); } /**************************************************************************** * Draw the race track and objects on it to the screen. */ void Render (void) { RenderTrackAndObjectsToRamScreen (); DisplayStatusInfo (); //ShowSegment(); sendBuffersToScreen (); }
References
- ↑ 1.0 1.1 https://tcrf.net/Motocross_Championship (Wayback Machine: 2023-09-08 10:59)
- ↑ Talk:Motocross Championship
Motocross Championship | |
---|---|
Main page | Hidden content | Development | Magazine articles | Video coverage | Reception | Region coding | Technical information |