; ************************************************
; *
; * $VER: Install-ATAPI A1200 v1.00 Demo Vers (07.09.95)
; *
; * Installation for A1200 Atapi Package v 1.00
; *
; * Copyright  1995 by Georg Campana
; *
; ************************************************

;/// Variabili
; ****************************
;       Variabili
; ****************************
;
(set DemoVersion        1) ; Demo Version
(set ProductName        "A1200 ATAPI ITALIAN VERSION"  )  ; product name
(set ProductBaseName    "A1200-Atapi")                    ; product base name
(set VersionNum         "1.00 ")                     ; product version number

(set OSVersion          (/ (getversion) 65536))
(set PctDone            0)

(set CPUOpts            0)    ; 0=68000,68010; 1=68020,68030,68040

(makeassign "CDPLUSPLUS" "" (safe))

(set Disk1Name                  "CDPLUSPLUS:")

(set MemSpace 1024)   ; 1K minimo di spazio necessario su disco

;///

;/// Proc setPkgOPts
(procedure setPkgOpts
;
; ****************************
; * Wich Parts
; ****************************
;
  (
        (set PkgOpts
                (askoptions
                        (prompt
                           "Scegli le parti che vuoi installare"
                           ("del pacchetto %s" ProductName)
                        )
                        (help
                                "Questa parte dell'installazione ti permette di scegliere quali moduli del"
                                (" pacchetto %s vuoi installare.\n" ProductName)
                                "\n"
                                "*** Atapi Device Driver\n"
                                "Questa opzione far si che verr installato il device"
                                " driver (cd.device )nella directory Devs: (Fondamentale)\n"
                                "\n"
                                "*** CDplusplusFS\n"
                                "Questa opzione installer il file system proprietario"
                                " della CD++ nella directory L: (Consigliato).\n"
                                "\n"
                                "*** MAP-Mini Atapi Player\n"
                                "Questa opzione installer una utility che permette la"
                                " riproduzione di CD-Audio anche misti.\n"
                                "\n"
                                "*** TRKDownLoad Track-Downloader\n"
                                "Questa opzione far installare un utility che permette"
                                " il salvataggio su file di parti di tracce audio o dati.\n"
                                "\n"
                                "*** PlayCDXL\n"
                                "Questa opzione installer un utility che permette la"
                                " riproduzione in tempo reale di film CDXL.\n"
                                "\n"
                                @askoptions-help
                        )
                        (choices
                                ; bit position 0 -- todo & 1
                                ;
                                "Atapi Device Driver          (16 Kbytes)"

                                ; bit position 1 -- todo & 2
                                ;
                                "CDplusplusFS - CD Filesystem (23 Kbytes)"

                                ; bit position 2 -- todo & 4
                                ;
                                "MAP- Mini Atapi Player       ( 9 Kbytes)"

                                ; bit position 3 -- todo & 8
                                ;
                                "TRKDownLoad- Track DownLoader(15 Kbytes)"

                                ; bit position 4 -- todo & 16
                                ;
                                "PlayCDXL - Player Film CDXL  (30 Kbytes)"

                        )
                )
        )
  )
)
;///

;/// Proc setDirPath

(procedure setDirPath
;
; ****************************
; * Ask the user for a directory name.
; ****************************
;
; these variables must be defined before calling this procedure:
;    setDirPathWhy
;    setDirPathHelp
;    DirPath
;
; this procedure returns the selected directory in DirPath
;
   (

       (set DirPath
               (askdir
                       (prompt ("Seleziona il disco sul quale installare il pacchetto  ( Normalmente SYS: )" )

                       )
                       (help   "Il Pacchetto verr installato sul disco"
                               " prescelto .\n"
                               "Se volete installare il pacchetto su un dischetto"
                               " bootabile inserite quest'ultimo e sceglietelo"
                               " dalla lista che si presenta\n"
                               "\n"
                               @askdir-help
                       )
                       (disk)
                       (default "SYS:")
               )
       )



   )
)
;///

;/// Proc AskFsIcon
;
;
(procedure AskFsIcon
;
; This procedure ask of wich cd Icon you want to install with wich Name
; It requires initialization of variables:
;
; In "DefaultIcon" ci deve essere quella accesa di default
; 
; Rid in "IconChoose" qual icona
; 0 nessuna - 1 AmiCDFilesystem
; 2 AmiCDFS - 3 CDfilesystem - 4 CDplusplusFS
;
  (
    (set IconChoose
     
           (askchoice
                (prompt "Scegli per quale CD-Filesystem installare l'icona")
                (help
                        "Potete scegliere per quale filesystem"
                        " installare il pacchetto.\n"
                        "Nel caso che abbiate installato il"
                        " CDpluplusFS , scegliete quest'ultimo.\n"
                        "\n"
                        "Se il filesystem in vostro possesso"
                        " non  presente tra quelli nella lista"
                        " scegliete -Nessuno- e modificate nei"
                        " tooltype dell'icona del vostro device"
                        " CD la voce Device con\nDevice=cd.device\n"
                        "e la voce Unit con\nUnit=0\n"
                        @askchoice-help
                )
                (choices
                        "-Nessuno"
                        "-AmiCDFileSystem - by Nicola Salmoria"
                        "-cdrom-handler   - by Frank Munkert"
                        "-CDFileSystem    - by CBM Commodore"
                        "-CDplusplusFS    - by CD++"
                )
                (default DefaultIcon)
           )
    )
  )
)
;///

