summaryrefslogtreecommitdiff
path: root/src/drivers
AgeCommit message (Collapse)Author
2017-07-21..Andreas Baumann
2017-07-21changed video mode management, moved to video driver,Andreas Baumann
the VGA driver registers his specific mode data with the video driver kernel function now use virtual functions of the video driver
2017-07-20started to abstract video driversAndreas Baumann
2017-07-20added a virtual network driver interface, made the dummy RTL8139 driver a ↵Andreas Baumann
specialization of it (nothing is functional there yet)
2017-07-20added a virtual keyboard driver interface, made the PS/2 keyboard a ↵Andreas Baumann
specialization of it
2017-07-18added a virtual mouse driver interface, made the PS/2 mouse a specialization ↵Andreas Baumann
of it
2017-07-16introduced classes of driver types (graphics, mouse, keyboard, network, etc.)Andreas Baumann
removed direct vga_init from kernel.c, using pci for this now, get the driver of type graphics from driver_manager
2017-07-16moved registering of mouse/keyboard interrupts into the driver activation ↵Andreas Baumann
instead of having them directly in kernel.c also more standardization of the driver init functions (mouse set_resolution instead of constructor parameters res_x and res_y)
2017-07-15started to make driver construtors similar (keyboard, mouse)Andreas Baumann
passing context around to pci scanning function for driver initialization
2017-07-15reworked driver init and vtable, taking the interrupt manager and the contextAndreas Baumann
as parameters when creating a driver
2017-07-15mouse and keyboard are now allocated driver pointersAndreas Baumann
2017-07-15added a dummy RTL8139 network driverAndreas Baumann
added register interrupt handler methods to drivers (but I'm pretty unsure about them) setting network in qemu startup and using RTL8139 emulation drivers
2017-07-14removed stddef.h and limits.h (come with the compiler header files)Andreas Baumann
added a stub stdint.h (only sometimes comes with the compiler) added a guide on cross compiling adapted to cross compilation, for now tcc works
2017-07-12added segment_size to vga mode structure, using for memcpy in Z bufferAndreas Baumann
refreshing the video memory and when allocating the Z buffer
2017-07-10VGA Z-buffer is now dynamically allocated and freedAndreas Baumann
memory management can reuse the last pointer malloced if freed again
2017-07-08added dedicated kernel entry to avoid address reordering under compiler ↵Andreas Baumann
optimization affect the entry poin 0x8800 of kernel_main (now kernel_entry)
2017-07-05removed superfluous context in vga driver (was not used)Andreas Baumann
added dummy methods and driver_init for anonymous driver initialization
2017-07-02started to add task schedulingAndreas Baumann
2017-07-02added ESC key in PS/2 keyboard driverAndreas Baumann
allow pressing ESC in graphics mode to return to text mode
2017-07-02simplified some driver manager code around calling virtual driver methodsAndreas Baumann
declared method tables const per class
2017-07-02some more vtable initialization fixesAndreas Baumann
2017-07-01tested with pcc, worksAndreas Baumann
removed some weird comments in vga_font.h troubling pcc
2017-07-01added a preprocessor guard to vga_font.hAndreas Baumann
2017-06-30almost got a complete mode switch (vga graphics back to text) workingAndreas Baumann
some cleanup in VGA driver code
2017-06-30text widget has a constant buffer and owns the string to draw nowAndreas Baumann
(passing a const char * from a local stack context is not really a good idea!) added more efficiet draw method for characters in vga driver protected desktop for now against too often redraws (boolean global variable needs_redraw, this is later a soffisticated set-of-areas-to -redraw algorithm)
2017-06-30playing with Z buffering in VGA driverAndreas Baumann
2017-06-30added a third widget (for drawing fonts)Andreas Baumann
fixed drawing races due to mouse interrupts
2017-06-30added a VGA wait for retrace in graphics modeAndreas Baumann
2017-06-25we have a flickering mouse cursor and terrible redrawing of the desktop now :-)Andreas Baumann
removed the font window for now, far too slow!
2017-06-25put the mouse object into the global context so we can adjust theAndreas Baumann
resolution when switching video modes
2017-06-24printing whole ASCII font in VGA graphics modeAndreas Baumann
2017-06-24made VGA graphical font smaller (we only want ASCII for now)Andreas Baumann
some performance improvements in VGA graphics mode
2017-06-24started to make some things in graphical VGA driver fasterAndreas Baumann
2017-06-21improved VGA colorsAndreas Baumann
added basics of a desktop widget class
2017-06-17added the most complex VGA mode (640x480x4, only timings for now)Andreas Baumann
added graphics and text mode type parameter to vga_mode_t
2017-06-16playing with VGA font distance and characters bei being on the head or mirroredAndreas Baumann
2017-06-16switching mode text/graphics, text is distortedAndreas Baumann
2017-06-16first character printed in graphics modeAndreas Baumann
2017-06-16added embedded VGA fonts, not so sure about the 8 heads for USB imagesAndreas Baumann
2017-06-15added a clear screen method to graphics mode VGA driverAndreas Baumann
2017-06-15some speed testsAndreas Baumann
2017-06-15made framebuffer segment a member of vga_mode_t, computing it onceAndreas Baumann
when vga_set_mode is called (because it will not change after every pixel)
2017-06-14got switch to graphical VGA mode workingAndreas Baumann
2017-06-13.Andreas Baumann
2017-06-13added empty stub for generic VGA driverAndreas Baumann
2017-06-10some big renames into subdirs of aspectsAndreas Baumann
updated README removed size_t in sys/types.h and sys/types.h itself, size_t is in stddef.h