Obligement - L'Amiga au maximum

Vendredi 06 juin 2025 - 12:18  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

Actualité (récente)
Actualité (archive)
Comparatifs
Dossiers
Entrevues
Matériel (tests)
Matériel (bidouilles)
Points de vue
En pratique
Programmation
Reportages
Quizz
Tests de jeux
Tests de logiciels
Tests de compilations
Trucs et astuces
Articles divers

Articles in English


Réseaux sociaux

Suivez-nous sur X




Liste des jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z,
ALL


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Galeries

Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


Contact

David Brunet

Courriel

 


En pratique : Explication de la startup-sequence sous AmigaOS 3.x
(Article écrit par Sébastien Vendroux - mai 1999)


Quel nom bizarre disent nos confrères ou ennemis PCistes, Macistes lorsque par hasard ce mot sort de notre bouche. Quelle bande d'envieux ! La startup-sequence est encore une preuve qu'AmigaOS est tout à fait bien conçu.

Cette séquence de démarrage (in french) est un script qui permet au Workbench de se lancer et initialise donc tout ce dont il a besoin : affichage, préférences, assignements divers, etc. La startup-sequence est donc indispensable au déroulement d'un démarrage "correct". Mais il peut devenir aussi très intéressant de l'embellir avec des images de démarrage, jauges, sons, mais elle peut être aussi l'occasion de lancer quelques correctifs divers.

Ce script se trouve dans le répertoire S: du disque système.

Déroulement de la startup-sequence (pour AmigaOS 3.x)

Mise en garde : cette startup-sequence peut différer d'un Amiga à un autre et il est possible que votre startup-sequence contienne les éléments suivants dans un autre ordre.

(1) C:SetPatch QUIET

Comme tout système d'exploitation informatique, AmigaOS n'échappe à la règle des bogues en tout genre. Mais, au moins il en propose le correctif pour certains d'entre eux par l'intermédiaire de la commande SetPatch.

SetPatch active notamment les circuits AGA.

L'argument QUIET permet de dire à SetPatch de la fermer afin qu'il ne nous offre pas la liste des bogues qu'il corrige.

(2) C:AddBuffers >NIL: DF0: 100

Ajoute des tampons de mémoire au lecteur de disquette DF0: pour rendre ses transferts plus rapides.

(3) C:MakeDir RAM:T RAM:Clipboards RAM:Env RAM:Env/sys
Copy Sys:Prefs/Envarc RAM:env ALL NOREQ

Création de répertoires utilisés par le système. Puis copie des fichiers de préférences du Workbench et de vos applications dans Env: (en mémoire donc) afin de retrouver votre Workbench comme vous l'avez laissé auparavant.

(4) Resident >NIL: C:Assign PURE
Resident >NIL: C:Execute PURE


Ces deux commandes servent à mettre en mémoire les commandes Assign et Execute afin qu'elles ne soient plus accédées à partir du disque à chaque fois qu'on en a besoin, cela permet d'y accéder plus rapidement et ainsi d'accélérer la séquence de démarrage.

(5) Assign >NIL: ENV: RAM:ENV
Assign >NIL: T: RAM:T
Assign ...etc.


Voici là une des parties majeures de la startup-sequence et de plus celle qui met le plus de temps à se mettre en place même si la commande Resident (4) en accélère la procédure. Les assignations permettent d'accéder à un répertoire comme s'il s'agissait d'un disque (exemple : Assign Jeux: Work:rigolo/jeux/).

(6) IF EXISTS Devs:Monitors
IF EXISTS Devs:Monitors/VGAonly
Devs:Monitors/VGAonly
ENDIF


Le premier IF vérifie l'existence du répertoire contenant les pilotes de moniteurs. Cette condition est bouclée en fin du 7 avec ENDIF. Donc, 6 et 7 sont indiscernables l'un de l'autre.

6 permet d'exécuter le programme ou plutôt le correctif VGAOnly qui a pour fonction d'activer les moniteurs à fréquence non-PAL et non-NTSC, elle autorise, en outre, leur utilisation mais favorise celle des modes dits VGA (sur écrans SVGA ou multisync).

