Achilleas Anagnostopoulos
eaeae85600
Implement LogoSetter interface for vesa fb driver
2017-07-13 23:35:20 +01:00
Achilleas Anagnostopoulos
c7fc9f0ac9
Add gopher logos (64, 96 and 128 pixels tall)
...
The gopher images were obtained from: https://github.com/golang-samples/gopher-vector
2017-07-13 23:35:20 +01:00
Achilleas Anagnostopoulos
cb7ae66556
Define LogoSetter interface and BestFit selection helper
2017-07-13 23:35:20 +01:00
Achilleas Anagnostopoulos
a5c6828fc2
Create tool for converting images to compatible console logo files
...
The tool processes an image and converts it to a logo.Image struct which
can be assigned to a logo-capable console.
2017-07-13 23:35:20 +01:00
Achilleas Anagnostopoulos
d71c4c1eea
Add 8x16, 10x18 and 14x28 fonts based on the terminus font
2017-07-13 23:35:20 +01:00
Achilleas Anagnostopoulos
72feb11acb
Document exported symbols
2017-07-13 23:35:20 +01:00
Achilleas Anagnostopoulos
f4f3745073
Extend vesa driver support to 15 and 16bpp framebuffers
2017-07-13 23:35:20 +01:00
Achilleas Anagnostopoulos
f02c767257
Extend vesa driver to support 24 and 32 bpp
2017-07-13 23:35:20 +01:00
Achilleas Anagnostopoulos
13ba4bbbed
Implement vesa console driver for 8bpp framebuffers
2017-07-13 23:35:10 +01:00
Achilleas Anagnostopoulos
cbf0c82702
Change Dimensions() signature to support querying for characters or pixels
2017-07-13 22:06:50 +01:00
Achilleas Anagnostopoulos
952d0bf4a5
Define FontSetter interface, the Font type and helper methods
...
The helper methods provide support for selecting the best-fit font for
the console dimensions and for looking up a font by name.
2017-07-13 22:06:50 +01:00
Achilleas Anagnostopoulos
13ef4cd08d
Map physical address of the vga text console framebuffer in DriverInit
...
Currently, the kernel can write to 0xb80000 because this is part of the
initial identify mapping set up by the rt0 code. When we establish new
mappings for the kernel using its real VMA address then writes to the
framebuffer will cause a page fault unless we explicitly map it.
2017-07-08 22:18:24 +01:00
Achilleas Anagnostopoulos
3485523cdc
Update the Driver.DriverInit method signature to accept an io.Writer
...
Drivers can use the writer as an argument to kfmt.Fprintf to log
additional output during their initialization.
2017-07-08 22:09:19 +01:00
Achilleas Anagnostopoulos
b1084c1362
Fix broken unit tests
2017-07-08 13:02:15 +01:00
Achilleas Anagnostopoulos
ffb8f86a9c
Each driver should manually register a probe function for use by hal
...
This commit removes the HWProbes() function from the console and tty
packages and replaces it with a global ProbeFuncs slice which is fetched
by the hal package when the hardware autodetection code runs.
Each driver should provide an init() function that appends a probe function
to the global ProbeFuncs slice.
This approach allows us to support conditional compilation of drivers in
the future (e.g. using build tags)
2017-07-08 12:26:40 +01:00
Achilleas Anagnostopoulos
fd3ca91138
Use uint32 for console coordinates and fix dimension bug
2017-07-08 12:26:40 +01:00
Achilleas Anagnostopoulos
562fae2028
Detect hw and wire active console and TTY
2017-07-07 21:37:00 +01:00
Achilleas Anagnostopoulos
286b8d9c71
Rename Ega console to VgaTextConsole and implement the updated interface
2017-07-07 21:36:50 +01:00
Achilleas Anagnostopoulos
b72725742a
Revise console interface
2017-07-07 06:25:24 +01:00