	BOOTEZ PLUS VITE SOUS MAGIC!

	Ce petit article s'adresse  tous ceux qui trouvent le temps long
lors d'un boot sous Magic (qui reboote une seconde fois aprs le TOS...).
Je prcise par avance que mes indications ne sont valables que pour la
version 5.02 dans laquelle le fichier MAGIC.RAM pse 219022 octets. (ajout:
la version 6.20 de 246240 octets aussi)
	Nanmoins, on peut supposer que la mme squence de code doit se
retrouver sous les autres versions et, qu'en y passant un petit peu de
temps, on pourra adapter les explications qui suivent.

	Ceci tant prcis, il faut savoir que la grosse perte de temps
concerne le lecteur de disquette, son initialisation et son BOOT. C'est
sur ces points prcis que je vais jouer de deux manires diffrentes, 
vous de choisir votre solution idale. Pour cette manipulation, il vous
faudra un petit diteur de disque ou de fichiers (DISKPAC ou HEXEDIT par
exemple).

(Remarque: Les temps sont donns entre le dbut d'un Reset  chaud et
l'apparition de mon programme BOOT.PRG du dossier AUTO :un genre de Xboot
personalis).

La squence normale: 18 secondes 33
-----------------------------------

	A l'offset $1A3C (6716 en dcimal) du fichier MAGIC.RAM se
trouvent les octets suivants:
	(AJOUT: remplacer partout l'offset $1A3C par $1DBA pour
	la version 6.20)

	$2078	move.l $47A.w,a0
	$047a
	$4E90	jsr (a0)
	$4a40	tst.w d0
	$6606	bne.s (vers RTS)
	$2078	move.l $4C6.w,a0
	$04c6
	$4e90	jsr (a0)
	$4e75	rts

	La routine pointe par $47A est lance (initialisation des
disquettes, comptage des lecteurs, chargement du secteur BOOT), elle
renvoit 0 dans d0 si le BOOT est excutable.
	De ce fait, si D0=0, la routine pointe par $4C6 est lance, elle
contient exactement le secteur BOOT du lecteur A:.

Modification n1: 10 secondes 25
--------------------------------

	Toujours  l'offset $1A3C du fichier MAGIC.RAM, crivez plutt
ceci  l'aide d'un diteur de fichiers:

	$2078	move.l $46a.w,a0
	$046a
	$4e90	jsr (a0)
	$4e75	rts

	On appelle seulement la routine pointe par $46a (c'est une partie
de celle pointe par $47a) et on retourne. Cette modification a pour effet
de sauter la lecture du secteur BOOT et son ventuelle excution. De ce
fait, on ne pourra plus booter sur une disquette lors d'un reset  chaud
sous Magic, par contre, lors d'un allumage, ceci sera possible puisque
c'est le TOS normal qui s'en chargera avant de lancer Magic.
	Effet positif: 8 secondes gagnes!!!

Modification n2: 4 secondes 57!
--------------------------------

	Une dernire fois  l'offset $1A3C du fichier MAGIC.RAM, essayez
maintenant ceci:

	$31FC	move #1,$4a6.w
	$0001
	$04a6
	$0038	ori.b #3,$4c5.w
	$0003
	$04c5
	$4E75	rts

	Dans cette dernire vesion, on saute tout: l'initialisation des
disquettes a t faite sous le TOS, il suffit de confirmer le nombre de
lecteurs en $4A6 (j'ai mis 1 par dfaut, surtout pour les possesseurs de
Falcons, mais la deuxime ligne peut aisment se changer en $0002 pour
ceux disposant d'un second lecteur) et d'indiquer la prsence des deux
lecteurs logiques A et B en $4C5.

	Effet indsirable: ceux qui comme moi n'allument leur lecteur
5"1/4 qu'une fois de temps en temps sont embts par la modification
systmatique de MAGIC.RAM. Pour ceux ayant une configuration fixe, c'est
l'idal.

	Effet positif: prs de 14 secondes gagnes!

Modification n3: non mesurable
-------------------------------

	J'ai vir Magic et j'utilise toujours mon bon vieux TOS d'origine,
il est assez compatible et peu gourmand en mmoire... Enfin, on aime ou on
n'aime pas le multitches, c'est une affaire de got!

Le coucou de la fin
-------------------

	La suite logique  cet article serait un petit programme
automatisant cette tche et offrant le choix entre la squence originale
et l'une des deux modifications. Il serait bon que ce programme vrifie au
moins la taille de MAGIC.RAM ou un genre de signature sur les 16 premiers
octets pour ne pas patcher n'importe quel fichier... L'idal, serait
d'tendre ce patch  tous les MAGIC.RAM existants:  vos dbuggers!

	Bons boots,

	Guillaume Tello
	gtello@planete.net
