summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorAlexis211 <alexis211@gmail.com>2009-12-23 19:19:55 +0100
committerAlexis211 <alexis211@gmail.com>2009-12-23 19:19:55 +0100
commite2d5d79bbc90d73f709953f04b2b0d1faac4d43e (patch)
treebde6f928e3a45ef66f4056cbc932bc21fe44cb31 /Source
parent7ede286ebcb845fe4bfdfb948c6073573b01c3cb (diff)
downloadMelon-e2d5d79bbc90d73f709953f04b2b0d1faac4d43e.tar.gz
Melon-e2d5d79bbc90d73f709953f04b2b0d1faac4d43e.zip
Changed the way virtual terminal commands are handled
These commands include those for moving the cursor, showing/hiding it, changing the color, ...
Diffstat (limited to 'Source')
-rw-r--r--Source/Applications/Demos/GOL.cpp2
-rw-r--r--Source/Applications/Demos/Makefile2
-rw-r--r--Source/Applications/PaperWork/Makefile2
-rwxr-xr-xSource/Applications/Shell/Applets/rot13bin73404 -> 0 bytes
-rw-r--r--Source/Applications/Shell/Makefile6
-rw-r--r--Source/Applications/Shell/Shell-fs.class.cpp10
-rw-r--r--Source/Kernel/Core/SB.ns.cpp50
-rw-r--r--Source/Kernel/Core/kmain.wtf.cpp50
-rw-r--r--Source/Kernel/DeviceManager/Disp.ns.cpp6
-rw-r--r--Source/Kernel/Kernel.ld (renamed from Source/Kernel/Link.ld)0
-rw-r--r--Source/Kernel/Kernel.map3783
-rw-r--r--Source/Kernel/Makefile2
-rw-r--r--Source/Kernel/Shell/KernelShell-fs.class.cpp6
-rw-r--r--Source/Kernel/Shell/KernelShell-sys.class.cpp6
-rw-r--r--Source/Kernel/Shell/KernelShell.class.cpp6
-rw-r--r--Source/Kernel/VTManager/FileVT.class.cpp8
-rw-r--r--Source/Kernel/VTManager/FileVT.class.h2
-rw-r--r--Source/Kernel/VTManager/PipeVT.class.cpp8
-rw-r--r--Source/Kernel/VTManager/PipeVT.class.h2
-rw-r--r--Source/Kernel/VTManager/ScrollableVT.class.h7
-rw-r--r--Source/Kernel/VTManager/SimpleVT.class.cpp62
-rw-r--r--Source/Kernel/VTManager/SimpleVT.class.h19
-rw-r--r--Source/Kernel/VTManager/VirtualTerminal-sc.proto.cpp44
-rw-r--r--Source/Kernel/VTManager/VirtualTerminal.proto.cpp13
-rw-r--r--Source/Kernel/VTManager/VirtualTerminal.proto.h16
-rw-r--r--Source/Library/App.ld (renamed from Source/Library/Link.ld)2
-rw-r--r--Source/Library/Interface/VirtualTerminal.iface.h58
-rw-r--r--Source/Library/Makefile10
-rw-r--r--Source/Library/Melon.abin0 -> 11678 bytes
-rw-r--r--Source/Library/Userland/Binding/VirtualTerminal.class.h48
30 files changed, 3982 insertions, 248 deletions
diff --git a/Source/Applications/Demos/GOL.cpp b/Source/Applications/Demos/GOL.cpp
index ba9cb1c..48d728b 100644
--- a/Source/Applications/Demos/GOL.cpp
+++ b/Source/Applications/Demos/GOL.cpp
@@ -45,7 +45,7 @@ int GOL::run() {
}
}
}
- outvt.moveCursor(0, 0);
+ outvt << MVT::movecsr(0, 0);
outvt.write(tmp.toString()); //BYPASS buffering
outvt<< "Press Ctrl+h for help" << FLUSH;
diff --git a/Source/Applications/Demos/Makefile b/Source/Applications/Demos/Makefile
index e66acce..82489ba 100644
--- a/Source/Applications/Demos/Makefile
+++ b/Source/Applications/Demos/Makefile
@@ -7,7 +7,7 @@ CXX = g++
CXXFLAGS = -nostartfiles -nostdlib -ffreestanding -fno-exceptions -fno-rtti -I ../../Library/Common -I ../../Library/Interface -I ../../Library/Userland -D THIS_IS_MELON_USERLAND
LD = ld
-LDFLAGS = -T ../../Library/Link.ld -L ../../Library
+LDFLAGS = -T ../../Library/App.ld -L ../../Library
Applications = asmdemo cxxdemo GOL
diff --git a/Source/Applications/PaperWork/Makefile b/Source/Applications/PaperWork/Makefile
index 8d079ec..5c379fb 100644
--- a/Source/Applications/PaperWork/Makefile
+++ b/Source/Applications/PaperWork/Makefile
@@ -4,7 +4,7 @@ CXX = g++
CXXFLAGS = -nostartfiles -nostdlib -ffreestanding -fno-exceptions -fno-rtti -I ../../Library/Common -I ../../Library/Interface -I ../../Library/Userland -D THIS_IS_MELON_USERLAND
LD = ld
-LDFLAGS = -T ../../Library/Link.ld -L ../../Library -Map Map.txt
+LDFLAGS = -T ../../Library/App.ld -L ../../Library -Map Map.txt
Objects = PaperWork.o
OutFile = PaperWork
diff --git a/Source/Applications/Shell/Applets/rot13 b/Source/Applications/Shell/Applets/rot13
deleted file mode 100755
index 0399a6f..0000000
--- a/Source/Applications/Shell/Applets/rot13
+++ /dev/null
Binary files differ
diff --git a/Source/Applications/Shell/Makefile b/Source/Applications/Shell/Makefile
index e972dfb..4efe01e 100644
--- a/Source/Applications/Shell/Makefile
+++ b/Source/Applications/Shell/Makefile
@@ -4,7 +4,7 @@ CXX = g++
CXXFLAGS = -nostartfiles -nostdlib -ffreestanding -fno-exceptions -fno-rtti -I ../../Library/Common -I ../../Library/Interface -I ../../Library/Userland -D THIS_IS_MELON_USERLAND
LD = ld
-LDFLAGS = -T ../../Library/Link.ld -L ../../Library
+LDFLAGS = -T ../../Library/App.ld -L ../../Library
Objects = Shell.class.o \
Shell-fs.class.o
@@ -31,8 +31,8 @@ Applets/%: Applets/%.o
clean:
echo "* Removing object files..."
- rm -rf *.o
+ rm -rf *.o Applets/*.o
mrproper: clean
echo "* Removing applications..."
- rm -rf $(OutFile)
+ rm -rf $(OutFile) $(Applets)
diff --git a/Source/Applications/Shell/Shell-fs.class.cpp b/Source/Applications/Shell/Shell-fs.class.cpp
index 30faaf7..23af339 100644
--- a/Source/Applications/Shell/Shell-fs.class.cpp
+++ b/Source/Applications/Shell/Shell-fs.class.cpp
@@ -28,13 +28,11 @@ void Shell::ls(Vector<String>& args) {
if (((p >> i) & 1) == 0) perm[8 - i] = "-";
}
if (n.type() == NT_FILE) {
- outvt << " FILE " << perm << " " << n.getName() << FLUSH;
- outvt.setCsrCol(30);
- outvt << (s32int)n.getLength() << " bytes.\n";
+ outvt << " FILE " << perm << " " << n.getName();
+ outvt << MVT::setcsrcol(35) << (s32int)n.getLength() << " bytes.\n";
} else if (n.type() == NT_DIRECTORY) {
- outvt << " DIR " << perm << " " << n.getName() << "/" << FLUSH;
- outvt.setCsrCol(30);
- outvt << (s32int)n.getLength() << " items.\n";
+ outvt << " DIR " << perm << " " << n.getName() << "/";
+ outvt << MVT::setcsrcol(35) << (s32int)n.getLength() << " items.\n";
}
}
}
diff --git a/Source/Kernel/Core/SB.ns.cpp b/Source/Kernel/Core/SB.ns.cpp
index f5b21ec..acf042f 100644
--- a/Source/Kernel/Core/SB.ns.cpp
+++ b/Source/Kernel/Core/SB.ns.cpp
@@ -22,57 +22,37 @@ void init() {
sb = new SimpleVT(1, 80, STATUSBAR_FGCOLOR, STATUSBAR_BGCOLOR);
height = 1;
sb->map(0, 0);
- sb->hideCursor();
+ *sb << MVT::hidecsr();
}
void drawprogress(const String& s) {
- sb->clear();
+ *sb << MVT::clear();
int d = (sb->width() / 2) - ((BOOT_ITEMS + 4) / 2);
if (height == 1) d -= 4;
- sb->moveCursor(0, d);
- *sb << "{";
+ *sb << MVT::movecsr(0, d) << "{";
for (u32int i = 0; i < boot_progress; i++) *sb << ":";
- *sb << ".";
- sb->moveCursor(0, BOOT_ITEMS + d + 3);
- *sb << "}";
+ *sb << "." << MVT::movecsr(0, BOOT_ITEMS + d + 3) << "}";
if (height > 1) {
*sb << "\n";
- *sb << "Loading : [" << s;
- sb->moveCursor(1, sb->width() - 2);
- *sb << "]";
+ *sb << "Loading : [" << s << MVT::movecsr(1, sb->width() - 2) << "]";
} else {
- sb->moveCursor(0, 0);
- *sb << "Melon is loading :";
- sb->moveCursor(0, d + BOOT_ITEMS + 6);
- *sb << "[" << s;
- sb->moveCursor(0, sb->width() - 2);
- *sb << "]";
+ *sb << MVT::movecsr(0, 0) << "Melon is loading :" << MVT::movecsr(0, d + BOOT_ITEMS + 6) << "[" << s;
+ *sb << MVT::movecsr(0, sb->width() - 2) << "]";
}
}
void drawnormal() {
- sb->clear();
- sb->moveCursor(0, 0);
- *sb << " [Up:" << (s64int)Time::uptime() << "s";
- sb->moveCursor(0, 10);
- *sb << "] [Mem:" << (s64int)PhysMem::free() << "/" << (s64int)PhysMem::total();
- sb->moveCursor(0, 28);
- *sb << "] [Proc.:" << (s64int)Task::processes->size();
- sb->setCursorCol(39);
+ *sb << MVT::clear() << MVT::movecsr(0, 0) << " [Up:" << (s64int)Time::uptime() << "s";
+ *sb << MVT::movecsr(0, 10) << "] [Mem:" << (s64int)PhysMem::free() << "/" << (s64int)PhysMem::total();
+ *sb << MVT::movecsr(0, 28) << "] [Proc.:" << (s64int)Task::processes->size() << MVT::setcsrcol(39);
if (height > 1) {
- *sb << "]";
- sb->moveCursor(1, 0);
+ *sb << "]" << MVT::movecsr(1, 0);
*sb << " [Threads:" << (s64int)Task::threads->size();
- sb->setCursorCol(12);
- *sb << "] [" << msg;
- sb->setCursorCol(sb->width() - 2);
- *sb << "]";
+ *sb << MVT::setcsrcol(12) << "] [" << msg;
+ *sb << MVT::setcsrcol(sb->width() - 2) << "]";
} else {
*sb << "] [Threads:" << (s64int)Task::threads->size();
- sb->setCursorCol(52);
- *sb << "] [" << msg;
- sb->setCursorCol(sb->width() - 2);
- *sb << "]";
+ *sb << MVT::setcsrcol(52) << "] [" << msg << MVT::setcsrcol(sb->width() - 2) << "]";
}
}
@@ -83,7 +63,7 @@ void reinit() {
height = (Disp::mode.textCols < 80 ? 2 : 1);
sb = new SimpleVT(height, Disp::mode.textCols, STATUSBAR_FGCOLOR, STATUSBAR_BGCOLOR);
sb->map(0, 0);
- sb->hideCursor();
+ *sb << MVT::hidecsr();
if (boot_progress != 0) {
drawprogress(msg);
} else {
diff --git a/Source/Kernel/Core/kmain.wtf.cpp b/Source/Kernel/Core/kmain.wtf.cpp
index 1760de8..bd19e8c 100644
--- a/Source/Kernel/Core/kmain.wtf.cpp
+++ b/Source/Kernel/Core/kmain.wtf.cpp
@@ -44,50 +44,6 @@ extern "C" void kmain(multiboot_info_t* mbd, u32int magic);
SimpleVT* kvt;
-u32int logoAnimation(void* p) {
- SimpleVT& vt = *((SimpleVT*)p);
- vt.setColor(8);
- u8int *wat = new u8int[melonLogoLines * melonLogoCols];
- for (int x = 0; x < melonLogoCols; x++) {
- for (int y = 0; y < melonLogoLines; y++) {
- wat[x * melonLogoLines + y] = melonLogo[y][x];
- vt.putChar(y, x, " ");
- }
- }
- vt.setColor(TXTLOGO_FGCOLOR);
- u32int s = 32;
- for (int i = 0; i < 255; i++) {
- for (int x = 0; x < (i < melonLogoCols ? i : melonLogoCols); x++) {
- for (int y = 0; y < melonLogoLines; y++) {
- if (wat[x * melonLogoLines + y] != melonLogo[y][x]) {
- wat[x * melonLogoLines + y]++;
- if (wat[x * melonLogoLines + y] > melonLogo[y][x] && (y + x) % 2 == 1)
- wat[x * melonLogoLines + y] += 2;
- if (wat[x * melonLogoLines + y] >= 127)
- wat[x * melonLogoLines + y] = 32;
- vt.setColor(7);
- vt.putChar(y, x, wat[x * melonLogoLines + y]);
- } else {
- vt.setColor(TXTLOGO_FGCOLOR);
- vt.putChar(y, x, wat[x * melonLogoLines + y]);
- }
- }
- }
- vt.setColor(8);
- if (i < melonLogoCols) {
- for (int y = 0; y < melonLogoLines; y++) {
- s += 102;
- while (s > 127) s -= (127 - 33);
- wat[(i + (y%3)) * melonLogoLines + y] = s;
- vt.putChar(y, (i + (y%3)), wat[(i + (y%3)) * melonLogoLines + y]);
- }
- }
- Task::currThread()->sleep(20);
- }
- delete wat;
- return 0;
-}
-
void kmain(multiboot_info_t* mbd, u32int magic) {
DEBUG("Entering kmain.");
@@ -121,12 +77,12 @@ void kmain(multiboot_info_t* mbd, u32int magic) {
SB::progress("Create kernel VT");
kvt = new ScrollableVT(24, 80, 20, KVT_FGCOLOR, KVT_BGCOLOR);
kvt->map(1, 0);
- kvt->setColor(TXTLOGO_FGCOLOR, TXTLOGO_BGCOLOR);
+ *kvt << MVT::setcolor(TXTLOGO_FGCOLOR, TXTLOGO_BGCOLOR);
for (int i = 0; i < melonLogoLines; i++) {
- kvt->setCursorCol(40 - (melonLogoCols / 2));
+ *kvt << MVT::setcsrcol(40 - (melonLogoCols / 2));
*kvt << melonLogo[i] << "\n";
}
- kvt->setColor(KVT_FGCOLOR, KVT_BGCOLOR);
+ *kvt << MVT::setcolor(KVT_FGCOLOR, KVT_BGCOLOR);
SB::progress("IDT");
IDT::init(); //Setup interrupts
diff --git a/Source/Kernel/DeviceManager/Disp.ns.cpp b/Source/Kernel/DeviceManager/Disp.ns.cpp
index 7ccf254..08de1da 100644
--- a/Source/Kernel/DeviceManager/Disp.ns.cpp
+++ b/Source/Kernel/DeviceManager/Disp.ns.cpp
@@ -60,15 +60,13 @@ void selectMode() {
for (u32int i = 0; i < Disp::modes.size(); i++) {
Disp::mode_t& m = Disp::modes[i];
- *kvt << (s32int)i << ":\t" << "Text " << m.textRows << "x" << m.textCols;
- kvt->setCursorCol(21);
+ *kvt << (s32int)i << ":\t" << "Text " << m.textRows << "x" << m.textCols << MVT::setcsrcol(21);
if (m.graphWidth != 0 and m.graphHeight != 0) {
*kvt << "Graphics " << m.graphWidth << "x" << m.graphHeight << "x" << m.graphDepth << "\t";
} else {
*kvt << "No graphics";
}
- kvt->setCursorCol(45);
- *kvt << m.device->getName() << "\n";
+ *kvt << MVT::setcsrcol(45) << m.device->getName() << "\n";
}
while (1) {
diff --git a/Source/Kernel/Link.ld b/Source/Kernel/Kernel.ld
index dd6add0..dd6add0 100644
--- a/Source/Kernel/Link.ld
+++ b/Source/Kernel/Kernel.ld
diff --git a/Source/Kernel/Kernel.map b/Source/Kernel/Kernel.map
new file mode 100644
index 0000000..0003716
--- /dev/null
+++ b/Source/Kernel/Kernel.map
@@ -0,0 +1,3783 @@
+
+Discarded input sections
+
+ .group 0x00000000 0x8 Core/kmain.wtf.o
+ .group 0x00000000 0x8 Core/kmain.wtf.o
+ .group 0x00000000 0x8 Core/kmain.wtf.o
+ .group 0x00000000 0x8 Core/kmain.wtf.o
+ .group 0x00000000 0x8 Core/kmain.wtf.o
+ .group 0x00000000 0x8 Core/kmain.wtf.o
+ .group 0x00000000 0x8 Core/kmain.wtf.o
+ .group 0x00000000 0x8 Core/kmain.wtf.o
+ .group 0x00000000 0x8 Core/kmain.wtf.o
+ .group 0x00000000 0x8 Core/kmain.wtf.o
+ .group 0x00000000 0x8 Core/kmain.wtf.o
+ .group 0x00000000 0x8 Core/kmain.wtf.o
+ .group 0x00000000 0x8 Core/kmain.wtf.o
+ .group 0x00000000 0x8 Core/kmain.wtf.o
+ .group 0x00000000 0x8 Core/kmain.wtf.o
+ .group 0x00000000 0x8 Core/kmain.wtf.o
+ .group 0x00000000 0x8 Core/kmain.wtf.o
+ .group 0x00000000 0x8 Core/kmain.wtf.o
+ .group 0x00000000 0x8 Core/kmain.wtf.o
+ .group 0x00000000 0x8 Core/kmain.wtf.o
+ .group 0x00000000 0x8 Core/kmain.wtf.o
+ .group 0x00000000 0x8 Core/kmain.wtf.o
+ .group 0x00000000 0x8 Core/kmain.wtf.o
+ .group 0x00000000 0x8 Core/kmain.wtf.o
+ .group 0x00000000 0x8 Core/kmain.wtf.o
+ .group 0x00000000 0x8 Core/kmain.wtf.o
+ .group 0x00000000 0x8 Core/kmain.wtf.o
+ .group 0x00000000 0x8 Core/kmain.wtf.o
+ .group 0x00000000 0x8 Core/kmain.wtf.o
+ .group 0x00000000 0x8 Core/Sys.ns.o
+ .group 0x00000000 0x8 Core/Sys.ns.o
+ .group 0x00000000 0x8 Core/Sys.ns.o
+ .group 0x00000000 0x8 Core/Sys.ns.o
+ .group 0x00000000 0x8 Core/Sys.ns.o
+ .group 0x00000000 0x8 Core/Sys.ns.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c Core/Sys.ns.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c Core/Sys.ns.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 Core/Sys.ns.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 Core/Sys.ns.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 Core/Sys.ns.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 Core/Sys.ns.o
+ .group 0x00000000 0x8 Core/Log.ns.o
+ .group 0x00000000 0x8 Core/Log.ns.o
+ .group 0x00000000 0x8 Core/Log.ns.o
+ .group 0x00000000 0x8 Core/Log.ns.o
+ .group 0x00000000 0x8 Core/Log.ns.o
+ .group 0x00000000 0x8 Core/Log.ns.o
+ .group 0x00000000 0x8 Core/Log.ns.o
+ .group 0x00000000 0x8 Core/Log.ns.o
+ .group 0x00000000 0x8 Core/Log.ns.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c Core/Log.ns.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c Core/Log.ns.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 Core/Log.ns.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 Core/Log.ns.o
+ .text._ZN8TextFileD0Ev
+ 0x00000000 0x25 Core/Log.ns.o
+ .text._ZN8TextFileD1Ev
+ 0x00000000 0x15 Core/Log.ns.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 Core/Log.ns.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 Core/Log.ns.o
+ .rodata._ZTV8TextFile
+ 0x00000000 0x14 Core/Log.ns.o
+ .group 0x00000000 0x8 Core/SB.ns.o
+ .group 0x00000000 0x8 Core/SB.ns.o
+ .group 0x00000000 0x8 Core/SB.ns.o
+ .group 0x00000000 0x8 Core/SB.ns.o
+ .group 0x00000000 0x8 Core/SB.ns.o
+ .group 0x00000000 0x8 Core/SB.ns.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c Core/SB.ns.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c Core/SB.ns.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 Core/SB.ns.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 Core/SB.ns.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 Core/SB.ns.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 Core/SB.ns.o
+ .group 0x00000000 0x8 DeviceManager/Disp.ns.o
+ .group 0x00000000 0x8 DeviceManager/Disp.ns.o
+ .group 0x00000000 0x8 DeviceManager/Disp.ns.o
+ .group 0x00000000 0x8 DeviceManager/Disp.ns.o
+ .group 0x00000000 0x8 DeviceManager/Disp.ns.o
+ .group 0x00000000 0x8 DeviceManager/Disp.ns.o
+ .group 0x00000000 0x8 DeviceManager/Disp.ns.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 DeviceManager/Disp.ns.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c DeviceManager/Disp.ns.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c DeviceManager/Disp.ns.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 DeviceManager/Disp.ns.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 DeviceManager/Disp.ns.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 DeviceManager/Disp.ns.o
+ .group 0x00000000 0x8 DeviceManager/Dev.ns.o
+ .group 0x00000000 0x8 DeviceManager/Dev.ns.o
+ .group 0x00000000 0x8 DeviceManager/Dev.ns.o
+ .group 0x00000000 0x8 DeviceManager/Dev.ns.o
+ .group 0x00000000 0x8 DeviceManager/Dev.ns.o
+ .group 0x00000000 0x8 DeviceManager/Dev.ns.o
+ .group 0x00000000 0x8 DeviceManager/Dev.ns.o
+ .group 0x00000000 0x8 DeviceManager/Dev.ns.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 DeviceManager/Dev.ns.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c DeviceManager/Dev.ns.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c DeviceManager/Dev.ns.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 DeviceManager/Dev.ns.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 DeviceManager/Dev.ns.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 DeviceManager/Dev.ns.o
+ .group 0x00000000 0x8 DeviceManager/Kbd.ns.o
+ .group 0x00000000 0x8 DeviceManager/Kbd.ns.o
+ .group 0x00000000 0x8 DeviceManager/Kbd.ns.o
+ .group 0x00000000 0x8 DeviceManager/Kbd.ns.o
+ .group 0x00000000 0x8 DeviceManager/Kbd.ns.o
+ .group 0x00000000 0x8 DeviceManager/Kbd.ns.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 DeviceManager/Kbd.ns.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c DeviceManager/Kbd.ns.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c DeviceManager/Kbd.ns.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 DeviceManager/Kbd.ns.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 DeviceManager/Kbd.ns.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 DeviceManager/Kbd.ns.o
+ .group 0x00000000 0x8 TaskManager/Process.class.o
+ .group 0x00000000 0x8 TaskManager/Process.class.o
+ .group 0x00000000 0x8 TaskManager/Process.class.o
+ .group 0x00000000 0x8 TaskManager/Process.class.o
+ .group 0x00000000 0x8 TaskManager/Process.class.o
+ .group 0x00000000 0x8 TaskManager/Process.class.o
+ .group 0x00000000 0x8 TaskManager/Process.class.o
+ .group 0x00000000 0x8 TaskManager/Process.class.o
+ .group 0x00000000 0x8 TaskManager/Process.class.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c TaskManager/Process.class.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c TaskManager/Process.class.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 TaskManager/Process.class.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 TaskManager/Process.class.o
+ .text._ZN6VectorI6StringED1Ev
+ 0x00000000 0x50 TaskManager/Process.class.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 TaskManager/Process.class.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 TaskManager/Process.class.o
+ .group 0x00000000 0x8 TaskManager/Process-sc.class.o
+ .group 0x00000000 0x8 TaskManager/Process-sc.class.o
+ .group 0x00000000 0x8 TaskManager/Process-sc.class.o
+ .group 0x00000000 0x8 TaskManager/Process-sc.class.o
+ .group 0x00000000 0x8 TaskManager/Process-sc.class.o
+ .group 0x00000000 0x8 TaskManager/Process-sc.class.o
+ .group 0x00000000 0x8 TaskManager/Process-sc.class.o
+ .group 0x00000000 0x8 TaskManager/Process-sc.class.o
+ .group 0x00000000 0x8 TaskManager/Process-sc.class.o
+ .group 0x00000000 0x8 TaskManager/Process-sc.class.o
+ .group 0x00000000 0x8 TaskManager/Process-sc.class.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c TaskManager/Process-sc.class.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c TaskManager/Process-sc.class.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 TaskManager/Process-sc.class.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 TaskManager/Process-sc.class.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 TaskManager/Process-sc.class.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 TaskManager/Process-sc.class.o
+ .group 0x00000000 0x8 TaskManager/Thread.class.o
+ .group 0x00000000 0x8 TaskManager/Thread.class.o
+ .group 0x00000000 0x8 TaskManager/Thread.class.o
+ .group 0x00000000 0x8 TaskManager/Thread.class.o
+ .group 0x00000000 0x8 TaskManager/Thread.class.o
+ .group 0x00000000 0x8 TaskManager/Thread.class.o
+ .group 0x00000000 0x8 TaskManager/Thread.class.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 TaskManager/Thread.class.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c TaskManager/Thread.class.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c TaskManager/Thread.class.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 TaskManager/Thread.class.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 TaskManager/Thread.class.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 TaskManager/Thread.class.o
+ .group 0x00000000 0x8 TaskManager/V86/V86Thread.class.o
+ .group 0x00000000 0x8 TaskManager/V86/V86Thread.class.o
+ .group 0x00000000 0x8 TaskManager/V86/V86Thread.class.o
+ .group 0x00000000 0x8 TaskManager/Task.ns.o
+ .group 0x00000000 0x8 TaskManager/Task.ns.o
+ .group 0x00000000 0x8 TaskManager/Task.ns.o
+ .group 0x00000000 0x8 TaskManager/Task.ns.o
+ .group 0x00000000 0x8 TaskManager/Task.ns.o
+ .group 0x00000000 0x8 TaskManager/Task.ns.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c TaskManager/Task.ns.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c TaskManager/Task.ns.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 TaskManager/Task.ns.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 TaskManager/Task.ns.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 TaskManager/Task.ns.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 TaskManager/Task.ns.o
+ .group 0x00000000 0x8 VTManager/VirtualTerminal.proto.o
+ .group 0x00000000 0x8 VTManager/VirtualTerminal.proto.o
+ .group 0x00000000 0x8 VTManager/VirtualTerminal.proto.o
+ .group 0x00000000 0x8 VTManager/VirtualTerminal.proto.o
+ .group 0x00000000 0x8 VTManager/VirtualTerminal.proto.o
+ .group 0x00000000 0x8 VTManager/VirtualTerminal.proto.o
+ .group 0x00000000 0x8 VTManager/VirtualTerminal.proto.o
+ .group 0x00000000 0x8 VTManager/VirtualTerminal.proto.o
+ .group 0x00000000 0x8 VTManager/VirtualTerminal.proto.o
+ .group 0x00000000 0x8 VTManager/VirtualTerminal.proto.o
+ .group 0x00000000 0x8 VTManager/VirtualTerminal.proto.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 VTManager/VirtualTerminal.proto.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c VTManager/VirtualTerminal.proto.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c VTManager/VirtualTerminal.proto.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 VTManager/VirtualTerminal.proto.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 VTManager/VirtualTerminal.proto.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 VTManager/VirtualTerminal.proto.o
+ .group 0x00000000 0x8 VTManager/SimpleVT.class.o
+ .group 0x00000000 0x8 VTManager/SimpleVT.class.o
+ .group 0x00000000 0x8 VTManager/SimpleVT.class.o
+ .group 0x00000000 0x8 VTManager/SimpleVT.class.o
+ .group 0x00000000 0x8 VTManager/SimpleVT.class.o
+ .text._ZN15VirtualTerminal10accessibleEv
+ 0x00000000 0xa VTManager/SimpleVT.class.o
+ .group 0x00000000 0x8 VTManager/ScrollableVT.class.o
+ .group 0x00000000 0x8 VTManager/ScrollableVT.class.o
+ .group 0x00000000 0x8 VTManager/ScrollableVT.class.o
+ .group 0x00000000 0x8 VTManager/ScrollableVT.class.o
+ .group 0x00000000 0x8 VTManager/ScrollableVT.class.o
+ .text._ZN15VirtualTerminal10accessibleEv
+ 0x00000000 0xa VTManager/ScrollableVT.class.o
+ .text._ZN8SimpleVT7isBoxedEv
+ 0x00000000 0xa VTManager/ScrollableVT.class.o
+ .text._ZN8SimpleVT6heightEv
+ 0x00000000 0xe VTManager/ScrollableVT.class.o
+ .text._ZN8SimpleVT5widthEv
+ 0x00000000 0xe VTManager/ScrollableVT.class.o
+ .group 0x00000000 0x8 VTManager/PipeVT.class.o
+ .group 0x00000000 0x8 VTManager/PipeVT.class.o
+ .group 0x00000000 0x8 VTManager/PipeVT.class.o
+ .group 0x00000000 0x8 VTManager/PipeVT.class.o
+ .group 0x00000000 0x8 VTManager/PipeVT.class.o
+ .group 0x00000000 0x8 VTManager/PipeVT.class.o
+ .group 0x00000000 0x8 VTManager/PipeVT.class.o
+ .group 0x00000000 0x8 VTManager/PipeVT.class.o
+ .text._ZN15VirtualTerminal10accessibleEv
+ 0x00000000 0xa VTManager/PipeVT.class.o
+ .text._ZN15VirtualTerminal12updateCursorEv
+ 0x00000000 0x5 VTManager/PipeVT.class.o
+ .text._ZN15VirtualTerminal6heightEv
+ 0x00000000 0x7 VTManager/PipeVT.class.o
+ .text._ZN15VirtualTerminal5widthEv
+ 0x00000000 0x7 VTManager/PipeVT.class.o
+ .group 0x00000000 0x8 VTManager/FileVT.class.o
+ .group 0x00000000 0x8 VTManager/FileVT.class.o
+ .group 0x00000000 0x8 VTManager/FileVT.class.o
+ .group 0x00000000 0x8 VTManager/FileVT.class.o
+ .group 0x00000000 0x8 VTManager/FileVT.class.o
+ .group 0x00000000 0x8 VTManager/FileVT.class.o
+ .group 0x00000000 0x8 VTManager/FileVT.class.o
+ .group 0x00000000 0x8 VTManager/FileVT.class.o
+ .group 0x00000000 0x8 VTManager/FileVT.class.o
+ .group 0x00000000 0x8 VTManager/FileVT.class.o
+ .group 0x00000000 0x8 VTManager/FileVT.class.o
+ .group 0x00000000 0x8 VTManager/FileVT.class.o
+ .group 0x00000000 0x8 VTManager/FileVT.class.o
+ .group 0x00000000 0x8 VTManager/FileVT.class.o
+ .group 0x00000000 0x8 VTManager/FileVT.class.o
+ .group 0x00000000 0x8 VTManager/FileVT.class.o
+ .group 0x00000000 0x8 VTManager/FileVT.class.o
+ .group 0x00000000 0x8 VTManager/FileVT.class.o
+ .text._ZN15VirtualTerminal10accessibleEv
+ 0x00000000 0xa VTManager/FileVT.class.o
+ .text._ZN15VirtualTerminal12updateCursorEv
+ 0x00000000 0x5 VTManager/FileVT.class.o
+ .text._ZN15VirtualTerminal6heightEv
+ 0x00000000 0x7 VTManager/FileVT.class.o
+ .text._ZN15VirtualTerminal5widthEv
+ 0x00000000 0x7 VTManager/FileVT.class.o
+ .text._ZN8TextFileD1Ev
+ 0x00000000 0x15 VTManager/FileVT.class.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 VTManager/FileVT.class.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c VTManager/FileVT.class.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c VTManager/FileVT.class.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 VTManager/FileVT.class.o
+ .text._ZN8TextFileD0Ev
+ 0x00000000 0x25 VTManager/FileVT.class.o
+ .text._ZN11BasicStringI5WCharE6affectERKS1_
+ 0x00000000 0xa3 VTManager/FileVT.class.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 VTManager/FileVT.class.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 VTManager/FileVT.class.o
+ .rodata._ZTV8TextFile
+ 0x00000000 0x14 VTManager/FileVT.class.o
+ .group 0x00000000 0x8 VTManager/VirtualTerminal-kbd.proto.o
+ .group 0x00000000 0x8 VTManager/VirtualTerminal-kbd.proto.o
+ .group 0x00000000 0x8 VTManager/VirtualTerminal-kbd.proto.o
+ .group 0x00000000 0x8 VTManager/VirtualTerminal-kbd.proto.o
+ .group 0x00000000 0x8 VTManager/VirtualTerminal-kbd.proto.o
+ .group 0x00000000 0x8 VTManager/VirtualTerminal-kbd.proto.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 VTManager/VirtualTerminal-kbd.proto.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c VTManager/VirtualTerminal-kbd.proto.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c VTManager/VirtualTerminal-kbd.proto.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 VTManager/VirtualTerminal-kbd.proto.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 VTManager/VirtualTerminal-kbd.proto.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 VTManager/VirtualTerminal-kbd.proto.o
+ .group 0x00000000 0x8 VTManager/VirtualTerminal-sc.proto.o
+ .group 0x00000000 0x8 VTManager/VirtualTerminal-sc.proto.o
+ .group 0x00000000 0x8 VTManager/VirtualTerminal-sc.proto.o
+ .group 0x00000000 0x8 VTManager/VirtualTerminal-sc.proto.o
+ .group 0x00000000 0x8 VTManager/VirtualTerminal-sc.proto.o
+ .group 0x00000000 0x8 VTManager/VirtualTerminal-sc.proto.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 VTManager/VirtualTerminal-sc.proto.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c VTManager/VirtualTerminal-sc.proto.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c VTManager/VirtualTerminal-sc.proto.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 VTManager/VirtualTerminal-sc.proto.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 VTManager/VirtualTerminal-sc.proto.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 VTManager/VirtualTerminal-sc.proto.o
+ .group 0x00000000 0x8 VTManager/VT.ns.o
+ .group 0x00000000 0x8 Shell/KernelShell.class.o
+ .group 0x00000000 0x8 Shell/KernelShell.class.o
+ .group 0x00000000 0x8 Shell/KernelShell.class.o
+ .group 0x00000000 0x8 Shell/KernelShell.class.o
+ .group 0x00000000 0x8 Shell/KernelShell.class.o
+ .group 0x00000000 0x8 Shell/KernelShell.class.o
+ .group 0x00000000 0x8 Shell/KernelShell.class.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 Shell/KernelShell.class.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c Shell/KernelShell.class.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c Shell/KernelShell.class.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 Shell/KernelShell.class.o
+ .text._ZN6VectorI6StringED1Ev
+ 0x00000000 0x50 Shell/KernelShell.class.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 Shell/KernelShell.class.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 Shell/KernelShell.class.o
+ .group 0x00000000 0x8 Shell/KernelShell-fs.class.o
+ .group 0x00000000 0x8 Shell/KernelShell-fs.class.o
+ .group 0x00000000 0x8 Shell/KernelShell-fs.class.o
+ .group 0x00000000 0x8 Shell/KernelShell-fs.class.o
+ .group 0x00000000 0x8 Shell/KernelShell-fs.class.o
+ .group 0x00000000 0x8 Shell/KernelShell-fs.class.o
+ .group 0x00000000 0x8 Shell/KernelShell-fs.class.o
+ .group 0x00000000 0x8 Shell/KernelShell-fs.class.o
+ .group 0x00000000 0x8 Shell/KernelShell-fs.class.o
+ .group 0x00000000 0x8 Shell/KernelShell-fs.class.o
+ .group 0x00000000 0x8 Shell/KernelShell-fs.class.o
+ .group 0x00000000 0x8 Shell/KernelShell-fs.class.o
+ .group 0x00000000 0x8 Shell/KernelShell-fs.class.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c Shell/KernelShell-fs.class.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c Shell/KernelShell-fs.class.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 Shell/KernelShell-fs.class.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 Shell/KernelShell-fs.class.o
+ .text._ZN9ByteArrayD0Ev
+ 0x00000000 0x2c Shell/KernelShell-fs.class.o
+ .text._ZN11BasicStringIhED0Ev
+ 0x00000000 0x2c Shell/KernelShell-fs.class.o
+ .text._ZN11BasicStringIhED1Ev
+ 0x00000000 0x22 Shell/KernelShell-fs.class.o
+ .text._ZN9ByteArrayD1Ev
+ 0x00000000 0x22 Shell/KernelShell-fs.class.o
+ .text._ZN11BasicStringI5WCharE6affectERKS1_
+ 0x00000000 0xa3 Shell/KernelShell-fs.class.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 Shell/KernelShell-fs.class.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 Shell/KernelShell-fs.class.o
+ .rodata._ZTV9ByteArray
+ 0x00000000 0x10 Shell/KernelShell-fs.class.o
+ .rodata._ZTV11BasicStringIhE
+ 0x00000000 0x10 Shell/KernelShell-fs.class.o
+ .group 0x00000000 0x8 Shell/KernelShell-sys.class.o
+ .group 0x00000000 0x8 Shell/KernelShell-sys.class.o
+ .group 0x00000000 0x8 Shell/KernelShell-sys.class.o
+ .group 0x00000000 0x8 Shell/KernelShell-sys.class.o
+ .group 0x00000000 0x8 Shell/KernelShell-sys.class.o
+ .group 0x00000000 0x8 Shell/KernelShell-sys.class.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 Shell/KernelShell-sys.class.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c Shell/KernelShell-sys.class.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c Shell/KernelShell-sys.class.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 Shell/KernelShell-sys.class.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 Shell/KernelShell-sys.class.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 Shell/KernelShell-sys.class.o
+ .group 0x00000000 0x8 Linker/MelonBinary.class.o
+ .group 0x00000000 0x8 Linker/MelonBinary.class.o
+ .group 0x00000000 0x8 Linker/MelonBinary.class.o
+ .group 0x00000000 0x8 Linker/MelonBinary.class.o
+ .group 0x00000000 0x8 Linker/ElfBinary.class.o
+ .group 0x00000000 0x8 Linker/ElfBinary.class.o
+ .group 0x00000000 0x8 Linker/ElfBinary.class.o
+ .group 0x00000000 0x8 Linker/ElfBinary.class.o
+ .text._ZN6BinaryD1Ev
+ 0x00000000 0xe Linker/ElfBinary.class.o
+ .text._ZN6BinaryD0Ev
+ 0x00000000 0x15 Linker/ElfBinary.class.o
+ .rodata._ZTV6Binary
+ 0x00000000 0x14 Linker/ElfBinary.class.o
+ .group 0x00000000 0x8 ../Library/Common/String.class.o
+ .group 0x00000000 0x8 ../Library/Common/String.class.o
+ .group 0x00000000 0x8 ../Library/Common/String.class.o
+ .group 0x00000000 0x8 ../Library/Common/String.class.o
+ .group 0x00000000 0x8 ../Library/Common/String.class.o
+ .group 0x00000000 0x8 ../Library/Common/String.class.o
+ .group 0x00000000 0x8 ../Library/Common/String.class.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c ../Library/Common/String.class.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c ../Library/Common/String.class.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 ../Library/Common/String.class.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 ../Library/Common/String.class.o
+ .text._ZN6VectorI6StringE4pushERKS0_
+ 0x00000000 0x108 ../Library/Common/String.class.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 ../Library/Common/String.class.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 ../Library/Common/String.class.o
+ .group 0x00000000 0x8 ../Library/Common/ByteArray.class.o
+ .group 0x00000000 0x8 ../Library/Common/ByteArray.class.o
+ .group 0x00000000 0x8 ../Library/Common/ByteArray.class.o
+ .group 0x00000000 0x8 ../Library/Common/ByteArray.class.o
+ .group 0x00000000 0x8 ../Library/Common/ByteArray.class.o
+ .group 0x00000000 0x8 ../Library/Common/ByteArray.class.o
+ .text._ZN9ByteArrayD0Ev
+ 0x00000000 0x2c ../Library/Common/ByteArray.class.o
+ .text._ZN11BasicStringIhED0Ev
+ 0x00000000 0x2c ../Library/Common/ByteArray.class.o
+ .text._ZN11BasicStringIhED1Ev
+ 0x00000000 0x22 ../Library/Common/ByteArray.class.o
+ .text._ZN9ByteArrayD1Ev
+ 0x00000000 0x22 ../Library/Common/ByteArray.class.o
+ .rodata._ZTV9ByteArray
+ 0x00000000 0x10 ../Library/Common/ByteArray.class.o
+ .rodata._ZTV11BasicStringIhE
+ 0x00000000 0x10 ../Library/Common/ByteArray.class.o
+ .group 0x00000000 0x8 ../Library/Common/TextFile.class.o
+ .group 0x00000000 0x8 ../Library/Common/TextFile.class.o
+ .group 0x00000000 0x8 ../Library/Common/TextFile.class.o
+ .group 0x00000000 0x8 ../Library/Common/TextFile.class.o
+ .group 0x00000000 0x8 ../Library/Common/TextFile.class.o
+ .group 0x00000000 0x8 ../Library/Common/TextFile.class.o
+ .group 0x00000000 0x8 ../Library/Common/TextFile.class.o
+ .group 0x00000000 0x8 ../Library/Common/TextFile.class.o
+ .group 0x00000000 0x8 ../Library/Common/TextFile.class.o
+ .group 0x00000000 0x8 ../Library/Common/TextFile.class.o
+ .group 0x00000000 0x8 ../Library/Common/TextFile.class.o
+ .group 0x00000000 0x8 ../Library/Common/TextFile.class.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c ../Library/Common/TextFile.class.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c ../Library/Common/TextFile.class.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 ../Library/Common/TextFile.class.o
+ .text._ZN9ByteArrayD0Ev
+ 0x00000000 0x2c ../Library/Common/TextFile.class.o
+ .text._ZN11BasicStringIhED0Ev
+ 0x00000000 0x2c ../Library/Common/TextFile.class.o
+ .text._ZN11BasicStringIhED1Ev
+ 0x00000000 0x22 ../Library/Common/TextFile.class.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 ../Library/Common/TextFile.class.o
+ .text._ZN9ByteArrayD1Ev
+ 0x00000000 0x22 ../Library/Common/TextFile.class.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 ../Library/Common/TextFile.class.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 ../Library/Common/TextFile.class.o
+ .rodata._ZTV9ByteArray
+ 0x00000000 0x10 ../Library/Common/TextFile.class.o
+ .rodata._ZTV11BasicStringIhE
+ 0x00000000 0x10 ../Library/Common/TextFile.class.o
+ .group 0x00000000 0x8 VFS/Partition.class.o
+ .group 0x00000000 0x8 VFS/Partition.class.o
+ .group 0x00000000 0x8 VFS/Partition.class.o
+ .group 0x00000000 0x8 VFS/Part.ns.o
+ .group 0x00000000 0x8 VFS/Part.ns.o
+ .group 0x00000000 0x8 VFS/Part.ns.o
+ .group 0x00000000 0x8 VFS/Part.ns.o
+ .group 0x00000000 0x8 VFS/Part.ns.o
+ .group 0x00000000 0x8 VFS/Part.ns.o
+ .group 0x00000000 0x8 VFS/Part.ns.o
+ .group 0x00000000 0x8 VFS/Part.ns.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c VFS/Part.ns.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c VFS/Part.ns.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 VFS/Part.ns.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 VFS/Part.ns.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 VFS/Part.ns.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 VFS/Part.ns.o
+ .group 0x00000000 0x8 VFS/VFS.ns.o
+ .group 0x00000000 0x8 VFS/VFS.ns.o
+ .group 0x00000000 0x8 VFS/VFS.ns.o
+ .group 0x00000000 0x8 VFS/VFS.ns.o
+ .group 0x00000000 0x8 VFS/VFS.ns.o
+ .group 0x00000000 0x8 VFS/VFS.ns.o
+ .group 0x00000000 0x8 VFS/VFS.ns.o
+ .group 0x00000000 0x8 VFS/VFS.ns.o
+ .group 0x00000000 0x8 VFS/VFS.ns.o
+ .group 0x00000000 0x8 VFS/VFS.ns.o
+ .group 0x00000000 0x8 VFS/VFS.ns.o
+ .group 0x00000000 0x8 VFS/VFS.ns.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c VFS/VFS.ns.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c VFS/VFS.ns.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 VFS/VFS.ns.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 VFS/VFS.ns.o
+ .text._ZN6VectorI6StringED1Ev
+ 0x00000000 0x50 VFS/VFS.ns.o
+ .text._ZN11BasicStringI5WCharE6affectERKS1_
+ 0x00000000 0xa3 VFS/VFS.ns.o
+ .text._ZN6VectorI6StringE4pushERKS0_
+ 0x00000000 0x99 VFS/VFS.ns.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 VFS/VFS.ns.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 VFS/VFS.ns.o
+ .group 0x00000000 0x8 VFS/FSNode-sc.proto.o
+ .group 0x00000000 0x8 VFS/FSNode-sc.proto.o
+ .group 0x00000000 0x8 VFS/FSNode-sc.proto.o
+ .group 0x00000000 0x8 VFS/FSNode-sc.proto.o
+ .group 0x00000000 0x8 VFS/FSNode-sc.proto.o
+ .group 0x00000000 0x8 VFS/FSNode-sc.proto.o
+ .group 0x00000000 0x8 VFS/FSNode-sc.proto.o
+ .group 0x00000000 0x8 VFS/FSNode-sc.proto.o
+ .group 0x00000000 0x8 VFS/FSNode-sc.proto.o
+ .group 0x00000000 0x8 VFS/FSNode-sc.proto.o
+ .group 0x00000000 0x8 VFS/FSNode-sc.proto.o
+ .group 0x00000000 0x8 VFS/FSNode-sc.proto.o
+ .group 0x00000000 0x8 VFS/FSNode-sc.proto.o
+ .group 0x00000000 0x8 VFS/FSNode-sc.proto.o
+ .group 0x00000000 0x8 VFS/FSNode-sc.proto.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 VFS/FSNode-sc.proto.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c VFS/FSNode-sc.proto.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c VFS/FSNode-sc.proto.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 VFS/FSNode-sc.proto.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 VFS/FSNode-sc.proto.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 VFS/FSNode-sc.proto.o
+ .group 0x00000000 0x8 VFS/File.class.o
+ .group 0x00000000 0x8 VFS/File.class.o
+ .group 0x00000000 0x8 VFS/File.class.o
+ .group 0x00000000 0x8 VFS/File.class.o
+ .group 0x00000000 0x8 VFS/File.class.o
+ .group 0x00000000 0x8 VFS/File.class.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c VFS/File.class.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c VFS/File.class.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 VFS/File.class.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 VFS/File.class.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 VFS/File.class.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 VFS/File.class.o
+ .group 0x00000000 0x8 VFS/File-sc.class.o
+ .group 0x00000000 0x8 VFS/File-sc.class.o
+ .group 0x00000000 0x8 VFS/File-sc.class.o
+ .group 0x00000000 0x8 VFS/File-sc.class.o
+ .group 0x00000000 0x8 VFS/File-sc.class.o
+ .group 0x00000000 0x8 VFS/File-sc.class.o
+ .group 0x00000000 0x8 VFS/File-sc.class.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c VFS/File-sc.class.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c VFS/File-sc.class.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 VFS/File-sc.class.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 VFS/File-sc.class.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 VFS/File-sc.class.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 VFS/File-sc.class.o
+ .group 0x00000000 0x8 VFS/DirectoryNode.class.o
+ .group 0x00000000 0x8 VFS/DirectoryNode.class.o
+ .group 0x00000000 0x8 VFS/DirectoryNode.class.o
+ .group 0x00000000 0x8 VFS/DirectoryNode.class.o
+ .group 0x00000000 0x8 VFS/DirectoryNode.class.o
+ .group 0x00000000 0x8 VFS/DirectoryNode.class.o
+ .group 0x00000000 0x8 VFS/DirectoryNode.class.o
+ .group 0x00000000 0x8 VFS/DirectoryNode.class.o
+ .group 0x00000000 0x8 VFS/DirectoryNode.class.o
+ .group 0x00000000 0x8 VFS/DirectoryNode.class.o
+ .text._ZN6FSNode4usedEv
+ 0x00000000 0x7 VFS/DirectoryNode.class.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c VFS/DirectoryNode.class.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c VFS/DirectoryNode.class.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 VFS/DirectoryNode.class.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 VFS/DirectoryNode.class.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 VFS/DirectoryNode.class.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 VFS/DirectoryNode.class.o
+ .group 0x00000000 0x8 UserManager/Usr.ns.o
+ .group 0x00000000 0x8 UserManager/Usr.ns.o
+ .group 0x00000000 0x8 UserManager/Usr.ns.o
+ .group 0x00000000 0x8 UserManager/Usr.ns.o
+ .group 0x00000000 0x8 UserManager/Usr.ns.o
+ .group 0x00000000 0x8 UserManager/Usr.ns.o
+ .group 0x00000000 0x8 UserManager/Usr.ns.o
+ .group 0x00000000 0x8 UserManager/Usr.ns.o
+ .group 0x00000000 0x8 UserManager/Usr.ns.o
+ .group 0x00000000 0x8 UserManager/Usr.ns.o
+ .group 0x00000000 0x8 UserManager/Usr.ns.o
+ .group 0x00000000 0x8 UserManager/Usr.ns.o
+ .group 0x00000000 0x8 UserManager/Usr.ns.o
+ .group 0x00000000 0x8 UserManager/Usr.ns.o
+ .group 0x00000000 0x8 UserManager/Usr.ns.o
+ .group 0x00000000 0x8 UserManager/Usr.ns.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c UserManager/Usr.ns.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c UserManager/Usr.ns.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 UserManager/Usr.ns.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 UserManager/Usr.ns.o
+ .text._ZN6VectorI6StringED1Ev
+ 0x00000000 0x50 UserManager/Usr.ns.o
+ .text._ZN6StringC1ERKS_
+ 0x00000000 0xa9 UserManager/Usr.ns.o
+ .text._ZN8TextFileD0Ev
+ 0x00000000 0x25 UserManager/Usr.ns.o
+ .text._ZN8TextFileD1Ev
+ 0x00000000 0x15 UserManager/Usr.ns.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 UserManager/Usr.ns.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 UserManager/Usr.ns.o
+ .rodata._ZTV8TextFile
+ 0x00000000 0x14 UserManager/Usr.ns.o
+ .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o
+ .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o
+ .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o
+ .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o
+ .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o
+ .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o
+ .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o
+ .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o
+ .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o
+ .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o
+ .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o
+ .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o
+ .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o
+ .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o
+ .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o
+ .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o
+ .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o
+ .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o
+ .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o
+ .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o
+ .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o
+ .text._ZN6FSNode9getLengthEv
+ 0x00000000 0xe FileSystems/RamFS/RamFS.class.o
+ .text._ZN6FSNode9getParentEv
+ 0x00000000 0xb FileSystems/RamFS/RamFS.class.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c FileSystems/RamFS/RamFS.class.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c FileSystems/RamFS/RamFS.class.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 FileSystems/RamFS/RamFS.class.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 FileSystems/RamFS/RamFS.class.o
+ .text._ZN11BasicStringI5WCharE6affectERKS1_
+ 0x00000000 0xa3 FileSystems/RamFS/RamFS.class.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 FileSystems/RamFS/RamFS.class.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 FileSystems/RamFS/RamFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o
+ .text._ZN6FSNode4usedEv
+ 0x00000000 0x7 FileSystems/FAT/FATFS.class.o
+ .text._ZN6FSNode9getLengthEv
+ 0x00000000 0xe FileSystems/FAT/FATFS.class.o
+ .text._ZN6FSNode9getParentEv
+ 0x00000000 0xb FileSystems/FAT/FATFS.class.o
+ .text._ZN8FileNode4typeEv
+ 0x00000000 0xa FileSystems/FAT/FATFS.class.o
+ .text._ZN8FileNode9removableEv
+ 0x00000000 0xa FileSystems/FAT/FATFS.class.o
+ .text._ZN8FileNode4usedEv
+ 0x00000000 0x1c FileSystems/FAT/FATFS.class.o
+ .text._ZN13DirectoryNode4typeEv
+ 0x00000000 0xa FileSystems/FAT/FATFS.class.o
+ .text._ZN9ByteArrayD0Ev
+ 0x00000000 0x2c FileSystems/FAT/FATFS.class.o
+ .text._ZN11BasicStringIhED0Ev
+ 0x00000000 0x2c FileSystems/FAT/FATFS.class.o
+ .text._ZN11BasicStringIhED1Ev
+ 0x00000000 0x22 FileSystems/FAT/FATFS.class.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c FileSystems/FAT/FATFS.class.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c FileSystems/FAT/FATFS.class.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 FileSystems/FAT/FATFS.class.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 FileSystems/FAT/FATFS.class.o
+ .text._ZN9ByteArrayD1Ev
+ 0x00000000 0x22 FileSystems/FAT/FATFS.class.o
+ .text._ZN11BasicStringI5WCharE6affectERKS1_
+ 0x00000000 0xa3 FileSystems/FAT/FATFS.class.o
+ .text._ZN8FileNodeD0Ev
+ 0x00000000 0x3b FileSystems/FAT/FATFS.class.o
+ .text._ZN8FileNodeD1Ev
+ 0x00000000 0x33 FileSystems/FAT/FATFS.class.o
+ .rodata._ZTV9ByteArray
+ 0x00000000 0x10 FileSystems/FAT/FATFS.class.o
+ .rodata._ZTV11BasicStringIhE
+ 0x00000000 0x10 FileSystems/FAT/FATFS.class.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 FileSystems/FAT/FATFS.class.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 FileSystems/FAT/FATFS.class.o
+ .rodata._ZTV8FileNode
+ 0x00000000 0x28 FileSystems/FAT/FATFS.class.o
+ .group 0x00000000 0x8 SyscallManager/Ressource.class.o
+ .group 0x00000000 0x8 SyscallManager/Ressource.class.o
+ .group 0x00000000 0x8 SyscallManager/Ressource.class.o
+ .group 0x00000000 0x8 SyscallManager/Ressource.class.o
+ .group 0x00000000 0x8 SyscallManager/Ressource.class.o
+ .group 0x00000000 0x8 SyscallManager/Ressource.class.o
+ .group 0x00000000 0x8 SyscallManager/Ressource.class.o
+ .group 0x00000000 0x8 SyscallManager/Ressource.class.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c SyscallManager/Ressource.class.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c SyscallManager/Ressource.class.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 SyscallManager/Ressource.class.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 SyscallManager/Ressource.class.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 SyscallManager/Ressource.class.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 SyscallManager/Ressource.class.o
+ .group 0x00000000 0x8 Devices/Display/VGATextOutput.class.o
+ .group 0x00000000 0x8 Devices/Display/VGATextOutput.class.o
+ .group 0x00000000 0x8 Devices/Display/VGATextOutput.class.o
+ .group 0x00000000 0x8 Devices/Display/VGATextOutput.class.o
+ .group 0x00000000 0x8 Devices/Display/VGATextOutput.class.o
+ .group 0x00000000 0x8 Devices/Display/VGATextOutput.class.o
+ .group 0x00000000 0x8 Devices/Display/VGATextOutput.class.o
+ .group 0x00000000 0x8 Devices/Display/VGATextOutput.class.o
+ .group 0x00000000 0x8 Devices/Display/VGATextOutput.class.o
+ .group 0x00000000 0x8 Devices/Display/VGATextOutput.class.o
+ .group 0x00000000 0x8 Devices/Display/VGATextOutput.class.o
+ .group 0x00000000 0x8 Devices/Display/VGATextOutput.class.o
+ .group 0x00000000 0x8 Devices/Display/VGATextOutput.class.o
+ .group 0x00000000 0x8 Devices/Display/VGATextOutput.class.o
+ .group 0x00000000 0x8 Devices/Display/VGATextOutput.class.o
+ .text._ZN6DeviceD1Ev
+ 0x00000000 0xe Devices/Display/VGATextOutput.class.o
+ .text._ZN6Device9handleIRQE11registers_ti
+ 0x00000000 0x5 Devices/Display/VGATextOutput.class.o
+ .text._ZN7DisplayD1Ev
+ 0x00000000 0xe Devices/Display/VGATextOutput.class.o
+ .text._ZN7Display9unsetModeEv
+ 0x00000000 0x5 Devices/Display/VGATextOutput.class.o
+ .text._ZN7Display10textScrollEtttth
+ 0x00000000 0x7 Devices/Display/VGATextOutput.class.o
+ .text._ZN7Display6putPixEttj
+ 0x00000000 0x5 Devices/Display/VGATextOutput.class.o
+ .text._ZN7Display6getPixEtt
+ 0x00000000 0x7 Devices/Display/VGATextOutput.class.o
+ .text._ZN7DisplayD0Ev
+ 0x00000000 0x15 Devices/Display/VGATextOutput.class.o
+ .text._ZN6DeviceD0Ev
+ 0x00000000 0x15 Devices/Display/VGATextOutput.class.o
+ .rodata._ZTV7Display
+ 0x00000000 0x40 Devices/Display/VGATextOutput.class.o
+ .rodata._ZTV6Device
+ 0x00000000 0x1c Devices/Display/VGATextOutput.class.o
+ .group 0x00000000 0x8 Devices/Display/GraphicDisplay.proto.o
+ .group 0x00000000 0x8 Devices/Display/GraphicDisplay.proto.o
+ .group 0x00000000 0x8 Devices/Display/GraphicDisplay.proto.o
+ .group 0x00000000 0x8 Devices/Display/GraphicDisplay.proto.o
+ .group 0x00000000 0x8 Devices/Display/GraphicDisplay.proto.o
+ .group 0x00000000 0x8 Devices/Display/GraphicDisplay.proto.o
+ .group 0x00000000 0x8 Devices/Display/GraphicDisplay.proto.o
+ .group 0x00000000 0x8 Devices/Display/GraphicDisplay.proto.o
+ .group 0x00000000 0x8 Devices/Display/GraphicDisplay.proto.o
+ .group 0x00000000 0x8 Devices/Display/GraphicDisplay.proto.o
+ .group 0x00000000 0x8 Devices/Display/GraphicDisplay.proto.o
+ .group 0x00000000 0x8 Devices/Display/GraphicDisplay.proto.o
+ .group 0x00000000 0x8 Devices/Display/GraphicDisplay.proto.o
+ .group 0x00000000 0x8 Devices/Display/GraphicDisplay.proto.o
+ .text._ZN6DeviceD1Ev
+ 0x00000000 0xe Devices/Display/GraphicDisplay.proto.o
+ .text._ZN6Device9handleIRQE11registers_ti
+ 0x00000000 0x5 Devices/Display/GraphicDisplay.proto.o
+ .text._ZN7DisplayD1Ev
+ 0x00000000 0xe Devices/Display/GraphicDisplay.proto.o
+ .text._ZN7Display9unsetModeEv
+ 0x00000000 0x5 Devices/Display/GraphicDisplay.proto.o
+ .text._ZN7Display10textScrollEtttth
+ 0x00000000 0x7 Devices/Display/GraphicDisplay.proto.o
+ .text._ZN7Display6putPixEttj
+ 0x00000000 0x5 Devices/Display/GraphicDisplay.proto.o
+ .text._ZN7Display6getPixEtt
+ 0x00000000 0x7 Devices/Display/GraphicDisplay.proto.o
+ .text._ZN7DisplayD0Ev
+ 0x00000000 0x15 Devices/Display/GraphicDisplay.proto.o
+ .text._ZN6DeviceD0Ev
+ 0x00000000 0x15 Devices/Display/GraphicDisplay.proto.o
+ .rodata._ZTV7Display
+ 0x00000000 0x40 Devices/Display/GraphicDisplay.proto.o
+ .rodata._ZTV6Device
+ 0x00000000 0x1c Devices/Display/GraphicDisplay.proto.o
+ .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o
+ .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o
+ .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o
+ .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o
+ .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o
+ .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o
+ .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o
+ .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o
+ .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o
+ .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o
+ .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o
+ .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o
+ .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o
+ .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o
+ .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o
+ .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o
+ .text._ZN6DeviceD1Ev
+ 0x00000000 0xe Devices/Display/VESADisplay.class.o
+ .text._ZN6Device9handleIRQE11registers_ti
+ 0x00000000 0x5 Devices/Display/VESADisplay.class.o
+ .text._ZN7DisplayD1Ev
+ 0x00000000 0xe Devices/Display/VESADisplay.class.o
+ .text._ZN7Display9unsetModeEv
+ 0x00000000 0x5 Devices/Display/VESADisplay.class.o
+ .text._ZN7Display10textScrollEtttth
+ 0x00000000 0x7 Devices/Display/VESADisplay.class.o
+ .text._ZN7Display6putPixEttj
+ 0x00000000 0x5 Devices/Display/VESADisplay.class.o
+ .text._ZN7Display6getPixEtt
+ 0x00000000 0x7 Devices/Display/VESADisplay.class.o
+ .text._ZN7DisplayD0Ev
+ 0x00000000 0x15 Devices/Display/VESADisplay.class.o
+ .text._ZN6DeviceD0Ev
+ 0x00000000 0x15 Devices/Display/VESADisplay.class.o
+ .rodata._ZTV7Display
+ 0x00000000 0x40 Devices/Display/VESADisplay.class.o
+ .rodata._ZTV6Device
+ 0x00000000 0x1c Devices/Display/VESADisplay.class.o
+ .group 0x00000000 0x8 Devices/Keyboard/PS2Keyboard.class.o
+ .group 0x00000000 0x8 Devices/Keyboard/PS2Keyboard.class.o
+ .group 0x00000000 0x8 Devices/Keyboard/PS2Keyboard.class.o
+ .group 0x00000000 0x8 Devices/Keyboard/PS2Keyboard.class.o
+ .group 0x00000000 0x8 Devices/Keyboard/PS2Keyboard.class.o
+ .group 0x00000000 0x8 Devices/Keyboard/PS2Keyboard.class.o
+ .group 0x00000000 0x8 Devices/Keyboard/PS2Keyboard.class.o
+ .group 0x00000000 0x8 Devices/Keyboard/PS2Keyboard.class.o
+ .group 0x00000000 0x8 Devices/Keyboard/PS2Keyboard.class.o
+ .group 0x00000000 0x8 Devices/Keyboard/PS2Keyboard.class.o
+ .text._ZN6DeviceD1Ev
+ 0x00000000 0xe Devices/Keyboard/PS2Keyboard.class.o
+ .text._ZN6Device9handleIRQE11registers_ti
+ 0x00000000 0x5 Devices/Keyboard/PS2Keyboard.class.o
+ .text._ZN6DeviceD0Ev
+ 0x00000000 0x15 Devices/Keyboard/PS2Keyboard.class.o
+ .rodata._ZTV6Device
+ 0x00000000 0x1c Devices/Keyboard/PS2Keyboard.class.o
+ .group 0x00000000 0x8 Devices/Floppy/FloppyController.class.o
+ .group 0x00000000 0x8 Devices/Floppy/FloppyController.class.o
+ .group 0x00000000 0x8 Devices/Floppy/FloppyController.class.o
+ .group 0x00000000 0x8 Devices/Floppy/FloppyController.class.o
+ .group 0x00000000 0x8 Devices/Floppy/FloppyController.class.o
+ .group 0x00000000 0x8 Devices/Floppy/FloppyController.class.o
+ .group 0x00000000 0x8 Devices/Floppy/FloppyController.class.o
+ .group 0x00000000 0x8 Devices/Floppy/FloppyController.class.o
+ .group 0x00000000 0x8 Devices/Floppy/FloppyController.class.o
+ .group 0x00000000 0x8 Devices/Floppy/FloppyController.class.o
+ .group 0x00000000 0x8 Devices/Floppy/FloppyController.class.o
+ .group 0x00000000 0x8 Devices/Floppy/FloppyController.class.o
+ .group 0x00000000 0x8 Devices/Floppy/FloppyController.class.o
+ .text._ZN6DeviceD1Ev
+ 0x00000000 0xe Devices/Floppy/FloppyController.class.o
+ .text._ZN6Device9handleIRQE11registers_ti
+ 0x00000000 0x5 Devices/Floppy/FloppyController.class.o
+ .text._ZN6DeviceD0Ev
+ 0x00000000 0x15 Devices/Floppy/FloppyController.class.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c Devices/Floppy/FloppyController.class.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c Devices/Floppy/FloppyController.class.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 Devices/Floppy/FloppyController.class.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 Devices/Floppy/FloppyController.class.o
+ .rodata._ZTV6Device
+ 0x00000000 0x1c Devices/Floppy/FloppyController.class.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 Devices/Floppy/FloppyController.class.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 Devices/Floppy/FloppyController.class.o
+ .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o
+ .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o
+ .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o
+ .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o
+ .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o
+ .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o
+ .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o
+ .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o
+ .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o
+ .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o
+ .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o
+ .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o
+ .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o
+ .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o
+ .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o
+ .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o
+ .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o
+ .text._ZN6DeviceD1Ev
+ 0x00000000 0xe Devices/Floppy/FloppyDrive.class.o
+ .text._ZN6Device9handleIRQE11registers_ti
+ 0x00000000 0x5 Devices/Floppy/FloppyDrive.class.o
+ .text._ZN6DeviceD0Ev
+ 0x00000000 0x15 Devices/Floppy/FloppyDrive.class.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c Devices/Floppy/FloppyDrive.class.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c Devices/Floppy/FloppyDrive.class.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 Devices/Floppy/FloppyDrive.class.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 Devices/Floppy/FloppyDrive.class.o
+ .rodata._ZTV6Device
+ 0x00000000 0x1c Devices/Floppy/FloppyDrive.class.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 Devices/Floppy/FloppyDrive.class.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 Devices/Floppy/FloppyDrive.class.o
+ .group 0x00000000 0x8 Devices/ATA/ATAController.class.o
+ .group 0x00000000 0x8 Devices/ATA/ATAController.class.o
+ .group 0x00000000 0x8 Devices/ATA/ATAController.class.o
+ .group 0x00000000 0x8 Devices/ATA/ATAController.class.o
+ .group 0x00000000 0x8 Devices/ATA/ATAController.class.o
+ .group 0x00000000 0x8 Devices/ATA/ATAController.class.o
+ .group 0x00000000 0x8 Devices/ATA/ATAController.class.o
+ .group 0x00000000 0x8 Devices/ATA/ATAController.class.o
+ .group 0x00000000 0x8 Devices/ATA/ATAController.class.o
+ .group 0x00000000 0x8 Devices/ATA/ATAController.class.o
+ .group 0x00000000 0x8 Devices/ATA/ATAController.class.o
+ .group 0x00000000 0x8 Devices/ATA/ATAController.class.o
+ .group 0x00000000 0x8 Devices/ATA/ATAController.class.o
+ .text._ZN6DeviceD1Ev
+ 0x00000000 0xe Devices/ATA/ATAController.class.o
+ .text._ZN6Device9handleIRQE11registers_ti
+ 0x00000000 0x5 Devices/ATA/ATAController.class.o
+ .text._ZN6DeviceD0Ev
+ 0x00000000 0x15 Devices/ATA/ATAController.class.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 Devices/ATA/ATAController.class.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c Devices/ATA/ATAController.class.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c Devices/ATA/ATAController.class.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 Devices/ATA/ATAController.class.o
+ .rodata._ZTV6Device
+ 0x00000000 0x1c Devices/ATA/ATAController.class.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 Devices/ATA/ATAController.class.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 Devices/ATA/ATAController.class.o
+ .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o
+ .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o
+ .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o
+ .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o
+ .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o
+ .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o
+ .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o
+ .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o
+ .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o
+ .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o
+ .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o
+ .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o
+ .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o
+ .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o
+ .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o
+ .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o
+ .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o
+ .text._ZN6DeviceD1Ev
+ 0x00000000 0xe Devices/ATA/ATADrive.class.o
+ .text._ZN6Device9handleIRQE11registers_ti
+ 0x00000000 0x5 Devices/ATA/ATADrive.class.o
+ .text._ZN11BlockDevice8chsToLBAEjjj
+ 0x00000000 0x9 Devices/ATA/ATADrive.class.o
+ .text._ZN11BlockDeviceD1Ev
+ 0x00000000 0xe Devices/ATA/ATADrive.class.o
+ .text._ZN11BlockDeviceD0Ev
+ 0x00000000 0x15 Devices/ATA/ATADrive.class.o
+ .text._ZN6DeviceD0Ev
+ 0x00000000 0x15 Devices/ATA/ATADrive.class.o
+ .text._ZN6StringD0Ev
+ 0x00000000 0x2c Devices/ATA/ATADrive.class.o
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x2c Devices/ATA/ATADrive.class.o
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x22 Devices/ATA/ATADrive.class.o
+ .text._ZN6StringD1Ev
+ 0x00000000 0x22 Devices/ATA/ATADrive.class.o
+ .rodata._ZTV11BlockDevice
+ 0x00000000 0x34 Devices/ATA/ATADrive.class.o
+ .rodata._ZTV6Device
+ 0x00000000 0x1c Devices/ATA/ATADrive.class.o
+ .rodata._ZTV6String
+ 0x00000000 0x10 Devices/ATA/ATADrive.class.o
+ .rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x10 Devices/ATA/ATADrive.class.o
+ .group 0x00000000 0x8 Devices/Timer.class.o
+ .group 0x00000000 0x8 Devices/Timer.class.o
+ .group 0x00000000 0x8 Devices/Timer.class.o
+ .group 0x00000000 0x8 Devices/Timer.class.o
+ .group 0x00000000 0x8 Devices/Timer.class.o
+ .group 0x00000000 0x8 Devices/Timer.class.o
+ .group 0x00000000 0x8 Devices/Timer.class.o
+ .text._ZN6DeviceD1Ev
+ 0x00000000 0xe Devices/Timer.class.o
+ .text._ZN6Device9handleIRQE11registers_ti
+ 0x00000000 0x5 Devices/Timer.class.o
+ .text._ZN6DeviceD0Ev
+ 0x00000000 0x15 Devices/Timer.class.o
+ .rodata._ZTV6Device
+ 0x00000000 0x1c Devices/Timer.class.o
+
+Memory Configuration
+
+Name Origin Length Attributes
+*default* 0x00000000 0xffffffff
+
+Linker script and memory map
+
+ 0x00100000 . = 0x100000
+
+.setup 0x00100000 0x1e
+ *(.setup)
+ .setup 0x00100000 0x1e Core/loader.wtf.o
+ 0xc010001e . = (. + 0xc0000000)
+
+.text 0xc0100020 0x2a296 load address 0x00100020
+ *(.text)
+ .text 0xc0100020 0x75 Core/loader.wtf.o
+ 0xc010002c loader
+ *fill* 0xc0100095 0xb 00
+ .text 0xc01000a0 0x180d Core/kmain.wtf.o
+ 0xc01000a0 kmain
+ *fill* 0xc01018ad 0x3 00
+ .text 0xc01018b0 0x1c35 Core/Sys.ns.o
+ 0xc01018b0 Sys::outb(unsigned short, unsigned char)
+ 0xc01018c0 Sys::outw(unsigned short, unsigned short)
+ 0xc01018d0 Sys::inb(unsigned short)
+ 0xc01018e0 Sys::inw(unsigned short)
+ 0xc01018f0 Sys::bochs_output_hex(unsigned int)
+ 0xc0101950 Sys::bochs_output(String, char*, unsigned int)
+ 0xc01019e0 Sys::bochs_output(char*, char*, unsigned int)
+ 0xc0101a70 Sys::stackTrace(unsigned int, VirtualTerminal&, unsigned int, bool)
+ 0xc0101c40 Sys::shutdown_cleanup()
+ 0xc0101c90 Sys::reboot()
+ 0xc0101cf0 Sys::halt()
+ 0xc0101e00 Sys::panic_assert(char*, unsigned int, char*)
+ 0xc0102090 Sys::panic(char*, char*, unsigned int)
+ 0xc0102320 Sys::dumpRegs(registers_t*, VirtualTerminal&)
+ 0xc0102c40 Sys::panic(char*, registers_t*, char*, unsigned int)
+ 0xc0103040 Sys::scall(unsigned char, unsigned int, unsigned int, unsigned int, unsigned int)
+ *fill* 0xc01034e5 0xb 00
+ .text 0xc01034f0 0xd60 Core/Log.ns.o
+ 0xc01034f0 Log::close()
+ 0xc0103530 Log::log(unsigned char, String)
+ 0xc0103620 Log::init(unsigned char)
+ .text 0xc0104250 0x1273 Core/SB.ns.o
+ 0xc01042b0 SB::gomulti()
+ 0xc0104300 SB::init()
+ 0xc01043a0 SB::drawnormal()
+ 0xc0104bc0 SB::message(String const&)
+ 0xc0104cb0 SB::drawprogress(String const&)
+ 0xc0105250 SB::thread(void*)
+ 0xc01052c0 SB::reinit()
+ 0xc01053d0 SB::progress(String const&)
+ *fill* 0xc01054c3 0xd 00
+ .text 0xc01054d0 0x2cb MemoryManager/Mem.ns.o
+ 0xc0105500 Mem::kheapFree()
+ 0xc0105530 Mem::kheapSize()
+ 0xc0105570 Mem::mkXchgSpace(unsigned int)
+ 0xc0105590 Mem::free(void*)
+ 0xc01055b0 Mem::kallocInternal(unsigned int, bool)
+ 0xc0105670 Mem::alloc(unsigned int, bool)
+ 0xc0105700 Mem::createHeap()
+ *fill* 0xc010579b 0x5 00
+ .text 0xc01057a0 0x300 MemoryManager/PhysMem.ns.o
+ 0xc01057a0 PhysMem::removeTemporaryPages()
+ 0xc01057f0 PhysMem::total()
+ 0xc0105800 PhysMem::free()
+ 0xc0105830 PhysMem::freeFrame(page_t*)
+ 0xc0105880 PhysMem::allocFrame(page_t*, bool, bool)
+ 0xc0105930 PhysMem::initPaging(unsigned int)
+ .text 0xc0105aa0 0x25 MemoryManager/GDT.wtf.o
+ 0xc0105aa0 gdt_flush
+ 0xc0105abd tss_flush
+ *fill* 0xc0105ac5 0xb 00
+ .text 0xc0105ad0 0x28d MemoryManager/GDT.ns.o
+ 0xc0105ad0 GDT::setGate(int, unsigned int, unsigned int, unsigned char, unsigned char)
+ 0xc0105b50 GDT::writeTSS(int, unsigned short, unsigned int)
+ 0xc0105c30 GDT::init()
+ *fill* 0xc0105d5d 0x3 00
+ .text 0xc0105d60 0x78e MemoryManager/PageDirectory.class.o
+ 0xc0105d60 PageDirectory::map(page_t*, unsigned int, bool, bool)
+ 0xc0105db0 PageDirectory::switchTo()
+ 0xc0105dd0 PageDirectory::PageDirectory()
+ 0xc0105e10 PageDirectory::PageDirectory()
+ 0xc0105e50 PageDirectory::getPage(unsigned int, bool)
+ 0xc0105f00 PageDirectory::freeFrame(unsigned int)
+ 0xc0105f40 PageDirectory::allocFrame(unsigned int, bool, bool)
+ 0xc0105ff0 PageDirectory::~PageDirectory()
+ 0xc0106080 PageDirectory::~PageDirectory()
+ 0xc0106110 PageDirectory::PageDirectory(PageDirectory*)
+ 0xc0106300 PageDirectory::PageDirectory(PageDirectory*)
+ *fill* 0xc01064ee 0x2 00
+ .text 0xc01064f0 0x206 MemoryManager/PageAlloc.ns.o
+ 0xc01064f0 PageAlloc::free(void*)
+ 0xc0106510 PageAlloc::init()
+ 0xc0106580 PageAlloc::alloc(unsigned int*)
+ *fill* 0xc01066f6 0xa 00
+ .text 0xc0106700 0xac2 DeviceManager/Disp.ns.o
+ 0xc0106700 Disp::textCols()
+ 0xc0106710 Disp::textRows()
+ 0xc0106720 Disp::putChar(unsigned short, unsigned short, WChar, unsigned char)
+ 0xc0106790 Disp::moveCursor(unsigned short, unsigned short)
+ 0xc01067e0 Disp::textScroll(unsigned short, unsigned short, unsigned short, unsigned short, unsigned char)
+ 0xc0106840 Disp::clear()
+ 0xc0106860 Disp::setText(VGATextOutput*)
+ 0xc01068d0 Disp::setMode(Disp::mode_t&)
+ 0xc0106950 Disp::getModes()
+ 0xc0106a20 Disp::selectMode()
+ *fill* 0xc01071c2 0xe 00
+ .text 0xc01071d0 0x585 DeviceManager/Dev.ns.o
+ 0xc01071d0 Dev::handleIRQ(registers_t, int)
+ 0xc0107210 Dev::requestIRQ(Device*, int)
+ 0xc0107280 Dev::unregisterDevice(Device*)
+ 0xc0107320 Dev::registerDevice(Device*)
+ 0xc0107350 Dev::findDevices(String)
+ 0xc01075c0 Dev::findDevice(String, unsigned int)
+ *fill* 0xc0107755 0xb 00
+ .text 0xc0107760 0x45 DeviceManager/Time.ns.o
+ 0xc0107760 Time::setTimer(Timer*)
+ 0xc0107770 Time::time()
+ 0xc0107790 Time::uptime()
+ *fill* 0xc01077a5 0xb 00
+ .text 0xc01077b0 0x5310 DeviceManager/Kbd.ns.o
+ 0xc01077b0 Kbd::process(keypress_t)
+ 0xc0107850 Kbd::setFocus(VirtualTerminal*)
+ 0xc0107860 Kbd::keyRelease(unsigned char)
+ 0xc010c040 Kbd::updateLeds()
+ 0xc010c0e0 Kbd::keyPress(unsigned char)
+ 0xc010c320 Kbd::loadKeymap(String)
+ .text 0xc010cac0 0xc8d TaskManager/Process.class.o
+ 0xc010cac0 Process::start()
+ 0xc010cae0 Process::getPagedir()
+ 0xc010caf0 Process::getInVT()
+ 0xc010cb00 Process::getOutVT()
+ 0xc010cb10 Process::setInVT(VirtualTerminal*)
+ 0xc010cb20 Process::setOutVT(VirtualTerminal*)
+ 0xc010cb30 Process::unregisterFileDescriptor(File*)
+ 0xc010cba0 Process::registerFileDescriptor(File*)
+ 0xc010cbe0 Process::registerThread(Thread*)
+ 0xc010cc60 Process::exit()
+ 0xc010cd10 Process::threadFinishes(Thread*, unsigned int)
+ 0xc010ce00 Process::~Process()
+ 0xc010ce80 Process::~Process()
+ 0xc010cf00 Process::~Process()
+ 0xc010cf80 Process::Process()
+ 0xc010cfd0 Process::Process()
+ 0xc010d020 Process::createKernel(String, VirtualTerminal*)
+ 0xc010d250 Process::pushArg(String const&)
+ 0xc010d270 Process::Process(String, unsigned int)
+ 0xc010d3c0 Process::Process(String, unsigned int)
+ 0xc010d510 Process::run(String, unsigned int)
+ *fill* 0xc010d74d 0x3 00
+ .text 0xc010d750 0xe01 TaskManager/Process-sc.class.o
+ 0xc010d750 Process::accessible()
+ 0xc010d770 Process::autoDeleteSC(unsigned int)
+ 0xc010d7b0 Process::setOutVTSC(unsigned int)
+ 0xc010d830 Process::setInVTSC(unsigned int)
+ 0xc010d8b0 Process::startSC()
+ 0xc010d8f0 Process::freePagesSC(unsigned int, unsigned int)
+ 0xc010d980 Process::allocPagesSC(unsigned int, unsigned int)
+ 0xc010da20 Process::exitSC()
+ 0xc010da60 Process::scall(unsigned char, unsigned int, unsigned int, unsigned int, unsigned int)
+ 0xc010db70 Process::authNoPWSC(unsigned int)
+ 0xc010dde0 Process::pushArgSC(unsigned int)
+ 0xc010def0 Process::argcSC()
+ 0xc010e150 Process::argvSC(unsigned int)
+ 0xc010e3e0 Process::authPWSC(unsigned int, unsigned int)
+ *fill* 0xc010e551 0xf 00
+ .text 0xc010e560 0xeb9 TaskManager/Thread.class.o
+ 0xc010e560 Thread::setState(unsigned int, unsigned int, unsigned int)
+ 0xc010e580 Thread::setKernelStack()
+ 0xc010e5a0 Thread::getEsp()
+ 0xc010e5b0 Thread::getEbp()
+ 0xc010e5c0 Thread::getEip()
+ 0xc010e5d0 Thread::getProcess()
+ 0xc010e5e0 Thread::accessible()
+ 0xc010e600 Thread::scall(unsigned char, unsigned int, unsigned int, unsigned int, unsigned int)
+ 0xc010e630 Thread::finishSC(unsigned int)
+ 0xc010e660 Thread::runnable()
+ 0xc010e6b0 Thread::waitIRQ(unsigned char)
+ 0xc010e6d0 Thread::sleep(unsigned int)
+ 0xc010e710 Thread::sleepSC(unsigned int)
+ 0xc010e750 Thread::mkXchgSpace(unsigned int)
+ 0xc010e7a0 Thread::finish(unsigned int)
+ 0xc010e830 Thread::setup(Process*, unsigned int (*)(void*), void*, bool)
+ 0xc010e910 Thread::run(Thread*, void*, unsigned int (*)(void*))
+ 0xc010e990 Thread::~Thread()
+ 0xc010ea20 Thread::~Thread()
+ 0xc010eab0 Thread::~Thread()
+ 0xc010eb40 Thread::Thread(Process*, unsigned int (*)(void*), void*)
+ 0xc010eba0 Thread::Thread(Process*, unsigned int (*)(void*), void*)
+ 0xc010ec00 Thread::Thread()
+ 0xc010ec40 Thread::Thread()
+ 0xc010ec80 Thread::Thread(unsigned int (*)(void*), void*, bool)
+ 0xc010ed10 Thread::Thread(unsigned int (*)(void*), void*, bool)
+ 0xc010eda0 Thread::handleException(registers_t*, int)
+ *fill* 0xc010f419 0x7 00
+ .text 0xc010f420 0x62d TaskManager/V86/V86Thread.class.o
+ 0xc010f420 V86Thread::handleV86GPF(registers_t*)
+ 0xc010f6a0 V86Thread::handleException(registers_t*, int)
+ 0xc010f740 V86Thread::setup()
+ 0xc010f810 V86Thread::V86Thread(unsigned char, v86_retval_t*)
+ 0xc010f890 V86Thread::V86Thread(unsigned char, v86_retval_t*)
+ 0xc010f910 V86Thread::V86Thread(v86_function_t*, v86_retval_t*)
+ 0xc010f9b0 V86Thread::V86Thread(v86_function_t*, v86_retval_t*)
+ *fill* 0xc010fa4d 0x3 00
+ .text 0xc010fa50 0x1ad TaskManager/V86/V86.ns.o
+ 0xc010fa50 V86::allocSeg(unsigned short)
+ 0xc010fab0 V86::alloc(unsigned short)
+ 0xc010fad0 V86::map(Process*)
+ 0xc010fb30 V86::biosInt(unsigned char, v86_regs_t&)
+ 0xc010fba0 V86::run(v86_function_t&, v86_regs_t&)
+ *fill* 0xc010fbfd 0x3 00
+ .text 0xc010fc00 0x58 TaskManager/V86/v86.wtf.o
+ 0xc010fc00 v86_run
+ *fill* 0xc010fc58 0x8 00
+ .text 0xc010fc60 0x5d2 TaskManager/Task.ns.o
+ 0xc010fc60 Task::currThread()
+ 0xc010fc70 Task::currProcess()
+ 0xc010fc80 Task::triggerSwitch()
+ 0xc010fc90 Task::nextPid()
+ 0xc010fcb0 Task::IRQwakeup(unsigned char)
+ 0xc010fd00 Task::currentThreadExits(unsigned int)
+ 0xc010fd40 Task::unregisterProcess(Process*)
+ 0xc010fdb0 Task::unregisterThread(Thread*)
+ 0xc010fe20 Task::registerProcess(Process*)
+ 0xc010fe70 Task::registerThread(Thread*)
+ 0xc010fec0 Task::allocKernelPageTable(unsigned int, page_table_t*, unsigned int)
+ 0xc010ff40 Task::nextThread()
+ 0xc010ffb0 Task::doSwitch()
+ 0xc0110070 Task::currThreadExitProceed(unsigned int)
+ 0xc01100a0 Task::getKernelProcess()
+ 0xc01100f0 Task::initialize(String, VirtualTerminal*)
+ *fill* 0xc0110232 0xe 00
+ .text 0xc0110240 0x48 TaskManager/Task.wtf.o
+ 0xc0110240 read_eip
+ 0xc0110243 idle_task
+ 0xc011024a copy_page_physical
+ *fill* 0xc0110288 0x8 00
+ .text 0xc0110290 0x89e VTManager/VirtualTerminal.proto.o
+ 0xc0110290 VirtualTerminal::write(String const&, bool)
+ 0xc0110350 VirtualTerminal::writeDec(long long, bool)
+ 0xc01104b0 VirtualTerminal::~VirtualTerminal()
+ 0xc01104e0 VirtualTerminal::~VirtualTerminal()
+ 0xc0110500 VirtualTerminal::~VirtualTerminal()
+ 0xc0110520 VirtualTerminal::VirtualTerminal()
+ 0xc01105b0 VirtualTerminal::VirtualTerminal()
+ 0xc0110640 VirtualTerminal::writeHex(unsigned int, bool)
+ 0xc0110720 VirtualTerminal::hexDump(unsigned char*, unsigned int, bool)
+ *fill* 0xc0110b2e 0x2 00
+ .text 0xc0110b30 0x95b VTManager/SimpleVT.class.o
+ 0xc0110b30 SimpleVT::clear()
+ 0xc0110ba0 SimpleVT::handleEscape(mvt_esc_cmd_t)
+ 0xc0110c80 SimpleVT::hexDump(unsigned char*, unsigned int, bool)
+ 0xc0110cc0 SimpleVT::put(WChar, bool)
+ 0xc0110e70 SimpleVT::updateCursor()
+ 0xc0110ec0 SimpleVT::scroll()
+ 0xc0111000 SimpleVT::redraw()
+ 0xc01110a0 SimpleVT::putChar(unsigned int, unsigned int, WChar)
+ 0xc0111140 SimpleVT::unmap()
+ 0xc0111160 SimpleVT::map(int, int)
+ 0xc01111e0 SimpleVT::~SimpleVT()
+ 0xc0111230 SimpleVT::~SimpleVT()
+ 0xc0111280 SimpleVT::~SimpleVT()
+ 0xc01112d0 SimpleVT::SimpleVT(unsigned int, unsigned int, unsigned char, unsigned char)
+ 0xc01113b0 SimpleVT::SimpleVT(unsigned int, unsigned int, unsigned char, unsigned char)
+ *fill* 0xc011148b 0x5 00
+ .text 0xc0111490 0x7fa VTManager/ScrollableVT.class.o
+ 0xc0111490 ScrollableVT::keyPress(keypress_t)
+ 0xc0111590 ScrollableVT::scroll()
+ 0xc0111640 ScrollableVT::redraw()
+ 0xc01117a0 ScrollableVT::putChar(unsigned int, unsigned int, WChar)
+ 0xc0111860 ScrollableVT::updateCursor()
+ 0xc01118b0 ScrollableVT::~ScrollableVT()
+ 0xc0111910 ScrollableVT::~ScrollableVT()
+ 0xc0111970 ScrollableVT::~ScrollableVT()
+ 0xc01119d0 ScrollableVT::ScrollableVT(unsigned int, unsigned int, unsigned int, unsigned char, unsigned char)
+ 0xc0111b30 ScrollableVT::ScrollableVT(unsigned int, unsigned int, unsigned int, unsigned char, unsigned char)
+ *fill* 0xc0111c8a 0x6 00
+ .text 0xc0111c90 0x1e8 VTManager/PipeVT.class.o
+ 0xc0111c90 PipeVT::put(WChar, bool)
+ 0xc0111db0 PipeVT::handleEscape(mvt_esc_cmd_t)
+ 0xc0111e20 PipeVT::PipeVT()
+ 0xc0111e50 PipeVT::PipeVT()
+ *fill* 0xc0111e78 0x8 00
+ .text 0xc0111e80 0x631 VTManager/FileVT.class.o
+ 0xc0111e80 FileVT::getKeypress(bool, bool)
+ 0xc0111fb0 FileVT::put(WChar, bool)
+ 0xc0112160 FileVT::handleEscape(mvt_esc_cmd_t)
+ 0xc01121e0 FileVT::FileVT(String, unsigned char, FSNode*, unsigned char)
+ 0xc0112350 FileVT::FileVT(String, unsigned char, FSNode*, unsigned char)
+ *fill* 0xc01124b1 0xf 00
+ .text 0xc01124c0 0x717 VTManager/VirtualTerminal-kbd.proto.o
+ 0xc01124c0 VirtualTerminal::getKeypress(bool, bool)
+ 0xc0112710 VirtualTerminal::keyPress(keypress_t)
+ 0xc01128d0 VirtualTerminal::readLine(bool)
+ *fill* 0xc0112bd7 0x9 00
+ .text 0xc0112be0 0x1e0 VTManager/VirtualTerminal-sc.proto.o
+ 0xc0112be0 VirtualTerminal::isBoxedSC()
+ 0xc0112c00 VirtualTerminal::getHeightSC()
+ 0xc0112c20 VirtualTerminal::getWidthSC()
+ 0xc0112c40 VirtualTerminal::getKeypressSC(unsigned int)
+ 0xc0112ca0 VirtualTerminal::putSC(unsigned int)
+ 0xc0112cf0 VirtualTerminal::writeSC(unsigned int)
+ 0xc0112d20 VirtualTerminal::scall(unsigned char, unsigned int, unsigned int, unsigned int, unsigned int)
+ 0xc0112d70 VirtualTerminal::readLineSC(unsigned int)
+ .text 0xc0112dc0 0x1a0 VTManager/VT.ns.o
+ 0xc0112e00 VT::redrawScreen()
+ 0xc0112e40 VT::unmap(SimpleVT*)
+ 0xc0112ee0 VT::map(SimpleVT*)
+ .text 0xc0112f60 0xd69 Shell/KernelShell.class.o
+ 0xc0112f60 KernelShell::~KernelShell()
+ 0xc0112f80 KernelShell::~KernelShell()
+ 0xc0112fa0 KernelShell::setup(DirectoryNode*, VirtualTerminal*)
+ 0xc0113070 KernelShell::KernelShell(DirectoryNode*)
+ 0xc0113100 KernelShell::KernelShell(DirectoryNode*)
+ 0xc0113190 KernelShell::KernelShell(DirectoryNode*, VirtualTerminal*)
+ 0xc01131a0 KernelShell::KernelShell(DirectoryNode*, VirtualTerminal*)
+ 0xc01131b0 KernelShell::run()
+ 0xc0113c90 shellRun(void*)
+ *fill* 0xc0113cc9 0x7 00
+ .text 0xc0113cd0 0x148a Shell/KernelShell-fs.class.o
+ 0xc0113cd0 KernelShell::hexdump(Vector<String>&)
+ 0xc0113f40 KernelShell::pwd(Vector<String>&)
+ 0xc0114030 KernelShell::ls(Vector<String>&)
+ 0xc01145a0 KernelShell::run(Vector<String>&)
+ 0xc0114740 KernelShell::cd(Vector<String>&)
+ 0xc0114940 KernelShell::wf(Vector<String>&)
+ 0xc0114b90 KernelShell::rm(Vector<String>&)
+ 0xc0114d20 KernelShell::mkdir(Vector<String>&)
+ 0xc0114ea0 KernelShell::cat(Vector<String>&)
+ *fill* 0xc011515a 0x6 00
+ .text 0xc0115160 0x1930 Shell/KernelShell-sys.class.o
+ 0xc0115160 KernelShell::devices(Vector<String>&)
+ 0xc0115390 KernelShell::uptime(Vector<String>&)
+ 0xc0115470 KernelShell::part(Vector<String>&)
+ 0xc01159a0 KernelShell::free(Vector<String>&)
+ 0xc0115e10 KernelShell::loadkeys(Vector<String>&)
+ 0xc0116000 KernelShell::readblock(Vector<String>&)
+ 0xc0116410 KernelShell::unmount(Vector<String>&)
+ 0xc0116630 KernelShell::mount(Vector<String>&)
+ .text 0xc0116a90 0x63 Linker/Binary.proto.o
+ 0xc0116a90 Binary::load(File&)
+ *fill* 0xc0116af3 0xd 00
+ .text 0xc0116b00 0x1db Linker/MelonBinary.class.o
+ 0xc0116b00 MelonBinary::toProcess(Process*)
+ 0xc0116b90 MelonBinary::~MelonBinary()
+ 0xc0116bc0 MelonBinary::~MelonBinary()
+ 0xc0116bf0 MelonBinary::~MelonBinary()
+ 0xc0116c20 MelonBinary::load(File&)
+ *fill* 0xc0116cdb 0x5 00
+ .text 0xc0116ce0 0x347 Linker/ElfBinary.class.o
+ 0xc0116ce0 ElfBinary::toProcess(Process*)
+ 0xc0116dd0 ElfBinary::load(File&)
+ 0xc0116f70 ElfBinary::~ElfBinary()
+ 0xc0116fb0 ElfBinary::~ElfBinary()
+ 0xc0116ff0 ElfBinary::~ElfBinary()
+ *fill* 0xc0117027 0x9 00
+ .text 0xc0117030 0xb8 ../Library/Common/cppsupport.wtf.o
+ 0xc0117030 __cxa_pure_virtual
+ 0xc0117040 __cxa_atexit
+ 0xc0117050 __udivdi3
+ 0xc0117090 __umoddi3
+ 0xc01170c0 memmove
+ *fill* 0xc01170e8 0x8 00
+ .text 0xc01170f0 0x248 ../Library/Common/Bitset.class.o
+ 0xc01170f0 Bitset::Bitset()
+ 0xc0117100 Bitset::Bitset()
+ 0xc0117110 Bitset::init(unsigned int, unsigned int*)
+ 0xc0117150 Bitset::Bitset(unsigned int, unsigned int*)
+ 0xc0117160 Bitset::Bitset(unsigned int, unsigned int*)
+ 0xc0117170 Bitset::setBit(unsigned int)
+ 0xc01171a0 Bitset::clearBit(unsigned int)
+ 0xc01171d0 Bitset::testBit(unsigned int)
+ 0xc0117200 Bitset::firstFreeBit()
+ 0xc0117270 Bitset::usedBits()
+ 0xc0117280 Bitset::~Bitset()
+ 0xc01172a0 Bitset::~Bitset()
+ 0xc01172c0 Bitset::Bitset(unsigned int)
+ 0xc0117300 Bitset::Bitset(unsigned int)
+ *fill* 0xc0117338 0x8 00
+ .text 0xc0117340 0x1486 ../Library/Common/String.class.o
+ 0xc0117340 String::toInt() const
+ 0xc01173f0 String::toInt16() const
+ 0xc01174b0 String::hex(unsigned int)
+ 0xc0117570 String::compare(char const*, unsigned char) const
+ 0xc01176c0 String::serialize() const
+ 0xc0117710 String::append(char const*, unsigned char)
+ 0xc01178d0 String::affect(char const*, unsigned char)
+ 0xc0117a70 String::String(char const*, unsigned char)
+ 0xc0117aa0 String::String(char const*, unsigned char)
+ 0xc0117ad0 String::concat(WChar) const
+ 0xc0117cb0 String::concat(String const&) const
+ 0xc0117ea0 String::split(WChar) const
+ 0xc0118030 String::concat(char const*, unsigned char) const
+ 0xc01181a0 String::unserialize(unsigned int)
+ 0xc01182d0 String::substr(int, int)
+ 0xc0118470 String::number(int)
+ *fill* 0xc01187c6 0xa 00
+ .text 0xc01187d0 0x46f ../Library/Common/ByteArray.class.o
+ 0xc01187d0 ByteArray::toString(unsigned char)
+ 0xc0118870 ByteArray::resize(unsigned int)
+ 0xc0118940 ByteArray::ByteArray(char const*)
+ 0xc0118990 ByteArray::ByteArray(char const*)
+ 0xc01189e0 ByteArray::affect(String const&, unsigned char)
+ *fill* 0xc0118c3f 0x1 00
+ .text 0xc0118c40 0x15a8 ../Library/Common/WChar.class.o
+ 0xc0118c40 WChar::WChar()
+ 0xc0118c50 WChar::WChar()
+ 0xc0118c60 WChar::WChar(char)
+ 0xc0118c70 WChar::WChar(char)
+ 0xc0118c80 WChar::ucharLen(char const*, unsigned char)
+ 0xc0118d50 WChar::affectAscii(char)
+ 0xc0118d60 WChar::affectUtf8(char const*)
+ 0xc0118e90 WChar::affectUtf16be(char const*)
+ 0xc0118f90 WChar::affectUtf16le(char const*)
+ 0xc0119080 WChar::affectUtf32be(char const*)
+ 0xc01190d0 WChar::affectUtf32le(char const*)
+ 0xc0119120 WChar::WChar(char const*, unsigned char)
+ 0xc01191a0 WChar::utfLen(char const*, unsigned char)
+ 0xc0119200 WChar::WChar(char const*, unsigned char)
+ 0xc0119280 WChar::toAscii()
+ 0xc01192c0 WChar::toUtf8()
+ 0xc0119380 WChar::toUtf32be()
+ 0xc01193b0 WChar::toUtf32le()
+ *fill* 0xc011a1e8 0x8 00
+ .text 0xc011a1f0 0x7c ../Library/Common/Rand.ns.o
+ 0xc011a1f0 Rand::rand()
+ 0xc011a260 Rand::max()
+ *fill* 0xc011a26c 0x4 00
+ .text 0xc011a270 0xfb ../Library/Common/CMem.ns.o
+ 0xc011a270 CMem::memcpy(unsigned char*, unsigned char const*, unsigned int)
+ 0xc011a2f0 CMem::memset(unsigned char*, unsigned char, int)
+ 0xc011a320 CMem::memsetw(unsigned short*, unsigned short, int)
+ 0xc011a350 CMem::strlen(char const*)
+ *fill* 0xc011a36b 0x5 00
+ .text 0xc011a370 0x635 ../Library/Common/Heap.class.o
+ 0xc011a370 Heap::~Heap()
+ 0xc011a380 Heap::~Heap()
+ 0xc011a390 Heap::contract()
+ 0xc011a470 Heap::free(void*)
+ 0xc011a5c0 Heap::expand(unsigned int)
+ 0xc011a6b0 Heap::alloc(unsigned int, bool)
+ 0xc011a800 Heap::create(unsigned int, unsigned int, unsigned int, PageDirectory*, bool, bool)
+ 0xc011a930 Heap::Heap()
+ 0xc011a970 Heap::Heap()
+ *fill* 0xc011a9a5 0xb 00
+ .text 0xc011a9b0 0x1dd ../Library/Common/Heap-index.class.o
+ 0xc011a9b0 Heap::insertIntoIndex(heap_header_t*)
+ 0xc011aaa0 Heap::findIndexEntry(heap_header_t*)
+ 0xc011aae0 Heap::removeFromIndex(unsigned int)
+ 0xc011ab20 Heap::removeFromIndex(heap_header_t*)
+ *fill* 0xc011ab8d 0x3 00
+ .text 0xc011ab90 0xc1 ../Library/Common/Mutex.class.o
+ 0xc011ab90 atomic_exchange(unsigned int*, unsigned int)
+ 0xc011aba0 Mutex::Mutex(unsigned int)
+ 0xc011abb0 Mutex::Mutex(unsigned int)
+ 0xc011abc0 Mutex::lock()
+ 0xc011abe0 Mutex::unlock()
+ 0xc011abf0 Mutex::locked()
+ 0xc011ac00 Mutex::waitLock()
+ *fill* 0xc011ac51 0xf 00
+ .text 0xc011ac60 0x2f4 ../Library/Common/TextFile.class.o
+ 0xc011ac60 TextFile::readLine(char)
+ 0xc011ae80 TextFile::write(String, bool)
+ *fill* 0xc011af54 0xc 00
+ .text 0xc011af60 0x5dc VFS/Partition.class.o
+ 0xc011af60 Partition::getDevice()
+ 0xc011af70 Partition::getStartBlock()
+ 0xc011af80 Partition::getBlockCount()
+ 0xc011af90 Partition::getPartNumber()
+ 0xc011afa0 Partition::blockSize()
+ 0xc011afc0 Partition::Partition(BlockDevice*, unsigned char, unsigned long long, unsigned long long)
+ 0xc011b060 Partition::Partition(BlockDevice*, unsigned char, unsigned long long, unsigned long long)
+ 0xc011b100 Partition::writeBlocks(unsigned long long, unsigned int, unsigned char*)
+ 0xc011b200 Partition::readBlocks(unsigned long long, unsigned int, unsigned char*)
+ 0xc011b2a0 Partition::write(unsigned long long, unsigned int, unsigned char*)
+ 0xc011b440 Partition::read(unsigned long long, unsigned int, unsigned char*)
+ *fill* 0xc011b53c 0x4 00
+ .text 0xc011b540 0xb8d VFS/Part.ns.o
+ 0xc011b540 Part::getDeviceID(BlockDevice*)
+ 0xc011b5f0 Part::part(BlockDevice*, unsigned int)
+ 0xc011b670 Part::unregisterDevice(BlockDevice*)
+ 0xc011b910 Part::readPartitionTable(BlockDevice*)
+ 0xc011bae0 Part::registerDevice(BlockDevice*)
+ 0xc011bba0 Part::dev(String, unsigned int)
+ 0xc011bd40 Part::partIdentifier(Partition*)
+ *fill* 0xc011c0cd 0x3 00
+ .text 0xc011c0d0 0x1509 VFS/VFS.ns.o
+ 0xc011c0d0 VFS::getRootNode()
+ 0xc011c120 VFS::unregisterFilesystem(FileSystem*)
+ 0xc011c1c0 VFS::registerFilesystem(FileSystem*)
+ 0xc011c260 VFS::remove(FSNode*)
+ 0xc011c2b0 VFS::find(String const&, FSNode*)
+ 0xc011c3e0 VFS::remove(String const&, FSNode*)
+ 0xc011c410 VFS::unmount(FileSystem*)
+ 0xc011c460 VFS::path(FSNode*)
+ 0xc011c6c0 FileSystem::~FileSystem()
+ 0xc011c710 FileSystem::~FileSystem()
+ 0xc011c760 FileSystem::~FileSystem()
+ 0xc011c7b0 VFS::createDirectory(String const&, FSNode*, bool)
+ 0xc011c9b0 VFS::createFile(String const&, FSNode*, bool)
+ 0xc011cbb0 VFS::mount(String, VirtualTerminal*, multiboot_info_t*)
+ *fill* 0xc011d5d9 0x7 00
+ .text 0xc011d5e0 0xaf1 VFS/FSNode-sc.proto.o
+ 0xc011d5e0 FSNode::typeSC()
+ 0xc011d600 FSNode::getParentSC()
+ 0xc011d620 FSNode::setCwdSC()
+ 0xc011d650 FSNode::getNameSC()
+ 0xc011d660 FSNode::getLengthSC()
+ 0xc011d6a0 FSNode::scall(unsigned char, unsigned int, unsigned int, unsigned int, unsigned int)
+ 0xc011d7b0 FSNode::getPathSC()
+ 0xc011d800 FSNode::writable(User*)
+ 0xc011dae0 FSNode::removeSC()
+ 0xc011db20 FSNode::readable(User*)
+ 0xc011ddf0 FSNode::accessible()
+ 0xc011de10 FSNode::runnable(User*)
+ *fill* 0xc011e0d1 0xf 00
+ .text 0xc011e0e0 0x930 VFS/File.class.o
+ 0xc011e0e0 File::read(unsigned int, unsigned char*)
+ 0xc011e140 File::write(unsigned int, unsigned char*)
+ 0xc011e1c0 File::write(ByteArray&)
+ 0xc011e240 File::seek(unsigned long long, unsigned char)
+ 0xc011e380 File::eof()
+ 0xc011e3c0 File::close(bool)
+ 0xc011e430 File::read(ByteArray&)
+ 0xc011e4d0 File::open(String, unsigned char, FSNode*, bool)
+ 0xc011e690 File::~File()
+ 0xc011e6d0 File::~File()
+ 0xc011e700 File::~File()
+ 0xc011e730 File::File()
+ 0xc011e780 File::File()
+ 0xc011e7d0 File::File(String, unsigned char, FSNode*)
+ 0xc011e8f0 File::File(String, unsigned char, FSNode*)
+ .text 0xc011ea10 0x54e VFS/File-sc.class.o
+ 0xc011ea10 File::validSC()
+ 0xc011ea20 File::eofSC()
+ 0xc011ea40 File::lengthSC()
+ 0xc011ea70 File::positionSC()
+ 0xc011eaa0 File::seekSC(unsigned int, unsigned int, unsigned int)
+ 0xc011ead0 File::writeSC(unsigned int, unsigned int)
+ 0xc011eb20 File::readSC(unsigned int, unsigned int)
+ 0xc011eb80 File::closeSC()
+ 0xc011ebb0 File::scall(unsigned char, unsigned int, unsigned int, unsigned int, unsigned int)
+ 0xc011ed30 File::accessible()
+ *fill* 0xc011ef5e 0x2 00
+ .text 0xc011ef60 0x8db VFS/DirectoryNode.class.o
+ 0xc011ef60 DirectoryNode::getParent()
+ 0xc011ef70 DirectoryNode::unmountable()
+ 0xc011f000 DirectoryNode::mount(DirectoryNode*)
+ 0xc011f010 DirectoryNode::unmount()
+ 0xc011f020 DirectoryNode::loadContent()
+ 0xc011f080 DirectoryNode::getLength()
+ 0xc011f0d0 DirectoryNode::mountpointable()
+ 0xc011f110 DirectoryNode::removable()
+ 0xc011f160 DirectoryNode::getChild(unsigned int)
+ 0xc011f1b0 DirectoryNode::getChild(String const&)
+ 0xc011f270 DirectoryNode::remove(FSNode*)
+ 0xc011f390 DirectoryNode::getNameChildSC(unsigned int)
+ 0xc011f3e0 DirectoryNode::getIdxChildSC(unsigned int)
+ 0xc011f430 DirectoryNode::~DirectoryNode()
+ 0xc011f4d0 DirectoryNode::~DirectoryNode()
+ 0xc011f580 DirectoryNode::~DirectoryNode()
+ 0xc011f620 DirectoryNode::createFile(String const&)
+ 0xc011f730 DirectoryNode::createDirectory(String const&)
+ *fill* 0xc011f83b 0x5 00
+ .text 0xc011f840 0x2595 UserManager/Usr.ns.o
+ 0xc011f840 Usr::user(unsigned int)
+ 0xc011f880 Usr::group(unsigned int)
+ 0xc011f8c0 Usr::uid()
+ 0xc011f8d0 Usr::user()
+ 0xc011f900 Usr::group(String)
+ 0xc011fa10 Usr::user(String)
+ 0xc011fb20 Usr::uid(String)
+ 0xc011fbf0 Usr::save()
+ 0xc01206f0 Usr::load()
+ *fill* 0xc0121dd5 0xb 00
+ .text 0xc0121de0 0xd8c FileSystems/RamFS/RamFS.class.o
+ 0xc0121de0 RamFS::RamFS()
+ 0xc0121e10 RamFS::RamFS()
+ 0xc0121e40 RamFS::unmount()
+ 0xc0121e50 RamFS::setName(FSNode*, String)
+ 0xc0121e60 RamFS::setPermissions(FSNode*, unsigned int)
+ 0xc0121e70 RamFS::setUid(FSNode*, unsigned int)
+ 0xc0121e80 RamFS::setGid(FSNode*, unsigned int)
+ 0xc0121e90 RamFS::setParent(FSNode*, FSNode*)
+ 0xc0121eb0 RamFS::loadContents(DirectoryNode*)
+ 0xc0121ec0 RamFS::remove(DirectoryNode*, FSNode*)
+ 0xc0121f10 RamFS::truncate(FileNode*)
+ 0xc0121f50 RamFS::read(FileNode*, unsigned long long, unsigned int, unsigned char*)
+ 0xc0121fd0 RamFS::write(FileNode*, unsigned long long, unsigned int, unsigned char*)
+ 0xc0122120 RamFS::~RamFS()
+ 0xc0122150 RamFS::~RamFS()
+ 0xc0122170 RamFS::~RamFS()
+ 0xc0122190 RamFS::mount(unsigned char*, unsigned int, DirectoryNode*, bool)
+ 0xc0122690 RamFS::mount(unsigned int, DirectoryNode*)
+ 0xc0122850 RamFS::createFile(DirectoryNode*, String)
+ 0xc01229f0 RamFS::createDirectory(DirectoryNode*, String)
+ *fill* 0xc0122b6c 0x4 00
+ .text 0xc0122b70 0x1ac5 FileSystems/FAT/FATFS.class.o
+ 0xc0122b70 FATFS::unmount()
+ 0xc0122b80 FATFS::setName(FSNode*, String)
+ 0xc0122b90 FATFS::setPermissions(FSNode*, unsigned int)
+ 0xc0122ba0 FATFS::setUid(FSNode*, unsigned int)
+ 0xc0122bb0 FATFS::setGid(FSNode*, unsigned int)
+ 0xc0122bc0 FATFS::setParent(FSNode*, FSNode*)
+ 0xc0122bd0 FATFS::write(FileNode*, unsigned long long, unsigned int, unsigned char*)
+ 0xc0122be0 FATFS::truncate(FileNode*)
+ 0xc0122bf0 FATFS::createFile(DirectoryNode*, String)
+ 0xc0122c00 FATFS::createDirectory(DirectoryNode*, String)
+ 0xc0122c10 FATFS::remove(DirectoryNode*, FSNode*)
+ 0xc0122c20 FATFS::readCluster(unsigned int, unsigned char*)
+ 0xc0122ed0 FATFS::nextCluster(unsigned int)
+ 0xc0123080 FATFS::read(FileNode*, unsigned long long, unsigned int, unsigned char*)
+ 0xc0123320 FATFS::mount(Partition*, DirectoryNode*, bool)
+ 0xc0123cb0 FATFS::loadContents(DirectoryNode*)
+ *fill* 0xc0124635 0xb 00
+ .text 0xc0124640 0xc69 SyscallManager/IDT.ns.o
+ 0xc0124640 IDT::setGate(unsigned char, unsigned int, unsigned short, unsigned char)
+ 0xc0124680 IDT::init()
+ 0xc0125020 interrupt_handler
+ *fill* 0xc01252a9 0x7 00
+ .text 0xc01252b0 0x6ea SyscallManager/Ressource.class.o
+ 0xc01252b0 Ressource::doCall(unsigned char, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)
+ 0xc01254a0 Ressource::addCallTable(call_t*)
+ 0xc01254f0 Ressource::Ressource(unsigned char, call_t*)
+ 0xc0125560 Ressource::Ressource(unsigned char, call_t*)
+ 0xc01255d0 Ressource::call(unsigned char, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)
+ 0xc0125880 Ressource::~Ressource()
+ 0xc01258e0 Ressource::~Ressource()
+ 0xc0125940 Ressource::~Ressource()
+ *fill* 0xc012599a 0x6 00
+ .text 0xc01259a0 0x23c SyscallManager/Res.ns.o
+ 0xc01259a0 Res::unregisterRes(unsigned int)
+ 0xc01259c0 Res::call(unsigned int, unsigned char, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)
+ 0xc0125ab0 Res::expand()
+ 0xc0125b40 Res::registerRes(Ressource*)
+ *fill* 0xc0125bdc 0x4 00
+ .text 0xc0125be0 0x22a SyscallManager/IDT.wtf.o
+ 0xc0125be0 idt_flush
+ 0xc0125be8 isr0
+ 0xc0125bf2 isr1
+ 0xc0125bfc isr2
+ 0xc0125c06 isr3
+ 0xc0125c10 isr4
+ 0xc0125c1a isr5
+ 0xc0125c24 isr6
+ 0xc0125c2e isr7
+ 0xc0125c38 isr8
+ 0xc0125c40 isr9
+ 0xc0125c4a isr10
+ 0xc0125c52 isr11
+ 0xc0125c5a isr12
+ 0xc0125c62 isr13
+ 0xc0125c6a isr14
+ 0xc0125c72 isr15
+ 0xc0125c7c isr16
+ 0xc0125c86 isr17
+ 0xc0125c90 isr18
+ 0xc0125c9a isr19
+ 0xc0125ca4 isr20
+ 0xc0125cae isr21
+ 0xc0125cb8 isr22
+ 0xc0125cc2 isr23
+ 0xc0125ccc isr24
+ 0xc0125cd6 isr25
+ 0xc0125ce0 isr26
+ 0xc0125cea isr27
+ 0xc0125cf4 isr28
+ 0xc0125cfe isr29
+ 0xc0125d08 isr30
+ 0xc0125d12 isr31
+ 0xc0125d1c irq0
+ 0xc0125d26 irq1
+ 0xc0125d30 irq2
+ 0xc0125d3a irq3
+ 0xc0125d44 irq4
+ 0xc0125d4e irq5
+ 0xc0125d58 irq6
+ 0xc0125d62 irq7
+ 0xc0125d6c irq8
+ 0xc0125d76 irq9
+ 0xc0125d80 irq10
+ 0xc0125d8a irq11
+ 0xc0125d94 irq12
+ 0xc0125d9e irq13
+ 0xc0125da8 irq14
+ 0xc0125db2 irq15
+ 0xc0125dbc int64
+ 0xc0125dc6 int65
+ 0xc0125dd0 int66
+ *fill* 0xc0125e0a 0x6 00
+ .text 0xc0125e10 0x30c Devices/Display/VGATextOutput.class.o
+ 0xc0125e10 VGATextOutput::clear()
+ 0xc0125e30 VGATextOutput::textScroll(unsigned short, unsigned short, unsigned short, unsigned short, unsigned char)
+ 0xc0125f20 VGATextOutput::moveCursor(unsigned short, unsigned short)
+ 0xc0125f90 VGATextOutput::putChar(unsigned short, unsigned short, WChar, unsigned char)
+ 0xc0125fe0 VGATextOutput::setMode(Disp::mode_t&)
+ 0xc0126040 VGATextOutput::getModes(Vector<Disp::mode_t>&)
+ 0xc01260c0 VGATextOutput::getName()
+ 0xc01260f0 VGATextOutput::getClass()
+ *fill* 0xc012611c 0x4 00
+ .text 0xc0126120 0x3bf Devices/Display/GraphicDisplay.proto.o
+ 0xc0126120 GraphicDisplay::getCsrBuff()
+ 0xc01261b0 GraphicDisplay::putCsrBuff()
+ 0xc0126250 GraphicDisplay::drawCsr()
+ 0xc01262f0 GraphicDisplay::moveCursor(unsigned short, unsigned short)
+ 0xc0126340 GraphicDisplay::putChar(unsigned short, unsigned short, WChar, unsigned char)
+ 0xc01263c0 GraphicDisplay::drawChar(unsigned short, unsigned short, WChar, unsigned char)
+ *fill* 0xc01264df 0x1 00
+ .text 0xc01264e0 0xf8d Devices/Display/VESADisplay.class.o
+ 0xc01264e0 VESADisplay::clear()
+ 0xc0126530 VESADisplay::getPix(unsigned short, unsigned short)
+ 0xc0126610 VESADisplay::textScroll(unsigned short, unsigned short, unsigned short, unsigned short, unsigned char)
+ 0xc0126790 VESADisplay::drawChar(unsigned short, unsigned short, WChar, unsigned char)
+ 0xc0126bb0 VESADisplay::setPalette(unsigned char, unsigned int)
+ 0xc0126c40 VESADisplay::unsetMode()
+ 0xc0126cc0 VESADisplay::getModeInfo(unsigned short)
+ 0xc0126d60 VESADisplay::setMode(Disp::mode_t&)
+ 0xc0126fc0 VESADisplay::getCtrlrInfo()
+ 0xc0127090 VESADisplay::getModes(Vector<Disp::mode_t>&)
+ 0xc0127270 VESADisplay::getName()
+ 0xc01272a0 VESADisplay::getClass()
+ 0xc01272d0 VESADisplay::get8Bit(unsigned int)
+ 0xc01273a0 VESADisplay::putPix(unsigned short, unsigned short, unsigned int)
+ *fill* 0xc012746d 0x3 00
+ .text 0xc0127470 0x1c5 Devices/Keyboard/PS2Keyboard.class.o
+ 0xc0127470 PS2Keyboard::updateLeds(unsigned int)
+ 0xc01274b0 PS2Keyboard::handleIRQ(registers_t, int)
+ 0xc0127520 PS2Keyboard::getName()
+ 0xc0127550 PS2Keyboard::getClass()
+ 0xc0127580 PS2Keyboard::PS2Keyboard()
+ 0xc01275e0 PS2Keyboard::PS2Keyboard()
+ *fill* 0xc0127635 0xb 00
+ .text 0xc0127640 0xa2b Devices/Floppy/FloppyController.class.o
+ 0xc0127640 FloppyController::handleIRQ(registers_t, int)
+ 0xc0127670 FloppyController::waitIrq()
+ 0xc01276b0 FloppyController::readData()
+ 0xc0127720 FloppyController::writeCmd(unsigned char)
+ 0xc01277b0 FloppyController::checkInterrupt(int*, int*)
+ 0xc01277f0 FloppyController::setDOR()
+ 0xc0127880 FloppyController::setNoActiveDrive()
+ 0xc0127890 FloppyController::reset()
+ 0xc0127920 FloppyController::dmaRelease()
+ 0xc0127940 FloppyController::setActiveDrive(unsigned char)
+ 0xc0127980 FloppyController::dmaInit(unsigned char, unsigned int)
+ 0xc0127ae0 FloppyController::getClass()
+ 0xc0127b10 FloppyController::FloppyController(unsigned int, unsigned char)
+ 0xc0127b90 FloppyController::FloppyController(unsigned int, unsigned char)
+ 0xc0127c10 floppyMotorTimer(void*)
+ 0xc0127d00 FloppyController::getName()
+ 0xc0127ea0 FloppyController::detect()
+ *fill* 0xc012806b 0x5 00
+ .text 0xc0128070 0x14a8 Devices/Floppy/FloppyDrive.class.o
+ 0xc0128070 FloppyDrive::FloppyDrive(FloppyController*, unsigned char, unsigned char)
+ 0xc0128120 FloppyDrive::FloppyDrive(FloppyController*, unsigned char, unsigned char)
+ 0xc01281d0 FloppyDrive::blocks()
+ 0xc01281f0 FloppyDrive::writeBlocks(unsigned long long, unsigned int, unsigned char*)
+ 0xc0128200 FloppyDrive::blockSize()
+ 0xc0128210 FloppyDrive::chs2lba(unsigned int, unsigned int, unsigned int)
+ 0xc0128240 FloppyDrive::readOnly()
+ 0xc01282c0 FloppyDrive::getClass()
+ 0xc01282f0 FloppyDrive::killMotor()
+ 0xc0128310 FloppyDrive::setMotorState(bool)
+ 0xc01283b0 FloppyDrive::getName()
+ 0xc0128470 FloppyDrive::calibrate()
+ 0xc0128680 FloppyDrive::setup()
+ 0xc0128730 FloppyDrive::seek(unsigned int, int, bool)
+ 0xc0128930 FloppyDrive::doTrack(unsigned int, unsigned char)
+ 0xc0129370 FloppyDrive::readBlocks(unsigned long long, unsigned int, unsigned char*)
+ *fill* 0xc0129518 0x8 00
+ .text 0xc0129520 0x416 Devices/ATA/ATAController.class.o
+ 0xc0129520 ATAController::identify(bool)
+ 0xc0129680 ATAController::ATAController(unsigned int, unsigned char)
+ 0xc0129710 ATAController::ATAController(unsigned int, unsigned char)
+ 0xc01297a0 ATAController::detect()
+ 0xc0129870 ATAController::getClass()
+ 0xc01298a0 ATAController::getName()
+ *fill* 0xc0129936 0xa 00
+ .text 0xc0129940 0x785 Devices/ATA/ATADrive.class.o
+ 0xc0129940 ATADrive::ATADrive(ATAController*, bool, unsigned int, unsigned short*)
+ 0xc0129980 ATADrive::ATADrive(ATAController*, bool, unsigned int, unsigned short*)
+ 0xc01299c0 ATADrive::readOnly()
+ 0xc01299d0 ATADrive::blocks()
+ 0xc01299e0 ATADrive::blockSize()
+ 0xc01299f0 ATADrive::cmdCommon(unsigned int, unsigned int)
+ 0xc0129ad0 ATADrive::writeBlocks(unsigned long long, unsigned int, unsigned char*)
+ 0xc0129be0 ATADrive::readBlocks(unsigned long long, unsigned int, unsigned char*)
+ 0xc0129d00 ATADrive::getClass()
+ 0xc0129d30 ATADrive::getName()
+ *fill* 0xc012a0c5 0xb 00
+ .text 0xc012a0d0 0x1e6 Devices/Timer.class.o
+ 0xc012a0d0 Timer::uptime()
+ 0xc012a0e0 Timer::time()
+ 0xc012a110 Timer::handleIRQ(registers_t, int)
+ 0xc012a140 Timer::setFrequency(unsigned char)
+ 0xc012a1a0 Timer::getName()
+ 0xc012a1d0 Timer::getClass()
+ 0xc012a200 Timer::Timer(unsigned char)
+ 0xc012a260 Timer::Timer(unsigned char)
+
+.iplt 0xc012a2b8 0x0 load address 0x0012a2b6
+ .iplt 0x00000000 0x0 Core/loader.wtf.o
+
+.text._ZN6DeviceD1Ev
+ 0xc012a2c0 0xe load address 0x0012a2c0
+ .text._ZN6DeviceD1Ev
+ 0xc012a2c0 0xe Core/kmain.wtf.o
+ 0xc012a2c0 Device::~Device()
+
+.text._ZN6Device9handleIRQE11registers_ti
+ 0xc012a2d0 0x5 load address 0x0012a2d0
+ .text._ZN6Device9handleIRQE11registers_ti
+ 0xc012a2d0 0x5 Core/kmain.wtf.o
+ 0xc012a2d0 Device::handleIRQ(registers_t, int)
+
+.text._ZN7DisplayD1Ev
+ 0xc012a2e0 0xe load address 0x0012a2e0
+ .text._ZN7DisplayD1Ev
+ 0xc012a2e0 0xe Core/kmain.wtf.o
+ 0xc012a2e0 Display::~Display()
+
+.text._ZN7Display9unsetModeEv
+ 0xc012a2f0 0x5 load address 0x0012a2f0
+ .text._ZN7Display9unsetModeEv
+ 0xc012a2f0 0x5 Core/kmain.wtf.o
+ 0xc012a2f0 Display::unsetMode()
+
+.text._ZN7Display10textScrollEtttth
+ 0xc012a300 0x7 load address 0x0012a300
+ .text._ZN7Display10textScrollEtttth
+ 0xc012a300 0x7 Core/kmain.wtf.o
+ 0xc012a300 Display::textScroll(unsigned short, unsigned short, unsigned short, unsigned short, unsigned char)
+
+.text._ZN7Display6putPixEttj
+ 0xc012a310 0x5 load address 0x0012a310
+ .text._ZN7Display6putPixEttj
+ 0xc012a310 0x5 Core/kmain.wtf.o
+ 0xc012a310 Display::putPix(unsigned short, unsigned short, unsigned int)
+
+.text._ZN7Display6getPixEtt
+ 0xc012a320 0x7 load address 0x0012a320
+ .text._ZN7Display6getPixEtt
+ 0xc012a320 0x7 Core/kmain.wtf.o
+ 0xc012a320 Display::getPix(unsigned short, unsigned short)
+
+.text._ZN7DisplayD0Ev
+ 0xc012a330 0x15 load address 0x0012a330
+ .text._ZN7DisplayD0Ev
+ 0xc012a330 0x15 Core/kmain.wtf.o
+ 0xc012a330 Display::~Display()
+
+.text._ZN6DeviceD0Ev
+ 0xc012a350 0x15 load address 0x0012a350
+ .text._ZN6DeviceD0Ev
+ 0xc012a350 0x15 Core/kmain.wtf.o
+ 0xc012a350 Device::~Device()
+
+.text._ZN9ByteArrayD0Ev
+ 0xc012a370 0x2c load address 0x0012a370
+ .text._ZN9ByteArrayD0Ev
+ 0xc012a370 0x2c Core/kmain.wtf.o
+ 0xc012a370 ByteArray::~ByteArray()
+
+.text._ZN11BasicStringIhED0Ev
+ 0xc012a3a0 0x2c load address 0x0012a3a0
+ .text._ZN11BasicStringIhED0Ev
+ 0xc012a3a0 0x2c Core/kmain.wtf.o
+ 0xc012a3a0 BasicString<unsigned char>::~BasicString()
+
+.text._ZN11BasicStringIhED1Ev
+ 0xc012a3d0 0x22 load address 0x0012a3d0
+ .text._ZN11BasicStringIhED1Ev
+ 0xc012a3d0 0x22 Core/kmain.wtf.o
+ 0xc012a3d0 BasicString<unsigned char>::~BasicString()
+
+.text._ZN9ByteArrayD1Ev
+ 0xc012a400 0x22 load address 0x0012a400
+ .text._ZN9ByteArrayD1Ev
+ 0xc012a400 0x22 Core/kmain.wtf.o
+ 0xc012a400 ByteArray::~ByteArray()
+
+.text._ZN6StringD0Ev
+ 0xc012a430 0x2c load address 0x0012a430
+ .text._ZN6StringD0Ev
+ 0xc012a430 0x2c Core/kmain.wtf.o
+ 0xc012a430 String::~String()
+
+.text._ZN11BasicStringI5WCharED0Ev
+ 0xc012a460 0x2c load address 0x0012a460
+ .text._ZN11BasicStringI5WCharED0Ev
+ 0xc012a460 0x2c Core/kmain.wtf.o
+ 0xc012a460 BasicString<WChar>::~BasicString()
+
+.text._ZN11BasicStringI5WCharED1Ev
+ 0xc012a490 0x22 load address 0x0012a490
+ .text._ZN11BasicStringI5WCharED1Ev
+ 0xc012a490 0x22 Core/kmain.wtf.o
+ 0xc012a490 BasicString<WChar>::~BasicString()
+
+.text._ZN6StringD1Ev
+ 0xc012a4c0 0x22 load address 0x0012a4c0
+ .text._ZN6StringD1Ev
+ 0xc012a4c0 0x22 Core/kmain.wtf.o
+ 0xc012a4c0 String::~String()
+
+.text._ZN6VectorI6StringED1Ev
+ 0xc012a4f0 0x50 load address 0x0012a4f0
+ .text._ZN6VectorI6StringED1Ev
+ 0xc012a4f0 0x50 Core/kmain.wtf.o
+ 0xc012a4f0 Vector<String>::~Vector()
+
+.text._ZN11BasicStringI5WCharE6affectERKS1_
+ 0xc012a540 0xa3 load address 0x0012a540
+ .text._ZN11BasicStringI5WCharE6affectERKS1_
+ 0xc012a540 0xa3 Core/kmain.wtf.o
+ 0xc012a540 BasicString<WChar>::affect(BasicString<WChar> const&)
+
+.text._ZN6StringpLERKS_
+ 0xc012a5f0 0xbe load address 0x0012a5f0
+ .text._ZN6StringpLERKS_
+ 0xc012a5f0 0xbe Core/kmain.wtf.o
+ 0xc012a5f0 String::operator+=(String const&)
+
+.text._ZN8TextFileD0Ev
+ 0xc012a6b0 0x25 load address 0x0012a6b0
+ .text._ZN8TextFileD0Ev
+ 0xc012a6b0 0x25 Core/kmain.wtf.o
+ 0xc012a6b0 TextFile::~TextFile()
+
+.text._ZN8TextFileD1Ev
+ 0xc012a6e0 0x15 load address 0x0012a6e0
+ .text._ZN8TextFileD1Ev
+ 0xc012a6e0 0x15 Core/kmain.wtf.o
+ 0xc012a6e0 TextFile::~TextFile()
+
+.text._ZN6VectorIN4Disp6mode_tEED1Ev
+ 0xc012a700 0x22 load address 0x0012a700
+ .text._ZN6VectorIN4Disp6mode_tEED1Ev
+ 0xc012a700 0x22 DeviceManager/Disp.ns.o
+ 0xc012a700 Vector<Disp::mode_t>::~Vector()
+
+.text._ZN6VectorIP6DeviceED1Ev
+ 0xc012a730 0x22 load address 0x0012a730
+ .text._ZN6VectorIP6DeviceED1Ev
+ 0xc012a730 0x22 DeviceManager/Dev.ns.o
+ 0xc012a730 Vector<Device*>::~Vector()
+
+.text._ZN6VectorIP6DeviceE4pushERKS1_
+ 0xc012a760 0x69 load address 0x0012a760
+ .text._ZN6VectorIP6DeviceE4pushERKS1_
+ 0xc012a760 0x69 DeviceManager/Dev.ns.o
+ 0xc012a760 Vector<Device*>::push(Device* const&)
+
+.text._ZN6VectorIP6ThreadED1Ev
+ 0xc012a7d0 0x22 load address 0x0012a7d0
+ .text._ZN6VectorIP6ThreadED1Ev
+ 0xc012a7d0 0x22 TaskManager/Process.class.o
+ 0xc012a7d0 Vector<Thread*>::~Vector()
+
+.text._ZN6VectorI6StringE4pushERKS0_
+ 0xc012a800 0x108 load address 0x0012a800
+ .text._ZN6VectorI6StringE4pushERKS0_
+ 0xc012a800 0x108 TaskManager/Process.class.o
+ 0xc012a800 Vector<String>::push(String const&)
+
+.text._ZN7Process6getUidEv
+ 0xc012a910 0xb load address 0x0012a910
+ .text._ZN7Process6getUidEv
+ 0xc012a910 0xb TaskManager/Process-sc.class.o
+ 0xc012a910 Process::getUid()
+
+.text._ZN7Process6getPidEv
+ 0xc012a920 0xb load address 0x0012a920
+ .text._ZN7Process6getPidEv
+ 0xc012a920 0xb TaskManager/Process-sc.class.o
+ 0xc012a920 Process::getPid()
+
+.text._ZN7Process7getPpidEv
+ 0xc012a930 0xb load address 0x0012a930
+ .text._ZN7Process7getPpidEv
+ 0xc012a930 0xb TaskManager/Process-sc.class.o
+ 0xc012a930 Process::getPpid()
+
+.text._ZN6StringC1ERKS_
+ 0xc012a940 0xa9 load address 0x0012a940
+ .text._ZN6StringC1ERKS_
+ 0xc012a940 0xa9 TaskManager/Process-sc.class.o
+ 0xc012a940 String::String(String const&)
+
+.text._ZN9V86ThreadD1Ev
+ 0xc012a9f0 0x15 load address 0x0012a9f0
+ .text._ZN9V86ThreadD1Ev
+ 0xc012a9f0 0x15 TaskManager/V86/V86Thread.class.o
+ 0xc012a9f0 V86Thread::~V86Thread()
+
+.text._ZN9V86ThreadD0Ev
+ 0xc012aa10 0x25 load address 0x0012aa10
+ .text._ZN9V86ThreadD0Ev
+ 0xc012aa10 0x25 TaskManager/V86/V86Thread.class.o
+ 0xc012aa10 V86Thread::~V86Thread()
+
+.text._ZN15VirtualTerminal10accessibleEv
+ 0xc012aa40 0xa load address 0x0012aa40
+ .text._ZN15VirtualTerminal10accessibleEv
+ 0xc012aa40 0xa VTManager/VirtualTerminal.proto.o
+ 0xc012aa40 VirtualTerminal::accessible()
+
+.text._ZN15VirtualTerminal12updateCursorEv
+ 0xc012aa50 0x5 load address 0x0012aa50
+ .text._ZN15VirtualTerminal12updateCursorEv
+ 0xc012aa50 0x5 VTManager/VirtualTerminal.proto.o
+ 0xc012aa50 VirtualTerminal::updateCursor()
+
+.text._ZN15VirtualTerminal6heightEv
+ 0xc012aa60 0x7 load address 0x0012aa60
+ .text._ZN15VirtualTerminal6heightEv
+ 0xc012aa60 0x7 VTManager/VirtualTerminal.proto.o
+ 0xc012aa60 VirtualTerminal::height()
+
+.text._ZN15VirtualTerminal5widthEv
+ 0xc012aa70 0x7 load address 0x0012aa70
+ .text._ZN15VirtualTerminal5widthEv
+ 0xc012aa70 0x7 VTManager/VirtualTerminal.proto.o
+ 0xc012aa70 VirtualTerminal::width()
+
+.text._ZN8SimpleVT7isBoxedEv
+ 0xc012aa80 0xa load address 0x0012aa80
+ .text._ZN8SimpleVT7isBoxedEv
+ 0xc012aa80 0xa VTManager/SimpleVT.class.o
+ 0xc012aa80 SimpleVT::isBoxed()
+
+.text._ZN8SimpleVT6heightEv
+ 0xc012aa90 0xe load address 0x0012aa90
+ .text._ZN8SimpleVT6heightEv
+ 0xc012aa90 0xe VTManager/SimpleVT.class.o
+ 0xc012aa90 SimpleVT::height()
+
+.text._ZN8SimpleVT5widthEv
+ 0xc012aaa0 0xe load address 0x0012aaa0
+ .text._ZN8SimpleVT5widthEv
+ 0xc012aaa0 0xe VTManager/SimpleVT.class.o
+ 0xc012aaa0 SimpleVT::width()
+
+.text._ZN6PipeVT7isBoxedEv
+ 0xc012aab0 0x7 load address 0x0012aab0
+ .text._ZN6PipeVT7isBoxedEv
+ 0xc012aab0 0x7 VTManager/PipeVT.class.o
+ 0xc012aab0 PipeVT::isBoxed()
+
+.text._ZN6PipeVTD1Ev
+ 0xc012aac0 0x15 load address 0x0012aac0
+ .text._ZN6PipeVTD1Ev
+ 0xc012aac0 0x15 VTManager/PipeVT.class.o
+ 0xc012aac0 PipeVT::~PipeVT()
+
+.text._ZN6PipeVTD0Ev
+ 0xc012aae0 0x25 load address 0x0012aae0
+ .text._ZN6PipeVTD0Ev
+ 0xc012aae0 0x25 VTManager/PipeVT.class.o
+ 0xc012aae0 PipeVT::~PipeVT()
+
+.text._ZN6FileVT7isBoxedEv
+ 0xc012ab10 0x7 load address 0x0012ab10
+ .text._ZN6FileVT7isBoxedEv
+ 0xc012ab10 0x7 VTManager/FileVT.class.o
+ 0xc012ab10 FileVT::isBoxed()
+
+.text._ZN6FileVTD0Ev
+ 0xc012ab20 0x59 load address 0x0012ab20
+ .text._ZN6FileVTD0Ev
+ 0xc012ab20 0x59 VTManager/FileVT.class.o
+ 0xc012ab20 FileVT::~FileVT()
+
+.text._ZN6FileVTD1Ev
+ 0xc012ab80 0x51 load address 0x0012ab80
+ .text._ZN6FileVTD1Ev
+ 0xc012ab80 0x51 VTManager/FileVT.class.o
+ 0xc012ab80 FileVT::~FileVT()
+
+.text._ZN6VectorIP8SimpleVTED1Ev
+ 0xc012abe0 0x22 load address 0x0012abe0
+ .text._ZN6VectorIP8SimpleVTED1Ev
+ 0xc012abe0 0x22 VTManager/VT.ns.o
+ 0xc012abe0 Vector<SimpleVT*>::~Vector()
+
+.text._ZN6BinaryD1Ev
+ 0xc012ac10 0xe load address 0x0012ac10
+ .text._ZN6BinaryD1Ev
+ 0xc012ac10 0xe Linker/MelonBinary.class.o
+ 0xc012ac10 Binary::~Binary()
+
+.text._ZN6BinaryD0Ev
+ 0xc012ac20 0x15 load address 0x0012ac20
+ .text._ZN6BinaryD0Ev
+ 0xc012ac20 0x15 Linker/MelonBinary.class.o
+ 0xc012ac20 Binary::~Binary()
+
+.text._ZN10BlockCacheI11BlockDeviceE4initEj
+ 0xc012ac40 0x8b load address 0x0012ac40
+ .text._ZN10BlockCacheI11BlockDeviceE4initEj
+ 0xc012ac40 0x8b VFS/Partition.class.o
+ 0xc012ac40 BlockCache<BlockDevice>::init(unsigned int)
+
+.text._ZN10BlockCacheI11BlockDeviceE8setCacheEyPhb
+ 0xc012acd0 0x1a7 load address 0x0012acd0
+ .text._ZN10BlockCacheI11BlockDeviceE8setCacheEyPhb
+ 0xc012acd0 0x1a7 VFS/Partition.class.o
+ 0xc012acd0 BlockCache<BlockDevice>::setCache(unsigned long long, unsigned char*, bool)
+
+.text._ZN10BlockCacheI11BlockDeviceE10readBlocksEyjPh
+ 0xc012ae80 0x139 load address 0x0012ae80
+ .text._ZN10BlockCacheI11BlockDeviceE10readBlocksEyjPh
+ 0xc012ae80 0x139 VFS/Partition.class.o
+ 0xc012ae80 BlockCache<BlockDevice>::readBlocks(unsigned long long, unsigned int, unsigned char*)
+
+.text._ZN6VectorIP9PartitionED1Ev
+ 0xc012afc0 0x22 load address 0x0012afc0
+ .text._ZN6VectorIP9PartitionED1Ev
+ 0xc012afc0 0x22 VFS/Part.ns.o
+ 0xc012afc0 Vector<Partition*>::~Vector()
+
+.text._ZN6VectorIP11BlockDeviceED1Ev
+ 0xc012aff0 0x22 load address 0x0012aff0
+ .text._ZN6VectorIP11BlockDeviceED1Ev
+ 0xc012aff0 0x22 VFS/Part.ns.o
+ 0xc012aff0 Vector<BlockDevice*>::~Vector()
+
+.text._ZN6VectorIP10FileSystemED1Ev
+ 0xc012b020 0x22 load address 0x0012b020
+ .text._ZN6VectorIP10FileSystemED1Ev
+ 0xc012b020 0x22 VFS/VFS.ns.o
+ 0xc012b020 Vector<FileSystem*>::~Vector()
+
+.text._ZN6VectorI6StringE3popEv
+ 0xc012b050 0x6c load address 0x0012b050
+ .text._ZN6VectorI6StringE3popEv
+ 0xc012b050 0x6c VFS/VFS.ns.o
+ 0xc012b050 Vector<String>::pop()
+
+.text._ZN6FSNode4usedEv
+ 0xc012b0c0 0x7 load address 0x0012b0c0
+ .text._ZN6FSNode4usedEv
+ 0xc012b0c0 0x7 VFS/FSNode-sc.proto.o
+ 0xc012b0c0 FSNode::used()
+
+.text._ZN6FSNode9getLengthEv
+ 0xc012b0d0 0xe load address 0x0012b0d0
+ .text._ZN6FSNode9getLengthEv
+ 0xc012b0d0 0xe VFS/FSNode-sc.proto.o
+ 0xc012b0d0 FSNode::getLength()
+
+.text._ZN6FSNode14getPermissionsEv
+ 0xc012b0e0 0xb load address 0x0012b0e0
+ .text._ZN6FSNode14getPermissionsEv
+ 0xc012b0e0 0xb VFS/FSNode-sc.proto.o
+ 0xc012b0e0 FSNode::getPermissions()
+
+.text._ZN6FSNode6getUidEv
+ 0xc012b0f0 0xb load address 0x0012b0f0
+ .text._ZN6FSNode6getUidEv
+ 0xc012b0f0 0xb VFS/FSNode-sc.proto.o
+ 0xc012b0f0 FSNode::getUid()
+
+.text._ZN6FSNode6getGidEv
+ 0xc012b100 0xb load address 0x0012b100
+ .text._ZN6FSNode6getGidEv
+ 0xc012b100 0xb VFS/FSNode-sc.proto.o
+ 0xc012b100 FSNode::getGid()
+
+.text._ZN6FSNode9getParentEv
+ 0xc012b110 0xb load address 0x0012b110
+ .text._ZN6FSNode9getParentEv
+ 0xc012b110 0xb VFS/FSNode-sc.proto.o
+ 0xc012b110 FSNode::getParent()
+
+.text._ZN6FSNodeD0Ev
+ 0xc012b120 0x3b load address 0x0012b120
+ .text._ZN6FSNodeD0Ev
+ 0xc012b120 0x3b VFS/FSNode-sc.proto.o
+ 0xc012b120 FSNode::~FSNode()
+
+.text._ZN6FSNodeD1Ev
+ 0xc012b160 0x33 load address 0x0012b160
+ .text._ZN6FSNodeD1Ev
+ 0xc012b160 0x33 VFS/FSNode-sc.proto.o
+ 0xc012b160 FSNode::~FSNode()
+
+.text._ZN13DirectoryNode4typeEv
+ 0xc012b1a0 0xa load address 0x0012b1a0
+ .text._ZN13DirectoryNode4typeEv
+ 0xc012b1a0 0xa VFS/DirectoryNode.class.o
+ 0xc012b1a0 DirectoryNode::type()
+
+.text._ZN6VectorIP6FSNodeED1Ev
+ 0xc012b1b0 0x22 load address 0x0012b1b0
+ .text._ZN6VectorIP6FSNodeED1Ev
+ 0xc012b1b0 0x22 VFS/DirectoryNode.class.o
+ 0xc012b1b0 Vector<FSNode*>::~Vector()
+
+.text._ZN4UserD1Ev
+ 0xc012b1e0 0x76 load address 0x0012b1e0
+ .text._ZN4UserD1Ev
+ 0xc012b1e0 0x76 UserManager/Usr.ns.o
+ 0xc012b1e0 User::~User()
+
+.text._ZN10SimpleListI5GroupED1Ev
+ 0xc012b260 0x1dd load address 0x0012b260
+ .text._ZN10SimpleListI5GroupED1Ev
+ 0xc012b260 0x1dd UserManager/Usr.ns.o
+ 0xc012b260 SimpleList<Group>::~SimpleList()
+
+.text._ZN4UserC1E6StringS0_S0_P5GroupS0_j
+ 0xc012b440 0x2ec load address 0x0012b440
+ .text._ZN4UserC1E6StringS0_S0_P5GroupS0_j
+ 0xc012b440 0x2ec UserManager/Usr.ns.o
+ 0xc012b440 User::User(String, String, String, Group*, String, unsigned int)
+
+.text._ZN10SimpleListI4UserE4consERKS0_
+ 0xc012b730 0x220 load address 0x0012b730
+ .text._ZN10SimpleListI4UserE4consERKS0_
+ 0xc012b730 0x220 UserManager/Usr.ns.o
+ 0xc012b730 SimpleList<User>::cons(User const&)
+
+.text._ZN10SimpleListI4UserED1Ev
+ 0xc012b950 0x35d load address 0x0012b950
+ .text._ZN10SimpleListI4UserED1Ev
+ 0xc012b950 0x35d UserManager/Usr.ns.o
+ 0xc012b950 SimpleList<User>::~SimpleList()
+
+.text._ZN5RamFS7getPartEv
+ 0xc012bcb0 0x7 load address 0x0012bcb0
+ .text._ZN5RamFS7getPartEv
+ 0xc012bcb0 0x7 FileSystems/RamFS/RamFS.class.o
+ 0xc012bcb0 RamFS::getPart()
+
+.text._ZN8FileNode4typeEv
+ 0xc012bcc0 0xa load address 0x0012bcc0
+ .text._ZN8FileNode4typeEv
+ 0xc012bcc0 0xa FileSystems/RamFS/RamFS.class.o
+ 0xc012bcc0 FileNode::type()
+
+.text._ZN8FileNode9removableEv
+ 0xc012bcd0 0xa load address 0x0012bcd0
+ .text._ZN8FileNode9removableEv
+ 0xc012bcd0 0xa FileSystems/RamFS/RamFS.class.o
+ 0xc012bcd0 FileNode::removable()
+
+.text._ZN8FileNode4usedEv
+ 0xc012bce0 0x1c load address 0x0012bce0
+ .text._ZN8FileNode4usedEv
+ 0xc012bce0 0x1c FileSystems/RamFS/RamFS.class.o
+ 0xc012bce0 FileNode::used()
+
+.text._ZN6VectorIP6FSNodeE4pushERKS1_
+ 0xc012bd00 0x69 load address 0x0012bd00
+ .text._ZN6VectorIP6FSNodeE4pushERKS1_
+ 0xc012bd00 0x69 FileSystems/RamFS/RamFS.class.o
+ 0xc012bd00 Vector<FSNode*>::push(FSNode* const&)
+
+.text._ZN8FileNodeD1Ev
+ 0xc012bd70 0x33 load address 0x0012bd70
+ .text._ZN8FileNodeD1Ev
+ 0xc012bd70 0x33 FileSystems/RamFS/RamFS.class.o
+ 0xc012bd70 FileNode::~FileNode()
+
+.text._ZN11RamFileNodeD0Ev
+ 0xc012bdb0 0x50 load address 0x0012bdb0
+ .text._ZN11RamFileNodeD0Ev
+ 0xc012bdb0 0x50 FileSystems/RamFS/RamFS.class.o
+ 0xc012bdb0 RamFileNode::~RamFileNode()
+
+.text._ZN11RamFileNodeD1Ev
+ 0xc012be00 0x48 load address 0x0012be00
+ .text._ZN11RamFileNodeD1Ev
+ 0xc012be00 0x48 FileSystems/RamFS/RamFS.class.o
+ 0xc012be00 RamFileNode::~RamFileNode()
+
+.text._ZN8FileNodeD0Ev
+ 0xc012be50 0x3b load address 0x0012be50
+ .text._ZN8FileNodeD0Ev
+ 0xc012be50 0x3b FileSystems/RamFS/RamFS.class.o
+ 0xc012be50 FileNode::~FileNode()
+
+.text._ZN5FATFS7getPartEv
+ 0xc012be90 0xe load address 0x0012be90
+ .text._ZN5FATFS7getPartEv
+ 0xc012be90 0xe FileSystems/FAT/FATFS.class.o
+ 0xc012be90 FATFS::getPart()
+
+.text._ZN10BlockCacheI9PartitionED1Ev
+ 0xc012bea0 0x99 load address 0x0012bea0
+ .text._ZN10BlockCacheI9PartitionED1Ev
+ 0xc012bea0 0x99 FileSystems/FAT/FATFS.class.o
+ 0xc012bea0 BlockCache<Partition>::~BlockCache()
+
+.text._ZN5FATFSD1Ev
+ 0xc012bf40 0x2b load address 0x0012bf40
+ .text._ZN5FATFSD1Ev
+ 0xc012bf40 0x2b FileSystems/FAT/FATFS.class.o
+ 0xc012bf40 FATFS::~FATFS()
+
+.text._ZN5FATFSD0Ev
+ 0xc012bf70 0x33 load address 0x0012bf70
+ .text._ZN5FATFSD0Ev
+ 0xc012bf70 0x33 FileSystems/FAT/FATFS.class.o
+ 0xc012bf70 FATFS::~FATFS()
+
+.text._ZN16FATDirectoryNodeD0Ev
+ 0xc012bfb0 0x25 load address 0x0012bfb0
+ .text._ZN16FATDirectoryNodeD0Ev
+ 0xc012bfb0 0x25 FileSystems/FAT/FATFS.class.o
+ 0xc012bfb0 FATDirectoryNode::~FATDirectoryNode()
+
+.text._ZN16FATDirectoryNodeD1Ev
+ 0xc012bfe0 0x15 load address 0x0012bfe0
+ .text._ZN16FATDirectoryNodeD1Ev
+ 0xc012bfe0 0x15 FileSystems/FAT/FATFS.class.o
+ 0xc012bfe0 FATDirectoryNode::~FATDirectoryNode()
+
+.text._ZN11FATFileNodeD1Ev
+ 0xc012c000 0x33 load address 0x0012c000
+ .text._ZN11FATFileNodeD1Ev
+ 0xc012c000 0x33 FileSystems/FAT/FATFS.class.o
+ 0xc012c000 FATFileNode::~FATFileNode()
+
+.text._ZN11FATFileNodeD0Ev
+ 0xc012c040 0x3b load address 0x0012c040
+ .text._ZN11FATFileNodeD0Ev
+ 0xc012c040 0x3b FileSystems/FAT/FATFS.class.o
+ 0xc012c040 FATFileNode::~FATFileNode()
+
+.text._ZN10SimpleListIP6call_tED1Ev
+ 0xc012c080 0x125 load address 0x0012c080
+ .text._ZN10SimpleListIP6call_tED1Ev
+ 0xc012c080 0x125 SyscallManager/Ressource.class.o
+ 0xc012c080 SimpleList<call_t*>::~SimpleList()
+
+.text._ZN13VGATextOutputD1Ev
+ 0xc012c1b0 0xe load address 0x0012c1b0
+ .text._ZN13VGATextOutputD1Ev
+ 0xc012c1b0 0xe Devices/Display/VGATextOutput.class.o
+ 0xc012c1b0 VGATextOutput::~VGATextOutput()
+
+.text._ZN13VGATextOutputD0Ev
+ 0xc012c1c0 0x15 load address 0x0012c1c0
+ .text._ZN13VGATextOutputD0Ev
+ 0xc012c1c0 0x15 Devices/Display/VGATextOutput.class.o
+ 0xc012c1c0 VGATextOutput::~VGATextOutput()
+
+.text._ZN6VectorIN4Disp6mode_tEE4pushERKS1_
+ 0xc012c1e0 0x9e load address 0x0012c1e0
+ .text._ZN6VectorIN4Disp6mode_tEE4pushERKS1_
+ 0xc012c1e0 0x9e Devices/Display/VGATextOutput.class.o
+ 0xc012c1e0 Vector<Disp::mode_t>::push(Disp::mode_t const&)
+
+.text._ZN14GraphicDisplayD1Ev
+ 0xc012c280 0xe load address 0x0012c280
+ .text._ZN14GraphicDisplayD1Ev
+ 0xc012c280 0xe Devices/Display/GraphicDisplay.proto.o
+ 0xc012c280 GraphicDisplay::~GraphicDisplay()
+
+.text._ZN14GraphicDisplayD0Ev
+ 0xc012c290 0x15 load address 0x0012c290
+ .text._ZN14GraphicDisplayD0Ev
+ 0xc012c290 0x15 Devices/Display/GraphicDisplay.proto.o
+ 0xc012c290 GraphicDisplay::~GraphicDisplay()
+
+.text._Z7rgbTo15j
+ 0xc012c2b0 0x2a load address 0x0012c2b0
+ .text._Z7rgbTo15j
+ 0xc012c2b0 0x2a Devices/Display/VESADisplay.class.o
+ 0xc012c2b0 rgbTo15(unsigned int)
+
+.text._Z7rgbTo16j
+ 0xc012c2e0 0x27 load address 0x0012c2e0
+ .text._Z7rgbTo16j
+ 0xc012c2e0 0x27 Devices/Display/VESADisplay.class.o
+ 0xc012c2e0 rgbTo16(unsigned int)
+
+.text._ZN11VESADisplayD1Ev
+ 0xc012c310 0xe load address 0x0012c310
+ .text._ZN11VESADisplayD1Ev
+ 0xc012c310 0xe Devices/Display/VESADisplay.class.o
+ 0xc012c310 VESADisplay::~VESADisplay()
+
+.text._ZN11VESADisplayD0Ev
+ 0xc012c320 0x15 load address 0x0012c320
+ .text._ZN11VESADisplayD0Ev
+ 0xc012c320 0x15 Devices/Display/VESADisplay.class.o
+ 0xc012c320 VESADisplay::~VESADisplay()
+
+.text._ZN8KeyboardD1Ev
+ 0xc012c340 0xe load address 0x0012c340
+ .text._ZN8KeyboardD1Ev
+ 0xc012c340 0xe Devices/Keyboard/PS2Keyboard.class.o
+ 0xc012c340 Keyboard::~Keyboard()
+
+.text._ZN11PS2KeyboardD1Ev
+ 0xc012c350 0xe load address 0x0012c350
+ .text._ZN11PS2KeyboardD1Ev
+ 0xc012c350 0xe Devices/Keyboard/PS2Keyboard.class.o
+ 0xc012c350 PS2Keyboard::~PS2Keyboard()
+
+.text._ZN11PS2KeyboardD0Ev
+ 0xc012c360 0x15 load address 0x0012c360
+ .text._ZN11PS2KeyboardD0Ev
+ 0xc012c360 0x15 Devices/Keyboard/PS2Keyboard.class.o
+ 0xc012c360 PS2Keyboard::~PS2Keyboard()
+
+.text._ZN8KeyboardD0Ev
+ 0xc012c380 0x15 load address 0x0012c380
+ .text._ZN8KeyboardD0Ev
+ 0xc012c380 0x15 Devices/Keyboard/PS2Keyboard.class.o
+ 0xc012c380 Keyboard::~Keyboard()
+
+.text._ZN16FloppyControllerD1Ev
+ 0xc012c3a0 0xe load address 0x0012c3a0
+ .text._ZN16FloppyControllerD1Ev
+ 0xc012c3a0 0xe Devices/Floppy/FloppyController.class.o
+ 0xc012c3a0 FloppyController::~FloppyController()
+
+.text._ZN16FloppyControllerD0Ev
+ 0xc012c3b0 0x15 load address 0x0012c3b0
+ .text._ZN16FloppyControllerD0Ev
+ 0xc012c3b0 0x15 Devices/Floppy/FloppyController.class.o
+ 0xc012c3b0 FloppyController::~FloppyController()
+
+.text._ZN11BlockDevice8chsToLBAEjjj
+ 0xc012c3d0 0x9 load address 0x0012c3d0
+ .text._ZN11BlockDevice8chsToLBAEjjj
+ 0xc012c3d0 0x9 Devices/Floppy/FloppyDrive.class.o
+ 0xc012c3d0 BlockDevice::chsToLBA(unsigned int, unsigned int, unsigned int)
+
+.text._ZN11BlockDeviceD1Ev
+ 0xc012c3e0 0xe load address 0x0012c3e0
+ .text._ZN11BlockDeviceD1Ev
+ 0xc012c3e0 0xe Devices/Floppy/FloppyDrive.class.o
+ 0xc012c3e0 BlockDevice::~BlockDevice()
+
+.text._ZN11FloppyDriveD1Ev
+ 0xc012c3f0 0xe load address 0x0012c3f0
+ .text._ZN11FloppyDriveD1Ev
+ 0xc012c3f0 0xe Devices/Floppy/FloppyDrive.class.o
+ 0xc012c3f0 FloppyDrive::~FloppyDrive()
+
+.text._ZN11FloppyDriveD0Ev
+ 0xc012c400 0x15 load address 0x0012c400
+ .text._ZN11FloppyDriveD0Ev
+ 0xc012c400 0x15 Devices/Floppy/FloppyDrive.class.o
+ 0xc012c400 FloppyDrive::~FloppyDrive()
+
+.text._ZN11BlockDeviceD0Ev
+ 0xc012c420 0x15 load address 0x0012c420
+ .text._ZN11BlockDeviceD0Ev
+ 0xc012c420 0x15 Devices/Floppy/FloppyDrive.class.o
+ 0xc012c420 BlockDevice::~BlockDevice()
+
+.text._ZN13ATAControllerD1Ev
+ 0xc012c440 0xe load address 0x0012c440
+ .text._ZN13ATAControllerD1Ev
+ 0xc012c440 0xe Devices/ATA/ATAController.class.o
+ 0xc012c440 ATAController::~ATAController()
+
+.text._ZN13ATAControllerD0Ev
+ 0xc012c450 0x15 load address 0x0012c450
+ .text._ZN13ATAControllerD0Ev
+ 0xc012c450 0x15 Devices/ATA/ATAController.class.o
+ 0xc012c450 ATAController::~ATAController()
+
+.text._ZN8ATADriveD1Ev
+ 0xc012c470 0xe load address 0x0012c470
+ .text._ZN8ATADriveD1Ev
+ 0xc012c470 0xe Devices/ATA/ATADrive.class.o
+ 0xc012c470 ATADrive::~ATADrive()
+
+.text._ZN8ATADriveD0Ev
+ 0xc012c480 0x15 load address 0x0012c480
+ .text._ZN8ATADriveD0Ev
+ 0xc012c480 0x15 Devices/ATA/ATADrive.class.o
+ 0xc012c480 ATADrive::~ATADrive()
+
+.text._ZN5TimerD1Ev
+ 0xc012c4a0 0xe load address 0x0012c4a0
+ .text._ZN5TimerD1Ev
+ 0xc012c4a0 0xe Devices/Timer.class.o
+ 0xc012c4a0 Timer::~Timer()
+
+.text._ZN5TimerD0Ev
+ 0xc012c4b0 0x15 load address 0x0012c4b0
+ .text._ZN5TimerD0Ev
+ 0xc012c4b0 0x15 Devices/Timer.class.o
+ 0xc012c4b0 Timer::~Timer()
+
+.rodata 0xc012d000 0x238 load address 0x0012d000
+ *(.rodata)
+ .rodata 0xc012d000 0x80 TaskManager/Thread.class.o
+ .rodata 0xc012d080 0xc8 VTManager/SimpleVT.class.o
+ *fill* 0xc012d148 0x18 00
+ .rodata 0xc012d160 0xd8 Shell/KernelShell.class.o
+
+.rodata.str1.1 0xc012d238 0x108e load address 0x0012d238
+ .rodata.str1.1
+ 0xc012d238 0x218 Core/kmain.wtf.o
+ 0x231 (size before relaxing)
+ .rodata.str1.1
+ 0xc012d450 0x105 Core/Sys.ns.o
+ 0x130 (size before relaxing)
+ .rodata.str1.1
+ 0xc012d555 0xd0 Core/Log.ns.o
+ .rodata.str1.1
+ 0xc012d625 0x4d Core/SB.ns.o
+ 0x64 (size before relaxing)
+ .rodata.str1.1
+ 0xc012d672 0x5c MemoryManager/PhysMem.ns.o
+ .rodata.str1.1
+ 0xc012d6ce 0x31 DeviceManager/Disp.ns.o
+ 0x3f (size before relaxing)
+ .rodata.str1.1
+ 0xc012d6ff 0x191 DeviceManager/Kbd.ns.o
+ 0x1ed (size before relaxing)
+ .rodata.str1.1
+ 0x00000000 0x2 TaskManager/Process.class.o
+ .rodata.str1.1
+ 0x00000000 0x5 TaskManager/Process-sc.class.o
+ .rodata.str1.1
+ 0xc012d890 0x22f TaskManager/Thread.class.o
+ 0x24c (size before relaxing)
+ .rodata.str1.1
+ 0xc012dabf 0x1c TaskManager/Task.ns.o
+ .rodata.str1.1
+ 0xc012dadb 0x15 VTManager/VirtualTerminal.proto.o
+ 0x1b (size before relaxing)
+ .rodata.str1.1
+ 0x00000000 0x2 VTManager/ScrollableVT.class.o
+ .rodata.str1.1
+ 0x00000000 0x2 VTManager/PipeVT.class.o
+ .rodata.str1.1
+ 0xc012daf0 0x2 VTManager/FileVT.class.o
+ 0x4 (size before relaxing)
+ .rodata.str1.1
+ 0xc012daf2 0x2 VTManager/VirtualTerminal-kbd.proto.o
+ 0xd (size before relaxing)
+ .rodata.str1.1
+ 0xc012daf4 0xaa Shell/KernelShell.class.o
+ 0xb9 (size before relaxing)
+ .rodata.str1.1
+ 0xc012db9e 0x135 Shell/KernelShell-fs.class.o
+ 0x13f (size before relaxing)
+ .rodata.str1.1
+ 0xc012dcd3 0x178 Shell/KernelShell-sys.class.o
+ 0x192 (size before relaxing)
+ .rodata.str1.1
+ 0x00000000 0x5 ../Library/Common/String.class.o
+ .rodata.str1.1
+ 0xc012de4b 0x16a ../Library/Common/WChar.class.o
+ 0x1be (size before relaxing)
+ .rodata.str1.1
+ 0x00000000 0x4 VFS/Part.ns.o
+ .rodata.str1.1
+ 0xc012dfb5 0x44 VFS/VFS.ns.o
+ 0x59 (size before relaxing)
+ .rodata.str1.1
+ 0x00000000 0x5 VFS/FSNode-sc.proto.o
+ .rodata.str1.1
+ 0x00000000 0x5 VFS/File-sc.class.o
+ .rodata.str1.1
+ 0x00000000 0x2 VFS/DirectoryNode.class.o
+ .rodata.str1.1
+ 0xc012dff9 0x45 UserManager/Usr.ns.o
+ 0x51 (size before relaxing)
+ .rodata.str1.1
+ 0x00000000 0x3 FileSystems/RamFS/RamFS.class.o
+ .rodata.str1.1
+ 0xc012e03e 0xaa FileSystems/FAT/FATFS.class.o
+ 0xb3 (size before relaxing)
+ .rodata.str1.1
+ 0xc012e0e8 0x37 SyscallManager/IDT.ns.o
+ .rodata.str1.1
+ 0x00000000 0x5 SyscallManager/Ressource.class.o
+ .rodata.str1.1
+ 0xc012e11f 0x27 Devices/Display/VGATextOutput.class.o
+ .rodata.str1.1
+ 0xc012e146 0x34 Devices/Display/VESADisplay.class.o
+ 0x36 (size before relaxing)
+ .rodata.str1.1
+ 0xc012e17a 0x23 Devices/Keyboard/PS2Keyboard.class.o
+ .rodata.str1.1
+ 0xc012e19d 0x39 Devices/Floppy/FloppyController.class.o
+ .rodata.str1.1
+ 0xc012e1d6 0x8a Devices/Floppy/FloppyDrive.class.o
+ 0x97 (size before relaxing)
+ .rodata.str1.1
+ 0xc012e260 0x20 Devices/ATA/ATAController.class.o
+ .rodata.str1.1
+ 0xc012e280 0x29 Devices/ATA/ATADrive.class.o
+ .rodata.str1.1
+ 0xc012e2a9 0x1d Devices/Timer.class.o
+ 0x23 (size before relaxing)
+
+.rodata.str1.4 0xc012e2c8 0xe38 load address 0x0012e2c8
+ .rodata.str1.4
+ 0xc012e2c8 0x229 Core/kmain.wtf.o
+ *fill* 0xc012e4f1 0x3 00
+ .rodata.str1.4
+ 0xc012e4f4 0x37 Core/Sys.ns.o
+ *fill* 0xc012e52b 0x1 00
+ .rodata.str1.4
+ 0xc012e52c 0x41 MemoryManager/PageAlloc.ns.o
+ *fill* 0xc012e56d 0x3 00
+ .rodata.str1.4
+ 0xc012e570 0x71 DeviceManager/Disp.ns.o
+ *fill* 0xc012e5e1 0x3 00
+ .rodata.str1.4
+ 0xc012e5e4 0x20 DeviceManager/Kbd.ns.o
+ .rodata.str1.4
+ 0xc012e604 0x5a TaskManager/Thread.class.o
+ *fill* 0xc012e65e 0x2 00
+ .rodata.str1.4
+ 0xc012e660 0x355 Shell/KernelShell.class.o
+ *fill* 0xc012e9b5 0x3 00
+ .rodata.str1.4
+ 0xc012e9b8 0x60 Shell/KernelShell-fs.class.o
+ .rodata.str1.4
+ 0xc012ea18 0x145 Shell/KernelShell-sys.class.o
+ 0x165 (size before relaxing)
+ *fill* 0xc012eb5d 0x3 00
+ .rodata.str1.4
+ 0xc012eb60 0x1b2 VFS/VFS.ns.o
+ *fill* 0xc012ed12 0x2 00
+ .rodata.str1.4
+ 0xc012ed14 0x6f UserManager/Usr.ns.o
+ *fill* 0xc012ed83 0x1 00
+ .rodata.str1.4
+ 0xc012ed84 0x2f FileSystems/FAT/FATFS.class.o
+ *fill* 0xc012edb3 0x1 00
+ .rodata.str1.4
+ 0xc012edb4 0x55 Devices/Display/VESADisplay.class.o
+ *fill* 0xc012ee09 0x3 00
+ .rodata.str1.4
+ 0xc012ee0c 0x2f4 Devices/Floppy/FloppyDrive.class.o
+
+.rodata._ZTV7Display
+ 0xc012f100 0x40 load address 0x0012f100
+ .rodata._ZTV7Display
+ 0xc012f100 0x40 Core/kmain.wtf.o
+ 0xc012f100 vtable for Display
+
+.rodata._ZTV6Device
+ 0xc012f140 0x1c load address 0x0012f140
+ .rodata._ZTV6Device
+ 0xc012f140 0x1c Core/kmain.wtf.o
+ 0xc012f140 vtable for Device
+
+.rodata._ZTV8TextFile
+ 0xc012f160 0x14 load address 0x0012f160
+ .rodata._ZTV8TextFile
+ 0xc012f160 0x14 Core/kmain.wtf.o
+ 0xc012f160 vtable for TextFile
+
+.rodata._ZTV9ByteArray
+ 0xc012f178 0x10 load address 0x0012f178
+ .rodata._ZTV9ByteArray
+ 0xc012f178 0x10 Core/kmain.wtf.o
+ 0xc012f178 vtable for ByteArray
+
+.rodata._ZTV11BasicStringIhE
+ 0xc012f188 0x10 load address 0x0012f188
+ .rodata._ZTV11BasicStringIhE
+ 0xc012f188 0x10 Core/kmain.wtf.o
+ 0xc012f188 vtable for BasicString<unsigned char>
+
+.rodata._ZTV6String
+ 0xc012f198 0x10 load address 0x0012f198
+ .rodata._ZTV6String
+ 0xc012f198 0x10 Core/kmain.wtf.o
+ 0xc012f198 vtable for String
+
+.rodata._ZTV11BasicStringI5WCharE
+ 0xc012f1a8 0x10 load address 0x0012f1a8
+ .rodata._ZTV11BasicStringI5WCharE
+ 0xc012f1a8 0x10 Core/kmain.wtf.o
+ 0xc012f1a8 vtable for BasicString<WChar>
+
+.rodata._ZTV7Process
+ 0xc012f1b8 0x14 load address 0x0012f1b8
+ .rodata._ZTV7Process
+ 0xc012f1b8 0x14 TaskManager/Process-sc.class.o
+ 0xc012f1b8 vtable for Process
+
+.rodata._ZTV6Thread
+ 0xc012f1d0 0x18 load address 0x0012f1d0
+ .rodata._ZTV6Thread
+ 0xc012f1d0 0x18 TaskManager/Thread.class.o
+ 0xc012f1d0 vtable for Thread
+
+.rodata._ZTV9V86Thread
+ 0xc012f1e8 0x18 load address 0x0012f1e8
+ .rodata._ZTV9V86Thread
+ 0xc012f1e8 0x18 TaskManager/V86/V86Thread.class.o
+ 0xc012f1e8 vtable for V86Thread
+
+.rodata._ZTV15VirtualTerminal
+ 0xc012f200 0x38 load address 0x0012f200
+ .rodata._ZTV15VirtualTerminal
+ 0xc012f200 0x38 VTManager/VirtualTerminal.proto.o
+ 0xc012f200 vtable for VirtualTerminal
+
+.rodata._ZTV8SimpleVT
+ 0xc012f240 0x48 load address 0x0012f240
+ .rodata._ZTV8SimpleVT
+ 0xc012f240 0x48 VTManager/SimpleVT.class.o
+ 0xc012f240 vtable for SimpleVT
+
+.rodata._ZTV12ScrollableVT
+ 0xc012f2a0 0x48 load address 0x0012f2a0
+ .rodata._ZTV12ScrollableVT
+ 0xc012f2a0 0x48 VTManager/ScrollableVT.class.o
+ 0xc012f2a0 vtable for ScrollableVT
+
+.rodata._ZTV6PipeVT
+ 0xc012f300 0x38 load address 0x0012f300
+ .rodata._ZTV6PipeVT
+ 0xc012f300 0x38 VTManager/PipeVT.class.o
+ 0xc012f300 vtable for PipeVT
+
+.rodata._ZTV6FileVT
+ 0xc012f340 0x38 load address 0x0012f340
+ .rodata._ZTV6FileVT
+ 0xc012f340 0x38 VTManager/FileVT.class.o
+ 0xc012f340 vtable for FileVT
+
+.rodata._ZTV11MelonBinary
+ 0xc012f378 0x14 load address 0x0012f378
+ .rodata._ZTV11MelonBinary
+ 0xc012f378 0x14 Linker/MelonBinary.class.o
+ 0xc012f378 vtable for MelonBinary
+
+.rodata._ZTV6Binary
+ 0xc012f390 0x14 load address 0x0012f390
+ .rodata._ZTV6Binary
+ 0xc012f390 0x14 Linker/MelonBinary.class.o
+ 0xc012f390 vtable for Binary
+
+.rodata._ZTV9ElfBinary
+ 0xc012f3a8 0x14 load address 0x0012f3a8
+ .rodata._ZTV9ElfBinary
+ 0xc012f3a8 0x14 Linker/ElfBinary.class.o
+ 0xc012f3a8 vtable for ElfBinary
+
+.rodata._ZTV10FileSystem
+ 0xc012f3c0 0x48 load address 0x0012f3c0
+ .rodata._ZTV10FileSystem
+ 0xc012f3c0 0x48 VFS/VFS.ns.o
+ 0xc012f3c0 vtable for FileSystem
+
+.rodata._ZTV6FSNode
+ 0xc012f420 0x28 load address 0x0012f420
+ .rodata._ZTV6FSNode
+ 0xc012f420 0x28 VFS/FSNode-sc.proto.o
+ 0xc012f420 vtable for FSNode
+
+.rodata._ZTV4File
+ 0xc012f448 0x14 load address 0x0012f448
+ .rodata._ZTV4File
+ 0xc012f448 0x14 VFS/File-sc.class.o
+ 0xc012f448 vtable for File
+
+.rodata._ZTV13DirectoryNode
+ 0xc012f460 0x28 load address 0x0012f460
+ .rodata._ZTV13DirectoryNode
+ 0xc012f460 0x28 VFS/DirectoryNode.class.o
+ 0xc012f460 vtable for DirectoryNode
+
+.rodata._ZTV5RamFS
+ 0xc012f4a0 0x48 load address 0x0012f4a0
+ .rodata._ZTV5RamFS
+ 0xc012f4a0 0x48 FileSystems/RamFS/RamFS.class.o
+ 0xc012f4a0 vtable for RamFS
+
+.rodata._ZTV11RamFileNode
+ 0xc012f500 0x28 load address 0x0012f500
+ .rodata._ZTV11RamFileNode
+ 0xc012f500 0x28 FileSystems/RamFS/RamFS.class.o
+ 0xc012f500 vtable for RamFileNode
+
+.rodata._ZTV8FileNode
+ 0xc012f540 0x28 load address 0x0012f540
+ .rodata._ZTV8FileNode
+ 0xc012f540 0x28 FileSystems/RamFS/RamFS.class.o
+ 0xc012f540 vtable for FileNode
+
+.rodata._ZTV5FATFS
+ 0xc012f580 0x48 load address 0x0012f580
+ .rodata._ZTV5FATFS
+ 0xc012f580 0x48 FileSystems/FAT/FATFS.class.o
+ 0xc012f580 vtable for FATFS
+
+.rodata._ZTV16FATDirectoryNode
+ 0xc012f5e0 0x28 load address 0x0012f5e0
+ .rodata._ZTV16FATDirectoryNode
+ 0xc012f5e0 0x28 FileSystems/FAT/FATFS.class.o
+ 0xc012f5e0 vtable for FATDirectoryNode
+
+.rodata._ZTV11FATFileNode
+ 0xc012f620 0x28 load address 0x0012f620
+ .rodata._ZTV11FATFileNode
+ 0xc012f620 0x28 FileSystems/FAT/FATFS.class.o
+ 0xc012f620 vtable for FATFileNode
+
+.rodata._ZTV9Ressource
+ 0xc012f648 0x14 load address 0x0012f648
+ .rodata._ZTV9Ressource
+ 0xc012f648 0x14 SyscallManager/Ressource.class.o
+ 0xc012f648 vtable for Ressource
+
+.rodata._ZTV13VGATextOutput
+ 0xc012f660 0x40 load address 0x0012f660
+ .rodata._ZTV13VGATextOutput
+ 0xc012f660 0x40 Devices/Display/VGATextOutput.class.o
+ 0xc012f660 vtable for VGATextOutput
+
+.rodata._ZTV14GraphicDisplay
+ 0xc012f6a0 0x44 load address 0x0012f6a0
+ .rodata._ZTV14GraphicDisplay
+ 0xc012f6a0 0x44 Devices/Display/GraphicDisplay.proto.o
+ 0xc012f6a0 vtable for GraphicDisplay
+
+.rodata._ZTV11VESADisplay
+ 0xc012f700 0x44 load address 0x0012f700
+ .rodata._ZTV11VESADisplay
+ 0xc012f700 0x44 Devices/Display/VESADisplay.class.o
+ 0xc012f700 vtable for VESADisplay
+
+.rodata._ZTV11PS2Keyboard
+ 0xc012f760 0x20 load address 0x0012f760
+ .rodata._ZTV11PS2Keyboard
+ 0xc012f760 0x20 Devices/Keyboard/PS2Keyboard.class.o
+ 0xc012f760 vtable for PS2Keyboard
+
+.rodata._ZTV8Keyboard
+ 0xc012f780 0x20 load address 0x0012f780
+ .rodata._ZTV8Keyboard
+ 0xc012f780 0x20 Devices/Keyboard/PS2Keyboard.class.o
+ 0xc012f780 vtable for Keyboard
+
+.rodata._ZTV16FloppyController
+ 0xc012f7a0 0x1c load address 0x0012f7a0
+ .rodata._ZTV16FloppyController
+ 0xc012f7a0 0x1c Devices/Floppy/FloppyController.class.o
+ 0xc012f7a0 vtable for FloppyController
+
+.rodata._ZTV11FloppyDrive
+ 0xc012f7c0 0x34 load address 0x0012f7c0
+ .rodata._ZTV11FloppyDrive
+ 0xc012f7c0 0x34 Devices/Floppy/FloppyDrive.class.o
+ 0xc012f7c0 vtable for FloppyDrive
+
+.rodata._ZTV11BlockDevice
+ 0xc012f800 0x34 load address 0x0012f800
+ .rodata._ZTV11BlockDevice
+ 0xc012f800 0x34 Devices/Floppy/FloppyDrive.class.o
+ 0xc012f800 vtable for BlockDevice
+
+.rodata._ZTV13ATAController
+ 0xc012f838 0x1c load address 0x0012f838
+ .rodata._ZTV13ATAController
+ 0xc012f838 0x1c Devices/ATA/ATAController.class.o
+ 0xc012f838 vtable for ATAController
+
+.rodata._ZTV8ATADrive
+ 0xc012f860 0x34 load address 0x0012f860
+ .rodata._ZTV8ATADrive
+ 0xc012f860 0x34 Devices/ATA/ATADrive.class.o
+ 0xc012f860 vtable for ATADrive
+
+.rodata._ZTV5Timer
+ 0xc012f898 0x1c load address 0x0012f898
+ .rodata._ZTV5Timer
+ 0xc012f898 0x1c Devices/Timer.class.o
+ 0xc012f898 vtable for Timer
+
+.rel.dyn 0xc012f8b4 0x0 load address 0x0012f8b4
+ .rel.iplt 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN6DeviceD1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN7DisplayD1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN7DisplayD0Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN6DeviceD0Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN9ByteArrayD0Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN11BasicStringIhED0Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN11BasicStringIhED1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN9ByteArrayD1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN6StringD0Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN11BasicStringI5WCharED0Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN11BasicStringI5WCharED1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN6StringD1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN6VectorI6StringED1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN11BasicStringI5WCharE6affectERKS1_
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN6StringpLERKS_
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN8TextFileD0Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN8TextFileD1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV7Display
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV6Device
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV8TextFile
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV9ByteArray
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV11BasicStringIhE
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV6String
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV11BasicStringI5WCharE
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN6VectorIP6DeviceE4pushERKS1_
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN6VectorI6StringE4pushERKS0_
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.data 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN6StringC1ERKS_
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN9V86ThreadD1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN9V86ThreadD0Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV9V86Thread
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV15VirtualTerminal
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV8SimpleVT
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV12ScrollableVT
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN6PipeVTD1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN6PipeVTD0Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV6PipeVT
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN6FileVTD0Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN6FileVTD1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV6FileVT
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN6BinaryD1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN6BinaryD0Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV6Binary
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN10BlockCacheI11BlockDeviceE10readBlocksEyjPh
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN6FSNodeD0Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN6FSNodeD1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV6FSNode
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV13DirectoryNode
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN4UserD1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN10SimpleListI5GroupED1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN4UserC1E6StringS0_S0_P5GroupS0_j
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN10SimpleListI4UserE4consERKS0_
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN10SimpleListI4UserED1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN8FileNodeD1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN11RamFileNodeD0Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN11RamFileNodeD1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN8FileNodeD0Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV5RamFS
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV11RamFileNode
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV8FileNode
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN5FATFSD1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN5FATFSD0Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN16FATDirectoryNodeD0Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN16FATDirectoryNodeD1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN11FATFileNodeD1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN11FATFileNodeD0Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV5FATFS
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV16FATDirectoryNode
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV11FATFileNode
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN10SimpleListIP6call_tED1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN13VGATextOutputD1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN13VGATextOutputD0Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV13VGATextOutput
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN14GraphicDisplayD1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN14GraphicDisplayD0Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV14GraphicDisplay
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN11VESADisplayD1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN11VESADisplayD0Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV11VESADisplay
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN8KeyboardD1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN11PS2KeyboardD1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN11PS2KeyboardD0Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN8KeyboardD0Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV11PS2Keyboard
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV8Keyboard
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN16FloppyControllerD1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN16FloppyControllerD0Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV16FloppyController
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN11BlockDeviceD1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN11FloppyDriveD1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN11FloppyDriveD0Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN11BlockDeviceD0Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV11FloppyDrive
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV11BlockDevice
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN13ATAControllerD1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN13ATAControllerD0Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV13ATAController
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN8ATADriveD1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN8ATADriveD0Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV8ATADrive
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN5TimerD1Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.text._ZN5TimerD0Ev
+ 0x00000000 0x0 Core/loader.wtf.o
+ .rel.rodata._ZTV5Timer
+ 0x00000000 0x0 Core/loader.wtf.o
+
+.data 0xc0130000 0x14e0 load address 0x00130000
+ 0xc0130000 start_ctors = .
+ *(.ctor*)
+ .ctors 0xc0130000 0x4 Core/SB.ns.o
+ .ctors 0xc0130004 0x4 MemoryManager/Mem.ns.o
+ .ctors 0xc0130008 0x4 DeviceManager/Disp.ns.o
+ .ctors 0xc013000c 0x4 DeviceManager/Dev.ns.o
+ .ctors 0xc0130010 0x4 DeviceManager/Kbd.ns.o
+ .ctors 0xc0130014 0x4 VTManager/VT.ns.o
+ .ctors 0xc0130018 0x4 ../Library/Common/WChar.class.o
+ .ctors 0xc013001c 0x4 VFS/Part.ns.o
+ .ctors 0xc0130020 0x4 VFS/VFS.ns.o
+ .ctors 0xc0130024 0x4 Devices/Floppy/FloppyController.class.o
+ 0xc0130028 end_ctors = .
+ 0xc0130028 start_dtors = .
+ *(.dtor*)
+ 0xc0130028 end_dtors = .
+ *(.data)
+ .data 0xc0130028 0x24 Core/kmain.wtf.o
+ 0xc0130028 melonLogo
+ 0xc0130044 melonLogoLines
+ 0xc0130048 melonLogoCols
+ .data 0xc013004c 0x0 Core/Sys.ns.o
+ .data 0xc013004c 0x0 Core/Log.ns.o
+ .data 0xc013004c 0x0 Core/SB.ns.o
+ .data 0xc013004c 0x0 MemoryManager/Mem.ns.o
+ .data 0xc013004c 0x0 MemoryManager/PhysMem.ns.o
+ .data 0xc013004c 0x0 MemoryManager/GDT.ns.o
+ .data 0xc013004c 0x0 MemoryManager/PageDirectory.class.o
+ .data 0xc013004c 0x0 MemoryManager/PageAlloc.ns.o
+ .data 0xc013004c 0x0 DeviceManager/Disp.ns.o
+ .data 0xc013004c 0x0 DeviceManager/Dev.ns.o
+ .data 0xc013004c 0x0 DeviceManager/Time.ns.o
+ *fill* 0xc013004c 0x14 00
+ .data 0xc0130060 0x100 DeviceManager/Kbd.ns.o
+ 0xc0130060 Kbd::ctrlkeys
+ .data 0xc0130160 0x0 TaskManager/Process.class.o
+ .data 0xc0130160 0xc0 TaskManager/Process-sc.class.o
+ 0xc0130160 Process::m_callTable
+ .data 0xc0130220 0x24 TaskManager/Thread.class.o
+ 0xc0130220 Thread::m_callTable
+ .data 0xc0130244 0x0 TaskManager/V86/V86Thread.class.o
+ .data 0xc0130244 0x2 TaskManager/V86/V86.ns.o
+ 0xc0130244 V86::seg
+ *fill* 0xc0130246 0x2 00
+ .data 0xc0130248 0x4 TaskManager/Task.ns.o
+ 0xc0130248 Task::nextpid
+ .data 0xc013024c 0x0 VTManager/VirtualTerminal.proto.o
+ .data 0xc013024c 0x0 VTManager/SimpleVT.class.o
+ .data 0xc013024c 0x0 VTManager/ScrollableVT.class.o
+ .data 0xc013024c 0x0 VTManager/PipeVT.class.o
+ .data 0xc013024c 0x0 VTManager/FileVT.class.o
+ .data 0xc013024c 0x0 VTManager/VirtualTerminal-kbd.proto.o
+ *fill* 0xc013024c 0x14 00
+ .data 0xc0130260 0x60 VTManager/VirtualTerminal-sc.proto.o
+ 0xc0130260 VirtualTerminal::m_callTable
+ .data 0xc01302c0 0x0 VTManager/VT.ns.o
+ .data 0xc01302c0 0x0 Shell/KernelShell.class.o
+ .data 0xc01302c0 0x0 Shell/KernelShell-fs.class.o
+ .data 0xc01302c0 0x0 Shell/KernelShell-sys.class.o
+ .data 0xc01302c0 0xc Linker/Binary.proto.o
+ 0xc01302c0 loaders
+ .data 0xc01302cc 0x0 Linker/MelonBinary.class.o
+ .data 0xc01302cc 0x0 Linker/ElfBinary.class.o
+ .data 0xc01302cc 0x0 ../Library/Common/cppsupport.wtf.o
+ .data 0xc01302cc 0x0 ../Library/Common/Bitset.class.o
+ .data 0xc01302cc 0x0 ../Library/Common/String.class.o
+ .data 0xc01302cc 0x0 ../Library/Common/ByteArray.class.o
+ .data 0xc01302cc 0x0 ../Library/Common/WChar.class.o
+ *fill* 0xc01302cc 0x4 00
+ .data 0xc01302d0 0x18 ../Library/Common/Rand.ns.o
+ 0xc01302d0 Rand::m
+ 0xc01302d4 Rand::a
+ 0xc01302d8 Rand::b
+ 0xc01302e0 Rand::current
+ .data 0xc01302e8 0x0 ../Library/Common/CMem.ns.o
+ .data 0xc01302e8 0x0 ../Library/Common/Heap.class.o
+ .data 0xc01302e8 0x0 ../Library/Common/Heap-index.class.o
+ .data 0xc01302e8 0x0 ../Library/Common/Mutex.class.o
+ .data 0xc01302e8 0x0 ../Library/Common/TextFile.class.o
+ .data 0xc01302e8 0x0 VFS/Partition.class.o
+ .data 0xc01302e8 0x0 VFS/Part.ns.o
+ .data 0xc01302e8 0x10 VFS/VFS.ns.o
+ 0xc01302e8 fileSystems
+ *fill* 0xc01302f8 0x8 00
+ .data 0xc0130300 0x84 VFS/FSNode-sc.proto.o
+ 0xc0130300 FSNode::m_callTable
+ *fill* 0xc0130384 0x1c 00
+ .data 0xc01303a0 0x6c VFS/File.class.o
+ 0xc01303a0 File::m_callTable
+ .data 0xc013040c 0x0 VFS/File-sc.class.o
+ *fill* 0xc013040c 0x14 00
+ .data 0xc0130420 0x24 VFS/DirectoryNode.class.o
+ 0xc0130420 DirectoryNode::m_callTable
+ .data 0xc0130444 0x0 UserManager/Usr.ns.o
+ .data 0xc0130444 0x0 FileSystems/RamFS/RamFS.class.o
+ .data 0xc0130444 0x0 FileSystems/FAT/FATFS.class.o
+ .data 0xc0130444 0x0 SyscallManager/IDT.ns.o
+ .data 0xc0130444 0x0 SyscallManager/Ressource.class.o
+ *fill* 0xc0130444 0x1c 00
+ .data 0xc0130460 0x38 SyscallManager/Res.ns.o
+ 0xc0130460 Res::staticCalls
+ .data 0xc0130498 0x0 Devices/Display/VGATextOutput.class.o
+ *fill* 0xc0130498 0x8 00
+ .data 0xc01304a0 0x1040 Devices/Display/GraphicDisplay.proto.o
+ 0xc01304a0 consoleFont
+ 0xc01314a0 consoleColor
+ .data 0xc01314e0 0x0 Devices/Display/VESADisplay.class.o
+ .data 0xc01314e0 0x0 Devices/Keyboard/PS2Keyboard.class.o
+ .data 0xc01314e0 0x0 Devices/Floppy/FloppyController.class.o
+ .data 0xc01314e0 0x0 Devices/Floppy/FloppyDrive.class.o
+ .data 0xc01314e0 0x0 Devices/ATA/ATAController.class.o
+ .data 0xc01314e0 0x0 Devices/ATA/ATADrive.class.o
+ .data 0xc01314e0 0x0 Devices/Timer.class.o
+
+.igot.plt 0xc01314e0 0x0 load address 0x001314e0
+ .igot.plt 0x00000000 0x0 Core/loader.wtf.o
+
+.bss 0xc0138000 0x14800 load address 0x00138000
+ 0xc0138000 sbss = .
+ *(COMMON)
+ *(.bss)
+ .bss 0xc0138000 0x4000 Core/loader.wtf.o
+ .bss 0xc013c000 0x4 Core/kmain.wtf.o
+ 0xc013c000 kvt
+ .bss 0xc013c004 0x0 Core/Sys.ns.o
+ .bss 0xc013c004 0x1c Core/Log.ns.o
+ 0xc013c004 Log::logs
+ .bss 0xc013c020 0x1c Core/SB.ns.o
+ 0xc013c020 SB::sb
+ 0xc013c024 SB::msg
+ 0xc013c030 SB::boot_progress
+ 0xc013c032 SB::height
+ 0xc013c034 SB::gone_multi
+ 0xc013c038 SB::lock
+ *fill* 0xc013c03c 0x4 00
+ .bss 0xc013c040 0x44 MemoryManager/Mem.ns.o
+ 0xc013c040 Mem::pagingEnabled
+ 0xc013c044 Mem::placementAddress
+ 0xc013c060 Mem::kheap
+ .bss 0xc013c084 0xc MemoryManager/PhysMem.ns.o
+ 0xc013c084 kernelPageDirectory
+ 0xc013c088 PhysMem::nframes
+ 0xc013c08c PhysMem::frames
+ *fill* 0xc013c090 0x10 00
+ .bss 0xc013c0a0 0x20a8 MemoryManager/GDT.ns.o
+ 0xc013c0a0 GDT::gdt_entries
+ 0xc013c0d0 GDT::gdt_ptr
+ 0xc013c0e0 GDT::tss_entry
+ .bss 0xc013e148 0x0 MemoryManager/PageDirectory.class.o
+ .bss 0xc013e148 0x12 MemoryManager/PageAlloc.ns.o
+ 0xc013e148 PageAlloc::freePage
+ 0xc013e154 PageAlloc::freec
+ 0xc013e158 PageAlloc::usable
+ 0xc013e159 PageAlloc::locked
+ *fill* 0xc013e15a 0x2 00
+ .bss 0xc013e15c 0x24 DeviceManager/Disp.ns.o
+ 0xc013e15c Disp::mode
+ 0xc013e178 Disp::modes
+ .bss 0xc013e180 0x60 DeviceManager/Dev.ns.o
+ 0xc013e180 Dev::devices
+ 0xc013e1a0 Dev::irqHandler
+ .bss 0xc013e1e0 0x4 DeviceManager/Time.ns.o
+ 0xc013e1e0 Time::timer
+ *fill* 0xc013e1e4 0x1c 00
+ .bss 0xc013e200 0xa08 DeviceManager/Kbd.ns.o
+ 0xc013e200 keymap_normal
+ 0xc013e400 keymap_shift
+ 0xc013e600 keymap_caps
+ 0xc013e800 keymap_altgr
+ 0xc013ea00 keymap_shiftaltgr
+ 0xc013ec00 Kbd::kbdstatus
+ 0xc013ec04 Kbd::focusedVT
+ .bss 0xc013ec08 0x0 TaskManager/Process.class.o
+ .bss 0xc013ec08 0x0 TaskManager/Process-sc.class.o
+ .bss 0xc013ec08 0x0 TaskManager/Thread.class.o
+ .bss 0xc013ec08 0x0 TaskManager/V86/V86Thread.class.o
+ .bss 0xc013ec08 0x0 TaskManager/V86/V86.ns.o
+ *fill* 0xc013ec08 0x18 00
+ .bss 0xc013ec20 0x420 TaskManager/Task.ns.o
+ 0xc013ec20 Task::processes
+ 0xc013ec24 Task::threads
+ 0xc013ec28 Task::currentThread
+ 0xc013ec2c Task::currentProcess
+ 0xc013ec30 Task::idleThread
+ 0xc013ec40 Task::temp_stack
+ .bss 0xc013f040 0x0 VTManager/VirtualTerminal.proto.o
+ .bss 0xc013f040 0x0 VTManager/SimpleVT.class.o
+ .bss 0xc013f040 0x0 VTManager/ScrollableVT.class.o
+ .bss 0xc013f040 0x0 VTManager/PipeVT.class.o
+ .bss 0xc013f040 0x0 VTManager/FileVT.class.o
+ .bss 0xc013f040 0x0 VTManager/VirtualTerminal-kbd.proto.o
+ .bss 0xc013f040 0x0 VTManager/VirtualTerminal-sc.proto.o
+ .bss 0xc013f040 0x8 VTManager/VT.ns.o
+ 0xc013f040 VT::mappedVTs
+ .bss 0xc013f048 0x4 Shell/KernelShell.class.o
+ 0xc013f048 KernelShell::m_instances
+ .bss 0xc013f04c 0x0 Shell/KernelShell-fs.class.o
+ .bss 0xc013f04c 0x0 Shell/KernelShell-sys.class.o
+ .bss 0xc013f04c 0x0 Linker/Binary.proto.o
+ .bss 0xc013f04c 0x0 Linker/MelonBinary.class.o
+ .bss 0xc013f04c 0x0 Linker/ElfBinary.class.o
+ .bss 0xc013f04c 0x4 ../Library/Common/cppsupport.wtf.o
+ 0xc013f04c __dso_handle
+ .bss 0xc013f050 0x0 ../Library/Common/Bitset.class.o
+ .bss 0xc013f050 0x0 ../Library/Common/String.class.o
+ .bss 0xc013f050 0x0 ../Library/Common/ByteArray.class.o
+ *fill* 0xc013f050 0x10 00
+ .bss 0xc013f060 0x200 ../Library/Common/WChar.class.o
+ 0xc013f060 WChar::CP437
+ .bss 0xc013f260 0x0 ../Library/Common/Rand.ns.o
+ .bss 0xc013f260 0x0 ../Library/Common/CMem.ns.o
+ .bss 0xc013f260 0x0 ../Library/Common/Heap.class.o
+ .bss 0xc013f260 0x0 ../Library/Common/Heap-index.class.o
+ .bss 0xc013f260 0x0 ../Library/Common/Mutex.class.o
+ .bss 0xc013f260 0x0 ../Library/Common/TextFile.class.o
+ .bss 0xc013f260 0x0 VFS/Partition.class.o
+ .bss 0xc013f260 0x10 VFS/Part.ns.o
+ 0xc013f260 Part::devices
+ 0xc013f268 Part::partitions
+ .bss 0xc013f270 0xc VFS/VFS.ns.o
+ 0xc013f270 VFS::rootNode
+ 0xc013f274 VFS::filesystems
+ .bss 0xc013f27c 0x0 VFS/FSNode-sc.proto.o
+ .bss 0xc013f27c 0x0 VFS/File.class.o
+ .bss 0xc013f27c 0x0 VFS/File-sc.class.o
+ .bss 0xc013f27c 0x0 VFS/DirectoryNode.class.o
+ .bss 0xc013f27c 0x8 UserManager/Usr.ns.o
+ 0xc013f27c Usr::m_users
+ 0xc013f280 Usr::m_groups
+ .bss 0xc013f284 0x0 FileSystems/RamFS/RamFS.class.o
+ .bss 0xc013f284 0x0 FileSystems/FAT/FATFS.class.o
+ *fill* 0xc013f284 0x1c 00
+ .bss 0xc013f2a0 0x806 SyscallManager/IDT.ns.o
+ 0xc013f2a0 IDT::idt_entries
+ 0xc013faa0 IDT::idt_ptr
+ *fill* 0xc013faa6 0x2 00
+ .bss 0xc013faa8 0x0 SyscallManager/Ressource.class.o
+ .bss 0xc013faa8 0x8 SyscallManager/Res.ns.o
+ 0xc013faa8 Res::ressources
+ 0xc013faac Res::size
+ .bss 0xc013fab0 0x0 Devices/Display/VGATextOutput.class.o
+ .bss 0xc013fab0 0x0 Devices/Display/GraphicDisplay.proto.o
+ .bss 0xc013fab0 0x0 Devices/Display/VESADisplay.class.o
+ .bss 0xc013fab0 0x0 Devices/Keyboard/PS2Keyboard.class.o
+ *fill* 0xc013fab0 0x550 00
+ .bss 0xc0140000 0xc800 Devices/Floppy/FloppyController.class.o
+ 0xc0140000 FloppyController::dmaMutex
+ 0xc0148000 FloppyController::dmabuff
+ .bss 0xc014c800 0x0 Devices/Floppy/FloppyDrive.class.o
+ .bss 0xc014c800 0x0 Devices/ATA/ATAController.class.o
+ .bss 0xc014c800 0x0 Devices/ATA/ATADrive.class.o
+ .bss 0xc014c800 0x0 Devices/Timer.class.o
+ 0xc014c800 ebss = .
+ 0xc014c800 end = .
+ 0xc014c800 _end = .
+ 0xc014c800 __end = .
+LOAD Core/loader.wtf.o
+LOAD Core/kmain.wtf.o
+LOAD Core/Sys.ns.o
+LOAD Core/Log.ns.o
+LOAD Core/SB.ns.o
+LOAD MemoryManager/Mem.ns.o
+LOAD MemoryManager/PhysMem.ns.o
+LOAD MemoryManager/GDT.wtf.o
+LOAD MemoryManager/GDT.ns.o
+LOAD MemoryManager/PageDirectory.class.o
+LOAD MemoryManager/PageAlloc.ns.o
+LOAD DeviceManager/Disp.ns.o
+LOAD DeviceManager/Dev.ns.o
+LOAD DeviceManager/Time.ns.o
+LOAD DeviceManager/Kbd.ns.o
+LOAD TaskManager/Process.class.o
+LOAD TaskManager/Process-sc.class.o
+LOAD TaskManager/Thread.class.o
+LOAD TaskManager/V86/V86Thread.class.o
+LOAD TaskManager/V86/V86.ns.o
+LOAD TaskManager/V86/v86.wtf.o
+LOAD TaskManager/Task.ns.o
+LOAD TaskManager/Task.wtf.o
+LOAD VTManager/VirtualTerminal.proto.o
+LOAD VTManager/SimpleVT.class.o
+LOAD VTManager/ScrollableVT.class.o
+LOAD VTManager/PipeVT.class.o
+LOAD VTManager/FileVT.class.o
+LOAD VTManager/VirtualTerminal-kbd.proto.o
+LOAD VTManager/VirtualTerminal-sc.proto.o
+LOAD VTManager/VT.ns.o
+LOAD Shell/KernelShell.class.o
+LOAD Shell/KernelShell-fs.class.o
+LOAD Shell/KernelShell-sys.class.o
+LOAD Linker/Binary.proto.o
+LOAD Linker/MelonBinary.class.o
+LOAD Linker/ElfBinary.class.o
+LOAD ../Library/Common/cppsupport.wtf.o
+LOAD ../Library/Common/Bitset.class.o
+LOAD ../Library/Common/String.class.o
+LOAD ../Library/Common/ByteArray.class.o
+LOAD ../Library/Common/WChar.class.o
+LOAD ../Library/Common/Rand.ns.o
+LOAD ../Library/Common/CMem.ns.o
+LOAD ../Library/Common/Heap.class.o
+LOAD ../Library/Common/Heap-index.class.o
+LOAD ../Library/Common/Mutex.class.o
+LOAD ../Library/Common/TextFile.class.o
+LOAD VFS/Partition.class.o
+LOAD VFS/Part.ns.o
+LOAD VFS/VFS.ns.o
+LOAD VFS/FSNode-sc.proto.o
+LOAD VFS/File.class.o
+LOAD VFS/File-sc.class.o
+LOAD VFS/DirectoryNode.class.o
+LOAD UserManager/Usr.ns.o
+LOAD FileSystems/RamFS/RamFS.class.o
+LOAD FileSystems/FAT/FATFS.class.o
+LOAD SyscallManager/IDT.ns.o
+LOAD SyscallManager/Ressource.class.o
+LOAD SyscallManager/Res.ns.o
+LOAD SyscallManager/IDT.wtf.o
+LOAD Devices/Display/VGATextOutput.class.o
+LOAD Devices/Display/GraphicDisplay.proto.o
+LOAD Devices/Display/VESADisplay.class.o
+LOAD Devices/Keyboard/PS2Keyboard.class.o
+LOAD Devices/Floppy/FloppyController.class.o
+LOAD Devices/Floppy/FloppyDrive.class.o
+LOAD Devices/ATA/ATAController.class.o
+LOAD Devices/ATA/ATADrive.class.o
+LOAD Devices/Timer.class.o
+OUTPUT(Melon.ke elf32-i386)
+
+.comment 0x00000000 0x27
+ .comment 0x00000000 0x27 Core/kmain.wtf.o
+ 0x28 (size before relaxing)
+ .comment 0x00000000 0x28 Core/Sys.ns.o
+ .comment 0x00000000 0x28 Core/Log.ns.o
+ .comment 0x00000000 0x28 Core/SB.ns.o
+ .comment 0x00000000 0x28 MemoryManager/Mem.ns.o
+ .comment 0x00000000 0x28 MemoryManager/PhysMem.ns.o
+ .comment 0x00000000 0x28 MemoryManager/GDT.ns.o
+ .comment 0x00000000 0x28 MemoryManager/PageDirectory.class.o
+ .comment 0x00000000 0x28 MemoryManager/PageAlloc.ns.o
+ .comment 0x00000000 0x28 DeviceManager/Disp.ns.o
+ .comment 0x00000000 0x28 DeviceManager/Dev.ns.o
+ .comment 0x00000000 0x28 DeviceManager/Time.ns.o
+ .comment 0x00000000 0x28 DeviceManager/Kbd.ns.o
+ .comment 0x00000000 0x28 TaskManager/Process.class.o
+ .comment 0x00000000 0x28 TaskManager/Process-sc.class.o
+ .comment 0x00000000 0x28 TaskManager/Thread.class.o
+ .comment 0x00000000 0x28 TaskManager/V86/V86Thread.class.o
+ .comment 0x00000000 0x28 TaskManager/V86/V86.ns.o
+ .comment 0x00000000 0x28 TaskManager/Task.ns.o
+ .comment 0x00000000 0x28 VTManager/VirtualTerminal.proto.o
+ .comment 0x00000000 0x28 VTManager/SimpleVT.class.o
+ .comment 0x00000000 0x28 VTManager/ScrollableVT.class.o
+ .comment 0x00000000 0x28 VTManager/PipeVT.class.o
+ .comment 0x00000000 0x28 VTManager/FileVT.class.o
+ .comment 0x00000000 0x28 VTManager/VirtualTerminal-kbd.proto.o
+ .comment 0x00000000 0x28 VTManager/VirtualTerminal-sc.proto.o
+ .comment 0x00000000 0x28 VTManager/VT.ns.o
+ .comment 0x00000000 0x28 Shell/KernelShell.class.o
+ .comment 0x00000000 0x28 Shell/KernelShell-fs.class.o
+ .comment 0x00000000 0x28 Shell/KernelShell-sys.class.o
+ .comment 0x00000000 0x28 Linker/Binary.proto.o
+ .comment 0x00000000 0x28 Linker/MelonBinary.class.o
+ .comment 0x00000000 0x28 Linker/ElfBinary.class.o
+ .comment 0x00000000 0x28 ../Library/Common/cppsupport.wtf.o
+ .comment 0x00000000 0x28 ../Library/Common/Bitset.class.o
+ .comment 0x00000000 0x28 ../Library/Common/String.class.o
+ .comment 0x00000000 0x28 ../Library/Common/ByteArray.class.o
+ .comment 0x00000000 0x28 ../Library/Common/WChar.class.o
+ .comment 0x00000000 0x28 ../Library/Common/Rand.ns.o
+ .comment 0x00000000 0x28 ../Library/Common/CMem.ns.o
+ .comment 0x00000000 0x28 ../Library/Common/Heap.class.o
+ .comment 0x00000000 0x28 ../Library/Common/Heap-index.class.o
+ .comment 0x00000000 0x28 ../Library/Common/Mutex.class.o
+ .comment 0x00000000 0x28 ../Library/Common/TextFile.class.o
+ .comment 0x00000000 0x28 VFS/Partition.class.o
+ .comment 0x00000000 0x28 VFS/Part.ns.o
+ .comment 0x00000000 0x28 VFS/VFS.ns.o
+ .comment 0x00000000 0x28 VFS/FSNode-sc.proto.o
+ .comment 0x00000000 0x28 VFS/File.class.o
+ .comment 0x00000000 0x28 VFS/File-sc.class.o
+ .comment 0x00000000 0x28 VFS/DirectoryNode.class.o
+ .comment 0x00000000 0x28 UserManager/Usr.ns.o
+ .comment 0x00000000 0x28 FileSystems/RamFS/RamFS.class.o
+ .comment 0x00000000 0x28 FileSystems/FAT/FATFS.class.o
+ .comment 0x00000000 0x28 SyscallManager/IDT.ns.o
+ .comment 0x00000000 0x28 SyscallManager/Ressource.class.o
+ .comment 0x00000000 0x28 SyscallManager/Res.ns.o
+ .comment 0x00000000 0x28 Devices/Display/VGATextOutput.class.o
+ .comment 0x00000000 0x28 Devices/Display/GraphicDisplay.proto.o
+ .comment 0x00000000 0x28 Devices/Display/VESADisplay.class.o
+ .comment 0x00000000 0x28 Devices/Keyboard/PS2Keyboard.class.o
+ .comment 0x00000000 0x28 Devices/Floppy/FloppyController.class.o
+ .comment 0x00000000 0x28 Devices/Floppy/FloppyDrive.class.o
+ .comment 0x00000000 0x28 Devices/ATA/ATAController.class.o
+ .comment 0x00000000 0x28 Devices/ATA/ATADrive.class.o
+ .comment 0x00000000 0x28 Devices/Timer.class.o
+
+.note.GNU-stack
+ 0x00000000 0x0
+ .note.GNU-stack
+ 0x00000000 0x0 Core/kmain.wtf.o
+ .note.GNU-stack
+ 0x00000000 0x0 Core/Sys.ns.o
+ .note.GNU-stack
+ 0x00000000 0x0 Core/Log.ns.o
+ .note.GNU-stack
+ 0x00000000 0x0 Core/SB.ns.o
+ .note.GNU-stack
+ 0x00000000 0x0 MemoryManager/Mem.ns.o
+ .note.GNU-stack
+ 0x00000000 0x0 MemoryManager/PhysMem.ns.o
+ .note.GNU-stack
+ 0x00000000 0x0 MemoryManager/GDT.ns.o
+ .note.GNU-stack
+ 0x00000000 0x0 MemoryManager/PageDirectory.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 MemoryManager/PageAlloc.ns.o
+ .note.GNU-stack
+ 0x00000000 0x0 DeviceManager/Disp.ns.o
+ .note.GNU-stack
+ 0x00000000 0x0 DeviceManager/Dev.ns.o
+ .note.GNU-stack
+ 0x00000000 0x0 DeviceManager/Time.ns.o
+ .note.GNU-stack
+ 0x00000000 0x0 DeviceManager/Kbd.ns.o
+ .note.GNU-stack
+ 0x00000000 0x0 TaskManager/Process.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 TaskManager/Process-sc.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 TaskManager/Thread.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 TaskManager/V86/V86Thread.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 TaskManager/V86/V86.ns.o
+ .note.GNU-stack
+ 0x00000000 0x0 TaskManager/Task.ns.o
+ .note.GNU-stack
+ 0x00000000 0x0 VTManager/VirtualTerminal.proto.o
+ .note.GNU-stack
+ 0x00000000 0x0 VTManager/SimpleVT.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 VTManager/ScrollableVT.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 VTManager/PipeVT.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 VTManager/FileVT.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 VTManager/VirtualTerminal-kbd.proto.o
+ .note.GNU-stack
+ 0x00000000 0x0 VTManager/VirtualTerminal-sc.proto.o
+ .note.GNU-stack
+ 0x00000000 0x0 VTManager/VT.ns.o
+ .note.GNU-stack
+ 0x00000000 0x0 Shell/KernelShell.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 Shell/KernelShell-fs.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 Shell/KernelShell-sys.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 Linker/Binary.proto.o
+ .note.GNU-stack
+ 0x00000000 0x0 Linker/MelonBinary.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 Linker/ElfBinary.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 ../Library/Common/cppsupport.wtf.o
+ .note.GNU-stack
+ 0x00000000 0x0 ../Library/Common/Bitset.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 ../Library/Common/String.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 ../Library/Common/ByteArray.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 ../Library/Common/WChar.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 ../Library/Common/Rand.ns.o
+ .note.GNU-stack
+ 0x00000000 0x0 ../Library/Common/CMem.ns.o
+ .note.GNU-stack
+ 0x00000000 0x0 ../Library/Common/Heap.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 ../Library/Common/Heap-index.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 ../Library/Common/Mutex.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 ../Library/Common/TextFile.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 VFS/Partition.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 VFS/Part.ns.o
+ .note.GNU-stack
+ 0x00000000 0x0 VFS/VFS.ns.o
+ .note.GNU-stack
+ 0x00000000 0x0 VFS/FSNode-sc.proto.o
+ .note.GNU-stack
+ 0x00000000 0x0 VFS/File.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 VFS/File-sc.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 VFS/DirectoryNode.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 UserManager/Usr.ns.o
+ .note.GNU-stack
+ 0x00000000 0x0 FileSystems/RamFS/RamFS.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 FileSystems/FAT/FATFS.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 SyscallManager/IDT.ns.o
+ .note.GNU-stack
+ 0x00000000 0x0 SyscallManager/Ressource.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 SyscallManager/Res.ns.o
+ .note.GNU-stack
+ 0x00000000 0x0 Devices/Display/VGATextOutput.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 Devices/Display/GraphicDisplay.proto.o
+ .note.GNU-stack
+ 0x00000000 0x0 Devices/Display/VESADisplay.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 Devices/Keyboard/PS2Keyboard.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 Devices/Floppy/FloppyController.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 Devices/Floppy/FloppyDrive.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 Devices/ATA/ATAController.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 Devices/ATA/ATADrive.class.o
+ .note.GNU-stack
+ 0x00000000 0x0 Devices/Timer.class.o
diff --git a/Source/Kernel/Makefile b/Source/Kernel/Makefile
index 6a44ecf..cb51309 100644
--- a/Source/Kernel/Makefile
+++ b/Source/Kernel/Makefile
@@ -3,7 +3,7 @@
CC = gcc
CXX = g++
LD = ld
-LDFLAGS = -T Link.ld -Map Map.txt --oformat=elf32-i386
+LDFLAGS = -T Kernel.ld -Map Kernel.map --oformat=elf32-i386
CFLAGS = -nostdlib -nostartfiles -nodefaultlibs -fno-builtin -fno-stack-protector -Wall -Wextra -Werror -I .
CXXFLAGS = -nostartfiles -nostdlib -fno-exceptions -fno-rtti -I . -I ../Library/Common -I ../Library/Interface -Wall -Werror -Wno-write-strings -funsigned-char -D THIS_IS_MELON_KERNEL -D RANDOM_SEED=1`date +%N`LL -O2
ASM = nasm
diff --git a/Source/Kernel/Shell/KernelShell-fs.class.cpp b/Source/Kernel/Shell/KernelShell-fs.class.cpp
index c389d45..ee72e25 100644
--- a/Source/Kernel/Shell/KernelShell-fs.class.cpp
+++ b/Source/Kernel/Shell/KernelShell-fs.class.cpp
@@ -21,12 +21,10 @@ void KernelShell::ls(Vector<String>& args) {
FSNode* n = d->getChild(i);
if (n->type() == NT_FILE) {
FileNode* f = (FileNode*)n;
- *m_vt << " - FILE\t" << f->getName();
- m_vt->setCursorCol(30);
+ *m_vt << " - FILE\t" << f->getName() << MVT::setcsrcol(30);
*m_vt << (s32int)f->getLength() << " bytes.\n";
} else if (n->type() == NT_DIRECTORY) {
- *m_vt << " - DIR\t" << n->getName() << "/";
- m_vt->setCursorCol(30);
+ *m_vt << " - DIR\t" << n->getName() << "/" << MVT::setcsrcol(30);
*m_vt << (s32int)n->getLength() << " items.\n";
}
}
diff --git a/Source/Kernel/Shell/KernelShell-sys.class.cpp b/Source/Kernel/Shell/KernelShell-sys.class.cpp
index b1ab274..a5d6f76 100644
--- a/Source/Kernel/Shell/KernelShell-sys.class.cpp
+++ b/Source/Kernel/Shell/KernelShell-sys.class.cpp
@@ -11,8 +11,7 @@ void KernelShell::devices(Vector<String>& args) {
Vector<Device*> dev = Dev::findDevices();
*m_vt << " - Detected devices :\n";
for (u32int i = 0; i < dev.size(); i++) {
- *m_vt << " - " << dev[i]->getClass();
- m_vt->setCursorCol(25);
+ *m_vt << " - " << dev[i]->getClass() << MVT::setcsrcol(25);
*m_vt << dev[i]->getName() << "\n";
}
}
@@ -47,8 +46,7 @@ void KernelShell::part(Vector<String>& args) {
if (Part::devices[i] == 0) {
*m_vt << "[none]\n";
} else {
- *m_vt << Part::devices[i]->getClass();
- m_vt->setCursorCol(33);
+ *m_vt << Part::devices[i]->getClass() << MVT::setcsrcol(33);
*m_vt << Part::devices[i]->getName() << "\n";
for (u32int j = 0; j < Part::partitions.size(); j++) {
if (Part::partitions[j]->getDevice() == Part::devices[i]) {
diff --git a/Source/Kernel/Shell/KernelShell.class.cpp b/Source/Kernel/Shell/KernelShell.class.cpp
index 9fec9c7..399211d 100644
--- a/Source/Kernel/Shell/KernelShell.class.cpp
+++ b/Source/Kernel/Shell/KernelShell.class.cpp
@@ -70,11 +70,9 @@ u32int KernelShell::run() {
};
while (1) {
- m_vt->setColor(KVT_LIGHTCOLOR);
- *m_vt << VFS::path(m_cwd) << " # ";
- m_vt->setColor(KVT_ENTRYCOLOR);
+ *m_vt << MVT::setfgcolor(KVT_LIGHTCOLOR) << VFS::path(m_cwd) << " # " << MVT::setfgcolor(KVT_ENTRYCOLOR);
Vector<String> tokens = m_vt->readLine().split(" ");
- m_vt->setColor(KVT_FGCOLOR);
+ *m_vt << MVT::setfgcolor(KVT_FGCOLOR);
if (tokens[0] == "help") {
*m_vt << " - Command list for integrated kernel shell:\n";
*m_vt << " - help shows this help screen\n";
diff --git a/Source/Kernel/VTManager/FileVT.class.cpp b/Source/Kernel/VTManager/FileVT.class.cpp
index 24a1b63..d0f564f 100644
--- a/Source/Kernel/VTManager/FileVT.class.cpp
+++ b/Source/Kernel/VTManager/FileVT.class.cpp
@@ -11,10 +11,12 @@ FileVT::FileVT(String filename, u8int mode, FSNode *start, u8int encoding) :
}
}
-void FileVT::setCursorCol(u32int col) {
+void FileVT::handleEscape(mvt_esc_cmd_t cmd) {
if (!m_isWriting) return;
- while (m_buffer.size() < col) {
- put(" ");
+ if (cmd.cmd == MVTCMD_SETCSRCOL) {
+ while ((int)m_buffer.size() < cmd.a) {
+ put(" ");
+ }
}
}
diff --git a/Source/Kernel/VTManager/FileVT.class.h b/Source/Kernel/VTManager/FileVT.class.h
index a246ce0..407297c 100644
--- a/Source/Kernel/VTManager/FileVT.class.h
+++ b/Source/Kernel/VTManager/FileVT.class.h
@@ -15,7 +15,7 @@ class FileVT : public VirtualTerminal {
FileVT(String filename, u8int mode = FM_READ, FSNode* start = 0, u8int encoding = UE_UTF8);
bool isBoxed() { return false; }
- void setCursorCol(u32int col);
+ void handleEscape(mvt_esc_cmd_t cmd);
void put(WChar c, bool updatecsr = true);
keypress_t getKeypress(bool show = true, bool block = true);
diff --git a/Source/Kernel/VTManager/PipeVT.class.cpp b/Source/Kernel/VTManager/PipeVT.class.cpp
index f4a5ca9..e6384f5 100644
--- a/Source/Kernel/VTManager/PipeVT.class.cpp
+++ b/Source/Kernel/VTManager/PipeVT.class.cpp
@@ -5,9 +5,11 @@ PipeVT::PipeVT() {
m_col = 0;
}
-void PipeVT::setCursorCol(u32int col) {
- while (col > m_col) {
- put(" ");
+void PipeVT::handleEscape(mvt_esc_cmd_t cmd) {
+ if (cmd.cmd == MVTCMD_SETCSRCOL) {
+ while (cmd.a > (int)m_col) {
+ put(" ");
+ }
}
}
diff --git a/Source/Kernel/VTManager/PipeVT.class.h b/Source/Kernel/VTManager/PipeVT.class.h
index 3c9521d..e39589f 100644
--- a/Source/Kernel/VTManager/PipeVT.class.h
+++ b/Source/Kernel/VTManager/PipeVT.class.h
@@ -11,7 +11,7 @@ class PipeVT : public VirtualTerminal {
PipeVT();
bool isBoxed() { return false; }
- void setCursorCol(u32int col);
+ void handleEscape(mvt_esc_cmd_t cmd);
void put(WChar c, bool updatecsr = true);
};
diff --git a/Source/Kernel/VTManager/ScrollableVT.class.h b/Source/Kernel/VTManager/ScrollableVT.class.h
index 6d29645..ce31225 100644
--- a/Source/Kernel/VTManager/ScrollableVT.class.h
+++ b/Source/Kernel/VTManager/ScrollableVT.class.h
@@ -9,14 +9,15 @@ class ScrollableVT : public SimpleVT {
u32int m_keeprows;
u32int m_linesup;
+ void updateCursor();
+ void redraw();
+ void scroll();
+
public:
ScrollableVT(u32int rows, u32int cols, u32int keepRows, u8int fgcolor = 7, u8int bgcolor = 0);
virtual ~ScrollableVT();
virtual void putChar(u32int row, u32int col, WChar c);
- void updateCursor();
- void redraw();
- void scroll();
void keyPress(keypress_t kp);
};
diff --git a/Source/Kernel/VTManager/SimpleVT.class.cpp b/Source/Kernel/VTManager/SimpleVT.class.cpp
index 28f9f98..a3e9600 100644
--- a/Source/Kernel/VTManager/SimpleVT.class.cpp
+++ b/Source/Kernel/VTManager/SimpleVT.class.cpp
@@ -10,7 +10,7 @@ SimpleVT::SimpleVT(u32int rows, u32int cols, u8int fgcolor, u8int bgcolor) : Vir
m_cols = cols;
m_mapped = false;
m_hideCursor = false;
- setColor(fgcolor, bgcolor);
+ m_color = ((bgcolor & 0x0F) << 4) | (fgcolor & 0x0F);
clear();
m_csrcol = 0;
@@ -22,14 +22,6 @@ SimpleVT::~SimpleVT() {
delete [] m_buff;
}
-void SimpleVT::setColor(u8int fgcolor, u8int bgcolor) {
- if (bgcolor == 0xFF) {
- m_color = (m_color & 0xF0) | fgcolor;
- } else {
- m_color = (bgcolor << 4) | fgcolor;
- }
-}
-
void SimpleVT::putChar(u32int row, u32int col, WChar c) {
if (row >= m_rows or col >= m_cols) return;
vtchr* ch = &BUFCHR(row, col);
@@ -92,23 +84,45 @@ void SimpleVT::updateCursor() {
Disp::moveCursor(m_csrlin + m_maprow, m_csrcol + m_mapcol);
}
-void SimpleVT::moveCursor(u32int row, u32int col) {
- m_csrlin = row;
- m_csrcol = col;
- updateCursor();
-}
-
-void SimpleVT::setCursorLine(u32int line) {
- m_csrlin = line;
- updateCursor();
-}
-
-void SimpleVT::setCursorCol(u32int col) {
- m_csrcol = col;
- updateCursor();
+//Command handling
+void SimpleVT::handleEscape(mvt_esc_cmd_t cmd) {
+ switch (cmd.cmd) {
+ case MVTCMD_CLEAR:
+ clear();
+ break;
+ case MVTCMD_SCROLL:
+ scroll();
+ break;
+ case MVTCMD_SETFGCOLOR:
+ m_color = (m_color & 0xF0) | (cmd.a & 0x0F);
+ break;
+ case MVTCMD_SETBGCOLOR:
+ m_color = (m_color & 0x0F) | ((cmd.a & 0x0F) << 4);
+ break;
+ case MVTCMD_SETCOLOR:
+ m_color = ((cmd.b & 0x0F) << 4) | (cmd.a & 0x0F);
+ break;
+ case MVTCMD_MOVECSR:
+ m_csrlin = cmd.a; m_csrcol = cmd.b;
+ updateCursor();
+ break;
+ case MVTCMD_SETCSRLIN:
+ m_csrlin = cmd.a;
+ updateCursor();
+ break;
+ case MVTCMD_SETCSRCOL:
+ m_csrcol = cmd.a;
+ updateCursor();
+ break;
+ case MVTCMD_HIDECSR:
+ m_hideCursor = true;
+ break;
+ case MVTCMD_SHOWCSR:
+ m_hideCursor = false;
+ break;
+ }
}
-
// Display functionn
void SimpleVT::put(WChar c, bool updatecsr) {
if (c.value == '\b') {
diff --git a/Source/Kernel/VTManager/SimpleVT.class.h b/Source/Kernel/VTManager/SimpleVT.class.h
index 8639a82..645e4c2 100644
--- a/Source/Kernel/VTManager/SimpleVT.class.h
+++ b/Source/Kernel/VTManager/SimpleVT.class.h
@@ -14,30 +14,27 @@ class SimpleVT : public VirtualTerminal {
u32int m_csrlin, m_csrcol;
+ virtual void updateCursor();
+ virtual void clear();
+ virtual void redraw();
+ virtual void scroll(); //Scrolls 1 line
+
public:
SimpleVT(u32int rows, u32int cols, u8int fgcolor = 7, u8int bgcolor = 0);
virtual ~SimpleVT();
virtual void putChar(u32int row, u32int col, WChar c);
- void clear();
- void setColor(u8int fgcolor, u8int bgcolor = 0xFF);
+
+ virtual void handleEscape(mvt_esc_cmd_t cmd);
+
bool isBoxed() { return true; }
u8int height() { return m_rows; }
u8int width() { return m_cols; }
u8int csrlin() { return m_csrlin; }
u8int csrcol() { return m_csrcol; }
- void hideCursor(bool hide = true) { m_hideCursor = hide; }
-
void map(s32int row = -1, s32int col = -1);
void unmap();
- virtual void redraw();
- virtual void scroll(); //Scrolls 1 line
-
- virtual void updateCursor();
- void moveCursor(u32int row, u32int col);
- void setCursorLine(u32int line);
- void setCursorCol(u32int col);
void put(WChar c, bool updatecsr = true);
diff --git a/Source/Kernel/VTManager/VirtualTerminal-sc.proto.cpp b/Source/Kernel/VTManager/VirtualTerminal-sc.proto.cpp
index 47941c6..f8cf138 100644
--- a/Source/Kernel/VTManager/VirtualTerminal-sc.proto.cpp
+++ b/Source/Kernel/VTManager/VirtualTerminal-sc.proto.cpp
@@ -3,19 +3,13 @@
#include <TaskManager/Task.ns.h>
call_t VirtualTerminal::m_callTable[] = {
- CALL1(VTIF_WRITEHEX, &VirtualTerminal::writeHexSC),
- CALL2(VTIF_WRITEDEC, &VirtualTerminal::writeDecSC),
CALL1(VTIF_WRITE, &VirtualTerminal::writeSC),
CALL1(VTIF_PUT, &VirtualTerminal::putSC),
CALL1(VTIF_READLINE, &VirtualTerminal::readLineSC),
CALL1(VTIF_GETKEYPRESS, &VirtualTerminal::getKeypressSC),
- CALL1(VTIF_SETCOLOR, &VirtualTerminal::setColorSC),
- CALL1(VTIF_SETCSRLINE, &VirtualTerminal::setCursorLineSC),
- CALL1(VTIF_SETCSRCOL, &VirtualTerminal::setCursorColSC),
CALL0(VTIF_ISBOXED, &VirtualTerminal::isBoxedSC),
CALL0(VTIF_GETHEIGHT, &VirtualTerminal::getHeightSC),
CALL0(VTIF_GETWIDTH, &VirtualTerminal::getWidthSC),
- CALL2(VTIF_LOCATE, &VirtualTerminal::locateSC),
CALL0(0, 0)
};
@@ -25,19 +19,9 @@ u32int VirtualTerminal::scall(u8int wat, u32int a, u32int b, u32int c, u32int d)
return (u32int) - 1;
}
-u32int VirtualTerminal::writeHexSC(u32int number) {
- writeHex(number);
- return 0;
-}
-
-u32int VirtualTerminal::writeDecSC(u32int n_hi, u32int n_lo) {
- s64int n = ((u64int)n_hi << 32) | n_lo;
- writeDec(n);
- return 0;
-}
-
u32int VirtualTerminal::writeSC(u32int wat) {
String *s = (String*)wat;
+ //hexDump((u8int*)s->serialize(), s->size());
write(*s);
return 0;
}
@@ -59,21 +43,6 @@ u32int VirtualTerminal::getKeypressSC(u32int flags) {
return (u32int)ptr;
}
-u32int VirtualTerminal::setColorSC(u32int x) {
- setColor((x >> 8) & 0xFF, x & 0xFF);
- return 0;
-}
-
-u32int VirtualTerminal::setCursorLineSC(u32int l) {
- setCursorLine(l);
- return 0;
-}
-
-u32int VirtualTerminal::setCursorColSC(u32int c) {
- setCursorCol(c);
- return 0;
-}
-
u32int VirtualTerminal::isBoxedSC() {
return (isBoxed() ? 1 : 0);
}
@@ -85,14 +54,3 @@ u32int VirtualTerminal::getHeightSC() {
u32int VirtualTerminal::getWidthSC() {
return width();
}
-
-u32int VirtualTerminal::locateSC(u32int line, u32int col) {
- if (line < 1000 and col < 1000) {
- moveCursor(line, col);
- } else if (line < 1000) {
- setCursorLine(line);
- } else if (col < 1000) {
- setCursorCol(line);
- }
- return 0;
-}
diff --git a/Source/Kernel/VTManager/VirtualTerminal.proto.cpp b/Source/Kernel/VTManager/VirtualTerminal.proto.cpp
index 34c10d0..39c21e3 100644
--- a/Source/Kernel/VTManager/VirtualTerminal.proto.cpp
+++ b/Source/Kernel/VTManager/VirtualTerminal.proto.cpp
@@ -3,8 +3,6 @@
#include <VTManager/VT.ns.h>
#include <TaskManager/Task.ns.h>
-#include <VirtualTerminal.iface.h>
-
VirtualTerminal::VirtualTerminal() :
Ressource(VTIF_OBJTYPE, m_callTable), m_kbdMutex(false), m_kbdbuff() {
m_kbdbuffStart = 0;
@@ -16,7 +14,16 @@ VirtualTerminal::~VirtualTerminal() {
void VirtualTerminal::write(const String& s, bool updatecsr) {
for (u32int i = 0; i < s.size(); i++) {
- put(s[i], false);
+ if (s[i] == WChar(MVT_ESC)) {
+ mvt_esc_cmd_t cmd;
+ cmd.cmd = s[i + 1];
+ cmd.a = s[i + 2];
+ cmd.b = s[i + 3];
+ i += 3;
+ handleEscape(cmd);
+ } else {
+ put(s[i], false);
+ }
}
if (updatecsr) updateCursor();
}
diff --git a/Source/Kernel/VTManager/VirtualTerminal.proto.h b/Source/Kernel/VTManager/VirtualTerminal.proto.h
index ceb994c..1505d3b 100644
--- a/Source/Kernel/VTManager/VirtualTerminal.proto.h
+++ b/Source/Kernel/VTManager/VirtualTerminal.proto.h
@@ -7,6 +7,8 @@
#include <DeviceManager/Kbd.ns.h>
#include <Vector.class.h>
+#include <VirtualTerminal.iface.h>
+
#include <SyscallManager/Ressource.class.h>
struct vtchr {
@@ -39,34 +41,34 @@ class VirtualTerminal : public Ressource {
u32int locateSC(u32int, u32int);
bool accessible() { return true; }
+ //Internal use
+ virtual void updateCursor() {}
+
public:
static u32int scall(u8int, u32int, u32int, u32int, u32int);
VirtualTerminal();
virtual ~VirtualTerminal();
- virtual void setColor(u8int fgcolor, u8int bgcolor = 0xFF) {} //For a pipe/file VT, this will do nothing.
virtual bool isBoxed() = 0;
virtual u8int height() { return 0; }
virtual u8int width() { return 0; }
- virtual void updateCursor() {}
- virtual void moveCursor(u32int row, u32int col) {} //These are not implemented for pipe/file VTs
- virtual void setCursorLine(u32int line) {}
- virtual void setCursorCol(u32int col) {} //This one could be, and should be. It's used a lot for tabulating, etc.
+ virtual void handleEscape(mvt_esc_cmd_t cmd) = 0;
//Display functions
virtual void put(WChar c, bool updatecsr = true) = 0;
void write(const String& s, bool updatecsr = true);
+
+ //Display functions for kernel use
void writeDec(s64int num, bool updatecsr = true);
void writeHex(u32int i, bool updatecsr = true);
-
virtual void hexDump(u8int* ptr, u32int sz, bool addnl = true); //Always ignore parameter addnl
-
inline VirtualTerminal& operator<<(const String& s) { write(s); return *this; }
inline VirtualTerminal& operator<<(s32int i) { writeDec(i); return *this; }
inline VirtualTerminal& operator<<(s64int i) { writeDec(i); return *this; }
inline VirtualTerminal& operator<<(u32int i) { writeHex(i); return *this; }
+ inline VirtualTerminal& operator<<(mvt_esc_cmd_t cmd) { handleEscape(cmd); return *this; }
//Keyboard functions
virtual void keyPress(keypress_t kp); //Called by Kbd:: when a key is pressed, overloaded by ScrollableVT
diff --git a/Source/Library/Link.ld b/Source/Library/App.ld
index 68591fd..793949a 100644
--- a/Source/Library/Link.ld
+++ b/Source/Library/App.ld
@@ -1,5 +1,5 @@
ENTRY (start)
-INPUT (Melon.o)
+INPUT (libMelon.o)
SECTIONS{
. = 0x10000000;
diff --git a/Source/Library/Interface/VirtualTerminal.iface.h b/Source/Library/Interface/VirtualTerminal.iface.h
index e0f59d5..9196771 100644
--- a/Source/Library/Interface/VirtualTerminal.iface.h
+++ b/Source/Library/Interface/VirtualTerminal.iface.h
@@ -8,21 +8,69 @@
#define VTIF_SGETPROUTVT 7 //Get process output virtual terminal (R) | no arguments
#define VTIF_PUT 0x01 //Put one character to virtual terminal (v) | c:character
-#define VTIF_WRITEHEX 0x02 //Write a number in hexadecimal (v) | i:number
-#define VTIF_WRITEDEC 0x03 //Write a number in decimal (v) | j:number, J:number
-#define VTIF_WRITE 0x04 //Write a string (v) | S:string
+#define VTIF_WRITE 0x02 //Write a string (v) | S:string
+
+/* EVERYTHING NOW GOES THROUGH VTIF_WRITE
+#define VTIF_WRITEHEX 0x03 //Write a number in hexadecimal (v) | i:number
+#define VTIF_WRITEDEC 0x04 //Write a number in decimal (v) | j:number, J:number
+*/
#define VTIF_READLINE 0x05 //Reads a line from virtual terminal (S) : b:show?
#define VTIF_GETKEYPRESS 0x06 //Get a keypress from virtual terminal (*) : i:flags
//Takes two flags : 1<<0 = show, 1<<1 = block
-
+/* EVERYTHING NOW GOES THROUGH VTIF_WRITE
#define VTIF_SETCOLOR 0x10 //Set text color (v) | i:foreground_color, i:backgrond_color
#define VTIF_SETCSRLINE 0x11 //Set cursor line (v) | i:line
#define VTIF_SETCSRCOL 0x12 //Set cursor column (v) | i:column
+#define VTIF_LOCATE 0x13 //Sets cursor position (v) | i:line, i:column
+*/
#define VTIF_ISBOXED 0x13 //Is VT boxed ? (b) | no arguments
#define VTIF_GETHEIGHT 0x1A //Get VT width (i) | no arguments
#define VTIF_GETWIDTH 0x1B //Get VT height (i) | no arguments
-#define VTIF_LOCATE 0x1C //Sets cursor position (v) | i:line, i:column
+
+// ***** MELON VT SPECIFIC ESCAPE COMMANDS **
+#define MVT_ESC "\032"
+
+struct mvt_esc_cmd_t {
+ int cmd;
+ int a, b;
+};
+
+#define MVTCMD0(name, command) \
+ inline mvt_esc_cmd_t name() { \
+ mvt_esc_cmd_t ret; ret.cmd = command; return ret; }
+
+#define MVTCMD1(name, command) \
+ inline mvt_esc_cmd_t name(int a) { \
+ mvt_esc_cmd_t ret; ret.cmd = command; ret.a = a; return ret; }
+
+#define MVTCMD2(name, command) \
+ inline mvt_esc_cmd_t name(int a, int b) { \
+ mvt_esc_cmd_t ret; ret.cmd = command; ret.a = a; ret.b = b; return ret; }
+
+#define MVTCMD_CLEAR 0x100
+#define MVTCMD_SCROLL 0x101
+#define MVTCMD_SETCOLOR 0x110
+#define MVTCMD_SETBGCOLOR 0x111
+#define MVTCMD_SETFGCOLOR 0x112
+#define MVTCMD_MOVECSR 0x120
+#define MVTCMD_SETCSRLIN 0x121
+#define MVTCMD_SETCSRCOL 0x122
+#define MVTCMD_HIDECSR 0x130
+#define MVTCMD_SHOWCSR 0x131
+
+namespace MVT {
+ MVTCMD0(clear, MVTCMD_CLEAR);
+ MVTCMD0(scroll, MVTCMD_SCROLL);
+ MVTCMD2(setcolor, MVTCMD_SETCOLOR);
+ MVTCMD1(setbgcolor, MVTCMD_SETBGCOLOR);
+ MVTCMD1(setfgcolor, MVTCMD_SETFGCOLOR);
+ MVTCMD2(movecsr, MVTCMD_MOVECSR);
+ MVTCMD1(setcsrlin, MVTCMD_SETCSRLIN);
+ MVTCMD1(setcsrcol, MVTCMD_SETCSRCOL);
+ MVTCMD0(hidecsr, MVTCMD_HIDECSR);
+ MVTCMD0(showcsr, MVTCMD_SHOWCSR);
+}
#endif
diff --git a/Source/Library/Makefile b/Source/Library/Makefile
index c67daf7..6e3e269 100644
--- a/Source/Library/Makefile
+++ b/Source/Library/Makefile
@@ -6,10 +6,8 @@ CXXFLAGS = -nostartfiles -nostdlib -ffreestanding -fno-exceptions -fno-rtti -I C
ASM = nasm
ASMFLAGS = -f elf
-LDFLAGS = -r
LD = ld
-Library = Melon.o
Objects = Common/WChar.class.uo \
Common/CMem.ns.uo \
Common/Mutex.class.uo \
@@ -30,14 +28,14 @@ Objects = Common/WChar.class.uo \
Userland/Syscall/RessourceCaller.class.uo \
Userland/Start.uo
-all: $(Library)
+all: libMelon.o
echo "* Done with library"
rebuild: mrproper all
-$(Library): $(Objects)
- echo "* Linking melon library $(Library)..."
- $(LD) $(LDFLAGS) $^ -o $@
+libMelon.o: $(Objects)
+ echo "* Linking static Melon library libMelon.o..."
+ $(LD) -r $^ -o $@
%.uo: %.cpp
echo "* Compiling $<..."
diff --git a/Source/Library/Melon.a b/Source/Library/Melon.a
new file mode 100644
index 0000000..e6b00ab
--- /dev/null
+++ b/Source/Library/Melon.a
Binary files differ
diff --git a/Source/Library/Userland/Binding/VirtualTerminal.class.h b/Source/Library/Userland/Binding/VirtualTerminal.class.h
index 2a38abd..3ef898b 100644
--- a/Source/Library/Userland/Binding/VirtualTerminal.class.h
+++ b/Source/Library/Userland/Binding/VirtualTerminal.class.h
@@ -25,15 +25,13 @@ class VirtualTerminal : public RessourceCaller, public OStream, public IStream {
}
VirtualTerminal(u32int id) : RessourceCaller(id, VTIF_OBJTYPE) { m_eof = false; }
- /*void writeHex(u32int number) {
- doCall(VTIF_WRITEHEX, number);
- }
- void writeDec(s64int number) {
- doCall(VTIF_WRITEDEC, (number >> 32), number);
- }*/
+ //******** SYSCALLS ********
void write(const String &s) {
doCall(VTIF_WRITE, (u32int)&s);
}
+ void put(WChar c) {
+ doCall(VTIF_PUT, c);
+ }
String read() {
if (m_eof) return "";
String ret = String::unserialize(doCall(VTIF_READLINE, 1));
@@ -44,23 +42,15 @@ class VirtualTerminal : public RessourceCaller, public OStream, public IStream {
}
return ret += "\n";
}
- keypress_t getKeypress(bool show = true, bool block = true) {
- keypress_t* ptr = (keypress_t*)doCall(VTIF_GETKEYPRESS, (show ? 1 : 0) | (block ? 2 : 0));
- return *ptr;
- }
String readLine(bool show = true) {
flush();
return String::unserialize(doCall(VTIF_READLINE, (show ? 1 : 0)));
}
- void setColor(u8int fg, u8int bg = 0xFF) {
- doCall(VTIF_SETCOLOR, (fg << 8) | bg);
- }
- void setCsrLine(u32int line) {
- doCall(VTIF_SETCSRLINE, line);
- }
- void setCsrCol(u32int col) {
- doCall(VTIF_SETCSRCOL, col);
+ keypress_t getKeypress(bool show = true, bool block = true) {
+ keypress_t* ptr = (keypress_t*)doCall(VTIF_GETKEYPRESS, (show ? 1 : 0) | (block ? 2 : 0));
+ return *ptr;
}
+ //********* GET VT INFO SYSCALLS ********
bool isBoxed() {
return doCall(VTIF_ISBOXED) != 0;
}
@@ -70,14 +60,20 @@ class VirtualTerminal : public RessourceCaller, public OStream, public IStream {
u8int width() {
return doCall(VTIF_GETWIDTH);
}
- void put(WChar c) {
- doCall(VTIF_PUT, c);
- }
- void moveCursor(u8int line, u8int col) {
- doCall(VTIF_LOCATE, line, col);
- }
- void put(u8int line, u8int col, WChar c) {
- moveCursor(line, col); put(c);
+ //********** HANDLE COMMAND *******
+ VirtualTerminal& operator << (const String& s) { OStream::operator<<(s); return *this; }
+ VirtualTerminal& operator << (s64int i) { OStream::operator<<(i); return *this; }
+ VirtualTerminal& operator << (s32int i) { OStream::operator<<(i); return *this; }
+ VirtualTerminal& operator << (u32int i) { OStream::operator<<(i); return *this; }
+ VirtualTerminal& operator << (ostream_modifiers_e m) { OStream::operator<<(m); return *this; }
+ VirtualTerminal& operator << (mvt_esc_cmd_t cmd) {
+ String s(" ");
+ s[0] = 0x1A;
+ s[1] = cmd.cmd;
+ s[2] = cmd.a;
+ s[3] = cmd.b;
+ OStream::put(s);
+ return *this;
}
};