In modes 43 and 50 lines, the cursor is invisible. Proposed solution:
FASMD.ASM ; line 1696 / upd 1696
mov ah,3
xor bh,bh
int 10h
mov [stored_cursor],cx
movzx ax,cl ; new lines {
test ax, ax
jnz overwrite_cursor_ok
mov ax,0x000F
mov cx,0x060F
overwrite_cursor_ok:
mov [overwrite_cursor],ax
mov [normal_cursor],cx ; }
...
; line 2923 / upd 2931
mov ah,1
mov cx,[normal_cursor];instead 0x0D0E
int 10h
retn
block_cursor:
mov ah,1
mov cx,[overwrite_cursor];instead 0x000F
int 10h
retn
cursor_out_of_sight:
mov ah,1
mov cx,0x3031;instead 0x1000
int 10h
retn
...
; line 6669 / upd 6677
stored_cursor dw ?
normal_cursor dw ? ; new line
overwrite_cursor dw ? ; new line
See also