(WIP) Small Supermodel WIP - 模擬器

Joe avatar
By Joe
at 2011-03-02T19:25

Table of Contents

2011.03.02

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.

http://i20.photobucket.com/albums/b244/trzy/WIP_03012011_0.png
http://i20.photobucket.com/albums/b244/trzy/WIP_03012011_5.png
http://i20.photobucket.com/albums/b244/trzy/WIP_03012011_2.png
http://i20.photobucket.com/albums/b244/trzy/WIP_03012011_3.png
http://i20.photobucket.com/albums/b244/trzy/WIP_03012011_4.png

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

http://i20.photobucket.com/albums/b244/trzy/WIP_03012011_1.png
______________________________________________________________________________

來源:http://www.mameworld.info/ubbthreads/showflat.php?Number=247743

--

All Comments

Skylar DavisLinda avatar
By Skylar DavisLinda
at 2011-03-06T00:08
Wow!!看來SOFE不遠了...

(Rom Management) ClrMamePro v3.137d

Liam avatar
By Liam
at 2011-03-02T19:17
2011.03.02 eerm...ok...trimming is bad...small fix... - fixed: removed trimming of xml attribute values for now since it disallow ...

吞食天地Ⅱ亂世英雄傳 簡易流程攻略(八)

Agatha avatar
By Agatha
at 2011-03-02T19:13
就在曹操自立為帝後不久,便開始著手一連串的對蜀軍事部署。他雖然已身居九五之位、 麾下何止百萬,在中原已經沒有足可批敵的對手,但強烈的企圖心並沒有讓他因此而得到 滿足,他想要更大的成就來填補那飢渴的野望。於是,曹操的下一個目標,就是透過武力 手段統一整個大陸,讓自己成為這片土地上貨真價實的唯一霸者。 ...

wxMupen64Plus v0.1

Noah avatar
By Noah
at 2011-03-02T12:51
https://bitbucket.org/auria/wxmupen64plus/wiki/Home wxMupen64Plus v0.1 is released. wxMupen64Plus is a Frontend for the N64 Emulator Mupen64Plus. It is av ...

DSP Emulator v0.11b1 WIP (2011/03/01)

Kama avatar
By Kama
at 2011-03-02T12:49
http://code.google.com/p/dsp-emulator/ DSP Emulator v0.11b1 WIP (2011/03/01) is released. DSP Emulator is a new version of the ZX SPECTRUM +3, ZX Spectrum ...

M1.XML 20110228

Isla avatar
By Isla
at 2011-03-01T23:24
http://mameload.mameworld.info/ M1.XML 20110228 is released. M1.XML file for use with M1 - keeping up with changes in MAME.M1 plays the music from arcade ...