OSDev.org
https://forum.osdev.org/

When your OS goes crazy - Screenshots
https://forum.osdev.org/viewtopic.php?f=1&t=18924
Page 43 of 54

Author:  darklink [ Sat Feb 04, 2017 11:59 am ]
Post subject:  Re: When your OS goes crazy - Screenshots

"Maybe I should use linked lists for the PMM stack"
Code:
        if(!isUsed(i))
            continue;
        push(i); //Mark as free

Image
"Well…"

Author:  Kazinsal [ Thu Feb 09, 2017 2:36 am ]
Post subject:  Re: When your OS goes crazy - Screenshots

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:
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!

Author:  Octacone [ Thu Feb 09, 2017 4:56 am ]
Post subject:  Re: When your OS goes crazy - Screenshots

Something went wrong... Aka half-broken state machine. :D

Attachments:
SomethingWentWrong.png
SomethingWentWrong.png [ 11.46 KiB | Viewed 5972 times ]

Author:  akasei [ Fri Feb 10, 2017 12:19 am ]
Post subject:  Re: When your OS goes crazy - Screenshots

Without new_line char translated :D

Image

Author:  Sik [ Fri Feb 10, 2017 12:47 am ]
Post subject:  Re: When your OS goes crazy - Screenshots

Is it me or the blue channel is shifted by 1 pixel? o_o

Author:  akasei [ Fri Feb 10, 2017 4:16 am ]
Post subject:  Re: When your OS goes crazy - Screenshots

Sik wrote:
Is it me or the blue channel is shifted by 1 pixel? o_o

You're almost right :)

Author:  osdever [ Fri Feb 10, 2017 5:41 am ]
Post subject:  Re: When your OS goes crazy - Screenshots

Tried to implement double-buffering :D

Attachments:
Screenshot_20170210_143906.png
Screenshot_20170210_143906.png [ 7.11 KiB | Viewed 5875 times ]

Author:  osdever [ Fri Feb 10, 2017 5:46 am ]
Post subject:  Re: When your OS goes crazy - Screenshots

UPD: recorded a video.


Author:  Octacone [ Fri Feb 10, 2017 6:21 am ]
Post subject:  Re: When your OS goes crazy - Screenshots

osdeverr wrote:
Tried to implement double-buffering :D


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:
Image

Author:  MajickTek [ Fri Feb 10, 2017 6:36 am ]
Post subject:  Re: When your OS goes crazy - Screenshots

octacone wrote:
osdeverr wrote:
Tried to implement double-buffering :D


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:
Image

It looks quite cool though. Double mouse support anyone?

Author:  SpyderTL [ Fri Feb 10, 2017 6:41 am ]
Post subject:  Re: When your OS goes crazy - Screenshots

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.

Author:  Octacone [ Fri Feb 10, 2017 10:48 am ]
Post subject:  Re: When your OS goes crazy - Screenshots

MajickTek wrote:
octacone wrote:
osdeverr wrote:
Tried to implement double-buffering :D


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. :P
Dual mouse support would be epic, just image that! Endless possibilities.

Author:  Korona [ Fri Feb 10, 2017 1:16 pm ]
Post subject:  Re: When your OS goes crazy - Screenshots

Image

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 :D. This imgur album (click me) has another funny fail and a picture of the working driver.

Author:  Octacone [ Fri Feb 10, 2017 3:11 pm ]
Post subject:  Re: When your OS goes crazy - Screenshots

Korona wrote:
Image

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 :D. 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?

Author:  Korona [ Fri Feb 10, 2017 3:47 pm ]
Post subject:  Re: When your OS goes crazy - Screenshots

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.

Page 43 of 54 All times are UTC - 6 hours
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/