(sine wave animation) (first 3d renderer, with mouse controll)
- Bootloader enter 32 bit protected mode and run c code
- Switch VGA mode the should bootloader set the VGA mode to 320 x 200 color
- Drawing on screen create a VGA driver adding a layer of abtraction to v-ram acces
- Graphics library enable features like fill_rect and draw_triangle via the VGA driver
- Interrupts handle interrupts in order to create drivers for mouse and keyboard
- Keyboard driver enable keyboard input with information about keypresses
- Font create a custom 7x5 font in preparation for text output
- Text output enable the VGA driver to draw font characters
- String output add draw_string to graphics library by converting chars to font indexes
- Mouse driver enable mouse motion and button input
- Cursor [temporary] implement mouse cursor directly to VGA driver
- GUI [temporary] use available functions display keyboard and mouse input info
- Clean up VGA driver differentiate more between VGA driver and graphics lib
- Linear algebra port library from this project in preparation for 3D rendering
- 3D-renderer implement 3D-renderer
- Event handeler create a event handeler to interface with device drivers
- Memory allocator create a memory allocator
- Run on hardware run teapot os natively on real hardware (potentialy 2013 MacBook Air)
- standard library create neccesary utilities
- Fixed width ints for neater code
- Graphics library
- String utils converting and concating
- Math math functions especialy trigonometry functions like sin(x)