
; Entr‚es : ES:DI=dest
;           Al=caractŠre, AH=couleur
SendAChar:
  push word 0FFA6h
  mov dl,ah
  mov dh,ah
  pop fs
  mov ah,0
  shl ax,3
  add ax,0eh
  mov bp,ax
  mov cl,8
  .sac_loop1:
    mov ch,8
    mov al,[fs:bp]
    .sac_loop2:
      shl al,1
      jnc .sac_pas_de_point
        mov [es:di],dx
        mov [es:di+256],dx        
      .sac_pas_de_point:
      add di,2
      dec ch
    jnz .sac_loop2
    inc bp
    add di,240+256
  loop .sac_loop1
ret

; Entr‚es : ES:DI=dest
;           Al=caractŠre, AH=couleur
SendAChar8:
;  push word 0FFA6h
;  mov dl,ah
;  mov dh,ah
;  pop fs
;  mov ah,0
;  shl ax,3
;  add ax,0eh
;  mov bp,ax
;  mov cl,8
;  .sac320_loop1:
;    mov ch,8
;    mov al,[fs:bp]
;    .sac320_loop2:
;      shl al,1
;      jnc .sac320_pas_de_point
;        mov [es:di],dl
;      .sac320_pas_de_point:
;      inc di
;      dec ch
;    jnz .sac320_loop2
;    inc bp
;    add di,248
;  loop .sac320_loop1
;ret


; Entr‚es : ES:DI=dest
;           DS:SI=str0
;           AH=couleur
PutText:
  lodsb
  or al,al
  jz .pt_fin_texte
    push ax
    push di
    call SendAChar
    pop di
    pop ax
    add di,16
  jmp PutText
  .pt_fin_texte:
ret


; Entr‚es : ES:DI=dest
;           DS:SI=str0
;           AH=couleur
;PutText8:
;  lodsb
;  or al,al
;  jz .pt320_fin_texte
;    push ax
;    push di
;    call SendAChar8
;    pop di
;    pop ax
;    add di,8
;  jmp PutText8
;  .pt320_fin_texte:
;ret


