Page 43 of 55
Re: When your OS goes crazy - Screenshots
Posted: Sat Feb 04, 2017 11:59 am
by darklink
"Maybe I should use linked lists for the PMM stack"
Code: Select all
if(!isUsed(i))
continue;
push(i); //Mark as free
"Well…"
Re: When your OS goes crazy - Screenshots
Posted: Thu Feb 09, 2017 2:36 am
by Kazinsal
I left a scheduler test on to make sure it wouldn't leak any memory over a long period of time by setting up two threads (one to spin idly, the other to instantly invoke KeSyscallYield and give up its time share whenever it received one) and letting it sit. Didn't lose any memory, but I lost a chunk of hard drive space, having accidentally left the scheduler debug statements turned on...
I came back to find a very large serial dump file with this over and over and over and over...
Code: Select all
KeTimePITInterrupt: Invoking KeTaskingSwitch (reason: timer tick).
KeTaskingSwitch: About to switch tasks to thread 2 (process 1).
KeSyscallHandler: System call invoked by thread 2!
KeSyscallHandler: EAX = 0x00000000, EBX = 0x00000000, ECX = 0x00000000
KeSyscallHandler: EDX = 0x00000000, ESI = 0x00000000, EDI = 0x00000000
KeSyscallYield: Yielding thread 2.
KeTaskingSwitch: About to switch tasks to thread 3 (process 1).
KeTimePITInterrupt: Invoking KeTaskingSwitch (reason: timer tick).
KeTaskingSwitch: About to switch tasks to thread 2 (process 1).
KeSyscallHandler: System call invoked by thread 2!
[ ... over a gigabyte of repetitive logs snipped ... ]
Oops. At least my debugging statements don't leak any memory!
Re: When your OS goes crazy - Screenshots
Posted: Thu Feb 09, 2017 4:56 am
by Octacone
Something went wrong... Aka half-broken state machine.
Re: When your OS goes crazy - Screenshots
Posted: Fri Feb 10, 2017 12:19 am
by CorruptedByCPU
Without new_line char translated
Re: When your OS goes crazy - Screenshots
Posted: Fri Feb 10, 2017 12:47 am
by Sik
Is it me or the blue channel is shifted by 1 pixel? o_o
Re: When your OS goes crazy - Screenshots
Posted: Fri Feb 10, 2017 4:16 am
by CorruptedByCPU
Sik wrote:Is it me or the blue channel is shifted by 1 pixel? o_o
You're almost right
Re: When your OS goes crazy - Screenshots
Posted: Fri Feb 10, 2017 5:41 am
by osdever
Tried to implement double-buffering
Re: When your OS goes crazy - Screenshots
Posted: Fri Feb 10, 2017 5:46 am
by osdever
Re: When your OS goes crazy - Screenshots
Posted: Fri Feb 10, 2017 6:21 am
by Octacone
osdeverr wrote:Tried to implement double-buffering
That is what happens to me every single time I try to implement it. I couldn't fix it for months so I gave up. SSE memory copy is just too tough.
Old picture of mine:
Re: When your OS goes crazy - Screenshots
Posted: Fri Feb 10, 2017 6:36 am
by MajickTek
octacone wrote:osdeverr wrote:Tried to implement double-buffering
That is what happens to me every single time I try to implement it. I couldn't fix it for months so I gave up. SSE memory copy is just too tough.
Old picture of mine:
It looks quite cool though. Double mouse support anyone?
Re: When your OS goes crazy - Screenshots
Posted: Fri Feb 10, 2017 6:41 am
by SpyderTL
osdeverr wrote:UPD: recorded a video.
What is ironic is that you would probably have a pretty hard time writing code to do that, if you were doing it on purpose.
You guys should start with simple REPD copying until everything is stable, and then swap it out with a faster method after it has been tested.
Step 1: make it work.
Step 2: make it fast.
Step 3: make it bulletproof.
Re: When your OS goes crazy - Screenshots
Posted: Fri Feb 10, 2017 10:48 am
by Octacone
MajickTek wrote:octacone wrote:osdeverr wrote:Tried to implement double-buffering
That is what happens to me every single time I try to implement it. I couldn't fix it for months so I gave up. SSE memory copy is just too tough.
Old picture of mine:
[imgsnip]http://forum.osdev.org/download/file.php?id=3349&mode=view[/img]
It looks quite cool though. Double mouse support anyone?
Yeah it does look cool but not functional. It looks like that I am better at creating mosaics than coding.
Dual mouse support would be epic, just image that! Endless possibilities.
Re: When your OS goes crazy - Screenshots
Posted: Fri Feb 10, 2017 1:16 pm
by Korona
I'm currently writing a native graphics mode setting driver (for the Intel G45 chipset) for my OS. This is what happens when you set a bad pixel clock
.
This imgur album (click me) has another funny fail and a picture of the working driver.
Re: When your OS goes crazy - Screenshots
Posted: Fri Feb 10, 2017 3:11 pm
by Octacone
Korona wrote:
I'm currently writing a native graphics mode setting driver (for the Intel G45 chipset) for my OS. This is what happens when you set a bad pixel clock
.
This imgur album (click me) has another funny fail and a picture of the working driver.
That is actually impressive! Btw what do you mean by native graphics driver? Setting a bad pixel clock? What is your method, VESA or VGA?
Re: When your OS goes crazy - Screenshots
Posted: Fri Feb 10, 2017 3:47 pm
by Korona
octacone wrote:That is actually impressive! Btw what do you mean by native graphics driver? Setting a bad pixel clock? What is your method, VESA or VGA?
I'm using neither VESA nor VGA. I manipulate the native registers of the graphics card (i.e. I set a pixel clock, display timings, program the framebuffer address and enable graphics output). The driver can set any mode (e.g. 1920x1080@32bpp) that is supported by the card and the monitor. I do not have to use the BIOS or any third party functionality. However keep in mind that the driver is tied to Intel G45 and similar chipsets.
It is easy to extend this to hardware double/triple/whatever buffering on VSYNC, hardware mouse cursors, hardware overlays (i.e. displaying a second framebuffer inside a window) and multiple monitors. My code does not support acceleration (BLTing or shaders) yet though.