
;
; SetCrs()
;
; Setzt den Cursor an die Position x/y im DOS-Fenster
;
; INPUTS:   fh    -  FileHandle des Fensters
;           x     -  x-Position (Spalte)
;           y     -  y-Position (Reihe)
;
;
; MODIFICATION HISTORY:
;
;  Datum:      Name:                Beschreibung:
;  ----------  -------------------- ---------------------------------------
;  23.01.1988  Andreas Trappmann    AMIGA-Version 1.0
;

_LVOWrite   equ      -48

            public   _DOSBase

            public   _SetCrs
_SetCrs:    move.l   4(sp),d1       ; FileHandle

            move.w   8(sp),d0       ; x-Position
            lea      xpos,a0        ; Adresse laden
            bsr      _convert       ; umwandeln

            move.w   10(sp),d0      ; y-Position
            lea      ypos,a0        ; Adresse laden
            bsr      _convert       ; umwandeln

            move.l   #buffer,d2     ; Pufferadresse laden
            moveq    #7,d3          ; Laenge laden
            move.l   _DOSBase,a6    ; DosBase laden
            jsr      _LVOWrite(a6)
            rts

_convert:   and.l    #$ff,d0        ; auf Byte beschraenken
            divu     #10,d0
            jsr      _conv1         ; in ASCII wandeln
            swap     d0             ; Rest holen
_conv1:     add.b    #'0',d0        ; in ASCII wandeln
            move.b   d0,(a0)+       ; in Puffer schreiben
            rts

buffer:     ds       0
            dc.b     $9b
ypos:       dc.b     0,0
            dc.b     ';'
xpos:       dc.b     0,0
            dc.b     'H'

