summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2017-06-18started the widget frameworkAndreas Baumann
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-16giving up on getting disk/usb mode to work in boot loaderAndreas Baumann
2017-06-16added embedded VGA fonts, not so sure about the 8 heads for USB imagesAndreas Baumann
2017-06-16why pop eax, if this contains the return valueAndreas Baumann
2017-06-16better output where we found/didn't find the magic signatureAndreas Baumann
2017-06-16paranoia, copy BOOT_DRIVE to every call to read sectorAndreas Baumann
2017-06-16fixed the stack position to 0x2000, not 0xFFFF in real mode!Andreas Baumann
zeroing all general purpose registers after switching to protected mode
2017-06-16added a global kernel data structure, so we don't allocate theAndreas Baumann
basic drivers on the stack of kernel_main added commands 'clear' to clear the screen and 'mode' to switch the mode of the graphics card (for testing)
2017-06-16fixed loading of kernel in stage2 grossing 64kAndreas Baumann
2017-06-16added some documentationAndreas Baumann
2017-06-15added a clear screen method to graphics mode VGA driverAndreas Baumann
2017-06-15adapted kernel size to fit clangAndreas Baumann
2017-06-15increased size of stage 2 bootloader by 1024 bytesAndreas 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-15added a memcpy function (clang needs it to copy structs in assignments)Andreas Baumann
2017-06-14got switch to graphical VGA mode workingAndreas Baumann
2017-06-13.Andreas Baumann
2017-06-13added some linksAndreas 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
2017-06-10moved bootloader to subdirectoryAndreas Baumann
2017-06-10renamed text VGA module to vgatextAndreas Baumann
2017-06-10preparations for driver loading with PCI (BARs for I/O)Andreas Baumann
2017-06-10using int13h/8h only for floppies for now, geometry on emulated USBAndreas Baumann
disks seems to be completly wrong. Probing on real machine for first non-readable sector hangs the machine or creates reboots, no clue. Writing a boot loader is not the scope of the project. For me it runs where it has to run for now..
2017-06-10trying to fix up disk geometryAndreas Baumann
2017-06-10tried some error handling around disk geometry detection, this feature seems ↵Andreas Baumann
to be mainly broken!
2017-06-10better messages in boot loader about disk loadingAndreas Baumann
another test in bochs with a ATA hard disk without LCHS/PCHS translation (doens't boot yet)
2017-06-10rearranged boot loader: first load 3 sectors of stage 2 in simpleAndreas Baumann
int 13h read. then in stage 2 do a much better detection of disk geometries in the future (for now, it's the same) and load the kernel sectors with a more complex loading routine
2017-06-09tried to probe disk geometry with mixed success (emulated FDD modeAndreas Baumann
on USB not working). Code in stage1 gets too complex to fit 512 bytes, so we most likely must load stage2 with a simple algorithm (maybe 8 sectors every bios 13h/2h function is able to deliver). Then we load the kernel in a second, more complex loading step
2017-06-09clang kernel.bin size bumpAndreas Baumann
2017-06-09fixed stage 1 boot loader problems (worked in some BIOSes acrossAndreas Baumann
the 2 times sector/track limit). loading sectors one by one now fixed also spin down problem after loading stage 2 and the kernel for now tested with 1.44 MB floppies (both real and in bochs/qemu)
2017-06-09reverted drive resetAndreas Baumann
2017-06-09testing reseting driveAndreas Baumann
2017-06-09added backspace handling in pre-boot cli (sort of)Andreas Baumann
2017-06-08some interface changes for PCI driver handlingAndreas Baumann
2017-06-08some driver deinit cleanupAndreas Baumann
2017-06-08drivers can print info now ('driver' pre-boot command)Andreas Baumann
2017-06-08added driver managerAndreas Baumann
keyboard and mouse are now "derived" from driver_t reading and printing more PCI members
2017-06-08updated some documentationAndreas Baumann
2017-06-08retested with all 3 C compilersAndreas Baumann
2017-06-08unified mouse and keyboard driver interface (towards a generic driver ↵Andreas Baumann
manager interface
2017-06-08fixed mouse cursor when typingAndreas Baumann
added vga functions to show and hide the mouse cursor as well as remembering it's old position fixed keyboard context passing
2017-06-07some small code cleanupsAndreas Baumann
2017-06-07\r \n in serial_put_newline, got basic console output working in minicomAndreas Baumann
between two real machines
2017-06-07ignore PCI devices with device_id == 0 too (not only 0xFFFF)Andreas Baumann