Cosmos icon indicating copy to clipboard operation
Cosmos copied to clipboard

VBE not working on real hardware, loading bitmap files too

Open selkij opened this issue 2 years ago • 14 comments

Area of Cosmos - What area of Cosmos are we dealing with?

VBEDriver

Expected Behaviour - What do you think that should happen?

should boot and show my desktop environment I did.

Actual Behaviour - What unexpectedly happens?

CPU exception x0D (General Protection Fault) when loading bitmap files CPU exception x06 (Invalid OpCode) when doing this

VBE = new((ushort)Width, (ushort)Height, 32);

Reproduction - How did you get this error to appear?

just do

VBE = new((ushort)Width, (ushort)Height, 32);

Version - Were you using the User Kit or Dev Kit? And what User Kit version or Dev Kit commit (Cosmos, IL2CPU, X#)?

commit 6510f61ad4b20568c1386c7e386fc9d3d50bafeb (the 2 last commits are just adding a possibility to restart the kernel so its ok)

selkij avatar Mar 17 '22 06:03 selkij

Is it possible that you are trying to set a mode which is not supported by the hardware? Does FullScreenCanvas.GetFullScreenCanvas work? What code are you using to load the bitmap?

quajak avatar Mar 17 '22 19:03 quajak

Is it possible that you are trying to set a mode which is not supported by the hardware? Does FullScreenCanvas.GetFullScreenCanvas work? What code are you using to load the bitmap?

I'm not using Cosmos's canvas

selkij avatar Mar 20 '22 17:03 selkij

Without exact code, this remains unreproducable.

quajak avatar Mar 20 '22 18:03 quajak

see https://github.com/Kiirx/ProjectOrizonOS

selkij avatar Mar 20 '22 19:03 selkij

see branch impl-graphic-mode

selkij avatar Mar 20 '22 19:03 selkij

It would be a lot easier if the relevant code extracted to what is actually necessary to reproduce this issue. Understanding and debugging an entire user kernel is a lot more work.

quajak avatar Mar 26 '22 09:03 quajak

the VBE driver just dont work on real hardware, im not hte same to say that, I assume that the VBE driver was for bochs or qemu or smth like that? VBE is to be for everything, even real hardware

selkij avatar May 09 '22 16:05 selkij

My point is that since you are not using the standard cosmos vbe driver, there is no guarantee that it should work. If there is an issue with the standard vbe driver which afaik should work fine on real hardware, then we can look into it.

quajak avatar May 16 '22 16:05 quajak

even when I use the default VBE driver it doesnt work

selkij avatar May 16 '22 16:05 selkij

when setting the mode or using the default mode?

quajak avatar May 16 '22 16:05 quajak

idr it just doesnt work, im not the only one to say that

selkij avatar May 16 '22 18:05 selkij

this is an issue with cosmos's vbe driver, there isn't anything you can do unless you fix it yourself or ask somebody else to do it (ask nicely)

terminal-cs avatar May 16 '22 22:05 terminal-cs

well, this is not what concerns me the most rn, TCP connections are badly made, it can send data, but most of the time incorrectly, and even if the server sends the response, cosmos wont get it.

selkij avatar May 21 '22 06:05 selkij

and the code doesnt really explain how its done and how it works, so I can't try to fix it

selkij avatar May 21 '22 06:05 selkij