Page 1 of 1

TRUE Model 3 specs?

PostPosted: Wed Jul 12, 2023 6:48 am
by Gabbyjay
Hello!

I was wondering for a long time about the true specs of the specs for the different Model 3 revisions.
There is a lot contradictory information out there, and I would love if someone here could clear it up for me.

Segaretro does list detailed informations here: https://segaretro.org/Sega_Model_3#Tech ... ifications
But I really doubt all of it is true!
They list sources for it, but having a closer look, it seems those sources do not confirm what they say a lot of times. O_O

Examples / Questions:

1) They claim Model 3 Step 2 uses 6 (!) Real3D Pro-1000 systems (which they say could render 6 million Polys/s with all effects!).
When I have a look at the PCB, it seems there are only 2 of those Real3D systems present, as there were in the other revisions of the board.
Of course each Real3D-unit is composed of several chips, so maybe that's where they got confused?
This thread seems to confirm what I say: viewtopic.php?f=7&t=1817
So... what is true?

2) The clockrate for the Real3D: It is listet on Segaratro as 50 MHz for Step 1, 66 MHz for Step 1.5 and then back down to 50 MHz for Step 2. O_O
Reading here in the forums, 66 MHz for Step 2/2.1 seems more likely.
I mean if anything, they would upgrade it instead of downgrading it again... so...
Who knows more?

3) Is there a step 1.5 revision or not?
Several pages list it (and Scud Race is supposed to use it).
In Mame's Model3.cpp-File, it lists 1.5 as having upgraded specs over 1.0, but later it says there does not seem to be a Step 1.5 and both their CPUs run at 66 MHz, not 100 MHz as it's supposed to be for Step 1.5.
So... is there an upgraded step 1.5 or not?


Last but not least:
4) Is there ANY detailed information about Real3D Pro's Anti Aliasing other then the few lines mentioned in the product description file?
There it says, it uses polygon edges to calculate the final color of the pixel (which seems to work like Multisampling-Antialiasing).
And I remember somewhere else, this is done at 16 locatons O_O which would be 16x MSAA (which I highly doubt).
Does any Model 3 game even uses this kind of Anti-Aliasing?
Who can enlighten me?


Cheers and thanks!

Re: TRUE Model 3 specs?

PostPosted: Wed Jul 12, 2023 11:46 am
by Bart
Gabbyjay wrote:Hello!

I was wondering for a long time about the true specs of the specs for the different Model 3 revisions.
There is a lot contradictory information out there, and I would love if someone here could clear it up for me.


It's confusing and I haven't tried very hard to figure out what's going on but should be possible from IC part numbers on the different games.

1) They claim Model 3 Step 2 uses 6 (!) Real3D Pro-1000 systems (which they say could render 6 million Polys/s with all effects!).
When I have a look at the PCB, it seems there are only 2 of those Real3D systems present, as there were in the other revisions of the board.
Of course each Real3D-unit is composed of several chips, so maybe that's where they got confused?
This thread seems to confirm what I say: http://www.supermodel3.com/Forum/viewto ... f=7&t=1817
So... what is true?


These sites get their info from old marketing materials, which are confusing and imprecise. I also think there's a bit of a "telephone game" effect going on here over the years.

Model 3 does not feature 2 Real3D Pro-1000's. Model 3 is itself a modified Pro-1000 image generator, which also had a PowerPC-based CPU board for driving the graphics system and communicating with a Windows host PC via SCSI. The claim of "2 Pro-1000s" is probably referring to the number of pixel processors, which is variable. Model 3 includes 2 of these. I *think* some Pro-1000's could have more but I'm not sure. Model 3 seems to differ in a number of ways:

1) It is locked to a lower resolution (496x384) and a particular frame rate (57.5Hz).
2) It has 2D tile generator hardware taken from Sega's System 24 (and also used on Model 2) for 2D graphics. Pro-1000 probably had an accessible frame buffer. This may still be present in some form on Model 3 but no game uses it and we don't know how it would be accessed.
3) Less RAM. Pro-1000's polygon RAM was expandable with RAM cards.
4) The presence of an audio system on Model 3, including a second CPU (68K) and the two SCSPs.
5) All the various glue logic and connectors to support inputs and other board expansions (like the DSB and drive boards).
6) The 3D subsystem may have a different arrangement of processors and internal RAM (frame buffer, depth buffer, etc.) but I am not sure of the details. I *think* it has the same number of pixel and geometry processors as a baseline Pro-1000?

