summaryrefslogtreecommitdiff
path: root/video
diff options
context:
space:
mode:
authorMichal Idziorek <m.i@gmx.at>2014-11-14 01:07:06 +0100
committerMichal Idziorek <m.i@gmx.at>2014-11-14 01:07:06 +0100
commit600ef9b4efed894db2c0a205dbbc10d36cf28852 (patch)
tree8a3915a8e47a4a78adad5f1195170ae083182c52 /video
parentb4a8f29ef338c6d2ee70723ff49811276713628a (diff)
switched bochs to term mode !
Diffstat (limited to 'video')
-rw-r--r--video/vesa.c20
-rw-r--r--video/vesa.h2
2 files changed, 22 insertions, 0 deletions
diff --git a/video/vesa.c b/video/vesa.c
index 2addea7..0859f19 100644
--- a/video/vesa.c
+++ b/video/vesa.c
@@ -50,6 +50,26 @@ void vesa_set_physbase(uint32_t addr)
VbeModeInfoBlock->physbase=addr;
}
+ //
+ // We want to get output to the screen as fast as possible!
+ //
+ // Our Fool-Boot-Loader did set up VESA already for us.
+ // The desired VESA mode is hardcoded in [boot/mbr.asm].
+ //
+ // The [vesa_init(...)] function requires:
+ //
+ // * the addresses of the vbeinfo struct
+ // * the address of the vbemodeinfo struct (for selected mode).
+ // * Fool Font loaded inside ramimage
+ //
+ // The first two paramters are hardcoded in [boot/mbr.asm],
+ // while the last one is set in the Makefile. The font binary
+ // is integrated in the kernel image.
+ //
+ // this function returns the physical base address of
+ // our video memory
+ //
+
uint32_t vesa_init(vbeinfo *info,vbemodeinfo *mode,foolfont *rawfont)
{
//the only functionallu important init lines! (rest is log)
diff --git a/video/vesa.h b/video/vesa.h
index 89cb680..1f6c12e 100644
--- a/video/vesa.h
+++ b/video/vesa.h
@@ -43,3 +43,5 @@ typedef struct ModeInfoBlock {
}vbemodeinfo;
uint32_t vesa_init(vbeinfo *info,vbemodeinfo *mode,foolfont *rawfont);
+void PutConsoleChar(char c, int color);
+void PutConsole(char *str, int color);