OSDev.org

The Place to Start for Operating System Developers
It is currently Thu Mar 28, 2024 3:58 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 809 posts ]  Go to page Previous  1 ... 40, 41, 42, 43, 44, 45, 46 ... 54  Next
Author Message
 Post subject: Re: When your OS goes crazy - Screenshots
PostPosted: Sat Feb 04, 2017 11:59 am 
Offline

Joined: Sat Feb 04, 2017 11:48 am
Posts: 1
"Maybe I should use linked lists for the PMM stack"
Code:
        if(!isUsed(i))
            continue;
        push(i); //Mark as free

Image
"Well…"


Top
 Profile  
 
 Post subject: Re: When your OS goes crazy - Screenshots
PostPosted: Thu Feb 09, 2017 2:36 am 
Offline
Member
Member
User avatar

Joined: Wed Jul 13, 2011 7:38 pm
Posts: 558
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!


Top
 Profile  
 
 Post subject: Re: When your OS goes crazy - Screenshots
PostPosted: Thu Feb 09, 2017 4:56 am 
Offline
Member
Member
User avatar

Joined: Fri Aug 07, 2015 6:13 am
Posts: 1134
Something went wrong... Aka half-broken state machine. :D


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

_________________
OS: Basic OS
About: 32 Bit Monolithic Kernel Written in C++ and Assembly, Custom FAT 32 Bootloader
Top
 Profile  
 
 Post subject: Re: When your OS goes crazy - Screenshots
PostPosted: Fri Feb 10, 2017 12:19 am 
Offline
Member
Member
User avatar

Joined: Tue Feb 11, 2014 4:59 pm
Posts: 74
Without new_line char translated :D

Image

_________________
https://blackdev.org/ - system programming, my own 64 bit kernel and software.


Top
 Profile  
 
 Post subject: Re: When your OS goes crazy - Screenshots
PostPosted: Fri Feb 10, 2017 12:47 am 
Offline
Member
Member
User avatar

Joined: Wed Aug 17, 2016 4:55 am
Posts: 251
Is it me or the blue channel is shifted by 1 pixel? o_o


Top
 Profile  
 
 Post subject: Re: When your OS goes crazy - Screenshots
PostPosted: Fri Feb 10, 2017 4:16 am 
Offline
Member
Member
User avatar

Joined: Tue Feb 11, 2014 4:59 pm
Posts: 74
Sik wrote:
Is it me or the blue channel is shifted by 1 pixel? o_o

You're almost right :)

_________________
https://blackdev.org/ - system programming, my own 64 bit kernel and software.


Top
 Profile  
 
 Post subject: Re: When your OS goes crazy - Screenshots
PostPosted: Fri Feb 10, 2017 5:41 am 
Offline
Member
Member
User avatar

Joined: Fri Apr 03, 2015 9:41 am
Posts: 492
Tried to implement double-buffering :D


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

_________________
Developing U365.
Source:
only testing: http://gitlab.com/bps-projs/U365/tree/testing

OSDev newbies can copy any code from my repositories, just leave a notice that this code was written by U365 development team, not by you.
Top
 Profile  
 
 Post subject: Re: When your OS goes crazy - Screenshots
PostPosted: Fri Feb 10, 2017 5:46 am 
Offline
Member
Member
User avatar

Joined: Fri Apr 03, 2015 9:41 am
Posts: 492
UPD: recorded a video.


_________________
Developing U365.
Source:
only testing: http://gitlab.com/bps-projs/U365/tree/testing

OSDev newbies can copy any code from my repositories, just leave a notice that this code was written by U365 development team, not by you.


Top
 Profile  
 
 Post subject: Re: When your OS goes crazy - Screenshots
PostPosted: Fri Feb 10, 2017 6:21 am 
Offline
Member
Member
User avatar

Joined: Fri Aug 07, 2015 6:13 am
Posts: 1134
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

_________________
OS: Basic OS
About: 32 Bit Monolithic Kernel Written in C++ and Assembly, Custom FAT 32 Bootloader


Top
 Profile  
 
 Post subject: Re: When your OS goes crazy - Screenshots
PostPosted: Fri Feb 10, 2017 6:36 am 
Offline
Member
Member
User avatar

Joined: Sat Dec 17, 2016 6:58 am
Posts: 101
Location: The Internet
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?

_________________
Everyone should know how to program a computer, because it teaches you how to think! -Steve Jobs
Code:
while ( ! ( succeed = try() ) );


Top
 Profile  
 
 Post subject: Re: When your OS goes crazy - Screenshots
PostPosted: Fri Feb 10, 2017 6:41 am 
Offline
Member
Member
User avatar

Joined: Sun Sep 19, 2010 10:05 pm
Posts: 1074
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.

_________________
Project: OZone
Source: GitHub
Current Task: LIB/OBJ file support
"The more they overthink the plumbing, the easier it is to stop up the drain." - Montgomery Scott


Top
 Profile  
 
 Post subject: Re: When your OS goes crazy - Screenshots
PostPosted: Fri Feb 10, 2017 10:48 am 
Offline
Member
Member
User avatar

Joined: Fri Aug 07, 2015 6:13 am
Posts: 1134
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.

_________________
OS: Basic OS
About: 32 Bit Monolithic Kernel Written in C++ and Assembly, Custom FAT 32 Bootloader


Top
 Profile  
 
 Post subject: Re: When your OS goes crazy - Screenshots
PostPosted: Fri Feb 10, 2017 1:16 pm 
Offline
Member
Member

Joined: Thu May 17, 2007 1:27 pm
Posts: 999
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.

_________________
managarm: Microkernel-based OS capable of running a Wayland desktop (Discord: https://discord.gg/7WB6Ur3). My OS-dev projects: [mlibc: Portable C library for managarm, qword, Linux, Sigma, ...] [LAI: AML interpreter] [xbstrap: Build system for OS distributions].


Top
 Profile  
 
 Post subject: Re: When your OS goes crazy - Screenshots
PostPosted: Fri Feb 10, 2017 3:11 pm 
Offline
Member
Member
User avatar

Joined: Fri Aug 07, 2015 6:13 am
Posts: 1134
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?

_________________
OS: Basic OS
About: 32 Bit Monolithic Kernel Written in C++ and Assembly, Custom FAT 32 Bootloader


Top
 Profile  
 
 Post subject: Re: When your OS goes crazy - Screenshots
PostPosted: Fri Feb 10, 2017 3:47 pm 
Offline
Member
Member

Joined: Thu May 17, 2007 1:27 pm
Posts: 999
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.

_________________
managarm: Microkernel-based OS capable of running a Wayland desktop (Discord: https://discord.gg/7WB6Ur3). My OS-dev projects: [mlibc: Portable C library for managarm, qword, Linux, Sigma, ...] [LAI: AML interpreter] [xbstrap: Build system for OS distributions].


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 809 posts ]  Go to page Previous  1 ... 40, 41, 42, 43, 44, 45, 46 ... 54  Next

All times are UTC - 6 hours


Who is online

Users browsing this forum: belliash and 78 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group