| 1 |
; AL = Character |
| 2 |
BIOS_WriteTTYChar: |
| 3 |
;MOV AL, [0] |
| 4 |
MOV AH, 0Eh |
| 5 |
INT 10h |
| 6 |
RET |
| 7 |
|
| 8 |
BIOS_SetVideoMode13H: |
| 9 |
CMP BYTE [CurrentVideoMode], 0x13 ; Prevent a switch if we're already mode 13. |
| 10 |
; This prevents clearing the framebuffer if clearing wasn't intended |
| 11 |
JE .already |
| 12 |
MOV AX, 0x0013 |
| 13 |
INT 10h |
| 14 |
MOV BYTE [CurrentVideoMode], 0x13 |
| 15 |
.already: |
| 16 |
RET |
| 17 |
|
| 18 |
BIOS_SetVideoMode03H: |
| 19 |
CMP BYTE [CurrentVideoMode], 0x03 ; Prevent a switch if we're already mode 03. |
| 20 |
; This prevents clearing the framebuffer if clearing wasn't intended, and also whenever |
| 21 |
; we show an error in fallback mode, and then call an error handler, the latter will not |
| 22 |
; clear the screen by switching from 03 to 03. |
| 23 |
JE .already |
| 24 |
MOV AX, 0x0003 |
| 25 |
INT 10h |
| 26 |
MOV BYTE [CurrentVideoMode], 0x03 |
| 27 |
.already: |
| 28 |
RET |