;----------------------------------------------------------------------------- ; Script to install Picasso96 ; ; $VER: InstallPicasso96 2.3 (04.8.98) ; ; Short history (v2.3): ; - removed PicassoII stuff because Picasso96 v1.40 is shareware for it ; - included percentage display. ; ;----------------------------------------------------------------------------- ;============================================================================= ; Configuration defaults ;============================================================================= (set #MinSysVersion 39) (set #LibsDefaultPath "SYS:Libs") (set #ToolDefaultPath "SYS:WBStartup") (set #MonitorsDefaultPath "SYS:Devs/Monitors") (set #SettingsDefaultName "SYS:Devs/Picasso96") (set #PrefsDefaultPath "SYS:Prefs") (set #MainPath "Picasso96") ;============================================================================= ; English strings ;============================================================================= (if (= @language "english") ( ; Errors (set #Err-Bad-Kick "You need at least KickStart 3.0 to run Picasso96!") (set #Err-Bad-CPU "You need at least a Motorola M68020 CPU to run Picasso96!") (set #Err-Installer "This installation requires version 43 of the installer tool .") ; FlashUpdate (set #update (cat "In order to get all features working the Installscript will check wheter " "your firmware must be updated or not. While this process is running, your Amiga " "will appear to be frozen. This is not a sign of malfunction, " "it is perfectly in order.\n\n" "Do not switch off or restart your Amiga until the installation " "process tells you so. If the update process is aborted, the " "operating system will no longer recognize the Picasso IV.\n\n" "Should this happen, insert the installation disk and reboot " "your Amiga; it should boot from the installation disk and " "will automatically reinstall the firmware." )) (set #updating (cat "Updating the Picasso IV firmware.\n\nDO NOT SWITCH OFF OR" "REBOOT YOUR AMIGA!" )) (set #update_complete (cat "Firmware update completed." )) ; Message (set #Message (cat "Your Picasso IV graphics card requires the Picasso96 software to work, " "which this program will install.\n\nThe Picasso96 software is also available " "for other graphics card models. For more information, please contact Village Tronic." ) ) ; Monitor (set #31kHzMonitor "31 kHz") (set #35kHzMonitor "35 kHz") (set #38kHzMonitor "38 kHz") (set #48kHzMonitor "48 kHz") (set #57kHzMonitor "57 kHz") (set #64kHzMonitor "64 kHz or greater") (set #AskMonitor (cat "Which horizontal scan rates can your monitor handle? " "This value determines which screen resolutions will be made " "available.\n\nCAUTION!\n\nIf the value you choose is too high " "your monitor can take irreversible damage.\nYou can find more " "information under Help." )) (set #AskMonitorHelp (cat "Please consult the manual of your monitor for the horizontal " "scan rate values it is able to handle.\n\n If you cannot find this " "information or do not have the manual handy, you should choose the " "preset value of 31 kHz.\n\n The larger the value you choose the " "higher graphics resolutions will be made available and the less " "flicker the screen will show. But if you choose too high a value your " "monitor cannot handle, the device will take irreversible damage!" ) ) ; Main (set #SelectMainDir "Where do you want to have the support files installed?\nA drawer named Picasso96 will be created there.") (set #SelectMainDirHelp (cat "A new drawer named Picasso96 will be created to hold the support files." ) ) ; Cleanup (set #CleanupMsg (cat "Your system partition is being scanned for programs and files whose presence " "would conflict with the functionality of the Picasso96 software.\n" "These files will be removed and placed into a special drawer. " "Any monitor drivers found will be moved into SYS:Storage/Monitors, " "all other files will be stored in the drawer SYS:P96Backup." )) (set #CleanupHelp (cat "Certain programs and files that are invoked during system startup are not " "compatible with the Picasso96 software. To avoid conflicts, they will be " "removed and stored in a special drawer." )) (set #CleanupWork (cat "Scanning the system partition..." )) ; Install (set #Msg-Installing "Installing the Picasso96 graphics system files.") ; Exit (set #ExitMsg (cat "The installation of the Picasso96 software is complete.\n\n" "You will find the software documentation in the %s drawer.\n\n" "To activate the software your Amiga must be reset. " "Remove the installation disk from the drive and select Continue " "to reset your Amiga." )) ) ) ;============================================================================= ; German strings ;============================================================================= (if (= @language "deutsch") ( ; Errors (set #Err-Bad-Kick "Sie benötigen mindestens Kickstart 3.0 zum Betrieb der Picasso96 Software!") (set #Err-Bad-CPU "Sie benötigen mindestens eine Motorola MC68020 CPU zum Betrieb der Picasso96 Software!") (set #Err-Installer "Dieses Installationsskript benötigt Version 43 des Installer Programmes.") ; FlashUpdate (set #update (cat "Um alle Features zu aktivieren wird dieser Installskript nun kontrollieren und bei " "Bedarf Ihre Firmware aktualisieren. Während dieser Vorgang " "läuft, wird das Betriebssystem des Amigas kurz angehalten. Dies ist kein " "Zeichen für einen Systemabsturz, es ist alles völlig in Ordnung.\n\n" "Schalten Sie Ihren Amiga nicht aus oder starten ihn neu, bis daß der " "Aktualisierungsvorgang abgeschlossen ist. Wird der Vorgang unterbrochen, " "so wird der Amiga die Picasso IV nicht mehr erkennen.\n\n" "Sollte dies passieren, so lassen Sie die Installationsdiskette eingelegt " "und starten Sie den Amiga neu. Der Rechner sollte dann von der Diskette " "hochfahren und die Firmware neu installieren." )) (set #updating (cat "Die Firmware der Picasso IV wird aktualisiert.\n\n" "SCHALTEN SIE IHREN AMIGA JETZT AUF KEINEN FALL AUS ODER STARTEN IHN NEU!" )) (set #update_complete (cat "Die Aktualisierung der Firmware ist abgeschlossen." )) ; Message (set #Message (cat "Ihre Picasso IV Grafikkarte benötigt zum Arbeiten die Picasso96 Software, die Sie " "mit diesem Programm installieren können.\n\nDie Picasso96 Software ist auch für andere " "Grafikkartenmodelle erhältlich, Informationen hierzu erhalten Sie direkt bei Village Tronic." ) ) ; Monitor (set #31kHzMonitor "31 kHz") (set #35kHzMonitor "35 kHz") (set #38kHzMonitor "38 kHz") (set #48kHzMonitor "48 kHz") (set #57kHzMonitor "57 kHz") (set #64kHzMonitor "64 kHz oder höher") (set #AskMonitor (cat "Welche Horizontalfrequenz kann Ihr Monitor handhaben? " "Dieser Wert entscheidet darüber, welche Grafikauflösungen " "zur Verfügung gestellt werden.\n\nVORSICHT!\n\nWählen Sie einen " "zu hohen Wert, kann Ihr Monitor beschädigt werden.\nUnter " "Hilfe finden Sie weitere Informationen." )) (set #AskMonitorHelp (cat "Im Handbuch Ihres Monitors werden Sie Informationen darüber finden, " "welche Horizontalfrequenz für Ihr Gerät verträglich ist.\n\n Finden Sie " "diese Informationen nicht auf Anhieb oder haben Sie das Handbuch " "Ihres Monitors nicht zur Hand, sollten Sie den vorgegebenen Wert " "von 31 kHz verwenden.\n\n Je höher der Wert ist, den Sie wählen, desto " "höhere Grafikauflösungen werden zur Verfügung gestellt und um so " "weniger wird das Bild flimmern. Wählen Sie jedoch einen zu hohen " "Wert, der Ihren Monitor überfordert, kann das Gerät irreparablen " "Schaden nehmen!" ) ) ; Main (set #SelectMainDir "Wo sollen die anderen Dateien installiert werden?\nEine neue Schublade mit Namen Picasso96 wird dort installiert.") (set #SelectMainDirHelp (cat "In der Schublade werden eine Reihe von Zubehördateien installiert, die für den alltäglichen " "Betrieb nicht unbedingt benötigt werden." ) ) ; Cleanup (set #CleanupMsg (cat "Ihre Systempartition wird nach Programmen und Dateien durchsucht, deren " "Vorhandensein das Funktionieren der Picasso96 Software gefährden würde.\n" "Diese Dateien werden entfernt und an einer speziellen Schublade gespeichert. " "Bei der Suche gefundene, nicht verträgliche Monitortreiber werden in die " "Schublade SYS:Storage/Monitors kopiert. Alle anderen gefundenen Dateien " "können Sie in der Schublade SYS:P96Backup wiederfinden." )) (set #CleanupHelp (cat "Bestimmte Programme und Dateien, die beim Systemstart aufgerufen werden, " "sind nicht mit der Picasso96 Software verträglich. Um Konflikte zu " "vermeiden, werden diese Dateien in einer speziellen Schublade untergebracht." )) (set #CleanupWork (cat "Die Systempartition wird durchsucht..." )) ; Install (set #Msg-Installing "Das Picasso96 Grafiksystem wird installiert.") ; Exit (set #ExitMsg (cat "Die Installation der Picasso96 Software ist abgeschlossen.\n\n" "Die Dokumentation finden Sie in der Schublade %s.\n\n" "Um die Software zu aktivieren, muß Ihr Amiga neu gestartet werden. " "Entfernen Sie zunächst die Installationsdiskette aus dem Laufwerk " "und wählen Sie dann Weiter, um Ihren Amiga neu zu starten." )) ) ) ;============================================================================= ; Procedures ;============================================================================= (procedure P_MakeDir #path #name ( (if (> (exists #path) 0) ( (set #full (tackon #path #name)) (if (< (exists #full) 2) ( (makedir #full) )) )) )) (procedure P_MoveFile #SrcFile #DstDrawer ( (if (> (exists #Srcfile) 0) ( (if (< (exists #DstDrawer) 2) ( (makedir #DstDrawer (infos)) )) (copyfiles (source #SrcFile) (dest #DstDrawer) (infos) (nogauge) ) (delete #SrcFile (infos)) )) )) (procedure P_Cleanup ( (if (< (exists "SYS:P96Backup") 2) ( (makedir "SYS:P96Backup" (infos)) )) (P_MoveFile "SYS:Expansion/village.library" "SYS:P96Backup/Expansion") (P_MoveFile "SYS:WBStartup/E.S.P." "SYS:P96Backup/WBStartup") (P_MoveFile "SYS:WBStartup/EGSAmigaDriver" "SYS:P96Backup/WBStartup") (P_MoveFile "SYS:WBStartup/EGSStartup" "SYS:P96Backup/WBStartup") (P_MoveFile "SYS:WBStartup/retinaemu" "SYS:P96Backup/WBStartup") (P_MoveFile "Libs:vilintuisup.library" "SYS:P96Backup/Libs") (P_MoveFile "Libs:retina.library" "SYS:P96Backup/Libs") (P_MoveFile "Libs:cybergraphics.library" "SYS:P96Backup/Libs") (P_MoveFile "Libs:cyberintuition.library" "SYS:P96Backup/Libs") (P_MoveFile "Libs:cyberlayers.library" "SYS:P96Backup/Libs") (P_MoveFile "Devs:Monitors/Picasso" "SYS:Storage/Monitors") (P_MoveFile "Devs:Monitors/EGS" "SYS:Storage/Monitors") (P_MoveFile "Devs:Monitors/Spectrum" "SYS:Storage/Monitors") (P_MoveFile "Devs:Monitors/PicoRetarget" "SYS:Storage/Monitors") (P_MoveFile "Devs:Monitors/Piccolo" "SYS:Storage/Monitors") (P_MoveFile "Devs:Monitors/Domino" "SYS:Storage/Monitors") (P_MoveFile "Devs:Monitors/RetinaZ3" "SYS:Storage/Monitors") (P_MoveFile "Devs:Monitors/PiccoSD64" "SYS:Storage/Monitors") (P_MoveFile "Devs:Monitors/CyberVision" "SYS:Storage/Monitors") (P_MoveFile "Devs:Monitors/A2410" "SYS:Storage/Monitors") (P_MoveFile "Devs:Monitors/A2024" "SYS:Storage/Monitors") (P_MoveFile "Devs:Monitors/DblNTSC" "SYS:Storage/Monitors") (P_MoveFile "Devs:Monitors/DblPAL" "SYS:Storage/Monitors") (P_MoveFile "Devs:Monitors/Euro36" "SYS:Storage/Monitors") (P_MoveFile "Devs:Monitors/Euro72" "SYS:Storage/Monitors") (P_MoveFile "Devs:Monitors/Multiscan" "SYS:Storage/Monitors") (P_MoveFile "Devs:Monitors/Super72" "SYS:Storage/Monitors") (P_MoveFile "Devs:Monitors/VGAOnly" "SYS:Storage/Monitors") )) (procedure P_InstallChip #chipname ( (copylib (source (tackon "libs/Picasso96" (cat #chipname ".chip"))) (dest (tackon #LibsDefaultPath "Picasso96")) ) )) (procedure P_InstallCard #boardname #settingsname ( (copylib (source (tackon "libs/Picasso96" (cat #boardname ".card"))) (dest (tackon #LibsDefaultPath "Picasso96")) ) (copylib (source "devs/monitors/Picasso96") (dest #MonitorsDefaultPath) (newname #boardname) (infos) ) (tooltype (dest (tackon #MonitorsDefaultPath #boardname)) (settooltype "BoardType" #boardname) (settooltype "SettingsFile" (tackon #SettingsDefaultName #boardname)) (settooltype "(DisplayChain" "Yes)") (settooltype "IgnoreMask" "Yes") (settooltype "(SoftSprite" "Yes)") (settooltype "(BigSprite" "Yes)") (settooltype "(BorderBlank" "Yes)") (noposition) ) (copyfiles (source (tackon "devs" (cat #boardname #settingsname))) (dest #SettingsDefaultName) (newname #boardname) ) (copyfiles (source "devs/icon") (dest #SettingsDefaultName) (newname (cat #boardname ".info")) ) (tooltype (dest (tackon #SettingsDefaultName #boardname)) (settooltype "BoardType" #boardname) (settooltype "ModeFile" (tackon #SettingsDefaultName #boardname)) (noposition) ) )) (procedure P_CopyLibWithIcon #source #dest ( (copylib (source #source) (dest #dest) (infos) ) (tooltype (dest (tackon #dest (fileonly #source))) (noposition) ) )) (procedure P_CopyFilesWithIcon #source #dest ( (copyfiles (source #source) (dest #dest) (infos) ) (tooltype (dest (tackon #dest (fileonly #source))) (noposition) ) )) (procedure P_UnlockIcon #name ( (if (<> (exists #name) 0) ( (tooltype (dest #name) (noposition) ) )) )) ;============================================================================= ; Install ... ;============================================================================= (if (< (/ @installer-version 65536) 43) ( (abort #Err-Installer) )) (if (< (getversion) (* #MinSysVersion 65536)) (abort #Err-Bad-Kick) ) (if (patmatch "(68000|68010)" (database "cpu")) (abort #Err-Bad-Cpu) ) ;============================================================================= ; Check whether the firmware needs updating ;============================================================================= (if (> (run ":C/P4Detect" (safe)) 0) ( (message #update) (working #updating) (run ":C/P4FlashUpdate") (message #update_complete) )) (complete 10) (welcome #Message) ;============================================================================= ; Ask the user about the monitor specs ;============================================================================= (set #olduserlevel @user-level) (user 1) (set #monitor (askchoice (prompt #AskMonitor) (help #AskMonitorHelp) (choices #31kHzMonitor #35kHzMonitor #38kHzMonitor #48kHzMonitor #57kHzMonitor #64kHzMonitor) (default 0) ) ) (set #settingssource (select #monitor ".31" ".35.5" ".38" ".48" ".57" ".64" ) ) (user #olduserlevel) (complete 20) ;============================================================================= ; Ask for the storage directory ;============================================================================= (set #mainpathroot (askdir (prompt #SelectMainDir) (help #SelectMainDirHelp) (default @default-dest) (newpath) (disk) ) ) (set @default-dest (tackon #mainpathroot #MainPath)) ;============================================================================= ; Clean up obsolete files ;============================================================================= (message #CleanupMsg (help #CleanupHelp)) (working #CleanupWork) (P_Cleanup) (complete 30) ;============================================================================= ; Install the system files ;============================================================================= (working #Msg-Installing) (copylib (source "libs/Picasso96API.library") (dest #LibsDefaultPath) ) (P_MakeDir #LibsDefaultPath "Picasso96") (if (= (exists #SettingsDefaultName) 0) ( (makedir #SettingsDefaultName (infos)) )) (copylib (source "libs/Picasso96/fastlayers.library") (dest (tackon #LibsDefaultPath "Picasso96")) ) (copylib (source "libs/Picasso96/emulation.library") (dest (tackon #LibsDefaultPath "Picasso96")) ) (copylib (source "libs/Picasso96/rtg.library") (dest (tackon #LibsDefaultPath "Picasso96")) ) (copylib (source "classes/datatypes/picture.datatype") (dest "SYS:classes/datatypes") ) (P_InstallChip "CirrusGD5446") (P_InstallCard "PicassoIV" #settingssource) (complete 40) ;============================================================================= ; Install PicassoModeTNG ;============================================================================= (working #CopyPicassoMode) (set #pmtng (tackon @default-dest "PicassoModeTNG")) (if (= (exists #pmtng) 0) ( (makedir #pmtng (infos)) )) (makedir "RAM:PMTNG") (run ":C/LX -q x PicassoModeTNG/PMTNG.lha RAM:PMTNG/" (safe)) (P_CopyLibWithIcon "RAM:PMTNG/PicassoModeTNG" #pmtng) (copylib (source "RAM:PMTNG/gtlayout.library") (dest "Libs:") ) (copyfiles (source "RAM:PMTNG/monitor.defaults") (dest #pmtng) ) (P_MakeDir #pmtng "catalogs") (P_MakeDir #pmtng "catalogs/deutsch") (copyfiles (source "RAM:PMTNG/catalogs/deutsch/pmtng.catalog") (dest (tackon #pmtng "catalogs/deutsch")) ) (if (= @language "english") ( (P_CopyFilesWithIcon "RAM:PMTNG/PicassoModeTNG.doc" #pmtng) )) (if (= @language "deutsch") ( (P_CopyFilesWithIcon "RAM:PMTNG/PicassoModeTNG.dok" #pmtng) )) (complete 50) ;============================================================================= ; Install the utility programs ;============================================================================= (if (= 0 (exists #ToolDefaultPath)) ( (makedir #ToolDefaultPath (icons)) )) (P_CopyLibWithIcon "Utilities/AudioSelect" #ToolDefaultPath) (if (= @language "english") ( (P_CopyFilesWithIcon "Utilities/AudioSelect.doc" #pmtng) )) (if (= @language "deutsch") ( (P_CopyFilesWithIcon "Utilities/AudioSelect.dok" #pmtng) )) (if (<> (getassign "locale" "a") "") ( (P_MakeDir "Locale:" "catalogs") (P_MakeDir "Locale:" "catalogs/deutsch") (copyfiles (source "Utilities/catalogs/deutsch/AudioSelect.catalog") (dest "Locale:catalogs/deutsch") ) )) (complete 60) (copyfiles (source "Picasso96") (dest @default-dest) (all) ) (complete 70) (makedir (tackon @default-dest "Drivers") (infos)) (copyfiles (source "drivers") (dest (tackon @default-dest "Drivers")) (all) ) (P_UnlockIcon (tackon (tackon @default-dest "Drivers") "ShapeShifter")) (P_UnlockIcon (tackon (tackon @default-dest "Drivers") "ADPro")) (P_UnlockIcon (tackon (tackon @default-dest "Drivers") "Photogenics")) (P_UnlockIcon (tackon (tackon @default-dest "Drivers") "XiPaint")) (complete 80) ;============================================================================= ; Conclude the installation ;============================================================================= (copylib (source "installer") (dest "SYS:Utilities") ) (copyfiles (source "Reboot") (dest "RAM:") (nogauge) ) (complete 100) (message (#ExitMsg @default-dest)) (user 0) (run "RAM:Reboot")