;/// Proc GetDevName
;
;  in DevName si ritrova il nome da usare per l'icona
;


(procedure GetDevName
   
   (
     (set DevName
           (askstring
                     (prompt "Scrivi il nome per il device CD-Rom senza i due punti\nEs. CD0")
                     (help
                             "Il nome scelto sar quello del"
                             " Device fisico\n"
                             "E' conveniente non scegliere"
                             " nomi troppo lunghi\n"
                             "\nE' consigliabile CD0 o CD1 ecc."
                             " dato che molti programmi cercano"
                             " questo nome\n"
                     )
                     (default "CD0")
           )
     )
   )
)
;///

;/// Proc AskAutoMount
;
;
(procedure AskAutoMount
;
; Chiede se l'icona deve essere inserita nel devs Dosdrivers o nel
; storage dosdrivers
;
  (
    (set AutoMount
     
           (askbool
                (prompt "Vuoi che il device Atapi venga montato"
                        " automaticamente ad ogni riavvio ,od"
                        " a ogni accensione ?"
                )
                (help
                        "Rispondendo positivamente l'icona del"
                        " device verr posta nel cassetto:\n"
                        "Devs:Dosdrivers\n"
                        "In questo modo il lettore CD-ROM sar disponibile"
                        " ad ogni riavvio o accensione della macchina\n\n"
                        "Altrimemti in: Storage:DosDrivers\n"
                        "ed il lettore sar utilizzabile solo dopo aver cliccato due volte sulla sua Icona"
                )
                (choices
                        "Monta al Riavvio"
                        "No,Montaggio manuale"
                )
                (default 1)
           )
    )
  )
)
;///


; *************************************************************************
; *                         ACTUAL START OF SCRIPT
; *
; * Ask all questions for the user now, do all of the work later.
; *************************************************************************
;
;/// MAIN SCRIPT
(onerror

)
; ****************************
;  Check for OS Version
; ****************************

(if (= DemoVersion 1)
    (message "\n" "\n"
             "Attenzione: Questa  una versione DEMO\n"
             "del Pacchetto A1200 Atapi_Ita !\n"
             "PUOI RIDISTRIBUIRE IL DISCO\n"
             "COMPLETO A CHIUNQUE (tranne ai Crakker)" "\n"
             "\n" "\n" "\n"
             "Atapi Plug'n Play is Copyright by \n"
             "Georg Campana & Marco Campinoti 1994"
             (help "Per avere la versione registrata , completamente funzionante leggete il manuale o chiamate : 0565/850621 e 0565/853005")
    )
)


; ****************************
; ****************************
;

(set DirPath "SYS:")

(setDirPath)

(set @default-dest DirPath)

(set devdest  (tackon @default-dest "Devs"))
(set fsdest   (tackon @default-dest "L"))
(set utildest (tackon @default-dest "Utilities"))


(setPkgOpts)

(set DefaultIcon 0)

(if (= (exists (tackon fsdest "AmiCDFileSystem")) 1)
    (set DefaultIcon 1)
)

(if (= (exists (tackon fsdest "cdrom-handler")) 1)
    (set DefaultIcon 2)
)

(if (= (exists (tackon fsdest "CDFileSystem")) 1)
    (set DefaultIcon 3)
)

(if (IN PkgOpts 1)
    (set DefaultIcon 4)
)

(AskFsIcon)

(select IconChoose
   (set FsName 0)
   (set FsName "AmiCDFS")
   (set FsName "AmiCDHandler")
   (set FsName "CbmCDFS")
   (set FsName "CDplusplusFS")
)


(set AutoMount 1)
(set DevName "CD0")

(if (> @user-level 1)

    (if (<> IconChoose 0)
        (
         (GetDevName)
         (AskAutoMount)
        )
    )
)

(if (= AutoMount 1)
    (set Icondest  (tackon @default-dest "Devs"))
    (set Icondest  (tackon @default-dest "Storage"))
)





(if (IN PkgOpts 0)
    (set MemSpace (+ MemSpace 16000))
)
(if (IN PkgOpts 1)
    (set MemSpace (+ MemSpace 23000))
)
(if (IN PkgOpts 2)
    (set MemSpace (+ MemSpace  9000))
)
(if (IN PkgOpts 3)
    (set MemSpace (+ MemSpace 30000))
)
(if (IN PkgOpts 4)
    (set MemSpace (+ MemSpace 14000))
)
(if (<> IconChoose )
    (set MemSpace (+ MemSpace 1000))
)

