mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-06-10 01:51:03 +09:00
A lot of hacking:
- More work on funneling console output through Console. - init() now breaks off into a separate task ASAP. - ..this leaves the "colonel" task as a simple hlt idle loop. - Mask all IRQs on startup (except IRQ2 for slave passthru) - Fix underallocation bug in Task::allocateRegion(). - Remember how many times each Task has been scheduled. The panel and scheduling banner are disabled until I get things working nicely in the (brave) new Console world.
This commit is contained in:
parent
df4fdd6f1e
commit
79ffdb7205
Notes:
sideshowbarker
2024-07-19 18:45:41 +09:00
Author: https://github.com/awesomekling
Commit: 79ffdb7205
13 changed files with 130 additions and 90 deletions
|
@ -27,7 +27,30 @@ ssize_t Console::read(byte* buffer, size_t bufferSize)
|
|||
|
||||
void Console::putChar(char ch)
|
||||
{
|
||||
vga_putch(nullptr, ch);
|
||||
switch (ch) {
|
||||
case '\n':
|
||||
m_cursorColumn = 0;
|
||||
if (m_cursorRow == (m_rows - 2)) {
|
||||
vga_scroll_up();
|
||||
} else {
|
||||
++m_cursorRow;
|
||||
}
|
||||
vga_set_cursor(m_cursorRow, m_cursorColumn);
|
||||
return;
|
||||
}
|
||||
|
||||
vga_putch_at(m_cursorRow, m_cursorColumn, ch);
|
||||
|
||||
++m_cursorColumn;
|
||||
if (m_cursorColumn >= m_columns) {
|
||||
if (m_cursorRow == (m_rows - 2)) {
|
||||
vga_scroll_up();
|
||||
} else {
|
||||
++m_cursorRow;
|
||||
}
|
||||
m_cursorColumn = 0;
|
||||
}
|
||||
vga_set_cursor(m_cursorRow, m_cursorColumn);
|
||||
}
|
||||
|
||||
ssize_t Console::write(const byte* data, size_t size)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue