Day #1 -- i made my bootloader stage 2

Recently I started the creation of my own OS. I started doing this because I wanted to make something 100% foss, minimalist, and USABLE. No such OS exists, so I decided to make my own. The first thing I did is to write my stage 1 bootloader, which just loads stage 2, since I want to do everything in stage 2, which i can make using other filesystems with my OS easier. Here is the code for stage 1:


org 0x7c00
use16
start:
mov ah,0x42 ; extended write
mov dl,0x80 ; main hdd
mov si,dap
int 0x13
jc short .error
jmp 0x7e00
dap: ; disk address packet
  db 0x10 ;packet size
  db 0x00
  dw 0x010 ; number of blocks
  dw 0x7e00 ; where to load
  dw 0x00
  dd 0x01 ; location of the first block
  dd 0x00
.error:
  mov ah,0x0e
  mov al,'e'
  int 0x10
;pad the rest with 0s
times 510-($-$$) db 0
; magic is here
db 0x55
db 0xaa
    

And the stage 2 code (which just switches to video mode 0x02 to clear the screen):


org 0x7e00
use16
mov ah,0x00 ;
mov al,0x02 ; this code clears the screen
int 0x10    ;
times 8192-($-$$) db 0 ; pad the rest with 0s again
    

And the final result is beautiful!

btw the kitty on the screen is oneko