home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-02-28 | 67.4 KB | 1,515 lines |
- 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
-