Hello, je suis en train de lire ce fil de discussion que je trouve très intéressant. Désolé si cela ne concerne pas les derniers développements (je n'ai pas encore tout lu), mais je voulais réagir sur certains points.
Fool-DupleX a écrit : ↑02 janv. 2023 18:21
Je ne connais pas la xt-cf, mais un bios de disque dur bien conçu rend la main au bios système si c'est un échec et le bios système boote toujours sur A: en désespoir de cause. C'est ennuyeux, tu devrais toujours pouvoir booter sur A:.
Le bootstrap loader (l'interruption 19h) charge le premier secteur de la disquette ou du disque dur dans la RAM et est sensé tester que c'est un MBR valide avant d’exécuter le code de ce secteur. Par exemple, un MBR valide se termine par 55h AAh. Malheureusement, le test des BIOS n'est pas toujours robuste.
Par exemple, le bootstrap loader du BIOS mon Goupil se contente de regarder si le premier mot du secteur contient ni E5E5 (ce avec quoi on remplit lors du formatage) ni des zéros. Si tu as n'importe quelle autre valeur, il exécute le MBR. Cela veut dire que si tu mets des valeurs aléatoires dans le MBR, le Goupil va exécuter le pseudo MBR et ... planter.
Extrait du code de bootstrap du Goupil:
Code : Tout sélectionner
call LOAD_BOOT_SECTOR ; Load disk boot sector in RAM to 0000:7C00
jb short FALLBACK_TO_MONITOR_INT18 ; jump in case of error
cmp word ptr es:boot_sector_in_ram, 0E5E5h ; Check that first word is not E5E5h
jz short FALLBACK_TO_MONITOR_INT18
cmp word ptr es:boot_sector_in_ram, 0 ; Check that first word is not 0000h
jz short FALLBACK_TO_MONITOR_INT18
jmp far ptr boot_sector_in_ram ; jump to the loaded boot sector
Le 'XTIDE Universal Bios' de la XT-IDE doit certainement être plus robuste. Le code est disponible, j'avais commencé à le regarder la semaine dernière.
Fool-DupleX a écrit : ↑03 janv. 2023 10:59
J'aimerais bien connaître aussi la raison de la nécessité du fdisk /mbr car au final, la cf devrait être vue comme un disque dur parfaitement standard. Je ne vois pas de raison à priori de ne pas pouvoir installer un DOS 3.x dessus avec juste les outils de l'époque.
On en avait parlé un peu ici:
Sous DOS, quand on partitionne avec fdisk et qu'on formate en installant le système avec format c: /s, on ne change pas totalement le MBR. J'imagine qu'on le change partiellement quand même car les tables de partitions doivent y être, mais le boot code du MBR est inchangé. Du coup, il reste des données d'origine de la carte CF dessus qui ne sont pas forcement compatibles avec le vieux PC (c'est un peu discuté ici:
https://minuszerodegrees.net/xtide/XT-I ... oblems.htm)
Depuis les années 2010, le standard n'est plus MBR mais GPT (GUID Partition Table). Du coup, des disques durs ou CF récents n'ont à mon avis pas forcement de MBR.
Pour les diverses raisons que j'ai mentionné avant, Il est donc utile de remettre à zéro le premier secteur de la carte CF quand tu as des problèmes avec une XT-IDE ou XT-CF. Ça doit éviter que le boot loader exécute le code du MBR qui n'en n'est pas un et qu'il plante la machine. On peut le faire simplement sous Linux par exemple avec la commande 'dd'. Sous Windows, on doit pouvoir utiliser des éditeur Hex comme le suggérait je crois FreddyV.