OSDev Series Chapter 23
Moderator:Moderators
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.
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
Website: http://www.brokenthorn.com
Email: webmaster@brokenthorn.com
-
- Posts:63
- Joined:Wed Jul 22, 2009 6:44 am
-
- Posts:63
- Joined:Wed Jul 22, 2009 6:44 am
Re: OSDev Series Chapter 23
Hi Mike,
We need to improve this:
Tell me something, please...
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...
_____________
Think it, build it, bit by bit...
Think it, build it, bit by bit...
Re: OSDev Series Chapter 23
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.
-
- Posts:63
- Joined:Wed Jul 22, 2009 6:44 am
Re: OSDev Series Chapter 23
You mean you have this:
and cursor movement doesn't work properly for you??
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();
Thinking of great - thinking of little, thinking of little - thinking of great.
-
- Posts:63
- Joined:Wed Jul 22, 2009 6:44 am
Re: OSDev Series Chapter 23
I solved my problem, right from the beginning...
I posted this problem to help other who faces this problem...
(maybe changing master project)
I posted this problem to help other who faces this problem...
(maybe changing master project)
_____________
Think it, build it, bit by bit...
Think it, build it, bit by bit...