Table des matières:
- Fournitures
- Étape 1: Ajout du logiciel à votre ordinateur de construction
- Étape 2: Ajout de vos outils au chemin Windows
- Étape 3: Tester Tasm
- Étape 4: Trouvez votre adresse d'horloge en temps réel
- Étape 5: ajouter le bios à une nouvelle image disque
- Étape 6: démarrez dans votre nouvelle image disque
Vidéo: Z80 MBC2 - Re-compiler QP/M Bios et Loader : 6 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
Si, comme moi, vous vous trouvez dans une position où vous devez recompiler le bios QP/M pour votre MBC2 - alors c'est comme ça que vous le faites.
J'ai documenté le processus, de la façon de recompiler la version existante. C'est à vous d'apporter des modifications aux fichiers Bios réels, si vous en avez besoin. J'ai seulement apporté des modifications pour pouvoir garder mon installation de QP/M en ligne avec la version de CP/M 2.2 Bios que j'utilise (ces modifications ne sont pas seulement montrées le processus)
La première partie du processus est presque identique au Bios CP/M 2.2, donc si vous avez déjà configuré votre ordinateur de construction, n'hésitez pas à sauter cette partie.
La principale différence est que QP/M doit se charger à partir de la première piste du disque de démarrage - et non d'un fichier.bin comme CP/M 2.2, décrit ci-dessous.
Fournitures
Une machine Windows sur laquelle exécuter le compilateur. J'ai utilisé une machine virtuelle Windows XP fonctionnant sur un KVM, car elle est très petite et n'ira jamais sur Internet. Mais cela fonctionne parfaitement sous Windows 10.
Le compilateur TASM 3.2 z80, recherchez ceci sur google, vous devriez vous retrouver sur
Une copie du fichier zip SD de la page d'accueil z80-mbc2, au moment de la rédaction, c'était
CPMTools pour Windows de https://www.cpm8680.com/cpmtools/cpmtoolsWin32.zip c'est une version 32 bits mais fonctionne bien sur les systèmes 64 bits.
Étape 1: Ajout du logiciel à votre ordinateur de construction
Une fois que votre ordinateur Windows est opérationnel, copiez ou téléchargez les fichiers mentionnés dans la section « vous aurez besoin » ci-dessus.
Créez un répertoire de travail sur votre machine, je vous suggère (pour éviter beaucoup de frappes et de fautes de frappe) de créer un répertoire sur le lecteur C, par exemple c:\z80mbc. Je vous recommande fortement d'éviter les espaces dans les noms, si possible et les longs chemins de répertoire. Rester simple.
Créez un dossier dans ce répertoire pour les fichiers TASM, c:\z80mbc\tasm
Créez un dossier pour l'image de la carte SD, c:\z90mbc\SD
Faites un clic droit sur chacun des fichiers et extrayez le contenu dans les répertoires que vous avez créés ci-dessus. Donc tasm.zip est extrait dans c:\z80mbc\tasm et le fichier zip effrayé dans c:\z80mbc\SD
Pour faciliter certaines des étapes suivantes, vous pouvez également décompresser cpmtool32.zip dans un autre répertoire, par exemple c:\z80mbc\cpmtools.
Étape 2: Ajout de vos outils au chemin Windows
Selon votre version de Windows, effectuez l'une des opérations suivantes
Windows 10
Ouvrez le menu des propriétés en cliquant avec le bouton droit sur l'élément « Ce PC » à partir d'une fenêtre d'explorateur.
Cliquez sur « Paramètres système avancés », cela ouvrira une fenêtre appelée « Propriétés système » (Vous pouvez également accéder aux propriétés du système d'une autre manière, mais je n'utilise pas beaucoup Windows, c'est donc ma méthode !)
Cliquez sur « Variables d'environnement »
Windows XP
Cliquez sur le bouton Démarrer, faites un clic droit sur « Mon ordinateur », puis vous pouvez cliquer sur Propriétés pour obtenir les « Propriétés du système ».
Cliquez sur l'onglet Avancé
Cliquez sur « Variables d'environnement »
Lorsque vous avez la fenêtre Variables d'environnement à l'écran, vous devez faire deux choses;
Ajouter une nouvelle variable
Dans la partie supérieure des fenêtres, sous "Variables utilisateur pour …"
Cliquez sur Nouveau
Pour le type Nom dans TASMTABS
Pour le type de valeur dans c:\z80mbc\tasm
Modifier la variable PATH
Dans la partie inférieure de la fenêtre, sous "Variables système"
choisissez (mettez en surbrillance) Chemin, puis cliquez sur Modifier
A la fin du contenu existant ajoutez;c:\z80mbc\tasm;c:\z80mbc\cpmtools
(N'oubliez pas le point-virgule au début !)
Vous devez maintenant redémarrer l'ordinateur pour que ces ajouts prennent effet.
Étape 3: Tester Tasm
Afin de tester, nous pouvons compiler une copie exacte du BIOS QP/M existant, nous devons faire un peu plus de préparation. Les fichiers de ce répertoire sont:
BIOS QPM271 - S150918.asm - Le fichier BIOS principal, il s'agit très probablement du fichier que vous allez modifier.
QPM271_ColdLoader - S160918.asm - c'est le chargeur QP/M, il lit les premières pistes de l'image disque dans la mémoire. Dans un système CP/m plus traditionnel, cela serait appelé bootstrap et serait en EEPROM ou ROM. Vous ne devriez pas avoir besoin de modifier ce fichier, il est déjà compilé et sur l'image de la carte SD en tant que QPMLDR. BIN
SYSGENQ - S140918.asm - Ce programme est utilisé en conjonction avec le programme d'installation QP/M, encore une fois, vous n'aurez normalement pas besoin de le modifier, il existe déjà dans l'image du disque de démarrage prêt à l'emploi. Il lit et écrit essentiellement les pistes utilisées par le chargeur froid ci-dessus.
Avant de tester notre installation TASM, vous avez besoin d'un fichier supplémentaire, cpm22_Z80MBC2.asm, il n'est pas dans ce répertoire par défaut car c'est le même fichier utilisé pour cpm 2.2. Nous avons besoin de ce fichier pour fournir le CBIOS/CCP d'origine pour le démarrage initial de QP/M. Vous pouvez copier ce fichier depuis le répertoire CPM_22_Custom_BIOS.
Utilisez l'explorateur Windows pour le copier ou à partir d'une invite de commande (CMD) faites
cd c:\z80mbc\sd\src\QPM_271_Custom_BIOS
copier..\CPM_22_Custom_BIOS\cpm22_Z80MBC2.asm
Vous devez maintenant modifier ce fichier pour inclure le BIOS QP/M, ouvrez le fichier avec le bloc-notes:
rechercher "QPM" (CTRL-F, ou éditer le menu et trouver) Voir l'image ci-dessus
changer le fichier de:
;-----------------------------------------------------------------------
; Z80-MBC2;----------------------------------------------- -------------------------;#include "BIOS QPM271 - S150918.asm"; CBIOS inclus pour le Z80-MBC2 #include "BIOS CPM22 - S030818-R140319.asm"; CBIOS inclus pour le Z80-MBC2
À:
;-----------------------------------------------------------------------
; Z80-MBC2;----------------------------------------------- ------------------------- #include "BIOS QPM271 - S150918.asm"; CBIOS inclus pour le Z80-MBC2; #include "BIOS CPM22 - S030818-R140319.asm"; CBIOS inclus pour le Z80-MBC2
Vous devez également vérifier la valeur de iLoadMode dans le fichier cpm22_Z80MBC2.asm copié, vers la ligne 40:
;-----------------------------------------------------------------------
; Z80-MBC2;----------------------------------------------- ------------------------- iLoadMode.equ 0; Mis à 1 pour le mode iLoad (pour les tests),; mis à 0 pour la génération d'image de la piste 0,; mis à 2 pour la génération du fichier binaire cpm22.bin;---------------------------------------- --------------------------------
Il doit être à 0, c'est la valeur par défaut - mais vérifiez quand même !
Une fois terminé, enregistrez le fichier.
vous pouvez maintenant exécuter tasm:
tasm -b -g3 -80 cpm22_Z80MBC2.asm qpm22.bin
Notez le nom de fichier de sortie différent, si tout se passe bien, vous devriez voir une sortie comme celle-ci:
c:\z80mbc\sd\src\QPM_271_Custom_BIOS>tasm -b -g3 -80 cpm22_Z80MBC2.asm qpm22.bin
Assembleur TASM Z80. Version 3.2 Septembre 2001. Copyright (C) 2001 Squak Valley Software tasm: passe 1 terminée. tasm: passe 2 complète. tasm: Nombre d'erreurs = 0 c:\z80mbc\sd\src\QPM_271_Custom_BIOS>
Vous êtes prêt à apporter les modifications dont vous avez besoin au BIOS ! déposer.
Étape 4: Trouvez votre adresse d'horloge en temps réel
Avant d'installer la nouvelle version du BIOS, une partie de l'installation QP/M doit connaître l'adresse d'entrée pour les routines d'horloge en temps réel. Si vous ne définissez pas cette option, les fonctions de temps dans QP/M renverront "Pas d'horloge" comme message d'erreur.
Pour obtenir l'adresse, éditez le fichier LST produit lors de la compilation du fichier qpm22.bin, c'est-à-dire.
bloc-notes cpm22_Z80MBC2.lst
Recherchez l'étiquette TIMDAT, Ctrl-f (ou recherchez) recherchez TIMDAT, vous trouverez une section comme celle-ci:
0855+ EC16; ================================================== ==========================;
0856+ EC16; TIMDAT; 0857+ EC16; ================================================== ==========================; 0858+ EC16; Il s'agit d'une routine spécifique QP/M pour l'interface QP/M vers l'horloge temps réel; 0859+ EC16; pour utiliser pleinement les fonctions d'horodatage de QP/M.; 0860+ EC16; L'adresse de TIMDAT doit être spécifiée pendant QINSTALL via l'option de; 0861+ EC16; le menu d'installation de QDOS (voir pages 26-27 du Guide d'installation QP/M); 0862+ EC16;; 0863+ EC16; REMARQUE: si le RTC n'est pas présent, IOS donnera tous les octets 0. C'est; 0864+ EC16; "interprété" par QP/M comme un "NO CLOCK".; 0865+ EC16; ================================================== ==========================; 0866+ EC16 TIMDAT 0867+ EC16 C3 19 EC jp USERCLK
Notez l'adresse HEX de la deuxième colonne, dans ce cas EC16. Retirez la valeur de la ligne sous les commentaires, juste au-dessus de l'instruction de saut JP USERCLK. Où il est écrit TIMDAT.
Maintenant que vous avez la valeur, vous pouvez quitter le fichier et procéder au QP/M intsall
Étape 5: ajouter le bios à une nouvelle image disque
Dans cette étape, nous allons créer notre propre copie du disque de démarrage DS1N00. DSK et y ajouter notre propre version du BIOS, prête à terminer l'installation de QP/M.
Pour commencer, créez un dossier temporaire du lecteur C pour y conserver vos copies de travail. Ouvrez une invite CMD et tapez ce qui suit
cd c:\z80mbc
mkdir temp cd temp
Copiez ensuite l'image disque d'origine à partir du répertoire SD
copiez c:\z80mbc\sd\DS1N00. DSK.
Obtenez les fichiers actuels à partir de l'image disque:
cd c:\z80mbc\temp cpmcp -f z80mbc2-d0 DS1N00. DSK 0:* disk0
La séquence ci-dessus créera un autre dossier temporaire dans le répertoire temporaire appelé disk0, ils copieront tous les fichiers existants de l'image disque dans le répertoire. Utilisez DIR après pour vous assurer que vous avez les fichiers.
Ensuite, nous pouvons formater l'image disque en tant que nouveau disque, c'est le seul moyen facile d'ajouter les pistes de démarrage à l'image disque, sans avoir à créer un tout nouveau disque à partir de zéro. Notez que l'option "-b" utilise le BIOS que nous avons compilé ci-dessus.
mkfs.cpm -f z80mbc2-d0 -b c:\z80mbc\sd\src\QPM_271_Custom_BIOS\qpm22.bin DS1N00. DSK
Maintenant que les pistes de démarrage sont mises à jour, vous pouvez ajouter les fichiers d'origine à l'image:
cpmcp -f z80mbc2-d0 DS1N00. DSK disk0/* 0:
Vous avez maintenant un disque amorçable, il démarrera en fait CP/M et non QP/M à l'étape suivante, nous utilisons le programme d'installation QP/M pour remplacer la partie CBIOS du système CP/M
Assurez-vous d'avoir une copie de travail de votre carte SD de démarrage, puis copiez le fichier DS1N00. DSK que vous créez à cette étape dans le dossier racine de la carte SD, il remplacera le fichier existant.
Étape 6: démarrez dans votre nouvelle image disque
Connectez un terminal série au z80mbc2
maintenez le commutateur utilisateur enfoncé, maintenez-le enfoncé, appuyez et relâchez le commutateur de réinitialisation. Lorsque la LED utilisateur s'éteint et que le voyant IOS clignote, relâchez l'interrupteur utilisateur.
Vous devriez maintenant être sur l'écran "Boot" sur le terminal, comme ceci: Z80-MBC2 - A040618
IOS - Sous-système d'E/S - S220718-R240620 IOS: Horloge Z80 réglée à 8 MHz IOS: Module RTC DS3231 trouvé (26/10/20 16:46:45) IOS: Capteur de température RTC DS3231: 20C IOS: Option GPE trouvée IOS: CP/M Autoexec est désactivé IOS: sélectionnez le mode de démarrage ou les paramètres système: 0: aucun changement (3) 1: de base 2: Forth 3: charge le système d'exploitation à partir de l'ensemble de disques 1 (QP/M 2.71) 4: Autoboot 5: iLoad 6: Changer la vitesse d'horloge du Z80 (->4MHz) 7: Basculer CP/M Autoexec (->ON) 8: Changer le jeu de disques 1 (QP/M 2.71) 9: Changer l'heure/la date RTC Saisissez votre choix >
Utilisez l'option 8 pour changer le jeu de disques sur QP/M. Lorsque vous le sélectionnez, vous devez charger votre BIOS QP/M. Je recommanderais également d'appuyer sur reset, car j'ai vu le premier chargement après l'option 8 échouer plusieurs fois. Comme ça:
IOS: Ensemble de disques actuel 1 (QP/M 2.71)
IOS: Chargement du programme de démarrage (QPMLDR. BIN)… Terminé IOS: Le Z80 s'exécute à partir de maintenant Z80-MBC2 QP/M 2.71 Cold Loader - S160918 Chargement… terminé Version personnalisée du BIOS Z80-MBC2 QP/M 2.71 - S150918 A>
Notez que j'ai ajouté la "Version personnalisée" ci-dessus lorsque j'ai modifié le fichier BIOS, juste comme démo pour cette étape.
À ce stade, vous exécutez en fait CP/M 2.2 Cbios avec le BIOS personnalisé pour QP/M, donc des choses comme la commande TIME ne fonctionnent pas, par exemple si vous tapez TIME (devrait répondre avec date+time) vous obtiendrez le CP/M 2.2 réponse de TIME ? - il pense que c'est une commande sur le disque et ne peut pas la trouver.
Il est maintenant temps d'installer le CBIOS de remplacement QP/M sur l'image disque.
Démarrez le programme qinstall.com:
A>qinstaller
Programme d'installation/configuration de QP/M 2.7 v2.1 QINSTALL utilise votre programme SYSGEN pour installer QP/M sur votre disque. Après avoir configuré votre système, vous serez invité à entrer le nom de votre programme SYSGEN. Cet utilitaire devrait être disponible sur l'un de vos disques. Pour que QINSTALL se termine avec succès, l'image système sur le disque et le système actuellement en mémoire DOIVENT être identiques. (Utiliser pour abandonner le programme.) Souhaitez-vous continuer ? (O/N):
Répondez ensuite O pour continuer.
On vous demandera ensuite les paramètres QCP (vous pourrez jouer plus tard !) pour l'instant dites N
Vous souhaitez examiner et/ou modifier
les paramètres QCP par défaut ? (O/N): N
Ensuite, vous serez interrogé sur les paramètres QDOS, appuyez sur Y
Vous souhaitez examiner ou modifier
les paramètres QDOS par défaut ? (O/N): O
Vous aurez un menu comme celui-ci:
*** Paramètres d'installation du système QDOS ***
Enregistrer le caractère obtenu lors de l'analyse de la console.. OUI Le BIOS prend en charge la table des codes d'erreur BDOS ………. NON Adresse du vecteur de saut heure/date …………. DÉSACTIVÉ Fonction de recherche de lecteur/utilisateur ……………….. ACTIVÉ Reconnexion automatique du disque …………………… ACTIVÉ Restaurer les paramètres initiaux Quitter l'installation QDOS Entrer l'option:
À ce stade, vous devez entrer le numéro HEX de l'étape 4 ci-dessus (trouver votre adresse d'horloge en temps réel)
Appuyez sur 2 et entrez l'adresse HEX EC16, si vous n'avez apporté aucune modification au bios, dans mon cas, c'est EC04 car j'ai ajouté du texte, etc.
Saisir l'adresse du vecteur heure/date en hexa (0 à DÉSACTIVER): EC04
Vous pouvez maintenant quitter le menu QDOS et continuer.
L'écran suivant affiche:
Entrez le nom de votre programme SYSGEN et appuyez sur RETOUR.
(Spécifiez le lecteur si nécessaire; n'utilisez pas l'extension. COM): SYSGENQ
Entrez la version spéciale de sysgen, appelée SYSGENQ
Vous verrez alors:
*** Création d'une image QP/M 59k ***
QINSTALL va maintenant exécuter A:SYSGENQ. COM. Vous devez demander à A:SYSGENQ. COM de lire les pistes système. Une fois la LECTURE terminée, quittez le programme SYSGEN. Le message "*** QINSTALL recherche image système ***" apparaîtra suivi d'instructions supplémentaires. Appuyez pour continuer -OU- pour abandonner --
Appuyez sur C pour continuer:
SYSGENQ - S140918 - Z80-MBC2
Utilitaire de type CP/M 2.2 SYSGEN À utiliser uniquement pour installer QP/M 2.71 à l'aide de QINSTALL. COM AVERTISSEMENT: la commande W écrasera la piste système ! Lire les pistes système et les charger dans la RAM ou les réécrire sur le disque ? [R/W] >
La première fois que vous voyez ce message, choisissez R pour lire les pistes du système, vous obtiendrez alors:
Lecture… terminée
*** QINSTALL recherchant l'image système *** Image système trouvée à partir de 0900H. Installation de QP/M. Votre programme SYSGEN va maintenant reprendre l'exécution. Vous devez demander au programme d'ÉCRIRE les pistes du système. Appuyez pour continuer -OU- pour abandonner --
Appuyez à nouveau sur C pour continuer:
SYSGENQ - S140918 - Z80-MBC2
Utilitaire de type CP/M 2.2 SYSGEN À utiliser uniquement pour installer QP/M 2.71 à l'aide de QINSTALL. COM AVERTISSEMENT: la commande W écrasera la piste système ! Lire les pistes système et les charger dans la RAM ou les réécrire sur le disque ? [R/W] >
Cette fois, appuyez sur W pour réécrire les nouveaux QP/M et BISO sur les pistes du disque:
Écriture… terminée
A>
Vous pouvez maintenant appuyer sur reset et redémarrer dans votre nouveau bios QP/M. Si vous tapez maintenant TIME à l'invite, il exécutera la version complète de QP/M et répondra comme ceci:
Z80-MBC2 - A040618
IOS - Sous-système d'E/S - S220718-R240620 IOS: Horloge Z80 réglée à 8 MHz IOS: Module RTC DS3231 trouvé (26/10/20 17:10:48) IOS: Capteur de température RTC DS3231: 20C IOS: Option GPE trouvée IOS: CP/M Autoexec est désactivé IOS: Ensemble de disques actuel 1 (QP/M 2.71) IOS: Chargement du programme de démarrage (QPMLDR. BIN)… Terminé IOS: Z80 est en cours d'exécution à partir de maintenant Z80-MBC2 QP/M 2.71 Cold Loader - S160918 Chargement… done Version personnalisée du BIOS Z80-MBC2 QP/M 2.71 - S150918 A>time 26-Oct-20 17:10:56 A>
Vous êtes opérationnel avec le nouveau BIOS, notez le texte "Version personnalisée" ci-dessus. Vous devriez probablement lire le reste de la documentation QP/M sur
Ailette
Conseillé:
Z80-MBC2 Programmation de l'Atmega32a : 6 étapes
Z80-MBC2 Programmation de l'Atmega32a : Avant de pouvoir utiliser le z80-MBC2, après l'avoir construit, vous devez programmer l'Atmeg32. Ces instructions vous montrent comment utiliser un arduino mini bon marché en tant que programmeur pour télécharger le code
Z80-mbc2 Z80 Code Flash LED utilisateur : 3 étapes
Z80-mbc2 Z80 Code Flash User LED: Ceci est un exemple de programme utilisateur LED écrit en assembleur Z80 pour l'ordinateur z80-mbc2. J'ai fait cet exercice de test et de révision pour moi, c'est mon premier programme Z80 depuis plus de 35 ans
Utilisation du terminal ESP32/VGA32 pour Z80-MBC2 : 7 étapes
Utilisation du terminal ESP32/VGA32 pour Z80-MBC2 : Comment créer et installer le logiciel du terminal ANSI sur une carte ESP32/VGA32. Puis le connecter à une carte Z80-MBC2
Un véritable ordinateur maison facile à construire : Z80-MBC2 ! : 9 étapes (avec photos)
Un vrai ordinateur fait maison facile à construire : Z80-MBC2 ! : Si vous êtes curieux de savoir comment un ordinateur fonctionne et interagit avec des "choses externes", il existe aujourd'hui de nombreuses cartes prêtes à jouer comme Arduino ou Raspberry et bien d'autres. Mais ces planches ont toutes la même "limite"… elles salut
Construire un UFD amorçable pour flasher le BIOS AMI : 12 étapes
Construire un UFD amorçable pour flasher le BIOS AMI : les ordinateurs portables et de bureau nécessitent parfois des mises à jour du BIOS. Lorsque vous visitez le site Web d'un fournisseur (soit le fabricant du PC, soit le fabricant du BIOS) et découvrez un nouveau BIOS avec les fonctionnalités que vous souhaitez, ou que les mises à niveau nécessitent un nouveau BIOS, il est temps de mettre tous les éléments