VMWare Clear function doing nothing?

Feb 24, 2012 at 9:17 AM

Hey guys, for some reason the clear function in the VMWare driver does nothing. I can now draw pixels which is amazing, but the clear function doesn't work. Please fix this. Thanks - Matt

Feb 24, 2012 at 10:13 AM

How did you managed to get the vmware drvier working !?

Please tell.

Thanks

Developer
Feb 24, 2012 at 12:51 PM
Edited Feb 24, 2012 at 12:54 PM

How large do you have the screen set to be? Because the clear function isn't currently setup (it should be, but hasn't been yet) to change it's internal function depending on the size of the screen. It's currently hard-coded to use 800x600 as the size, if it's set to be smaller than that, it's probably failing it's internal bounds checks silently, and thus, not drawing anything. Also, check that the command it uses is correct, and that your calling Update() after you clear the screen, because either of those could cause it to not work as well.


Also, HD2HD, the VMWare driver was fixed in the newest commit.

Feb 24, 2012 at 4:28 PM
HD2HD wrote:

How did you managed to get the vmware drvier working !?

Please tell.

Thanks

Look at pearos.codeplex.com scroll all the way to the bottom take a look at the new picture and then go check out the source. I have the first nice looking high res Cosmos os. =). Taking Cosmos to the next level. - Matt

Feb 24, 2012 at 5:02 PM
Edited Feb 24, 2012 at 5:05 PM
blah38621 wrote:

How large do you have the screen set to be? Because the clear function isn't currently setup (it should be, but hasn't been yet) to change it's internal function depending on the size of the screen. It's currently hard-coded to use 800x600 as the size, if it's set to be smaller than that, it's probably failing it's internal bounds checks silently, and thus, not drawing anything. Also, check that the command it uses is correct, and that your calling Update() after you clear the screen, because either of those could cause it to not work as well.


Also, HD2HD, the VMWare driver was fixed in the newest commit.

Yeah it was, but I decided to use my own VMWare driver so I can cumstomize it to my needs. =). Yeah but lets say I clear and then update to make it real, doesn't that just mess stuff up because you will see the screen update? Thanks - Matt 

I am going to try that and see if it makes a difference. If it does nothing even after any update then we know theres a problem. Thanks - Matt

 

Edit: Nope even if I do a clear and then update and then do my drawing it still does not clear the screen! So that means there might be something wrong with the fill function, will someone please take a look at this, because clearing the screen is important. I used custom code to loop through and clear the screen, but thats just too slow so I now need that fill function working. Thanks guys -Matt

Feb 24, 2012 at 5:16 PM
civilwarrock wrote:
blah38621 wrote:

How large do you have the screen set to be? Because the clear function isn't currently setup (it should be, but hasn't been yet) to change it's internal function depending on the size of the screen. It's currently hard-coded to use 800x600 as the size, if it's set to be smaller than that, it's probably failing it's internal bounds checks silently, and thus, not drawing anything. Also, check that the command it uses is correct, and that your calling Update() after you clear the screen, because either of those could cause it to not work as well.


Also, HD2HD, the VMWare driver was fixed in the newest commit.

Yeah it was, but I decided to use my own VMWare driver so I can cumstomize it to my needs. =). Yeah but lets say I clear and then update to make it real, doesn't that just mess stuff up because you will see the screen update? Thanks - Matt

I am going to try that and see if it makes a difference. If it does nothing even after any update then we know theres a problem. Thanks - Matt

 

Edit: Nope even if I do a clear and then update and then do my drawing it still does not clear the screen! So that means there might be something wrong with the fill function, will someone please take a look at this, because clearing the screen is important. I used custom code to loop through and clear the screen, but thats just too slow so I now need that fill function working. Thanks guys -Matt

I think there is something wrong with the fill function, it might be similar to the Update() problem.

Feb 24, 2012 at 5:26 PM
Aurora01 wrote:
civilwarrock wrote:
blah38621 wrote:

How large do you have the screen set to be? Because the clear function isn't currently setup (it should be, but hasn't been yet) to change it's internal function depending on the size of the screen. It's currently hard-coded to use 800x600 as the size, if it's set to be smaller than that, it's probably failing it's internal bounds checks silently, and thus, not drawing anything. Also, check that the command it uses is correct, and that your calling Update() after you clear the screen, because either of those could cause it to not work as well.


Also, HD2HD, the VMWare driver was fixed in the newest commit.

Yeah it was, but I decided to use my own VMWare driver so I can cumstomize it to my needs. =). Yeah but lets say I clear and then update to make it real, doesn't that just mess stuff up because you will see the screen update? Thanks - Matt

I am going to try that and see if it makes a difference. If it does nothing even after any update then we know theres a problem. Thanks - Matt

 

Edit: Nope even if I do a clear and then update and then do my drawing it still does not clear the screen! So that means there might be something wrong with the fill function, will someone please take a look at this, because clearing the screen is important. I used custom code to loop through and clear the screen, but thats just too slow so I now need that fill function working. Thanks guys -Matt

I think there is something wrong with the fill function, it might be similar to the Update() problem.

I think so too. But how can we fix it? Thanks - Matt

Feb 24, 2012 at 5:31 PM
civilwarrock wrote:
Aurora01 wrote:
civilwarrock wrote:
blah38621 wrote:

How large do you have the screen set to be? Because the clear function isn't currently setup (it should be, but hasn't been yet) to change it's internal function depending on the size of the screen. It's currently hard-coded to use 800x600 as the size, if it's set to be smaller than that, it's probably failing it's internal bounds checks silently, and thus, not drawing anything. Also, check that the command it uses is correct, and that your calling Update() after you clear the screen, because either of those could cause it to not work as well.