(if (< (getdiskspace DirPath) MemSpace)
    (if(> (getdiskspace DirPath) 0)
       (
          (abort "ATTENZIONE: Lo spazio disponibile\n"
                 ("sul disco %s\n" DirPath)
                 (" di soli %ld bytes\n" (getdiskspace DirPath) )
                 ("e ne servono almeno %ld\n" MemSpace)
                 "\n"
                 "Rilanciate l'icona di Installazione\n"
                 "e selezionate meno utility , oppure\n"
                 "cancellate qualche file dal vostro\n"
                 ("disco %s\n" DirPath)
          )
       )
    )
)














; if bit position 0 is on  Installa device
(if (IN PkgOpts 0)
     (

        
        (if (< (exists devdest (noreq)) 2)

            (makedir devdest
               (prompt "Creo una directory -Devs-")
               (infos)
            )
        )


        (copylib
            (prompt "Installo Device Driver")
            (source (tackon Disk1Name "devs/cd.device"))
            (dest devdest)
            (optional force)
        )
        

     )
)
; if bit position 1 is on Installa FileSystem
(if (IN PkgOpts 1)
     (

        
        (if (< (exists fsdest (noreq)) 2)

            (makedir fsdest
               (prompt "Creo una directory -L-")
            )
        )


        (copylib
            (prompt "Installo FileSystem della CD++")
            (source (tackon Disk1Name "l/CDplusplusFS"))
            (dest fsdest)
            (optional force)
        )
        

     )
)

; if bit position 2 is on Installa MAP
(if (IN PkgOpts 2)
     (

        
        (if (< (exists utildest (noreq)) 2)

            (makedir utildest
               (prompt "Creo una directory -Utilities-")
               (infos)
            )
        )


        (copyfiles
            (prompt "Installo Mini Atapi Player")
            (source (tackon Disk1Name "utilities/MAP"))
            (dest utildest)
            (infos)
            (optional force)
        )
        

     )
)

; if bit position 3 is on Installa TRKDownLoad
(if (IN PkgOpts 3)
     (

        
        (if (< (exists utildest (noreq)) 2)

            (makedir utildest
               (prompt "Creo una directory -Utilities-")
               (infos)
            )
        )


        (copyfiles
            (prompt "Installo TrkDownLoader")
            (source (tackon Disk1Name "utilities/TRKDownLoad"))
            (dest utildest)
            (infos)
            (optional force)
        )
        

     )
)

; if bit position 4 is on Installa PlayCDXL
(if (<> DemoVersion 1)
   (if (IN PkgOpts 4)
        (

           
           (if (< (exists utildest (noreq)) 2)

               (makedir utildest
                  (prompt "Creo una directory -Utilities-")
                  (infos)
               )
           )


           (copyfiles
               (prompt "Installo PlayCDXL")
               (source (tackon Disk1Name "utilities/PlayCDXL"))
               (dest utildest)
               (infos)
               (optional force)
           )
           

        )
   )
)
(if (> IconChoose 0)
    (
        (if (< (exists Icondest (noreq)) 2)

            (makedir Icondest
               (prompt "Creo una directory Devs o Storage")
               (infos)
            )
        )

        (set Icondest  (tackon Icondest "Dosdrivers"))
         
        (copyfiles
            (prompt "Installo l'Icona del Device")
            (source (tackon Disk1Name (tackon "Devs/Storage" FsName)))
            (dest IconDest)
            (newname  DevName)
            (infos)
            (optional force)
        )

    
        (if (= AutoMount 1)
            ( message "\n" "\n"
                   "Ad ogni riavvio del calcolatore o ad ogni\n"
                   "accensione- il lettore CD-ROM verr \"Montato\"\n"
                   "automaticamente !\n"
                   "\n"
                   "Potete disabilitare questo automatismo\n"
                   ("trascinando l'icona %s dal cassetto " DevName)
                   "Devs/Dosdrivers nel cassetto Storage/Dosdrivers\n"
            )
            ( message "\n" "\n"
                   "Potete \"Montare\"\n il lettore CD-ROM\n"
                   ("cliccando semplicemente sull'Icona %s\n" DevName)
                   "nel cassetto Storage/Dosdrivers\n"
                   "Per abilitare il montaggio automatico\n"
                   "trascinate l'Icona nel cassetto Devs/Dosdrivers"
            )
        )
    )
    ( message "\n" "\n"
           "Non  stata installata alcuna Icona per\n"
           "il montaggio del lettore CD-ROM .\n"
           "E' necessario quindi costruirsi quest'ultima\n"
           "autonomamente seguendo le istruzioni del\n"
           "proprio filesystem !\n"
           "\n"
           "Potete anche rilanciare l'icona di installazione\n"
           "e selezionare un filesystem alla richiesta\n"
    )

)

(exit)
;///
