Model 3 hardware stepping

Discuss Supermodel and your favorite Model 3 games. Show off your latest threads, this is the place to see and be seen.
Forum rules
Keep it classy!

  • No ROM requests or links.
  • Do not ask to be a play tester.
  • Do not ask about release dates.
  • No drama!

Model 3 hardware stepping

Postby ferrarifan » Mon Nov 07, 2016 4:39 pm

I just researched the SEGA Model 3 and one thing i'm kinda curious about each stepping of the hardware because it increases the CPU and GPU speeds. Even though the hardware and games are emulated. Does this mean it depends on which title you play on your PC even with performance?
User avatar
ferrarifan
 
Posts: 182
Joined: Sun Mar 29, 2015 7:38 pm

Re: Model 3 hardware stepping

Postby Bart » Mon Nov 07, 2016 10:47 pm

Kind of but not really. Supermodel emulates the PowerPC at a much lower frequency than any of the steppings by default (I think it was 30-something MHz in v0.1a and now is 50 MHz or so) and it uses the same default value regardless of stepping. In fact, the reason this was done in the first place was to improve performance. I've written in other posts why this works. If you choose to run Step 2.x games at their actual 166 MHz, it will of course degrade performance. Try running with VSync and frame throttling disabled and observe the frame rate running at 50 MHz vs. 166 MHz. Modern PCs are fast enough that it doesn't matter in practice because you can achieve 60 FPS performance even with the correct PowerPC clock speed.

We don't emulate graphics chipset timing. We don't know enough about the hardware to simulate it at that level and even if we did, it would be cumbersome and unnecessary resulting in an extremely slow emulation done entirely in software. The graphics hardware is basically a black box. We know the data and commands fed into it and we know what the rendered output should look like. We try our best to use OpenGL to render frames that look as visually similar as we can get them. The actual process doesn't resemble what happens on the Real3D hardware at all but it doesn't matter if the results are indistinguishable.

Higher steppings will tend to push more polygons and more complex scenes. A Step 2.x game like Daytona USA 2 is indeed more performance intensive than Virtua Fighter 3 (Step 1.0) or Lost World (1.5), if only because it is rendering more triangles. There are also some small differences in how data is laid out between Step 1.0 and 1.5/2.x, but nothing major. As with the PowerPC, any modern computer with a GPU from the last ~4-5 years is plenty powerful enough that the difference between emulating Step 1.x and 2.x games is generally imperceptible.
User avatar
Bart
Site Admin
 
Posts: 2347
Joined: Thu Sep 01, 2011 2:13 pm
Location: Santa Clara, California

Re: Model 3 hardware stepping

Postby ferrarifan » Mon Nov 07, 2016 10:51 pm

Thanks for the info. :) I was making sure if has to do with performance on a PC.
User avatar
ferrarifan
 
Posts: 182
Joined: Sun Mar 29, 2015 7:38 pm

Re: Model 3 hardware stepping

Postby ferrarifan » Mon Nov 07, 2016 10:52 pm

Can i tell you something?
User avatar
ferrarifan
 
Posts: 182
Joined: Sun Mar 29, 2015 7:38 pm

Re: Model 3 hardware stepping

Postby Ian » Tue Nov 08, 2016 5:24 am

ferrarifan wrote:Can i tell you something?


You just did ? :)
The question is kinda interesting. Currently the default is to run all games regardless of stepping at the same CPU frequency. To emulate this performance is consistent, and requires a set amount of CPU to emulate. To emulate a higher clock speed requires a faster CPU. I think my pc can handle 100mhz quite happily, but anything higher than that it starts to get slow.

Most games run happily at 50mhz, I think it's only emergency call ambulance that I've noticed that really needs a faster CPU. If you are running the emulator with a CPU speed below what it should be, the emulated games can run slower and start to drop frames. This is different to running the CPU with a higher clock speed and it going slow. In the former the emulator doesn't have enough CPU to run smoothly, in the latter its your own CPU which can't run the emulator at full speed.

