log in | register | forums
Show:
Go:
Forums
Username:

Password:

User accounts
Register new account
Forgot password
Forum stats
List of members
Search the forums

Advanced search
Recent discussions
- Elsear brings super-fast Networking to Risc PC/A7000/A7000+ (News:)
- Latest hardware upgrade from RISCOSbits (News:)
- Accessing old floppy disks (Gen:3)
- November developer 'fireside' chat on saturday night (News:)
- RISCOSbits releases a new laptop solution (News:4)
- Announcing the TIB 2024 Advent Calendar (News:2)
- RISC OS London Show Report 2024 (News:1)
- Code GCC produces that makes you cry #12684 (Prog:39)
- Rougol November 2024 meeting on monday (News:)
- Drag'n'Drop 14i1 edition reviewed (News:)
Latest postings RSS Feeds
RSS 2.0 | 1.0 | 0.9
Atom 0.3
Misc RDF | CDF
 
View on Mastodon
@www.iconbar.com@rss-parrot.net
Site Search
 
Article archives
The Icon Bar: The Playpen: Slightly cold news on page 10! Phlamey breaks the server.
 
  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
PhlamethrowerHot 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 :P
  ^[ 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 :o

It has two outputs, both of which appear to have red and blue swapped in 16bpp modes :cry:
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
PhlamethrowerHot 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 :o

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
PhlamethrowerHot 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
PhlamethrowerHot 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
blasts of the xtre
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
PhlamethrowerHot 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
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
You aren't going to like this :P

*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
PhlamethrowerHot 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 :o
  ^[ 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 :o
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
PhlamethrowerHot 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
PhlamethrowerHot 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
PhlamethrowerHot 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
PhlamethrowerHot 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 :P) 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
ksattic
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
PhlamethrowerHot 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
monkeyson2Please 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
PhlamethrowerHot 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
PhlamethrowerHot 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 :o

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 :P
  ^[ 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, :flamethrower:...

PLD
  ^[ Log in to reply ]
 
Jeffrey Lee Message #78258, posted by Phlamethrower at 17:54, 30/7/2006, in reply to message #78256
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
Why, thank you :)

...oh, I see :P

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
ksattic
Finally, an avatar!

Posts: 1291
One word now you've got an Iyonix, :flamethrower:...

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, :flamethrower:...

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! :P
  ^[ Log in to reply ]
 
Jeffrey Lee Message #78296, posted by Phlamethrower at 17:46, 2/8/2006, in reply to message #78295
PhlamethrowerHot 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 > >|

The Icon Bar: The Playpen: Slightly cold news on page 10! Phlamey breaks the server.