|
|
|
![bootloader](https://space.alexroidl.de/images/a/a6/Screenshot_from_2019-04-23_22-10-44_2.png)
|
|
|
|
|
|
|
|
|
|
|
|
#Not My Default Bootloader
|
|
|
|
This bootloader displays a minimal publication
|
|
|
|
|
|
|
|
The bootloader only has a size of 512 bytes.
|
|
|
|
Therefore I added a second stage to load a program into the memory
|
|
|
|
Actually the publication loads different programs into the memory (every part is a seperate program)
|
|
|
|
and from everywhere you can go back into the bootloader program.
|
|
|
|
|
|
|
|
|
|
|
|
#Make
|
|
|
|
```make
|
|
|
|
make
|
|
|
|
make run
|
|
|
|
```
|
|
|
|
|
|
|
|
#Dependencies
|
|
|
|
*nasm
|
|
|
|
*qemu to simulate (but you can also boot directly from USB then there's no need to emulate)
|
|
|
|
|
|
|
|
|
|
|
|
##Useful resources
|
|
|
|
###interrupts
|
|
|
|
http://stanislavs.org/helppc/idx_interrupt.html
|
|
|
|
|
|
|
|
###BIOS colors
|
|
|
|
https://en.wikipedia.org/wiki/BIOS_color_attributes
|
|
|
|
|
|
|
|
###Second stage bootloader booting from usb
|
|
|
|
https://stackoverflow.com/questions/36044706/enable-the-boot-loader-to-load-the-second-sector-of-a-usb
|
|
|
|
|
|
|
|
###Tutorial on second stage / read interrupt BUT only for floppy :(
|
|
|
|
For disk see above
|
|
|
|
https://blog.ghaiklor.com/how-to-implement-a-second-stage-boot-loader-80e75ae4270c
|
|
|
|
|
|
|
|
###Boc drawing characters
|
|
|
|
https://en.wikipedia.org/wiki/Box-drawing_character
|
|
|
|
|
|
|
|
###Good Array Tutorial
|
|
|
|
https://www.cs.uaf.edu/2017/fall/cs301/lecture/09_15_strings_arrays.html
|
|
|
|
|
|
|
|
###ASCII Table
|
|
|
|
https://theasciicode.com.ar/ascii-printable-characters/space-ascii-code-32.html
|