VOGONS


Reply 41 of 47, by fragmentfi

User metadata
Rank Newbie
Rank
Newbie

Been fiddling with the card in Windows 95 for a few evenings now with not much progress. I can run the SDK demos but nothing else.

It is actually more convenient to use two monitors instead of the pass-through. When a demo is running, Windows is still running on the other monitor and the demo's console window with the keys usable in the demo is visible.

The .dll included in the SDK has description "DirectX 5 Driver". Later driver versions only say "DirectX Driver". dxdiag (in DX 6.1) doesn't list Pyramid drivers under "DirectX drivers". dxdiag shows Pyramid as a display device but the tests run on the onboard S3.

Windows 95 doesn't really support multiple graphics cards. If I disable the onboard S3 in device manager, the Pyramid will also report "not working correctly".

Maybe I'll get back to getting it work on the NT4 machine.

I wonder if Chadti99 has had any progress?

Reply 44 of 47, by fragmentfi

User metadata
Rank Newbie
Rank
Newbie

Today I worked on getting the SDK demos captured. Since the USB3HDCAP didn't like the VGA signal, I realized I could try passing it through my Extron VSC700 video scan converter. Unfortunately it did not like the small (512x384) resolution either.

I decided to try to change the resolution of the demos to 640x480 and set the refresh rate to 60hz. I did some reverse engineering and found out some logic that affects the resolution selection inside the DEMO.DLL binary. The Torus, Warrior and Eagle demos have a data file DATA.DAT, which contains all the data files concatenated. Inside there is an ASCII settings file, DEFAULT.PAR, which contains some parameters for the demo engine. By replacing a mysterious "-5" with a newline, the demos run in 640x480 60hz!

The "Game" demo is built on a different codebase and had the resolution hardcoded instead. The bytes in PYRA3D.EXE at offset 0x31ac04 are "00 02 00 00 80 01 00 00" and need to be changed to "80 02 00 00 e0 01 00 00". This changes the resolution from 512x384 to 640x480. Interestingly the refresh rate also changes from 73hz to 60hz.

USB3HDCAP still didn't sync with the signal but now VSC700 did. It basically converts the VGA signal to component video. Would be nice to capture the original sharpest pixels but this is better than nothing. Now that the demos also work on my old LCD, the better option might be to film the screen with a camera. Or maybe someone else in the future can get the captures done with a different hardware with help from these changes.

Here are quick captures of Eagle and Warrior. The aspect ratio is wrong and there are some video interlacing artifacts visible.
pyramid3d_demos.jpg
The lighting looks great but is all baked and static. The titular characters have some nice environment mapping shininess and the eagle is sitting on a pile of.. bump.

I'll get video captures of the demos soon.

Reply 46 of 47, by DrAnthony

User metadata
Rank Newbie
Rank
Newbie
fragmentfi wrote on 2024-01-27, 23:03:
Today I worked on getting the SDK demos captured. Since the USB3HDCAP didn't like the VGA signal, I realized I could try passing […]
Show full quote

Today I worked on getting the SDK demos captured. Since the USB3HDCAP didn't like the VGA signal, I realized I could try passing it through my Extron VSC700 video scan converter. Unfortunately it did not like the small (512x384) resolution either.

I decided to try to change the resolution of the demos to 640x480 and set the refresh rate to 60hz. I did some reverse engineering and found out some logic that affects the resolution selection inside the DEMO.DLL binary. The Torus, Warrior and Eagle demos have a data file DATA.DAT, which contains all the data files concatenated. Inside there is an ASCII settings file, DEFAULT.PAR, which contains some parameters for the demo engine. By replacing a mysterious "-5" with a newline, the demos run in 640x480 60hz!

The "Game" demo is built on a different codebase and had the resolution hardcoded instead. The bytes in PYRA3D.EXE at offset 0x31ac04 are "00 02 00 00 80 01 00 00" and need to be changed to "80 02 00 00 e0 01 00 00". This changes the resolution from 512x384 to 640x480. Interestingly the refresh rate also changes from 73hz to 60hz.

USB3HDCAP still didn't sync with the signal but now VSC700 did. It basically converts the VGA signal to component video. Would be nice to capture the original sharpest pixels but this is better than nothing. Now that the demos also work on my old LCD, the better option might be to film the screen with a camera. Or maybe someone else in the future can get the captures done with a different hardware with help from these changes.

Here are quick captures of Eagle and Warrior. The aspect ratio is wrong and there are some video interlacing artifacts visible.
pyramid3d_demos.jpg
The lighting looks great but is all baked and static. The titular characters have some nice environment mapping shininess and the eagle is sitting on a pile of.. bump.

I'll get video captures of the demos soon.

Wow, I'd love to see video of that. I know a lot of the effects are baked in there, but that looks seriously advanced feature wise for the era. Shame nothing commercial ever came of that chipset.

Reply 47 of 47, by fragmentfi

User metadata
Rank Newbie
Rank
Newbie

Finally got the captures done. I got the OSSC to get the VGA signal converted and line-doubled into HDMI and then captured that with the USB3HDCAP.

I also put the card in my 600MHz PIII Windows 98 machine as the P133 I was testing with was quite underpowered.

Demos captured are Eagle, Warrior and Torus. I'm cycling through the different materials manually in Torus with the F1..F8 keys. Game demo crashes with my card and so I can't get a full capture currently.

https://www.youtube.com/watch?v=xzP4R94k2lk