
That way the hardware can read simultaneously from both memory banks. On the model3, if the base texture is on memory bank 1, the microtexture is on top left of membank 2. They exist in the top left of the texture sheets. I see in the notes for the model2 they are also struggling with this problem since they are going with fixed clipping planes and fudging things to get geometry between 0-1 to show up. That way you get almost no Z fighting or clipping. Best I could work out the hardware is first clipping all the geometry in the scene by 4 clipping planes (up/down/left/right) then using the znear/zfar data from the culling phase to dynamically set the near/far clipping planes. The model3 also uses a 24bit z buffer, and most of the games use a really extreme range of values of coordinates which are impossible to draw with fixed clipping planes without some sort of clipping and or Z fighting. The model3 also doesn't pass near/far clipping planes.

Maybe fixed on later h/w revisions but probably not.
MAME OS X SAVE STATE DRIVERS
I wrote a solution for this in hardware, but it didn't work on AMD cards since the drivers don't properly implemented custom attribute interpolation from geometry shaders. If you try and render by just splitting into triangles you can get some distorted texture coordinates and possibly Z problems if the quad is non planar. The hardware natively draws quads, it doesn't split them into triangles. Few things I learned from model3 emulation which may be applicable to model2. I'm not really sure I'd say this was MAME being classic MAME, because we did miss the boat with this stuff a long time ago so it's more MAME playing catch-up, but it is cool news all the same.
MAME OS X SAVE STATE CODE
I'm glad to see this progress in MAME anyhow, although I suspect the original research that happens with these will actually be at odds with what end users want as the most likely area in which MAME is likely to offer something the existing emulator doesn't is in running all the TGP code rather than HLEing most of it (the recent decaps at least put this on the horizon) unfortunately that is likely to have a significant performance cost.
MAME OS X SAVE STATE PC
The technology curve, and general decline of arcades and migration towards almost entirely PC based hardware meant we saw less of that over time, and the failure to integrate the MESS stuff earlier didn't help matters IMHO as that was one area in which there was a lot of potential for MAME to continue to be seen to be doing original research on previously unemulated platforms (which is happening now, and generating a fair bit of interest) MAME established a lot of it's good reputation by doing original research and being the first emulator for a variety of platforms as well as providing more refined / higher quality emulation of a number of things other emulators were doing, usually within a short timeframe of the standalones appearing. It has been a bit of a problem for more recent systems, yes. Attempt to fixing Sky Target gameplay speedĬurrently only two games (Motor Raid, Virtua Fighter 2) are playable, but it's just start. Fixed Motor Raid and Virtua Fighter 2 (Games now playable) Fixed black screen in Zero Gunner (Export, Model 2A) Avoid Daytona USA with master controller to crash Workaround hardlocks in Fighting Viper and Sonic Championship Fixed obc = 0 case for Cyber Troopers Virtual-On and Gunblade NY Added inputs to bel, gunblade, overrev, sgt24h, skytargt and von.

Added dipswitch bank (Zero Gunner Debug mode). Fixed untextured path colors (Motor Raid, Daytona USA) (video\model2rd.hxx) Added fmul abs multi opcode (used by Gunblade NY) (sharc\compute.hxx, sharc.h and sharcops.hxx)

Fixes graphical glitches in Virtual-On, Gunblade NY, Dead or Alive, Sonic the Fighters, Rail Chase 2, Virtua Fighter 2 and Desert Tank. In geo mode 2 & 3 normals are skipped for every triangle/quad. Stateized float_to_zval, fixed z code (video\model2.cpp). Added xhout and xvout register callbacks (video\segaic24.cpp), and hooked them up to Model 2 driver, fixing 3D viewport positions. Added Rn = Rn FDEP Rx BY : opcode, used by Last Bronx for a vital geometrizer function (cpu\sharc\sharcops.hxx). Bump renderer max polygons to 0x10000 (includes\model2.h) Fixes crashes for desert, overrev, pltkids, sgt24h, skytargt and zerogun. Work around for 'ld rN, (rN)' read on FIFO. Added geo dasm dump and trilist to a custom debugger command Standardized protection accessors for Model2/3 315-5881 device New Working games: Motor Raid - Twin and Virtua Fighter 2
