		    xdef	   _wedge
		    xref	   _main
	
                    CSEG
_main
L0                  LINK           A5,#-$80
                    MOVEM.L        D2-D7/A2-A3/A6,-(SP)
                    MOVEA.W        #$4,A0
                    MOVEA.L        (A0),A1
                    MOVEA.L        $114(A1),A0
                    MOVEQ          #$14,D5
                    MOVE.L         A0,$34(SP)
                    MOVE.L         A1,$38(SP)
                    MOVEA.L        A1,A6
                    LEA            L578(PC),A1	; dos.library
                    MOVEQ          #$24,D0
                    JSR            -$228(A6)	; SysBase: OpenLibrary(a1,d0)
                    MOVE.L         D0,$30(SP)
                    TST.L          D0
                    BEQ.L          L55E
                    MOVE.L         #$550,D0
                    MOVE.L         #$10001,D1
                    JSR            -$C6(A6)	; SysBase: AllocMem(d0,d1)
                    MOVEA.L        D0,A2
                    MOVE.L         A2,D0
                    BEQ.L          L4E4
                    MOVE.L         $30(SP),$4(A2)
                    LEA            L584(PC),A1	; utility.library
                    MOVEQ          #$0,D0
                    JSR            -$228(A6)	; SysBase: OpenLibrary(a1,d0)
                    MOVE.L         D0,(A2)
                    BEQ.L          L4E4
		 
		    JSR		   _wedge
	            BNE.L          L4E4
			
                    MOVEA.L        $34(SP),A1
                    MOVEA.L        $B8(A1),A0
                    MOVE.L         $8C(A1),D6
                    MOVE.L         A0,$2C(SP)
                    MOVEA.L        $4(A2),A6	; DosBase ptr
                    JSR            -$3C(A6)	; DOSBase: Output()
                    MOVE.L         D0,$18(A2)
                    MOVEA.L        $4(A2),A6	; DosBase ptr
                    JSR            -$36(A6)     ; DOSBase: Input()
                    MOVE.L         D0,$1C(A2)
                    MOVEQ          #$0,D0
                    MOVE.L         D0,$14(A2)
                    MOVE.L         D0,$10(A2)
                    MOVE.L         D0,$20(A2)
                    MOVE.B         #$3C,$C(A2)
                    MOVE.B         #$3E,$D(A2)
                    MOVE.B         #$24,$E(A2)
                    MOVE.B         #$2E,$F(A2)
                    LEA            $28(A2),A0
                    MOVE.L         A0,$28(SP)
                    MOVEQ          #$4F,D0
                    MOVEQ          #$0,D1
                    MOVEA.L        A0,A1
LBC                 MOVE.B         D1,(A1)+
                    DBRA           D0,LBC
                    LEA            $514(A2),A1
                    MOVE.L         A1,-(SP)
                    JSR            L1038(PC)
                    ADDQ.W         #$4,SP
                    MOVE.L         D0,D7
                    TST.L          D7
                    BEQ.S          LDA
                    MOVE.L         D7,D5
                    BRA.L          L4E4
LDA                 LEA            -$68(A5),A0
                    MOVE.L         A0,D1
                    MOVEQ          #$50,D2
                    MOVEQ          #$0,D3
                    MOVEA.L        $4(A2),A6	; DosBase ptr
                    JSR            -$32A(A6)	; DOSBase: ReadItem(d1,d2,d3)
                    MOVE.L         D0,D7
                    TST.L          D7
                    BEQ.S          L13A
                    LEA            -$68(A5),A0
                    LEA            L594(PC),A1
LFA                 MOVE.B         (A0)+,D0
                    CMP.B          (A1)+,D0
                    BNE.S          L13A
                    TST.B          D0
                    BNE.S          LFA
                    BNE.S          L13A
                    LEA            L59E(PC),A0
                    CLR.L          -(SP)
                    MOVE.L         A0,-(SP)
                    PEA            L596(PC)
                    MOVE.L         A2,-(SP)
                    BSR.L          LF56
                    LEA            $10(SP),SP
                    MOVEA.L        $4(A2),A6	; DosBase ptr
                    JSR            -$36(A6)	; DOSBase: Input()
                    MOVE.L         D0,D1
                    JSR            -$168(A6)	; DOSBase: Flush(d1)
                    LEA            -$68(A5),A0
                    MOVE.L         A0,D1
                    MOVEQ          #$50,D2
                    MOVEQ          #$0,D3
                    JSR            -$32A(A6)	; DOSBase: ReadItem(d1,d2,d3)
                    MOVE.L         D0,D7
L13A                TST.L          D7
                    BGT.S          L154
                    TST.L          D7
                    BEQ.L          L4E4
                    PEA            L5C6(PC)
                    MOVE.L         A2,-(SP)
                    BSR.L          LF84
                    ADDQ.W         #$8,SP
                    BRA.L          L4E4
L154                MOVEQ          #$0,D5
                    LEA            -$68(A5),A0
                    MOVE.L         A0,D1
                    MOVE.L         #$3ED,D2
                    MOVEA.L        $4(A2),A6	; DosBase ptr
                    JSR            -$1E(A6)	; DOSBase: Open(d1,d2)
                    MOVE.L         D0,$10(A2)
                    BNE.S          L1B0
                    LEA            L5DA(PC),A0
                    MOVE.L         A0,D1
                    MOVEQ          #-$2,D2
                    MOVEA.L        $4(A2),A6	; DosBase ptr
                    JSR            -$54(A6)     ; DOSBase: Lock(d1,d2)
                    MOVE.L         D0,D1
                    JSR            -$7E(A6)	; DOSBase: CurrentDir(d1)
                    MOVE.L         D0,$24(SP)
                    LEA            -$68(A5),A0
                    MOVE.L         A0,D1
                    MOVE.L         #$3ED,D2
                    JSR            -$1E(A6)	; DOSBase: Open(d1,d2)
                    MOVE.L         D0,$10(A2)
                    MOVE.L         $24(SP),D1
                    MOVEA.L        $4(A2),A6	; DosBase ptr
                    JSR            -$7E(A6)	; DOSBase: CurrentDir(d1)
                    MOVE.L         D0,D1
                    JSR            -$5A(A6)	; DOSBase: UnLock(d1)
L1B0                TST.L          $10(A2)
                    BNE.S          L1C8
                    PEA            -$68(A5)
                    PEA            L5DE(PC)
                    MOVE.L         A2,-(SP)
                    BSR.L          LF84
                    LEA            $C(SP),SP
L1C8                MOVE.L         $10(A2),D1
                    MOVEA.L        $4(A2),A6	; DosBase ptr
                    JSR            -$126(A6)	; DOSBase: SelectInput(d1)
L1D4                MOVEA.L        $4(A2),A6	; DosBase ptr
                    JSR            -$36(A6)	; DOSBase: Input()
                    MOVE.L         D0,D1
                    JSR            -$132(A6)	; DOSBase: FGetC(d1)
                    MOVE.L         D0,D7
                    MOVEQ          #$A,D0
                    CMP.L          D0,D7
                    BEQ.S          L1D4
                    MOVEQ          #$2E,D0
                    CMP.L          D0,D7
                    BEQ.S          L242
                    MOVEA.L        $4(A2),A6	; DosBase ptr
                    JSR            -$1EC(A6)	; DOSBase: Cli()
                    MOVE.L         D0,$24(SP)
                    JSR            -$1EC(A6)	; DOSBase: Cli()
                    MOVEA.L        $24(SP),A0
                    MOVE.L         $20(A0),D1
                    MOVEA.L        D0,A0
                    CMP.L          $1C(A0),D1
                    BNE.S          L242
                    JSR            -$36(A6)	; DOSBase: Input()
                    MOVE.L         D0,D1
                    MOVEQ          #-$1,D2
                    JSR            -$13E(A6)	; DOSBase: UnGetC(d1,d2)
                    JSR            -$1EC(A6)	; DOSBase: Cli()
                    MOVEA.L        D0,A0
                    TST.L          $28(A0)
                    BEQ.S          L232
                    MOVE.L         #$2000,D1
                    JSR            -$318(A6)	; DOSBase: CheckSignal(d1)
