Tamiya and Mini Racers tested on real hardware (using 64drive) no problems detected other than the 64drive doesn't seem to detect the save type.
Mini Racers should be SRAM. Values and access are typical SRAM: 05,0C,0D,02, initialized the usual way. Perhaps you can force it?
tested both on everdrive works really nicely pj64 seems to have trouble emulating it yet but on hardware seems perfect.
Incidentally, what would be the best graphics plugin/settings for this? Its specific microcode CRC isn't indexed yet.
Rice Video and Nice64 (or 1964)
Originally Posted by Zoinkity
Glide64 dont have the microcode defined (emulators doesnt even recognize the game ID), i'm not really sure if it can be defined but Rice plugin do the work perfectly (except the broken text)
Last edited by stranno; 04-10-2012 at 11:30 AM.
What lines have been added? i want to try in Nice64 and it have his own modification of Glide64
Originally Posted by olivieryuyu
Thanks a lot!
Ah, this should be the difference. Try adding this line to the microcode crc list:
Oh, incidentally in 2P head-to-head you can get it to load any map from 0-0x26. Need a little time to hardcode it so they cycle in proper order, but really neat. Need a bit of time to track down the DL error that causes track 0x22 to appear without a course.
Last edited by Zoinkity; 04-10-2012 at 07:20 PM.
The issue is that the track are sometimes either loaded in the wrong order or for track 27 not loaded at all.
Using the sram will allow you to get all data accessible at once
I am pretty track 27 exists as it does load partially in 1964.
Not sure how to explain better. Obviously something is wrong, but i don't think it is not fixable.
Did you notice that press L/R on the load screen you get this screen:
Last edited by olivieryuyu; 04-11-2012 at 12:48 AM.
Originally Posted by Zoinkity
Yep. Track 27 loads course #0x22, which is a variation of Serene Garden. There's some DL error in there, and I'm still working out the exact course file layout. There's sets of pointers that point into the loaded file. One is for the track name image, another for the track layout image, and at least two that point at display lists. Just need to parse a few good stages to work out what's wrong in the bad one.
Courses 0-0x26 are all races. 0x27-2F are specificly the minicourses for multiplayer tag and 4-player race (not head-to-head).
Most tracks are reused to a certain degree. The IDs below are the hex codes for each course, not the track numbers:
0 24 27 Tropical Paradise
1 1B The Sewer
2 22 29 Serene Garden
3 21 28 Eighth Wonder
4 1D Earth's Core
5 12 2A R/C Jam
6 Future City
7 10 23 Space Station
8 13 2B Off-Rodeo
9 11 2C Toy Land
A 15 2D Woodland Raceway
B 1C Wild West
C 18 Sand Dune D'Light
D 26 Haunted Highway (triggers code at 8001F808)
E 20 2E Polar Party
F Heroes' Domain
14 1E Suburbia / Backyard
The track table the debugger displays is based on the table at 80082728, copied to 80303520. It's also used to set the order of tracks in both cups and multi head-to-head.
Stage 27's name is Tranquility. Going through the DLs now to see what went bonkers. There's functions that select out parts of the stage file to display. One of these either was omitted or contained an error. Did figure out how they do the AI paths and camera path though. Anyway, will take a little bit to work out exactly what went wrong.
Well this isn't good. The block from 80378680 - 8037A680 is bad.
ROM 0x38A000 - 0x38C000 isn't present. It's filled with 0xFFs. The track won't display because the end of the vertex list and entire display list at that location fell in that range. Actually, there should be stuff after than that also got fried. Aegh...
That track doesn't work on the original cart, right? Anyway, 0x2000 large could mean an unreadable sector on the cart or just a bad dump of the segment. Ziyal II dumps in 0x2000 segments, doesn't it?
Anyway, it could be reconstructed with some effort. That said, it will need to be reconstructed and will not be the same as the original as a result.
[edit edit edit]
The crash is result of trying to process a block of FF's as though it was a display list. However, the subsequent chunk of geometry is also damaged.
If you were looking at the file, this is what's going on.
80377D78 34878 vertices DL1 start
*80378680 35180 failure point
80379318 35E18 DL1pointers
80379330 35E30 vertex table 2 loadpoint 81FF
80379530 36030 vertex table 2 loadpoint 81FF
80379730 36230 vertex table 2 loadpoint 7DEF
80379920 36420 vertex table 2loadpoint 81FF
80379B20 36620 vertex table 2 loadpoint 7DEF
80379D10 36810 vertex table 2 loadpoint 81FF
80379F10 36A10 vertex table 2 loadpoint 79DF
8037A0F0 36BF0 vertex table 2 loadpoint 81FF
8037A2F0 36DF0 vertex table 2 loadpoint 81FF
8037A4F0 36FF0 vertex table 2 loadpoint 81FF
*8037A680 37180 extant vertices start here
8037A6F0 371F0 vertex table loadpoint 2CAF
8037A7A0 372A0 DL
0x34878 would follow this format:
So, we have part of the vertex list for the missing display list and the second list only draws about 10 triangles. The second list is easy to restore though. It's drawing the edge of the track, from the raceway to the grass. Thankfully the DL is formulaic, and the vertex positions are easy enough to figure out from the existing data. Really, the only trick will be working out ST for each since they sort of run in 'packets'.
The missing DL has a larger number of extant vertices. I don't have the correct order yet, but the remaining ones draw a large, wooden shack at the top of the course just to the right of the large hill. There's another wooden structure right at the turn past the hill, which could be anything from a windmill to a water spout.
As a temporary fix, you can use these GS codes to play the stage (note they change ASM so you might have to savestate/restore for it to take effect on emulators):
-or do this to a ROM, in semi-IPS form:
0285B4 0004 00000000
Note that there will be some missing geometry. A permanent fix will be to restore the data.
Last edited by Zoinkity; 04-13-2012 at 10:59 AM.
Reason: Figured it out...
track 27 doesn't work on the real prototype. I intend to redump the cart few times again but i doubt it is a bad dump.
Okay, if it doesn't work on the proto then it was Looking Glass's error.
Well, I'll start piecing together the missing DLs now. Seems like most of the thing is still there. Finishing up the track median though is going to take a lot of time.
In the meantime though the code and/or patch will make the stage playable.
Originally Posted by Zoinkity
Any idea why the tracks sometimes are set in the wrong order. For instance you start a time attack for track 26 and you actually start with track 27???!!!
I updated the Glide64 ini to get pause menu in game and graphics displayed in the building tracker.
buff_clear = 0
fb_smart = 1
fb_hires = 1
swapmode = 0
You need then either to set read every frame (or get frame buffer notification under Mupen) to get all graphics displayed correctly!!!
Haven't had much luck tracing that. The course is set within 8005CE60, the value at 80083CB0 is the cup (0: local, 1: regional, 2: world), but the actual stage number is a combination of the set # in SP+294 (onroad, offroad, mixed, and bonus) and the track within the set in SP+29C. Just not sure what's setting the two stack values yet.
That's crazy anyway. The track number is grabbed from the table using (cup *0x18) + (set *6) + track -1, then subtracts 1 from that stage number.
Have a good chunk of the removed hut rebuilt. Will take much, much longer to get the track median done though. Honestly, I'd rather have had the vertices than the display list.
Wonder what version this one was? The one IGN playtested was a mostly-japanese localized version with some spiffed-up icons.
I'm an idiot. This hut is almost an exact duplicate of the one in Serene Garden, and the 'windmill' is really just a tree ;*)
They're identical between the stages, just a matter of their global offset being off. So, the part of the tree that's missing can be perfectly restored! Rejoice!
As an interesting side-note, some of the stages are enviroment mapped whereas others use vertex color.
If anyone has snapshots from a gameplay video for the stage (old ones, like the IGN video) it would be nice to use as reference.
Also, in-game you hold LR to move the camera. Use the control stick and C-buttons (or + pad) to change the pitch, yaw, and rotation.
L + c-left or +-left opens up a car stat modifier screen. You can use L/R to change the car you'r modifying. Also, L + c-right or +-right advances the course (or some combo like that). There's a whole bunch of these strewn throughout.
Yes, yes. It's a double-post.
This is a beta patch that restores what remains of the existing content. It also allows you to play an incomplete stage 27 without codes or other patches.
This is only a beta and yes, I know the draw priority is screwed up and yes, I know that there's still stuff missing. This will be corrected later with a more complete patch. I mostly want to release this so that the stage doesn't crash when you load it.
The hut, partial tree, and flowers are all defined by the vertices listed before the bad sector. One of the flowers at the base was only half-defined so I did take the liberty of adding two vertices. Otherwise, that's a best-guess as to what's in the file.
If anyone can find images or video of this stage that would be a huge help. I'm really only guessing at what the end result should be.
Last edited by LeGIt; 04-27-2012 at 01:32 PM.
Reason: Double Post Merge
Does it help a bit? Seems not far from it
Last edited by olivieryuyu; 04-18-2012 at 03:21 PM.
Ah, that's track 7, Serene Garden. The problem with Tranquility (track 27) is that the few track medians left are very different from the MP and earlier track.
Found more bad sectors.
The first is 0x2000 bytes at 0x38A000, damaging two display lists in track 27.
The second is 0x2000 bytes at 0x78A000, damaging part of the wavetables. That's probably unrecoverable without a different dump.
The last one spans 0x2000 bytes at 0xB8A000 and affects the second and third car's normal color schemes. However, that can probably be reconstructed from one of the other color schemes for the same car. In a somewhat unusual move Looking Glass doesn't use palette swapping (or indexed images even when no color depth would be lost) so each car has a different image for each scheme.
This game was dumped just in time. Any longer and this could have gotten seriously damaged.
One thing I've been pondering is if any of the Looking Glass overdumps may contain data to the other discovered (or undiscovered) games. It could prove a somewhat circuitous method of recovering lost data.
In case you never tried, you can change your car's color scheme on the car select screen by using the R button (or was it L? One of the shoulders...)
Updated this patch:
The three partial/missing car textures are all repaired. Basically color modded the greyscale samples in the table with color values from the remaining parts of each image. They blend in pretty well with the existing textures.
Last edited by Zoinkity; 04-21-2012 at 07:54 AM.
Reason: All missing data identified.
I'm bummed I went on an unintentional hiatus and missed this release. Great job!
I AM A MONSTER TRUCK THAT WALKS LIKE A MAN