Comment est chargé Extended BASIC
Pour les versions BASIC 3.2 et ultérieures, la procédure de chargement a été mise à jour pour permettre l'utilisation des nouvelles cartes d'entrée/sortie (2SIO et 4PIO), l'ancienne carte 88-PIO et des affectations de canaux plus générales.
L'emplacement 001 des chargeurs d'amorçage répertoriés dans le BASIC 4K et 8K doit être modifié de 175 à 256 pour charger les versions BASIC 3.2 et ultérieures. Pour les anciennes versions de BASIC, l'emplacement doit être laissé à 175.
Pour l'Extended BASIC, l'emplacement 002 (défini sur 017 pour 4K et 037 pour 8K) doit être défini sur 057.
Le chargeur de somme de contrôle a un nouveau message d'erreur "M" indiquant que les données chargées en mémoire n'ont pas été lues correctement. Le chargement dans une mémoire inexistante, protégée ou défectueuse peut provoquer ce problème. Le nouveau message d'erreur sera également envoyé à plusieurs reprises, au lieu d'une seule fois. Le message est envoyé sur les canaux 1, 21 et 23 ; ainsi, si aucun dispositif terminal n'est sur l'un de ces trois canaux, les voyants du panneau doivent être examinés pour voir si une erreur de somme de contrôle s'est produite.
Détection d'erreur
Le nouveau chargeur de somme de contrôle (versions BASIC 3.2 et ultérieures) affichera X7647 sur les voyants d'adresse lorsqu'il s'exécute correctement. (X ci-dessus sera 0 pour 4K BASIC, 1 pour 8K ou 2 pour Extended BASIC.)
Lorsqu'une erreur se produit (somme de contrôle "C" - données de bande incorrectes, mémoire "M" - données ne s'entreposent pas correctement, superposition "0" - tentative de chargement par-dessus le chargeur de somme de contrôle), les voyants d'adresse affichent alors X7637. Le code d'erreur ASCII sera entreposé dans l'accumulateur (A).
Plus simplement, A5 doit être allumé avec A4 et A3 éteints pendant le chargement correct. Lorsqu'une erreur se produit, A5 s'éteint et A4 et A3 s'allument.
Options de chargement
Périphérique de charge | Commutateurs | Canaux octals | Bits d'état actifs | Masques octals |
---|---|---|---|---|
SIOA,B,C (pas REV 0) | Aucun | 0,1 | Basse | 1/200 |
ACR | A15 (et options de terminal) | 6,7 | Basse | 1/200 |
SIOA,B,C (REV 0) | A14 | 0,1 | Haute | 40/2 |
88-PIO | A13 | 0,1 | Haute | 2/1 |
4PIO | A12 | 20,21 | Haute | 100/100 |
2SIO | Tous (et A10 haut=1 bit d'arrêt, bas=2 bits d'arrêt) | 20,21 | Haute | 1/2 |
Il existe six chargeurs d'amorçage différents, un pour chacun des six types de cartes d'entrée/sortie répertoriés dans le tableau des options de chargement. Assurez-vous que vous utilisez le bon pour votre carte particulière.
Si le périphérique de chargement est un ACR, les options de terminal (voir deuxième tableau) peuvent être définies dans les commutateurs (avec A15) avant que le chargement ne soit effectué. Si A15 est défini, le chargeur de somme de contrôle ignorera tous les autres commutateurs et BASIC ignorera A15.
Si le périphérique de charge et le périphérique de terminal ne sont pas identiques et que le périphérique de charge n'est pas un ACR, seules les options de charge doivent être définies avant le chargement. Lorsque le chargement est terminé, BASIC démarre et essaie d'envoyer un message au périphérique de chargement. Arrêter BASIC, examiner l'emplacement 0, régler les commutateurs d'option de terminal, puis appuyer sur RUN.
Si la boîte de dialogue d'initialisation n'est pas terminée, chaque fois que BASIC est redémarré à zéro, il examinera les commutateurs de détection et reconfigurera les options d'entrée/sortie du terminal. Une fois la boîte de dialogue d'initialisation terminée, les commutateurs de détection ne sont plus examinés et la configuration des entrées/sorties est fixée jusqu'au rechargement de BASIC.
Options de terminal
Périphérique de terminal | Commutateurs | Canal octal par défaut |
---|---|---|
SIOA,B,C (pas REV 0) | Aucun | 0,1 |
SIOA,B,C (REV 0) | A14 | 0,1 |
88-PIO | A13 | 0,1 |
4PIO | A12 | 20,21 (INPUT) 22,23 (OUTPUT) |
2SIO | A11 | 20,21 (A10 haut=1 bit d'arrêt bas=2 bits d'arrêts) |
Les canaux par défaut répertoriés ci-dessus peuvent être modifiés à volonté en élevant A8 et en mémorisant le numéro de canal le plus bas (canal d'indicateur d'entrée) dans l'un des emplacements suivants :
Emplacement | Version |
---|---|
7777 (octal) | BASIC 4K |
17777 (octal) | BASIC 8K |
27777 (octal) | Extended BASIC (Version non-disque) |
Remarque : Le "canal d'indicateur d'entrée" peut également être appelé "canal de contrôle" dans d'autres documentations ALTAIR.
Les informations ci-dessus ne sont utiles que lorsque le périphérique de charge et le périphérique de terminal ne sont pas identiques. Pendant la procédure de chargement, A8 sera ignoré ; par conséquent, la carte à partir de laquelle BASIC est chargé doit être attachée pour les canaux répertoriés dans le tableau des options de chargement.
La section suivante contient trois nouveaux chargeurs d'amorçage pour les cartes 88-PIO, 4PIO et 2SIO.
88-PIO (pour les versions 3.2 et ultérieures uniquement)
Adresse octal | Code octal |
---|---|
000 | 041 |
001 | 256 |
002 | 017 (pour 4K, 037 pour 8K, 057 pour Extended BASIC) |
003 | 061 |
004 | 023 |
005 | 000 |
006 | 333 |
007 | 000 |
010 | 346 Remarque : le commutateur A13 doit être relevé ; 88-PIO doit être attaché pour les canaux 0,1. |
011 | 040 |
012 | 310 |
013 | 333 |
014 | 001 |
015 | 275 |
016 | 310 |
017 | 055 |
020 | 167 |
021 | 300 |
022 | 351 |
023 | 003 |
024 | 000 |
2SIO (pour les versions 3.2 et ultérieures uniquement)
Adresse octal | Code octal |
---|---|
000 | 076 |
001 | 003 |
002 | 323 |
003 | 020 |
004 | 076 |
005 | 021 (=2 bits d'arrêt, 025=1 bit d'arrêt) |
006 | 323 |
007 | 020 |
010 | 041 |
011 | 256 |
012 | 017 (pour 4K, 037 pour 8K, 057 pour Extended BASIC) |
013 | 061 |
014 | 032 |
015 | 000 Remarque : Tout commutateur doit être activé ; si le 2SIO est également le terminal, réglez A10 vers le haut pour 1 bit d'arrêt ou vers le bas pour 2 bits d'arrêt. Le 2SIO doit être attaché pour les canaux 20,21. |
016 | 333 |
017 | 020 |
020 | 017 |
021 | 320 |
022 | 333 |
023 | 021 |
024 | 275 |
025 | 310 |
026 | 055 |
027 | 167 |
030 | 300 |
031 | 351 |
032 | 013 |
033 | 000 |
4PIO (pour les versions 3.2 et ultérieures uniquement)
Adresse octal | Code octal |
---|---|
000 | 257 |
001 | 323 |
002 | 020 |
003 | 000 |
004 | 323 |
005 | 021 |
006 | 076 |
007 | 004 |
010 | 323 |
011 | 020 |
012 | 041 |
013 | 256 |
014 | 017 (pour 4K, 037 pour 8K, 057 pour Extended BASIC) |
015 | 061 |
016 | 035 |
017 | 000 |
020 | 333 Remarque : Le commutateur A12 doit être relevé |
021 | 020 |
022 | 346 |
023 | 100 |
024 | 310 |
025 | 333 |
026 | 021 |
027 | 275 |
030 | 310 |
031 | 055 |
032 | 167 |
033 | 300 |
034 | 351 |
035 | 015 |
036 | 000 |
Les trois programmes suivants sont des programmes d'écho pour les cartes 88-PIO, 4PIO et 2SIO.
Si vous souhaitez tester un périphérique n'effectuant qu'une entrée, videz les caractères en écho sur un périphérique plus rapide ou entreposez-les en mémoire pour examen.
Pour un périphérique de sortie uniquement, envoyez les données dans les commutateurs de sens ou une constante pour le caractère de test. Assurez-vous de vérifier le bit prêt à recevoir avant de faire la sortie.
Si le programme echo fonctionne, mais pas BASIC ; assurez-vous que l'UART du périphérique de chargement est lié à 8 bits de données et que l'indicateur prêt à recevoir est correctement défini sur le périphérique de terminal.
Programmes Echo :
88-PIO
Adresse octal | Code octal |
---|---|
000 | 333 |
001 | 000 |
002 | 346 |
003 | 040 |
004 | 312 |
005 | 000 |
006 | 000 |
007 | 333 |
010 | 001 |
011 | 323 |
012 | 001 |
013 | 303 |
014 | 000 |
015 | 000 |
2SIO
Adresse octal | Code octal |
---|---|
000 | 076 |
001 | 003 |
002 | 323 |
003 | 020 (drapeau de canal) |
004 | 076 |
005 | 021 (1 bit de début, 025 pour 2) |
006 | 323 |
007 | 020 |
010 | 333 |
011 | 020 |
012 | 017 |
013 | 322 |
014 | 010 |
015 | 000 |
016 | 333 |
017 | 021 (canal de données) |
020 | 323 |
021 | 021 |
022 | 303 |
023 | 010 |
024 | 000 |
4PIO
Adresse octal | Code octal |
---|---|
000 | 257 |
001 | 323 |
002 | 020 |
003 | 323 |
004 | 021 |
005 | 323 |
006 | 022 |
007 | 057 |
010 | 323 |
011 | 023 |
012 | 076 |
013 | 004 |
014 | 323 |
015 | 020 |
016 | 323 |
017 | 022 |
020 | 333 |
021 | 020 |
022 | 346 |
023 | 100 |
024 | 312 |
025 | 020 |
026 | 000 |
027 | 333 |
030 | 022 |
031 | 346 |
032 | 100 |
033 | 312 |
034 | 027 |
035 | 000 |
036 | 333 |
037 | 021 |
040 | 323 |
041 | 023 |
042 | 303 |
043 | 020 |
044 | 000 |