Hello madeyes,
Cool intro !
I think calling the vga api get font information might not be necessary,
for it is already the int 43h default vector, so you can replace :
mov ax,01130h
;Get 8x8 font
mov bh,3
int 10h
push es
pop ds
with just :
lds bp,[gs:1fh*4]