The GPU is different. Its HLE or high level emulation. There are no clock speeds. It simply renders whatever you give it. To the emulator, it never drops frames or gets slow. The real hardware might struggle with certain scenes, either dropping frames or simply taking longer to render. These kinds of slow downs won't show up with our HLE emulation, because we aren't emulating at that level.
Ian
 
Posts: 1646
Joined: Tue Feb 23, 2016 9:23 am

Re: Model 3 hardware stepping

Postby terminento » Tue Nov 08, 2016 6:21 am

I myself am more thn happy to have the emulator operate over the technical limitations the games had at their release. Having seen a video by Abelardator, in which he plays Star Wars Trilogy, I was shocked to see the incredibly noticeable LOD popping distance during the trench run compared the one when playing it in the emu. I guess this is due to memory limitations in the original hardware forcing it to stream smaller chunks of data to the VRAM or something like that.
Thus, thaks to the emulator, an issue from the original game is no more. Yay!

It's like when emulating FPS problematic PSX, PSP or N64 games with a powerful enough computer: since the computer has more than enough power, FPS drops rarely occur. Goldeneye comes to mind.
User avatar
terminento
 
Posts: 181
Joined: Fri Jun 15, 2012 8:08 am

Re: Model 3 hardware stepping

Postby Bart » Tue Nov 08, 2016 8:32 am

terminento wrote:I myself am more thn happy to have the emulator operate over the technical limitations the games had at their release. Having seen a video by Abelardator, in which he plays Star Wars Trilogy, I was shocked to see the incredibly noticeable LOD popping distance during the trench run compared the one when playing it in the emu. I guess this is due to memory limitations in the original hardware forcing it to stream smaller chunks of data to the VRAM or something like that.


The way LOD works on Model 3 is pretty cool. Real3D provided hardware-level support for LOD.

Some background: On modern 3D hardware, you basically upload arrays of triangles that define your meshes and, on each frame, a 4x4 transformation matrix per mesh that controls its position/orientation/size in 3D space; and that's what gets rendered (ignoring shaders and all that fancy jazz). The Real3D chipset operated on a higher level (it contained some sort of a custom microcoded scene graph processor). The CPU could upload meshes, just as 3D applications do today, but it also provided a higher-level representation of the entire scene: a hierarchical data structure where each level contains a matrix that describes how each level is positioned relative to its parent. Additionally, the final level would indicate which mesh to render.

Usually, this final level is an ordinary mesh node, which contains the address of the mesh to render. But there is also a 4-way LOD node, which specifies 4 different meshes to render, with the hardware making the decision depending on distance from and angle relative to the camera. This is used in many games. However, we never understood how the LOD parameters were defined, so we had no choice but to always render one of the 4 meshes (the most detailed).

A few other bits of trivia:

1. I talked about meshes being uploaded but in fact, Model 3 had very limited memory for this. Only about a megabyte or so. Very few meshes are uploaded this way. The Scud Race and Daytona vehicles (but only the player's) are uploaded because they can be dynamically deformed. But nearly everything else is actually stored in VROM and the VROM is directly connected as a memory region to the Real3D. The CPU can't even see the VROM -- it just passes VROM addresses of meshes and textures to the Real3D, which then can fetch them directly when it needs them.

2. Although 4 LODs are possible, I've never seen more than 2 models used in Model 3 games. Three of the LOD slots are always pointing to the same model (either the high or low-detail one, I forget).

3. Some games still have the CPU handle LOD. It's not clear to me why but I suspect either the LOD feature came with some performance penalty, the programmers were initially unfamiliar with it and ended up rolling their own for convenience, or both. A good example is Scud Race. If you look closely, you'll see that AI cars turn into simple blocks at a certain distance and then suddenly pop into their more detailed form as you get closer. Supermodel doesn't emulate Real3D automatic LOD, so what you're seeing is the game logic handling this on its own. However, the hardware LOD feature *is* still used in Scud Race. The parked airplanes on the airport level are one example as is the stone head on the mountain course. I'm sure there are loads of other examples, too. Supermodel just renders all of these at the highest detail level regardless of distance.
User avatar
Bart
Site Admin
 
Posts: 2347
Joined: Thu Sep 01, 2011 2:13 pm
Location: Santa Clara, California

Re: Model 3 hardware stepping

Postby ferrarifan » Tue Nov 08, 2016 10:41 am

Ian wrote:
ferrarifan wrote:Can i tell you something?


You just did ? :)
The question is kinda interesting. Currently the default is to run all games regardless of stepping at the same CPU frequency. To emulate this performance is consistent, and requires a set amount of CPU to emulate. To emulate a higher clock speed requires a faster CPU. I think my pc can handle 100mhz quite happily, but anything higher than that it starts to get slow.