L232                JSR            -$1EC(A6)	; DOSBase: Cli()
                    MOVEA.L        D0,A0
                    MOVE.L         $10(A2),$20(A0)
                    BRA.L          L4E4
L242                MOVEQ          #-$1,D0
                    MOVEA.L        $34(SP),A0
                    MOVE.L         D0,$B8(A0)
                    LEA            L5EC(PC),A0
                    MOVE.L         A0,D1
                    MOVEQ          #-$2,D2
                    MOVEA.L        $4(A2),A6	; DosBase ptr
                    JSR            -$54(A6)	; DOSBase: Lock(d1,d2)
                    MOVE.L         D0,D4
                    MOVEA.L        $34(SP),A0
                    MOVE.L         $2C(SP),$B8(A0)
                    TST.L          D4
                    BNE.S          L272
                    LEA            L5F0(PC),A3
                    BRA.S          L280
L272                MOVE.L         D4,D1
                    MOVEA.L        $4(A2),A6	; DosBase ptr
                    JSR            -$5A(A6)	; DOSBase: UnLock(d1)
                    LEA            L602(PC),A3
L280                MOVEA.L        A3,A0
                    MOVEA.L        $28(SP),A1
L286                MOVE.B         (A0)+,(A1)+
                    BNE.S          L286
                    MOVE.L         D6,D0
                    MOVEQ          #$A,D1
                    JSR            L1068(PC)
                    MOVEQ          #$30,D1
                    ADD.L          D1,D0
                    MOVE.B         D0,$36(A2)
                    MOVE.L         D6,D0
                    MOVEQ          #$A,D1
                    JSR            L1068(PC)
                    MOVEQ          #$30,D0
                    ADD.L          D0,D1
                    MOVE.B         D1,$37(A2)
                    MOVEA.L        $4(A2),A6	; DosBase ptr
                    JSR            -$1EC(A6)	; DOSBase: Cli()
                    MOVEA.L        D0,A0
                    MOVE.L         $24(A0),D1
                    ASL.L          #$2,D1
                    MOVEA.L        D1,A3
                    JSR            -$1EC(A6)	; DOSBase: Cli()
                    MOVE.L         D0,$24(SP)
                    JSR            -$1EC(A6)	; DOSBase: Cli()
                    MOVEA.L        $24(SP),A0
                    MOVE.L         $20(A0),D1
                    MOVEA.L        D0,A0
                    CMP.L          $1C(A0),D1
                    BEQ.S          L2EA
                    CMPI.B         #$C,(A3)
                    BCS.S          L2EA
                    MOVE.B         $C(A3),D0
                    EORI.B         #$1,D0
                    MOVE.B         D0,$33(A2)
L2EA                MOVE.L         $28(SP),D1
                    MOVE.L         #$3EE,D2
                    MOVEA.L        $4(A2),A6	; DosBase ptr
                    JSR            -$1E(A6)	; DOSBase: Open(d1,d2)
                    MOVE.L         D0,$14(A2)
                    BNE.S          L376
                    MOVEA.L        $4(A2),A6	; DosBase ptr
                    JSR            -$84(A6)	; DOSBase: IoErr()
                    MOVEQ          #$32,D1
                    NOT.B          D1
                    CMP.L          D1,D0
                    BNE.S          L336
                    LEA            L614(PC),A0
                    MOVE.L         A0,D1
                    JSR            -$78(A6)	; DOSBase: CreateDir(d1)
                    MOVE.L         D0,D6
                    TST.L          D6
                    BEQ.S          L328
                    MOVE.L         D6,D1
                    JSR            -$5A(A6)	; DOSBase: UnLock(d1)
L328                MOVE.L         $28(SP),D1
                    JSR            -$1E(A6)	; DOSBase: Open(d1,d2)
                    MOVE.L         D0,$14(A2)
                    BRA.S          L35E
L336                JSR            -$84(A6)	; DOSBase: IoErr()
                    MOVEQ          #$6F,D1
                    ADD.L          D1,D1
                    CMP.L          D1,D0
                    BNE.S          L35E
                    MOVE.L         $28(SP),D1
                    MOVEQ          #$0,D2
                    JSR            -$BA(A6)	; DOSBase: SetProtection(d1,d2)
                    MOVE.L         $28(SP),D1
                    MOVE.L         #$3EE,D2
                    JSR            -$1E(A6)	; DOSBase: Open(d1,d2)
                    MOVE.L         D0,$14(A2)
L35E                TST.L          $14(A2)
                    BNE.S          L376
                    MOVE.L         $28(SP),-(SP)
                    PEA            L618(PC)
                    MOVE.L         A2,-(SP)
                    BSR.L          LF84
                    LEA            $C(SP),SP
L376                MOVE.L         $14(A2),D1
                    MOVEA.L        $4(A2),A6	; DosBase ptr
                    JSR            -$12C(A6)	; DOSBase: SelectOutput(d1)
                    JSR            -$1EC(A6)	; DOSBase: Cli()
                    MOVEA.L        D0,A0
                    TST.L          $28(A0)
                    BEQ.S          L3BC
                    MOVE.L         #$2000,D1
                    JSR            -$318(A6)	; DOSBase: CheckSignal(d1)
                    BRA.S          L3BC
L39A                MOVEQ          #$0,D0
                    MOVE.B         $F(A2),D0
                    CMP.L          D0,D7
                    BNE.S          L3B0
                    MOVE.L         A2,-(SP)
                    BSR.L          L730
                    ADDQ.W         #$4,SP
                    MOVE.L         D0,D7
                    BRA.S          L3BC
L3B0                MOVE.L         D7,-(SP)
                    MOVE.L         A2,-(SP)
                    BSR.L          L9E6
                    ADDQ.W         #$8,SP
                    MOVE.L         D0,D7
L3BC                MOVEQ          #-$1,D0
                    CMP.L          D0,D7
                    BNE.S          L39A
                    MOVEA.L        $4(A2),A6	; DosBase ptr
                    JSR            -$36(A6)	; DOSBase: Input()
                    MOVE.L         D0,D1
                    JSR            -$24(A6)	; DOSBase: Close(d1)
                    JSR            -$1EC(A6)	; DOSBase: Cli()
                    MOVEA.L        D0,A0
                    MOVE.L         $20(A0),D1
                    JSR            -$126(A6)	; DOSBase: SelectInput(d1)
                    JSR            -$1EC(A6)	; DOSBase: Cli()
                    MOVE.L         D0,$24(SP)
                    JSR            -$1EC(A6)	; DOSBase: Cli()
                    MOVEA.L        $24(SP),A0
                    MOVE.L         $20(A0),D1
                    MOVEA.L        D0,A0
                    CMP.L          $1C(A0),D1
                    BEQ.S          L41E
L3FA                MOVEA.L        $4(A2),A6	; DosBase ptr
                    JSR            -$36(A6)	; DOSBase: Input()
                    MOVE.L         D0,D1
                    JSR            -$132(A6)	; DOSBase: FGetC(d1)
                    MOVE.L         D0,D7
                    MOVEQ          #-$1,D0
                    CMP.L          D0,D7
                    BEQ.S          L41E
                    JSR            -$3C(A6)	; DOSBase: Output()
                                               
                    MOVE.L         D0,D1
                    MOVE.L         D7,D2
                    JSR            -$138(A6)	; DOSBase: FPutC(d1,d2)
                    BRA.S          L3FA