2) The clockrate for the Real3D: It is listet on Segaratro as 50 MHz for Step 1, 66 MHz for Step 1.5 and then back down to 50 MHz for Step 2. O_O
Reading here in the forums, 66 MHz for Step 2/2.1 seems more likely.
I mean if anything, they would upgrade it instead of downgrading it again... so...
Who knows more?


No idea. Should be possible to determine from looking at the oscillators present on the boards.

3) Is there a step 1.5 revision or not?
Several pages list it (and Scud Race is supposed to use it).
In Mame's Model3.cpp-File, it lists 1.5 as having upgraded specs over 1.0, but later it says there does not seem to be a Step 1.5 and both their CPUs run at 66 MHz, not 100 MHz as it's supposed to be for Step 1.5.
So... is there an upgraded step 1.5 or not?


Yes, there is. As far as we can tell, the CPU board is virtually the same as Step 1.0 but online specs claim it is clocked higher at 100MHz. I haven't verified that but assume it is true. The key difference is in the Real3D chipset. There are differences in the culling node layout and vertex format:

Step 1.0 -> Culling nodes are 8 words, vertices are encoded in 13.11 fixed point format
Step 1.5+ -> Culling nodes are 10 words (extra words include model scale parameter and texture offset parameters used in e.g., the Scud Race car select screen), vertices are encoded in 17.7 fixed point format
Step 2.0 -> Same as 1.5

Is it possible Step 1.5 is just a Step 1.0 CPU board with Step 2.0 video board? Maybe. But I don't think so. Two more pieces of evidence. There is a PCI ID that is returned from what we believe is the Real3D config space and it differs between 1.x and 2.x. It's not clear who is returning this value (a chip on the video board or some interface on the CPU board) but it is the same for 1.0 and 1.5 games, different for 2.x, despite 1.5's video hardware using slightly different data formats as described above.

Code: Select all
  // Initialize Real3D
  int stepping = ((game.stepping[0] - '0') << 4) | (game.stepping[2] - '0');
  uint32_t real3DPCIID = game.real3d_pci_id;
  if (0 == real3DPCIID)
  {
    real3DPCIID = stepping >= 0x20 ? CReal3D::PCIID::Step2x : CReal3D::PCIID::Step1x;
  }
  GPU.SetStepping(stepping, real3DPCIID);


And then there is the fact that Real3D ASIC ID codes differ between Steps 1.0, 1.5, and 2.x, which is the next best piece of evidence for the existence of a Step 1.5 video board, after the culling node layout difference:

Code: Select all
  // Set ASIC ID codes
  m_asicID.clear();
  if (step == 0x10)
  {
    m_asicID = decltype(m_asicID)
    {
      { ASIC::Mercury,  0x216c3057 },
      { ASIC::Venus,    0x116c4057 },
      { ASIC::Earth,    0x216c5057 },
      { ASIC::Mars,     0x116c6057 },
      { ASIC::Jupiter,  0x116c7057 }
    };
  }
  else if (step == 0x15)
  {
    m_asicID = decltype(m_asicID)
    {
      { ASIC::Mercury,  0x316c3057 },
      { ASIC::Venus,    0x216c4057 },
      { ASIC::Earth,    0x316c5057 },
      { ASIC::Mars,     0x216c6057 },
      { ASIC::Jupiter,  0x316c7057 }
    };
  }
  else if (step >= 0x20)
  {
    m_asicID = decltype(m_asicID)
    {
      { ASIC::Mercury,  0x416c3057 },
      { ASIC::Venus,    0x316c4057 }, // skichamp @ pc=0xa89f4, this value causes 'NO DAUGHTER BOARD' message
      { ASIC::Earth,    0x416c5057 },
      { ASIC::Mars,     0x316c6057 },
      { ASIC::Jupiter,  0x416c7057 }
    };
  }


Step 2.1 is the bigger mystery and I'm not sure where it originates from. I believe this is not named on any board but these web sites claim some of the latter games released are "Step 2.1." We see no indication of such a thing and if memory serves, people have reported that alleged Step 2.1 video boards are interchangeable with Step 2.0 games, so it may not exist at all.

