Section courante

A propos

Section administrative du site

 Langage  Elément  Tutoriel  Annexe  Aide 
ABAP/4
Ada
Assembleur
Assembly & bytecode
ASP (Active Server Pages)
Basic
C
C++
C# (C Sharp)
Cobol
ColdFusion
Fortran
HTML
Java
JavaScript
LISP
Logo
LotusScript
Oberon
Pascal
Perl
PHP
PL/1
Prolog
Python
Rebol
REXX
Ruby
SAS
NoSQL
SQL
Swift
X++ (Axapta)
GNAT
SMALLAda
VHDL
Assembleur 370
Assembleur 1802
Assembleur 4004
Assembleur 6502
Assembleur 6800
Assembleur 68000
Assembleur 8080 et 8085
Assembleur 8089
Assembleur 80x86
Assembleur AGC4
Assembleur ARM
Assembleur DPS 8000
Assembleur i860
Assembleur Itanium
Assembleur MIPS
Assembleur PDP-11
Assembleur PowerPC
Assembleur RISC-V
Assembleur SPARC
Assembleur SuperH
Assembleur UNIVAC I
Assembleur VAX
Assembleur Z80
Assembleur Z8000
Assembleur z/Architecture
ASSEMBLER/MONITOR 64
Micol Assembler
GFA Assembler
A86
MASM (Macro Assembler)
TASM (Turbo Assembler)
CIL
Jasmin
LLVM
MSIL
Parrot
P-Code (PCode)
SWEET16
G-Pascal
ASP 1.0
ASP 2.0
ASP 3.0
ASP.NET
ASP.NET Core
ABasiC (Amiga)
Adam SmartBASIC
Altair BASIC
AmigaBASIC (Amiga)
AMOS Basic (Amiga)
Atari Basic (Atari 400, 600 XL, 800, 800XL)
Basic Apple II (Integer BASIC/APPLESOFT)
Basic Commodore 64 (CBM-BASIC)
Basic Commodore 128 (BASIC 7.0)
Basic Commodore VIC-20 (CBM-BASIC 2.0)
Basic Coco 1 (Color Basic)
Basic Coco 2 (Extended Color Basic)
Basic Coco 3 (Extended Color Basic 2.0)
BASICA (PC DOS)
Basic Pro
BBC BASIC
Blitz BASIC (Amiga)
DarkBASIC
Dartmouth BASIC
GFA-Basic (Atari ST/Amiga)
GWBASIC (MS-DOS)
Liberty BASIC
Locomotive BASIC (Amstrad CPC)
MSX-Basic
Omikron Basic (Atari ST)
Oric Extended Basic
Power Basic
Quick Basic/QBasic (MS-DOS)
Sinclair BASIC (ZX80, ZX81, ZX Spectrum)
ST BASIC (Atari ST)
Turbo Basic
Vintage BASIC
VBScript
Visual Basic (VB)
Visual Basic .NET (VB .NET)
Visual Basic pour DOS
Yabasic
BeckerBASIC
SIMONS' BASIC
Basic09 d'OS-9
Disk Extended Color Basic
Basic09 d'OS-9
Disk Extended Color Basic
Access
Excel
Visual Basic pour Windows
Visual Basic .NET pour Windows
C Shell Unix (csh)
C pour Amiga
C pour Atari ST
C pour DOS
C pour Falcon030
C pour GEMDOS (Atari ST)
C pour Linux
C pour PowerTV OS
C pour OS/2
C pour Unix
C pour Windows
Aztec C
CoCo-C
GNU C
HiSoft C
IBM C/2
Introl-C
Lattice C
Microsoft C
MinGW C
MSX-C
Open Watcom C
OS-9 C Compiler
Pure C
Quick C
Turbo C
HiSoft C for Atari ST
HiSoft C for CP/M (Amstrad CPC)
C++ pour OS/2
C++ pour Windows
Borland C++
C++Builder
IBM VisualAge C++
Intel C++
MinGW C++
Open Watcom C++
Symantec C++
Turbo C++
Visual C++
Visual C++ .NET
Watcom C++
Zortech C++
C# (C Sharp) pour Windows
Apple III Cobol
Microsoft Cobol
BlueDragon
Lucee
OpenBD
Railo
Smith Project
Microsoft Fortran
WATFOR-77
CSS
FBML
Open Graph
SVG
XML
XSL/XSLT
LESS
SASS
GCJ (GNU)
JSP
Jython
Visual J++
Node.js
TypeScript
AutoLISP
ACSLogo
LotusScript pour Windows
Amiga Oberon
Oberon .NET
Apple Pascal
Delphi/Kylix/Lazarus
Free Pascal
GNU Pascal
HighSpeed Pascal
IBM Personal Computer Pascal
Lisa Pascal
Maxon Pascal
MPW Pascal
OS-9 Pascal
OSS Personal Pascal
Pascal-86
Pascal du Cray Research
Pascal/VS
Pascal-XT
PURE Pascal
QuickPascal
RemObjets Chrome
Sun Pascal
THINK Pascal
Tiny Pascal (TRS-80)
Turbo Pascal
UCSD Pascal
VAX Pascal
Virtual Pascal
Turbo Pascal for CP/M-80
Turbo Pascal for DOS
Turbo Pascal for Macintosh
Turbo Pascal for Windows
CodeIgniter (Cadre d'application)
Drupal (Projet)
Joomla! (Projet)
Phalanger (PHP .NET)
phpBB (Projet)
Smarty (balise)
Twig (balise)
Symfony (Cadre d'application)
WordPress (Projet)
Zend (Cadre d'application)
PL360
PL/M-80
PL/M-86
Turbo Prolog
CPython
IronPython
Jython
PyPy
AREXX
Regina REXX
JMP
Btrieve
Cassandra
Clipper
CouchDB
dBASE
Hbase
Hypertable
MongoDB
Redis
Access
BigQuery
DB2
H2
Interbase
MySQL
Oracle
PostgreSQL
SAP HANA
SQL Server
Sybase
U-SQL
Introduction
Référence de commandes et fonctions
Les premiers pas
Les fondements d'Altair BASIC
L'Extended BASIC
Comment est charger BASIC 4K et 8K
Comment est chargé Extended BASIC
Boîte de dialogue d'initialisation
Conseils d'espace
Conseils de vitesse
Fonctions mathématiques simulées
Conversion de programmes de base non écrits pour l'Altair BASIC
Utilisation de l'interface ACR
Référence des codes d'erreurs
Fonctions dérivées
Codes de caractères ASCII
Préface
Notes légal
Dictionnaire
Recherche

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


PARTAGER CETTE PAGE SUR
Dernière mise à jour : Mercredi, le 29 mars 2023