L41E                MOVEA.L        $4(A2),A6	; DosBase ptr
                    JSR            -$3C(A6)	; DOSBase: Output()
                    MOVE.L         D0,D1
                    JSR            -$24(A6)	; DOSBase: Close(d1)
                    MOVE.L         $28(SP),D1
                    MOVE.L         #$3ED,D2
                    JSR            -$1E(A6)	; DOSBase: Open(d1,d2)
                    MOVE.L         D0,D7
                    JSR            -$1EC(A6)	; DOSBase: Cli()
                    MOVE.L         D0,$24(SP)
                    JSR            -$1EC(A6)	; DOSBase: Cli()
                    MOVEA.L        $24(SP),A0
                    MOVE.L         $20(A0),D1
                    MOVEA.L        D0,A0
                    CMP.L          $1C(A0),D1
                    BEQ.S          L4A2
                    JSR            -$36(A6)	; DOSBase: Input()
                    MOVE.L         D0,D1
                    JSR            -$24(A6)	; DOSBase: Close(d1)
                    MOVEQ          #-$1,D0
                    MOVEA.L        $34(SP),A0
                    MOVE.L         D0,$B8(A0)
                    TST.B          (A3)
                    BEQ.S          L498
                    LEA            $1(A3),A0
                    MOVE.L         A0,$24(SP)
                    MOVE.L         A0,D1
                    MOVEA.L        $4(A2),A6	; DosBase ptr
                    JSR            -$48(A6)	; DOSBase: DeleteFile(d1)
                    TST.L          D0
                    BNE.S          L498
                    MOVE.L         $24(SP),D1
                    MOVEQ          #$0,D2
                    JSR            -$BA(A6)	; DOSBase: SetProtection(d1,d2)
                    MOVE.L         $24(SP),D1
                    JSR            -$48(A6)
                                               ; DOSBase: DeleteFile(d1)
                                               ; SysBase: InitCode(d0,d1)
L498                MOVEA.L        $34(SP),A0
                    MOVE.L         $2C(SP),$B8(A0)
L4A2                MOVEA.L        $4(A2),A6		; DosBase ptr
                    JSR            -$1EC(A6)
                                               ; DOSBase: Cli()
                                               ; SysBase: RemResource(a1)
                    MOVEA.L        D0,A0
                    MOVE.L         D7,$20(A0)
                    MOVEQ          #$1,D7
                    BRA.S          L4BC
L4B4                MOVE.B         $27(A2,D7.L),$0(A3,D7.L)
                    ADDQ.L         #$1,D7
L4BC                MOVEA.L        $28(SP),A0
L4C0                TST.B          (A0)+
                    BNE.S          L4C0
                    SUBQ.L         #$1,A0
                    SUBA.L         $28(SP),A0
                    MOVE.L         A0,D0
                    ADDQ.L         #$1,D0
                    CMP.L          D0,D7
                    BLE.S          L4B4
                    MOVEA.L        $28(SP),A0
L4D6                TST.B          (A0)+
                    BNE.S          L4D6
                    SUBQ.L         #$1,A0
                    SUBA.L         $28(SP),A0
                    MOVE.L         A0,D0
                    MOVE.B         D0,(A3)

L4E4                MOVE.L         A2,D0
                    BEQ.S          L546
                    TST.L          D5
                    BEQ.S          L4FE
                    TST.L          $18(A2)
                    BEQ.S          L4FE
                    MOVE.L         $18(A2),D1
                    MOVEA.L        $4(A2),A6	; DosBase ptr
                    JSR            -$12C(A6)   	; DOSBase: SelectOutput(d1)
L4FE                MOVEA.L        $4(A2),A6	; DosBase ptr
                    JSR            -$84(A6)	; DOSBase: IoErr()
                    MOVE.L         D0,D7
                    MOVE.L         $8(A2),D0
                    BEQ.S          L514
                    MOVE.L         D0,D1
                    JSR            -$35A(A6)	; DOSBase: FreeArgs(d1)
L514                TST.L          D5
                    BEQ.S          L526
                    MOVE.L         D7,D1
                    MOVEQ          #$0,D2
                    JSR            -$1DA(A6)	; DOSBase: PrintFault(d1,d2)
                    MOVE.L         D7,D1
                    JSR            -$1CE(A6)	; DOSBase: SetIoErr(d1)
L526                MOVE.L         (A2),D0
                    BEQ.S          L534
                    MOVEA.L        D0,A1
                    MOVEA.L        $38(SP),A6	; SysBase ptr
                    JSR            -$19E(A6)	; SysBase: CloseLibrary(a1)

		    ; Free allocated memory
L534                MOVEA.L        A2,A1
                    MOVE.L         #$550,D0
                    MOVEA.L        $38(SP),A6	; SysBase ptr
                    JSR            -$D2(A6)	; SysBase: FreeMem(a1,d0)
                    BRA.S          L550

L546                MOVE.L         $30(SP),-(SP)
                    BSR.L          L101A
                    ADDQ.W         #$4,SP

		    ; Close dos.library
L550                MOVEA.L        $30(SP),A1	; DosBase ptr
                    MOVEA.L        $38(SP),A6	; SysBase ptr
                    JSR            -$19E(A6)	; SysBase: CloseLibrary(a1)
                    BRA.S          L56E
L55E                MOVEA.W        #$4,A0
                    MOVEA.L        (A0),A1
                    MOVEA.L        $114(A1),A0
                    MOVEQ          #$7A,D0
                    MOVE.L         D0,$94(A0)
L56E                MOVE.L         D5,D0
                    MOVEM.L        (SP)+,D2-D7/A2-A3/A6
                    UNLK           A5
                    RTS

L578                DC.B           "dos.library",0
L584                DC.B           "utility.library",0
L594                DC.B           "?",0
L596                DC.B           "%S: %C",0
                    DC.B           $0
L59E                DC.B           "FILE/A",0
                    DC.B           "$VER: execute 37.11 (14.5.91)",$A,$D,0
                    DC.B           $0
L5C6                DC.B           "Incorrect file name",0
L5DA                DC.B           "S:",0
                    DC.B           $0
L5DE                DC.B           "Can't open %S",0
L5EC                DC.B           "T:",0
                    DC.B           $0
L5F0                DC.B           ":T/Command-0-Tnn",0
                    DC.B           $0
L602                DC.B           "T:Command-00-Tnn",0
                    DC.B           $0
L614                DC.B           ":T",0
                    DC.B           $0
L618                DC.B           "Can't open work file "%S"",0
L632                DC.B           "KEY,K,DEFAULT,DEF,BRA,KET,DOLLAR,DOT",0
                    DC.B           $0
L658                DC.B           "Invalid directive",0
L66A                DC.B           "More than one .KEY directive",0
                    DC.B           $0
L688                DC.B           "Illegal KEY directive",0
L69E                DC.B           "Parameters unsuitable for key "%S"",0
                    DC.B           $0
L6C2                DC.B           "Illegal key",0
L6CE                DC.B           "Missing .KEY directive",0
                    DC.B           $0
L6E6                DC.B           "Illegal data item",0
L6F8                DC.B           "%N",0
                    DC.B           $0
L6FC                DC.B           "Key too long",$A,0
L70A                DC.B           "Invalid directive argument",0
                    DC.B           $0
L726                DC.B           "EXECUTE: ",0

L730                MOVEM.L        D2-D3/D6-D7/A2-A3/A6,-(SP)
                    MOVEA.L        $20(SP),A3
                    MOVEA.L        $4(A3),A6		; DosBase ptr
                    JSR            -$36(A6)
                                               ; DOSBase: Input()
                    MOVE.L         D0,D1
                    JSR            -$132(A6)
                                               ; DOSBase: FGetC(d1)
                                               ; SysBase: SetSignal(d0,d1)
                    MOVE.L         D0,D7
                    MOVEQ          #$A,D0
                    CMP.L          D0,D7
                    BEQ.L          L9C6
                    MOVEQ          #$9,D0
                    CMP.L          D0,D7
                    BEQ.L          L9C6
                    MOVEQ          #$20,D0
                    CMP.L          D0,D7
                    BEQ.L          L9C6
                    MOVEQ          #-$1,D0
                    CMP.L          D0,D7
                    BEQ.L          L9C6
                    JSR            -$36(A6)
                                               ; DOSBase: Input()
                    MOVE.L         D0,D1
                    MOVEQ          #-$1,D2
                    JSR            -$13E(A6)
                                               ; DOSBase: UnGetC(d1,d2)
                                               ; SysBase: Wait(d0)
                    LEA            $78(A3),A2
                    MOVE.L         A2,D1
                    MOVEQ          #$50,D2
                    MOVEQ          #$0,D3
                    JSR            -$32A(A6)	; DOSBase: ReadItem(d1,d2,d3)
                                               
                    SUBQ.L         #$1,D0
                    BNE.S          L796
                    LEA            L632(PC),A0
                    MOVE.L         A0,D1
                    MOVE.L         A2,D2
                    JSR            -$324(A6)	; DOSBase: FindArg(d1,d2)
                                               
                    MOVE.L         D0,D7
                    BRA.S          L798
