3D acceleration hardware

ページ 1/2
| 2

By aoineko

Paragon (1144)

aoineko さんの画像

27-04-2023, 13:52

I was wondering if there has ever been any discussion about creating a 3D card for MSX?

If the card is designed so that the program can control 3D objects with little data (like with the sprite attribute table of the V9938/58), we could make very nice games even with a Z80.

We would need an I/O interface to send the 3D information (3D models at least, or even textures and animations). This doesn't have to be super fast and could be done when the level loads. Then, we could define the attributes of the 3D objects (the mesh, its position, its angle, etc.), the position of the camera and then let the 3D card take care of generating an image (rendering the 3D objects, lighting, etc.).
I don't know much about FPGA but I guess it's possible.

You could answer me that if I want to do 3D I can do it on a modern PC (and you wouldn't be wrong ^^) but I would find it funny to be able to control such a GPU with a simple MSX1.

ログイン/登録して投稿

By wolf_

Ambassador_ (10135)

wolf_ さんの画像

27-04-2023, 14:07

Allow me to predict the amount of 3D-games the MSX scene would create with such an expansion:

By aoineko

Paragon (1144)

aoineko さんの画像

27-04-2023, 15:44

Smile

It's entirely possible that it would be a flop.
But at least it would be fun to do. ^^
And then, with MSXgl supporting it, it would at least allow C programmers to use it easily.

By edoz

Prophet (2501)

edoz さんの画像

27-04-2023, 15:48

Would be cool to have some more g9k games first Wink

By geijoenr

Champion (392)

geijoenr さんの画像

27-04-2023, 18:20

My suggestion here would be to start with just one game and then add the hardware acceleration to the cartridge for that game. Same as some Super Nintendo cartridges did with Super FX or other extensions.

If that works, then maybe you can make the accelerator available to other developers.

I guess is not that difficult to come up with something similar to Super FX using any semi-decent micro controller to render to a framebuffer, then use the Z80 to copy frames to VRAM.

The problem is that as usual, you are stepping into dangerous terrain... plugging any processor more powerful than a Z80 to an MSX is a bit of a heresy. Wink

By wolf_

Ambassador_ (10135)

wolf_ さんの画像

27-04-2023, 18:56

Regardless of that (using the MSX as a PSU), I highly doubt this scene would be able to come up with the right content. We do have a history in 2D-content, and that's fine. Let's use the v9990 first, I'd say. Each year during MSXdev'xx we have discussions regarding MSX1 vs MSX2/+/tR. Now is not a good time to talk about 3D accelerated expansions. Tongue

By aoineko

Paragon (1144)

aoineko さんの画像

27-04-2023, 22:43

wolf_ wrote:

Now is not a good time to talk about 3D accelerated expansions. Tongue

It is always good time to talk about MSX extension imho. Perhaps I'm the only you wanna play with this kind of developer toy, perhaps I'm not. Anyway, I'm a total noob in electronic so at best I can create a software specification for a 3D card but no much. So yes this thread will probably fall into the forum's limber. ^^

By st1mpy

Paladin (947)

st1mpy さんの画像

27-04-2023, 23:56

Not a 3D card but I have a 3d game engine (renderer) that runs on Android/Windows, and the game itself is written/run in a scripting language that calls the game engine's APIs.
So for this to work with MSX, you can write the game logic in MSX (even BASIC) and call the APIs (that would mean sending commands and parameters in serial or something). And all the rendering happens on the phone/PC.
The model data and things are quite large, and probably be silly to send those from msx. So they might as well be in the mass storage of the phone/pc.

By gdx

Enlighted (6445)

gdx さんの画像

28-04-2023, 09:36

I think there is no 3D card on MSX, not because of users recalcitrant to "extensions who would only use the power supply", but because we need an MSX capable of superimposing. For that, it's complicated because the MSX don't have the same video output. This is why we need a second monitor for the v9990. This dampens the interest of v9990. A 3D card was not possible without superimposition.

However, nowadays it may be possible to circumvent this problem by partially replicating the VDP of the MSX in the FPGA which would serve as the 3D card. That is to say make a VDP which react in parallel without an output port. Ie make a VDP which react in parallel without output port to avoid conflicts.

By PingPong

Enlighted (4156)

PingPong さんの画像

29-04-2023, 05:21

A more elegant solution would be a V9958 replacement FPGA like F18A is, with additional features like 3D and floating point calculations to assist the z80 and backward compatibility with older hw.
Then replace the old v99x8 with this and get what you want.

By Grauw

Ascended (10821)

Grauw さんの画像

29-04-2023, 10:06

gdx wrote:

I think there is no 3D card on MSX, not because of users recalcitrant to "extensions who would only use the power supply", but because we need an MSX capable of superimposing. For that, it's complicated because the MSX don't have the same video output. This is why we need a second monitor for the v9990. This dampens the interest of v9990. A 3D card was not possible without superimposition.

Not saying you're wrong, but remember the very first 3dfx VooDoo graphics card for PC? It was super popular, I had one too, but it didn't do 2D graphics, you had to loop your VGA card output through it.

I'm super interested in a V9990 card that superimposes, the chip supports it. I continue to hope someone will bring this feature to a V9990 cartridge, but it never seems a priority, saved for a "V2" which is then never made.

ページ 1/2
| 2