OSDev Series Chapter 23

News discussions

Moderator: Moderators

Re: OSDev Series Chapter 23

Postby 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
User avatar
Mike
Site Admin
 
Posts: 463
Joined: Sat Oct 20, 2007 7:58 pm

Re: OSDev Series Chapter 23

Postby 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

Postby 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...
Insightsoft
 
Posts: 63
Joined: Wed Jul 22, 2009 6:44 am

Re: OSDev Series Chapter 23

Postby 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.
User avatar
djsilence
 
Posts: 30
Joined: Sun Feb 15, 2009 8:49 pm
Location: Kyiv, Ukraine

Re: OSDev Series Chapter 23

Postby Insightsoft » Wed Oct 27, 2010 8:12 am

It was what I did!
_____________
Think it, build it, bit by bit...
Insightsoft
 
Posts: 63
Joined: Wed Jul 22, 2009 6:44 am

Re: OSDev Series Chapter 23

Postby 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.
User avatar
djsilence
 
Posts: 30
Joined: Sun Feb 15, 2009 8:49 pm
Location: Kyiv, Ukraine

Re: OSDev Series Chapter 23

Postby 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...
Insightsoft
 
Posts: 63
Joined: Wed Jul 22, 2009 6:44 am

Previous

Return to News Discussion

Who is online

Users browsing this forum: No registered users and 1 guest

cron