L796                MOVEQ          #-$1,D7
L798                TST.L          D7
                    BPL.S          L7A8
                    PEA            L658(PC)
                    MOVE.L         A3,-(SP)
                    BSR.L          LF84
                    ADDQ.W         #$8,SP
L7A8                MOVE.L         D7,D0
                    CMPI.L         #$8,D0
                    BCC.L          L9A4
                    ADD.W          D0,D0
                    MOVE.W         L7BE(PC,D0.W),D0
L7BA                JMP            $4(PC,D0.W)

L7BE                DC.W           L7CE-L7BA-$6
                    DC.W           L7CE-L7BA-$6
                    DC.W           L87E-L7BA-$6
                    DC.W           L87E-L7BA-$6
                    DC.W           L96E-L7BA-$6
                    DC.W           L97C-L7BA-$6
                    DC.W           L98A-L7BA-$6
                    DC.W           L998-L7BA-$6
L7CE                TST.L          $20(A3)
                    BEQ.S          L7E0
                    PEA            L66A(PC)
                    MOVE.L         A3,-(SP)
                    BSR.L          LF84
                    ADDQ.W         #$8,SP
L7E0                LEA            $C8(A3),A2
                    MOVE.L         A2,D1
                    MOVEQ          #$64,D2
                    ADD.L          D2,D2
                    MOVEQ          #$0,D3
                    MOVEA.L        $4(A3),A6	; DosBase ptr
                    JSR            -$32A(A6)	; DOSBase: ReadItem(d1,d2,d3)
                                               
                    TST.L          D0
                    BGT.S          L804
                    PEA            L688(PC)
                    MOVE.L         A3,-(SP)
                    BSR.L          LF84
                    ADDQ.W         #$8,SP
L804                MOVE.L         $1C(A3),D1
                    MOVEA.L        $4(A3),A6	; DosBase ptr
                    JSR            -$126(A6)	; DOSBase: SelectInput(d1)
                    MOVE.L         $18(A3),D1
                    JSR            -$12C(A6)	; DOSBase: SelectOutput(d1)
                    LEA            $190(A3),A0
                    MOVE.W         #$18F,D0
                    MOVEQ          #$0,D1
                    MOVEA.L        A0,A1
L824                MOVE.B         D1,(A1)+
                    DBRA           D0,L824
                    MOVE.L         A0,D2
                    MOVE.L         A2,D1
                    MOVE.L         $8(A3),D3
                    MOVEA.L        $4(A3),A6	; DosBase ptr
                    JSR            -$31E(A6)	; DOSBase: ReadArgs(d1,d2,d3)
                                               
                    MOVE.L         D0,$8(A3)
                    MOVEA.L        $4(A3),A6	; DosBase ptr
                    JSR            -$36(A6)	; DOSBase: Input()
                                               
                    MOVE.L         D0,D1
                    MOVEQ          #-$1,D2
                    JSR            -$13E(A6)	; DOSBase: UnGetC(d1,d2)
                    MOVE.L         $14(A3),D1
                    JSR            -$12C(A6)	; DOSBase: SelectOutput(d1)
                    MOVE.L         $10(A3),D1
                    JSR            -$126(A6)	; DOSBase: SelectInput(d1)
                    TST.L          $8(A3)
                    BNE.S          L874
                    MOVE.L         A2,-(SP)
                    PEA            L69E(PC)
                    MOVE.L         A3,-(SP)
                    BSR.L          LF84
                    LEA            $C(SP),SP
L874                MOVEQ          #$1,D0
                    MOVE.L         D0,$20(A3)
                    BRA.L          L9A4
L87E                MOVE.L         A2,D1
                    MOVEQ          #$50,D2
                    MOVEQ          #$0,D3
                    MOVEA.L        $4(A3),A6	; DosBase ptr
                    JSR            -$32A(A6)	; DOSBase: ReadItem(d1,d2,d3)
                    MOVE.L         D0,D7
                    TST.L          D7
                    BPL.S          L89E
                    PEA            L6C2(PC)
                    MOVE.L         A3,-(SP)
                    BSR.L          LF84
                    ADDQ.W         #$8,SP
L89E                TST.L          D7
                    BEQ.L          L9A4
                    TST.L          $20(A3)
                    BNE.S          L8B6
                    PEA            L6CE(PC)
                    MOVE.L         A3,-(SP)
                    BSR.L          LF84
                    ADDQ.W         #$8,SP
L8B6                LEA            $C8(A3),A0
                    MOVE.L         A0,D1
                    MOVE.L         A2,D2
                    MOVEA.L        $4(A3),A6	; DosBase ptr
                    JSR            -$324(A6)	; DOSBase: FindArg(d1,d2)
                    MOVE.L         D0,D7
                    TST.L          D7
                    BMI.L          L9A4
                    MOVE.L         D7,D0
                    ASL.L          #$2,D0
                    MOVEA.L        A3,A2
                    ADDA.L         D0,A2
                    TST.L          $190(A2)
                    BNE.L          L9A4
                    MOVE.L         #$1F4,D0
                    MOVE.L         $24(A3),D1
                    SUB.L          D1,D0
                    MOVE.L         D0,D7
                    MOVEA.L        A3,A1
                    ADDA.L         D1,A1
                    LEA            $320(A1),A6
                    MOVE.L         D7,-(SP)
                    MOVE.L         A6,-(SP)
                    MOVE.L         A3,-(SP)
                    BSR.L          LC36
                    LEA            $C(SP),SP
                    MOVE.L         D0,D6
                    MOVEQ          #-$2,D0
                    CMP.L          D0,D6
                    BNE.S          L924
                    MOVEA.L        A3,A0
                    ADDA.L         $24(A3),A0
                    LEA            $320(A0),A1
                    MOVE.L         D7,-(SP)
                    MOVE.L         A1,-(SP)
                    MOVE.L         A3,-(SP)
                    BSR.L          LC36
                    LEA            $C(SP),SP
                    MOVE.L         D0,D6
L924                TST.L          D6
                    BGT.S          L93A
                    TST.L          D6
                    BEQ.S          L9A4
                    PEA            L6E6(PC)
                    MOVE.L         A3,-(SP)
                    BSR.L          LF84
                    ADDQ.W         #$8,SP
                    BRA.S          L9A4
L93A                MOVEA.L        A3,A0
                    MOVE.L         $24(A3),D0
                    ADDA.L         D0,A0
                    LEA            $320(A0),A1
                    MOVE.L         A1,$190(A2)
                    MOVEA.L        A3,A0
                    ADDA.L         $24(A3),A0
                    LEA            $320(A0),A1
                    MOVEA.L        A1,A0
L956                TST.B          (A0)+
                    BNE.S          L956
                    SUBQ.L         #$1,A0
                    SUBA.L         A1,A0
                    MOVE.L         A0,D0
                    MOVE.L         $24(A3),D1
                    ADD.L          D0,D1
                    ADDQ.L         #$1,D1
                    MOVE.L         D1,$24(A3)
                    BRA.S          L9A4
L96E                MOVE.L         A3,-(SP)
                    BSR.L          LBB8
                    ADDQ.W         #$4,SP
                    MOVE.B         D0,$C(A3)
                    BRA.S          L9A4
L97C                MOVE.L         A3,-(SP)
                    BSR.L          LBB8
                    ADDQ.W         #$4,SP
                    MOVE.B         D0,$D(A3)
                    BRA.S          L9A4
