home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format 42
/
af042a.adf
/
Install.AMOS
/
Install.amosSourceCode
< prev
next >
Wrap
AMOS Source Code
|
1992-02-21
|
23KB
|
764 lines
'----------------------------------
' AMOS HARD DISK INSTALLER V1.34
' (c) Europress Software 1992
' By F.Lionet
'----------------------------------
'
Set Buffer 40
'
Dim F$(200),SZ(200),DR$(200)
Global F$(),SZ(),NFILE,PATH$
Global DR$(),NDIR,ERR
Global MXSIZE,BCOPY
Global SRCE$,DEST$,HD$
Global LFILE
Global VER$
Global YLOGO,DYLOGO
Global QUIT
Global PAR,PAR$,PPAR$
'
VER$="1.34"
YLOGO=60 : DYLOGO=72
'
LFILE=40
Set Dir LFILE,""
'
MXSIZE=200*1024 : BCOPY=10
Reserve As Work BCOPY,MXSIZE
'
Hide On
Screen Open 0,640,200,8,Hires
Flash Off : Curs Off : Cls 0
Palette $0,$FFF,$7F,$A7 : Screen Clone 3 : Screen Hide 3
'
Unpack 15 To 1 : Screen To Back 1 : Screen Clone 2 : Screen Hide 2
'
Do
'
SET_UP_SCREEN : Hide On
'
Do
'
Repeat : Until Mouse Key=2
'
_LOGO_DOWN
Limit Mouse X Hard(0),Y Hard(0) To X Hard(640),YLOGO+DYLOGO-16
Show On
'
Menu On
'
Multi Wait
If Choice
If Choice(1)=1 : MENU_1 : Exit : End If
If Choice(1)=2 : HDINSTALL : Exit : End If
End If
'
Hide On
Menu Off
Limit Mouse X Hard(0),Y Hard(0) To X Hard(640),Y Hard(16)
_LOGO_UP
'
Loop
'
Loop
'
Procedure _LOGO_DOWN
Channel 1 To Screen Display 1
Amreg(0)=YLOGO : Amreg(1)=DYLOGO
A$=A$+" Let RC=0; Let R0=4;"
A$=A$+"Loop: Move 0,RB,R0;"
A$=A$+" If R0=1 Jump End;"
A$=A$+" Let RB=RB/2;"
A$=A$+" Move 0,0-RB,R0;"
A$=A$+" Let R0=R0-1;"
A$=A$+" Jump Loop;"
A$=A$+"End: Let RC=-1;"
Amal 1,A$
Amal On
Repeat : Wait Vbl : Until Amreg(2)
End Proc
Procedure _LOGO_UP
Channel 1 To Screen Display 1
Amreg(0)=YLOGO : Amreg(1)=DYLOGO
Amal 1,"Let RC=0; Move 0,0-RB,5; Let RC=-1;"
Amal On
Repeat : Wait Vbl : Until Amreg(2)
End Proc
Procedure SET_UP_SCREEN
'
Screen 0
Cls 0 : Palette 0,0,0,0
Paper 0 : Pen 1
Wait Vbl
'
Menu$(1)=" Informations "
Menu$(1,1)=" AMOS on your Hard Drive "
Menu$(1,2)=" Automatic Assigns feature "
Menu$(1,3)="-------------------------------" : Menu Inactive(1,3)
Menu$(1,4)=" About Europress Software Ltd. "
Menu$(1,5)="-------------------------------" : Menu Inactive(1,5)
Menu$(1,6)=" Back to AMOS Editor "
Menu$(1,7)=" Back to Workbench "
Menu$(1,7,1)=" Sure ? "
Menu$(2)=" Installation "
Menu$(2,1)=" Start installation process "
'
Centre At(,20)+"Click right mouse button for menu"
'
Auto View Off
Screen 1 : For C=0 To 31 : Colour C,0 : Next
Screen Display 1,,YLOGO,, : Screen To Front 1
Auto View On : View
'
Fade 1 To 2 : Wait 16
Screen 0 : Fade 1 To 3
'
Limit Mouse X Hard(0),Y Hard(0) To X Hard(640),Y Hard(8)
'
End Proc
Procedure _MAKE_SETUP_SCREEN
'
Screen 0 : Fade 1,0,0,0,0 : Wait 16
'
Screen 1 : Fade 1 : Wait 16 : Screen To Back 1
'
Screen 0 :
Paper 0 : Pen 1
Clw : Fade 1 To 3
'
Limit Mouse X Hard(0),Y Hard(0) To X Hard(640),Y Hard(200)-10
'
End Proc
Procedure MENU_1
'
Menu Off
On Choice(2) Gosub _INFO1,_INFO2,_NONE,_INFO3,_NONE,_QUIT,_SYS
Pop Proc
'
_INFO1: _SETUP_MENU[1] : _SETUP_MENU[14] : Return
_INFO2: _SETUP_MENU[2] : Return
_INFO3: _SETUP_MENU[3] : Return
_QUIT: _MAKE_SETUP_SCREEN : Edit : Return
_SYS: _MAKE_SETUP_SCREEN : System : Return
_NONE: Return
'
End Proc
Procedure INFO[A$]
Centre At(,20)+Space$(78)
Centre A$
End Proc
Procedure HDINSTALL
Shared XX,YY
'
Menu Off
Clear Key
'
Do
Do
'
_SETUP_MENU[6]
_LEDIT["",0,XX,YY,59]
HD$=Param$
'
E=-1
Exit If HD$=""
Exit If HD$="_Esc_"
E=0
'
For C=Len(HD$) To 1 Step -1
Exit If Mid$(HD$,C,1)<>""
Next
HD$=Left$(HD$,C+1)
'
C=Instr(HD$,":") : If C=0 : E=2 : Exit : End If
DSK$=Left$(HD$,C)
If Drive(DSK$)=0 : E=1 : Exit : End If
'
A$=Disc Info$(DSK$)
F=Val(Right$(A$,10)) : If Upper$(Left$(DSK$,3))="RAM" : F=Chip Free+Fast Free : End If
If F<2500000 : E=3 : Exit : End If
'
If Exist(HD$)=0
'
PPAR$=HD$
_SETUP_MENU[10]
Exit If QUIT,2
If PAR$="Ab" : Exit : End If
'
On Error Goto _ERR
'
C=Len(DSK$)+1 : I$=DSK$
Do
Exit If C>=Len(HD$)
CC=Instr(HD$,"/",C)
If CC=0 : CC=Len(HD$) : End If
F$=Mid$(HD$,C,CC-C+1) : If Right$(F$,1)="/" : F$=Left$(F$,Len(F$)-1) : End If
D$=I$+F$
If Exist(D$)=0
Mkdir D$
Bsave I$+F$+".info",Start(14) To Start(14)+Length(14)
End If
I$=I$+F$+"/"
C=CC+1
Loop
'
End If
'
If Right$(HD$,1)<>"/"
If Right$(HD$,1)<>":"
HD$=HD$+"/"
End If
End If
'
_SETUP_MENU[13]
On Error Goto _ERR
If Exist(HD$+"AMOS_DATA")=0
Mkdir HD$+"AMOS_DATA"
Bsave HD$+"AMOS_DATA.info",Start(14) To Start(14)+Length(14)
End If
If Exist(HD$+"Extras")=0
Mkdir HD$+"Extras"
Bsave HD$+"Extras.info",Start(14) To Start(14)+Length(14)
End If
'
_INSTALL["AMOS:",HD$,"your AMOS Program disc"]
E=Param : Exit If Param
_INSTALL["AMOS_DATA:",HD$+"AMOS_DATA/","your AMOS Data disc"]
E=Param : Exit If Param
_INSTALL["Extras:",HD$+"Extras/","your AMOS Extras disc"]
E=Param : Exit If Param
'
E=0 : _SETUP_MENU[5] : Exit 2
'
Loop
'
If E>0 : _SETUP_MENU[6+E] : End If
'
If E<0 : _SETUP_MENU[15] : Exit : End If
'
Exit If QUIT
'
Loop
Pop Proc
'
_ERR: Bell : _SETUP_MENU[11] : Resume _END
_END:
End Proc
Procedure _INSTALL[S$,DEST$,AL$]
'
VACT$=VER$
'
C=Instr(DEST$,":") : ROOT$=Left$(DEST$,C)
'
_GET_DISC["Df0:",S$,AL$]
If QUIT : E=-1 : Goto _END : End If
INFO["Reading directory."]
'
SRCE$="Df0:" : _GET_ALL[SRCE$]
E=Param : If E : Goto _END : End If
'
On Error Goto _ERR
'
For N=0 To NDIR-1
'
If Inkey$=Chr$(27) : E=-1 : Goto _END : End If
'
N$=DR$(N) : Gosub _FILTER
'
If F
If Instr(N$,"/")
For C=Len(N$) To 1 Step -1
Exit If Mid$(N$,C,1)="/"
Next
P$=Left$(N$,C-1)
If Exist(P$)=0 : Mkdir P$ : End If
End If
End If
'
Next
'
For NF=0 To NFILE-1
'
If Inkey$=Chr$(27) : E=-1 : Goto _END : End If
'
LF=SZ(NF) : N$=F$(NF) : Gosub _FILTER
'
If F
_FILE_COPY[F$(NF),N$,SZ(NF)] : E=6 : Exit If Param
End If
'
Next
'
E=0 : Goto _END
'
_FILTER:
F=0 : Restore DTS
Do
'
Read S1$,S2$,S3$,S4$ : Exit If S1$=""
'
U$=Upper$(N$)
A$=Left$(S1$,1) : B$=Left$(S2$,1)
S1$=Mid$(S1$,2) : S2$=Mid$(S2$,2)
'
FF=0
If A$="<" : If Left$(U$,Len(S1$))=S1$ : FF=-1 : End If : End If
If A$=">" : If Right$(U$,Len(S1$))=S1$ : FF=-1 : End If : End If
If A$=" " : If U$=S1$ : FF=-1 : End If : End If
If A$="*" : FF=-1 : End If
'
If FF
FF=0
If B$="<" : If VACT$<S2$ : FF=-1 : End If : End If
If B$=">" : If VACT$>S2$ : FF=-1 : End If : End If
If FF
N$=Mid$(N$,Len(S3$)+1)
N$=S4$+N$ : F=-1
End If
Exit
End If
Loop
Return
'
DTS:
Data "<C/",">9","",""
Data "<S/",">9","",""
Data "<LIBS/",">9","",""
Data "<L/",">9","",""
Data "<DEVS/",">9","",""
Data " .INFO",">9","",""
Data " DISK.INFO",">9","",""
Data " INSTALL.AMOS",">9","",""
Data ">AMOS_SYSTEM.INFO",">0","",ROOT$
Data "<AMOS_SYSTEM/",">0","",ROOT$
Data "*",">0","",DEST$
Data "","","",""
'
_ERR: E=6 : Resume _END
_END:
End Proc[E]
Procedure _FILE_COPY[S$,D$,S]
'
On Error Goto _ERR
'
If S>MXSIZE : Stop : End If
'
INFO["Installing "+S$]
Bload SRCE$+S$,Start(BCOPY)
'
If Right$(S$,5)=".info"
Loke Start(BCOPY)+$3A,$80000000
Loke Start(BCOPY)+$3E,$80000000
A$=Upper$(S$)
If(Right$(A$,10)=".AMOS.INFO") or(Right$(A$,13)="DEF_ICON.INFO")
S=Length(13)
Copy Start(13),Start(13)+S To Start(BCOPY)
H=Hunt(Start(BCOPY) To Start(BCOPY)+S,":AMOS")
If H
OL=Peek(H-1) : N$=HD$+"AMOS1.3"+Chr$(0) : L=Len(N$)
Poke H-1,L : Copy Varptr(N$),Varptr(N$)+L+1 To H
S=S-OL+L
End If
End If
End If
'
Bsave D$,Start(BCOPY) To Start(BCOPY)+S
Goto _END
'
_ERR: E=-1 : Resume _END
_END:
End Proc[E]
Procedure _GET_ALL[F$]
PATH$=F$ : NDIR=0 : NFILE=0 : ERR=0
_GET_FILES[F$]
End Proc[ERR]
Procedure _GET_FILES[F$]
'
Dim D$(50)
'
On Error Proc DERR
Resume Label EERR
'
If ERR=0
A$=Dir First$(F$+"**")
While A$<>""
'
If Inkey$=Chr$(27) : ERR=-1 : End If
'
If Left$(A$,1)="*"
D$(NDOS)=(Mid$(A$,2,LFILE)-" ")+"/"
DR$(NDIR)=(F$+D$(NDOS))-PATH$
Inc NDOS : Inc NDIR
Else
SZ(NFILE)=Val(Mid$(A$,LFILE))
F$(NFILE)=(F$+Left$(A$,LFILE)-" ")-PATH$
Inc NFILE
End If
A$=Dir Next$
Wend
'
If NDOS
For N=0 To NDOS-1
_GET_FILES[F$+D$(N)]
Next
End If
'
End If
EERR:
'
End Proc
Procedure DERR
ERR=6 : NFILE=0 : NDIR=0
Resume Label
End Proc
Procedure _SETUP_MENU[PAGE]
Shared XX,YY
Dim JMP$(64),ZIT(64),ITZ(64),ZBASE(64)
QUIT=0
_MAKE_SETUP_SCREEN
' Handle menu
MK_MENU:
Curs Off : Gosub DR_MENU
If EX : Pop Proc : End If
NOZ=1
Do
Repeat
Multi Wait
Z=Mouse Zone : K=Mouse Key
If Z<>OLDZ
If OLDZ>0 : ACT=-1 : IT=ZIT(OLDZ) : OLDZ=-1 : Gosub DR_ITEM : End If
If Z>0 : OLDZ=Z : ACT=Z : IT=ZIT(Z) : ZNE=ZBASE(IT) : Gosub DR_ITEM : End If
End If
Until Z<>0 and K<>0
If JMP$(Z)<>"" : Gosub JMP$(Z) : End If
ACT=Z : ZNE=ZBASE(IT) : Gosub DR_ITEM
If K=1 : Repeat : Multi Wait : Until Mouse Key=0 : End If
Loop
'
'
ST_FLAG: V=1-V : Gosub "POK"+VTYPE$ : Return
' Draw menu page
DR_MENU:
Reserve Zone 64
IT=0 : ZNE=1 : NOZ=0 : ACT=-1 : OLDPAR=-1
Repeat
Inc IT : ZBASE(IT)=ZNE : Gosub DR_ITEM
Until FLAG=False
Return
' Draw one menu item
DR_ITEM:
LAB$="L"+(Str$(PAGE)-" ")+"_"+(Str$(IT)-" ")
On Error Goto NO_IT
Restore LAB$ : Read IT$
M=0 : XX=-1
Repeat
NEND=Instr(IT$,"|",M+1)
ENC=0 : LBL$="" : FL=0 : ZZ=0 : NB=0
Repeat
N=M+1
M=Instr(IT$,",",N) : M2=Instr(IT$,":",N) : If M>M2 : M=0 : End If
If M=0 or(NEND<>0 and M1>NEND) : M=M2 : FL=1 : End If
A$=Upper$(Mid$(IT$,N,1)) : Inc N
If A$="E" : ENC=1 : End If
If A$="L" : Gosub GT_STR : LBL$=A$ : Inc ZZ : End If
If A$="C" : CNT=1 : End If
If A$="X" : Gosub GT_STR : XX=Val(A$) : End If
If A$="Y" : Gosub GT_STR : YY=Val(A$) : End If
If A$="V" : Gosub GT_STR : PAR=Val(A$) : End If
If A$="W" : Gosub GT_STR : PAR$=A$ : End If
If A$="Q" : EX=1 : Error 32 : End If
Until FL
If NEND
A$=Mid$(IT$,M+1,NEND-M-1)
Else
A$=Mid$(IT$,M+1)
End If
Gosub DR_WORD
M=NEND
Until NEND=0
On Error
FLAG=True
Return
'
DR_WORD:
If XX<0 : XX=40-Len(A$)/2 : End If
Locate XX,YY
'
FST=0
'
If Left$(A$,1)="&"
A$=Mid$(A$,2,1)
If A$="R"
A$=Upper$(Left$(NAMES$,3)) : A$=A$+Space$(3-Len(A$))
A$=A$+REG$
End If
End If
'
X1=X Graphic(XX)-3 : Y1=Y Graphic(YY)-2 : X2=X Graphic(XX+Len(A$))+2 : Y2=Y1+11
'
If ZZ<>0 or NOZ=0 or FST<>0
Inverse Off : If ZZ<>0 and ACT=ZNE : Inverse On : End If
Print A$;
If ENC<>0 and NOZ=0 : Box X1,Y1 To X2,Y2 : End If
End If
If ZZ<>0
If NOZ=0
Set Zone ZNE,X1,Y1 To X2,Y2
ZIT(ZNE)=IT : ITZ(IT)=ZNE
If LBL$<>""
JMP$(ZNE)=LBL$
End If
End If
Inc ZNE
End If
XX=XX+(X2-X1)/8+1
Return
'
NO_IT: Resume NO_IT2
NO_IT2: FLAG=False
Return
'
GT_STR:
A$=Mid$(IT$,N,M-N)
Return
'
MN_QUIT:
QUIT=-1 : PAR=0
MN_OUT:
Pop : Fade 1 : Wait 16 : Goto _END
MN_QUIT2:
QUIT=-1 : PAR=0
MN_OUT2:
Pop : Goto _END
'
' Datas page 1
L1_1: Data "C,Y2,E: AMOS V"+VER$+" Hard-Disc Installer "
L1_2: Data "C,Y06:Your AMOS package consists of three floppy discs. The installer"
L1_3: Data "C,Y07:will copy each one of them onto your hard-drive."
L1_4: Data "C,Y09:You must have at least 3 MBytes of free space on your drive."
L1_5: Data "C,Y11:You will be asked for a location of where to put your AMOS interpretor."
L1_6: Data "C,Y12:The installer will copy into it the contents of the AMOS Programs disc,"
L1_7: Data "C,Y13:that's where you'll find the interpretor itself."
L1_8: Data "C,Y15:The installer will also create two sub-folders, AMOS_DATA and"
L1_9: Data "C,Y16:Extras. It will copy to each of them the contents of the Data and"
L1_10: Data "C,Y17:Extras disc."
L1_11: Data "E,X55,Y23,LMn_Quit: Click here to go on "
'
' Datas page 2
L2_1: Data "C,Y02,E: AMOS V"+VER$+" Hard-Disc Installer "
L2_2: Data "C,Y04:The manual constantly refers to the three AMOS Master discs,"
L2_3: Data "C,Y05:AMOS:, AMOS_DATA:, and Extras:."
L2_4: Data "C,Y06:In order for you to be able to load all the examples from your"
L2_5: Data "C,Y07:hard-drive, AMOS has an auto-assign feature."
L2_6: Data "C,Y08:Each time you boot the AMOS interpretor, it creates three new assigns :"
L2_7: Data "C,X05,Y10:(1) The current directory is assigned to AMOS:"
L2_8: Data "C,X05,Y11:(2) If it can find the folder AMOS_DATA/ within the current directory,"
L2_9: Data "C,X05,Y12: then AMOS_DATA: is assigned to it."
L2_10: Data "C,X05,Y13:(2) If it can find the folder Extras/ within the current directory,"
L2_11: Data "C,X05,Y14: then Extras: is assigned to it."
L2_12: Data "C,Y16:The above assigns will not be set-up if they already exist."
L2_13: Data "C,Y17:So remove any of the three AMOS floppies from the drive before"
L2_14: Data "C,Y18:loading AMOS from your hard-disc."
L2_15: Data "C,Y20:With this extra-feature of AMOS, you can quickly use all the examples,"
L2_16: Data "C,Y21:and much more importantly, you do not need to change a single line in your"
L2_17: Data "C,Y22:startup-sequence!"
L2_18: Data "E,X55,Y23,LMn_Quit: Click here to go on "
'
' Datas page 3
L3_1: Data "C,Y05,E: AMOS V"+VER$+" Hard-Disc Installer written by Fran�ois Lionet "
L3_2: Data "C,Y08,E: For any information or help, please contact : "
L3_3: Data "X19,Y11:AMOS Customer Support"
L3_4: Data "X19,Y13:Europress Software Ltd,"
L3_5: Data "X19,Y14:Europa House, Adlington Park,"
L3_6: Data "X19,Y15:Adlington, Macclesfield"
L3_7: Data "X19,Y16:SK10 4NP"
L3_8: Data "X19,Y17:England"
L3_9: Data "C,X19,Y19:Phone: Uk 0625 859333 - Int +(44) 625 859333"
L3_10: Data "C,X19,Y20:Fax: Uk 0625 879962 - Int +(44) 625 879962"
L3_11: Data "E,X55,Y23,LMn_Quit: Click here to go on "
'
' Datas page 5
L5_1: Data "C,Y10,E: AMOS is now installed on your hard-drive! "
L5_2: Data "E,X55,Y23,LMn_Quit: Click here to go on "
'
' Datas page 6
L6_1: Data "C,Y2,E: AMOS V"+VER$+" Hard-Disc Installer "
L6_2: Data "C,Y08:Please enter the full pathname of where you want to install AMOS,"
L6_3: Data 'C,Y09:then press <RETURN>. Example of pathname : "Device:Folder/Folder"'
L6_4: Data "C,Y11:Press <ESC> to abort."
L6_5: Data "E,X05,Y15: Pathname: "
L6_6: Data "X16,Y15,Q: "
'
' Datas page 7
L7_1: Data "C,Y2,E: AMOS V"+VER$+" Hard-Disc Installer "
L7_2: Data "C,Y11:>>> This device does not exist ! <<<"
L7_3: Data "C,Y15,E,LMn_Out2: Click here to enter a new pathname. "
L7_4: Data "C,Y17,E,LMn_Quit: Click here to abort installation. "
'
' Datas page 8
L8_1: Data "C,Y2,E: AMOS V"+VER$+" Hard-Disc Installer "
L8_2: Data "C,Y11:>>> Please enter a FULL pathname. Example: Device:Folder/Folder <<<"
L8_3: Data "C,Y15,E,LMn_Out2: Click here to enter a new pathname. "
L8_4: Data "C,Y17,E,LMn_Quit: Click here to abort installation. "
'
' Datas page 9
L9_1: Data "C,Y2,E: AMOS V"+VER$+" Hard-Disc Installer "
L9_2: Data "C,Y11:>>> Your hard-disc does not have enough free space : AMOS needs 3 MBytes <<<"
L9_3: Data "C,Y17,E,LMn_Quit: Click here to abort installation. "
'
' Datas page 10
L10_1: Data "C,Y2,E: AMOS V"+VER$+" Hard-Disc Installer "
L10_2: Data 'C,Y11:>>> The path "'+PPAR$+'" does not exist ! <<<'
L10_3: Data "C,Y14,E,WOk,LMn_Out2: Click here to create all the necessary folders. "
L10_4: Data "C,Y16,E,WAb,LMn_Out2: Click here to enter a new pathname. "
L10_5: Data "C,Y18,E,LMn_Quit: Click here to abort installation. "
'
' Datas page 11
L11_1: Data "C,Y2,E: AMOS V"+VER$+" Hard-Disc Installer "
L11_2: Data "C,Y06,E: An error has occured while creating the new directories ! "
L11_3: Data "C,X01,Y08:(*) Please check the pathname, it must be a valid AmigaDos one."
L11_4: Data "C,X01,Y09: Read Commodore documentation if necessary."
L11_5: Data "C,X01,Y11:(*) If you really don't know anything about pathnames, try the"
L11_6: Data "C,X01,Y12: following, in order, until one of them works."
L11_7: Data 'C,X01,Y14: "WORK:AMOS"'
L11_8: Data 'C,X01,Y15: "DH1:AMOS"'
L11_9: Data 'C,X01,Y16: "DH0:AMOS"'
L11_10: Data 'C,X01,Y17: "FH1:AMOS"'
L11_11: Data 'C,X01,Y18: "FH0:AMOS"'
L11_12: Data 'C,X01,Y19: "SYS:AMOS"'
L11_13: Data "C,X01,Y21: One of the above should work. If not, then check your hard-drive."
L11_14: Data "E,X55,Y23,LMn_Quit: Click here to go on "
'
' Datas page 12
L12_1: Data "C,Y2,E: AMOS V"+VER$+" Hard-Disc Installer "
L12_2: Data "C,Y08,E: An error has occured while installing AMOS onto your hard-disc! "
L12_3: Data "C,X01,Y12:(*) Please follow all the prompts."
L12_4: Data "C,X01,Y14:(*) Make sure your master discs do not have any read/write errors. If they"
L12_5: Data "C,X01,Y15: happen to be badly duplicated, please send them to Europress for a free"
L12_6: Data "C,X01,Y16: exchange. You will find the address in the 'About Europress' option in the"
L12_7: Data "C,X01,Y17: menu."
L12_8: Data "C,X01,Y19:(*) Check your hard disc carefully."
L12_9: Data "E,X55,Y23,LMn_Quit: Click here to go on "
'
' Datas page 12
L13_1: Data "C,Y2,E: AMOS V"+VER$+" Hard-Disc Installer "
L13_2: Data 'C,Y11:>>> Copying the software onto your hard-disc <<<'
L13_3: Data "C,Y13:Press <ESC> to abort."
L13_4: Data "Q: "
'
' Datas page 13
L14_1: Data "C,Y2,E: AMOS V"+VER$+" Hard-Disc Installer "
L14_2: Data "C,Y06:The installer creates a folder named 'AMOS_System' "
L14_3: Data "C,Y07:in the root of the device chosen for the installation."
L14_4: Data "C,Y09:The folder is *essential* for AMOS to boot. In the current"
L14_5: Data "C,Y10:configuration, AMOS assumes the position of this folder, at the"
L14_6: Data "C,Y11:root of its own device. You should not try to move this folder"
L14_7: Data "C,Y12:anywhere else on your hard-disc before reading the documentation"
L14_8: Data "C,Y13:and understanding the way AMOS locates its system files."
L14_9: Data "C,Y16,E: AMOS will refuse to boot if it cannot find its AMOS_System folder! "
L14_10: Data "C,Y19:As a consequence, if you copy the AMOS1.3 file to another device,"
L14_11: Data "C,Y20:also remember to copy the AMOS_System folder to the root directory"
L14_12: Data "C,Y21:of this device..."
L14_13: Data "E,X55,Y23,LMn_Quit: Click here to go on "
'
' Datas page 15
L15_1: Data "C,Y2,E: AMOS V"+VER$+" Hard-Disc Installer "
L15_2: Data "C,Y12,E: Installation aborted. Warning: AMOS is not properly installed! "
L15_3: Data "E,X55,Y23,LMn_Quit: Click here to go on "
_END:
End Proc[PAR]
Procedure _GET_DISC[D$,N$,AL$]
Request Off
_FIND_DISC[D$,N$]
If Param=0
Bell 61
INFO[">>> Please insert "+AL$+" into drive "+D$+" <<<"]
Repeat
_FIND_DISC[D$,N$]
If Inkey$=Chr$(27) : QUIT=-1 : Exit : End If
Until Param
INFO[""]
Wait 50
End If
Request On
End Proc
Procedure _FIND_DISC[D$,N$]
N$=Upper$(N$) : L=Len(N$)
On Error Goto _NO
For T=0 To 4 : Multi Wait : Next
A$=Upper$(Disc Info$(D$))
If Left$(A$,L)=N$ Then F=-1
Goto _QUIT
'
_NO: F=0 : Resume _QUIT
_QUIT:
End Proc[F]
Procedure _LEDIT[ED$,XC,XX,YY,SX]
'
While Inkey$<>"" : Wend
'
PX=0 : L=Len(ED$) : If L>=SX : PX=L-SX : End If
XC=Max(0,XC) : XC=Min(XC,L)
Curs On
Do
Gosub _DED
Repeat
A$=Inkey$ : S=Scancode
If Mouse Key=1
X=(X Screen(X Mouse))/8-XX
If X>=0 and X<=L : XC=X : Gosub _DED : Wait Vbl : End If
End If
Until A$<>""
F=1
If A$=Chr$(13) : Exit : End If
If A$=Chr$(27) : ED$="_Esc_" : Exit : End If
If S=65 and XC+PX>0
ED$=Left$(ED$,XC+PX-1)+Mid$(ED$,PX+XC+1) : E=1 : L=L-1
S=79
End If
If S=70 and XC+PX<L
ED$=Left$(ED$,XC+PX)+Mid$(ED$,PX+XC+2) : E=1 : L=L-1 : F=0
End If
If S=79 and PX+XC>0
F=0
If XC=0
PX=PX-1
Else
XC=XC-1
End If
End If
If S=78 and PX+XC<L
F=0
If XC=SX
PX=PX+1
Else
XC=XC+1
End If
End If
If F
If A$>=" "
ED$=Left$(ED$,PX+XC)+A$+Mid$(ED$,PX+XC+1) : L=L+1
If L>SX
If XC>=SX
PX=PX+1
Else
XC=XC+1
End If
Else
XC=XC+1
End If
End If
End If
Loop
Curs Off
Goto _END
'
_DED:
Locate XX,YY : Print Mid$(ED$,PX+1,SX);
If E : If X Curs<XX+SX : Print " "; : E=0 : End If : End If
Locate Min(XX+XC,XX+SX-1),YY
Return
'
_END:
End Proc[ED$]
'