PowerVR Fun Thread

Discussion about old graphics cards, monitors and video related things.

Re: PowerVR Fun Thread

Postby Scali » 2016-8-29 @ 07:51

I got SGL to work in Windows, and wrote some simple code with it: https://www.youtube.com/watch?v=azfQHgUKOrk
Do you have the SDK? I believe it is posted here on Vogons somewhere.
I can give you my code, so you can play around with it (Visual C++ 6.0): https://www.dropbox.com/s/2ir10zpnbp27lj5/SGL.zip?dl=0
Scali
l33t
 
Posts: 3619
Joined: 2014-12-13 @ 14:24

Re: PowerVR Fun Thread

Postby Tuxality » 2016-8-29 @ 10:36

Scali wrote:I got SGL to work in Windows, and wrote some simple code with it: https://www.youtube.com/watch?v=azfQHgUKOrk
Do you have the SDK? I believe it is posted here on Vogons somewhere.
I can give you my code, so you can play around with it (Visual C++ 6.0): https://www.dropbox.com/s/2ir10zpnbp27lj5/SGL.zip?dl=0


Ah, you misunderstood my previous post. I've written some code for SGL Direct including MiniGL (OpenGL DLL reimplementation which wraps using SGL Direct) which I mentioned here in my previous post by using SDK posted on VOGONS under both VC++6.0 and MinGW.

The problem is that I can't make SGL to run (execute) under Windows on my emulated PCX2 card in PCem. :) It works on real card, but on emulated even if I respond correctly to all registers, initialize correctly IO memory mapped region they still don't work - executing any SGL application crashes with message that SGL.dll wasn't loaded. It's the problem in DllMain in SGL.dll that loads dynamically PVROS which gives SGL interface with use of SGLMID5, it seems that I'm missing some early register and it makes driver go to different code path that makes SGL not working. SGL for DOS (Tomb Raider) is more simple and is working good, because writes to good registers and populates VRAM with texture data, waits for "is render completed" command and then continues etc. Haven't tried Direct3D on emulated PCX2 under PCem though.
User avatar
Tuxality
Newbie
 
Posts: 57
Joined: 2011-8-15 @ 13:58
Location: Poland

Re: PowerVR Fun Thread

Postby Stiletto » 2016-8-29 @ 12:36

Thanks for the status update, always nice to hear from you Tuxality :)
"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen

Stiletto
User avatar
Stiletto
l33t
 
Posts: 4133
Joined: 2002-7-01 @ 21:57

Re: PowerVR Fun Thread

Postby leileilol » 2016-8-29 @ 21:22

I couldn't get my emulation to get the driver to work either (not even with debug drivers), and plus pressing the alt-key sends me into a bsod hell for some odd reason
Voodoo2s aren't 100mhz stock
Geforce256 isn't released as a beta on New Years '99 under the Quadro brand
DOS gaming isn't a bilinear 320x200 16:10
DOS PCs aren't better than the Macintosh
DOSBox is not for running Windows 9x
SGL != Glide
User avatar
leileilol
l33t++
 
Posts: 9459
Joined: 2006-12-16 @ 18:03

Re: PowerVR Fun Thread

Postby Tuxality » 2016-8-30 @ 00:41

It behaves like that because you did not emulated this card, only faked that it exist... anyway:

I managed to get SGL and Direct3D to work on my emulated NEC PowerVR PCX2 card! :) :) :)

I mean, holy shit - it works! Driver no longer rejects my card, null rendering for now (shows only garbage from host card VRAM), but at least SGL is working and now I can proceed with reverse engineering more serious PCX registers. ;)
User avatar
Tuxality
Newbie
 
Posts: 57
Joined: 2011-8-15 @ 13:58
Location: Poland

Re: PowerVR Fun Thread

Postby Scali » 2016-8-30 @ 06:44

Tuxality wrote:I managed to get SGL and Direct3D to work on my emulated NEC PowerVR PCX2 card! :) :) :)