L98A                MOVE.L         A3,-(SP)
                    BSR.L          LBB8
                    ADDQ.W         #$4,SP
                    MOVE.B         D0,$E(A3)
                    BRA.S          L9A4
L998                MOVE.L         A3,-(SP)
                    BSR.L          LBB8
                    ADDQ.W         #$4,SP
                    MOVE.B         D0,$F(A3)
L9A4                MOVEA.L        $4(A3),A6	; DosBase ptr
                    JSR            -$36(A6)	; DOSBase: Input()
                    MOVE.L         D0,D1
                    JSR            -$132(A6)	; DOSBase: FGetC(d1)
                    MOVE.L         D0,D7
                    BRA.S          L9C6
L9B6                MOVEA.L        $4(A3),A6	; DosBase ptr
                    JSR            -$36(A6)	; DOSBase: Input()
                    MOVE.L         D0,D1
                    JSR            -$132(A6)	; DOSBase: FGetC(d1)
                    MOVE.L         D0,D7
L9C6                MOVEQ          #$A,D0
                    CMP.L          D0,D7
                    BEQ.S          L9D2
                    MOVEQ          #-$1,D0
                    CMP.L          D0,D7
                    BNE.S          L9B6
L9D2                MOVEA.L        $4(A3),A6	; DosBase ptr
                    JSR            -$36(A6)	; DOSBase: Input()
                    MOVE.L         D0,D1
                    JSR            -$132(A6)	; DOSBase: FGetC(d1)
                    MOVEM.L        (SP)+,D2-D3/D6-D7/A2-A3/A6
                    RTS

L9E6                LINK           A5,#-$1C
                    MOVEM.L        D2/D4-D7/A2-A3/A6,-(SP)
                    MOVEA.L        $8(A5),A3
                    MOVE.L         $C(A5),D7
                    MOVEQ          #$1,D4
                    MOVEQ          #$0,D6
                    MOVEQ          #$3B,D1
                    CMP.L          D1,D7
                    SNE            D0
                    NEG.B          D0
                    EXT.W          D0
                    EXT.L          D0
                    MOVE.W         D0,$24(SP)
                    BRA.L          LB88
LA0E                MOVEQ          #$0,D0
                    MOVE.B         $C(A3),D0
                    CMP.L          D0,D7
                    BNE.L          LB50
                    TST.L          D4
                    BEQ.L          LB50
                    TST.L          $20(A3)
                    BEQ.L          LB50
                    TST.W          $24(SP)
                    BEQ.L          LB50
                    MOVEA.L        $4(A3),A6		; DosBase ptr
                    JSR            -$36(A6)
                                               ; DOSBase: Input()
                    MOVE.L         D0,D1
                    JSR            -$132(A6)
                                               ; DOSBase: FGetC(d1)
                                               ; SysBase: SetSignal(d0,d1)
                    MOVE.L         D0,D7
                    MOVEQ          #$0,D5
                    MOVEQ          #$0,D6
                    MOVEQ          #$0,D4
                    MOVEQ          #$1,D0
                    MOVE.L         D0,-$14(A5)
                    MOVEQ          #$0,D0
                    MOVE.B         $E(A3),D0
                    CMP.L          D0,D7
                    BNE.S          LA96
                    JSR            -$36(A6)
                                               ; DOSBase: Input()
                    MOVE.L         D0,D1
                    JSR            -$132(A6)
                                               ; DOSBase: FGetC(d1)
                                               ; SysBase: SetSignal(d0,d1)
                    MOVEQ          #$0,D1
                    MOVE.B         $E(A3),D1
                    CMP.L          D1,D0
                    BNE.S          LA8A
                    MOVEQ          #$1,D6
                    MOVEA.W        #$4,A0
                    MOVEA.L        (A0),A1
                    MOVEA.L        $114(A1),A0
                    MOVE.L         $8C(A0),-(SP)
                    PEA            L6F8(PC)
                    MOVE.L         A3,-(SP)
                    BSR.L          LF56
                    LEA            $C(SP),SP
                    BRA.S          LA96
LA8A                JSR            -$36(A6)
                                               ; DOSBase: Input()
                    MOVE.L         D0,D1
                    MOVEQ          #-$1,D2
                    JSR            -$13E(A6)
                                               ; DOSBase: UnGetC(d1,d2)
                                               ; SysBase: Wait(d0)
LA96                MOVE.L         D6,D0
                    MOVE.L         -$14(A5),D6
                    TST.L          D0
                    BNE.L          LB88
                    BRA.S          LACE
LAA4                MOVEQ          #$15,D0
                    CMP.L          D0,D5
                    BLT.S          LAB6
                    PEA            L6FC(PC)
                    MOVE.L         A3,-(SP)
                    BSR.L          LF84
                    ADDQ.W         #$8,SP
LAB6                ADDQ.L         #$1,D5
                    MOVE.L         D7,D0
                    MOVE.B         D0,$78(A2)
                    MOVEA.L        $4(A3),A6		; DosBase ptr
                    JSR            -$36(A6)
                                               ; DOSBase: Input()
                    MOVE.L         D0,D1
                    JSR            -$132(A6)
                                               ; DOSBase: FGetC(d1)
                                               ; SysBase: SetSignal(d0,d1)
                    MOVE.L         D0,D7
LACE                MOVEA.L        A3,A2
                    ADDA.L         D5,A2
                    MOVEQ          #$0,D0
                    MOVE.B         $D(A3),D0
                    CMP.L          D7,D0
                    BEQ.S          LAF2
                    MOVEQ          #$0,D0
                    MOVE.B         $E(A3),D0
                    CMP.L          D7,D0
                    BEQ.S          LAF2
                    MOVEQ          #$A,D0
                    CMP.L          D0,D7
                    BEQ.S          LAF2
                    MOVEQ          #-$1,D0
                    CMP.L          D0,D7
                    BNE.S          LAA4
LAF2                CLR.B          $78(A2)
                    LEA            $C8(A3),A0
                    LEA            $78(A3),A1
                    MOVE.L         A0,D1
                    MOVE.L         A1,D2
                    MOVEA.L        $4(A3),A6		; DosBase ptr
                    JSR            -$324(A6)
                                               ; DOSBase: FindArg(d1,d2)
                    MOVE.L         D0,D5
                    TST.L          D5
                    BMI.S          LB1E
                    MOVE.L         D5,D0
                    ASL.L          #$2,D0
                    MOVEA.L        A3,A2
                    ADDA.L         D0,A2
                    MOVE.L         $190(A2),D0
                    BNE.S          LB22
LB1E                MOVEQ          #$1,D4
                    BRA.S          LB38
LB22                ADDQ.L         #$1,D0
                    BNE.S          LB2E
                    MOVE.L         D2,D1
                    JSR            -$3B4(A6)
                                               ; DOSBase: PutStr(d1)
                    BRA.S          LB38
LB2E                MOVEA.L        $190(A2),A0
                    MOVE.L         A0,D1
                    JSR            -$3B4(A6)
                                               ; DOSBase: PutStr(d1)
LB38                MOVEQ          #$0,D0
                    MOVE.B         $E(A3),D0
                    CMP.L          D0,D7
                    BNE.S          LB88
                    JSR            -$36(A6)
                                               ; DOSBase: Input()
                    MOVE.L         D0,D1
                    JSR            -$132(A6)
                                               ; DOSBase: FGetC(d1)
                                               ; SysBase: SetSignal(d0,d1)
                    MOVE.L         D0,D7
                    BRA.S          LB88
LB50                MOVEQ          #$0,D0
                    MOVE.B         $D(A3),D0
                    CMP.L          D0,D7
                    BNE.S          LB64
                    TST.L          D6
                    BEQ.S          LB64
                    MOVEQ          #$1,D4
                    MOVEQ          #$0,D6
                    BRA.S          LB78