Also, HD2HD, the VMWare driver was fixed in the newest commit.

Yeah it was, but I decided to use my own VMWare driver so I can cumstomize it to my needs. =). Yeah but lets say I clear and then update to make it real, doesn't that just mess stuff up because you will see the screen update? Thanks - Matt

I am going to try that and see if it makes a difference. If it does nothing even after any update then we know theres a problem. Thanks - Matt

 

Edit: Nope even if I do a clear and then update and then do my drawing it still does not clear the screen! So that means there might be something wrong with the fill function, will someone please take a look at this, because clearing the screen is important. I used custom code to loop through and clear the screen, but thats just too slow so I now need that fill function working. Thanks guys -Matt

I think there is something wrong with the fill function, it might be similar to the Update() problem.

I think so too. But how can we fix it? Thanks - Matt

I'm looking through the VMWare SVGA manuals, so it should be in there

Feb 24, 2012 at 5:38 PM

It's hard to tell, because the example code is written in C, and the code doesn't seem to match the Cosmos driver.

Feb 24, 2012 at 5:48 PM

matt i have a question for you ,

 

when looking in the pearos solution i see you made some folders like the main folder "core"

how do you add them ?

Feb 24, 2012 at 5:52 PM

nevermind i found it !

Feb 24, 2012 at 6:02 PM
Aurora01 wrote:

It's hard to tell, because the example code is written in C, and the code doesn't seem to match the Cosmos driver.

Dont worry I am sure you will find the problem and figure it out. I have faith in you! Didn't you fix the last issue? Because if so, you rock! Thanks - Matt

HD2HD, Glad you figured it out. I like to organize my code as much as possible. - Matt

Feb 24, 2012 at 6:12 PM

me too :D

Feb 24, 2012 at 6:58 PM

hey guys ,

i'm getting an error when trying to set the vmware driver.

to image : http://www.mediafire.com/?zgdo4mdqenwq15h

i just copied the code from the issue tracker , then made my own class that extends the vmware class and then in nthe kernel.cs called the void.

Oh i must say that i changed something in the vmwareclass from issue the public VMWARESCGA2 class to public void ... ();

because it gave me an error that it needs to return somehting i think thats causing the error damn it.

HD2HD

Developer
Feb 24, 2012 at 7:52 PM
civilwarrock wrote:
HD2HD wrote:

How did you managed to get the vmware drvier working !?

Please tell.

Thanks

Look at pearos.codeplex.com scroll all the way to the bottom take a look at the new picture and then go check out the source. I have the first nice looking high res Cosmos os. =). Taking Cosmos to the next level. - Matt

 

I would say otherwise, purely because of the way your doing the drawing. (your drawing images, rather than drawing it dynamically (admittedly Gnome uses that same trick, but Gnome's bar's aren't very easily scalable) :P) If everything was drawn using vectors rather than static images (OForms does it using vectors, though it's still undergoing a massive overhaul (due to my work on TTF font support (mostly working, just need to get the clarity of the text up a bit (I don't use any of the hinting information atm.) ) ), then I wouldn't complain :P

Feb 25, 2012 at 5:20 AM
Edited Feb 25, 2012 at 5:47 AM
blah38621 wrote:
civilwarrock wrote:
HD2HD wrote:

How did you managed to get the vmware drvier working !?

Please tell.

Thanks

Look at pearos.codeplex.com scroll all the way to the bottom take a look at the new picture and then go check out the source. I have the first nice looking high res Cosmos os. =). Taking Cosmos to the next level. - Matt

 

I would say otherwise, purely because of the way your doing the drawing. (your drawing images, rather than drawing it dynamically (admittedly Gnome uses that same trick, but Gnome's bar's aren't very easily scalable) :P) If everything was drawn using vectors rather than static images (OForms does it using vectors, though it's still undergoing a massive overhaul (due to my work on TTF font support (mostly working, just need to get the clarity of the text up a bit (I don't use any of the hinting information atm.) ) ), then I wouldn't complain :P

I noticed Traviak commited some code, did he fix the fill function? Cause now it cause VMWare to crash =). Thanks - Matt

 

EDIT: It works, but anyway to prevent flicker, cause when you clear it updates allowing you to see the screen clear and then see everything appear. Very bad! Please help. Thanks - Matt

Feb 25, 2012 at 7:10 AM

Civilwarrock: Thanks :)

HD2HD: Image set to private.

Feb 25, 2012 at 7:40 AM
Aurora01 wrote:

Civilwarrock: Thanks :)

HD2HD: Image set to private.

No sure for what... but your welcome anyway. - Matt

Developer
Feb 25, 2012 at 4:25 PM

Calling clear causes the screen to update? That shouldn't happen.... Either way, you still need to use a double buffer, but past that, provided your adapter to write to the screen is fast enough, (if you jump on the IRC and point me to the right file, I could probably help with that, there was a single change I made in mine that made a huge difference in update speed) it should work just fine.

Feb 25, 2012 at 8:03 PM
blah38621 wrote:

Calling clear causes the screen to update? That shouldn't happen.... Either way, you still need to use a double buffer, but past that, provided your adapter to write to the screen is fast enough, (if you jump on the IRC and point me to the right file, I could probably help with that, there was a single change I made in mine that made a huge difference in update speed) it should work just fine.

Yep calling the clear or fill function updates the screen so you see it clear =). This causes flicker, the bang of my exsistance, the horror in my dreams. =). Thanks - Matt