Ossom!
So what did you have to do to make it detect the card? Was it trying to read some special kind of identification string or such?
Scali
l33t
 
Posts: 3619
Joined: 2014-12-13 @ 14:24

Re: PowerVR Fun Thread

Postby Tuxality » 2016-8-30 @ 12:09

Nah, I just made a byte order typo in only one of the PCI configuration space header field, so lame of me. :D

Actually, apart from PCI configuration space it detects which type of card is it by reading two R/O registers which are used by driver before initializing card. After detecting which PowerVR card is it and which revision/programming interface it has, initializes basic registers and soft resets the chip. I've written in the past some code for direct PowerVR CLX2 programming on Sega Dreamcast, basic registers are quite similar but the rest is quite different sadly.
User avatar
Tuxality
Newbie
 
Posts: 57
Joined: 2011-8-15 @ 13:58
Location: Poland

Re: PowerVR Fun Thread

Postby Scali » 2016-8-30 @ 12:28

And how do you do the emulation? Are you building a software renderer that works exactly like the PowerVR? Or are you using VRAM and the registers to sniff out drawing commands and geometry/texture data, and feed that to OpenGL/D3D/Vulkan or such?
Scali
l33t
 
Posts: 3619
Joined: 2014-12-13 @ 14:24

Re: PowerVR Fun Thread

Postby Tuxality » 2016-8-30 @ 12:37

It's not done yet, but I'll just implement software rasterizer from scratch that works like PCX2 after reverse engineering meaningful registers.

There is no point in using OpenGL or another API combined with host GPU as a renderer (although it's of course possible), for this I have my wrappers that allows to make games working on modern systems and look a little better.
User avatar
Tuxality
Newbie
 
Posts: 57
Joined: 2011-8-15 @ 13:58
Location: Poland

Re: PowerVR Fun Thread

Postby Scali » 2016-8-30 @ 12:49

Tuxality wrote:It's not done yet, but I'll just implement software rasterizer from scratch that works like PCX2 after reverse engineering meaningful registers.


Yea, would be great if it actually renders with the same quality as a real PCX2.
Scali
l33t
 
Posts: 3619
Joined: 2014-12-13 @ 14:24

Re: PowerVR Fun Thread

Postby Myloch » 2016-8-30 @ 13:04

I'm more into wrappers than real emulation. I'm not a purist. I love wrappers like dgvoodoo or nglide, you can obtain amazing results with some old games, using some fancy effects of modern graphic cards.
"Gamer & collector for passion, I firmly believe in the preservation and the diffusion of old/rare software, against all personal egoisms"
User avatar
Myloch
Member
 
Posts: 429
Joined: 2007-4-18 @ 22:13

Re: PowerVR Fun Thread

Postby Tuxality » 2016-8-31 @ 11:09

New registers discovered, this time including target framebuffer phys addr and other important things. A few, simple tiles blitting test shown on image, click for full size:

Image

Dimensions might not be correct, because it's blitted in wrong color space, but it's not that important for now. :)
User avatar
Tuxality
Newbie
 
Posts: 57
Joined: 2011-8-15 @ 13:58
Location: Poland

Re: PowerVR Fun Thread

Postby leileilol » 2016-8-31 @ 21:17

Myloch wrote:I'm more into wrappers than real emulation.

PCem's the kind of project that can't have wrappers. Everything is an internal cpu crunch.

also powervr has some crazy depth and alpha sorting which wouldn't be easy to be accurate unless it's a wrapper done in Vulkan. The DX11 renderer in Demul is very interesting but that became closed source unfortunately, and that's the closest PowerVR-looking anything i've seen in hardware emulation to date.
Voodoo2s aren't 100mhz stock
Geforce256 isn't released as a beta on New Years '99 under the Quadro brand
DOS gaming isn't a bilinear 320x200 16:10
DOS PCs aren't better than the Macintosh
DOSBox is not for running Windows 9x
SGL != Glide
User avatar
leileilol
l33t++
 
Posts: 9459
Joined: 2006-12-16 @ 18:03