LB64                TST.L          D4
                    BEQ.S          LB78
                    MOVEA.L        $4(A3),A6		; DosBase ptr
                    JSR            -$3C(A6)
                                               ; DOSBase: Output()
                    MOVE.L         D0,D1
                    MOVE.L         D7,D2
                    JSR            -$138(A6)
                                               ; DOSBase: FPutC(d1,d2)
                                               ; SysBase: SetExcept(d0,d1)
LB78                MOVEA.L        $4(A3),A6		; DosBase ptr
                    JSR            -$36(A6)
                                               ; DOSBase: Input()
                    MOVE.L         D0,D1
                    JSR            -$132(A6)
                                               ; DOSBase: FGetC(d1)
                                               ; SysBase: SetSignal(d0,d1)
                    MOVE.L         D0,D7
LB88                MOVEQ          #$A,D0
                    CMP.L          D0,D7
                    BEQ.S          LB96
                    MOVEQ          #-$1,D0
                    CMP.L          D0,D7
                    BNE.L          LA0E
LB96                MOVEA.L        $4(A3),A6		; DosBase ptr
                    JSR            -$3C(A6)
                                               ; DOSBase: Output()
                    MOVE.L         D0,D1
                    MOVEQ          #$A,D2
                    JSR            -$138(A6)
                                               ; DOSBase: FPutC(d1,d2)
                                               ; SysBase: SetExcept(d0,d1)
                    JSR            -$36(A6)
                                               ; DOSBase: Input()
                    MOVE.L         D0,D1
                    JSR            -$132(A6)
                                               ; DOSBase: FGetC(d1)
                                               ; SysBase: SetSignal(d0,d1)
                    MOVEM.L        (SP)+,D2/D4-D7/A2-A3/A6
                    UNLK           A5
                    RTS

LBB8                LINK           A5,#-$4
                    MOVEM.L        D2-D3/D7/A2-A3/A6,-(SP)
                    MOVEA.L        $24(SP),A3
                    LEA            $78(A3),A2
                    MOVE.L         A2,D1
                    MOVEQ          #$50,D2
                    MOVEQ          #$0,D3
                    MOVEA.L        $4(A3),A6		; DosBase ptr
                    JSR            -$32A(A6)
                                               ; DOSBase: ReadItem(d1,d2,d3)
                    MOVE.L         D0,D7
                    TST.L          D7
                    BNE.S          LC08
                    JSR            -$36(A6)
                                               ; DOSBase: Input()
                    MOVE.L         D0,D1
                    JSR            -$132(A6)
                                               ; DOSBase: FGetC(d1)
                                               ; SysBase: SetSignal(d0,d1)
                    MOVE.L         D0,$18(SP)
                    JSR            -$36(A6)
                                               ; DOSBase: Input()
                    MOVE.L         D0,D1
                    MOVEQ          #-$1,D2
                    JSR            -$13E(A6)
                                               ; DOSBase: UnGetC(d1,d2)
                                               ; SysBase: Wait(d0)
                    MOVE.L         $18(SP),D0
                    MOVEQ          #$A,D1
                    CMP.L          D1,D0
                    BEQ.S          LC04
                    ADDQ.L         #$1,D0
                    BNE.S          LC08
LC04                MOVEQ          #-$2,D0
                    BRA.S          LC2E
LC08                TST.L          D7
                    BLE.S          LC1C
                    MOVEA.L        A2,A0
LC0E                TST.B          (A0)+
                    BNE.S          LC0E
                    SUBQ.L         #$1,A0
                    SUBA.L         A2,A0
                    CMPA.W         #$1,A0
                    BEQ.S          LC28
LC1C                PEA            L70A(PC)
                    MOVE.L         A3,-(SP)
                    BSR.L          LF84
                    ADDQ.W         #$8,SP
LC28                MOVEQ          #$0,D0
                    MOVE.B         $78(A3),D0
LC2E                MOVEM.L        (SP)+,D2-D3/D7/A2-A3/A6
                    UNLK           A5
                    RTS

LC36                LINK           A5,#-$24
                    MOVEM.L        D2/D4-D7/A2-A3/A6,-(SP)
                    MOVEA.L        $8(A5),A3
                    MOVEQ          #$0,D0
                    MOVE.L         D0,-$18(A5)
                    MOVE.L         D0,D4
                    MOVE.L         D0,-$1C(A5)
                    MOVE.L         $10(A5),D0
                    MOVEQ          #$0,D1
                    MOVEA.L        $C(A5),A0
                    BRA.S          LC5C
LC5A                MOVE.B         D1,(A0)+
LC5C                SUBQ.L         #$1,D0
                    BCC.S          LC5A
LC60                MOVEA.L        $4(A3),A6		; DosBase ptr
                    JSR            -$36(A6)
                                               ; DOSBase: Input()
                    MOVE.L         D0,D1
                    JSR            -$132(A6)
                                               ; DOSBase: FGetC(d1)
                                               ; SysBase: SetSignal(d0,d1)
                    MOVE.L         D0,D7
                    MOVEQ          #$20,D0
                    CMP.L          D0,D7
                    BEQ.S          LC60
                    MOVEQ          #$22,D0
                    CMP.L          D0,D7
                    BNE.L          LE84
                    MOVEQ          #$1,D0
                    MOVE.L         D0,-$1C(A5)
                    MOVEA.L        $4(A3),A6		; DosBase ptr
                    JSR            -$36(A6)
                                               ; DOSBase: Input()
                    MOVE.L         D0,D1
                    JSR            -$132(A6)
                                               ; DOSBase: FGetC(d1)
                                               ; SysBase: SetSignal(d0,d1)
                    MOVE.L         D0,D7
                    BRA.L          LE84
LC98                MOVEQ          #$0,D0
                    MOVE.B         $C(A3),D0
                    CMP.L          D0,D7
                    BNE.L          LDE8
                    MOVEQ          #$1,D0
                    TST.L          D0
                    BEQ.L          LDE8
                    TST.L          $20(A3)
                    BEQ.L          LDE8
                    MOVEA.L        $4(A3),A6		; DosBase ptr
                    JSR            -$36(A6)
                                               ; DOSBase: Input()
                    MOVE.L         D0,D1
                    JSR            -$132(A6)
                                               ; DOSBase: FGetC(d1)
                                               ; SysBase: SetSignal(d0,d1)
                    MOVE.L         D0,D7
                    MOVEQ          #$0,D5
                    MOVEQ          #$0,D6
                    MOVEQ          #$1,D4
                    MOVEQ          #$0,D0
                    MOVE.B         $E(A3),D0
                    CMP.L          D0,D7
                    BNE.S          LD14
                    JSR            -$36(A6)
                                               ; DOSBase: Input()
                    MOVE.L         D0,D1
                    JSR            -$132(A6)
                                               ; DOSBase: FGetC(d1)
                                               ; SysBase: SetSignal(d0,d1)
                    MOVEQ          #$0,D1
                    MOVE.B         $E(A3),D1
                    CMP.L          D1,D0
                    BNE.S          LD08
                    MOVEQ          #$1,D6
                    MOVEA.W        #$4,A0
                    MOVEA.L        (A0),A1
                    MOVEA.L        $114(A1),A0
                    MOVE.L         $8C(A0),-(SP)
                    PEA            L6F8(PC)
                    MOVE.L         A3,-(SP)
                    BSR.L          LF56
                    LEA            $C(SP),SP
                    BRA.S          LD14
LD08                JSR            -$36(A6)
                                               ; DOSBase: Input()
                    MOVE.L         D0,D1
                    MOVEQ          #-$1,D2
                    JSR            -$13E(A6)
                                               ; DOSBase: UnGetC(d1,d2)
                                               ; SysBase: Wait(d0)
LD14                TST.L          D6
                    BNE.L          LE84
                    BRA.S          LD46
LD1C                MOVEQ          #$15,D0
                    CMP.L          D0,D5
                    BLT.S          LD2E
                    PEA            L6FC(PC)
                    MOVE.L         A3,-(SP)
                    BSR.L          LF84
                    ADDQ.W         #$8,SP
