|
Slightly cold news on page 10! Phlamey breaks the server. |
|
This is a long thread. Click here to view the threaded list. |
|
Jeffrey Lee |
Message #78114, posted by Phlamethrower at 11:02, 25/7/2006, in reply to message #78113 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
The code I'd write for a 32K mode would definitely be slower than the equivalent for a 16M one Well the code I'd write wouldn't
I can probably write some super fudge to get around the problem. Maybe write to an offscreen buffer and colour swap as it gets copied to the screen, or colour swap all the sprites as they get loaded.
Or get a graphics card that works |
|
[ Log in to reply ] |
|
Adrian Lees |
Message #78115, posted by adrianl at 11:10, 25/7/2006, in reply to message #78089 |
Member
Posts: 1637
|
No it doesn't! Almost everything is in blue After some more poking, it appears that this graphics card hasn't been colour swapped properly
It has two outputs, both of which appear to have red and blue swapped in 16bpp modes That is interesting, because I thought Castle wasn't shipping the new cards yet. If you have dual VGA outputs on your card and the colours are correct in 32bpp and 8bpp modes but 16bpp modes are wrong, then you have a newer NVidia card (GeForce FX5200/5500, I think) which has 128MB of RAM and is faster than earlier cards.
Castle has working hardware colour plane swapping in 32bpp modes and the 8bpp mode is simply a case of changing the palette programming (which, undoubtedly is also the reason that the mouse point is correct in 16bpp modes; something I hadn't noticed myself). As you've discovered, they haven't got 16bpp working.
Geminus can swap in all depths but I haven't released this feature yet, because - until now anyway - I've been the only person to have a use for it. It achieves this by hardware-accelerating as many plotting operations as possible and using its 'magic emulated screen' to colour swap direct writes and reads to the frame buffer. In practice it needs the hardware acceleration feature to give good overall performance.
BTW, you must also have been given a later OS version than is on general release for that card to work correctly. Oh, and if you do have dual VGA outputs, yes they do both work but the OS can only drive one at a time; it needs a magic incantation to switch the driver over to the other head. If I'm feeling generous and/or you nag me, I may build you a prototype demo of Geminus to try out dual head functionality.
[Edited by adrianl at 12:11, 25/7/2006] |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #78116, posted by Phlamethrower at 11:29, 25/7/2006, in reply to message #78115 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
That is interesting, because I thought Castle wasn't shipping the new cards yet. If you have dual VGA outputs on your card and the colours are correct in 32bpp and 8bpp modes but 16bpp modes are wrong, then you have a newer NVidia card (GeForce FX5200/5500, I think) which has 128MB of RAM and is faster than earlier cards. Well the invoice says it's a 128MB FX5500, so I guess it's a new model. Unfortunately it has an obnoxious fan blocking the adjacent PCI slot, so I'll have to check if the fan is absolutely necessary before I start messing around with TV cards.
BTW, you must also have been given a later OS version than is on general release for that card to work correctly. I'll check tonight!
Oh, and if you do have dual VGA outputs, yes they do both work but the OS can only drive one at a time; it needs a magic incantation to switch the driver over to the other head. As I've already discovered, when I tried swapping output while the computer was running
If I'm feeling generous and/or you nag me, I may build you a prototype demo of Geminus to try out dual head functionality. Consider yourself nagged, 'cos you obviously need it testing on the latest hardware
Plus I have two monitors, so if you find what that magic incantation is I can test any kind of dual-output support that you may be able to code
Don't hesitate to send me a demo of Cino, either. I need to see how much work you (haven't) been doing on it lately
Guess I'd better do some tests with IyonixMesa, too. |
|
[ Log in to reply ] |
|
Adrian Lees |
Message #78117, posted by adrianl at 11:38, 25/7/2006, in reply to message #78116 |
Member
Posts: 1637
|
Bad luck! My 5200 is fanless
One thing is puzzling me. You said that both outputs have the R/B unswapped; how did you produce a signal from the second output? Were you given a couple of BASIC programs to switch from one head to the other?
Cino's YUV overlay code doesn't seem to work on my card yet (and thus probably not on yours) which means the performance isn't as good. |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #78118, posted by Phlamethrower at 11:45, 25/7/2006, in reply to message #78117 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
One thing is puzzling me. You said that both outputs have the R/B unswapped; how did you produce a signal from the second output? Were you given a couple of BASIC programs to switch from one head to the other? It seems to detect which output has a monitor connected when you boot the machine.
Maybe I should try connecting two monitors and see what it does |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #78135, posted by Phlamethrower at 18:36, 25/7/2006, in reply to message #78115 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
BTW, you must also have been given a later OS version than i s on general release for that card to work correctly. RISC OS 5.12 (26 Jun), NVidia 0.30 (22 Jun) |
|
[ Log in to reply ] |
|
Sion |
Message #78138, posted by blasts of the xtre at 18:55, 25/7/2006, in reply to message #78135 |
Suppose you were an idiot. Suppose you were a member of Congress. But I repeat myself.
Posts: 326
|
Have you considered an online feature for Death Dawn? |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #78140, posted by Phlamethrower at 19:50, 25/7/2006, in reply to message #78138 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
Yes - but I doubt it will be included in the first proper release. |
|
[ Log in to reply ] |
|
Adrian Lees |
Message #78152, posted by adrianl at 22:07, 25/7/2006, in reply to message #78118 |
Member
Posts: 1637
|
It seems to detect which output has a monitor connected when you boot the machine.
Maybe I should try connecting two monitors and see what it does Would you please run this:
http://adrian.aemulor.com/geminus/heads.zip
and post/email the output. If you don't get 2 lots of info, C0H0 and C0H1, please run it with each head active and post both sets of results. Thanks muchly
Irritatingly, my dual head GF5200 refuses to play because one of the outputs is DVI-I. I had hoped that it would at least work in analogue mode, but the above program only lists 1 head for each of my two cards. |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #78154, posted by Phlamethrower at 22:24, 25/7/2006, in reply to message #78152 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
You aren't going to like this
*enumheads Trying C0H0 C0H0 - 2 38 4 78000000 7F00000 Trying C0H1 Trying C1H0
No matter what combination of monitors are plugged in and/or turned on. And if both are turned in and on, you do only get an image on one of them |
|
[ Log in to reply ] |
|
Adrian Lees |
Message #78156, posted by adrianl at 22:52, 25/7/2006, in reply to message #78154 |
Member
Posts: 1637
|
Mm, you're right - I don't like it. I'm not surprised, though. Whilst the NVidia driver can actually drive both heads, it seems only to do one at a time currently. There is various state information that needs replicating for each head supported, such as the free space in each FIFO, and this, it would seem, has not been done yet. It was discussed at least 6 months ago
Does EnumHeads2 in http://adrian.aemulor.com/geminus/heads.zip just list the same info for both heads? I believe it's still possible to get dual head output with your existing driver but it'd require a certain amount of ugly hackery that ought not to be necessary with a proper NVidia driver module, and which would impact performance somewhat. |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #78157, posted by Phlamethrower at 22:57, 25/7/2006, in reply to message #78156 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
Yes. (assuming I don't need to mess around swapping cables and rebooting)
It also seems to kill the hardware mouse cursor |
|
[ Log in to reply ] |
|
Adrian Lees |
Message #78159, posted by adrianl at 23:07, 25/7/2006, in reply to message #78157 |
Member
Posts: 1637
|
Yes. (assuming I don't need to mess around swapping cables and rebooting)
It also seems to kill the hardware mouse cursor Not really, it's just lazy and leaves the last head active. The only visible effect of switching heads here is to break the cursor in the way you describe.
I take it you didn't get the head switching programs, which I've now added to that heads.zip archive. I believe you'll be able to throw the desktop from one monitor to the other by double-clicking on the appropriate program. Of course, the screen will only be correct after a mode change, hence the PRINT statement, and you'll be left with a stale image on the deactivated head, I expect.
Edit: what is the MAC address of your Iyonix? *EkInfo
[Edited by adrianl at 00:08, 26/7/2006] |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #78160, posted by Phlamethrower at 23:19, 25/7/2006, in reply to message #78159 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
I take it you didn't get the head switching programs, which I've now added to that heads.zip archive. Doesn't look like it, unless they were called something different.
I believe you'll be able to throw the desktop from one monitor to the other by double-clicking on the appropriate program. *tries one*
Both monitors are now displaying the same images, including the mouse cursor
(However the location of the mouse on the 'inactive' head won't change, only the shape of the mouse)
I guess I thought the cursor was killed when trying enumheads2 because I was using a StrongEd taskwindow, so the cursor would have been hidden while typing and only re-enabled once it had been moved to the other monitor
Edit: what is the MAC address of your Iyonix? *EkInfo 00:09:95:00:19:52 |
|
[ Log in to reply ] |
|
Adrian Lees |
Message #78161, posted by adrianl at 23:50, 25/7/2006, in reply to message #78160 |
Member
Posts: 1637
|
Both monitors are now displaying the same images Right. They're taking their pixel data from the same physical address, as expected. Geminus would need to divide the available store amongst the heads being used, since the driver clearly isn't doing this.
Presumably there's only one graphics engine with one set of pipelines and just 2 CRTCs mapping onto the same video RAM. Which means that my earlier assumption about needing to replicate state would be wrong, but the two logical screen outputs in Geminus would need to be aware that they are sharing hardware. :s
(However the location of the mouse on the 'inactive' head won't change, only the shape of the mouse) Ah, yet another problem. The two heads must be getting their cursor data from the same physical address too. This is no good for Geminus generally because the two screens may have their cursors programmed for different rotations.
All in all, 'quite an interesting problem'*
* aka you ain't getting dual head functionality just yet awhile |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #78162, posted by Phlamethrower at 00:07, 26/7/2006, in reply to message #78161 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
Ah, yet another problem. The two heads must be getting their cursor data from the same physical address too. This is no good for Geminus generally because the two screens may have their cursors programmed for different rotations. But, as my StrongEd example showed:
*pointer 0 PRINT "Boobies" SYS "XOS_ThatStuffToChangeTheHead"
... and the cursor will remain hidden on the 'inactive' head, even after mode/shape changes etc.
The boobies here, apart from adding asthetics to the program, also ensure something is printed on screen before the head change occurs. Removing the boobies will (when running from the desktop, at least) prevent it from working.
[edit]
So unless you actually want a cursor on each screen (PC's don't bother, IIRC), it is possible to disable the cursor on one screen and enable it on the other.
[Edited by Phlamethrower at 01:10, 26/7/2006] |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #78163, posted by Phlamethrower at 00:11, 26/7/2006, in reply to message #78162 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
Also this card has TV out, but I don't have a TV to check it with |
|
[ Log in to reply ] |
|
Adrian Lees |
Message #78164, posted by adrianl at 00:23, 26/7/2006, in reply to message #78163 |
Member
Posts: 1637
|
Also this card has TV out, but I don't have a TV to check it with I can save you the hassle, it won't work
I'm pretty sure my work laptop displays the cursor on both output when configured to mirror the desktop like that.
Geminus actually displays the cursor on all screens so that as you move the cursor from one screen to another, it appears partially on both before moving wholly onto the other. It used to just display on the screen containing the active point and I got a complaint
[Edited by adrianl at 01:24, 26/7/2006] |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #78165, posted by Phlamethrower at 00:29, 26/7/2006, in reply to message #78164 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
I'm pretty sure my work laptop displays the cursor on both output when configured to mirror the desktop like that. When mirroring the screen, yes. I was talking about when using an extended desktop
Geminus actually displays the cursor on all screens so that as you move the cursor from one screen to another, it appears partially on both before moving wholly onto the other. It used to just display on the screen containing the active point and I got a complaint Fair enough
Still, each head obviously has its own coordinates for the cursor, so if you can find those you should be able to control each one individually. It wouldn't surprise me (with my lack of knowledge of the NVidia chipset ) if each head also has seperate pointers to the shape data to use, as there's obviously no point having hardware cursors that can be both be enabled and moved independently if they both have to look the same. |
|
[ Log in to reply ] |
|
Simon Wilson |
Message #78166, posted by ksattic at 03:19, 26/7/2006, in reply to message #78165 |
Finally, an avatar!
Posts: 1291
|
/me wants!
I've emailed John Ballance asking very nicely for all this stuff*.
*I might buy my own graphics card |
|
[ Log in to reply ] |
|
Adrian Lees |
Message #78168, posted by adrianl at 11:26, 26/7/2006, in reply to message #78166 |
Member
Posts: 1637
|
/me wants!
I've emailed John Ballance asking very nicely for all this stuff*.
*I might buy my own graphics card Make sure you get one with a DVI-I output please. Then get the line drivers working for me |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #78251, posted by Phlamethrower at 12:21, 30/7/2006, in reply to message #78168 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
Here's a question for you: Has Mode 13 never worked on the Iyonix, or is it just the new card/my MDF that's causing it to go to mode 28 instead? |
|
[ Log in to reply ] |
|
Phil Mellor |
Message #78252, posted by monkeyson2 at 12:40, 30/7/2006, in reply to message #78251 |
Please don't let them make me be a monkey butler
Posts: 12380
|
Here's a question for you: Has Mode 13 never worked on the Iyonix, or is it just the new card/my MDF that's causing it to go to mode 28 instead? Works here. Chunky!
[Edited by monkeyson2 at 13:41, 30/7/2006] |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #78253, posted by Phlamethrower at 12:44, 30/7/2006, in reply to message #78252 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
Guess I'll give it a poke then |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #78254, posted by Phlamethrower at 13:01, 30/7/2006, in reply to message #73137 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
I may have a go at writing a new rotated/scaled sprite plotter. Done. I think it may be faster, too
Still need to do the assembler one, though. Hmm, I need to update the gnarlplot API to allow you to specify an aspect ratio correction factor. At the moment it plots the scaled/rotated sprites at 1:1 ratio, whereas DeathDawn plots the tiles using the aspect ratio of the screen, leading to much hilarity in 640x350 modes |
|
[ Log in to reply ] |
|
Adrian Lees |
Message #78256, posted by adrianl at 15:41, 30/7/2006, in reply to message #78254 |
Member
Posts: 1637
|
One word now you've got an Iyonix, ...
PLD |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #78258, posted by Phlamethrower at 17:54, 30/7/2006, in reply to message #78256 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
Why, thank you
...oh, I see
Adding that to the sprite plotters should be fairly easy, considering that they're all generated at runtime. |
|
[ Log in to reply ] |
|
Simon Wilson |
Message #78294, posted by ksattic at 17:26, 2/8/2006, in reply to message #78256 |
Finally, an avatar!
Posts: 1291
|
One word now you've got an Iyonix, ...
PLD Programmable Logic Device? |
|
[ Log in to reply ] |
|
Adrian Lees |
Message #78295, posted by adrianl at 17:31, 2/8/2006, in reply to message #78294 |
Member
Posts: 1637
|
One word now you've got an Iyonix, ...
PLD Programmable Logic Device? Yup, we're going to build an IOP321 replacement with a decent memory bus and a multimedia coprocessor. You've rumbled us! |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #78296, posted by Phlamethrower at 17:46, 2/8/2006, in reply to message #78295 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
Well, at least he doesn't know about our plans for the FPU.
Oh, shi... |
|
[ Log in to reply ] |
|
Pages (22): |< <
12
> >|
|