OSDev Series Chapter 23

News discussions

Moderator: Moderators

User avatar
Mike
Site Admin
Posts: 464
Joined: Sat Oct 20, 2007 7:58 pm
Contact:

Re: OSDev Series Chapter 23

Post by Mike » Mon Oct 11, 2010 10:08 pm

Hello,

You are correct - it should be 0xff not 0xf. You are also correct that the series PMM initialization does not take into consideration data areas between 0-1MB in RAM (IVT,BDA,etc) that can cause possible issues depending on your design and feature set. This is also a bug -- pmmngr_init would prevent this (disregarding the 0xf bug) however main() never takes it into account.

The kernel region is marked as "in use" because it is in use by the kernel itself.
Lead Programmer for BrokenThorn Entertainment, Co.
Website: http://www.brokenthorn.com
Email: webmaster@brokenthorn.com

Insightsoft
Posts: 63
Joined: Wed Jul 22, 2009 6:44 am

Re: OSDev Series Chapter 23

Post by Insightsoft » Mon Oct 11, 2010 10:53 pm

Thanks man...
_____________
Think it, build it, bit by bit...

Insightsoft
Posts: 63
Joined: Wed Jul 22, 2009 6:44 am

Re: OSDev Series Chapter 23

Post by Insightsoft » Tue Oct 26, 2010 9:23 pm

Hi Mike,

We need to improve this:

Code: Select all

file: DebugDisplay.cpp
context code: void DebugUpdateCur(int x, int y)
code: #if 0 .... #end if


Code: Select all

Impact:  is causing a malfunction of that function... it never/or sometimes  runs the code inside the IF 0 statement... so the cursor update is not working properly...


Tell me something, please...
_____________
Think it, build it, bit by bit...

User avatar
djsilence
Posts: 30
Joined: Sun Feb 15, 2009 8:49 pm
Location: Kyiv, Ukraine
Contact:

Re: OSDev Series Chapter 23

Post by djsilence » Wed Oct 27, 2010 5:28 am

Just delete that #if 0 ...#endif statement, and the cursor moving will work properly.
Thinking of great - thinking of little, thinking of little - thinking of great.

Insightsoft
Posts: 63
Joined: Wed Jul 22, 2009 6:44 am

Re: OSDev Series Chapter 23

Post by Insightsoft » Wed Oct 27, 2010 8:12 am

It was what I did!
_____________
Think it, build it, bit by bit...

User avatar
djsilence
Posts: 30
Joined: Sun Feb 15, 2009 8:49 pm
Location: Kyiv, Ukraine
Contact:

Re: OSDev Series Chapter 23

Post by djsilence » Wed Oct 27, 2010 6:36 pm

You mean you have this:

Code: Select all

//! Updates hardware cursor
void DebugUpdateCur (int x, int y)
{
    // get location
    uint16_t cursorLocation = y * 80 + x;

   // send location to vga controller to set cursor
   disable();
    outportb(0x3D4, 14);
    outportb(0x3D5, cursorLocation >> 8); // Send the high byte.
    outportb(0x3D4, 15);
    outportb(0x3D5, cursorLocation);      // Send the low byte.
   enable();


and cursor movement doesn't work properly for you??
Thinking of great - thinking of little, thinking of little - thinking of great.

Insightsoft
Posts: 63
Joined: Wed Jul 22, 2009 6:44 am

Re: OSDev Series Chapter 23

Post by Insightsoft » Wed Oct 27, 2010 11:18 pm

I solved my problem, right from the beginning...
I posted this problem to help other who faces this problem...
(maybe changing master project)
_____________
Think it, build it, bit by bit...

Post Reply