LD2E                ADDQ.L         #$1,D5
                    MOVE.L         D7,D0
                    MOVE.B         D0,$78(A2)
                    MOVEA.L        $4(A3),A6		; DosBase ptr
                    JSR            -$36(A6)
                                               ; DOSBase: Input()
                    MOVE.L         D0,D1
                    JSR            -$132(A6)
                                               ; DOSBase: FGetC(d1)
                                               ; SysBase: SetSignal(d0,d1)
                    MOVE.L         D0,D7
LD46                MOVEA.L        A3,A2
                    ADDA.L         D5,A2
                    MOVEQ          #$0,D0
                    MOVE.B         $D(A3),D0
                    CMP.L          D7,D0
                    BEQ.S          LD6A
                    MOVEQ          #$0,D0
                    MOVE.B         $E(A3),D0
                    CMP.L          D7,D0
                    BEQ.S          LD6A
                    MOVEQ          #$A,D0
                    CMP.L          D0,D7
                    BEQ.S          LD6A
                    MOVEQ          #-$1,D0
                    CMP.L          D0,D7
                    BNE.S          LD1C
LD6A                CLR.B          $78(A2)
                    LEA            $C8(A3),A0
                    LEA            $78(A3),A1
                    MOVE.L         A0,D1
                    MOVE.L         A1,D2
                    MOVEA.L        $4(A3),A6		; DosBase ptr
                    JSR            -$324(A6)
                                               ; DOSBase: FindArg(d1,d2)
                    MOVE.L         D0,$24(SP)
                    ASL.L          #$2,D0
                    MOVEA.L        A3,A2
                    ADDA.L         D0,A2
                    MOVE.L         $24(SP),D0
                    TST.L          D0
                    BMI.S          LDC8
                    MOVE.L         $190(A2),D0
                    BEQ.S          LDC8
                    MOVEQ          #-$1,D1
                    CMP.L          D1,D0
                    BNE.S          LDA4
                    MOVEA.L        D2,A0
                    BRA.S          LDA6
LDA4                MOVEA.L        D0,A0
LDA6                PEA            -$18(A5)
                    MOVE.L         $C(A5),-(SP)
                    MOVE.L         $10(A5),-(SP)
                    MOVE.L         A0,-(SP)
                    MOVE.L         A3,-(SP)
                    BSR.L          LF06
                    LEA            $14(SP),SP
                    TST.W          D0
                    BNE.S          LDC8
                    MOVEQ          #-$1,D0
                    BRA.L          LECC
LDC8                MOVEQ          #$0,D0
                    MOVE.B         $E(A3),D0
                    CMP.L          D0,D7
                    BNE.L          LE84
                    MOVEA.L        $4(A3),A6		; DosBase ptr
                    JSR            -$36(A6)
                                               ; DOSBase: Input()
                    MOVE.L         D0,D1
                    JSR            -$132(A6)
                                               ; DOSBase: FGetC(d1)
                                               ; SysBase: SetSignal(d0,d1)
                    MOVE.L         D0,D7
                    BRA.L          LE84
LDE8                MOVEQ          #$0,D0
                    MOVE.B         $D(A3),D0
                    CMP.L          D7,D0
                    BNE.S          LDFA
                    TST.L          D4
                    BEQ.S          LDFA
                    MOVEQ          #$0,D4
                    BRA.S          LE74
LDFA                TST.L          -$1C(A5)
                    BEQ.S          LE44
                    MOVEQ          #$22,D0
                    CMP.L          D0,D7
                    BNE.S          LE0C
                    MOVEQ          #$2,D0
                    BRA.L          LECC
LE0C                MOVEQ          #$2A,D0
                    CMP.L          D0,D7
                    BNE.S          LE56
                    MOVEA.L        $4(A3),A6		; DosBase ptr
                    JSR            -$36(A6)
                                               ; DOSBase: Input()
                    MOVE.L         D0,D1
                    JSR            -$132(A6)
                                               ; DOSBase: FGetC(d1)
                                               ; SysBase: SetSignal(d0,d1)
                    MOVE.L         D0,D7
                    MOVE.L         D7,D0
                    MOVEA.L        (A3),A6
                    JSR            -$AE(A6)
                                               ; DOSBase: DeviceProc(d1)
                                               ; SysBase: RemIntServer(d0,a1)
                    MOVEQ          #$45,D1
                    CMP.B          D1,D0
                    BNE.S          LE34
                    MOVEQ          #$1B,D7
                    BRA.S          LE56
LE34                MOVE.L         D7,D0
                    JSR            -$AE(A6)
                                               ; DOSBase: DeviceProc(d1)
                                               ; SysBase: RemIntServer(d0,a1)
                    MOVEQ          #$4E,D1
                    CMP.B          D1,D0
                    BNE.S          LE56
                    MOVEQ          #$A,D7
                    BRA.S          LE56
LE44                MOVEQ          #$3B,D0
                    CMP.L          D0,D7
                    BEQ.S          LE92
                    MOVEQ          #$20,D0
                    CMP.L          D0,D7
                    BEQ.S          LE92
                    MOVEQ          #$3D,D0
                    CMP.L          D0,D7
                    BEQ.S          LE92
LE56                PEA            -$18(A5)
                    MOVE.L         $C(A5),-(SP)
                    MOVE.L         $10(A5),-(SP)
                    MOVE.L         D7,-(SP)
                    BSR.L          LED4
                    LEA            $10(SP),SP
                    TST.L          D0
                    BNE.S          LE74
                    MOVEQ          #-$1,D0
                    BRA.S          LECC
LE74                MOVEA.L        $4(A3),A6		; DosBase ptr
                    JSR            -$36(A6)
                                               ; DOSBase: Input()
                    MOVE.L         D0,D1
                    JSR            -$132(A6)
                                               ; DOSBase: FGetC(d1)
                                               ; SysBase: SetSignal(d0,d1)
                    MOVE.L         D0,D7
LE84                MOVEQ          #$A,D0
                    CMP.L          D0,D7
                    BEQ.S          LE92
                    MOVEQ          #-$1,D0
                    CMP.L          D0,D7
                    BNE.L          LC98
LE92                MOVEA.L        $4(A3),A6	; DosBase ptr
                    JSR            -$36(A6)	; DOSBase: Input()
                    MOVE.L         D0,D1
                    MOVEQ          #-$1,D2
                    JSR            -$13E(A6)	; DOSBase: UnGetC(d1,d2)
                    TST.L          -$1C(A5)
                    BEQ.S          LEAC
                    MOVE.L         D2,D0
                    BRA.S          LECC
LEAC                TST.L          -$18(A5)
                    BNE.S          LECA
                    MOVEQ          #$3D,D0
                    CMP.L          D0,D7
                    BNE.S          LEC6
                    JSR            -$36(A6)	; DOSBase: Input()
                    MOVE.L         D0,D1
                    JSR            -$132(A6)	; DOSBase: FGetC(d1)
                    MOVEQ          #-$2,D0
                    BRA.S          LECC
LEC6                MOVEQ          #$0,D0
                    BRA.S          LECC
LECA                MOVEQ          #$1,D0
LECC                MOVEM.L        (SP)+,D2/D4-D7/A2-A3/A6
                    UNLK           A5
                    RTS

LED4                MOVEM.L        D5-D7/A2-A3,-(SP)
                    MOVE.L         $18(SP),D7
                    MOVE.L         $1C(SP),D6
                    MOVEA.L        $20(SP),A3
                    MOVEA.L        $24(SP),A2
                    MOVE.L         (A2),D5
                    CMP.L          D6,D5
                    BLE.S          LEF2
                    MOVEQ          #$0,D0
                    BRA.S          LF00
LEF2                MOVE.L         D7,D0
                    MOVE.B         D0,$0(A3,D5.L)
                    MOVE.L         D5,D0
                    ADDQ.L         #$1,D0
                    MOVE.L         D0,(A2)
                    MOVEQ          #$1,D0
LF00                MOVEM.L        (SP)+,D5-D7/A2-A3
                    RTS

