https://www.codeproject.com/Articles/664165/Writing-a-boot-loader-in-Assembly-and-C-Part http://www.computer-engineering.org/index.html // keyboard and mouse programming