Re: PowerVR Fun Thread

Postby Dreamer_of_the_past » 2016-9-11 @ 17:54

My brain seeks answers...
One elderly gentleman told me that it's possible to run two Matrox m3D cards in SLI through the PCI bus and that it increases fps in games. Has anybody actually tried it? And what is the difference between Matrox m3D revisions 001A and 002?
Dreamer_of_the_past
Oldbie
 
Posts: 536
Joined: 2013-1-15 @ 07:46

Re: PowerVR Fun Thread

Postby gdjacobs » 2016-9-11 @ 19:46

Dreamer_of_the_past wrote:My brain seeks answers...
One elderly gentleman told me that it's possible to run two Matrox m3D cards in SLI through the PCI bus and that it increases fps in games. Has anybody actually tried it? And what is the difference between Matrox m3D revisions 001A and 002?


I don't believe PowerVR ever developed technology like that.
User avatar
gdjacobs
l33t++
 
Posts: 5684
Joined: 2015-11-03 @ 05:51
Location: The Great White North

Re: PowerVR Fun Thread

Postby vetz » 2016-10-10 @ 13:14

gdjacobs wrote:
Dreamer_of_the_past wrote:I don't believe PowerVR ever developed technology like that.

Fun fact: It was actually planned for the PowerVR based arcade board (which never came to marked).

But no, you can't link two PCX2 cards together.
User avatar
vetz
Hardware Mod
 
Posts: 3230
Joined: 2012-4-23 @ 17:13

Re: PowerVR Fun Thread

Postby Alegend45 » 2016-10-16 @ 04:19

@Tuxality Would you consider open-sourcing your code on Github or something? It could be very useful to others!
User avatar
Alegend45
Newbie
 
Posts: 73
Joined: 2012-6-23 @ 18:18

Re: PowerVR Fun Thread

Postby Scali » 2016-10-16 @ 10:11

vetz wrote:But no, you can't link two PCX2 cards together.


You wouldn't need to.
They just render one tile at a time, and then send the tile to the VRAM of another video card via a DMA bus transfer.
You could easily do this with as many PCX2 cards as you like in parallel, but of course the PCI bus would become a bottleneck at some point.

Perhaps their idea for the arcade machine was to use a different type of bus.
Scali
l33t
 
Posts: 3619
Joined: 2014-12-13 @ 14:24

Re: PowerVR Fun Thread

Postby leileilol » 2016-10-16 @ 10:30

They eventually did have some redundant scaleability in the NAOMI though but that's crossing into Series2 territory....
Voodoo2s aren't 100mhz stock
Geforce256 isn't released as a beta on New Years '99 under the Quadro brand
DOS gaming isn't a bilinear 320x200 16:10
DOS PCs aren't better than the Macintosh
DOSBox is not for running Windows 9x
SGL != Glide
User avatar
leileilol
l33t++
 
Posts: 9459
Joined: 2006-12-16 @ 18:03

Re: PowerVR Fun Thread

Postby dr.zeissler » 2017-3-26 @ 20:24

elianda wrote:I put my driver installation approach there:
ftp://78.46.141.148/driver/Matrox/m3D/
read howtoinstall.txt
I did this because the default install was rather troublesome with incompatibilities to certain games.
The dll replacing and registry settings fixed this. I don't know how other cards behave though.


The original drivers worked for me. Can you go into detail what your "installation process" fixed.

Thx!
CPU: PII 133-333 MOBO: SNI-D981 RAM: 512- FDD: Dualfloppy 3,5"HD/5,25"HD - 3,5"HD - 5,25"DD ISA-Catweasel HDD: 2x40GB - DVD
ISA(3): Audician32-S2Dreamblaster - GusACE PCI(3): Monster3D- Intel NW AGP(1): 3dfx V3-3000
dr.zeissler
Oldbie
 
Posts: 1504
Joined: 2011-9-28 @ 15:33

PreviousNext

Return to Video

Who is online

Users browsing this forum: No registered users and 4 guests