(7) C:List >NIL: Devs:Monitors/~(#?.info|VGAOnly) TO T:M LFORMAT
"Devs:monitors/%s"
Execute T:M
C:Delete >NIL: T:M
ENDIF


Cette deuxième partie crée une liste exhaustive de tous les pilotes présents dans le répertoire Devs:Monitors et exécute ces pilotes d'écran. Il prend tout de même garde de ne pas exécuter à nouveau le programme VGAOnly.

(8) IF NOT EXISTS Sys:Fonts
Assign FONTS:
ENDIF


Ces commandes vérifient l'existence d'un tiroir Fonts: sur votre partition de démarrage, dans le cas contraire, une assignation est effectuée vers Fonts: qui contiendra alors toutes les polices de caractères présentes dans le répertoire Fonts: d'autres partitions ou lecteurs.

(9) C:Mount >NIL: Devs:DOSDrivers/~(#?.info)

Montage de tous les périphériques spécifiés dans le répertoire Devs:DOSDrivers.

(10) C:IPrefs

IPrefs pour "Intuition Preferences".
Ce programme se sert de tous les fichiers en .prefs du répertoire Env:sys pour définir les caractéristiques de l'environnement du Workbench (résolution, fond d'écran, sons, etc.) ainsi que pour mettre en place les icônes par défaut attribués aux fichiers sans icônes (fichiers .info du répertoire Env:sys).

(11) C:ConClip

Ajout des fonctions de presse-papiers dans le Shell.

(12) Path >NIL: RAM: C: SYS:Utilities SYS:Rexxc SYS:System S: SYS:Prefs SYS:WBStartup SYS:Tools SYS:Tools/Commodities

La commande Path permet d'assigner les répertoires voulus de façon à ce que les fichiers présents dans ces tiroirs soient accessibles directement en tapant leur nom dans un Shell, sans se soucier de leur chemin complet.

Exemple : "SYS:Tools/Commodities/Exchange" pour être accédé directement par "Exchange".

(13) IF EXISTS S:user-startup
Execute S:user-startup
EndIF


Cela exécute la user-startup (script de démarrage personnalisé) si elle existe.

(14) Resident Execute REMOVE
Resident Assign REMOVE


Retire de la mémoire les commandes Execute et Assign car on n'a plus besoin d'y accéder de façon régulière.

(15) C:LoadWB
EndCLI >NIL:


Lance le Workbench (enfin prêt à nous accueillir !) et ferme la fenêtre CLI active.

Amélioration et ajouts dans la startup-sequence

Voici la liste de plusieurs choses possibles à opérer sur la startup-sequence.

Le menu "Debug" du Workbench

Comment faire : en 15 remplacez C:LoadWB par C:LoadWB -debug
Ajoute un menu "Debug" au Workbench avec deux choix : FlushLibs et ROMWack.

Le programme FastIPrefs

Comment faire : remplacez en 10 la commande IPrefs par FastIPrefs.
Où est FastIprefs ? Sur Aminet dans util/boot/FastIPrefs4035.lha.
L'indispensable FastIprefs accélère Intuition et ajoute des fonctionnalités au programme de préférences WBPattern.

Le programme AddDatatypes

Comment faire : entre 7 et 8 insérez la ligne: C:AddDatatypes Devs:datatypes REFRESH.
Où est AddDatatype ? Avec les nouvelles bibliothèques datatypes.library. Sur Aminet.
Permet de réactualiser votre liste de datatypes si vous en avez ajouté.

Les correctifs en tout genre (PoolMem, FFPPatch, PatchMult64, etc.).

Tous ces correctifs sont à insérer entre 1 et 2.
Disponibles sur Aminet.

Le correctif BlizKick

Il faut le mettre tout au début de la startup-sequence. Uniquement pour les possesseurs de cartes accélératrices Blizzard et CyberStorm. Il permet d'activer une ROM logicielle (attention à la légalité) et de corriger ou ajouter des fonctions à AmigaOS. Par exemple, il joue l'office de PrepareEmul pour ShapeShifter.
Disponible sur aminet.net/util/boot/BlizKick.lha.

Programmes d'affichage d'une musique et parfois lecture d'une musique.

Ces programmes doivent être placés après le 7.
Exemple : le très bon SysPic (malheureusement non compatible RTG) disponible sur Aminet.

Alors, heureux ?

La startup-sequence n'est pas un concept si compliqué et est surtout très simple à personnaliser. La prochaine fois, nous verrons qu'il est possible d'améliorer le Workbench grâce à la programmation (notamment en langage E).

Exemples de startup-sequence

Startup-sequence d'AmigaOS 3.0 sur disque dur :

; $VER: startup-sequence 39.9 (9.8.92)

C:SetPatch QUIET
C:Version >NIL:
C:AddBuffers >NIL: DF0: 15
FailAt 21

C:MakeDir RAM:T RAM:Clipboards RAM:ENV RAM:ENV/Sys
C:Copy >NIL: ENVARC: RAM:ENV ALL NOREQ

Resident >NIL: C:Assign PURE
Resident >NIL: C:Execute PURE

Assign >NIL: ENV: RAM:ENV
Assign >NIL: T: RAM:T
Assign >NIL: CLIPS: RAM:Clipboards
Assign >NIL: REXX: S:
Assign >NIL: PRINTERS: DEVS:Printers
Assign >NIL: KEYMAPS: DEVS:Keymaps
Assign >NIL: LOCALE: SYS:Locale
Assign >NIL: LIBS: SYS:Classes ADD
Assign >NIL: HELP: LOCALE:Help DEFER

IF NOT EXISTS SYS:Fonts
Assign FONTS:
EndIF

BindDrivers
C:Mount >NIL: DEVS:DOSDrivers/~(#?.info)

IF EXISTS DEVS:Monitors
IF EXISTS DEVS:Monitors/VGAOnly
DEVS:Monitors/VGAOnly
EndIF

C:List >NIL: DEVS:Monitors/~(#?.info|VGAOnly) TO T:M LFORMAT "DEVS:Monitors/%s"
Execute T:M
C:Delete >NIL: T:M
EndIF

SetEnv Workbench $Workbench
SetEnv Kickstart $Kickstart
UnSet Workbench
UnSet Kickstart

C:IPrefs

C:ConClip

Path >NIL: RAM: C: SYS:Utilities SYS:Rexxc SYS:System S: SYS:Prefs SYS:WBStartup SYS:Tools SYS:Tools/Commodities

IF EXISTS S:user-startup
Execute S:user-startup
EndIF

Resident Execute REMOVE
Resident Assign REMOVE

C:LoadWB
EndCLI >NIL:

Startup-sequence d'AmigaOS 3.1 pour disquette double densité :

; $VER: Startup-Sequence_LD 40.3 (31.8.93)
; Startup-Sequence for low-density floppies

C:SetPatch QUIET
C:Version >NIL:
C:AddBuffers >NIL: DF0: 15
FailAt 21

C:MakeDir RAM:T RAM:Clipboards RAM:ENV RAM:ENV/Sys
C:Copy >NIL: ENVARC: RAM:ENV ALL NOREQ

Resident >NIL: C:Assign PURE
Resident >NIL: C:Execute PURE

Assign >NIL: ENV: RAM:ENV
Assign >NIL: T: RAM:T
Assign >NIL: CLIPS: RAM:Clipboards
Assign >NIL: REXX: S:
Assign >NIL: PRINTERS: DEVS:Printers
Assign >NIL: KEYMAPS: DEVS:Keymaps
Assign >NIL: LOCALE: SYS:Locale
Assign >NIL: LIBS: SYS:Classes ADD
Assign >NIL: HELP: LOCALE:Help DEFER

IF NOT EXISTS SYS:L
Assign >NIL: L: Extras3.1:L DEFER
EndIF

IF NOT EXISTS SYS:Fonts
Assign FONTS:
EndIF

BindDrivers
C:Mount >NIL: DEVS:DOSDrivers/~(#?.info)

IF EXISTS DEVS:Monitors
IF EXISTS DEVS:Monitors/VGAOnly
DEVS:Monitors/VGAOnly
EndIF

C:List >NIL: DEVS:Monitors/~(#?.info|VGAOnly) TO T:M LFORMAT "DEVS:Monitors/%s"
Execute T:M
C:Delete >NIL: T:M
EndIF

SetEnv Language "english"
SetEnv Workbench $Workbench
SetEnv Kickstart $Kickstart
UnSet Workbench
UnSet Kickstart

C:AddDataTypes REFRESH QUIET

IF "`C:Avail TOTAL`" GE "1250000" VAL
C:LoadResource LIBS:diskfont.library LIBS:iffparse.library LIBS:asl.library LIBS:commodities.library

C:IPrefs

IF NOT $Language EQ "english"
CD LOCALE:Catalogs/$Language
C:LoadResource Sys/workbench.catalog Sys/libs.catalog Sys/prefs.catalog Sys/commodities.catalog Sys/utilities.catalog
CD SYS:
EndIF
Else
C:IPrefs
EndIF

C:ConClip

Path >NIL: RAM: C: SYS:Utilities SYS:Rexxc SYS:System S: SYS:Prefs SYS:WBStartup SYS:Tools SYS:Tools/Commodities

IF EXISTS S:user-startup
Execute S:user-startup
EndIF

Resident Execute REMOVE
Resident Assign REMOVE

C:LoadWB
EndCLI >NIL:

Startup-sequence pour AmigaOS 1.3 sur disque dur :

setpatch
SYS:System/FastMemFirst
binddrivers
assign >NIL: DH0: exists
IF NOT WARN
; hard disk is present
assign sys: dh0:
assign c: SYS:c
assign L: SYS:l
assign FONTS: SYS:fonts
assign S: SYS:s
assign DEVS: SYS:devs
assign LIBS: SYS:libs
makedir RAM:tr
assign t: RAM:tr
execute s:Startup-Sequence
ELSE
; no hard disk
execute s:Startup-Sequence.f
ENDIF


[Retour en haut] / [Retour aux articles]