| 1 |
figdor32 |
4 |
; 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 |