>PpHd: C pas une copie !
C'est pour ça que j'ai mis "copie" entre guillemets. Peut-être que "mirage" conviendrait mieux comme métaphore. Et ça donne aussi l'idée de "fantôme" (ghost space).
>Blue_Z: Il se trouve que si l'adresse du PC est supérieure à 256 ko (soit 0x40000), cet idiot ne détecte rien
C'est plus subtil que cela! "Cet idiot" (la puce qui est responsable des plantages forcés) considère l'espace $40000-$1fffff comme une partie du dernier bloc ($3f000-$3ffff).
>Thibaut: Donc quand le TIOS [...] lance un prog, le TIOS indique au contrôleur quels intervalles sont "légales" pour le PC ?
Exact. Et il le fait à travers la fonction $f du trap #$b.
>Thibaut: (donc un kernel ?)
Non, justement, lui, il ne fait pas.
Mais il y a aussi d'autres raisons pour lesquelles les kernels ne tournent pas sans le
HW2Patch. Notamment qu'il s'agit de TSRs.
Pour tout TSR, le problème est que, même s'ils sont installés dans l'espace fantôme, celui-ci peut être protégé. Il est protégé si et seulement si le dernier bloc est protégé, et AMS protège ce bloc quand il déprotège d'autres blocs, et il est aussi protégé (comme tout le reste de la RAM, sauf une zone bien précise) lors d'un changement des piles.
Je n'ai pas envie de décrire ici en détail ce que fait mon
HW2 AMS 2 TSR support sauf si on me le demande.