UNION fourbytes
    longfield  AS LONG
    fourstring AS STRING*4
END UNION

UNION twobytes
    wordfield  AS WORD
    numbfield  AS INTEGER
    twostring  AS STRING*2
END UNION

DIM XVAL     AS fourbytes
DIM YVAL     AS fourbytes
DIM ZVAL     AS fourbytes
DIM VELOCITY AS twobytes

DOWNLOAD$ = "DOWNLOAD.DAT"
TEMPFILE$ = "TEMPFILE.TMP"
VELOCITY.wordfield=5000
DISPLAYTYPE%=1
VECTORCOUNT=0

MAIN:
    LOCATE 1,1,0
    INPUT "Enter capture file name: "; CAPTURE$
    PRINT "Download file will be "; DOWNLOAD$
    INPUT "Enter program number for storage: "; PROGRAMNUMBER
    PRINT
    OPEN CAPTURE$ FOR INPUT AS #3
    OPEN TEMPFILE$ FOR OUTPUT AS #2
    WHILE NOT EOF(3)
        INPUT #3, CMD$
        IF     CMD$="m" THEN
            INPUT #3, XVAL.longfield
            INPUT #3, YVAL.longfield
            INPUT #3, ZVAL.longfield
            PRINT #2, VELOCITY.numbfield
            PRINT #2, XVAL.longfield
            PRINT #2, YVAL.longfield
            PRINT #2, ZVAL.longfield
            PRINT #2, " "
            VECTORCOUNT=VECTORCOUNT+1
        ELSEIF CMD$="v" THEN
           INPUT #3, VELOCITY.wordfield
           IF VELOCITY.numbfield < 0 THEN VELOCITY.numbfield = (VELOCITY.numbfield AND &H7FFF) * -1
        ELSEIF CMD$="o" THEN
        ELSEIF CMD$="d" THEN
            PRINT #2, 0
            PRINT #2, 0
            PRINT #2, 0
            PRINT #2, 0
            PRINT #2, " "
        ELSEIF CMD$="s" THEN
        ELSEIF CMD$="p" THEN
            PRINT #2, 0
            PRINT #2, 0
            PRINT #2, 0
            PRINT #2, 0
            PRINT #2, " "
        ELSE
        END IF
    WEND
    CLOSE #2
    CLOSE #3

    OPEN TEMPFILE$ FOR INPUT AS #2
    OPEN DOWNLOAD$ FOR OUTPUT AS #1

    PRINT #1, PROGRAMNUMBER
    PRINT #1, VECTORCOUNT
    PRINT #1, " "
    WHILE NOT EOF(2)
        INPUT #2, CMD$
        PRINT #1, CMD$
    WEND
    CLOSE #1
    CLOSE #2

    CLS
    PRINT "Finished";