LF06                LINK           A5,#-$4
                    MOVEM.L        D6-D7/A2-A3,-(SP)
                    MOVEA.L        $C(A5),A3
                    MOVE.L         $10(A5),D7
                    MOVEA.L        $14(A5),A2
                    MOVEQ          #$0,D6
                    BRA.S          LF3E
LF1E                MOVEQ          #$0,D0
                    MOVE.B         $0(A3,D6.L),D0
                    MOVE.L         $18(A5),-(SP)
                    MOVE.L         A2,-(SP)
                    MOVE.L         D7,-(SP)
                    MOVE.L         D0,-(SP)
                    BSR.S          LED4
                    LEA            $10(SP),SP
                    TST.L          D0
                    BNE.S          LF3C
                    MOVEQ          #$0,D0
                    BRA.S          LF4E
LF3C                ADDQ.L         #$1,D6
LF3E                MOVEA.L        A3,A0
LF40                TST.B          (A0)+
                    BNE.S          LF40
                    SUBQ.L         #$1,A0
                    SUBA.L         A3,A0
                    CMP.L          A0,D6
                    BLT.S          LF1E
                    MOVEQ          #$1,D0
LF4E                MOVEM.L        (SP)+,D6-D7/A2-A3
                    UNLK           A5
                    RTS

LF56                LINK           A5,#$0
                    MOVEM.L        D2-D3/A2-A3/A6,-(SP)
                    MOVEA.L        $8(A5),A3
                    MOVEA.L        $C(A5),A2
                    MOVEA.L        $4(A3),A6	; DosBase ptr
                    JSR            -$3C(A6)	; DOSBase: Output()
                    MOVE.L         D0,D1
                    MOVE.L         A2,D2
                    LEA            $10(A5),A0
                    MOVE.L         A0,D3
                    JSR            -$15C(A6)	; DOSBase: VFWritef(d1,d2,d3)
                    MOVEM.L        (SP)+,D2-D3/A2-A3/A6
                    UNLK           A5
                    RTS

LF84                MOVEM.L        D2/D5-D7/A2-A3/A6,-(SP)
                    MOVEA.L        $20(SP),A3
                    MOVEA.L        $24(SP),A2
                    MOVE.L         $28(SP),D7
                    MOVE.L         $2C(SP),D6
                    MOVEA.L        $4(A3),A6	; DosBase ptr
                    JSR            -$84(A6)	; DOSBase: IoErr()
                    MOVE.L         D0,D5
                    TST.L          $14(A3)
                    BEQ.S          LFC8
                    JSR            -$3C(A6)	; DOSBase: Output()
                    MOVE.L         D0,D1
                    JSR            -$24(A6)	; DOSBase: Close(d1)
                    LEA            $28(A3),A0
                    MOVE.L         A0,D0
                    BEQ.S          LFC0
                    MOVE.L         A0,D1
                    JSR            -$48(A6)	; DOSBase: DeleteFile(d1)
LFC0                MOVE.L         $18(A3),D1
                    JSR            -$12C(A6)	; DOSBase: SelectOutput(d1)
LFC8                TST.L          $10(A3)
                    BEQ.S          LFD8
                    JSR            -$36(A6)	; DOSBase: Input()
                    MOVE.L         D0,D1
                    JSR            -$24(A6)	; DOSBase: Close(d1)
LFD8                LEA            L726(PC),A0
                    MOVE.L         A0,D1
                    JSR            -$3B4(A6)	; DOSBase: PutStr(d1)
                    MOVE.L         D6,-(SP)
                    MOVE.L         D7,-(SP)
                    MOVE.L         A2,-(SP)
                    MOVE.L         A3,-(SP)
                    BSR.L          LF56
                    MOVEA.L        $4(A3),A6	; DosBase ptr
                    JSR            -$3C(A6)	; DOSBase: Output()
                    MOVE.L         D0,D1
                    MOVEQ          #$A,D2
                    JSR            -$138(A6)	; DOSBase: FPutC(d1,d2)
                    MOVE.L         D5,D1
                    JSR            -$1CE(A6)	; DOSBase: SetIoErr(d1)
                    LEA            $514(A3),A0
                    MOVE.L         D2,(SP)
                    MOVE.L         A0,-(SP)
                    JSR            L104C(PC)
                    LEA            $14(SP),SP
                    MOVEM.L        (SP)+,D2/D5-D7/A2-A3/A6
                    RTS

L101A               MOVEM.L        D2/A3/A6,-(SP)
                    MOVEA.L        $10(SP),A3
                    MOVEA.L        A3,A6
                    JSR            -$84(A6)	; DOSBase: IoErr()
                    MOVE.L         D0,D1
                    MOVEQ          #$0,D2
                    JSR            -$1DA(A6)	; DOSBase: PrintFault(d1,d2)
                    MOVEM.L        (SP)+,D2/A3/A6
                    RTS

L1036               DC.W           $0
L1038               MOVEA.L        $4(SP),A0
                    MOVEM.L        D1-D7/A1-SP,$4(A0)
                    MOVE.L         $0(SP),$0(A0)
                    MOVEQ          #$0,D0
                    RTS

L104C               MOVE.L         $8(SP),D0
                    BNE.S          L1054
                    ADDQ.L         #$1,D0
L1054               MOVEA.L        $4(SP),A0
                    MOVEM.L        $4(A0),D1-D7/A1-SP
                    MOVE.L         $0(A0),$0(SP)
                    RTS

L1066               DC.W           $0
L1068               TST.L          D0
                    BPL.L          L108A
                    NEG.L          D0
                    TST.L          D1
                    BPL.L          L1080
                    NEG.L          D1
                    BSR.L          L109A
                    NEG.L          D1
                    RTS

L1080               BSR.L          L109A
                    NEG.L          D0
                    NEG.L          D1
                    RTS

L108A               TST.L          D1
                    BPL.L          L109A
                    NEG.L          D1
                    BSR.L          L109A
                    NEG.L          D0
                    RTS

L109A               MOVE.L         D2,-(SP)
                    SWAP           D1
                    MOVE.W         D1,D2
                    BNE.L          L10C4
                    SWAP           D0
                    SWAP           D1
                    SWAP           D2
                    MOVE.W         D0,D2
                    BEQ.L          L10B4
                    DIVU.W         D1,D2
                    MOVE.W         D2,D0
L10B4               SWAP           D0
                    MOVE.W         D0,D2
                    DIVU.W         D1,D2
                    MOVE.W         D2,D0
                    SWAP           D2
                    MOVE.W         D2,D1
                    MOVE.L         (SP)+,D2
                    RTS

L10C4               MOVE.L         D3,-(SP)
                    MOVEQ          #$10,D3
                    CMPI.W         #$80,D1
                    BCC.L          L10D4
                    ROL.L          #$8,D1
                    SUBQ.W         #$8,D3
L10D4               CMPI.W         #$800,D1
                    BCC.L          L10E0
                    ROL.L          #$4,D1
                    SUBQ.W         #$4,D3
L10E0               CMPI.W         #$2000,D1
                    BCC.L          L10EC
                    ROL.L          #$2,D1
                    SUBQ.W         #$2,D3
L10EC               TST.W          D1
                    BMI.L          L10F6
                    ROL.L          #$1,D1
                    SUBQ.W         #$1,D3
L10F6               MOVE.W         D0,D2
                    LSR.L          D3,D0
                    SWAP           D2
                    CLR.W          D2
                    LSR.L          D3,D2
                    SWAP           D3
                    DIVU.W         D1,D0
                    MOVE.W         D0,D3
                    MOVE.W         D2,D0
                    MOVE.W         D3,D2
                    SWAP           D1
                    MULU.W         D1,D2
                    SUB.L          D2,D0
                    BCC.L          L111A
                    SUBQ.W         #$1,D3
                    ADD.L          D1,D0
L1118               BCC.S          L1118
L111A               MOVEQ          #$0,D1
                    MOVE.W         D3,D1
                    SWAP           D3
                    ROL.L          D3,D0
                    SWAP           D0
                    EXG            D0,D1
                    MOVE.L         (SP)+,D3
                    MOVE.L         (SP)+,D2
                    RTS



                    END
