Skip to content

Commit

Permalink
nlssupt: preserve more registers [fixes #128]
Browse files Browse the repository at this point in the history
In fdpp, calls to C code may clobber more registers than in freedos.
In this particular case DI register was trashed.
Some NLS functions, like DosUpChar(), can be called directly by
the DOS prog, bypassing the INT21 API. We need to make sure the
app's registers are not trashed.

Fixes Volkov Commander 4.05.
  • Loading branch information
stsp committed Feb 25, 2020
1 parent 9b54289 commit ca5b05a
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions kernel/nlssupt.asm
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ reloc_call_CharMapSrvc:
push ds
push es
; push bp
; push si
; push di
push si
push di
push dx
push cx
push bx
Expand All @@ -64,8 +64,8 @@ reloc_call_CharMapSrvc:
pop bx
pop cx
pop dx
; pop di
; pop si
pop di
pop si
; pop bp
pop es
pop ds
Expand Down

0 comments on commit ca5b05a

Please sign in to comment.