Most games run happily at 50mhz, I think it's only emergency call ambulance that I've noticed that really needs a faster CPU. If you are running the emulator with a CPU speed below what it should be, the emulated games can run slower and start to drop frames. This is different to running the CPU with a higher clock speed and it going slow. In the former the emulator doesn't have enough CPU to run smoothly, in the latter its your own CPU which can't run the emulator at full speed.

The GPU is different. Its HLE or high level emulation. There are no clock speeds. It simply renders whatever you give it. To the emulator, it never drops frames or gets slow. The real hardware might struggle with certain scenes, either dropping frames or simply taking longer to render. These kinds of slow downs won't show up with our HLE emulation, because we aren't emulating at that level.
Consoles today have the ability to do larger polygons. SEGA should do Model 3 ports but since they haven't done it recently. That's the most part i'm concerned because many SEGA arcade exclusives haven't been released on other platforms.
Last edited by ferrarifan on Tue Nov 08, 2016 1:13 pm, edited 1 time in total.
User avatar
ferrarifan
 
Posts: 182
Joined: Sun Mar 29, 2015 7:38 pm

Re: Model 3 hardware stepping

Postby solitarius576 » Tue Nov 08, 2016 10:46 am

Bart wrote:1. I talked about meshes being uploaded but in fact, Model 3 had very limited memory for this. Only about a megabyte or so. Very few meshes are uploaded this way. The Scud Race and Daytona vehicles (but only the player's) are uploaded because they can be dynamically deformed. But nearly everything else is actually stored in VROM and the VROM is directly connected as a memory region to the Real3D. The CPU can't even see the VROM -- it just passes VROM addresses of meshes and textures to the Real3D, which then can fetch them directly when it needs them.


This is like in older arcade boards and old consoles where even the program was executed directly on the rom, I wonder why they needed to transfer the program into ram on model3, maybe slow execution from rom?
Another question, does sega model 2 have or not texture filtering?, wherever I looked I found contradictory information. With Namco I know that their first platform with texture filtering was System Super 23, but with Sega I don't know if it's Model 2 or Model 3.
solitarius576
 
Posts: 27
Joined: Thu Oct 20, 2016 10:33 pm

Re: Model 3 hardware stepping

Postby ferrarifan » Tue Nov 08, 2016 10:48 am

Gunblade NY & LA Machineguns are ports of the arcade versions on a home console. Why they should port other SEGA arcade only exclusive titles? Well because the Wii and compared to consoles today are powerful. Also games like SCUD Race is to awesome that got left in the arcades,especially other arcade only titles. But, if SEGA is working on Model 3 ports, doesn't need a emulation code. They just need the actual source code of the hardware. I'm no expert about hardware. I think the reason why certain arcade games are arcade only because of it's short length. Most arcade games aren't that long but some ports will require more game modes like Daytona USA on PSN and XBLA has more features than the original.
User avatar
ferrarifan
 
Posts: 182
Joined: Sun Mar 29, 2015 7:38 pm

Next

Return to The Catwalk

Who is online

Users browsing this forum: No registered users and 10 guests