Last but not least:
4) Is there ANY detailed information about Real3D Pro's Anti Aliasing other then the few lines mentioned in the product description file?
There it says, it uses polygon edges to calculate the final color of the pixel (which seems to work like Multisampling-Antialiasing).
And I remember somewhere else, this is done at 16 locatons O_O which would be 16x MSAA (which I highly doubt).
Does any Model 3 game even uses this kind of Anti-Aliasing?
Who can enlighten me?


I assume all games use anti-aliasing. I don't even know if it can be turned off (although we have recently discovered some JTAG bits that may control features like this). I don't think we explicitly emulate anti-aliasing (certainly the legacy renderer does not).

Re: TRUE Model 3 specs?

PostPosted: Wed Jul 12, 2023 2:07 pm
by Ian
The anti aliasing as far as I know only anti aliased the edge of polygons. Probably similar to how line or polygon anti aliasing works in opengl 1. I don't know the exact algorithm they used but they basically generate extra samples and blend these with whatever is behind them.

But anti aliasing is only sparingly applied. There is a special flag in the polygon headers to turn it on. Most polygons have it turned off. I know scud uses it in a few places. This is currently unemulated but we can render at a higher resolution anyway.

Re: TRUE Model 3 specs?

PostPosted: Fri Jul 14, 2023 4:46 am
by Gabbyjay
Thank you for the replies! This is very interesting.

And yes, I am abolutely under the impression of this "telephone"-game thing going on.
Someone publishes specifications with a lot of mistakes in them, or they are completely unconfirmed in any way. I mean I extensively looked through a lot of the sources they give, and several are not even related to their claims at all. And then other websites just take it at face value and republish this... and people use it in the forums as if they would really know... I'm glad I asked here.

It seems some parts of Model 3 are still a mystery. But that makes it interesting, doesn't it... :)

Perhaps the assumption of "Two Real3D Pro-1000s" stems from those two rasterisation pipelines that seem to be present on the video board?
I did not even know the WHOLE System is the Real3D pro, including the CPU-board and everything... so thanks for clearing that up.

Model3man says in the annotated boards thread viewtopic.php?f=7&t=1817 that Step 2 uses a 33 MHz oscillator, so the video board for Step 2 may be 66Mhz as well (instead of 50 MHz as in Step 1).



Regarding the Anti-Aliasing, I could find only very limited information.
Here https://retrocdn.net/images/7/75/Real3D ... iption.pdf
it says:
"The REAL 3D PRO-1000 uses a unique high-speed hardware anti-aliasing technique. The
display is calculated at the same resolution as the pixel resolution. Polygon edge crossings
are used to process and filter the image to generate a high-quality anti-aliased image. The
result of edges of different surfaces cutting through the pixel will be weighed and the pixel
colored accordingly."

That reminded me a bit of Multisampling AA, but then it seems to be some kinda s-buffer post processing:

"the PRO–1000 incorporates anti-aliasing performed as a post
process on the final visible pixel data. This patent-pending anti–aliasing algorithm
produces superior images at a fraction of the performance penalty and hardware costs
associated with subpixel anti–aliasing."

Well... I'm not sure now...
This could be read as "it is a special solution that does work differently from subpixel-AA and so, it does not have its performance costs!"
or: "our subpixel-AA does not have the performance-cost of the other subpixel-AA-methods out there."
I wonder how it works...



Do you guys know how many polygons Model 3 (and Model 3 Step 2) can effectively render?

It says in the aforementioned document:
"Each REAL 3D PRO-1000 system can process up to 33,000 polygons at 30 Hz or
16,500 polygons at 60 Hz."

That would be about ~1 Million polygons per second, which seems a bit low.

Re: TRUE Model 3 specs?

PostPosted: Tue Jul 18, 2023 7:32 pm
by Bart
No idea about the render limits. Would be fun to test on real hardware. If I can build a PC->Model 3 link cable, I'd test that. I'm able to run code on the Model 3 boards but right now, it's via programming EPROMs, which is extremely cumbersome and damages the sockets. A million sounds about right -- I recall hearing that number tossed around in contemporary gaming magazines. It was a very impressive figure in the mid-90's.