If we call the INT 10h and set its parameters via assembly language, and then compile this code into a binary and write it into the boot sector of the floppy disk, we can output a string on the bare metal(or virutal machine without OS) screen.
...
; INT 10h
; When AH = 13h
; ES:BP = Offset of string
; CX = length of string
; AL = Write mode
; BH = Page Number, BL = Color
; DL = Column
mov ax, BootMessage
mov bp, ax
mov cx, 12
mov ax, 01301h
mov bx, 000ch
mov dl, 0
int 10h
jmp $ ; while (true)
BootMessage: db "Hello World!"
...
I am wondering how does the BIOS control the glyph of each character? On some computers, why the "A" on the screen is similar to the "A" in Sans-serif font, not Courier? But on other computers, it may be another font.
Are there some 0-1 matrices built into the BIOS or a certain ROM? For example, the 0-1 matrix in the picture below corresponds to the character A.