-
Notifications
You must be signed in to change notification settings - Fork 111
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Virtua Racing #1660
Comments
0.114: Ernesto Corvi updated Virtua Racing to use the TGP core, based on guessing from the Daytona TGP code with some modifications needed for Virtua Racing, the real TGP program is an internal ROM and still needs dumping - Game now playable. Added MB86233 (16MHz) CPU3 and 8k TGP rom (vr-tgp.bin). Hmm hacked code taken from Daytona USA which was hooked up to the TGP CPU core around the same time... 0.113u2: Guru and David Haywood added clone Daytona USA (With Saturn Adverts). Fixed cpu3 and user2 roms and rom loading. Im assuming the track logic for Daytona was very close to Virtua Racing, there is no mention of when Daytona was made playable in MAME previous commits to the above sound as if it was playable beforehand http://adb.arcadeitalia.net/dettaglio_mame.php?game_name=daytona%20&arcade_only=0&autosearch=1 Which makes me wonder was it using a sim previously.?? and if so would that give some pointers for VR.?? |
Im guessing you have ported the 0.107u3: Olivier Galibert fixed track lookup implementation in Virtua Racing, bringing the game much closer to playable. That was the last simulation update before the dsp. I can grab mame108 at some point and check if has the same bugs. I would say we would need the dsp for any progress to be honest. This core is a royal pain for adding sound and cpu cores with the workload involved. It should be an easy port for you xbox prot though. I really wish we where 079 or above thing like this would be easy and not a big workload. |
Funny enough everytime i attempted to backport the CPU and hook it upto the game it would freeze on boot |
Its too big of a job for this core. I can look into porting it to mame084 if you want it working on the xbox the interfaces are far too different on our core, it is doable though on your ole xbox core though. It easy enough for me to compile mame 084 and run it on wine to test if its working or not. |
You'll run into a shitload of hurdles as the CPU would need to be radically reworked not to mention the driver and machine |
Right as per this commit i've tinkered with some of the code adding in the changes from MAME114 allbeit slightly modded Could one of ya's try the game with these changes to see how it goes, PS i'd do it myself but my Xbox died so im snookered. |
the new code just crashes it shows the initial text screen though. Ill try find out where is freaking out if you want that info. |
Thanks for trying it can you do so one last time 4512961 Im trying to see what the changes from MAME114 will do allbeit without the hookup to the CPU. mamedev/historic-mame@31acddd#diff-1fd6187d1054d74a109c37c5566067ee2ae99ff6c32f3c2974c3858bba0271a2 |
still crashing |
It's no biggie this TBH some user tagged me elsewhere and asked me if i could port the Virtua Racing code I thought it was worth trying out some ideas at the same time im all out now unless one of ya's can think of |
Aye nae worries then i'll revert back to the original commit |
looks like i still have the mame095 libretro source on the old pc. Might get that up and running several things need fixed in it though lost the latest version when I deleted my github account. If I get it polished up ill add it add it too github so anyone can mess about with it. |
Had quick look looks like the new dps and v60 needs updated for vr to work it needs the v60_stall that was added in the updated in 114. Also managed to get the 95 core up so test things my end for your core as well. I dont think ill be doing much with it might do the neogeo, cps and system16 updates. Dont think there is much difference in the speed of thinks from 078 but the bare bones are there if anyone ever has interested down the line. |
Yeah im aware of this i did update the model 1 code to handle the new TGP CPU and hooked up V60 stall the problem I had to change and attempt to rollback so much code to get it to compile for MAME84 i likely messed up somewhere Anyway i'll close this down |
im going to tinker with it got the v60 done at least Ill need to look a little bit more into the interface changes for the dsp think the changes where around 104 ish from a brief look at it. |
Progress eh it's a pity i always tended to dump the code i could not get to work as i had it all done eg the driver / machine There will be a few niggles to iron out which are easy enough but this is where you'll run into real trouble as MAME95 static void mb86233_init(int index, int clock, const void *config, int (*irqcallback)(int))
} |
well passing the config will defo be an issue still need to work round the interface the v60 and dsp are in this branch https://github.com/grant2258/mame2005/tree/v60. Running it you get a blue title screen and a freeze if osd_die isint implemented. I fixed up osd die and am getting this. OSD_DIE) cpu #2 uses wrong 32-bit handlers for address space 0 (should be 8-bit)! need to setup the rest of the interface just hacked in vf fifo from the driver I know its cheating! I really should also put the the rom that was originally in the driver. No for the joys of looking up the interface changes. |
I've added the MB68233 CPU and the relevent code to hook it upto model1 driver and machine i'll send ya what i have |
Ive already got tit compiling just need to hunt the interface stuff down. I didnt mean to give you a workload it just peaked my interest. Its is appreciated though! |
So you have i wish i'd seen those commits earlier it would saved me wasting an hour of my life ha ha ha oh well not to worry. |
Yea ive got it compiling fine no errors just looking at the interfacing differences atm |
looka like CPUINFO_PTR_REGISTER_LAYOUT needs done will look next weekend sick of looking at cpu interface and related code in different versions of mame! |
@arcadez2003 @grant2258 If you choose to revisit this, these cheats work, and I was able to finish levels successfully with them, in testing. I added to the cheat.dat, then deleted cheat.rzip, so they would properly update. ; [ Virtua Racing ] |
@KMFDManic Daft question did you check the dip switch options to see of there is one to increase the lap timer.?? |
@arcadez2003 having a issue here. Ive added some debugging and fixed mame validation that wasnt working. The cpu isint even calling the init function whencor the cpu when mame starts. ( and it basically the first thing that starts in mame only the resource tracking starts before it. debugging I added is here cpu_interface cpuintrf is defined here cpu info is set here results of the output All these cpus set to dummy (witch is sometime ok if a cpu isint complete) it not for me though lol.
The validation (which I had to fix) gives us the memory system bails with a which is safe to ignore since it set with the dummy cpu data. src/drivers/model1.c: vr cpu #2 uses wrong data width memory handlers! (width = 8, memory = 000c0005) Unless im reading this source wrong this should be pointing to a function that is set in cpu info structure. I dont see how this can possibly be null. Ill try look more at the weekend though. other relevant info will just keep this here so i dont forget it all and start again when I come back to it.
@KMFDManic ill have a look at your core when I get the time as well as looking into this more. |
@arcadez2003 I would have to poke around again. I opened the test menu, and was able to choose options to change there, such as difficulty, etc. But, I didn't notice any dipswitches, in my initial tests. Will check again:) @grant2258 Thanks so much for humoring me on the cpu2, etc, as it is clearly gonna make things a lot cooler:) Also, this is a bit of an anomaly. But, remember how daphne didn't work with sound? I poked around a bit, and may have worked out how to "trigger" sound in the core. If it all works out, I will update my Repo, and hopefully, others can make use of it. But, successfully tested Dragon's Lair and Space Ace, WITH sound, on Daphne Libretro Core! Lastly, I may have to check out your Repo for MAME 2005. Curious on how that will play out, once you get it off the ground:) |
@grant2258 when first starting out i used to get a similar message about memory handlers when trying to boot up the In the end it turned out i didn't know i had to declare any CPU being used by the core in a file called VCCPMAME.h EDIT check rules.mak there are HAS CPU calls in there for example https://github.com/search?q=repo%3Agrant2258%2Fmame2005%20HAS_I8051&type=code |
thanks for the updates @arcadez2003 I have done these adds. I still have the old mame files in place but te work is done in Makefile.common and the works been done in the v60 branch. i even added a check of the makefile to see what cpus where defined
i even tried removing the #if condition here. https://github.com/grant2258/mame2005/blob/4c994717a889881f4489278428759c0b4ffe5a13/src/cpuintrf.c#L875 to be double sure. The good thing is ive tracked down the failure so I know where to start looking when I have time! edit @KMFDManic the core need some polish it was a test core I done years ago the analog scaling needs tweaked but games will boot and play. This core has mirror and sharing in the memory maps so is just handy to have. It just means I can test things my end if arcadez has niggles with his xbox core as a bonus. @arcadez2003 what kind if xbox is your cor for the original or 360? |
@grant2258 latest testing..... results virtua racing Thanks again for your help with these it's a pity as i suspected Virtua Racing would take a hit on |
No problems glad it worked out in the end. I think the system18/16 mixing levels need fixed on general on the test core im using. Ill look into that dark winds always on the hunt for decent things to watch. I got my chuck delivered started eating and watching tv and fell asleep typical waste of a friday! |
Well im not really sure how i would implement the above into our ole driver as we dont have the MAME95 MAME78 static MEMORY_READ16_START( shdancer_readmem ) static MEMORY_WRITE16_START( shdancer_writemem ) /***************************************************************************/ static void shdancer_update_proc( void ){
} static MACHINE_INIT( shdancer ){
} static READ16_HANDLER( shdancer_skip_r ){ static DRIVER_INIT( shdancer ){
} I know what you mean with regards to the mem addresses but we'd then have to write some 400000-40FFFF (000000) = tile RAM |
Also the game uses the same gfx handling as Clutch Hitter and Desert Breaker those are similar to |
Well I looked at the sega thread the sega ic is available. It look likes mahoneyt944 is keen to not use the new code and use the old code for most things and the new code for things that have issues. mame2003-plus-libretro/src/drivers/segas16b.c Lines 1456 to 1466 in 32fa606
|
Yeah i know we have that code which is for the system 16 games for this game we'd also need the However there is a hack from MAME88.u1 for DD Crew and Clutch Hitter before they rewrote most |
here is rough plug guide the game should display something. The input arent done and the vdp isint pluged and ill need to look into the system18 banks but this is how you plug into the tile system. |
Im trying to plug it in via our existing system18 hookup with the addition of the system18 VDP via This will likely blowup in a million ways but there is the small chance it might just work :) |
well got the memory maps there if thats any use to you was just a quick smash up a few things will need fixed pretty sure the sound nmi is { 0xf00006, 0xf00007, sound_command_nmi_w }, |
Yeah thanks for the headsup that's the address im using here, this is what i have it's untested EDIT forgot to roll back the mem map and machine start done that now |
Just seen this but here is my update looked into the banking for this core all im drawing is the tiles and system16 sprites. all the vdp is missing. bank changes 9a61f5a Ill have a look at your code in a bit dinners about ready but will get back to you. Its probably better your way can reach more cores that way. |
It's looking good if it doesnt need the VDP then that should make things easier, as for ease of porting Someone asked if i could do that but TBH he can just use MAME84 on the xbox for that anyhow Good job as always.!!! |
does need the vpd the platforms are missing ect your codes seg faulting though ill try trace it. The sounds also not working but that can go on the back burner for now. src/vidhrdw/system16_vidhrdw.c:1419:4: runtime error: null pointer passed as argument 2, which is declared to never be null |
ok got your code up and running. The system16 sprites need fixed though ill leave that to @mahoneyt944 since he tends to use that old segas video code. Its not something I really want to waste time chasing when the newer video code works. The sound is still an issue though need to compare the maps on on your xbox core since it works there. the branch is here https://github.com/grant2258/mame2003-plus-libretro/tree/arcadez_aqua so you can see what ive changed and ill include the file update system18.c with the updates. its pretty impressive that segaic code being backported something I would consider a rabbit hole before even trying! |
The point is to fix more games than we break, my issue was never the new video code, it was pushing big full driver updates without testing all the effected games. If a person isn't willing to test for regressions (which includes significant performance drops) then it's just a burden on others. |
I managed to fixed it anyway was the region set to 16_be that was causing the issue in this core. I dont really care what video code is used to be honest. Path of least resistance works for me. The sound need looked at though. @arcadez2003 here is the update file |
This is a medical clinical response the code obviously is fine performance wise arcadez core uses the sega ic. But if the old code is going that fine too. |
The point is to use whatever code you want, just test your changes and watch for regressions. That's all. I don't care what code we use. |
It's possible that the sound rom loading from HBMAME in their original form would be good for here
Similar to some system16 games bodyslam for example...
|
yea that seems to get us sound thats one less thing to do. Seems to me the vdp isint even hooked up until you done this update might be priorities with moon walker. |
If the changes i've ported and grant has amended are good then i can assure you nothing will be broken or experience a performance drop as it's the code i've used on the Xbox for years since 2016 or so without one single user ever reporting a bug. The bonus here is the code will hang off the existing video code we have for system18 and a new |
Oh i forgot to say i grabbed the system18 changes from MAME88 and then pasted in the hacks from this changelog... This code is just before the segas18 rewrite which also uses the same VDP via segac2. |
FYI the original Moonwalker sets are using an I8051 "or one of those varients" type CPU for an extra level of protection and we dont have it. |
Cant really look intro this much tonight but will try at the weekend. Ill see if I can get this working. There are gfx glitches in the system16 for shadowdancer when you get the dog to grab someone(not related to this) there are also some of these glitches in aquario with the old system16 video code. Hopefully that can be traced. |
Sure mate we'll plod along on this there is no great hurry, i know what ya mean with Shadow Dancer In the end i decided to leave the parent set using the ole code and the two clones the new and that |
ok thats it done in dusted if anyone wants to improved the banking and the old sys16 gfx code its up to them. here is the finished goods. |
@grant2258 ported it across to the MAME106 core |
nice to see things get filtered around its thankless way to pass your time though. Ill look more into the plus port of aquario. Need to get ready for work not floods or winds prevented that monday morning fate haha. |
It occured to me that the segas32 video code was mostly adapted from pulling info from the |
Well VF is playable as the simulation of the TGP logic is good whereas VR's is incomplete hence |
Without rabbiting on here i've added support for Virtua Racing the game has two issues which i'll get to shortly this is how they fixed it...
0.114: Ernesto Corvi updated Virtua Racing to use the TGP core, based on guessing from the Daytona TGP code with some modifications needed for Virtua Racing, the real TGP program is an internal ROM and still needs dumping - Game now playable. Added MB86233 (16MHz) CPU3 and 8k TGP rom (vr-tgp.bin).
We dont have that CPU so @mahoneyt944 @MistyDreams @grant2258 do one of ya's fancy taking a look at the track logic
code i've added to model1 machine sometime with a view to maybe tweaking it to sort two issues which are preventing the game from being 100% playable....
First and most serious bug.......
The game freezes if you crash and to race again you have to do an ingame reset and start over
Im thinking it's a respawn issue with the track logic the code is either wrong or incomplete hence the game doesn't know
where to put the car back on the track after you crash hence it just stalls..
Second bug lesser of the two...
The game forces you into the pit on the second lap...
Now i've never really played this game in the arcades or home console so i dont know if this is meant to happen
i suspect not, but certainly after the wheels are changed etc etc you dont have much time to finish the lap making it difficult to win a race however it might just be the overall race time was set too low via the dips.
That's the two bugs more or less if ya's fancy taking a peek at the code it can be found in model1_machine.c f65ef6d
The text was updated successfully, but these errors were encountered: