MAMEWorld >> News
View all threads Index   Flat Mode Flat  

Bart T.
Reged: 01/07/06
Posts: 196
Send PM
Small Supermodel WIP
03/02/11 01:34 AM


It looks like there's a lot of renewed interest in Model 3 emulation Excellent news for all of us Sega fans!

My contribution for the last two weeks has been rather small. I've been very busy with real life but I did manage to figure out a few small things since the last update. I got a few new games up and running: Daytona 2, Virtua Fighter 3, and LA Machineguns.











Based on my understanding of the Model 3's SCSI controller (a well-documented part), VF3 (and Scud Race, it turns out) is either using it incorrectly, in which case it only works on the real hardware by fortuitous coincidence, or simply abusing it. It appears the programmers may have implemented single-stepping incorrectly and accidentally trigger automatic execution the very first time the SCSI controller is used. This would explain why they include an explicit interrupt (equivalent to a 'halt') command at the end of their SCSI command sequences despite single stepping. My theory is that on the actual hardware, the SCSI controller frequently hits invalid instructions, but the programmers may have never realized it. We may never know for sure but I submit that it is plausible, especially given that the SCSI controller easily recovers from such errors. If I'm correct, these findings should be directly transferable to MAME's 53C810 emulation.

VF3 is still pretty buggy. I think it largely has to do with the rather large (in magnitude) coordinates it passes to the GPU, which may be causing a loss of precision in the Z-buffer, particularly if reciprocal values are used. This is probably fixable in the shaders.

LA Machineguns is a mess right now and it uses the much-hated 2D tile encryption, rendering the HUD as a series of solid black tiles. The game is still playable, however. I have not looked at it in much detail yet, although it is one of my favorite Model 3 games, but it suffers from some unusual graphics problems, namely missing road textures (appearing magenta in the screen shots) and a lack of lighting.

I'm pretty frustrated with LA Machineguns for sending me on a wild goose chase, hence the relative lack of progress this time. The game had me convinced that Model 3's tile generator supports extended layer sizes (128x64, for example, instead of just 64x64). After a few days of banging my head against the desk, I realized it was because I was returning all 1's for an un-emulated register.

Everything works great now. On the plus side, this minor fiasco forced me to sit down and figure out the remaining mysteries of the tile generator once and for all. I now understand how scrolling works and, thanks to Charles MacDonald's fantastic work on System 24, understand that there are only two tile layers, not four as previously thought. It turns out that Model 3's tile generator is not the same as the System 24 IC (also used in Model 1 and 2) but is clearly derived from it.

Next, I plan on rewriting the 2D code and returning to figuring out remaining problems with the 3D graphics. Sadly, my fast "dirty rectangles" implementation will have to be chucked out the window in situations where hardware scrolling is used.

Lastly, I think I've got the spotlight finally working. It has intrigued me for a while and it was nice to finally sit down and work it out. I have to thank our Spanish friend Abelardo for taking the time to record videos of Scud Race for me, which were instrumental in getting this to work properly. This Youtube video also proved to be very helpful. Just goes to show you how one person's completely pointless Youtube clip can be another's most valuable




Bart







Entire thread
Subject Posted by Posted on
* Small Supermodel WIP Bart T. 03/02/11 01:34 AM
. * Re: Small Supermodel WIP Hibo  03/04/11 12:54 AM
. * Re: Small Supermodel WIP Bart T.  03/04/11 05:10 AM
. * Re: Small Supermodel WIP twistyAdministrator  03/04/11 01:10 PM
. * Re: Small Supermodel WIP Bart T.  03/05/11 03:55 AM
. * Re: Small Supermodel WIP AnimalBear  03/04/11 08:02 PM
. * Re: Small Supermodel WIP VirtuaIceMan  03/04/11 11:27 AM
. * Re: Small Supermodel WIP CiroConsentino  03/04/11 12:49 PM
. * Re: Small Supermodel WIP CptGuapo  03/03/11 12:33 AM
. * Re: Small Supermodel WIP karadaniano  03/02/11 09:30 PM
. * Re: Small Supermodel WIP jonwil  03/03/11 04:56 AM
. * Re: Small Supermodel WIP Cable  03/03/11 10:32 AM
. * Re: Small Supermodel WIP Anonymous  03/02/11 11:40 PM
. * Re: Small Supermodel WIP Cable  03/02/11 02:56 PM
. * Re: Small Supermodel WIP MAMu_  03/02/11 03:13 PM
. * Re: Small Supermodel WIP AnimalBear  03/02/11 07:45 PM
. * Re: Small Supermodel WIP Spekkio  03/02/11 12:02 PM
. * Re: Small Supermodel WIP AndyGeezer  03/02/11 11:35 AM
. * Re: Small Supermodel WIP MAMu_  03/02/11 01:53 AM
. * Re: Small Supermodel WIP Jitterdoomer  03/02/11 03:23 AM
. * Re: Small Supermodel WIP Bart T.  03/02/11 07:38 AM
. * Re: Small Supermodel WIP Outrun2006  03/02/11 08:49 AM

Extra information Permissions
Moderator:  John IV, Robbbert, Tafoid 
1 registered and 35 anonymous users are browsing this forum.
You cannot start new topics
You cannot reply to topics
HTML is enabled
UBBCode is enabled
Thread views: 5339